@milaboratories/uikit 2.10.14 → 2.10.16

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 (749) hide show
  1. package/.oxfmtrc.json +4 -0
  2. package/.oxlintrc.json +3 -0
  3. package/.prettierrc +1 -1
  4. package/.turbo/turbo-build.log +191 -191
  5. package/.turbo/turbo-formatter$colon$check.log +12 -0
  6. package/.turbo/turbo-linter$colon$check.log +10 -0
  7. package/.turbo/{turbo-type-check.log → turbo-types$colon$check.log} +2 -2
  8. package/CHANGELOG.md +16 -0
  9. package/build.browser-lib.config.js +6 -6
  10. package/dist/base/BtnBase.vue.js.map +1 -1
  11. package/dist/colors/color.d.ts.map +1 -1
  12. package/dist/colors/color.js.map +1 -1
  13. package/dist/colors/gradient.d.ts.map +1 -1
  14. package/dist/colors/gradient.js.map +1 -1
  15. package/dist/colors/palette.js.map +1 -1
  16. package/dist/components/ContextProvider.vue.js.map +1 -1
  17. package/dist/components/DataTable/BaseCellComponent.vue.js.map +1 -1
  18. package/dist/components/DataTable/ColumnCaret.vue.js.map +1 -1
  19. package/dist/components/DataTable/ColumnsCommandMenu.vue.d.ts.map +1 -1
  20. package/dist/components/DataTable/ColumnsCommandMenu.vue.js.map +1 -1
  21. package/dist/components/DataTable/RowsCommandMenu.vue.d.ts.map +1 -1
  22. package/dist/components/DataTable/RowsCommandMenu.vue.js.map +1 -1
  23. package/dist/components/DataTable/TScroll.vue.d.ts.map +1 -1
  24. package/dist/components/DataTable/TScroll.vue.js +6 -1
  25. package/dist/components/DataTable/TScroll.vue.js.map +1 -1
  26. package/dist/components/DataTable/TableComponent.vue.d.ts.map +1 -1
  27. package/dist/components/DataTable/TableComponent.vue.js.map +1 -1
  28. package/dist/components/DataTable/TdCell.vue.d.ts.map +1 -1
  29. package/dist/components/DataTable/TdCell.vue.js +3 -1
  30. package/dist/components/DataTable/TdCell.vue.js.map +1 -1
  31. package/dist/components/DataTable/ThCell.vue.d.ts.map +1 -1
  32. package/dist/components/DataTable/ThCell.vue.js.map +1 -1
  33. package/dist/components/DataTable/TrBody.vue.d.ts.map +1 -1
  34. package/dist/components/DataTable/TrBody.vue.js.map +1 -1
  35. package/dist/components/DataTable/adapters/AsyncData.d.ts +1 -1
  36. package/dist/components/DataTable/adapters/AsyncData.js.map +1 -1
  37. package/dist/components/DataTable/adapters/RawData.d.ts +1 -1
  38. package/dist/components/DataTable/adapters/RawData.js.map +1 -1
  39. package/dist/components/DataTable/assets/TableIcon.vue.d.ts.map +1 -1
  40. package/dist/components/DataTable/assets/TableIcon.vue.js.map +1 -1
  41. package/dist/components/DataTable/composition/useColumn.d.ts.map +1 -1
  42. package/dist/components/DataTable/composition/useColumn.js.map +1 -1
  43. package/dist/components/DataTable/composition/useMouseUp.js.map +1 -1
  44. package/dist/components/DataTable/composition/useResize.js.map +1 -1
  45. package/dist/components/DataTable/composition/useTableColumns.js.map +1 -1
  46. package/dist/components/DataTable/composition/useTableRows.js.map +1 -1
  47. package/dist/components/DataTable/domain.d.ts +1 -1
  48. package/dist/components/DataTable/domain.d.ts.map +1 -1
  49. package/dist/components/DataTable/domain.js.map +1 -1
  50. package/dist/components/DataTable/index.d.ts +1 -1
  51. package/dist/components/DataTable/index.d.ts.map +1 -1
  52. package/dist/components/DataTable/index.js +5 -1
  53. package/dist/components/DataTable/index.js.map +1 -1
  54. package/dist/components/DataTable/keys.js.map +1 -1
  55. package/dist/components/DataTable/state.d.ts.map +1 -1
  56. package/dist/components/DataTable/state.js +10 -4
  57. package/dist/components/DataTable/state.js.map +1 -1
  58. package/dist/components/DataTable/types.d.ts +3 -3
  59. package/dist/components/DropdownListItem.vue.d.ts +1 -1
  60. package/dist/components/DropdownListItem.vue.d.ts.map +1 -1
  61. package/dist/components/DropdownListItem.vue.js.map +1 -1
  62. package/dist/components/GridTable/domain.d.ts +1 -1
  63. package/dist/components/GridTable/domain.d.ts.map +1 -1
  64. package/dist/components/GridTable/types.d.ts +4 -4
  65. package/dist/components/GridTable/types.d.ts.map +1 -1
  66. package/dist/components/GridTable/useColumn.d.ts.map +1 -1
  67. package/dist/components/HScroll.vue.js.map +1 -1
  68. package/dist/components/InputRange.vue.d.ts.map +1 -1
  69. package/dist/components/InputRange.vue.js +3 -1
  70. package/dist/components/InputRange.vue.js.map +1 -1
  71. package/dist/components/LongText.vue.d.ts.map +1 -1
  72. package/dist/components/LongText.vue.js +9 -7
  73. package/dist/components/LongText.vue.js.map +1 -1
  74. package/dist/components/PlAccordion/ExpandTransition.vue.d.ts.map +1 -1
  75. package/dist/components/PlAccordion/ExpandTransition.vue2.js.map +1 -1
  76. package/dist/components/PlAccordion/PlAccordion.vue.js.map +1 -1
  77. package/dist/components/PlAccordion/PlAccordionSection.vue2.js.map +1 -1
  78. package/dist/components/PlAlert/PlAlert.vue.d.ts.map +1 -1
  79. package/dist/components/PlAlert/PlAlert.vue.js.map +1 -1
  80. package/dist/components/PlAutocomplete/PlAutocomplete.vue.d.ts.map +1 -1
  81. package/dist/components/PlAutocomplete/PlAutocomplete.vue.js +40 -19
  82. package/dist/components/PlAutocomplete/PlAutocomplete.vue.js.map +1 -1
  83. package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue.d.ts +2 -2
  84. package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue.d.ts.map +1 -1
  85. package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue.js +22 -12
  86. package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue.js.map +1 -1
  87. package/dist/components/PlAutocompleteMulti/index.d.ts +1 -1
  88. package/dist/components/PlAutocompleteMulti/index.d.ts.map +1 -1
  89. package/dist/components/PlBtnAccent/PlBtnAccent.vue.js.map +1 -1
  90. package/dist/components/PlBtnDanger/PlBtnDanger.vue.js.map +1 -1
  91. package/dist/components/PlBtnGhost/PlBtnGhost.vue.js.map +1 -1
  92. package/dist/components/PlBtnGroup/PlBtnGroup.vue.js.map +1 -1
  93. package/dist/components/PlBtnLink/PlBtnLink.vue.d.ts.map +1 -1
  94. package/dist/components/PlBtnLink/PlBtnLink.vue.js.map +1 -1
  95. package/dist/components/PlBtnPrimary/PlBtnPrimary.vue.js.map +1 -1
  96. package/dist/components/PlBtnSecondary/PlBtnSecondary.vue.js.map +1 -1
  97. package/dist/components/PlBtnSplit/PlBtnSplit.vue.d.ts.map +1 -1
  98. package/dist/components/PlBtnSplit/PlBtnSplit.vue.js +6 -4
  99. package/dist/components/PlBtnSplit/PlBtnSplit.vue.js.map +1 -1
  100. package/dist/components/PlChartHistogram/PlChartHistogram.vue.d.ts.map +1 -1
  101. package/dist/components/PlChartHistogram/PlChartHistogram.vue2.js +8 -1
  102. package/dist/components/PlChartHistogram/PlChartHistogram.vue2.js.map +1 -1
  103. package/dist/components/PlChartHistogram/PlChartHistogram.vue3.js +4 -4
  104. package/dist/components/PlChartHistogram/createGridlines.d.ts.map +1 -1
  105. package/dist/components/PlChartHistogram/createGridlines.js +5 -1
  106. package/dist/components/PlChartHistogram/createGridlines.js.map +1 -1
  107. package/dist/components/PlChartHistogram/createLabels.d.ts.map +1 -1
  108. package/dist/components/PlChartHistogram/createLabels.js.map +1 -1
  109. package/dist/components/PlChartHistogram/createSvgContainer.js.map +1 -1
  110. package/dist/components/PlChartHistogram/drawBins.d.ts.map +1 -1
  111. package/dist/components/PlChartHistogram/drawBins.js.map +1 -1
  112. package/dist/components/PlChartHistogram/drawThreshold.js.map +1 -1
  113. package/dist/components/PlChartHistogram/histogram.d.ts.map +1 -1
  114. package/dist/components/PlChartHistogram/histogram.js +6 -2
  115. package/dist/components/PlChartHistogram/histogram.js.map +1 -1
  116. package/dist/components/PlChartHistogram/normalizeBins.js.map +1 -1
  117. package/dist/components/PlChartHistogram/types.d.ts +2 -2
  118. package/dist/components/PlChartHistogram/types.d.ts.map +1 -1
  119. package/dist/components/PlChartStackedBar/Legends.vue2.js.map +1 -1
  120. package/dist/components/PlChartStackedBar/PlChartStackedBar.vue.d.ts.map +1 -1
  121. package/dist/components/PlChartStackedBar/PlChartStackedBar.vue2.js +6 -4
  122. package/dist/components/PlChartStackedBar/PlChartStackedBar.vue2.js.map +1 -1
  123. package/dist/components/PlChartStackedBar/PlChartStackedBarCompact.vue2.js.map +1 -1
  124. package/dist/components/PlChartStackedBar/StackedRow.vue.d.ts.map +1 -1
  125. package/dist/components/PlChartStackedBar/StackedRow.vue2.js.map +1 -1
  126. package/dist/components/PlChartStackedBar/StackedRowCompact.vue.d.ts.map +1 -1
  127. package/dist/components/PlChartStackedBar/StackedRowCompact.vue2.js.map +1 -1
  128. package/dist/components/PlCheckbox/PlCheckbox.vue.js.map +1 -1
  129. package/dist/components/PlCheckbox/PlCheckboxBase.vue.d.ts.map +1 -1
  130. package/dist/components/PlCheckbox/PlCheckboxBase.vue.js.map +1 -1
  131. package/dist/components/PlCheckboxGroup/PlCheckboxGroup.vue.d.ts.map +1 -1
  132. package/dist/components/PlCheckboxGroup/PlCheckboxGroup.vue.js +8 -2
  133. package/dist/components/PlCheckboxGroup/PlCheckboxGroup.vue.js.map +1 -1
  134. package/dist/components/PlChip/PlChip.vue.d.ts.map +1 -1
  135. package/dist/components/PlChip/PlChip.vue.js.map +1 -1
  136. package/dist/components/PlClipboard/PlClipboard.vue2.js.map +1 -1
  137. package/dist/components/PlConfirmDialog.vue.d.ts.map +1 -1
  138. package/dist/components/PlConfirmDialog.vue.js.map +1 -1
  139. package/dist/components/PlDialogModal/PlDialogModal.vue.d.ts.map +1 -1
  140. package/dist/components/PlDialogModal/PlDialogModal.vue.js +4 -1
  141. package/dist/components/PlDialogModal/PlDialogModal.vue.js.map +1 -1
  142. package/dist/components/PlDropdown/OptionList.vue.d.ts +1 -1
  143. package/dist/components/PlDropdown/OptionList.vue.d.ts.map +1 -1
  144. package/dist/components/PlDropdown/OptionList.vue.js.map +1 -1
  145. package/dist/components/PlDropdown/PlDropdown.vue.d.ts.map +1 -1
  146. package/dist/components/PlDropdown/PlDropdown.vue.js.map +1 -1
  147. package/dist/components/PlDropdown/types.d.ts.map +1 -1
  148. package/dist/components/PlDropdown/useGroupBy.d.ts.map +1 -1
  149. package/dist/components/PlDropdown/useGroupBy.js.map +1 -1
  150. package/dist/components/PlDropdownLegacy/PlDropdownLegacy.vue.d.ts.map +1 -1
  151. package/dist/components/PlDropdownLegacy/PlDropdownLegacy.vue.js.map +1 -1
  152. package/dist/components/PlDropdownLine/PlDropdownLine.vue.d.ts +1 -1
  153. package/dist/components/PlDropdownLine/PlDropdownLine.vue.d.ts.map +1 -1
  154. package/dist/components/PlDropdownLine/PlDropdownLine.vue.js +5 -3
  155. package/dist/components/PlDropdownLine/PlDropdownLine.vue.js.map +1 -1
  156. package/dist/components/PlDropdownLine/ResizableInput.vue.d.ts.map +1 -1
  157. package/dist/components/PlDropdownLine/ResizableInput.vue.js.map +1 -1
  158. package/dist/components/PlDropdownMulti/PlDropdownMulti.vue.d.ts.map +1 -1
  159. package/dist/components/PlDropdownMulti/PlDropdownMulti.vue.js.map +1 -1
  160. package/dist/components/PlDropdownMultiRef/PlDropdownMultiRef.vue.js.map +1 -1
  161. package/dist/components/PlDropdownRef/PlDropdownRef.vue.js.map +1 -1
  162. package/dist/components/PlEditableTitle/PlEditableTitle.vue.d.ts.map +1 -1
  163. package/dist/components/PlEditableTitle/PlEditableTitle.vue.js.map +1 -1
  164. package/dist/components/PlElementList/PlElementList.vue.d.ts.map +1 -1
  165. package/dist/components/PlElementList/PlElementList.vue2.js +9 -2
  166. package/dist/components/PlElementList/PlElementList.vue2.js.map +1 -1
  167. package/dist/components/PlElementList/PlElementList.vue3.js +4 -4
  168. package/dist/components/PlElementList/PlElementListItem.vue.d.ts.map +1 -1
  169. package/dist/components/PlElementList/PlElementListItem.vue2.js +25 -13
  170. package/dist/components/PlElementList/PlElementListItem.vue2.js.map +1 -1
  171. package/dist/components/PlElementList/PlElementListItem.vue3.js +20 -20
  172. package/dist/components/PlElementList/utils.d.ts.map +1 -1
  173. package/dist/components/PlElementList/utils.js +3 -1
  174. package/dist/components/PlElementList/utils.js.map +1 -1
  175. package/dist/components/PlErrorAlert/PlErrorAlert.vue2.js.map +1 -1
  176. package/dist/components/PlErrorBoundary/PlErrorBoundary.vue.d.ts.map +1 -1
  177. package/dist/components/PlErrorBoundary/PlErrorBoundary.vue.js +4 -1
  178. package/dist/components/PlErrorBoundary/PlErrorBoundary.vue.js.map +1 -1
  179. package/dist/components/PlFileDialog/Local.vue.d.ts.map +1 -1
  180. package/dist/components/PlFileDialog/Local.vue.js +6 -2
  181. package/dist/components/PlFileDialog/Local.vue.js.map +1 -1
  182. package/dist/components/PlFileDialog/PlFileDialog.vue.d.ts.map +1 -1
  183. package/dist/components/PlFileDialog/PlFileDialog.vue.js +3 -1
  184. package/dist/components/PlFileDialog/PlFileDialog.vue.js.map +1 -1
  185. package/dist/components/PlFileDialog/Remote.vue.d.ts.map +1 -1
  186. package/dist/components/PlFileDialog/Remote.vue.js +6 -2
  187. package/dist/components/PlFileDialog/Remote.vue.js.map +1 -1
  188. package/dist/components/PlFileDialog/Shortcuts.vue2.js.map +1 -1
  189. package/dist/components/PlFileDialog/Shortcuts.vue3.js +4 -4
  190. package/dist/components/PlFileDialog/pl-file-dialog.module.scss.js +21 -21
  191. package/dist/components/PlFileDialog/remote.js.map +1 -1
  192. package/dist/components/PlFileDialog/utils.js.map +1 -1
  193. package/dist/components/PlFileInput/PlFileInput.vue.d.ts.map +1 -1
  194. package/dist/components/PlFileInput/PlFileInput.vue.js.map +1 -1
  195. package/dist/components/PlIcon16/PlIcon16.vue2.js.map +1 -1
  196. package/dist/components/PlIcon24/PlIcon24.vue2.js.map +1 -1
  197. package/dist/components/PlLoaderCircular/PlLoaderCircular.vue.d.ts +1 -1
  198. package/dist/components/PlLoaderCircular/PlLoaderCircular.vue.d.ts.map +1 -1
  199. package/dist/components/PlLoaderCircular/PlLoaderCircular.vue.js +5 -1
  200. package/dist/components/PlLoaderCircular/PlLoaderCircular.vue.js.map +1 -1
  201. package/dist/components/PlLoaderLogo.vue.d.ts.map +1 -1
  202. package/dist/components/PlLoaderLogo.vue2.js +8 -8
  203. package/dist/components/PlLoaderLogo.vue2.js.map +1 -1
  204. package/dist/components/PlLogView/PlLogView.vue.d.ts.map +1 -1
  205. package/dist/components/PlLogView/PlLogView.vue.js +11 -7
  206. package/dist/components/PlLogView/PlLogView.vue.js.map +1 -1
  207. package/dist/components/PlLogView/useLogHandle.d.ts.map +1 -1
  208. package/dist/components/PlLogView/useLogHandle.js +16 -3
  209. package/dist/components/PlLogView/useLogHandle.js.map +1 -1
  210. package/dist/components/PlNotificationAlert/PlNotificationAlert.vue.d.ts +1 -1
  211. package/dist/components/PlNotificationAlert/PlNotificationAlert.vue.d.ts.map +1 -1
  212. package/dist/components/PlNotificationAlert/PlNotificationAlert.vue.js.map +1 -1
  213. package/dist/components/PlNumberField/PlNumberField.vue.d.ts.map +1 -1
  214. package/dist/components/PlNumberField/PlNumberField.vue.js +4 -6
  215. package/dist/components/PlNumberField/PlNumberField.vue.js.map +1 -1
  216. package/dist/components/PlNumberField/parseNumber.d.ts.map +1 -1
  217. package/dist/components/PlNumberField/parseNumber.js.map +1 -1
  218. package/dist/components/PlProgressBar/PlProgressBar.vue.js.map +1 -1
  219. package/dist/components/PlProgressCell/PlProgressCell.vue.d.ts.map +1 -1
  220. package/dist/components/PlProgressCell/PlProgressCell.vue.js +11 -2
  221. package/dist/components/PlProgressCell/PlProgressCell.vue.js.map +1 -1
  222. package/dist/components/PlProgressCell/types.d.ts +1 -1
  223. package/dist/components/PlRadio/PlRadio.vue2.js.map +1 -1
  224. package/dist/components/PlRadio/PlRadio.vue3.js +3 -3
  225. package/dist/components/PlRadio/PlRadioGroup.vue2.js.map +1 -1
  226. package/dist/components/PlRadio/PlRadioGroup.vue3.js +6 -6
  227. package/dist/components/PlRadio/keys.js.map +1 -1
  228. package/dist/components/PlSearchField/PlSearchField.vue.d.ts.map +1 -1
  229. package/dist/components/PlSearchField/PlSearchField.vue2.js.map +1 -1
  230. package/dist/components/PlSectionSeparator/PlSectionSeparator.vue2.js.map +1 -1
  231. package/dist/components/PlSectionSeparator/PlSectionSeparator.vue3.js +1 -1
  232. package/dist/components/PlSidebar/PlSidebarGroup.vue2.js.map +1 -1
  233. package/dist/components/PlSidebar/PlSidebarGroup.vue3.js +6 -6
  234. package/dist/components/PlSidebar/PlSidebarItem.vue.d.ts +6 -6
  235. package/dist/components/PlSidebar/PlSidebarItem.vue.d.ts.map +1 -1
  236. package/dist/components/PlSidebar/PlSidebarItem.vue2.js.map +1 -1
  237. package/dist/components/PlSidebar/PlSidebarItem.vue3.js +8 -8
  238. package/dist/components/PlSlideModal/PlPureSlideModal.vue.d.ts.map +1 -1
  239. package/dist/components/PlSlideModal/PlPureSlideModal.vue.js.map +1 -1
  240. package/dist/components/PlSlideModal/PlSlideModal.vue.d.ts.map +1 -1
  241. package/dist/components/PlSlideModal/PlSlideModal.vue2.js.map +1 -1
  242. package/dist/components/PlSlideModal/props.d.ts +8 -8
  243. package/dist/components/PlSlideModal/props.d.ts.map +1 -1
  244. package/dist/components/PlSlideModal/props.js.map +1 -1
  245. package/dist/components/PlSplash/PlSplash.vue.d.ts +1 -1
  246. package/dist/components/PlSplash/PlSplash.vue.d.ts.map +1 -1
  247. package/dist/components/PlSplash/PlSplash.vue.js +4 -1
  248. package/dist/components/PlSplash/PlSplash.vue.js.map +1 -1
  249. package/dist/components/PlStatusTag/PlStatusTag.vue.d.ts.map +1 -1
  250. package/dist/components/PlStatusTag/PlStatusTag.vue.js.map +1 -1
  251. package/dist/components/PlStatusTag/types.d.ts +1 -1
  252. package/dist/components/PlSvg/PlSvg.vue.d.ts.map +1 -1
  253. package/dist/components/PlSvg/PlSvg.vue2.js +7 -2
  254. package/dist/components/PlSvg/PlSvg.vue2.js.map +1 -1
  255. package/dist/components/PlSvg/registry.d.ts.map +1 -1
  256. package/dist/components/PlSvg/registry.js.map +1 -1
  257. package/dist/components/PlTabs/PlTabs.vue.d.ts.map +1 -1
  258. package/dist/components/PlTabs/PlTabs.vue.js +4 -1
  259. package/dist/components/PlTabs/PlTabs.vue.js.map +1 -1
  260. package/dist/components/PlTabs/Tab.vue.js.map +1 -1
  261. package/dist/components/PlTextArea/PlTextArea.vue.js.map +1 -1
  262. package/dist/components/PlTextField/PlTextField.vue.d.ts.map +1 -1
  263. package/dist/components/PlTextField/PlTextField.vue.js +3 -1
  264. package/dist/components/PlTextField/PlTextField.vue.js.map +1 -1
  265. package/dist/components/PlToggleSwitch/PlToggleSwitch.vue.js.map +1 -1
  266. package/dist/components/PlTooltip/Beak.vue.d.ts.map +1 -1
  267. package/dist/components/PlTooltip/Beak.vue.js.map +1 -1
  268. package/dist/components/PlTooltip/PlTooltip.vue.d.ts.map +1 -1
  269. package/dist/components/PlTooltip/PlTooltip.vue.js.map +1 -1
  270. package/dist/components/PlTooltip/useTooltipPosition.d.ts +1 -1
  271. package/dist/components/PlTooltip/useTooltipPosition.js.map +1 -1
  272. package/dist/components/Scrollable.vue.d.ts.map +1 -1
  273. package/dist/components/Scrollable.vue.js +10 -1
  274. package/dist/components/Scrollable.vue.js.map +1 -1
  275. package/dist/components/Slider.vue.d.ts.map +1 -1
  276. package/dist/components/Slider.vue.js +3 -1
  277. package/dist/components/Slider.vue.js.map +1 -1
  278. package/dist/components/SliderRange.vue.d.ts.map +1 -1
  279. package/dist/components/SliderRange.vue.js +15 -3
  280. package/dist/components/SliderRange.vue.js.map +1 -1
  281. package/dist/components/SliderRangeTriple.vue.d.ts.map +1 -1
  282. package/dist/components/SliderRangeTriple.vue.js +7 -1
  283. package/dist/components/SliderRangeTriple.vue.js.map +1 -1
  284. package/dist/components/TabItem.vue.js.map +1 -1
  285. package/dist/components/ThemeSwitcher.vue.js.map +1 -1
  286. package/dist/components/TransitionSlidePanel.vue.js.map +1 -1
  287. package/dist/components/VScroll.vue.js.map +1 -1
  288. package/dist/components/contextMenu/Menu.vue.js +1 -1
  289. package/dist/components/contextMenu/Menu.vue2.js.map +1 -1
  290. package/dist/components/contextMenu/index.js.map +1 -1
  291. package/dist/composition/computedCached.js.map +1 -1
  292. package/dist/composition/filters/metadata.d.ts.map +1 -1
  293. package/dist/composition/filters/metadata.js.map +1 -1
  294. package/dist/composition/filters/types.d.ts +1 -19
  295. package/dist/composition/filters/types.d.ts.map +1 -1
  296. package/dist/composition/useClickOutside.js.map +1 -1
  297. package/dist/composition/useComponentProp.d.ts.map +1 -1
  298. package/dist/composition/useComponentProp.js.map +1 -1
  299. package/dist/composition/useConfirm.js.map +1 -1
  300. package/dist/composition/useDraggable.d.ts.map +1 -1
  301. package/dist/composition/useDraggable.js.map +1 -1
  302. package/dist/composition/useEventListener.d.ts.map +1 -1
  303. package/dist/composition/useEventListener.js +11 -7
  304. package/dist/composition/useEventListener.js.map +1 -1
  305. package/dist/composition/useFilteredList.d.ts.map +1 -1
  306. package/dist/composition/useFilteredList.js.map +1 -1
  307. package/dist/composition/useFormState.js.map +1 -1
  308. package/dist/composition/useHover.d.ts.map +1 -1
  309. package/dist/composition/useHover.js.map +1 -1
  310. package/dist/composition/useInterval.js.map +1 -1
  311. package/dist/composition/useLocalStorage.js.map +1 -1
  312. package/dist/composition/useMouse.js.map +1 -1
  313. package/dist/composition/useMouseCapture.d.ts.map +1 -1
  314. package/dist/composition/useMouseCapture.js.map +1 -1
  315. package/dist/composition/usePollingQuery.d.ts.map +1 -1
  316. package/dist/composition/usePollingQuery.js +4 -1
  317. package/dist/composition/usePollingQuery.js.map +1 -1
  318. package/dist/composition/usePosition.d.ts.map +1 -1
  319. package/dist/composition/usePosition.js.map +1 -1
  320. package/dist/composition/useQuery.js.map +1 -1
  321. package/dist/composition/useResizeObserver.d.ts.map +1 -1
  322. package/dist/composition/useResizeObserver.js.map +1 -1
  323. package/dist/composition/useRipple.js.map +1 -1
  324. package/dist/composition/useScroll.d.ts.map +1 -1
  325. package/dist/composition/useScroll.js.map +1 -1
  326. package/dist/composition/useSliderBreakpoints.d.ts.map +1 -1
  327. package/dist/composition/useSliderBreakpoints.js.map +1 -1
  328. package/dist/composition/useSortable.js.map +1 -1
  329. package/dist/composition/useSortable2.d.ts.map +1 -1
  330. package/dist/composition/useSortable2.js +8 -5
  331. package/dist/composition/useSortable2.js.map +1 -1
  332. package/dist/composition/useTheme.d.ts +1 -1
  333. package/dist/composition/useTheme.d.ts.map +1 -1
  334. package/dist/composition/useTheme.js.map +1 -1
  335. package/dist/composition/useTransformedModel.d.ts.map +1 -1
  336. package/dist/composition/useTransformedModel.js.map +1 -1
  337. package/dist/composition/useWatchFetch.js.map +1 -1
  338. package/dist/composition/utils.js.map +1 -1
  339. package/dist/composition/watchCached.d.ts.map +1 -1
  340. package/dist/composition/watchCached.js.map +1 -1
  341. package/dist/demo-site-data/all-css-variables.d.ts.map +1 -1
  342. package/dist/demo-site-data/all-css-variables.js +52 -13
  343. package/dist/demo-site-data/all-css-variables.js.map +1 -1
  344. package/dist/generated/icons-16.js.map +1 -1
  345. package/dist/generated/icons-24.js.map +1 -1
  346. package/dist/global/resizeObserver.js.map +1 -1
  347. package/dist/helpers/dom.d.ts.map +1 -1
  348. package/dist/helpers/dom.js.map +1 -1
  349. package/dist/helpers/downloadContent.d.ts +1 -1
  350. package/dist/helpers/downloadContent.d.ts.map +1 -1
  351. package/dist/helpers/downloadContent.js +3 -1
  352. package/dist/helpers/downloadContent.js.map +1 -1
  353. package/dist/helpers/error.js +4 -1
  354. package/dist/helpers/error.js.map +1 -1
  355. package/dist/helpers/functions.d.ts.map +1 -1
  356. package/dist/helpers/functions.js.map +1 -1
  357. package/dist/helpers/objects.js.map +1 -1
  358. package/dist/helpers/utils.d.ts.map +1 -1
  359. package/dist/helpers/utils.js.map +1 -1
  360. package/dist/index.d.ts +1 -1
  361. package/dist/index.js +1 -1
  362. package/dist/index.js.map +1 -1
  363. package/dist/layout/PlBlockPage/PlBlockPage.vue.d.ts.map +1 -1
  364. package/dist/layout/PlBlockPage/PlBlockPage.vue2.js.map +1 -1
  365. package/dist/layout/PlBlockPage/PlBlockPage.vue3.js +4 -4
  366. package/dist/layout/PlBlockPage/PlBlockPageTitleTeleportTarget.js.map +1 -1
  367. package/dist/layout/PlBlockPage/usePlBlockPageTitleTeleportTarget.js.map +1 -1
  368. package/dist/layout/PlContainer/PlContainer.vue.d.ts.map +1 -1
  369. package/dist/layout/PlContainer/PlContainer.vue.js.map +1 -1
  370. package/dist/layout/PlGrid/PlGrid.vue.js.map +1 -1
  371. package/dist/layout/PlPlaceholder/PlPlaceholder.vue.d.ts +1 -1
  372. package/dist/layout/PlPlaceholder/PlPlaceholder.vue.d.ts.map +1 -1
  373. package/dist/layout/PlPlaceholder/PlPlaceholder.vue2.js +8 -8
  374. package/dist/layout/PlPlaceholder/PlPlaceholder.vue2.js.map +1 -1
  375. package/dist/layout/PlPlaceholder/PlPlaceholder.vue3.js +15 -15
  376. package/dist/layout/PlPlaceholder/index.d.ts +1 -1
  377. package/dist/layout/PlPlaceholder/index.d.ts.map +1 -1
  378. package/dist/layout/PlPlaceholder/index.js.map +1 -1
  379. package/dist/layout/PlPlaceholder/paint-worklet.js +6 -6
  380. package/dist/layout/PlPlaceholder/paint-worklet.js.map +1 -1
  381. package/dist/layout/PlRow/PlRow.vue.js.map +1 -1
  382. package/dist/layout/PlSpacer/PlSpacer.vue.js.map +1 -1
  383. package/dist/types.d.ts +5 -5
  384. package/dist/types.d.ts.map +1 -1
  385. package/dist/utils/DoubleContour.vue.d.ts.map +1 -1
  386. package/dist/utils/DoubleContour.vue.js.map +1 -1
  387. package/dist/utils/DropdownOverlay/DropdownOverlay.vue.js.map +1 -1
  388. package/dist/utils/PlCloseModalBtn.vue.js.map +1 -1
  389. package/dist/utils/TextLabel.vue.js.map +1 -1
  390. package/dist/utils/useLabelNotch.d.ts.map +1 -1
  391. package/dist/utils/useLabelNotch.js.map +1 -1
  392. package/dist/utils/useValidation.js.map +1 -1
  393. package/package.json +22 -23
  394. package/scripts/parse-icons.js +20 -14
  395. package/src/__tests__/compositions/usePollingQuery.spec.ts +163 -165
  396. package/src/__tests__/compositions/useValidation.spec.ts +41 -28
  397. package/src/__tests__/setup.ts +1 -1
  398. package/src/__tests__/use-debounce-fn.test.ts +15 -11
  399. package/src/assets/animations.scss +5 -5
  400. package/src/assets/base-btn.scss +4 -3
  401. package/src/assets/base.scss +11 -8
  402. package/src/assets/common.scss +43 -43
  403. package/src/assets/dropdown-list-item.scss +53 -53
  404. package/src/assets/dropdown-tab-item.scss +4 -4
  405. package/src/assets/icons.scss +1 -1
  406. package/src/assets/input-range.scss +26 -27
  407. package/src/assets/layout.scss +1 -1
  408. package/src/assets/masks.scss +1 -1
  409. package/src/assets/mixins.scss +9 -17
  410. package/src/assets/scroll.scss +6 -6
  411. package/src/assets/slider.scss +6 -5
  412. package/src/assets/sortable.scss +1 -1
  413. package/src/assets/theme-switcher.scss +2 -2
  414. package/src/assets/typography.scss +16 -13
  415. package/src/assets/ui.scss +19 -19
  416. package/src/assets/utils.scss +19 -19
  417. package/src/assets/variables.scss +9 -10
  418. package/src/base/BtnBase.vue +6 -6
  419. package/src/colors/__tests__/colors.spec.ts +12 -10
  420. package/src/colors/color.ts +17 -12
  421. package/src/colors/gradient.ts +20 -17
  422. package/src/colors/index.ts +3 -3
  423. package/src/colors/palette.ts +194 -194
  424. package/src/components/ContextProvider.vue +1 -1
  425. package/src/components/DataTable/BaseCellComponent.vue +8 -8
  426. package/src/components/DataTable/ColumnCaret.vue +3 -3
  427. package/src/components/DataTable/ColumnsCommandMenu.vue +5 -3
  428. package/src/components/DataTable/RowsCommandMenu.vue +5 -3
  429. package/src/components/DataTable/TScroll.vue +11 -6
  430. package/src/components/DataTable/TableComponent.vue +41 -24
  431. package/src/components/DataTable/TdCell.vue +28 -15
  432. package/src/components/DataTable/ThCell.vue +14 -9
  433. package/src/components/DataTable/TrBody.vue +11 -4
  434. package/src/components/DataTable/adapters/AsyncData.ts +4 -4
  435. package/src/components/DataTable/adapters/RawData.ts +5 -5
  436. package/src/components/DataTable/assets/TableIcon.vue +6 -1
  437. package/src/components/DataTable/assets/data-table-style.scss +12 -10
  438. package/src/components/DataTable/composition/useColumn.ts +8 -5
  439. package/src/components/DataTable/composition/useMouseUp.ts +3 -3
  440. package/src/components/DataTable/composition/useResize.ts +16 -16
  441. package/src/components/DataTable/composition/useTableColumns.ts +8 -8
  442. package/src/components/DataTable/composition/useTableRows.ts +5 -5
  443. package/src/components/DataTable/domain.ts +8 -4
  444. package/src/components/DataTable/index.ts +26 -13
  445. package/src/components/DataTable/keys.ts +3 -3
  446. package/src/components/DataTable/state.ts +38 -18
  447. package/src/components/DataTable/types.ts +10 -10
  448. package/src/components/DropdownListItem.vue +18 -15
  449. package/src/components/GridTable/TdCell.vue +7 -7
  450. package/src/components/GridTable/ThCell.vue +14 -9
  451. package/src/components/GridTable/assets/TableIcon.vue +6 -1
  452. package/src/components/GridTable/assets/style.scss +6 -6
  453. package/src/components/GridTable/constants.ts +10 -10
  454. package/src/components/GridTable/domain.ts +8 -4
  455. package/src/components/GridTable/getColumnPositions.ts +4 -4
  456. package/src/components/GridTable/index.vue +41 -32
  457. package/src/components/GridTable/types.ts +14 -11
  458. package/src/components/GridTable/useColumn.ts +8 -5
  459. package/src/components/GridTable/useMouseUp.ts +3 -3
  460. package/src/components/GridTable/useResize.ts +13 -13
  461. package/src/components/HScroll.vue +10 -10
  462. package/src/components/InputRange.vue +9 -7
  463. package/src/components/LongText.vue +7 -5
  464. package/src/components/PlAccordion/ExpandTransition.vue +12 -6
  465. package/src/components/PlAccordion/PlAccordion.vue +3 -3
  466. package/src/components/PlAccordion/PlAccordionSection.vue +9 -9
  467. package/src/components/PlAccordion/index.ts +2 -2
  468. package/src/components/PlAlert/PlAlert.vue +21 -10
  469. package/src/components/PlAlert/index.ts +1 -1
  470. package/src/components/PlAlert/pl-alert.scss +1 -1
  471. package/src/components/PlAutocomplete/PlAutocomplete.vue +142 -82
  472. package/src/components/PlAutocomplete/__tests__/PlAutocomplete.spec.ts +19 -17
  473. package/src/components/PlAutocomplete/index.ts +1 -1
  474. package/src/components/PlAutocomplete/pl-autocomplete.scss +9 -7
  475. package/src/components/PlAutocompleteMulti/PlAutocompleteMulti.vue +92 -62
  476. package/src/components/PlAutocompleteMulti/__tests__/PlAutocompleteMulti.spec.ts +17 -16
  477. package/src/components/PlAutocompleteMulti/index.ts +4 -1
  478. package/src/components/PlAutocompleteMulti/pl-autocomplete-multi.scss +8 -6
  479. package/src/components/PlBtnAccent/PlBtnAccent.vue +4 -4
  480. package/src/components/PlBtnAccent/index.ts +1 -1
  481. package/src/components/PlBtnDanger/PlBtnDanger.vue +4 -4
  482. package/src/components/PlBtnDanger/index.ts +1 -1
  483. package/src/components/PlBtnDanger/pl-btn-danger.scss +1 -1
  484. package/src/components/PlBtnGhost/PlBtnGhost.vue +8 -8
  485. package/src/components/PlBtnGhost/index.ts +1 -1
  486. package/src/components/PlBtnGroup/PlBtnGroup.vue +10 -10
  487. package/src/components/PlBtnGroup/index.ts +1 -1
  488. package/src/components/PlBtnGroup/pl-btn-group.scss +4 -4
  489. package/src/components/PlBtnLink/PlBtnLink.vue +10 -5
  490. package/src/components/PlBtnLink/index.ts +1 -1
  491. package/src/components/PlBtnLink/pl-btn-link.scss +2 -1
  492. package/src/components/PlBtnPrimary/PlBtnPrimary.vue +4 -4
  493. package/src/components/PlBtnPrimary/__tests__/BtnPrimary.spec.ts +7 -7
  494. package/src/components/PlBtnPrimary/index.ts +1 -1
  495. package/src/components/PlBtnPrimary/pl-btn-primary.scss +2 -2
  496. package/src/components/PlBtnSecondary/PlBtnSecondary.vue +4 -4
  497. package/src/components/PlBtnSecondary/index.ts +1 -1
  498. package/src/components/PlBtnSecondary/pl-btn-secondary.scss +1 -1
  499. package/src/components/PlBtnSplit/PlBtnSplit.vue +42 -28
  500. package/src/components/PlBtnSplit/__tests__/PlBtnSplit.spec.ts +66 -66
  501. package/src/components/PlBtnSplit/index.ts +1 -1
  502. package/src/components/PlBtnSplit/pl-btn-split.scss +72 -75
  503. package/src/components/PlChartHistogram/PlChartHistogram.vue +29 -20
  504. package/src/components/PlChartHistogram/createGridlines.ts +28 -22
  505. package/src/components/PlChartHistogram/createLabels.ts +19 -17
  506. package/src/components/PlChartHistogram/createSvgContainer.ts +9 -9
  507. package/src/components/PlChartHistogram/drawBins.ts +27 -34
  508. package/src/components/PlChartHistogram/drawThreshold.ts +9 -9
  509. package/src/components/PlChartHistogram/histogram.ts +31 -34
  510. package/src/components/PlChartHistogram/index.ts +1 -1
  511. package/src/components/PlChartHistogram/normalizeBins.ts +3 -3
  512. package/src/components/PlChartHistogram/scales.spec.ts +5 -5
  513. package/src/components/PlChartHistogram/types.ts +6 -6
  514. package/src/components/PlChartStackedBar/Legends.vue +2 -2
  515. package/src/components/PlChartStackedBar/PlChartStackedBar.vue +16 -10
  516. package/src/components/PlChartStackedBar/PlChartStackedBarCompact.vue +4 -4
  517. package/src/components/PlChartStackedBar/StackedRow.vue +7 -9
  518. package/src/components/PlChartStackedBar/StackedRowCompact.vue +6 -8
  519. package/src/components/PlChartStackedBar/index.ts +3 -3
  520. package/src/components/PlChartStackedBar/types.ts +1 -1
  521. package/src/components/PlCheckbox/PlCheckbox.vue +5 -5
  522. package/src/components/PlCheckbox/PlCheckboxBase.vue +3 -5
  523. package/src/components/PlCheckbox/__tests__/PlCheckbox.spec.ts +15 -15
  524. package/src/components/PlCheckbox/index.ts +1 -1
  525. package/src/components/PlCheckbox/pl-checkbox-base.scss +13 -13
  526. package/src/components/PlCheckbox/pl-checkbox.scss +2 -2
  527. package/src/components/PlCheckboxGroup/PlCheckboxGroup.vue +24 -10
  528. package/src/components/PlCheckboxGroup/index.ts +1 -1
  529. package/src/components/PlCheckboxGroup/pl-checkbox-group.scss +1 -1
  530. package/src/components/PlChip/PlChip.vue +11 -5
  531. package/src/components/PlChip/index.ts +1 -1
  532. package/src/components/PlChip/pl-chip.scss +2 -2
  533. package/src/components/PlClipboard/PlClipboard.vue +7 -7
  534. package/src/components/PlClipboard/index.ts +1 -1
  535. package/src/components/PlConfirmDialog.vue +7 -6
  536. package/src/components/PlDialogModal/PlDialogModal.vue +52 -33
  537. package/src/components/PlDialogModal/index.ts +1 -1
  538. package/src/components/PlDialogModal/pl-dialog-modal.scss +2 -2
  539. package/src/components/PlDropdown/OptionList.vue +21 -10
  540. package/src/components/PlDropdown/PlDropdown.vue +65 -46
  541. package/src/components/PlDropdown/__tests__/PlDropdown.spec.ts +15 -15
  542. package/src/components/PlDropdown/index.ts +1 -1
  543. package/src/components/PlDropdown/pl-dropdown.scss +4 -2
  544. package/src/components/PlDropdown/types.ts +6 -2
  545. package/src/components/PlDropdown/useGroupBy.ts +7 -10
  546. package/src/components/PlDropdownLegacy/PlDropdownLegacy.vue +60 -43
  547. package/src/components/PlDropdownLegacy/__tests__/PlDropdownLegacy.spec.ts +16 -16
  548. package/src/components/PlDropdownLegacy/index.ts +1 -1
  549. package/src/components/PlDropdownLegacy/pl-dropdown-legacy.scss +6 -6
  550. package/src/components/PlDropdownLine/PlDropdownLine.vue +76 -54
  551. package/src/components/PlDropdownLine/ResizableInput.vue +15 -8
  552. package/src/components/PlDropdownLine/index.ts +1 -1
  553. package/src/components/PlDropdownLine/pl-dropdown-line.scss +132 -132
  554. package/src/components/PlDropdownLine/resizable-input.scss +38 -38
  555. package/src/components/PlDropdownMulti/PlDropdownMulti.vue +79 -45
  556. package/src/components/PlDropdownMulti/__tests__/PlDropdownMulti.spec.ts +15 -14
  557. package/src/components/PlDropdownMulti/index.ts +1 -1
  558. package/src/components/PlDropdownMulti/pl-dropdown-multi.scss +8 -6
  559. package/src/components/PlDropdownMultiRef/PlDropdownMultiRef.vue +5 -5
  560. package/src/components/PlDropdownMultiRef/__tests__/PlDropdownMultiRef.spec.ts +25 -24
  561. package/src/components/PlDropdownMultiRef/index.ts +1 -1
  562. package/src/components/PlDropdownRef/PlDropdownRef.vue +12 -12
  563. package/src/components/PlDropdownRef/__tests__/PlDropdownRef.spec.ts +23 -23
  564. package/src/components/PlDropdownRef/index.ts +1 -1
  565. package/src/components/PlEditableTitle/PlEditableTitle.vue +9 -10
  566. package/src/components/PlEditableTitle/index.ts +1 -1
  567. package/src/components/PlEditableTitle/pl-editable-title.module.scss +4 -4
  568. package/src/components/PlElementList/PlElementList.vue +60 -37
  569. package/src/components/PlElementList/PlElementListItem.vue +45 -29
  570. package/src/components/PlElementList/README.md +102 -119
  571. package/src/components/PlElementList/index.ts +1 -1
  572. package/src/components/PlElementList/utils.ts +3 -1
  573. package/src/components/PlErrorAlert/PlErrorAlert.vue +5 -5
  574. package/src/components/PlErrorAlert/index.ts +1 -1
  575. package/src/components/PlErrorBoundary/PlErrorBoundary.vue +8 -5
  576. package/src/components/PlErrorBoundary/index.ts +1 -1
  577. package/src/components/PlFileDialog/Local.vue +22 -16
  578. package/src/components/PlFileDialog/PlFileDialog.vue +27 -23
  579. package/src/components/PlFileDialog/Remote.vue +44 -34
  580. package/src/components/PlFileDialog/Shortcuts.vue +4 -4
  581. package/src/components/PlFileDialog/index.ts +1 -1
  582. package/src/components/PlFileDialog/pl-file-dialog.module.scss +15 -12
  583. package/src/components/PlFileDialog/remote.ts +9 -9
  584. package/src/components/PlFileDialog/utils.test.ts +20 -24
  585. package/src/components/PlFileDialog/utils.ts +8 -8
  586. package/src/components/PlFileInput/PlFileInput.vue +37 -26
  587. package/src/components/PlFileInput/index.ts +1 -1
  588. package/src/components/PlFileInput/pl-file-input.scss +3 -3
  589. package/src/components/PlFileInput/utils.ts +6 -6
  590. package/src/components/PlIcon16/PlIcon16.vue +7 -7
  591. package/src/components/PlIcon16/index.ts +1 -1
  592. package/src/components/PlIcon24/PlIcon24.vue +7 -7
  593. package/src/components/PlIcon24/index.ts +1 -1
  594. package/src/components/PlLoaderCircular/PlLoaderCircular.vue +24 -6
  595. package/src/components/PlLoaderCircular/index.ts +1 -1
  596. package/src/components/PlLoaderCircular/pl-loader-circular.scss +54 -50
  597. package/src/components/PlLoaderLogo.vue +8 -10
  598. package/src/components/PlLogView/PlLogView.vue +28 -22
  599. package/src/components/PlLogView/index.ts +1 -1
  600. package/src/components/PlLogView/pl-log-view.scss +10 -4
  601. package/src/components/PlLogView/useLogHandle.ts +32 -12
  602. package/src/components/PlMaskIcon16/index.ts +1 -1
  603. package/src/components/PlMaskIcon24/index.ts +1 -1
  604. package/src/components/PlNotificationAlert/PlNotificationAlert.vue +10 -5
  605. package/src/components/PlNotificationAlert/index.ts +1 -1
  606. package/src/components/PlNotificationAlert/pl-notification-alert.scss +43 -44
  607. package/src/components/PlNumberField/PlNumberField.vue +95 -68
  608. package/src/components/PlNumberField/__tests__/PlNumberField.spec.ts +71 -69
  609. package/src/components/PlNumberField/index.ts +1 -1
  610. package/src/components/PlNumberField/parseNumber.ts +20 -17
  611. package/src/components/PlProgressBar/PlProgressBar.vue +5 -5
  612. package/src/components/PlProgressBar/index.ts +1 -1
  613. package/src/components/PlProgressCell/PlProgressCell.vue +33 -14
  614. package/src/components/PlProgressCell/index.ts +2 -2
  615. package/src/components/PlProgressCell/pl-progress-cell.scss +70 -70
  616. package/src/components/PlProgressCell/types.ts +1 -1
  617. package/src/components/PlRadio/PlRadio.vue +54 -54
  618. package/src/components/PlRadio/PlRadioGroup.vue +16 -16
  619. package/src/components/PlRadio/__tests__/PlRadioGroup.spec.ts +50 -50
  620. package/src/components/PlRadio/index.ts +2 -2
  621. package/src/components/PlRadio/keys.ts +1 -1
  622. package/src/components/PlSearchField/PlSearchField.vue +21 -9
  623. package/src/components/PlSearchField/index.ts +1 -1
  624. package/src/components/PlSectionSeparator/PlSectionSeparator.vue +1 -1
  625. package/src/components/PlSectionSeparator/index.ts +1 -1
  626. package/src/components/PlSidebar/PlSidebarGroup.vue +2 -2
  627. package/src/components/PlSidebar/PlSidebarItem.vue +7 -7
  628. package/src/components/PlSidebar/index.ts +2 -2
  629. package/src/components/PlSlideModal/PlPureSlideModal.vue +18 -17
  630. package/src/components/PlSlideModal/PlSlideModal.vue +8 -12
  631. package/src/components/PlSlideModal/index.ts +2 -2
  632. package/src/components/PlSlideModal/pl-slide-modal.scss +2 -2
  633. package/src/components/PlSlideModal/props.ts +9 -9
  634. package/src/components/PlSpacer/PlSpacer.vue +1 -1
  635. package/src/components/PlSpacer/index.ts +1 -1
  636. package/src/components/PlSplash/PlSplash.vue +25 -17
  637. package/src/components/PlSplash/index.ts +1 -1
  638. package/src/components/PlSplash/pl-splash.module.scss +1 -1
  639. package/src/components/PlStatusTag/PlStatusTag.vue +13 -8
  640. package/src/components/PlStatusTag/index.ts +2 -2
  641. package/src/components/PlStatusTag/pl-status-tag.scss +18 -18
  642. package/src/components/PlStatusTag/types.ts +1 -1
  643. package/src/components/PlSvg/PlSvg.vue +24 -16
  644. package/src/components/PlSvg/index.ts +1 -1
  645. package/src/components/PlSvg/registry.ts +17 -21
  646. package/src/components/PlTabs/PlTabs.vue +10 -7
  647. package/src/components/PlTabs/Tab.vue +4 -4
  648. package/src/components/PlTabs/index.ts +2 -2
  649. package/src/components/PlTabs/pl-tabs.module.scss +3 -3
  650. package/src/components/PlTextArea/PlTextArea.vue +15 -15
  651. package/src/components/PlTextArea/__tests__/PlTextArea.spec.ts +12 -12
  652. package/src/components/PlTextArea/index.ts +1 -1
  653. package/src/components/PlTextArea/pl-textarea.scss +1 -1
  654. package/src/components/PlTextField/PlTextField.vue +48 -27
  655. package/src/components/PlTextField/__tests__/TextField.spec.ts +19 -19
  656. package/src/components/PlTextField/index.ts +1 -1
  657. package/src/components/PlToggleSwitch/PlToggleSwitch.vue +3 -3
  658. package/src/components/PlToggleSwitch/index.ts +1 -1
  659. package/src/components/PlToggleSwitch/pl-toggle-switch.scss +3 -2
  660. package/src/components/PlTooltip/Beak.vue +8 -1
  661. package/src/components/PlTooltip/PlTooltip.vue +33 -19
  662. package/src/components/PlTooltip/index.ts +1 -1
  663. package/src/components/PlTooltip/pl-tooltip.scss +4 -2
  664. package/src/components/PlTooltip/useTooltipPosition.ts +12 -12
  665. package/src/components/Scrollable.vue +17 -8
  666. package/src/components/Slider.vue +47 -23
  667. package/src/components/SliderRange.vue +72 -32
  668. package/src/components/SliderRangeTriple.vue +49 -31
  669. package/src/components/TabItem.vue +5 -5
  670. package/src/components/ThemeSwitcher.vue +1 -1
  671. package/src/components/TransitionSlidePanel.vue +2 -2
  672. package/src/components/VScroll.vue +10 -10
  673. package/src/components/contextMenu/Menu.vue +4 -4
  674. package/src/components/contextMenu/index.ts +6 -6
  675. package/src/composition/computedCached.ts +11 -7
  676. package/src/composition/filters/index.ts +2 -2
  677. package/src/composition/filters/metadata.ts +227 -220
  678. package/src/composition/filters/types.ts +44 -21
  679. package/src/composition/useClickOutside.ts +4 -4
  680. package/src/composition/useComponentProp.ts +5 -3
  681. package/src/composition/useConfirm.ts +5 -5
  682. package/src/composition/useDraggable.ts +16 -13
  683. package/src/composition/useEventListener.ts +13 -5
  684. package/src/composition/useFilteredList.ts +9 -6
  685. package/src/composition/useFormState.ts +3 -3
  686. package/src/composition/useHover.ts +10 -7
  687. package/src/composition/useInterval.ts +1 -1
  688. package/src/composition/useLocalStorage.ts +4 -4
  689. package/src/composition/useMouse.ts +3 -3
  690. package/src/composition/useMouseCapture.ts +10 -7
  691. package/src/composition/useNotificationPosition.ts +4 -4
  692. package/src/composition/usePollingQuery.ts +22 -20
  693. package/src/composition/usePosition.ts +13 -9
  694. package/src/composition/useQuery.ts +2 -2
  695. package/src/composition/useResizeObserver.ts +9 -6
  696. package/src/composition/useRipple.ts +6 -6
  697. package/src/composition/useScroll.ts +18 -12
  698. package/src/composition/useSliderBreakpoints.ts +6 -4
  699. package/src/composition/useSortable.ts +17 -17
  700. package/src/composition/useSortable2.ts +27 -24
  701. package/src/composition/useTheme.ts +11 -9
  702. package/src/composition/useTransformedModel.ts +6 -3
  703. package/src/composition/useWatchFetch.ts +3 -3
  704. package/src/composition/utils.ts +1 -1
  705. package/src/composition/watchCached.ts +2 -8
  706. package/src/demo-site-data/all-css-variables.ts +208 -169
  707. package/src/drafts/FileBaseInput.vue +35 -18
  708. package/src/generated/icons-16.ts +68 -68
  709. package/src/generated/icons-24.ts +211 -211
  710. package/src/global/resizeObserver.ts +1 -1
  711. package/src/helpers/dom.ts +12 -8
  712. package/src/helpers/downloadContent.ts +23 -21
  713. package/src/helpers/error.ts +6 -3
  714. package/src/helpers/functions.ts +5 -1
  715. package/src/helpers/objects.ts +1 -1
  716. package/src/helpers/utils.ts +23 -9
  717. package/src/index.ts +110 -110
  718. package/src/layout/PlBlockPage/PlBlockPage.vue +14 -19
  719. package/src/layout/PlBlockPage/PlBlockPageTitleTeleportTarget.ts +1 -1
  720. package/src/layout/PlBlockPage/index.ts +2 -2
  721. package/src/layout/PlBlockPage/pl-block-page.scss +1 -1
  722. package/src/layout/PlBlockPage/usePlBlockPageTitleTeleportTarget.ts +2 -2
  723. package/src/layout/PlContainer/PlContainer.vue +10 -5
  724. package/src/layout/PlContainer/index.ts +1 -1
  725. package/src/layout/PlContainer/pl-container.scss +1 -1
  726. package/src/layout/PlGrid/PlGrid.vue +3 -3
  727. package/src/layout/PlGrid/index.ts +1 -1
  728. package/src/layout/PlGrid/pl-grid.scss +1 -1
  729. package/src/layout/PlPlaceholder/PlPlaceholder.vue +19 -18
  730. package/src/layout/PlPlaceholder/index.ts +11 -14
  731. package/src/layout/PlPlaceholder/paint-worklet.js +6 -6
  732. package/src/layout/PlRow/PlRow.vue +2 -2
  733. package/src/layout/PlRow/index.ts +1 -1
  734. package/src/layout/PlRow/pl-row.scss +1 -1
  735. package/src/layout/PlSpacer/PlSpacer.vue +1 -1
  736. package/src/layout/PlSpacer/index.ts +1 -1
  737. package/src/types.ts +23 -17
  738. package/src/utils/DoubleContour.vue +18 -7
  739. package/src/utils/DropdownOverlay/DropdownOverlay.vue +13 -13
  740. package/src/utils/DropdownOverlay/index.ts +1 -1
  741. package/src/utils/PlCloseModalBtn.vue +1 -1
  742. package/src/utils/TextLabel.vue +1 -1
  743. package/src/utils/WebStopWatchElement.ts +5 -5
  744. package/src/utils/useLabelNotch.ts +12 -9
  745. package/src/utils/useValidation.ts +2 -2
  746. package/tsconfig.json +2 -7
  747. package/vitest.config.mts +9 -9
  748. package/.turbo/turbo-lint.log +0 -5
  749. package/eslint.config.mjs +0 -4
