eco-vue-js 0.21.3 → 0.22.1

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 (146) hide show
  1. package/dist/components/BottomSheet/WBottomSheet.vue.d.ts +2 -0
  2. package/dist/components/BottomSheet/WBottomSheet.vue.d.ts.map +1 -1
  3. package/dist/components/BottomSheet/WBottomSheet.vue_vue_type_script_setup_true_lang.js +3 -2
  4. package/dist/components/Button/WButtonDropdown.vue.d.ts +2 -2
  5. package/dist/components/Button/WButtonDropdown.vue.d.ts.map +1 -1
  6. package/dist/components/Button/WButtonDropdown.vue_vue_type_script_setup_true_lang.js +65 -50
  7. package/dist/components/Button/WButtonMore.vue_vue_type_script_setup_true_lang.js +1 -1
  8. package/dist/components/Button/WButtonSelection.vue.d.ts +7 -5
  9. package/dist/components/Button/WButtonSelection.vue.d.ts.map +1 -1
  10. package/dist/components/Button/WButtonSelection.vue_vue_type_script_setup_true_lang.js +74 -17
  11. package/dist/components/Chart/WChartLinear.vue.d.ts +1 -1
  12. package/dist/components/Chart/WChartLinear.vue.d.ts.map +1 -1
  13. package/dist/components/ClickOutside/WClickOutside.vue.d.ts.map +1 -1
  14. package/dist/components/ClickOutside/WClickOutside.vue_vue_type_script_setup_true_lang.js +10 -1
  15. package/dist/components/DropdownMenu/WDropdownAdaptive.vue.d.ts +2 -2
  16. package/dist/components/DropdownMenu/WDropdownAdaptive.vue.d.ts.map +1 -1
  17. package/dist/components/DropdownMenu/WDropdownAdaptive.vue_vue_type_script_setup_true_lang.js +9 -3
  18. package/dist/components/DropdownMenu/types.d.ts +2 -0
  19. package/dist/components/DropdownMenu/types.d.ts.map +1 -1
  20. package/dist/components/FieldWrapper/WFieldWrapper.vue.d.ts.map +1 -1
  21. package/dist/components/FieldWrapper/WFieldWrapper.vue_vue_type_script_setup_true_lang.js +1 -1
  22. package/dist/components/InfoCard/WInfoCard.vue.d.ts.map +1 -1
  23. package/dist/components/InfoCard/WInfoCard.vue_vue_type_script_setup_true_lang.js +7 -1
  24. package/dist/components/Input/WInputSuggest.vue_vue_type_script_setup_true_lang.js +1 -1
  25. package/dist/components/Input/components/InputSuggestEmbedded.vue.d.ts.map +1 -1
  26. package/dist/components/Input/components/InputSuggestEmbedded.vue_vue_type_script_setup_true_lang.js +5 -4
  27. package/dist/components/List/WList.vue.d.ts +1 -1
  28. package/dist/components/List/WList.vue.d.ts.map +1 -1
  29. package/dist/components/List/components/ListFilterLocalItem.vue.d.ts.map +1 -1
  30. package/dist/components/List/components/ListFilterLocalItem.vue_vue_type_script_setup_true_lang.js +7 -4
  31. package/dist/components/List/components/ListToolbar.vue.d.ts.map +1 -1
  32. package/dist/components/List/components/ListToolbar.vue_vue_type_script_setup_true_lang.js +10 -10
  33. package/dist/components/List/types.d.ts +0 -1
  34. package/dist/components/List/types.d.ts.map +1 -1
  35. package/dist/components/Modal/WModal.vue.d.ts.map +1 -1
  36. package/dist/components/Modal/WModal.vue_vue_type_script_setup_true_lang.js +14 -9
  37. package/dist/components/Modal/WModalStepper.vue.d.ts.map +1 -1
  38. package/dist/components/Modal/WModalStepper.vue_vue_type_script_setup_true_lang.js +5 -4
  39. package/dist/components/Modal/WModalWrapper.vue.d.ts.map +1 -1
  40. package/dist/components/Modal/WModalWrapper.vue_vue_type_script_setup_true_lang.js +79 -89
  41. package/dist/components/Modal/components/OverlayDropdown.vue.d.ts +3 -3
  42. package/dist/components/Modal/components/OverlayDropdown.vue.d.ts.map +1 -1
  43. package/dist/components/Modal/components/OverlayDropdown.vue_vue_type_script_setup_true_lang.js +78 -23
  44. package/dist/components/Modal/components/OverlayLayerProvider.vue.d.ts.map +1 -1
  45. package/dist/components/Modal/components/OverlayLayerProvider.vue_vue_type_script_setup_true_lang.js +2 -1
  46. package/dist/components/Modal/components/{OverlayHeader.vue.d.ts → OverlayModal.vue.d.ts} +4 -4
  47. package/dist/components/Modal/components/OverlayModal.vue.d.ts.map +1 -0
  48. package/dist/components/Modal/components/OverlayModal.vue.js +5 -0
  49. package/dist/components/Modal/components/OverlayModal.vue_vue_type_script_setup_true_lang.js +99 -0
  50. package/dist/components/Modal/components/OverlayPartRender.vue.d.ts +8 -0
  51. package/dist/components/Modal/components/OverlayPartRender.vue.d.ts.map +1 -0
  52. package/dist/components/Modal/components/OverlayPartRender.vue.js +5 -0
  53. package/dist/components/Modal/components/OverlayPartRender.vue_vue_type_script_setup_true_lang.js +16 -0
  54. package/dist/components/Modal/components/OverlayRegion.vue.d.ts +8 -0
  55. package/dist/components/Modal/components/OverlayRegion.vue.d.ts.map +1 -0
  56. package/dist/components/Modal/components/OverlayRegion.vue.js +5 -0
  57. package/dist/components/Modal/components/OverlayRegion.vue_vue_type_script_setup_true_lang.js +31 -0
  58. package/dist/components/Modal/components/OverlayRegionPart.vue.d.ts +22 -0
  59. package/dist/components/Modal/components/OverlayRegionPart.vue.d.ts.map +1 -0
  60. package/dist/components/Modal/components/OverlayRegionPart.vue.js +5 -0
  61. package/dist/components/Modal/components/OverlayRegionPart.vue_vue_type_script_setup_true_lang.js +28 -0
  62. package/dist/components/Modal/modals/Confirm/ConfirmActions.vue.d.ts +0 -2
  63. package/dist/components/Modal/modals/Confirm/ConfirmActions.vue.d.ts.map +1 -1
  64. package/dist/components/Modal/modals/Confirm/ConfirmActions.vue_vue_type_script_setup_true_lang.js +5 -4
  65. package/dist/components/Modal/modals/Confirm/ConfirmAnchored.vue.d.ts.map +1 -1
  66. package/dist/components/Modal/modals/Confirm/ConfirmAnchored.vue_vue_type_script_setup_true_lang.js +3 -2
  67. package/dist/components/Modal/modals/Confirm/ConfirmModal.vue.d.ts.map +1 -1
  68. package/dist/components/Modal/modals/Confirm/ConfirmModal.vue_vue_type_script_setup_true_lang.js +1 -1
  69. package/dist/components/Modal/models/overlayRegistry.d.ts +50 -10
  70. package/dist/components/Modal/models/overlayRegistry.d.ts.map +1 -1
  71. package/dist/components/Modal/models/overlayRegistry.js +102 -24
  72. package/dist/components/Modal/use/useOverlayRegions.d.ts +11 -0
  73. package/dist/components/Modal/use/useOverlayRegions.d.ts.map +1 -0
  74. package/dist/components/Modal/use/useOverlayRegions.js +49 -0
  75. package/dist/components/Nav/WNavItemExpand.vue_vue_type_script_setup_true_lang.js +1 -1
  76. package/dist/components/Notify/WNotify.vue.d.ts.map +1 -1
  77. package/dist/components/Notify/WNotify.vue_vue_type_script_setup_true_lang.js +3 -3
  78. package/dist/components/Notify/WNotifyCenter.vue.d.ts.map +1 -1
  79. package/dist/components/Notify/WNotifyCenter.vue_vue_type_script_setup_true_lang.js +16 -12
  80. package/dist/components/Notify/types.d.ts +1 -1
  81. package/dist/components/Notify/types.d.ts.map +1 -1
  82. package/dist/components/Select/WSelect.vue.d.ts +1 -0
  83. package/dist/components/Select/WSelect.vue.d.ts.map +1 -1
  84. package/dist/components/Select/WSelect.vue_vue_type_script_setup_true_lang.js +4 -0
  85. package/dist/components/Select/WSelectAsync.vue.d.ts +1 -0
  86. package/dist/components/Select/WSelectAsync.vue.d.ts.map +1 -1
  87. package/dist/components/Select/WSelectAsync.vue_vue_type_script_setup_true_lang.js +4 -0
  88. package/dist/components/Select/WSelectAsyncSingle.vue.d.ts.map +1 -1
  89. package/dist/components/Select/WSelectAsyncSingle.vue_vue_type_script_setup_true_lang.js +3 -0
  90. package/dist/components/Select/WSelectSingle.vue.d.ts.map +1 -1
  91. package/dist/components/Select/WSelectSingle.vue_vue_type_script_setup_true_lang.js +3 -0
  92. package/dist/components/Select/components/SelectOption.vue.d.ts +7 -7
  93. package/dist/components/Select/models/useCloseOnPick.d.ts +9 -0
  94. package/dist/components/Select/models/useCloseOnPick.d.ts.map +1 -0
  95. package/dist/components/Select/models/useCloseOnPick.js +18 -0
  96. package/dist/components/Tabs/WTabs.vue.d.ts +2 -0
  97. package/dist/components/Tabs/WTabs.vue.d.ts.map +1 -1
  98. package/dist/components/Tabs/WTabs.vue_vue_type_script_setup_true_lang.js +208 -134
  99. package/dist/components/Tabs/components/TabItem.vue.d.ts +1 -0
  100. package/dist/components/Tabs/components/TabItem.vue.d.ts.map +1 -1
  101. package/dist/components/Tabs/components/TabItem.vue_vue_type_script_setup_true_lang.js +3 -2
  102. package/dist/components/Tabs/components/TabsStepperButtons.vue.d.ts +24 -0
  103. package/dist/components/Tabs/components/TabsStepperButtons.vue.d.ts.map +1 -0
  104. package/dist/components/Tabs/components/TabsStepperButtons.vue.js +5 -0
  105. package/dist/components/Tabs/components/TabsStepperButtons.vue_vue_type_script_setup_true_lang.js +61 -0
  106. package/dist/components/Tabs/types.d.ts +13 -1
  107. package/dist/components/Tabs/types.d.ts.map +1 -1
  108. package/dist/components/Uniform/WUniform.vue.d.ts.map +1 -1
  109. package/dist/components/Uniform/WUniform.vue_vue_type_script_setup_true_lang.js +14 -8
  110. package/dist/components/Uniform/use/useUniformField.js +5 -6
  111. package/dist/components/Uniform/use/useUniformModel.d.ts.map +1 -1
  112. package/dist/components/Uniform/use/useUniformModel.js +43 -6
  113. package/dist/components/Uniform/use/useUniformSubmit.d.ts.map +1 -1
  114. package/dist/components/Uniform/use/useUniformSubmit.js +2 -1
  115. package/dist/components/Uniform/utils/injection.d.ts +7 -1
  116. package/dist/components/Uniform/utils/injection.d.ts.map +1 -1
  117. package/dist/components/Uniform/utils/injection.js +20 -5
  118. package/dist/components/Uniform/utils/utils.d.ts.map +1 -1
  119. package/dist/components/Uniform/utils/utils.js +3 -1
  120. package/dist/main.d.ts +1 -0
  121. package/dist/main.d.ts.map +1 -1
  122. package/dist/main.js +8 -7
  123. package/dist/utils/Overlay.d.ts +20 -2
  124. package/dist/utils/Overlay.d.ts.map +1 -1
  125. package/dist/utils/Overlay.js +38 -8
  126. package/dist/utils/texts.d.ts +32 -0
  127. package/dist/utils/texts.d.ts.map +1 -0
  128. package/dist/utils/texts.js +28 -0
  129. package/dist/utils/utils.d.ts.map +1 -1
  130. package/dist/utils/utils.js +4 -1
  131. package/docs/components/bottom-sheet.md +1 -0
  132. package/docs/components/dropdown-menu.md +3 -2
  133. package/docs/components/form.md +2 -0
  134. package/docs/components/list.md +3 -4
  135. package/docs/components/modal.md +69 -47
  136. package/docs/components/notify.md +2 -2
  137. package/docs/components/tabs.md +9 -2
  138. package/docs/guide/getting-started.md +17 -0
  139. package/docs/llms.txt +3 -2
  140. package/docs/recipes/form-in-three-modes.md +574 -0
  141. package/docs/recipes/list-with-fields.md +252 -8
  142. package/package.json +4 -1
  143. package/tailwind-base/css/default.css +5 -0
  144. package/dist/components/Modal/components/OverlayHeader.vue.d.ts.map +0 -1
  145. package/dist/components/Modal/components/OverlayHeader.vue.js +0 -5
  146. package/dist/components/Modal/components/OverlayHeader.vue_vue_type_script_setup_true_lang.js +0 -20
