sl-ui-pc 2.12.7-beta1 → 2.12.7

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 (610) hide show
  1. package/dist/index.css +1 -1
  2. package/es/components/alert/index.mjs +2 -2
  3. package/es/components/alert/src/alert.mjs +41 -108
  4. package/es/components/alert/src/alert.mjs.map +1 -1
  5. package/es/components/alert/src/alert2.mjs +108 -41
  6. package/es/components/alert/src/alert2.mjs.map +1 -1
  7. package/es/components/anchor/index.mjs +3 -3
  8. package/es/components/anchor/src/anchor-link.mjs +80 -5
  9. package/es/components/anchor/src/anchor-link.mjs.map +1 -1
  10. package/es/components/anchor/src/anchor-link2.mjs +5 -80
  11. package/es/components/anchor/src/anchor-link2.mjs.map +1 -1
  12. package/es/components/anchor/src/anchor.mjs +42 -206
  13. package/es/components/anchor/src/anchor.mjs.map +1 -1
  14. package/es/components/anchor/src/anchor2.mjs +206 -42
  15. package/es/components/anchor/src/anchor2.mjs.map +1 -1
  16. package/es/components/autocomplete/index.mjs +2 -2
  17. package/es/components/autocomplete/src/autocomplete.mjs +58 -366
  18. package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
  19. package/es/components/autocomplete/src/autocomplete2.mjs +366 -58
  20. package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
  21. package/es/components/backtop/index.mjs +2 -2
  22. package/es/components/backtop/src/backtop.mjs +21 -53
  23. package/es/components/backtop/src/backtop.mjs.map +1 -1
  24. package/es/components/backtop/src/backtop2.mjs +53 -21
  25. package/es/components/backtop/src/backtop2.mjs.map +1 -1
  26. package/es/components/badge/index.mjs +2 -2
  27. package/es/components/badge/src/badge.mjs +71 -32
  28. package/es/components/badge/src/badge.mjs.map +1 -1
  29. package/es/components/badge/src/badge2.mjs +32 -71
  30. package/es/components/badge/src/badge2.mjs.map +1 -1
  31. package/es/components/breadcrumb/index.mjs +2 -2
  32. package/es/components/breadcrumb/src/breadcrumb.mjs +10 -37
  33. package/es/components/breadcrumb/src/breadcrumb.mjs.map +1 -1
  34. package/es/components/breadcrumb/src/breadcrumb2.mjs +37 -10
  35. package/es/components/breadcrumb/src/breadcrumb2.mjs.map +1 -1
  36. package/es/components/button/index.mjs +3 -3
  37. package/es/components/button/src/button-group.mjs +29 -6
  38. package/es/components/button/src/button-group.mjs.map +1 -1
  39. package/es/components/button/src/button-group2.mjs +6 -29
  40. package/es/components/button/src/button-group2.mjs.map +1 -1
  41. package/es/components/button/src/button.mjs +62 -87
  42. package/es/components/button/src/button.mjs.map +1 -1
  43. package/es/components/button/src/button2.mjs +87 -62
  44. package/es/components/button/src/button2.mjs.map +1 -1
  45. package/es/components/calendar/index.mjs +2 -2
  46. package/es/components/calendar/src/calendar.mjs +44 -377
  47. package/es/components/calendar/src/calendar.mjs.map +1 -1
  48. package/es/components/calendar/src/calendar2.mjs +377 -44
  49. package/es/components/calendar/src/calendar2.mjs.map +1 -1
  50. package/es/components/calendar/src/date-table.mjs +31 -89
  51. package/es/components/calendar/src/date-table.mjs.map +1 -1
  52. package/es/components/calendar/src/date-table2.mjs +89 -31
  53. package/es/components/calendar/src/date-table2.mjs.map +1 -1
  54. package/es/components/calendar/src/use-date-table.mjs +1 -1
  55. package/es/components/card/index.mjs +2 -2
  56. package/es/components/card/src/card.mjs +22 -42
  57. package/es/components/card/src/card.mjs.map +1 -1
  58. package/es/components/card/src/card2.mjs +42 -22
  59. package/es/components/card/src/card2.mjs.map +1 -1
  60. package/es/components/carousel/index.mjs +4 -4
  61. package/es/components/carousel/src/carousel-item.mjs +7 -69
  62. package/es/components/carousel/src/carousel-item.mjs.map +1 -1
  63. package/es/components/carousel/src/carousel-item2.mjs +69 -7
  64. package/es/components/carousel/src/carousel-item2.mjs.map +1 -1
  65. package/es/components/carousel/src/carousel.mjs +214 -61
  66. package/es/components/carousel/src/carousel.mjs.map +1 -1
  67. package/es/components/carousel/src/carousel2.mjs +61 -214
  68. package/es/components/carousel/src/carousel2.mjs.map +1 -1
  69. package/es/components/cascader/index.mjs +2 -2
  70. package/es/components/cascader/src/cascader.mjs +719 -93
  71. package/es/components/cascader/src/cascader.mjs.map +1 -1
  72. package/es/components/cascader/src/cascader2.mjs +93 -719
  73. package/es/components/cascader/src/cascader2.mjs.map +1 -1
  74. package/es/components/cascader-panel/src/index.mjs +1 -1
  75. package/es/components/cascader-panel/src/menu.mjs +1 -1
  76. package/es/components/cascader-panel/src/node.mjs +115 -194
  77. package/es/components/cascader-panel/src/node.mjs.map +1 -1
  78. package/es/components/cascader-panel/src/node2.mjs +194 -115
  79. package/es/components/cascader-panel/src/node2.mjs.map +1 -1
  80. package/es/components/cascader-panel/src/store.mjs +1 -1
  81. package/es/components/check-tag/index.mjs +2 -2
  82. package/es/components/check-tag/src/check-tag.mjs +38 -14
  83. package/es/components/check-tag/src/check-tag.mjs.map +1 -1
  84. package/es/components/check-tag/src/check-tag2.mjs +14 -38
  85. package/es/components/check-tag/src/check-tag2.mjs.map +1 -1
  86. package/es/components/collection/index.mjs +1 -1
  87. package/es/components/collection/src/collection.mjs +10 -62
  88. package/es/components/collection/src/collection.mjs.map +1 -1
  89. package/es/components/collection/src/collection2.mjs +62 -10
  90. package/es/components/collection/src/collection2.mjs.map +1 -1
  91. package/es/components/color-picker/index.mjs +2 -2
  92. package/es/components/color-picker/src/color-picker.mjs +399 -44
  93. package/es/components/color-picker/src/color-picker.mjs.map +1 -1
  94. package/es/components/color-picker/src/color-picker2.mjs +44 -399
  95. package/es/components/color-picker/src/color-picker2.mjs.map +1 -1
  96. package/es/components/color-picker/src/components/predefine.mjs +1 -1
  97. package/es/components/descriptions/index.mjs +2 -2
  98. package/es/components/descriptions/src/description.mjs +30 -164
  99. package/es/components/descriptions/src/description.mjs.map +1 -1
  100. package/es/components/descriptions/src/description2.mjs +164 -30
  101. package/es/components/descriptions/src/description2.mjs.map +1 -1
  102. package/es/components/descriptions/src/descriptions-row.mjs +6 -63
  103. package/es/components/descriptions/src/descriptions-row.mjs.map +1 -1
  104. package/es/components/descriptions/src/descriptions-row2.mjs +63 -6
  105. package/es/components/descriptions/src/descriptions-row2.mjs.map +1 -1
  106. package/es/components/dialog/index.mjs +2 -2
  107. package/es/components/dialog/src/dialog.mjs +192 -81
  108. package/es/components/dialog/src/dialog.mjs.map +1 -1
  109. package/es/components/dialog/src/dialog2.mjs +81 -192
  110. package/es/components/dialog/src/dialog2.mjs.map +1 -1
  111. package/es/components/divider/index.mjs +2 -2
  112. package/es/components/divider/src/divider.mjs +16 -34
  113. package/es/components/divider/src/divider.mjs.map +1 -1
  114. package/es/components/divider/src/divider2.mjs +34 -16
  115. package/es/components/divider/src/divider2.mjs.map +1 -1
  116. package/es/components/drawer/src/drawer.mjs +1 -1
  117. package/es/components/dropdown/src/dropdown-item-impl.mjs +2 -2
  118. package/es/components/dropdown/src/dropdown-menu.mjs +1 -1
  119. package/es/components/dropdown/src/dropdown.mjs +2 -2
  120. package/es/components/dropdown/src/dropdown2.mjs +1 -1
  121. package/es/components/empty/index.mjs +2 -2
  122. package/es/components/empty/src/empty.mjs +11 -52
  123. package/es/components/empty/src/empty.mjs.map +1 -1
  124. package/es/components/empty/src/empty2.mjs +52 -11
  125. package/es/components/empty/src/empty2.mjs.map +1 -1
  126. package/es/components/form/index.mjs +2 -2
  127. package/es/components/form/src/form-item.mjs +371 -56
  128. package/es/components/form/src/form-item.mjs.map +1 -1
  129. package/es/components/form/src/form-item2.mjs +56 -371
  130. package/es/components/form/src/form-item2.mjs.map +1 -1
  131. package/es/components/index.mjs +45 -45
  132. package/es/components/link/index.mjs +2 -2
  133. package/es/components/link/src/link.mjs +25 -71
  134. package/es/components/link/src/link.mjs.map +1 -1
  135. package/es/components/link/src/link2.mjs +71 -25
  136. package/es/components/link/src/link2.mjs.map +1 -1
  137. package/es/components/pagination/src/components/pager.mjs +210 -16
  138. package/es/components/pagination/src/components/pager.mjs.map +1 -1
  139. package/es/components/pagination/src/components/pager2.mjs +16 -210
  140. package/es/components/pagination/src/components/pager2.mjs.map +1 -1
  141. package/es/components/pagination/src/components/prev.mjs +35 -17
  142. package/es/components/pagination/src/components/prev.mjs.map +1 -1
  143. package/es/components/pagination/src/components/prev2.mjs +17 -35
  144. package/es/components/pagination/src/components/prev2.mjs.map +1 -1
  145. package/es/components/pagination/src/components/total.mjs +6 -26
  146. package/es/components/pagination/src/components/total.mjs.map +1 -1
  147. package/es/components/pagination/src/components/total2.mjs +26 -6
  148. package/es/components/pagination/src/components/total2.mjs.map +1 -1
  149. package/es/components/pagination/src/pagination.mjs +3 -3
  150. package/es/components/popconfirm/src/popconfirm2.mjs +1 -1
  151. package/es/components/popover/src/popover2.mjs +1 -1
  152. package/es/components/popper/index.mjs +4 -4
  153. package/es/components/popper/src/arrow.mjs +30 -7
  154. package/es/components/popper/src/arrow.mjs.map +1 -1
  155. package/es/components/popper/src/arrow2.mjs +7 -30
  156. package/es/components/popper/src/arrow2.mjs.map +1 -1
  157. package/es/components/popper/src/content.mjs +1 -1
  158. package/es/components/popper/src/trigger.mjs +127 -31
  159. package/es/components/popper/src/trigger.mjs.map +1 -1
  160. package/es/components/popper/src/trigger2.mjs +31 -127
  161. package/es/components/popper/src/trigger2.mjs.map +1 -1
  162. package/es/components/radio/index.mjs +2 -2
  163. package/es/components/radio/src/radio-button.mjs +1 -1
  164. package/es/components/radio/src/radio-group copy.mjs +1 -1
  165. package/es/components/radio/src/radio-group.mjs +1 -1
  166. package/es/components/radio/src/radio-group2.mjs +1 -1
  167. package/es/components/radio/src/radio.mjs +83 -32
  168. package/es/components/radio/src/radio.mjs.map +1 -1
  169. package/es/components/radio/src/radio2.mjs +32 -83
  170. package/es/components/radio/src/radio2.mjs.map +1 -1
  171. package/es/components/roving-focus-group/index.mjs +3 -3
  172. package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs +1 -1
  173. package/es/components/roving-focus-group/src/roving-focus-group.mjs +27 -27
  174. package/es/components/roving-focus-group/src/roving-focus-group.mjs.map +1 -1
  175. package/es/components/roving-focus-group/src/roving-focus-group2.mjs +27 -27
  176. package/es/components/roving-focus-group/src/roving-focus-group2.mjs.map +1 -1
  177. package/es/components/roving-focus-group/src/roving-focus-item.mjs +1 -1
  178. package/es/components/row/index.mjs +2 -2
  179. package/es/components/row/src/row.mjs +51 -28
  180. package/es/components/row/src/row.mjs.map +1 -1
  181. package/es/components/row/src/row2.mjs +28 -51
  182. package/es/components/row/src/row2.mjs.map +1 -1
  183. package/es/components/scrollbar/index.mjs +2 -2
  184. package/es/components/scrollbar/src/bar.mjs +10 -64
  185. package/es/components/scrollbar/src/bar.mjs.map +1 -1
  186. package/es/components/scrollbar/src/bar2.mjs +64 -10
  187. package/es/components/scrollbar/src/bar2.mjs.map +1 -1
  188. package/es/components/scrollbar/src/scrollbar.mjs +187 -53
  189. package/es/components/scrollbar/src/scrollbar.mjs.map +1 -1
  190. package/es/components/scrollbar/src/scrollbar2.mjs +53 -187
  191. package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
  192. package/es/components/segmented/index.mjs +2 -2
  193. package/es/components/segmented/src/segmented.mjs +42 -168
  194. package/es/components/segmented/src/segmented.mjs.map +1 -1
  195. package/es/components/segmented/src/segmented2.mjs +168 -42
  196. package/es/components/segmented/src/segmented2.mjs.map +1 -1
  197. package/es/components/select/index.mjs +1 -1
  198. package/es/components/select/src/option.mjs +13 -104
  199. package/es/components/select/src/option.mjs.map +1 -1
  200. package/es/components/select/src/option2.mjs +104 -13
  201. package/es/components/select/src/option2.mjs.map +1 -1
  202. package/es/components/select/src/select.mjs +1 -1
  203. package/es/components/select/src/select2.mjs +1 -1
  204. package/es/components/select/src/useOption.mjs +1 -1
  205. package/es/components/slider-block-vertify/index.mjs +2 -2
  206. package/es/components/slider-block-vertify/src/slider-block-vertify.mjs +196 -4
  207. package/es/components/slider-block-vertify/src/slider-block-vertify.mjs.map +1 -1
  208. package/es/components/slider-block-vertify/src/slider-block-vertify2.mjs +4 -196
  209. package/es/components/slider-block-vertify/src/slider-block-vertify2.mjs.map +1 -1
  210. package/es/components/splitter/index.mjs +2 -2
  211. package/es/components/splitter/src/split-panel.mjs +152 -17
  212. package/es/components/splitter/src/split-panel.mjs.map +1 -1
  213. package/es/components/splitter/src/split-panel2.mjs +17 -152
  214. package/es/components/splitter/src/split-panel2.mjs.map +1 -1
  215. package/es/components/statistic/index.mjs +2 -2
  216. package/es/components/statistic/src/statistic.mjs +25 -69
  217. package/es/components/statistic/src/statistic.mjs.map +1 -1
  218. package/es/components/statistic/src/statistic2.mjs +69 -25
  219. package/es/components/statistic/src/statistic2.mjs.map +1 -1
  220. package/es/components/steps/index.mjs +2 -2
  221. package/es/components/steps/src/item.mjs +192 -19
  222. package/es/components/steps/src/item.mjs.map +1 -1
  223. package/es/components/steps/src/item2.mjs +19 -192
  224. package/es/components/steps/src/item2.mjs.map +1 -1
  225. package/es/components/switch/index.mjs +2 -2
  226. package/es/components/switch/src/switch.mjs +72 -228
  227. package/es/components/switch/src/switch.mjs.map +1 -1
  228. package/es/components/switch/src/switch2.mjs +228 -72
  229. package/es/components/switch/src/switch2.mjs.map +1 -1
  230. package/es/components/tabs/index.mjs +3 -3
  231. package/es/components/tabs/src/tab-bar.mjs +11 -87
  232. package/es/components/tabs/src/tab-bar.mjs.map +1 -1
  233. package/es/components/tabs/src/tab-bar2.mjs +87 -11
  234. package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
  235. package/es/components/tabs/src/tab-nav.mjs +1 -1
  236. package/es/components/tabs/src/tab-pane.mjs +82 -13
  237. package/es/components/tabs/src/tab-pane.mjs.map +1 -1
  238. package/es/components/tabs/src/tab-pane2.mjs +13 -82
  239. package/es/components/tabs/src/tab-pane2.mjs.map +1 -1
  240. package/es/components/tooltip/index.mjs +3 -3
  241. package/es/components/tooltip/src/tooltip.mjs +30 -169
  242. package/es/components/tooltip/src/tooltip.mjs.map +1 -1
  243. package/es/components/tooltip/src/tooltip2.mjs +169 -30
  244. package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
  245. package/es/components/tooltip/src/trigger.mjs +14 -72
  246. package/es/components/tooltip/src/trigger.mjs.map +1 -1
  247. package/es/components/tooltip/src/trigger2.mjs +72 -14
  248. package/es/components/tooltip/src/trigger2.mjs.map +1 -1
  249. package/es/components/tooltip-v2/index.mjs +2 -2
  250. package/es/components/tooltip-v2/src/content.mjs +110 -48
  251. package/es/components/tooltip-v2/src/content.mjs.map +1 -1
  252. package/es/components/tooltip-v2/src/content2.mjs +48 -110
  253. package/es/components/tooltip-v2/src/content2.mjs.map +1 -1
  254. package/es/components/tooltip-v2/src/root.mjs +79 -17
  255. package/es/components/tooltip-v2/src/root.mjs.map +1 -1
  256. package/es/components/tooltip-v2/src/root2.mjs +17 -79
  257. package/es/components/tooltip-v2/src/root2.mjs.map +1 -1
  258. package/es/components/tooltip-v2/src/tooltip.mjs +4 -4
  259. package/es/components/tooltip-v2/src/tooltip2.mjs +2 -2
  260. package/es/components/tour/index.mjs +3 -3
  261. package/es/components/tour/src/content.mjs +67 -43
  262. package/es/components/tour/src/content.mjs.map +1 -1
  263. package/es/components/tour/src/content2.mjs +43 -67
  264. package/es/components/tour/src/content2.mjs.map +1 -1
  265. package/es/components/tour/src/mask.mjs +18 -75
  266. package/es/components/tour/src/mask.mjs.map +1 -1
  267. package/es/components/tour/src/mask2.mjs +75 -18
  268. package/es/components/tour/src/mask2.mjs.map +1 -1
  269. package/es/components/tour/src/step.mjs +168 -44
  270. package/es/components/tour/src/step.mjs.map +1 -1
  271. package/es/components/tour/src/step2.mjs +44 -168
  272. package/es/components/tour/src/step2.mjs.map +1 -1
  273. package/es/components/tour/src/tour.mjs +1 -1
  274. package/es/components/tour/src/tour2.mjs +2 -2
  275. package/es/components/transfer/src/composables/use-check.mjs +1 -1
  276. package/es/components/transfer/src/transfer-panel.mjs +19 -130
  277. package/es/components/transfer/src/transfer-panel.mjs.map +1 -1
  278. package/es/components/transfer/src/transfer-panel2.mjs +130 -19
  279. package/es/components/transfer/src/transfer-panel2.mjs.map +1 -1
  280. package/es/components/transfer/src/transfer.mjs +1 -1
  281. package/es/components/upload/index.mjs +2 -2
  282. package/es/components/upload/src/upload-content.mjs +1 -1
  283. package/es/components/upload/src/upload-content2.mjs +1 -1
  284. package/es/components/upload/src/upload-list.mjs +1 -1
  285. package/es/components/upload/src/upload.mjs +97 -125
  286. package/es/components/upload/src/upload.mjs.map +1 -1
  287. package/es/components/upload/src/upload2.mjs +125 -97
  288. package/es/components/upload/src/upload2.mjs.map +1 -1
  289. package/es/components/upload/src/use-handlers.mjs +1 -1
  290. package/es/components/visual-hidden/index.mjs +3 -3
  291. package/es/components/visual-hidden/src/visual-hidden.mjs +35 -6
  292. package/es/components/visual-hidden/src/visual-hidden.mjs.map +1 -1
  293. package/es/components/visual-hidden/src/visual-hidden2.mjs +6 -35
  294. package/es/components/visual-hidden/src/visual-hidden2.mjs.map +1 -1
  295. package/es/components/watermark/index.mjs +2 -2
  296. package/es/components/watermark/src/watermark.mjs +27 -220
  297. package/es/components/watermark/src/watermark.mjs.map +1 -1
  298. package/es/components/watermark/src/watermark2.mjs +220 -27
  299. package/es/components/watermark/src/watermark2.mjs.map +1 -1
  300. package/es/directives/click-outside/index.mjs +1 -1
  301. package/es/hooks/use-focus-controller/index.mjs +1 -1
  302. package/es/hooks/use-lockscreen/index.mjs +1 -1
  303. package/es/index.mjs +45 -45
  304. package/lib/components/alert/index.js +2 -2
  305. package/lib/components/alert/src/alert.js +42 -107
  306. package/lib/components/alert/src/alert.js.map +1 -1
  307. package/lib/components/alert/src/alert2.js +107 -42
  308. package/lib/components/alert/src/alert2.js.map +1 -1
  309. package/lib/components/anchor/index.js +3 -3
  310. package/lib/components/anchor/src/anchor-link.js +80 -5
  311. package/lib/components/anchor/src/anchor-link.js.map +1 -1
  312. package/lib/components/anchor/src/anchor-link2.js +5 -80
  313. package/lib/components/anchor/src/anchor-link2.js.map +1 -1
  314. package/lib/components/anchor/src/anchor.js +42 -205
  315. package/lib/components/anchor/src/anchor.js.map +1 -1
  316. package/lib/components/anchor/src/anchor2.js +205 -42
  317. package/lib/components/anchor/src/anchor2.js.map +1 -1
  318. package/lib/components/autocomplete/index.js +2 -2
  319. package/lib/components/autocomplete/src/autocomplete.js +57 -364
  320. package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
  321. package/lib/components/autocomplete/src/autocomplete2.js +364 -57
  322. package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
  323. package/lib/components/backtop/index.js +2 -2
  324. package/lib/components/backtop/src/backtop.js +22 -53
  325. package/lib/components/backtop/src/backtop.js.map +1 -1
  326. package/lib/components/backtop/src/backtop2.js +53 -22
  327. package/lib/components/backtop/src/backtop2.js.map +1 -1
  328. package/lib/components/badge/index.js +2 -2
  329. package/lib/components/badge/src/badge.js +71 -32
  330. package/lib/components/badge/src/badge.js.map +1 -1
  331. package/lib/components/badge/src/badge2.js +32 -71
  332. package/lib/components/badge/src/badge2.js.map +1 -1
  333. package/lib/components/breadcrumb/index.js +2 -2
  334. package/lib/components/breadcrumb/src/breadcrumb.js +10 -37
  335. package/lib/components/breadcrumb/src/breadcrumb.js.map +1 -1
  336. package/lib/components/breadcrumb/src/breadcrumb2.js +37 -10
  337. package/lib/components/breadcrumb/src/breadcrumb2.js.map +1 -1
  338. package/lib/components/button/index.js +3 -3
  339. package/lib/components/button/src/button-group.js +29 -6
  340. package/lib/components/button/src/button-group.js.map +1 -1
  341. package/lib/components/button/src/button-group2.js +6 -29
  342. package/lib/components/button/src/button-group2.js.map +1 -1
  343. package/lib/components/button/src/button.js +65 -87
  344. package/lib/components/button/src/button.js.map +1 -1
  345. package/lib/components/button/src/button2.js +87 -65
  346. package/lib/components/button/src/button2.js.map +1 -1
  347. package/lib/components/calendar/index.js +2 -2
  348. package/lib/components/calendar/src/calendar.js +45 -377
  349. package/lib/components/calendar/src/calendar.js.map +1 -1
  350. package/lib/components/calendar/src/calendar2.js +377 -45
  351. package/lib/components/calendar/src/calendar2.js.map +1 -1
  352. package/lib/components/calendar/src/date-table.js +35 -89
  353. package/lib/components/calendar/src/date-table.js.map +1 -1
  354. package/lib/components/calendar/src/date-table2.js +89 -35
  355. package/lib/components/calendar/src/date-table2.js.map +1 -1
  356. package/lib/components/calendar/src/use-date-table.js +1 -1
  357. package/lib/components/card/index.js +2 -2
  358. package/lib/components/card/src/card.js +22 -42
  359. package/lib/components/card/src/card.js.map +1 -1
  360. package/lib/components/card/src/card2.js +42 -22
  361. package/lib/components/card/src/card2.js.map +1 -1
  362. package/lib/components/carousel/index.js +4 -4
  363. package/lib/components/carousel/src/carousel-item.js +7 -69
  364. package/lib/components/carousel/src/carousel-item.js.map +1 -1
  365. package/lib/components/carousel/src/carousel-item2.js +69 -7
  366. package/lib/components/carousel/src/carousel-item2.js.map +1 -1
  367. package/lib/components/carousel/src/carousel.js +214 -62
  368. package/lib/components/carousel/src/carousel.js.map +1 -1
  369. package/lib/components/carousel/src/carousel2.js +62 -214
  370. package/lib/components/carousel/src/carousel2.js.map +1 -1
  371. package/lib/components/cascader/index.js +2 -2
  372. package/lib/components/cascader/src/cascader.js +719 -94
  373. package/lib/components/cascader/src/cascader.js.map +1 -1
  374. package/lib/components/cascader/src/cascader2.js +94 -719
  375. package/lib/components/cascader/src/cascader2.js.map +1 -1
  376. package/lib/components/cascader-panel/src/index.js +1 -1
  377. package/lib/components/cascader-panel/src/menu.js +1 -1
  378. package/lib/components/cascader-panel/src/node.js +115 -194
  379. package/lib/components/cascader-panel/src/node.js.map +1 -1
  380. package/lib/components/cascader-panel/src/node2.js +194 -115
  381. package/lib/components/cascader-panel/src/node2.js.map +1 -1
  382. package/lib/components/cascader-panel/src/store.js +1 -1
  383. package/lib/components/check-tag/index.js +2 -2
  384. package/lib/components/check-tag/src/check-tag.js +38 -15
  385. package/lib/components/check-tag/src/check-tag.js.map +1 -1
  386. package/lib/components/check-tag/src/check-tag2.js +15 -38
  387. package/lib/components/check-tag/src/check-tag2.js.map +1 -1
  388. package/lib/components/collection/index.js +1 -1
  389. package/lib/components/collection/src/collection.js +9 -62
  390. package/lib/components/collection/src/collection.js.map +1 -1
  391. package/lib/components/collection/src/collection2.js +62 -9
  392. package/lib/components/collection/src/collection2.js.map +1 -1
  393. package/lib/components/color-picker/index.js +2 -2
  394. package/lib/components/color-picker/src/color-picker.js +398 -45
  395. package/lib/components/color-picker/src/color-picker.js.map +1 -1
  396. package/lib/components/color-picker/src/color-picker2.js +45 -398
  397. package/lib/components/color-picker/src/color-picker2.js.map +1 -1
  398. package/lib/components/color-picker/src/components/predefine.js +1 -1
  399. package/lib/components/descriptions/index.js +2 -2
  400. package/lib/components/descriptions/src/description.js +30 -164
  401. package/lib/components/descriptions/src/description.js.map +1 -1
  402. package/lib/components/descriptions/src/description2.js +164 -30
  403. package/lib/components/descriptions/src/description2.js.map +1 -1
  404. package/lib/components/descriptions/src/descriptions-row.js +6 -63
  405. package/lib/components/descriptions/src/descriptions-row.js.map +1 -1
  406. package/lib/components/descriptions/src/descriptions-row2.js +63 -6
  407. package/lib/components/descriptions/src/descriptions-row2.js.map +1 -1
  408. package/lib/components/dialog/index.js +2 -2
  409. package/lib/components/dialog/src/dialog.js +192 -82
  410. package/lib/components/dialog/src/dialog.js.map +1 -1
  411. package/lib/components/dialog/src/dialog2.js +82 -192
  412. package/lib/components/dialog/src/dialog2.js.map +1 -1
  413. package/lib/components/divider/index.js +2 -2
  414. package/lib/components/divider/src/divider.js +16 -34
  415. package/lib/components/divider/src/divider.js.map +1 -1
  416. package/lib/components/divider/src/divider2.js +34 -16
  417. package/lib/components/divider/src/divider2.js.map +1 -1
  418. package/lib/components/drawer/src/drawer.js +1 -1
  419. package/lib/components/dropdown/src/dropdown-item-impl.js +2 -2
  420. package/lib/components/dropdown/src/dropdown-menu.js +1 -1
  421. package/lib/components/dropdown/src/dropdown.js +2 -2
  422. package/lib/components/dropdown/src/dropdown2.js +1 -1
  423. package/lib/components/empty/index.js +2 -2
  424. package/lib/components/empty/src/empty.js +11 -52
  425. package/lib/components/empty/src/empty.js.map +1 -1
  426. package/lib/components/empty/src/empty2.js +52 -11
  427. package/lib/components/empty/src/empty2.js.map +1 -1
  428. package/lib/components/form/index.js +2 -2
  429. package/lib/components/form/src/form-item.js +375 -57
  430. package/lib/components/form/src/form-item.js.map +1 -1
  431. package/lib/components/form/src/form-item2.js +57 -375
  432. package/lib/components/form/src/form-item2.js.map +1 -1
  433. package/lib/components/index.js +50 -50
  434. package/lib/components/link/index.js +2 -2
  435. package/lib/components/link/src/link.js +26 -71
  436. package/lib/components/link/src/link.js.map +1 -1
  437. package/lib/components/link/src/link2.js +71 -26
  438. package/lib/components/link/src/link2.js.map +1 -1
  439. package/lib/components/pagination/src/components/pager.js +210 -16
  440. package/lib/components/pagination/src/components/pager.js.map +1 -1
  441. package/lib/components/pagination/src/components/pager2.js +16 -210
  442. package/lib/components/pagination/src/components/pager2.js.map +1 -1
  443. package/lib/components/pagination/src/components/prev.js +35 -18
  444. package/lib/components/pagination/src/components/prev.js.map +1 -1
  445. package/lib/components/pagination/src/components/prev2.js +18 -35
  446. package/lib/components/pagination/src/components/prev2.js.map +1 -1
  447. package/lib/components/pagination/src/components/total.js +6 -26
  448. package/lib/components/pagination/src/components/total.js.map +1 -1
  449. package/lib/components/pagination/src/components/total2.js +26 -6
  450. package/lib/components/pagination/src/components/total2.js.map +1 -1
  451. package/lib/components/pagination/src/pagination.js +3 -3
  452. package/lib/components/popconfirm/src/popconfirm2.js +1 -1
  453. package/lib/components/popover/src/popover2.js +1 -1
  454. package/lib/components/popper/index.js +4 -4
  455. package/lib/components/popper/src/arrow.js +30 -8
  456. package/lib/components/popper/src/arrow.js.map +1 -1
  457. package/lib/components/popper/src/arrow2.js +8 -30
  458. package/lib/components/popper/src/arrow2.js.map +1 -1
  459. package/lib/components/popper/src/content.js +1 -1
  460. package/lib/components/popper/src/trigger.js +127 -32
  461. package/lib/components/popper/src/trigger.js.map +1 -1
  462. package/lib/components/popper/src/trigger2.js +32 -127
  463. package/lib/components/popper/src/trigger2.js.map +1 -1
  464. package/lib/components/radio/index.js +2 -2
  465. package/lib/components/radio/src/radio-button.js +1 -1
  466. package/lib/components/radio/src/radio-group copy.js +1 -1
  467. package/lib/components/radio/src/radio-group.js +1 -1
  468. package/lib/components/radio/src/radio-group2.js +1 -1
  469. package/lib/components/radio/src/radio.js +82 -33
  470. package/lib/components/radio/src/radio.js.map +1 -1
  471. package/lib/components/radio/src/radio2.js +33 -82
  472. package/lib/components/radio/src/radio2.js.map +1 -1
  473. package/lib/components/roving-focus-group/index.js +2 -2
  474. package/lib/components/roving-focus-group/src/roving-focus-group-impl.js +1 -1
  475. package/lib/components/roving-focus-group/src/roving-focus-group.js +31 -27
  476. package/lib/components/roving-focus-group/src/roving-focus-group.js.map +1 -1
  477. package/lib/components/roving-focus-group/src/roving-focus-group2.js +27 -31
  478. package/lib/components/roving-focus-group/src/roving-focus-group2.js.map +1 -1
  479. package/lib/components/roving-focus-group/src/roving-focus-item.js +1 -1
  480. package/lib/components/row/index.js +2 -2
  481. package/lib/components/row/src/row.js +51 -30
  482. package/lib/components/row/src/row.js.map +1 -1
  483. package/lib/components/row/src/row2.js +30 -51
  484. package/lib/components/row/src/row2.js.map +1 -1
  485. package/lib/components/scrollbar/index.js +2 -2
  486. package/lib/components/scrollbar/src/bar.js +10 -64
  487. package/lib/components/scrollbar/src/bar.js.map +1 -1
  488. package/lib/components/scrollbar/src/bar2.js +64 -10
  489. package/lib/components/scrollbar/src/bar2.js.map +1 -1
  490. package/lib/components/scrollbar/src/scrollbar.js +187 -54
  491. package/lib/components/scrollbar/src/scrollbar.js.map +1 -1
  492. package/lib/components/scrollbar/src/scrollbar2.js +54 -187
  493. package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
  494. package/lib/components/segmented/index.js +2 -2
  495. package/lib/components/segmented/src/segmented.js +44 -168
  496. package/lib/components/segmented/src/segmented.js.map +1 -1
  497. package/lib/components/segmented/src/segmented2.js +168 -44
  498. package/lib/components/segmented/src/segmented2.js.map +1 -1
  499. package/lib/components/select/index.js +1 -1
  500. package/lib/components/select/src/option.js +14 -104
  501. package/lib/components/select/src/option.js.map +1 -1
  502. package/lib/components/select/src/option2.js +104 -14
  503. package/lib/components/select/src/option2.js.map +1 -1
  504. package/lib/components/select/src/select.js +1 -1
  505. package/lib/components/select/src/select2.js +1 -1
  506. package/lib/components/select/src/useOption.js +1 -1
  507. package/lib/components/slider-block-vertify/index.js +2 -2
  508. package/lib/components/slider-block-vertify/src/slider-block-vertify.js +196 -5
  509. package/lib/components/slider-block-vertify/src/slider-block-vertify.js.map +1 -1
  510. package/lib/components/slider-block-vertify/src/slider-block-vertify2.js +5 -196
  511. package/lib/components/slider-block-vertify/src/slider-block-vertify2.js.map +1 -1
  512. package/lib/components/splitter/index.js +2 -2
  513. package/lib/components/splitter/src/split-panel.js +152 -17
  514. package/lib/components/splitter/src/split-panel.js.map +1 -1
  515. package/lib/components/splitter/src/split-panel2.js +17 -152
  516. package/lib/components/splitter/src/split-panel2.js.map +1 -1
  517. package/lib/components/statistic/index.js +2 -2
  518. package/lib/components/statistic/src/statistic.js +25 -69
  519. package/lib/components/statistic/src/statistic.js.map +1 -1
  520. package/lib/components/statistic/src/statistic2.js +69 -25
  521. package/lib/components/statistic/src/statistic2.js.map +1 -1
  522. package/lib/components/steps/index.js +2 -2
  523. package/lib/components/steps/src/item.js +192 -19
  524. package/lib/components/steps/src/item.js.map +1 -1
  525. package/lib/components/steps/src/item2.js +19 -192
  526. package/lib/components/steps/src/item2.js.map +1 -1
  527. package/lib/components/switch/index.js +2 -2
  528. package/lib/components/switch/src/switch.js +72 -227
  529. package/lib/components/switch/src/switch.js.map +1 -1
  530. package/lib/components/switch/src/switch2.js +227 -72
  531. package/lib/components/switch/src/switch2.js.map +1 -1
  532. package/lib/components/tabs/index.js +3 -3
  533. package/lib/components/tabs/src/tab-bar.js +11 -87
  534. package/lib/components/tabs/src/tab-bar.js.map +1 -1
  535. package/lib/components/tabs/src/tab-bar2.js +87 -11
  536. package/lib/components/tabs/src/tab-bar2.js.map +1 -1
  537. package/lib/components/tabs/src/tab-nav.js +1 -1
  538. package/lib/components/tabs/src/tab-pane.js +82 -13
  539. package/lib/components/tabs/src/tab-pane.js.map +1 -1
  540. package/lib/components/tabs/src/tab-pane2.js +13 -82
  541. package/lib/components/tabs/src/tab-pane2.js.map +1 -1
  542. package/lib/components/tooltip/index.js +3 -3
  543. package/lib/components/tooltip/src/tooltip.js +32 -167
  544. package/lib/components/tooltip/src/tooltip.js.map +1 -1
  545. package/lib/components/tooltip/src/tooltip2.js +167 -32
  546. package/lib/components/tooltip/src/tooltip2.js.map +1 -1
  547. package/lib/components/tooltip/src/trigger.js +14 -72
  548. package/lib/components/tooltip/src/trigger.js.map +1 -1
  549. package/lib/components/tooltip/src/trigger2.js +72 -14
  550. package/lib/components/tooltip/src/trigger2.js.map +1 -1
  551. package/lib/components/tooltip-v2/index.js +2 -2
  552. package/lib/components/tooltip-v2/src/content.js +110 -48
  553. package/lib/components/tooltip-v2/src/content.js.map +1 -1
  554. package/lib/components/tooltip-v2/src/content2.js +48 -110
  555. package/lib/components/tooltip-v2/src/content2.js.map +1 -1
  556. package/lib/components/tooltip-v2/src/root.js +79 -17
  557. package/lib/components/tooltip-v2/src/root.js.map +1 -1
  558. package/lib/components/tooltip-v2/src/root2.js +17 -79
  559. package/lib/components/tooltip-v2/src/root2.js.map +1 -1
  560. package/lib/components/tooltip-v2/src/tooltip.js +4 -4
  561. package/lib/components/tooltip-v2/src/tooltip2.js +2 -2
  562. package/lib/components/tour/index.js +3 -3
  563. package/lib/components/tour/src/content.js +67 -46
  564. package/lib/components/tour/src/content.js.map +1 -1
  565. package/lib/components/tour/src/content2.js +46 -67
  566. package/lib/components/tour/src/content2.js.map +1 -1
  567. package/lib/components/tour/src/mask.js +18 -75
  568. package/lib/components/tour/src/mask.js.map +1 -1
  569. package/lib/components/tour/src/mask2.js +75 -18
  570. package/lib/components/tour/src/mask2.js.map +1 -1
  571. package/lib/components/tour/src/step.js +167 -44
  572. package/lib/components/tour/src/step.js.map +1 -1
  573. package/lib/components/tour/src/step2.js +44 -167
  574. package/lib/components/tour/src/step2.js.map +1 -1
  575. package/lib/components/tour/src/tour.js +1 -1
  576. package/lib/components/tour/src/tour2.js +2 -2
  577. package/lib/components/transfer/src/composables/use-check.js +1 -1
  578. package/lib/components/transfer/src/transfer-panel.js +21 -130
  579. package/lib/components/transfer/src/transfer-panel.js.map +1 -1
  580. package/lib/components/transfer/src/transfer-panel2.js +130 -21
  581. package/lib/components/transfer/src/transfer-panel2.js.map +1 -1
  582. package/lib/components/transfer/src/transfer.js +1 -1
  583. package/lib/components/upload/index.js +2 -2
  584. package/lib/components/upload/src/upload-content.js +1 -1
  585. package/lib/components/upload/src/upload-content2.js +1 -1
  586. package/lib/components/upload/src/upload-list.js +1 -1
  587. package/lib/components/upload/src/upload.js +100 -125
  588. package/lib/components/upload/src/upload.js.map +1 -1
  589. package/lib/components/upload/src/upload2.js +125 -100
  590. package/lib/components/upload/src/upload2.js.map +1 -1
  591. package/lib/components/upload/src/use-handlers.js +1 -1
  592. package/lib/components/visual-hidden/index.js +2 -2
  593. package/lib/components/visual-hidden/src/visual-hidden.js +35 -6
  594. package/lib/components/visual-hidden/src/visual-hidden.js.map +1 -1
  595. package/lib/components/visual-hidden/src/visual-hidden2.js +6 -35
  596. package/lib/components/visual-hidden/src/visual-hidden2.js.map +1 -1
  597. package/lib/components/watermark/index.js +2 -2
  598. package/lib/components/watermark/src/watermark.js +27 -220
  599. package/lib/components/watermark/src/watermark.js.map +1 -1
  600. package/lib/components/watermark/src/watermark2.js +220 -27
  601. package/lib/components/watermark/src/watermark2.js.map +1 -1
  602. package/lib/directives/click-outside/index.js +1 -1
  603. package/lib/hooks/use-focus-controller/index.js +1 -1
  604. package/lib/hooks/use-lockscreen/index.js +1 -1
  605. package/lib/index.js +50 -50
  606. package/package.json +1 -1
  607. package/theme-chalk/index.css +1 -1
  608. package/theme-chalk/sl-calendar.css +1 -1
  609. package/theme-chalk/src/calendar.scss +1 -1
  610. package/web-types.json +1 -1