@@ -1 +1 @@
1
- {"version":3,"file":"useColumn.d.ts","sourceRoot":"","sources":["../../../../src/components/DataTable/composition/useColumn.ts"],"names":[],"mappings":"AAIA,wBAAgB,SAAS,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,KAAK,IAAI,EAAE,KAAK,EAAE,MAAM,IAAI;eAGxF;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;EAwB/C"}
1
+ {"version":3,"file":"useColumn.d.ts","sourceRoot":"","sources":["../../../../src/components/DataTable/composition/useColumn.ts"],"names":[],"mappings":"AAIA,wBAAgB,SAAS,CACvB,EAAE,EAAE,CAAC,KAAK,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,KAAK,IAAI,EAC/D,KAAK,EAAE,MAAM,IAAI;eAIC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;EAwB/C"}
@@ -1 +1 @@
1
- {"version":3,"file":"useColumn.js","sources":["../../../../src/components/DataTable/composition/useColumn.ts"],"sourcesContent":["import { useEventListener } from '../../../composition/useEventListener.ts';\nimport { useMouseUp } from './useMouseUp';\nimport { requestTick } from '../../../helpers';\n\nexport function useColumn(cb: (state: { x: number; width: number; diff: number }) => void, clear: () => void) {\n let state = undefined as { x: number; width: number } | undefined;\n\n function start(e: { x: number; width: number }) {\n state = { ...e };\n }\n\n useMouseUp(() => {\n state = undefined;\n clear();\n });\n\n const handle = requestTick(cb);\n\n useEventListener(window, 'mousemove', (e: { x: number }) => {\n if (state) {\n handle({\n x: state.x,\n width: state.width,\n diff: e.x - state.x,\n });\n }\n });\n\n return {\n start,\n };\n}\n"],"names":["useColumn","cb","clear","state","start","e","useMouseUp","handle","requestTick","useEventListener"],"mappings":";;;AAIO,SAASA,EAAUC,GAAiEC,GAAmB;AAC5G,MAAIC;AAEJ,WAASC,EAAMC,GAAiC;AAC9C,IAAAF,IAAQ,EAAE,GAAGE,EAAA;AAAA,EACf;AAEA,EAAAC,EAAW,MAAM;AACf,IAAAH,IAAQ,QACRD,EAAA;AAAA,EACF,CAAC;AAED,QAAMK,IAASC,EAAYP,CAAE;AAE7B,SAAAQ,EAAiB,QAAQ,aAAa,CAACJ,MAAqB;AAC1D,IAAIF,KACFI,EAAO;AAAA,MACL,GAAGJ,EAAM;AAAA,MACT,OAAOA,EAAM;AAAA,MACb,MAAME,EAAE,IAAIF,EAAM;AAAA,IAAA,CACnB;AAAA,EAEL,CAAC,GAEM;AAAA,IACL,OAAAC;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"useColumn.js","sources":["../../../../src/components/DataTable/composition/useColumn.ts"],"sourcesContent":["import { useEventListener } from \"../../../composition/useEventListener.ts\";\nimport { useMouseUp } from \"./useMouseUp\";\nimport { requestTick } from \"../../../helpers\";\n\nexport function useColumn(\n cb: (state: { x: number; width: number; diff: number }) => void,\n clear: () => void,\n) {\n let state = undefined as { x: number; width: number } | undefined;\n\n function start(e: { x: number; width: number }) {\n state = { ...e };\n }\n\n useMouseUp(() => {\n state = undefined;\n clear();\n });\n\n const handle = requestTick(cb);\n\n useEventListener(window, \"mousemove\", (e: { x: number }) => {\n if (state) {\n handle({\n x: state.x,\n width: state.width,\n diff: e.x - state.x,\n });\n }\n });\n\n return {\n start,\n };\n}\n"],"names":["useColumn","cb","clear","state","start","e","useMouseUp","handle","requestTick","useEventListener"],"mappings":";;;AAIO,SAASA,EACdC,GACAC,GACA;AACA,MAAIC;AAEJ,WAASC,EAAMC,GAAiC;AAC9C,IAAAF,IAAQ,EAAE,GAAGE,EAAA;AAAA,EACf;AAEA,EAAAC,EAAW,MAAM;AACf,IAAAH,IAAQ,QACRD,EAAA;AAAA,EACF,CAAC;AAED,QAAMK,IAASC,EAAYP,CAAE;AAE7B,SAAAQ,EAAiB,QAAQ,aAAa,CAACJ,MAAqB;AAC1D,IAAIF,KACFI,EAAO;AAAA,MACL,GAAGJ,EAAM;AAAA,MACT,OAAOA,EAAM;AAAA,MACb,MAAME,EAAE,IAAIF,EAAM;AAAA,IAAA,CACnB;AAAA,EAEL,CAAC,GAEM;AAAA,IACL,OAAAC;AAAA,EAAA;AAEJ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useMouseUp.js","sources":["../../../../src/components/DataTable/composition/useMouseUp.ts"],"sourcesContent":["import { onMounted, onUnmounted } from 'vue';\n\nexport function useMouseUp(update: (ev: globalThis.MouseEvent) => void) {\n onMounted(() => window.addEventListener('mouseup', update));\n onUnmounted(() => window.removeEventListener('mouseup', update));\n}\n"],"names":["useMouseUp","update","onMounted","onUnmounted"],"mappings":";AAEO,SAASA,EAAWC,GAA6C;AACtE,EAAAC,EAAU,MAAM,OAAO,iBAAiB,WAAWD,CAAM,CAAC,GAC1DE,EAAY,MAAM,OAAO,oBAAoB,WAAWF,CAAM,CAAC;AACjE;"}
1
+ {"version":3,"file":"useMouseUp.js","sources":["../../../../src/components/DataTable/composition/useMouseUp.ts"],"sourcesContent":["import { onMounted, onUnmounted } from \"vue\";\n\nexport function useMouseUp(update: (ev: globalThis.MouseEvent) => void) {\n onMounted(() => window.addEventListener(\"mouseup\", update));\n onUnmounted(() => window.removeEventListener(\"mouseup\", update));\n}\n"],"names":["useMouseUp","update","onMounted","onUnmounted"],"mappings":";AAEO,SAASA,EAAWC,GAA6C;AACtE,EAAAC,EAAU,MAAM,OAAO,iBAAiB,WAAWD,CAAM,CAAC,GAC1DE,EAAY,MAAM,OAAO,oBAAoB,WAAWF,CAAM,CAAC;AACjE;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useResize.js","sources":["../../../../src/components/DataTable/composition/useResize.ts"],"sourcesContent":["import type { Ref } from 'vue';\nimport { watchEffect, unref } from 'vue';\nimport type { ResizeTh } from '../types';\nimport { useColumn } from './useColumn';\nimport { MIN_COLUMN_WIDTH, RESIZE_GAP } from '../constants';\nimport { useMouse } from '../../../composition/useMouse';\nimport { useHover } from '../../../composition/useHover';\nimport { tapIf, clamp } from '@milaboratories/helpers';\nimport { identity } from '@milaboratories/helpers';\nimport type { State } from '../state';\n\ntype MaybeRef<T> = T | Ref<T>;\n\nexport function getColumnPositions(tableRef: MaybeRef<HTMLElement | undefined>) {\n const ths = tapIf(unref(tableRef)?.querySelectorAll('.th-cell'), (l) => [...l]) ?? [];\n return ths\n .map((th) => {\n const { width, x } = th.getBoundingClientRect();\n const colId = th.getAttribute('data-col-id')!;\n return identity<ResizeTh>({\n colId,\n width,\n x,\n right: x + width,\n });\n })\n .slice(0, ths.length - 1);\n}\n\nexport function useResize(state: State, tableRef: Ref<HTMLElement | undefined>) {\n const mousePos = useMouse();\n const isHovered = useHover(tableRef, {});\n const { data } = state;\n\n const resize = useColumn(\n (s) => {\n tapIf(data.resizeTh, (th) => {\n const col = data.columns.find((col) => col.id === th.colId);\n if (col) {\n col.width = clamp(s.width + s.diff, MIN_COLUMN_WIDTH, 10000);\n state.adjustWidth();\n }\n });\n },\n () => {\n data.resize = false;\n data.resizeTh = undefined;\n document.body.style.cursor = '';\n },\n );\n\n const mouseDown = (e: MouseEvent) => {\n if (data.resizeTh) {\n data.resize = true;\n resize.start({\n x: e.x,\n width: data.resizeTh.width,\n });\n }\n };\n\n watchEffect(() => {\n if (!isHovered.value) {\n document.body.style.cursor = '';\n return;\n }\n\n if (data.resize) {\n return;\n }\n\n const th = getColumnPositions(tableRef).find((it) => {\n return Math.abs(mousePos.x - it.right) < RESIZE_GAP;\n });\n\n if (th) {\n document.body.style.cursor = 'col-resize';\n data.resizeTh = th;\n } else {\n data.resizeTh = undefined;\n document.body.style.cursor = '';\n }\n });\n\n return {\n mouseDown,\n };\n}\n"],"names":["getColumnPositions","tableRef","ths","tapIf","_a","unref","l","th","width","x","colId","identity","useResize","state","mousePos","useMouse","isHovered","useHover","data","resize","useColumn","s","col","clamp","MIN_COLUMN_WIDTH","mouseDown","e","watchEffect","it","RESIZE_GAP"],"mappings":";;;;;;AAaO,SAASA,EAAmBC,GAA6C;;AAC9E,QAAMC,IAAMC,GAAMC,IAAAC,EAAMJ,CAAQ,MAAd,gBAAAG,EAAiB,iBAAiB,aAAa,CAACE,MAAM,CAAC,GAAGA,CAAC,CAAC,KAAK,CAAA;AACnF,SAAOJ,EACJ,IAAI,CAACK,MAAO;AACX,UAAM,EAAE,OAAAC,GAAO,GAAAC,MAAMF,EAAG,sBAAA,GAClBG,IAAQH,EAAG,aAAa,aAAa;AAC3C,WAAOI,EAAmB;AAAA,MACxB,OAAAD;AAAA,MACA,OAAAF;AAAA,MACA,GAAAC;AAAA,MACA,OAAOA,IAAID;AAAA,IAAA,CACZ;AAAA,EACH,CAAC,EACA,MAAM,GAAGN,EAAI,SAAS,CAAC;AAC5B;AAEO,SAASU,EAAUC,GAAcZ,GAAwC;AAC9E,QAAMa,IAAWC,EAAA,GACXC,IAAYC,EAAShB,GAAU,EAAE,GACjC,EAAE,MAAAiB,MAASL,GAEXM,IAASC;AAAA,IACb,CAACC,MAAM;AACL,MAAAlB,EAAMe,EAAK,UAAU,CAACX,MAAO;AAC3B,cAAMe,IAAMJ,EAAK,QAAQ,KAAK,CAACI,MAAQA,EAAI,OAAOf,EAAG,KAAK;AAC1D,QAAIe,MACFA,EAAI,QAAQC,EAAMF,EAAE,QAAQA,EAAE,MAAMG,GAAkB,GAAK,GAC3DX,EAAM,YAAA;AAAA,MAEV,CAAC;AAAA,IACH;AAAA,IACA,MAAM;AACJ,MAAAK,EAAK,SAAS,IACdA,EAAK,WAAW,QAChB,SAAS,KAAK,MAAM,SAAS;AAAA,IAC/B;AAAA,EAAA,GAGIO,IAAY,CAACC,MAAkB;AACnC,IAAIR,EAAK,aACPA,EAAK,SAAS,IACdC,EAAO,MAAM;AAAA,MACX,GAAGO,EAAE;AAAA,MACL,OAAOR,EAAK,SAAS;AAAA,IAAA,CACtB;AAAA,EAEL;AAEA,SAAAS,EAAY,MAAM;AAChB,QAAI,CAACX,EAAU,OAAO;AACpB,eAAS,KAAK,MAAM,SAAS;AAC7B;AAAA,IACF;AAEA,QAAIE,EAAK;AACP;AAGF,UAAMX,IAAKP,EAAmBC,CAAQ,EAAE,KAAK,CAAC2B,MACrC,KAAK,IAAId,EAAS,IAAIc,EAAG,KAAK,IAAIC,CAC1C;AAED,IAAItB,KACF,SAAS,KAAK,MAAM,SAAS,cAC7BW,EAAK,WAAWX,MAEhBW,EAAK,WAAW,QAChB,SAAS,KAAK,MAAM,SAAS;AAAA,EAEjC,CAAC,GAEM;AAAA,IACL,WAAAO;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"useResize.js","sources":["../../../../src/components/DataTable/composition/useResize.ts"],"sourcesContent":["import type { Ref } from \"vue\";\nimport { watchEffect, unref } from \"vue\";\nimport type { ResizeTh } from \"../types\";\nimport { useColumn } from \"./useColumn\";\nimport { MIN_COLUMN_WIDTH, RESIZE_GAP } from \"../constants\";\nimport { useMouse } from \"../../../composition/useMouse\";\nimport { useHover } from \"../../../composition/useHover\";\nimport { tapIf, clamp } from \"@milaboratories/helpers\";\nimport { identity } from \"@milaboratories/helpers\";\nimport type { State } from \"../state\";\n\ntype MaybeRef<T> = T | Ref<T>;\n\nexport function getColumnPositions(tableRef: MaybeRef<HTMLElement | undefined>) {\n const ths = tapIf(unref(tableRef)?.querySelectorAll(\".th-cell\"), (l) => [...l]) ?? [];\n return ths\n .map((th) => {\n const { width, x } = th.getBoundingClientRect();\n const colId = th.getAttribute(\"data-col-id\")!;\n return identity<ResizeTh>({\n colId,\n width,\n x,\n right: x + width,\n });\n })\n .slice(0, ths.length - 1);\n}\n\nexport function useResize(state: State, tableRef: Ref<HTMLElement | undefined>) {\n const mousePos = useMouse();\n const isHovered = useHover(tableRef, {});\n const { data } = state;\n\n const resize = useColumn(\n (s) => {\n tapIf(data.resizeTh, (th) => {\n const col = data.columns.find((col) => col.id === th.colId);\n if (col) {\n col.width = clamp(s.width + s.diff, MIN_COLUMN_WIDTH, 10000);\n state.adjustWidth();\n }\n });\n },\n () => {\n data.resize = false;\n data.resizeTh = undefined;\n document.body.style.cursor = \"\";\n },\n );\n\n const mouseDown = (e: MouseEvent) => {\n if (data.resizeTh) {\n data.resize = true;\n resize.start({\n x: e.x,\n width: data.resizeTh.width,\n });\n }\n };\n\n watchEffect(() => {\n if (!isHovered.value) {\n document.body.style.cursor = \"\";\n return;\n }\n\n if (data.resize) {\n return;\n }\n\n const th = getColumnPositions(tableRef).find((it) => {\n return Math.abs(mousePos.x - it.right) < RESIZE_GAP;\n });\n\n if (th) {\n document.body.style.cursor = \"col-resize\";\n data.resizeTh = th;\n } else {\n data.resizeTh = undefined;\n document.body.style.cursor = \"\";\n }\n });\n\n return {\n mouseDown,\n };\n}\n"],"names":["getColumnPositions","tableRef","ths","tapIf","_a","unref","l","th","width","x","colId","identity","useResize","state","mousePos","useMouse","isHovered","useHover","data","resize","useColumn","s","col","clamp","MIN_COLUMN_WIDTH","mouseDown","e","watchEffect","it","RESIZE_GAP"],"mappings":";;;;;;AAaO,SAASA,EAAmBC,GAA6C;;AAC9E,QAAMC,IAAMC,GAAMC,IAAAC,EAAMJ,CAAQ,MAAd,gBAAAG,EAAiB,iBAAiB,aAAa,CAACE,MAAM,CAAC,GAAGA,CAAC,CAAC,KAAK,CAAA;AACnF,SAAOJ,EACJ,IAAI,CAACK,MAAO;AACX,UAAM,EAAE,OAAAC,GAAO,GAAAC,MAAMF,EAAG,sBAAA,GAClBG,IAAQH,EAAG,aAAa,aAAa;AAC3C,WAAOI,EAAmB;AAAA,MACxB,OAAAD;AAAA,MACA,OAAAF;AAAA,MACA,GAAAC;AAAA,MACA,OAAOA,IAAID;AAAA,IAAA,CACZ;AAAA,EACH,CAAC,EACA,MAAM,GAAGN,EAAI,SAAS,CAAC;AAC5B;AAEO,SAASU,EAAUC,GAAcZ,GAAwC;AAC9E,QAAMa,IAAWC,EAAA,GACXC,IAAYC,EAAShB,GAAU,EAAE,GACjC,EAAE,MAAAiB,MAASL,GAEXM,IAASC;AAAA,IACb,CAACC,MAAM;AACL,MAAAlB,EAAMe,EAAK,UAAU,CAACX,MAAO;AAC3B,cAAMe,IAAMJ,EAAK,QAAQ,KAAK,CAACI,MAAQA,EAAI,OAAOf,EAAG,KAAK;AAC1D,QAAIe,MACFA,EAAI,QAAQC,EAAMF,EAAE,QAAQA,EAAE,MAAMG,GAAkB,GAAK,GAC3DX,EAAM,YAAA;AAAA,MAEV,CAAC;AAAA,IACH;AAAA,IACA,MAAM;AACJ,MAAAK,EAAK,SAAS,IACdA,EAAK,WAAW,QAChB,SAAS,KAAK,MAAM,SAAS;AAAA,IAC/B;AAAA,EAAA,GAGIO,IAAY,CAACC,MAAkB;AACnC,IAAIR,EAAK,aACPA,EAAK,SAAS,IACdC,EAAO,MAAM;AAAA,MACX,GAAGO,EAAE;AAAA,MACL,OAAOR,EAAK,SAAS;AAAA,IAAA,CACtB;AAAA,EAEL;AAEA,SAAAS,EAAY,MAAM;AAChB,QAAI,CAACX,EAAU,OAAO;AACpB,eAAS,KAAK,MAAM,SAAS;AAC7B;AAAA,IACF;AAEA,QAAIE,EAAK;AACP;AAGF,UAAMX,IAAKP,EAAmBC,CAAQ,EAAE,KAAK,CAAC2B,MACrC,KAAK,IAAId,EAAS,IAAIc,EAAG,KAAK,IAAIC,CAC1C;AAED,IAAItB,KACF,SAAS,KAAK,MAAM,SAAS,cAC7BW,EAAK,WAAWX,MAEhBW,EAAK,WAAW,QAChB,SAAS,KAAK,MAAM,SAAS;AAAA,EAEjC,CAAC,GAEM;AAAA,IACL,WAAAO;AAAA,EAAA;AAEJ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useTableColumns.js","sources":["../../../../src/components/DataTable/composition/useTableColumns.ts"],"sourcesContent":["import type { ColumnSpecSettings, TableSettings, TableColumn, TableData } from '../types';\nimport type { ComputedRef } from 'vue';\nimport { computed } from 'vue';\nimport { sliceBy } from '@milaboratories/helpers';\nimport { asConst } from '@milaboratories/helpers';\nimport { uniqueId } from '@milaboratories/helpers';\nimport { GAP } from '../constants';\n\nexport function useTableColumns(state: { data: TableData; settings: ComputedRef<TableSettings> }) {\n return computed<TableColumn[]>(() => {\n const { data, settings } = state;\n\n const { bodyWidth, scrollLeft } = data;\n\n const columns = [...data.columns];\n\n const controlId = uniqueId();\n\n if (settings.value.controlColumn) {\n columns.unshift(\n asConst<ColumnSpecSettings>({\n id: controlId,\n label: '#',\n width: 60,\n frozen: true,\n }),\n );\n }\n\n let offset = 0;\n\n const tableColumns = columns.map((col) => {\n const it = { ...col, offset };\n offset += col.width + GAP;\n return it;\n });\n\n const frozen = tableColumns.filter((col) => col.frozen);\n\n const visibleColumns = sliceBy(tableColumns, (col) => {\n if (col.frozen) {\n return false;\n }\n return scrollLeft < col.offset + col.width && col.offset < bodyWidth + scrollLeft;\n }).concat(frozen);\n\n return visibleColumns.map<TableColumn>((col) => ({\n ...col,\n style: {\n left: col.frozen ? `${col.offset}px` : `${col.offset - data.scrollLeft}px`,\n width: `${col.width}px`,\n },\n control: col.id === controlId,\n }));\n });\n}\n"],"names":["useTableColumns","state","computed","data","settings","bodyWidth","scrollLeft","columns","controlId","uniqueId","asConst","offset","tableColumns","col","it","GAP","frozen","sliceBy"],"mappings":";;;AAQO,SAASA,EAAgBC,GAAkE;AAChG,SAAOC,EAAwB,MAAM;AACnC,UAAM,EAAE,MAAAC,GAAM,UAAAC,EAAA,IAAaH,GAErB,EAAE,WAAAI,GAAW,YAAAC,EAAA,IAAeH,GAE5BI,IAAU,CAAC,GAAGJ,EAAK,OAAO,GAE1BK,IAAYC,EAAA;AAElB,IAAIL,EAAS,MAAM,iBACjBG,EAAQ;AAAA,MACNG,EAA4B;AAAA,QAC1B,IAAIF;AAAA,QACJ,OAAO;AAAA,QACP,OAAO;AAAA,QACP,QAAQ;AAAA,MAAA,CACT;AAAA,IAAA;AAIL,QAAIG,IAAS;AAEb,UAAMC,IAAeL,EAAQ,IAAI,CAACM,MAAQ;AACxC,YAAMC,IAAK,EAAE,GAAGD,GAAK,QAAAF,EAAA;AACrB,aAAAA,KAAUE,EAAI,QAAQE,GACfD;AAAA,IACT,CAAC,GAEKE,IAASJ,EAAa,OAAO,CAACC,MAAQA,EAAI,MAAM;AAStD,WAPuBI,EAAQL,GAAc,CAACC,MACxCA,EAAI,SACC,KAEFP,IAAaO,EAAI,SAASA,EAAI,SAASA,EAAI,SAASR,IAAYC,CACxE,EAAE,OAAOU,CAAM,EAEM,IAAiB,CAACH,OAAS;AAAA,MAC/C,GAAGA;AAAA,MACH,OAAO;AAAA,QACL,MAAMA,EAAI,SAAS,GAAGA,EAAI,MAAM,OAAO,GAAGA,EAAI,SAASV,EAAK,UAAU;AAAA,QACtE,OAAO,GAAGU,EAAI,KAAK;AAAA,MAAA;AAAA,MAErB,SAASA,EAAI,OAAOL;AAAA,IAAA,EACpB;AAAA,EACJ,CAAC;AACH;"}
1
+ {"version":3,"file":"useTableColumns.js","sources":["../../../../src/components/DataTable/composition/useTableColumns.ts"],"sourcesContent":["import type { ColumnSpecSettings, TableSettings, TableColumn, TableData } from \"../types\";\nimport type { ComputedRef } from \"vue\";\nimport { computed } from \"vue\";\nimport { sliceBy } from \"@milaboratories/helpers\";\nimport { asConst } from \"@milaboratories/helpers\";\nimport { uniqueId } from \"@milaboratories/helpers\";\nimport { GAP } from \"../constants\";\n\nexport function useTableColumns(state: { data: TableData; settings: ComputedRef<TableSettings> }) {\n return computed<TableColumn[]>(() => {\n const { data, settings } = state;\n\n const { bodyWidth, scrollLeft } = data;\n\n const columns = [...data.columns];\n\n const controlId = uniqueId();\n\n if (settings.value.controlColumn) {\n columns.unshift(\n asConst<ColumnSpecSettings>({\n id: controlId,\n label: \"#\",\n width: 60,\n frozen: true,\n }),\n );\n }\n\n let offset = 0;\n\n const tableColumns = columns.map((col) => {\n const it = { ...col, offset };\n offset += col.width + GAP;\n return it;\n });\n\n const frozen = tableColumns.filter((col) => col.frozen);\n\n const visibleColumns = sliceBy(tableColumns, (col) => {\n if (col.frozen) {\n return false;\n }\n return scrollLeft < col.offset + col.width && col.offset < bodyWidth + scrollLeft;\n }).concat(frozen);\n\n return visibleColumns.map<TableColumn>((col) => ({\n ...col,\n style: {\n left: col.frozen ? `${col.offset}px` : `${col.offset - data.scrollLeft}px`,\n width: `${col.width}px`,\n },\n control: col.id === controlId,\n }));\n });\n}\n"],"names":["useTableColumns","state","computed","data","settings","bodyWidth","scrollLeft","columns","controlId","uniqueId","asConst","offset","tableColumns","col","it","GAP","frozen","sliceBy"],"mappings":";;;AAQO,SAASA,EAAgBC,GAAkE;AAChG,SAAOC,EAAwB,MAAM;AACnC,UAAM,EAAE,MAAAC,GAAM,UAAAC,EAAA,IAAaH,GAErB,EAAE,WAAAI,GAAW,YAAAC,EAAA,IAAeH,GAE5BI,IAAU,CAAC,GAAGJ,EAAK,OAAO,GAE1BK,IAAYC,EAAA;AAElB,IAAIL,EAAS,MAAM,iBACjBG,EAAQ;AAAA,MACNG,EAA4B;AAAA,QAC1B,IAAIF;AAAA,QACJ,OAAO;AAAA,QACP,OAAO;AAAA,QACP,QAAQ;AAAA,MAAA,CACT;AAAA,IAAA;AAIL,QAAIG,IAAS;AAEb,UAAMC,IAAeL,EAAQ,IAAI,CAACM,MAAQ;AACxC,YAAMC,IAAK,EAAE,GAAGD,GAAK,QAAAF,EAAA;AACrB,aAAAA,KAAUE,EAAI,QAAQE,GACfD;AAAA,IACT,CAAC,GAEKE,IAASJ,EAAa,OAAO,CAACC,MAAQA,EAAI,MAAM;AAStD,WAPuBI,EAAQL,GAAc,CAACC,MACxCA,EAAI,SACC,KAEFP,IAAaO,EAAI,SAASA,EAAI,SAASA,EAAI,SAASR,IAAYC,CACxE,EAAE,OAAOU,CAAM,EAEM,IAAiB,CAACH,OAAS;AAAA,MAC/C,GAAGA;AAAA,MACH,OAAO;AAAA,QACL,MAAMA,EAAI,SAAS,GAAGA,EAAI,MAAM,OAAO,GAAGA,EAAI,SAASV,EAAK,UAAU;AAAA,QACtE,OAAO,GAAGU,EAAI,KAAK;AAAA,MAAA;AAAA,MAErB,SAASA,EAAI,OAAOL;AAAA,IAAA,EACpB;AAAA,EACJ,CAAC;AACH;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useTableRows.js","sources":["../../../../src/components/DataTable/composition/useTableRows.ts"],"sourcesContent":["import type { ComputedRef } from 'vue';\nimport { computed } from 'vue';\nimport type { TableCell, TableColumn, TableData, TableRow } from '../types';\nimport { identity } from '@milaboratories/helpers';\n\nexport function useTableRows(data: TableData, tableColumns: ComputedRef<TableColumn[]>) {\n const classesRef = computed(() =>\n tableColumns.value.reduce(\n (r, col) => {\n r[col.id] = col.justify ? 'justify-' + col.justify : '';\n return r;\n },\n {} as Record<string | symbol, string>,\n ),\n );\n\n return computed<TableRow[]>(() => {\n return data.rows.map<TableRow>((row) => {\n const classes = classesRef.value;\n\n const { primaryKey, offset, dataRow, height } = row;\n\n const cells = tableColumns.value.map<TableCell>((column) => {\n return {\n id: column.id,\n column,\n row,\n value: dataRow[column.id],\n class: classes[column.id],\n editable: column.editable,\n width: column.width,\n style: column.style,\n control: column.control,\n };\n });\n\n return identity<TableRow>({\n style: {\n top: `${offset - data.scrollTop}px`,\n height: `${row.height}px`,\n },\n primaryKey,\n offset,\n height,\n cells,\n selected: data.selectedRows.has(primaryKey),\n });\n });\n });\n}\n"],"names":["useTableRows","data","tableColumns","classesRef","computed","r","col","row","classes","primaryKey","offset","dataRow","height","cells","column","identity"],"mappings":";;AAKO,SAASA,EAAaC,GAAiBC,GAA0C;AACtF,QAAMC,IAAaC;AAAA,IAAS,MAC1BF,EAAa,MAAM;AAAA,MACjB,CAACG,GAAGC,OACFD,EAAEC,EAAI,EAAE,IAAIA,EAAI,UAAU,aAAaA,EAAI,UAAU,IAC9CD;AAAA,MAET,CAAA;AAAA,IAAC;AAAA,EACH;AAGF,SAAOD,EAAqB,MACnBH,EAAK,KAAK,IAAc,CAACM,MAAQ;AACtC,UAAMC,IAAUL,EAAW,OAErB,EAAE,YAAAM,GAAY,QAAAC,GAAQ,SAAAC,GAAS,QAAAC,MAAWL,GAE1CM,IAAQX,EAAa,MAAM,IAAe,CAACY,OACxC;AAAA,MACL,IAAIA,EAAO;AAAA,MACX,QAAAA;AAAA,MACA,KAAAP;AAAA,MACA,OAAOI,EAAQG,EAAO,EAAE;AAAA,MACxB,OAAON,EAAQM,EAAO,EAAE;AAAA,MACxB,UAAUA,EAAO;AAAA,MACjB,OAAOA,EAAO;AAAA,MACd,OAAOA,EAAO;AAAA,MACd,SAASA,EAAO;AAAA,IAAA,EAEnB;AAED,WAAOC,EAAmB;AAAA,MACxB,OAAO;AAAA,QACL,KAAK,GAAGL,IAAST,EAAK,SAAS;AAAA,QAC/B,QAAQ,GAAGM,EAAI,MAAM;AAAA,MAAA;AAAA,MAEvB,YAAAE;AAAA,MACA,QAAAC;AAAA,MACA,QAAAE;AAAA,MACA,OAAAC;AAAA,MACA,UAAUZ,EAAK,aAAa,IAAIQ,CAAU;AAAA,IAAA,CAC3C;AAAA,EACH,CAAC,CACF;AACH;"}
1
+ {"version":3,"file":"useTableRows.js","sources":["../../../../src/components/DataTable/composition/useTableRows.ts"],"sourcesContent":["import type { ComputedRef } from \"vue\";\nimport { computed } from \"vue\";\nimport type { TableCell, TableColumn, TableData, TableRow } from \"../types\";\nimport { identity } from \"@milaboratories/helpers\";\n\nexport function useTableRows(data: TableData, tableColumns: ComputedRef<TableColumn[]>) {\n const classesRef = computed(() =>\n tableColumns.value.reduce(\n (r, col) => {\n r[col.id] = col.justify ? \"justify-\" + col.justify : \"\";\n return r;\n },\n {} as Record<string | symbol, string>,\n ),\n );\n\n return computed<TableRow[]>(() => {\n return data.rows.map<TableRow>((row) => {\n const classes = classesRef.value;\n\n const { primaryKey, offset, dataRow, height } = row;\n\n const cells = tableColumns.value.map<TableCell>((column) => {\n return {\n id: column.id,\n column,\n row,\n value: dataRow[column.id],\n class: classes[column.id],\n editable: column.editable,\n width: column.width,\n style: column.style,\n control: column.control,\n };\n });\n\n return identity<TableRow>({\n style: {\n top: `${offset - data.scrollTop}px`,\n height: `${row.height}px`,\n },\n primaryKey,\n offset,\n height,\n cells,\n selected: data.selectedRows.has(primaryKey),\n });\n });\n });\n}\n"],"names":["useTableRows","data","tableColumns","classesRef","computed","r","col","row","classes","primaryKey","offset","dataRow","height","cells","column","identity"],"mappings":";;AAKO,SAASA,EAAaC,GAAiBC,GAA0C;AACtF,QAAMC,IAAaC;AAAA,IAAS,MAC1BF,EAAa,MAAM;AAAA,MACjB,CAACG,GAAGC,OACFD,EAAEC,EAAI,EAAE,IAAIA,EAAI,UAAU,aAAaA,EAAI,UAAU,IAC9CD;AAAA,MAET,CAAA;AAAA,IAAC;AAAA,EACH;AAGF,SAAOD,EAAqB,MACnBH,EAAK,KAAK,IAAc,CAACM,MAAQ;AACtC,UAAMC,IAAUL,EAAW,OAErB,EAAE,YAAAM,GAAY,QAAAC,GAAQ,SAAAC,GAAS,QAAAC,MAAWL,GAE1CM,IAAQX,EAAa,MAAM,IAAe,CAACY,OACxC;AAAA,MACL,IAAIA,EAAO;AAAA,MACX,QAAAA;AAAA,MACA,KAAAP;AAAA,MACA,OAAOI,EAAQG,EAAO,EAAE;AAAA,MACxB,OAAON,EAAQM,EAAO,EAAE;AAAA,MACxB,UAAUA,EAAO;AAAA,MACjB,OAAOA,EAAO;AAAA,MACd,OAAOA,EAAO;AAAA,MACd,SAASA,EAAO;AAAA,IAAA,EAEnB;AAED,WAAOC,EAAmB;AAAA,MACxB,OAAO;AAAA,QACL,KAAK,GAAGL,IAAST,EAAK,SAAS;AAAA,QAC/B,QAAQ,GAAGM,EAAI,MAAM;AAAA,MAAA;AAAA,MAEvB,YAAAE;AAAA,MACA,QAAAC;AAAA,MACA,QAAAE;AAAA,MACA,OAAAC;AAAA,MACA,UAAUZ,EAAK,aAAa,IAAIQ,CAAU;AAAA,IAAA,CAC3C;AAAA,EACH,CAAC,CACF;AACH;"}
@@ -1,5 +1,5 @@
1
1
  export declare function toComparable(v: unknown): string | number;
