@xleddyl/443-components-vue 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/README.md +52 -25
  2. package/dist/components/core/FieldBoundary.vue +14 -0
  3. package/dist/components/core/FieldBoundary.vue.d.ts +15 -0
  4. package/dist/components/core/Form.vue +91 -12
  5. package/dist/components/core/Form.vue.d.ts +27 -2
  6. package/dist/components/core/FormAlerts.vue +30 -0
  7. package/dist/{internal/forms → components/core}/FormAlerts.vue.d.ts +4 -4
  8. package/dist/components/core/FormField.vue +18 -3
  9. package/dist/components/core/index.d.ts +2 -0
  10. package/dist/components/core/index.mjs +2 -0
  11. package/dist/components/data/FilterPills.vue +82 -37
  12. package/dist/components/data/FilterPills.vue.d.ts +46 -427
  13. package/dist/components/data/SelectionBar.vue +7 -4
  14. package/dist/components/data/Tree.vue +9 -4
  15. package/dist/components/data/Tree.vue.d.ts +4 -1
  16. package/dist/components/data/types.d.ts +7 -2
  17. package/dist/components/forms/CheckboxGroup.vue +2 -1
  18. package/dist/components/forms/FileInput.vue +98 -26
  19. package/dist/components/forms/FileInput.vue.d.ts +28 -10
  20. package/dist/components/forms/RadioGroup.vue +2 -1
  21. package/dist/components/forms/SegmentedControl.vue +2 -1
  22. package/dist/components/forms/types.d.ts +3 -0
  23. package/dist/components/layout/Accordion.vue.d.ts +4 -4
  24. package/dist/components/layout/AppShell.vue +1 -1
  25. package/dist/components/layout/AppShell.vue.d.ts +2 -2
  26. package/dist/components/layout/Tabs.vue +10 -1
  27. package/dist/components/layout/Tabs.vue.d.ts +4 -0
  28. package/dist/components/layout/types.d.ts +1 -0
  29. package/dist/components/overlays/CommandPalette.vue +10 -4
  30. package/dist/components/overlays/CommandPalette.vue.d.ts +273 -511
  31. package/dist/components/overlays/HoverCard.vue +1 -1
  32. package/dist/components/overlays/HoverCard.vue.d.ts +2 -2
  33. package/dist/components/overlays/Popover.vue +1 -1
  34. package/dist/components/overlays/Popover.vue.d.ts +2 -2
  35. package/dist/components/overlays/Toaster.vue +35 -4
  36. package/dist/components/overlays/Toaster.vue.d.ts +3 -0
  37. package/dist/components/overlays/types.d.ts +8 -4
  38. package/dist/components/templates/DashboardLayout.vue +21 -18
  39. package/dist/components/templates/DashboardLayout.vue.d.ts +332 -565
  40. package/dist/components/templates/ListPage.vue +1 -1
  41. package/dist/components/templates/ListPage.vue.d.ts +3 -3
  42. package/dist/components/templates/types.d.ts +4 -4
  43. package/dist/composables/useField.d.ts +6 -1
  44. package/dist/composables/useField.mjs +40 -12
  45. package/dist/composables/useFieldBoundary.d.ts +1 -0
  46. package/dist/composables/useFieldBoundary.mjs +5 -1
  47. package/dist/composables/useFileDrop.d.ts +14 -1
  48. package/dist/composables/useFileDrop.mjs +21 -20
  49. package/dist/composables/useForm.d.ts +4 -0
  50. package/dist/composables/useForm.mjs +62 -22
  51. package/dist/editor/RichTextEditor.vue +2 -1
  52. package/dist/internal/core/ButtonElement.d.ts +2 -0
  53. package/dist/internal/core/ButtonElement.mjs +8 -0
  54. package/dist/internal/forms/files.d.ts +7 -0
  55. package/dist/internal/forms/files.mjs +24 -0
  56. package/dist/internal/keys.d.ts +2 -1
  57. package/dist/internal/keys.mjs +1 -0
  58. package/dist/internal/layout/route.mjs +1 -1
  59. package/dist/locale/en.mjs +4 -1
  60. package/dist/locale/it.mjs +4 -1
  61. package/dist/locale/types.d.ts +3 -0
  62. package/dist/nuxt/module.mjs +1 -1
  63. package/dist/styles/core/button.css +1 -13
  64. package/dist/styles/core/form-field.css +2 -2
  65. package/dist/styles/data/avatar.css +1 -1
  66. package/dist/styles/data/description-list.css +5 -3
  67. package/dist/styles/data/filter-pills.css +0 -1
  68. package/dist/styles/data/pagination.css +0 -1
  69. package/dist/styles/data/selection-bar.css +4 -0
  70. package/dist/styles/data/stat.css +1 -6
  71. package/dist/styles/data/table.css +1 -2
  72. package/dist/styles/data/tag.css +1 -4
  73. package/dist/styles/data/timeline.css +1 -0
  74. package/dist/styles/data/tree.css +8 -2
  75. package/dist/styles/feedback/alert.css +1 -1
  76. package/dist/styles/feedback/empty-state.css +6 -5
  77. package/dist/styles/forms/color-input.css +1 -1
  78. package/dist/styles/forms/combobox.css +0 -1
  79. package/dist/styles/forms/date-picker.css +1 -1
  80. package/dist/styles/forms/file-input.css +9 -1
  81. package/dist/styles/forms/number-input.css +1 -1
  82. package/dist/styles/forms/password-input.css +1 -5
  83. package/dist/styles/forms/switch.css +0 -1
  84. package/dist/styles/layout/accordion.css +7 -2
  85. package/dist/styles/layout/card.css +13 -7
  86. package/dist/styles/layout/copy-button.css +2 -2
  87. package/dist/styles/layout/nav-link.css +1 -2
  88. package/dist/styles/layout/page-header.css +2 -1
  89. package/dist/styles/layout/sidebar-nav.css +1 -1
  90. package/dist/styles/layout/sidebar.css +1 -1
  91. package/dist/styles/layout/tabs.css +22 -2
  92. package/dist/styles/layout/theme-switch.css +1 -3
  93. package/dist/styles/overlays/command.css +1 -1
  94. package/dist/styles/overlays/confirm.css +0 -1
  95. package/dist/styles/overlays/drawer.css +23 -2
  96. package/dist/styles/overlays/menu.css +2 -4
  97. package/dist/styles/overlays/modal.css +4 -3
  98. package/dist/styles/overlays/toast.css +0 -1
  99. package/dist/styles/templates/auth-layout.css +4 -1
  100. package/dist/styles/templates/empty-page.css +7 -3
  101. package/dist/styles/templates/error-page.css +4 -0
  102. package/dist/styles/templates/form-page.css +1 -1
  103. package/dist/styles/templates/page.css +1 -1
  104. package/dist/styles/templates/settings-modal.css +4 -2
  105. package/dist/styles/tokens.css +1 -1
  106. package/package.json +1 -1
  107. package/dist/internal/forms/FormAlerts.vue +0 -25
  108. package/dist/internal/overlays/FieldBoundary.d.ts +0 -4
  109. package/dist/internal/overlays/FieldBoundary.mjs +0 -9
