@milaboratories/uikit 2.6.2 → 2.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/.turbo/turbo-build.log +135 -135
  2. package/.turbo/turbo-type-check.log +1 -1
  3. package/CHANGELOG.md +6 -0
  4. package/dist/base/BtnBase.vue.js +18 -18
  5. package/dist/base/BtnBase.vue.js.map +1 -1
  6. package/dist/components/ContextProvider.vue.js.map +1 -1
  7. package/dist/components/DataTable/BaseCellComponent.vue.js +20 -20
  8. package/dist/components/DataTable/BaseCellComponent.vue.js.map +1 -1
  9. package/dist/components/DataTable/ColumnCaret.vue.js +6 -6
  10. package/dist/components/DataTable/ColumnCaret.vue.js.map +1 -1
  11. package/dist/components/DataTable/ColumnsCommandMenu.vue.js.map +1 -1
  12. package/dist/components/DataTable/RowsCommandMenu.vue.js.map +1 -1
  13. package/dist/components/DataTable/TScroll.vue.js +12 -12
  14. package/dist/components/DataTable/TScroll.vue.js.map +1 -1
  15. package/dist/components/DataTable/TableComponent.vue.js +1 -1
  16. package/dist/components/DataTable/TableComponent.vue.js.map +1 -1
  17. package/dist/components/DataTable/TdCell.vue.js +36 -36
  18. package/dist/components/DataTable/TdCell.vue.js.map +1 -1
  19. package/dist/components/DataTable/ThCell.vue.js +27 -27
  20. package/dist/components/DataTable/ThCell.vue.js.map +1 -1
  21. package/dist/components/DataTable/TrBody.vue.js +12 -12
  22. package/dist/components/DataTable/TrBody.vue.js.map +1 -1
  23. package/dist/components/DataTable/TrHead.vue.js.map +1 -1
  24. package/dist/components/DataTable/assets/TableIcon.vue.js +2 -2
  25. package/dist/components/DataTable/assets/TableIcon.vue.js.map +1 -1
  26. package/dist/components/DropdownListItem.vue.js +18 -18
  27. package/dist/components/DropdownListItem.vue.js.map +1 -1
  28. package/dist/components/HScroll.vue.js.map +1 -1
  29. package/dist/components/InputRange.vue.js.map +1 -1
  30. package/dist/components/LongText.vue.js +1 -1
  31. package/dist/components/LongText.vue.js.map +1 -1
  32. package/dist/components/LongText.vue3.js +1 -1
  33. package/dist/components/PlAccordion/ExpandTransition.vue.js +27 -0
  34. package/dist/components/PlAccordion/ExpandTransition.vue.js.map +1 -0
  35. package/dist/components/PlAccordion/ExpandTransition.vue2.js.map +1 -1
  36. package/dist/components/PlAccordion/PlAccordion.vue.js.map +1 -1
  37. package/dist/components/PlAccordion/PlAccordionSection.vue2.js +21 -21
  38. package/dist/components/PlAccordion/PlAccordionSection.vue2.js.map +1 -1
  39. package/dist/components/PlAlert/PlAlert.vue.js +23 -23
  40. package/dist/components/PlAlert/PlAlert.vue.js.map +1 -1
  41. package/dist/components/PlAutocomplete/PlAutocomplete.vue.js +86 -86
  42. package/dist/components/PlAutocomplete/PlAutocomplete.vue.js.map +1 -1
  43. package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue.js +83 -83
  44. package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue.js.map +1 -1
  45. package/dist/components/PlBtnAccent/PlBtnAccent.vue.js.map +1 -1
  46. package/dist/components/PlBtnDanger/PlBtnDanger.vue.js.map +1 -1
  47. package/dist/components/PlBtnGhost/PlBtnGhost.vue.js +21 -21
  48. package/dist/components/PlBtnGhost/PlBtnGhost.vue.js.map +1 -1
  49. package/dist/components/PlBtnGroup/PlBtnGroup.vue.js +34 -34
  50. package/dist/components/PlBtnGroup/PlBtnGroup.vue.js.map +1 -1
  51. package/dist/components/PlBtnLink/PlBtnLink.vue.js +12 -12
  52. package/dist/components/PlBtnLink/PlBtnLink.vue.js.map +1 -1
  53. package/dist/components/PlBtnPrimary/PlBtnPrimary.vue.js.map +1 -1
  54. package/dist/components/PlBtnSecondary/PlBtnSecondary.vue.js.map +1 -1
  55. package/dist/components/PlBtnSplit/PlBtnSplit.vue.js +31 -31
  56. package/dist/components/PlBtnSplit/PlBtnSplit.vue.js.map +1 -1
  57. package/dist/components/PlChartHistogram/PlChartHistogram.vue2.js +18 -18
  58. package/dist/components/PlChartHistogram/PlChartHistogram.vue2.js.map +1 -1
  59. package/dist/components/PlChartStackedBar/Legends.vue2.js.map +1 -1
  60. package/dist/components/PlChartStackedBar/PlChartStackedBar.vue2.js +15 -15
  61. package/dist/components/PlChartStackedBar/PlChartStackedBar.vue2.js.map +1 -1
  62. package/dist/components/PlChartStackedBar/PlChartStackedBarCompact.vue2.js.map +1 -1
  63. package/dist/components/PlChartStackedBar/StackedRow.vue2.js.map +1 -1
  64. package/dist/components/PlChartStackedBar/StackedRowCompact.vue2.js.map +1 -1
  65. package/dist/components/PlCheckbox/PlCheckbox.vue.js +13 -13
  66. package/dist/components/PlCheckbox/PlCheckbox.vue.js.map +1 -1
  67. package/dist/components/PlCheckbox/PlCheckboxBase.vue.js +6 -6
  68. package/dist/components/PlCheckbox/PlCheckboxBase.vue.js.map +1 -1
  69. package/dist/components/PlCheckboxGroup/PlCheckboxGroup.vue.js +28 -28
  70. package/dist/components/PlCheckboxGroup/PlCheckboxGroup.vue.js.map +1 -1
  71. package/dist/components/PlChip/PlChip.vue.js +20 -20
  72. package/dist/components/PlChip/PlChip.vue.js.map +1 -1
  73. package/dist/components/PlClipboard/PlClipboard.vue2.js.map +1 -1
  74. package/dist/components/PlConfirmDialog.vue.js +14 -14
  75. package/dist/components/PlConfirmDialog.vue.js.map +1 -1
  76. package/dist/components/PlDialogModal/PlDialogModal.vue.js +30 -30
  77. package/dist/components/PlDialogModal/PlDialogModal.vue.js.map +1 -1
  78. package/dist/components/PlDropdown/OptionList.vue.js +40 -40
  79. package/dist/components/PlDropdown/OptionList.vue.js.map +1 -1
  80. package/dist/components/PlDropdown/PlDropdown.vue.js +89 -89
  81. package/dist/components/PlDropdown/PlDropdown.vue.js.map +1 -1
  82. package/dist/components/PlDropdownLegacy/PlDropdownLegacy.vue.js +92 -92
  83. package/dist/components/PlDropdownLegacy/PlDropdownLegacy.vue.js.map +1 -1
  84. package/dist/components/PlDropdownLine/PlDropdownLine.vue.d.ts +1 -1
  85. package/dist/components/PlDropdownLine/PlDropdownLine.vue.js +4 -4
  86. package/dist/components/PlDropdownLine/PlDropdownLine.vue.js.map +1 -1
  87. package/dist/components/PlDropdownLine/ResizableInput.vue.js +12 -12
  88. package/dist/components/PlDropdownLine/ResizableInput.vue.js.map +1 -1
  89. package/dist/components/PlDropdownMulti/PlDropdownMulti.vue.js +70 -70
  90. package/dist/components/PlDropdownMulti/PlDropdownMulti.vue.js.map +1 -1
  91. package/dist/components/PlDropdownMultiRef/PlDropdownMultiRef.vue.d.ts +1 -1
  92. package/dist/components/PlDropdownMultiRef/PlDropdownMultiRef.vue.js.map +1 -1
  93. package/dist/components/PlDropdownRef/PlDropdownRef.vue.js +11 -11
  94. package/dist/components/PlDropdownRef/PlDropdownRef.vue.js.map +1 -1
  95. package/dist/components/PlEditableTitle/PlEditableTitle.vue.d.ts +1 -1
  96. package/dist/components/PlEditableTitle/PlEditableTitle.vue.js +36 -36
  97. package/dist/components/PlEditableTitle/PlEditableTitle.vue.js.map +1 -1
  98. package/dist/components/PlElementList/PlElementList.vue2.js.map +1 -1
  99. package/dist/components/PlElementList/PlElementListItem.vue2.js +67 -67
  100. package/dist/components/PlElementList/PlElementListItem.vue2.js.map +1 -1
  101. package/dist/components/PlErrorAlert/PlErrorAlert.vue2.js.map +1 -1
  102. package/dist/components/PlErrorBoundary/PlErrorBoundary.vue.js.map +1 -1
  103. package/dist/components/PlFileDialog/Local.vue.js +24 -24
  104. package/dist/components/PlFileDialog/Local.vue.js.map +1 -1
  105. package/dist/components/PlFileDialog/PlFileDialog.vue.js +38 -38
  106. package/dist/components/PlFileDialog/PlFileDialog.vue.js.map +1 -1
  107. package/dist/components/PlFileDialog/Remote.vue.js +2 -2
  108. package/dist/components/PlFileDialog/Remote.vue.js.map +1 -1
  109. package/dist/components/PlFileDialog/Shortcuts.vue2.js +4 -4
  110. package/dist/components/PlFileDialog/Shortcuts.vue2.js.map +1 -1
  111. package/dist/components/PlFileInput/PlFileInput.vue.d.ts +1 -1
  112. package/dist/components/PlFileInput/PlFileInput.vue.js +75 -75
  113. package/dist/components/PlFileInput/PlFileInput.vue.js.map +1 -1
  114. package/dist/components/PlIcon16/PlIcon16.vue2.js.map +1 -1
  115. package/dist/components/PlIcon24/PlIcon24.vue2.js.map +1 -1
  116. package/dist/components/PlLoaderCircular/PlLoaderCircular.vue.js +11 -11
  117. package/dist/components/PlLoaderCircular/PlLoaderCircular.vue.js.map +1 -1
  118. package/dist/components/PlLogView/PlLogView.vue.js +58 -58
  119. package/dist/components/PlLogView/PlLogView.vue.js.map +1 -1
  120. package/dist/components/PlNotificationAlert/PlNotificationAlert.vue.js +22 -22
  121. package/dist/components/PlNotificationAlert/PlNotificationAlert.vue.js.map +1 -1
  122. package/dist/components/PlNumberField/PlNumberField.vue.d.ts +1 -1
  123. package/dist/components/PlNumberField/PlNumberField.vue.js +75 -75
  124. package/dist/components/PlNumberField/PlNumberField.vue.js.map +1 -1
  125. package/dist/components/PlProgressBar/PlProgressBar.vue.js +12 -12
  126. package/dist/components/PlProgressBar/PlProgressBar.vue.js.map +1 -1
  127. package/dist/components/PlProgressCell/PlProgressCell.vue.js +20 -20
  128. package/dist/components/PlProgressCell/PlProgressCell.vue.js.map +1 -1
  129. package/dist/components/PlRadio/PlRadio.vue2.js.map +1 -1
  130. package/dist/components/PlRadio/PlRadioGroup.vue2.js +8 -8
  131. package/dist/components/PlRadio/PlRadioGroup.vue2.js.map +1 -1
  132. package/dist/components/PlSearchField/PlSearchField.vue2.js +19 -19
  133. package/dist/components/PlSearchField/PlSearchField.vue2.js.map +1 -1
  134. package/dist/components/PlSectionSeparator/PlSectionSeparator.vue2.js +8 -8
  135. package/dist/components/PlSectionSeparator/PlSectionSeparator.vue2.js.map +1 -1
  136. package/dist/components/PlSidebar/PlSidebarGroup.vue2.js.map +1 -1
  137. package/dist/components/PlSidebar/PlSidebarItem.vue2.js.map +1 -1
  138. package/dist/components/PlSlideModal/PlPureSlideModal.vue.js +1 -1
  139. package/dist/components/PlSlideModal/PlPureSlideModal.vue.js.map +1 -1
  140. package/dist/components/PlSlideModal/PlSlideModal.vue2.js.map +1 -1
  141. package/dist/components/PlSplash/PlSplash.vue.js +16 -16
  142. package/dist/components/PlSplash/PlSplash.vue.js.map +1 -1
  143. package/dist/components/PlStatusTag/PlStatusTag.vue.js +7 -7
  144. package/dist/components/PlStatusTag/PlStatusTag.vue.js.map +1 -1
  145. package/dist/components/PlSvg/PlSvg.vue2.js.map +1 -1
  146. package/dist/components/PlTabs/PlTabs.vue.js +18 -18
  147. package/dist/components/PlTabs/PlTabs.vue.js.map +1 -1
  148. package/dist/components/PlTabs/Tab.vue.js +9 -9
  149. package/dist/components/PlTabs/Tab.vue.js.map +1 -1
  150. package/dist/components/PlTextArea/PlTextArea.vue.js +51 -51
  151. package/dist/components/PlTextArea/PlTextArea.vue.js.map +1 -1
  152. package/dist/components/PlTextField/PlTextField.vue.js +62 -62
  153. package/dist/components/PlTextField/PlTextField.vue.js.map +1 -1
  154. package/dist/components/PlToggleSwitch/PlToggleSwitch.vue.js +14 -14
  155. package/dist/components/PlToggleSwitch/PlToggleSwitch.vue.js.map +1 -1
  156. package/dist/components/PlTooltip/Beak.vue.js +2 -2
  157. package/dist/components/PlTooltip/Beak.vue.js.map +1 -1
  158. package/dist/components/PlTooltip/PlTooltip.vue.js +50 -50
  159. package/dist/components/PlTooltip/PlTooltip.vue.js.map +1 -1
  160. package/dist/components/Scrollable.vue.js.map +1 -1
  161. package/dist/components/Slider.vue.js +35 -35
  162. package/dist/components/Slider.vue.js.map +1 -1
  163. package/dist/components/SliderRange.vue.js +47 -47
  164. package/dist/components/SliderRange.vue.js.map +1 -1
  165. package/dist/components/SliderRangeTriple.vue.js +47 -47
  166. package/dist/components/SliderRangeTriple.vue.js.map +1 -1
  167. package/dist/components/TabItem.vue.js.map +1 -1
  168. package/dist/components/ThemeSwitcher.vue.js +2 -2
  169. package/dist/components/ThemeSwitcher.vue.js.map +1 -1
  170. package/dist/components/TransitionSlidePanel.vue.js.map +1 -1
  171. package/dist/components/VScroll.vue.js.map +1 -1
  172. package/dist/components/contextMenu/Menu.vue2.js +12 -12
  173. package/dist/components/contextMenu/Menu.vue2.js.map +1 -1
  174. package/dist/index.js +1 -1
  175. package/dist/layout/PlBlockPage/PlBlockPage.vue.js +27 -27
  176. package/dist/layout/PlBlockPage/PlBlockPage.vue.js.map +1 -1
  177. package/dist/layout/PlContainer/PlContainer.vue.js +10 -10
  178. package/dist/layout/PlContainer/PlContainer.vue.js.map +1 -1
  179. package/dist/layout/PlGrid/PlGrid.vue.js.map +1 -1
  180. package/dist/layout/PlRow/PlRow.vue.js +8 -8
  181. package/dist/layout/PlRow/PlRow.vue.js.map +1 -1
  182. package/dist/layout/PlSpacer/PlSpacer.vue.js.map +1 -1
  183. package/dist/utils/DoubleContour.vue.js +9 -9
  184. package/dist/utils/DoubleContour.vue.js.map +1 -1
  185. package/dist/utils/DropdownOverlay/DropdownOverlay.vue.js.map +1 -1
  186. package/dist/utils/PlCloseModalBtn.vue.js +2 -2
  187. package/dist/utils/PlCloseModalBtn.vue.js.map +1 -1
  188. package/dist/utils/TextLabel.vue.js.map +1 -1
  189. package/package.json +4 -4
  190. package/dist/utils/DoubleContour.vue2.js +0 -23
  191. package/dist/utils/DoubleContour.vue2.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"TableComponent.vue.js","sources":["../../../src/components/DataTable/TableComponent.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport './assets/data-table-style.scss';\nimport { ref, unref, onMounted, nextTick, watchPostEffect, watch, computed } from 'vue';\nimport TdCell from './TdCell.vue';\nimport type { TableSettings, TableData } from './types';\nimport TableIcon from './assets/TableIcon.vue';\nimport TrHead from './TrHead.vue';\nimport ThCell from './ThCell.vue';\nimport TrBody from './TrBody.vue';\nimport ColumnCaret from './ColumnCaret.vue';\nimport { useEventListener } from '../../index';\nimport { tapIf } from '@milaboratories/helpers';\nimport { useResize } from './composition/useResize';\nimport RowsCommandMenu from './RowsCommandMenu.vue';\nimport ColumnsCommandMenu from './ColumnsCommandMenu.vue';\nimport TScroll from './TScroll.vue';\nimport { createState } from './state';\n\nconst emit = defineEmits<{\n (e: 'update:data', value: TableData): void;\n (e: 'change:sort', value: unknown): void;\n}>();\n\nconst props = defineProps<{\n settings: Readonly<TableSettings>;\n}>();\n\nconst state = createState(props);\n\nconst hasNoData = computed(() => state.data.rows.length === 0);\n\nconst tableBodyStyle = computed(() => ({\n height: hasNoData.value ? '212px' /* css value */ : state.data.bodyHeight + 'px',\n}));\n\nwatch(state.data, (v) => emit('update:data', v), { deep: true });\n\nwatch(props, () => updateDimensions);\n\nconst tableRef = ref<HTMLElement>();\nconst headRef = ref<HTMLElement>();\nconst bodyRef = ref<HTMLElement>();\n\nconst updateDimensions = () => {\n tapIf(bodyRef.value, (el) => {\n state.updateDimensions(el.getBoundingClientRect());\n });\n};\n\nconst tableColumns = state.tableColumns;\n\nconst tableRows = state.tableRows;\n\nconst { mouseDown } = useResize(state, tableRef);\n\nonMounted(() => {\n nextTick(updateDimensions);\n});\n\nwatchPostEffect(() => {\n unref(props.settings);\n nextTick(updateDimensions);\n});\n\nuseEventListener(window, 'resize', () => nextTick(updateDimensions));\n\nconst onWheel = (ev: WheelEvent) => {\n ev.preventDefault();\n state.updateOffsets(ev);\n};\n</script>\n\n<template>\n <div ref=\"tableRef\" class=\"data-table\" @mousedown=\"mouseDown\">\n <div class=\"command-menu__container\">\n <RowsCommandMenu />\n <ColumnsCommandMenu />\n </div>\n <div ref=\"headRef\" class=\"table-head\">\n <TrHead>\n <ThCell v-for=\"(col, i) in tableColumns\" :key=\"i\" :col=\"col\" :style=\"col.style\" @change:sort=\"$emit('change:sort', $event)\" />\n </TrHead>\n </div>\n <div ref=\"bodyRef\" class=\"table-body\" :style=\"tableBodyStyle\" @wheel=\"onWheel\">\n <div v-if=\"hasNoData\" class=\"table-body__no-data\">\n <div>\n <TableIcon />\n <div>No Data To Show</div>\n </div>\n </div>\n <TrBody v-for=\"(row, i) in tableRows\" :key=\"i\" :row=\"row\">\n <TdCell v-for=\"cell in row.cells\" :key=\"cell.column.id + ':' + i\" :cell=\"cell\" :style=\"cell.style\" />\n </TrBody>\n </div>\n <div class=\"carets\">\n <ColumnCaret v-for=\"(col, i) in tableColumns\" :key=\"i\" :column=\"col\" :style=\"col.style\" @change:sort=\"$emit('change:sort', $event)\" />\n </div>\n <TScroll\n :offset=\"state.data.scrollTop\"\n :window-size=\"state.data.bodyHeight\"\n :data-size=\"state.data.dataHeight\"\n @change:offset=\"state.updateScrollTop\"\n />\n </div>\n</template>\n"],"names":["emit","__emit","props","__props","state","createState","hasNoData","computed","tableBodyStyle","watch","v","updateDimensions","tableRef","ref","headRef","bodyRef","tapIf","el","tableColumns","tableRows","mouseDown","useResize","onMounted","nextTick","watchPostEffect","unref","useEventListener","onWheel","ev"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,UAAMA,IAAOC,GAKPC,IAAQC,GAIRC,IAAQC,EAAYH,CAAK,GAEzBI,IAAYC,EAAS,MAAMH,EAAM,KAAK,KAAK,WAAW,CAAC,GAEvDI,IAAiBD,EAAS,OAAO;AAAA,MACrC,QAAQD,EAAU,QAAQ,UAA0BF,EAAM,KAAK,aAAa;AAAA,IAAA,EAC5E;AAEF,IAAAK,EAAML,EAAM,MAAM,CAACM,MAAMV,EAAK,eAAeU,CAAC,GAAG,EAAE,MAAM,GAAA,CAAM,GAE/DD,EAAMP,GAAO,MAAMS,CAAgB;AAEnC,UAAMC,IAAWC,EAAA,GACXC,IAAUD,EAAA,GACVE,IAAUF,EAAA,GAEVF,IAAmB,MAAM;AAC7B,MAAAK,EAAMD,EAAQ,OAAO,CAACE,MAAO;AAC3B,QAAAb,EAAM,iBAAiBa,EAAG,uBAAuB;AAAA,MACnD,CAAC;AAAA,IACH,GAEMC,IAAed,EAAM,cAErBe,IAAYf,EAAM,WAElB,EAAE,WAAAgB,EAAA,IAAcC,EAAUjB,GAAOQ,CAAQ;AAE/C,IAAAU,EAAU,MAAM;AACd,MAAAC,EAASZ,CAAgB;AAAA,IAC3B,CAAC,GAEDa,EAAgB,MAAM;AACpB,MAAAC,EAAMvB,EAAM,QAAQ,GACpBqB,EAASZ,CAAgB;AAAA,IAC3B,CAAC,GAEDe,EAAiB,QAAQ,UAAU,MAAMH,EAASZ,CAAgB,CAAC;AAEnE,UAAMgB,IAAU,CAACC,MAAmB;AAClC,MAAAA,EAAG,eAAA,GACHxB,EAAM,cAAcwB,CAAE;AAAA,IACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"TableComponent.vue.js","sources":["../../../src/components/DataTable/TableComponent.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport './assets/data-table-style.scss';\nimport { ref, unref, onMounted, nextTick, watchPostEffect, watch, computed } from 'vue';\nimport TdCell from './TdCell.vue';\nimport type { TableSettings, TableData } from './types';\nimport TableIcon from './assets/TableIcon.vue';\nimport TrHead from './TrHead.vue';\nimport ThCell from './ThCell.vue';\nimport TrBody from './TrBody.vue';\nimport ColumnCaret from './ColumnCaret.vue';\nimport { useEventListener } from '../../index';\nimport { tapIf } from '@milaboratories/helpers';\nimport { useResize } from './composition/useResize';\nimport RowsCommandMenu from './RowsCommandMenu.vue';\nimport ColumnsCommandMenu from './ColumnsCommandMenu.vue';\nimport TScroll from './TScroll.vue';\nimport { createState } from './state';\n\nconst emit = defineEmits<{\n (e: 'update:data', value: TableData): void;\n (e: 'change:sort', value: unknown): void;\n}>();\n\nconst props = defineProps<{\n settings: Readonly<TableSettings>;\n}>();\n\nconst state = createState(props);\n\nconst hasNoData = computed(() => state.data.rows.length === 0);\n\nconst tableBodyStyle = computed(() => ({\n height: hasNoData.value ? '212px' /* css value */ : state.data.bodyHeight + 'px',\n}));\n\nwatch(state.data, (v) => emit('update:data', v), { deep: true });\n\nwatch(props, () => updateDimensions);\n\nconst tableRef = ref<HTMLElement>();\nconst headRef = ref<HTMLElement>();\nconst bodyRef = ref<HTMLElement>();\n\nconst updateDimensions = () => {\n tapIf(bodyRef.value, (el) => {\n state.updateDimensions(el.getBoundingClientRect());\n });\n};\n\nconst tableColumns = state.tableColumns;\n\nconst tableRows = state.tableRows;\n\nconst { mouseDown } = useResize(state, tableRef);\n\nonMounted(() => {\n nextTick(updateDimensions);\n});\n\nwatchPostEffect(() => {\n unref(props.settings);\n nextTick(updateDimensions);\n});\n\nuseEventListener(window, 'resize', () => nextTick(updateDimensions));\n\nconst onWheel = (ev: WheelEvent) => {\n ev.preventDefault();\n state.updateOffsets(ev);\n};\n</script>\n\n<template>\n <div ref=\"tableRef\" class=\"data-table\" @mousedown=\"mouseDown\">\n <div class=\"command-menu__container\">\n <RowsCommandMenu />\n <ColumnsCommandMenu />\n </div>\n <div ref=\"headRef\" class=\"table-head\">\n <TrHead>\n <ThCell v-for=\"(col, i) in tableColumns\" :key=\"i\" :col=\"col\" :style=\"col.style\" @change:sort=\"$emit('change:sort', $event)\" />\n </TrHead>\n </div>\n <div ref=\"bodyRef\" class=\"table-body\" :style=\"tableBodyStyle\" @wheel=\"onWheel\">\n <div v-if=\"hasNoData\" class=\"table-body__no-data\">\n <div>\n <TableIcon />\n <div>No Data To Show</div>\n </div>\n </div>\n <TrBody v-for=\"(row, i) in tableRows\" :key=\"i\" :row=\"row\">\n <TdCell v-for=\"cell in row.cells\" :key=\"cell.column.id + ':' + i\" :cell=\"cell\" :style=\"cell.style\" />\n </TrBody>\n </div>\n <div class=\"carets\">\n <ColumnCaret v-for=\"(col, i) in tableColumns\" :key=\"i\" :column=\"col\" :style=\"col.style\" @change:sort=\"$emit('change:sort', $event)\" />\n </div>\n <TScroll\n :offset=\"state.data.scrollTop\"\n :window-size=\"state.data.bodyHeight\"\n :data-size=\"state.data.dataHeight\"\n @change:offset=\"state.updateScrollTop\"\n />\n </div>\n</template>\n"],"names":["emit","__emit","props","__props","state","createState","hasNoData","computed","tableBodyStyle","watch","v","updateDimensions","tableRef","ref","headRef","bodyRef","tapIf","el","tableColumns","tableRows","mouseDown","useResize","onMounted","nextTick","watchPostEffect","unref","useEventListener","onWheel","ev","_createElementBlock","_cache","_unref","args","_createElementVNode","_hoisted_1","_createVNode","RowsCommandMenu","ColumnsCommandMenu","TrHead","_openBlock","_Fragment","_renderList","col","i","_createBlock","ThCell","_normalizeStyle","$event","$emit","_hoisted_2","TableIcon","row","TrBody","cell","TdCell","_hoisted_3","ColumnCaret","TScroll"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,UAAMA,IAAOC,GAKPC,IAAQC,GAIRC,IAAQC,EAAYH,CAAK,GAEzBI,IAAYC,EAAS,MAAMH,EAAM,KAAK,KAAK,WAAW,CAAC,GAEvDI,IAAiBD,EAAS,OAAO;AAAA,MACrC,QAAQD,EAAU,QAAQ,UAA0BF,EAAM,KAAK,aAAa;AAAA,IAAA,EAC5E;AAEF,IAAAK,EAAML,EAAM,MAAM,CAACM,MAAMV,EAAK,eAAeU,CAAC,GAAG,EAAE,MAAM,GAAA,CAAM,GAE/DD,EAAMP,GAAO,MAAMS,CAAgB;AAEnC,UAAMC,IAAWC,EAAA,GACXC,IAAUD,EAAA,GACVE,IAAUF,EAAA,GAEVF,IAAmB,MAAM;AAC7B,MAAAK,EAAMD,EAAQ,OAAO,CAACE,MAAO;AAC3B,QAAAb,EAAM,iBAAiBa,EAAG,uBAAuB;AAAA,MACnD,CAAC;AAAA,IACH,GAEMC,IAAed,EAAM,cAErBe,IAAYf,EAAM,WAElB,EAAE,WAAAgB,EAAA,IAAcC,EAAUjB,GAAOQ,CAAQ;AAE/C,IAAAU,EAAU,MAAM;AACd,MAAAC,EAASZ,CAAgB;AAAA,IAC3B,CAAC,GAEDa,EAAgB,MAAM;AACpB,MAAAC,EAAMvB,EAAM,QAAQ,GACpBqB,EAASZ,CAAgB;AAAA,IAC3B,CAAC,GAEDe,EAAiB,QAAQ,UAAU,MAAMH,EAASZ,CAAgB,CAAC;AAEnE,UAAMgB,IAAU,CAACC,MAAmB;AAClC,MAAAA,EAAG,eAAA,GACHxB,EAAM,cAAcwB,CAAE;AAAA,IACxB;2BAIEC,EA8BM,OAAA;AAAA,eA9BG;AAAA,MAAJ,KAAIjB;AAAA,MAAW,OAAM;AAAA,MAAc,aAASkB,EAAA,CAAA,MAAAA,EAAA,CAAA;AAAA,gBAAEC,EAAAX,CAAA,KAAAW,EAAAX,CAAA,EAAA,GAAAY,CAAA;AAAA,IAAA;MACjDC,EAGM,OAHNC,GAGM;AAAA,QAFJC,EAAmBC,CAAA;AAAA,QACnBD,EAAsBE,CAAA;AAAA,MAAA;MAExBJ,EAIM,OAAA;AAAA,iBAJG;AAAA,QAAJ,KAAInB;AAAA,QAAU,OAAM;AAAA,MAAA;QACvBqB,EAESG,GAAA,MAAA;AAAA,qBADC,MAAgC;AAAA,aAAxCC,EAAA,EAAA,GAAAV,EAA8HW,GAAA,MAAAC,EAAnGV,EAAAb,CAAA,GAAY,CAAvBwB,GAAKC,YAArBC,EAA8HC,GAAA;AAAA,cAApF,KAAKF;AAAA,cAAI,KAAAD;AAAA,cAAW,OAAKI,EAAEJ,EAAI,KAAK;AAAA,cAAG,iBAAWZ,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAiB,MAAEC,EAAAA,MAAK,eAAgBD,CAAM;AAAA,YAAA;;;;;MAG7Hd,EAUM,OAAA;AAAA,iBAVG;AAAA,QAAJ,KAAIlB;AAAA,QAAU,OAAM;AAAA,QAAc,SAAOP,EAAA,KAAc;AAAA,QAAG,SAAAmB;AAAA,MAAA;QAClDrB,EAAA,SAAXiC,EAAA,GAAAV,EAKM,OALNoB,GAKM;AAAA,UAJJhB,EAGM,OAAA,MAAA;AAAA,YAFJE,EAAae,CAAA;AAAA,YACbpB,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAG,EAA0B,aAArB,mBAAe,EAAA;AAAA,UAAA;;SAGxBM,EAAA,EAAA,GAAAV,EAESW,GAAA,MAAAC,EAFkBV,EAAAZ,CAAA,GAAS,CAApBgC,GAAKR,YAArBC,EAESQ,GAAA;AAAA,UAF8B,KAAKT;AAAA,UAAI,KAAAQ;AAAA,QAAA;qBACtC,MAAyB;AAAA,aAAjCZ,EAAA,EAAA,GAAAV,EAAqGW,GAAA,MAAAC,EAA9EU,EAAI,QAAZE,YAAfT,EAAqGU,GAAA;AAAA,cAAlE,KAAKD,EAAK,OAAO,WAAWV;AAAA,cAAI,MAAAU;AAAA,cAAa,OAAKP,EAAEO,EAAK,KAAK;AAAA,YAAA;;;;;MAGrGpB,EAEM,OAFNsB,GAEM;AAAA,SADJhB,EAAA,EAAA,GAAAV,EAAsIW,GAAA,MAAAC,EAAtGV,EAAAb,CAAA,GAAY,CAAvBwB,GAAKC,YAA1BC,EAAsIY,GAAA;AAAA,UAAvF,KAAKb;AAAA,UAAI,QAAQD;AAAA,UAAM,OAAKI,EAAEJ,EAAI,KAAK;AAAA,UAAG,iBAAWZ,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAiB,MAAEC,EAAAA,MAAK,eAAgBD,CAAM;AAAA,QAAA;;MAEnIZ,EAKEsB,GAAA;AAAA,QAJC,QAAQ1B,EAAA3B,CAAA,EAAM,KAAK;AAAA,QACnB,eAAa2B,EAAA3B,CAAA,EAAM,KAAK;AAAA,QACxB,aAAW2B,EAAA3B,CAAA,EAAM,KAAK;AAAA,QACtB,mBAAe2B,EAAA3B,CAAA,EAAM;AAAA,MAAA;;;;"}
@@ -1,75 +1,75 @@
1
- import { defineComponent as h, computed as i, ref as k, createElementBlock as d, openBlock as s, normalizeClass as b, createBlock as p, toDisplayString as g, resolveDynamicComponent as S } from "vue";
2
- import { tapIf as x } from "@milaboratories/helpers";
1
+ import { defineComponent as R, computed as d, ref as h, createElementBlock as f, openBlock as s, normalizeClass as k, createBlock as p, toDisplayString as b, resolveDynamicComponent as g } from "vue";
2
+ import { tapIf as S } from "@milaboratories/helpers";
3
3
  import { showContextMenu as K } from "../contextMenu/index.js";
4
4
  import { injectState as D } from "./keys.js";
5
5
  import U from "./BaseCellComponent.vue.js";
6
6
  const B = ["^data-row-index"], T = {
7
7
  key: 0,
8
8
  class: "control-cell"
9
- }, z = /* @__PURE__ */ h({
9
+ }, E = /* @__PURE__ */ R({
10
10
  __name: "TdCell",
11
11
  props: {
12
12
  cell: {}
13
13
  },
14
- setup(f) {
15
- const l = f, o = D(), w = i(() => l.cell.column.valueType), a = (e) => {
16
- x(o.settings.value.onUpdatedRow, (n) => {
17
- const c = l.cell.row, t = { ...c.dataRow, [l.cell.id]: e };
18
- n({ ...c, dataRow: t });
14
+ setup(l) {
15
+ const e = l, t = D(), w = d(() => e.cell.column.valueType), u = (o) => {
16
+ S(t.settings.value.onUpdatedRow, (c) => {
17
+ const a = e.cell.row, n = { ...a.dataRow, [e.cell.id]: o };
18
+ c({ ...a, dataRow: n });
19
19
  });
20
- }, y = (e) => {
21
- e.metaKey && o.selectRow(l.cell.row.primaryKey);
22
- }, v = (e, n) => {
23
- if (e.type === "contextmenu")
24
- e.preventDefault();
20
+ }, y = (o) => {
21
+ o.metaKey && t.selectRow(e.cell.row.primaryKey);
22
+ }, v = (o, c) => {
23
+ if (o.type === "contextmenu")
24
+ o.preventDefault();
25
25
  else
26
26
  return;
27
- const c = o.settings ?? {}, t = [], { onSelectedRows: u, onSelectedColumns: m } = c.value, R = o.data.selectedRows.has(n.primaryKey);
28
- u && u.length && (R ? t.push({
27
+ const a = t.settings ?? {}, n = [], { onSelectedRows: r, onSelectedColumns: i } = a.value, C = t.data.selectedRows.has(c.primaryKey);
28
+ r && r.length && (C ? n.push({
29
29
  text: "Deselect row",
30
30
  cb() {
31
- o.data.selectedRows.delete(l.cell.row.primaryKey);
31
+ t.data.selectedRows.delete(e.cell.row.primaryKey);
32
32
  }
33
- }) : t.push({
33
+ }) : n.push({
34
34
  text: "Select row",
35
35
  cb() {
36
- o.selectRow(l.cell.row.primaryKey);
36
+ t.selectRow(e.cell.row.primaryKey);
37
37
  }
38
- })), m && m.length && (t.push({
38
+ })), i && i.length && (n.push({
39
39
  text: "Select column",
40
40
  cb() {
41
- o.selectColumn(l.cell.column.id);
41
+ t.selectColumn(e.cell.column.id);
42
42
  }
43
- }), t.push({
43
+ }), n.push({
44
44
  text: "Unselect column",
45
45
  cb() {
46
- o.unselectColumn(l.cell.column.id);
46
+ t.unselectColumn(e.cell.column.id);
47
47
  }
48
- })), t.length && K(e, t);
49
- }, C = k(), r = i(() => l.cell.column.component ? l.cell.column.component() : void 0);
50
- return (e, n) => (s(), d("div", {
48
+ })), n.length && K(o, n);
49
+ }, x = h(), m = d(() => e.cell.column.component ? e.cell.column.component() : void 0);
50
+ return (o, c) => (s(), f("div", {
51
51
  ref_key: "cellRef",
52
- ref: C,
53
- class: b(["td-cell", { [e.cell.class]: !0 }]),
54
- "^data-row-index": e.cell.row.index,
52
+ ref: x,
53
+ class: k(["td-cell", { [l.cell.class]: !0 }]),
54
+ "^data-row-index": l.cell.row.index,
55
55
  onClick: y,
56
- onContextmenu: n[0] || (n[0] = (c) => v(c, e.cell.row))
56
+ onContextmenu: c[0] || (c[0] = (a) => v(a, l.cell.row))
57
57
  }, [
58
- e.cell.control ? (s(), d("div", T, g(e.cell.row.index), 1)) : r.value ? (s(), p(S(r.value), {
58
+ l.cell.control ? (s(), f("div", T, b(l.cell.row.index), 1)) : m.value ? (s(), p(g(m.value), {
59
59
  key: 1,
60
- "model-value": e.cell.value,
61
- "onUpdate:modelValue": a
60
+ "model-value": l.cell.value,
61
+ "onUpdate:modelValue": u
62
62
  }, null, 8, ["model-value"])) : (s(), p(U, {
63
63
  key: 2,
64
- "model-value": e.cell.value,
64
+ "model-value": l.cell.value,
65
65
  "value-type": w.value,
66
- editable: e.cell.column.editable,
67
- "onUpdate:modelValue": a
66
+ editable: l.cell.column.editable,
67
+ "onUpdate:modelValue": u
68
68
  }, null, 8, ["model-value", "value-type", "editable"]))
69
69
  ], 42, B));
70
70
  }
71
71
  });
72
72
  export {
73
- z as default
73
+ E as default
74
74
  };
75
75
  //# sourceMappingURL=TdCell.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TdCell.vue.js","sources":["../../../src/components/DataTable/TdCell.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { tapIf } from '@milaboratories/helpers';\nimport { showContextMenu } from '../contextMenu';\nimport type { ContextOption } from '../contextMenu/types';\nimport { injectState } from './keys';\nimport type { Row, TableCell } from './types';\nimport { computed, ref } from 'vue';\nimport BaseCellComponent from './BaseCellComponent.vue';\n\nconst props = defineProps<{\n cell: TableCell;\n}>();\n\nconst state = injectState();\n\nconst valueTypeRef = computed(() => props.cell.column.valueType);\n\nconst onInput = (value: unknown) => {\n tapIf(state.settings.value.onUpdatedRow, (f) => {\n const row = props.cell.row;\n\n const dataRow = { ...row.dataRow, [props.cell.id]: value };\n\n f({ ...row, dataRow });\n });\n};\n\nconst onClick = (ev: MouseEvent) => {\n if (ev.metaKey) {\n state.selectRow(props.cell.row.primaryKey);\n }\n};\n\nconst onContextMenu = (ev: MouseEvent, row: Row) => {\n if (ev.type === 'contextmenu') {\n ev.preventDefault();\n } else {\n return;\n }\n\n const settings = state.settings ?? {};\n\n const options = [] as ContextOption[];\n\n const { onSelectedRows, onSelectedColumns } = settings.value;\n\n const isSelected = state.data.selectedRows.has(row.primaryKey);\n\n if (onSelectedRows && onSelectedRows.length) {\n if (isSelected) {\n options.push({\n text: 'Deselect row',\n cb() {\n state.data.selectedRows.delete(props.cell.row.primaryKey);\n },\n });\n } else {\n options.push({\n text: 'Select row',\n cb() {\n state.selectRow(props.cell.row.primaryKey);\n },\n });\n }\n }\n\n if (onSelectedColumns && onSelectedColumns.length) {\n options.push({\n text: 'Select column',\n cb() {\n state.selectColumn(props.cell.column.id);\n },\n });\n\n options.push({\n text: 'Unselect column',\n cb() {\n state.unselectColumn(props.cell.column.id);\n },\n });\n }\n\n if (!options.length) {\n return;\n }\n\n showContextMenu(ev, options);\n};\n\nconst cellRef = ref<HTMLElement>();\n\nconst CustomComponent = computed(() => (props.cell.column.component ? props.cell.column.component() : undefined));\n</script>\n\n<template>\n <div\n ref=\"cellRef\"\n class=\"td-cell\"\n :class=\"{ [cell.class]: true }\"\n :data-row-index.attr=\"cell.row.index\"\n @click=\"onClick\"\n @contextmenu=\"(ev) => onContextMenu(ev, cell.row)\"\n >\n <div v-if=\"cell.control\" class=\"control-cell\">{{ cell.row.index }}</div>\n <component :is=\"CustomComponent\" v-else-if=\"CustomComponent\" :model-value=\"cell.value\" @update:model-value=\"onInput\" />\n <BaseCellComponent v-else :model-value=\"cell.value\" :value-type=\"valueTypeRef\" :editable=\"cell.column.editable\" @update:model-value=\"onInput\" />\n </div>\n</template>\n"],"names":["props","__props","state","injectState","valueTypeRef","computed","onInput","value","tapIf","f","row","dataRow","onClick","ev","onContextMenu","settings","options","onSelectedRows","onSelectedColumns","isSelected","showContextMenu","cellRef","ref","CustomComponent"],"mappings":";;;;;;;;;;;;;;AASA,UAAMA,IAAQC,GAIRC,IAAQC,EAAA,GAERC,IAAeC,EAAS,MAAML,EAAM,KAAK,OAAO,SAAS,GAEzDM,IAAU,CAACC,MAAmB;AAClC,MAAAC,EAAMN,EAAM,SAAS,MAAM,cAAc,CAACO,MAAM;AAC9C,cAAMC,IAAMV,EAAM,KAAK,KAEjBW,IAAU,EAAE,GAAGD,EAAI,SAAS,CAACV,EAAM,KAAK,EAAE,GAAGO,EAAA;AAEnD,QAAAE,EAAE,EAAE,GAAGC,GAAK,SAAAC,GAAS;AAAA,MACvB,CAAC;AAAA,IACH,GAEMC,IAAU,CAACC,MAAmB;AAClC,MAAIA,EAAG,WACLX,EAAM,UAAUF,EAAM,KAAK,IAAI,UAAU;AAAA,IAE7C,GAEMc,IAAgB,CAACD,GAAgBH,MAAa;AAClD,UAAIG,EAAG,SAAS;AACd,QAAAA,EAAG,eAAA;AAAA;AAEH;AAGF,YAAME,IAAWb,EAAM,YAAY,CAAA,GAE7Bc,IAAU,CAAA,GAEV,EAAE,gBAAAC,GAAgB,mBAAAC,EAAA,IAAsBH,EAAS,OAEjDI,IAAajB,EAAM,KAAK,aAAa,IAAIQ,EAAI,UAAU;AAoC7D,MAlCIO,KAAkBA,EAAe,WAC/BE,IACFH,EAAQ,KAAK;AAAA,QACX,MAAM;AAAA,QACN,KAAK;AACH,UAAAd,EAAM,KAAK,aAAa,OAAOF,EAAM,KAAK,IAAI,UAAU;AAAA,QAC1D;AAAA,MAAA,CACD,IAEDgB,EAAQ,KAAK;AAAA,QACX,MAAM;AAAA,QACN,KAAK;AACH,UAAAd,EAAM,UAAUF,EAAM,KAAK,IAAI,UAAU;AAAA,QAC3C;AAAA,MAAA,CACD,IAIDkB,KAAqBA,EAAkB,WACzCF,EAAQ,KAAK;AAAA,QACX,MAAM;AAAA,QACN,KAAK;AACH,UAAAd,EAAM,aAAaF,EAAM,KAAK,OAAO,EAAE;AAAA,QACzC;AAAA,MAAA,CACD,GAEDgB,EAAQ,KAAK;AAAA,QACX,MAAM;AAAA,QACN,KAAK;AACH,UAAAd,EAAM,eAAeF,EAAM,KAAK,OAAO,EAAE;AAAA,QAC3C;AAAA,MAAA,CACD,IAGEgB,EAAQ,UAIbI,EAAgBP,GAAIG,CAAO;AAAA,IAC7B,GAEMK,IAAUC,EAAA,GAEVC,IAAkBlB,EAAS,MAAOL,EAAM,KAAK,OAAO,YAAYA,EAAM,KAAK,OAAO,UAAA,IAAc,MAAU;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"TdCell.vue.js","sources":["../../../src/components/DataTable/TdCell.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { tapIf } from '@milaboratories/helpers';\nimport { showContextMenu } from '../contextMenu';\nimport type { ContextOption } from '../contextMenu/types';\nimport { injectState } from './keys';\nimport type { Row, TableCell } from './types';\nimport { computed, ref } from 'vue';\nimport BaseCellComponent from './BaseCellComponent.vue';\n\nconst props = defineProps<{\n cell: TableCell;\n}>();\n\nconst state = injectState();\n\nconst valueTypeRef = computed(() => props.cell.column.valueType);\n\nconst onInput = (value: unknown) => {\n tapIf(state.settings.value.onUpdatedRow, (f) => {\n const row = props.cell.row;\n\n const dataRow = { ...row.dataRow, [props.cell.id]: value };\n\n f({ ...row, dataRow });\n });\n};\n\nconst onClick = (ev: MouseEvent) => {\n if (ev.metaKey) {\n state.selectRow(props.cell.row.primaryKey);\n }\n};\n\nconst onContextMenu = (ev: MouseEvent, row: Row) => {\n if (ev.type === 'contextmenu') {\n ev.preventDefault();\n } else {\n return;\n }\n\n const settings = state.settings ?? {};\n\n const options = [] as ContextOption[];\n\n const { onSelectedRows, onSelectedColumns } = settings.value;\n\n const isSelected = state.data.selectedRows.has(row.primaryKey);\n\n if (onSelectedRows && onSelectedRows.length) {\n if (isSelected) {\n options.push({\n text: 'Deselect row',\n cb() {\n state.data.selectedRows.delete(props.cell.row.primaryKey);\n },\n });\n } else {\n options.push({\n text: 'Select row',\n cb() {\n state.selectRow(props.cell.row.primaryKey);\n },\n });\n }\n }\n\n if (onSelectedColumns && onSelectedColumns.length) {\n options.push({\n text: 'Select column',\n cb() {\n state.selectColumn(props.cell.column.id);\n },\n });\n\n options.push({\n text: 'Unselect column',\n cb() {\n state.unselectColumn(props.cell.column.id);\n },\n });\n }\n\n if (!options.length) {\n return;\n }\n\n showContextMenu(ev, options);\n};\n\nconst cellRef = ref<HTMLElement>();\n\nconst CustomComponent = computed(() => (props.cell.column.component ? props.cell.column.component() : undefined));\n</script>\n\n<template>\n <div\n ref=\"cellRef\"\n class=\"td-cell\"\n :class=\"{ [cell.class]: true }\"\n :data-row-index.attr=\"cell.row.index\"\n @click=\"onClick\"\n @contextmenu=\"(ev) => onContextMenu(ev, cell.row)\"\n >\n <div v-if=\"cell.control\" class=\"control-cell\">{{ cell.row.index }}</div>\n <component :is=\"CustomComponent\" v-else-if=\"CustomComponent\" :model-value=\"cell.value\" @update:model-value=\"onInput\" />\n <BaseCellComponent v-else :model-value=\"cell.value\" :value-type=\"valueTypeRef\" :editable=\"cell.column.editable\" @update:model-value=\"onInput\" />\n </div>\n</template>\n"],"names":["props","__props","state","injectState","valueTypeRef","computed","onInput","value","tapIf","f","row","dataRow","onClick","ev","onContextMenu","settings","options","onSelectedRows","onSelectedColumns","isSelected","showContextMenu","cellRef","ref","CustomComponent","_createElementBlock","_normalizeClass","_cache","_openBlock","_hoisted_2","_toDisplayString","_createBlock","_resolveDynamicComponent","BaseCellComponent"],"mappings":";;;;;;;;;;;;;;AASA,UAAMA,IAAQC,GAIRC,IAAQC,EAAA,GAERC,IAAeC,EAAS,MAAML,EAAM,KAAK,OAAO,SAAS,GAEzDM,IAAU,CAACC,MAAmB;AAClC,MAAAC,EAAMN,EAAM,SAAS,MAAM,cAAc,CAACO,MAAM;AAC9C,cAAMC,IAAMV,EAAM,KAAK,KAEjBW,IAAU,EAAE,GAAGD,EAAI,SAAS,CAACV,EAAM,KAAK,EAAE,GAAGO,EAAA;AAEnD,QAAAE,EAAE,EAAE,GAAGC,GAAK,SAAAC,GAAS;AAAA,MACvB,CAAC;AAAA,IACH,GAEMC,IAAU,CAACC,MAAmB;AAClC,MAAIA,EAAG,WACLX,EAAM,UAAUF,EAAM,KAAK,IAAI,UAAU;AAAA,IAE7C,GAEMc,IAAgB,CAACD,GAAgBH,MAAa;AAClD,UAAIG,EAAG,SAAS;AACd,QAAAA,EAAG,eAAA;AAAA;AAEH;AAGF,YAAME,IAAWb,EAAM,YAAY,CAAA,GAE7Bc,IAAU,CAAA,GAEV,EAAE,gBAAAC,GAAgB,mBAAAC,EAAA,IAAsBH,EAAS,OAEjDI,IAAajB,EAAM,KAAK,aAAa,IAAIQ,EAAI,UAAU;AAoC7D,MAlCIO,KAAkBA,EAAe,WAC/BE,IACFH,EAAQ,KAAK;AAAA,QACX,MAAM;AAAA,QACN,KAAK;AACH,UAAAd,EAAM,KAAK,aAAa,OAAOF,EAAM,KAAK,IAAI,UAAU;AAAA,QAC1D;AAAA,MAAA,CACD,IAEDgB,EAAQ,KAAK;AAAA,QACX,MAAM;AAAA,QACN,KAAK;AACH,UAAAd,EAAM,UAAUF,EAAM,KAAK,IAAI,UAAU;AAAA,QAC3C;AAAA,MAAA,CACD,IAIDkB,KAAqBA,EAAkB,WACzCF,EAAQ,KAAK;AAAA,QACX,MAAM;AAAA,QACN,KAAK;AACH,UAAAd,EAAM,aAAaF,EAAM,KAAK,OAAO,EAAE;AAAA,QACzC;AAAA,MAAA,CACD,GAEDgB,EAAQ,KAAK;AAAA,QACX,MAAM;AAAA,QACN,KAAK;AACH,UAAAd,EAAM,eAAeF,EAAM,KAAK,OAAO,EAAE;AAAA,QAC3C;AAAA,MAAA,CACD,IAGEgB,EAAQ,UAIbI,EAAgBP,GAAIG,CAAO;AAAA,IAC7B,GAEMK,IAAUC,EAAA,GAEVC,IAAkBlB,EAAS,MAAOL,EAAM,KAAK,OAAO,YAAYA,EAAM,KAAK,OAAO,UAAA,IAAc,MAAU;2BAI9GwB,EAWM,OAAA;AAAA,eAVA;AAAA,MAAJ,KAAIH;AAAA,MACJ,OAAKI,EAAA,CAAC,WAAS,EAAA,CACJxB,EAAA,KAAK,KAAK,GAAA,GAAA,CAAA,CAAA;AAAA,MACpB,mBAAqBA,EAAA,KAAK,IAAI;AAAA,MAC9B,SAAAW;AAAA,MACA,eAAWc,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAGb,MAAOC,EAAcD,GAAIZ,EAAA,KAAK,GAAG;AAAA,IAAA;MAErCA,EAAA,KAAK,WAAhB0B,KAAAH,EAAwE,OAAxEI,GAAwEC,EAAvB5B,OAAK,IAAI,KAAK,GAAA,CAAA,KACnBsB,EAAA,SAA5CI,KAAAG,EAAuHC,EAAvGR,EAAA,KAAe,GAAA;AAAA;QAA+B,eAAatB,EAAA,KAAK;AAAA,QAAQ,uBAAoBK;AAAA,MAAA,sCAC5GwB,EAAgJE,GAAA;AAAA;QAArH,eAAa/B,EAAA,KAAK;AAAA,QAAQ,cAAYG,EAAA;AAAA,QAAe,UAAUH,EAAA,KAAK,OAAO;AAAA,QAAW,uBAAoBK;AAAA,MAAA;;;;"}
@@ -1,43 +1,43 @@
1
- import { defineComponent as u, createElementBlock as t, openBlock as n, normalizeClass as l, createCommentVNode as i, createTextVNode as m, toDisplayString as p, withModifiers as f } from "vue";
2
- import { showContextMenu as C } from "../contextMenu/index.js";
3
- import { rotate as h } from "./domain.js";
4
- const y = ["^data-col-id"], D = /* @__PURE__ */ u({
1
+ import { defineComponent as m, createElementBlock as n, openBlock as l, normalizeClass as c, createCommentVNode as r, createTextVNode as f, toDisplayString as C, withModifiers as h } from "vue";
2
+ import { showContextMenu as x } from "../contextMenu/index.js";
3
+ import { rotate as y } from "./domain.js";
4
+ const v = ["^data-col-id"], D = /* @__PURE__ */ m({
5
5
  __name: "ThCell",
6
6
  props: {
7
7
  col: {}
8
8
  },
9
9
  emits: ["delete:column", "expand:column", "change:sort"],
10
- setup(v, { emit: s }) {
11
- const c = s;
12
- function a(o) {
10
+ setup(e, { emit: a }) {
11
+ const s = a;
12
+ function d(o) {
13
13
  o.preventDefault();
14
- const e = [];
15
- e.length && C(o, e);
14
+ const t = [];
15
+ t.length && x(o, t);
16
16
  }
17
- function d(o) {
18
- var r;
19
- const e = ((r = o.sort) == null ? void 0 : r.direction) ?? "DESC";
20
- c("change:sort", {
17
+ function u(o) {
18
+ var i;
19
+ const t = ((i = o.sort) == null ? void 0 : i.direction) ?? "DESC";
20
+ s("change:sort", {
21
21
  colId: o.id,
22
- direction: h(e, ["DESC", "ASC"])
22
+ direction: y(t, ["DESC", "ASC"])
23
23
  });
24
24
  }
25
- return (o, e) => (n(), t("div", {
26
- class: l(["cell th-cell", { "justify-center": o.col.justify, frozen: o.col.frozen }]),
27
- "^data-col-id": o.col.id,
28
- onContextmenu: a
25
+ return (o, t) => (l(), n("div", {
26
+ class: c(["cell th-cell", { "justify-center": e.col.justify, frozen: e.col.frozen }]),
27
+ "^data-col-id": e.col.id,
28
+ onContextmenu: d
29
29
  }, [
30
- o.col.valueType ? (n(), t("div", {
30
+ e.col.valueType ? (l(), n("div", {
31
31
  key: 0,
32
- class: l(o.col.valueType)
33
- }, null, 2)) : i("", !0),
34
- m(" " + p(o.col.label) + " ", 1),
35
- o.col.sort ? (n(), t("div", {
32
+ class: c(e.col.valueType)
33
+ }, null, 2)) : r("", !0),
34
+ f(" " + C(e.col.label) + " ", 1),
35
+ e.col.sort ? (l(), n("div", {
36
36
  key: 1,
37
- class: l(["sort", o.col.sort.direction]),
38
- onClick: e[0] || (e[0] = f(() => d(o.col), ["stop"]))
39
- }, null, 2)) : i("", !0)
40
- ], 42, y));
37
+ class: c(["sort", e.col.sort.direction]),
38
+ onClick: t[0] || (t[0] = h(() => u(e.col), ["stop"]))
39
+ }, null, 2)) : r("", !0)
40
+ ], 42, v));
41
41
  }
42
42
  });
43
43
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"ThCell.vue.js","sources":["../../../src/components/DataTable/ThCell.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { showContextMenu } from '../contextMenu';\nimport type { ContextOption } from '../contextMenu/types';\nimport { rotate } from './domain';\nimport type { ColumnSpecSettings } from './types';\n\nconst emit = defineEmits(['delete:column', 'expand:column', 'change:sort']);\n\ndefineProps<{\n col: ColumnSpecSettings;\n}>();\n\nfunction onContextMenu(ev: MouseEvent) {\n ev.preventDefault();\n\n const options = [] as ContextOption[]; // @TODO\n\n if (!options.length) {\n return;\n }\n\n showContextMenu(ev, options);\n}\n\nfunction onSort(col: ColumnSpecSettings) {\n const v = col.sort?.direction ?? 'DESC';\n emit('change:sort', {\n colId: col.id,\n direction: rotate(v, ['DESC', 'ASC']),\n });\n}\n</script>\n\n<template>\n <div class=\"cell th-cell\" :data-col-id.attr=\"col.id\" :class=\"{ 'justify-center': col.justify, frozen: col.frozen }\" @contextmenu=\"onContextMenu\">\n <div v-if=\"col.valueType\" :class=\"col.valueType\" />\n {{ col.label }}\n <div v-if=\"col.sort\" class=\"sort\" :class=\"col.sort.direction\" @click.stop=\"() => onSort(col)\" />\n </div>\n</template>\n"],"names":["emit","__emit","onContextMenu","ev","options","showContextMenu","onSort","col","v","_a","rotate"],"mappings":";;;;;;;;;;AAMA,UAAMA,IAAOC;AAMb,aAASC,EAAcC,GAAgB;AACrC,MAAAA,EAAG,eAAA;AAEH,YAAMC,IAAU,CAAA;AAEhB,MAAKA,EAAQ,UAIbC,EAAgBF,GAAIC,CAAO;AAAA,IAC7B;AAEA,aAASE,EAAOC,GAAyB;;AACvC,YAAMC,MAAIC,IAAAF,EAAI,SAAJ,gBAAAE,EAAU,cAAa;AACjC,MAAAT,EAAK,eAAe;AAAA,QAClB,OAAOO,EAAI;AAAA,QACX,WAAWG,EAAOF,GAAG,CAAC,QAAQ,KAAK,CAAC;AAAA,MAAA,CACrC;AAAA,IACH;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ThCell.vue.js","sources":["../../../src/components/DataTable/ThCell.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { showContextMenu } from '../contextMenu';\nimport type { ContextOption } from '../contextMenu/types';\nimport { rotate } from './domain';\nimport type { ColumnSpecSettings } from './types';\n\nconst emit = defineEmits(['delete:column', 'expand:column', 'change:sort']);\n\ndefineProps<{\n col: ColumnSpecSettings;\n}>();\n\nfunction onContextMenu(ev: MouseEvent) {\n ev.preventDefault();\n\n const options = [] as ContextOption[]; // @TODO\n\n if (!options.length) {\n return;\n }\n\n showContextMenu(ev, options);\n}\n\nfunction onSort(col: ColumnSpecSettings) {\n const v = col.sort?.direction ?? 'DESC';\n emit('change:sort', {\n colId: col.id,\n direction: rotate(v, ['DESC', 'ASC']),\n });\n}\n</script>\n\n<template>\n <div class=\"cell th-cell\" :data-col-id.attr=\"col.id\" :class=\"{ 'justify-center': col.justify, frozen: col.frozen }\" @contextmenu=\"onContextMenu\">\n <div v-if=\"col.valueType\" :class=\"col.valueType\" />\n {{ col.label }}\n <div v-if=\"col.sort\" class=\"sort\" :class=\"col.sort.direction\" @click.stop=\"() => onSort(col)\" />\n </div>\n</template>\n"],"names":["emit","__emit","onContextMenu","ev","options","showContextMenu","onSort","col","v","_a","rotate","_createElementBlock","_normalizeClass","__props","_createTextVNode","_toDisplayString","_cache","_withModifiers"],"mappings":";;;;;;;;;;AAMA,UAAMA,IAAOC;AAMb,aAASC,EAAcC,GAAgB;AACrC,MAAAA,EAAG,eAAA;AAEH,YAAMC,IAAU,CAAA;AAEhB,MAAKA,EAAQ,UAIbC,EAAgBF,GAAIC,CAAO;AAAA,IAC7B;AAEA,aAASE,EAAOC,GAAyB;;AACvC,YAAMC,MAAIC,IAAAF,EAAI,SAAJ,gBAAAE,EAAU,cAAa;AACjC,MAAAT,EAAK,eAAe;AAAA,QAClB,OAAOO,EAAI;AAAA,QACX,WAAWG,EAAOF,GAAG,CAAC,QAAQ,KAAK,CAAC;AAAA,MAAA,CACrC;AAAA,IACH;2BAIEG,EAIM,OAAA;AAAA,MAJD,OAAKC,EAAA,CAAC,gBAAc,EAAA,kBAAwDC,EAAA,IAAI,SAAO,QAAUA,EAAA,IAAI,OAAA,CAAM,CAAA;AAAA,MAArF,gBAAkBA,EAAA,IAAI;AAAA,MAAoE,eAAaX;AAAA,IAAA;MACrHW,EAAA,IAAI,kBAAfF,EAAmD,OAAA;AAAA;QAAxB,OAAKC,EAAEC,EAAA,IAAI,SAAS;AAAA,MAAA;MAAIC,EAAA,MACnDC,EAAGF,EAAA,IAAI,KAAK,IAAG,KACf,CAAA;AAAA,MAAWA,EAAA,IAAI,aAAfF,EAAgG,OAAA;AAAA;QAA3E,UAAM,QAAeE,MAAI,KAAK,SAAS,CAAA;AAAA,QAAG,SAAKG,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAC,EAAA,MAAaX,EAAOO,EAAA,GAAG,GAAA,CAAA,MAAA,CAAA;AAAA,MAAA;;;;"}
@@ -1,29 +1,29 @@
1
- import { defineComponent as t, ref as l, createElementBlock as s, openBlock as n, normalizeStyle as c, normalizeClass as a, renderSlot as f, nextTick as p } from "vue";
2
- import { tapIf as m } from "@milaboratories/helpers";
3
- const _ = /* @__PURE__ */ t({
1
+ import { defineComponent as l, ref as n, createElementBlock as s, openBlock as c, normalizeStyle as a, normalizeClass as f, renderSlot as m, nextTick as d } from "vue";
2
+ import { tapIf as i } from "@milaboratories/helpers";
3
+ const k = /* @__PURE__ */ l({
4
4
  __name: "TrBody",
5
5
  props: {
6
6
  row: {}
7
7
  },
8
- setup(d) {
9
- const o = l(), r = () => {
10
- p().then(() => {
11
- m(o.value, (e) => e.scrollLeft = 0);
8
+ setup(t) {
9
+ const o = n(), r = () => {
10
+ d().then(() => {
11
+ i(o.value, (e) => e.scrollLeft = 0);
12
12
  });
13
13
  };
14
- return (e, i) => (n(), s("div", {
14
+ return (e, p) => (c(), s("div", {
15
15
  ref_key: "trRef",
16
16
  ref: o,
17
- class: a(["tr-body", { selected: e.row.selected }]),
17
+ class: f(["tr-body", { selected: t.row.selected }]),
18
18
  scroll: "no",
19
- style: c(e.row.style),
19
+ style: a(t.row.style),
20
20
  onScroll: r
21
21
  }, [
22
- f(e.$slots, "default")
22
+ m(e.$slots, "default")
23
23
  ], 38));
24
24
  }
25
25
  });
26
26
  export {
27
- _ as default
27
+ k as default
28
28
  };
29
29
  //# sourceMappingURL=TrBody.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TrBody.vue.js","sources":["../../../src/components/DataTable/TrBody.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { ref, nextTick } from 'vue';\nimport type { TableRow } from './types';\nimport { tapIf } from '@milaboratories/helpers';\n\ndefineProps<{\n row: TableRow;\n}>();\n\nconst trRef = ref<HTMLElement>();\n\n// hook to prevent weird left scroll after child repaint (@TODO)\nconst onScroll = () => {\n nextTick().then(() => {\n tapIf(trRef.value, (el) => (el.scrollLeft = 0));\n });\n};\n</script>\n\n<template>\n <div ref=\"trRef\" class=\"tr-body\" scroll=\"no\" :style=\"row.style\" :class=\"{ selected: row.selected }\" @scroll=\"onScroll\">\n <slot />\n </div>\n</template>\n"],"names":["trRef","ref","onScroll","nextTick","tapIf","el"],"mappings":";;;;;;;;AASA,UAAMA,IAAQC,EAAA,GAGRC,IAAW,MAAM;AACrB,MAAAC,EAAA,EAAW,KAAK,MAAM;AACpB,QAAAC,EAAMJ,EAAM,OAAO,CAACK,MAAQA,EAAG,aAAa,CAAE;AAAA,MAChD,CAAC;AAAA,IACH;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"TrBody.vue.js","sources":["../../../src/components/DataTable/TrBody.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { ref, nextTick } from 'vue';\nimport type { TableRow } from './types';\nimport { tapIf } from '@milaboratories/helpers';\n\ndefineProps<{\n row: TableRow;\n}>();\n\nconst trRef = ref<HTMLElement>();\n\n// hook to prevent weird left scroll after child repaint (@TODO)\nconst onScroll = () => {\n nextTick().then(() => {\n tapIf(trRef.value, (el) => (el.scrollLeft = 0));\n });\n};\n</script>\n\n<template>\n <div ref=\"trRef\" class=\"tr-body\" scroll=\"no\" :style=\"row.style\" :class=\"{ selected: row.selected }\" @scroll=\"onScroll\">\n <slot />\n </div>\n</template>\n"],"names":["trRef","ref","onScroll","nextTick","tapIf","el","_createElementBlock","_normalizeClass","__props","_normalizeStyle","_renderSlot","_ctx"],"mappings":";;;;;;;;AASA,UAAMA,IAAQC,EAAA,GAGRC,IAAW,MAAM;AACrB,MAAAC,EAAA,EAAW,KAAK,MAAM;AACpB,QAAAC,EAAMJ,EAAM,OAAO,CAACK,MAAQA,EAAG,aAAa,CAAE;AAAA,MAChD,CAAC;AAAA,IACH;2BAIEC,EAEM,OAAA;AAAA,eAFG;AAAA,MAAJ,KAAIN;AAAA,MAAQ,OAAKO,EAAA,CAAC,WAAS,EAAA,UAAoDC,EAAA,IAAI,SAAA,CAAQ,CAAA;AAAA,MAA/D,QAAO;AAAA,MAAM,OAAKC,EAAED,EAAA,IAAI,KAAK;AAAA,MAAuC,UAAAN;AAAA,IAAA;MACnGQ,EAAQC,EAAA,QAAA,SAAA;AAAA,IAAA;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"TrHead.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
1
+ {"version":3,"file":"TrHead.vue.js","sources":["../../../src/components/DataTable/TrHead.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n//\n</script>\n\n<template>\n <div class=\"tr-head\">\n <slot />\n </div>\n</template>\n"],"names":["_openBlock","_createElementBlock","_hoisted_1","_renderSlot","_ctx"],"mappings":";;;;sBAKEA,EAAA,GAAAC,EAEM,OAFNC,GAEM;AAAA,MADJC,EAAQC,EAAA,QAAA,SAAA;AAAA,IAAA;;;"}
@@ -8,7 +8,7 @@ const r = {}, d = {
8
8
  xmlns: "http://www.w3.org/2000/svg"
9
9
  };
10
10
  function i(V, e) {
11
- return n(), o("svg", d, e[0] || (e[0] = [
11
+ return n(), o("svg", d, [...e[0] || (e[0] = [
12
12
  l("path", {
13
13
  "fill-rule": "evenodd",
14
14
  "clip-rule": "evenodd",
@@ -21,7 +21,7 @@ function i(V, e) {
21
21
  d: "M41.5 9C41.5 7.61929 40.3807 6.5 39 6.5H9C7.61929 6.5 6.5 7.61929 6.5 9V19.5H9.5H28.5V38.5V41.5H39C40.3807 41.5 41.5 40.3807 41.5 39V9ZM38.5 9.5V16.5H31.5V9.5H38.5ZM38.5 38.5V19.5H31.5V38.5H38.5ZM9.5 9.5V16.5H28.5V9.5H9.5Z",
22
22
  fill: "#CFD1DB"
23
23
  }, null, -1)
24
- ]));
24
+ ])]);
25
25
  }
26
26
  const f = /* @__PURE__ */ t(r, [["render", i]]);
27
27
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"TableIcon.vue.js","sources":["../../../../src/components/DataTable/assets/TableIcon.vue"],"sourcesContent":["<template>\n <svg width=\"48\" height=\"48\" viewBox=\"0 0 48 48\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M24 41.5H9C7.61929 41.5 6.5 40.3807 6.5 39V24H9.5V38.5H24V41.5Z\" fill=\"#CFD1DB\" />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M41.5 9C41.5 7.61929 40.3807 6.5 39 6.5H9C7.61929 6.5 6.5 7.61929 6.5 9V19.5H9.5H28.5V38.5V41.5H39C40.3807 41.5 41.5 40.3807 41.5 39V9ZM38.5 9.5V16.5H31.5V9.5H38.5ZM38.5 38.5V19.5H31.5V38.5H38.5ZM9.5 9.5V16.5H28.5V9.5H9.5Z\"\n fill=\"#CFD1DB\"\n />\n </svg>\n</template>\n"],"names":["_hoisted_1","_sfc_render","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode"],"mappings":";;cACOA,IAAU;AAAA,EAAC;EAAY;EAAoB,SAAK;AAAA,EAAO;;;AAA5D,SAAAC,EAAAC,GAAAC,GAAA;SACEC,EAAA,GAAmIC,EAAA,OAAAL,GAAAG,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,IAA7HG,EAAU,QAAS;AAAA,MAAC,aAAU;AAAA,MAAU,aAAE;AAAA,MAAkE,GAAA;AAAA;OAClH,MAAA,EAAA;AAAA,IACEA,EAAU,QAAS;AAAA,MACnB,aAAU;AAAA,MACV,aAAE;AAAA,MACF,GAAA;AAAA;;;;;"}
1
+ {"version":3,"file":"TableIcon.vue.js","sources":["../../../../src/components/DataTable/assets/TableIcon.vue"],"sourcesContent":["<template>\n <svg width=\"48\" height=\"48\" viewBox=\"0 0 48 48\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M24 41.5H9C7.61929 41.5 6.5 40.3807 6.5 39V24H9.5V38.5H24V41.5Z\" fill=\"#CFD1DB\" />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M41.5 9C41.5 7.61929 40.3807 6.5 39 6.5H9C7.61929 6.5 6.5 7.61929 6.5 9V19.5H9.5H28.5V38.5V41.5H39C40.3807 41.5 41.5 40.3807 41.5 39V9ZM38.5 9.5V16.5H31.5V9.5H38.5ZM38.5 38.5V19.5H31.5V38.5H38.5ZM9.5 9.5V16.5H28.5V9.5H9.5Z\"\n fill=\"#CFD1DB\"\n />\n </svg>\n</template>\n"],"names":["_hoisted_1","_sfc_render","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode"],"mappings":";;cACOA,IAAU;AAAA,EAAC;EAAY;EAAoB,SAAK;AAAA,EAAO;;;AAA5D,SAAAC,EAAAC,GAAAC,GAAA;SACEC,EAAA,GAAmIC,EAAA,OAAAL,GAAA,CAAA,GAAAG,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,IAA7HG,EAAU,QAAS;AAAA,MAAC,aAAU;AAAA,MAAU,aAAE;AAAA,MAAkE,GAAA;AAAA;OAClH,MAAA,EAAA;AAAA,IACEA,EAAU,QAAS;AAAA,MACnB,aAAU;AAAA,MACV,aAAE;AAAA,MACF,GAAA;AAAA;;;;;"}
@@ -1,5 +1,5 @@
1
- import { defineComponent as _, computed as i, createElementBlock as s, openBlock as o, normalizeClass as n, createCommentVNode as l, createElementVNode as c, toDisplayString as d } from "vue";
2
- import u from "../assets/images/24_checkbox-light-enabled-unchecked.svg.js";
1
+ import { defineComponent as u, computed as l, createElementBlock as o, openBlock as i, normalizeClass as n, createCommentVNode as c, createElementVNode as d, toDisplayString as r } from "vue";
2
+ import _ from "../assets/images/24_checkbox-light-enabled-unchecked.svg.js";
3
3
  import h from "../assets/images/24_checkbox-light-enabled-checked.svg.js";
4
4
  const f = ["innerHTML"], k = { class: "dropdown-list-item__title-container" }, v = { class: "dropdown-list-item__title text-s" }, x = {
5
5
  key: 0,
@@ -7,7 +7,7 @@ const f = ["innerHTML"], k = { class: "dropdown-list-item__title-container" }, v
7
7
  }, C = {
8
8
  key: 1,
9
9
  class: "dropdown-list-item__icon flex-self-start"
10
- }, B = /* @__PURE__ */ _({
10
+ }, B = /* @__PURE__ */ u({
11
11
  __name: "DropdownListItem",
12
12
  props: {
13
13
  option: {},
@@ -16,27 +16,27 @@ const f = ["innerHTML"], k = { class: "dropdown-list-item__title-container" }, v
16
16
  isHovered: { type: Boolean, default: !1 },
17
17
  useCheckbox: { type: Boolean, default: !1 }
18
18
  },
19
- setup(r) {
20
- const t = r, a = i(() => {
21
- const e = [];
22
- return t.size === "small" && e.push("dropdown-list-item__small"), t.isSelected && e.push("dropdown-list-item__selected"), t.isHovered && e.push("hovered-item"), e.join(" ");
23
- }), p = i(() => {
24
- const e = ["dropdown-list-item__checkbox", "flex-self-start"];
25
- return t.isSelected && e.push("checked"), e.join(" ");
26
- }), m = i(() => t.isSelected ? h : u);
27
- return (e, b) => (o(), s("div", {
19
+ setup(s) {
20
+ const e = s, a = l(() => {
21
+ const t = [];
22
+ return e.size === "small" && t.push("dropdown-list-item__small"), e.isSelected && t.push("dropdown-list-item__selected"), e.isHovered && t.push("hovered-item"), t.join(" ");
23
+ }), p = l(() => {
24
+ const t = ["dropdown-list-item__checkbox", "flex-self-start"];
25
+ return e.isSelected && t.push("checked"), t.join(" ");
26
+ }), m = l(() => e.isSelected ? h : _);
27
+ return (t, b) => (i(), o("div", {
28
28
  class: n([a.value, "dropdown-list-item"])
29
29
  }, [
30
- t.useCheckbox ? (o(), s("div", {
30
+ e.useCheckbox ? (i(), o("div", {
31
31
  key: 0,
32
32
  class: n(p.value),
33
33
  innerHTML: m.value
34
- }, null, 10, f)) : l("", !0),
35
- c("div", k, [
36
- c("div", v, d(e.option.label), 1),
37
- e.option.description ? (o(), s("div", x, d(e.option.description), 1)) : l("", !0)
34
+ }, null, 10, f)) : c("", !0),
35
+ d("div", k, [
36
+ d("div", v, r(s.option.label), 1),
37
+ s.option.description ? (i(), o("div", x, r(s.option.description), 1)) : c("", !0)
38
38
  ]),
39
- !t.useCheckbox && t.isSelected ? (o(), s("div", C)) : l("", !0)
39
+ !e.useCheckbox && e.isSelected ? (i(), o("div", C)) : c("", !0)
40
40
  ], 2));
41
41
  }
42
42
  });
@@ -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"],"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;;;;;;;;;;;;;;;;;"}
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 +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"],"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;;;;;;;;;;;;;"}
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.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"],"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
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;;;;"}
@@ -4,7 +4,7 @@ const T = /* @__PURE__ */ d({
4
4
  __name: "LongText",
5
5
  setup(k) {
6
6
  f((e) => ({
7
- "5deba9de": c.value
7
+ v5deba9de: c.value
8
8
  }));
9
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(() => {
10
10
  var e;
@@ -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"],"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;;;;;;;;;;;;;;;;;"}
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,4 +1,4 @@
1
- (function(){"use strict";try{if(typeof document<"u"){var t=document.createElement("style");t.appendChild(document.createTextNode(".ui-lt-container{min-width:0;white-space:nowrap;overflow:hidden;position:relative;border-radius:5px}.ui-lt-container span{display:inline-block;overflow:hidden;text-overflow:ellipsis;width:100%;vertical-align:bottom;pointer-events:all!important}.ui-lt-container .ui-lt-animate{position:relative;animation:left-to-right var(--5deba9de) infinite alternate linear;overflow:unset!important;text-overflow:unset!important;width:fit-content!important}@keyframes left-to-right{0%{transform:translate(0);left:0%}to{transform:translate(-101%);left:101%}}")),document.head.appendChild(t)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
1
+ (function(){"use strict";try{if(typeof document<"u"){var t=document.createElement("style");t.appendChild(document.createTextNode(".ui-lt-container{min-width:0;white-space:nowrap;overflow:hidden;position:relative;border-radius:5px}.ui-lt-container span{display:inline-block;overflow:hidden;text-overflow:ellipsis;width:100%;vertical-align:bottom;pointer-events:all!important}.ui-lt-container .ui-lt-animate{position:relative;animation:left-to-right var(--v5deba9de) infinite alternate linear;overflow:unset!important;text-overflow:unset!important;width:fit-content!important}@keyframes left-to-right{0%{transform:translate(0);left:0%}to{transform:translate(-101%);left:101%}}")),document.head.appendChild(t)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
2
2
  import o from "./LongText.vue.js";
3
3
 
4
4
  export {
@@ -0,0 +1,27 @@
1
+ import { defineComponent as n, createBlock as r, openBlock as a, Transition as s, withCtx as p, renderSlot as c } from "vue";
2
+ const f = /* @__PURE__ */ n({
3
+ __name: "ExpandTransition",
4
+ setup(l) {
5
+ const t = (e) => {
6
+ e.classList.add("expand-collapse-fix"), e.style.setProperty("--component-height", e.scrollHeight + "px");
7
+ }, o = (e) => {
8
+ e.style.removeProperty("--component-height"), e.classList.remove("expand-collapse-fix");
9
+ };
10
+ return (e, i) => (a(), r(s, {
11
+ name: "expand-collapse",
12
+ onEnter: t,
13
+ onLeave: t,
14
+ onAfterEnter: o,
15
+ onAfterLeave: o
16
+ }, {
17
+ default: p(() => [
18
+ c(e.$slots, "default")
19
+ ]),
20
+ _: 3
21
+ }));
22
+ }
23
+ });
24
+ export {
25
+ f as default
26
+ };
27
+ //# sourceMappingURL=ExpandTransition.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpandTransition.vue.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 +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"],"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;;;;;;;;;;;;;;;"}
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 +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"],"mappings":";;;;;;;;;;;AAGA,UAAMA,IAAQC,EAAmBC,GAAA,YAAC,GAE5BC,IAAQD;AAOd,WAAAE,EAAQ,sBAAsBJ,CAAK,GACnCI,EAAQ,sBAAsBC,EAAMF,CAAK,CAAC;;;;;;"}
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;;;"}