2
- export declare function compareRecords(sorts: Record<string, 'ASC' | 'DESC'>, a: Record<string, unknown>, b: Record<string, unknown>): number;
2
+ export declare function compareRecords(sorts: Record<string, "ASC" | "DESC">, a: Record<string, unknown>, b: Record<string, unknown>): number;
3
3
  export declare const identity: <T>(v: T) => T;
4
4
  export declare function rotate<T>(v: T, lst: T[]): T;
5
5
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/domain.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,mBAQtC;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,UAe3H;AAED,eAAO,MAAM,QAAQ,GAAI,CAAC,KAAK,CAAC,KAAG,CAAM,CAAC;AAE1C,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAGvC;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,CAAC,EAAE,CAoB/F"}
1
+ {"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/domain.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,mBAQtC;AAED,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC,EACrC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,UAgB3B;AAED,eAAO,MAAM,QAAQ,GAAI,CAAC,KAAK,CAAC,KAAG,CAAM,CAAC;AAE1C,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAGvC;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,CAAC,EAAE,CAoB/F"}
@@ -1 +1 @@
1
- {"version":3,"file":"domain.js","sources":["../../../src/components/DataTable/domain.ts"],"sourcesContent":["export function toComparable(v: unknown) {\n if (typeof v === 'number') {\n return v;\n } else if (typeof v === 'string') {\n return v;\n } else {\n return String(v);\n }\n}\n\nexport function compareRecords(sorts: Record<string, 'ASC' | 'DESC'>, a: Record<string, unknown>, b: Record<string, unknown>) {\n for (const [name, direction] of Object.entries(sorts)) {\n const v1 = toComparable(a[name]);\n const v2 = toComparable(b[name]);\n\n const rev = direction === 'DESC' ? -1 : 1;\n\n if (v1 === v2) {\n continue;\n }\n\n return (v1 > v2 ? 1 : -1) * rev;\n }\n\n return 0;\n}\n\nexport const identity = <T>(v: T): T => v;\n\nexport function rotate<T>(v: T, lst: T[]) {\n const next = lst.indexOf(v) + 1;\n return lst[next >= lst.length ? 0 : next];\n}\n\n/**\n * Returns a first contiguous copy of a section of an array where predicate is true\n * @param arr\n * @param predicate\n * @returns\n */\nexport function sliceBy<T>(arr: readonly T[], predicate: (el: T, index: number) => boolean): T[] {\n const left = arr.findIndex(predicate);\n\n if (left < 0) {\n return [];\n }\n\n const right = (() => {\n for (let i = left; i < arr.length; i++) {\n if (predicate(arr[i], i)) {\n continue;\n }\n\n return i;\n }\n\n return arr.length;\n })();\n\n return arr.slice(left, right);\n}\n"],"names":["rotate","v","lst","next","sliceBy","arr","predicate","left","right"],"mappings":"AA6BO,SAASA,EAAUC,GAAMC,GAAU;AACxC,QAAMC,IAAOD,EAAI,QAAQD,CAAC,IAAI;AAC9B,SAAOC,EAAIC,KAAQD,EAAI,SAAS,IAAIC,CAAI;AAC1C;AAQO,SAASC,EAAWC,GAAmBC,GAAmD;AAC/F,QAAMC,IAAOF,EAAI,UAAUC,CAAS;AAEpC,MAAIC,IAAO;AACT,WAAO,CAAA;AAGT,QAAMC,KAAS,MAAM;AACnB,aAAS,IAAID,GAAM,IAAIF,EAAI,QAAQ;AACjC,UAAI,CAAAC,EAAUD,EAAI,CAAC,GAAG,CAAC;AAIvB,eAAO;AAGT,WAAOA,EAAI;AAAA,EACb,GAAA;AAEA,SAAOA,EAAI,MAAME,GAAMC,CAAK;AAC9B;"}
1
+ {"version":3,"file":"domain.js","sources":["../../../src/components/DataTable/domain.ts"],"sourcesContent":["export function toComparable(v: unknown) {\n if (typeof v === \"number\") {\n return v;\n } else if (typeof v === \"string\") {\n return v;\n } else {\n return String(v);\n }\n}\n\nexport function compareRecords(\n sorts: Record<string, \"ASC\" | \"DESC\">,\n a: Record<string, unknown>,\n b: Record<string, unknown>,\n) {\n for (const [name, direction] of Object.entries(sorts)) {\n const v1 = toComparable(a[name]);\n const v2 = toComparable(b[name]);\n\n const rev = direction === \"DESC\" ? -1 : 1;\n\n if (v1 === v2) {\n continue;\n }\n\n return (v1 > v2 ? 1 : -1) * rev;\n }\n\n return 0;\n}\n\nexport const identity = <T>(v: T): T => v;\n\nexport function rotate<T>(v: T, lst: T[]) {\n const next = lst.indexOf(v) + 1;\n return lst[next >= lst.length ? 0 : next];\n}\n\n/**\n * Returns a first contiguous copy of a section of an array where predicate is true\n * @param arr\n * @param predicate\n * @returns\n */\nexport function sliceBy<T>(arr: readonly T[], predicate: (el: T, index: number) => boolean): T[] {\n const left = arr.findIndex(predicate);\n\n if (left < 0) {\n return [];\n }\n\n const right = (() => {\n for (let i = left; i < arr.length; i++) {\n if (predicate(arr[i], i)) {\n continue;\n }\n\n return i;\n }\n\n return arr.length;\n })();\n\n return arr.slice(left, right);\n}\n"],"names":["rotate","v","lst","next","sliceBy","arr","predicate","left","right"],"mappings":"AAiCO,SAASA,EAAUC,GAAMC,GAAU;AACxC,QAAMC,IAAOD,EAAI,QAAQD,CAAC,IAAI;AAC9B,SAAOC,EAAIC,KAAQD,EAAI,SAAS,IAAIC,CAAI;AAC1C;AAQO,SAASC,EAAWC,GAAmBC,GAAmD;AAC/F,QAAMC,IAAOF,EAAI,UAAUC,CAAS;AAEpC,MAAIC,IAAO;AACT,WAAO,CAAA;AAGT,QAAMC,KAAS,MAAM;AACnB,aAAS,IAAID,GAAM,IAAIF,EAAI,QAAQ;AACjC,UAAI,CAAAC,EAAUD,EAAI,CAAC,GAAG,CAAC;AAIvB,eAAO;AAGT,WAAOA,EAAI;AAAA,EACb,GAAA;AAEA,SAAOA,EAAI,MAAME,GAAMC,CAAK;AAC9B;"}
@@ -2,7 +2,7 @@ import { TableSettings, RawTableSettings } from './types';
2
2
  import { default as Component } from './TableComponent.vue';