@@ -2,81 +2,236 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var validator = require('../../../utils/vue/validator.js');
6
- var runtime = require('../../../utils/vue/props/runtime.js');
7
- var icon = require('../../../utils/vue/icon.js');
8
- var index = require('../../../hooks/use-aria/index.js');
5
+ var vue = require('vue');
6
+ var index$1 = require('../../icon/index.js');
7
+ var iconsVue = require('@sl-design/icons-vue');
8
+ var _switch = require('./switch.js');
9
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
10
+ var useFormItem = require('../../form/src/hooks/use-form-item.js');
11
+ var useFormCommonProps = require('../../form/src/hooks/use-form-common-props.js');
12
+ var index = require('../../../hooks/use-namespace/index.js');
13
+ var style = require('../../../utils/dom/style.js');
9
14
  var event = require('../../../constants/event.js');
10
- var types = require('../../../utils/types.js');
15
+ var error = require('../../../utils/error.js');
11
16
  var shared = require('@vue/shared');
17
+ var types = require('../../../utils/types.js');
12
18
 
13
- const switchProps = runtime.buildProps({
14
- modelValue: {
15
- type: [Boolean, String, Number],
16
- default: false
17
- },
18
- disabled: Boolean,
19
- loading: Boolean,
20
- size: {
21
- type: String,
22
- validator: validator.isValidComponentSize
23
- },
24
- width: {
25
- type: [String, Number],
26
- default: ""
27
- },
28
- inlinePrompt: Boolean,
29
- inactiveActionIcon: {
30
- type: icon.iconPropType
31
- },
32
- activeActionIcon: {
33
- type: icon.iconPropType
34
- },
35
- activeIcon: {
36
- type: icon.iconPropType
37
- },
38
- inactiveIcon: {
39
- type: icon.iconPropType
40
- },
41
- activeText: {
42
- type: String,
43
- default: ""
44
- },
45
- inactiveText: {
46
- type: String,
47
- default: ""
48
- },
49
- activeValue: {
50
- type: [Boolean, String, Number],
51
- default: true
52
- },
53
- inactiveValue: {
54
- type: [Boolean, String, Number],
55
- default: false
56
- },
57
- name: {
58
- type: String,
59
- default: ""
60
- },
61
- validateEvent: {
62
- type: Boolean,
63
- default: true
64
- },
65
- beforeChange: {
66
- type: runtime.definePropType(Function)
67
- },
68
- id: String,
69
- tabindex: {
70
- type: [String, Number]
71
- },
72
- ...index.useAriaProps(["ariaLabel"])
19
+ const COMPONENT_NAME = "SlSwitch";
20
+ const __default__ = vue.defineComponent({
21
+ name: COMPONENT_NAME
22
+ });
23
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
24
+ ...__default__,
25
+ props: _switch.switchProps,
26
+ emits: _switch.switchEmits,
27
+ setup(__props, { expose, emit }) {
28
+ const props = __props;
29
+ const { formItem } = useFormItem.useFormItem();
30
+ const switchSize = useFormCommonProps.useFormSize();
31
+ const ns = index.useNamespace("switch");
32
+ const { inputId } = useFormItem.useFormItemInputId(props, {
33
+ formItemContext: formItem
34
+ });
35
+ const switchDisabled = useFormCommonProps.useFormDisabled(vue.computed(() => props.loading));
36
+ const isControlled = vue.ref(props.modelValue !== false);
37
+ const input = vue.ref();
38
+ const core = vue.ref();
39
+ const switchKls = vue.computed(() => [
40
+ ns.b(),
41
+ ns.m(switchSize.value),
42
+ ns.is("disabled", switchDisabled.value),
43
+ ns.is("checked", checked.value)
44
+ ]);
45
+ const labelLeftKls = vue.computed(() => [
46
+ ns.e("label"),
47
+ ns.em("label", "left"),
48
+ ns.is("active", !checked.value)
49
+ ]);
50
+ const labelRightKls = vue.computed(() => [
51
+ ns.e("label"),
52
+ ns.em("label", "right"),
53
+ ns.is("active", checked.value)
54
+ ]);
55
+ const coreStyle = vue.computed(() => ({
56
+ width: style.addUnit(props.width)
57
+ }));
58
+ vue.watch(() => props.modelValue, () => {
59
+ isControlled.value = true;
60
+ });
61
+ const actualValue = vue.computed(() => {
62
+ return isControlled.value ? props.modelValue : false;
63
+ });
64
+ const checked = vue.computed(() => actualValue.value === props.activeValue);
65
+ if (![props.activeValue, props.inactiveValue].includes(actualValue.value)) {
66
+ emit(event.UPDATE_MODEL_EVENT, props.inactiveValue);
67
+ emit(event.CHANGE_EVENT, props.inactiveValue);
68
+ emit(event.INPUT_EVENT, props.inactiveValue);
69
+ }
70
+ vue.watch(checked, (val) => {
71
+ var _a;
72
+ input.value.checked = val;
73
+ if (props.validateEvent) {
74
+ (_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "change").catch((err) => error.debugWarn(err));
75
+ }
76
+ });
77
+ const handleChange = () => {
78
+ const val = checked.value ? props.inactiveValue : props.activeValue;
79
+ emit(event.UPDATE_MODEL_EVENT, val);
80
+ emit(event.CHANGE_EVENT, val);
81
+ emit(event.INPUT_EVENT, val);
82
+ vue.nextTick(() => {
83
+ input.value.checked = checked.value;
84
+ });
85
+ };
86
+ const switchValue = () => {
87
+ if (switchDisabled.value)
88
+ return;
89
+ const { beforeChange } = props;
90
+ if (!beforeChange) {
91
+ handleChange();
92
+ return;
93
+ }
94
+ const shouldChange = beforeChange();
95
+ const isPromiseOrBool = [
96
+ shared.isPromise(shouldChange),
97
+ types.isBoolean(shouldChange)
98
+ ].includes(true);
99
+ if (!isPromiseOrBool) {
100
+ error.throwError(COMPONENT_NAME, "beforeChange must return type `Promise<boolean>` or `boolean`");
101
+ }
102
+ if (shared.isPromise(shouldChange)) {
103
+ shouldChange.then((result) => {
104
+ if (result) {
105
+ handleChange();
106
+ }
107
+ }).catch((e) => {
108
+ error.debugWarn(COMPONENT_NAME, `some error occurred: ${e}`);
109
+ });
110
+ } else if (shouldChange) {
111
+ handleChange();
112
+ }
113
+ };
114
+ const focus = () => {
115
+ var _a, _b;
116
+ (_b = (_a = input.value) == null ? void 0 : _a.focus) == null ? void 0 : _b.call(_a);
117
+ };
118
+ vue.onMounted(() => {
119
+ input.value.checked = checked.value;
120
+ });
121
+ expose({
122
+ focus,
123
+ checked
124
+ });
125
+ return (_ctx, _cache) => {
126
+ return vue.openBlock(), vue.createElementBlock("div", {
127
+ class: vue.normalizeClass(vue.unref(switchKls)),
128
+ onClick: vue.withModifiers(switchValue, ["prevent"])
129
+ }, [
130
+ vue.createElementVNode("input", {
131
+ id: vue.unref(inputId),
132
+ ref_key: "input",
133
+ ref: input,
134
+ class: vue.normalizeClass(vue.unref(ns).e("input")),
135
+ type: "checkbox",
136
+ role: "switch",
137
+ "aria-checked": vue.unref(checked),
138
+ "aria-disabled": vue.unref(switchDisabled),
139
+ "aria-label": _ctx.ariaLabel,
140
+ name: _ctx.name,
141
+ "true-value": _ctx.activeValue,
142
+ "false-value": _ctx.inactiveValue,
143
+ disabled: vue.unref(switchDisabled),
144
+ tabindex: _ctx.tabindex,
145
+ onChange: handleChange,
146
+ onKeydown: vue.withKeys(switchValue, ["enter"])
147
+ }, null, 42, ["id", "aria-checked", "aria-disabled", "aria-label", "name", "true-value", "false-value", "disabled", "tabindex", "onKeydown"]),
148
+ !_ctx.inlinePrompt && (_ctx.inactiveIcon || _ctx.inactiveText) ? (vue.openBlock(), vue.createElementBlock("span", {
149
+ key: 0,
150
+ class: vue.normalizeClass(vue.unref(labelLeftKls))
151
+ }, [
152
+ _ctx.inactiveIcon ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.SlIcon), { key: 0 }, {
153
+ default: vue.withCtx(() => [
154
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.inactiveIcon)))
155
+ ]),
156
+ _: 1
157
+ })) : vue.createCommentVNode("v-if", true),
158
+ !_ctx.inactiveIcon && _ctx.inactiveText ? (vue.openBlock(), vue.createElementBlock("span", {
159
+ key: 1,
160
+ "aria-hidden": vue.unref(checked)
161
+ }, vue.toDisplayString(_ctx.inactiveText), 9, ["aria-hidden"])) : vue.createCommentVNode("v-if", true)
162
+ ], 2)) : vue.createCommentVNode("v-if", true),
163
+ vue.createElementVNode("span", {
164
+ ref_key: "core",
165
+ ref: core,
166
+ class: vue.normalizeClass(vue.unref(ns).e("core")),
167
+ style: vue.normalizeStyle(vue.unref(coreStyle))
168
+ }, [
169
+ _ctx.inlinePrompt ? (vue.openBlock(), vue.createElementBlock("div", {
170
+ key: 0,
171
+ class: vue.normalizeClass(vue.unref(ns).e("inner"))
172
+ }, [
173
+ _ctx.activeIcon || _ctx.inactiveIcon ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.SlIcon), {
174
+ key: 0,
175
+ class: vue.normalizeClass(vue.unref(ns).is("icon"))
176
+ }, {
177
+ default: vue.withCtx(() => [
178
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(checked) ? _ctx.activeIcon : _ctx.inactiveIcon)))
179
+ ]),
180
+ _: 1
181
+ }, 8, ["class"])) : _ctx.activeText || _ctx.inactiveText ? (vue.openBlock(), vue.createElementBlock("span", {
182
+ key: 1,
183
+ class: vue.normalizeClass(vue.unref(ns).is("text")),
184
+ "aria-hidden": !vue.unref(checked)
185
+ }, vue.toDisplayString(vue.unref(checked) ? _ctx.activeText : _ctx.inactiveText), 11, ["aria-hidden"])) : vue.createCommentVNode("v-if", true)
186
+ ], 2)) : vue.createCommentVNode("v-if", true),
187
+ vue.createElementVNode("div", {
188
+ class: vue.normalizeClass(vue.unref(ns).e("action"))
189
+ }, [
190
+ _ctx.loading ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.SlIcon), {
191
+ key: 0,
192
+ class: vue.normalizeClass(vue.unref(ns).is("loading"))
193
+ }, {
194
+ default: vue.withCtx(() => [
195
+ vue.createVNode(vue.unref(iconsVue.Loading))
196
+ ]),
197
+ _: 1
198
+ }, 8, ["class"])) : vue.unref(checked) ? vue.renderSlot(_ctx.$slots, "active-action", { key: 1 }, () => [
199
+ _ctx.activeActionIcon ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.SlIcon), { key: 0 }, {
200
+ default: vue.withCtx(() => [
201
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.activeActionIcon)))
202
+ ]),
203
+ _: 1
204
+ })) : vue.createCommentVNode("v-if", true)
205
+ ]) : !vue.unref(checked) ? vue.renderSlot(_ctx.$slots, "inactive-action", { key: 2 }, () => [
206
+ _ctx.inactiveActionIcon ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.SlIcon), { key: 0 }, {
207
+ default: vue.withCtx(() => [
208
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.inactiveActionIcon)))
209
+ ]),
210
+ _: 1
211
+ })) : vue.createCommentVNode("v-if", true)
212
+ ]) : vue.createCommentVNode("v-if", true)
213
+ ], 2)
214
+ ], 6),
215
+ !_ctx.inlinePrompt && (_ctx.activeIcon || _ctx.activeText) ? (vue.openBlock(), vue.createElementBlock("span", {
216
+ key: 1,
217
+ class: vue.normalizeClass(vue.unref(labelRightKls))
218
+ }, [
219
+ _ctx.activeIcon ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.SlIcon), { key: 0 }, {
220
+ default: vue.withCtx(() => [
221
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.activeIcon)))
222
+ ]),
223
+ _: 1
224
+ })) : vue.createCommentVNode("v-if", true),
225
+ !_ctx.activeIcon && _ctx.activeText ? (vue.openBlock(), vue.createElementBlock("span", {
226
+ key: 1,
227
+ "aria-hidden": !vue.unref(checked)
228
+ }, vue.toDisplayString(_ctx.activeText), 9, ["aria-hidden"])) : vue.createCommentVNode("v-if", true)
229
+ ], 2)) : vue.createCommentVNode("v-if", true)
230
+ ], 10, ["onClick"]);
231
+ };
232
+ }
73
233
  });