@@ -14,6 +14,8 @@ type __VLS_Slots = {
14
14
  }) => void;
15
15
  /** Content of the sheet, which scrolls under the toggle. */
16
16
  content?: () => void;
17
+ /** Pinned at the bottom of the sheet, under the content that scrolls, such as a form's buttons. */
18
+ footer?: () => void;
17
19
  };
18
20
  declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
19
21
  /** Slides the sheet down. Resolves once it is out of view — then set `isOpen` to `false` for no visible jump. */
@@ -1 +1 @@
1
- {"version":3,"file":"WBottomSheet.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/BottomSheet/WBottomSheet.vue"],"names":[],"mappings":"AA8CA;AAoGA,KAAK,WAAW,GAAG;IACjB,uBAAuB;IACvB,MAAM,EAAE,OAAO,CAAA;IACf,6FAA6F;IAC7F,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,+HAA+H;IAC/H,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAC;AASF,KAAK,WAAW,GAAG;IACjB,iKAAiK;IACjK,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE;QAAC,WAAW,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAC,KAAK,IAAI,CAAA;IACjE,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB,CAAC;AAuKF,QAAA,MAAM,UAAU;IA/Jd,iHAAiH;gBACvG,OAAO,CAAC,IAAI,CAAC;;;;;kFAkKvB,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"WBottomSheet.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/BottomSheet/WBottomSheet.vue"],"names":[],"mappings":"AAgDA;AAwGA,KAAK,WAAW,GAAG;IACjB,uBAAuB;IACvB,MAAM,EAAE,OAAO,CAAA;IACf,6FAA6F;IAC7F,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,+HAA+H;IAC/H,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAC;AASF,KAAK,WAAW,GAAG;IACjB,iKAAiK;IACjK,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE;QAAC,WAAW,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAC,KAAK,IAAI,CAAA;IACjE,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,mGAAmG;IACnG,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;CACpB,CAAC;AAyKF,QAAA,MAAM,UAAU;IAjKd,iHAAiH;gBACvG,OAAO,CAAC,IAAI,CAAC;;;;;kFAoKvB,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
@@ -21,7 +21,7 @@ var WBottomSheet_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
21
21
  /** Slides the sheet down. Resolves once it is out of view — then set `isOpen` to `false` for no visible jump. */
