@milaboratories/uikit 2.6.1 → 2.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (215) hide show
  1. package/.turbo/turbo-build.log +143 -143
  2. package/.turbo/turbo-type-check.log +1 -1
  3. package/CHANGELOG.md +14 -0
  4. package/dist/base/BtnBase.vue.js +18 -18
  5. package/dist/base/BtnBase.vue.js.map +1 -1
  6. package/dist/components/ContextProvider.vue.js.map +1 -1
  7. package/dist/components/DataTable/BaseCellComponent.vue.js +20 -20
  8. package/dist/components/DataTable/BaseCellComponent.vue.js.map +1 -1
  9. package/dist/components/DataTable/ColumnCaret.vue.js +6 -6
  10. package/dist/components/DataTable/ColumnCaret.vue.js.map +1 -1
  11. package/dist/components/DataTable/ColumnsCommandMenu.vue.js.map +1 -1
  12. package/dist/components/DataTable/RowsCommandMenu.vue.js.map +1 -1
  13. package/dist/components/DataTable/TScroll.vue.js +12 -12
  14. package/dist/components/DataTable/TScroll.vue.js.map +1 -1
  15. package/dist/components/DataTable/TableComponent.vue.js +5 -3
  16. package/dist/components/DataTable/TableComponent.vue.js.map +1 -1
  17. package/dist/components/DataTable/TdCell.vue.js +36 -36
  18. package/dist/components/DataTable/TdCell.vue.js.map +1 -1
  19. package/dist/components/DataTable/ThCell.vue.js +27 -27
  20. package/dist/components/DataTable/ThCell.vue.js.map +1 -1
  21. package/dist/components/DataTable/TrBody.vue.js +12 -12
  22. package/dist/components/DataTable/TrBody.vue.js.map +1 -1
  23. package/dist/components/DataTable/TrHead.vue.js.map +1 -1
  24. package/dist/components/DataTable/assets/TableIcon.vue.js +2 -2
  25. package/dist/components/DataTable/assets/TableIcon.vue.js.map +1 -1
  26. package/dist/components/DropdownListItem.vue.js +18 -18
  27. package/dist/components/DropdownListItem.vue.js.map +1 -1
  28. package/dist/components/HScroll.vue.js.map +1 -1
  29. package/dist/components/InputRange.vue.js.map +1 -1
  30. package/dist/components/LongText.vue.js +1 -1
  31. package/dist/components/LongText.vue.js.map +1 -1
  32. package/dist/components/LongText.vue3.js +1 -1
  33. package/dist/components/PlAccordion/ExpandTransition.vue.js.map +1 -1
  34. package/dist/components/PlAccordion/ExpandTransition.vue2.js.map +1 -1
  35. package/dist/components/PlAccordion/ExpandTransition.vue3.js +1 -1
  36. package/dist/components/PlAccordion/PlAccordion.vue.js.map +1 -1
  37. package/dist/components/PlAccordion/PlAccordionSection.vue2.js +21 -21
  38. package/dist/components/PlAccordion/PlAccordionSection.vue2.js.map +1 -1
  39. package/dist/components/PlAlert/PlAlert.vue.js +23 -23
  40. package/dist/components/PlAlert/PlAlert.vue.js.map +1 -1
  41. package/dist/components/PlAutocomplete/PlAutocomplete.vue.d.ts +4 -0
  42. package/dist/components/PlAutocomplete/PlAutocomplete.vue.js +112 -106
  43. package/dist/components/PlAutocomplete/PlAutocomplete.vue.js.map +1 -1
  44. package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue.d.ts +4 -0
  45. package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue.js +100 -94
  46. package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue.js.map +1 -1
  47. package/dist/components/PlBtnAccent/PlBtnAccent.vue.js.map +1 -1
  48. package/dist/components/PlBtnDanger/PlBtnDanger.vue.js.map +1 -1
  49. package/dist/components/PlBtnGhost/PlBtnGhost.vue.js +21 -21
  50. package/dist/components/PlBtnGhost/PlBtnGhost.vue.js.map +1 -1
  51. package/dist/components/PlBtnGroup/PlBtnGroup.vue.js +34 -34
  52. package/dist/components/PlBtnGroup/PlBtnGroup.vue.js.map +1 -1
  53. package/dist/components/PlBtnLink/PlBtnLink.vue.js +12 -12
  54. package/dist/components/PlBtnLink/PlBtnLink.vue.js.map +1 -1
  55. package/dist/components/PlBtnPrimary/PlBtnPrimary.vue.js.map +1 -1
  56. package/dist/components/PlBtnSecondary/PlBtnSecondary.vue.js.map +1 -1
  57. package/dist/components/PlBtnSplit/PlBtnSplit.vue.js +31 -31
  58. package/dist/components/PlBtnSplit/PlBtnSplit.vue.js.map +1 -1
  59. package/dist/components/PlChartHistogram/PlChartHistogram.vue2.js +18 -18
  60. package/dist/components/PlChartHistogram/PlChartHistogram.vue2.js.map +1 -1
  61. package/dist/components/PlChartStackedBar/Legends.vue2.js.map +1 -1
  62. package/dist/components/PlChartStackedBar/PlChartStackedBar.vue2.js +15 -15
  63. package/dist/components/PlChartStackedBar/PlChartStackedBar.vue2.js.map +1 -1
  64. package/dist/components/PlChartStackedBar/PlChartStackedBarCompact.vue2.js.map +1 -1
  65. package/dist/components/PlChartStackedBar/StackedRow.vue2.js.map +1 -1
  66. package/dist/components/PlChartStackedBar/StackedRowCompact.vue2.js.map +1 -1
  67. package/dist/components/PlCheckbox/PlCheckbox.vue.js +13 -13
  68. package/dist/components/PlCheckbox/PlCheckbox.vue.js.map +1 -1
  69. package/dist/components/PlCheckbox/PlCheckboxBase.vue.js +6 -6
  70. package/dist/components/PlCheckbox/PlCheckboxBase.vue.js.map +1 -1
  71. package/dist/components/PlCheckboxGroup/PlCheckboxGroup.vue.js +28 -28
  72. package/dist/components/PlCheckboxGroup/PlCheckboxGroup.vue.js.map +1 -1
  73. package/dist/components/PlChip/PlChip.vue.js +20 -20
  74. package/dist/components/PlChip/PlChip.vue.js.map +1 -1
  75. package/dist/components/PlClipboard/PlClipboard.vue2.js.map +1 -1
  76. package/dist/components/PlConfirmDialog.vue.js +14 -14
  77. package/dist/components/PlConfirmDialog.vue.js.map +1 -1
  78. package/dist/components/PlDialogModal/PlDialogModal.vue.js +30 -30
  79. package/dist/components/PlDialogModal/PlDialogModal.vue.js.map +1 -1
  80. package/dist/components/PlDropdown/OptionList.vue.js +40 -40
  81. package/dist/components/PlDropdown/OptionList.vue.js.map +1 -1
  82. package/dist/components/PlDropdown/PlDropdown.vue.d.ts +8 -0
  83. package/dist/components/PlDropdown/PlDropdown.vue.js +102 -95
  84. package/dist/components/PlDropdown/PlDropdown.vue.js.map +1 -1
  85. package/dist/components/PlDropdownLegacy/PlDropdownLegacy.vue.js +95 -93
  86. package/dist/components/PlDropdownLegacy/PlDropdownLegacy.vue.js.map +1 -1
  87. package/dist/components/PlDropdownLine/PlDropdownLine.vue.d.ts +1 -1
  88. package/dist/components/PlDropdownLine/PlDropdownLine.vue.js +4 -4
  89. package/dist/components/PlDropdownLine/PlDropdownLine.vue.js.map +1 -1
  90. package/dist/components/PlDropdownLine/ResizableInput.vue.js +12 -12
  91. package/dist/components/PlDropdownLine/ResizableInput.vue.js.map +1 -1
  92. package/dist/components/PlDropdownMulti/PlDropdownMulti.vue.d.ts +4 -0
  93. package/dist/components/PlDropdownMulti/PlDropdownMulti.vue.js +88 -82
  94. package/dist/components/PlDropdownMulti/PlDropdownMulti.vue.js.map +1 -1
  95. package/dist/components/PlDropdownMultiRef/PlDropdownMultiRef.vue.d.ts +1 -1
  96. package/dist/components/PlDropdownMultiRef/PlDropdownMultiRef.vue.js.map +1 -1
  97. package/dist/components/PlDropdownRef/PlDropdownRef.vue.js +11 -11
  98. package/dist/components/PlDropdownRef/PlDropdownRef.vue.js.map +1 -1
  99. package/dist/components/PlEditableTitle/PlEditableTitle.vue.d.ts +1 -1
  100. package/dist/components/PlEditableTitle/PlEditableTitle.vue.js +36 -36
  101. package/dist/components/PlEditableTitle/PlEditableTitle.vue.js.map +1 -1
  102. package/dist/components/PlElementList/PlElementList.vue.d.ts +20 -0
  103. package/dist/components/PlElementList/PlElementList.vue2.js +180 -135
  104. package/dist/components/PlElementList/PlElementList.vue2.js.map +1 -1
  105. package/dist/components/PlElementList/PlElementListItem.vue.d.ts +20 -0
  106. package/dist/components/PlElementList/PlElementListItem.vue2.js +101 -76
  107. package/dist/components/PlElementList/PlElementListItem.vue2.js.map +1 -1
  108. package/dist/components/PlErrorAlert/PlErrorAlert.vue2.js.map +1 -1
  109. package/dist/components/PlErrorBoundary/PlErrorBoundary.vue.js.map +1 -1
  110. package/dist/components/PlFileDialog/Local.vue.js +24 -24
  111. package/dist/components/PlFileDialog/Local.vue.js.map +1 -1
  112. package/dist/components/PlFileDialog/PlFileDialog.vue.js +38 -38
  113. package/dist/components/PlFileDialog/PlFileDialog.vue.js.map +1 -1
  114. package/dist/components/PlFileDialog/Remote.vue.js +2 -2
  115. package/dist/components/PlFileDialog/Remote.vue.js.map +1 -1
  116. package/dist/components/PlFileDialog/Shortcuts.vue2.js +4 -4
  117. package/dist/components/PlFileDialog/Shortcuts.vue2.js.map +1 -1
  118. package/dist/components/PlFileInput/PlFileInput.vue.d.ts +1 -1
  119. package/dist/components/PlFileInput/PlFileInput.vue.js +78 -76
  120. package/dist/components/PlFileInput/PlFileInput.vue.js.map +1 -1
  121. package/dist/components/PlIcon16/PlIcon16.vue2.js.map +1 -1
  122. package/dist/components/PlIcon24/PlIcon24.vue2.js.map +1 -1
  123. package/dist/components/PlLoaderCircular/PlLoaderCircular.vue.js +11 -11
  124. package/dist/components/PlLoaderCircular/PlLoaderCircular.vue.js.map +1 -1
  125. package/dist/components/PlLogView/PlLogView.vue.js +62 -60
  126. package/dist/components/PlLogView/PlLogView.vue.js.map +1 -1
  127. package/dist/components/PlNotificationAlert/PlNotificationAlert.vue.js +22 -22
  128. package/dist/components/PlNotificationAlert/PlNotificationAlert.vue.js.map +1 -1
  129. package/dist/components/PlNumberField/PlNumberField.vue.d.ts +6 -1
  130. package/dist/components/PlNumberField/PlNumberField.vue.js +66 -60
  131. package/dist/components/PlNumberField/PlNumberField.vue.js.map +1 -1
  132. package/dist/components/PlProgressBar/PlProgressBar.vue.js +12 -12
  133. package/dist/components/PlProgressBar/PlProgressBar.vue.js.map +1 -1
  134. package/dist/components/PlProgressCell/PlProgressCell.vue.js +20 -20
  135. package/dist/components/PlProgressCell/PlProgressCell.vue.js.map +1 -1
  136. package/dist/components/PlRadio/PlRadio.vue2.js.map +1 -1
  137. package/dist/components/PlRadio/PlRadioGroup.vue2.js +8 -8
  138. package/dist/components/PlRadio/PlRadioGroup.vue2.js.map +1 -1
  139. package/dist/components/PlSearchField/PlSearchField.vue2.js +19 -19
  140. package/dist/components/PlSearchField/PlSearchField.vue2.js.map +1 -1
  141. package/dist/components/PlSectionSeparator/PlSectionSeparator.vue2.js +8 -8
  142. package/dist/components/PlSectionSeparator/PlSectionSeparator.vue2.js.map +1 -1
  143. package/dist/components/PlSidebar/PlSidebarGroup.vue2.js.map +1 -1
  144. package/dist/components/PlSidebar/PlSidebarItem.vue2.js.map +1 -1
  145. package/dist/components/PlSlideModal/PlPureSlideModal.vue.js +5 -3
  146. package/dist/components/PlSlideModal/PlPureSlideModal.vue.js.map +1 -1
  147. package/dist/components/PlSlideModal/PlSlideModal.vue2.js.map +1 -1
  148. package/dist/components/PlSplash/PlSplash.vue.js +16 -16
  149. package/dist/components/PlSplash/PlSplash.vue.js.map +1 -1
  150. package/dist/components/PlStatusTag/PlStatusTag.vue.js +7 -7
  151. package/dist/components/PlStatusTag/PlStatusTag.vue.js.map +1 -1
  152. package/dist/components/PlSvg/PlSvg.vue2.js.map +1 -1
  153. package/dist/components/PlTabs/PlTabs.vue.js +18 -18
  154. package/dist/components/PlTabs/PlTabs.vue.js.map +1 -1
  155. package/dist/components/PlTabs/Tab.vue.js +9 -9
  156. package/dist/components/PlTabs/Tab.vue.js.map +1 -1
  157. package/dist/components/PlTextArea/PlTextArea.vue.js +55 -53
  158. package/dist/components/PlTextArea/PlTextArea.vue.js.map +1 -1
  159. package/dist/components/PlTextField/PlTextField.vue.d.ts +4 -0
  160. package/dist/components/PlTextField/PlTextField.vue.js +66 -60
  161. package/dist/components/PlTextField/PlTextField.vue.js.map +1 -1
  162. package/dist/components/PlToggleSwitch/PlToggleSwitch.vue.js +14 -14
  163. package/dist/components/PlToggleSwitch/PlToggleSwitch.vue.js.map +1 -1
  164. package/dist/components/PlTooltip/Beak.vue.js +2 -2
  165. package/dist/components/PlTooltip/Beak.vue.js.map +1 -1
  166. package/dist/components/PlTooltip/PlTooltip.vue.js +50 -50
  167. package/dist/components/PlTooltip/PlTooltip.vue.js.map +1 -1
  168. package/dist/components/Scrollable.vue.js.map +1 -1
  169. package/dist/components/Slider.vue.js +35 -35
  170. package/dist/components/Slider.vue.js.map +1 -1
  171. package/dist/components/SliderRange.vue.js +47 -47
  172. package/dist/components/SliderRange.vue.js.map +1 -1
  173. package/dist/components/SliderRangeTriple.vue.js +47 -47
  174. package/dist/components/SliderRangeTriple.vue.js.map +1 -1
  175. package/dist/components/TabItem.vue.js.map +1 -1
  176. package/dist/components/ThemeSwitcher.vue.js +2 -2
  177. package/dist/components/ThemeSwitcher.vue.js.map +1 -1
  178. package/dist/components/TransitionSlidePanel.vue.js.map +1 -1
  179. package/dist/components/VScroll.vue.js.map +1 -1
  180. package/dist/components/contextMenu/Menu.vue2.js +12 -12
  181. package/dist/components/contextMenu/Menu.vue2.js.map +1 -1
  182. package/dist/composition/filters/metadata.d.ts +205 -0
  183. package/dist/composition/filters/metadata.js +129 -19
  184. package/dist/composition/filters/metadata.js.map +1 -1
  185. package/dist/index.js +1 -1
  186. package/dist/layout/PlBlockPage/PlBlockPage.vue.js +27 -27
  187. package/dist/layout/PlBlockPage/PlBlockPage.vue.js.map +1 -1
  188. package/dist/layout/PlContainer/PlContainer.vue.js +10 -10
  189. package/dist/layout/PlContainer/PlContainer.vue.js.map +1 -1
  190. package/dist/layout/PlGrid/PlGrid.vue.js.map +1 -1
  191. package/dist/layout/PlRow/PlRow.vue.js +8 -8
  192. package/dist/layout/PlRow/PlRow.vue.js.map +1 -1
  193. package/dist/layout/PlSpacer/PlSpacer.vue.js.map +1 -1
  194. package/dist/utils/DoubleContour.vue.d.ts +7 -1
  195. package/dist/utils/DoubleContour.vue.js +20 -13
  196. package/dist/utils/DoubleContour.vue.js.map +1 -1
  197. package/dist/utils/DoubleContour.vue3.js +7 -0
  198. package/dist/utils/DoubleContour.vue3.js.map +1 -0
  199. package/dist/utils/DropdownOverlay/DropdownOverlay.vue.js.map +1 -1
  200. package/dist/utils/PlCloseModalBtn.vue.js +2 -2
  201. package/dist/utils/PlCloseModalBtn.vue.js.map +1 -1
  202. package/dist/utils/TextLabel.vue.js.map +1 -1
  203. package/package.json +5 -5
  204. package/src/components/PlAutocomplete/PlAutocomplete.vue +6 -1
  205. package/src/components/PlAutocompleteMulti/PlAutocompleteMulti.vue +6 -1
  206. package/src/components/PlDropdown/PlDropdown.vue +12 -2
  207. package/src/components/PlDropdownMulti/PlDropdownMulti.vue +6 -1
  208. package/src/components/PlElementList/PlElementList.vue +40 -6
  209. package/src/components/PlElementList/PlElementListItem.vue +64 -47
  210. package/src/components/PlNumberField/PlNumberField.vue +4 -1
  211. package/src/components/PlTextField/PlTextField.vue +5 -1
  212. package/src/composition/filters/metadata.ts +105 -0
  213. package/src/utils/DoubleContour.vue +68 -2
  214. package/dist/utils/DoubleContour.vue2.js +0 -7
  215. package/dist/utils/DoubleContour.vue2.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"PlIcon16.vue2.js","sources":["../../../src/components/PlIcon16/PlIcon16.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { MaskIconName16, Size } from '../../types';\nimport { PlSvg } from '../PlSvg';\nimport { computed } from 'vue';\n\nconst props = defineProps<{\n name: MaskIconName16;\n size?: number | string | Size;\n color?: string | string[];\n stroke?: string | string[];\n}>();\n\nconst size = computed(() => {\n if (typeof props.size === 'string') {\n if (props.size === 'small') return 12;\n if (props.size === 'medium') return 16;\n if (props.size === 'large') return 24;\n }\n return props.size ?? 16;\n});\n</script>\n\n<template>\n <PlSvg\n :name=\"`16_${props.name}`\"\n :class=\"[$style.icon, 'icon-16', 'mask-16', `icon-${props.name}`, `mask-${props.name}`]\"\n :width=\"size\"\n :height=\"size\"\n :color=\"props.color\"\n :stroke=\"props.stroke\"\n />\n</template>\n\n<style module>\n.icon {\n /* pass color to svg variable */\n --svg-fill-0: var(--icon-color, var(--mask-icon-bg-color));\n --svg-fill-1: var(--icon-color, var(--mask-icon-bg-color));\n --svg-fill-2: var(--icon-color, var(--mask-icon-bg-color));\n display: inline-block;\n}\n</style>\n"],"names":["props","__props","size","computed"],"mappings":";;;;;;;;;;;AAKA,UAAMA,IAAQC,GAORC,IAAOC,EAAS,MAAM;AAC1B,UAAI,OAAOH,EAAM,QAAS,UAAU;AAClC,YAAIA,EAAM,SAAS,QAAS,QAAO;AACnC,YAAIA,EAAM,SAAS,SAAU,QAAO;AACpC,YAAIA,EAAM,SAAS,QAAS,QAAO;AAAA,MACrC;AACA,aAAOA,EAAM,QAAQ;AAAA,IACvB,CAAC;;;;;;;;;;;"}