74
- const switchEmits = {
75
- [event.UPDATE_MODEL_EVENT]: (val) => types.isBoolean(val) || shared.isString(val) || types.isNumber(val),
76
- [event.CHANGE_EVENT]: (val) => types.isBoolean(val) || shared.isString(val) || types.isNumber(val),
77
- [event.INPUT_EVENT]: (val) => types.isBoolean(val) || shared.isString(val) || types.isNumber(val)
78
- };
234
+ var Switch = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "switch.vue"]]);
79
235
 
80
- exports.switchEmits = switchEmits;
81
- exports.switchProps = switchProps;
236
+ exports["default"] = Switch;
82
237
  //# sourceMappingURL=switch2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"switch2.js","sources":["../../../../../../packages/components/switch/src/switch.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n iconPropType,\n isBoolean,\n isNumber,\n isString,\n isValidComponentSize,\n} from '@sl-ui-pc/utils'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@sl-ui-pc/constants'\nimport { useAriaProps } from '@sl-ui-pc/hooks'\n\nimport type { ComponentSize } from '@sl-ui-pc/constants'\nimport type Switch from './switch.vue'\nimport type { ExtractPropTypes, PropType, __ExtractPublicPropTypes } from 'vue'\n\nexport const switchProps = buildProps({\n /**\n * @description binding value, it should be equivalent to either `active-value` or `inactive-value`, by default it's `boolean` type\n */\n modelValue: {\n type: [Boolean, String, Number],\n default: false,\n },\n /**\n * @description whether Switch is disabled\n */\n disabled: Boolean,\n /**\n * @description whether Switch is in loading state\n */\n loading: Boolean,\n /**\n * @description size of Switch\n */\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n /**\n * @description width of Switch\n */\n width: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description whether icon or text is displayed inside dot, only the first character will be rendered for text\n */\n inlinePrompt: Boolean,\n /**\n * @description component of the icon displayed in action when in `off` state\n */\n inactiveActionIcon: {\n type: iconPropType,\n },\n /**\n * @description component of the icon displayed in action when in `on` state\n */\n activeActionIcon: {\n type: iconPropType,\n },\n /**\n * @description component of the icon displayed when in `on` state, overrides `active-text`\n */\n activeIcon: {\n type: iconPropType,\n },\n /**\n * @description component of the icon displayed when in `off` state, overrides `inactive-text`\n */\n inactiveIcon: {\n type: iconPropType,\n },\n /**\n * @description text displayed when in `on` state\n */\n activeText: {\n type: String,\n default: '',\n },\n /**\n * @description text displayed when in `off` state\n */\n inactiveText: {\n type: String,\n default: '',\n },\n /**\n * @description switch value when in `on` state\n */\n activeValue: {\n type: [Boolean, String, Number],\n default: true,\n },\n /**\n * @description switch value when in `off` state\n */\n inactiveValue: {\n type: [Boolean, String, Number],\n default: false,\n },\n /**\n * @description input name of Switch\n */\n name: {\n type: String,\n default: '',\n },\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description before-change hook before the switch state changes. If `false` is returned or a `Promise` is returned and then is rejected, will stop switching\n */\n beforeChange: {\n type: definePropType<() => Promise<boolean> | boolean>(Function),\n },\n /**\n * @description id for input\n */\n id: String,\n /**\n * @description tabindex for input\n */\n tabindex: {\n type: [String, Number],\n },\n ...useAriaProps(['ariaLabel']),\n} as const)\n\nexport type SwitchProps = ExtractPropTypes<typeof switchProps>\nexport type SwitchPropsPublic = __ExtractPublicPropTypes<typeof switchProps>\n\nexport const switchEmits = {\n [UPDATE_MODEL_EVENT]: (val: boolean | string | number) =>\n isBoolean(val) || isString(val) || isNumber(val),\n [CHANGE_EVENT]: (val: boolean | string | number) =>\n isBoolean(val) || isString(val) || isNumber(val),\n [INPUT_EVENT]: (val: boolean | string | number) =>\n isBoolean(val) || isString(val) || isNumber(val),\n}\nexport type SwitchEmits = typeof switchEmits\n\nexport type SwitchInstance = InstanceType<typeof Switch> & unknown\n"],"names":["buildProps","isValidComponentSize","iconPropType","definePropType","useAriaProps","UPDATE_MODEL_EVENT","isBoolean","isString","isNumber","CHANGE_EVENT","INPUT_EVENT"],"mappings":";;;;;;;;;;;;AAeY,MAAC,WAAW,GAAGA,kBAAU,CAAC;AACtC,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC;AACnC,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,OAAO,EAAE,OAAO;AAClB,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,SAAS,EAAEC,8BAAoB;AACnC,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,YAAY,EAAE,OAAO;AACvB,EAAE,kBAAkB,EAAE;AACtB,IAAI,IAAI,EAAEC,iBAAY;AACtB,GAAG;AACH,EAAE,gBAAgB,EAAE;AACpB,IAAI,IAAI,EAAEA,iBAAY;AACtB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAEA,iBAAY;AACtB,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAEA,iBAAY;AACtB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC;AACnC,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC;AACnC,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAEC,sBAAc,CAAC,QAAQ,CAAC;AAClC,GAAG;AACH,EAAE,EAAE,EAAE,MAAM;AACZ,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,GAAG;AACH,EAAE,GAAGC,kBAAY,CAAC,CAAC,WAAW,CAAC,CAAC;AAChC,CAAC,EAAE;AACS,MAAC,WAAW,GAAG;AAC3B,EAAE,CAACC,wBAAkB,GAAG,CAAC,GAAG,KAAKC,eAAS,CAAC,GAAG,CAAC,IAAIC,eAAQ,CAAC,GAAG,CAAC,IAAIC,cAAQ,CAAC,GAAG,CAAC;AACjF,EAAE,CAACC,kBAAY,GAAG,CAAC,GAAG,KAAKH,eAAS,CAAC,GAAG,CAAC,IAAIC,eAAQ,CAAC,GAAG,CAAC,IAAIC,cAAQ,CAAC,GAAG,CAAC;AAC3E,EAAE,CAACE,iBAAW,GAAG,CAAC,GAAG,KAAKJ,eAAS,CAAC,GAAG,CAAC,IAAIC,eAAQ,CAAC,GAAG,CAAC,IAAIC,cAAQ,CAAC,GAAG,CAAC;AAC1E;;;;;"}