@@ -13,34 +13,9 @@
13
13
  :toggle="() => toggle(option.value)"
14
14
  :size="size"
15
15
  :disabled="Boolean(disabled || option.disabled)"
16
+ :default-pill="defaultPill(option.value)"
16
17
  >
17
- <DropdownMenu
18
- v-if="option.menu"
19
- :items="option.menu"
20
- :label="option.menuLabel ?? option.label"
21
- >
22
- <FilterPill
23
- :label="option.label"
24
- :value-label="option.valueLabel"
25
- :icon="option.icon"
26
- :count="option.count"
27
- :active="option.active ?? isActive(option.value)"
28
- :size="size"
29
- :disabled="disabled || option.disabled"
30
- caret
31
- />
32
- </DropdownMenu>
33
- <FilterPill
34
- v-else
35
- :label="option.label"
36
- :value-label="option.valueLabel"
37
- :icon="option.icon"
38
- :count="option.count"
39
- :pressed="isActive(option.value)"
40
- :size="size"
41
- :disabled="disabled || option.disabled"
42
- @click="toggle(option.value)"
43
- />
18
+ <component :is="defaultPill(option.value)" />
44
19
  </slot>
45
20
  </template>
46
21
  <Button
@@ -56,45 +31,115 @@
56
31
  </template>
57
32
 
58
33
  <script setup>
59
- import { computed } from "vue";
34
+ import { computed, h, ref, watch } from "vue";
60
35
  import { useLocale } from "../../composables/useLocale";
61
36
  import Button from "../core/Button.vue";
62
37
  import DropdownMenu from "../overlays/DropdownMenu.vue";
38
+ import Popover from "../overlays/Popover.vue";
63
39
  import FilterPill from "./FilterPill.vue";
64
40
  const props = defineProps({
65
41
  options: { type: Array, required: true },
66
- multiple: { type: Boolean, required: false },
42
+ multiple: { type: null, required: false },
67
43
  label: { type: String, required: false },
68
44
  size: { type: String, required: false, default: "md" },
69
45
  clearable: { type: Boolean, required: false },
70
46
  clearLabel: { type: String, required: false },
71
47
  disabled: { type: Boolean, required: false },
72
- required: { type: Boolean, required: false }
48
+ required: { type: null, required: false }
73
49
  });
74
50
  const { t } = useLocale();
75
51
  const groupLabel = computed(() => props.label ?? t("filterPills.label"));
76
52
  const clearText = computed(() => props.clearLabel ?? t("common.clear"));
77
- defineSlots();
78
- const model = defineModel({ type: [String, Number, Array, null], ...{ default: null } });
53
+ const slots = defineSlots();
54
+ const model = defineModel({ type: null, ...{
55
+ default: null
56
+ } });
57
+ const openPanel = ref(null);
79
58
  const activeValues = computed(() => {
80
- if (Array.isArray(model.value)) return model.value;
81
- return model.value === null || model.value === void 0 ? [] : [model.value];
59
+ const value = model.value;
60
+ if (Array.isArray(value)) return value;
61
+ return value === null || value === void 0 ? [] : [value];
82
62
  });
83
63
  const hasValue = computed(() => activeValues.value.length > 0);
84
64
  function isActive(value) {
85
65
  return activeValues.value.includes(value);
86
66
  }
67
+ function setModel(value) {
68
+ model.value = value;
69
+ }
87
70
  function toggle(value) {
88
71
  const active = isActive(value);
89
72
  if (props.multiple) {
90
73
  if (active && props.required && activeValues.value.length <= 1) return;
91
- model.value = active ? activeValues.value.filter((item) => item !== value) : [...activeValues.value, value];
74
+ setModel(
75
+ active ? activeValues.value.filter((item) => item !== value) : [...activeValues.value, value]
76
+ );
92
77
  return;
93
78
  }
94
79
  if (active && props.required) return;
95
- model.value = active ? null : value;
80
+ setModel(active ? null : value);
96
81
  }