1
+ {"version":3,"file":"PlIcon16.vue2.js","sources":["../../../src/components/PlIcon16/PlIcon16.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { MaskIconName16, Size } from '../../types';\nimport { PlSvg } from '../PlSvg';\nimport { computed } from 'vue';\n\nconst props = defineProps<{\n name: MaskIconName16;\n size?: number | string | Size;\n color?: string | string[];\n stroke?: string | string[];\n}>();\n\nconst size = computed(() => {\n if (typeof props.size === 'string') {\n if (props.size === 'small') return 12;\n if (props.size === 'medium') return 16;\n if (props.size === 'large') return 24;\n }\n return props.size ?? 16;\n});\n</script>\n\n<template>\n <PlSvg\n :name=\"`16_${props.name}`\"\n :class=\"[$style.icon, 'icon-16', 'mask-16', `icon-${props.name}`, `mask-${props.name}`]\"\n :width=\"size\"\n :height=\"size\"\n :color=\"props.color\"\n :stroke=\"props.stroke\"\n />\n</template>\n\n<style module>\n.icon {\n /* pass color to svg variable */\n --svg-fill-0: var(--icon-color, var(--mask-icon-bg-color));\n --svg-fill-1: var(--icon-color, var(--mask-icon-bg-color));\n --svg-fill-2: var(--icon-color, var(--mask-icon-bg-color));\n display: inline-block;\n}\n</style>\n"],"names":["props","__props","size","computed","_createBlock","_unref","PlSvg","_normalizeClass","$style"],"mappings":";;;;;;;;;;;AAKA,UAAMA,IAAQC,GAORC,IAAOC,EAAS,MAAM;AAC1B,UAAI,OAAOH,EAAM,QAAS,UAAU;AAClC,YAAIA,EAAM,SAAS,QAAS,QAAO;AACnC,YAAIA,EAAM,SAAS,SAAU,QAAO;AACpC,YAAIA,EAAM,SAAS,QAAS,QAAO;AAAA,MACrC;AACA,aAAOA,EAAM,QAAQ;AAAA,IACvB,CAAC;2BAICI,EAOEC,EAAAC,CAAA,GAAA;AAAA,MANC,MAAI,MAAQN,EAAM,IAAI;AAAA,MACtB,OAAKO,EAAA,CAAGC,EAAAA,OAAO,MAAI,WAAA,WAAA,QAAgCR,EAAM,IAAI,IAAA,QAAYA,EAAM,IAAI,EAAA,CAAA;AAAA,MACnF,OAAOE,EAAA;AAAA,MACP,QAAQA,EAAA;AAAA,MACR,OAAOF,EAAM;AAAA,MACb,QAAQA,EAAM;AAAA,IAAA;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PlIcon24.vue2.js","sources":["../../../src/components/PlIcon24/PlIcon24.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { MaskIconName24, Size } from '../../types';\nimport { PlSvg } from '../PlSvg';\nimport { computed } from 'vue';\n\nconst props = defineProps<{\n name: MaskIconName24;\n size?: number | string | Size;\n color?: string | string[];\n stroke?: string | string[];\n}>();\n\nconst size = computed(() => {\n if (typeof props.size === 'string') {\n if (props.size === 'small') return 16;\n if (props.size === 'medium') return 24;\n if (props.size === 'large') return 32;\n }\n return props.size ?? 24;\n});\n</script>\n\n<template>\n <PlSvg\n :name=\"`24_${props.name}`\"\n :class=\"['icon-24', 'mask-24', `icon-${props.name}`, `mask-${props.name}`, $style.icon]\"\n :width=\"size\"\n :height=\"size\"\n :color=\"props.color\"\n :stroke=\"props.stroke\"\n />\n</template>\n\n<style module>\n.icon {\n /* pass color to svg variable */\n --svg-fill-0: var(--icon-color, var(--mask-icon-bg-color));\n --svg-fill-1: var(--icon-color, var(--mask-icon-bg-color));\n --svg-fill-2: var(--icon-color, var(--mask-icon-bg-color));\n --svg-fill-3: var(--icon-color, var(--mask-icon-bg-color));\n --svg-fill-4: var(--icon-color, var(--mask-icon-bg-color));\n --svg-fill-5: var(--icon-color, var(--mask-icon-bg-color));\n --svg-fill-6: var(--icon-color, var(--mask-icon-bg-color));\n --svg-stroke-0: var(--icon-color, var(--mask-icon-bg-color));\n --svg-stroke-1: var(--icon-color, var(--mask-icon-bg-color));\n --svg-stroke-2: var(--icon-color, var(--mask-icon-bg-color));\n --svg-stroke-3: var(--icon-color, var(--mask-icon-bg-color));\n --svg-stroke-4: var(--icon-color, var(--mask-icon-bg-color));\n --svg-stroke-5: var(--icon-color, var(--mask-icon-bg-color));\n --svg-stroke-6: var(--icon-color, var(--mask-icon-bg-color));\n display: inline-block;\n}\n</style>\n"],"names":["props","__props","size","computed"],"mappings":";;;;;;;;;;;AAKA,UAAMA,IAAQC,GAORC,IAAOC,EAAS,MAAM;AAC1B,UAAI,OAAOH,EAAM,QAAS,UAAU;AAClC,YAAIA,EAAM,SAAS,QAAS,QAAO;AACnC,YAAIA,EAAM,SAAS,SAAU,QAAO;AACpC,YAAIA,EAAM,SAAS,QAAS,QAAO;AAAA,MACrC;AACA,aAAOA,EAAM,QAAQ;AAAA,IACvB,CAAC;;;;;;;;;;;"}
1
+ {"version":3,"file":"PlIcon24.vue2.js","sources":["../../../src/components/PlIcon24/PlIcon24.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { MaskIconName24, Size } from '../../types';\nimport { PlSvg } from '../PlSvg';\nimport { computed } from 'vue';\n\nconst props = defineProps<{\n name: MaskIconName24;\n size?: number | string | Size;\n color?: string | string[];\n stroke?: string | string[];\n}>();\n\nconst size = computed(() => {\n if (typeof props.size === 'string') {\n if (props.size === 'small') return 16;\n if (props.size === 'medium') return 24;\n if (props.size === 'large') return 32;\n }\n return props.size ?? 24;\n});\n</script>\n\n<template>\n <PlSvg\n :name=\"`24_${props.name}`\"\n :class=\"['icon-24', 'mask-24', `icon-${props.name}`, `mask-${props.name}`, $style.icon]\"\n :width=\"size\"\n :height=\"size\"\n :color=\"props.color\"\n :stroke=\"props.stroke\"\n />\n</template>\n\n<style module>\n.icon {\n /* pass color to svg variable */\n --svg-fill-0: var(--icon-color, var(--mask-icon-bg-color));\n --svg-fill-1: var(--icon-color, var(--mask-icon-bg-color));\n --svg-fill-2: var(--icon-color, var(--mask-icon-bg-color));\n --svg-fill-3: var(--icon-color, var(--mask-icon-bg-color));\n --svg-fill-4: var(--icon-color, var(--mask-icon-bg-color));\n --svg-fill-5: var(--icon-color, var(--mask-icon-bg-color));\n --svg-fill-6: var(--icon-color, var(--mask-icon-bg-color));\n --svg-stroke-0: var(--icon-color, var(--mask-icon-bg-color));\n --svg-stroke-1: var(--icon-color, var(--mask-icon-bg-color));\n --svg-stroke-2: var(--icon-color, var(--mask-icon-bg-color));\n --svg-stroke-3: var(--icon-color, var(--mask-icon-bg-color));\n --svg-stroke-4: var(--icon-color, var(--mask-icon-bg-color));\n --svg-stroke-5: var(--icon-color, var(--mask-icon-bg-color));\n --svg-stroke-6: var(--icon-color, var(--mask-icon-bg-color));\n display: inline-block;\n}\n</style>\n"],"names":["props","__props","size","computed","_createBlock","_unref","PlSvg","_normalizeClass","$style"],"mappings":";;;;;;;;;;;AAKA,UAAMA,IAAQC,GAORC,IAAOC,EAAS,MAAM;AAC1B,UAAI,OAAOH,EAAM,QAAS,UAAU;AAClC,YAAIA,EAAM,SAAS,QAAS,QAAO;AACnC,YAAIA,EAAM,SAAS,SAAU,QAAO;AACpC,YAAIA,EAAM,SAAS,QAAS,QAAO;AAAA,MACrC;AACA,aAAOA,EAAM,QAAQ;AAAA,IACvB,CAAC;2BAICI,EAOEC,EAAAC,CAAA,GAAA;AAAA,MANC,MAAI,MAAQN,EAAM,IAAI;AAAA,MACtB,OAAKO,EAAA,CAAA,WAAA,WAAA,QAAiCP,EAAM,IAAI,IAAA,QAAYA,EAAM,IAAI,IAAIQ,EAAAA,OAAO,IAAI,CAAA;AAAA,MACrF,OAAON,EAAA;AAAA,MACP,QAAQA,EAAA;AAAA,MACR,OAAOF,EAAM;AAAA,MACb,QAAQA,EAAM;AAAA,IAAA;;;"}
@@ -1,22 +1,22 @@
1
1
  (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode(".pl-loader-circular{position:relative;height:100%;display:flex;align-items:center;justify-content:center}.pl-loader-circular__svg{-webkit-animation:rotate 2s linear infinite;animation:rotate 2s linear infinite;height:100%;width:100%;-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center}.pl-loader-circular__svg-circle{stroke-dasharray:150,200;stroke-dashoffset:-10;-webkit-animation:dash 1.5s ease-in-out infinite,color 6s ease-in-out infinite;animation:dash 1.5s ease-in-out infinite,color 6s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35}to{stroke-dasharray:89,200;stroke-dashoffset:-124}}@keyframes color{0%{stroke:var(--ic-02)}40%{stroke:var(--ic-02)}66%{stroke:var(--ic-02)}80%,90%{stroke:var(--ic-02)}}")),document.head.appendChild(e)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