1
+ {"version":3,"file":"switch2.js","sources":["../../../../../../packages/components/switch/src/switch.vue"],"sourcesContent":["<template>\n <div :class=\"switchKls\" @click.prevent=\"switchValue\">\n <input\n :id=\"inputId\"\n ref=\"input\"\n :class=\"ns.e('input')\"\n type=\"checkbox\"\n role=\"switch\"\n :aria-checked=\"checked\"\n :aria-disabled=\"switchDisabled\"\n :aria-label=\"ariaLabel\"\n :name=\"name\"\n :true-value=\"activeValue\"\n :false-value=\"inactiveValue\"\n :disabled=\"switchDisabled\"\n :tabindex=\"tabindex\"\n @change=\"handleChange\"\n @keydown.enter=\"switchValue\"\n />\n <span\n v-if=\"!inlinePrompt && (inactiveIcon || inactiveText)\"\n :class=\"labelLeftKls\"\n >\n <sl-icon v-if=\"inactiveIcon\">\n <component :is=\"inactiveIcon\" />\n </sl-icon>\n <span v-if=\"!inactiveIcon && inactiveText\" :aria-hidden=\"checked\">{{\n inactiveText\n }}</span>\n </span>\n <span ref=\"core\" :class=\"ns.e('core')\" :style=\"coreStyle\">\n <div v-if=\"inlinePrompt\" :class=\"ns.e('inner')\">\n <template v-if=\"activeIcon || inactiveIcon\">\n <sl-icon :class=\"ns.is('icon')\">\n <component :is=\"checked ? activeIcon : inactiveIcon\" />\n </sl-icon>\n </template>\n <template v-else-if=\"activeText || inactiveText\">\n <span :class=\"ns.is('text')\" :aria-hidden=\"!checked\">\n {{ checked ? activeText : inactiveText }}\n </span>\n </template>\n </div>\n <div :class=\"ns.e('action')\">\n <sl-icon v-if=\"loading\" :class=\"ns.is('loading')\">\n <loading />\n </sl-icon>\n <slot v-else-if=\"checked\" name=\"active-action\">\n <sl-icon v-if=\"activeActionIcon\">\n <component :is=\"activeActionIcon\" />\n </sl-icon>\n </slot>\n <slot v-else-if=\"!checked\" name=\"inactive-action\">\n <sl-icon v-if=\"inactiveActionIcon\">\n <component :is=\"inactiveActionIcon\" />\n </sl-icon>\n </slot>\n </div>\n </span>\n <span\n v-if=\"!inlinePrompt && (activeIcon || activeText)\"\n :class=\"labelRightKls\"\n >\n <sl-icon v-if=\"activeIcon\">\n <component :is=\"activeIcon\" />\n </sl-icon>\n <span v-if=\"!activeIcon && activeText\" :aria-hidden=\"!checked\">{{\n activeText\n }}</span>\n </span>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, nextTick, onMounted, ref, watch } from 'vue'\nimport {\n addUnit,\n debugWarn,\n isBoolean,\n isPromise,\n throwError,\n} from '@sl-ui-pc/utils'\nimport SlIcon from '@sl-ui-pc/components/icon'\nimport {\n useFormDisabled,\n useFormItem,\n useFormItemInputId,\n useFormSize,\n} from '@sl-ui-pc/components/form'\nimport { Loading } from '@sl-design/icons-vue'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@sl-ui-pc/constants'\nimport { useNamespace } from '@sl-ui-pc/hooks'\nimport { switchEmits, switchProps } from './switch'\n\nimport type { CSSProperties } from 'vue'\n\nconst COMPONENT_NAME = 'SlSwitch'\ndefineOptions({\n name: COMPONENT_NAME,\n})\n\nconst props = defineProps(switchProps)\nconst emit = defineEmits(switchEmits)\n\nconst { formItem } = useFormItem()\nconst switchSize = useFormSize()\nconst ns = useNamespace('switch')\n\nconst { inputId } = useFormItemInputId(props, {\n formItemContext: formItem,\n})\n\nconst switchDisabled = useFormDisabled(computed(() => props.loading))\nconst isControlled = ref(props.modelValue !== false)\nconst input = ref<HTMLInputElement>()\nconst core = ref<HTMLSpanElement>()\n\nconst switchKls = computed(() => [\n ns.b(),\n ns.m(switchSize.value),\n ns.is('disabled', switchDisabled.value),\n ns.is('checked', checked.value),\n])\n\nconst labelLeftKls = computed(() => [\n ns.e('label'),\n ns.em('label', 'left'),\n ns.is('active', !checked.value),\n])\n\nconst labelRightKls = computed(() => [\n ns.e('label'),\n ns.em('label', 'right'),\n ns.is('active', checked.value),\n])\n\nconst coreStyle = computed<CSSProperties>(() => ({\n width: addUnit(props.width),\n}))\n\nwatch(\n () => props.modelValue,\n () => {\n isControlled.value = true\n }\n)\n\nconst actualValue = computed(() => {\n return isControlled.value ? props.modelValue : false\n})\n\nconst checked = computed(() => actualValue.value === props.activeValue)\n\nif (![props.activeValue, props.inactiveValue].includes(actualValue.value)) {\n emit(UPDATE_MODEL_EVENT, props.inactiveValue)\n emit(CHANGE_EVENT, props.inactiveValue)\n emit(INPUT_EVENT, props.inactiveValue)\n}\n\nwatch(checked, (val) => {\n input.value!.checked = val\n\n if (props.validateEvent) {\n formItem?.validate?.('change').catch((err) => debugWarn(err))\n }\n})\n\nconst handleChange = () => {\n const val = checked.value ? props.inactiveValue : props.activeValue\n emit(UPDATE_MODEL_EVENT, val)\n emit(CHANGE_EVENT, val)\n emit(INPUT_EVENT, val)\n nextTick(() => {\n input.value!.checked = checked.value\n })\n}\n\nconst switchValue = () => {\n if (switchDisabled.value) return\n\n const { beforeChange } = props\n if (!beforeChange) {\n handleChange()\n return\n }\n\n const shouldChange = beforeChange()\n\n const isPromiseOrBool = [\n isPromise(shouldChange),\n isBoolean(shouldChange),\n ].includes(true)\n if (!isPromiseOrBool) {\n throwError(\n COMPONENT_NAME,\n 'beforeChange must return type `Promise<boolean>` or `boolean`'\n )\n }\n\n if (isPromise(shouldChange)) {\n shouldChange\n .then((result) => {\n if (result) {\n handleChange()\n }\n })\n .catch((e) => {\n debugWarn(COMPONENT_NAME, `some error occurred: ${e}`)\n })\n } else if (shouldChange) {\n handleChange()\n }\n}\n\nconst focus = (): void => {\n input.value?.focus?.()\n}\n\nonMounted(() => {\n input.value!.checked = checked.value\n})\n\ndefineExpose({\n /**\n * @description manual focus to the switch component\n **/\n focus,\n /**\n * @description whether Switch is checked\n */\n checked,\n})\n</script>\n"],"names":["useFormItem","useFormSize","useNamespace","useFormItemInputId","useFormDisabled","computed","ref","addUnit","watch","UPDATE_MODEL_EVENT","INPUT_EVENT","debugWarn","CHANGE_EVENT","nextTick","isPromise","isBoolean","throwError","onMounted","_openBlock","_createElementBlock","_normalizeClass","_unref","_withModifiers","_createElementVNode"],"mappings":";;;;;;;;;;;;;;;;;;;uCAqGc,CAAA;AAAA,EACZ,IAAM,EAAA,cAAA;AACR;;;;;;;AAKA,IAAM,MAAA,EAAE,QAAS,EAAA,GAAIA,uBAAY,EAAA,CAAA;AACjC,IAAA,MAAM,aAAaC,8BAAY,EAAA,CAAA;AAC/B,IAAM,MAAA,EAAA,GAAKC,mBAAa,QAAQ,CAAA,CAAA;AAEhC,IAAA,MAAM,EAAE,OAAA,EAAY,GAAAC,8BAAA,CAAmB,KAAO,EAAA;AAAA,MAC5C,eAAiB,EAAA,QAAA;AAAA,KAClB,CAAA,CAAA;AAED,IAAA,MAAM,iBAAiBC,kCAAgB,CAAAC,YAAA,CAAS,MAAM,KAAA,CAAM,OAAO,CAAC,CAAA,CAAA;AACpE,IAAA,MAAM,YAAe,GAAAC,OAAA,CAAI,KAAM,CAAA,UAAA,KAAe,KAAK,CAAA,CAAA;AACnD,IAAA,MAAM,QAAQA,OAAsB,EAAA,CAAA;AACpC,IAAA,MAAM,OAAOA,OAAqB,EAAA,CAAA;AAElC,IAAM,MAAA,SAAA,GAAYD,aAAS,MAAM;AAAA,MAC/B,GAAG,CAAE,EAAA;AAAA,MACL,EAAA,CAAG,CAAE,CAAA,UAAA,CAAW,KAAK,CAAA;AAAA,MACrB,EAAG,CAAA,EAAA,CAAG,UAAY,EAAA,cAAA,CAAe,KAAK,CAAA;AAAA,MACtC,EAAG,CAAA,EAAA,CAAG,SAAW,EAAA,OAAA,CAAQ,KAAK,CAAA;AAAA,KAC/B,CAAA,CAAA;AAED,IAAM,MAAA,YAAA,GAAeA,aAAS,MAAM;AAAA,MAClC,EAAA,CAAG,EAAE,OAAO,CAAA;AAAA,MACZ,EAAA,CAAG,EAAG,CAAA,OAAA,EAAS,MAAM,CAAA;AAAA,MACrB,EAAG,CAAA,EAAA,CAAG,QAAU,EAAA,CAAC,QAAQ,KAAK,CAAA;AAAA,KAC/B,CAAA,CAAA;AAED,IAAM,MAAA,aAAA,GAAgBA,aAAS,MAAM;AAAA,MACnC,EAAA,CAAG,EAAE,OAAO,CAAA;AAAA,MACZ,EAAA,CAAG,EAAG,CAAA,OAAA,EAAS,OAAO,CAAA;AAAA,MACtB,EAAG,CAAA,EAAA,CAAG,QAAU,EAAA,OAAA,CAAQ,KAAK,CAAA;AAAA,KAC9B,CAAA,CAAA;AAED,IAAM,MAAA,SAAA,GAAYA,aAAwB,OAAO;AAAA,MAC/C,KAAA,EAAOE,aAAQ,CAAA,KAAA,CAAM,KAAK,CAAA;AAAA,KAC1B,CAAA,CAAA,CAAA;AAEF,IAAAC,SAAA,CAAA,MAAA,KAAA,CAAA,UAAA,EAAA,MAAA;AAAA,MACE,YAAY,CAAA,KAAA,GAAA,IAAA,CAAA;AAAA,KAAA,CACZ,CAAM;AACJ,IAAA,MAAA,WAAa,GAAQH,YAAA,CAAA,MAAA;AAAA,MACvB,OAAA,YAAA,CAAA,KAAA,GAAA,KAAA,CAAA,UAAA,GAAA,KAAA,CAAA;AAAA,KACF,CAAA,CAAA;AAEA,IAAM,MAAA,OAAA,GAAAA,mBAA6B,WAAA,CAAA,KAAA,KAAA,KAAA,CAAA,WAAA,CAAA,CAAA;AACjC,IAAO,IAAA,CAAA,CAAA,KAAA,CAAA,WAAqB,EAAA,KAAA,CAAA,aAAmB,CAAA,CAAA,QAAA,CAAA,WAAA,CAAA,KAAA,CAAA,EAAA;AAAA,MAChD,IAAA,CAAAI,wBAAA,EAAA,KAAA,CAAA,aAAA,CAAA,CAAA;AAED,MAAA,IAAM,mBAAmB,EAAA,KAAA,CAAA,aAAkB,CAAA,CAAA;AAE3C,MAAI,IAAE,CAAAC,iBAAmB,EAAA,KAAA,CAAA;AACvB,KAAK;AACL,IAAKF,SAAA,CAAA,OAAA,EAAA,CAAA,GAAA;AACL,MAAK,IAAA,EAAA,CAAA;AAAgC,MACvC,KAAA,CAAA,KAAA,CAAA,OAAA,GAAA,GAAA,CAAA;AAEA,MAAM,IAAA,KAAA,CAAA,aAAkB,EAAA;AACtB,QAAA,CAAA,EAAA,WAAuB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,QAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAA,QAAA,CAAA,CAAA,KAAA,CAAA,CAAA,GAAA,KAAAG,eAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AAEvB,OAAA;AACE,KAAU,CAAA,CAAA;AAAkD,IAC9D,MAAA,YAAA,GAAA,MAAA;AAAA,MACD,MAAA,GAAA,GAAA,OAAA,CAAA,KAAA,GAAA,KAAA,CAAA,aAAA,GAAA,KAAA,CAAA,WAAA,CAAA;AAED,MAAA,IAAM,yBAAqB,EAAA,GAAA,CAAA,CAAA;AACzB,MAAA,IAAA,CAAAC,kBAAY,EAAA,GAAgB,CAAA,CAAA;AAC5B,MAAA,IAAA,CAAKF;AACL,MAAAG;AACA,QAAA,mBAAqB,GAAA,OAAA,CAAA,KAAA,CAAA;AACrB,OAAA,CAAA,CAAA;AACE,KAAM,CAAA;AAAyB,IAAA,MAChC,WAAA,GAAA,MAAA;AAAA,MACH,IAAA,cAAA,CAAA,KAAA;AAEA,QAAA;AACE,MAAA,oBAA0B,EAAA,GAAA,KAAA,CAAA;AAE1B,MAAM,IAAA,CAAA;AACN,QAAA,YAAmB,EAAA,CAAA;AACjB,QAAa,OAAA;AACb,OAAA;AAAA,MACF,MAAA,YAAA,GAAA,YAAA,EAAA,CAAA;AAEA,MAAA,MAAM,eAAe,GAAa;AAElC,QAAAC,gBAAwB,CAAA,YAAA,CAAA;AAAA,QACtBC,gBAAU,YAAY,CAAA;AAAA,OAAA,CACtB,aAAsB,CAAA,CAAA;AAAA,MACxB,oBAAe,EAAA;AACf,QAAAC,gBAAsB,CAAA,cAAA,EAAA,+DAAA,CAAA,CAAA;AACpB,OAAA;AAAA,MACE,IAAAF,gBAAA,CAAA,YAAA,CAAA,EAAA;AAAA,QACA,YAAA,CAAA,IAAA,CAAA,CAAA,MAAA,KAAA;AAAA,UACF,IAAA,MAAA,EAAA;AAAA,YACF,YAAA,EAAA,CAAA;AAEA,WAAI;AACF,SACG,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA,KAAA;AACC,UAAAH,eAAY,CAAA,cAAA,EAAA,CAAA,qBAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACV,SAAa,CAAA,CAAA;AAAA,OACf,MAAA,IAAA,YAAA,EAAA;AAAA,QACF,YACc,EAAA,CAAA;AACZ,OAAU;AAA2C,KAAA,CAAA;AACtD,IAAA,cACoB,MAAA;AACvB,MAAa,IAAA,EAAA,EAAA,EAAA,CAAA;AAAA,MACf,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA;AAAA,KACF,CAAA;AAEA,IAAAM,oBAA0B;AACxB,MAAA,KAAA,CAAM,aAAe,GAAA,OAAA,CAAA,KAAA,CAAA;AAAA,KACvB,CAAA,CAAA;AAEA,IAAA,MAAA,CAAA;AACE,MAAM,KAAA;AAAyB,MAChC,OAAA;AAED,KAAa,CAAA,CAAA;AAAA,IAAA,OAAA,CAAA,IAAA,EAAA,MAAA,KAAA;AAAA,MAAA,OAAAC,aAAA,EAAA,EAAAC,sBAAA,CAAA,KAAA,EAAA;AAAA,QAAA,KAAA,EAAAC,kBAAA,CAAAC,SAAA,CAAA,SAAA,CAAA,CAAA;AAAA,QAIX,OAAA,EAAAC,iBAAA,CAAA,WAAA,EAAA,CAAA,SAAA,CAAA,CAAA;AAAA,OAAA,EAAA;AAAA,QAAAC,sBAAA,CAAA,OAAA,EAAA;AAAA,UAAA,EAAA,EAAAF,SAAA,CAAA,OAAA,CAAA;AAAA,UAIA,OAAA,EAAA,OAAA;AAAA,UACD,GAAA,EAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -3,10 +3,10 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var tabs = require('./src/tabs.js');
6
- var tabPane$1 = require('./src/tab-pane2.js');
7
- var tabBar = require('./src/tab-bar2.js');
6
+ var tabPane$1 = require('./src/tab-pane.js');
7
+ var tabBar = require('./src/tab-bar.js');
8
8
  var tabNav = require('./src/tab-nav.js');
9
- var tabPane = require('./src/tab-pane.js');
9
+ var tabPane = require('./src/tab-pane2.js');
10
10
  var constants = require('./src/constants.js');
11
11
  var install = require('../../utils/vue/install.js');
12
12
 
@@ -2,95 +2,19 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var vue = require('vue');
6
- var core = require('@vueuse/core');
7
- var constants = require('./constants.js');
8
- var tabBar = require('./tab-bar2.js');
9
- var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
10
- var strings = require('../../../utils/strings.js');
11
- var error = require('../../../utils/error.js');
12
- var index = require('../../../hooks/use-namespace/index.js');
13
- var types = require('../../../utils/types.js');
5
+ var runtime = require('../../../utils/vue/props/runtime.js');
6
+ var typescript = require('../../../utils/typescript.js');
14
7
 
15
- const COMPONENT_NAME = "SlTabBar";
16
- const __default__ = vue.defineComponent({
17
- name: COMPONENT_NAME
18
- });
19
- const _sfc_main = /* @__PURE__ */ vue.defineComponent({
20
- ...__default__,
21
- props: tabBar.tabBarProps,
22
- setup(__props, { expose }) {
23
- const props = __props;
24
- const rootTabs = vue.inject(constants.tabsRootContextKey);
25
- if (!rootTabs)
26
- error.throwError(COMPONENT_NAME, "<sl-tabs><sl-tab-bar /></sl-tabs>");
27
- const ns = index.useNamespace("tabs");
28
- const barRef = vue.ref();
29
- const barStyle = vue.ref();
30
- const getBarStyle = () => {
31
- let offset = 0;
32
- let tabSize = 0;
33
- const sizeName = ["top", "bottom"].includes(rootTabs.props.tabPosition) ? "width" : "height";
34
- const sizeDir = sizeName === "width" ? "x" : "y";
35
- const position = sizeDir === "x" ? "left" : "top";
36
- props.tabs.every((tab) => {
37
- if (types.isUndefined(tab.paneName))
38
- return false;
39
- const $el = props.tabRefs[tab.paneName];
40
- if (!$el)
41
- return false;
42
- if (!tab.active) {
43
- return true;
44
- }
45
- offset = $el[`offset${strings.capitalize(position)}`];
46
- tabSize = $el[`client${strings.capitalize(sizeName)}`];
47
- const tabStyles = window.getComputedStyle($el);
48
- if (sizeName === "width") {
49
- tabSize -= Number.parseFloat(tabStyles.paddingLeft) + Number.parseFloat(tabStyles.paddingRight);
50
- offset += Number.parseFloat(tabStyles.paddingLeft);
51
- }
52
- return false;
53
- });
54
- return {
55
- [sizeName]: `${tabSize}px`,
56
- transform: `translate${strings.capitalize(sizeDir)}(${offset}px)`
57
- };
58
- };
59
- const update = () => barStyle.value = getBarStyle();
60
- const saveObserver = [];
61
- const observerTabs = () => {
62
- saveObserver.forEach((observer) => observer.stop());
63
- saveObserver.length = 0;
64
- Object.values(props.tabRefs).forEach((tab) => {
65
- saveObserver.push(core.useResizeObserver(tab, update));
66
- });
67
- };
68
- vue.watch(() => props.tabs, async () => {
69
- await vue.nextTick();
70
- update();
71
- observerTabs();
72
- }, { immediate: true });
73
- const barObserever = core.useResizeObserver(barRef, () => update());
74
- vue.onBeforeUnmount(() => {
75
- saveObserver.forEach((observer) => observer.stop());
76
- saveObserver.length = 0;
77
- barObserever.stop();
78
- });
79
- expose({
80
- ref: barRef,
81
- update
82
- });
83
- return (_ctx, _cache) => {
84
- return vue.openBlock(), vue.createElementBlock("div", {
85
- ref_key: "barRef",
86
- ref: barRef,
87
- class: vue.normalizeClass([vue.unref(ns).e("active-bar"), vue.unref(ns).is(vue.unref(rootTabs).props.tabPosition)]),
88
- style: vue.normalizeStyle(barStyle.value)
89
- }, null, 6);
90
- };
8
+ const tabBarProps = runtime.buildProps({
9
+ tabs: {
10
+ type: runtime.definePropType(Array),
11
+ default: () => typescript.mutable([])
12
+ },
13
+ tabRefs: {
14
+ type: runtime.definePropType(Object),
15
+ default: () => typescript.mutable({})
91
16
  }
92
17
  });
93
- var TabBar = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "tab-bar.vue"]]);
94
18
 
95
- exports["default"] = TabBar;
19
+ exports.tabBarProps = tabBarProps;
96
20
  //# sourceMappingURL=tab-bar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tab-bar.js","sources":["../../../../../../packages/components/tabs/src/tab-bar.vue"],"sourcesContent":["<template>\n <div\n ref=\"barRef\"\n :class=\"[ns.e('active-bar'), ns.is(rootTabs!.props.tabPosition)]\"\n :style=\"barStyle\"\n />\n</template>\n\n<script lang=\"ts\" setup>\nimport { inject, nextTick, onBeforeUnmount, ref, watch } from 'vue'\nimport { useResizeObserver } from '@vueuse/core'\nimport { capitalize, isUndefined, throwError } from '@sl-ui-pc/utils'\nimport { useNamespace } from '@sl-ui-pc/hooks'\nimport { tabsRootContextKey } from './constants'\nimport { tabBarProps } from './tab-bar'\n\nimport type { CSSProperties } from 'vue'\n\nconst COMPONENT_NAME = 'SlTabBar'\ndefineOptions({\n name: COMPONENT_NAME,\n})\nconst props = defineProps(tabBarProps)\n\nconst rootTabs = inject(tabsRootContextKey)\nif (!rootTabs) throwError(COMPONENT_NAME, '<sl-tabs><sl-tab-bar /></sl-tabs>')\n\nconst ns = useNamespace('tabs')\n\nconst barRef = ref<HTMLDivElement>()\nconst barStyle = ref<CSSProperties>()\n\nconst getBarStyle = (): CSSProperties => {\n let offset = 0\n let tabSize = 0\n\n const sizeName = ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ? 'width'\n : 'height'\n const sizeDir = sizeName === 'width' ? 'x' : 'y'\n const position = sizeDir === 'x' ? 'left' : 'top'\n\n props.tabs.every((tab) => {\n if (isUndefined(tab.paneName)) return false\n const $el = props.tabRefs[tab.paneName]\n if (!$el) return false\n\n if (!tab.active) {\n return true\n }\n\n offset = $el[`offset${capitalize(position)}`]\n tabSize = $el[`client${capitalize(sizeName)}`]\n\n const tabStyles = window.getComputedStyle($el)\n\n if (sizeName === 'width') {\n tabSize -=\n Number.parseFloat(tabStyles.paddingLeft) +\n Number.parseFloat(tabStyles.paddingRight)\n offset += Number.parseFloat(tabStyles.paddingLeft)\n }\n return false\n })\n\n return {\n [sizeName]: `${tabSize}px`,\n transform: `translate${capitalize(sizeDir)}(${offset}px)`,\n }\n}\n\nconst update = () => (barStyle.value = getBarStyle())\n\nconst saveObserver = [] as ReturnType<typeof useResizeObserver>[]\nconst observerTabs = () => {\n saveObserver.forEach((observer) => observer.stop())\n saveObserver.length = 0\n\n Object.values(props.tabRefs).forEach((tab) => {\n saveObserver.push(useResizeObserver(tab, update))\n })\n}\n\nwatch(\n () => props.tabs,\n async () => {\n await nextTick()\n update()\n\n observerTabs()\n },\n { immediate: true }\n)\nconst barObserever = useResizeObserver(barRef, () => update())\n\nonBeforeUnmount(() => {\n saveObserver.forEach((observer) => observer.stop())\n saveObserver.length = 0\n barObserever.stop()\n})\n\ndefineExpose({\n /** @description tab root html element */\n ref: barRef,\n /** @description method to manually update tab bar style */\n update,\n})\n</script>\n"],"names":["inject","tabsRootContextKey","throwError","isUndefined","capitalize","useResizeObserver","watch","nextTick","onBeforeUnmount","_openBlock","_createElementBlock"],"mappings":"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"}
1
+ {"version":3,"file":"tab-bar.js","sources":["../../../../../../packages/components/tabs/src/tab-bar.ts"],"sourcesContent":["import { buildProps, definePropType, mutable } from '@sl-ui-pc/utils'\n\nimport type { ExtractPropTypes, __ExtractPublicPropTypes } from 'vue'\nimport type { TabPaneName, TabsPaneContext } from './constants'\nimport type TabBar from './tab-bar.vue'\n\nexport const tabBarProps = buildProps({\n tabs: {\n type: definePropType<TabsPaneContext[]>(Array),\n default: () => mutable([] as const),\n },\n tabRefs: {\n type: definePropType<{ [key: TabPaneName]: HTMLDivElement }>(Object),\n default: () => mutable({} as const),\n },\n} as const)\n\nexport type TabBarProps = ExtractPropTypes<typeof tabBarProps>\nexport type TabBarPropsPublic = __ExtractPublicPropTypes<typeof tabBarProps>\nexport type TabBarInstance = InstanceType<typeof TabBar> & unknown\n"],"names":["buildProps","definePropType","mutable"],"mappings":";;;;;;;AACY,MAAC,WAAW,GAAGA,kBAAU,CAAC;AACtC,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAEC,sBAAc,CAAC,KAAK,CAAC;AAC/B,IAAI,OAAO,EAAE,MAAMC,kBAAO,CAAC,EAAE,CAAC;AAC9B,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAED,sBAAc,CAAC,MAAM,CAAC;AAChC,IAAI,OAAO,EAAE,MAAMC,kBAAO,CAAC,EAAE,CAAC;AAC9B,GAAG;AACH,CAAC;;;;"}
@@ -2,19 +2,95 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var runtime = require('../../../utils/vue/props/runtime.js');
6
- var typescript = require('../../../utils/typescript.js');
5
+ var vue = require('vue');
6
+ var core = require('@vueuse/core');
7
+ var constants = require('./constants.js');
8
+ var tabBar = require('./tab-bar.js');
9
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
10
+ var strings = require('../../../utils/strings.js');
11
+ var error = require('../../../utils/error.js');
12
+ var index = require('../../../hooks/use-namespace/index.js');
13
+ var types = require('../../../utils/types.js');
7
14
 
8
- const tabBarProps = runtime.buildProps({
9
- tabs: {
10
- type: runtime.definePropType(Array),
11
- default: () => typescript.mutable([])
12
- },
13
- tabRefs: {
14
- type: runtime.definePropType(Object),
15
- default: () => typescript.mutable({})
15
+ const COMPONENT_NAME = "SlTabBar";
16
+ const __default__ = vue.defineComponent({
17
+ name: COMPONENT_NAME
18
+ });
19
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
20
+ ...__default__,
21
+ props: tabBar.tabBarProps,
22
+ setup(__props, { expose }) {
23
+ const props = __props;
24
+ const rootTabs = vue.inject(constants.tabsRootContextKey);
25
+ if (!rootTabs)
26
+ error.throwError(COMPONENT_NAME, "<sl-tabs><sl-tab-bar /></sl-tabs>");
27
+ const ns = index.useNamespace("tabs");
28
+ const barRef = vue.ref();
29
+ const barStyle = vue.ref();
30
+ const getBarStyle = () => {
31
+ let offset = 0;
32
+ let tabSize = 0;
33
+ const sizeName = ["top", "bottom"].includes(rootTabs.props.tabPosition) ? "width" : "height";
34
+ const sizeDir = sizeName === "width" ? "x" : "y";
35
+ const position = sizeDir === "x" ? "left" : "top";
36
+ props.tabs.every((tab) => {
37
+ if (types.isUndefined(tab.paneName))
38
+ return false;
39
+ const $el = props.tabRefs[tab.paneName];
40
+ if (!$el)
41
+ return false;
42
+ if (!tab.active) {
43
+ return true;
44
+ }
45
+ offset = $el[`offset${strings.capitalize(position)}`];
46
+ tabSize = $el[`client${strings.capitalize(sizeName)}`];
47
+ const tabStyles = window.getComputedStyle($el);
48
+ if (sizeName === "width") {
49
+ tabSize -= Number.parseFloat(tabStyles.paddingLeft) + Number.parseFloat(tabStyles.paddingRight);
50
+ offset += Number.parseFloat(tabStyles.paddingLeft);
51
+ }
52
+ return false;
53
+ });
54
+ return {
55
+ [sizeName]: `${tabSize}px`,
56
+ transform: `translate${strings.capitalize(sizeDir)}(${offset}px)`
57
+ };
58
+ };
59
+ const update = () => barStyle.value = getBarStyle();
60
+ const saveObserver = [];
61
+ const observerTabs = () => {
62
+ saveObserver.forEach((observer) => observer.stop());
63
+ saveObserver.length = 0;
64
+ Object.values(props.tabRefs).forEach((tab) => {
65
+ saveObserver.push(core.useResizeObserver(tab, update));
66
+ });
67
+ };
68
+ vue.watch(() => props.tabs, async () => {
69
+ await vue.nextTick();
70
+ update();
71
+ observerTabs();
72
+ }, { immediate: true });
73
+ const barObserever = core.useResizeObserver(barRef, () => update());
74
+ vue.onBeforeUnmount(() => {
75
+ saveObserver.forEach((observer) => observer.stop());
76
+ saveObserver.length = 0;
77
+ barObserever.stop();
78
+ });
79
+ expose({
80
+ ref: barRef,
81
+ update
82
+ });
83
+ return (_ctx, _cache) => {
84
+ return vue.openBlock(), vue.createElementBlock("div", {
85
+ ref_key: "barRef",
86
+ ref: barRef,
87
+ class: vue.normalizeClass([vue.unref(ns).e("active-bar"), vue.unref(ns).is(vue.unref(rootTabs).props.tabPosition)]),
88
+ style: vue.normalizeStyle(barStyle.value)
89
+ }, null, 6);
90
+ };
16
91
  }
17
92
  });
93
+ var TabBar = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "tab-bar.vue"]]);
18
94
 