3
3
  import { ComputedRef } from 'vue';
4
4
  import { MaybeRef } from '../../types';
5
- import type * as Types from './types';
5
+ import type * as Types from "./types";
6
6
  export { AsyncData } from './adapters/AsyncData';
7
7
  type AnyRef<T> = MaybeRef<T> | ComputedRef<T>;
8
8
  export declare function settings<D extends Types.DataRow>(tableSettings: TableSettings<D>): TableSettings;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,KAAK,KAAK,KAAK,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,KAAK,CAAC;AAGvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,KAAK,MAAM,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;AAE9C,wBAAgB,QAAQ,CAAC,CAAC,SAAS,KAAK,CAAC,OAAO,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,CAEhG;AAED,wBAAgB,OAAO,CAAC,KAAK,CAAC,CAAC,SAAS,aAAa,EAAE,aAAa,EAAE,CAAC;;GAEtE;AAED,OAAO,EAAE,SAAS,EAAE,CAAC;AAErB,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,mBAAmB;AAEnB,wBAAgB,eAAe,CAAC,CAAC,SAAS,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,aAAa,CAGzH;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;;;;;;;;;;IAK3G;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;;IAWpH"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,KAAK,KAAK,KAAK,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,KAAK,CAAC;AAGvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,KAAK,MAAM,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;AAE9C,wBAAgB,QAAQ,CAAC,CAAC,SAAS,KAAK,CAAC,OAAO,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,CAEhG;AAED,wBAAgB,OAAO,CAAC,KAAK,CAAC,CAAC,SAAS,aAAa,EAAE,aAAa,EAAE,CAAC;;GAEtE;AAED,OAAO,EAAE,SAAS,EAAE,CAAC;AAErB,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,mBAAmB;AAEnB,wBAAgB,eAAe,CAAC,CAAC,SAAS,KAAK,CAAC,OAAO,EACrD,IAAI,EAAE,CAAC,EAAE,EACT,WAAW,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GACrC,aAAa,CAOf;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,KAAK,CAAC,OAAO,EAChD,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EACpB,GAAG,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;;;;;;;;;;IAMnC;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,KAAK,CAAC,OAAO,EACzD,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EACpB,GAAG,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;;IAYnC"}
@@ -9,7 +9,11 @@ function y(t) {
9
9
  return a(s, { settings: Object.freeze(t) });
10
10
  }
11
11
  function c(t, e) {
12
- const r = new m(t, e.resolveRowHeight, e.resolvePrimaryKey);
12
+ const r = new m(
13
+ t,
14
+ e.resolveRowHeight,
15
+ e.resolvePrimaryKey
16
+ );
13
17
  return { ...e, dataSource: r };
14
18
  }