2
- import { defineComponent as i, createElementBlock as r, openBlock as l, createElementVNode as c, normalizeStyle as o } from "vue";
2
+ import { defineComponent as i, createElementBlock as c, openBlock as r, createElementVNode as l, normalizeStyle as t } from "vue";
3
3
 
4
- const s = { class: "pl-loader-circular" }, a = {
4
+ const a = { class: "pl-loader-circular" }, o = {
5
5
  class: "pl-loader-circular__svg",
6
6
  viewBox: "25 25 50 50"
7
- }, t = ["stroke"], m = /* @__PURE__ */ i({
7
+ }, s = ["stroke"], p = /* @__PURE__ */ i({
8
8
  __name: "PlLoaderCircular",
9
9
  props: {
10
10
  size: { default: "16" }
11
11
  },
12
- setup(n) {
13
- return (e, p) => (l(), r("div", s, [
14
- c("div", {
15
- style: o({ height: `${e.size}px`, width: `${e.size}px`, "--main-color": `${+e.size < 48 ? "var(--ic-01)" : "var(--ic-02)"}` }),
12
+ setup(e) {
13
+ return (n, d) => (r(), c("div", a, [
14
+ l("div", {
15
+ style: t({ height: `${e.size}px`, width: `${e.size}px`, "--main-color": `${+e.size < 48 ? "var(--ic-01)" : "var(--ic-02)"}` }),
16
16
  class: "pl-circle-loader__wrapper"
17
17
  }, [
18
- (l(), r("svg", a, [
19
- c("circle", {
18
+ (r(), c("svg", o, [
19
+ l("circle", {
20
20
  class: "pl-loader-circular__svg-circle",
21
21
  cx: "50",
22
22
  cy: "50",
@@ -24,13 +24,13 @@ const s = { class: "pl-loader-circular" }, a = {
24
24
  fill: "none",
25
25
  stroke: `${+e.size < 48 ? "var(--ic-01)" : "var(--ic-02)"}`,
26
26
  "stroke-width": "2"
27
- }, null, 8, t)
27
+ }, null, 8, s)
28
28
  ]))
29
29
  ], 4)
30
30
  ]));
31
31
  }
32
32
  });
33
33
  export {
34
- m as default
34
+ p as default
35
35
  };
36
36
  //# sourceMappingURL=PlLoaderCircular.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlLoaderCircular.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"PlLoaderCircular.vue.js","sources":["../../../src/components/PlLoaderCircular/PlLoaderCircular.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport './pl-loader-circular.scss';\n\nwithDefaults(defineProps<{\n size?: '16' | '24' | '48' | string;\n}>(), { size: '16' });\n</script>\n<template>\n <div class=\"pl-loader-circular\">\n <div :style=\"{height: `${size}px`, width: `${size}px`, '--main-color': `${+size < 48 ? 'var(--ic-01)' :'var(--ic-02)' }`}\" class=\"pl-circle-loader__wrapper\">\n <svg class=\"pl-loader-circular__svg\" viewBox=\"25 25 50 50\">\n <circle class=\"pl-loader-circular__svg-circle\" cx=\"50\" cy=\"50\" r=\"20\" fill=\"none\" :stroke=\"`${+size < 48 ? 'var(--ic-01)' :'var(--ic-02)' }`\" stroke-width=\"2\" />\n </svg>\n </div>\n </div>\n</template>\n"],"names":["_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_normalizeStyle","__props","_hoisted_2"],"mappings":";;;;;;;;;;;sBAQEA,EAAA,GAAAC,EAMM,OANNC,GAMM;AAAA,MALJC,EAIM,OAAA;AAAA,QAJA,OAAKC,EAAA,EAAA,QAAA,GAAcC,EAAA,IAAI,MAAA,OAAA,GAAgBA,EAAA,IAAI,0BAA0BA,EAAA,OAAI,KAAA,iBAAA,cAAA,IAAA;AAAA,QAA4C,OAAM;AAAA,MAAA;SAC/HL,KAAAC,EAEM,OAFNK,GAEM;AAAA,UADJH,EAAiK,UAAA;AAAA,YAAzJ,OAAM;AAAA,YAAiC,IAAG;AAAA,YAAK,IAAG;AAAA,YAAK,GAAE;AAAA,YAAK,MAAK;AAAA,YAAQ,YAAYE,EAAA,OAAI,KAAA,iBAAA,cAAA;AAAA,YAA2C,gBAAa;AAAA,UAAA;;;;;;"}
@@ -1,19 +1,21 @@
1
- (function(){"use strict";try{if(typeof document<"u"){var o=document.createElement("style");o.appendChild(document.createTextNode('.pl-log-view{--log-background: var(--bg-base-light);--contour-color: var(--txt-01);--contour-border-width: 1px;--label-offset-left-x: 8px;--label-offset-right-x: 8px;--border-color-log-view: var(--border-color-div-grey);height:100%;max-height:calc(100% - var(--contour-offset));max-width:calc(100% - var(--contour-offset));border-radius:6px;background:var(--log-background);display:flex;position:relative;min-height:44px;padding-right:40px}.pl-log-view__contour{position:absolute;top:0;left:0;right:0;bottom:0;border-radius:var(--border-radius-control);border-width:var(--contour-border-width);border-color:var(--border-color-log-view);border-style:solid;box-shadow:none;z-index:0;pointer-events:none}.pl-log-view label{display:flex;align-items:center;gap:4px;position:absolute;top:0;transform:translateY(-60%);left:var(--label-offset-left-x);padding:0 4px;max-width:calc(100% - 16px);overflow:hidden;white-space:pre;text-overflow:ellipsis;cursor:inherit;color:var(--label-color);font-size:12px;font-weight:500;border-bottom-right-radius:4px;border-bottom-left-radius:4px;background:var(--bg-elevated-01)}.pl-log-view label>span{overflow:hidden;white-space:pre;text-overflow:ellipsis}.pl-log-view.has-error{--log-background: linear-gradient(90deg, #FFEBEB 0%, #FFFFFF 100%);--border-color-log-view: var(--border-color-error)}.pl-log-view__copy{position:absolute;top:12px;right:12px;cursor:pointer;--icon-color: var(--ic-02)}.pl-log-view__copy>*:hover{--icon-color: var(--txt-01)}.pl-log-view__content{margin:12px;max-height:100%;max-width:100%;flex:1;color:var(--txt-01);font-feature-settings:"ss11" on,"ss15" on,"ss17" on;font-family:var(--font-family-monospace);white-space:pre;font-size:14px;font-weight:400;line-height:20px;--thumb-color: var(--ic-02);overflow-y:auto;overflow-x:auto}.pl-log-view__content::-webkit-scrollbar{width:var(--scrollbar-width, 6px);height:5px;background-color:transparent;display:block}.pl-log-view__content::-webkit-scrollbar-thumb{background:var(--thumb-color);border-radius:5px}.pl-log-view__content::-webkit-scrollbar-thumb:hover{--thumb-color: var(--border-color-focus)}.pl-log-view__error{margin:12px;max-height:100%;max-width:100%;flex:1;color:var(--txt-01);font-feature-settings:"ss11" on,"ss15" on,"ss17" on;font-family:var(--font-family-monospace);white-space:pre;font-size:14px;font-weight:400;line-height:20px;--thumb-color: var(--ic-02);overflow-y:auto;overflow-x:auto}.pl-log-view__error::-webkit-scrollbar{width:var(--scrollbar-width, 6px);height:5px;background-color:transparent;display:block}.pl-log-view__error::-webkit-scrollbar-thumb{background:var(--thumb-color);border-radius:5px}.pl-log-view__error::-webkit-scrollbar-thumb:hover{--thumb-color: var(--border-color-focus)}')),document.head.appendChild(o)}}catch(r){console.error("vite-plugin-css-injected-by-js",r)}})();
2
- import { defineComponent as F, useSlots as L, ref as s, computed as c, watch as P, createElementBlock as u, openBlock as l, normalizeClass as x, createCommentVNode as f, createVNode as p, createElementVNode as C, createBlock as b, toDisplayString as d, unref as r, withCtx as a, renderSlot as R, createTextVNode as S } from "vue";
3
- import T from "../PlIcon24/PlIcon24.vue.js";
1
+ (function(){"use strict";try{if(typeof document<"u"){var o=document.createElement("style");o.appendChild(document.createTextNode(`.pl-log-view{--log-background: var(--bg-base-light);--contour-color: var(--txt-01);--contour-border-width: 1px;--label-offset-left-x: 8px;--label-offset-right-x: 8px;--border-color-log-view: var(--border-color-div-grey);height:100%;max-height:calc(100% - var(--contour-offset));max-width:calc(100% - var(--contour-offset));border-radius:6px;background:var(--log-background);display:flex;position:relative;min-height:44px;padding-right:40px}.pl-log-view__contour{position:absolute;top:0;left:0;right:0;bottom:0;border-radius:var(--border-radius-control);border-width:var(--contour-border-width);border-color:var(--border-color-log-view);border-style:solid;box-shadow:none;z-index:0;pointer-events:none}.pl-log-view label{display:flex;align-items:center;gap:4px;position:absolute;top:0;transform:translateY(-60%);left:var(--label-offset-left-x);padding:0 4px;max-width:calc(100% - 16px);overflow:hidden;white-space:pre;text-overflow:ellipsis;cursor:inherit;color:var(--label-color);font-size:12px;font-weight:500;border-bottom-right-radius:4px;border-bottom-left-radius:4px;background:var(--bg-elevated-01)}.pl-log-view label>span{overflow:hidden;white-space:pre;text-overflow:ellipsis}.pl-log-view.has-error{--log-background: linear-gradient(90deg, #FFEBEB 0%, #FFFFFF 100%);--border-color-log-view: var(--border-color-error)}.pl-log-view__copy{position:absolute;top:12px;right:12px;cursor:pointer;--icon-color: var(--ic-02)}.pl-log-view__copy>*:hover{--icon-color: var(--txt-01)}.pl-log-view__content{margin:12px;max-height:100%;max-width:100%;flex:1;color:var(--txt-01);font-feature-settings:"ss11" on,"ss15" on,"ss17" on;font-family:var(--font-family-monospace);white-space:pre;font-size:14px;font-weight:400;line-height:20px;--thumb-color: var(--ic-02);overflow-y:auto;overflow-x:auto}.pl-log-view__content::-webkit-scrollbar{width:var(--scrollbar-width, 6px);height:5px;background-color:transparent;display:block}.pl-log-view__content::-webkit-scrollbar-thumb{background:var(--thumb-color);border-radius:5px}.pl-log-view__content::-webkit-scrollbar-thumb:hover{--thumb-color: var(--border-color-focus)}.pl-log-view__error{margin:12px;max-height:100%;max-width:100%;flex:1;color:var(--txt-01);font-feature-settings:"ss11" on,"ss15" on,"ss17" on;font-family:var(--font-family-monospace);white-space:pre;font-size:14px;font-weight:400;line-height:20px;--thumb-color: var(--ic-02);overflow-y:auto;overflow-x:auto}.pl-log-view__error::-webkit-scrollbar{width:var(--scrollbar-width, 6px);height:5px;background-color:transparent;display:block}.pl-log-view__error::-webkit-scrollbar-thumb{background:var(--thumb-color);border-radius:5px}.pl-log-view__error::-webkit-scrollbar-thumb:hover{--thumb-color: var(--border-color-focus)}
2
+ .double-contour.top>div{border-bottom-right-radius:0;border-bottom-left-radius:0}.double-contour.bottom>div{border-top-right-radius:0;border-top-left-radius:0}.double-contour.left>div{border-top-right-radius:0;border-bottom-right-radius:0}.double-contour.right>div{border-top-left-radius:0;border-bottom-left-radius:0}.double-contour.top-left>div{border-top-right-radius:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.double-contour.top-right>div{border-bottom-right-radius:0;border-top-left-radius:0;border-top-right-radius:0}.double-contour.bottom-left>div{border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:0}.double-contour.bottom-right>div{border-top-right-radius:0;border-bottom-left-radius:0;border-top-left-radius:0}.double-contour.middle>div{border-radius:0}`)),document.head.appendChild(o)}}catch(r){console.error("vite-plugin-css-injected-by-js",r)}})();
3
+ import { defineComponent as E, useSlots as F, ref as c, computed as u, watch as L, createElementBlock as p, openBlock as l, normalizeClass as P, createCommentVNode as v, createVNode as d, createElementVNode as b, createBlock as S, toDisplayString as m, unref as r, withCtx as i, renderSlot as R, createTextVNode as T } from "vue";
4
+ import h from "../PlIcon24/PlIcon24.vue.js";
4
5
 
5
- import { okOptional as I, tapIf as O } from "@milaboratories/helpers";
6
- import { useLogHandle as $ } from "./useLogHandle.js";
6
+ import { okOptional as $, tapIf as I } from "@milaboratories/helpers";
7
+ import { useLogHandle as O } from "./useLogHandle.js";
7
8
  import { useLabelNotch as j } from "../../utils/useLabelNotch.js";
8
9
  import q from "../../utils/DoubleContour.vue.js";
9
- import v from "../PlTooltip/PlTooltip.vue.js";
10
+
11
+ import y from "../PlTooltip/PlTooltip.vue.js";
10
12
  import { downloadContent as z } from "../../helpers/downloadContent.js";
11
13
  const M = { key: 0 }, G = { class: "pl-log-view__copy" }, J = {
12
14
  key: 1,
13
15
  class: "pl-log-view__error"
14
16
  }, K = {
15
17
  name: "PlLogView"
16
- }, lo = /* @__PURE__ */ F({
18
+ }, ro = /* @__PURE__ */ E({
17
19
  ...K,
18
20
  props: {
19
21
  value: {},
@@ -28,40 +30,40 @@ const M = { key: 0 }, G = { class: "pl-log-view__copy" }, J = {
28
30
  disableAutoScroll: { type: Boolean },
29
31
  downloadFilename: {}
30
32
  },
31
- setup(h) {
32
- const V = (o) => {
33
+ setup(n) {
34
+ const x = (o) => {
33
35
  if (o && o.ok === !1)
34
36
  return o.errors.join(`
35
37
  `);
36
- }, N = L(), t = h, y = $(t), _ = s(!0), g = s(), k = s(), m = c(() => {
38
+ }, V = F(), t = n, g = O(t), k = c(!0), w = c(), _ = c(), f = u(() => {
37
39
  var o;
38
- return ((o = y.value) == null ? void 0 : o.error) ?? t.error ?? V(t.output);
39
- }), n = c(() => {
40
+ return ((o = g.value) == null ? void 0 : o.error) ?? t.error ?? x(t.output);
41
+ }), a = u(() => {
40
42
  var o;
41
- return ((o = y.value) == null ? void 0 : o.lines) ?? t.value ?? I(t.output);
42
- }), w = c(() => {
43
+ return ((o = g.value) == null ? void 0 : o.lines) ?? t.value ?? $(t.output);
44
+ }), C = u(() => {
43
45
  if (t.valueToCopy)
44
46
  return t.valueToCopy;
45
- if (n.value && typeof n.value == "string")
46
- return n.value;
47
- }), i = s(!1);
48
- j(k);
49
- const A = c(() => i.value ? "clipboard-copied" : "clipboard"), D = () => {
50
- i.value = !0, setTimeout(() => {
51
- i.value = !1;
47
+ if (a.value && typeof a.value == "string")
48
+ return a.value;
49
+ }), s = c(!1);
50
+ j(_);
51
+ const N = u(() => s.value ? "clipboard-copied" : "clipboard"), A = () => {
52
+ s.value = !0, setTimeout(() => {
53
+ s.value = !1;
52
54
  }, 1200);
53
- const o = w.value;
55
+ const o = C.value;
54
56
  o !== void 0 && navigator.clipboard.writeText(o);
55
57
  }, H = (o) => {
56
- const e = w.value;
58
+ const e = C.value;
57
59
  e !== void 0 && z([e, "text/plain"], o);
58
60
  }, B = () => {
59
- t.disableAutoScroll || O(g.value, (o) => {
60
- _.value && o.scrollTo(o.scrollLeft, o.scrollHeight);
61
+ t.disableAutoScroll || I(w.value, (o) => {
62
+ k.value && o.scrollTo(o.scrollLeft, o.scrollHeight);
61
63
  });
62
64
  };
63
- P(
64
- n,
65
+ L(
66
+ a,
65
67
  () => {
66
68
  requestAnimationFrame(() => {
67
69
  B();
@@ -69,74 +71,74 @@ const M = { key: 0 }, G = { class: "pl-log-view__copy" }, J = {
69
71
  },
70
72
  { immediate: !0 }
71
73
  );
72
- const E = (o) => {
74
+ const D = (o) => {
73
75
  const e = o.target;
74
- _.value = e.scrollTop + 20 >= e.scrollHeight - e.offsetHeight;
76
+ k.value = e.scrollTop + 20 >= e.scrollHeight - e.offsetHeight;
75
77
  };
76
- return (o, e) => (l(), u("div", {
78
+ return (o, e) => (l(), p("div", {
77
79
  ref_key: "root",
78
- ref: k,
79
- class: x(["pl-log-view", { "has-error": m.value }])
80
+ ref: _,
81
+ class: P(["pl-log-view", { "has-error": f.value }])
80
82
  }, [
81
- o.label ? (l(), u("label", M, [
82
- C("span", null, d(o.label), 1),
83
- r(N).tooltip ? (l(), b(r(v), {
83
+ n.label ? (l(), p("label", M, [
84
+ b("span", null, m(n.label), 1),
85
+ r(V).tooltip ? (l(), S(r(y), {
84
86
  key: 0,
85
87
  class: "info",
86
88
  position: "top"
87
89
  }, {
88
- tooltip: a(() => [
90
+ tooltip: i(() => [
89
91
  R(o.$slots, "tooltip")
90
92
  ]),
91
93
  _: 3
92
- })) : f("", !0)
93
- ])) : f("", !0),
94
- p(q, { class: "pl-log-view__contour" }),
95
- C("div", G, [
96
- p(r(v), {
94
+ })) : v("", !0)
95
+ ])) : v("", !0),
96
+ d(q, { class: "pl-log-view__contour" }),
97
+ b("div", G, [
98
+ d(r(y), {
97
99
  "close-delay": 800,
98
100
  position: "top"
99
101
  }, {
100
- tooltip: a(() => [
101
- S(d(i.value ? "copied" : "copy"), 1)
102
+ tooltip: i(() => [
103
+ T(m(s.value ? "copied" : "copy"), 1)
102
104
  ]),
103
- default: a(() => [
104
- p(r(T), {
105
+ default: i(() => [
106
+ d(r(h), {
105
107
  title: "Copy content",
106
- name: A.value,
107
- onClick: D
108
+ name: N.value,
109
+ onClick: A
108
110
  }, null, 8, ["name"])
109
111
  ]),
110
112
  _: 1
111
113
  }),
112
- o.downloadFilename ? (l(), b(r(v), {
114
+ n.downloadFilename ? (l(), S(r(y), {
113
115
  key: 0,
114
116
  "close-delay": 800,
115
117
  position: "top"
116
118
  }, {
117
- tooltip: a(() => e[1] || (e[1] = [
118
- S("download")
119
- ])),
120
- default: a(() => [
121
- p(r(T), {
119
+ tooltip: i(() => [...e[1] || (e[1] = [
120
+ T("download", -1)
121
+ ])]),
122
+ default: i(() => [
123
+ d(r(h), {
122
124
  name: "download",
123
- onClick: e[0] || (e[0] = () => H(o.downloadFilename))
125
+ onClick: e[0] || (e[0] = () => H(n.downloadFilename))
124
126
  })
125
127
  ]),
126
128
  _: 1
127
- })) : f("", !0)
129
+ })) : v("", !0)
128
130
  ]),
129
- m.value ? (l(), u("div", J, d(m.value), 1)) : (l(), u("div", {
131
+ f.value ? (l(), p("div", J, m(f.value), 1)) : (l(), p("div", {
130
132
  key: 2,
131
133
  ref_key: "contentRef",
132
- ref: g,
134
+ ref: w,
133
135
  class: "pl-log-view__content",
134
- onScroll: E
135
- }, d(n.value), 545))
136
+ onScroll: D
137
+ }, m(a.value), 545))
136
138
  ], 2));
137
139
  }
138
140
  });
139
141
  export {
140
- lo as default
142
+ ro as default
141
143
  };
142
144
  //# sourceMappingURL=PlLogView.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlLogView.vue.js","sources":["../../../src/components/PlLogView/PlLogView.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Log Viewer Component\n */\nexport default {\n name: 'PlLogView',\n};\n</script>\n\n<script lang=\"ts\" setup>\nimport { computed, ref, useSlots, watch } from 'vue';\nimport { PlMaskIcon24 } from '../PlMaskIcon24';\nimport './pl-log-view.scss';\nimport { okOptional, tapIf } from '@milaboratories/helpers';\nimport type { AnyLogHandle, Platforma, ValueOrErrors } from '@platforma-sdk/model';\nimport { useLogHandle } from './useLogHandle';\nimport { useLabelNotch } from '../../utils/useLabelNotch';\nimport DoubleContour from '../../utils/DoubleContour.vue';\nimport { PlTooltip } from '../PlTooltip';\nimport { PlIcon24 } from '../PlIcon24';\nimport { downloadContent } from '../../helpers/dom';\n\nconst getOutputError = <T>(o?: ValueOrErrors<T>) => {\n if (o && o.ok === false) {\n return o.errors.join('\\n');\n }\n};\n\nconst slots = useSlots();\n\nconst props = defineProps<{\n /**\n * String contents\n */\n value?: string;\n /**\n * The content to copy (Note: it takes precedence over value property)\n */\n valueToCopy?: string;\n /**\n * AnyLogHandle\n */\n logHandle?: AnyLogHandle;\n /**\n * Custom progress prefix (to filter logHandle results)\n */\n progressPrefix?: string;\n /**\n * String contents\n */\n error?: unknown;\n /**\n * Block output (Note: error and value take precedence over output property)\n */\n output?: ValueOrErrors<unknown>;\n /**\n * Max retries for AnyLogHandle fetch (with the same parameters)\n */\n maxRetries?: number;\n /**\n * @TODO\n */\n mockPlatforma?: Platforma;\n /**\n * The label to display above the texarea.\n */\n label?: string;\n /**\n * Do not scroll to bottom on content change. Default is false (scroll to bottom).\n */\n disableAutoScroll?: boolean;\n /**\n * If provided, a download icon will be shown and the content will be downloaded when clicked.\n */\n downloadFilename?: string;\n}>();\n\nconst logState = useLogHandle(props);\n\nconst isAnchored = ref<boolean>(true);\n\nconst contentRef = ref<HTMLElement>();\n\nconst root = ref<HTMLInputElement>();\n\nconst computedError = computed(() => logState.value?.error ?? props.error ?? getOutputError(props.output));\n\nconst computedValue = computed(() => logState.value?.lines ?? props.value ?? okOptional(props.output));\n\nconst computedValueToCopy = computed(() => {\n if (props.valueToCopy) {\n return props.valueToCopy;\n }\n if (computedValue.value && typeof computedValue.value === 'string') {\n return computedValue.value;\n }\n return undefined;\n});\n\nconst copyActive = ref(false);\n\nuseLabelNotch(root);\n\nconst iconName = computed(() => (copyActive.value ? 'clipboard-copied' : 'clipboard'));\n\nconst onClickCopy = () => {\n copyActive.value = true;\n setTimeout(() => {\n copyActive.value = false;\n }, 1200);\n\n const toCopy = computedValueToCopy.value;\n\n if (toCopy !== undefined) {\n navigator.clipboard.writeText(toCopy);\n }\n};\n\nconst onClickDownload = (filename: string) => {\n const toDownload = computedValueToCopy.value;\n\n if (toDownload !== undefined) {\n downloadContent([toDownload, 'text/plain'], filename);\n }\n};\n\nconst optionallyScrollDown = () => {\n if (props.disableAutoScroll) {\n return;\n }\n\n tapIf(contentRef.value, (el) => {\n if (isAnchored.value) {\n el.scrollTo(el.scrollLeft, el.scrollHeight);\n }\n });\n};\n\nwatch(\n computedValue,\n () => {\n requestAnimationFrame(() => {\n optionallyScrollDown();\n });\n },\n { immediate: true },\n);\n\nconst onContentScroll = (ev: Event) => {\n const el = ev.target as HTMLElement;\n isAnchored.value = el.scrollTop + 20 /* ~ 1 line height */ >= el.scrollHeight - el.offsetHeight;\n};\n</script>\n\n<template>\n <div ref=\"root\" class=\"pl-log-view\" :class=\"{ 'has-error': computedError }\">\n <label v-if=\"label\">\n <span>{{ label }}</span>\n <PlTooltip v-if=\"slots.tooltip\" class=\"info\" position=\"top\">\n <template #tooltip>\n <slot name=\"tooltip\" />\n </template>\n </PlTooltip>\n </label>\n <DoubleContour class=\"pl-log-view__contour\" />\n <div class=\"pl-log-view__copy\">\n <PlTooltip :close-delay=\"800\" position=\"top\">\n <PlMaskIcon24 title=\"Copy content\" :name=\"iconName\" @click=\"onClickCopy\" />\n <template #tooltip>{{ copyActive ? 'copied' : 'copy' }}</template>\n </PlTooltip>\n <PlTooltip v-if=\"downloadFilename\" :close-delay=\"800\" position=\"top\">\n <PlIcon24 name=\"download\" @click=\"() => onClickDownload(downloadFilename!)\" />\n <template #tooltip>download</template>\n </PlTooltip>\n </div>\n <div v-if=\"computedError\" class=\"pl-log-view__error\">{{ computedError }}</div>\n <div v-else ref=\"contentRef\" class=\"pl-log-view__content\" @scroll=\"onContentScroll\">{{ computedValue }}</div>\n </div>\n</template>\n"],"names":["__default__","getOutputError","slots","useSlots","props","__props","logState","useLogHandle","isAnchored","ref","contentRef","root","computedError","computed","_a","computedValue","okOptional","computedValueToCopy","copyActive","useLabelNotch","iconName","onClickCopy","toCopy","onClickDownload","filename","toDownload","downloadContent","optionallyScrollDown","tapIf","el","watch","onContentScroll","ev"],"mappings":";;;;;;;;;;;;GAIAA,IAAe;AAAA,EACb,MAAM;AACR;;;;;;;;;;;;;;;;AAgBA,UAAMC,IAAiB,CAAI,MAAyB;AAClD,UAAI,KAAK,EAAE,OAAO;AAChB,eAAO,EAAE,OAAO,KAAK;AAAA,CAAI;AAAA,IAE7B,GAEMC,IAAQC,EAAA,GAERC,IAAQC,GA+CRC,IAAWC,EAAaH,CAAK,GAE7BI,IAAaC,EAAa,EAAI,GAE9BC,IAAaD,EAAA,GAEbE,IAAOF,EAAA,GAEPG,IAAgBC,EAAS,MAAA;;AAAM,eAAAC,IAAAR,EAAS,UAAT,gBAAAQ,EAAgB,UAASV,EAAM,SAASH,EAAeG,EAAM,MAAM;AAAA,KAAC,GAEnGW,IAAgBF,EAAS,MAAA;;AAAM,eAAAC,IAAAR,EAAS,UAAT,gBAAAQ,EAAgB,UAASV,EAAM,SAASY,EAAWZ,EAAM,MAAM;AAAA,KAAC,GAE/Fa,IAAsBJ,EAAS,MAAM;AACzC,UAAIT,EAAM;AACR,eAAOA,EAAM;AAEf,UAAIW,EAAc,SAAS,OAAOA,EAAc,SAAU;AACxD,eAAOA,EAAc;AAAA,IAGzB,CAAC,GAEKG,IAAaT,EAAI,EAAK;AAE5B,IAAAU,EAAcR,CAAI;AAElB,UAAMS,IAAWP,EAAS,MAAOK,EAAW,QAAQ,qBAAqB,WAAY,GAE/EG,IAAc,MAAM;AACxB,MAAAH,EAAW,QAAQ,IACnB,WAAW,MAAM;AACf,QAAAA,EAAW,QAAQ;AAAA,MACrB,GAAG,IAAI;AAEP,YAAMI,IAASL,EAAoB;AAEnC,MAAIK,MAAW,UACb,UAAU,UAAU,UAAUA,CAAM;AAAA,IAExC,GAEMC,IAAkB,CAACC,MAAqB;AAC5C,YAAMC,IAAaR,EAAoB;AAEvC,MAAIQ,MAAe,UACjBC,EAAgB,CAACD,GAAY,YAAY,GAAGD,CAAQ;AAAA,IAExD,GAEMG,IAAuB,MAAM;AACjC,MAAIvB,EAAM,qBAIVwB,EAAMlB,EAAW,OAAO,CAACmB,MAAO;AAC9B,QAAIrB,EAAW,SACbqB,EAAG,SAASA,EAAG,YAAYA,EAAG,YAAY;AAAA,MAE9C,CAAC;AAAA,IACH;AAEA,IAAAC;AAAA,MACEf;AAAA,MACA,MAAM;AACJ,8BAAsB,MAAM;AAC1B,UAAAY,EAAA;AAAA,QACF,CAAC;AAAA,MACH;AAAA,MACA,EAAE,WAAW,GAAA;AAAA,IAAK;AAGpB,UAAMI,IAAkB,CAACC,MAAc;AACrC,YAAMH,IAAKG,EAAG;AACd,MAAAxB,EAAW,QAAQqB,EAAG,YAAY,MAA4BA,EAAG,eAAeA,EAAG;AAAA,IACrF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"PlLogView.vue.js","sources":["../../../src/components/PlLogView/PlLogView.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Log Viewer Component\n */\nexport default {\n name: 'PlLogView',\n};\n</script>\n\n<script lang=\"ts\" setup>\nimport { computed, ref, useSlots, watch } from 'vue';\nimport { PlMaskIcon24 } from '../PlMaskIcon24';\nimport './pl-log-view.scss';\nimport { okOptional, tapIf } from '@milaboratories/helpers';\nimport type { AnyLogHandle, Platforma, ValueOrErrors } from '@platforma-sdk/model';\nimport { useLogHandle } from './useLogHandle';\nimport { useLabelNotch } from '../../utils/useLabelNotch';\nimport DoubleContour from '../../utils/DoubleContour.vue';\nimport { PlTooltip } from '../PlTooltip';\nimport { PlIcon24 } from '../PlIcon24';\nimport { downloadContent } from '../../helpers/dom';\n\nconst getOutputError = <T>(o?: ValueOrErrors<T>) => {\n if (o && o.ok === false) {\n return o.errors.join('\\n');\n }\n};\n\nconst slots = useSlots();\n\nconst props = defineProps<{\n /**\n * String contents\n */\n value?: string;\n /**\n * The content to copy (Note: it takes precedence over value property)\n */\n valueToCopy?: string;\n /**\n * AnyLogHandle\n */\n logHandle?: AnyLogHandle;\n /**\n * Custom progress prefix (to filter logHandle results)\n */\n progressPrefix?: string;\n /**\n * String contents\n */\n error?: unknown;\n /**\n * Block output (Note: error and value take precedence over output property)\n */\n output?: ValueOrErrors<unknown>;\n /**\n * Max retries for AnyLogHandle fetch (with the same parameters)\n */\n maxRetries?: number;\n /**\n * @TODO\n */\n mockPlatforma?: Platforma;\n /**\n * The label to display above the texarea.\n */\n label?: string;\n /**\n * Do not scroll to bottom on content change. Default is false (scroll to bottom).\n */\n disableAutoScroll?: boolean;\n /**\n * If provided, a download icon will be shown and the content will be downloaded when clicked.\n */\n downloadFilename?: string;\n}>();\n\nconst logState = useLogHandle(props);\n\nconst isAnchored = ref<boolean>(true);\n\nconst contentRef = ref<HTMLElement>();\n\nconst root = ref<HTMLInputElement>();\n\nconst computedError = computed(() => logState.value?.error ?? props.error ?? getOutputError(props.output));\n\nconst computedValue = computed(() => logState.value?.lines ?? props.value ?? okOptional(props.output));\n\nconst computedValueToCopy = computed(() => {\n if (props.valueToCopy) {\n return props.valueToCopy;\n }\n if (computedValue.value && typeof computedValue.value === 'string') {\n return computedValue.value;\n }\n return undefined;\n});\n\nconst copyActive = ref(false);\n\nuseLabelNotch(root);\n\nconst iconName = computed(() => (copyActive.value ? 'clipboard-copied' : 'clipboard'));\n\nconst onClickCopy = () => {\n copyActive.value = true;\n setTimeout(() => {\n copyActive.value = false;\n }, 1200);\n\n const toCopy = computedValueToCopy.value;\n\n if (toCopy !== undefined) {\n navigator.clipboard.writeText(toCopy);\n }\n};\n\nconst onClickDownload = (filename: string) => {\n const toDownload = computedValueToCopy.value;\n\n if (toDownload !== undefined) {\n downloadContent([toDownload, 'text/plain'], filename);\n }\n};\n\nconst optionallyScrollDown = () => {\n if (props.disableAutoScroll) {\n return;\n }\n\n tapIf(contentRef.value, (el) => {\n if (isAnchored.value) {\n el.scrollTo(el.scrollLeft, el.scrollHeight);\n }\n });\n};\n\nwatch(\n computedValue,\n () => {\n requestAnimationFrame(() => {\n optionallyScrollDown();\n });\n },\n { immediate: true },\n);\n\nconst onContentScroll = (ev: Event) => {\n const el = ev.target as HTMLElement;\n isAnchored.value = el.scrollTop + 20 /* ~ 1 line height */ >= el.scrollHeight - el.offsetHeight;\n};\n</script>\n\n<template>\n <div ref=\"root\" class=\"pl-log-view\" :class=\"{ 'has-error': computedError }\">\n <label v-if=\"label\">\n <span>{{ label }}</span>\n <PlTooltip v-if=\"slots.tooltip\" class=\"info\" position=\"top\">\n <template #tooltip>\n <slot name=\"tooltip\" />\n </template>\n </PlTooltip>\n </label>\n <DoubleContour class=\"pl-log-view__contour\" />\n <div class=\"pl-log-view__copy\">\n <PlTooltip :close-delay=\"800\" position=\"top\">\n <PlMaskIcon24 title=\"Copy content\" :name=\"iconName\" @click=\"onClickCopy\" />\n <template #tooltip>{{ copyActive ? 'copied' : 'copy' }}</template>\n </PlTooltip>\n <PlTooltip v-if=\"downloadFilename\" :close-delay=\"800\" position=\"top\">\n <PlIcon24 name=\"download\" @click=\"() => onClickDownload(downloadFilename!)\" />\n <template #tooltip>download</template>\n </PlTooltip>\n </div>\n <div v-if=\"computedError\" class=\"pl-log-view__error\">{{ computedError }}</div>\n <div v-else ref=\"contentRef\" class=\"pl-log-view__content\" @scroll=\"onContentScroll\">{{ computedValue }}</div>\n </div>\n</template>\n"],"names":["__default__","getOutputError","slots","useSlots","props","__props","logState","useLogHandle","isAnchored","ref","contentRef","root","computedError","computed","_a","computedValue","okOptional","computedValueToCopy","copyActive","useLabelNotch","iconName","onClickCopy","toCopy","onClickDownload","filename","toDownload","downloadContent","optionallyScrollDown","tapIf","el","watch","onContentScroll","ev","_createElementBlock","_normalizeClass","_hoisted_1","_createElementVNode","_unref","_createBlock","PlTooltip","_renderSlot","_ctx","_createVNode","DoubleContour","_hoisted_2","PlMaskIcon24","_cache","PlIcon24","_hoisted_3","_toDisplayString"],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  (function(){"use strict";try{if(typeof document<"u"){var t=document.createElement("style");t.appendChild(document.createTextNode(".pl-notification-alert{padding:12px;position:relative;border-radius:6px;border:1px solid var(--border-color-default);min-height:40px;width:256px;max-height:100%;overflow:auto}.pl-notification-alert .ui-btn-ghost{position:absolute;right:0;top:0}.pl-notification-alert__close{width:32px;min-width:28px}.pl-notification-alert__close .pl-btn-ghost{position:absolute;top:0;right:0;width:40px!important;height:40px!important}.pl-notification-alert__wrapper{flex-grow:1;overflow:auto}.pl-notification-alert.neutral{background:var(--notification-neutral)}.pl-notification-alert.error{background:var(--notification-error)}.pl-notification-alert.success{background:var(--notification-success)}.pl-notification-alert.warning{background:var(--notification-warning)}")),document.head.appendChild(t)}}catch(i){console.error("vite-plugin-css-injected-by-js",i)}})();
2
- import { defineComponent as d, mergeModels as f, useModel as p, createElementBlock as t, createCommentVNode as o, openBlock as l, normalizeStyle as m, normalizeClass as u, createElementVNode as i, renderSlot as n, createVNode as _, unref as h, withModifiers as y } from "vue";
2
+ import { defineComponent as r, mergeModels as f, useModel as m, createElementBlock as o, createCommentVNode as l, openBlock as a, normalizeStyle as u, normalizeClass as p, createElementVNode as s, renderSlot as n, createVNode as _, unref as h, withModifiers as y } from "vue";
3
3
  import v from "../PlBtnGhost/PlBtnGhost.vue.js";
4
4
 
5
- const k = { class: "pl-notification-alert__wrapper d-flex text-s" }, w = { class: "pl-notification-alert__content flex-grow-1" }, V = {
5
+ const k = { class: "pl-notification-alert__wrapper d-flex text-s" }, w = { class: "pl-notification-alert__content flex-grow-1" }, x = {
6
6
  key: 0,
7
7
  class: "pl-notification-alert__close"
8
- }, $ = {
8
+ }, V = {
9
9
  key: 0,
10
10
  class: "pl-notification-alert__actions d-flex"
11
- }, b = /* @__PURE__ */ d({
11
+ }, N = /* @__PURE__ */ r({
12
12
  __name: "PlNotificationAlert",
13
13
  props: /* @__PURE__ */ f({
14
14
  type: { default: "neutral" },
@@ -19,34 +19,34 @@ const k = { class: "pl-notification-alert__wrapper d-flex text-s" }, w = { class
19
19
  modelModifiers: {}
20
20
  }),
21
21
  emits: ["update:modelValue"],
22
- setup(s) {
23
- const r = s, a = p(s, "modelValue");
24
- function c() {
25
- r.closable && (a.value = !1);
22
+ setup(e) {
23
+ const c = e, i = m(e, "modelValue");
24
+ function d() {
25
+ c.closable && (i.value = !1);
26
26
  }
27
- return (e, B) => a.value ? (l(), t("div", {
27
+ return (t, $) => i.value ? (a(), o("div", {
28
28
  key: 0,
29
- class: u([e.type, "pl-notification-alert d-flex flex-column gap-16"]),
30
- style: m({ width: `${e.width}` })
29
+ class: p([e.type, "pl-notification-alert d-flex flex-column gap-16"]),
30
+ style: u({ width: `${e.width}` })
31
31
  }, [
32
- i("div", k, [
33
- i("div", w, [
34
- n(e.$slots, "default")
32
+ s("div", k, [
33
+ s("div", w, [
34
+ n(t.$slots, "default")
35
35
  ]),
36
- e.closable ? (l(), t("div", V, [
36
+ e.closable ? (a(), o("div", x, [
37
37
  _(h(v), {
38
38
  icon: "close",
39
- onClick: y(c, ["stop"])
39
+ onClick: y(d, ["stop"])
40
40
  })
41
- ])) : o("", !0)
41
+ ])) : l("", !0)
42
42
  ]),
43
- e.$slots.actions ? (l(), t("div", $, [
44
- n(e.$slots, "actions")
45
- ])) : o("", !0)
46
- ], 6)) : o("", !0);
43
+ t.$slots.actions ? (a(), o("div", V, [
44
+ n(t.$slots, "actions")
45
+ ])) : l("", !0)
46
+ ], 6)) : l("", !0);
47
47
  }
48
48
  });
49
49
  export {
50
- b as default
50
+ N as default
51
51
  };
52
52
  //# sourceMappingURL=PlNotificationAlert.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlNotificationAlert.vue.js","sources":["../../../src/components/PlNotificationAlert/PlNotificationAlert.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { PlBtnGhost } from '../PlBtnGhost';\nimport './pl-notification-alert.scss';\n\nconst props = withDefaults(\n defineProps<{\n type?: 'success' | 'error' | 'warning' | 'neutral';\n width?: string;\n closable?: boolean;\n }>(),\n { type: 'neutral', width: '256px' },\n);\n\nconst model = defineModel({ type: Boolean, default: true });\n\nfunction closeAlert() {\n if (props.closable) {\n model.value = false;\n }\n}\n</script>\n\n<template>\n <div v-if=\"model\" :class=\"type\" :style=\"{ width: `${width}` }\" class=\"pl-notification-alert d-flex flex-column gap-16\">\n <div class=\"pl-notification-alert__wrapper d-flex text-s\">\n <div class=\"pl-notification-alert__content flex-grow-1\">\n <slot />\n </div>\n <div v-if=\"closable\" class=\"pl-notification-alert__close\">\n <PlBtnGhost icon=\"close\" @click.stop=\"closeAlert\" />\n </div>\n </div>\n\n <div v-if=\"!!$slots.actions\" class=\"pl-notification-alert__actions d-flex\">\n <slot name=\"actions\" />\n </div>\n </div>\n</template>\n"],"names":["props","__props","model","_useModel","closeAlert"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAIA,UAAMA,IAAQC,GASRC,IAAQC,iBAA4C;AAE1D,aAASC,IAAa;AACpB,MAAIJ,EAAM,aACRE,EAAM,QAAQ;AAAA,IAElB;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"PlNotificationAlert.vue.js","sources":["../../../src/components/PlNotificationAlert/PlNotificationAlert.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { PlBtnGhost } from '../PlBtnGhost';\nimport './pl-notification-alert.scss';\n\nconst props = withDefaults(\n defineProps<{\n type?: 'success' | 'error' | 'warning' | 'neutral';\n width?: string;\n closable?: boolean;\n }>(),\n { type: 'neutral', width: '256px' },\n);\n\nconst model = defineModel({ type: Boolean, default: true });\n\nfunction closeAlert() {\n if (props.closable) {\n model.value = false;\n }\n}\n</script>\n\n<template>\n <div v-if=\"model\" :class=\"type\" :style=\"{ width: `${width}` }\" class=\"pl-notification-alert d-flex flex-column gap-16\">\n <div class=\"pl-notification-alert__wrapper d-flex text-s\">\n <div class=\"pl-notification-alert__content flex-grow-1\">\n <slot />\n </div>\n <div v-if=\"closable\" class=\"pl-notification-alert__close\">\n <PlBtnGhost icon=\"close\" @click.stop=\"closeAlert\" />\n </div>\n </div>\n\n <div v-if=\"!!$slots.actions\" class=\"pl-notification-alert__actions d-flex\">\n <slot name=\"actions\" />\n </div>\n </div>\n</template>\n"],"names":["props","__props","model","_useModel","closeAlert","_createElementBlock","_normalizeClass","_createElementVNode","_hoisted_1","_hoisted_2","_renderSlot","_ctx","_openBlock","_hoisted_3","_createVNode","_unref","PlBtnGhost","$slots","_hoisted_4"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAIA,UAAMA,IAAQC,GASRC,IAAQC,iBAA4C;AAE1D,aAASC,IAAa;AACpB,MAAIJ,EAAM,aACRE,EAAM,QAAQ;AAAA,IAElB;qBAIaA,EAAA,cAAXG,EAaM,OAAA;AAAA;MAba,OAAKC,EAAA,CAAEL,EAAA,MAA2C,iDAAiD,CAAA;AAAA,MAArF,qBAAmBA,EAAA,KAAK,IAAA;AAAA,IAAA;MACvDM,EAOM,OAPNC,GAOM;AAAA,QANJD,EAEM,OAFNE,GAEM;AAAA,UADJC,EAAQC,EAAA,QAAA,SAAA;AAAA,QAAA;QAECV,EAAA,YAAXW,EAAA,GAAAP,EAEM,OAFNQ,GAEM;AAAA,UADJC,EAAoDC,EAAAC,CAAA,GAAA;AAAA,YAAxC,MAAK;AAAA,YAAS,WAAYZ,GAAU,CAAA,MAAA,CAAA;AAAA,UAAA;;;MAIvCa,EAAAA,OAAO,WAApBL,EAAA,GAAAP,EAEM,OAFNa,GAEM;AAAA,QADJR,EAAuBC,EAAA,QAAA,SAAA;AAAA,MAAA;;;;"}
@@ -35,6 +35,8 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
35
35
  errorMessage?: string;
36
36
  /** Additional validity check for input value that must return an error text if failed */
37
37
  validate?: (v: number) => string | undefined;
38
+ /** Makes some of corners not rounded */
39
+ groupPosition?: "top" | "bottom" | "left" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "middle";
38
40
  }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
39
41
  "update:modelValue": (value: number | undefined) => any;
40
42
  }, string, import('vue').PublicProps, Readonly<{
@@ -60,12 +62,15 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
60
62
  errorMessage?: string;
61
63
  /** Additional validity check for input value that must return an error text if failed */
62
64
  validate?: (v: number) => string | undefined;
65
+ /** Makes some of corners not rounded */
66
+ groupPosition?: "top" | "bottom" | "left" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "middle";
63
67
  }> & Readonly<{
64
68
  "onUpdate:modelValue"?: ((value: number | undefined) => any) | undefined;
65
69
  }>, {
66
70
  label: string;
67
- step: number;
68
71
  placeholder: string;
72
+ step: number;
73
+ groupPosition: "top" | "bottom" | "left" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "middle";
69
74
  minValue: number;
70
75
  maxValue: number;
71
76
  useIncrementButtons: boolean;