19
- exports.tabBarProps = tabBarProps;
95
+ exports["default"] = TabBar;
20
96
  //# sourceMappingURL=tab-bar2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tab-bar2.js","sources":["../../../../../../packages/components/tabs/src/tab-bar.ts"],"sourcesContent":["import { buildProps, definePropType, mutable } from '@sl-ui-pc/utils'\n\nimport type { ExtractPropTypes, __ExtractPublicPropTypes } from 'vue'\nimport type { TabPaneName, TabsPaneContext } from './constants'\nimport type TabBar from './tab-bar.vue'\n\nexport const tabBarProps = buildProps({\n tabs: {\n type: definePropType<TabsPaneContext[]>(Array),\n default: () => mutable([] as const),\n },\n tabRefs: {\n type: definePropType<{ [key: TabPaneName]: HTMLDivElement }>(Object),\n default: () => mutable({} as const),\n },\n} as const)\n\nexport type TabBarProps = ExtractPropTypes<typeof tabBarProps>\nexport type TabBarPropsPublic = __ExtractPublicPropTypes<typeof tabBarProps>\nexport type TabBarInstance = InstanceType<typeof TabBar> & unknown\n"],"names":["buildProps","definePropType","mutable"],"mappings":";;;;;;;AACY,MAAC,WAAW,GAAGA,kBAAU,CAAC;AACtC,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAEC,sBAAc,CAAC,KAAK,CAAC;AAC/B,IAAI,OAAO,EAAE,MAAMC,kBAAO,CAAC,EAAE,CAAC;AAC9B,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAED,sBAAc,CAAC,MAAM,CAAC;AAChC,IAAI,OAAO,EAAE,MAAMC,kBAAO,CAAC,EAAE,CAAC;AAC9B,GAAG;AACH,CAAC;;;;"}