15
19
  function R(t, e) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/DataTable/index.ts"],"sourcesContent":["import type { TableSettings } from './types';\nimport Component from './TableComponent.vue';\nimport type * as Types from './types';\nimport type { RawTableSettings } from './types';\nimport type { ComputedRef } from 'vue';\nimport { computed, h, reactive, unref } from 'vue';\nimport { RawData } from './adapters/RawData';\nimport type { MaybeRef } from '../../types';\nexport { AsyncData } from './adapters/AsyncData';\n\ntype AnyRef<T> = MaybeRef<T> | ComputedRef<T>;\n\nexport function settings<D extends Types.DataRow>(tableSettings: TableSettings<D>): TableSettings {\n return Object.freeze(tableSettings) as TableSettings;\n}\n\nexport function factory<const S extends TableSettings>(tableSettings: S) {\n return h(Component, { settings: Object.freeze(tableSettings) });\n}\n\nexport { Component };\n\nexport { Types };\n\n/** * Adapters ***/\n\nexport function rawDataSettings<D extends Types.DataRow>(rows: D[], rawSettings: Types.RawTableSettings<D>): TableSettings {\n const dataSource = new RawData<D>(rows, rawSettings.resolveRowHeight, rawSettings.resolvePrimaryKey);\n return { ...rawSettings, dataSource } as TableSettings;\n}\n\nexport function useRawData<D extends Types.DataRow>(rowsRef: AnyRef<D[]>, raw: MaybeRef<RawTableSettings<D>>) {\n return computed(() => {\n const rows = unref(rowsRef);\n return rawDataSettings(rows, unref(raw));\n });\n}\n\n/**\n * @deprecated\n * @param rows\n * @param raw\n * @returns\n */\nexport function useRawDataComponent<D extends Types.DataRow>(rowsRef: AnyRef<D[]>, raw: MaybeRef<RawTableSettings<D>>) {\n const settings = computed(() => {\n const rows = unref(rowsRef);\n return rawDataSettings(rows, unref(raw));\n });\n\n const props = reactive({\n settings,\n });\n\n return computed(() => h(Component, props));\n}\n"],"names":["settings","tableSettings","factory","h","Component","rawDataSettings","rows","rawSettings","dataSource","RawData","useRawData","rowsRef","raw","computed","unref","useRawDataComponent","props","reactive"],"mappings":";;;;AAYO,SAASA,EAAkCC,GAAgD;AAChG,SAAO,OAAO,OAAOA,CAAa;AACpC;AAEO,SAASC,EAAuCD,GAAkB;AACvE,SAAOE,EAAEC,GAAW,EAAE,UAAU,OAAO,OAAOH,CAAa,GAAG;AAChE;AAQO,SAASI,EAAyCC,GAAWC,GAAuD;AACzH,QAAMC,IAAa,IAAIC,EAAWH,GAAMC,EAAY,kBAAkBA,EAAY,iBAAiB;AACnG,SAAO,EAAE,GAAGA,GAAa,YAAAC,EAAA;AAC3B;AAEO,SAASE,EAAoCC,GAAsBC,GAAoC;AAC5G,SAAOC,EAAS,MAAM;AACpB,UAAMP,IAAOQ,EAAMH,CAAO;AAC1B,WAAON,EAAgBC,GAAMQ,EAAMF,CAAG,CAAC;AAAA,EACzC,CAAC;AACH;AAQO,SAASG,EAA6CJ,GAAsBC,GAAoC;AACrH,QAAMZ,IAAWa,EAAS,MAAM;AAC9B,UAAMP,IAAOQ,EAAMH,CAAO;AAC1B,WAAON,EAAgBC,GAAMQ,EAAMF,CAAG,CAAC;AAAA,EACzC,CAAC,GAEKI,IAAQC,EAAS;AAAA,IACrB,UAAAjB;AAAAA,EAAA,CACD;AAED,SAAOa,EAAS,MAAMV,EAAEC,GAAWY,CAAK,CAAC;AAC3C;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/DataTable/index.ts"],"sourcesContent":["import type { TableSettings } from \"./types\";\nimport Component from \"./TableComponent.vue\";\nimport type * as Types from \"./types\";\nimport type { RawTableSettings } from \"./types\";\nimport type { ComputedRef } from \"vue\";\nimport { computed, h, reactive, unref } from \"vue\";\nimport { RawData } from \"./adapters/RawData\";\nimport type { MaybeRef } from \"../../types\";\nexport { AsyncData } from \"./adapters/AsyncData\";\n\ntype AnyRef<T> = MaybeRef<T> | ComputedRef<T>;\n\nexport function settings<D extends Types.DataRow>(tableSettings: TableSettings<D>): TableSettings {\n return Object.freeze(tableSettings) as TableSettings;\n}\n\nexport function factory<const S extends TableSettings>(tableSettings: S) {\n return h(Component, { settings: Object.freeze(tableSettings) });\n}\n\nexport { Component };\n\nexport { Types };\n\n/** * Adapters ***/\n\nexport function rawDataSettings<D extends Types.DataRow>(\n rows: D[],\n rawSettings: Types.RawTableSettings<D>,\n): TableSettings {\n const dataSource = new RawData<D>(\n rows,\n rawSettings.resolveRowHeight,\n rawSettings.resolvePrimaryKey,\n );\n return { ...rawSettings, dataSource } as TableSettings;\n}\n\nexport function useRawData<D extends Types.DataRow>(\n rowsRef: AnyRef<D[]>,\n raw: MaybeRef<RawTableSettings<D>>,\n) {\n return computed(() => {\n const rows = unref(rowsRef);\n return rawDataSettings(rows, unref(raw));\n });\n}\n\n/**\n * @deprecated\n * @param rows\n * @param raw\n * @returns\n */\nexport function useRawDataComponent<D extends Types.DataRow>(\n rowsRef: AnyRef<D[]>,\n raw: MaybeRef<RawTableSettings<D>>,\n) {\n const settings = computed(() => {\n const rows = unref(rowsRef);\n return rawDataSettings(rows, unref(raw));\n });\n\n const props = reactive({\n settings,\n });\n\n return computed(() => h(Component, props));\n}\n"],"names":["settings","tableSettings","factory","h","Component","rawDataSettings","rows","rawSettings","dataSource","RawData","useRawData","rowsRef","raw","computed","unref","useRawDataComponent","props","reactive"],"mappings":";;;;AAYO,SAASA,EAAkCC,GAAgD;AAChG,SAAO,OAAO,OAAOA,CAAa;AACpC;AAEO,SAASC,EAAuCD,GAAkB;AACvE,SAAOE,EAAEC,GAAW,EAAE,UAAU,OAAO,OAAOH,CAAa,GAAG;AAChE;AAQO,SAASI,EACdC,GACAC,GACe;AACf,QAAMC,IAAa,IAAIC;AAAA,IACrBH;AAAA,IACAC,EAAY;AAAA,IACZA,EAAY;AAAA,EAAA;AAEd,SAAO,EAAE,GAAGA,GAAa,YAAAC,EAAA;AAC3B;AAEO,SAASE,EACdC,GACAC,GACA;AACA,SAAOC,EAAS,MAAM;AACpB,UAAMP,IAAOQ,EAAMH,CAAO;AAC1B,WAAON,EAAgBC,GAAMQ,EAAMF,CAAG,CAAC;AAAA,EACzC,CAAC;AACH;AAQO,SAASG,EACdJ,GACAC,GACA;AACA,QAAMZ,IAAWa,EAAS,MAAM;AAC9B,UAAMP,IAAOQ,EAAMH,CAAO;AAC1B,WAAON,EAAgBC,GAAMQ,EAAMF,CAAG,CAAC;AAAA,EACzC,CAAC,GAEKI,IAAQC,EAAS;AAAA,IACrB,UAAAjB;AAAAA,EAAA,CACD;AAED,SAAOa,EAAS,MAAMV,EAAEC,GAAWY,CAAK,CAAC;AAC3C;"}
@@ -1 +1 @@
1
- {"version":3,"file":"keys.js","sources":["../../../src/components/DataTable/keys.ts"],"sourcesContent":["import { type InjectionKey, type ComputedRef, inject } from 'vue';\nimport type { TableSettings } from './types';\nimport type { State } from './state';\n\nexport const settingsKey = Symbol() as InjectionKey<ComputedRef<TableSettings>>;\n\nexport const stateKey = Symbol() as InjectionKey<State>;\n\nexport const injectState = () => inject(stateKey)!;\n"],"names":["stateKey","injectState","inject"],"mappings":";AAMO,MAAMA,IAAW,OAAA,GAEXC,IAAc,MAAMC,EAAOF,CAAQ;"}
1
+ {"version":3,"file":"keys.js","sources":["../../../src/components/DataTable/keys.ts"],"sourcesContent":["import { type InjectionKey, type ComputedRef, inject } from \"vue\";\nimport type { TableSettings } from \"./types\";\nimport type { State } from \"./state\";\n\nexport const settingsKey = Symbol() as InjectionKey<ComputedRef<TableSettings>>;\n\nexport const stateKey = Symbol() as InjectionKey<State>;\n\nexport const injectState = () => inject(stateKey)!;\n"],"names":["stateKey","injectState","inject"],"mappings":";AAMO,MAAMA,IAAW,OAAA,GAEXC,IAAc,MAAMC,EAAOF,CAAQ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAyB,UAAU,EAAE,GAAG,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAmBlH,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA6EvB;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;uBAIjC,GAAG,EAAE;0BAGF,kBAAkB,EAAE;qBAGzB,UAAU;uBAGR,UAAU;2BAGN,MAAM;6BAGJ,MAAM;+BAGJ,MAAM;iCAGJ,MAAM;;2BASZ;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;EAkC3D;AAED,MAAM,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,EAGV,UAAU,EACV,GAAG,EACH,kBAAkB,EAClB,UAAU,EACX,MAAM,SAAS,CAAC;AAsBjB,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAiFvB;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;uBAIjC,GAAG,EAAE;0BAGF,kBAAkB,EAAE;qBAGzB,UAAU;uBAGR,UAAU;2BAGN,MAAM;6BAGJ,MAAM;+BAGJ,MAAM;iCAGJ,MAAM;;2BASZ;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;EAuC3D;AAED,MAAM,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC"}
@@ -37,7 +37,11 @@ function q(l) {
37
37
  },
38
38
  { immediate: !0 }
39
39
  );
