@inkline/inkline
Version:
Inkline is the intuitive UI Components library that gives you a developer-friendly foundation for building high-quality, accessible, and customizable Vue.js 3 Design Systems.
1,069 lines (1,068 loc) • 30.2 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.manifest = exports.default = void 0;
const manifest = exports.manifest = {
name: "ISelect",
props: [{
name: "animationDuration",
type: ["Number"],
default: "300",
description: "The duration of the hide and show animation"
}, {
name: "arrow",
type: ["Boolean"],
default: "true",
description: "Displays an arrow on the dropdown pointing to the trigger element"
}, {
name: "color",
type: ["light", "dark"],
default: "",
description: "The color variant of the select"
}, {
name: "clearable",
type: ["Boolean"],
default: "false",
description: "Display the select as clearable"
}, {
name: "disabled",
type: ["Boolean"],
default: "false",
description: "The disabled state of the select"
}, {
name: "error",
type: ["Boolean", "Array"],
default: "'touched', 'dirty', 'invalid'",
description: "The error state of the checkbox, computed based on schema by default."
}, {
name: "trigger",
type: ["hover", "focus", "click", "manual"],
default: "click",
description: "The events used to trigger the dropdown"
}, {
name: "idField",
type: ["String"],
default: "id",
description: "The field to be used for identifying the options"
}, {
name: "triggerKeyBindings",
type: ["string[]"],
default: "up, down, enter, space, tab, esc",
description: "The keydown events bound to the trigger element"
}, {
name: "itemKeyBindings",
type: ["string[]"],
default: "up, down, enter, space, tab, esc",
description: "The keydown events bound to the select option elements"
}, {
name: "interactable",
type: ["Boolean"],
default: "true",
description: "Determines whether hover state should be transferred from trigger to popup"
}, {
name: "label",
type: ["String", "Number", "Boolean", "Function", "Object"],
default: "undefined",
description: "The label of the select. Can be a string, number, render function, or component"
}, {
name: "loading",
type: ["Boolean"],
default: "false",
description: "The loading state of the select"
}, {
name: "modelValue",
type: ["String,Number, Boolean"],
default: "null",
description: "Used to set the field value"
}, {
name: "visible",
type: ["Boolean"],
default: "false",
description: "Used to manually control the visibility of the select dropdown"
}, {
name: "minLength",
type: ["Number"],
default: "0",
description: "The minimum input length to open the select dropdown at"
}, {
name: "name",
type: ["String"],
default: "uid()",
description: "The unique identifier of the select"
}, {
name: "options",
type: ["Array"],
default: "",
description: "The options to be displayed in the select component"
}, {
name: "placeholder",
type: ["String"],
default: "''",
description: "The placeholder of the select input"
}, {
name: "offset",
type: ["Number"],
default: "6",
description: "The offset of the dropdown relative to the trigger element"
}, {
name: "placement",
type: ["top", "top-start", "top-end", "bottom", "bottom-start", "bottom-end", "left", "left-start", "left-end", "right", "right-start", "right-end"],
default: "false",
description: "The placement of the select dropdown"
}, {
name: "popupOptions",
type: ["Object"],
default: "",
description: "Used to override the floating-ui options used for creating the dropdown"
}, {
name: "readonly",
type: ["Boolean"],
default: "false",
description: "The readonly state of the select"
}, {
name: "selectFirstOptionOnEnter",
type: ["Boolean"],
default: "true",
description: "Selects the first option when pressing enter"
}, {
name: "size",
type: ["sm", "md", "lg"],
default: "",
description: "The size variant of the select"
}, {
name: "tabindex",
type: ["Number", "String"],
default: "0",
description: "The tabindex of the select"
}, {
name: "type",
type: ["String"],
default: "text",
description: "The type of the select"
}, {
name: "hoverHideDelay",
type: ["Number"],
default: "300",
description: "Delay in milliseconds before the popover is hidden on hover"
}, {
name: "validateSchema",
type: ["Boolean"],
default: "true",
description: "Enable select validation using schema"
}],
events: [{
description: "Event emitted for setting the modelValue",
name: "update:modelValue"
}, {
description: "Event emitted for setting the visible",
name: "update:visible"
}, {
description: "Event emitted when clicking outside the select component",
name: "click:outside"
}, {
description: "Event emitted when the next page needs to be loaded",
name: "pagination"
}, {
description: "Event emitted when clearing the select element",
name: "clear"
}],
slots: [{
name: "prepend",
description: "Slot for the select prepend content "
}, {
name: "prefix",
description: "Slot for the select prefix content "
}, {
name: "suffix",
description: "Slot for the select suffix content "
}, {
name: "append",
description: "Slot for the select append content "
}, {
name: "clearable",
description: "Slot for the select clearable button "
}, {
name: "header",
description: "Slot for the select header content "
}, {
name: "no-results",
description: "Slot for showing no options message "
}, {
name: "option",
description: "Slot for the select option content "
}, {
name: "footer",
description: "Slot for the select footer content "
}],
css: {
selector: ".select-wrapper",
variables: [{
name: "--select-line-height"
}, {
name: "--select--min-width",
value: [{
value: "240px"
}]
}, {
name: "--select--max-width",
value: [{
value: "90vw"
}]
}, {
name: "--select--color",
variants: [{
name: "--select--light--color",
value: [{
name: "--contrast-text-color-white"
}]
}, {
name: "--select--dark--color",
value: [{
name: "--contrast-text-color-dark"
}]
}]
}, {
name: "--select--font-size",
value: [{
name: "--font-size"
}],
variants: [{
name: "--select--sm--font-size",
value: [{
value: "calc(var(--font-size) * var(--size-multiplier-sm))"
}]
}, {
name: "--select--md--font-size",
value: [{
value: "calc(var(--font-size) * var(--size-multiplier-md))"
}]
}, {
name: "--select--lg--font-size",
value: [{
value: "calc(var(--font-size) * var(--size-multiplier-lg))"
}]
}]
}, {
name: "--select--box-shadow",
value: [{
name: "--select--box-shadow-x-offset",
value: [{
name: "--box-shadow-offset-x"
}]
}, {
name: "--select--box-shadow-y-offset",
value: [{
name: "--box-shadow-offset-y"
}]
}, {
name: "--select--box-shadow-blur-radius",
value: [{
name: "--box-shadow-blur-radius"
}]
}, {
name: "--select--box-shadow-spread-radius",
value: [{
name: "--box-shadow-spread-radius"
}]
}, {
name: "--select--box-shadow-color",
value: [{
name: "--box-shadow-color"
}]
}]
}, {
name: "--select--header--border-style",
value: [{
name: "--select--header--border-top-style",
value: [{
name: "--select--border-top-style",
value: [{
name: "--border-top-style"
}]
}]
}, {
name: "--select--header--border-right-style",
value: [{
name: "--select--border-right-style",
value: [{
name: "--border-right-style"
}]
}]
}, {
name: "--select--header--border-bottom-style",
value: [{
name: "--select--border-bottom-style",
value: [{
name: "--border-bottom-style"
}]
}]
}, {
name: "--select--header--border-left-style",
value: [{
name: "--select--border-left-style",
value: [{
name: "--border-left-style"
}]
}]
}]
}, {
name: "--select--header--border-width",
value: [{
name: "--select--header--border-top-width",
value: [{
name: "--select--border-top-width",
value: [{
name: "--border-top-width"
}]
}]
}, {
name: "--select--header--border-right-width",
value: [{
name: "--select--border-right-width",
value: [{
name: "--border-right-width"
}]
}]
}, {
name: "--select--header--border-bottom-width",
value: [{
value: "0"
}]
}, {
name: "--select--header--border-left-width",
value: [{
name: "--select--border-left-width",
value: [{
name: "--border-left-width"
}]
}]
}]
}, {
name: "--select--header--border-color",
value: [{
name: "--select--header--border-top-color",
value: [{
name: "--select--border-top-color",
value: [{
name: "--border-top-color"
}],
variants: [{
name: "--select--light--border-top-color",
value: [{
name: "--color-light-shade-50"
}]
}, {
name: "--select--dark--border-top-color",
value: [{
name: "--color-dark-tint-50"
}]
}]
}]
}, {
name: "--select--header--border-right-color",
value: [{
name: "--select--border-right-color",
value: [{
name: "--border-right-color"
}],
variants: [{
name: "--select--light--border-right-color",
value: [{
name: "--color-light-shade-50"
}]
}, {
name: "--select--dark--border-right-color",
value: [{
name: "--color-dark-tint-50"
}]
}]
}]
}, {
name: "--select--header--border-bottom-color",
value: [{
name: "--select--border-bottom-color",
value: [{
name: "--border-bottom-color"
}],
variants: [{
name: "--select--light--border-bottom-color",
value: [{
name: "--color-light-shade-50"
}]
}, {
name: "--select--dark--border-bottom-color",
value: [{
name: "--color-dark-tint-50"
}]
}]
}]
}, {
name: "--select--header--border-left-color",
value: [{
name: "--select--border-left-color",
value: [{
name: "--border-left-color"
}],
variants: [{
name: "--select--light--border-left-color",
value: [{
name: "--color-light-shade-50"
}]
}, {
name: "--select--dark--border-left-color",
value: [{
name: "--color-dark-tint-50"
}]
}]
}]
}]
}, {
name: "--select--header--background",
value: [{
name: "--select--background",
variants: [{
name: "--select--light--background",
value: [{
name: "--color-white"
}]
}, {
name: "--select--dark--background",
value: [{
name: "--color-dark"
}]
}]
}],
variants: [{
name: "--select--light--header--background",
value: [{
name: "--color-gray-50"
}]
}, {
name: "--select--dark--header--background",
value: [{
name: "--color-dark-tint-50"
}]
}]
}, {
name: "--select--header--padding",
value: [{
name: "--select--header--padding-top",
value: [{
name: "--select--padding-top",
value: [{
name: "--padding-top"
}],
variants: [{
name: "--select--sm--padding-top",
value: [{
value: "calc(var(--padding-top) * var(--size-multiplier-sm))"
}]
}, {
name: "--select--md--padding-top",
value: [{
value: "calc(var(--padding-top) * var(--size-multiplier-md))"
}]
}, {
name: "--select--lg--padding-top",
value: [{
value: "calc(var(--padding-top) * var(--size-multiplier-lg))"
}]
}]
}],
variants: [{
name: "--select--sm--header--padding-top",
value: [{
value: "calc(calc(var(--select--padding-top) * 3 / 4) * var(--size-multiplier-sm))"
}]
}, {
name: "--select--md--header--padding-top",
value: [{
value: "calc(calc(var(--select--padding-top) * 3 / 4) * var(--size-multiplier-md))"
}]
}, {
name: "--select--lg--header--padding-top",
value: [{
value: "calc(calc(var(--select--padding-top) * 3 / 4) * var(--size-multiplier-lg))"
}]
}]
}, {
name: "--select--header--padding-right",
value: [{
name: "--select--padding-right",
value: [{
name: "--padding-right"
}],
variants: [{
name: "--select--sm--padding-right",
value: [{
value: "calc(var(--padding-right) * var(--size-multiplier-sm))"
}]
}, {
name: "--select--md--padding-right",
value: [{
value: "calc(var(--padding-right) * var(--size-multiplier-md))"
}]
}, {
name: "--select--lg--padding-right",
value: [{
value: "calc(var(--padding-right) * var(--size-multiplier-lg))"
}]
}]
}]
}, {
name: "--select--header--padding-bottom",
value: [{
name: "--select--padding-bottom",
value: [{
name: "--padding-bottom"
}],
variants: [{
name: "--select--sm--padding-bottom",
value: [{
value: "calc(var(--padding-bottom) * var(--size-multiplier-sm))"
}]
}, {
name: "--select--md--padding-bottom",
value: [{
value: "calc(var(--padding-bottom) * var(--size-multiplier-md))"
}]
}, {
name: "--select--lg--padding-bottom",
value: [{
value: "calc(var(--padding-bottom) * var(--size-multiplier-lg))"
}]
}]
}],
variants: [{
name: "--select--sm--header--padding-bottom",
value: [{
value: "calc(calc(var(--select--padding-bottom) * 3 / 4) * var(--size-multiplier-sm))"
}]
}, {
name: "--select--md--header--padding-bottom",
value: [{
value: "calc(calc(var(--select--padding-bottom) * 3 / 4) * var(--size-multiplier-md))"
}]
}, {
name: "--select--lg--header--padding-bottom",
value: [{
value: "calc(calc(var(--select--padding-bottom) * 3 / 4) * var(--size-multiplier-lg))"
}]
}]
}, {
name: "--select--header--padding-left",
value: [{
name: "--select--padding-left",
value: [{
name: "--padding-left"
}],
variants: [{
name: "--select--sm--padding-left",
value: [{
value: "calc(var(--padding-left) * var(--size-multiplier-sm))"
}]
}, {
name: "--select--md--padding-left",
value: [{
value: "calc(var(--padding-left) * var(--size-multiplier-md))"
}]
}, {
name: "--select--lg--padding-left",
value: [{
value: "calc(var(--padding-left) * var(--size-multiplier-lg))"
}]
}]
}]
}]
}, {
name: "--select--body--border-style",
value: [{
name: "--select--body--border-top-style",
value: [{
name: "--select--border-top-style",
value: [{
name: "--border-top-style"
}]
}]
}, {
name: "--select--body--border-right-style",
value: [{
name: "--select--border-right-style",
value: [{
name: "--border-right-style"
}]
}]
}, {
name: "--select--body--border-bottom-style",
value: [{
name: "--select--border-bottom-style",
value: [{
name: "--border-bottom-style"
}]
}]
}, {
name: "--select--body--border-left-style",
value: [{
name: "--select--border-left-style",
value: [{
name: "--border-left-style"
}]
}]
}]
}, {
name: "--select--body--border-width",
value: [{
name: "--select--body--border-top-width",
value: [{
name: "--select--border-top-width",
value: [{
name: "--border-top-width"
}]
}]
}, {
name: "--select--body--border-right-width",
value: [{
name: "--select--border-right-width",
value: [{
name: "--border-right-width"
}]
}]
}, {
name: "--select--body--border-bottom-width",
value: [{
name: "--select--border-bottom-width",
value: [{
name: "--border-bottom-width"
}]
}]
}, {
name: "--select--body--border-left-width",
value: [{
name: "--select--border-left-width",
value: [{
name: "--border-left-width"
}]
}]
}]
}, {
name: "--select--body--border-color",
value: [{
name: "--select--body--border-top-color",
value: [{
name: "--select--border-top-color",
value: [{
name: "--border-top-color"
}]
}]
}, {
name: "--select--body--border-right-color",
value: [{
name: "--select--border-right-color",
value: [{
name: "--border-right-color"
}]
}]
}, {
name: "--select--body--border-bottom-color",
value: [{
name: "--select--border-bottom-color",
value: [{
name: "--border-bottom-color"
}]
}]
}, {
name: "--select--body--border-left-color",
value: [{
name: "--select--border-left-color",
value: [{
name: "--border-left-color"
}]
}]
}]
}, {
name: "--select--body--background",
value: [{
name: "--select--background"
}]
}, {
name: "--select--body--padding",
value: [{
name: "--select--body--padding-top",
value: [{
name: "--select--padding-top",
value: [{
name: "--padding-top"
}]
}]
}, {
name: "--select--body--padding-right",
value: [{
name: "--select--padding-right",
value: [{
name: "--padding-right"
}]
}],
variants: [{
name: "--select--sm--body--padding-right",
value: [{
value: "0"
}]
}, {
name: "--select--md--body--padding-right",
value: [{
value: "0"
}]
}, {
name: "--select--lg--body--padding-right",
value: [{
value: "0"
}]
}]
}, {
name: "--select--body--padding-bottom",
value: [{
name: "--select--padding-bottom",
value: [{
name: "--padding-bottom"
}]
}]
}, {
name: "--select--body--padding-left",
value: [{
name: "--select--padding-left",
value: [{
name: "--padding-left"
}]
}],
variants: [{
name: "--select--sm--body--padding-left",
value: [{
value: "0"
}]
}, {
name: "--select--md--body--padding-left",
value: [{
value: "0"
}]
}, {
name: "--select--lg--body--padding-left",
value: [{
value: "0"
}]
}]
}]
}, {
name: "--select--max-height",
value: [{
value: "300px"
}]
}, {
name: "--select--divider--border-color",
value: [{
name: "--select--border-top",
value: [{
name: "--border-top-color"
}]
}]
}, {
name: "--select--footer--border-style",
value: [{
name: "--select--footer--border-top-style",
value: [{
name: "--select--border-top-style",
value: [{
name: "--border-top-style"
}]
}]
}, {
name: "--select--footer--border-right-style",
value: [{
name: "--select--border-right-style",
value: [{
name: "--border-right-style"
}]
}]
}, {
name: "--select--footer--border-bottom-style",
value: [{
name: "--select--border-bottom-style",
value: [{
name: "--border-bottom-style"
}]
}]
}, {
name: "--select--footer--border-left-style",
value: [{
name: "--select--border-left-style",
value: [{
name: "--border-left-style"
}]
}]
}]
}, {
name: "--select--footer--border-width",
value: [{
name: "--select--footer--border-top-width",
value: [{
value: "0"
}]
}, {
name: "--select--footer--border-right-width",
value: [{
name: "--select--border-right-width",
value: [{
name: "--border-right-width"
}]
}]
}, {
name: "--select--footer--border-bottom-width",
value: [{
name: "--select--border-bottom-width",
value: [{
name: "--border-bottom-width"
}]
}]
}, {
name: "--select--footer--border-left-width",
value: [{
name: "--select--border-left-width",
value: [{
name: "--border-left-width"
}]
}]
}]
}, {
name: "--select--footer--border-color",
value: [{
name: "--select--footer--border-top-color",
value: [{
name: "--select--border-top-color",
value: [{
name: "--border-top-color"
}]
}]
}, {
name: "--select--footer--border-right-color",
value: [{
name: "--select--border-right-color",
value: [{
name: "--border-right-color"
}]
}]
}, {
name: "--select--footer--border-bottom-color",
value: [{
name: "--select--border-bottom-color",
value: [{
name: "--border-bottom-color"
}]
}]
}, {
name: "--select--footer--border-left-color",
value: [{
name: "--select--border-left-color",
value: [{
name: "--border-left-color"
}]
}]
}]
}, {
name: "--select--footer--background",
value: [{
name: "--select--background"
}],
variants: [{
name: "--select--light--footer--background",
value: [{
name: "--color-gray-50"
}]
}, {
name: "--select--dark--footer--background",
value: [{
name: "--color-dark-tint-50"
}]
}]
}, {
name: "--select--footer--padding",
value: [{
name: "--select--footer--padding-top",
value: [{
name: "--select--padding-top",
value: [{
name: "--padding-top"
}]
}],
variants: [{
name: "--select--sm--footer--padding-top",
value: [{
value: "calc(calc(var(--select--padding-top) * 3 / 4) * var(--size-multiplier-sm))"
}]
}, {
name: "--select--md--footer--padding-top",
value: [{
value: "calc(calc(var(--select--padding-top) * 3 / 4) * var(--size-multiplier-md))"
}]
}, {
name: "--select--lg--footer--padding-top",
value: [{
value: "calc(calc(var(--select--padding-top) * 3 / 4) * var(--size-multiplier-lg))"
}]
}]
}, {
name: "--select--footer--padding-right",
value: [{
name: "--select--padding-right",
value: [{
name: "--padding-right"
}]
}]
}, {
name: "--select--footer--padding-bottom",
value: [{
name: "--select--padding-bottom",
value: [{
name: "--padding-bottom"
}]
}],
variants: [{
name: "--select--sm--footer--padding-bottom",
value: [{
value: "calc(calc(var(--select--padding-bottom) * 3 / 4) * var(--size-multiplier-sm))"
}]
}, {
name: "--select--md--footer--padding-bottom",
value: [{
value: "calc(calc(var(--select--padding-bottom) * 3 / 4) * var(--size-multiplier-md))"
}]
}, {
name: "--select--lg--footer--padding-bottom",
value: [{
value: "calc(calc(var(--select--padding-bottom) * 3 / 4) * var(--size-multiplier-lg))"
}]
}]
}, {
name: "--select--footer--padding-left",
value: [{
name: "--select--padding-left",
value: [{
name: "--padding-left"
}]
}]
}]
}, {
name: "--select--border-top-left-radius",
value: [{
name: "--border-top-left-radius"
}],
variants: [{
name: "--select--sm--border-top-left-radius",
value: [{
value: "calc(var(--border-top-left-radius) * var(--size-multiplier-sm))"
}]
}, {
name: "--select--md--border-top-left-radius",
value: [{
value: "calc(var(--border-top-left-radius) * var(--size-multiplier-md))"
}]
}, {
name: "--select--lg--border-top-left-radius",
value: [{
value: "calc(var(--border-top-left-radius) * var(--size-multiplier-lg))"
}]
}]
}, {
name: "--select--border-top-right-radius",
value: [{
name: "--border-top-right-radius"
}],
variants: [{
name: "--select--sm--border-top-right-radius",
value: [{
value: "calc(var(--border-top-right-radius) * var(--size-multiplier-sm))"
}]
}, {
name: "--select--md--border-top-right-radius",
value: [{
value: "calc(var(--border-top-right-radius) * var(--size-multiplier-md))"
}]
}, {
name: "--select--lg--border-top-right-radius",
value: [{
value: "calc(var(--border-top-right-radius) * var(--size-multiplier-lg))"
}]
}]
}, {
name: "--select--border-bottom-left-radius",
value: [{
name: "--border-bottom-left-radius"
}],
variants: [{
name: "--select--sm--border-bottom-left-radius",
value: [{
value: "calc(var(--border-bottom-left-radius) * var(--size-multiplier-sm))"
}]
}, {
name: "--select--md--border-bottom-left-radius",
value: [{
value: "calc(var(--border-bottom-left-radius) * var(--size-multiplier-md))"
}]
}, {
name: "--select--lg--border-bottom-left-radius",
value: [{
value: "calc(var(--border-bottom-left-radius) * var(--size-multiplier-lg))"
}]
}]
}, {
name: "--select--border-bottom-right-radius",
value: [{
name: "--border-bottom-right-radius"
}],
variants: [{
name: "--select--sm--border-bottom-right-radius",
value: [{
value: "calc(var(--border-bottom-right-radius) * var(--size-multiplier-sm))"
}]
}, {
name: "--select--md--border-bottom-right-radius",
value: [{
value: "calc(var(--border-bottom-right-radius) * var(--size-multiplier-md))"
}]
}, {
name: "--select--lg--border-bottom-right-radius",
value: [{
value: "calc(var(--border-bottom-right-radius) * var(--size-multiplier-lg))"
}]
}]
}, {
name: "--input--error--border-color",
value: [{
name: "--color-danger"
}]
}, {
name: "--margin-left"
}, {
name: "--select--caret--margin-left",
value: [{
name: "--select--margin-left",
variants: [{
name: "--select--sm--margin-left",
value: [{
value: "calc(calc(var(--margin-left) / 2) * var(--size-multiplier-sm))"
}]
}, {
name: "--select--md--margin-left",
value: [{
value: "calc(calc(var(--margin-left) / 2) * var(--size-multiplier-md))"
}]
}, {
name: "--select--lg--margin-left",
value: [{
value: "calc(calc(var(--margin-left) / 2) * var(--size-multiplier-lg))"
}]
}]
}]
}]
}
};
var _default = exports.default = manifest;