@milaboratories/uikit 2.6.1 → 2.6.3

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 (215) hide show
  1. package/.turbo/turbo-build.log +143 -143
  2. package/.turbo/turbo-type-check.log +1 -1
  3. package/CHANGELOG.md +14 -0
  4. package/dist/base/BtnBase.vue.js +18 -18
  5. package/dist/base/BtnBase.vue.js.map +1 -1
  6. package/dist/components/ContextProvider.vue.js.map +1 -1
  7. package/dist/components/DataTable/BaseCellComponent.vue.js +20 -20
  8. package/dist/components/DataTable/BaseCellComponent.vue.js.map +1 -1
  9. package/dist/components/DataTable/ColumnCaret.vue.js +6 -6
  10. package/dist/components/DataTable/ColumnCaret.vue.js.map +1 -1
  11. package/dist/components/DataTable/ColumnsCommandMenu.vue.js.map +1 -1
  12. package/dist/components/DataTable/RowsCommandMenu.vue.js.map +1 -1
  13. package/dist/components/DataTable/TScroll.vue.js +12 -12
  14. package/dist/components/DataTable/TScroll.vue.js.map +1 -1
  15. package/dist/components/DataTable/TableComponent.vue.js +5 -3
  16. package/dist/components/DataTable/TableComponent.vue.js.map +1 -1
  17. package/dist/components/DataTable/TdCell.vue.js +36 -36
  18. package/dist/components/DataTable/TdCell.vue.js.map +1 -1
  19. package/dist/components/DataTable/ThCell.vue.js +27 -27
  20. package/dist/components/DataTable/ThCell.vue.js.map +1 -1
  21. package/dist/components/DataTable/TrBody.vue.js +12 -12
  22. package/dist/components/DataTable/TrBody.vue.js.map +1 -1
  23. package/dist/components/DataTable/TrHead.vue.js.map +1 -1
  24. package/dist/components/DataTable/assets/TableIcon.vue.js +2 -2
  25. package/dist/components/DataTable/assets/TableIcon.vue.js.map +1 -1
  26. package/dist/components/DropdownListItem.vue.js +18 -18
  27. package/dist/components/DropdownListItem.vue.js.map +1 -1
  28. package/dist/components/HScroll.vue.js.map +1 -1
  29. package/dist/components/InputRange.vue.js.map +1 -1
  30. package/dist/components/LongText.vue.js +1 -1
  31. package/dist/components/LongText.vue.js.map +1 -1
  32. package/dist/components/LongText.vue3.js +1 -1
  33. package/dist/components/PlAccordion/ExpandTransition.vue.js.map +1 -1
  34. package/dist/components/PlAccordion/ExpandTransition.vue2.js.map +1 -1
  35. package/dist/components/PlAccordion/ExpandTransition.vue3.js +1 -1
  36. package/dist/components/PlAccordion/PlAccordion.vue.js.map +1 -1
  37. package/dist/components/PlAccordion/PlAccordionSection.vue2.js +21 -21
  38. package/dist/components/PlAccordion/PlAccordionSection.vue2.js.map +1 -1
  39. package/dist/components/PlAlert/PlAlert.vue.js +23 -23
  40. package/dist/components/PlAlert/PlAlert.vue.js.map +1 -1
  41. package/dist/components/PlAutocomplete/PlAutocomplete.vue.d.ts +4 -0
  42. package/dist/components/PlAutocomplete/PlAutocomplete.vue.js +112 -106
  43. package/dist/components/PlAutocomplete/PlAutocomplete.vue.js.map +1 -1
  44. package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue.d.ts +4 -0
  45. package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue.js +100 -94
  46. package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue.js.map +1 -1
  47. package/dist/components/PlBtnAccent/PlBtnAccent.vue.js.map +1 -1
  48. package/dist/components/PlBtnDanger/PlBtnDanger.vue.js.map +1 -1
  49. package/dist/components/PlBtnGhost/PlBtnGhost.vue.js +21 -21
  50. package/dist/components/PlBtnGhost/PlBtnGhost.vue.js.map +1 -1
  51. package/dist/components/PlBtnGroup/PlBtnGroup.vue.js +34 -34
  52. package/dist/components/PlBtnGroup/PlBtnGroup.vue.js.map +1 -1
  53. package/dist/components/PlBtnLink/PlBtnLink.vue.js +12 -12
  54. package/dist/components/PlBtnLink/PlBtnLink.vue.js.map +1 -1
  55. package/dist/components/PlBtnPrimary/PlBtnPrimary.vue.js.map +1 -1
  56. package/dist/components/PlBtnSecondary/PlBtnSecondary.vue.js.map +1 -1
  57. package/dist/components/PlBtnSplit/PlBtnSplit.vue.js +31 -31
  58. package/dist/components/PlBtnSplit/PlBtnSplit.vue.js.map +1 -1
  59. package/dist/components/PlChartHistogram/PlChartHistogram.vue2.js +18 -18
  60. package/dist/components/PlChartHistogram/PlChartHistogram.vue2.js.map +1 -1
  61. package/dist/components/PlChartStackedBar/Legends.vue2.js.map +1 -1
  62. package/dist/components/PlChartStackedBar/PlChartStackedBar.vue2.js +15 -15
  63. package/dist/components/PlChartStackedBar/PlChartStackedBar.vue2.js.map +1 -1
  64. package/dist/components/PlChartStackedBar/PlChartStackedBarCompact.vue2.js.map +1 -1
  65. package/dist/components/PlChartStackedBar/StackedRow.vue2.js.map +1 -1
  66. package/dist/components/PlChartStackedBar/StackedRowCompact.vue2.js.map +1 -1
  67. package/dist/components/PlCheckbox/PlCheckbox.vue.js +13 -13
  68. package/dist/components/PlCheckbox/PlCheckbox.vue.js.map +1 -1
  69. package/dist/components/PlCheckbox/PlCheckboxBase.vue.js +6 -6
  70. package/dist/components/PlCheckbox/PlCheckboxBase.vue.js.map +1 -1
  71. package/dist/components/PlCheckboxGroup/PlCheckboxGroup.vue.js +28 -28
  72. package/dist/components/PlCheckboxGroup/PlCheckboxGroup.vue.js.map +1 -1
  73. package/dist/components/PlChip/PlChip.vue.js +20 -20
  74. package/dist/components/PlChip/PlChip.vue.js.map +1 -1
  75. package/dist/components/PlClipboard/PlClipboard.vue2.js.map +1 -1
  76. package/dist/components/PlConfirmDialog.vue.js +14 -14
  77. package/dist/components/PlConfirmDialog.vue.js.map +1 -1
  78. package/dist/components/PlDialogModal/PlDialogModal.vue.js +30 -30
  79. package/dist/components/PlDialogModal/PlDialogModal.vue.js.map +1 -1
  80. package/dist/components/PlDropdown/OptionList.vue.js +40 -40
  81. package/dist/components/PlDropdown/OptionList.vue.js.map +1 -1
  82. package/dist/components/PlDropdown/PlDropdown.vue.d.ts +8 -0
  83. package/dist/components/PlDropdown/PlDropdown.vue.js +102 -95
  84. package/dist/components/PlDropdown/PlDropdown.vue.js.map +1 -1
  85. package/dist/components/PlDropdownLegacy/PlDropdownLegacy.vue.js +95 -93
  86. package/dist/components/PlDropdownLegacy/PlDropdownLegacy.vue.js.map +1 -1
  87. package/dist/components/PlDropdownLine/PlDropdownLine.vue.d.ts +1 -1
  88. package/dist/components/PlDropdownLine/PlDropdownLine.vue.js +4 -4
  89. package/dist/components/PlDropdownLine/PlDropdownLine.vue.js.map +1 -1
  90. package/dist/components/PlDropdownLine/ResizableInput.vue.js +12 -12
  91. package/dist/components/PlDropdownLine/ResizableInput.vue.js.map +1 -1
  92. package/dist/components/PlDropdownMulti/PlDropdownMulti.vue.d.ts +4 -0
  93. package/dist/components/PlDropdownMulti/PlDropdownMulti.vue.js +88 -82
  94. package/dist/components/PlDropdownMulti/PlDropdownMulti.vue.js.map +1 -1
  95. package/dist/components/PlDropdownMultiRef/PlDropdownMultiRef.vue.d.ts +1 -1
  96. package/dist/components/PlDropdownMultiRef/PlDropdownMultiRef.vue.js.map +1 -1
  97. package/dist/components/PlDropdownRef/PlDropdownRef.vue.js +11 -11
  98. package/dist/components/PlDropdownRef/PlDropdownRef.vue.js.map +1 -1
  99. package/dist/components/PlEditableTitle/PlEditableTitle.vue.d.ts +1 -1
  100. package/dist/components/PlEditableTitle/PlEditableTitle.vue.js +36 -36
  101. package/dist/components/PlEditableTitle/PlEditableTitle.vue.js.map +1 -1
  102. package/dist/components/PlElementList/PlElementList.vue.d.ts +20 -0
  103. package/dist/components/PlElementList/PlElementList.vue2.js +180 -135
  104. package/dist/components/PlElementList/PlElementList.vue2.js.map +1 -1
  105. package/dist/components/PlElementList/PlElementListItem.vue.d.ts +20 -0
  106. package/dist/components/PlElementList/PlElementListItem.vue2.js +101 -76
  107. package/dist/components/PlElementList/PlElementListItem.vue2.js.map +1 -1
  108. package/dist/components/PlErrorAlert/PlErrorAlert.vue2.js.map +1 -1
  109. package/dist/components/PlErrorBoundary/PlErrorBoundary.vue.js.map +1 -1
  110. package/dist/components/PlFileDialog/Local.vue.js +24 -24
  111. package/dist/components/PlFileDialog/Local.vue.js.map +1 -1
  112. package/dist/components/PlFileDialog/PlFileDialog.vue.js +38 -38
  113. package/dist/components/PlFileDialog/PlFileDialog.vue.js.map +1 -1
  114. package/dist/components/PlFileDialog/Remote.vue.js +2 -2
  115. package/dist/components/PlFileDialog/Remote.vue.js.map +1 -1
  116. package/dist/components/PlFileDialog/Shortcuts.vue2.js +4 -4
  117. package/dist/components/PlFileDialog/Shortcuts.vue2.js.map +1 -1
  118. package/dist/components/PlFileInput/PlFileInput.vue.d.ts +1 -1
  119. package/dist/components/PlFileInput/PlFileInput.vue.js +78 -76
  120. package/dist/components/PlFileInput/PlFileInput.vue.js.map +1 -1
  121. package/dist/components/PlIcon16/PlIcon16.vue2.js.map +1 -1
  122. package/dist/components/PlIcon24/PlIcon24.vue2.js.map +1 -1
  123. package/dist/components/PlLoaderCircular/PlLoaderCircular.vue.js +11 -11
  124. package/dist/components/PlLoaderCircular/PlLoaderCircular.vue.js.map +1 -1
  125. package/dist/components/PlLogView/PlLogView.vue.js +62 -60
  126. package/dist/components/PlLogView/PlLogView.vue.js.map +1 -1
  127. package/dist/components/PlNotificationAlert/PlNotificationAlert.vue.js +22 -22
  128. package/dist/components/PlNotificationAlert/PlNotificationAlert.vue.js.map +1 -1
  129. package/dist/components/PlNumberField/PlNumberField.vue.d.ts +6 -1
  130. package/dist/components/PlNumberField/PlNumberField.vue.js +66 -60
  131. package/dist/components/PlNumberField/PlNumberField.vue.js.map +1 -1
  132. package/dist/components/PlProgressBar/PlProgressBar.vue.js +12 -12
  133. package/dist/components/PlProgressBar/PlProgressBar.vue.js.map +1 -1
  134. package/dist/components/PlProgressCell/PlProgressCell.vue.js +20 -20
  135. package/dist/components/PlProgressCell/PlProgressCell.vue.js.map +1 -1
  136. package/dist/components/PlRadio/PlRadio.vue2.js.map +1 -1
  137. package/dist/components/PlRadio/PlRadioGroup.vue2.js +8 -8
  138. package/dist/components/PlRadio/PlRadioGroup.vue2.js.map +1 -1
  139. package/dist/components/PlSearchField/PlSearchField.vue2.js +19 -19
  140. package/dist/components/PlSearchField/PlSearchField.vue2.js.map +1 -1
  141. package/dist/components/PlSectionSeparator/PlSectionSeparator.vue2.js +8 -8
  142. package/dist/components/PlSectionSeparator/PlSectionSeparator.vue2.js.map +1 -1
  143. package/dist/components/PlSidebar/PlSidebarGroup.vue2.js.map +1 -1
  144. package/dist/components/PlSidebar/PlSidebarItem.vue2.js.map +1 -1
  145. package/dist/components/PlSlideModal/PlPureSlideModal.vue.js +5 -3
  146. package/dist/components/PlSlideModal/PlPureSlideModal.vue.js.map +1 -1
  147. package/dist/components/PlSlideModal/PlSlideModal.vue2.js.map +1 -1
  148. package/dist/components/PlSplash/PlSplash.vue.js +16 -16
  149. package/dist/components/PlSplash/PlSplash.vue.js.map +1 -1
  150. package/dist/components/PlStatusTag/PlStatusTag.vue.js +7 -7
  151. package/dist/components/PlStatusTag/PlStatusTag.vue.js.map +1 -1
  152. package/dist/components/PlSvg/PlSvg.vue2.js.map +1 -1
  153. package/dist/components/PlTabs/PlTabs.vue.js +18 -18
  154. package/dist/components/PlTabs/PlTabs.vue.js.map +1 -1
  155. package/dist/components/PlTabs/Tab.vue.js +9 -9
  156. package/dist/components/PlTabs/Tab.vue.js.map +1 -1
  157. package/dist/components/PlTextArea/PlTextArea.vue.js +55 -53
  158. package/dist/components/PlTextArea/PlTextArea.vue.js.map +1 -1
  159. package/dist/components/PlTextField/PlTextField.vue.d.ts +4 -0
  160. package/dist/components/PlTextField/PlTextField.vue.js +66 -60
  161. package/dist/components/PlTextField/PlTextField.vue.js.map +1 -1
  162. package/dist/components/PlToggleSwitch/PlToggleSwitch.vue.js +14 -14
  163. package/dist/components/PlToggleSwitch/PlToggleSwitch.vue.js.map +1 -1
  164. package/dist/components/PlTooltip/Beak.vue.js +2 -2
  165. package/dist/components/PlTooltip/Beak.vue.js.map +1 -1
  166. package/dist/components/PlTooltip/PlTooltip.vue.js +50 -50
  167. package/dist/components/PlTooltip/PlTooltip.vue.js.map +1 -1
  168. package/dist/components/Scrollable.vue.js.map +1 -1
  169. package/dist/components/Slider.vue.js +35 -35
  170. package/dist/components/Slider.vue.js.map +1 -1
  171. package/dist/components/SliderRange.vue.js +47 -47
  172. package/dist/components/SliderRange.vue.js.map +1 -1
  173. package/dist/components/SliderRangeTriple.vue.js +47 -47
  174. package/dist/components/SliderRangeTriple.vue.js.map +1 -1
  175. package/dist/components/TabItem.vue.js.map +1 -1
  176. package/dist/components/ThemeSwitcher.vue.js +2 -2
  177. package/dist/components/ThemeSwitcher.vue.js.map +1 -1
  178. package/dist/components/TransitionSlidePanel.vue.js.map +1 -1
  179. package/dist/components/VScroll.vue.js.map +1 -1
  180. package/dist/components/contextMenu/Menu.vue2.js +12 -12
  181. package/dist/components/contextMenu/Menu.vue2.js.map +1 -1
  182. package/dist/composition/filters/metadata.d.ts +205 -0
  183. package/dist/composition/filters/metadata.js +129 -19
  184. package/dist/composition/filters/metadata.js.map +1 -1
  185. package/dist/index.js +1 -1
  186. package/dist/layout/PlBlockPage/PlBlockPage.vue.js +27 -27
  187. package/dist/layout/PlBlockPage/PlBlockPage.vue.js.map +1 -1
  188. package/dist/layout/PlContainer/PlContainer.vue.js +10 -10
  189. package/dist/layout/PlContainer/PlContainer.vue.js.map +1 -1
  190. package/dist/layout/PlGrid/PlGrid.vue.js.map +1 -1
  191. package/dist/layout/PlRow/PlRow.vue.js +8 -8
  192. package/dist/layout/PlRow/PlRow.vue.js.map +1 -1
  193. package/dist/layout/PlSpacer/PlSpacer.vue.js.map +1 -1
  194. package/dist/utils/DoubleContour.vue.d.ts +7 -1
  195. package/dist/utils/DoubleContour.vue.js +20 -13
  196. package/dist/utils/DoubleContour.vue.js.map +1 -1
  197. package/dist/utils/DoubleContour.vue3.js +7 -0
  198. package/dist/utils/DoubleContour.vue3.js.map +1 -0
  199. package/dist/utils/DropdownOverlay/DropdownOverlay.vue.js.map +1 -1
  200. package/dist/utils/PlCloseModalBtn.vue.js +2 -2
  201. package/dist/utils/PlCloseModalBtn.vue.js.map +1 -1
  202. package/dist/utils/TextLabel.vue.js.map +1 -1
  203. package/package.json +5 -5
  204. package/src/components/PlAutocomplete/PlAutocomplete.vue +6 -1
  205. package/src/components/PlAutocompleteMulti/PlAutocompleteMulti.vue +6 -1
  206. package/src/components/PlDropdown/PlDropdown.vue +12 -2
  207. package/src/components/PlDropdownMulti/PlDropdownMulti.vue +6 -1
  208. package/src/components/PlElementList/PlElementList.vue +40 -6
  209. package/src/components/PlElementList/PlElementListItem.vue +64 -47
  210. package/src/components/PlNumberField/PlNumberField.vue +4 -1
  211. package/src/components/PlTextField/PlTextField.vue +5 -1
  212. package/src/composition/filters/metadata.ts +105 -0
  213. package/src/utils/DoubleContour.vue +68 -2
  214. package/dist/utils/DoubleContour.vue2.js +0 -7
  215. package/dist/utils/DoubleContour.vue2.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  (function(){"use strict";try{if(typeof document<"u"){var o=document.createElement("style");o.appendChild(document.createTextNode(".pl-dialog-modal{--padding-top: 24px;--border-radius: 16px;--title-padding: 24px 24px 0 24px;min-height:400px;max-height:calc(100vh - 48px);max-width:calc(100% - 48px);min-width:448px;position:absolute;top:50%;left:50%;transform:translateY(-50%) translate(-50%);background-color:#fff;padding-top:var(--padding-top);display:flex;flex-direction:column;box-shadow:0 2px 8px #24223d1f;border-radius:var(--border-radius)}.pl-dialog-modal.has-title{--padding-top: 0}.pl-dialog-modal.has-content{--title-padding: 24px}.pl-dialog-modal__title{display:flex;align-items:center;font-family:var(--font-family-base);font-size:28px;font-style:normal;font-weight:500;line-height:32px;letter-spacing:-.56px;padding:var(--title-padding)}.pl-dialog-modal__content{flex:1;display:flex;flex-direction:column;gap:24px;padding:16px 24px 40px;min-height:0;line-height:20px;--thumb-color: var(--ic-02);overflow-y:auto}.pl-dialog-modal__content::-webkit-scrollbar{width:var(--scrollbar-width, 6px);height:5px;background-color:transparent;display:block}.pl-dialog-modal__content::-webkit-scrollbar-thumb{background:var(--thumb-color);border-radius:5px}.pl-dialog-modal__content::-webkit-scrollbar-thumb:hover{--thumb-color: var(--border-color-focus)}.pl-dialog-modal__content.no-content-gutters{padding:0}.pl-dialog-modal__content.no-top-content-gutter{padding-top:0}.pl-dialog-modal__actions{display:flex;align-items:center;gap:6px;min-height:88px;padding:0 24px}.pl-dialog-modal__actions button{min-width:160px}.pl-dialog-modal__actions.has-top-border{border-top:1px solid var(--border-color-div-grey)}.pl-dialog-modal .alert-error{background-color:var(--txt-error);color:#fff;font-weight:500;padding:12px;border-radius:6px}.pl-dialog-modal .alert-warning{background-color:#fee0a3;font-weight:500;padding:12px;border-radius:6px}.pl-dialog-modal__shadow{position:absolute;z-index:var(--z-dialog);top:var(--title-bar-height);left:0;right:0;bottom:0;background-color:#000000a3}.pl-dialog-modal .close-modal-btn{position:absolute;top:4px;right:4px}")),document.head.appendChild(o)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
2
- import { defineComponent as B, useSlots as H, ref as _, computed as v, createBlock as p, openBlock as t, Teleport as V, createVNode as w, Transition as b, withCtx as x, createElementBlock as u, createCommentVNode as l, createElementVNode as c, mergeProps as T, withModifiers as $, renderSlot as r, normalizeClass as f } from "vue";
2
+ import { defineComponent as B, useSlots as H, ref as x, computed as v, createBlock as p, openBlock as o, Teleport as V, createVNode as w, Transition as b, withCtx as T, createElementBlock as r, createCommentVNode as i, createElementVNode as f, mergeProps as _, withModifiers as $, renderSlot as m, normalizeClass as h } from "vue";
3
3
  import { useEventListener as E } from "../../composition/useEventListener.js";
4
4
 
5
5
  import G from "../../utils/PlCloseModalBtn.vue.js";
@@ -25,66 +25,66 @@ const O = {
25
25
  size: { default: void 0 }
26
26
  },
27
27
  emits: ["update:modelValue"],
28
- setup(h, { emit: g }) {
29
- const o = H(), i = g, n = h, s = _(), y = v(() => {
30
- const { width: e, height: a, minHeight: m, maxHeight: C, size: d } = n;
31
- return d === "small" ? {
28
+ setup(t, { emit: g }) {
29
+ const a = H(), n = g, s = t, d = x(), y = v(() => {
30
+ const { width: e, height: l, minHeight: c, maxHeight: C, size: u } = s;
31
+ return u === "small" ? {
32
32
  width: "448px",
33
33
  height: "440px",
34
34
  minHeight: "auto",
35
35
  maxHeight: "auto"
36
- } : d === "medium" ? {
36
+ } : u === "medium" ? {
37
37
  width: "720px",
38
38
  height: "720px",
39
39
  minHeight: "auto",
40
40
  maxHeight: "auto"
41
- } : d === "large" ? {
41
+ } : u === "large" ? {
42
42
  width: "1080px",
43
43
  height: "880px",
44
44
  minHeight: "auto",
45
45
  maxHeight: "auto"
46
- } : { width: e, height: a, minHeight: m, maxHeight: C };
46
+ } : { width: e, height: l, minHeight: c, maxHeight: C };
47
47
  });
48
48
  function k(e) {
49
- s.value && n.closeOnOutsideClick && document.contains(e.target) && !s.value.contains(e.target) && i("update:modelValue", !1);
49
+ d.value && s.closeOnOutsideClick && document.contains(e.target) && !d.value.contains(e.target) && n("update:modelValue", !1);
50
50
  }
51
51
  return E(document.body, "keyup", (e) => {
52
- n.modelValue && e.code === "Escape" && i("update:modelValue", !1);
53
- }), (e, a) => (t(), p(V, { to: "body" }, [
52
+ s.modelValue && e.code === "Escape" && n("update:modelValue", !1);
53
+ }), (e, l) => (o(), p(V, { to: "body" }, [
54
54
  w(b, { name: "dialog" }, {
55
- default: x(() => [
56
- e.modelValue ? (t(), u("div", {
55
+ default: T(() => [
56
+ t.modelValue ? (o(), r("div", {
57
57
  key: 0,
58
58
  class: "pl-dialog-modal__shadow",
59
59
  onClick: k
60
60
  }, [
61
- c("div", T(e.$attrs, {
61
+ f("div", _(e.$attrs, {
62
62
  ref_key: "modal",
63
- ref: s,
64
- class: ["pl-dialog-modal", { "has-title": o.title, "has-content": o.default }],
63
+ ref: d,
64
+ class: ["pl-dialog-modal", { "has-title": a.title, "has-content": a.default }],
65
65
  style: y.value
66
66
  }), [
67
- e.closable ? (t(), p(G, {
67
+ t.closable ? (o(), p(G, {
68
68
  key: 0,
69
69
  class: "close-modal-btn",
70
- onClick: a[0] || (a[0] = $((m) => i("update:modelValue", !1), ["stop"]))
71
- })) : l("", !0),
72
- o.title ? (t(), u("div", O, [
73
- r(e.$slots, "title")
74
- ])) : l("", !0),
75
- c("div", {
76
- class: f(["pl-dialog-modal__content", { "no-content-gutters": e.noContentGutters, "no-top-content-gutter": e.noTopContentGutter }])
70
+ onClick: l[0] || (l[0] = $((c) => n("update:modelValue", !1), ["stop"]))
71
+ })) : i("", !0),
72
+ a.title ? (o(), r("div", O, [
73
+ m(e.$slots, "title")
74
+ ])) : i("", !0),
75
+ f("div", {
76
+ class: h(["pl-dialog-modal__content", { "no-content-gutters": t.noContentGutters, "no-top-content-gutter": t.noTopContentGutter }])
77
77
  }, [
78
- r(e.$slots, "default")
78
+ m(e.$slots, "default")
79
79
  ], 2),
80
- o.actions ? (t(), u("div", {
80
+ a.actions ? (o(), r("div", {
81
81
  key: 2,
82
- class: f(["pl-dialog-modal__actions", { "has-top-border": e.actionsHasTopBorder }])
82
+ class: h(["pl-dialog-modal__actions", { "has-top-border": t.actionsHasTopBorder }])
83
83
  }, [
84
- r(e.$slots, "actions")
85
- ], 2)) : l("", !0)
84
+ m(e.$slots, "actions")
85
+ ], 2)) : i("", !0)
86
86
  ], 16)
87
- ])) : l("", !0)
87
+ ])) : i("", !0)
88
88
  ]),
89
89
  _: 3
90
90
  })
@@ -1 +1 @@
1
- {"version":3,"file":"PlDialogModal.vue.js","sources":["../../../src/components/PlDialogModal/PlDialogModal.vue"],"sourcesContent":["<script lang=\"ts\">\nexport default {\n inheritAttrs: false,\n};\n</script>\n\n<script lang=\"ts\" setup>\nimport { useEventListener } from '../../composition/useEventListener';\nimport './pl-dialog-modal.scss';\nimport { computed, ref } from 'vue';\nimport PlCloseModalBtn from '../../utils/PlCloseModalBtn.vue';\nimport type { Size } from '../../types';\n\nconst slots = defineSlots<{\n title?: () => unknown;\n default?: () => unknown;\n actions?: () => unknown;\n}>();\n\nconst emit = defineEmits(['update:modelValue']);\n\nconst props = withDefaults(\n defineProps<{\n /**\n * Determines whether the modal is open\n */\n modelValue: boolean;\n /**\n * css width (default value is `448px`)\n */\n width?: string;\n /**\n * css height (default value is `auto`)\n */\n height?: string;\n /**\n * css min-height (default value is `auto`)\n */\n minHeight?: string;\n /**\n * css min-height (default value is `auto` but recommended is 440px)\n */\n maxHeight?: string;\n /**\n * Enables a button to close the modal (default: `true`)\n */\n closable?: boolean;\n /**\n * If `true` content gutters are removed\n */\n noContentGutters?: boolean;\n /**\n * If `true` top content gutter is removed\n */\n noTopContentGutter?: boolean;\n /**\n * Actions slot has a top border (default: `true`)\n */\n actionsHasTopBorder?: boolean;\n /**\n * If `true`, the modal window closes when clicking outside the modal area (default: `true`)\n */\n closeOnOutsideClick?: boolean;\n /**\n * Predefined size (standard small | medium | large). Takes precedence over (min|max)(width|height) properties. Not defined by default.\n */\n size?: Size | undefined;\n }>(),\n {\n width: '448px',\n minHeight: 'auto',\n maxHeight: 'auto',\n height: 'auto',\n closable: true,\n noContentGutters: false,\n actionsHasTopBorder: true,\n size: undefined,\n },\n);\n\nconst modal = ref<HTMLElement>();\n\nconst style = computed(() => {\n const { width, height, minHeight, maxHeight, size } = props;\n\n if (size === 'small') {\n return {\n width: '448px',\n height: '440px',\n minHeight: 'auto',\n maxHeight: 'auto',\n };\n }\n\n if (size === 'medium') {\n return {\n width: '720px',\n height: '720px',\n minHeight: 'auto',\n maxHeight: 'auto',\n };\n }\n\n if (size === 'large') {\n return {\n width: '1080px',\n height: '880px',\n minHeight: 'auto',\n maxHeight: 'auto',\n };\n }\n\n return { width, height, minHeight, maxHeight };\n});\n\nfunction onClickShadow(ev: Event) {\n if (modal.value && props.closeOnOutsideClick && document.contains(ev.target as Node) && !modal.value.contains(ev.target as Node)) {\n emit('update:modelValue', false);\n }\n}\n\nuseEventListener(document.body, 'keyup', (ev) => {\n if (props.modelValue && ev.code === 'Escape') {\n emit('update:modelValue', false);\n }\n});\n</script>\n\n<template>\n <Teleport to=\"body\">\n <Transition name=\"dialog\">\n <div v-if=\"modelValue\" class=\"pl-dialog-modal__shadow\" @click=\"onClickShadow\">\n <div\n v-bind=\"$attrs\"\n ref=\"modal\"\n class=\"pl-dialog-modal\"\n :class=\"{ 'has-title': slots.title, 'has-content': slots.default }\"\n :style=\"style\"\n >\n <PlCloseModalBtn v-if=\"closable\" class=\"close-modal-btn\" @click.stop=\"emit('update:modelValue', false)\" />\n <div v-if=\"slots.title\" class=\"pl-dialog-modal__title\">\n <slot name=\"title\" />\n </div>\n <div class=\"pl-dialog-modal__content\" :class=\"{ 'no-content-gutters': noContentGutters, 'no-top-content-gutter': noTopContentGutter }\">\n <slot />\n </div>\n <div v-if=\"slots.actions\" class=\"pl-dialog-modal__actions\" :class=\"{ 'has-top-border': actionsHasTopBorder }\">\n <slot name=\"actions\" />\n </div>\n </div>\n </div>\n </Transition>\n </Teleport>\n</template>\n"],"names":["__default__","slots","_useSlots","emit","__emit","props","__props","modal","ref","style","computed","width","height","minHeight","maxHeight","size","onClickShadow","ev","useEventListener"],"mappings":";;;;;;;GACAA,IAAe;AAAA,EACb,cAAc;AAChB;;;;;;;;;;;;;;;;;;AAUA,UAAMC,IAAQC,EAAA,GAMRC,IAAOC,GAEPC,IAAQC,GA2DRC,IAAQC,EAAA,GAERC,IAAQC,EAAS,MAAM;AAC3B,YAAM,EAAE,OAAAC,GAAO,QAAAC,GAAQ,WAAAC,GAAW,WAAAC,GAAW,MAAAC,MAASV;AAEtD,aAAIU,MAAS,UACJ;AAAA,QACL,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,WAAW;AAAA,MAAA,IAIXA,MAAS,WACJ;AAAA,QACL,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,WAAW;AAAA,MAAA,IAIXA,MAAS,UACJ;AAAA,QACL,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,WAAW;AAAA,MAAA,IAIR,EAAE,OAAAJ,GAAO,QAAAC,GAAQ,WAAAC,GAAW,WAAAC,EAAA;AAAA,IACrC,CAAC;AAED,aAASE,EAAcC,GAAW;AAChC,MAAIV,EAAM,SAASF,EAAM,uBAAuB,SAAS,SAASY,EAAG,MAAc,KAAK,CAACV,EAAM,MAAM,SAASU,EAAG,MAAc,KAC7Hd,EAAK,qBAAqB,EAAK;AAAA,IAEnC;AAEA,WAAAe,EAAiB,SAAS,MAAM,SAAS,CAACD,MAAO;AAC/C,MAAIZ,EAAM,cAAcY,EAAG,SAAS,YAClCd,EAAK,qBAAqB,EAAK;AAAA,IAEnC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"PlDialogModal.vue.js","sources":["../../../src/components/PlDialogModal/PlDialogModal.vue"],"sourcesContent":["<script lang=\"ts\">\nexport default {\n inheritAttrs: false,\n};\n</script>\n\n<script lang=\"ts\" setup>\nimport { useEventListener } from '../../composition/useEventListener';\nimport './pl-dialog-modal.scss';\nimport { computed, ref } from 'vue';\nimport PlCloseModalBtn from '../../utils/PlCloseModalBtn.vue';\nimport type { Size } from '../../types';\n\nconst slots = defineSlots<{\n title?: () => unknown;\n default?: () => unknown;\n actions?: () => unknown;\n}>();\n\nconst emit = defineEmits(['update:modelValue']);\n\nconst props = withDefaults(\n defineProps<{\n /**\n * Determines whether the modal is open\n */\n modelValue: boolean;\n /**\n * css width (default value is `448px`)\n */\n width?: string;\n /**\n * css height (default value is `auto`)\n */\n height?: string;\n /**\n * css min-height (default value is `auto`)\n */\n minHeight?: string;\n /**\n * css min-height (default value is `auto` but recommended is 440px)\n */\n maxHeight?: string;\n /**\n * Enables a button to close the modal (default: `true`)\n */\n closable?: boolean;\n /**\n * If `true` content gutters are removed\n */\n noContentGutters?: boolean;\n /**\n * If `true` top content gutter is removed\n */\n noTopContentGutter?: boolean;\n /**\n * Actions slot has a top border (default: `true`)\n */\n actionsHasTopBorder?: boolean;\n /**\n * If `true`, the modal window closes when clicking outside the modal area (default: `true`)\n */\n closeOnOutsideClick?: boolean;\n /**\n * Predefined size (standard small | medium | large). Takes precedence over (min|max)(width|height) properties. Not defined by default.\n */\n size?: Size | undefined;\n }>(),\n {\n width: '448px',\n minHeight: 'auto',\n maxHeight: 'auto',\n height: 'auto',\n closable: true,\n noContentGutters: false,\n actionsHasTopBorder: true,\n size: undefined,\n },\n);\n\nconst modal = ref<HTMLElement>();\n\nconst style = computed(() => {\n const { width, height, minHeight, maxHeight, size } = props;\n\n if (size === 'small') {\n return {\n width: '448px',\n height: '440px',\n minHeight: 'auto',\n maxHeight: 'auto',\n };\n }\n\n if (size === 'medium') {\n return {\n width: '720px',\n height: '720px',\n minHeight: 'auto',\n maxHeight: 'auto',\n };\n }\n\n if (size === 'large') {\n return {\n width: '1080px',\n height: '880px',\n minHeight: 'auto',\n maxHeight: 'auto',\n };\n }\n\n return { width, height, minHeight, maxHeight };\n});\n\nfunction onClickShadow(ev: Event) {\n if (modal.value && props.closeOnOutsideClick && document.contains(ev.target as Node) && !modal.value.contains(ev.target as Node)) {\n emit('update:modelValue', false);\n }\n}\n\nuseEventListener(document.body, 'keyup', (ev) => {\n if (props.modelValue && ev.code === 'Escape') {\n emit('update:modelValue', false);\n }\n});\n</script>\n\n<template>\n <Teleport to=\"body\">\n <Transition name=\"dialog\">\n <div v-if=\"modelValue\" class=\"pl-dialog-modal__shadow\" @click=\"onClickShadow\">\n <div\n v-bind=\"$attrs\"\n ref=\"modal\"\n class=\"pl-dialog-modal\"\n :class=\"{ 'has-title': slots.title, 'has-content': slots.default }\"\n :style=\"style\"\n >\n <PlCloseModalBtn v-if=\"closable\" class=\"close-modal-btn\" @click.stop=\"emit('update:modelValue', false)\" />\n <div v-if=\"slots.title\" class=\"pl-dialog-modal__title\">\n <slot name=\"title\" />\n </div>\n <div class=\"pl-dialog-modal__content\" :class=\"{ 'no-content-gutters': noContentGutters, 'no-top-content-gutter': noTopContentGutter }\">\n <slot />\n </div>\n <div v-if=\"slots.actions\" class=\"pl-dialog-modal__actions\" :class=\"{ 'has-top-border': actionsHasTopBorder }\">\n <slot name=\"actions\" />\n </div>\n </div>\n </div>\n </Transition>\n </Teleport>\n</template>\n"],"names":["__default__","slots","_useSlots","emit","__emit","props","__props","modal","ref","style","computed","width","height","minHeight","maxHeight","size","onClickShadow","ev","useEventListener","_createBlock","_Teleport","_createVNode","_Transition","_createElementBlock","_createElementVNode","_mergeProps","_ctx","PlCloseModalBtn","_openBlock","_hoisted_1","_renderSlot","_normalizeClass"],"mappings":";;;;;;;GACAA,IAAe;AAAA,EACb,cAAc;AAChB;;;;;;;;;;;;;;;;;;AAUA,UAAMC,IAAQC,EAAA,GAMRC,IAAOC,GAEPC,IAAQC,GA2DRC,IAAQC,EAAA,GAERC,IAAQC,EAAS,MAAM;AAC3B,YAAM,EAAE,OAAAC,GAAO,QAAAC,GAAQ,WAAAC,GAAW,WAAAC,GAAW,MAAAC,MAASV;AAEtD,aAAIU,MAAS,UACJ;AAAA,QACL,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,WAAW;AAAA,MAAA,IAIXA,MAAS,WACJ;AAAA,QACL,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,WAAW;AAAA,MAAA,IAIXA,MAAS,UACJ;AAAA,QACL,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,WAAW;AAAA,MAAA,IAIR,EAAE,OAAAJ,GAAO,QAAAC,GAAQ,WAAAC,GAAW,WAAAC,EAAA;AAAA,IACrC,CAAC;AAED,aAASE,EAAcC,GAAW;AAChC,MAAIV,EAAM,SAASF,EAAM,uBAAuB,SAAS,SAASY,EAAG,MAAc,KAAK,CAACV,EAAM,MAAM,SAASU,EAAG,MAAc,KAC7Hd,EAAK,qBAAqB,EAAK;AAAA,IAEnC;AAEA,WAAAe,EAAiB,SAAS,MAAM,SAAS,CAACD,MAAO;AAC/C,MAAIZ,EAAM,cAAcY,EAAG,SAAS,YAClCd,EAAK,qBAAqB,EAAK;AAAA,IAEnC,CAAC,mBAICgB,EAuBWC,GAAA,EAvBD,IAAG,UAAM;AAAA,MACjBC,EAqBaC,GAAA,EArBD,MAAK,YAAQ;AAAA,mBACvB,MAmBM;AAAA,UAnBKhB,EAAA,mBAAXiB,EAmBM,OAAA;AAAA;YAnBiB,OAAM;AAAA,YAA2B,SAAOP;AAAA,UAAA;YAC7DQ,EAiBM,OAjBNC,EAiBMC,EAAA,QAhBU;AAAA,uBACV;AAAA,cAAJ,KAAInB;AAAA,cACJ,OAAK,CAAC,mBAAiB,EAAA,aACAN,EAAM,OAAK,eAAiBA,EAAM,SAAO;AAAA,cAC/D,OAAOQ,EAAA;AAAA,YAAA;cAEeH,EAAA,iBAAvBa,EAA0GQ,GAAA;AAAA;gBAAzE,OAAM;AAAA,gBAAmB,kCAAYxB,EAAI,qBAAA,EAAA,GAAA,CAAA,MAAA,CAAA;AAAA,cAAA;cAC/DF,EAAM,SAAjB2B,EAAA,GAAAL,EAEM,OAFNM,GAEM;AAAA,gBADJC,EAAqBJ,EAAA,QAAA,OAAA;AAAA,cAAA;cAEvBF,EAEM,OAAA;AAAA,gBAFD,OAAKO,EAAA,CAAC,4BAA0B,EAAA,sBAAiCzB,EAAA,2CAA2CA,EAAA,oBAAkB,CAAA;AAAA,cAAA;gBACjIwB,EAAQJ,EAAA,QAAA,SAAA;AAAA,cAAA;cAECzB,EAAM,gBAAjBsB,EAEM,OAAA;AAAA;gBAFoB,OAAKQ,EAAA,CAAC,4BAA0B,EAAA,kBAA6BzB,EAAA,qBAAmB,CAAA;AAAA,cAAA;gBACxGwB,EAAuBJ,EAAA,QAAA,SAAA;AAAA,cAAA;;;;;;;;;"}
@@ -1,7 +1,7 @@
1
- import { defineComponent as I, useTemplateRef as L, computed as c, createBlock as u, openBlock as o, unref as O, withCtx as f, createElementBlock as s, createCommentVNode as m, Fragment as a, renderList as p, normalizeClass as h, createVNode as g, createElementVNode as k, createTextVNode as V, toDisplayString as $, withModifiers as y } from "vue";
2
- import z from "../DropdownListItem.vue.js";
1
+ import { defineComponent as I, useTemplateRef as L, computed as u, createBlock as a, openBlock as o, unref as O, withCtx as m, createElementBlock as s, createCommentVNode as h, Fragment as d, renderList as v, normalizeClass as g, createVNode as k, createElementVNode as y, createTextVNode as V, toDisplayString as $, withModifiers as z } from "vue";
2
+ import C from "../DropdownListItem.vue.js";
3
3
  import w from "../../utils/DropdownOverlay/DropdownOverlay.vue.js";
4
- import _ from "../../utils/TextLabel.vue.js";
4
+ import x from "../../utils/TextLabel.vue.js";
5
5
  const B = {
6
6
  key: 1,
7
7
  class: "nothing-found"
@@ -14,69 +14,69 @@ const B = {
14
14
  optionSize: {},
15
15
  selectOption: { type: Function }
16
16
  },
17
- setup(C, { expose: S }) {
18
- const r = C, l = L("overlay"), A = c(() => {
19
- var e;
20
- return (e = l.value) == null ? void 0 : e.listRef;
21
- }), d = c(() => r.groups.size > 0), N = c(() => {
22
- let e = 0;
23
- for (const v of r.groups.values())
24
- e += v.length;
25
- return e + r.rest.length;
17
+ setup(e, { expose: S }) {
18
+ const i = e, r = L("overlay"), A = u(() => {
19
+ var t;
20
+ return (t = r.value) == null ? void 0 : t.listRef;
21
+ }), p = u(() => i.groups.size > 0), N = u(() => {
22
+ let t = 0;
23
+ for (const f of i.groups.values())
24
+ t += f.length;
25
+ return t + i.rest.length;
26
26
  });
27
27
  return S({
28
28
  scrollIntoActive: () => {
29
- var e;
30
- (e = l.value) == null || e.scrollIntoActive();
29
+ var t;
30
+ (t = r.value) == null || t.scrollIntoActive();
31
31
  },
32
32
  listRef: A
33
- }), (e, v) => (o(), u(O(w), {
33
+ }), (t, f) => (o(), a(O(w), {
34
34
  ref_key: "overlay",
35
- ref: l,
35
+ ref: r,
36
36
  root: e.rootRef,
37
37
  class: "pl-dropdown__options",
38
38
  tabindex: "-1",
39
39
  gap: 3
40
40
  }, {
41
- default: f(() => [
42
- (o(!0), s(a, null, p(e.groups.entries(), ([t, i]) => (o(), s("div", {
43
- key: t,
44
- class: h({ "group-container": d.value })
41
+ default: m(() => [
42
+ (o(!0), s(d, null, v(e.groups.entries(), ([n, c]) => (o(), s("div", {
43
+ key: n,
44
+ class: g({ "group-container": p.value })
45
45
  }, [
46
- g(_, null, {
47
- default: f(() => [
48
- V($(t), 1)
46
+ k(x, null, {
47
+ default: m(() => [
48
+ V($(n), 1)
49
49
  ]),
50
50
  _: 2
51
51
  }, 1024),
52
- k("div", null, [
53
- (o(!0), s(a, null, p(i, (n, R) => (o(), u(z, {
52
+ y("div", null, [
53
+ (o(!0), s(d, null, v(c, (l, R) => (o(), a(C, {
54
54
  key: R,
55
- option: n,
56
- "is-selected": n.isSelected,
57
- "is-hovered": n.isActive,
55
+ option: l,
56
+ "is-selected": l.isSelected,
57
+ "is-hovered": l.isActive,
58
58
  size: e.optionSize,
59
- onClick: y((b) => e.selectOption(n.value), ["stop"])
59
+ onClick: z((b) => e.selectOption(l.value), ["stop"])
60
60
  }, null, 8, ["option", "is-selected", "is-hovered", "size", "onClick"]))), 128))
61
61
  ])
62
62
  ], 2))), 128)),
63
63
  e.rest.length ? (o(), s("div", {
64
64
  key: 0,
65
- class: h({ "group-container": d.value })
65
+ class: g({ "group-container": p.value })
66
66
  }, [
67
- g(_),
68
- k("div", null, [
69
- (o(!0), s(a, null, p(e.rest, (t, i) => (o(), u(z, {
70
- key: i,
71
- option: t,
72
- "is-selected": t.isSelected,
73
- "is-hovered": t.isActive,
67
+ k(x),
68
+ y("div", null, [
69
+ (o(!0), s(d, null, v(e.rest, (n, c) => (o(), a(C, {
70
+ key: c,
71
+ option: n,
72
+ "is-selected": n.isSelected,
73
+ "is-hovered": n.isActive,
74
74
  size: e.optionSize,
75
- onClick: y((n) => e.selectOption(t.value), ["stop"])
75
+ onClick: z((l) => e.selectOption(n.value), ["stop"])
76
76
  }, null, 8, ["option", "is-selected", "is-hovered", "size", "onClick"]))), 128))
77
77
  ])
78
- ], 2)) : m("", !0),
79
- N.value ? m("", !0) : (o(), s("div", B, "Nothing found"))
78
+ ], 2)) : h("", !0),
79
+ N.value ? h("", !0) : (o(), s("div", B, "Nothing found"))
80
80
  ]),
81
81
  _: 1
82
82
  }, 8, ["root"]));
@@ -1 +1 @@
1
- {"version":3,"file":"OptionList.vue.js","sources":["../../../src/components/PlDropdown/OptionList.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport DropdownListItem from '../DropdownListItem.vue';\nimport { DropdownOverlay } from '../../utils/DropdownOverlay';\nimport TextLabel from '../../utils/TextLabel.vue';\nimport { computed, useTemplateRef } from 'vue';\nimport type { LOption } from './types';\n\nconst props = defineProps<{\n rootRef: HTMLElement;\n groups: Map<string, LOption[]>;\n rest: LOption[];\n optionSize: 'small' | 'medium';\n selectOption: (v: unknown) => void;\n}>();\n\nconst overlay = useTemplateRef('overlay');\n\nconst listRef = computed(() => overlay.value?.listRef);\n\nconst hasGroups = computed(() => props.groups.size > 0);\n\nconst optionsLength = computed(() => {\n let totalGroupItems = 0;\n for (const items of props.groups.values()) {\n totalGroupItems += items.length;\n }\n return totalGroupItems + props.rest.length;\n});\n\nconst scrollIntoActive = () => {\n overlay.value?.scrollIntoActive();\n};\n\ndefineExpose({\n scrollIntoActive,\n listRef,\n});\n</script>\n\n<template>\n <DropdownOverlay ref=\"overlay\" :root=\"rootRef\" class=\"pl-dropdown__options\" tabindex=\"-1\" :gap=\"3\">\n <div v-for=\"[group, items] in groups.entries()\" :key=\"group\" :class=\"{ 'group-container': hasGroups }\">\n <TextLabel>{{ group }}</TextLabel>\n <div>\n <DropdownListItem\n v-for=\"(item, index) in items\"\n :key=\"index\"\n :option=\"item\"\n :is-selected=\"item.isSelected\"\n :is-hovered=\"item.isActive\"\n :size=\"optionSize\"\n @click.stop=\"selectOption(item.value)\"\n />\n </div>\n </div>\n <div v-if=\"rest.length\" :class=\"{ 'group-container': hasGroups }\">\n <TextLabel />\n <div>\n <DropdownListItem\n v-for=\"(item, index) in rest\"\n :key=\"index\" :option=\"item\"\n :is-selected=\"item.isSelected\"\n :is-hovered=\"item.isActive\"\n :size=\"optionSize\"\n @click.stop=\"selectOption(item.value)\"\n />\n </div>\n </div>\n <div v-if=\"!optionsLength\" class=\"nothing-found\">Nothing found</div>\n </DropdownOverlay>\n</template>\n"],"names":["props","__props","overlay","useTemplateRef","listRef","computed","_a","hasGroups","optionsLength","totalGroupItems","items","__expose"],"mappings":";;;;;;;;;;;;;;;;;AAOA,UAAMA,IAAQC,GAQRC,IAAUC,EAAe,SAAS,GAElCC,IAAUC,EAAS,MAAA;;AAAM,cAAAC,IAAAJ,EAAQ,UAAR,gBAAAI,EAAe;AAAA,KAAO,GAE/CC,IAAYF,EAAS,MAAML,EAAM,OAAO,OAAO,CAAC,GAEhDQ,IAAgBH,EAAS,MAAM;AACnC,UAAII,IAAkB;AACtB,iBAAWC,KAASV,EAAM,OAAO,OAAA;AAC/B,QAAAS,KAAmBC,EAAM;AAE3B,aAAOD,IAAkBT,EAAM,KAAK;AAAA,IACtC,CAAC;AAMD,WAAAW,EAAa;AAAA,MACX,kBALuB,MAAM;;AAC7B,SAAAL,IAAAJ,EAAQ,UAAR,QAAAI,EAAe;AAAA,MACjB;AAAA,MAIE,SAAAF;AAAA,IAAA,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"OptionList.vue.js","sources":["../../../src/components/PlDropdown/OptionList.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport DropdownListItem from '../DropdownListItem.vue';\nimport { DropdownOverlay } from '../../utils/DropdownOverlay';\nimport TextLabel from '../../utils/TextLabel.vue';\nimport { computed, useTemplateRef } from 'vue';\nimport type { LOption } from './types';\n\nconst props = defineProps<{\n rootRef: HTMLElement;\n groups: Map<string, LOption[]>;\n rest: LOption[];\n optionSize: 'small' | 'medium';\n selectOption: (v: unknown) => void;\n}>();\n\nconst overlay = useTemplateRef('overlay');\n\nconst listRef = computed(() => overlay.value?.listRef);\n\nconst hasGroups = computed(() => props.groups.size > 0);\n\nconst optionsLength = computed(() => {\n let totalGroupItems = 0;\n for (const items of props.groups.values()) {\n totalGroupItems += items.length;\n }\n return totalGroupItems + props.rest.length;\n});\n\nconst scrollIntoActive = () => {\n overlay.value?.scrollIntoActive();\n};\n\ndefineExpose({\n scrollIntoActive,\n listRef,\n});\n</script>\n\n<template>\n <DropdownOverlay ref=\"overlay\" :root=\"rootRef\" class=\"pl-dropdown__options\" tabindex=\"-1\" :gap=\"3\">\n <div v-for=\"[group, items] in groups.entries()\" :key=\"group\" :class=\"{ 'group-container': hasGroups }\">\n <TextLabel>{{ group }}</TextLabel>\n <div>\n <DropdownListItem\n v-for=\"(item, index) in items\"\n :key=\"index\"\n :option=\"item\"\n :is-selected=\"item.isSelected\"\n :is-hovered=\"item.isActive\"\n :size=\"optionSize\"\n @click.stop=\"selectOption(item.value)\"\n />\n </div>\n </div>\n <div v-if=\"rest.length\" :class=\"{ 'group-container': hasGroups }\">\n <TextLabel />\n <div>\n <DropdownListItem\n v-for=\"(item, index) in rest\"\n :key=\"index\" :option=\"item\"\n :is-selected=\"item.isSelected\"\n :is-hovered=\"item.isActive\"\n :size=\"optionSize\"\n @click.stop=\"selectOption(item.value)\"\n />\n </div>\n </div>\n <div v-if=\"!optionsLength\" class=\"nothing-found\">Nothing found</div>\n </DropdownOverlay>\n</template>\n"],"names":["props","__props","overlay","useTemplateRef","listRef","computed","_a","hasGroups","optionsLength","totalGroupItems","items","__expose","_createBlock","_unref","DropdownOverlay","_openBlock","_createElementBlock","_Fragment","group","_createVNode","TextLabel","_createElementVNode","_renderList","item","index","DropdownListItem","_withModifiers","$event","_hoisted_1"],"mappings":";;;;;;;;;;;;;;;;;AAOA,UAAMA,IAAQC,GAQRC,IAAUC,EAAe,SAAS,GAElCC,IAAUC,EAAS,MAAA;;AAAM,cAAAC,IAAAJ,EAAQ,UAAR,gBAAAI,EAAe;AAAA,KAAO,GAE/CC,IAAYF,EAAS,MAAML,EAAM,OAAO,OAAO,CAAC,GAEhDQ,IAAgBH,EAAS,MAAM;AACnC,UAAII,IAAkB;AACtB,iBAAWC,KAASV,EAAM,OAAO,OAAA;AAC/B,QAAAS,KAAmBC,EAAM;AAE3B,aAAOD,IAAkBT,EAAM,KAAK;AAAA,IACtC,CAAC;AAMD,WAAAW,EAAa;AAAA,MACX,kBALuB,MAAM;;AAC7B,SAAAL,IAAAJ,EAAQ,UAAR,QAAAI,EAAe;AAAA,MACjB;AAAA,MAIE,SAAAF;AAAA,IAAA,CACD,mBAICQ,EA6BkBC,EAAAC,CAAA,GAAA;AAAA,eA7BG;AAAA,MAAJ,KAAIZ;AAAA,MAAW,MAAMD,EAAA;AAAA,MAAS,OAAM;AAAA,MAAuB,UAAS;AAAA,MAAM,KAAK;AAAA,IAAA;iBACzF,MAA0C;AAAA,SAA/Cc,EAAA,EAAA,GAAAC,EAaMC,WAbwBhB,EAAA,OAAO,WAAO,CAAA,CAA/BiB,GAAOR,CAAK,YAAzBM,EAaM,OAAA;AAAA,UAb2C,KAAKE;AAAA,UAAQ,8BAA4BX,EAAA,OAAS;AAAA,QAAA;UACjGY,EAAkCC,GAAA,MAAA;AAAA,uBAAvB,MAAW;AAAA,kBAARF,CAAK,GAAA,CAAA;AAAA,YAAA;;;UACnBG,EAUM,OAAA,MAAA;AAAA,aATJN,EAAA,EAAA,GAAAC,EAQEC,GAAA,MAAAK,EAPwBZ,GAAK,CAArBa,GAAMC,YADhBZ,EAQEa,GAAA;AAAA,cANC,KAAKD;AAAA,cACL,QAAQD;AAAA,cACR,eAAaA,EAAK;AAAA,cAClB,cAAYA,EAAK;AAAA,cACjB,MAAMtB,EAAA;AAAA,cACN,SAAKyB,EAAA,CAAAC,MAAO1B,EAAA,aAAasB,EAAK,KAAK,GAAA,CAAA,MAAA,CAAA;AAAA,YAAA;;;QAI/BtB,EAAA,KAAK,eAAhBe,EAYM,OAAA;AAAA;UAZmB,8BAA4BT,EAAA,OAAS;AAAA,QAAA;UAC5DY,EAAaC,CAAA;AAAA,UACbC,EASM,OAAA,MAAA;AAAA,aARJN,EAAA,EAAA,GAAAC,EAOEC,GAAA,MAAAK,EANwBrB,EAAA,MAAI,CAApBsB,GAAMC,YADhBZ,EAOEa,GAAA;AAAA,cALC,KAAKD;AAAA,cAAQ,QAAQD;AAAA,cACrB,eAAaA,EAAK;AAAA,cAClB,cAAYA,EAAK;AAAA,cACjB,MAAMtB,EAAA;AAAA,cACN,SAAKyB,EAAA,CAAAC,MAAO1B,EAAA,aAAasB,EAAK,KAAK,GAAA,CAAA,MAAA,CAAA;AAAA,YAAA;;;QAI9Bf,EAAA,0BAAZQ,EAAoE,OAApEY,GAAiD,eAAa;AAAA;;;;;"}
@@ -30,6 +30,10 @@ declare const _default: <M = unknown>(__VLS_props: NonNullable<Awaited<typeof __
30
30
  * Error message displayed below the dropdown (optional)
31
31
  */
32
32
  error?: unknown;
33
+ /**
34
+ * Shows red border even without an error message
35
+ */
36
+ errorStatus?: boolean;
33
37
  /**
34
38
  * Placeholder text shown when no value is selected.
35
39
  */
@@ -58,6 +62,10 @@ declare const _default: <M = unknown>(__VLS_props: NonNullable<Awaited<typeof __
58
62
  * Option list item size
59
63
  */
60
64
  optionSize?: "small" | "medium";
65
+ /**
66
+ * Makes some of corners not rounded
67
+ * */
68
+ groupPosition?: "top" | "bottom" | "left" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "middle";
61
69
  } & Partial<{}>> & import('vue').PublicProps;
62
70
  expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
63
71
  attrs: any;