22
22
  hide: () => dismissableRef.value?.hide() ?? Promise.resolve() });
23
23
  const contentClass = computed(() => [
24
- "bg-surface grid-cols-[1fr] grid-rows-[auto_1fr] rounded-t-3xl shadow-md relative grid",
24
+ "bg-surface grid-cols-[1fr] grid-rows-[auto_1fr_auto] rounded-t-3xl shadow-md relative grid",
25
25
  props.compact ? "max-h-[90%]" : "height-[90%]",
26
26
  props.noOverlay ? "pointer-events-auto border-t border-solid border-line-raised" : ""
27
27
  ].join(" "));
@@ -29,7 +29,7 @@ hide: () => dismissableRef.value?.hide() ?? Promise.resolve() });
29
29
  return openBlock(), createElementBlock(Fragment, null, [renderSlot(_ctx.$slots, "toggle", { unclickable: true }), (openBlock(), createBlock(Teleport, { to: "body" }, [createVNode(WDismissable_default, {
30
30
  ref: "dismissable",
31
31
  "is-open": __props.isOpen,
32
- class: normalizeClass(["fixed inset-0", __props.noOverlay ? "pointer-events-none" : "bg-backdrop backdrop-blur"]),
32
+ class: normalizeClass(["fixed inset-0", __props.noOverlay ? "" : "bg-backdrop backdrop-blur"]),
33
33
  "content-class": contentClass.value,
34
34
  style: normalizeStyle({ zIndex: unref(baseZIndex) + unref(100) }),
35
35
  onClose: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("close"))
@@ -37,6 +37,7 @@ hide: () => dismissableRef.value?.hide() ?? Promise.resolve() });
37
37
  default: withCtx(() => [
38
38
  createElementVNode("div", _hoisted_1, [_cache[2] || (_cache[2] = createElementVNode("div", { class: "flex h-9 items-center justify-center" }, [createElementVNode("div", { class: "h-1 w-12 rounded-sm bg-track" })], -1)), createElementVNode("div", null, [renderSlot(_ctx.$slots, "toggle", mergeProps({ unclickable: false }, { isTop: false }))])]),
39
39
  createElementVNode("div", _hoisted_2, [renderSlot(_ctx.$slots, "content")]),
40
+ renderSlot(_ctx.$slots, "footer"),
40
41
  _cache[3] || (_cache[3] = createElementVNode("div", { class: "absolute top-full h-screen w-full bg-inherit" }, null, -1)),
41
42
  __props.noOverlay ? (openBlock(), createBlock(WClickOutside_default, {
42
43
  key: 0,
@@ -1,15 +1,15 @@
1
1
  import { ButtonDropdownProps } from './types';
2
2
  import { VNode } from 'vue';
3
3
  import { HorizontalAlign } from '../../utils/HorizontalAlign';
4
- declare const close: () => void;
5
4
  type __VLS_Slots = {
6
5
  /** Buttons joined to the arrow button. They keep their own click handlers. */
7
6
  button?: () => VNode[];
8
- /** Menu content, usually WButtonMoreItem. A click inside closes the menu, and so does `close`. */
7
+ /** Menu content, usually WButtonMoreItem. A click inside closes the menu, and so does `close`. On phones it is a bottom sheet. */
9
8
  content?: (props: {
10
9
  close: typeof close;
11
10
  }) => VNode[];
12
11
  };
12
+ declare const close: () => void;
13
13
  declare const __VLS_base: import('vue').DefineComponent<ButtonDropdownProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<ButtonDropdownProps> & Readonly<{}>, {
14
14
  horizontalAlign: HorizontalAlign;
15
15
  disabled: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"WButtonDropdown.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/Button/WButtonDropdown.vue"],"names":[],"mappings":"AAmEA;AAyGA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,SAAS,CAAA;AAEhD,OAAO,EAAC,KAAK,KAAK,EAAM,MAAM,KAAK,CAAA;AAQnC,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAA;AAevD,QAAA,MAAM,KAAK,YAEV,CAAA;AAED,KAAK,WAAW,GAAG;IACjB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,KAAK,EAAE,CAAA;IACtB,kGAAkG;IAClG,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAAC,KAAK,EAAE,OAAO,KAAK,CAAA;KAAC,KAAK,KAAK,EAAE,CAAA;CACpD,CAAC;AAsPF,QAAA,MAAM,UAAU;;;6EAGd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AAWzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"WButtonDropdown.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/Button/WButtonDropdown.vue"],"names":[],"mappings":"AA4CA;AAyHA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,SAAS,CAAA;AAEhD,OAAO,EAAC,KAAK,KAAK,EAAyC,MAAM,KAAK,CAAA;AAMtE,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAA;AAcvD,KAAK,WAAW,GAAG;IACjB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,KAAK,EAAE,CAAA;IACtB,kIAAkI;IAClI,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAAC,KAAK,EAAE,OAAO,KAAK,CAAA;KAAC,KAAK,KAAK,EAAE,CAAA;CACpD,CAAC;AAaF,QAAA,MAAM,KAAK,YAEV,CAAA;AAiLD,QAAA,MAAM,UAAU;;;6EAGd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AAWzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
@@ -1,12 +1,12 @@
1
1
  import WTooltip_default from "../Tooltip/WTooltip.vue.js";
2
- import WClickOutside_default from "../ClickOutside/WClickOutside.vue.js";
3
2
  import WButton_default from "./WButton.vue.js";
4
- import { HorizontalAlign } from "../../utils/HorizontalAlign.js";
5
- import WDropdownMenu_default from "../DropdownMenu/WDropdownMenu.vue.js";
6
3
  import IconArrow_default from "../../assets/icons/IconArrow.js";
7
- import { Fragment, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, normalizeClass, openBlock, ref, renderList, renderSlot, resolveDynamicComponent, unref, withCtx } from "vue";
4
+ import { HorizontalAlign } from "../../utils/HorizontalAlign.js";
5
+ import { useOverlay } from "../../utils/Overlay.js";
6
+ import { Fragment, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, markRaw, normalizeClass, openBlock, ref, renderList, resolveDynamicComponent, unref, useSlots, useTemplateRef, withCtx } from "vue";
8
7
  //#region src/components/Button/WButtonDropdown.vue?vue&type=script&setup=true&lang.ts
9
- var _hoisted_1 = { class: "flex" };
8
+ var _hoisted_1 = { ref: "toggle" };
9
+ var _hoisted_2 = { class: "flex" };
10
10
  var WButtonDropdown_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
11
11
  __name: "WButtonDropdown",
12
12
  props: {
@@ -20,57 +20,72 @@ var WButtonDropdown_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
20
20
  horizontalAlign: { default: HorizontalAlign.LEFT_INNER }
21
21
  },
22
22
  setup(__props) {
23
+ const props = __props;
24
+ const slots = useSlots();
25
+ const toggleRef = useTemplateRef("toggle");
26
+ const overlay = useOverlay();
23
27
  const isOpen = ref(false);
28
+ let closeMenu = null;
24
29
  const close = () => {
25
- isOpen.value = false;
30
+ closeMenu?.();
31
+ };
32
+ const renderContent = markRaw(() => slots.content?.({ close }));
33
+ const open = () => {
34
+ if (!toggleRef.value) return;
35
+ const value = overlay.open({
36
+ present: "dropdown",
37
+ anchor: toggleRef.value,
38
+ content: renderContent,
39
+ dropdown: {
40
+ align: props.horizontalAlign,
41
+ closeOnClick: true
42
+ },
43
+ onClose: () => {
44
+ if (closeMenu !== value) return;
45
+ closeMenu = null;
46
+ isOpen.value = false;
47
+ }
48
+ });
49
+ closeMenu = value;
50
+ isOpen.value = value !== null;
51
+ };
52
+ const toggle = () => {
53
+ if (isOpen.value) close();
54
+ else open();
26
55
  };
27
56
  return (_ctx, _cache) => {
28
- return openBlock(), createBlock(WDropdownMenu_default, {
29
- "is-open": isOpen.value,
30
- "horizontal-align": __props.horizontalAlign,
31
- "update-align": ""
32
- }, {
33
- toggle: withCtx(() => [createElementVNode("div", null, [createElementVNode("div", _hoisted_1, [
34
- __props.leftToggle ? (openBlock(), createBlock(WButton_default, {
35
- key: 0,
36
- "semantic-type": __props.semanticType,
37
- disabled: __props.disabled,
38
- join: "",
39
- onClick: _cache[0] || (_cache[0] = ($event) => isOpen.value = !isOpen.value)
40
- }, {
41
- default: withCtx(() => [createVNode(unref(IconArrow_default), { class: normalizeClass(["square-4 transition-transform", { "rotate-180": isOpen.value }]) }, null, 8, ["class"])]),
42
- _: 1
43
- }, 8, ["semantic-type", "disabled"])) : createCommentVNode("", true),
44
- (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.$slots.button?.(), (item, index) => {
45
- return openBlock(), createBlock(resolveDynamicComponent(item), {
46
- key: index,
47
- join: "",
48
- class: "flex-1"
49
- });
50
- }), 128)),
51
- !__props.leftToggle ? (openBlock(), createBlock(WButton_default, {
52
- key: 1,
53
- "semantic-type": __props.semanticType,
54
- disabled: __props.disabled,
55
- join: "",
56
- onClick: _cache[1] || (_cache[1] = ($event) => isOpen.value = !isOpen.value)
57
- }, {
58
- default: withCtx(() => [createVNode(unref(IconArrow_default), { class: normalizeClass(["square-[1em] transition-transform", { "rotate-180": isOpen.value }]) }, null, 8, ["class"])]),
59
- _: 1
60
- }, 8, ["semantic-type", "disabled"])) : createCommentVNode("", true)
61
- ]), __props.tooltipText ? (openBlock(), createBlock(WTooltip_default, {
57
+ return openBlock(), createElementBlock("div", _hoisted_1, [createElementVNode("div", _hoisted_2, [
58
+ __props.leftToggle ? (openBlock(), createBlock(WButton_default, {
62
59
  key: 0,
63
- text: __props.tooltipText
64
- }, null, 8, ["text"])) : createCommentVNode("", true)])]),
65
- content: withCtx(() => [createVNode(WClickOutside_default, {
66
- class: "surface-raised my-1 max-h-[inherit] w-full overflow-y-auto overflow-x-hidden overscroll-contain rounded-xl shadow-md border border-solid border-line-raised",
67
- onClick: close
60
+ "semantic-type": __props.semanticType,
61
+ disabled: __props.disabled,
62
+ join: "",
63
+ onClick: toggle
64
+ }, {
65
+ default: withCtx(() => [createVNode(unref(IconArrow_default), { class: normalizeClass(["square-4 transition-transform", { "rotate-180": isOpen.value }]) }, null, 8, ["class"])]),
66
+ _: 1
67
+ }, 8, ["semantic-type", "disabled"])) : createCommentVNode("", true),
68
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.$slots.button?.(), (item, index) => {
69
+ return openBlock(), createBlock(resolveDynamicComponent(item), {
70
+ key: index,
71
+ join: "",
72
+ class: "flex-1"
73
+ });
74
+ }), 128)),
75
+ !__props.leftToggle ? (openBlock(), createBlock(WButton_default, {
76
+ key: 1,
77
+ "semantic-type": __props.semanticType,
78
+ disabled: __props.disabled,
79
+ join: "",
80
+ onClick: toggle
68
81
  }, {
69
- default: withCtx(() => [renderSlot(_ctx.$slots, "content", { close })]),
70
- _: 3
71
- })]),
72
- _: 3
73
- }, 8, ["is-open", "horizontal-align"]);
82
+ default: withCtx(() => [createVNode(unref(IconArrow_default), { class: normalizeClass(["square-[1em] transition-transform", { "rotate-180": isOpen.value }]) }, null, 8, ["class"])]),
83
+ _: 1
84
+ }, 8, ["semantic-type", "disabled"])) : createCommentVNode("", true)
85
+ ]), __props.tooltipText ? (openBlock(), createBlock(WTooltip_default, {
86
+ key: 0,
87
+ text: __props.tooltipText
88
+ }, null, 8, ["text"])) : createCommentVNode("", true)], 512);
74
89
  };
75
90
  }
76
91
  });
@@ -1,6 +1,6 @@
1
- import IconMore_default from "../../assets/icons/IconMore.js";
2
1
  import { hasAnchorLayer } from "../Modal/models/overlayRegistry.js";
3
2
  import { useOverlay } from "../../utils/Overlay.js";
3
+ import IconMore_default from "../../assets/icons/IconMore.js";
4
4
  import { computed, createBlock, createElementBlock, createElementVNode, defineComponent, markRaw, mergeProps, normalizeClass, openBlock, ref, resolveDynamicComponent, shallowRef, unref, useSlots, useTemplateRef } from "vue";
5
5
  //#region src/components/Button/WButtonMore.vue?vue&type=script&setup=true&lang.ts
6
6
  var _hoisted_1 = [
@@ -6,19 +6,22 @@ type __VLS_Props = {
6
6
  disableMessage?: string;
7
7
  /** Number of selected items. While it is above 0, the counter with a clear button replaces the `settings` slot. */
8
8
  selectedCount?: number;
9
- /** Class of the More menu's toggle, e.g. to hide it while all actions fit. */
10
- moreToggleClass?: string;
11
9
  };
12
10
  type __VLS_Slots = {
13
- /** WButtonSelectionAction buttons. Pass them `disableMessage`, and `cssClass` for the dividers between them. */
11
+ /**
12
+ * WButtonSelectionAction buttons. Pass them `disableMessage`, and `cssClass` for the dividers between them.
13
+ * Hide the ones from `visibleCount` on, which do not fit — the `more` slot shows them instead.
14
+ */
14
15
  default?: (props: {
15
16
  disableMessage: string | undefined;
16
17
  cssClass: string;
18
+ visibleCount: number;
17
19
  }) => VNode[];
18
- /** Actions in the More menu at the end of the row. */
20
+ /** Actions in the More menu at the end of the row: the ones of the `default` slot from `visibleCount` on, which do not fit the row. The menu shows only when some do not. */
19
21
  more?: (props: {
20
22
  disableMessage: string | undefined;
21
23
  cssClass: string;
24
+ visibleCount: number;
22
25
  }) => VNode[];
23
26
  /** Content at the end of the bar while nothing is selected, such as list settings. */
24
27
  settings?: () => VNode[];
@@ -31,7 +34,6 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {},
31
34
  title: string;
32
35
  disableMessage: string;
33
36
  selectedCount: number;
34
- moreToggleClass: string;
35
37
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
36
38
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
37
39
  declare const _default: typeof __VLS_export;
@@ -1 +1 @@
1
- {"version":3,"file":"WButtonSelection.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/Button/WButtonSelection.vue"],"names":[],"mappings":"AAyDA;AAgHA,OAAO,EAAC,KAAK,KAAK,EAA0C,MAAM,KAAK,CAAA;AAWvE,KAAK,WAAW,GAAG;IACf,0FAA0F;IAC1F,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kFAAkF;IAClF,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,mHAAmH;IACnH,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,8EAA8E;IAC9E,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAAC;AAyBJ,KAAK,WAAW,GAAG;IACjB,gHAAgH;IAChH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,KAAK,KAAK,EAAE,CAAA;IACpF,sDAAsD;IACtD,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE;QAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,KAAK,KAAK,EAAE,CAAA;IACjF,sFAAsF;IACtF,QAAQ,CAAC,EAAE,MAAM,KAAK,EAAE,CAAA;CACzB,CAAC;AA0LF,QAAA,MAAM,UAAU;;;;;WAjOJ,MAAM;oBAEG,MAAM;mBAEP,MAAM;qBAEJ,MAAM;6EA+N1B,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AAWzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"WButtonSelection.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/Button/WButtonSelection.vue"],"names":[],"mappings":"AAkEA;AAuMA,OAAO,EAAC,KAAK,KAAK,EAAiG,MAAM,KAAK,CAAA;AAW9H,KAAK,WAAW,GAAG;IACf,0FAA0F;IAC1F,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kFAAkF;IAClF,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,mHAAmH;IACnH,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,CAAC;AAsGJ,KAAK,WAAW,GAAG;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAC,KAAK,KAAK,EAAE,CAAA;IAC1G,6KAA6K;IAC7K,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE;QAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAC,KAAK,KAAK,EAAE,CAAA;IACvG,sFAAsF;IACtF,QAAQ,CAAC,EAAE,MAAM,KAAK,EAAE,CAAA;CACzB,CAAC;AA0MF,QAAA,MAAM,UAAU;;;;;WA/TJ,MAAM;oBAEG,MAAM;mBAEP,MAAM;6EA+TxB,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AAWzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
@@ -3,19 +3,22 @@ import IconMore_default from "../../assets/icons/IconMore.js";
3
3
  import WDropdownAdaptive_default from "../DropdownMenu/WDropdownAdaptive.vue.js";
4
4
  import WButtonSelectionAction_default from "./WButtonSelectionAction.vue.js";
5
5
  import WButtonSelectionState_default from "./WButtonSelectionState.vue.js";
6
- import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, guardReactiveProps, inject, markRaw, normalizeClass, normalizeProps, openBlock, provide, ref, renderSlot, toDisplayString, unref, withCtx } from "vue";
6
+ import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, guardReactiveProps, inject, markRaw, mergeProps, normalizeProps, onBeforeUnmount, onMounted, onUpdated, openBlock, provide, ref, renderSlot, toDisplayString, unref, useTemplateRef, withCtx } from "vue";
7
7
  //#region src/components/Button/WButtonSelection.vue?vue&type=script&setup=true&lang.ts
8
8
  var _hoisted_1 = { class: "list:left---left-inner list:w---width-inner list:sticky grid w-full grid-cols-[1fr_auto] pb-3" };
9
- var _hoisted_2 = { class: "flex" };
10
- var _hoisted_3 = { class: "tone-primary text-tone font-semibold" };
11
- var _hoisted_4 = { class: "sm-not:text-xs" };
9
+ var _hoisted_2 = {
10
+ ref: "row",
11
+ class: "flex min-w-0"
12
+ };
13
+ var _hoisted_3 = { class: "py-2 grid" };
14
+ var _hoisted_4 = { class: "tone-primary text-tone font-semibold" };
15
+ var _hoisted_5 = { class: "sm-not:text-xs" };
12
16
  var WButtonSelection_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
13
17
  __name: "WButtonSelection",
14
18
  props: {
15
19
  title: { default: "item" },
16
20
  disableMessage: { default: "No selected items" },
17
- selectedCount: { default: void 0 },
18
- moreToggleClass: { default: void 0 }
21
+ selectedCount: { default: void 0 }
19
22
  },
20
23
  emits: ["clear:selection"],
21
24
  setup(__props) {
@@ -24,43 +27,97 @@ var WButtonSelection_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
24
27
  provide(wBaseZIndex, baseZIndex ?? 20);
25
28
  const disableMessageValue = computed(() => props.selectedCount === 0 ? props.disableMessage : void 0);
26
29
  const isOpen = ref(false);
30
+ const rowRef = useTemplateRef("row");
31
+ /** How many actions of the row fit, from the first. The rest are hidden by the `default` slot and shown by the `more` slot. */
32
+ const visibleCount = ref(Infinity);
33
+ const isOverflowing = ref(false);
34
+ const widths = /* @__PURE__ */ new WeakMap();
35
+ let moreWidth = 0;
36
+ const isShown = (element) => element.getClientRects().length > 0;
37
+ const update = () => {
38
+ const row = rowRef.value;
39
+ if (!row) return;
40
+ const children = Array.from(row.children);
41
+ const items = children.filter((element) => !element.hasAttribute("data-selection-more"));
42
+ const more = children.find((element) => element.hasAttribute("data-selection-more"));
43
+ items.forEach((element) => {
44
+ if (isShown(element)) widths.set(element, element.getBoundingClientRect().width);
45
+ });
46
+ if (more && isShown(more)) moreWidth = more.getBoundingClientRect().width;
47
+ if (items.some((element) => !widths.has(element))) {
48
+ visibleCount.value = Infinity;
49
+ isOverflowing.value = false;
50
+ return;
51
+ }
52
+ const available = row.clientWidth;
53
+ if (items.reduce((sum, element) => sum + widths.get(element), 0) <= available || !more) {
54
+ visibleCount.value = Infinity;
55
+ isOverflowing.value = false;
56
+ return;
57
+ }
58
+ let count = 0;
59
+ let used = moreWidth;
60
+ while (count < items.length && used + widths.get(items[count]) <= available) {
61
+ used += widths.get(items[count]);
62
+ count++;
63
+ }
64
+ visibleCount.value = count;
65
+ isOverflowing.value = true;
66
+ };
67
+ let observer = null;
68
+ const observe = () => {
69
+ if (!observer || !rowRef.value) return;
70
+ observer.disconnect();
71
+ observer.observe(rowRef.value);
72
+ Array.from(rowRef.value.children).forEach((element) => observer?.observe(element));
73
+ };
74
+ onMounted(() => {
75
+ observer = new ResizeObserver(update);
76
+ observe();
77
+ });
78
+ onUpdated(observe);
79
+ onBeforeUnmount(() => {
80
+ observer?.disconnect();
81
+ observer = null;
82
+ });
27
83
  return (_ctx, _cache) => {
28
84
  return openBlock(), createElementBlock("div", _hoisted_1, [createElementVNode("div", _hoisted_2, [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps({
29
85
  disableMessage: disableMessageValue.value,
30
- cssClass: "border-l border-solid border-line first:border-l-0"
86
+ cssClass: "shrink-0 border-l border-solid border-line first:border-l-0",
87
+ visibleCount: visibleCount.value
31
88
  }))), _ctx.$slots.more ? (openBlock(), createBlock(WDropdownAdaptive_default, {
32
89
  key: 0,
33
90
  "is-open": isOpen.value,
34
91
  "close-on-click": "",
35
92
  onClose: _cache[1] || (_cache[1] = ($event) => isOpen.value = false)
36
93
  }, {
37
- toggle: withCtx(() => [createVNode(WButtonSelectionAction_default, {
94
+ toggle: withCtx(() => [createVNode(WButtonSelectionAction_default, mergeProps({
38
95
  title: "More",
39
96
  icon: markRaw(unref(IconMore_default)),
40
97
  "aria-expanded": isOpen.value,
41
98
  "disable-message": disableMessageValue.value,
42
- class: normalizeClass(["border-l border-solid border-line", __props.moreToggleClass]),
43
- onClick: _cache[0] || (_cache[0] = ($event) => isOpen.value = !isOpen.value)
44
- }, null, 8, [
99
+ class: ["shrink-0 border-l border-solid border-line", { hidden: !isOverflowing.value }]
100
+ }, { "data-selection-more": "" }, { onClick: _cache[0] || (_cache[0] = ($event) => isOpen.value = !isOpen.value) }), null, 16, [
45
101
  "icon",
46
102
  "aria-expanded",
47
103
  "disable-message",
48
104
  "class"
49
105
  ])]),
50
106
  header: withCtx(() => [..._cache[3] || (_cache[3] = [createTextVNode(" More ", -1)])]),
51
- content: withCtx(() => [renderSlot(_ctx.$slots, "more", normalizeProps(guardReactiveProps({
107
+ content: withCtx(() => [createElementVNode("div", _hoisted_3, [renderSlot(_ctx.$slots, "more", normalizeProps(guardReactiveProps({
52
108
  disableMessage: disableMessageValue.value,
53
- cssClass: "first:pt-2 last:pb-2"
54
- })))]),
109
+ cssClass: "",
110
+ visibleCount: visibleCount.value
111
+ })))])]),
55
112
  _: 3
56
- }, 8, ["is-open"])) : createCommentVNode("", true)]), __props.selectedCount ? (openBlock(), createBlock(WButtonSelectionState_default, {
113
+ }, 8, ["is-open"])) : createCommentVNode("", true)], 512), __props.selectedCount ? (openBlock(), createBlock(WButtonSelectionState_default, {
57
114
  key: 0,
58
115
  onClick: _cache[2] || (_cache[2] = ($event) => _ctx.$emit("clear:selection"))
59
116
  }, {
60
117
  default: withCtx(() => [
61
118
  _cache[4] || (_cache[4] = createElementVNode("span", { class: "sm-not:hidden" }, "Selected\xA0", -1)),
62
- createElementVNode("span", _hoisted_3, toDisplayString(unref(numberFormatter).format(__props.selectedCount)), 1),
63
- createElementVNode("span", _hoisted_4, "\xA0" + toDisplayString(__props.title) + toDisplayString(__props.selectedCount === 1 ? "" : "s"), 1)
119
+ createElementVNode("span", _hoisted_4, toDisplayString(unref(numberFormatter).format(__props.selectedCount)), 1),
120
+ createElementVNode("span", _hoisted_5, "\xA0" + toDisplayString(__props.title) + toDisplayString(__props.selectedCount === 1 ? "" : "s"), 1)
64
121
  ]),
65
122
  _: 1
66
123
  })) : renderSlot(_ctx.$slots, "settings", {}, void 0, void 0, 1)]);
@@ -38,8 +38,8 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
38
38
  skeleton: boolean;
39
39
  left: number;
40
40
  right: number;
41
- height: number;
42
41
  yDomainGetter: (extent: [number, number]) => [number, number];
42
+ height: number;
43
43
  yFormat: (value: number) => string;
44
44
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
45
45
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -1 +1 @@
1
- {"version":3,"file":"WChartLinear.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/Chart/WChartLinear.vue"],"names":[],"mappings":"AAsDA;AA8LA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,SAAS,CAAA;AAEzC,OAAO,EAAC,KAAK,KAAK,EAAmE,MAAM,KAAK,CAAA;AAShG,KAAK,WAAW,GAAG;IACf,0GAA0G;IAC1G,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACzB,8IAA8I;IAC9I,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9D,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,wBAAwB;IACxB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,wBAAwB;IACxB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,oCAAoC;IACpC,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,4BAA4B;IAC5B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;IACnC,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8GAA8G;IAC9G,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC;AA8FJ,KAAK,WAAW,GAAG;IACjB,6IAA6I;IAC7I,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,KAAK,EAAE,CAAA;CAC1C,CAAC;AAgIF,QAAA,MAAM,UAAU;;;SA1ON,MAAM;YAEH,MAAM;cAMJ,OAAO;UAJX,MAAM;WAEL,MAAM;YAhBL,MAAM;mBAFC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC;aAUpD,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM;6EAgPrC,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AAWzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"WChartLinear.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/Chart/WChartLinear.vue"],"names":[],"mappings":"AAsDA;AA8LA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,SAAS,CAAA;AAEzC,OAAO,EAAC,KAAK,KAAK,EAAmE,MAAM,KAAK,CAAA;AAShG,KAAK,WAAW,GAAG;IACf,0GAA0G;IAC1G,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACzB,8IAA8I;IAC9I,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9D,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,wBAAwB;IACxB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,wBAAwB;IACxB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,oCAAoC;IACpC,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,4BAA4B;IAC5B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;IACnC,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8GAA8G;IAC9G,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC;AA8FJ,KAAK,WAAW,GAAG;IACjB,6IAA6I;IAC7I,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,KAAK,EAAE,CAAA;CAC1C,CAAC;AAgIF,QAAA,MAAM,UAAU;;;SA1ON,MAAM;YAEH,MAAM;cAMJ,OAAO;UAJX,MAAM;WAEL,MAAM;mBAlBE,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC;YAErD,MAAM;aAQL,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM;6EAgPrC,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AAWzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"WClickOutside.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/ClickOutside/WClickOutside.vue"],"names":[],"mappings":"AAUA;AAkFA,KAAK,WAAW,GAAG;IACjB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC;AAeF,KAAK,WAAW,GAAG;IACjB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB,CAAC;AAoFF,QAAA,MAAM,UAAU;;;;;;;;;;kFAGd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"WClickOutside.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/ClickOutside/WClickOutside.vue"],"names":[],"mappings":"AAUA;AAiGA,KAAK,WAAW,GAAG;IACjB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAC;AAeF,KAAK,WAAW,GAAG;IACjB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB,CAAC;AAmGF,QAAA,MAAM,UAAU;;;;;;;;;;kFAGd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
@@ -15,9 +15,16 @@ var WClickOutside_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
15
15
  const emit = __emit;
16
16
  const elementRef = useTemplateRef("element");
17
17
  const isOnDisabled = (event) => event.target instanceof Element && event.target.closest(":disabled") !== null;
18
+ const isInside = (event) => !!elementRef.value && event.composedPath().includes(elementRef.value);
19
+ let isPressedInside = false;
20
+ const pointerdownListener = (event) => {
21
+ isPressedInside = isInside(event);
22
+ };
18
23
  const emitOutside = (event) => {
24
+ const wasPressedInside = isPressedInside;
25
+ if (event.type !== "pointerup") isPressedInside = false;
19
26
  if (!props.noFilter) {
20
- if (!elementRef.value || event.composedPath().includes(elementRef.value)) return;
27
+ if (!elementRef.value || wasPressedInside || isInside(event)) return;
21
28
  }
22
29
  emit("click", event);
23
30
  };
@@ -30,6 +37,7 @@ var WClickOutside_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
30
37
  onMounted(() => {
31
38
  if (!getIsClientSide()) return;
32
39
  setTimeout(() => {
40
+ document.addEventListener("pointerdown", pointerdownListener, true);
33
41
  document.addEventListener("click", clickListener);
34
42
  document.addEventListener("contextmenu", clickListener);
35
43
  document.addEventListener("pointerup", pointerListener);
@@ -37,6 +45,7 @@ var WClickOutside_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
37
45
  });
38
46
  onBeforeUnmount(() => {
39
47
  if (!getIsClientSide()) return;
48
+ document.removeEventListener("pointerdown", pointerdownListener, true);
40
49
  document.removeEventListener("click", clickListener);
41
50
  document.removeEventListener("contextmenu", clickListener);
42
51
  document.removeEventListener("pointerup", pointerListener);
@@ -9,9 +9,9 @@ type __VLS_Slots = {
9
9
  isTop: boolean;
10
10
  unclickable: boolean | undefined;
11
11
  }) => VNode[];
12
- /** Heading of the bottom sheet on phones, instead of the copy of `toggle`. */
12
+ /** Heading of the bottom sheet on phones, instead of the copy of `toggle`. With `dialog`, the title of the dropdown too. */
13
13
  header?: () => VNode[];
14
- /** Content of the dropdown, which brings its own padding. A click inside closes it with `closeOnClick`. */
14
+ /** Content of the dropdown, which brings its own padding, unless it is a `dialog`. A click inside closes it with `closeOnClick`. */
15
15
  content?: () => VNode[];
16
16
  };
17
17
  declare const __VLS_base: import('vue').DefineComponent<DropdownAdaptiveProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
@@ -1 +1 @@
1
- {"version":3,"file":"WDropdownAdaptive.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/DropdownMenu/WDropdownAdaptive.vue"],"names":[],"mappings":"AAOA;AAqHA,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,SAAS,CAAA;AAElD,OAAO,EAAC,KAAK,KAAK,EAAyF,MAAM,KAAK,CAAA;AAkBtH,KAAK,WAAW,GAAG;IACjB;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE;QAAC,KAAK,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,OAAO,GAAG,SAAS,CAAA;KAAC,KAAK,KAAK,EAAE,CAAA;IAC/E,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,KAAK,EAAE,CAAA;IACtB,2GAA2G;IAC3G,OAAO,CAAC,EAAE,MAAM,KAAK,EAAE,CAAA;CACxB,CAAC;AAsHF,QAAA,MAAM,UAAU;;;;kFAGd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"WDropdownAdaptive.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/DropdownMenu/WDropdownAdaptive.vue"],"names":[],"mappings":"AAOA;AA4HA,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,SAAS,CAAA;AAElD,OAAO,EAAC,KAAK,KAAK,EAAyF,MAAM,KAAK,CAAA;AAkBtH,KAAK,WAAW,GAAG;IACjB;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE;QAAC,KAAK,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,OAAO,GAAG,SAAS,CAAA;KAAC,KAAK,KAAK,EAAE,CAAA;IAC/E,4HAA4H;IAC5H,MAAM,CAAC,EAAE,MAAM,KAAK,EAAE,CAAA;IACtB,oIAAoI;IACpI,OAAO,CAAC,EAAE,MAAM,KAAK,EAAE,CAAA;CACxB,CAAC;AA6HF,QAAA,MAAM,UAAU;;;;kFAGd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { useIsMobile } from "../../utils/mobile.js";
2
- import { useOverlay, useOverlayFrame } from "../../utils/Overlay.js";
3
- import OverlayHeader_default from "../Modal/components/OverlayHeader.vue.js";
2
+ import { useOverlay, useOverlayFrame, useOverlayFrameOptions } from "../../utils/Overlay.js";
3
+ import OverlayRegionPart_default from "../Modal/components/OverlayRegionPart.vue.js";
4
4
  import { computed, createBlock, defineComponent, h, markRaw, mergeProps, onMounted, openBlock, ref, resolveDynamicComponent, unref, useSlots, useTemplateRef, watch } from "vue";
5
5
  //#region src/components/DropdownMenu/WDropdownAdaptive.vue?vue&type=script&setup=true&lang.ts
6
6
  var WDropdownAdaptive_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
@@ -10,6 +10,7 @@ var WDropdownAdaptive_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*
10
10
  isOpen: { type: Boolean },
11
11
  parentElement: {},
12
12
  horizontalAlign: {},
13
+ dialog: { type: Boolean },
13
14
  frameClass: {},
14
15
  closeOnClick: { type: Boolean }
15
16
  },
@@ -26,11 +27,16 @@ var WDropdownAdaptive_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*
26
27
  emits: ["close:modal"],
27
28
  setup: () => {
28
29
  const isSheet = useOverlayFrame() === "sheet";
30
+ if (props.dialog) useOverlayFrameOptions(() => ({
31
+ padded: true,
32
+ fitContent: true
33
+ }));
29
34
  const renderHeader = () => slots.header ? h("div", { class: "flex items-center gap-2 py-2 text-base text-center font-semibold" }, slots.header()) : slots.toggle?.({
30
35
  isTop: false,
31
36
  unclickable: false
32
37
  });
33
- return () => [isSheet ? h(OverlayHeader_default, null, { default: renderHeader }) : null, slots.content?.()];
38
+ const renderTitle = () => h("span", { class: "inline-flex items-center gap-2" }, slots.header?.());
39
+ return () => [props.dialog ? h(OverlayRegionPart_default, { region: "title" }, { default: renderTitle }) : isSheet ? h(OverlayRegionPart_default, { region: "header" }, { default: renderHeader }) : null, slots.content?.()];
34
40
  }
35
41
  }));
36
42
  const overlay = useOverlay();
@@ -16,5 +16,7 @@ export interface DropdownAdaptiveProps extends Pick<OverlayDropdownOptions, 'fra
16
16
  parentElement?: OverlayAnchor | null;
17
17
  /** Aligns the dropdown to the parent without a tip, such as a field's menu with `HorizontalAlign.FILL`. Otherwise it is centered on the parent with a tip pointing at it. */
18
18
  horizontalAlign?: HorizontalAlign;
19
+ /** The content is a small form, such as a filter: the `header` slot is its title on every screen, and the frame pads the content and sizes to it. */
20
+ dialog?: boolean;
19
21
  }