97
82
  function clear() {
98
- model.value = props.multiple ? [] : null;
83
+ setModel(props.multiple ? [] : null);
84
+ }
85
+ function setPanel(value, open) {
86
+ if (open) openPanel.value = value;
87
+ else if (openPanel.value === value) openPanel.value = null;
88
+ }
89
+ function renderPill(value) {
90
+ const option = props.options.find((entry) => entry.value === value);
91
+ if (!option) return null;
92
+ const base = {
93
+ label: option.label,
94
+ valueLabel: option.valueLabel,
95
+ icon: option.icon,
96
+ count: option.count,
97
+ size: props.size,
98
+ disabled: Boolean(props.disabled || option.disabled)
99
+ };
100
+ const active = option.active ?? isActive(value);
101
+ if (option.menu)
102
+ return h(
103
+ DropdownMenu,
104
+ { items: option.menu, label: option.menuLabel ?? option.label },
105
+ { default: () => h(FilterPill, { ...base, active, caret: true }) }
106
+ );
107
+ if (option.panel) {
108
+ const close = () => setPanel(value, false);
109
+ return h(
110
+ Popover,
111
+ {
112
+ open: openPanel.value === value,
113
+ "onUpdate:open": (open) => setPanel(value, open),
114
+ label: option.panelLabel ?? option.label
115
+ },
116
+ {
117
+ default: () => h(FilterPill, { ...base, active, caret: true }),
118
+ content: () => slots[`panel-${value}`]?.({
119
+ option,
120
+ active: isActive(value),
121
+ toggle: () => toggle(value),
122
+ close
123
+ })
124
+ }
125
+ );
126
+ }
127
+ return h(FilterPill, { ...base, pressed: isActive(value), onClick: () => toggle(value) });
99
128
  }
129
+ const defaultPills = /* @__PURE__ */ new Map();
130
+ function defaultPill(value) {
131
+ let pill = defaultPills.get(value);
132
+ if (!pill) {
133
+ pill = () => renderPill(value);
134
+ defaultPills.set(value, pill);
135
+ }
136
+ return pill;
137
+ }
138
+ watch(
139
+ () => props.options.map((option) => option.value),
140
+ (values) => {
141
+ const keep = new Set(values);
142
+ for (const key of defaultPills.keys()) if (!keep.has(key)) defaultPills.delete(key);
143
+ }
144
+ );
100
145
  </script>
@@ -1,430 +1,49 @@
1
- import type { FilterPillOption } from './types';
2
- type Value = FilterPillOption['value'];
3
- type __VLS_Slots = {
4
- pill?: (props: {
5
- option: FilterPillOption;
6
- active: boolean;
7
- toggle: () => void;
8
- size: 'sm' | 'md';
9
- disabled: boolean;
10
- }) => unknown;
1
+ import type { FunctionalComponent } from 'vue';
2
+ import type { FilterPillOption, FilterPillValue } from './types';
3
+ declare const __VLS_export: <T extends FilterPillValue, M extends boolean = false, R extends boolean = false>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
4
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<({
5
+ options: FilterPillOption<T>[];
6
+ multiple?: M;
7
+ label?: string;
8
+ size?: "sm" | "md";
9
+ clearable?: boolean;
10
+ clearLabel?: string;
11
+ disabled?: boolean;
12
+ required?: R;
13
+ } & {
14
+ modelValue?: M extends true ? T[] : R extends true ? T : T | null;
15
+ }) & {
16
+ "onUpdate:modelValue"?: ((value: M extends true ? T[] : R extends true ? T : T | null) => any) | undefined;
17
+ } & Partial<import("vue").HTMLAttributes & import("vue").ReservedProps>> & (typeof globalThis extends {
18
+ __VLS_PROPS_FALLBACK: infer P;
19
+ } ? P : {});
20
+ expose: (exposed: {}) => void;
21
+ attrs: any;
22
+ slots: {
23
+ pill?: (props: {
24
+ option: FilterPillOption<T>;
25
+ active: boolean;
26
+ toggle: () => void;
27
+ size: "sm" | "md";
28
+ disabled: boolean;
29
+ defaultPill: FunctionalComponent;
30
+ }) => unknown;
31
+ } & {
32
+ [key: `panel-${string}`]: ((props: {
33
+ option: FilterPillOption<T>;
34
+ active: boolean;
35
+ toggle: () => void;
36
+ close: () => void;
37
+ }) => unknown) | undefined;
38
+ };
39
+ emit: (event: "update:modelValue", value: M extends true ? T[] : R extends true ? T : T | null) => void;
40
+ }>) => import("vue").VNode & {
41
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
11
42
  };
