number_slider = (type) => ({
  configFields: (field) => [
    ...(!isdef(field.attributes.min)
      ? [{ name: "min", type, required: false }]
      : []),
    ...(!isdef(field.attributes.max)
      ? [{ name: "max", type, required: false }]
      : []),
  ],
  isEdit: true,
  description: "Input on a slider between defined maximum and minimum values",
  blockDisplay: true,
  run: (nm, v, attrs = {}, cls, required, field) =>
    input({
      type: "range",
      class: ["form-control", cls],
      name: text_attr(nm),
      "data-fieldname": text_attr(field.name),
      disabled: attrs.disabled,
      readonly: attrs.readonly,
      onChange: attrs.onChange,
      step:
        type === "Integer"
          ? 1
          : attrs.decimal_places
            ? Math.pow(10, -attrs.decimal_places)
            : "0.01",
      id: `input${text_attr(nm)}`,
      ...(isdef(attrs.max) && { max: attrs.max }),
      ...(isdef(attrs.min) && { min: attrs.min }),
      ...(isdef(v) && { value: text_attr(v) }),
    }),
})
Embedded Types definition.

More types can be added by plugin store mechanism https://store.saltcorn.com/
@category saltcorn-data
@module base-plugin/types
@subcategory base-plugin