@xleddyl/443-components-vue 0.8.2 → 0.8.4

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 (67) hide show
  1. package/README.md +41 -22
  2. package/dist/components/core/FormField.vue +5 -0
  3. package/dist/components/core/FormField.vue.d.ts +4 -0
  4. package/dist/components/core/Input.vue +59 -5
  5. package/dist/components/core/Input.vue.d.ts +8 -4
  6. package/dist/components/core/Textarea.vue +28 -3
  7. package/dist/components/core/Textarea.vue.d.ts +6 -4
  8. package/dist/components/data/DescriptionList.vue.d.ts +1 -1
  9. package/dist/components/data/Pagination.vue +8 -2
  10. package/dist/components/data/Pagination.vue.d.ts +2 -0
  11. package/dist/components/forms/CheckboxGroup.vue +7 -1
  12. package/dist/components/forms/CheckboxGroup.vue.d.ts +1 -0
  13. package/dist/components/forms/ColorInput.vue.d.ts +4 -4
  14. package/dist/components/forms/Combobox.vue +4 -3
  15. package/dist/components/forms/Combobox.vue.d.ts +1 -0
  16. package/dist/components/forms/DateInput.vue.d.ts +8 -4
  17. package/dist/components/forms/NumberInput.vue.d.ts +4 -4
  18. package/dist/components/forms/PasswordInput.vue.d.ts +8 -4
  19. package/dist/components/forms/PinInput.vue.d.ts +4 -4
  20. package/dist/components/forms/Select.vue +21 -2
  21. package/dist/components/forms/Select.vue.d.ts +3 -3
  22. package/dist/components/forms/Slider.vue.d.ts +4 -4
  23. package/dist/components/forms/TimeInput.vue.d.ts +8 -4
  24. package/dist/components/layout/Card.vue.d.ts +1 -1
  25. package/dist/components/layout/Separator.vue +22 -7
  26. package/dist/components/layout/Separator.vue.d.ts +14 -4
  27. package/dist/components/layout/types.d.ts +1 -0
  28. package/dist/components/overlays/ConfirmDialog.vue.d.ts +4 -4
  29. package/dist/components/overlays/ConfirmHost.vue.d.ts +4 -4
  30. package/dist/components/overlays/ContextMenu.vue.d.ts +2 -2
  31. package/dist/components/overlays/DropdownMenu.vue.d.ts +2 -2
  32. package/dist/components/overlays/types.d.ts +2 -2
  33. package/dist/components/templates/SettingsModal.vue.d.ts +4 -4
  34. package/dist/composables/useForm.d.ts +9 -2
  35. package/dist/composables/useForm.mjs +75 -13
  36. package/dist/composables/useOverlay.d.ts +1 -1
  37. package/dist/editor/RichTextEditor.vue +95 -9
  38. package/dist/editor/RichTextEditor.vue.d.ts +4 -1
  39. package/dist/editor/rich-text-editor.css +21 -0
  40. package/dist/editor/types.d.ts +1 -0
  41. package/dist/grid/DataGrid.vue +48 -18
  42. package/dist/grid/DataGrid.vue.d.ts +6 -1
  43. package/dist/grid/cells/DateCell.vue +7 -2
  44. package/dist/grid/cells/ImageCell.vue +6 -1
  45. package/dist/grid/data-grid.css +16 -2
  46. package/dist/grid/index.d.ts +2 -1
  47. package/dist/grid/index.mjs +6 -1
  48. package/dist/grid/modules.d.ts +1 -0
  49. package/dist/grid/modules.mjs +23 -0
  50. package/dist/grid/theme.mjs +1 -1
  51. package/dist/grid/types.d.ts +4 -0
  52. package/dist/internal/forms/counter.d.ts +18 -0
  53. package/dist/internal/forms/counter.mjs +31 -0
  54. package/dist/internal/overlays/OverlayView.vue.d.ts +4 -4
  55. package/dist/locale/de.mjs +11 -1
  56. package/dist/locale/en.mjs +11 -1
  57. package/dist/locale/it.mjs +11 -1
  58. package/dist/locale/types.d.ts +10 -0
  59. package/dist/styles/core/button.css +12 -6
  60. package/dist/styles/core/form-field.css +6 -0
  61. package/dist/styles/core/input.css +29 -0
  62. package/dist/styles/core/textarea.css +10 -0
  63. package/dist/styles/forms/calendar.css +8 -8
  64. package/dist/styles/forms/choice.css +6 -0
  65. package/dist/styles/layout/separator.css +49 -0
  66. package/dist/styles/shared.css +2 -1
  67. package/package.json +1 -1
@@ -8,6 +8,7 @@ declare const __VLS_export: <T extends string | number, M extends T | T[] | null
8
8
  search?: ComboboxSearch<T>;
9
9
  filter?: (option: ComboboxOption<T>, query: string) => boolean;
10
10
  multiple?: boolean;
11
+ hideTags?: boolean;
11
12
  creatable?: boolean | ComboboxCreate<T>;
12
13
  debounce?: number;
13
14
  minQueryLength?: number;