20
22
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/DropdownMenu/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAA;AAC5D,OAAO,KAAK,EAAC,aAAa,EAAE,sBAAsB,EAAC,MAAM,iBAAiB,CAAA;AAE1E,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,aAAa,EAAE,eAAe,GAAG,YAAY,CAAC;IAC5F,sBAAsB;IACtB,MAAM,EAAE,OAAO,CAAA;IACf,qGAAqG;IACrG,aAAa,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,CAAA;IAC9C,+DAA+D;IAC/D,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,sBAAsB,EAAE,YAAY,GAAG,cAAc,CAAC;IACxG,0BAA0B;IAC1B,MAAM,EAAE,OAAO,CAAA;IACf,4FAA4F;IAC5F,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAA;IACpC,6KAA6K;IAC7K,eAAe,CAAC,EAAE,eAAe,CAAA;CAClC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/DropdownMenu/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAA;AAC5D,OAAO,KAAK,EAAC,aAAa,EAAE,sBAAsB,EAAC,MAAM,iBAAiB,CAAA;AAE1E,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,aAAa,EAAE,eAAe,GAAG,YAAY,CAAC;IAC5F,sBAAsB;IACtB,MAAM,EAAE,OAAO,CAAA;IACf,qGAAqG;IACrG,aAAa,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,CAAA;IAC9C,+DAA+D;IAC/D,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,sBAAsB,EAAE,YAAY,GAAG,cAAc,CAAC;IACxG,0BAA0B;IAC1B,MAAM,EAAE,OAAO,CAAA;IACf,4FAA4F;IAC5F,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAA;IACpC,6KAA6K;IAC7K,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,qJAAqJ;IACrJ,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"WFieldWrapper.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/FieldWrapper/WFieldWrapper.vue"],"names":[],"mappings":"AAoLA;AAiUA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,SAAS,CAAA;AAE9C,OAAO,EAAkB,KAAK,KAAK,EAAuE,MAAM,KAAK,CAAA;AAerH,KAAK,WAAW,GAAG,iBAAiB,GAAG;IACnC,uJAAuJ;IACvJ,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAC;AAyGJ,KAAK,WAAW,GAAG;IACjB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,KAAK,EAAE,CAAA;IACrB,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,KAAK,EAAE,CAAA;IACvB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,KAAK,EAAE,CAAA;IACrB,qDAAqD;IACrD,MAAM,EAAE,MAAM,KAAK,EAAE,CAAA;IACrB,2JAA2J;IAC3J,KAAK,EAAE,CAAC,KAAK,EAAE;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAC,KAAK,KAAK,EAAE,CAAA;IACpH,sGAAsG;IACtG,OAAO,EAAE,CAAC,KAAK,EAAE;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAC,KAAK,KAAK,EAAE,CAAA;CACvH,CAAC;AA4XF,QAAA,MAAM,UAAU;sBAtdO,cAAc,GAAG,IAAI;yBA2BhB,MAAM,eAAc,MAAM;;;;;;;;;;;6EAgcpD,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AAWzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"WFieldWrapper.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/FieldWrapper/WFieldWrapper.vue"],"names":[],"mappings":"AAqLA;AAkUA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,SAAS,CAAA;AAE9C,OAAO,EAAkB,KAAK,KAAK,EAAuE,MAAM,KAAK,CAAA;AAerH,KAAK,WAAW,GAAG,iBAAiB,GAAG;IACnC,uJAAuJ;IACvJ,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAC;AAyGJ,KAAK,WAAW,GAAG;IACjB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,KAAK,EAAE,CAAA;IACrB,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,KAAK,EAAE,CAAA;IACvB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,KAAK,EAAE,CAAA;IACrB,qDAAqD;IACrD,MAAM,EAAE,MAAM,KAAK,EAAE,CAAA;IACrB,2JAA2J;IAC3J,KAAK,EAAE,CAAC,KAAK,EAAE;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAC,KAAK,KAAK,EAAE,CAAA;IACpH,sGAAsG;IACtG,OAAO,EAAE,CAAC,KAAK,EAAE;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAC,KAAK,KAAK,EAAE,CAAA;CACvH,CAAC;AA6XF,QAAA,MAAM,UAAU;sBAvdO,cAAc,GAAG,IAAI;yBA2BhB,MAAM,eAAc,MAAM;;;;;;;;;;;6EAicpD,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AAWzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
@@ -170,7 +170,7 @@ var WFieldWrapper_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
170
170
  "pr-9": !__props.title && !_ctx.$slots.title && __props.filterField,