12
- declare const __VLS_base: import("vue").DefineComponent<{
13
- options: FilterPillOption[];
14
- multiple?: boolean;
15
- label?: string;
16
- size?: "sm" | "md";
17
- clearable?: boolean;
18
- clearLabel?: string;
19
- disabled?: boolean;
20
- required?: boolean;
21
- modelValue?: Value | Value[] | null;
22
- key?: PropertyKey | undefined;
23
- prefix?: string | undefined | undefined;
24
- title?: string | undefined | undefined;
25
- style?: import("vue").StyleValue;
26
- results?: (string | number) | undefined;
27
- placeholder?: string | undefined | undefined;
28
- class?: import("vue").ClassValue;
29
- role?: string | undefined | undefined;
30
- 'aria-label'?: string | undefined | undefined;
31
- 'aria-hidden'?: (boolean | "true" | "false") | undefined;
32
- onCopy?: ((payload: ClipboardEvent) => void) | undefined;
33
- onCut?: ((payload: ClipboardEvent) => void) | undefined;
34
- onPaste?: ((payload: ClipboardEvent) => void) | undefined;
35
- onCompositionend?: ((payload: CompositionEvent) => void) | undefined;
36
- onCompositionstart?: ((payload: CompositionEvent) => void) | undefined;
37
- onCompositionupdate?: ((payload: CompositionEvent) => void) | undefined;
38
- onDrag?: ((payload: DragEvent) => void) | undefined;
39
- onDragend?: ((payload: DragEvent) => void) | undefined;
40
- onDragenter?: ((payload: DragEvent) => void) | undefined;
41
- onDragexit?: ((payload: DragEvent) => void) | undefined;
42
- onDragleave?: ((payload: DragEvent) => void) | undefined;
43
- onDragover?: ((payload: DragEvent) => void) | undefined;
44
- onDragstart?: ((payload: DragEvent) => void) | undefined;
45
- onDrop?: ((payload: DragEvent) => void) | undefined;
46
- onFocus?: ((payload: FocusEvent) => void) | undefined;
47
- onFocusin?: ((payload: FocusEvent) => void) | undefined;
48
- onFocusout?: ((payload: FocusEvent) => void) | undefined;
49
- onBlur?: ((payload: FocusEvent) => void) | undefined;
50
- onChange?: ((payload: Event) => void) | undefined;
51
- onBeforeinput?: ((payload: InputEvent) => void) | undefined;
52
- onFormdata?: ((payload: FormDataEvent) => void) | undefined;
53
- onInput?: ((payload: InputEvent) => void) | undefined;
54
- onReset?: ((payload: Event) => void) | undefined;
55
- onSubmit?: ((payload: SubmitEvent) => void) | undefined;
56
- onInvalid?: ((payload: Event) => void) | undefined;
57
- onFullscreenchange?: ((payload: Event) => void) | undefined;
58
- onFullscreenerror?: ((payload: Event) => void) | undefined;
59
- onLoad?: ((payload: Event) => void) | undefined;
60
- onError?: ((payload: Event) => void) | undefined;
61
- onKeydown?: ((payload: KeyboardEvent) => void) | undefined;
62
- onKeypress?: ((payload: KeyboardEvent) => void) | undefined;
63
- onKeyup?: ((payload: KeyboardEvent) => void) | undefined;
64
- onDblclick?: ((payload: MouseEvent) => void) | undefined;
65
- onMousedown?: ((payload: MouseEvent) => void) | undefined;
66
- onMouseenter?: ((payload: MouseEvent) => void) | undefined;
67
- onMouseleave?: ((payload: MouseEvent) => void) | undefined;
68
- onMousemove?: ((payload: MouseEvent) => void) | undefined;
69
- onMouseout?: ((payload: MouseEvent) => void) | undefined;
70
- onMouseover?: ((payload: MouseEvent) => void) | undefined;
71
- onMouseup?: ((payload: MouseEvent) => void) | undefined;
72
- onAbort?: ((payload: UIEvent) => void) | undefined;
73
- onCanplay?: ((payload: Event) => void) | undefined;
74
- onCanplaythrough?: ((payload: Event) => void) | undefined;
75
- onDurationchange?: ((payload: Event) => void) | undefined;
76
- onEmptied?: ((payload: Event) => void) | undefined;
77
- onEncrypted?: ((payload: MediaEncryptedEvent) => void) | undefined;
78
- onEnded?: ((payload: Event) => void) | undefined;
79
- onLoadeddata?: ((payload: Event) => void) | undefined;
80
- onLoadedmetadata?: ((payload: Event) => void) | undefined;
81
- onLoadstart?: ((payload: Event) => void) | undefined;
82
- onPause?: ((payload: Event) => void) | undefined;
83
- onPlay?: ((payload: Event) => void) | undefined;
84
- onPlaying?: ((payload: Event) => void) | undefined;
85
- onProgress?: ((payload: ProgressEvent<EventTarget>) => void) | undefined;
86
- onRatechange?: ((payload: Event) => void) | undefined;
87
- onSeeked?: ((payload: Event) => void) | undefined;
88
- onSeeking?: ((payload: Event) => void) | undefined;
89
- onStalled?: ((payload: Event) => void) | undefined;
90
- onSuspend?: ((payload: Event) => void) | undefined;
91
- onTimeupdate?: ((payload: Event) => void) | undefined;
92
- onVolumechange?: ((payload: Event) => void) | undefined;
93
- onWaiting?: ((payload: Event) => void) | undefined;
94
- onSelect?: ((payload: Event) => void) | undefined;
95
- onScroll?: ((payload: Event) => void) | undefined;
96
- onScrollend?: ((payload: Event) => void) | undefined;
97
- onTouchcancel?: ((payload: TouchEvent) => void) | undefined;
98
- onTouchend?: ((payload: TouchEvent) => void) | undefined;
99
- onTouchmove?: ((payload: TouchEvent) => void) | undefined;
100
- onTouchstart?: ((payload: TouchEvent) => void) | undefined;
101
- onAuxclick?: ((payload: PointerEvent) => void) | undefined;
102
- onClick?: ((payload: PointerEvent) => void) | undefined;
103
- onContextmenu?: ((payload: PointerEvent) => void) | undefined;
104
- onGotpointercapture?: ((payload: PointerEvent) => void) | undefined;
105
- onLostpointercapture?: ((payload: PointerEvent) => void) | undefined;
106
- onPointerdown?: ((payload: PointerEvent) => void) | undefined;
107
- onPointermove?: ((payload: PointerEvent) => void) | undefined;
108
- onPointerup?: ((payload: PointerEvent) => void) | undefined;
109
- onPointercancel?: ((payload: PointerEvent) => void) | undefined;
110
- onPointerenter?: ((payload: PointerEvent) => void) | undefined;
111
- onPointerleave?: ((payload: PointerEvent) => void) | undefined;
112
- onPointerover?: ((payload: PointerEvent) => void) | undefined;
113
- onPointerout?: ((payload: PointerEvent) => void) | undefined;
114
- onBeforetoggle?: ((payload: ToggleEvent) => void) | undefined;
115
- onToggle?: ((payload: ToggleEvent) => void) | undefined;
116
- onWheel?: ((payload: WheelEvent) => void) | undefined;
117
- onAnimationcancel?: ((payload: AnimationEvent) => void) | undefined;
118
- onAnimationstart?: ((payload: AnimationEvent) => void) | undefined;
119
- onAnimationend?: ((payload: AnimationEvent) => void) | undefined;
120
- onAnimationiteration?: ((payload: AnimationEvent) => void) | undefined;
121
- onSecuritypolicyviolation?: ((payload: SecurityPolicyViolationEvent) => void) | undefined;
122
- onTransitioncancel?: ((payload: TransitionEvent) => void) | undefined;
123
- onTransitionend?: ((payload: TransitionEvent) => void) | undefined;
124
- onTransitionrun?: ((payload: TransitionEvent) => void) | undefined;
125
- onTransitionstart?: ((payload: TransitionEvent) => void) | undefined;
126
- innerHTML?: string | undefined | undefined;
127
- color?: string | undefined | undefined;
128
- id?: string | undefined | undefined;
129
- lang?: string | undefined | undefined;
130
- tabindex?: (string | number) | undefined;
131
- 'aria-activedescendant'?: string | undefined | undefined;
132
- 'aria-atomic'?: (boolean | "true" | "false") | undefined;
133
- 'aria-autocomplete'?: "none" | "inline" | "list" | "both" | undefined | undefined;
134
- 'aria-busy'?: (boolean | "true" | "false") | undefined;
135
- 'aria-checked'?: (boolean | "true" | "false") | "mixed" | undefined;
136
- 'aria-colcount'?: (string | number) | undefined;
137
- 'aria-colindex'?: (string | number) | undefined;
138
- 'aria-colspan'?: (string | number) | undefined;
139
- 'aria-controls'?: string | undefined | undefined;
140
- 'aria-current'?: "page" | "time" | (boolean | "true" | "false") | "step" | "location" | "date" | undefined;
141
- 'aria-describedby'?: string | undefined | undefined;
142
- 'aria-details'?: string | undefined | undefined;
143
- 'aria-disabled'?: (boolean | "true" | "false") | undefined;
144
- 'aria-dropeffect'?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined | undefined;
145
- 'aria-errormessage'?: string | undefined | undefined;
146
- 'aria-expanded'?: (boolean | "true" | "false") | undefined;
147
- 'aria-flowto'?: string | undefined | undefined;
148
- 'aria-grabbed'?: (boolean | "true" | "false") | undefined;
149
- 'aria-haspopup'?: "grid" | "tree" | "dialog" | "menu" | (boolean | "true" | "false") | "listbox" | undefined;
150
- 'aria-invalid'?: (boolean | "true" | "false") | "grammar" | "spelling" | undefined;
151
- 'aria-keyshortcuts'?: string | undefined | undefined;
152
- 'aria-labelledby'?: string | undefined | undefined;
153
- 'aria-level'?: (string | number) | undefined;
154
- 'aria-live'?: "off" | "assertive" | "polite" | undefined | undefined;
155
- 'aria-modal'?: (boolean | "true" | "false") | undefined;
156
- 'aria-multiline'?: (boolean | "true" | "false") | undefined;
157
- 'aria-multiselectable'?: (boolean | "true" | "false") | undefined;
158
- 'aria-orientation'?: "horizontal" | "vertical" | undefined | undefined;
159
- 'aria-owns'?: string | undefined | undefined;
160
- 'aria-placeholder'?: string | undefined | undefined;
161
- 'aria-posinset'?: (string | number) | undefined;
162
- 'aria-pressed'?: (boolean | "true" | "false") | "mixed" | undefined;
163
- 'aria-readonly'?: (boolean | "true" | "false") | undefined;
164
- 'aria-relevant'?: "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined | undefined;
165
- 'aria-required'?: (boolean | "true" | "false") | undefined;
166
- 'aria-roledescription'?: string | undefined | undefined;
167
- 'aria-rowcount'?: (string | number) | undefined;
168
- 'aria-rowindex'?: (string | number) | undefined;
169
- 'aria-rowspan'?: (string | number) | undefined;
170
- 'aria-selected'?: (boolean | "true" | "false") | undefined;
171
- 'aria-setsize'?: (string | number) | undefined;
172
- 'aria-sort'?: "none" | "ascending" | "descending" | "other" | undefined | undefined;
173
- 'aria-valuemax'?: (string | number) | undefined;
174
- 'aria-valuemin'?: (string | number) | undefined;
175
- 'aria-valuenow'?: (string | number) | undefined;
176
- 'aria-valuetext'?: string | undefined | undefined;
177
- ref?: import("vue").VNodeRef | undefined;
178
- ref_for?: boolean | undefined | undefined;
179
- ref_key?: string | undefined | undefined;
180
- accesskey?: string | undefined | undefined;
181
- contenteditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
182
- contextmenu?: string | undefined | undefined;
183
- dir?: string | undefined | undefined;
184
- draggable?: (boolean | "true" | "false") | undefined;
185
- enterkeyhint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
186
- enterKeyHint?: "search" | "done" | "previous" | "next" | "enter" | "go" | "send" | undefined;
187
- hidden?: "" | (boolean | "true" | "false") | "hidden" | "until-found" | undefined;
188
- inert?: (boolean | "true" | "false") | undefined;
189
- spellcheck?: (boolean | "true" | "false") | undefined;
190
- translate?: "yes" | "no" | undefined | undefined;
191
- radiogroup?: string | undefined | undefined;
192
- about?: string | undefined | undefined;
193
- datatype?: string | undefined | undefined;
194
- inlist?: any;
195
- property?: string | undefined | undefined;
196
- resource?: string | undefined | undefined;
197
- typeof?: string | undefined | undefined;
198
- vocab?: string | undefined | undefined;
199
- autocapitalize?: string | undefined | undefined;
200
- autocorrect?: string | undefined | undefined;
201
- autosave?: string | undefined | undefined;
202
- itemprop?: string | undefined | undefined;
203
- itemscope?: (boolean | "true" | "false") | undefined;
204
- itemtype?: string | undefined | undefined;
205
- itemid?: string | undefined | undefined;
206
- itemref?: string | undefined | undefined;
207
- security?: string | undefined | undefined;
208
- unselectable?: "on" | "off" | undefined | undefined;
209
- inputmode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined | undefined;
210
- is?: string | undefined | undefined;
211
- exportparts?: string | undefined;
212
- part?: string | undefined;
213
- popover?: (import("../../index.ts").PopoverMode | "" | boolean) | undefined;
214
- }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
215
- "update:modelValue": (value: string | number | (string | number)[] | null) => any;
216
- }, string, import("vue").PublicProps, Readonly<{
217
- options: FilterPillOption[];
218
- multiple?: boolean;
219
- label?: string;
220
- size?: "sm" | "md";
221
- clearable?: boolean;
222
- clearLabel?: string;
223
- disabled?: boolean;
224
- required?: boolean;
225
- modelValue?: Value | Value[] | null;
226
- key?: PropertyKey | undefined;
227
- prefix?: string | undefined | undefined;
228
- title?: string | undefined | undefined;
229
- style?: import("vue").StyleValue;
230
- results?: (string | number) | undefined;
231
- placeholder?: string | undefined | undefined;
232
- class?: import("vue").ClassValue;
233
- role?: string | undefined | undefined;
234
- 'aria-label'?: string | undefined | undefined;
235
- 'aria-hidden'?: (boolean | "true" | "false") | undefined;
236
- onCopy?: ((payload: ClipboardEvent) => void) | undefined;
237
- onCut?: ((payload: ClipboardEvent) => void) | undefined;
238
- onPaste?: ((payload: ClipboardEvent) => void) | undefined;
239
- onCompositionend?: ((payload: CompositionEvent) => void) | undefined;
240
- onCompositionstart?: ((payload: CompositionEvent) => void) | undefined;
241
- onCompositionupdate?: ((payload: CompositionEvent) => void) | undefined;
242
- onDrag?: ((payload: DragEvent) => void) | undefined;
243
- onDragend?: ((payload: DragEvent) => void) | undefined;
244
- onDragenter?: ((payload: DragEvent) => void) | undefined;
245
- onDragexit?: ((payload: DragEvent) => void) | undefined;
246
- onDragleave?: ((payload: DragEvent) => void) | undefined;
247
- onDragover?: ((payload: DragEvent) => void) | undefined;
248
- onDragstart?: ((payload: DragEvent) => void) | undefined;
249
- onDrop?: ((payload: DragEvent) => void) | undefined;
250
- onFocus?: ((payload: FocusEvent) => void) | undefined;
251
- onFocusin?: ((payload: FocusEvent) => void) | undefined;
252
- onFocusout?: ((payload: FocusEvent) => void) | undefined;
253
- onBlur?: ((payload: FocusEvent) => void) | undefined;
254
- onChange?: ((payload: Event) => void) | undefined;
255
- onBeforeinput?: ((payload: InputEvent) => void) | undefined;
256
- onFormdata?: ((payload: FormDataEvent) => void) | undefined;
257
- onInput?: ((payload: InputEvent) => void) | undefined;
258
- onReset?: ((payload: Event) => void) | undefined;
259
- onSubmit?: ((payload: SubmitEvent) => void) | undefined;
260
- onInvalid?: ((payload: Event) => void) | undefined;
261
- onFullscreenchange?: ((payload: Event) => void) | undefined;
262
- onFullscreenerror?: ((payload: Event) => void) | undefined;
263
- onLoad?: ((payload: Event) => void) | undefined;
264
- onError?: ((payload: Event) => void) | undefined;
265
- onKeydown?: ((payload: KeyboardEvent) => void) | undefined;
266
- onKeypress?: ((payload: KeyboardEvent) => void) | undefined;
267
- onKeyup?: ((payload: KeyboardEvent) => void) | undefined;
268
- onDblclick?: ((payload: MouseEvent) => void) | undefined;
269
- onMousedown?: ((payload: MouseEvent) => void) | undefined;
270
- onMouseenter?: ((payload: MouseEvent) => void) | undefined;
271
- onMouseleave?: ((payload: MouseEvent) => void) | undefined;
272
- onMousemove?: ((payload: MouseEvent) => void) | undefined;
273
- onMouseout?: ((payload: MouseEvent) => void) | undefined;
274
- onMouseover?: ((payload: MouseEvent) => void) | undefined;
275
- onMouseup?: ((payload: MouseEvent) => void) | undefined;
276
- onAbort?: ((payload: UIEvent) => void) | undefined;
277
- onCanplay?: ((payload: Event) => void) | undefined;
278
- onCanplaythrough?: ((payload: Event) => void) | undefined;
279
- onDurationchange?: ((payload: Event) => void) | undefined;
280
- onEmptied?: ((payload: Event) => void) | undefined;
281
- onEncrypted?: ((payload: MediaEncryptedEvent) => void) | undefined;
282
- onEnded?: ((payload: Event) => void) | undefined;
283
- onLoadeddata?: ((payload: Event) => void) | undefined;
284
- onLoadedmetadata?: ((payload: Event) => void) | undefined;
285
- onLoadstart?: ((payload: Event) => void) | undefined;
286
- onPause?: ((payload: Event) => void) | undefined;
287
- onPlay?: ((payload: Event) => void) | undefined;
288
- onPlaying?: ((payload: Event) => void) | undefined;
289
- onProgress?: ((payload: ProgressEvent<EventTarget>) => void) | undefined;
290
- onRatechange?: ((payload: Event) => void) | undefined;
291
- onSeeked?: ((payload: Event) => void) | undefined;
292
- onSeeking?: ((payload: Event) => void) | undefined;
293
- onStalled?: ((payload: Event) => void) | undefined;
294
- onSuspend?: ((payload: Event) => void) | undefined;
295
- onTimeupdate?: ((payload: Event) => void) | undefined;
296
- onVolumechange?: ((payload: Event) => void) | undefined;
297
- onWaiting?: ((payload: Event) => void) | undefined;
298
- onSelect?: ((payload: Event) => void) | undefined;
299
- onScroll?: ((payload: Event) => void) | undefined;
300
- onScrollend?: ((payload: Event) => void) | undefined;
301
- onTouchcancel?: ((payload: TouchEvent) => void) | undefined;
302
- onTouchend?: ((payload: TouchEvent) => void) | undefined;
303
- onTouchmove?: ((payload: TouchEvent) => void) | undefined;
304
- onTouchstart?: ((payload: TouchEvent) => void) | undefined;
305
- onAuxclick?: ((payload: PointerEvent) => void) | undefined;
306
- onClick?: ((payload: PointerEvent) => void) | undefined;
307
- onContextmenu?: ((payload: PointerEvent) => void) | undefined;
308
- onGotpointercapture?: ((payload: PointerEvent) => void) | undefined;
309
- onLostpointercapture?: ((payload: PointerEvent) => void) | undefined;
310
- onPointerdown?: ((payload: PointerEvent) => void) | undefined;
311
- onPointermove?: ((payload: PointerEvent) => void) | undefined;
312
- onPointerup?: ((payload: PointerEvent) => void) | undefined;
313
- onPointercancel?: ((payload: PointerEvent) => void) | undefined;
314
- onPointerenter?: ((payload: PointerEvent) => void) | undefined;
315
- onPointerleave?: ((payload: PointerEvent) => void) | undefined;
316
- onPointerover?: ((payload: PointerEvent) => void) | undefined;
317
- onPointerout?: ((payload: PointerEvent) => void) | undefined;
318
- onBeforetoggle?: ((payload: ToggleEvent) => void) | undefined;
319
- onToggle?: ((payload: ToggleEvent) => void) | undefined;
320
- onWheel?: ((payload: WheelEvent) => void) | undefined;
321
- onAnimationcancel?: ((payload: AnimationEvent) => void) | undefined;
322
- onAnimationstart?: ((payload: AnimationEvent) => void) | undefined;
323
- onAnimationend?: ((payload: AnimationEvent) => void) | undefined;
324
- onAnimationiteration?: ((payload: AnimationEvent) => void) | undefined;
325
- onSecuritypolicyviolation?: ((payload: SecurityPolicyViolationEvent) => void) | undefined;
326
- onTransitioncancel?: ((payload: TransitionEvent) => void) | undefined;
327
- onTransitionend?: ((payload: TransitionEvent) => void) | undefined;
328
- onTransitionrun?: ((payload: TransitionEvent) => void) | undefined;
329
- onTransitionstart?: ((payload: TransitionEvent) => void) | undefined;
330
- innerHTML?: string | undefined | undefined;
331
- color?: string | undefined | undefined;
332
- id?: string | undefined | undefined;
333
- lang?: string | undefined | undefined;
334
- tabindex?: (string | number) | undefined;
335
- 'aria-activedescendant'?: string | undefined | undefined;
336
- 'aria-atomic'?: (boolean | "true" | "false") | undefined;
337
- 'aria-autocomplete'?: "none" | "inline" | "list" | "both" | undefined | undefined;
338
- 'aria-busy'?: (boolean | "true" | "false") | undefined;
339
- 'aria-checked'?: (boolean | "true" | "false") | "mixed" | undefined;
340
- 'aria-colcount'?: (string | number) | undefined;
341
- 'aria-colindex'?: (string | number) | undefined;
342
- 'aria-colspan'?: (string | number) | undefined;
343
- 'aria-controls'?: string | undefined | undefined;
344
- 'aria-current'?: "page" | "time" | (boolean | "true" | "false") | "step" | "location" | "date" | undefined;
345
- 'aria-describedby'?: string | undefined | undefined;
346
- 'aria-details'?: string | undefined | undefined;
347
- 'aria-disabled'?: (boolean | "true" | "false") | undefined;
348
- 'aria-dropeffect'?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined | undefined;
349
- 'aria-errormessage'?: string | undefined | undefined;
350
- 'aria-expanded'?: (boolean | "true" | "false") | undefined;
351
- 'aria-flowto'?: string | undefined | undefined;
352
- 'aria-grabbed'?: (boolean | "true" | "false") | undefined;
353
- 'aria-haspopup'?: "grid" | "tree" | "dialog" | "menu" | (boolean | "true" | "false") | "listbox" | undefined;
354
- 'aria-invalid'?: (boolean | "true" | "false") | "grammar" | "spelling" | undefined;
355
- 'aria-keyshortcuts'?: string | undefined | undefined;
356
- 'aria-labelledby'?: string | undefined | undefined;
357
- 'aria-level'?: (string | number) | undefined;
358
- 'aria-live'?: "off" | "assertive" | "polite" | undefined | undefined;
359
- 'aria-modal'?: (boolean | "true" | "false") | undefined;
360
- 'aria-multiline'?: (boolean | "true" | "false") | undefined;
361
- 'aria-multiselectable'?: (boolean | "true" | "false") | undefined;
362
- 'aria-orientation'?: "horizontal" | "vertical" | undefined | undefined;
363
- 'aria-owns'?: string | undefined | undefined;
364
- 'aria-placeholder'?: string | undefined | undefined;
365
- 'aria-posinset'?: (string | number) | undefined;
366
- 'aria-pressed'?: (boolean | "true" | "false") | "mixed" | undefined;
367
- 'aria-readonly'?: (boolean | "true" | "false") | undefined;
368
- 'aria-relevant'?: "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined | undefined;
369
- 'aria-required'?: (boolean | "true" | "false") | undefined;
370
- 'aria-roledescription'?: string | undefined | undefined;
371
- 'aria-rowcount'?: (string | number) | undefined;
372
- 'aria-rowindex'?: (string | number) | undefined;
373
- 'aria-rowspan'?: (string | number) | undefined;
374
- 'aria-selected'?: (boolean | "true" | "false") | undefined;
375
- 'aria-setsize'?: (string | number) | undefined;
376
- 'aria-sort'?: "none" | "ascending" | "descending" | "other" | undefined | undefined;
377
- 'aria-valuemax'?: (string | number) | undefined;
378
- 'aria-valuemin'?: (string | number) | undefined;
379
- 'aria-valuenow'?: (string | number) | undefined;
380
- 'aria-valuetext'?: string | undefined | undefined;
381
- ref?: import("vue").VNodeRef | undefined;
382
- ref_for?: boolean | undefined | undefined;
383
- ref_key?: string | undefined | undefined;
384
- accesskey?: string | undefined | undefined;
385
- contenteditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
386
- contextmenu?: string | undefined | undefined;
387
- dir?: string | undefined | undefined;
388
- draggable?: (boolean | "true" | "false") | undefined;
389
- enterkeyhint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
390
- enterKeyHint?: "search" | "done" | "previous" | "next" | "enter" | "go" | "send" | undefined;
391
- hidden?: "" | (boolean | "true" | "false") | "hidden" | "until-found" | undefined;
392
- inert?: (boolean | "true" | "false") | undefined;
393
- spellcheck?: (boolean | "true" | "false") | undefined;
394
- translate?: "yes" | "no" | undefined | undefined;
395
- radiogroup?: string | undefined | undefined;
396
- about?: string | undefined | undefined;
397
- datatype?: string | undefined | undefined;
398
- inlist?: any;
399
- property?: string | undefined | undefined;
400
- resource?: string | undefined | undefined;
401
- typeof?: string | undefined | undefined;
402
- vocab?: string | undefined | undefined;
403
- autocapitalize?: string | undefined | undefined;
404
- autocorrect?: string | undefined | undefined;
405
- autosave?: string | undefined | undefined;
406
- itemprop?: string | undefined | undefined;
407
- itemscope?: (boolean | "true" | "false") | undefined;
408
- itemtype?: string | undefined | undefined;
409
- itemid?: string | undefined | undefined;
410
- itemref?: string | undefined | undefined;
411
- security?: string | undefined | undefined;
412
- unselectable?: "on" | "off" | undefined | undefined;
413
- inputmode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined | undefined;
414
- is?: string | undefined | undefined;
415
- exportparts?: string | undefined;
416
- part?: string | undefined;
417
- popover?: (import("../../index.ts").PopoverMode | "" | boolean) | undefined;
418
- }> & Readonly<{
419
- "onUpdate:modelValue"?: ((value: string | number | (string | number)[] | null) => any) | undefined;
420
- }>, {
421
- size: "sm" | "md";
422
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
423
- declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
424
43
  declare const _default: typeof __VLS_export;
425
44
  export default _default;
426
- type __VLS_WithSlots<T, S> = T & {
427
- new (): {
428
- $slots: S;
429
- };
430
- };
45
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
46
+ [K in keyof T]: T[K];
47
+ } : {
48
+ [K in keyof T as K]: T[K];
49
+ }) & {};