@@ -131,6 +131,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
131
131
  lang?: string | undefined;
132
132
  width?: (string | number) | undefined;
133
133
  tabindex?: (string | number) | undefined;
134
+ transform?: (value: string) => string;
134
135
  'aria-activedescendant'?: string | undefined;
135
136
  'aria-atomic'?: (boolean | "true" | "false") | undefined;
136
137
  'aria-autocomplete'?: "none" | "inline" | "list" | "both" | undefined;
@@ -229,16 +230,17 @@ declare const __VLS_export: import("vue").DefineComponent<{
229
230
  onVnodeBeforeUnmount?: (((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[]) | undefined;
230
231
  onVnodeUnmounted?: (((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[]) | undefined;
231
232
  autocomplete?: import("vue").InputAutoCompleteAttribute | undefined;
233
+ maxlength?: (string | number) | undefined;
232
234
  clearLabel?: string;
233
235
  noAutofill?: boolean;
236
+ counter?: boolean;
234
237
  onClear?: (() => any) | undefined;
238
+ multiple?: (boolean | "true" | "false") | undefined;
235
239
  accept?: string | undefined;
236
240
  alt?: string | undefined;
237
241
  capture?: boolean | "user" | "environment" | undefined;
238
242
  crossorigin?: string | undefined;
239
- maxlength?: (string | number) | undefined;
240
243
  minlength?: (string | number) | undefined;
241
- multiple?: (boolean | "true" | "false") | undefined;
242
244
  src?: string | undefined;
243
245
  onCancel?: ((payload: Event) => void) | undefined;
244
246
  modelModifiers?: Partial<Record<"number" | "trim", true>>;
@@ -376,6 +378,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
376
378
  lang?: string | undefined;
377
379
  width?: (string | number) | undefined;
378
380
  tabindex?: (string | number) | undefined;
381
+ transform?: (value: string) => string;
379
382
  'aria-activedescendant'?: string | undefined;
380
383
  'aria-atomic'?: (boolean | "true" | "false") | undefined;
381
384
  'aria-autocomplete'?: "none" | "inline" | "list" | "both" | undefined;
@@ -474,16 +477,17 @@ declare const __VLS_export: import("vue").DefineComponent<{
474
477
  onVnodeBeforeUnmount?: (((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[]) | undefined;
475
478
  onVnodeUnmounted?: (((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[]) | undefined;
476
479
  autocomplete?: import("vue").InputAutoCompleteAttribute | undefined;
480
+ maxlength?: (string | number) | undefined;
477
481
  clearLabel?: string;
478
482
  noAutofill?: boolean;
483
+ counter?: boolean;
479
484
  onClear?: (() => any) | undefined;
485
+ multiple?: (boolean | "true" | "false") | undefined;
480
486
  accept?: string | undefined;
481
487
  alt?: string | undefined;
482
488
  capture?: boolean | "user" | "environment" | undefined;
483
489
  crossorigin?: string | undefined;
484
- maxlength?: (string | number) | undefined;
485
490
  minlength?: (string | number) | undefined;
486
- multiple?: (boolean | "true" | "false") | undefined;
487
491
  src?: string | undefined;
488
492
  onCancel?: ((payload: Event) => void) | undefined;
489
493
  modelModifiers?: Partial<Record<"number" | "trim", true>>;
@@ -230,13 +230,13 @@ declare const __VLS_export: import("vue").DefineComponent<{
230
230
  popovertarget?: string | undefined;
231
231
  popovertargetaction?: import("../../index.ts").PopoverTargetAction | undefined;
232
232
  autocomplete?: import("vue").InputAutoCompleteAttribute | undefined;
233
+ maxlength?: (string | number) | undefined;
234
+ multiple?: (boolean | "true" | "false") | undefined;
233
235
  accept?: string | undefined | undefined;
234
236
  alt?: string | undefined | undefined;
235
237
  capture?: boolean | "user" | "environment" | undefined | undefined;
236
238
  crossorigin?: string | undefined | undefined;
237
- maxlength?: (string | number) | undefined;
238
239
  minlength?: (string | number) | undefined;
239
- multiple?: (boolean | "true" | "false") | undefined;
240
240
  src?: string | undefined | undefined;
241
241
  onCancel?: ((payload: Event) => void) | undefined;
242
242
  }, {
@@ -474,13 +474,13 @@ declare const __VLS_export: import("vue").DefineComponent<{
474
474
  popovertarget?: string | undefined;
475
475
  popovertargetaction?: import("../../index.ts").PopoverTargetAction | undefined;
476
476
  autocomplete?: import("vue").InputAutoCompleteAttribute | undefined;
477
+ maxlength?: (string | number) | undefined;
478
+ multiple?: (boolean | "true" | "false") | undefined;
477
479
  accept?: string | undefined | undefined;
478
480
  alt?: string | undefined | undefined;
479
481
  capture?: boolean | "user" | "environment" | undefined | undefined;
480
482
  crossorigin?: string | undefined | undefined;
481
- maxlength?: (string | number) | undefined;
482
483
  minlength?: (string | number) | undefined;
483
- multiple?: (boolean | "true" | "false") | undefined;
484
484
  src?: string | undefined | undefined;
485
485
  onCancel?: ((payload: Event) => void) | undefined;
486
486
  }> & Readonly<{
@@ -142,6 +142,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
142
142
  type?: string | undefined;
143
143
  width?: (string | number) | undefined;
144
144
  tabindex?: (string | number) | undefined;
145
+ transform?: (value: string) => string;
145
146
  'aria-activedescendant'?: string | undefined;
146
147
  'aria-atomic'?: (boolean | "true" | "false") | undefined;
147
148
  'aria-autocomplete'?: "none" | "inline" | "list" | "both" | undefined;
@@ -240,17 +241,18 @@ declare const __VLS_export: import("vue").DefineComponent<{
240
241
  onVnodeUpdated?: (((vnode: import("vue").VNode, oldVNode: import("vue").VNode) => void) | ((vnode: import("vue").VNode, oldVNode: import("vue").VNode) => void)[]) | undefined;
241
242
  onVnodeBeforeUnmount?: (((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[]) | undefined;
242
243
  onVnodeUnmounted?: (((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[]) | undefined;
244
+ maxlength?: (string | number) | undefined;
243
245
  clearable?: boolean;
244
246
  clearLabel?: string;
245
247
  noAutofill?: boolean;
248
+ counter?: boolean;
246
249
  onClear?: (() => any) | undefined;
250
+ multiple?: (boolean | "true" | "false") | undefined;
247
251
  accept?: string | undefined;
248
252
  alt?: string | undefined;
249
253
  capture?: boolean | "user" | "environment" | undefined;
250
254
  crossorigin?: string | undefined;
251
- maxlength?: (string | number) | undefined;
252
255
  minlength?: (string | number) | undefined;
253
- multiple?: (boolean | "true" | "false") | undefined;
254
256
  src?: string | undefined;
255
257
  onCancel?: ((payload: Event) => void) | undefined;
256
258
  modelModifiers?: Partial<Record<"number" | "trim", true>>;
@@ -401,6 +403,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
401
403
  type?: string | undefined;
402
404
  width?: (string | number) | undefined;
403
405
  tabindex?: (string | number) | undefined;
406
+ transform?: (value: string) => string;
404
407
  'aria-activedescendant'?: string | undefined;
405
408
  'aria-atomic'?: (boolean | "true" | "false") | undefined;
406
409
  'aria-autocomplete'?: "none" | "inline" | "list" | "both" | undefined;
@@ -499,17 +502,18 @@ declare const __VLS_export: import("vue").DefineComponent<{
499
502
  onVnodeUpdated?: (((vnode: import("vue").VNode, oldVNode: import("vue").VNode) => void) | ((vnode: import("vue").VNode, oldVNode: import("vue").VNode) => void)[]) | undefined;
500
503
  onVnodeBeforeUnmount?: (((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[]) | undefined;
501
504
  onVnodeUnmounted?: (((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[]) | undefined;
505
+ maxlength?: (string | number) | undefined;
502
506
  clearable?: boolean;
503
507
  clearLabel?: string;
504
508
  noAutofill?: boolean;
509
+ counter?: boolean;
505
510
  onClear?: (() => any) | undefined;
511
+ multiple?: (boolean | "true" | "false") | undefined;
506
512
  accept?: string | undefined;
507
513
  alt?: string | undefined;
508
514
  capture?: boolean | "user" | "environment" | undefined;
509
515
  crossorigin?: string | undefined;
510
- maxlength?: (string | number) | undefined;
511
516
  minlength?: (string | number) | undefined;
512
- multiple?: (boolean | "true" | "false") | undefined;
513
517
  src?: string | undefined;
514
518
  onCancel?: ((payload: Event) => void) | undefined;
515
519
  modelModifiers?: Partial<Record<"number" | "trim", true>>;
@@ -229,13 +229,13 @@ declare const __VLS_export: import("vue").DefineComponent<{
229
229
  formtarget?: string | undefined | undefined;
230
230
  popovertarget?: string | undefined;
231
231
  popovertargetaction?: import("../..").PopoverTargetAction | undefined;
232
+ maxlength?: (string | number) | undefined;
233
+ multiple?: (boolean | "true" | "false") | undefined;
232
234
  accept?: string | undefined | undefined;
233
235
  alt?: string | undefined | undefined;
234
236
  capture?: boolean | "user" | "environment" | undefined | undefined;
235
237
  crossorigin?: string | undefined | undefined;
236
- maxlength?: (string | number) | undefined;
237
238
  minlength?: (string | number) | undefined;
238
- multiple?: (boolean | "true" | "false") | undefined;
239
239
  src?: string | undefined | undefined;
240
240
  onCancel?: ((payload: Event) => void) | undefined;
241
241
  }, {
@@ -474,13 +474,13 @@ declare const __VLS_export: import("vue").DefineComponent<{
474
474
  formtarget?: string | undefined | undefined;
475
475
  popovertarget?: string | undefined;
476
476
  popovertargetaction?: import("../..").PopoverTargetAction | undefined;
477
+ maxlength?: (string | number) | undefined;
478
+ multiple?: (boolean | "true" | "false") | undefined;
477
479
  accept?: string | undefined | undefined;
478
480
  alt?: string | undefined | undefined;
479
481
  capture?: boolean | "user" | "environment" | undefined | undefined;
480
482
  crossorigin?: string | undefined | undefined;
481
- maxlength?: (string | number) | undefined;
482
483
  minlength?: (string | number) | undefined;
483
- multiple?: (boolean | "true" | "false") | undefined;
484
484
  src?: string | undefined | undefined;
485
485
  onCancel?: ((payload: Event) => void) | undefined;
486
486
  }> & Readonly<{
@@ -41,6 +41,7 @@
41
41
  v-for="option in entry.options"
42
42
  :key="keyOf(option.value)"
43
43
  :value="keyOf(option.value)"
44
+ :data-k-option="indexOf(option)"
44
45
  :disabled="option.disabled"
45
46
  :selected="isSelected(option.value)"
46
47
  >
@@ -50,6 +51,7 @@
50
51
  <option
51
52
  v-else
52
53
  :value="keyOf(entry.value)"
54
+ :data-k-option="indexOf(entry)"
53
55
  :disabled="entry.disabled"
54
56
  :selected="isSelected(entry.value)"
55
57
  >
@@ -89,8 +91,12 @@ const control = useFieldControl({
89
91
  const flatOptions = computed(
90
92
  () => props.options.flatMap((entry) => isGroup(entry) ? entry.options : [entry])
91
93
  );
94
+ const optionIndex = computed(
95
+ () => new Map(flatOptions.value.map((option, index) => [option, index]))
96
+ );
97
+ const hasEmptyOption = computed(() => flatOptions.value.some((option) => option.value === ""));
92
98
  const isEmpty = computed(
93
- () => model.value === null || model.value === void 0 || model.value === ""
99
+ () => model.value === null || model.value === void 0 || model.value === "" && !hasEmptyOption.value
94
100
  );
95
101
  function isGroup(entry) {
96
102
  return "options" in entry && Array.isArray(entry.options);
@@ -101,8 +107,21 @@ function keyOf(value) {
101
107
  function isSelected(value) {
102
108
  return !isEmpty.value && keyOf(value) === keyOf(model.value);
103
109
  }
110
+ function indexOf(option) {
111
+ return optionIndex.value.get(option);
112
+ }
104
113
  function onChange(event) {
105
- const raw = event.target.value;
114
+ const select = event.target;
115
+ const chosen = select.selectedOptions[0];
116
+ const index = chosen?.dataset.kOption;
117
+ if (index !== void 0) {
118
+ const match2 = flatOptions.value[Number(index)];
119
+ if (match2) {
120
+ model.value = match2.value;
121
+ return;
122
+ }
123
+ }
124
+ const raw = select.value;
106
125
  if (raw === "" && props.placeholder !== void 0) {
107
126
  model.value = null;
108
127
  return;
@@ -13,9 +13,9 @@ declare const __VLS_export: <T extends string | number | boolean>(__VLS_props: N
13
13
  class?: unknown;
14
14
  style?: unknown;
15
15
  } & {
16
- modelValue?: T | string | null | undefined;
16
+ modelValue?: T | null | undefined;
17
17
  }) & {
18
- "onUpdate:modelValue"?: ((value: string | T | null | undefined) => any) | undefined;
18
+ "onUpdate:modelValue"?: ((value: T | null | undefined) => any) | undefined;
19
19
  } & Partial<import("vue").SelectHTMLAttributes & import("vue").ReservedProps>> & (typeof globalThis extends {
20
20
  __VLS_PROPS_FALLBACK: infer P;
21
21
  } ? P : {});
@@ -27,7 +27,7 @@ declare const __VLS_export: <T extends string | number | boolean>(__VLS_props: N
27
27
  slots: {
28
28
  default?: (props: {}) => any;
29
29
  };
30
- emit: (event: "update:modelValue", value: string | T | null | undefined) => void;
30
+ emit: (event: "update:modelValue", value: T | null | undefined) => void;
31
31
  }>) => import("vue").VNode & {
32
32
  __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
33
33
  };
@@ -224,13 +224,13 @@ declare const __VLS_export: import("vue").DefineComponent<{
224
224
  popovertarget?: string | undefined;
225
225
  popovertargetaction?: import("../..").PopoverTargetAction | undefined;
226
226
  autocomplete?: import("vue").InputAutoCompleteAttribute | undefined;
227
+ maxlength?: (string | number) | undefined;
228
+ multiple?: (boolean | "true" | "false") | undefined;
227
229
  accept?: string | undefined | undefined;
228
230
  alt?: string | undefined | undefined;
229
231
  capture?: boolean | "user" | "environment" | undefined | undefined;
230
232
  crossorigin?: string | undefined | undefined;
231
- maxlength?: (string | number) | undefined;
232
233
  minlength?: (string | number) | undefined;
233
- multiple?: (boolean | "true" | "false") | undefined;
234
234
  src?: string | undefined | undefined;
235
235
  onCancel?: ((payload: Event) => void) | undefined;
236
236
  }, {
@@ -463,13 +463,13 @@ declare const __VLS_export: import("vue").DefineComponent<{
463
463
  popovertarget?: string | undefined;
464
464
  popovertargetaction?: import("../..").PopoverTargetAction | undefined;
465
465
  autocomplete?: import("vue").InputAutoCompleteAttribute | undefined;
466
+ maxlength?: (string | number) | undefined;
467
+ multiple?: (boolean | "true" | "false") | undefined;
466
468
  accept?: string | undefined | undefined;
467
469
  alt?: string | undefined | undefined;
468
470
  capture?: boolean | "user" | "environment" | undefined | undefined;
469
471
  crossorigin?: string | undefined | undefined;
470
- maxlength?: (string | number) | undefined;
471
472
  minlength?: (string | number) | undefined;
472
- multiple?: (boolean | "true" | "false") | undefined;
473
473
  src?: string | undefined | undefined;
474
474
  onCancel?: ((payload: Event) => void) | undefined;
475
475
  }> & Readonly<{
@@ -132,6 +132,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
132
132
  type?: string | undefined;
133
133
  width?: (string | number) | undefined;
134
134
  tabindex?: (string | number) | undefined;
135
+ transform?: (value: string) => string;
135
136
  'aria-activedescendant'?: string | undefined;
136
137
  'aria-atomic'?: (boolean | "true" | "false") | undefined;
137
138
  'aria-autocomplete'?: "none" | "inline" | "list" | "both" | undefined;
@@ -230,16 +231,17 @@ declare const __VLS_export: import("vue").DefineComponent<{
230
231
  onVnodeBeforeUnmount?: (((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[]) | undefined;
231
232
  onVnodeUnmounted?: (((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[]) | undefined;
232
233
  autocomplete?: import("vue").InputAutoCompleteAttribute | undefined;
234
+ maxlength?: (string | number) | undefined;
233
235
  clearLabel?: string;
234
236
  noAutofill?: boolean;
237
+ counter?: boolean;
235
238
  onClear?: (() => any) | undefined;
239
+ multiple?: (boolean | "true" | "false") | undefined;
236
240
  accept?: string | undefined;
237
241
  alt?: string | undefined;
238
242
  capture?: boolean | "user" | "environment" | undefined;
239
243
  crossorigin?: string | undefined;
240
- maxlength?: (string | number) | undefined;
241
244
  minlength?: (string | number) | undefined;
242
- multiple?: (boolean | "true" | "false") | undefined;
243
245
  src?: string | undefined;
244
246
  onCancel?: ((payload: Event) => void) | undefined;
245
247
  modelModifiers?: Partial<Record<"number" | "trim", true>>;
@@ -378,6 +380,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
378
380
  type?: string | undefined;
379
381
  width?: (string | number) | undefined;
380
382
  tabindex?: (string | number) | undefined;
383
+ transform?: (value: string) => string;
381
384
  'aria-activedescendant'?: string | undefined;
382
385
  'aria-atomic'?: (boolean | "true" | "false") | undefined;
383
386
  'aria-autocomplete'?: "none" | "inline" | "list" | "both" | undefined;
@@ -476,16 +479,17 @@ declare const __VLS_export: import("vue").DefineComponent<{
476
479
  onVnodeBeforeUnmount?: (((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[]) | undefined;
477
480
  onVnodeUnmounted?: (((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[]) | undefined;
478
481
  autocomplete?: import("vue").InputAutoCompleteAttribute | undefined;
482
+ maxlength?: (string | number) | undefined;
479
483
  clearLabel?: string;
480
484
  noAutofill?: boolean;
485
+ counter?: boolean;
481
486
  onClear?: (() => any) | undefined;
487
+ multiple?: (boolean | "true" | "false") | undefined;
482
488
  accept?: string | undefined;
483
489
  alt?: string | undefined;
484
490
  capture?: boolean | "user" | "environment" | undefined;
485
491
  crossorigin?: string | undefined;
486
- maxlength?: (string | number) | undefined;
487
492
  minlength?: (string | number) | undefined;
488
- multiple?: (boolean | "true" | "false") | undefined;
489
493
  src?: string | undefined;
490
494
  onCancel?: ((payload: Event) => void) | undefined;
491
495
  modelModifiers?: Partial<Record<"number" | "trim", true>>;
@@ -463,8 +463,8 @@ declare const __VLS_base: import("vue").DefineComponent<{
463
463
  selected: boolean;
464
464
  variant: CardVariant;
465
465
  as: string;
466
- level: HeadingLevel;
467
466
  padding: CardPadding;
467
+ level: HeadingLevel;
468
468
  animated: boolean;
469
469
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
470
470
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -1,18 +1,29 @@
1
1
  <template>
2
2
  <div
3
3
  class="k-separator"
4
- :class="[`k-separator-${orientation}`, { 'has-label': hasContent }]"
4
+ :class="[
5
+ `k-separator-${orientation}`,
6
+ { 'k-separator-heading': isHeading, 'has-label': hasContent, 'no-lines': !lines }
7
+ ]"
5
8
  :role="plain ? 'none' : 'separator'"
6
9
  :aria-orientation="!plain && orientation === 'vertical' ? 'vertical' : void 0"
7
10
  >
8
- <span v-if="hasText" class="k-separator-text">
9
- <span v-if="label || $slots.default" class="k-separator-label">
11
+ <component :is="isHeading ? 'div' : 'span'" v-if="hasText" class="k-separator-text">
12
+ <component
13
+ :is="isHeading ? `h${level}` : 'span'"
14
+ v-if="label || $slots.default"
15
+ class="k-separator-label"
16
+ >
10
17
  <slot>{{ label }}</slot>
11
- </span>
12
- <span v-if="description || $slots.description" class="k-separator-description">
18
+ </component>
19
+ <component
20
+ :is="isHeading ? 'p' : 'span'"
21
+ v-if="description || $slots.description"
22
+ class="k-separator-description"
23
+ >
13
24
  <slot name="description">{{ description }}</slot>
14
- </span>
15
- </span>
25
+ </component>
26
+ </component>
16
27
  <span v-if="$slots.actions" class="k-separator-actions">
17
28
  <slot name="actions" />
18
29
  </span>
@@ -23,6 +34,9 @@
23
34
  import { computed, useSlots } from "vue";
24
35
  const props = defineProps({
25
36
  orientation: { type: String, required: false, default: "horizontal" },
37
+ variant: { type: String, required: false, default: "label" },
38
+ lines: { type: Boolean, required: false, default: true },
39
+ level: { type: Number, required: false, default: 3 },
26
40
  label: { type: String, required: false },
27
41
  description: { type: String, required: false },
28
42
  decorative: { type: Boolean, required: false }
@@ -32,5 +46,6 @@ const hasText = computed(
32
46
  () => Boolean(props.label || slots.default || props.description || slots.description)
33
47
  );
34
48
  const hasContent = computed(() => Boolean(hasText.value || slots.actions));
49
+ const isHeading = computed(() => props.variant === "heading" && props.orientation === "horizontal");
35
50
  const plain = computed(() => props.decorative || hasContent.value);
36
51
  </script>
@@ -1,13 +1,17 @@
1
- declare var __VLS_1: {}, __VLS_3: {}, __VLS_5: {};
1
+ import type { HeadingLevel, SeparatorVariant } from './types';
2
+ declare var __VLS_13: {}, __VLS_21: {}, __VLS_23: {};
2
3
  type __VLS_Slots = {} & {
3
- default?: (props: typeof __VLS_1) => any;
4
+ default?: (props: typeof __VLS_13) => any;
4
5
  } & {
5
- description?: (props: typeof __VLS_3) => any;
6
+ description?: (props: typeof __VLS_21) => any;
6
7
  } & {
7
- actions?: (props: typeof __VLS_5) => any;
8
+ actions?: (props: typeof __VLS_23) => any;
8
9
  };
9
10
  declare const __VLS_base: import("vue").DefineComponent<{
10
11
  orientation?: "horizontal" | "vertical";
12
+ variant?: SeparatorVariant;
13
+ lines?: boolean;
14
+ level?: HeadingLevel;
11
15
  label?: string;
12
16
  description?: string;
13
17
  decorative?: boolean;
@@ -205,6 +209,9 @@ declare const __VLS_base: import("vue").DefineComponent<{
205
209
  ref_key?: string | undefined | undefined;
206
210
  }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
207
211
  orientation?: "horizontal" | "vertical";
212
+ variant?: SeparatorVariant;
213
+ lines?: boolean;
214
+ level?: HeadingLevel;
208
215
  label?: string;
209
216
  description?: string;
210
217
  decorative?: boolean;
@@ -402,6 +409,9 @@ declare const __VLS_base: import("vue").DefineComponent<{
402
409
  ref_key?: string | undefined | undefined;
403
410
  }> & Readonly<{}>, {
404
411
  orientation: "horizontal" | "vertical";
412
+ variant: SeparatorVariant;
413
+ level: HeadingLevel;
414
+ lines: boolean;
405
415
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
406
416
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
407
417
  declare const _default: typeof __VLS_export;
@@ -45,6 +45,7 @@ export interface AccordionItem {
45
45
  export type AccordionVariant = 'separated' | 'plain' | 'card' | 'outline';
46
46
  export type AccordionContentVariant = 'text' | 'neutral';
47
47
  export type HeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
48
+ export type SeparatorVariant = 'label' | 'heading';
48
49
  export interface AppShellContext {
49
50
  sidebarId: string;
50
51
  collapsed: Readonly<{
@@ -26,6 +26,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
26
26
  style?: import("vue").StyleValue;
27
27
  results?: (string | number) | undefined;
28
28
  placeholder?: string | undefined;
29
+ flush?: boolean;
29
30
  dir?: string | undefined;
30
31
  class?: import("vue").ClassValue;
31
32
  role?: string | undefined;
@@ -220,9 +221,8 @@ declare const __VLS_base: import("vue").DefineComponent<{
220
221
  onVnodeUpdated?: (((vnode: import("vue").VNode, oldVNode: import("vue").VNode) => void) | ((vnode: import("vue").VNode, oldVNode: import("vue").VNode) => void)[]) | undefined;
221
222
  onVnodeBeforeUnmount?: (((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[]) | undefined;
222
223
  onVnodeUnmounted?: (((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[]) | undefined;
223
- flush?: boolean;
224
- onClose?: (() => any) | undefined;
225
224
  sheet?: boolean;
225
+ onClose?: (() => any) | undefined;
226
226
  onOpen?: (() => any) | undefined;
227
227
  closeLabel?: string;
228
228
  rootClass?: unknown;
@@ -256,6 +256,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
256
256
  style?: import("vue").StyleValue;
257
257
  results?: (string | number) | undefined;
258
258
  placeholder?: string | undefined;
259
+ flush?: boolean;
259
260
  dir?: string | undefined;
260
261
  class?: import("vue").ClassValue;
261
262
  role?: string | undefined;
@@ -450,9 +451,8 @@ declare const __VLS_base: import("vue").DefineComponent<{
450
451
  onVnodeUpdated?: (((vnode: import("vue").VNode, oldVNode: import("vue").VNode) => void) | ((vnode: import("vue").VNode, oldVNode: import("vue").VNode) => void)[]) | undefined;
451
452
  onVnodeBeforeUnmount?: (((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[]) | undefined;
452
453
  onVnodeUnmounted?: (((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[]) | undefined;
453
- flush?: boolean;
454
- onClose?: (() => any) | undefined;
455
454
  sheet?: boolean;
455
+ onClose?: (() => any) | undefined;
456
456
  onOpen?: (() => any) | undefined;
457
457
  closeLabel?: string;
458
458
  rootClass?: unknown;
@@ -16,6 +16,7 @@ declare const __VLS_export: import("vue").DefineComponent<Partial<NonNullable<{
16
16
  readonly style?: import("vue").StyleValue;
17
17
  readonly results?: (string | number) | undefined;
18
18
  readonly placeholder?: string | undefined | undefined;
19
+ readonly flush?: boolean | undefined;
19
20
  readonly dir?: string | undefined | undefined;
20
21
  readonly class?: import("vue").ClassValue;
21
22
  readonly role?: string | undefined | undefined;
@@ -210,9 +211,8 @@ declare const __VLS_export: import("vue").DefineComponent<Partial<NonNullable<{
210
211
  readonly onVnodeUpdated?: (((vnode: import("vue").VNode, oldVNode: import("vue").VNode) => void) | ((vnode: import("vue").VNode, oldVNode: import("vue").VNode) => void)[]) | undefined;
211
212
  readonly onVnodeBeforeUnmount?: (((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[]) | undefined;
212
213
  readonly onVnodeUnmounted?: (((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[]) | undefined;
213
- readonly flush?: boolean | undefined;
214
- readonly onClose?: (() => any) | undefined;
215
214
  readonly sheet?: boolean | undefined;
215
+ readonly onClose?: (() => any) | undefined;
216
216
  readonly onOpen?: (() => any) | undefined;
217
217
  readonly closeLabel?: string | undefined;
218
218
  readonly rootClass?: unknown;
@@ -242,6 +242,7 @@ declare const __VLS_export: import("vue").DefineComponent<Partial<NonNullable<{
242
242
  readonly style?: import("vue").StyleValue;
243
243
  readonly results?: (string | number) | undefined;
244
244
  readonly placeholder?: string | undefined | undefined;
245
+ readonly flush?: boolean | undefined;
245
246
  readonly dir?: string | undefined | undefined;
246
247
  readonly class?: import("vue").ClassValue;
247
248
  readonly role?: string | undefined | undefined;
@@ -436,9 +437,8 @@ declare const __VLS_export: import("vue").DefineComponent<Partial<NonNullable<{
436
437
  readonly onVnodeUpdated?: (((vnode: import("vue").VNode, oldVNode: import("vue").VNode) => void) | ((vnode: import("vue").VNode, oldVNode: import("vue").VNode) => void)[]) | undefined;
437
438
  readonly onVnodeBeforeUnmount?: (((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[]) | undefined;
438
439
  readonly onVnodeUnmounted?: (((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[]) | undefined;
439
- readonly flush?: boolean | undefined;
440
- readonly onClose?: (() => any) | undefined;
441
440
  readonly sheet?: boolean | undefined;
441
+ readonly onClose?: (() => any) | undefined;
442
442
  readonly onOpen?: (() => any) | undefined;
443
443
  readonly closeLabel?: string | undefined;
444
444
  readonly rootClass?: unknown;
@@ -12,7 +12,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
12
12
  open?: boolean;
13
13
  key?: PropertyKey | undefined;
14
14
  prefix?: string | undefined;
15
- anchor?: (() => import("../../internal/floating/position").AnchorTarget | null | undefined) | undefined;
15
+ anchor?: (() => import("./types").OverlayAnchorTarget | null | undefined) | undefined;
16
16
  title?: string | undefined;
17
17
  style?: import("vue").StyleValue;
18
18
  results?: (string | number) | undefined;
@@ -228,7 +228,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
228
228
  open?: boolean;
229
229
  key?: PropertyKey | undefined;
230
230
  prefix?: string | undefined;
231
- anchor?: (() => import("../../internal/floating/position").AnchorTarget | null | undefined) | undefined;
231
+ anchor?: (() => import("./types").OverlayAnchorTarget | null | undefined) | undefined;
232
232
  title?: string | undefined;
233
233
  style?: import("vue").StyleValue;
234
234
  results?: (string | number) | undefined;
@@ -15,7 +15,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
15
15
  open?: boolean;
16
16
  key?: PropertyKey | undefined;
17
17
  prefix?: string | undefined;
18
- anchor?: (() => import("../../internal/floating/position.ts").AnchorTarget | null | undefined) | undefined;
18
+ anchor?: (() => import("./types").OverlayAnchorTarget | null | undefined) | undefined;
19
19
  title?: string | undefined;
20
20
  style?: import("vue").StyleValue;
21
21
  results?: (string | number) | undefined;
@@ -232,7 +232,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
232
232
  open?: boolean;
233
233
  key?: PropertyKey | undefined;
234
234
  prefix?: string | undefined;
235
- anchor?: (() => import("../../internal/floating/position.ts").AnchorTarget | null | undefined) | undefined;
235
+ anchor?: (() => import("./types").OverlayAnchorTarget | null | undefined) | undefined;
236
236
  title?: string | undefined;
237
237
  style?: import("vue").StyleValue;
238
238
  results?: (string | number) | undefined;
@@ -1,7 +1,7 @@
1
1
  import type { LinkTarget } from '../core/types';
2
2
  import type { IconName } from '../../composables/useIcons';
3
- import type { Placement, Side } from '../../internal/floating/position';
4
- export type { Placement as OverlayPlacement, Side as OverlaySide };
3
+ import type { AnchorTarget, Placement, Side, VirtualAnchor } from '../../internal/floating/position';
4
+ export type { AnchorTarget as OverlayAnchorTarget, Placement as OverlayPlacement, Side as OverlaySide, VirtualAnchor as OverlayVirtualAnchor, };
5
5
  export type ModalSize = 'sm' | 'md' | 'lg' | 'xl' | 'full' | 'fit' | 'fullscreen';
6
6
  export type DialogCloseReason = 'escape' | 'backdrop' | 'close-button' | 'action';
7
7
  export type DialogBeforeClose = (reason: DialogCloseReason) => boolean | Promise<boolean>;
@@ -42,6 +42,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
42
42
  results?: (string | number) | undefined;
43
43
  placeholder?: string | undefined;
44
44
  description?: string;
45
+ flush?: boolean;
45
46
  dir?: string | undefined;
46
47
  class?: import("vue").ClassValue;
47
48
  role?: string | undefined;
@@ -236,9 +237,8 @@ declare const __VLS_base: import("vue").DefineComponent<{
236
237
  onVnodeUpdated?: (((vnode: import("vue").VNode, oldVNode: import("vue").VNode) => void) | ((vnode: import("vue").VNode, oldVNode: import("vue").VNode) => void)[]) | undefined;
237
238
  onVnodeBeforeUnmount?: (((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[]) | undefined;
238
239
  onVnodeUnmounted?: (((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[]) | undefined;
239
- flush?: boolean;
240
- onCancel?: ((payload: Event) => void) | undefined;
241
240
  sheet?: boolean;
241
+ onCancel?: ((payload: Event) => void) | undefined;
242
242
  rootClass?: unknown;
243
243
  hideClose?: boolean;
244
244
  closedby?: import("../../index.ts").DialogClosedBy;
@@ -281,6 +281,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
281
281
  results?: (string | number) | undefined;
282
282
  placeholder?: string | undefined;
283
283
  description?: string;
284
+ flush?: boolean;
284
285
  dir?: string | undefined;
285
286
  class?: import("vue").ClassValue;
286
287
  role?: string | undefined;
@@ -475,9 +476,8 @@ declare const __VLS_base: import("vue").DefineComponent<{
475
476
  onVnodeUpdated?: (((vnode: import("vue").VNode, oldVNode: import("vue").VNode) => void) | ((vnode: import("vue").VNode, oldVNode: import("vue").VNode) => void)[]) | undefined;
476
477
  onVnodeBeforeUnmount?: (((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[]) | undefined;
477
478
  onVnodeUnmounted?: (((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[]) | undefined;
478
- flush?: boolean;
479
- onCancel?: ((payload: Event) => void) | undefined;
480
479
  sheet?: boolean;
480
+ onCancel?: ((payload: Event) => void) | undefined;
481
481
  rootClass?: unknown;
482
482
  hideClose?: boolean;
483
483
  closedby?: import("../../index.ts").DialogClosedBy;