yuyeon 0.3.4-rc.4 → 0.3.5

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 (447) hide show
  1. package/dist/style.css +1 -1
  2. package/dist/yuyeon.js +4170 -3976
  3. package/dist/yuyeon.umd.cjs +3 -3
  4. package/lib/abstract/items.js.map +1 -1
  5. package/lib/components/alert/YAlert.js +3 -4
  6. package/lib/components/alert/YAlert.js.map +1 -1
  7. package/lib/components/alert/index.js.map +1 -1
  8. package/lib/components/app/YApp.js +2 -2
  9. package/lib/components/app/YApp.js.map +1 -1
  10. package/lib/components/app/index.js.map +1 -1
  11. package/lib/components/badge/YBadge.js +7 -5
  12. package/lib/components/badge/YBadge.js.map +1 -1
  13. package/lib/components/badge/YBadge.scss +3 -2
  14. package/lib/components/badge/index.js.map +1 -1
  15. package/lib/components/bench/YBench.js +3 -4
  16. package/lib/components/bench/YBench.js.map +1 -1
  17. package/lib/components/bench/index.js.map +1 -1
  18. package/lib/components/button/YButton.js +1 -2
  19. package/lib/components/button/YButton.js.map +1 -1
  20. package/lib/components/button/index.js.map +1 -1
  21. package/lib/components/card/YCard.js.map +1 -1
  22. package/lib/components/card/YCard.scss +2 -2
  23. package/lib/components/card/YCardBody.js.map +1 -1
  24. package/lib/components/card/YCardFooter.js.map +1 -1
  25. package/lib/components/card/YCardHeader.js.map +1 -1
  26. package/lib/components/card/index.js.map +1 -1
  27. package/lib/components/checkbox/YCheckbox.js +1 -2
  28. package/lib/components/checkbox/YCheckbox.js.map +1 -1
  29. package/lib/components/checkbox/YInputCheckbox.js +1 -2
  30. package/lib/components/checkbox/YInputCheckbox.js.map +1 -1
  31. package/lib/components/checkbox/index.js.map +1 -1
  32. package/lib/components/chip/YChip.js +1 -2
  33. package/lib/components/chip/YChip.js.map +1 -1
  34. package/lib/components/chip/index.js.map +1 -1
  35. package/lib/components/date-picker/YDateCalendar.js +59 -54
  36. package/lib/components/date-picker/YDateCalendar.js.map +1 -1
  37. package/lib/components/date-picker/YDatePicker.js +24 -25
  38. package/lib/components/date-picker/YDatePicker.js.map +1 -1
  39. package/lib/components/date-picker/YDatePickerControl.js +19 -20
  40. package/lib/components/date-picker/YDatePickerControl.js.map +1 -1
  41. package/lib/components/date-picker/YMonthPicker.js +10 -11
  42. package/lib/components/date-picker/YMonthPicker.js.map +1 -1
  43. package/lib/components/date-picker/YYearPicker.js +11 -13
  44. package/lib/components/date-picker/YYearPicker.js.map +1 -1
  45. package/lib/components/date-picker/index.js.map +1 -1
  46. package/lib/components/default-provider/YDefaultProvider.js.map +1 -1
  47. package/lib/components/default-provider/index.js.map +1 -1
  48. package/lib/components/dialog/YDialog.js +32 -32
  49. package/lib/components/dialog/YDialog.js.map +1 -1
  50. package/lib/components/dialog/index.js.map +1 -1
  51. package/lib/components/divider/YDivider.js +5 -5
  52. package/lib/components/divider/YDivider.js.map +1 -1
  53. package/lib/components/divider/index.js.map +1 -1
  54. package/lib/components/draggable/YDraggable.js +10 -11
  55. package/lib/components/draggable/YDraggable.js.map +1 -1
  56. package/lib/components/draggable/index.js.map +1 -1
  57. package/lib/components/dropdown/YDropdown.js +16 -17
  58. package/lib/components/dropdown/YDropdown.js.map +1 -1
  59. package/lib/components/dropdown/index.js.map +1 -1
  60. package/lib/components/field-input/YFieldInput.js +39 -39
  61. package/lib/components/field-input/YFieldInput.js.map +1 -1
  62. package/lib/components/field-input/index.js.map +1 -1
  63. package/lib/components/form/YForm.js +12 -14
  64. package/lib/components/form/YForm.js.map +1 -1
  65. package/lib/components/form/index.js.map +1 -1
  66. package/lib/components/hover/YHover.js +9 -8
  67. package/lib/components/hover/YHover.js.map +1 -1
  68. package/lib/components/hover/index.js.map +1 -1
  69. package/lib/components/icon/YIcon.js +2 -4
  70. package/lib/components/icon/YIcon.js.map +1 -1
  71. package/lib/components/icon/index.js.map +1 -1
  72. package/lib/components/icons/YIconCheckbox.js +7 -6
  73. package/lib/components/icons/YIconCheckbox.js.map +1 -1
  74. package/lib/components/icons/YIconClear.js +2 -1
  75. package/lib/components/icons/YIconClear.js.map +1 -1
  76. package/lib/components/icons/YIconDropdown.js +2 -1
  77. package/lib/components/icons/YIconDropdown.js.map +1 -1
  78. package/lib/components/icons/YIconExpand.js +1 -0
  79. package/lib/components/icons/YIconExpand.js.map +1 -1
  80. package/lib/components/icons/YIconPageControl.js +7 -6
  81. package/lib/components/icons/YIconPageControl.js.map +1 -1
  82. package/lib/components/icons/YIconSort.js +6 -5
  83. package/lib/components/icons/YIconSort.js.map +1 -1
  84. package/lib/components/icons/YIconSort.scss +2 -0
  85. package/lib/components/icons/index.js.map +1 -1
  86. package/lib/components/img/YImg.js +42 -37
  87. package/lib/components/img/YImg.js.map +1 -1
  88. package/lib/components/img/index.js +1 -1
  89. package/lib/components/img/index.js.map +1 -1
  90. package/lib/components/index.js +1 -0
  91. package/lib/components/index.js.map +1 -1
  92. package/lib/components/input/YInput.js +1 -2
  93. package/lib/components/input/YInput.js.map +1 -1
  94. package/lib/components/input/YInput.scss +9 -8
  95. package/lib/components/input/index.js.map +1 -1
  96. package/lib/components/ip-field/YIpv4Field.js +1 -2
  97. package/lib/components/ip-field/YIpv4Field.js.map +1 -1
  98. package/lib/components/ip-field/index.js.map +1 -1
  99. package/lib/components/layer/YLayer.js +38 -25
  100. package/lib/components/layer/YLayer.js.map +1 -1
  101. package/lib/components/layer/active-delay.js.map +1 -1
  102. package/lib/components/layer/active-stack.js.map +1 -1
  103. package/lib/components/layer/base.js +11 -1
  104. package/lib/components/layer/base.js.map +1 -1
  105. package/lib/components/layer/content.js.map +1 -1
  106. package/lib/components/layer/index.js.map +1 -1
  107. package/lib/components/layer/scroll-strategies.js.map +1 -1
  108. package/lib/components/list/YList.js +1 -2
  109. package/lib/components/list/YList.js.map +1 -1
  110. package/lib/components/list/YListItem.js +1 -2
  111. package/lib/components/list/YListItem.js.map +1 -1
  112. package/lib/components/list/index.js.map +1 -1
  113. package/lib/components/loading/YSpinnerRing.js.map +1 -1
  114. package/lib/components/loading/index.js.map +1 -1
  115. package/lib/components/menu/YMenu.js +24 -27
  116. package/lib/components/menu/YMenu.js.map +1 -1
  117. package/lib/components/menu/YMenu.scss +3 -4
  118. package/lib/components/menu/index.js.map +1 -1
  119. package/lib/components/navigation/YNavigation.js +1 -2
  120. package/lib/components/navigation/YNavigation.js.map +1 -1
  121. package/lib/components/navigation/index.js.map +1 -1
  122. package/lib/components/pagination/YPagination.js +1 -2
  123. package/lib/components/pagination/YPagination.js.map +1 -1
  124. package/lib/components/pagination/index.js.map +1 -1
  125. package/lib/components/panel/YDividePanel.js +1 -2
  126. package/lib/components/panel/YDividePanel.js.map +1 -1
  127. package/lib/components/panel/YDividePanel.scss +1 -0
  128. package/lib/components/panel/index.js.map +1 -1
  129. package/lib/components/plate/YPlate.js +3 -4
  130. package/lib/components/plate/YPlate.js.map +1 -1
  131. package/lib/components/plate/index.js.map +1 -1
  132. package/lib/components/progress-bar/YProgressBar.js +1 -2
  133. package/lib/components/progress-bar/YProgressBar.js.map +1 -1
  134. package/lib/components/progress-bar/index.js.map +1 -1
  135. package/lib/components/progress-ring/YProgressRing.js +3 -4
  136. package/lib/components/progress-ring/YProgressRing.js.map +1 -1
  137. package/lib/components/progress-ring/index.js.map +1 -1
  138. package/lib/components/radio/YRadio.js +1 -1
  139. package/lib/components/radio/YRadio.js.map +1 -1
  140. package/lib/components/radio/YRadioIcon.js.map +1 -1
  141. package/lib/components/radio/YRadioIcon.scss +2 -3
  142. package/lib/components/radio/index.js.map +1 -1
  143. package/lib/components/select/YSelect.js +41 -42
  144. package/lib/components/select/YSelect.js.map +1 -1
  145. package/lib/components/select/index.js.map +1 -1
  146. package/lib/components/slider/YSlider.js.map +1 -1
  147. package/lib/components/slider/index.js.map +1 -1
  148. package/lib/components/slider/slider.js.map +1 -1
  149. package/lib/components/snackbar/YSnackbar.js +6 -6
  150. package/lib/components/snackbar/YSnackbar.js.map +1 -1
  151. package/lib/components/snackbar/index.js.map +1 -1
  152. package/lib/components/switch/YSwitch.js +1 -2
  153. package/lib/components/switch/YSwitch.js.map +1 -1
  154. package/lib/components/switch/index.js.map +1 -1
  155. package/lib/components/tab/YTab.js +2 -3
  156. package/lib/components/tab/YTab.js.map +1 -1
  157. package/lib/components/tab/YTab.scss +1 -1
  158. package/lib/components/tab/YTabs.js +1 -2
  159. package/lib/components/tab/YTabs.js.map +1 -1
  160. package/lib/components/tab/index.js.map +1 -1
  161. package/lib/components/tab/shared.js.map +1 -1
  162. package/lib/components/tab/types.js.map +1 -1
  163. package/lib/components/table/YDataTable.js +1 -2
  164. package/lib/components/table/YDataTable.js.map +1 -1
  165. package/lib/components/table/YDataTableBody.js +2 -3
  166. package/lib/components/table/YDataTableBody.js.map +1 -1
  167. package/lib/components/table/YDataTableCell.js +1 -2
  168. package/lib/components/table/YDataTableCell.js.map +1 -1
  169. package/lib/components/table/YDataTableControl.js +1 -1
  170. package/lib/components/table/YDataTableControl.js.map +1 -1
  171. package/lib/components/table/YDataTableHead.js +1 -1
  172. package/lib/components/table/YDataTableHead.js.map +1 -1
  173. package/lib/components/table/YDataTableLayer.js +1 -2
  174. package/lib/components/table/YDataTableLayer.js.map +1 -1
  175. package/lib/components/table/YDataTableLayerRow.js +1 -2
  176. package/lib/components/table/YDataTableLayerRow.js.map +1 -1
  177. package/lib/components/table/YDataTableLayerRows.js +3 -4
  178. package/lib/components/table/YDataTableLayerRows.js.map +1 -1
  179. package/lib/components/table/YDataTableRow.js +1 -2
  180. package/lib/components/table/YDataTableRow.js.map +1 -1
  181. package/lib/components/table/YDataTableServer.js +1 -2
  182. package/lib/components/table/YDataTableServer.js.map +1 -1
  183. package/lib/components/table/YTable.js +1 -2
  184. package/lib/components/table/YTable.js.map +1 -1
  185. package/lib/components/table/composables/expand.js.map +1 -1
  186. package/lib/components/table/composables/header.js.map +1 -1
  187. package/lib/components/table/composables/items.js.map +1 -1
  188. package/lib/components/table/composables/measure.js +1 -1
  189. package/lib/components/table/composables/measure.js.map +1 -1
  190. package/lib/components/table/composables/options.js.map +1 -1
  191. package/lib/components/table/composables/pagination.js.map +1 -1
  192. package/lib/components/table/composables/provides.js.map +1 -1
  193. package/lib/components/table/composables/selection.js.map +1 -1
  194. package/lib/components/table/composables/sorted-items.js.map +1 -1
  195. package/lib/components/table/composables/sorting.js.map +1 -1
  196. package/lib/components/table/index.js.map +1 -1
  197. package/lib/components/table/types/common.js.map +1 -1
  198. package/lib/components/table/types/header.js.map +1 -1
  199. package/lib/components/table/types/index.js.map +1 -1
  200. package/lib/components/table/types/item.js.map +1 -1
  201. package/lib/components/table/types/row.js.map +1 -1
  202. package/lib/components/text-ellipsis/YTextEllipsis.js +1 -2
  203. package/lib/components/text-ellipsis/YTextEllipsis.js.map +1 -1
  204. package/lib/components/text-ellipsis/index.js.map +1 -1
  205. package/lib/components/text-highlighter/YTextHighlighter.js.map +1 -1
  206. package/lib/components/text-highlighter/index.js.map +1 -1
  207. package/lib/components/text-interpolation/YTi.js +2 -2
  208. package/lib/components/text-interpolation/YTi.js.map +1 -1
  209. package/lib/components/text-interpolation/index.js.map +1 -1
  210. package/lib/components/textarea/YTextarea.js +1 -2
  211. package/lib/components/textarea/YTextarea.js.map +1 -1
  212. package/lib/components/textarea/index.js.map +1 -1
  213. package/lib/components/toggle-button/YToggleButton.js.map +1 -1
  214. package/lib/components/toggle-button/index.js.map +1 -1
  215. package/lib/components/tooltip/YTooltip.js +18 -19
  216. package/lib/components/tooltip/YTooltip.js.map +1 -1
  217. package/lib/components/tooltip/index.js.map +1 -1
  218. package/lib/components/transitions/expand-transition.js.map +1 -1
  219. package/lib/components/transitions/index.js.map +1 -1
  220. package/lib/components/tree-view/YTreeView.js +1 -2
  221. package/lib/components/tree-view/YTreeView.js.map +1 -1
  222. package/lib/components/tree-view/YTreeViewNode.js +1 -2
  223. package/lib/components/tree-view/YTreeViewNode.js.map +1 -1
  224. package/lib/components/tree-view/index.js.map +1 -1
  225. package/lib/components/tree-view/tree-view.js.map +1 -1
  226. package/lib/components/tree-view/types.js.map +1 -1
  227. package/lib/components/tree-view/util.js.map +1 -1
  228. package/lib/composables/choice-link.js.map +1 -1
  229. package/lib/composables/choice.js.map +1 -1
  230. package/lib/composables/communication.js.map +1 -1
  231. package/lib/composables/component.js.map +1 -1
  232. package/lib/composables/coordinate/arrangement.js.map +1 -1
  233. package/lib/composables/coordinate/index.js +23 -13
  234. package/lib/composables/coordinate/index.js.map +1 -1
  235. package/lib/composables/coordinate/levitation.js +81 -52
  236. package/lib/composables/coordinate/levitation.js.map +1 -1
  237. package/lib/composables/coordinate/types.js.map +1 -1
  238. package/lib/composables/coordinate/utils/point.js.map +1 -1
  239. package/lib/composables/date/factory.js.map +1 -1
  240. package/lib/composables/date/index.js.map +1 -1
  241. package/lib/composables/date/setting.js.map +1 -1
  242. package/lib/composables/date/types.js.map +1 -1
  243. package/lib/composables/defaults/index.js.map +1 -1
  244. package/lib/composables/defaults/share.js.map +1 -1
  245. package/lib/composables/defaults/types.js.map +1 -1
  246. package/lib/composables/dimension.js.map +1 -1
  247. package/lib/composables/focus.js.map +1 -1
  248. package/lib/composables/form.js +5 -5
  249. package/lib/composables/form.js.map +1 -1
  250. package/lib/composables/i18n/index.js.map +1 -1
  251. package/lib/composables/i18n/locale.js.map +1 -1
  252. package/lib/composables/i18n/rtl.js.map +1 -1
  253. package/lib/composables/i18n/share.js.map +1 -1
  254. package/lib/composables/icon.js +1 -2
  255. package/lib/composables/icon.js.map +1 -1
  256. package/lib/composables/index.js.map +1 -1
  257. package/lib/composables/layer-group.js.map +1 -1
  258. package/lib/composables/layout.js.map +1 -1
  259. package/lib/composables/list-items.js.map +1 -1
  260. package/lib/composables/progress.js.map +1 -1
  261. package/lib/composables/ref.js.map +1 -1
  262. package/lib/composables/resize-observer.js.map +1 -1
  263. package/lib/composables/scope.js.map +1 -1
  264. package/lib/composables/style-color.js +6 -5
  265. package/lib/composables/style-color.js.map +1 -1
  266. package/lib/composables/theme/factory.js.map +1 -1
  267. package/lib/composables/theme/helper.js.map +1 -1
  268. package/lib/composables/theme/index.js +8 -1
  269. package/lib/composables/theme/index.js.map +1 -1
  270. package/lib/composables/theme/setting.js.map +1 -1
  271. package/lib/composables/theme/types.js.map +1 -1
  272. package/lib/composables/timing.js +13 -5
  273. package/lib/composables/timing.js.map +1 -1
  274. package/lib/composables/transition.js.map +1 -1
  275. package/lib/composables/validation.js.map +1 -1
  276. package/lib/composables/vue-router.js.map +1 -1
  277. package/lib/directives/complement-click/index.js.map +1 -1
  278. package/lib/directives/index.js +3 -0
  279. package/lib/directives/index.js.map +1 -0
  280. package/lib/directives/plate-wave/index.js +2 -2
  281. package/lib/directives/plate-wave/index.js.map +1 -1
  282. package/lib/directives/plate-wave/plate-wave.scss +17 -6
  283. package/lib/directives/theme-class/index.js +24 -0
  284. package/lib/directives/theme-class/index.js.map +1 -0
  285. package/lib/etc/index.js.map +1 -1
  286. package/lib/i18n/built-in.js.map +1 -1
  287. package/lib/i18n/config.js.map +1 -1
  288. package/lib/i18n/types.js.map +1 -1
  289. package/lib/index.js +3 -3
  290. package/lib/index.js.map +1 -1
  291. package/lib/locales/en.js.map +1 -1
  292. package/lib/locales/index.js.map +1 -1
  293. package/lib/locales/ko.js.map +1 -1
  294. package/lib/mixins/di.js.map +1 -1
  295. package/lib/mixins/rebind-attrs.js +0 -2
  296. package/lib/mixins/rebind-attrs.js.map +1 -1
  297. package/lib/styles/_elevation.scss +0 -1
  298. package/lib/styles/base.scss +3 -1
  299. package/lib/styles/settings/_elevation.scss +12 -12
  300. package/lib/styles/settings/_provided.scss +23 -23
  301. package/lib/styles/theme/dark.scss +3 -3
  302. package/lib/styles/theme/index.scss +0 -1
  303. package/lib/styles/theme/light.scss +3 -3
  304. package/lib/styles/util/_mixin.scss +16 -16
  305. package/lib/types/index.js.map +1 -1
  306. package/lib/util/anchor.js.map +1 -1
  307. package/lib/util/array.js.map +1 -1
  308. package/lib/util/collection.js.map +1 -1
  309. package/lib/util/color/apca.js +1 -0
  310. package/lib/util/color/apca.js.map +1 -1
  311. package/lib/util/color/const.js.map +1 -1
  312. package/lib/util/color/contrast/contrast.js.map +1 -1
  313. package/lib/util/color/conversion.js.map +1 -1
  314. package/lib/util/color/hct/cam16.js.map +1 -1
  315. package/lib/util/color/hct/hct-solver.js +6 -6
  316. package/lib/util/color/hct/hct-solver.js.map +1 -1
  317. package/lib/util/color/hct/hct.js.map +1 -1
  318. package/lib/util/color/hct/viewing-conditions.js +6 -4
  319. package/lib/util/color/hct/viewing-conditions.js.map +1 -1
  320. package/lib/util/color/index.js +13 -13
  321. package/lib/util/color/index.js.map +1 -1
  322. package/lib/util/color/palettes/core-palette.js.map +1 -1
  323. package/lib/util/color/palettes/tonal-palette.js +3 -3
  324. package/lib/util/color/palettes/tonal-palette.js.map +1 -1
  325. package/lib/util/color/types.js.map +1 -1
  326. package/lib/util/color/utils/math-utils.js +62 -62
  327. package/lib/util/color/utils/math-utils.js.map +1 -1
  328. package/lib/util/common.js +28 -13
  329. package/lib/util/common.js.map +1 -1
  330. package/lib/util/component/component.js.map +1 -1
  331. package/lib/util/component/index.js.map +1 -1
  332. package/lib/util/component/inject-self.js.map +1 -1
  333. package/lib/util/component/props.js.map +1 -1
  334. package/lib/util/component/types.js.map +1 -1
  335. package/lib/util/date/adapters/yuyeon-date-adapter.js +3 -3
  336. package/lib/util/date/adapters/yuyeon-date-adapter.js.map +1 -1
  337. package/lib/util/date/built-in.js +2 -0
  338. package/lib/util/date/built-in.js.map +1 -1
  339. package/lib/util/date/index.js +1 -1
  340. package/lib/util/date/index.js.map +1 -1
  341. package/lib/util/date/types.js.map +1 -1
  342. package/lib/util/debounce.js +1 -1
  343. package/lib/util/debounce.js.map +1 -1
  344. package/lib/util/dom.js +10 -1
  345. package/lib/util/dom.js.map +1 -1
  346. package/lib/util/environments.js.map +1 -1
  347. package/lib/util/frame-scheduler.js +3 -3
  348. package/lib/util/frame-scheduler.js.map +1 -1
  349. package/lib/util/index.js +11 -11
  350. package/lib/util/index.js.map +1 -1
  351. package/lib/util/reactivity.js +3 -3
  352. package/lib/util/reactivity.js.map +1 -1
  353. package/lib/util/rect.js.map +1 -1
  354. package/lib/util/scroll.js.map +1 -1
  355. package/lib/util/string.js +3 -1
  356. package/lib/util/string.js.map +1 -1
  357. package/lib/util/ui.js +8 -7
  358. package/lib/util/ui.js.map +1 -1
  359. package/lib/util/validation.js.map +1 -1
  360. package/package.json +132 -123
  361. package/types/abstract/items.d.ts +4 -4
  362. package/types/components/alert/YAlert.d.ts +2 -2
  363. package/types/components/badge/YBadge.d.ts +9 -3
  364. package/types/components/button/YButton.d.ts +3 -3
  365. package/types/components/checkbox/YCheckbox.d.ts +4 -4
  366. package/types/components/chip/YChip.d.ts +0 -3
  367. package/types/components/date-picker/YDateCalendar.d.ts +4 -3
  368. package/types/components/date-picker/YDatePickerControl.d.ts +7 -7
  369. package/types/components/dialog/YDialog.d.ts +116 -6484
  370. package/types/components/draggable/YDraggable.d.ts +6 -6
  371. package/types/components/dropdown/YDropdown.d.ts +87 -87
  372. package/types/components/field-input/YFieldInput.d.ts +14 -14
  373. package/types/components/form/YForm.d.ts +3 -3
  374. package/types/components/icon/YIcon.d.ts +4 -4
  375. package/types/components/icons/YIconPageControl.d.ts +1 -1
  376. package/types/components/icons/YIconSort.d.ts +1 -1
  377. package/types/components/icons/index.d.ts +4 -4
  378. package/types/components/img/YImg.d.ts +30 -27
  379. package/types/components/img/index.d.ts +1 -0
  380. package/types/components/index.d.ts +1 -0
  381. package/types/components/input/YInput.d.ts +13 -13
  382. package/types/components/ip-field/YIpv4Field.d.ts +5 -5
  383. package/types/components/layer/YLayer.d.ts +59 -3242
  384. package/types/components/layer/base.d.ts +4 -0
  385. package/types/components/layer/scroll-strategies.d.ts +4 -4
  386. package/types/components/menu/YMenu.d.ts +83 -6451
  387. package/types/components/pagination/YPagination.d.ts +3 -3
  388. package/types/components/select/YSelect.d.ts +172 -496
  389. package/types/components/slider/YSlider.d.ts +1 -1
  390. package/types/components/snackbar/YSnackbar.d.ts +55 -55
  391. package/types/components/tab/YTab.d.ts +3 -3
  392. package/types/components/tab/YTabs.d.ts +1 -1
  393. package/types/components/table/YDataTable.d.ts +30 -87
  394. package/types/components/table/YDataTableBody.d.ts +3 -3
  395. package/types/components/table/YDataTableCell.d.ts +2 -2
  396. package/types/components/table/YDataTableControl.d.ts +6 -6
  397. package/types/components/table/YDataTableLayer.d.ts +2 -2
  398. package/types/components/table/YDataTableRow.d.ts +1 -1
  399. package/types/components/table/YDataTableServer.d.ts +37 -94
  400. package/types/components/table/YTable.d.ts +3 -3
  401. package/types/components/table/composables/expand.d.ts +4 -4
  402. package/types/components/table/composables/header.d.ts +16 -48
  403. package/types/components/table/composables/items.d.ts +2 -2
  404. package/types/components/table/composables/pagination.d.ts +10 -10
  405. package/types/components/table/composables/selection.d.ts +6 -6
  406. package/types/components/table/composables/sorting.d.ts +8 -14
  407. package/types/components/table/types/item.d.ts +1 -1
  408. package/types/components/textarea/YTextarea.d.ts +30 -30
  409. package/types/components/tooltip/YTooltip.d.ts +67 -67
  410. package/types/components/tree-view/YTreeView.d.ts +7 -7
  411. package/types/components/tree-view/YTreeViewNode.d.ts +5 -5
  412. package/types/components/tree-view/tree-view.d.ts +2 -2
  413. package/types/composables/choice.d.ts +2 -2
  414. package/types/composables/coordinate/index.d.ts +28 -3207
  415. package/types/composables/coordinate/levitation.d.ts +4 -2
  416. package/types/composables/coordinate/types.d.ts +1 -0
  417. package/types/composables/dimension.d.ts +6 -6
  418. package/types/composables/form.d.ts +17 -27
  419. package/types/composables/list-items.d.ts +3 -3
  420. package/types/composables/style-color.d.ts +22 -1
  421. package/types/composables/theme/index.d.ts +1 -0
  422. package/types/composables/transition.d.ts +10 -10
  423. package/types/composables/validation.d.ts +6 -6
  424. package/types/composables/vue-router.d.ts +3 -3
  425. package/types/declares.d.ts +1 -0
  426. package/types/directives/index.d.ts +2 -0
  427. package/types/directives/plate-wave/index.d.ts +7 -1
  428. package/types/globals.d.ts +19 -20
  429. package/types/shims.d.ts +9 -3
  430. package/types/types/index.d.ts +3 -0
  431. package/types/util/anchor.d.ts +1 -1
  432. package/types/util/common.d.ts +3 -0
  433. package/types/util/component/component.d.ts +1 -2
  434. package/types/util/component/props.d.ts +1 -1
  435. package/types/util/component/types.d.ts +1 -1
  436. package/types/util/date/index.d.ts +1 -1
  437. package/types/util/dom.d.ts +2 -0
  438. package/types/util/index.d.ts +11 -11
  439. package/types/components/table/composibles/header.d.ts +0 -207
  440. package/types/components/table/composibles/items.d.ts +0 -55
  441. package/types/components/table/composibles/measure.d.ts +0 -8
  442. package/types/components/table/composibles/options.d.ts +0 -11
  443. package/types/components/table/composibles/pagination.d.ts +0 -81
  444. package/types/components/table/composibles/selection.d.ts +0 -82
  445. package/types/components/table/composibles/sorted-items.d.ts +0 -7
  446. package/types/components/table/composibles/sorting.d.ts +0 -62
  447. /package/types/directives/{theme-class.d.ts → theme-class/index.d.ts} +0 -0