1
+ {"version":3,"file":"tab-bar2.js","sources":["../../../../../../packages/components/tabs/src/tab-bar.vue"],"sourcesContent":["<template>\n <div\n ref=\"barRef\"\n :class=\"[ns.e('active-bar'), ns.is(rootTabs!.props.tabPosition)]\"\n :style=\"barStyle\"\n />\n</template>\n\n<script lang=\"ts\" setup>\nimport { inject, nextTick, onBeforeUnmount, ref, watch } from 'vue'\nimport { useResizeObserver } from '@vueuse/core'\nimport { capitalize, isUndefined, throwError } from '@sl-ui-pc/utils'\nimport { useNamespace } from '@sl-ui-pc/hooks'\nimport { tabsRootContextKey } from './constants'\nimport { tabBarProps } from './tab-bar'\n\nimport type { CSSProperties } from 'vue'\n\nconst COMPONENT_NAME = 'SlTabBar'\ndefineOptions({\n name: COMPONENT_NAME,\n})\nconst props = defineProps(tabBarProps)\n\nconst rootTabs = inject(tabsRootContextKey)\nif (!rootTabs) throwError(COMPONENT_NAME, '<sl-tabs><sl-tab-bar /></sl-tabs>')\n\nconst ns = useNamespace('tabs')\n\nconst barRef = ref<HTMLDivElement>()\nconst barStyle = ref<CSSProperties>()\n\nconst getBarStyle = (): CSSProperties => {\n let offset = 0\n let tabSize = 0\n\n const sizeName = ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ? 'width'\n : 'height'\n const sizeDir = sizeName === 'width' ? 'x' : 'y'\n const position = sizeDir === 'x' ? 'left' : 'top'\n\n props.tabs.every((tab) => {\n if (isUndefined(tab.paneName)) return false\n const $el = props.tabRefs[tab.paneName]\n if (!$el) return false\n\n if (!tab.active) {\n return true\n }\n\n offset = $el[`offset${capitalize(position)}`]\n tabSize = $el[`client${capitalize(sizeName)}`]\n\n const tabStyles = window.getComputedStyle($el)\n\n if (sizeName === 'width') {\n tabSize -=\n Number.parseFloat(tabStyles.paddingLeft) +\n Number.parseFloat(tabStyles.paddingRight)\n offset += Number.parseFloat(tabStyles.paddingLeft)\n }\n return false\n })\n\n return {\n [sizeName]: `${tabSize}px`,\n transform: `translate${capitalize(sizeDir)}(${offset}px)`,\n }\n}\n\nconst update = () => (barStyle.value = getBarStyle())\n\nconst saveObserver = [] as ReturnType<typeof useResizeObserver>[]\nconst observerTabs = () => {\n saveObserver.forEach((observer) => observer.stop())\n saveObserver.length = 0\n\n Object.values(props.tabRefs).forEach((tab) => {\n saveObserver.push(useResizeObserver(tab, update))\n })\n}\n\nwatch(\n () => props.tabs,\n async () => {\n await nextTick()\n update()\n\n observerTabs()\n },\n { immediate: true }\n)\nconst barObserever = useResizeObserver(barRef, () => update())\n\nonBeforeUnmount(() => {\n saveObserver.forEach((observer) => observer.stop())\n saveObserver.length = 0\n barObserever.stop()\n})\n\ndefineExpose({\n /** @description tab root html element */\n ref: barRef,\n /** @description method to manually update tab bar style */\n update,\n})\n</script>\n"],"names":["inject","tabsRootContextKey","throwError","isUndefined","capitalize","useResizeObserver","watch","nextTick","onBeforeUnmount","_openBlock","_createElementBlock"],"mappings":"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"}
@@ -6,7 +6,7 @@ var vue = require('vue');
6
6
  var core = require('@vueuse/core');
7
7
  var index$1 = require('../../icon/index.js');
8
8
  var iconsVue = require('@sl-design/icons-vue');
9
- var tabBar = require('./tab-bar.js');
9
+ var tabBar = require('./tab-bar2.js');
10
10
  var constants = require('./constants.js');
11
11
  var runtime = require('../../../utils/vue/props/runtime.js');
12
12
  var typescript = require('../../../utils/typescript.js');