171
171
  "col-start-2 -col-end-1 row-start-1 -row-end-3 grid-cols-subgrid": __props.subgrid,
172
172
  "grid-cols-[1fr_auto]": !__props.subgrid,
173
- "px-3": __props.embedded
173
+ "px-[max(0px,calc(--spacing(3)-var(--w-frame-padding,0px)))]": __props.embedded
174
174
  }])
175
175
  }, [
176
176
  !unref(isSkeleton) ? (openBlock(), createElementBlock("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"WInfoCard.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/InfoCard/WInfoCard.vue"],"names":[],"mappings":"AA6BA;AA4DA,OAAO,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAA;AAIjD,KAAK,WAAW,GAAG;IACjB,+DAA+D;IAC/D,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,sBAAsB;IACtB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,2GAA2G;IAC3G,IAAI,CAAC,EAAE,YAAY,CAAA;IACnB,wEAAwE;IACxE,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B,CAAC;AAGF,KAAK,WAAW,GAAG;IACjB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAA;IAChB,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;CACpB,CAAC;AA8EF,QAAA,MAAM,UAAU,kSAEd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"WInfoCard.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/InfoCard/WInfoCard.vue"],"names":[],"mappings":"AAgCA;AAmEA,OAAO,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAA;AAIjD,KAAK,WAAW,GAAG;IACjB,+DAA+D;IAC/D,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,sBAAsB;IACtB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,2GAA2G;IAC3G,IAAI,CAAC,EAAE,YAAY,CAAA;IACnB,wEAAwE;IACxE,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B,CAAC;AAGF,KAAK,WAAW,GAAG;IACjB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAA;IAChB,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;CACpB,CAAC;AAsFF,QAAA,MAAM,UAAU,kSAEd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { SemanticType } from "../../utils/SemanticType.js";
2
+ import { useOverlayFrame } from "../../utils/Overlay.js";
2
3
  import IconNegativeInfo_default from "../../assets/icons/IconNegativeInfo.js";
3
4
  import { infoCardIconSemanticTypeMap, infoCardSemanticTypeMap } from "./models/utils.js";
4
5
  import { createBlock, createCommentVNode, createElementBlock, createElementVNode, defineComponent, normalizeClass, openBlock, renderSlot, resolveDynamicComponent, unref } from "vue";
@@ -14,8 +15,13 @@ var WInfoCard_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ define
14
15
  semanticType: {}
15
16
  },
16
17
  setup(__props) {
18
+ const frame = useOverlayFrame();
17
19
  return (_ctx, _cache) => {
18
- return openBlock(), createElementBlock("div", { class: normalizeClass(["sm-not:px---inner-margin sm-not:-mx---inner-margin p-4 sm:rounded-3xl", { [unref(infoCardSemanticTypeMap)[__props.semanticType ?? unref(SemanticType).SECONDARY]]: !__props.noBg }]) }, [
20
+ return openBlock(), createElementBlock("div", { class: normalizeClass(["p-4 sm:rounded-3xl", {
21
+ "sm-not:w-frame-bleed sm-not:px-[max(var(--w-frame-padding),1rem)]": unref(frame) !== null,
22
+ "sm-not:px---inner-margin sm-not:-mx---inner-margin": unref(frame) === null,
23
+ [unref(infoCardSemanticTypeMap)[__props.semanticType ?? unref(SemanticType).SECONDARY]]: !__props.noBg
24
+ }]) }, [
19
25
  renderSlot(_ctx.$slots, "top"),
20
26
  createElementVNode("div", _hoisted_1, [!__props.noIcon ? (openBlock(), createBlock(resolveDynamicComponent(__props.icon ?? unref(IconNegativeInfo_default)), {
21
27
  key: 0,
@@ -1,7 +1,7 @@
1
1
  import { useIsMobile } from "../../utils/mobile.js";
2
2
  import { useComponentStates } from "../../utils/useComponentStates.js";
3
- import { HorizontalAlign } from "../../utils/HorizontalAlign.js";
4
3
  import IconArrow_default from "../../assets/icons/IconArrow.js";
4
+ import { HorizontalAlign } from "../../utils/HorizontalAlign.js";
5
5
  import WDropdownAdaptive_default from "../DropdownMenu/WDropdownAdaptive.vue.js";
6
6
  import InputActionsButton_default from "./components/InputActionsButton.vue.js";
7
7
  import WInput_default from "./WInput.vue.js";
@@ -1 +1 @@
1
- {"version":3,"file":"InputSuggestEmbedded.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/Input/components/InputSuggestEmbedded.vue"],"names":[],"mappings":"AAUA;AAwCA,QAAA,IAAI,OAAO;;;CAAU,EAAE,OAAO,IAAW,CAAE;AAC3C,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,GAC3C;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,CAAC;AAC/C,QAAA,MAAM,UAAU,+QACd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"InputSuggestEmbedded.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/Input/components/InputSuggestEmbedded.vue"],"names":[],"mappings":"AAaA;AAkDA,QAAA,IAAI,OAAO;;;CAAU,EAAE,OAAO,IAAW,CAAE;AAC3C,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,GAC3C;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,CAAC;AAC/C,QAAA,MAAM,UAAU,+QACd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}