@@ -1,5 +1,4 @@
1
- import { withDirectives as _withDirectives, mergeProps as _mergeProps, resolveDirective as _resolveDirective, vShow as _vShow, createVNode as _createVNode, Fragment as _Fragment } from "vue";
2
- import { Teleport, Transition, computed, getCurrentInstance, mergeProps, reactive, ref, shallowRef, toRef } from 'vue';
1
+ import { computed, getCurrentInstance, mergeProps, reactive, ref, shallowRef, Teleport, Transition, toRef, Fragment as _Fragment, createVNode as _createVNode, vShow as _vShow, resolveDirective as _resolveDirective, mergeProps as _mergeProps, withDirectives as _withDirectives } from "vue";
3
2
  import { useModelDuplex } from "../../composables/communication.js";
4
3
  import { useRender } from "../../composables/component.js";
5
4
  import { pressCoordinateProps, useCoordinate } from "../../composables/coordinate/index.js";
@@ -14,6 +13,7 @@ import { pressBasePropsOptions, useBase } from "./base.js";
14
13
  import { pressContentPropsOptions, useContent } from "./content.js";
15
14
  import { pressScrollStrategyProps, useScrollStrategies } from "./scroll-strategies.js";
16
15
  import "./YLayer.scss";
16
+ import { noop } from "../../util/index.js";
17
17
  export const pressYLayerProps = propsFactory({
18
18
  modelValue: {
19
19
  type: Boolean
@@ -72,9 +72,9 @@ export const pressYLayerProps = propsFactory({
72
72
  ...pressCoordinateProps(),
73
73
  ...pressScrollStrategyProps(),
74
74
  ...pressDimensionPropsOptions()
75
- }, 'YLayer');
75
+ }, "YLayer");
76
76
  export const YLayer = defineComponent({
77
- name: 'YLayer',
77
+ name: "YLayer",
78
78
  inheritAttrs: false,
79
79
  components: {
80
80
  PolyTransition
@@ -87,8 +87,8 @@ export const YLayer = defineComponent({
87
87
  ...pressYLayerProps()
88
88
  },
89
89
  emits: {
90
- 'update:modelValue': value => true,
91
- 'click:complement': mouseEvent => true,
90
+ "update:modelValue": value => true,
91
+ "click:complement": mouseEvent => true,
92
92
  afterLeave: () => true
93
93
  },
94
94
  slots: Object,
@@ -140,15 +140,16 @@ export const YLayer = defineComponent({
140
140
  const {
141
141
  lazyValue,
142
142
  onAfterUpdate
143
- } = useLazy(toRef(props, 'eager'), active);
143
+ } = useLazy(toRef(props, "eager"), active);
144
144
  // States
145
145
  const finish = shallowRef(false);
146
146
  const hovered = ref(false);
147
147
  const focused = ref(false);
148
- const disabled = toRef(props, 'disabled');
149
- const maximized = toRef(props, 'maximized');
148
+ const disabled = toRef(props, "disabled");
149
+ const maximized = toRef(props, "maximized");
150
150
  const rendered = computed(() => !disabled.value && (lazyValue.value || active.value));
151
151
  const {
152
+ coordination,
152
153
  coordinateStyles,
153
154
  updateCoordinate
154
155
  } = useCoordinate(props, {
@@ -164,7 +165,7 @@ export const YLayer = defineComponent({
164
165
  updateCoordinate
165
166
  });
166
167
  function onClickComplementLayer(mouseEvent) {
167
- emit('click:complement', mouseEvent);
168
+ emit("click:complement", mouseEvent);
168
169
  if (!props.modal) {
169
170
  if (scrim$.value !== null && scrim$.value === mouseEvent.target && props.closeClickScrim) {
170
171
  active.value = false;
@@ -176,7 +177,6 @@ export const YLayer = defineComponent({
176
177
  function closeConditional() {
177
178
  return (!props.openOnHover || props.openOnHover && !hovered.value) && active.value && finish.value; // TODO: && groupTopLevel.value;
178
179
  }
179
-
180
180
  const complementClickOption = reactive({
181
181
  handler: onClickComplementLayer,
182
182
  determine: closeConditional,
@@ -188,7 +188,7 @@ export const YLayer = defineComponent({
188
188
  function onAfterLeave() {
189
189
  onAfterUpdate();
190
190
  finish.value = false;
191
- emit('afterLeave');
191
+ emit("afterLeave");
192
192
  }
193
193
  function onClickScrim() {
194
194
  if (props.closeClickScrim) {
@@ -203,7 +203,7 @@ export const YLayer = defineComponent({
203
203
  }
204
204
  const computedStyle = computed(() => {
205
205
  return {
206
- zIndex: (props.zIndex ?? '2000').toString()
206
+ zIndex: (props.zIndex ?? "2000").toString()
207
207
  };
208
208
  });
209
209
  const computedClass = computed(() => {
@@ -213,13 +213,19 @@ export const YLayer = defineComponent({
213
213
  const boundClasses = bindClasses(classes);
214
214
  return {
215
215
  ...boundClasses,
216
- 'y-layer--active': !!active.value
216
+ "y-layer--active": !!active.value
217
217
  };
218
218
  });
219
219
  const computedContentClasses = computed(() => {
220
220
  const boundClasses = bindClasses(props.contentClasses);
221
+ const {
222
+ side,
223
+ align
224
+ } = coordination.value;
221
225
  return {
222
- ...boundClasses
226
+ ...boundClasses,
227
+ [`y-layer--side-${side}`]: !!side,
228
+ [`y-layer--align-${align}`]: !!align
223
229
  };
224
230
  });
225
231
  expose({
@@ -236,7 +242,8 @@ export const YLayer = defineComponent({
236
242
  getActiveLayers,
237
243
  isMe: vnode => {
238
244
  return vnode === vm;
239
- }
245
+ },
246
+ coordination
240
247
  });
241
248
  useRender(() => {
242
249
  const slotBase = slots.base?.({
@@ -244,8 +251,8 @@ export const YLayer = defineComponent({
244
251
  props: mergeProps({
245
252
  ref: base$,
246
253
  class: {
247
- 'y-layer-base': true,
248
- 'y-layer-base--active': active.value
254
+ "y-layer-base": true,
255
+ "y-layer-base--active": active.value
249
256
  },
250
257
  ...(props.baseProps ?? {})
251
258
  })
@@ -257,9 +264,9 @@ export const YLayer = defineComponent({
257
264
  }, {
258
265
  default: () => [rendered.value && _createVNode("div", _mergeProps({
259
266
  "class": [{
260
- 'y-layer': true,
261
- 'y-layer--finish': finish.value,
262
- 'y-layer--contained': props.contained,
267
+ "y-layer": true,
268
+ "y-layer--finish": finish.value,
269
+ "y-layer--contained": props.contained,
263
270
  ...computedClass.value
264
271
  }, themeClasses.value],
265
272
  "onMouseenter": onMouseenter,
@@ -270,12 +277,16 @@ export const YLayer = defineComponent({
270
277
  "name": "fade",
271
278
  "appear": true
272
279
  }, {
273
- default: () => [active.value && props.scrim && _createVNode("div", {
280
+ default: () => [active.value && props.scrim && // biome-ignore lint/a11y/noStaticElementInteractions: <explanation>
281
+ // biome-ignore lint/a11y/useKeyWithClickEvents: <explanation>
282
+ _createVNode("div", {
274
283
  "class": "y-layer__scrim",
275
284
  "style": {
276
- '--y-layer-scrim-opacity': props.scrimOpacity
285
+ "--y-layer-scrim-opacity": props.scrimOpacity
277
286
  },
278
287
  "onClick": onClickScrim,
288
+ "onKeydown": noop(),
289
+ "onKeyup": noop(),
279
290
  "ref": "scrim$"
280
291
  }, null)]
281
292
  }), _createVNode(PolyTransition, _mergeProps({
@@ -285,7 +296,7 @@ export const YLayer = defineComponent({
285
296
  }, polyTransitionBindProps.value), {
286
297
  default: () => [_withDirectives(_createVNode("div", _mergeProps({
287
298
  "class": {
288
- 'y-layer__content': true,
299
+ "y-layer__content": true,
289
300
  ...computedContentClasses.value
290
301
  },
291
302
  "style": [{
@@ -313,13 +324,15 @@ export const YLayer = defineComponent({
313
324
  onAfterUpdate: onAfterUpdate,
314
325
  scrim$,
315
326
  content$,
327
+ base,
316
328
  base$,
317
329
  baseEl,
318
330
  baseFromSlotEl,
319
331
  polyTransitionBindProps,
320
332
  coordinateStyles,
321
333
  layerGroupState,
322
- getActiveLayers
334
+ getActiveLayers,
335
+ coordination
323
336
  };
324
337
  }
325
338
  });
@@ -1 +1 @@
1
- {"version":3,"file":"YLayer.js","names":["Teleport","Transition","computed","getCurrentInstance","mergeProps","reactive","ref","shallowRef","toRef","useModelDuplex","useRender","pressCoordinateProps","useCoordinate","pressDimensionPropsOptions","useDimension","useLayerGroup","pressThemePropsOptions","useLocalTheme","useLazy","PolyTransition","pressPolyTransitionPropsOptions","usePolyTransition","ComplementClick","bindClasses","defineComponent","propsFactory","pressBasePropsOptions","useBase","pressContentPropsOptions","useContent","pressScrollStrategyProps","useScrollStrategies","pressYLayerProps","modelValue","type","Boolean","scrim","scrimOpacity","Number","eager","classes","Array","String","Object","contentClasses","closeClickScrim","contentStyles","default","disabled","maximized","openOnHover","openDelay","closeDelay","zIndex","contained","layerGroup","YLayer","name","inheritAttrs","components","directives","props","modal","emits","value","mouseEvent","afterLeave","slots","setup","_ref","emit","expose","attrs","vm","scrim$","content$","root$","model","active","get","set","v","base","base$","baseEl","baseSlot","baseFromSlotEl","contentEvents","themeClasses","layerGroupState","getActiveLayers","polyTransitionBindProps","dimensionStyles","lazyValue","onAfterUpdate","finish","hovered","focused","rendered","coordinateStyles","updateCoordinate","contentEl","root","onClickComplementLayer","target","closeConditional","complementClickOption","handler","determine","include","onAfterEnter","onAfterLeave","onClickScrim","onMouseenter","event","onMouseleave","computedStyle","toString","computedClass","boundClasses","computedContentClasses","isMe","vnode","slotBase","class","baseProps","_createVNode","_Fragment","_mergeProps","_withDirectives","_vShow","_resolveDirective"],"sources":["../../../src/components/layer/YLayer.tsx"],"sourcesContent":["import type {\r\n CSSProperties,\r\n ComponentInternalInstance,\r\n PropType,\r\n SlotsType,\r\n} from 'vue';\r\nimport {\r\n Teleport,\r\n Transition,\r\n computed,\r\n getCurrentInstance,\r\n mergeProps,\r\n reactive,\r\n ref,\r\n shallowRef,\r\n toRef,\r\n} from 'vue';\r\n\r\nimport { useModelDuplex } from '@/composables/communication';\r\nimport { useRender } from '@/composables/component';\r\nimport { pressCoordinateProps, useCoordinate } from '@/composables/coordinate';\r\nimport {\r\n pressDimensionPropsOptions,\r\n useDimension,\r\n} from '@/composables/dimension';\r\nimport { useLayerGroup } from '@/composables/layer-group';\r\nimport { pressThemePropsOptions, useLocalTheme } from '@/composables/theme';\r\nimport { useLazy } from '@/composables/timing';\r\nimport {\r\n PolyTransition,\r\n pressPolyTransitionPropsOptions,\r\n usePolyTransition,\r\n} from '@/composables/transition';\r\nimport {\r\n ComplementClick,\r\n ComplementClickBindingOptions,\r\n} from '@/directives/complement-click';\r\nimport { bindClasses, defineComponent, propsFactory } from '@/util/component';\r\n\r\nimport { pressBasePropsOptions, useBase } from './base';\r\nimport { pressContentPropsOptions, useContent } from './content';\r\nimport {\r\n pressScrollStrategyProps,\r\n useScrollStrategies,\r\n} from './scroll-strategies';\r\n\r\nimport './YLayer.scss';\r\n\r\nexport const pressYLayerProps = propsFactory(\r\n {\r\n modelValue: {\r\n type: Boolean as PropType<boolean>,\r\n },\r\n scrim: {\r\n type: Boolean as PropType<boolean>,\r\n },\r\n scrimOpacity: {\r\n type: Number as PropType<number>,\r\n },\r\n eager: {\r\n type: Boolean as PropType<boolean>,\r\n },\r\n classes: {\r\n type: [Array, String, Object] as PropType<\r\n string[] | string | Record<string, any>\r\n >,\r\n },\r\n contentClasses: {\r\n type: [Array, String, Object] as PropType<\r\n string[] | string | Record<string, any>\r\n >,\r\n },\r\n closeClickScrim: {\r\n type: Boolean as PropType<boolean>,\r\n },\r\n contentStyles: {\r\n type: Object as PropType<CSSProperties>,\r\n default: () => {},\r\n },\r\n disabled: {\r\n type: Boolean as PropType<boolean>,\r\n default: false,\r\n },\r\n maximized: {\r\n type: Boolean as PropType<boolean>,\r\n },\r\n openOnHover: {\r\n type: Boolean as PropType<boolean>,\r\n default: false,\r\n },\r\n openDelay: {\r\n type: Number as PropType<number>,\r\n default: 200,\r\n },\r\n closeDelay: {\r\n type: Number as PropType<number>,\r\n default: 200,\r\n },\r\n zIndex: {\r\n type: [Number, String] as PropType<number | string>,\r\n default: 2000,\r\n },\r\n contained: Boolean,\r\n layerGroup: [String, Object] as PropType<string | Element>,\r\n ...pressThemePropsOptions(),\r\n ...pressPolyTransitionPropsOptions(),\r\n ...pressBasePropsOptions(),\r\n ...pressContentPropsOptions(),\r\n ...pressCoordinateProps(),\r\n ...pressScrollStrategyProps(),\r\n ...pressDimensionPropsOptions(),\r\n },\r\n 'YLayer',\r\n);\r\n\r\nexport const YLayer = defineComponent({\r\n name: 'YLayer',\r\n inheritAttrs: false,\r\n components: {\r\n PolyTransition,\r\n },\r\n directives: {\r\n ComplementClick,\r\n },\r\n props: {\r\n modal: Boolean as PropType<boolean>,\r\n ...pressYLayerProps(),\r\n },\r\n emits: {\r\n 'update:modelValue': (value: boolean) => true,\r\n 'click:complement': (mouseEvent: MouseEvent) => true,\r\n afterLeave: () => true,\r\n },\r\n slots: Object as SlotsType<{\r\n base: any;\r\n default: any;\r\n }>,\r\n setup(props, { emit, expose, attrs, slots }) {\r\n const vm = getCurrentInstance();\r\n const scrim$ = ref<HTMLElement>();\r\n const content$ = ref<HTMLElement>();\r\n const root$ = ref<HTMLElement>();\r\n const model = useModelDuplex(props);\r\n const active = computed({\r\n get: (): boolean => {\r\n return !!model.value;\r\n },\r\n set: (v: boolean) => {\r\n if (!(v && props.disabled)) model.value = v;\r\n },\r\n });\r\n // Frags\r\n const { base, base$, baseEl, baseSlot, baseFromSlotEl } = useBase(props);\r\n const { contentEvents } = useContent(props, active);\r\n const { themeClasses } = useLocalTheme(props);\r\n const { layerGroup, layerGroupState, getActiveLayers } = useLayerGroup(props);\r\n const { polyTransitionBindProps } = usePolyTransition(props);\r\n const { dimensionStyles } = useDimension(props);\r\n\r\n const { lazyValue, onAfterUpdate } = useLazy(toRef(props, 'eager'), active);\r\n // States\r\n const finish = shallowRef(false);\r\n const hovered = ref(false);\r\n const focused = ref(false);\r\n const disabled = toRef(props, 'disabled');\r\n const maximized = toRef(props, 'maximized');\r\n\r\n const rendered = computed<boolean>(\r\n () => !disabled.value && (lazyValue.value || active.value),\r\n );\r\n\r\n const { coordinateStyles, updateCoordinate } = useCoordinate(props, {\r\n contentEl: content$,\r\n base,\r\n active,\r\n });\r\n useScrollStrategies(props, {\r\n root: root$,\r\n contentEl: content$,\r\n active,\r\n baseEl: base,\r\n updateCoordinate,\r\n });\r\n\r\n function onClickComplementLayer(mouseEvent: MouseEvent) {\r\n emit('click:complement', mouseEvent);\r\n if (!props.modal) {\r\n if (\r\n scrim$.value !== null &&\r\n scrim$.value === mouseEvent.target &&\r\n props.closeClickScrim\r\n ) {\r\n active.value = false;\r\n }\r\n } else {\r\n // TODO: shrug ani\r\n }\r\n }\r\n\r\n function closeConditional(): boolean {\r\n return (\r\n (!props.openOnHover || (props.openOnHover && !hovered.value)) &&\r\n active.value &&\r\n finish.value\r\n ); // TODO: && groupTopLevel.value;\r\n }\r\n\r\n const complementClickOption = reactive<ComplementClickBindingOptions>({\r\n handler: onClickComplementLayer,\r\n determine: closeConditional,\r\n include: () => [baseEl.value],\r\n });\r\n\r\n function onAfterEnter() {\r\n finish.value = true;\r\n }\r\n\r\n function onAfterLeave() {\r\n onAfterUpdate();\r\n finish.value = false;\r\n emit('afterLeave');\r\n }\r\n\r\n function onClickScrim() {\r\n if (props.closeClickScrim) {\r\n active.value = false;\r\n }\r\n }\r\n\r\n function onMouseenter(event: Event) {\r\n hovered.value = true;\r\n }\r\n\r\n function onMouseleave(event: Event) {\r\n hovered.value = false;\r\n }\r\n\r\n const computedStyle = computed(() => {\r\n return {\r\n zIndex: (props.zIndex ?? '2000').toString(),\r\n };\r\n });\r\n\r\n const computedClass = computed<Record<string, boolean>>(() => {\r\n const { classes } = props;\r\n const boundClasses = bindClasses(classes);\r\n return {\r\n ...boundClasses,\r\n 'y-layer--active': !!active.value,\r\n };\r\n });\r\n\r\n const computedContentClasses = computed<Record<string, boolean>>(() => {\r\n const boundClasses = bindClasses(props.contentClasses);\r\n return {\r\n ...boundClasses,\r\n };\r\n });\r\n\r\n expose({\r\n scrim$,\r\n base$,\r\n content$: computed(() => content$.value),\r\n baseEl,\r\n active,\r\n onAfterUpdate,\r\n updateCoordinate,\r\n hovered,\r\n finish,\r\n modal: computed(() => props.modal),\r\n getActiveLayers,\r\n isMe: (vnode: ComponentInternalInstance) => {\r\n return vnode === vm;\r\n },\r\n });\r\n\r\n useRender(() => {\r\n const slotBase = slots.base?.({\r\n active: active.value,\r\n props: mergeProps({\r\n ref: base$,\r\n class: {\r\n 'y-layer-base': true,\r\n 'y-layer-base--active': active.value,\r\n },\r\n ...(props.baseProps ?? {}),\r\n }),\r\n });\r\n baseSlot.value = slotBase;\r\n return (\r\n <>\r\n {slotBase}\r\n <Teleport disabled={!layerGroup.value} to={layerGroup.value as any}>\r\n {rendered.value && (\r\n <div\r\n class={[\r\n {\r\n 'y-layer': true,\r\n 'y-layer--finish': finish.value,\r\n 'y-layer--contained': props.contained,\r\n ...computedClass.value,\r\n },\r\n themeClasses.value,\r\n ]}\r\n onMouseenter={onMouseenter}\r\n onMouseleave={onMouseleave}\r\n style={computedStyle.value}\r\n ref={root$}\r\n {...attrs}\r\n >\r\n <Transition name=\"fade\" appear>\r\n {active.value && props.scrim && (\r\n <div\r\n class=\"y-layer__scrim\"\r\n style={{ '--y-layer-scrim-opacity': props.scrimOpacity }}\r\n onClick={onClickScrim}\r\n ref=\"scrim$\"\r\n ></div>\r\n )}\r\n </Transition>\r\n <PolyTransition\r\n onAfterEnter={onAfterEnter}\r\n onAfterLeave={onAfterLeave}\r\n appear\r\n {...polyTransitionBindProps.value}\r\n >\r\n <div\r\n v-show={active.value}\r\n v-complement-click={{ ...complementClickOption }}\r\n class={{\r\n 'y-layer__content': true,\r\n ...computedContentClasses.value,\r\n }}\r\n style={[\r\n {\r\n ...dimensionStyles.value,\r\n ...coordinateStyles.value,\r\n ...props.contentStyles,\r\n },\r\n ]}\r\n {...contentEvents.value}\r\n ref={content$}\r\n >\r\n {slots.default?.({ active: active.value })}\r\n </div>\r\n </PolyTransition>\r\n </div>\r\n )}\r\n </Teleport>\r\n </>\r\n );\r\n });\r\n\r\n return {\r\n complementClickOption,\r\n layerGroup,\r\n active,\r\n finish,\r\n rendered,\r\n lazyValue,\r\n onAfterUpdate: onAfterUpdate as () => void,\r\n scrim$,\r\n content$,\r\n base$,\r\n baseEl,\r\n baseFromSlotEl,\r\n polyTransitionBindProps,\r\n coordinateStyles,\r\n layerGroupState,\r\n getActiveLayers,\r\n };\r\n },\r\n});\r\n\r\nexport type YLayer = InstanceType<typeof YLayer>;\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"YLayer.js","names":["computed","getCurrentInstance","mergeProps","reactive","ref","shallowRef","Teleport","Transition","toRef","Fragment","_Fragment","createVNode","_createVNode","vShow","_vShow","resolveDirective","_resolveDirective","_mergeProps","withDirectives","_withDirectives","useModelDuplex","useRender","pressCoordinateProps","useCoordinate","pressDimensionPropsOptions","useDimension","useLayerGroup","pressThemePropsOptions","useLocalTheme","useLazy","PolyTransition","pressPolyTransitionPropsOptions","usePolyTransition","ComplementClick","bindClasses","defineComponent","propsFactory","pressBasePropsOptions","useBase","pressContentPropsOptions","useContent","pressScrollStrategyProps","useScrollStrategies","noop","pressYLayerProps","modelValue","type","Boolean","scrim","scrimOpacity","Number","eager","classes","Array","String","Object","contentClasses","closeClickScrim","contentStyles","default","disabled","maximized","openOnHover","openDelay","closeDelay","zIndex","contained","layerGroup","YLayer","name","inheritAttrs","components","directives","props","modal","emits","value","mouseEvent","afterLeave","slots","setup","_ref","emit","expose","attrs","vm","scrim$","content$","root$","model","active","get","set","v","base","base$","baseEl","baseSlot","baseFromSlotEl","contentEvents","themeClasses","layerGroupState","getActiveLayers","polyTransitionBindProps","dimensionStyles","lazyValue","onAfterUpdate","finish","hovered","focused","rendered","coordination","coordinateStyles","updateCoordinate","contentEl","root","onClickComplementLayer","target","closeConditional","complementClickOption","handler","determine","include","onAfterEnter","onAfterLeave","onClickScrim","onMouseenter","event","onMouseleave","computedStyle","toString","computedClass","boundClasses","computedContentClasses","side","align","isMe","vnode","slotBase","class","baseProps"],"sources":["../../../src/components/layer/YLayer.tsx"],"sourcesContent":["import type { ComponentInternalInstance, PropType, SlotsType } from \"vue\";\nimport {\n\tcomputed,\n\tgetCurrentInstance,\n\tmergeProps,\n\treactive,\n\tref,\n\tshallowRef,\n\tTeleport,\n\tTransition,\n\ttoRef,\n} from \"vue\";\n\nimport { useModelDuplex } from \"@/composables/communication\";\nimport { useRender } from \"@/composables/component\";\nimport { pressCoordinateProps, useCoordinate } from \"@/composables/coordinate\";\nimport {\n\tpressDimensionPropsOptions,\n\tuseDimension,\n} from \"@/composables/dimension\";\nimport { useLayerGroup } from \"@/composables/layer-group\";\nimport { pressThemePropsOptions, useLocalTheme } from \"@/composables/theme\";\nimport { useLazy } from \"@/composables/timing\";\nimport {\n\tPolyTransition,\n\tpressPolyTransitionPropsOptions,\n\tusePolyTransition,\n} from \"@/composables/transition\";\nimport {\n\tComplementClick,\n\ttype ComplementClickBindingOptions,\n} from \"@/directives/complement-click\";\nimport { bindClasses, defineComponent, propsFactory } from \"@/util/component\";\n\nimport { pressBasePropsOptions, useBase } from \"./base\";\nimport { pressContentPropsOptions, useContent } from \"./content\";\nimport {\n\tpressScrollStrategyProps,\n\tuseScrollStrategies,\n} from \"./scroll-strategies\";\n\nimport \"./YLayer.scss\";\nimport type { CssProperties } from \"@/types\";\nimport { noop } from \"@/util\";\n\nexport const pressYLayerProps = propsFactory(\n\t{\n\t\tmodelValue: {\n\t\t\ttype: Boolean as PropType<boolean>,\n\t\t},\n\t\tscrim: {\n\t\t\ttype: Boolean as PropType<boolean>,\n\t\t},\n\t\tscrimOpacity: {\n\t\t\ttype: Number as PropType<number>,\n\t\t},\n\t\teager: {\n\t\t\ttype: Boolean as PropType<boolean>,\n\t\t},\n\t\tclasses: {\n\t\t\ttype: [Array, String, Object] as PropType<\n\t\t\t\tstring[] | string | Record<string, any>\n\t\t\t>,\n\t\t},\n\t\tcontentClasses: {\n\t\t\ttype: [Array, String, Object] as PropType<\n\t\t\t\tstring[] | string | Record<string, any>\n\t\t\t>,\n\t\t},\n\t\tcloseClickScrim: {\n\t\t\ttype: Boolean as PropType<boolean>,\n\t\t},\n\t\tcontentStyles: {\n\t\t\ttype: Object as PropType<CssProperties>,\n\t\t\tdefault: () => {},\n\t\t},\n\t\tdisabled: {\n\t\t\ttype: Boolean as PropType<boolean>,\n\t\t\tdefault: false,\n\t\t},\n\t\tmaximized: {\n\t\t\ttype: Boolean as PropType<boolean>,\n\t\t},\n\t\topenOnHover: {\n\t\t\ttype: Boolean as PropType<boolean>,\n\t\t\tdefault: false,\n\t\t},\n\t\topenDelay: {\n\t\t\ttype: Number as PropType<number>,\n\t\t\tdefault: 200,\n\t\t},\n\t\tcloseDelay: {\n\t\t\ttype: Number as PropType<number>,\n\t\t\tdefault: 200,\n\t\t},\n\t\tzIndex: {\n\t\t\ttype: [Number, String] as PropType<number | string>,\n\t\t\tdefault: 2000,\n\t\t},\n\t\tcontained: Boolean,\n\t\tlayerGroup: [String, Object] as PropType<string | Element>,\n\t\t...pressThemePropsOptions(),\n\t\t...pressPolyTransitionPropsOptions(),\n\t\t...pressBasePropsOptions(),\n\t\t...pressContentPropsOptions(),\n\t\t...pressCoordinateProps(),\n\t\t...pressScrollStrategyProps(),\n\t\t...pressDimensionPropsOptions(),\n\t},\n\t\"YLayer\",\n);\n\nexport const YLayer = defineComponent({\n\tname: \"YLayer\",\n\tinheritAttrs: false,\n\tcomponents: {\n\t\tPolyTransition,\n\t},\n\tdirectives: {\n\t\tComplementClick,\n\t},\n\tprops: {\n\t\tmodal: Boolean as PropType<boolean>,\n\t\t...pressYLayerProps(),\n\t},\n\temits: {\n\t\t\"update:modelValue\": (value: boolean) => true,\n\t\t\"click:complement\": (mouseEvent: MouseEvent) => true,\n\t\tafterLeave: () => true,\n\t},\n\tslots: Object as SlotsType<{\n\t\tbase: any;\n\t\tdefault: any;\n\t}>,\n\tsetup(props, { emit, expose, attrs, slots }) {\n\t\tconst vm = getCurrentInstance();\n\t\tconst scrim$ = ref<HTMLElement>();\n\t\tconst content$ = ref<HTMLElement>();\n\t\tconst root$ = ref<HTMLElement>();\n\t\tconst model = useModelDuplex(props);\n\t\tconst active = computed({\n\t\t\tget: (): boolean => {\n\t\t\t\treturn !!model.value;\n\t\t\t},\n\t\t\tset: (v: boolean) => {\n\t\t\t\tif (!(v && props.disabled)) model.value = v;\n\t\t\t},\n\t\t});\n\t\t// Frags\n\t\tconst { base, base$, baseEl, baseSlot, baseFromSlotEl } = useBase(props);\n\t\tconst { contentEvents } = useContent(props, active);\n\t\tconst { themeClasses } = useLocalTheme(props);\n\t\tconst { layerGroup, layerGroupState, getActiveLayers } =\n\t\t\tuseLayerGroup(props);\n\t\tconst { polyTransitionBindProps } = usePolyTransition(props);\n\t\tconst { dimensionStyles } = useDimension(props);\n\n\t\tconst { lazyValue, onAfterUpdate } = useLazy(toRef(props, \"eager\"), active);\n\t\t// States\n\t\tconst finish = shallowRef(false);\n\t\tconst hovered = ref(false);\n\t\tconst focused = ref(false);\n\t\tconst disabled = toRef(props, \"disabled\");\n\t\tconst maximized = toRef(props, \"maximized\");\n\n\t\tconst rendered = computed<boolean>(\n\t\t\t() => !disabled.value && (lazyValue.value || active.value),\n\t\t);\n\n\t\tconst { coordination, coordinateStyles, updateCoordinate } = useCoordinate(props, {\n\t\t\tcontentEl: content$,\n\t\t\tbase,\n\t\t\tactive,\n\t\t});\n\t\tuseScrollStrategies(props, {\n\t\t\troot: root$,\n\t\t\tcontentEl: content$,\n\t\t\tactive,\n\t\t\tbaseEl: base,\n\t\t\tupdateCoordinate,\n\t\t});\n\n\t\tfunction onClickComplementLayer(mouseEvent: MouseEvent) {\n\t\t\temit(\"click:complement\", mouseEvent);\n\t\t\tif (!props.modal) {\n\t\t\t\tif (\n\t\t\t\t\tscrim$.value !== null &&\n\t\t\t\t\tscrim$.value === mouseEvent.target &&\n\t\t\t\t\tprops.closeClickScrim\n\t\t\t\t) {\n\t\t\t\t\tactive.value = false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// TODO: shrug ani\n\t\t\t}\n\t\t}\n\n\t\tfunction closeConditional(): boolean {\n\t\t\treturn (\n\t\t\t\t(!props.openOnHover || (props.openOnHover && !hovered.value)) &&\n\t\t\t\tactive.value &&\n\t\t\t\tfinish.value\n\t\t\t); // TODO: && groupTopLevel.value;\n\t\t}\n\n\t\tconst complementClickOption = reactive<ComplementClickBindingOptions>({\n\t\t\thandler: onClickComplementLayer,\n\t\t\tdetermine: closeConditional,\n\t\t\tinclude: () => [baseEl.value],\n\t\t});\n\n\t\tfunction onAfterEnter() {\n\t\t\tfinish.value = true;\n\t\t}\n\n\t\tfunction onAfterLeave() {\n\t\t\tonAfterUpdate();\n\t\t\tfinish.value = false;\n\t\t\temit(\"afterLeave\");\n\t\t}\n\n\t\tfunction onClickScrim() {\n\t\t\tif (props.closeClickScrim) {\n\t\t\t\tactive.value = false;\n\t\t\t}\n\t\t}\n\n\t\tfunction onMouseenter(event: Event) {\n\t\t\thovered.value = true;\n\t\t}\n\n\t\tfunction onMouseleave(event: Event) {\n\t\t\thovered.value = false;\n\t\t}\n\n\t\tconst computedStyle = computed(() => {\n\t\t\treturn {\n\t\t\t\tzIndex: (props.zIndex ?? \"2000\").toString(),\n\t\t\t};\n\t\t});\n\n\t\tconst computedClass = computed<Record<string, boolean>>(() => {\n\t\t\tconst { classes } = props;\n\t\t\tconst boundClasses = bindClasses(classes);\n\t\t\treturn {\n\t\t\t\t...boundClasses,\n\t\t\t\t\"y-layer--active\": !!active.value,\n\t\t\t};\n\t\t});\n\n\t\tconst computedContentClasses = computed<Record<string, boolean>>(() => {\n\t\t\tconst boundClasses = bindClasses(props.contentClasses);\n\t\t\tconst { side, align } = coordination.value;\n\t\t\treturn {\n\t\t\t\t...boundClasses,\n [`y-layer--side-${side}`]: !!side,\n [`y-layer--align-${align}`]: !!align,\n\t\t\t};\n\t\t});\n\n\t\texpose({\n\t\t\tscrim$,\n\t\t\tbase$,\n\t\t\tcontent$: computed(() => content$.value),\n\t\t\tbaseEl,\n\t\t\tactive,\n\t\t\tonAfterUpdate,\n\t\t\tupdateCoordinate,\n\t\t\thovered,\n\t\t\tfinish,\n\t\t\tmodal: computed(() => props.modal),\n\t\t\tgetActiveLayers,\n\t\t\tisMe: (vnode: ComponentInternalInstance) => {\n\t\t\t\treturn vnode === vm;\n\t\t\t},\n\t\t\tcoordination,\n\t\t});\n\n\t\tuseRender(() => {\n\t\t\tconst slotBase = slots.base?.({\n\t\t\t\tactive: active.value,\n\t\t\t\tprops: mergeProps({\n\t\t\t\t\tref: base$,\n\t\t\t\t\tclass: {\n\t\t\t\t\t\t\"y-layer-base\": true,\n\t\t\t\t\t\t\"y-layer-base--active\": active.value,\n\t\t\t\t\t},\n\t\t\t\t\t...(props.baseProps ?? {}),\n\t\t\t\t}),\n\t\t\t});\n\t\t\tbaseSlot.value = slotBase;\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t{slotBase}\n\t\t\t\t\t<Teleport disabled={!layerGroup.value} to={layerGroup.value as any}>\n\t\t\t\t\t\t{rendered.value && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass={[\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\"y-layer\": true,\n\t\t\t\t\t\t\t\t\t\t\"y-layer--finish\": finish.value,\n\t\t\t\t\t\t\t\t\t\t\"y-layer--contained\": props.contained,\n\t\t\t\t\t\t\t\t\t\t...computedClass.value,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tthemeClasses.value,\n\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\tonMouseenter={onMouseenter}\n\t\t\t\t\t\t\t\tonMouseleave={onMouseleave}\n\t\t\t\t\t\t\t\tstyle={computedStyle.value}\n\t\t\t\t\t\t\t\tref={root$}\n\t\t\t\t\t\t\t\t{...attrs}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Transition name=\"fade\" appear>\n\t\t\t\t\t\t\t\t\t{active.value && props.scrim && (\n\t\t\t\t\t\t\t\t\t\t// biome-ignore lint/a11y/noStaticElementInteractions: <explanation>\n\t\t\t\t\t\t\t\t\t\t// biome-ignore lint/a11y/useKeyWithClickEvents: <explanation>\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tclass=\"y-layer__scrim\"\n\t\t\t\t\t\t\t\t\t\t\tstyle={{ \"--y-layer-scrim-opacity\": props.scrimOpacity }}\n\t\t\t\t\t\t\t\t\t\t\tonClick={onClickScrim}\n\t\t\t\t\t\t\t\t\t\t\tonKeydown={noop()}\n\t\t\t\t\t\t\t\t\t\t\tonKeyup={noop()}\n\t\t\t\t\t\t\t\t\t\t\tref=\"scrim$\"\n\t\t\t\t\t\t\t\t\t\t></div>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</Transition>\n\t\t\t\t\t\t\t\t<PolyTransition\n\t\t\t\t\t\t\t\t\tonAfterEnter={onAfterEnter}\n\t\t\t\t\t\t\t\t\tonAfterLeave={onAfterLeave}\n\t\t\t\t\t\t\t\t\tappear\n\t\t\t\t\t\t\t\t\t{...polyTransitionBindProps.value}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tv-show={active.value}\n\t\t\t\t\t\t\t\t\t\tv-complement-click={{ ...complementClickOption }}\n\t\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t\t\"y-layer__content\": true,\n\t\t\t\t\t\t\t\t\t\t\t...computedContentClasses.value,\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tstyle={[\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t...dimensionStyles.value,\n\t\t\t\t\t\t\t\t\t\t\t\t...coordinateStyles.value,\n\t\t\t\t\t\t\t\t\t\t\t\t...props.contentStyles,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\t\t{...contentEvents.value}\n\t\t\t\t\t\t\t\t\t\tref={content$}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{slots.default?.({ active: active.value })}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</PolyTransition>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Teleport>\n\t\t\t\t</>\n\t\t\t);\n\t\t});\n\n\t\treturn {\n\t\t\tcomplementClickOption,\n\t\t\tlayerGroup,\n\t\t\tactive,\n\t\t\tfinish,\n\t\t\trendered,\n\t\t\tlazyValue,\n\t\t\tonAfterUpdate: onAfterUpdate as () => void,\n\t\t\tscrim$,\n\t\t\tcontent$,\n\t\t\tbase,\n\t\t\tbase$,\n\t\t\tbaseEl,\n\t\t\tbaseFromSlotEl,\n\t\t\tpolyTransitionBindProps,\n\t\t\tcoordinateStyles,\n\t\t\tlayerGroupState,\n\t\t\tgetActiveLayers,\n\t\t\tcoordination,\n\t\t};\n\t},\n});\n\nexport type YLayer = InstanceType<typeof YLayer>;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"active-delay.js","names":["useDelay","props","callback","state","clearDelay","propKey","window","clearTimeout","setDelay","timeout","resolve","setTimeout","active","generateDelay","delayTime","Promise","delay","parseInt","String","startOpenDelay","startCloseDelay"],"sources":["../../../src/components/layer/active-delay.ts"],"sourcesContent":["type DelayType = 'closeDelay' | 'openDelay';\n\nexport function useDelay(props: any, callback?: (active: boolean) => void) {\n const state: Partial<Record<DelayType, number>> = {};\n\n function clearDelay(propKey: DelayType) {\n state[propKey] && window.clearTimeout(state[propKey]);\n delete state[propKey];\n }\n\n function setDelay(propKey: DelayType, timeout: number, resolve: any) {\n state[propKey] = window.setTimeout(() => {\n const active = propKey === 'openDelay';\n callback?.(active);\n resolve(active);\n }, timeout);\n }\n\n const generateDelay = (propKey: DelayType) => () => {\n clearDelay('openDelay');\n clearDelay('closeDelay');\n const delayTime = props[propKey] ?? 0;\n return new Promise<boolean>((resolve) => {\n const delay = parseInt(String(delayTime), 10);\n setDelay(propKey, delay, resolve);\n });\n };\n\n return {\n startOpenDelay: generateDelay('openDelay'),\n startCloseDelay: generateDelay('closeDelay'),\n };\n}\n"],"mappings":"AAEA,OAAO,SAASA,QAAQA,CAACC,KAAU,EAAEC,QAAoC,EAAE;EACzE,MAAMC,KAAyC,GAAG,CAAC,CAAC;EAEpD,SAASC,UAAUA,CAACC,OAAkB,EAAE;IACtCF,KAAK,CAACE,OAAO,CAAC,IAAIC,MAAM,CAACC,YAAY,CAACJ,KAAK,CAACE,OAAO,CAAC,CAAC;IACrD,OAAOF,KAAK,CAACE,OAAO,CAAC;EACvB;EAEA,SAASG,QAAQA,CAACH,OAAkB,EAAEI,OAAe,EAAEC,OAAY,EAAE;IACnEP,KAAK,CAACE,OAAO,CAAC,GAAGC,MAAM,CAACK,UAAU,CAAC,MAAM;MACvC,MAAMC,MAAM,GAAGP,OAAO,KAAK,WAAW;MACtCH,QAAQ,GAAGU,MAAM,CAAC;MAClBF,OAAO,CAACE,MAAM,CAAC;IACjB,CAAC,EAAEH,OAAO,CAAC;EACb;EAEA,MAAMI,aAAa,GAAIR,OAAkB,IAAK,MAAM;IAClDD,UAAU,CAAC,WAAW,CAAC;IACvBA,UAAU,CAAC,YAAY,CAAC;IACxB,MAAMU,SAAS,GAAGb,KAAK,CAACI,OAAO,CAAC,IAAI,CAAC;IACrC,OAAO,IAAIU,OAAO,CAAWL,OAAO,IAAK;MACvC,MAAMM,KAAK,GAAGC,QAAQ,CAACC,MAAM,CAACJ,SAAS,CAAC,EAAE,EAAE,CAAC;MAC7CN,QAAQ,CAACH,OAAO,EAAEW,KAAK,EAAEN,OAAO,CAAC;IACnC,CAAC,CAAC;EACJ,CAAC;EAED,OAAO;IACLS,cAAc,EAAEN,aAAa,CAAC,WAAW,CAAC;IAC1CO,eAAe,EAAEP,aAAa,CAAC,YAAY;EAC7C,CAAC;AACH"}
1
+ {"version":3,"file":"active-delay.js","names":["useDelay","props","callback","state","clearDelay","propKey","window","clearTimeout","setDelay","timeout","resolve","setTimeout","active","generateDelay","delayTime","Promise","delay","parseInt","String","startOpenDelay","startCloseDelay"],"sources":["../../../src/components/layer/active-delay.ts"],"sourcesContent":["type DelayType = 'closeDelay' | 'openDelay';\n\nexport function useDelay(props: any, callback?: (active: boolean) => void) {\n const state: Partial<Record<DelayType, number>> = {};\n\n function clearDelay(propKey: DelayType) {\n state[propKey] && window.clearTimeout(state[propKey]);\n delete state[propKey];\n }\n\n function setDelay(propKey: DelayType, timeout: number, resolve: any) {\n state[propKey] = window.setTimeout(() => {\n const active = propKey === 'openDelay';\n callback?.(active);\n resolve(active);\n }, timeout);\n }\n\n const generateDelay = (propKey: DelayType) => () => {\n clearDelay('openDelay');\n clearDelay('closeDelay');\n const delayTime = props[propKey] ?? 0;\n return new Promise<boolean>((resolve) => {\n const delay = parseInt(String(delayTime), 10);\n setDelay(propKey, delay, resolve);\n });\n };\n\n return {\n startOpenDelay: generateDelay('openDelay'),\n startCloseDelay: generateDelay('closeDelay'),\n };\n}\n"],"mappings":"AAEA,OAAO,SAASA,QAAQA,CAACC,KAAU,EAAEC,QAAoC,EAAE;EACzE,MAAMC,KAAyC,GAAG,CAAC,CAAC;EAEpD,SAASC,UAAUA,CAACC,OAAkB,EAAE;IACtCF,KAAK,CAACE,OAAO,CAAC,IAAIC,MAAM,CAACC,YAAY,CAACJ,KAAK,CAACE,OAAO,CAAC,CAAC;IACrD,OAAOF,KAAK,CAACE,OAAO,CAAC;EACvB;EAEA,SAASG,QAAQA,CAACH,OAAkB,EAAEI,OAAe,EAAEC,OAAY,EAAE;IACnEP,KAAK,CAACE,OAAO,CAAC,GAAGC,MAAM,CAACK,UAAU,CAAC,MAAM;MACvC,MAAMC,MAAM,GAAGP,OAAO,KAAK,WAAW;MACtCH,QAAQ,GAAGU,MAAM,CAAC;MAClBF,OAAO,CAACE,MAAM,CAAC;IACjB,CAAC,EAAEH,OAAO,CAAC;EACb;EAEA,MAAMI,aAAa,GAAIR,OAAkB,IAAK,MAAM;IAClDD,UAAU,CAAC,WAAW,CAAC;IACvBA,UAAU,CAAC,YAAY,CAAC;IACxB,MAAMU,SAAS,GAAGb,KAAK,CAACI,OAAO,CAAC,IAAI,CAAC;IACrC,OAAO,IAAIU,OAAO,CAAWL,OAAO,IAAK;MACvC,MAAMM,KAAK,GAAGC,QAAQ,CAACC,MAAM,CAACJ,SAAS,CAAC,EAAE,EAAE,CAAC;MAC7CN,QAAQ,CAACH,OAAO,EAAEW,KAAK,EAAEN,OAAO,CAAC;IACnC,CAAC,CAAC;EACJ,CAAC;EAED,OAAO;IACLS,cAAc,EAAEN,aAAa,CAAC,WAAW,CAAC;IAC1CO,eAAe,EAAEP,aAAa,CAAC,YAAY;EAC7C,CAAC;AACH","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"active-stack.js","names":["getCurrentInstance","inject","provide","shallowRef","watch","watchPostEffect","YUYEON_ACTIVE_STACK_KEY","Symbol","for","useActiveStack","$el","active","sequential","parent","children","vm","push","instance","value","pop","index","findIndex","child","splice","clear","modal","bubble","length","neo"],"sources":["../../../src/components/layer/active-stack.ts"],"sourcesContent":["import type { InjectionKey, Ref } from 'vue';\r\nimport {\r\n getCurrentInstance,\r\n inject,\r\n provide,\r\n shallowRef,\r\n watch,\r\n watchPostEffect,\r\n} from 'vue';\r\n\r\nimport { YLayer } from './YLayer';\r\n\r\nexport interface ActiveStackProvide {\r\n push: (instance: any) => void;\r\n pop: (instance?: any) => void;\r\n clear: () => void;\r\n $el: Ref<typeof YLayer | undefined>;\r\n}\r\n\r\nexport const YUYEON_ACTIVE_STACK_KEY: InjectionKey<ActiveStackProvide> =\r\n Symbol.for('yuyeon.active-stack');\r\n\r\nexport function useActiveStack(\r\n $el: Ref<typeof YLayer | undefined>,\r\n active: Ref<boolean>,\r\n sequential?: Ref<boolean | undefined>,\r\n) {\r\n const parent = inject(YUYEON_ACTIVE_STACK_KEY, null);\r\n const children = shallowRef<any[]>([]);\r\n const vm = getCurrentInstance();\r\n\r\n function push(instance: any) {\r\n children.value.push(instance);\r\n }\r\n\r\n function pop(instance?: any) {\r\n if (instance) {\r\n const index = children.value.findIndex((child) => child === instance);\r\n if (index > -1) {\r\n children.value.splice(index, 1);\r\n return;\r\n }\r\n }\r\n children.value.pop();\r\n }\r\n\r\n function clear() {\r\n if ($el.value?.modal) return;\r\n active.value = false;\r\n const bubble = () => {\r\n if (children.value.length === 0) {\r\n parent?.clear();\r\n }\r\n };\r\n if (!sequential?.value) {\r\n watchPostEffect(bubble);\r\n }\r\n }\r\n\r\n watch(active, (neo) => {\r\n if (neo) {\r\n parent?.push(vm);\r\n } else {\r\n parent?.pop(vm);\r\n }\r\n });\r\n\r\n provide(YUYEON_ACTIVE_STACK_KEY, {\r\n push,\r\n pop,\r\n clear,\r\n $el,\r\n });\r\n\r\n return {\r\n push,\r\n pop,\r\n parent,\r\n children,\r\n };\r\n}\r\n"],"mappings":"AACA,SACEA,kBAAkB,EAClBC,MAAM,EACNC,OAAO,EACPC,UAAU,EACVC,KAAK,EACLC,eAAe,QACV,KAAK;AAWZ,OAAO,MAAMC,uBAAyD,GACpEC,MAAM,CAACC,GAAG,CAAC,qBAAqB,CAAC;AAEnC,OAAO,SAASC,cAAcA,CAC5BC,GAAmC,EACnCC,MAAoB,EACpBC,UAAqC,EACrC;EACA,MAAMC,MAAM,GAAGZ,MAAM,CAACK,uBAAuB,EAAE,IAAI,CAAC;EACpD,MAAMQ,QAAQ,GAAGX,UAAU,CAAQ,EAAE,CAAC;EACtC,MAAMY,EAAE,GAAGf,kBAAkB,CAAC,CAAC;EAE/B,SAASgB,IAAIA,CAACC,QAAa,EAAE;IAC3BH,QAAQ,CAACI,KAAK,CAACF,IAAI,CAACC,QAAQ,CAAC;EAC/B;EAEA,SAASE,GAAGA,CAACF,QAAc,EAAE;IAC3B,IAAIA,QAAQ,EAAE;MACZ,MAAMG,KAAK,GAAGN,QAAQ,CAACI,KAAK,CAACG,SAAS,CAAEC,KAAK,IAAKA,KAAK,KAAKL,QAAQ,CAAC;MACrE,IAAIG,KAAK,GAAG,CAAC,CAAC,EAAE;QACdN,QAAQ,CAACI,KAAK,CAACK,MAAM,CAACH,KAAK,EAAE,CAAC,CAAC;QAC/B;MACF;IACF;IACAN,QAAQ,CAACI,KAAK,CAACC,GAAG,CAAC,CAAC;EACtB;EAEA,SAASK,KAAKA,CAAA,EAAG;IACf,IAAId,GAAG,CAACQ,KAAK,EAAEO,KAAK,EAAE;IACtBd,MAAM,CAACO,KAAK,GAAG,KAAK;IACpB,MAAMQ,MAAM,GAAGA,CAAA,KAAM;MACnB,IAAIZ,QAAQ,CAACI,KAAK,CAACS,MAAM,KAAK,CAAC,EAAE;QAC/Bd,MAAM,EAAEW,KAAK,CAAC,CAAC;MACjB;IACF,CAAC;IACD,IAAI,CAACZ,UAAU,EAAEM,KAAK,EAAE;MACtBb,eAAe,CAACqB,MAAM,CAAC;IACzB;EACF;EAEAtB,KAAK,CAACO,MAAM,EAAGiB,GAAG,IAAK;IACrB,IAAIA,GAAG,EAAE;MACPf,MAAM,EAAEG,IAAI,CAACD,EAAE,CAAC;IAClB,CAAC,MAAM;MACLF,MAAM,EAAEM,GAAG,CAACJ,EAAE,CAAC;IACjB;EACF,CAAC,CAAC;EAEFb,OAAO,CAACI,uBAAuB,EAAE;IAC/BU,IAAI;IACJG,GAAG;IACHK,KAAK;IACLd;EACF,CAAC,CAAC;EAEF,OAAO;IACLM,IAAI;IACJG,GAAG;IACHN,MAAM;IACNC;EACF,CAAC;AACH"}
1
+ {"version":3,"file":"active-stack.js","names":["getCurrentInstance","inject","provide","shallowRef","watch","watchPostEffect","YUYEON_ACTIVE_STACK_KEY","Symbol","for","useActiveStack","$el","active","sequential","parent","children","vm","push","instance","value","pop","index","findIndex","child","splice","clear","modal","bubble","length","neo"],"sources":["../../../src/components/layer/active-stack.ts"],"sourcesContent":["import type { InjectionKey, Ref } from 'vue';\nimport {\n getCurrentInstance,\n inject,\n provide,\n shallowRef,\n watch,\n watchPostEffect,\n} from 'vue';\n\nimport { YLayer } from './YLayer';\n\nexport interface ActiveStackProvide {\n push: (instance: any) => void;\n pop: (instance?: any) => void;\n clear: () => void;\n $el: Ref<typeof YLayer | undefined>;\n}\n\nexport const YUYEON_ACTIVE_STACK_KEY: InjectionKey<ActiveStackProvide> =\n Symbol.for('yuyeon.active-stack');\n\nexport function useActiveStack(\n $el: Ref<typeof YLayer | undefined>,\n active: Ref<boolean>,\n sequential?: Ref<boolean | undefined>,\n) {\n const parent = inject(YUYEON_ACTIVE_STACK_KEY, null);\n const children = shallowRef<any[]>([]);\n const vm = getCurrentInstance();\n\n function push(instance: any) {\n children.value.push(instance);\n }\n\n function pop(instance?: any) {\n if (instance) {\n const index = children.value.findIndex((child) => child === instance);\n if (index > -1) {\n children.value.splice(index, 1);\n return;\n }\n }\n children.value.pop();\n }\n\n function clear() {\n if ($el.value?.modal) return;\n active.value = false;\n const bubble = () => {\n if (children.value.length === 0) {\n parent?.clear();\n }\n };\n if (!sequential?.value) {\n watchPostEffect(bubble);\n }\n }\n\n watch(active, (neo) => {\n if (neo) {\n parent?.push(vm);\n } else {\n parent?.pop(vm);\n }\n });\n\n provide(YUYEON_ACTIVE_STACK_KEY, {\n push,\n pop,\n clear,\n $el,\n });\n\n return {\n push,\n pop,\n parent,\n children,\n };\n}\n"],"mappings":"AACA,SACEA,kBAAkB,EAClBC,MAAM,EACNC,OAAO,EACPC,UAAU,EACVC,KAAK,EACLC,eAAe,QACV,KAAK;AAWZ,OAAO,MAAMC,uBAAyD,GACpEC,MAAM,CAACC,GAAG,CAAC,qBAAqB,CAAC;AAEnC,OAAO,SAASC,cAAcA,CAC5BC,GAAmC,EACnCC,MAAoB,EACpBC,UAAqC,EACrC;EACA,MAAMC,MAAM,GAAGZ,MAAM,CAACK,uBAAuB,EAAE,IAAI,CAAC;EACpD,MAAMQ,QAAQ,GAAGX,UAAU,CAAQ,EAAE,CAAC;EACtC,MAAMY,EAAE,GAAGf,kBAAkB,CAAC,CAAC;EAE/B,SAASgB,IAAIA,CAACC,QAAa,EAAE;IAC3BH,QAAQ,CAACI,KAAK,CAACF,IAAI,CAACC,QAAQ,CAAC;EAC/B;EAEA,SAASE,GAAGA,CAACF,QAAc,EAAE;IAC3B,IAAIA,QAAQ,EAAE;MACZ,MAAMG,KAAK,GAAGN,QAAQ,CAACI,KAAK,CAACG,SAAS,CAAEC,KAAK,IAAKA,KAAK,KAAKL,QAAQ,CAAC;MACrE,IAAIG,KAAK,GAAG,CAAC,CAAC,EAAE;QACdN,QAAQ,CAACI,KAAK,CAACK,MAAM,CAACH,KAAK,EAAE,CAAC,CAAC;QAC/B;MACF;IACF;IACAN,QAAQ,CAACI,KAAK,CAACC,GAAG,CAAC,CAAC;EACtB;EAEA,SAASK,KAAKA,CAAA,EAAG;IACf,IAAId,GAAG,CAACQ,KAAK,EAAEO,KAAK,EAAE;IACtBd,MAAM,CAACO,KAAK,GAAG,KAAK;IACpB,MAAMQ,MAAM,GAAGA,CAAA,KAAM;MACnB,IAAIZ,QAAQ,CAACI,KAAK,CAACS,MAAM,KAAK,CAAC,EAAE;QAC/Bd,MAAM,EAAEW,KAAK,CAAC,CAAC;MACjB;IACF,CAAC;IACD,IAAI,CAACZ,UAAU,EAAEM,KAAK,EAAE;MACtBb,eAAe,CAACqB,MAAM,CAAC;IACzB;EACF;EAEAtB,KAAK,CAACO,MAAM,EAAGiB,GAAG,IAAK;IACrB,IAAIA,GAAG,EAAE;MACPf,MAAM,EAAEG,IAAI,CAACD,EAAE,CAAC;IAClB,CAAC,MAAM;MACLF,MAAM,EAAEM,GAAG,CAACJ,EAAE,CAAC;IACjB;EACF,CAAC,CAAC;EAEFb,OAAO,CAACI,uBAAuB,EAAE;IAC/BU,IAAI;IACJG,GAAG;IACHK,KAAK;IACLd;EACF,CAAC,CAAC;EAEF,OAAO;IACLM,IAAI;IACJG,GAAG;IACHN,MAAM;IACNC;EACF,CAAC;AACH","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { computed, getCurrentInstance, ref, watchEffect } from 'vue';
1
+ import { computed, getCurrentInstance, nextTick, ref, watchEffect } from 'vue';
2
2
  import { propsFactory } from "../../util/component/index.js";
3
3
  export const pressBasePropsOptions = propsFactory({
4
4
  base: [String, Object, Array],
@@ -47,7 +47,17 @@ export function useBase(props) {
47
47
  }, {
48
48
  flush: 'post'
49
49
  });
50
+
51
+ // If the node is created before rendering or before its parent layer component, baseEl is looked up once more.
52
+ nextTick(() => {
53
+ if (vm?.proxy?.$el && !base.value) {
54
+ baseEl.value = getBase(props.base, vm);
55
+ }
56
+ });
50
57
  return {
58
+ /**
59
+ * for templateRef from base slot
60
+ */
51
61
  base$,
52
62
  baseEl,
53
63
  baseSlot,
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","names":["computed","getCurrentInstance","ref","watchEffect","propsFactory","pressBasePropsOptions","base","String","Object","Array","baseProps","useBase","props","vm","base$","baseSlot","baseEl","baseFromSlotEl","el","value","nodeType","Node","ELEMENT_NODE","undefined","getBase","isArray","toEl","$el","flush","selector","ret","proxy","parentNode","parentEl","hasAttribute","document","querySelector"],"sources":["../../../src/components/layer/base.ts"],"sourcesContent":["import {\r\n type ComponentInternalInstance,\r\n type ComponentPublicInstance,\r\n type PropType,\r\n computed,\r\n getCurrentInstance,\r\n ref,\r\n watchEffect,\r\n} from 'vue';\r\n\r\nimport { propsFactory } from '@/util/component';\r\n\r\nexport type BaseType =\r\n | string\r\n | Element\r\n | ComponentPublicInstance\r\n | [x: number, y: number]\r\n | undefined;\r\n\r\nexport const pressBasePropsOptions = propsFactory(\r\n {\r\n base: [String, Object, Array] as PropType<BaseType>,\r\n baseProps: Object as PropType<Record<string, any>>,\r\n },\r\n 'YLayer.base',\r\n);\r\n\r\ninterface BaseProps {\r\n base: BaseType;\r\n baseProps: Record<string, any> | undefined;\r\n}\r\n\r\nexport function useBase(props: BaseProps) {\r\n const vm = getCurrentInstance()!;\r\n\r\n const base$ = ref();\r\n const baseSlot = ref();\r\n const baseEl = ref<HTMLElement>();\r\n\r\n const baseFromSlotEl = computed(() => {\r\n const el = baseSlot.value?.[0]?.el;\r\n if (el && el.nodeType === Node.ELEMENT_NODE) {\r\n return el;\r\n }\r\n return undefined;\r\n });\r\n\r\n const base = computed(() => {\r\n if (baseEl.value && !props.base) {\r\n return baseEl.value;\r\n }\r\n return getBase(props.base, vm);\r\n });\r\n\r\n watchEffect(\r\n () => {\r\n if (!base$.value) {\r\n if (!baseFromSlotEl.value && props.base && !Array.isArray(props.base)) {\r\n baseEl.value = base.value;\r\n return;\r\n }\r\n baseEl.value = baseFromSlotEl.value;\r\n return;\r\n }\r\n let toEl = base$.value;\r\n if (toEl.baseEl) {\r\n toEl = toEl.baseEl;\r\n }\r\n if (base$.value?.$el) {\r\n if (base$.value.$el.nodeType === Node.ELEMENT_NODE) {\r\n toEl = base$.value.$el;\r\n }\r\n }\r\n if (toEl?.nodeType !== Node.ELEMENT_NODE) {\r\n toEl = baseFromSlotEl.value;\r\n }\r\n baseEl.value = toEl;\r\n },\r\n { flush: 'post' },\r\n );\r\n\r\n return {\r\n base$,\r\n baseEl,\r\n baseSlot,\r\n base,\r\n baseFromSlotEl,\r\n };\r\n}\r\n\r\nfunction getBase(selector: BaseType, vm: ComponentInternalInstance) {\r\n if (!selector) return;\r\n\r\n let ret;\r\n\r\n if (selector === 'parent') {\r\n let el = vm?.proxy?.$el?.parentNode;\r\n let parentEl = el;\r\n while (el) {\r\n if (el?.hasAttribute('data-base-parent')) {\r\n parentEl = el;\r\n break;\r\n }\r\n el = el.parentNode;\r\n }\r\n ret = parentEl;\r\n }\r\n // Selector\r\n else if (typeof selector === 'string') {\r\n ret = document.querySelector(selector);\r\n }\r\n // Component\r\n else if ('$el' in selector) {\r\n ret = selector.$el;\r\n }\r\n // HTMLElement | Element | [x, y]\r\n else {\r\n ret = selector;\r\n }\r\n\r\n return ret;\r\n}\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"base.js","names":["computed","getCurrentInstance","nextTick","ref","watchEffect","propsFactory","pressBasePropsOptions","base","String","Object","Array","baseProps","useBase","props","vm","base$","baseSlot","baseEl","baseFromSlotEl","el","value","nodeType","Node","ELEMENT_NODE","undefined","getBase","isArray","toEl","$el","flush","proxy","selector","ret","parentNode","parentEl","hasAttribute","document","querySelector"],"sources":["../../../src/components/layer/base.ts"],"sourcesContent":["import {\n type ComponentInternalInstance,\n type ComponentPublicInstance,\n computed,\n getCurrentInstance,\n nextTick,\n type PropType,\n ref,\n watchEffect,\n} from 'vue';\n\nimport { propsFactory } from '@/util/component';\n\nexport type BaseType =\n | string\n | Element\n | ComponentPublicInstance\n | [x: number, y: number]\n | undefined;\n\nexport const pressBasePropsOptions = propsFactory(\n {\n base: [String, Object, Array] as PropType<BaseType>,\n baseProps: Object as PropType<Record<string, any>>,\n },\n 'YLayer.base',\n);\n\ninterface BaseProps {\n base: BaseType;\n baseProps: Record<string, any> | undefined;\n modelValue?: boolean;\n}\n\nexport function useBase(props: BaseProps) {\n const vm = getCurrentInstance()!;\n\n const base$ = ref();\n const baseSlot = ref();\n const baseEl = ref<HTMLElement>();\n\n const baseFromSlotEl = computed(() => {\n const el = baseSlot.value?.[0]?.el;\n if (el && el.nodeType === Node.ELEMENT_NODE) {\n return el;\n }\n return undefined;\n });\n\n const base = computed(() => {\n if (baseEl.value && !props.base) {\n return baseEl.value;\n }\n return getBase(props.base, vm);\n });\n\n watchEffect(\n () => {\n if (!base$.value) {\n if (!baseFromSlotEl.value && props.base && !Array.isArray(props.base)) {\n baseEl.value = base.value as HTMLElement;\n return;\n }\n baseEl.value = baseFromSlotEl.value;\n return;\n }\n let toEl = base$.value;\n if (toEl.baseEl) {\n toEl = toEl.baseEl;\n }\n if (base$.value?.$el) {\n if (base$.value.$el.nodeType === Node.ELEMENT_NODE) {\n toEl = base$.value.$el;\n }\n }\n if (toEl?.nodeType !== Node.ELEMENT_NODE) {\n toEl = baseFromSlotEl.value;\n }\n baseEl.value = toEl;\n },\n { flush: 'post' },\n );\n\n // If the node is created before rendering or before its parent layer component, baseEl is looked up once more.\n nextTick(() => {\n if (vm?.proxy?.$el && !base.value) {\n baseEl.value = getBase(props.base, vm);\n }\n });\n\n return {\n /**\n * for templateRef from base slot\n */\n base$,\n baseEl,\n baseSlot,\n base,\n baseFromSlotEl,\n };\n}\n\nfunction getBase(selector: BaseType, vm: ComponentInternalInstance) {\n if (!selector) return;\n\n let ret: any;\n\n if (selector === 'parent') {\n let el = vm?.proxy?.$el?.parentNode;\n let parentEl = el;\n while (el) {\n if (el?.hasAttribute('data-base-parent')) {\n parentEl = el;\n break;\n }\n el = el.parentNode;\n }\n ret = parentEl;\n }\n // Selector\n else if (typeof selector === 'string') {\n ret = document.querySelector(selector);\n }\n // Component\n else if ('$el' in selector) {\n ret = selector.$el;\n }\n // HTMLElement | Element | [x, y]\n else {\n ret = selector;\n }\n\n return ret;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"content.js","names":["computed","propsFactory","pressContentPropsOptions","closeClickContent","type","Boolean","useContent","props","active","contentEvents","events","onClick","e","value"],"sources":["../../../src/components/layer/content.ts"],"sourcesContent":["import { type PropType, type Ref, computed } from 'vue';\r\n\r\nimport { propsFactory } from '@/util/component';\r\n\r\nexport const pressContentPropsOptions = propsFactory(\r\n {\r\n closeClickContent: {\r\n type: Boolean as PropType<boolean>,\r\n },\r\n },\r\n 'YLayer.content',\r\n);\r\n\r\ninterface ContentProps {\r\n closeClickContent: boolean | undefined;\r\n}\r\n\r\nexport function useContent(props: ContentProps, active: Ref<boolean>) {\r\n const contentEvents = computed(() => {\r\n const events: Record<string, EventListener> = {};\r\n\r\n if (props.closeClickContent) {\r\n events.onClick = (e: Event) => {\r\n active.value = false;\r\n };\r\n }\r\n\r\n return events;\r\n });\r\n\r\n return {\r\n contentEvents,\r\n };\r\n}\r\n"],"mappings":"AAAA,SAAkCA,QAAQ,QAAQ,KAAK;AAAC,SAE/CC,YAAY;AAErB,OAAO,MAAMC,wBAAwB,GAAGD,YAAY,CAClD;EACEE,iBAAiB,EAAE;IACjBC,IAAI,EAAEC;EACR;AACF,CAAC,EACD,gBACF,CAAC;AAMD,OAAO,SAASC,UAAUA,CAACC,KAAmB,EAAEC,MAAoB,EAAE;EACpE,MAAMC,aAAa,GAAGT,QAAQ,CAAC,MAAM;IACnC,MAAMU,MAAqC,GAAG,CAAC,CAAC;IAEhD,IAAIH,KAAK,CAACJ,iBAAiB,EAAE;MAC3BO,MAAM,CAACC,OAAO,GAAIC,CAAQ,IAAK;QAC7BJ,MAAM,CAACK,KAAK,GAAG,KAAK;MACtB,CAAC;IACH;IAEA,OAAOH,MAAM;EACf,CAAC,CAAC;EAEF,OAAO;IACLD;EACF,CAAC;AACH"}
1
+ {"version":3,"file":"content.js","names":["computed","propsFactory","pressContentPropsOptions","closeClickContent","type","Boolean","useContent","props","active","contentEvents","events","onClick","e","value"],"sources":["../../../src/components/layer/content.ts"],"sourcesContent":["import { computed, type PropType, type Ref } from 'vue';\n\nimport { propsFactory } from '@/util/component';\n\nexport const pressContentPropsOptions = propsFactory(\n {\n closeClickContent: {\n type: Boolean as PropType<boolean>,\n },\n },\n 'YLayer.content',\n);\n\ninterface ContentProps {\n closeClickContent: boolean | undefined;\n}\n\nexport function useContent(props: ContentProps, active: Ref<boolean>) {\n const contentEvents = computed(() => {\n const events: Record<string, EventListener> = {};\n\n if (props.closeClickContent) {\n events.onClick = (e: Event) => {\n active.value = false;\n };\n }\n\n return events;\n });\n\n return {\n contentEvents,\n };\n}\n"],"mappings":"AAAA,SAASA,QAAQ,QAAiC,KAAK;AAAC,SAE/CC,YAAY;AAErB,OAAO,MAAMC,wBAAwB,GAAGD,YAAY,CAClD;EACEE,iBAAiB,EAAE;IACjBC,IAAI,EAAEC;EACR;AACF,CAAC,EACD,gBACF,CAAC;AAMD,OAAO,SAASC,UAAUA,CAACC,KAAmB,EAAEC,MAAoB,EAAE;EACpE,MAAMC,aAAa,GAAGT,QAAQ,CAAC,MAAM;IACnC,MAAMU,MAAqC,GAAG,CAAC,CAAC;IAEhD,IAAIH,KAAK,CAACJ,iBAAiB,EAAE;MAC3BO,MAAM,CAACC,OAAO,GAAIC,CAAQ,IAAK;QAC7BJ,MAAM,CAACK,KAAK,GAAG,KAAK;MACtB,CAAC;IACH;IAEA,OAAOH,MAAM;EACf,CAAC,CAAC;EAEF,OAAO;IACLD;EACF,CAAC;AACH","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/components/layer/index.ts"],"sourcesContent":["export * from './YLayer';\n"],"mappings":""}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/components/layer/index.ts"],"sourcesContent":["export * from './YLayer';\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"scroll-strategies.js","names":["effectScope","nextTick","onScopeDispose","watchEffect","propsFactory","FrameScheduler","getScrollParents","hasScrollbar","toStyleSizeValue","frameScheduler","scrollStrategies","none","close","closeScrollStrategy","block","blockScrollStrategy","reposition","repositionScrollStrategy","pressScrollStrategyProps","scrollStrategy","type","String","Function","default","validator","val","useScrollStrategies","props","data","scope","stop","active","value","run","onScroll","e","bindScroll","baseEl","contentEl","BLOCKER_LAYER_CLASS","BLOCKER_CLASS","BLOCKER_SCROLL_X_VAR","BLOCKER_SCROLL_Y_VAR","BLOCKER_SCROLL_OFFSET_VAR","offsetParent","root","scrollElements","Set","contained","undefined","filter","el","classList","contains","scrollbarWidth","window","innerWidth","document","documentElement","offsetWidth","scrollableParent","add","forEach","i","style","setProperty","scrollLeft","scrollTop","x","parseFloat","getPropertyValue","y","removeProperty","remove","slow","raf","ric","update","requestNewFrame","start","performance","now","updateCoordinate","time","requestIdleCallback","cb","cancelAnimationFrame","requestAnimationFrame","cancelIdleCallback","addEventListener","passive","removeEventListener"],"sources":["../../../src/components/layer/scroll-strategies.ts"],"sourcesContent":["import type { EffectScope, PropType, Ref } from 'vue';\r\nimport { effectScope, nextTick, onScopeDispose, watchEffect } from 'vue';\r\n\r\nimport { propsFactory } from '@/util/component';\r\nimport { FrameScheduler } from '@/util/frame-scheduler';\r\nimport { getScrollParents, hasScrollbar } from '@/util/scroll';\r\nimport { toStyleSizeValue } from '@/util/ui';\r\n\r\nconst frameScheduler = new FrameScheduler();\r\n\r\nexport interface ScrollStrategyData {\r\n root: Ref<HTMLElement | undefined>;\r\n contentEl: Ref<HTMLElement | undefined>;\r\n baseEl: Ref<HTMLElement | undefined>;\r\n active: Ref<boolean>;\r\n updateCoordinate: Ref<((e: Event) => void) | undefined>;\r\n}\r\n\r\ntype ScrollStrategyFn = (\r\n data: ScrollStrategyData,\r\n props: StrategyProps,\r\n scope: EffectScope,\r\n) => void;\r\n\r\nconst scrollStrategies = {\r\n none: null,\r\n close: closeScrollStrategy,\r\n block: blockScrollStrategy,\r\n reposition: repositionScrollStrategy,\r\n};\r\n\r\nexport interface StrategyProps {\r\n scrollStrategy: keyof typeof scrollStrategies | ScrollStrategyFn;\r\n contained: boolean | undefined;\r\n}\r\n\r\nexport const pressScrollStrategyProps = propsFactory(\r\n {\r\n scrollStrategy: {\r\n type: [String, Function] as PropType<StrategyProps['scrollStrategy']>,\r\n default: 'block',\r\n validator: (val: any) =>\r\n typeof val === 'function' || val in scrollStrategies,\r\n },\r\n },\r\n 'YLayer__scroll-strategies',\r\n);\r\n\r\nexport function useScrollStrategies(\r\n props: StrategyProps,\r\n data: ScrollStrategyData,\r\n) {\r\n let scope: EffectScope | undefined;\r\n watchEffect(async () => {\r\n scope?.stop();\r\n\r\n if (!(data.active.value && props.scrollStrategy)) return;\r\n\r\n scope = effectScope();\r\n await nextTick();\r\n scope.active &&\r\n scope.run(() => {\r\n if (typeof props.scrollStrategy === 'function') {\r\n props.scrollStrategy(data, props, scope!);\r\n } else {\r\n scrollStrategies[props.scrollStrategy]?.(data, props, scope!);\r\n }\r\n });\r\n });\r\n\r\n onScopeDispose(() => {\r\n scope?.stop();\r\n });\r\n}\r\n\r\nfunction closeScrollStrategy(data: ScrollStrategyData) {\r\n function onScroll(e: Event) {\r\n data.active.value = false;\r\n }\r\n\r\n bindScroll(data.baseEl.value ?? data.contentEl.value, onScroll);\r\n}\r\n\r\nconst BLOCKER_LAYER_CLASS = 'y-layer--scroll-blocked';\r\nconst BLOCKER_CLASS = 'y-layer-scroll-blocked';\r\nconst BLOCKER_SCROLL_X_VAR = '--y-body-scroll-x';\r\nconst BLOCKER_SCROLL_Y_VAR = '--y-body-scroll-y';\r\nconst BLOCKER_SCROLL_OFFSET_VAR = '--y-scrollbar-offset';\r\n\r\nfunction blockScrollStrategy(data: ScrollStrategyData, props: StrategyProps) {\r\n const offsetParent = data.root.value?.offsetParent;\r\n const scrollElements = [\r\n ...new Set([\r\n ...getScrollParents(\r\n data.baseEl.value,\r\n props.contained ? offsetParent : undefined,\r\n ),\r\n ...getScrollParents(\r\n data.contentEl.value,\r\n props.contained ? offsetParent : undefined,\r\n ),\r\n ]),\r\n ].filter((el) => !el.classList.contains(BLOCKER_CLASS));\r\n const scrollbarWidth =\r\n window.innerWidth - document.documentElement.offsetWidth;\r\n\r\n const scrollableParent = ((el) => hasScrollbar(el) && el)(\r\n offsetParent || document.documentElement,\r\n );\r\n if (scrollableParent) {\r\n data.root.value!.classList.add(BLOCKER_LAYER_CLASS);\r\n }\r\n\r\n scrollElements.forEach((el, i) => {\r\n el.style.setProperty(\r\n BLOCKER_SCROLL_X_VAR,\r\n toStyleSizeValue(-el.scrollLeft) ?? null,\r\n );\r\n el.style.setProperty(\r\n BLOCKER_SCROLL_Y_VAR,\r\n toStyleSizeValue(-el.scrollTop) ?? null,\r\n );\r\n el.style.setProperty(\r\n BLOCKER_SCROLL_OFFSET_VAR,\r\n toStyleSizeValue(scrollbarWidth) ?? null,\r\n );\r\n el.classList.add(BLOCKER_LAYER_CLASS);\r\n });\r\n\r\n onScopeDispose(() => {\r\n scrollElements.forEach((el, i) => {\r\n const x = parseFloat(el.style.getPropertyValue(BLOCKER_SCROLL_X_VAR));\r\n const y = parseFloat(el.style.getPropertyValue(BLOCKER_SCROLL_Y_VAR));\r\n\r\n el.style.removeProperty(BLOCKER_SCROLL_X_VAR);\r\n el.style.removeProperty(BLOCKER_SCROLL_Y_VAR);\r\n el.style.removeProperty(BLOCKER_SCROLL_OFFSET_VAR);\r\n el.classList.remove(BLOCKER_CLASS);\r\n\r\n el.scrollLeft = -x;\r\n el.scrollTop = -y;\r\n });\r\n if (scrollableParent) {\r\n data.root.value!.classList.remove(BLOCKER_LAYER_CLASS);\r\n }\r\n });\r\n}\r\n\r\nfunction repositionScrollStrategy(\r\n data: ScrollStrategyData,\r\n props: StrategyProps,\r\n scope: EffectScope,\r\n) {\r\n let slow = false;\r\n let raf = -1;\r\n let ric = -1;\r\n\r\n function update(e: Event) {\r\n frameScheduler.requestNewFrame(() => {\r\n const start = performance.now();\r\n data.updateCoordinate.value?.(e);\r\n const time = performance.now() - start;\r\n slow = time / (1000 / 60) > 2;\r\n });\r\n }\r\n\r\n ric = (\r\n typeof requestIdleCallback === 'undefined'\r\n ? (cb: Function) => cb()\r\n : requestIdleCallback\r\n )(() => {\r\n scope.run(() => {\r\n bindScroll(data.baseEl.value ?? data.contentEl.value, (e) => {\r\n if (slow) {\r\n // If the position calculation is slow,\r\n // defer updates until scrolling is finished.\r\n // Browsers usually fire one scroll event per frame so\r\n // we just wait until we've got two frames without an event\r\n cancelAnimationFrame(raf);\r\n raf = requestAnimationFrame(() => {\r\n raf = requestAnimationFrame(() => {\r\n update(e);\r\n });\r\n });\r\n } else {\r\n update(e);\r\n }\r\n });\r\n });\r\n });\r\n\r\n onScopeDispose(() => {\r\n typeof cancelIdleCallback !== 'undefined' && cancelIdleCallback(ric);\r\n cancelAnimationFrame(raf);\r\n });\r\n}\r\n\r\n/** @private */\r\nfunction bindScroll(el: HTMLElement | undefined, onScroll: (e: Event) => void) {\r\n const scrollElements = [document, ...getScrollParents(el)];\r\n scrollElements.forEach((el) => {\r\n el.addEventListener('scroll', onScroll, { passive: true });\r\n });\r\n\r\n onScopeDispose(() => {\r\n scrollElements.forEach((el) => {\r\n el.removeEventListener('scroll', onScroll);\r\n });\r\n });\r\n}\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"scroll-strategies.js","names":["effectScope","nextTick","onScopeDispose","watchEffect","propsFactory","FrameScheduler","getScrollParents","hasScrollbar","toStyleSizeValue","frameScheduler","scrollStrategies","none","close","closeScrollStrategy","block","blockScrollStrategy","reposition","repositionScrollStrategy","pressScrollStrategyProps","scrollStrategy","type","String","Function","default","validator","val","useScrollStrategies","props","data","scope","stop","active","value","run","onScroll","e","bindScroll","baseEl","contentEl","BLOCKER_LAYER_CLASS","BLOCKER_CLASS","BLOCKER_SCROLL_X_VAR","BLOCKER_SCROLL_Y_VAR","BLOCKER_SCROLL_OFFSET_VAR","offsetParent","root","scrollElements","Set","contained","undefined","filter","el","classList","contains","scrollbarWidth","window","innerWidth","document","documentElement","offsetWidth","scrollableParent","add","forEach","i","style","setProperty","scrollLeft","scrollTop","x","parseFloat","getPropertyValue","y","removeProperty","remove","slow","raf","ric","update","requestNewFrame","start","performance","now","updateCoordinate","time","requestIdleCallback","cb","cancelAnimationFrame","requestAnimationFrame","cancelIdleCallback","addEventListener","passive","removeEventListener"],"sources":["../../../src/components/layer/scroll-strategies.ts"],"sourcesContent":["import type { EffectScope, PropType, Ref } from 'vue';\nimport { effectScope, nextTick, onScopeDispose, watchEffect } from 'vue';\n\nimport { propsFactory } from '@/util/component';\nimport { FrameScheduler } from '@/util/frame-scheduler';\nimport { getScrollParents, hasScrollbar } from '@/util/scroll';\nimport { toStyleSizeValue } from '@/util/ui';\n\nconst frameScheduler = new FrameScheduler();\n\nexport interface ScrollStrategyData {\n root: Ref<HTMLElement | undefined>;\n contentEl: Ref<HTMLElement | undefined>;\n baseEl: Ref<HTMLElement | undefined>;\n active: Ref<boolean>;\n updateCoordinate: Ref<((e: Event) => void) | undefined>;\n}\n\ntype ScrollStrategyFn = (\n data: ScrollStrategyData,\n props: StrategyProps,\n scope: EffectScope,\n) => void;\n\nconst scrollStrategies = {\n none: null,\n close: closeScrollStrategy,\n block: blockScrollStrategy,\n reposition: repositionScrollStrategy,\n};\n\nexport interface StrategyProps {\n scrollStrategy: keyof typeof scrollStrategies | ScrollStrategyFn;\n contained: boolean | undefined;\n}\n\nexport const pressScrollStrategyProps = propsFactory(\n {\n scrollStrategy: {\n type: [String, Function] as PropType<StrategyProps['scrollStrategy']>,\n default: 'block',\n validator: (val: any) =>\n typeof val === 'function' || val in scrollStrategies,\n },\n },\n 'YLayer__scroll-strategies',\n);\n\nexport function useScrollStrategies(\n props: StrategyProps,\n data: ScrollStrategyData,\n) {\n let scope: EffectScope | undefined;\n watchEffect(async () => {\n scope?.stop();\n\n if (!(data.active.value && props.scrollStrategy)) return;\n\n scope = effectScope();\n await nextTick();\n scope.active &&\n scope.run(() => {\n if (typeof props.scrollStrategy === 'function') {\n props.scrollStrategy(data, props, scope!);\n } else {\n scrollStrategies[props.scrollStrategy]?.(data, props, scope!);\n }\n });\n });\n\n onScopeDispose(() => {\n scope?.stop();\n });\n}\n\nfunction closeScrollStrategy(data: ScrollStrategyData) {\n function onScroll(e: Event) {\n data.active.value = false;\n }\n\n bindScroll(data.baseEl.value ?? data.contentEl.value, onScroll);\n}\n\nconst BLOCKER_LAYER_CLASS = 'y-layer--scroll-blocked';\nconst BLOCKER_CLASS = 'y-layer-scroll-blocked';\nconst BLOCKER_SCROLL_X_VAR = '--y-body-scroll-x';\nconst BLOCKER_SCROLL_Y_VAR = '--y-body-scroll-y';\nconst BLOCKER_SCROLL_OFFSET_VAR = '--y-scrollbar-offset';\n\nfunction blockScrollStrategy(data: ScrollStrategyData, props: StrategyProps) {\n const offsetParent = data.root.value?.offsetParent;\n const scrollElements = [\n ...new Set([\n ...getScrollParents(\n data.baseEl.value,\n props.contained ? offsetParent : undefined,\n ),\n ...getScrollParents(\n data.contentEl.value,\n props.contained ? offsetParent : undefined,\n ),\n ]),\n ].filter((el) => !el.classList.contains(BLOCKER_CLASS));\n const scrollbarWidth =\n window.innerWidth - document.documentElement.offsetWidth;\n\n const scrollableParent = ((el) => hasScrollbar(el) && el)(\n offsetParent || document.documentElement,\n );\n if (scrollableParent) {\n data.root.value!.classList.add(BLOCKER_LAYER_CLASS);\n }\n\n scrollElements.forEach((el, i) => {\n el.style.setProperty(\n BLOCKER_SCROLL_X_VAR,\n toStyleSizeValue(-el.scrollLeft) ?? null,\n );\n el.style.setProperty(\n BLOCKER_SCROLL_Y_VAR,\n toStyleSizeValue(-el.scrollTop) ?? null,\n );\n el.style.setProperty(\n BLOCKER_SCROLL_OFFSET_VAR,\n toStyleSizeValue(scrollbarWidth) ?? null,\n );\n el.classList.add(BLOCKER_LAYER_CLASS);\n });\n\n onScopeDispose(() => {\n scrollElements.forEach((el, i) => {\n const x = parseFloat(el.style.getPropertyValue(BLOCKER_SCROLL_X_VAR));\n const y = parseFloat(el.style.getPropertyValue(BLOCKER_SCROLL_Y_VAR));\n\n el.style.removeProperty(BLOCKER_SCROLL_X_VAR);\n el.style.removeProperty(BLOCKER_SCROLL_Y_VAR);\n el.style.removeProperty(BLOCKER_SCROLL_OFFSET_VAR);\n el.classList.remove(BLOCKER_CLASS);\n\n el.scrollLeft = -x;\n el.scrollTop = -y;\n });\n if (scrollableParent) {\n data.root.value!.classList.remove(BLOCKER_LAYER_CLASS);\n }\n });\n}\n\nfunction repositionScrollStrategy(\n data: ScrollStrategyData,\n props: StrategyProps,\n scope: EffectScope,\n) {\n let slow = false;\n let raf = -1;\n let ric = -1;\n\n function update(e: Event) {\n frameScheduler.requestNewFrame(() => {\n const start = performance.now();\n data.updateCoordinate.value?.(e);\n const time = performance.now() - start;\n slow = time / (1000 / 60) > 2;\n });\n }\n\n ric = (\n typeof requestIdleCallback === 'undefined'\n ? (cb: Function) => cb()\n : requestIdleCallback\n )(() => {\n scope.run(() => {\n bindScroll(data.baseEl.value ?? data.contentEl.value, (e) => {\n if (slow) {\n // If the position calculation is slow,\n // defer updates until scrolling is finished.\n // Browsers usually fire one scroll event per frame so\n // we just wait until we've got two frames without an event\n cancelAnimationFrame(raf);\n raf = requestAnimationFrame(() => {\n raf = requestAnimationFrame(() => {\n update(e);\n });\n });\n } else {\n update(e);\n }\n });\n });\n });\n\n onScopeDispose(() => {\n typeof cancelIdleCallback !== 'undefined' && cancelIdleCallback(ric);\n cancelAnimationFrame(raf);\n });\n}\n\n/** @private */\nfunction bindScroll(el: HTMLElement | undefined, onScroll: (e: Event) => void) {\n const scrollElements = [document, ...getScrollParents(el)];\n scrollElements.forEach((el) => {\n el.addEventListener('scroll', onScroll, { passive: true });\n });\n\n onScopeDispose(() => {\n scrollElements.forEach((el) => {\n el.removeEventListener('scroll', onScroll);\n });\n });\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,4 @@
1
- import { createVNode as _createVNode, mergeProps as _mergeProps } from "vue";
2
- import { ref, shallowRef } from 'vue';
1
+ import { ref, shallowRef, mergeProps as _mergeProps, createVNode as _createVNode } from 'vue';
3
2
  import { useRender } from "../../composables/component.js";
4
3
  import { pressThemePropsOptions, useLocalTheme } from "../../composables/theme/index.js";
5
4
  import { defineComponent, propsFactory } from "../../util/component/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"YList.js","names":["ref","shallowRef","useRender","pressThemePropsOptions","useLocalTheme","defineComponent","propsFactory","pressYListPropsOptions","disabled","Boolean","YList","name","props","setup","_ref","slots","attrs","el$","themeClasses","focused","onFocus","event","value","relatedTarget","contains","focus","onFocusIn","onFocusOut","onKeydown","target","_createVNode","_mergeProps","tabindex","default"],"sources":["../../../src/components/list/YList.tsx"],"sourcesContent":["import { ref, shallowRef } from 'vue';\r\n\r\nimport { useRender } from '@/composables/component';\r\nimport { pressThemePropsOptions, useLocalTheme } from '@/composables/theme';\r\nimport { defineComponent, propsFactory } from '@/util/component';\r\n\r\nimport './YList.scss';\r\n\r\nexport const pressYListPropsOptions = propsFactory(\r\n {\r\n disabled: Boolean,\r\n ...pressThemePropsOptions(),\r\n },\r\n 'YList',\r\n);\r\n\r\nexport const YList = defineComponent({\r\n name: 'YList',\r\n props: {\r\n ...pressYListPropsOptions(),\r\n },\r\n setup(props, { slots, attrs }) {\r\n const el$ = ref<HTMLElement>();\r\n\r\n const { themeClasses } = useLocalTheme(props);\r\n\r\n const focused = shallowRef(false);\r\n\r\n function onFocus(event: FocusEvent) {\r\n if (\r\n !focused.value &&\r\n !(\r\n event.relatedTarget &&\r\n el$.value?.contains(event.relatedTarget as Node)\r\n )\r\n ) {\r\n focus();\r\n }\r\n }\r\n\r\n function onFocusIn(event: FocusEvent) {\r\n focused.value = true;\r\n }\r\n\r\n function onFocusOut(event: FocusEvent) {\r\n focused.value = false;\r\n }\r\n\r\n function onKeydown(event: KeyboardEvent) {\r\n //\r\n }\r\n\r\n function focus(target?: string) {\r\n //\r\n }\r\n\r\n useRender(() => (\r\n <div\r\n ref={el$}\r\n class={['y-list', themeClasses.value]}\r\n role=\"listbox\"\r\n tabindex={\r\n (attrs.tabindex as number | string) ??\r\n (props.disabled || focused.value ? -1 : 0)\r\n }\r\n onFocus={onFocus}\r\n onFocusin={onFocusIn}\r\n onFocusout={onFocusOut}\r\n onKeydown={onKeydown}\r\n {...attrs}\r\n >\r\n {slots.default?.()}\r\n </div>\r\n ));\r\n },\r\n});\r\n\r\nexport type YList = InstanceType<typeof YList>;\r\n"],"mappings":";AAAA,SAASA,GAAG,EAAEC,UAAU,QAAQ,KAAK;AAAC,SAE7BC,SAAS;AAAA,SACTC,sBAAsB,EAAEC,aAAa;AAAA,SACrCC,eAAe,EAAEC,YAAY;AAEtC;AAEA,OAAO,MAAMC,sBAAsB,GAAGD,YAAY,CAChD;EACEE,QAAQ,EAAEC,OAAO;EACjB,GAAGN,sBAAsB,CAAC;AAC5B,CAAC,EACD,OACF,CAAC;AAED,OAAO,MAAMO,KAAK,GAAGL,eAAe,CAAC;EACnCM,IAAI,EAAE,OAAO;EACbC,KAAK,EAAE;IACL,GAAGL,sBAAsB,CAAC;EAC5B,CAAC;EACDM,KAAKA,CAACD,KAAK,EAAAE,IAAA,EAAoB;IAAA,IAAlB;MAAEC,KAAK;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC3B,MAAMG,GAAG,GAAGjB,GAAG,CAAc,CAAC;IAE9B,MAAM;MAAEkB;IAAa,CAAC,GAAGd,aAAa,CAACQ,KAAK,CAAC;IAE7C,MAAMO,OAAO,GAAGlB,UAAU,CAAC,KAAK,CAAC;IAEjC,SAASmB,OAAOA,CAACC,KAAiB,EAAE;MAClC,IACE,CAACF,OAAO,CAACG,KAAK,IACd,EACED,KAAK,CAACE,aAAa,IACnBN,GAAG,CAACK,KAAK,EAAEE,QAAQ,CAACH,KAAK,CAACE,aAAqB,CAAC,CACjD,EACD;QACAE,KAAK,CAAC,CAAC;MACT;IACF;IAEA,SAASC,SAASA,CAACL,KAAiB,EAAE;MACpCF,OAAO,CAACG,KAAK,GAAG,IAAI;IACtB;IAEA,SAASK,UAAUA,CAACN,KAAiB,EAAE;MACrCF,OAAO,CAACG,KAAK,GAAG,KAAK;IACvB;IAEA,SAASM,SAASA,CAACP,KAAoB,EAAE;MACvC;IAAA;IAGF,SAASI,KAAKA,CAACI,MAAe,EAAE;MAC9B;IAAA;IAGF3B,SAAS,CAAC,MAAA4B,YAAA,QAAAC,WAAA;MAAA,OAEDd,GAAG;MAAA,SACD,CAAC,QAAQ,EAAEC,YAAY,CAACI,KAAK,CAAC;MAAA;MAAA,YAGlCN,KAAK,CAACgB,QAAQ,KACdpB,KAAK,CAACJ,QAAQ,IAAIW,OAAO,CAACG,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;MAAA,WAEnCF,OAAO;MAAA,aACLM,SAAS;MAAA,cACRC,UAAU;MAAA,aACXC;IAAS,GAChBZ,KAAK,IAERD,KAAK,CAACkB,OAAO,GAAG,CAAC,EAErB,CAAC;EACJ;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"YList.js","names":["ref","shallowRef","mergeProps","_mergeProps","createVNode","_createVNode","useRender","pressThemePropsOptions","useLocalTheme","defineComponent","propsFactory","pressYListPropsOptions","disabled","Boolean","YList","name","props","setup","_ref","slots","attrs","el$","themeClasses","focused","onFocus","event","value","relatedTarget","contains","focus","onFocusIn","onFocusOut","onKeydown","target","tabindex","default"],"sources":["../../../src/components/list/YList.tsx"],"sourcesContent":["import { ref, shallowRef } from 'vue';\n\nimport { useRender } from '@/composables/component';\nimport { pressThemePropsOptions, useLocalTheme } from '@/composables/theme';\nimport { defineComponent, propsFactory } from '@/util/component';\n\nimport './YList.scss';\n\nexport const pressYListPropsOptions = propsFactory(\n {\n disabled: Boolean,\n ...pressThemePropsOptions(),\n },\n 'YList',\n);\n\nexport const YList = defineComponent({\n name: 'YList',\n props: {\n ...pressYListPropsOptions(),\n },\n setup(props, { slots, attrs }) {\n const el$ = ref<HTMLElement>();\n\n const { themeClasses } = useLocalTheme(props);\n\n const focused = shallowRef(false);\n\n function onFocus(event: FocusEvent) {\n if (\n !focused.value &&\n !(\n event.relatedTarget &&\n el$.value?.contains(event.relatedTarget as Node)\n )\n ) {\n focus();\n }\n }\n\n function onFocusIn(event: FocusEvent) {\n focused.value = true;\n }\n\n function onFocusOut(event: FocusEvent) {\n focused.value = false;\n }\n\n function onKeydown(event: KeyboardEvent) {\n //\n }\n\n function focus(target?: string) {\n //\n }\n\n useRender(() => (\n <div\n ref={el$}\n class={['y-list', themeClasses.value]}\n role=\"listbox\"\n tabindex={\n (attrs.tabindex as number | string) ??\n (props.disabled || focused.value ? -1 : 0)\n }\n onFocus={onFocus}\n onFocusin={onFocusIn}\n onFocusout={onFocusOut}\n onKeydown={onKeydown}\n {...attrs}\n >\n {slots.default?.()}\n </div>\n ));\n },\n});\n\nexport type YList = InstanceType<typeof YList>;\n"],"mappings":"AAAA,SAASA,GAAG,EAAEC,UAAU,EAAAC,UAAA,IAAAC,WAAA,EAAAC,WAAA,IAAAC,YAAA,QAAQ,KAAK;AAAC,SAE7BC,SAAS;AAAA,SACTC,sBAAsB,EAAEC,aAAa;AAAA,SACrCC,eAAe,EAAEC,YAAY;AAEtC;AAEA,OAAO,MAAMC,sBAAsB,GAAGD,YAAY,CAChD;EACEE,QAAQ,EAAEC,OAAO;EACjB,GAAGN,sBAAsB,CAAC;AAC5B,CAAC,EACD,OACF,CAAC;AAED,OAAO,MAAMO,KAAK,GAAGL,eAAe,CAAC;EACnCM,IAAI,EAAE,OAAO;EACbC,KAAK,EAAE;IACL,GAAGL,sBAAsB,CAAC;EAC5B,CAAC;EACDM,KAAKA,CAACD,KAAK,EAAAE,IAAA,EAAoB;IAAA,IAAlB;MAAEC,KAAK;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC3B,MAAMG,GAAG,GAAGrB,GAAG,CAAc,CAAC;IAE9B,MAAM;MAAEsB;IAAa,CAAC,GAAGd,aAAa,CAACQ,KAAK,CAAC;IAE7C,MAAMO,OAAO,GAAGtB,UAAU,CAAC,KAAK,CAAC;IAEjC,SAASuB,OAAOA,CAACC,KAAiB,EAAE;MAClC,IACE,CAACF,OAAO,CAACG,KAAK,IACd,EACED,KAAK,CAACE,aAAa,IACnBN,GAAG,CAACK,KAAK,EAAEE,QAAQ,CAACH,KAAK,CAACE,aAAqB,CAAC,CACjD,EACD;QACAE,KAAK,CAAC,CAAC;MACT;IACF;IAEA,SAASC,SAASA,CAACL,KAAiB,EAAE;MACpCF,OAAO,CAACG,KAAK,GAAG,IAAI;IACtB;IAEA,SAASK,UAAUA,CAACN,KAAiB,EAAE;MACrCF,OAAO,CAACG,KAAK,GAAG,KAAK;IACvB;IAEA,SAASM,SAASA,CAACP,KAAoB,EAAE;MACvC;IAAA;IAGF,SAASI,KAAKA,CAACI,MAAe,EAAE;MAC9B;IAAA;IAGF3B,SAAS,CAAC,MAAAD,YAAA,QAAAF,WAAA;MAAA,OAEDkB,GAAG;MAAA,SACD,CAAC,QAAQ,EAAEC,YAAY,CAACI,KAAK,CAAC;MAAA;MAAA,YAGlCN,KAAK,CAACc,QAAQ,KACdlB,KAAK,CAACJ,QAAQ,IAAIW,OAAO,CAACG,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;MAAA,WAEnCF,OAAO;MAAA,aACLM,SAAS;MAAA,cACRC,UAAU;MAAA,aACXC;IAAS,GAChBZ,KAAK,IAERD,KAAK,CAACgB,OAAO,GAAG,CAAC,EAErB,CAAC;EACJ;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,5 +1,4 @@
1
- import { createVNode as _createVNode } from "vue";
2
- import { computed } from 'vue';
1
+ import { computed, createVNode as _createVNode } from 'vue';
3
2
  import { useRender } from "../../composables/component.js";
4
3
  import { pressThemePropsOptions, useLocalTheme } from "../../composables/theme/index.js";
5
4
  import { defineComponent, propsFactory } from "../../util/component/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"YListItem.js","names":["computed","useRender","pressThemePropsOptions","useLocalTheme","defineComponent","propsFactory","pressYListItemProps","tag","type","String","default","onClick","Function","disabled","Boolean","YListItem","name","props","emits","click","e","slots","Object","setup","_ref","emit","themeClasses","clickable","ElTag","_createVNode","value","leading","trailing"],"sources":["../../../src/components/list/YListItem.tsx"],"sourcesContent":["import { SlotsType, computed } from 'vue';\r\n\r\nimport { useRender } from '@/composables/component';\r\nimport { pressThemePropsOptions, useLocalTheme } from '@/composables/theme';\r\nimport { defineComponent, propsFactory } from '@/util/component';\r\n\r\nimport './YListItem.scss';\r\n\r\nexport const pressYListItemProps = propsFactory(\r\n {\r\n tag: {\r\n type: String,\r\n default: 'div',\r\n },\r\n onClick: Function,\r\n disabled: Boolean,\r\n ...pressThemePropsOptions(),\r\n },\r\n 'YListItem',\r\n);\r\n\r\nexport const YListItem = defineComponent({\r\n name: 'YListItem',\r\n props: {\r\n ...pressYListItemProps(),\r\n },\r\n emits: {\r\n click: (e: MouseEvent) => true,\r\n },\r\n slots: Object as SlotsType<{\r\n default: any;\r\n leading: any;\r\n trailing: any;\r\n }>,\r\n setup(props, { slots, emit }) {\r\n const { themeClasses } = useLocalTheme(props);\r\n\r\n function onClick(e: MouseEvent) {\r\n emit('click', e);\r\n }\r\n\r\n const clickable = computed(() => {\r\n return !props.disabled && !!props.onClick;\r\n });\r\n\r\n useRender(() => {\r\n const ElTag = props.tag as keyof HTMLElementTagNameMap;\r\n return (\r\n <ElTag\r\n class={[\r\n 'y-list-item',\r\n {\r\n 'y-list-item--pointer': clickable.value,\r\n 'y-list-item--disabled': props.disabled,\r\n },\r\n themeClasses.value,\r\n ]}\r\n onClick={onClick}\r\n >\r\n {slots.leading && (\r\n <div class={'y-list-item__leading'}>{slots.leading()}</div>\r\n )}\r\n <div class={'y-list-item__content'}>{slots.default?.()}</div>\r\n {slots.trailing && (\r\n <div class={'y-list-item__trailing'}>{slots.trailing()}</div>\r\n )}\r\n </ElTag>\r\n );\r\n });\r\n },\r\n});\r\n\r\nexport type YListItem = InstanceType<typeof YListItem>;\r\n"],"mappings":";AAAA,SAAoBA,QAAQ,QAAQ,KAAK;AAAC,SAEjCC,SAAS;AAAA,SACTC,sBAAsB,EAAEC,aAAa;AAAA,SACrCC,eAAe,EAAEC,YAAY;AAEtC;AAEA,OAAO,MAAMC,mBAAmB,GAAGD,YAAY,CAC7C;EACEE,GAAG,EAAE;IACHC,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACX,CAAC;EACDC,OAAO,EAAEC,QAAQ;EACjBC,QAAQ,EAAEC,OAAO;EACjB,GAAGZ,sBAAsB,CAAC;AAC5B,CAAC,EACD,WACF,CAAC;AAED,OAAO,MAAMa,SAAS,GAAGX,eAAe,CAAC;EACvCY,IAAI,EAAE,WAAW;EACjBC,KAAK,EAAE;IACL,GAAGX,mBAAmB,CAAC;EACzB,CAAC;EACDY,KAAK,EAAE;IACLC,KAAK,EAAGC,CAAa,IAAK;EAC5B,CAAC;EACDC,KAAK,EAAEC,MAIL;EACFC,KAAKA,CAACN,KAAK,EAAAO,IAAA,EAAmB;IAAA,IAAjB;MAAEH,KAAK;MAAEI;IAAK,CAAC,GAAAD,IAAA;IAC1B,MAAM;MAAEE;IAAa,CAAC,GAAGvB,aAAa,CAACc,KAAK,CAAC;IAE7C,SAASN,OAAOA,CAACS,CAAa,EAAE;MAC9BK,IAAI,CAAC,OAAO,EAAEL,CAAC,CAAC;IAClB;IAEA,MAAMO,SAAS,GAAG3B,QAAQ,CAAC,MAAM;MAC/B,OAAO,CAACiB,KAAK,CAACJ,QAAQ,IAAI,CAAC,CAACI,KAAK,CAACN,OAAO;IAC3C,CAAC,CAAC;IAEFV,SAAS,CAAC,MAAM;MACd,MAAM2B,KAAK,GAAGX,KAAK,CAACV,GAAkC;MACtD,OAAAsB,YAAA,CAAAD,KAAA;QAAA,SAEW,CACL,aAAa,EACb;UACE,sBAAsB,EAAED,SAAS,CAACG,KAAK;UACvC,uBAAuB,EAAEb,KAAK,CAACJ;QACjC,CAAC,EACDa,YAAY,CAACI,KAAK,CACnB;QAAA,WACQnB;MAAO;QAAAD,OAAA,EAAAA,CAAA,MAEfW,KAAK,CAACU,OAAO,IAAAF,YAAA;UAAA,SACA;QAAsB,IAAGR,KAAK,CAACU,OAAO,CAAC,CAAC,EACrD,EAAAF,YAAA;UAAA,SACW;QAAsB,IAAGR,KAAK,CAACX,OAAO,GAAG,CAAC,IACrDW,KAAK,CAACW,QAAQ,IAAAH,YAAA;UAAA,SACD;QAAuB,IAAGR,KAAK,CAACW,QAAQ,CAAC,CAAC,EACvD;MAAA;IAGP,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"YListItem.js","names":["computed","createVNode","_createVNode","useRender","pressThemePropsOptions","useLocalTheme","defineComponent","propsFactory","pressYListItemProps","tag","type","String","default","onClick","Function","disabled","Boolean","YListItem","name","props","emits","click","e","slots","Object","setup","_ref","emit","themeClasses","clickable","ElTag","value","leading","trailing"],"sources":["../../../src/components/list/YListItem.tsx"],"sourcesContent":["import { computed, SlotsType } from 'vue';\n\nimport { useRender } from '@/composables/component';\nimport { pressThemePropsOptions, useLocalTheme } from '@/composables/theme';\nimport { defineComponent, propsFactory } from '@/util/component';\n\nimport './YListItem.scss';\n\nexport const pressYListItemProps = propsFactory(\n {\n tag: {\n type: String,\n default: 'div',\n },\n onClick: Function,\n disabled: Boolean,\n ...pressThemePropsOptions(),\n },\n 'YListItem',\n);\n\nexport const YListItem = defineComponent({\n name: 'YListItem',\n props: {\n ...pressYListItemProps(),\n },\n emits: {\n click: (e: MouseEvent) => true,\n },\n slots: Object as SlotsType<{\n default: any;\n leading: any;\n trailing: any;\n }>,\n setup(props, { slots, emit }) {\n const { themeClasses } = useLocalTheme(props);\n\n function onClick(e: MouseEvent) {\n emit('click', e);\n }\n\n const clickable = computed(() => {\n return !props.disabled && !!props.onClick;\n });\n\n useRender(() => {\n const ElTag = props.tag as keyof HTMLElementTagNameMap;\n return (\n <ElTag\n class={[\n 'y-list-item',\n {\n 'y-list-item--pointer': clickable.value,\n 'y-list-item--disabled': props.disabled,\n },\n themeClasses.value,\n ]}\n onClick={onClick}\n >\n {slots.leading && (\n <div class={'y-list-item__leading'}>{slots.leading()}</div>\n )}\n <div class={'y-list-item__content'}>{slots.default?.()}</div>\n {slots.trailing && (\n <div class={'y-list-item__trailing'}>{slots.trailing()}</div>\n )}\n </ElTag>\n );\n });\n },\n});\n\nexport type YListItem = InstanceType<typeof YListItem>;\n"],"mappings":"AAAA,SAASA,QAAQ,EAAAC,WAAA,IAAAC,YAAA,QAAmB,KAAK;AAAC,SAEjCC,SAAS;AAAA,SACTC,sBAAsB,EAAEC,aAAa;AAAA,SACrCC,eAAe,EAAEC,YAAY;AAEtC;AAEA,OAAO,MAAMC,mBAAmB,GAAGD,YAAY,CAC7C;EACEE,GAAG,EAAE;IACHC,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACX,CAAC;EACDC,OAAO,EAAEC,QAAQ;EACjBC,QAAQ,EAAEC,OAAO;EACjB,GAAGZ,sBAAsB,CAAC;AAC5B,CAAC,EACD,WACF,CAAC;AAED,OAAO,MAAMa,SAAS,GAAGX,eAAe,CAAC;EACvCY,IAAI,EAAE,WAAW;EACjBC,KAAK,EAAE;IACL,GAAGX,mBAAmB,CAAC;EACzB,CAAC;EACDY,KAAK,EAAE;IACLC,KAAK,EAAGC,CAAa,IAAK;EAC5B,CAAC;EACDC,KAAK,EAAEC,MAIL;EACFC,KAAKA,CAACN,KAAK,EAAAO,IAAA,EAAmB;IAAA,IAAjB;MAAEH,KAAK;MAAEI;IAAK,CAAC,GAAAD,IAAA;IAC1B,MAAM;MAAEE;IAAa,CAAC,GAAGvB,aAAa,CAACc,KAAK,CAAC;IAE7C,SAASN,OAAOA,CAACS,CAAa,EAAE;MAC9BK,IAAI,CAAC,OAAO,EAAEL,CAAC,CAAC;IAClB;IAEA,MAAMO,SAAS,GAAG7B,QAAQ,CAAC,MAAM;MAC/B,OAAO,CAACmB,KAAK,CAACJ,QAAQ,IAAI,CAAC,CAACI,KAAK,CAACN,OAAO;IAC3C,CAAC,CAAC;IAEFV,SAAS,CAAC,MAAM;MACd,MAAM2B,KAAK,GAAGX,KAAK,CAACV,GAAkC;MACtD,OAAAP,YAAA,CAAA4B,KAAA;QAAA,SAEW,CACL,aAAa,EACb;UACE,sBAAsB,EAAED,SAAS,CAACE,KAAK;UACvC,uBAAuB,EAAEZ,KAAK,CAACJ;QACjC,CAAC,EACDa,YAAY,CAACG,KAAK,CACnB;QAAA,WACQlB;MAAO;QAAAD,OAAA,EAAAA,CAAA,MAEfW,KAAK,CAACS,OAAO,IAAA9B,YAAA;UAAA,SACA;QAAsB,IAAGqB,KAAK,CAACS,OAAO,CAAC,CAAC,EACrD,EAAA9B,YAAA;UAAA,SACW;QAAsB,IAAGqB,KAAK,CAACX,OAAO,GAAG,CAAC,IACrDW,KAAK,CAACU,QAAQ,IAAA/B,YAAA;UAAA,SACD;QAAuB,IAAGqB,KAAK,CAACU,QAAQ,CAAC,CAAC,EACvD;MAAA;IAGP,CAAC,CAAC;EACJ;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/components/list/index.ts"],"sourcesContent":["export * from './YListItem';\nexport * from './YList';\n"],"mappings":""}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/components/list/index.ts"],"sourcesContent":["export * from './YListItem';\nexport * from './YList';\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"YSpinnerRing.js","names":["defineComponent","NAME","YSpinnerRing","name","render","_createVNode"],"sources":["../../../src/components/loading/YSpinnerRing.tsx"],"sourcesContent":["import { defineComponent } from '@/util/component';\r\n\r\nimport './YSpinnerRing.scss';\r\n\r\nconst NAME = 'YSpinnerRing';\r\n\r\nexport const YSpinnerRing = defineComponent({\r\n name: NAME,\r\n render() {\r\n return (\r\n <svg\r\n class=\"y-spinner-ring\"\r\n width=\"48\"\r\n height=\"48\"\r\n viewBox=\"0 0 48 48\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <circle\r\n class=\"y-spinner-ring__circle\"\r\n cx=\"24\"\r\n cy=\"24\"\r\n r=\"18\"\r\n stroke-width=\"4\"\r\n stroke-dasharray=\"113.097\"\r\n stroke-dashoffset=\"113.097\"\r\n />\r\n </svg>\r\n );\r\n },\r\n});\r\n\r\nexport type YSpinnerRing = InstanceType<typeof YSpinnerRing>;\r\n"],"mappings":";SAASA,eAAe;AAExB;AAEA,MAAMC,IAAI,GAAG,cAAc;AAE3B,OAAO,MAAMC,YAAY,GAAGF,eAAe,CAAC;EAC1CG,IAAI,EAAEF,IAAI;EACVG,MAAMA,CAAA,EAAG;IACP,OAAAC,YAAA;MAAA;MAAA;MAAA;MAAA;MAAA;IAAA,IAAAA,YAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;IAAA;EAmBF;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"YSpinnerRing.js","names":["defineComponent","NAME","YSpinnerRing","name","render","_createVNode"],"sources":["../../../src/components/loading/YSpinnerRing.tsx"],"sourcesContent":["import { defineComponent } from '@/util/component';\n\nimport './YSpinnerRing.scss';\n\nconst NAME = 'YSpinnerRing';\n\nexport const YSpinnerRing = defineComponent({\n name: NAME,\n render() {\n return (\n <svg\n class=\"y-spinner-ring\"\n width=\"48\"\n height=\"48\"\n viewBox=\"0 0 48 48\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n class=\"y-spinner-ring__circle\"\n cx=\"24\"\n cy=\"24\"\n r=\"18\"\n stroke-width=\"4\"\n stroke-dasharray=\"113.097\"\n stroke-dashoffset=\"113.097\"\n />\n </svg>\n );\n },\n});\n\nexport type YSpinnerRing = InstanceType<typeof YSpinnerRing>;\n"],"mappings":";SAASA,eAAe;AAExB;AAEA,MAAMC,IAAI,GAAG,cAAc;AAE3B,OAAO,MAAMC,YAAY,GAAGF,eAAe,CAAC;EAC1CG,IAAI,EAAEF,IAAI;EACVG,MAAMA,CAAA,EAAG;IACP,OAAAC,YAAA;MAAA;MAAA;MAAA;MAAA;MAAA;IAAA,IAAAA,YAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;IAAA;EAmBF;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/components/loading/index.ts"],"sourcesContent":["export * from './YSpinnerRing';\n"],"mappings":""}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/components/loading/index.ts"],"sourcesContent":["export * from './YSpinnerRing';\n"],"mappings":"","ignoreList":[]}