40
- const r = c(() => l.settings), i = c(() => t.columns.reduce((e, o) => e + o.width + w, 0)), f = c(() => m(d.data.dataHeight - d.data.bodyHeight, (e) => e > 0 ? e : 0)), y = c(() => m(i.value - d.data.bodyWidth, (e) => e > 0 ? e : 0)), T = c(() => ({
40
+ const r = c(() => l.settings), i = c(() => t.columns.reduce((e, o) => e + o.width + w, 0)), f = c(
41
+ () => m(d.data.dataHeight - d.data.bodyHeight, (e) => e > 0 ? e : 0)
42
+ ), y = c(
43
+ () => m(i.value - d.data.bodyWidth, (e) => e > 0 ? e : 0)
44
+ ), T = c(() => ({
41
45
  bodyHeight: t.bodyHeight,
42
46
  scrollTop: t.scrollTop,
43
47
  current: t.currentWindow
@@ -98,9 +102,11 @@ function q(l) {
98
102
  (!s || e.scrollTop < s.scrollTop || e.scrollTop + e.bodyHeight > s.bodyHeight + s.scrollTop) && (t.currentWindow = {
99
103
  scrollTop: e.scrollTop - g,
100
104
  bodyHeight: e.bodyHeight + g * 2
101
- }, A(h(t.currentWindow), r.value.dataSource).then(({ rows: H, dataWindow: W }) => {
102
- R(t.currentWindow, W) && (t.rows = H);
103
- }));
105
+ }, A(h(t.currentWindow), r.value.dataSource).then(
106
+ ({ rows: H, dataWindow: W }) => {
107
+ R(t.currentWindow, W) && (t.rows = H);
108
+ }
109
+ ));
104
110
  },
105
111
  { deep: !0, immediate: !0 }
106
112
  ), L(x, d), d;
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sources":["../../../src/components/DataTable/state.ts"],"sourcesContent":["import { computed, provide, reactive, watch } from 'vue';\nimport type { TableProps, TableData, DataWindow, PrimaryKey, Row, ColumnSpecSettings, DataSource } from './types';\nimport { deepClone, deepEqual } from '@milaboratories/helpers';\nimport { stateKey } from './keys';\nimport { clamp, delay, resolveAwaited, tap } from '@milaboratories/helpers';\nimport { useTableColumns } from './composition/useTableColumns';\nimport { useTableRows } from './composition/useTableRows';\nimport { GAP, WINDOW_DELTA } from './constants';\n\nconst loadRows = async (dataWindow: { scrollTop: number; bodyHeight: number }, dataSource: DataSource) => {\n const { scrollTop, bodyHeight } = dataWindow;\n\n await delay(0);\n\n return resolveAwaited({\n rows: dataSource.getRows(scrollTop, bodyHeight),\n dataWindow,\n });\n};\n\nexport function createState(props: TableProps) {\n const data = reactive<TableData>({\n rowIndex: -1,\n columns: [],\n pendingLoads: 0,\n currentWindow: undefined,\n rows: [],\n resize: false,\n resizeTh: undefined,\n dataHeight: 0,\n bodyHeight: props.settings.height,\n bodyWidth: 0,\n scrollTop: 0,\n scrollLeft: 0,\n selectedRows: new Set<PrimaryKey>(),\n selectedColumns: new Set<string>(),\n });\n\n watch(\n () => props.settings,\n (newSettings) => {\n data.columns = deepClone(newSettings.columns);\n data.currentWindow = undefined;\n newSettings.dataSource\n .getHeight()\n .then((dataHeight) => {\n data.dataHeight = dataHeight;\n state.updateBodyHeight();\n })\n .catch((err) => (data.error = err));\n },\n { immediate: true },\n );\n\n const settings = computed(() => {\n return props.settings;\n });\n\n const columnsWidth = computed(() => {\n return data.columns.reduce((acc, col) => acc + col.width + GAP, 0);\n });\n\n const maxScrollTop = computed(() => tap(state.data.dataHeight - state.data.bodyHeight, (v) => (v > 0 ? v : 0)));\n const maxScrollLeft = computed(() => tap(columnsWidth.value - state.data.bodyWidth, (v) => (v > 0 ? v : 0)));\n\n const dataDimensions = computed<DataWindow & { current?: DataWindow }>(() => {\n return {\n bodyHeight: data.bodyHeight,\n scrollTop: data.scrollTop,\n current: data.currentWindow,\n };\n });\n\n const tableColumns = useTableColumns({\n data,\n settings,\n });\n\n const tableRows = useTableRows(data, tableColumns);\n\n const adjustWidth = () => {\n const newWidth = data.columns.reduce((acc, col) => acc + col.width + GAP, 0);\n\n const rightOffset = data.bodyWidth + data.scrollLeft;\n\n if (newWidth < rightOffset) {\n const last = data.columns[data.columns.length - 1];\n last.width = last.width + (rightOffset - newWidth);\n }\n };\n\n const state = {\n data,\n settings,\n tableColumns,\n tableRows,\n adjustWidth,\n updateOffsets(ev: { deltaY: number; deltaX: number }) {\n this.updateScrollTop(data.scrollTop + ev.deltaY);\n this.updateScrollLeft(data.scrollLeft + ev.deltaX);\n },\n getSelectedRows(): Row[] {\n return data.rows.filter((row) => data.selectedRows.has(row.primaryKey));\n },\n getSelectedColumns(): ColumnSpecSettings[] {\n return data.columns.filter((col) => data.selectedColumns.has(col.id));\n },\n selectRow(rowId: PrimaryKey) {\n data.selectedRows.add(rowId);\n },\n unselectRow(rowId: PrimaryKey) {\n data.selectedRows.delete(rowId);\n },\n selectColumn(columnId: string) {\n data.selectedColumns.add(columnId);\n },\n unselectColumn(columnId: string) {\n data.selectedColumns.delete(columnId);\n },\n updateScrollTop(scrollTop: number) {\n data.scrollTop = clamp(scrollTop, 0, maxScrollTop.value);\n },\n updateScrollLeft(scrollLeft: number) {\n data.scrollLeft = clamp(scrollLeft, 0, maxScrollLeft.value);\n },\n updateBodyHeight() {\n const { height } = props.settings;\n const { dataHeight } = data;\n const bodyHeight = height > dataHeight ? dataHeight : height;\n data.bodyHeight = bodyHeight;\n },\n updateDimensions(rect: { height: number; width: number }) {\n this.updateBodyHeight();\n state.data.bodyWidth = rect.width;\n state.adjustWidth();\n data.rows = [];\n data.currentWindow = undefined;\n },\n };\n\n watch(\n dataDimensions,\n (n, _o) => {\n const current = n.current;\n\n const needToLoad = !current || n.scrollTop < current.scrollTop || n.scrollTop + n.bodyHeight > current.bodyHeight + current.scrollTop;\n\n if (needToLoad) {\n data.currentWindow = {\n scrollTop: n.scrollTop - WINDOW_DELTA,\n bodyHeight: n.bodyHeight + WINDOW_DELTA * 2,\n };\n loadRows(deepClone(data.currentWindow), settings.value.dataSource).then(({ rows, dataWindow }) => {\n if (deepEqual(data.currentWindow, dataWindow)) {\n data.rows = rows;\n }\n });\n }\n },\n { deep: true, immediate: true },\n );\n\n provide(stateKey, state);\n\n return state;\n}\n\nexport type State = ReturnType<typeof createState>;\n"],"names":["loadRows","dataWindow","dataSource","scrollTop","bodyHeight","delay","resolveAwaited","createState","props","data","reactive","watch","newSettings","deepClone","dataHeight","state","err","settings","computed","columnsWidth","acc","col","GAP","maxScrollTop","tap","v","maxScrollLeft","dataDimensions","tableColumns","useTableColumns","tableRows","useTableRows","newWidth","rightOffset","last","ev","row","rowId","columnId","clamp","scrollLeft","height","rect","n","_o","current","WINDOW_DELTA","rows","deepEqual","provide","stateKey"],"mappings":";;;;;;AASA,MAAMA,IAAW,OAAOC,GAAuDC,MAA2B;AACxG,QAAM,EAAE,WAAAC,GAAW,YAAAC,EAAA,IAAeH;AAElC,eAAMI,EAAM,CAAC,GAENC,EAAe;AAAA,IACpB,MAAMJ,EAAW,QAAQC,GAAWC,CAAU;AAAA,IAC9C,YAAAH;AAAA,EAAA,CACD;AACH;AAEO,SAASM,EAAYC,GAAmB;AAC7C,QAAMC,IAAOC,EAAoB;AAAA,IAC/B,UAAU;AAAA,IACV,SAAS,CAAA;AAAA,IACT,cAAc;AAAA,IACd,eAAe;AAAA,IACf,MAAM,CAAA;AAAA,IACN,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,YAAYF,EAAM,SAAS;AAAA,IAC3B,WAAW;AAAA,IACX,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,kCAAkB,IAAA;AAAA,IAClB,qCAAqB,IAAA;AAAA,EAAY,CAClC;AAED,EAAAG;AAAA,IACE,MAAMH,EAAM;AAAA,IACZ,CAACI,MAAgB;AACf,MAAAH,EAAK,UAAUI,EAAUD,EAAY,OAAO,GAC5CH,EAAK,gBAAgB,QACrBG,EAAY,WACT,UAAA,EACA,KAAK,CAACE,MAAe;AACpB,QAAAL,EAAK,aAAaK,GAClBC,EAAM,iBAAA;AAAA,MACR,CAAC,EACA,MAAM,CAACC,MAASP,EAAK,QAAQO,CAAI;AAAA,IACtC;AAAA,IACA,EAAE,WAAW,GAAA;AAAA,EAAK;AAGpB,QAAMC,IAAWC,EAAS,MACjBV,EAAM,QACd,GAEKW,IAAeD,EAAS,MACrBT,EAAK,QAAQ,OAAO,CAACW,GAAKC,MAAQD,IAAMC,EAAI,QAAQC,GAAK,CAAC,CAClE,GAEKC,IAAeL,EAAS,MAAMM,EAAIT,EAAM,KAAK,aAAaA,EAAM,KAAK,YAAY,CAACU,MAAOA,IAAI,IAAIA,IAAI,CAAE,CAAC,GACxGC,IAAgBR,EAAS,MAAMM,EAAIL,EAAa,QAAQJ,EAAM,KAAK,WAAW,CAACU,MAAOA,IAAI,IAAIA,IAAI,CAAE,CAAC,GAErGE,IAAiBT,EAAgD,OAC9D;AAAA,IACL,YAAYT,EAAK;AAAA,IACjB,WAAWA,EAAK;AAAA,IAChB,SAASA,EAAK;AAAA,EAAA,EAEjB,GAEKmB,IAAeC,EAAgB;AAAA,IACnC,MAAApB;AAAA,IACA,UAAAQ;AAAA,EAAA,CACD,GAEKa,IAAYC,EAAatB,GAAMmB,CAAY,GAa3Cb,IAAQ;AAAA,IACZ,MAAAN;AAAA,IACA,UAAAQ;AAAA,IACA,cAAAW;AAAA,IACA,WAAAE;AAAA,IACA,aAhBkB,MAAM;AACxB,YAAME,IAAWvB,EAAK,QAAQ,OAAO,CAACW,GAAKC,MAAQD,IAAMC,EAAI,QAAQC,GAAK,CAAC,GAErEW,IAAcxB,EAAK,YAAYA,EAAK;AAE1C,UAAIuB,IAAWC,GAAa;AAC1B,cAAMC,IAAOzB,EAAK,QAAQA,EAAK,QAAQ,SAAS,CAAC;AACjD,QAAAyB,EAAK,QAAQA,EAAK,SAASD,IAAcD;AAAA,MAC3C;AAAA,IACF;AAAA,IAQE,cAAcG,GAAwC;AACpD,WAAK,gBAAgB1B,EAAK,YAAY0B,EAAG,MAAM,GAC/C,KAAK,iBAAiB1B,EAAK,aAAa0B,EAAG,MAAM;AAAA,IACnD;AAAA,IACA,kBAAyB;AACvB,aAAO1B,EAAK,KAAK,OAAO,CAAC2B,MAAQ3B,EAAK,aAAa,IAAI2B,EAAI,UAAU,CAAC;AAAA,IACxE;AAAA,IACA,qBAA2C;AACzC,aAAO3B,EAAK,QAAQ,OAAO,CAACY,MAAQZ,EAAK,gBAAgB,IAAIY,EAAI,EAAE,CAAC;AAAA,IACtE;AAAA,IACA,UAAUgB,GAAmB;AAC3B,MAAA5B,EAAK,aAAa,IAAI4B,CAAK;AAAA,IAC7B;AAAA,IACA,YAAYA,GAAmB;AAC7B,MAAA5B,EAAK,aAAa,OAAO4B,CAAK;AAAA,IAChC;AAAA,IACA,aAAaC,GAAkB;AAC7B,MAAA7B,EAAK,gBAAgB,IAAI6B,CAAQ;AAAA,IACnC;AAAA,IACA,eAAeA,GAAkB;AAC/B,MAAA7B,EAAK,gBAAgB,OAAO6B,CAAQ;AAAA,IACtC;AAAA,IACA,gBAAgBnC,GAAmB;AACjC,MAAAM,EAAK,YAAY8B,EAAMpC,GAAW,GAAGoB,EAAa,KAAK;AAAA,IACzD;AAAA,IACA,iBAAiBiB,GAAoB;AACnC,MAAA/B,EAAK,aAAa8B,EAAMC,GAAY,GAAGd,EAAc,KAAK;AAAA,IAC5D;AAAA,IACA,mBAAmB;AACjB,YAAM,EAAE,QAAAe,MAAWjC,EAAM,UACnB,EAAE,YAAAM,MAAeL,GACjBL,IAAaqC,IAAS3B,IAAaA,IAAa2B;AACtD,MAAAhC,EAAK,aAAaL;AAAA,IACpB;AAAA,IACA,iBAAiBsC,GAAyC;AACxD,WAAK,iBAAA,GACL3B,EAAM,KAAK,YAAY2B,EAAK,OAC5B3B,EAAM,YAAA,GACNN,EAAK,OAAO,CAAA,GACZA,EAAK,gBAAgB;AAAA,IACvB;AAAA,EAAA;AAGF,SAAAE;AAAA,IACEgB;AAAA,IACA,CAACgB,GAAGC,MAAO;AACT,YAAMC,IAAUF,EAAE;AAIlB,OAFmB,CAACE,KAAWF,EAAE,YAAYE,EAAQ,aAAaF,EAAE,YAAYA,EAAE,aAAaE,EAAQ,aAAaA,EAAQ,eAG1HpC,EAAK,gBAAgB;AAAA,QACnB,WAAWkC,EAAE,YAAYG;AAAA,QACzB,YAAYH,EAAE,aAAaG,IAAe;AAAA,MAAA,GAE5C9C,EAASa,EAAUJ,EAAK,aAAa,GAAGQ,EAAS,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,MAAA8B,GAAM,YAAA9C,QAAiB;AAChG,QAAI+C,EAAUvC,EAAK,eAAeR,CAAU,MAC1CQ,EAAK,OAAOsC;AAAA,MAEhB,CAAC;AAAA,IAEL;AAAA,IACA,EAAE,MAAM,IAAM,WAAW,GAAA;AAAA,EAAK,GAGhCE,EAAQC,GAAUnC,CAAK,GAEhBA;AACT;"}
1
+ {"version":3,"file":"state.js","sources":["../../../src/components/DataTable/state.ts"],"sourcesContent":["import { computed, provide, reactive, watch } from \"vue\";\nimport type {\n TableProps,\n TableData,\n DataWindow,\n PrimaryKey,\n Row,\n ColumnSpecSettings,\n DataSource,\n} from \"./types\";\nimport { deepClone, deepEqual } from \"@milaboratories/helpers\";\nimport { stateKey } from \"./keys\";\nimport { clamp, delay, resolveAwaited, tap } from \"@milaboratories/helpers\";\nimport { useTableColumns } from \"./composition/useTableColumns\";\nimport { useTableRows } from \"./composition/useTableRows\";\nimport { GAP, WINDOW_DELTA } from \"./constants\";\n\nconst loadRows = async (\n dataWindow: { scrollTop: number; bodyHeight: number },\n dataSource: DataSource,\n) => {\n const { scrollTop, bodyHeight } = dataWindow;\n\n await delay(0);\n\n return resolveAwaited({\n rows: dataSource.getRows(scrollTop, bodyHeight),\n dataWindow,\n });\n};\n\nexport function createState(props: TableProps) {\n const data = reactive<TableData>({\n rowIndex: -1,\n columns: [],\n pendingLoads: 0,\n currentWindow: undefined,\n rows: [],\n resize: false,\n resizeTh: undefined,\n dataHeight: 0,\n bodyHeight: props.settings.height,\n bodyWidth: 0,\n scrollTop: 0,\n scrollLeft: 0,\n selectedRows: new Set<PrimaryKey>(),\n selectedColumns: new Set<string>(),\n });\n\n watch(\n () => props.settings,\n (newSettings) => {\n data.columns = deepClone(newSettings.columns);\n data.currentWindow = undefined;\n newSettings.dataSource\n .getHeight()\n .then((dataHeight) => {\n data.dataHeight = dataHeight;\n state.updateBodyHeight();\n })\n .catch((err) => (data.error = err));\n },\n { immediate: true },\n );\n\n const settings = computed(() => {\n return props.settings;\n });\n\n const columnsWidth = computed(() => {\n return data.columns.reduce((acc, col) => acc + col.width + GAP, 0);\n });\n\n const maxScrollTop = computed(() =>\n tap(state.data.dataHeight - state.data.bodyHeight, (v) => (v > 0 ? v : 0)),\n );\n const maxScrollLeft = computed(() =>\n tap(columnsWidth.value - state.data.bodyWidth, (v) => (v > 0 ? v : 0)),\n );\n\n const dataDimensions = computed<DataWindow & { current?: DataWindow }>(() => {\n return {\n bodyHeight: data.bodyHeight,\n scrollTop: data.scrollTop,\n current: data.currentWindow,\n };\n });\n\n const tableColumns = useTableColumns({\n data,\n settings,\n });\n\n const tableRows = useTableRows(data, tableColumns);\n\n const adjustWidth = () => {\n const newWidth = data.columns.reduce((acc, col) => acc + col.width + GAP, 0);\n\n const rightOffset = data.bodyWidth + data.scrollLeft;\n\n if (newWidth < rightOffset) {\n const last = data.columns[data.columns.length - 1];\n last.width = last.width + (rightOffset - newWidth);\n }\n };\n\n const state = {\n data,\n settings,\n tableColumns,\n tableRows,\n adjustWidth,\n updateOffsets(ev: { deltaY: number; deltaX: number }) {\n this.updateScrollTop(data.scrollTop + ev.deltaY);\n this.updateScrollLeft(data.scrollLeft + ev.deltaX);\n },\n getSelectedRows(): Row[] {\n return data.rows.filter((row) => data.selectedRows.has(row.primaryKey));\n },\n getSelectedColumns(): ColumnSpecSettings[] {\n return data.columns.filter((col) => data.selectedColumns.has(col.id));\n },\n selectRow(rowId: PrimaryKey) {\n data.selectedRows.add(rowId);\n },\n unselectRow(rowId: PrimaryKey) {\n data.selectedRows.delete(rowId);\n },\n selectColumn(columnId: string) {\n data.selectedColumns.add(columnId);\n },\n unselectColumn(columnId: string) {\n data.selectedColumns.delete(columnId);\n },\n updateScrollTop(scrollTop: number) {\n data.scrollTop = clamp(scrollTop, 0, maxScrollTop.value);\n },\n updateScrollLeft(scrollLeft: number) {\n data.scrollLeft = clamp(scrollLeft, 0, maxScrollLeft.value);\n },\n updateBodyHeight() {\n const { height } = props.settings;\n const { dataHeight } = data;\n const bodyHeight = height > dataHeight ? dataHeight : height;\n data.bodyHeight = bodyHeight;\n },\n updateDimensions(rect: { height: number; width: number }) {\n this.updateBodyHeight();\n state.data.bodyWidth = rect.width;\n state.adjustWidth();\n data.rows = [];\n data.currentWindow = undefined;\n },\n };\n\n watch(\n dataDimensions,\n (n, _o) => {\n const current = n.current;\n\n const needToLoad =\n !current ||\n n.scrollTop < current.scrollTop ||\n n.scrollTop + n.bodyHeight > current.bodyHeight + current.scrollTop;\n\n if (needToLoad) {\n data.currentWindow = {\n scrollTop: n.scrollTop - WINDOW_DELTA,\n bodyHeight: n.bodyHeight + WINDOW_DELTA * 2,\n };\n loadRows(deepClone(data.currentWindow), settings.value.dataSource).then(\n ({ rows, dataWindow }) => {\n if (deepEqual(data.currentWindow, dataWindow)) {\n data.rows = rows;\n }\n },\n );\n }\n },\n { deep: true, immediate: true },\n );\n\n provide(stateKey, state);\n\n return state;\n}\n\nexport type State = ReturnType<typeof createState>;\n"],"names":["loadRows","dataWindow","dataSource","scrollTop","bodyHeight","delay","resolveAwaited","createState","props","data","reactive","watch","newSettings","deepClone","dataHeight","state","err","settings","computed","columnsWidth","acc","col","GAP","maxScrollTop","tap","v","maxScrollLeft","dataDimensions","tableColumns","useTableColumns","tableRows","useTableRows","newWidth","rightOffset","last","ev","row","rowId","columnId","clamp","scrollLeft","height","rect","n","_o","current","WINDOW_DELTA","rows","deepEqual","provide","stateKey"],"mappings":"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"}
@@ -32,7 +32,7 @@ export type TableData = {
32
32
  error?: unknown;
33
33
  };
34
34
  export type DataRow = Record<string, unknown>;
35
- export type PrimaryKey = Branded<string, 'PrimaryKey'>;
35
+ export type PrimaryKey = Branded<string, "PrimaryKey">;
36
36
  export type ResolvePrimaryKey<D extends DataRow = DataRow> = (dataRow: D, index: number) => string;
37
37
  export type ResolveRowHeight<D extends DataRow = DataRow> = (dataRow: D, index: number) => number;
38
38
  export type SelectedRowsOperation<D extends DataRow = DataRow> = {
@@ -58,9 +58,9 @@ export type ColumnSpecSettings<ID = string, _Value = unknown> = {
58
58
  label: string;
59
59
  id: ID;
60
60
  width: number;
61
- justify?: 'center' | 'start';
61
+ justify?: "center" | "start";
62
62
  sort?: {
63
- direction: 'DESC' | 'ASC' | undefined;
63
+ direction: "DESC" | "ASC" | undefined;
64
64
  };
65
65
  component?: () => Component;
66
66
  editable?: boolean;
@@ -2,7 +2,7 @@ import { ListOptionNormalized } from '../types';
2
2
  type __VLS_Props = {
3
3
  option: ListOptionNormalized;
4
4
  isSelected: boolean;
5
- size: 'small' | 'medium';
5
+ size: "small" | "medium";
6
6
  isHovered: boolean;
7
7
  useCheckbox?: boolean;
8
8
  };
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownListItem.vue.d.ts","sourceRoot":"","sources":["../../src/components/DropdownListItem.vue"],"names":[],"mappings":"AAqEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAErD,KAAK,WAAW,GAAG;IACf,MAAM,EAAE,oBAAoB,CAAC;IAC7B,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;;UAHM,OAAO,GAAG,QAAQ;gBADZ,OAAO;eAER,OAAO;iBACJ,OAAO;;AA6GzB,wBAQG"}
1
+ {"version":3,"file":"DropdownListItem.vue.d.ts","sourceRoot":"","sources":["../../src/components/DropdownListItem.vue"],"names":[],"mappings":"AAwEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAErD,KAAK,WAAW,GAAG;IACf,MAAM,EAAE,oBAAoB,CAAC;IAC7B,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;;UAHM,OAAO,GAAG,QAAQ;gBADZ,OAAO;eAER,OAAO;iBACJ,OAAO;;AA6GzB,wBAQG"}
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownListItem.vue.js","sources":["../../src/components/DropdownListItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport CheckboxUncheckedSvg from '../assets/images/24_checkbox-light-enabled-unchecked.svg?raw';\nimport CheckboxCheckedSvg from '../assets/images/24_checkbox-light-enabled-checked.svg?raw';\nimport type { ListOptionNormalized } from '../types';\n\nconst props = withDefaults(\n defineProps<{\n option: ListOptionNormalized;\n isSelected: boolean;\n size: 'small' | 'medium';\n isHovered: boolean;\n useCheckbox?: boolean;\n }>(),\n {\n size: 'small',\n isSelected: false,\n isHovered: false,\n useCheckbox: false,\n },\n);\n\nconst classes = computed<string>(() => {\n const classItems: string[] = [];\n if (props.size === 'small') {\n classItems.push('dropdown-list-item__small');\n }\n if (props.isSelected) {\n classItems.push('dropdown-list-item__selected');\n }\n if (props.isHovered) {\n classItems.push('hovered-item');\n }\n return classItems.join(' ');\n});\n\nconst checkboxClasses = computed(() => {\n const classes: string[] = ['dropdown-list-item__checkbox', 'flex-self-start'];\n if (props.isSelected) {\n classes.push('checked');\n }\n return classes.join(' ');\n});\n\n// Why??\nconst checkboxSvg = computed(() => (props.isSelected ? CheckboxCheckedSvg : CheckboxUncheckedSvg));\n</script>\n\n<template>\n <div :class=\"classes\" class=\"dropdown-list-item\">\n <!-- eslint-disable vue/no-v-html -->\n <div v-if=\"props.useCheckbox\" :class=\"checkboxClasses\" v-html=\"checkboxSvg\" />\n <!--eslint-enable-->\n <div class=\"dropdown-list-item__title-container\">\n <div class=\"dropdown-list-item__title text-s\">\n {{ option.label }}\n </div>\n <div v-if=\"option.description\" class=\"dropdown-list-item__description text-description\">\n {{ option.description }}\n </div>\n </div>\n <div v-if=\"!props.useCheckbox && props.isSelected\" class=\"dropdown-list-item__icon flex-self-start\" />\n </div>\n</template>\n"],"names":["props","__props","classes","computed","classItems","checkboxClasses","checkboxSvg","CheckboxCheckedSvg","CheckboxUncheckedSvg","_createElementBlock","_normalizeClass","_createElementVNode","_hoisted_2","_hoisted_3","_toDisplayString","_openBlock","_hoisted_4","_hoisted_5"],"mappings":";;;;;;;;;;;;;;;;;;;AAMA,UAAMA,IAAQC,GAgBRC,IAAUC,EAAiB,MAAM;AACrC,YAAMC,IAAuB,CAAA;AAC7B,aAAIJ,EAAM,SAAS,WACjBI,EAAW,KAAK,2BAA2B,GAEzCJ,EAAM,cACRI,EAAW,KAAK,8BAA8B,GAE5CJ,EAAM,aACRI,EAAW,KAAK,cAAc,GAEzBA,EAAW,KAAK,GAAG;AAAA,IAC5B,CAAC,GAEKC,IAAkBF,EAAS,MAAM;AACrC,YAAMD,IAAoB,CAAC,gCAAgC,iBAAiB;AAC5E,aAAIF,EAAM,cACRE,EAAQ,KAAK,SAAS,GAEjBA,EAAQ,KAAK,GAAG;AAAA,IACzB,CAAC,GAGKI,IAAcH,EAAS,MAAOH,EAAM,aAAaO,IAAqBC,CAAqB;2BAI/FC,EAaM,OAAA;AAAA,MAbA,OAAKC,EAAA,CAAER,EAAA,OAAe,oBAAoB,CAAA;AAAA,IAAA;MAEnCF,EAAM,oBAAjBS,EAA8E,OAAA;AAAA;QAA/C,SAAOJ,EAAA,KAAe;AAAA,QAAE,WAAQC,EAAA;AAAA,MAAA;MAE/DK,EAOM,OAPNC,GAOM;AAAA,QANJD,EAEM,OAFNE,GAEMC,EADDb,EAAA,OAAO,KAAK,GAAA,CAAA;AAAA,QAENA,EAAA,OAAO,eAAlBc,EAAA,GAAAN,EAEM,OAFNO,GAEMF,EADDb,EAAA,OAAO,WAAW,GAAA,CAAA;;MAGb,CAAAD,EAAM,eAAeA,EAAM,cAAvCe,EAAA,GAAAN,EAAsG,OAAtGQ,CAAsG;;;;"}
1
+ {"version":3,"file":"DropdownListItem.vue.js","sources":["../../src/components/DropdownListItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport CheckboxUncheckedSvg from \"../assets/images/24_checkbox-light-enabled-unchecked.svg?raw\";\nimport CheckboxCheckedSvg from \"../assets/images/24_checkbox-light-enabled-checked.svg?raw\";\nimport type { ListOptionNormalized } from \"../types\";\n\nconst props = withDefaults(\n defineProps<{\n option: ListOptionNormalized;\n isSelected: boolean;\n size: \"small\" | \"medium\";\n isHovered: boolean;\n useCheckbox?: boolean;\n }>(),\n {\n size: \"small\",\n isSelected: false,\n isHovered: false,\n useCheckbox: false,\n },\n);\n\nconst classes = computed<string>(() => {\n const classItems: string[] = [];\n if (props.size === \"small\") {\n classItems.push(\"dropdown-list-item__small\");\n }\n if (props.isSelected) {\n classItems.push(\"dropdown-list-item__selected\");\n }\n if (props.isHovered) {\n classItems.push(\"hovered-item\");\n }\n return classItems.join(\" \");\n});\n\nconst checkboxClasses = computed(() => {\n const classes: string[] = [\"dropdown-list-item__checkbox\", \"flex-self-start\"];\n if (props.isSelected) {\n classes.push(\"checked\");\n }\n return classes.join(\" \");\n});\n\n// Why??\nconst checkboxSvg = computed(() => (props.isSelected ? CheckboxCheckedSvg : CheckboxUncheckedSvg));\n</script>\n\n<template>\n <div :class=\"classes\" class=\"dropdown-list-item\">\n <!-- eslint-disable vue/no-v-html -->\n <div v-if=\"props.useCheckbox\" :class=\"checkboxClasses\" v-html=\"checkboxSvg\" />\n <!--eslint-enable-->\n <div class=\"dropdown-list-item__title-container\">\n <div class=\"dropdown-list-item__title text-s\">\n {{ option.label }}\n </div>\n <div v-if=\"option.description\" class=\"dropdown-list-item__description text-description\">\n {{ option.description }}\n </div>\n </div>\n <div\n v-if=\"!props.useCheckbox && props.isSelected\"\n class=\"dropdown-list-item__icon flex-self-start\"\n />\n </div>\n</template>\n"],"names":["props","__props","classes","computed","classItems","checkboxClasses","checkboxSvg","CheckboxCheckedSvg","CheckboxUncheckedSvg","_createElementBlock","_normalizeClass","_createElementVNode","_hoisted_2","_hoisted_3","_toDisplayString","_openBlock","_hoisted_4","_hoisted_5"],"mappings":";;;;;;;;;;;;;;;;;;;AAMA,UAAMA,IAAQC,GAgBRC,IAAUC,EAAiB,MAAM;AACrC,YAAMC,IAAuB,CAAA;AAC7B,aAAIJ,EAAM,SAAS,WACjBI,EAAW,KAAK,2BAA2B,GAEzCJ,EAAM,cACRI,EAAW,KAAK,8BAA8B,GAE5CJ,EAAM,aACRI,EAAW,KAAK,cAAc,GAEzBA,EAAW,KAAK,GAAG;AAAA,IAC5B,CAAC,GAEKC,IAAkBF,EAAS,MAAM;AACrC,YAAMD,IAAoB,CAAC,gCAAgC,iBAAiB;AAC5E,aAAIF,EAAM,cACRE,EAAQ,KAAK,SAAS,GAEjBA,EAAQ,KAAK,GAAG;AAAA,IACzB,CAAC,GAGKI,IAAcH,EAAS,MAAOH,EAAM,aAAaO,IAAqBC,CAAqB;2BAI/FC,EAgBM,OAAA;AAAA,MAhBA,OAAKC,EAAA,CAAER,EAAA,OAAe,oBAAoB,CAAA;AAAA,IAAA;MAEnCF,EAAM,oBAAjBS,EAA8E,OAAA;AAAA;QAA/C,SAAOJ,EAAA,KAAe;AAAA,QAAE,WAAQC,EAAA;AAAA,MAAA;MAE/DK,EAOM,OAPNC,GAOM;AAAA,QANJD,EAEM,OAFNE,GAEMC,EADDb,EAAA,OAAO,KAAK,GAAA,CAAA;AAAA,QAENA,EAAA,OAAO,eAAlBc,EAAA,GAAAN,EAEM,OAFNO,GAEMF,EADDb,EAAA,OAAO,WAAW,GAAA,CAAA;;MAIhB,CAAAD,EAAM,eAAeA,EAAM,cADpCe,EAAA,GAAAN,EAGE,OAHFQ,CAGE;;;;"}
@@ -1,3 +1,3 @@
1
1
  export declare function toComparable(v: unknown): string | number;
2
- export declare function compareRecords(sorts: Record<string, 'ASC' | 'DESC'>, a: Record<string, unknown>, b: Record<string, unknown>): number;
2
+ export declare function compareRecords(sorts: Record<string, "ASC" | "DESC">, a: Record<string, unknown>, b: Record<string, unknown>): number;
3
3
  //# sourceMappingURL=domain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../../../src/components/GridTable/domain.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,mBAQtC;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,UAe3H"}
1
+ {"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../../../src/components/GridTable/domain.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,mBAQtC;AAED,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC,EACrC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,UAgB3B"}
@@ -10,17 +10,17 @@ export type ColumnSettings = {
10
10
  text: string;
11
11
  name: string;
12
12
  width?: string;
13
- justify?: 'center' | 'start';
13
+ justify?: "center" | "start";
14
14
  sort?: {
15
- direction: 'DESC' | 'ASC' | undefined;
15
+ direction: "DESC" | "ASC" | undefined;
16
16
  };
17
17
  slot?: boolean;
18
18
  editable?: boolean;
19
19
  valueType?: ValueType;
20
20
  };
21
21
  export type ShowContextOptions = <T extends string = string>(options: ListOption<T>[], onSelect: (op: T) => void) => void;
22
- export type ColumnEvent = 'delete:column' | 'expand:column';
23
- export type CellEvent = 'delete:row' | 'update:value';
22
+ export type ColumnEvent = "delete:column" | "expand:column";
23
+ export type CellEvent = "delete:row" | "update:value";
24
24
  export type Settings = {
25
25
  columns: ColumnSettings[];
26
26
  rows: Record<string, unknown>[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/GridTable/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,KAAK,OAAO,GAAG;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC;AAEtC,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC7B,IAAI,CAAC,EAAE;QACL,SAAS,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;KACvC,CAAC;IACF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK,IAAI,CAAC;AAE1H,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG,eAAe,CAAC;AAE5D,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,cAAc,CAAC;AAEtD,MAAM,MAAM,QAAQ,GAAG;IACrB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EACJ;QACA,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,CAAC,EAAE,MAAM,CAAC;QACV,KAAK,EAAE,MAAM,CAAC;KACf,GACC,SAAS,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/GridTable/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,KAAK,OAAO,GAAG;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC;AAEtC,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC7B,IAAI,CAAC,EAAE;QACL,SAAS,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;KACvC,CAAC;IACF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EACzD,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,EACxB,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,KACtB,IAAI,CAAC;AAEV,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG,eAAe,CAAC;AAE5D,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,cAAc,CAAC;AAEtD,MAAM,MAAM,QAAQ,GAAG;IACrB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EACJ;QACE,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,CAAC,EAAE,MAAM,CAAC;QACV,KAAK,EAAE,MAAM,CAAC;KACf,GACD,SAAS,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useColumn.d.ts","sourceRoot":"","sources":["../../../src/components/GridTable/useColumn.ts"],"names":[],"mappings":"AAIA,wBAAgB,SAAS,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,KAAK,IAAI,EAAE,KAAK,EAAE,MAAM,IAAI;eAGxF;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;EAwB/C"}
1
+ {"version":3,"file":"useColumn.d.ts","sourceRoot":"","sources":["../../../src/components/GridTable/useColumn.ts"],"names":[],"mappings":"AAIA,wBAAgB,SAAS,CACvB,EAAE,EAAE,CAAC,KAAK,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,KAAK,IAAI,EAC/D,KAAK,EAAE,MAAM,IAAI;eAIC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;EAwB/C"}
@@ -1 +1 @@
1
- {"version":3,"file":"HScroll.vue.js","sources":["../../src/components/HScroll.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed, ref, unref } from 'vue';\nimport { useEventListener } from '../composition/useEventListener';\nimport { eventListener } from '../helpers/dom';\n\nconst emit = defineEmits(['update:scrollLeft']);\n\nconst props = defineProps<{\n scrollLeft: number;\n clientWidth: number;\n scrollWidth: number;\n}>();\n\nconst scrollRef = ref<EventTarget>();\n\nconst ratioRef = computed(() => props.clientWidth / (props.scrollWidth || 1));\n\nconst visibleRef = computed(() => {\n return ratioRef.value < 1;\n});\n\nconst scrollbarStyle = computed(() => {\n const ratio = unref(ratioRef);\n return {\n left: props.scrollLeft * ratio + 'px',\n width: Math.floor(props.clientWidth * ratio) + 'px',\n };\n});\n\nuseEventListener(scrollRef, 'pointerdown', (down: PointerEvent) => {\n const s = {\n clientX: down.clientX,\n };\n\n const update = (e: MouseEvent) => {\n const dy = (e.clientX - s.clientX) / ratioRef.value;\n emit('update:scrollLeft', props.scrollLeft + dy);\n s.clientX = e.clientX;\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const removePointerMove = eventListener(document as any, 'mousemove', update);\n\n ['mouseup', 'pointercancel'].forEach((eventType) => {\n document.addEventListener(eventType, removePointerMove, { once: true });\n });\n});\n</script>\n\n<template>\n <div v-if=\"visibleRef\" ref=\"scrollRef\" class=\"h-scroll\">\n <div class=\"h-scroll__scrollbar\" :style=\"scrollbarStyle\" />\n </div>\n</template>\n"],"names":["emit","__emit","props","__props","scrollRef","ref","ratioRef","computed","visibleRef","scrollbarStyle","ratio","unref","useEventListener","down","s","removePointerMove","eventListener","e","dy","eventType","_createElementBlock","_createElementVNode"],"mappings":";;;;;;;;;;;;AAKA,UAAMA,IAAOC,GAEPC,IAAQC,GAMRC,IAAYC,EAAA,GAEZC,IAAWC,EAAS,MAAML,EAAM,eAAeA,EAAM,eAAe,EAAE,GAEtEM,IAAaD,EAAS,MACnBD,EAAS,QAAQ,CACzB,GAEKG,IAAiBF,EAAS,MAAM;AACpC,YAAMG,IAAQC,EAAML,CAAQ;AAC5B,aAAO;AAAA,QACL,MAAMJ,EAAM,aAAaQ,IAAQ;AAAA,QACjC,OAAO,KAAK,MAAMR,EAAM,cAAcQ,CAAK,IAAI;AAAA,MAAA;AAAA,IAEnD,CAAC;AAED,WAAAE,EAAiBR,GAAW,eAAe,CAACS,MAAuB;AACjE,YAAMC,IAAI;AAAA,QACR,SAASD,EAAK;AAAA,MAAA,GAUVE,IAAoBC,EAAc,UAAiB,aAP1C,CAACC,MAAkB;AAChC,cAAMC,KAAMD,EAAE,UAAUH,EAAE,WAAWR,EAAS;AAC9C,QAAAN,EAAK,qBAAqBE,EAAM,aAAagB,CAAE,GAC/CJ,EAAE,UAAUG,EAAE;AAAA,MAChB,CAG4E;AAE5E,OAAC,WAAW,eAAe,EAAE,QAAQ,CAACE,MAAc;AAClD,iBAAS,iBAAiBA,GAAWJ,GAAmB,EAAE,MAAM,IAAM;AAAA,MACxE,CAAC;AAAA,IACH,CAAC,aAIYP,EAAA,cAAXY,EAEM,OAAA;AAAA;eAFqB;AAAA,MAAJ,KAAIhB;AAAA,MAAY,OAAM;AAAA,IAAA;MAC3CiB,EAA2D,OAAA;AAAA,QAAtD,OAAM;AAAA,QAAuB,SAAOZ,EAAA,KAAc;AAAA,MAAA;;;;"}
1
+ {"version":3,"file":"HScroll.vue.js","sources":["../../src/components/HScroll.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed, ref, unref } from \"vue\";\nimport { useEventListener } from \"../composition/useEventListener\";\nimport { eventListener } from \"../helpers/dom\";\n\nconst emit = defineEmits([\"update:scrollLeft\"]);\n\nconst props = defineProps<{\n scrollLeft: number;\n clientWidth: number;\n scrollWidth: number;\n}>();\n\nconst scrollRef = ref<EventTarget>();\n\nconst ratioRef = computed(() => props.clientWidth / (props.scrollWidth || 1));\n\nconst visibleRef = computed(() => {\n return ratioRef.value < 1;\n});\n\nconst scrollbarStyle = computed(() => {\n const ratio = unref(ratioRef);\n return {\n left: props.scrollLeft * ratio + \"px\",\n width: Math.floor(props.clientWidth * ratio) + \"px\",\n };\n});\n\nuseEventListener(scrollRef, \"pointerdown\", (down: PointerEvent) => {\n const s = {\n clientX: down.clientX,\n };\n\n const update = (e: MouseEvent) => {\n const dy = (e.clientX - s.clientX) / ratioRef.value;\n emit(\"update:scrollLeft\", props.scrollLeft + dy);\n s.clientX = e.clientX;\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const removePointerMove = eventListener(document as any, \"mousemove\", update);\n\n [\"mouseup\", \"pointercancel\"].forEach((eventType) => {\n document.addEventListener(eventType, removePointerMove, { once: true });\n });\n});\n</script>\n\n<template>\n <div v-if=\"visibleRef\" ref=\"scrollRef\" class=\"h-scroll\">\n <div class=\"h-scroll__scrollbar\" :style=\"scrollbarStyle\" />\n </div>\n</template>\n"],"names":["emit","__emit","props","__props","scrollRef","ref","ratioRef","computed","visibleRef","scrollbarStyle","ratio","unref","useEventListener","down","s","removePointerMove","eventListener","e","dy","eventType","_createElementBlock","_createElementVNode"],"mappings":";;;;;;;;;;;;AAKA,UAAMA,IAAOC,GAEPC,IAAQC,GAMRC,IAAYC,EAAA,GAEZC,IAAWC,EAAS,MAAML,EAAM,eAAeA,EAAM,eAAe,EAAE,GAEtEM,IAAaD,EAAS,MACnBD,EAAS,QAAQ,CACzB,GAEKG,IAAiBF,EAAS,MAAM;AACpC,YAAMG,IAAQC,EAAML,CAAQ;AAC5B,aAAO;AAAA,QACL,MAAMJ,EAAM,aAAaQ,IAAQ;AAAA,QACjC,OAAO,KAAK,MAAMR,EAAM,cAAcQ,CAAK,IAAI;AAAA,MAAA;AAAA,IAEnD,CAAC;AAED,WAAAE,EAAiBR,GAAW,eAAe,CAACS,MAAuB;AACjE,YAAMC,IAAI;AAAA,QACR,SAASD,EAAK;AAAA,MAAA,GAUVE,IAAoBC,EAAc,UAAiB,aAP1C,CAACC,MAAkB;AAChC,cAAMC,KAAMD,EAAE,UAAUH,EAAE,WAAWR,EAAS;AAC9C,QAAAN,EAAK,qBAAqBE,EAAM,aAAagB,CAAE,GAC/CJ,EAAE,UAAUG,EAAE;AAAA,MAChB,CAG4E;AAE5E,OAAC,WAAW,eAAe,EAAE,QAAQ,CAACE,MAAc;AAClD,iBAAS,iBAAiBA,GAAWJ,GAAmB,EAAE,MAAM,IAAM;AAAA,MACxE,CAAC;AAAA,IACH,CAAC,aAIYP,EAAA,cAAXY,EAEM,OAAA;AAAA;eAFqB;AAAA,MAAJ,KAAIhB;AAAA,MAAY,OAAM;AAAA,IAAA;MAC3CiB,EAA2D,OAAA;AAAA,QAAtD,OAAM;AAAA,QAAuB,SAAOZ,EAAA,KAAc;AAAA,MAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"InputRange.vue.d.ts","sourceRoot":"","sources":["../../src/components/InputRange.vue"],"names":[],"mappings":"AAuGA,KAAK,WAAW,GAAG;IACf,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;;;;;;;;eADY,MAAM;;AA0JtB,wBAQG"}
1
+ {"version":3,"file":"InputRange.vue.d.ts","sourceRoot":"","sources":["../../src/components/InputRange.vue"],"names":[],"mappings":"AAyGA,KAAK,WAAW,GAAG;IACf,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;;;;;;;;eADY,MAAM;;AA4JtB,wBAQG"}
@@ -10,7 +10,9 @@ const C = { class: "ui-input-range__separator" }, B = /* @__PURE__ */ c({
10
10
  const u = m, r = v, l = x({
11
11
  left: u.modelValue[0],
12
12
  right: u.modelValue[1]
13
- }), o = h(!1), V = d(() => (o.value, "ui-input-range-focused")), s = d({
13
+ }), o = h(!1), V = d(
14
+ () => (o.value, "ui-input-range-focused")
15
+ ), s = d({
14
16
  get() {
15
17
  return {
16
18
  left: Math.min(...u.modelValue),
@@ -1 +1 @@
1
- {"version":3,"file":"InputRange.vue.js","sources":["../../src/components/InputRange.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, reactive, ref, watch } from 'vue';\n\nconst props = withDefaults(\n defineProps<{\n modelValue: [number, number];\n separator?: string;\n }>(),\n {\n separator: '-',\n },\n);\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', val: [number, number]): void;\n (e: 'change', val: [number, number]): void;\n}>();\n\nconst data = reactive({\n left: props.modelValue[0],\n right: props.modelValue[1],\n});\n\nconst isFocused = ref(false);\n\nconst classes = computed(() => (isFocused.value ? 'ui-input-range-focused' : 'ui-input-range-focused'));\n\nconst valuesModel = computed({\n get() {\n return {\n left: Math.min(...props.modelValue), // dangerous....\n right: Math.max(...props.modelValue),\n };\n },\n set() {},\n});\n\nwatch(\n () => valuesModel.value,\n (value) => (data.left = value.left) && (data.right = value.right),\n);\n\n// watch(\n// () => props.modelValue,\n// (value: [number, number]) => {\n// console.log('model value updated');\n// (data.left = value[0]), (data.right = value[1]);\n// },\n// );\n\nfunction updateModel() {\n emit('update:modelValue', [+data.left, +data.right]);\n emit('change', [+data.left, +data.right]);\n}\n\nfunction validateInput(isLeft: boolean, event: Event) {\n const value: string = (event.target as HTMLInputElement).value;\n const result = /^[0-9]{0,2}$/.test(value);\n // if there is more than 3 digits we cut last one\n if (!result) {\n if (isLeft) {\n data.left = +value.slice(0, value.length - 1);\n } else {\n data.right = +value.slice(0, value.length - 1);\n }\n } else {\n if (isLeft) {\n data.left = +value;\n } else {\n data.right = +value;\n }\n }\n}\n</script>\n\n<template>\n <!-- {{ data }} -->\n <div :class=\"classes\" class=\"ui-input-range\" v-bind=\"$attrs\">\n <input\n v-model=\"valuesModel.left\"\n class=\"text-s\"\n type=\"text\"\n @change=\"updateModel\"\n @focus=\"isFocused = true\"\n @focusout=\"isFocused = false\"\n @input=\"validateInput(true, $event)\"\n />\n <div class=\"ui-input-range__separator\">{{ props.separator }}</div>\n <input\n v-model=\"valuesModel.right\"\n class=\"text-s\"\n type=\"text\"\n @change=\"updateModel\"\n @focus=\"isFocused = true\"\n @focusout=\"isFocused = false\"\n @input=\"validateInput(false, $event)\"\n />\n </div>\n</template>\n"],"names":["props","__props","emit","__emit","data","reactive","isFocused","ref","classes","computed","valuesModel","watch","value","updateModel","validateInput","isLeft","event","_openBlock","_createElementBlock","_mergeProps","$attrs","_createElementVNode","_cache","$event","_vModelText","_hoisted_1","_toDisplayString"],"mappings":";;;;;;;;;AAGA,UAAMA,IAAQC,GAURC,IAAOC,GAKPC,IAAOC,EAAS;AAAA,MACpB,MAAML,EAAM,WAAW,CAAC;AAAA,MACxB,OAAOA,EAAM,WAAW,CAAC;AAAA,IAAA,CAC1B,GAEKM,IAAYC,EAAI,EAAK,GAErBC,IAAUC,EAAS,OAAOH,EAAU,OAAQ,yBAAoD,GAEhGI,IAAcD,EAAS;AAAA,MAC3B,MAAM;AACJ,eAAO;AAAA,UACL,MAAM,KAAK,IAAI,GAAGT,EAAM,UAAU;AAAA;AAAA,UAClC,OAAO,KAAK,IAAI,GAAGA,EAAM,UAAU;AAAA,QAAA;AAAA,MAEvC;AAAA,MACA,MAAM;AAAA,MAAC;AAAA,IAAA,CACR;AAED,IAAAW;AAAA,MACE,MAAMD,EAAY;AAAA,MAClB,CAACE,OAAWR,EAAK,OAAOQ,EAAM,UAAUR,EAAK,QAAQQ,EAAM;AAAA,IAAA;AAW7D,aAASC,IAAc;AACrB,MAAAX,EAAK,qBAAqB,CAAC,CAACE,EAAK,MAAM,CAACA,EAAK,KAAK,CAAC,GACnDF,EAAK,UAAU,CAAC,CAACE,EAAK,MAAM,CAACA,EAAK,KAAK,CAAC;AAAA,IAC1C;AAEA,aAASU,EAAcC,GAAiBC,GAAc;AACpD,YAAMJ,IAAiBI,EAAM,OAA4B;AAGzD,MAFe,eAAe,KAAKJ,CAAK,IASlCG,IACFX,EAAK,OAAO,CAACQ,IAEbR,EAAK,QAAQ,CAACQ,IATZG,IACFX,EAAK,OAAO,CAACQ,EAAM,MAAM,GAAGA,EAAM,SAAS,CAAC,IAE5CR,EAAK,QAAQ,CAACQ,EAAM,MAAM,GAAGA,EAAM,SAAS,CAAC;AAAA,IASnD;sBAKEK,EAAA,GAAAC,EAoBM,OApBNC,EAoBM;AAAA,MApBA,OAAK,CAAEX,EAAA,OAAe,gBAAgB;AAAA,IAAA,GAASY,EAAAA,MAAM,GAAA;AAAA,QACzDC,EAQE,SAAA;AAAA,QAPS,uBAAAC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAb,EAAA,MAAY,OAAIa;AAAA,QACzB,OAAM;AAAA,QACN,MAAK;AAAA,QACJ,UAAQV;AAAA,QACR,gCAAOP,EAAA,QAAS;AAAA,QAChB,mCAAUA,EAAA,QAAS;AAAA,QACnB,SAAKgB,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAET,EAAa,IAAOS,CAAM;AAAA,MAAA;QANzB,CAAAC,GAAAd,EAAA,MAAY,IAAI;AAAA,MAAA;MAQ3BW,EAAkE,OAAlEI,GAAkEC,EAAxB1B,EAAM,SAAS,GAAA,CAAA;AAAA,QACzDqB,EAQE,SAAA;AAAA,QAPS,uBAAAC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAb,EAAA,MAAY,QAAKa;AAAA,QAC1B,OAAM;AAAA,QACN,MAAK;AAAA,QACJ,UAAQV;AAAA,QACR,gCAAOP,EAAA,QAAS;AAAA,QAChB,mCAAUA,EAAA,QAAS;AAAA,QACnB,SAAKgB,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAET,EAAa,IAAQS,CAAM;AAAA,MAAA;QAN1B,CAAAC,GAAAd,EAAA,MAAY,KAAK;AAAA,MAAA;;;;"}
1
+ {"version":3,"file":"InputRange.vue.js","sources":["../../src/components/InputRange.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, reactive, ref, watch } from \"vue\";\n\nconst props = withDefaults(\n defineProps<{\n modelValue: [number, number];\n separator?: string;\n }>(),\n {\n separator: \"-\",\n },\n);\n\nconst emit = defineEmits<{\n (e: \"update:modelValue\", val: [number, number]): void;\n (e: \"change\", val: [number, number]): void;\n}>();\n\nconst data = reactive({\n left: props.modelValue[0],\n right: props.modelValue[1],\n});\n\nconst isFocused = ref(false);\n\nconst classes = computed(() =>\n isFocused.value ? \"ui-input-range-focused\" : \"ui-input-range-focused\",\n);\n\nconst valuesModel = computed({\n get() {\n return {\n left: Math.min(...props.modelValue), // dangerous....\n right: Math.max(...props.modelValue),\n };\n },\n set() {},\n});\n\nwatch(\n () => valuesModel.value,\n (value) => (data.left = value.left) && (data.right = value.right),\n);\n\n// watch(\n// () => props.modelValue,\n// (value: [number, number]) => {\n// console.log('model value updated');\n// (data.left = value[0]), (data.right = value[1]);\n// },\n// );\n\nfunction updateModel() {\n emit(\"update:modelValue\", [+data.left, +data.right]);\n emit(\"change\", [+data.left, +data.right]);\n}\n\nfunction validateInput(isLeft: boolean, event: Event) {\n const value: string = (event.target as HTMLInputElement).value;\n const result = /^[0-9]{0,2}$/.test(value);\n // if there is more than 3 digits we cut last one\n if (!result) {\n if (isLeft) {\n data.left = +value.slice(0, value.length - 1);\n } else {\n data.right = +value.slice(0, value.length - 1);\n }\n } else {\n if (isLeft) {\n data.left = +value;\n } else {\n data.right = +value;\n }\n }\n}\n</script>\n\n<template>\n <!-- {{ data }} -->\n <div :class=\"classes\" class=\"ui-input-range\" v-bind=\"$attrs\">\n <input\n v-model=\"valuesModel.left\"\n class=\"text-s\"\n type=\"text\"\n @change=\"updateModel\"\n @focus=\"isFocused = true\"\n @focusout=\"isFocused = false\"\n @input=\"validateInput(true, $event)\"\n />\n <div class=\"ui-input-range__separator\">{{ props.separator }}</div>\n <input\n v-model=\"valuesModel.right\"\n class=\"text-s\"\n type=\"text\"\n @change=\"updateModel\"\n @focus=\"isFocused = true\"\n @focusout=\"isFocused = false\"\n @input=\"validateInput(false, $event)\"\n />\n </div>\n</template>\n"],"names":["props","__props","emit","__emit","data","reactive","isFocused","ref","classes","computed","valuesModel","watch","value","updateModel","validateInput","isLeft","event","_openBlock","_createElementBlock","_mergeProps","$attrs","_createElementVNode","_cache","$event","_vModelText","_hoisted_1","_toDisplayString"],"mappings":";;;;;;;;;AAGA,UAAMA,IAAQC,GAURC,IAAOC,GAKPC,IAAOC,EAAS;AAAA,MACpB,MAAML,EAAM,WAAW,CAAC;AAAA,MACxB,OAAOA,EAAM,WAAW,CAAC;AAAA,IAAA,CAC1B,GAEKM,IAAYC,EAAI,EAAK,GAErBC,IAAUC;AAAA,MAAS,OACvBH,EAAU,OAAQ;AAAA,IAA2B,GAGzCI,IAAcD,EAAS;AAAA,MAC3B,MAAM;AACJ,eAAO;AAAA,UACL,MAAM,KAAK,IAAI,GAAGT,EAAM,UAAU;AAAA;AAAA,UAClC,OAAO,KAAK,IAAI,GAAGA,EAAM,UAAU;AAAA,QAAA;AAAA,MAEvC;AAAA,MACA,MAAM;AAAA,MAAC;AAAA,IAAA,CACR;AAED,IAAAW;AAAA,MACE,MAAMD,EAAY;AAAA,MAClB,CAACE,OAAWR,EAAK,OAAOQ,EAAM,UAAUR,EAAK,QAAQQ,EAAM;AAAA,IAAA;AAW7D,aAASC,IAAc;AACrB,MAAAX,EAAK,qBAAqB,CAAC,CAACE,EAAK,MAAM,CAACA,EAAK,KAAK,CAAC,GACnDF,EAAK,UAAU,CAAC,CAACE,EAAK,MAAM,CAACA,EAAK,KAAK,CAAC;AAAA,IAC1C;AAEA,aAASU,EAAcC,GAAiBC,GAAc;AACpD,YAAMJ,IAAiBI,EAAM,OAA4B;AAGzD,MAFe,eAAe,KAAKJ,CAAK,IASlCG,IACFX,EAAK,OAAO,CAACQ,IAEbR,EAAK,QAAQ,CAACQ,IATZG,IACFX,EAAK,OAAO,CAACQ,EAAM,MAAM,GAAGA,EAAM,SAAS,CAAC,IAE5CR,EAAK,QAAQ,CAACQ,EAAM,MAAM,GAAGA,EAAM,SAAS,CAAC;AAAA,IASnD;sBAKEK,EAAA,GAAAC,EAoBM,OApBNC,EAoBM;AAAA,MApBA,OAAK,CAAEX,EAAA,OAAe,gBAAgB;AAAA,IAAA,GAASY,EAAAA,MAAM,GAAA;AAAA,QACzDC,EAQE,SAAA;AAAA,QAPS,uBAAAC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAb,EAAA,MAAY,OAAIa;AAAA,QACzB,OAAM;AAAA,QACN,MAAK;AAAA,QACJ,UAAQV;AAAA,QACR,gCAAOP,EAAA,QAAS;AAAA,QAChB,mCAAUA,EAAA,QAAS;AAAA,QACnB,SAAKgB,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAET,EAAa,IAAOS,CAAM;AAAA,MAAA;QANzB,CAAAC,GAAAd,EAAA,MAAY,IAAI;AAAA,MAAA;MAQ3BW,EAAkE,OAAlEI,GAAkEC,EAAxB1B,EAAM,SAAS,GAAA,CAAA;AAAA,QACzDqB,EAQE,SAAA;AAAA,QAPS,uBAAAC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAb,EAAA,MAAY,QAAKa;AAAA,QAC1B,OAAM;AAAA,QACN,MAAK;AAAA,QACJ,UAAQV;AAAA,QACR,gCAAOP,EAAA,QAAS;AAAA,QAChB,mCAAUA,EAAA,QAAS;AAAA,QACnB,SAAKgB,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAET,EAAa,IAAQS,CAAM;AAAA,MAAA;QAN1B,CAAAC,GAAAd,EAAA,MAAY,KAAK;AAAA,MAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"LongText.vue.d.ts","sourceRoot":"","sources":["../../src/components/LongText.vue"],"names":[],"mappings":"AAmHA,iBAAS,cAAc;WAuCT,OAAO,IAA6B;;yBAZrB,GAAG;;;;;;EAiB/B;AAYD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;kBAOnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAEpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"LongText.vue.d.ts","sourceRoot":"","sources":["../../src/components/LongText.vue"],"names":[],"mappings":"AAuHA,iBAAS,cAAc;WAuCT,OAAO,IAA6B;;yBAZrB,GAAG;;;;;;EAiB/B;AAYD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;kBAOnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAEpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
@@ -1,12 +1,14 @@
1
- import { defineComponent as d, useCssVars as f, computed as l, ref as s, createElementBlock as v, openBlock as _, mergeProps as E, createElementVNode as r, normalizeClass as h, renderSlot as b } from "vue";
2
- import { debounce as H, notEmpty as g } from "@milaboratories/helpers";
3
- const T = /* @__PURE__ */ d({
1
+ import { defineComponent as f, useCssVars as d, computed as l, ref as s, createElementBlock as v, openBlock as _, mergeProps as E, createElementVNode as r, normalizeClass as h, renderSlot as H } from "vue";
2
+ import { debounce as b, notEmpty as g } from "@milaboratories/helpers";
3
+ const T = /* @__PURE__ */ f({
4
4
  __name: "LongText",
5
5
  setup(k) {
6
- f((e) => ({
7
- v5deba9de: c.value
6
+ d((e) => ({
7
+ f4f5affc: c.value
8
8
  }));
9
- const t = s(!1), n = s(), a = s(!1), u = l(() => a.value && t.value ? "ui-lt-animate" : ""), o = H((e) => a.value = e, 500), c = l(() => {
9
+ const t = s(!1), n = s(), a = s(!1), u = l(
10
+ () => a.value && t.value ? "ui-lt-animate" : ""
11
+ ), o = b((e) => a.value = e, 500), c = l(() => {
10
12
  var e;
11
13
  return n.value ? `${((e = n.value) == null ? void 0 : e.innerHTML.length) * 0.4}s` : "5s";
12
14
  });
@@ -30,7 +32,7 @@ const T = /* @__PURE__ */ d({
30
32
  ref: n,
31
33
  class: h(u.value)
32
34
  }, [
33
- b(e.$slots, "default")
35
+ H(e.$slots, "default")
34
36
  ], 2)
35
37
  ], 32)
36
38
  ], 16));
@@ -1 +1 @@
1
- {"version":3,"file":"LongText.vue.js","sources":["../../src/components/LongText.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref } from 'vue';\nimport { debounce, notEmpty } from '@milaboratories/helpers';\n\nconst hasElementEllipsis = ref(false);\n\nconst span = ref<HTMLElement>();\n\nconst isHovered = ref(false);\n\nconst classes = computed(() => (isHovered.value && hasElementEllipsis.value ? 'ui-lt-animate' : ''));\n\nconst updateStatus = debounce((val: boolean) => (isHovered.value = val), 500);\n\nconst animationTime = computed(() => {\n return span.value ? `${span.value?.innerHTML.length * 0.4}s` : '5s';\n});\n\nfunction isEllipsisEnabled() {\n const el = notEmpty(span.value, 'span cannot be empty');\n hasElementEllipsis.value = el.clientWidth < el.scrollWidth;\n}\n\nfunction mouseoverHandler() {\n isEllipsisEnabled();\n updateStatus(true);\n}\n\nfunction mouseoutHandler() {\n updateStatus(false);\n}\n</script>\n\n<template>\n <div v-bind=\"$attrs\" class=\"ui-lt-container\">\n <span @mouseover=\"mouseoverHandler\" @mouseleave=\"mouseoutHandler\">\n <span ref=\"span\" :class=\"classes\"><slot /></span>\n </span>\n </div>\n</template>\n\n<style lang=\"scss\">\n.ui-lt-container {\n min-width: 0;\n white-space: nowrap;\n overflow: hidden;\n position: relative;\n border-radius: 5px;\n\n span {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n width: 100%;\n vertical-align: bottom;\n pointer-events: all !important;\n }\n\n .ui-lt-animate {\n position: relative;\n animation: left-to-right v-bind(animationTime) infinite alternate linear;\n\n overflow: unset !important;\n text-overflow: unset !important;\n width: fit-content !important;\n }\n}\n\n@keyframes left-to-right {\n 0% {\n transform: translateX(0%);\n left: 0%;\n }\n\n 100% {\n transform: translateX(-101%);\n left: 101%;\n }\n}\n</style>\n"],"names":["hasElementEllipsis","ref","span","isHovered","classes","computed","updateStatus","debounce","val","animationTime","_a","isEllipsisEnabled","el","notEmpty","mouseoverHandler","mouseoutHandler","_openBlock","_createElementBlock","_mergeProps","_ctx","_createElementVNode","_renderSlot"],"mappings":";;;;;;;;AAIA,UAAMA,IAAqBC,EAAI,EAAK,GAE9BC,IAAOD,EAAA,GAEPE,IAAYF,EAAI,EAAK,GAErBG,IAAUC,EAAS,MAAOF,EAAU,SAASH,EAAmB,QAAQ,kBAAkB,EAAG,GAE7FM,IAAeC,EAAS,CAACC,MAAkBL,EAAU,QAAQK,GAAM,GAAG,GAEtEC,IAAgBJ,EAAS,MAAM;;AACnC,aAAOH,EAAK,QAAQ,KAAGQ,IAAAR,EAAK,UAAL,gBAAAQ,EAAY,UAAU,UAAS,GAAG,MAAM;AAAA,IACjE,CAAC;AAED,aAASC,IAAoB;AAC3B,YAAMC,IAAKC,EAASX,EAAK,OAAO,sBAAsB;AACtD,MAAAF,EAAmB,QAAQY,EAAG,cAAcA,EAAG;AAAA,IACjD;AAEA,aAASE,IAAmB;AAC1B,MAAAH,EAAA,GACAL,EAAa,EAAI;AAAA,IACnB;AAEA,aAASS,IAAkB;AACzB,MAAAT,EAAa,EAAK;AAAA,IACpB;sBAIEU,EAAA,GAAAC,EAIM,OAJNC,EAIMC,UAJa,EAAE,OAAM,kBAAA,CAAiB,GAAA;AAAA,MAC1CC,EAEO,QAAA;AAAA,QAFA,aAAWN;AAAA,QAAmB,cAAYC;AAAA,MAAA;QAC/CK,EAAiD,QAAA;AAAA,mBAAvC;AAAA,UAAJ,KAAIlB;AAAA,UAAQ,SAAOE,EAAA,KAAO;AAAA,QAAA;UAAEiB,EAAQF,EAAA,QAAA,SAAA;AAAA,QAAA;;;;;"}
1
+ {"version":3,"file":"LongText.vue.js","sources":["../../src/components/LongText.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref } from \"vue\";\nimport { debounce, notEmpty } from \"@milaboratories/helpers\";\n\nconst hasElementEllipsis = ref(false);\n\nconst span = ref<HTMLElement>();\n\nconst isHovered = ref(false);\n\nconst classes = computed(() =>\n isHovered.value && hasElementEllipsis.value ? \"ui-lt-animate\" : \"\",\n);\n\nconst updateStatus = debounce((val: boolean) => (isHovered.value = val), 500);\n\nconst animationTime = computed(() => {\n return span.value ? `${span.value?.innerHTML.length * 0.4}s` : \"5s\";\n});\n\nfunction isEllipsisEnabled() {\n const el = notEmpty(span.value, \"span cannot be empty\");\n hasElementEllipsis.value = el.clientWidth < el.scrollWidth;\n}\n\nfunction mouseoverHandler() {\n isEllipsisEnabled();\n updateStatus(true);\n}\n\nfunction mouseoutHandler() {\n updateStatus(false);\n}\n</script>\n\n<template>\n <div v-bind=\"$attrs\" class=\"ui-lt-container\">\n <span @mouseover=\"mouseoverHandler\" @mouseleave=\"mouseoutHandler\">\n <span ref=\"span\" :class=\"classes\"><slot /></span>\n </span>\n </div>\n</template>\n\n<style lang=\"scss\">\n.ui-lt-container {\n min-width: 0;\n white-space: nowrap;\n overflow: hidden;\n position: relative;\n border-radius: 5px;\n\n span {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n width: 100%;\n vertical-align: bottom;\n pointer-events: all !important;\n }\n\n .ui-lt-animate {\n position: relative;\n animation: left-to-right v-bind(animationTime) infinite alternate linear;\n\n overflow: unset !important;\n text-overflow: unset !important;\n width: fit-content !important;\n }\n}\n\n@keyframes left-to-right {\n 0% {\n transform: translateX(0%);\n left: 0%;\n }\n\n 100% {\n transform: translateX(-101%);\n left: 101%;\n }\n}\n</style>\n"],"names":["hasElementEllipsis","ref","span","isHovered","classes","computed","updateStatus","debounce","val","animationTime","_a","isEllipsisEnabled","el","notEmpty","mouseoverHandler","mouseoutHandler","_openBlock","_createElementBlock","_mergeProps","_ctx","_createElementVNode","_renderSlot"],"mappings":";;;;;;;;AAIA,UAAMA,IAAqBC,EAAI,EAAK,GAE9BC,IAAOD,EAAA,GAEPE,IAAYF,EAAI,EAAK,GAErBG,IAAUC;AAAA,MAAS,MACvBF,EAAU,SAASH,EAAmB,QAAQ,kBAAkB;AAAA,IAAA,GAG5DM,IAAeC,EAAS,CAACC,MAAkBL,EAAU,QAAQK,GAAM,GAAG,GAEtEC,IAAgBJ,EAAS,MAAM;;AACnC,aAAOH,EAAK,QAAQ,KAAGQ,IAAAR,EAAK,UAAL,gBAAAQ,EAAY,UAAU,UAAS,GAAG,MAAM;AAAA,IACjE,CAAC;AAED,aAASC,IAAoB;AAC3B,YAAMC,IAAKC,EAASX,EAAK,OAAO,sBAAsB;AACtD,MAAAF,EAAmB,QAAQY,EAAG,cAAcA,EAAG;AAAA,IACjD;AAEA,aAASE,IAAmB;AAC1B,MAAAH,EAAA,GACAL,EAAa,EAAI;AAAA,IACnB;AAEA,aAASS,IAAkB;AACzB,MAAAT,EAAa,EAAK;AAAA,IACpB;sBAIEU,EAAA,GAAAC,EAIM,OAJNC,EAIMC,UAJa,EAAE,OAAM,kBAAA,CAAiB,GAAA;AAAA,MAC1CC,EAEO,QAAA;AAAA,QAFA,aAAWN;AAAA,QAAmB,cAAYC;AAAA,MAAA;QAC/CK,EAAiD,QAAA;AAAA,mBAAvC;AAAA,UAAJ,KAAIlB;AAAA,UAAQ,SAAOE,EAAA,KAAO;AAAA,QAAA;UAAEiB,EAAQF,EAAA,QAAA,SAAA;AAAA,QAAA;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExpandTransition.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlAccordion/ExpandTransition.vue"],"names":[],"mappings":"AAmDA,iBAAS,cAAc;WAqDT,OAAO,IAA6B;;yBAVpB,GAAG;;;;EAehC;AASD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe,+QAMnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAEpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"ExpandTransition.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlAccordion/ExpandTransition.vue"],"names":[],"mappings":"AAyDA,iBAAS,cAAc;WAqDT,OAAO,IAA6B;;yBAVpB,GAAG;;;;EAehC;AASD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe,+QAMnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAEpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExpandTransition.vue2.js","sources":["../../../src/components/PlAccordion/ExpandTransition.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nconst onStart = (el: Element) => {\n el.classList.add('expand-collapse-fix');\n (el as HTMLElement).style.setProperty('--component-height', el.scrollHeight + 'px');\n};\n\nconst onAfter = (el: Element) => {\n (el as HTMLElement).style.removeProperty('--component-height');\n el.classList.remove('expand-collapse-fix');\n};\n</script>\n\n<template>\n <Transition name=\"expand-collapse\" @enter=\"onStart\" @leave=\"onStart\" @after-enter=\"onAfter\" @after-leave=\"onAfter\">\n <slot/>\n </Transition>\n</template>\n\n<style>\n.expand-collapse-fix {\n overflow: hidden;\n}\n\n.expand-collapse-enter-active,\n.expand-collapse-leave-active {\n transition:\n height 0.2s ease-in-out,\n opacity 0.2s ease-in-out;\n height: var(--component-height);\n}\n\n.expand-collapse-enter-from,\n.expand-collapse-leave-to {\n opacity: 0.5;\n height: 0;\n}\n</style>\n"],"names":["onStart","el","onAfter","_createBlock","_Transition","_renderSlot","_ctx"],"mappings":";;;;AACA,UAAMA,IAAU,CAACC,MAAgB;AAC/B,MAAAA,EAAG,UAAU,IAAI,qBAAqB,GACrCA,EAAmB,MAAM,YAAY,sBAAsBA,EAAG,eAAe,IAAI;AAAA,IACpF,GAEMC,IAAU,CAACD,MAAgB;AAC9B,MAAAA,EAAmB,MAAM,eAAe,oBAAoB,GAC7DA,EAAG,UAAU,OAAO,qBAAqB;AAAA,IAC3C;2BAIEE,EAEaC,GAAA;AAAA,MAFD,MAAK;AAAA,MAAmB,SAAOJ;AAAA,MAAU,SAAOA;AAAA,MAAU,cAAaE;AAAA,MAAU,cAAaA;AAAA,IAAA;iBACxG,MAAO;AAAA,QAAPG,EAAOC,EAAA,QAAA,SAAA;AAAA,MAAA;;;;;"}
1
+ {"version":3,"file":"ExpandTransition.vue2.js","sources":["../../../src/components/PlAccordion/ExpandTransition.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nconst onStart = (el: Element) => {\n el.classList.add(\"expand-collapse-fix\");\n (el as HTMLElement).style.setProperty(\"--component-height\", el.scrollHeight + \"px\");\n};\n\nconst onAfter = (el: Element) => {\n (el as HTMLElement).style.removeProperty(\"--component-height\");\n el.classList.remove(\"expand-collapse-fix\");\n};\n</script>\n\n<template>\n <Transition\n name=\"expand-collapse\"\n @enter=\"onStart\"\n @leave=\"onStart\"\n @after-enter=\"onAfter\"\n @after-leave=\"onAfter\"\n >\n <slot />\n </Transition>\n</template>\n\n<style>\n.expand-collapse-fix {\n overflow: hidden;\n}\n\n.expand-collapse-enter-active,\n.expand-collapse-leave-active {\n transition:\n height 0.2s ease-in-out,\n opacity 0.2s ease-in-out;\n height: var(--component-height);\n}\n\n.expand-collapse-enter-from,\n.expand-collapse-leave-to {\n opacity: 0.5;\n height: 0;\n}\n</style>\n"],"names":["onStart","el","onAfter","_createBlock","_Transition","_renderSlot","_ctx"],"mappings":";;;;AACA,UAAMA,IAAU,CAACC,MAAgB;AAC/B,MAAAA,EAAG,UAAU,IAAI,qBAAqB,GACrCA,EAAmB,MAAM,YAAY,sBAAsBA,EAAG,eAAe,IAAI;AAAA,IACpF,GAEMC,IAAU,CAACD,MAAgB;AAC9B,MAAAA,EAAmB,MAAM,eAAe,oBAAoB,GAC7DA,EAAG,UAAU,OAAO,qBAAqB;AAAA,IAC3C;2BAIEE,EAQaC,GAAA;AAAA,MAPX,MAAK;AAAA,MACJ,SAAOJ;AAAA,MACP,SAAOA;AAAA,MACP,cAAaE;AAAA,MACb,cAAaA;AAAA,IAAA;iBAEd,MAAQ;AAAA,QAARG,EAAQC,EAAA,QAAA,SAAA;AAAA,MAAA;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PlAccordion.vue.js","sources":["../../../src/components/PlAccordion/PlAccordion.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { provide, toRef } from 'vue';\n\nconst model = defineModel<string>();\n\nconst props = defineProps<{\n /**\n * Allow multiple accordion sections to be opened at the same time\n */\n multiple?: boolean;\n}>();\n\nprovide('pl-accordion-model', model);\nprovide('pl-accordion-props', toRef(props));\n</script>\n\n<template>\n <slot name=\"header\" />\n <slot />\n</template>\n"],"names":["model","_useModel","__props","props","provide","toRef","_renderSlot","_ctx"],"mappings":";;;;;;;;;;;AAGA,UAAMA,IAAQC,EAAmBC,GAAA,YAAC,GAE5BC,IAAQD;AAOd,WAAAE,EAAQ,sBAAsBJ,CAAK,GACnCI,EAAQ,sBAAsBC,EAAMF,CAAK,CAAC;MAIxCG,EAAsBC,EAAA,QAAA,QAAA;AAAA,MACtBD,EAAQC,EAAA,QAAA,SAAA;AAAA,IAAA;;;"}
1
+ {"version":3,"file":"PlAccordion.vue.js","sources":["../../../src/components/PlAccordion/PlAccordion.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { provide, toRef } from \"vue\";\n\nconst model = defineModel<string>();\n\nconst props = defineProps<{\n /**\n * Allow multiple accordion sections to be opened at the same time\n */\n multiple?: boolean;\n}>();\n\nprovide(\"pl-accordion-model\", model);\nprovide(\"pl-accordion-props\", toRef(props));\n</script>\n\n<template>\n <slot name=\"header\" />\n <slot />\n</template>\n"],"names":["model","_useModel","__props","props","provide","toRef","_renderSlot","_ctx"],"mappings":";;;;;;;;;;;AAGA,UAAMA,IAAQC,EAAmBC,GAAA,YAAC,GAE5BC,IAAQD;AAOd,WAAAE,EAAQ,sBAAsBJ,CAAK,GACnCI,EAAQ,sBAAsBC,EAAMF,CAAK,CAAC;MAIxCG,EAAsBC,EAAA,QAAA,QAAA;AAAA,MACtBD,EAAQC,EAAA,QAAA,SAAA;AAAA,IAAA;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PlAccordionSection.vue2.js","sources":["../../../src/components/PlAccordion/PlAccordionSection.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { uniqueId } from '@milaboratories/helpers';\nimport { PlMaskIcon16 } from '../PlMaskIcon16';\nimport { PlSectionSeparator } from '../PlSectionSeparator';\nimport ExpandTransition from './ExpandTransition.vue';\nimport type { Ref } from 'vue';\nimport { computed, inject, toRef } from 'vue';\n\nconst $m = inject<Ref<string>>('pl-accordion-model', () => toRef(''), true);\n\nconst $p = inject<\n Ref<{\n multiple?: boolean;\n }>\n>('pl-accordion-props', () => toRef({ multiple: false }), true);\n\nconst model = defineModel<boolean>();\n\nconst id = uniqueId();\n\nconst isMulti = computed(() => !$p || $p.value.multiple);\n\nconst open = computed({\n get() {\n if (isMulti.value) {\n return model.value;\n }\n\n return $m ? $m.value === id : model.value;\n },\n set(on) {\n if (isMulti.value) {\n model.value = on;\n } else if ($m) {\n $m.value = $m.value === id ? '' : id;\n }\n },\n});\n\ndefineProps<{\n /**\n * The label text (optional)\n */\n label?: string;\n /**\n * If `true`, remove top padding\n */\n compact?: boolean;\n}>();\n</script>\n\n<template>\n <div class=\"pl-accordion-section\">\n <PlSectionSeparator :class=\"$style.separator\" :compact=\"compact\" @click=\"open = !open\">\n <PlMaskIcon16 name=\"chevron-right\" :class=\"[{ [$style.down]: open }, $style.chevron]\" />\n {{ label }}\n </PlSectionSeparator>\n <ExpandTransition>\n <div v-if=\"open\" :class=\"$style.content\">\n <slot />\n </div>\n </ExpandTransition>\n </div>\n</template>\n\n<style module>\n.content {\n display: flex;\n flex-direction: column;\n gap: var(--gap-v);\n will-change: height, opacity;\n /* transform: translateZ(0);\n backface-visibility: hidden; */\n}\n\n.content > *:first-child {\n margin-top: 24px;\n}\n\n.content > *:last-child {\n margin-bottom: 4px;\n}\n\n.separator {\n cursor: pointer;\n &:hover {\n --pl-separator-txt-color: var(--txt-01);\n --mask-icon-bg-color: var(--ic-01);\n }\n}\n\n.chevron {\n transition-duration: 50ms;\n}\n\n.down {\n transform: rotate(90deg);\n}\n</style>\n"],"names":["$m","inject","toRef","$p","model","_useModel","__props","id","uniqueId","isMulti","computed","open","on","_openBlock","_createElementBlock","_hoisted_1","_createVNode","_unref","PlSectionSeparator","_normalizeClass","$style","_cache","$event","PlMaskIcon16","_createTextVNode","ExpandTransition","_renderSlot","_ctx"],"mappings":";;;;;;;;;;;;;;;;;AAQA,UAAMA,IAAKC,EAAoB,sBAAsB,MAAMC,EAAM,EAAE,GAAG,EAAI,GAEpEC,IAAKF,EAIT,sBAAsB,MAAMC,EAAM,EAAE,UAAU,IAAO,GAAG,EAAI,GAExDE,IAAQC,EAAoBC,GAAA,YAAC,GAE7BC,IAAKC,EAAA,GAELC,IAAUC,EAAS,MAAM,CAACP,KAAMA,EAAG,MAAM,QAAQ,GAEjDQ,IAAOD,EAAS;AAAA,MACpB,MAAM;AACJ,eAAID,EAAQ,QACHL,EAAM,QAGRJ,IAAKA,EAAG,UAAUO,IAAKH,EAAM;AAAA,MACtC;AAAA,MACA,IAAIQ,GAAI;AACN,QAAIH,EAAQ,QACVL,EAAM,QAAQQ,IACLZ,MACTA,EAAG,QAAQA,EAAG,UAAUO,IAAK,KAAKA;AAAA,MAEtC;AAAA,IAAA,CACD;sBAeCM,EAAA,GAAAC,EAUM,OAVNC,GAUM;AAAA,MATJC,EAGqBC,EAAAC,CAAA,GAAA;AAAA,QAHA,OAAKC,EAAEC,EAAAA,OAAO,SAAS;AAAA,QAAG,SAASd,EAAA;AAAA,QAAU,SAAKe,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAEX,EAAA,QAAI,CAAIA,EAAA;AAAA,MAAA;mBAC/E,MAAwF;AAAA,UAAxFK,EAAwFC,EAAAM,CAAA,GAAA;AAAA,YAA1E,MAAK;AAAA,YAAiB,OAAKJ,EAAA,CAAA,EAAA,CAAMC,SAAO,IAAI,GAAGT,EAAA,MAAA,GAAQS,EAAAA,OAAO,OAAO,CAAA;AAAA,UAAA;UAAKI,EAAA,QACrFlB,EAAA,KAAK,GAAA,CAAA;AAAA,QAAA;;;MAEVU,EAImBS,GAAA,MAAA;AAAA,mBAHjB,MAEM;AAAA,UAFKd,EAAA,cAAXG,EAEM,OAAA;AAAA;YAFY,OAAKK,EAAEC,EAAAA,OAAO,OAAO;AAAA,UAAA;YACrCM,EAAQC,EAAA,QAAA,SAAA;AAAA,UAAA;;;;;;;"}
1
+ {"version":3,"file":"PlAccordionSection.vue2.js","sources":["../../../src/components/PlAccordion/PlAccordionSection.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { uniqueId } from \"@milaboratories/helpers\";\nimport { PlMaskIcon16 } from \"../PlMaskIcon16\";\nimport { PlSectionSeparator } from \"../PlSectionSeparator\";\nimport ExpandTransition from \"./ExpandTransition.vue\";\nimport type { Ref } from \"vue\";\nimport { computed, inject, toRef } from \"vue\";\n\nconst $m = inject<Ref<string>>(\"pl-accordion-model\", () => toRef(\"\"), true);\n\nconst $p = inject<\n Ref<{\n multiple?: boolean;\n }>\n>(\"pl-accordion-props\", () => toRef({ multiple: false }), true);\n\nconst model = defineModel<boolean>();\n\nconst id = uniqueId();\n\nconst isMulti = computed(() => !$p || $p.value.multiple);\n\nconst open = computed({\n get() {\n if (isMulti.value) {\n return model.value;\n }\n\n return $m ? $m.value === id : model.value;\n },\n set(on) {\n if (isMulti.value) {\n model.value = on;\n } else if ($m) {\n $m.value = $m.value === id ? \"\" : id;\n }\n },\n});\n\ndefineProps<{\n /**\n * The label text (optional)\n */\n label?: string;\n /**\n * If `true`, remove top padding\n */\n compact?: boolean;\n}>();\n</script>\n\n<template>\n <div class=\"pl-accordion-section\">\n <PlSectionSeparator :class=\"$style.separator\" :compact=\"compact\" @click=\"open = !open\">\n <PlMaskIcon16 name=\"chevron-right\" :class=\"[{ [$style.down]: open }, $style.chevron]\" />\n {{ label }}\n </PlSectionSeparator>\n <ExpandTransition>\n <div v-if=\"open\" :class=\"$style.content\">\n <slot />\n </div>\n </ExpandTransition>\n </div>\n</template>\n\n<style module>\n.content {\n display: flex;\n flex-direction: column;\n gap: var(--gap-v);\n will-change: height, opacity;\n /* transform: translateZ(0);\n backface-visibility: hidden; */\n}\n\n.content > *:first-child {\n margin-top: 24px;\n}\n\n.content > *:last-child {\n margin-bottom: 4px;\n}\n\n.separator {\n cursor: pointer;\n &:hover {\n --pl-separator-txt-color: var(--txt-01);\n --mask-icon-bg-color: var(--ic-01);\n }\n}\n\n.chevron {\n transition-duration: 50ms;\n}\n\n.down {\n transform: rotate(90deg);\n}\n</style>\n"],"names":["$m","inject","toRef","$p","model","_useModel","__props","id","uniqueId","isMulti","computed","open","on","_openBlock","_createElementBlock","_hoisted_1","_createVNode","_unref","PlSectionSeparator","_normalizeClass","$style","_cache","$event","PlMaskIcon16","_createTextVNode","ExpandTransition","_renderSlot","_ctx"],"mappings":";;;;;;;;;;;;;;;;;AAQA,UAAMA,IAAKC,EAAoB,sBAAsB,MAAMC,EAAM,EAAE,GAAG,EAAI,GAEpEC,IAAKF,EAIT,sBAAsB,MAAMC,EAAM,EAAE,UAAU,IAAO,GAAG,EAAI,GAExDE,IAAQC,EAAoBC,GAAA,YAAC,GAE7BC,IAAKC,EAAA,GAELC,IAAUC,EAAS,MAAM,CAACP,KAAMA,EAAG,MAAM,QAAQ,GAEjDQ,IAAOD,EAAS;AAAA,MACpB,MAAM;AACJ,eAAID,EAAQ,QACHL,EAAM,QAGRJ,IAAKA,EAAG,UAAUO,IAAKH,EAAM;AAAA,MACtC;AAAA,MACA,IAAIQ,GAAI;AACN,QAAIH,EAAQ,QACVL,EAAM,QAAQQ,IACLZ,MACTA,EAAG,QAAQA,EAAG,UAAUO,IAAK,KAAKA;AAAA,MAEtC;AAAA,IAAA,CACD;sBAeCM,EAAA,GAAAC,EAUM,OAVNC,GAUM;AAAA,MATJC,EAGqBC,EAAAC,CAAA,GAAA;AAAA,QAHA,OAAKC,EAAEC,EAAAA,OAAO,SAAS;AAAA,QAAG,SAASd,EAAA;AAAA,QAAU,SAAKe,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAEX,EAAA,QAAI,CAAIA,EAAA;AAAA,MAAA;mBAC/E,MAAwF;AAAA,UAAxFK,EAAwFC,EAAAM,CAAA,GAAA;AAAA,YAA1E,MAAK;AAAA,YAAiB,OAAKJ,EAAA,CAAA,EAAA,CAAMC,SAAO,IAAI,GAAGT,EAAA,MAAA,GAAQS,EAAAA,OAAO,OAAO,CAAA;AAAA,UAAA;UAAKI,EAAA,QACrFlB,EAAA,KAAK,GAAA,CAAA;AAAA,QAAA;;;MAEVU,EAImBS,GAAA,MAAA;AAAA,mBAHjB,MAEM;AAAA,UAFKd,EAAA,cAAXG,EAEM,OAAA;AAAA;YAFY,OAAKK,EAAEC,EAAAA,OAAO,OAAO;AAAA,UAAA;YACrCM,EAAQC,EAAA,QAAA,SAAA;AAAA,UAAA;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PlAlert.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlAlert/PlAlert.vue"],"names":[],"mappings":"AA2FA,OAAO,iBAAiB,CAAC;;IAerB;;;;OAIG;iBACU,OAAO;IACpB;;;OAGG;WACI,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO;IAC5C;;OAEG;YACK,MAAM;IACd;;OAEG;WACI,OAAO;IACd;;OAEG;gBACS,OAAO;IACnB;;OAEG;gBACS,OAAO;IACnB;;OAEG;oBACa,OAAO;IAEvB;;OAEG;gBACS,MAAM;;;;IAnClB;;;;OAIG;iBACU,OAAO;IACpB;;;OAGG;WACI,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO;IAC5C;;OAEG;YACK,MAAM;IACd;;OAEG;WACI,OAAO;IACd;;OAEG;gBACS,OAAO;IACnB;;OAEG;gBACS,OAAO;IACnB;;OAEG;oBACa,OAAO;IAEvB;;OAEG;gBACS,MAAM;;;;WArBV,MAAM;gBATD,OAAO;UAKb,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO;UAQrC,OAAO;eAiBF,MAAM;eAbN,OAAO;eAIP,OAAO;mBAIH,OAAO;;qBAyFE,GAAG;;AAnIhC,wBA4KK;AAcL,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"PlAlert.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlAlert/PlAlert.vue"],"names":[],"mappings":"AAsGA,OAAO,iBAAiB,CAAC;;IAerB;;;;OAIG;iBACU,OAAO;IACpB;;;OAGG;WACI,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO;IAC5C;;OAEG;YACK,MAAM;IACd;;OAEG;WACI,OAAO;IACd;;OAEG;gBACS,OAAO;IACnB;;OAEG;gBACS,OAAO;IACnB;;OAEG;oBACa,OAAO;IAEvB;;OAEG;gBACS,MAAM;;;;IAnClB;;;;OAIG;iBACU,OAAO;IACpB;;;OAGG;WACI,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO;IAC5C;;OAEG;YACK,MAAM;IACd;;OAEG;WACI,OAAO;IACd;;OAEG;gBACS,OAAO;IACnB;;OAEG;gBACS,OAAO;IACnB;;OAEG;oBACa,OAAO;IAEvB;;OAEG;gBACS,MAAM;;;;WArBV,MAAM;gBATD,OAAO;UAKb,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO;UAQrC,OAAO;eAiBF,MAAM;eAbN,OAAO;eAIP,OAAO;mBAIH,OAAO;;qBAyFE,GAAG;;AAnIhC,wBA4KK;AAcL,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}