yuyeon 0.2.1-rc.1 → 0.2.1-rc.2

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 (380) hide show
  1. package/dist/style.css +1 -1
  2. package/dist/yuyeon.js +5789 -7457
  3. package/dist/yuyeon.umd.cjs +4 -26
  4. package/lib/components/alert/YAlert.mjs +2 -2
  5. package/lib/components/alert/YAlert.mjs.map +1 -1
  6. package/lib/components/alert/YAlert.scss +75 -76
  7. package/lib/components/alert/index.mjs.map +1 -1
  8. package/lib/components/app/YApp.mjs +3 -2
  9. package/lib/components/app/YApp.mjs.map +1 -1
  10. package/lib/components/app/YApp.scss +14 -14
  11. package/lib/components/app/index.mjs.map +1 -1
  12. package/lib/components/badge/YBadge.mjs +2 -2
  13. package/lib/components/badge/YBadge.mjs.map +1 -1
  14. package/lib/components/badge/YBadge.scss +76 -76
  15. package/lib/components/badge/index.mjs.map +1 -1
  16. package/lib/components/bench/YBench.mjs +2 -3
  17. package/lib/components/bench/YBench.mjs.map +1 -1
  18. package/lib/components/bench/index.mjs.map +1 -1
  19. package/lib/components/button/YButton.mjs +4 -4
  20. package/lib/components/button/YButton.mjs.map +1 -1
  21. package/lib/components/button/YButton.scss +128 -129
  22. package/lib/components/button/index.mjs.map +1 -1
  23. package/lib/components/card/YCard.mjs +3 -2
  24. package/lib/components/card/YCard.mjs.map +1 -1
  25. package/lib/components/card/YCard.scss +45 -43
  26. package/lib/components/card/YCardBody.mjs +2 -1
  27. package/lib/components/card/YCardBody.mjs.map +1 -1
  28. package/lib/components/card/YCardFooter.mjs +2 -1
  29. package/lib/components/card/YCardFooter.mjs.map +1 -1
  30. package/lib/components/card/YCardHeader.mjs +2 -1
  31. package/lib/components/card/YCardHeader.mjs.map +1 -1
  32. package/lib/components/checkbox/YCheckbox.mjs +2 -2
  33. package/lib/components/checkbox/YCheckbox.mjs.map +1 -1
  34. package/lib/components/checkbox/YCheckbox.scss +48 -48
  35. package/lib/components/checkbox/YInputCheckbox.mjs +2 -1
  36. package/lib/components/checkbox/YInputCheckbox.mjs.map +1 -1
  37. package/lib/components/checkbox/YInputCheckbox.scss +84 -86
  38. package/lib/components/checkbox/index.mjs +1 -1
  39. package/lib/components/checkbox/index.mjs.map +1 -1
  40. package/lib/components/chip/YChip.mjs +2 -2
  41. package/lib/components/chip/YChip.mjs.map +1 -1
  42. package/lib/components/date-picker/YDateCalendar.mjs +3 -3
  43. package/lib/components/date-picker/YDateCalendar.mjs.map +1 -1
  44. package/lib/components/date-picker/YDateCalendar.scss +84 -82
  45. package/lib/components/date-picker/YDatePicker.mjs +2 -2
  46. package/lib/components/date-picker/YDatePicker.mjs.map +1 -1
  47. package/lib/components/date-picker/YDatePicker.scss +3 -3
  48. package/lib/components/date-picker/YDatePickerControl.mjs +2 -2
  49. package/lib/components/date-picker/YDatePickerControl.mjs.map +1 -1
  50. package/lib/components/date-picker/YDatePickerControl.scss +35 -35
  51. package/lib/components/date-picker/YMonthPicker.mjs +3 -3
  52. package/lib/components/date-picker/YMonthPicker.mjs.map +1 -1
  53. package/lib/components/date-picker/YMonthPicker.scss +25 -25
  54. package/lib/components/date-picker/YYearPicker.mjs +3 -2
  55. package/lib/components/date-picker/YYearPicker.mjs.map +1 -1
  56. package/lib/components/date-picker/YYearPicker.scss +23 -23
  57. package/lib/components/date-picker/index.mjs.map +1 -1
  58. package/lib/components/dialog/YDialog.mjs +3 -3
  59. package/lib/components/dialog/YDialog.mjs.map +1 -1
  60. package/lib/components/dialog/YDialog.scss +50 -50
  61. package/lib/components/dialog/index.mjs.map +1 -1
  62. package/lib/components/divider/YDivider.mjs +1 -2
  63. package/lib/components/divider/YDivider.mjs.map +1 -1
  64. package/lib/components/divider/YDivider.scss +2 -3
  65. package/lib/components/divider/index.mjs.map +1 -1
  66. package/lib/components/dropdown/YDropdown.mjs +2 -2
  67. package/lib/components/dropdown/YDropdown.mjs.map +1 -1
  68. package/lib/components/dropdown/YDropdown.scss +27 -28
  69. package/lib/components/dropdown/index.mjs.map +1 -1
  70. package/lib/components/field-input/YFieldInput.mjs +2 -2
  71. package/lib/components/field-input/YFieldInput.mjs.map +1 -1
  72. package/lib/components/field-input/YFieldInput.scss +66 -66
  73. package/lib/components/field-input/index.mjs.map +1 -1
  74. package/lib/components/form/YForm.mjs +3 -2
  75. package/lib/components/form/YForm.mjs.map +1 -1
  76. package/lib/components/hover/YHover.mjs +2 -2
  77. package/lib/components/hover/YHover.mjs.map +1 -1
  78. package/lib/components/hover/index.mjs.map +1 -1
  79. package/lib/components/icon/YIcon.mjs +3 -2
  80. package/lib/components/icon/YIcon.mjs.map +1 -1
  81. package/lib/components/icon/YIcon.scss +18 -18
  82. package/lib/components/icon/index.mjs.map +1 -1
  83. package/lib/components/icons/YIconCheckbox.mjs +1 -1
  84. package/lib/components/icons/YIconCheckbox.mjs.map +1 -1
  85. package/lib/components/icons/YIconCheckbox.scss +60 -60
  86. package/lib/components/icons/YIconClear.mjs +1 -1
  87. package/lib/components/icons/YIconClear.mjs.map +1 -1
  88. package/lib/components/icons/YIconDropdown.mjs +1 -1
  89. package/lib/components/icons/YIconDropdown.mjs.map +1 -1
  90. package/lib/components/icons/YIconExpand.mjs +1 -1
  91. package/lib/components/icons/YIconExpand.mjs.map +1 -1
  92. package/lib/components/icons/YIconPageControl.mjs +1 -1
  93. package/lib/components/icons/YIconPageControl.mjs.map +1 -1
  94. package/lib/components/icons/YIconSort.mjs +1 -1
  95. package/lib/components/icons/YIconSort.mjs.map +1 -1
  96. package/lib/components/icons/YIconSort.scss +24 -23
  97. package/lib/components/icons/index.mjs +1 -1
  98. package/lib/components/icons/index.mjs.map +1 -1
  99. package/lib/components/img/YImg.mjs +6 -7
  100. package/lib/components/img/YImg.mjs.map +1 -1
  101. package/lib/components/input/YInput.mjs +3 -4
  102. package/lib/components/input/YInput.mjs.map +1 -1
  103. package/lib/components/input/YInput.scss +258 -254
  104. package/lib/components/input/index.mjs.map +1 -1
  105. package/lib/components/ip-field/YIpField.scss +74 -74
  106. package/lib/components/ip-field/YIpv4Field.mjs +2 -2
  107. package/lib/components/ip-field/YIpv4Field.mjs.map +1 -1
  108. package/lib/components/ip-field/index.mjs.map +1 -1
  109. package/lib/components/layer/YLayer.mjs +2 -2
  110. package/lib/components/layer/YLayer.mjs.map +1 -1
  111. package/lib/components/layer/YLayer.scss +38 -38
  112. package/lib/components/layer/active-delay.mjs.map +1 -1
  113. package/lib/components/layer/active-stack.mjs.map +1 -1
  114. package/lib/components/layer/base.mjs.map +1 -1
  115. package/lib/components/layer/content.mjs.map +1 -1
  116. package/lib/components/layer/scroll-strategies.mjs +1 -1
  117. package/lib/components/layer/scroll-strategies.mjs.map +1 -1
  118. package/lib/components/list/YList.mjs +2 -2
  119. package/lib/components/list/YList.mjs.map +1 -1
  120. package/lib/components/list/YList.scss +3 -3
  121. package/lib/components/list/YListItem.mjs +2 -2
  122. package/lib/components/list/YListItem.mjs.map +1 -1
  123. package/lib/components/list/YListItem.scss +62 -62
  124. package/lib/components/list/index.mjs.map +1 -1
  125. package/lib/components/loading/YSpinnerRing.mjs +1 -1
  126. package/lib/components/loading/YSpinnerRing.mjs.map +1 -1
  127. package/lib/components/menu/YMenu.mjs +5 -4
  128. package/lib/components/menu/YMenu.mjs.map +1 -1
  129. package/lib/components/menu/YMenu.scss +25 -22
  130. package/lib/components/menu/index.mjs.map +1 -1
  131. package/lib/components/navigation/YNavigation.mjs +2 -1
  132. package/lib/components/navigation/YNavigation.mjs.map +1 -1
  133. package/lib/components/pagination/YPagination.mjs +2 -2
  134. package/lib/components/pagination/YPagination.mjs.map +1 -1
  135. package/lib/components/pagination/YPagination.scss +52 -51
  136. package/lib/components/pagination/index.mjs.map +1 -1
  137. package/lib/components/panel/YDividePanel.mjs.map +1 -1
  138. package/lib/components/panel/YDividePanel.scss +43 -43
  139. package/lib/components/panel/index.mjs.map +1 -1
  140. package/lib/components/plate/YPlate.mjs +2 -1
  141. package/lib/components/plate/YPlate.mjs.map +1 -1
  142. package/lib/components/plate/YPlate.scss +9 -9
  143. package/lib/components/progress-bar/YProgressBar.mjs +2 -2
  144. package/lib/components/progress-bar/YProgressBar.mjs.map +1 -1
  145. package/lib/components/progress-bar/YProgressBar.scss +6 -4
  146. package/lib/components/select/YSelect.mjs +3 -5
  147. package/lib/components/select/YSelect.mjs.map +1 -1
  148. package/lib/components/select/YSelect.scss +43 -43
  149. package/lib/components/select/index.mjs.map +1 -1
  150. package/lib/components/snackbar/YSnackbar.mjs +8 -9
  151. package/lib/components/snackbar/YSnackbar.mjs.map +1 -1
  152. package/lib/components/snackbar/YSnackbar.scss +38 -38
  153. package/lib/components/switch/YSwitch.mjs +2 -1
  154. package/lib/components/switch/YSwitch.mjs.map +1 -1
  155. package/lib/components/switch/YSwitch.scss +204 -198
  156. package/lib/components/tab/YTab.mjs +2 -3
  157. package/lib/components/tab/YTab.mjs.map +1 -1
  158. package/lib/components/tab/YTab.scss +6 -3
  159. package/lib/components/tab/YTabs.mjs +2 -2
  160. package/lib/components/tab/YTabs.mjs.map +1 -1
  161. package/lib/components/tab/YTabs.scss +8 -10
  162. package/lib/components/tab/index.mjs.map +1 -1
  163. package/lib/components/tab/types.mjs.map +1 -1
  164. package/lib/components/table/YDataTable.mjs +5 -5
  165. package/lib/components/table/YDataTable.mjs.map +1 -1
  166. package/lib/components/table/YDataTableBody.mjs +2 -2
  167. package/lib/components/table/YDataTableBody.mjs.map +1 -1
  168. package/lib/components/table/YDataTableCell.mjs +2 -1
  169. package/lib/components/table/YDataTableCell.mjs.map +1 -1
  170. package/lib/components/table/YDataTableControl.mjs +1 -1
  171. package/lib/components/table/YDataTableControl.mjs.map +1 -1
  172. package/lib/components/table/YDataTableControl.scss +7 -7
  173. package/lib/components/table/YDataTableHead.mjs +2 -3
  174. package/lib/components/table/YDataTableHead.mjs.map +1 -1
  175. package/lib/components/table/YDataTableLayer.mjs +2 -1
  176. package/lib/components/table/YDataTableLayer.mjs.map +1 -1
  177. package/lib/components/table/YDataTableRow.mjs +2 -1
  178. package/lib/components/table/YDataTableRow.mjs.map +1 -1
  179. package/lib/components/table/YDataTableServer.mjs +3 -4
  180. package/lib/components/table/YDataTableServer.mjs.map +1 -1
  181. package/lib/components/table/YTable.mjs +2 -2
  182. package/lib/components/table/YTable.mjs.map +1 -1
  183. package/lib/components/table/YTable.scss +157 -152
  184. package/lib/components/table/composibles/header.mjs.map +1 -1
  185. package/lib/components/table/composibles/items.mjs.map +1 -1
  186. package/lib/components/table/composibles/options.mjs.map +1 -1
  187. package/lib/components/table/composibles/pagination.mjs.map +1 -1
  188. package/lib/components/table/composibles/selection.mjs +1 -1
  189. package/lib/components/table/composibles/selection.mjs.map +1 -1
  190. package/lib/components/table/composibles/sorted-items.mjs +1 -1
  191. package/lib/components/table/composibles/sorted-items.mjs.map +1 -1
  192. package/lib/components/table/composibles/sorting.mjs +1 -2
  193. package/lib/components/table/composibles/sorting.mjs.map +1 -1
  194. package/lib/components/table/index.mjs.map +1 -1
  195. package/lib/components/table/types/common.mjs.map +1 -1
  196. package/lib/components/table/types/header.mjs.map +1 -1
  197. package/lib/components/table/types/index.mjs.map +1 -1
  198. package/lib/components/table/types/row.mjs.map +1 -1
  199. package/lib/components/text-ellipsis/YTextEllipsis.mjs +4 -2
  200. package/lib/components/text-ellipsis/YTextEllipsis.mjs.map +1 -1
  201. package/lib/components/text-ellipsis/YTextEllipsis.scss +43 -43
  202. package/lib/components/text-ellipsis/index.mjs.map +1 -1
  203. package/lib/components/text-highlighter/YTextHighlighter.mjs +2 -1
  204. package/lib/components/text-highlighter/YTextHighlighter.mjs.map +1 -1
  205. package/lib/components/text-interpolation/YTi.mjs +2 -1
  206. package/lib/components/text-interpolation/YTi.mjs.map +1 -1
  207. package/lib/components/text-interpolation/index.mjs.map +1 -1
  208. package/lib/components/textarea/YTextarea.mjs +2 -2
  209. package/lib/components/textarea/YTextarea.mjs.map +1 -1
  210. package/lib/components/textarea/YTextarea.scss +25 -25
  211. package/lib/components/textarea/index.mjs.map +1 -1
  212. package/lib/components/toggle-button/YToggleButton.mjs.map +1 -1
  213. package/lib/components/toggle-button/index.mjs.map +1 -1
  214. package/lib/components/tooltip/YTooltip.mjs +3 -3
  215. package/lib/components/tooltip/YTooltip.mjs.map +1 -1
  216. package/lib/components/tooltip/YTooltip.scss +19 -19
  217. package/lib/components/tooltip/index.mjs.map +1 -1
  218. package/lib/components/transitions/expand-transition.mjs.map +1 -1
  219. package/lib/components/tree-view/YTreeView.mjs +1 -1
  220. package/lib/components/tree-view/YTreeView.mjs.map +1 -1
  221. package/lib/components/tree-view/YTreeView.scss +81 -79
  222. package/lib/components/tree-view/YTreeViewNode.mjs +2 -1
  223. package/lib/components/tree-view/YTreeViewNode.mjs.map +1 -1
  224. package/lib/components/tree-view/index.mjs.map +1 -1
  225. package/lib/components/tree-view/types.mjs.map +1 -1
  226. package/lib/components/tree-view/util.mjs.map +1 -1
  227. package/lib/composables/choice.mjs.map +1 -1
  228. package/lib/composables/communication.mjs.map +1 -1
  229. package/lib/composables/component.mjs.map +1 -1
  230. package/lib/composables/coordinate/arrangement.mjs.map +1 -1
  231. package/lib/composables/coordinate/levitation.mjs.map +1 -1
  232. package/lib/composables/coordinate/utils/point.mjs.map +1 -1
  233. package/lib/composables/date/factory.mjs.map +1 -1
  234. package/lib/composables/date/index.mjs +1 -1
  235. package/lib/composables/date/index.mjs.map +1 -1
  236. package/lib/composables/date/setting.mjs.map +1 -1
  237. package/lib/composables/date/types.mjs.map +1 -1
  238. package/lib/composables/defaults/index.mjs +3 -3
  239. package/lib/composables/defaults/index.mjs.map +1 -1
  240. package/lib/composables/defaults/types.mjs.map +1 -1
  241. package/lib/composables/dimension.mjs +1 -1
  242. package/lib/composables/dimension.mjs.map +1 -1
  243. package/lib/composables/focus.mjs +1 -1
  244. package/lib/composables/focus.mjs.map +1 -1
  245. package/lib/composables/form.mjs.map +1 -1
  246. package/lib/composables/i18n/index.mjs.map +1 -1
  247. package/lib/composables/icon.mjs +5 -4
  248. package/lib/composables/icon.mjs.map +1 -1
  249. package/lib/composables/layer-group.mjs +1 -1
  250. package/lib/composables/layer-group.mjs.map +1 -1
  251. package/lib/composables/layout.mjs +1 -1
  252. package/lib/composables/layout.mjs.map +1 -1
  253. package/lib/composables/list-items.mjs.map +1 -1
  254. package/lib/composables/ref.mjs +1 -1
  255. package/lib/composables/ref.mjs.map +1 -1
  256. package/lib/composables/resize-observer.mjs +1 -3
  257. package/lib/composables/resize-observer.mjs.map +1 -1
  258. package/lib/composables/scope.mjs +1 -2
  259. package/lib/composables/scope.mjs.map +1 -1
  260. package/lib/composables/theme/factory.mjs.map +1 -1
  261. package/lib/composables/theme/index.mjs +1 -1
  262. package/lib/composables/theme/index.mjs.map +1 -1
  263. package/lib/composables/theme/setting.mjs.map +1 -1
  264. package/lib/composables/theme/types.mjs.map +1 -1
  265. package/lib/composables/timing.mjs +1 -1
  266. package/lib/composables/timing.mjs.map +1 -1
  267. package/lib/composables/transition.mjs +1 -1
  268. package/lib/composables/transition.mjs.map +1 -1
  269. package/lib/composables/validation.mjs +1 -1
  270. package/lib/composables/validation.mjs.map +1 -1
  271. package/lib/composables/vue-router.mjs +1 -1
  272. package/lib/composables/vue-router.mjs.map +1 -1
  273. package/lib/index.mjs +3 -3
  274. package/lib/index.mjs.map +1 -1
  275. package/lib/util/anchor.mjs.map +1 -1
  276. package/lib/util/array.mjs.map +1 -1
  277. package/lib/util/component/component.mjs +2 -1
  278. package/lib/util/component/component.mjs.map +1 -1
  279. package/lib/util/component/index.mjs +2 -1
  280. package/lib/util/component/index.mjs.map +1 -1
  281. package/lib/util/component/inject-self.mjs.map +1 -1
  282. package/lib/util/component/props.mjs +1 -1
  283. package/lib/util/component/props.mjs.map +1 -1
  284. package/lib/util/date/index.mjs.map +1 -1
  285. package/lib/util/dom.mjs.map +1 -1
  286. package/lib/util/reactivity.mjs +3 -3
  287. package/lib/util/reactivity.mjs.map +1 -1
  288. package/lib/util/rect.mjs.map +1 -1
  289. package/lib/util/ui.mjs.map +1 -1
  290. package/lib/util/validation.mjs.map +1 -1
  291. package/package.json +1 -1
  292. package/types/abstract/items.d.ts +4 -4
  293. package/types/components/app/YApp.d.ts +1 -1
  294. package/types/components/badge/YBadge.d.ts +5 -39
  295. package/types/components/bench/YBench.d.ts +1 -1
  296. package/types/components/button/YButton.d.ts +10 -69
  297. package/types/components/card/YCard.d.ts +1 -6
  298. package/types/components/card/YCardBody.d.ts +1 -1
  299. package/types/components/card/YCardFooter.d.ts +1 -1
  300. package/types/components/card/YCardHeader.d.ts +1 -1
  301. package/types/components/checkbox/YCheckbox.d.ts +1 -26
  302. package/types/components/checkbox/YInputCheckbox.d.ts +2 -26
  303. package/types/components/checkbox/index.d.ts +1 -0
  304. package/types/components/chip/YChip.d.ts +2 -13
  305. package/types/components/date-picker/YDateCalendar.d.ts +3 -31
  306. package/types/components/date-picker/YDatePicker.d.ts +13 -42
  307. package/types/components/date-picker/YDatePickerControl.d.ts +12 -44
  308. package/types/components/date-picker/YMonthPicker.d.ts +1 -5
  309. package/types/components/date-picker/YYearPicker.d.ts +1 -7
  310. package/types/components/dialog/YDialog.d.ts +134 -377
  311. package/types/components/divider/YDivider.d.ts +1 -3
  312. package/types/components/dropdown/YDropdown.d.ts +104 -277
  313. package/types/components/field-input/YFieldInput.d.ts +14 -120
  314. package/types/components/form/YForm.d.ts +2 -24
  315. package/types/components/hover/YHover.d.ts +4 -26
  316. package/types/components/icon/YIcon.d.ts +3 -18
  317. package/types/components/icons/YIconCheckbox.d.ts +1 -9
  318. package/types/components/icons/YIconClear.d.ts +1 -1
  319. package/types/components/icons/YIconDropdown.d.ts +1 -1
  320. package/types/components/icons/YIconExpand.d.ts +1 -1
  321. package/types/components/icons/YIconPageControl.d.ts +1 -8
  322. package/types/components/icons/YIconSort.d.ts +1 -10
  323. package/types/components/icons/index.d.ts +8 -46
  324. package/types/components/img/YImg.d.ts +7 -47
  325. package/types/components/input/YInput.d.ts +11 -99
  326. package/types/components/ip-field/YIpv4Field.d.ts +2 -70
  327. package/types/components/layer/YLayer.d.ts +45 -162
  328. package/types/components/layer/content.d.ts +1 -1
  329. package/types/components/layer/scroll-strategies.d.ts +1 -1
  330. package/types/components/list/YList.d.ts +1 -6
  331. package/types/components/list/YListItem.d.ts +3 -21
  332. package/types/components/loading/YSpinnerRing.d.ts +1 -1
  333. package/types/components/menu/YMenu.d.ts +23 -288
  334. package/types/components/navigation/YNavigation.d.ts +1 -1
  335. package/types/components/pagination/YPagination.d.ts +12 -52
  336. package/types/components/plate/YPlate.d.ts +1 -3
  337. package/types/components/progress-bar/YProgressBar.d.ts +1 -36
  338. package/types/components/select/YSelect.d.ts +468 -1092
  339. package/types/components/snackbar/YSnackbar.d.ts +51 -196
  340. package/types/components/switch/YSwitch.d.ts +1 -43
  341. package/types/components/tab/YTab.d.ts +14 -80
  342. package/types/components/tab/YTabs.d.ts +6 -39
  343. package/types/components/table/YDataTable.d.ts +24 -173
  344. package/types/components/table/YDataTableBody.d.ts +3 -26
  345. package/types/components/table/YDataTableCell.d.ts +2 -31
  346. package/types/components/table/YDataTableControl.d.ts +3 -18
  347. package/types/components/table/YDataTableHead.d.ts +3 -21
  348. package/types/components/table/YDataTableLayer.d.ts +1 -3
  349. package/types/components/table/YDataTableRow.d.ts +1 -9
  350. package/types/components/table/YDataTableServer.d.ts +27 -179
  351. package/types/components/table/YTable.d.ts +5 -24
  352. package/types/components/table/composibles/header.d.ts +9 -9
  353. package/types/components/table/composibles/items.d.ts +3 -3
  354. package/types/components/table/composibles/pagination.d.ts +3 -3
  355. package/types/components/table/composibles/selection.d.ts +4 -4
  356. package/types/components/table/composibles/sorting.d.ts +1 -1
  357. package/types/components/table/types/index.d.ts +1 -1
  358. package/types/components/text-ellipsis/YTextEllipsis.d.ts +1 -8
  359. package/types/components/text-highlighter/YTextHighlighter.d.ts +2 -17
  360. package/types/components/text-interpolation/YTi.d.ts +1 -10
  361. package/types/components/textarea/YTextarea.d.ts +15 -111
  362. package/types/components/tooltip/YTooltip.d.ts +41 -275
  363. package/types/components/tree-view/YTreeView.d.ts +2 -2
  364. package/types/components/tree-view/YTreeViewNode.d.ts +10 -67
  365. package/types/composables/choice.d.ts +1 -1
  366. package/types/composables/coordinate/index.d.ts +14 -14
  367. package/types/composables/coordinate/utils/point.d.ts +1 -1
  368. package/types/composables/form.d.ts +2 -2
  369. package/types/composables/icon.d.ts +5 -22
  370. package/types/composables/layer-group.d.ts +1 -1
  371. package/types/composables/list-items.d.ts +10 -10
  372. package/types/composables/timing.d.ts +1 -1
  373. package/types/composables/transition.d.ts +1 -1
  374. package/types/composables/validation.d.ts +3 -3
  375. package/types/composables/vue-router.d.ts +1 -1
  376. package/types/util/Rect.d.ts +1 -1
  377. package/types/util/anchor.d.ts +1 -1
  378. package/types/util/component/component.d.ts +2 -1
  379. package/types/util/component/index.d.ts +4 -4
  380. package/types/util/component/inject-self.d.ts +1 -1
@@ -1,62 +1,62 @@
1
- .y-list-item {
2
- position: relative;
3
- list-style: none;
4
- padding: 8px;
5
- display: flex;
6
- align-items: center;
7
- transition-duration: 0.24s;
8
- transition-property: color;
9
- transition-timing-function: cubic-bezier(0.17, 0.67, 0.16, 0.89);
10
-
11
- > div {
12
- position: relative;
13
- }
14
-
15
- &:before {
16
- content: '';
17
- position: absolute;
18
- inset: 0;
19
- border-radius: inherit;
20
- color: inherit;
21
- background-color: currentColor;
22
- opacity: 0;
23
- }
24
-
25
- &:hover:before {
26
- opacity: 0.14;
27
- }
28
-
29
- &--active#{&} {
30
- font-weight: bold;
31
-
32
- &:before {
33
- opacity: 0.03;
34
- }
35
- }
36
-
37
- &--link {
38
- text-decoration: none;
39
- cursor: pointer;
40
- }
41
-
42
- &--pointer {
43
- cursor: pointer;
44
- }
45
-
46
- &--category:hover:before {
47
- opacity: 0;
48
- }
49
-
50
- &__leading {
51
- }
52
-
53
- &__content {
54
- align-self: center;
55
- }
56
-
57
- &-icon {
58
- width: 24px;
59
- height: 24px;
60
- min-width: 24px;
61
- }
62
- }
1
+ .y-list-item {
2
+ position: relative;
3
+ list-style: none;
4
+ padding: 8px;
5
+ display: flex;
6
+ align-items: center;
7
+ transition-duration: 0.24s;
8
+ transition-property: color;
9
+ transition-timing-function: cubic-bezier(0.17, 0.67, 0.16, 0.89);
10
+
11
+ > div {
12
+ position: relative;
13
+ }
14
+
15
+ &:before {
16
+ content: '';
17
+ position: absolute;
18
+ inset: 0;
19
+ border-radius: inherit;
20
+ color: inherit;
21
+ background-color: currentColor;
22
+ opacity: 0;
23
+ }
24
+
25
+ &:hover:before {
26
+ opacity: 0.14;
27
+ }
28
+
29
+ &--active#{&} {
30
+ font-weight: bold;
31
+
32
+ &:before {
33
+ opacity: 0.03;
34
+ }
35
+ }
36
+
37
+ &--link {
38
+ text-decoration: none;
39
+ cursor: pointer;
40
+ }
41
+
42
+ &--pointer {
43
+ cursor: pointer;
44
+ }
45
+
46
+ &--category:hover:before {
47
+ opacity: 0;
48
+ }
49
+
50
+ &__leading {
51
+ }
52
+
53
+ &__content {
54
+ align-self: center;
55
+ }
56
+
57
+ &-icon {
58
+ width: 24px;
59
+ height: 24px;
60
+ min-width: 24px;
61
+ }
62
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/components/list/index.ts"],"sourcesContent":["export * from './YListItem';\r\nexport * from './YList';\r\n"],"mappings":""}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/components/list/index.ts"],"sourcesContent":["export * from './YListItem';\nexport * from './YList';\n"],"mappings":""}
@@ -1,5 +1,5 @@
1
1
  import { createVNode as _createVNode } from "vue";
2
- import { defineComponent } from 'vue';
2
+ import { defineComponent } from "../../util/component/index.mjs";
3
3
  import "./YSpinnerRing.scss";
4
4
  const NAME = 'YSpinnerRing';
5
5
  export const YSpinnerRing = defineComponent({
@@ -1 +1 @@
1
- {"version":3,"file":"YSpinnerRing.mjs","names":["defineComponent","NAME","YSpinnerRing","name","render","_createVNode"],"sources":["../../../src/components/loading/YSpinnerRing.tsx"],"sourcesContent":["import { defineComponent } from 'vue';\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":";AAAA,SAASA,eAAe,QAAQ,KAAK;AAErC;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.mjs","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"}
@@ -1,11 +1,12 @@
1
1
  import { mergeProps as _mergeProps, createVNode as _createVNode, Fragment as _Fragment } from "vue";
2
- import { computed, defineComponent, ref, toRef, watch } from 'vue';
2
+ import { computed, ref, toRef, watch } from 'vue';
3
3
  import { useModelDuplex } from "../../composables/communication.mjs";
4
4
  import { useRender } from "../../composables/component.mjs";
5
5
  import { pressPolyTransitionPropsOptions } from "../../composables/transition.mjs";
6
+ import { defineComponent } from "../../util/component/index.mjs";
7
+ import { bindClasses, chooseProps } from "../../util/component/index.mjs";
6
8
  import { hasElementMouseEvent } from "../../util/dom.mjs";
7
9
  import { toKebabCase } from "../../util/string.mjs";
8
- import { bindClasses, chooseProps } from "../../util/component/index.mjs";
9
10
  import { YLayer, pressYLayerProps } from "../layer/index.mjs";
10
11
  import { useDelay } from "../layer/active-delay.mjs";
11
12
  import { useActiveStack } from "../layer/active-stack.mjs";
@@ -35,8 +36,8 @@ export const YMenuPropOptions = {
35
36
  preventCloseBubble: Boolean
36
37
  };
37
38
 
38
- /**
39
- * # Component
39
+ /**
40
+ * # Component
40
41
  */
41
42
  export const YMenu = defineComponent({
42
43
  name: NAME,
@@ -1 +1 @@
1
- {"version":3,"file":"YMenu.mjs","names":["computed","defineComponent","ref","toRef","watch","useModelDuplex","useRender","pressPolyTransitionPropsOptions","hasElementMouseEvent","toKebabCase","bindClasses","chooseProps","YLayer","pressYLayerProps","useDelay","useActiveStack","NAME","CLASS_NAME","YMenuPropOptions","menuClasses","type","Array","String","Object","openOnClickBase","Boolean","default","closeCondition","Function","undefined","preventClip","coordinateStrategy","scrollStrategy","preventCloseBubble","YMenu","name","props","transition","emits","slots","expose","setup","_ref","emit","layer$","classes","boundClasses","active","hovered","value","finish","children","parent","startOpenDelay","startCloseDelay","changeActive","openOnHover","length","onMouseenter","e","onMouseleave","onClick","stopPropagation","currentActive","disabled","onComplementClick","parentContent","$el","content$","parentModal","modal","clear","bindHover","el","addEventListener","unbindHover","removeEventListener","baseEl","neo","old","immediate","computedContentClasses","contentClasses","_createVNode","_Fragment","_mergeProps","onAfterLeave","scrim","$event","_len","arguments","args","_key","base","_len2","_key2"],"sources":["../../../src/components/menu/YMenu.tsx"],"sourcesContent":["import type { PropType, SlotsType } from 'vue';\r\nimport { computed, defineComponent, ref, toRef, watch } from 'vue';\r\n\r\nimport { useModelDuplex } from '../../composables/communication';\r\nimport { useRender } from '../../composables/component';\r\nimport { pressPolyTransitionPropsOptions } from '../../composables/transition';\r\nimport { hasElementMouseEvent } from '../../util/dom';\r\nimport { toKebabCase } from '../../util/string';\r\nimport { bindClasses, chooseProps } from '../../util/component';\r\nimport { YLayer, pressYLayerProps } from '../layer';\r\nimport { useDelay } from '../layer/active-delay';\r\nimport { useActiveStack } from '../layer/active-stack';\r\n\r\nimport './YMenu.scss';\r\n\r\nconst NAME = 'YMenu';\r\nconst CLASS_NAME = toKebabCase(NAME);\r\n\r\nexport const YMenuPropOptions = {\r\n menuClasses: {\r\n type: [Array, String, Object] as PropType<\r\n string[] | string | Record<string, any>\r\n >,\r\n },\r\n openOnClickBase: {\r\n type: Boolean as PropType<boolean>,\r\n default: true,\r\n },\r\n closeCondition: {\r\n type: [Boolean, Function],\r\n default: undefined,\r\n },\r\n preventClip: {\r\n type: Boolean as PropType<boolean>,\r\n default: true,\r\n },\r\n ...pressYLayerProps({\r\n coordinateStrategy: 'levitation' as const,\r\n scrollStrategy: 'reposition' as const,\r\n }),\r\n preventCloseBubble: Boolean as PropType<boolean>,\r\n};\r\n\r\n/**\r\n * # Component\r\n */\r\nexport const YMenu = defineComponent({\r\n name: NAME,\r\n props: {\r\n ...YMenuPropOptions,\r\n ...pressPolyTransitionPropsOptions({\r\n transition: 'fade'\r\n }),\r\n },\r\n emits: ['update:modelValue', 'afterLeave', 'hoverContent'],\r\n slots: Object as SlotsType<{\r\n default: any;\r\n base: any;\r\n }>,\r\n expose: ['layer$', 'baseEl'],\r\n setup(props, { slots, emit, expose }) {\r\n const layer$ = ref<typeof YLayer>();\r\n\r\n const classes = computed(() => {\r\n const boundClasses = bindClasses(props.menuClasses);\r\n return {\r\n ...boundClasses,\r\n 'y-menu': true,\r\n };\r\n });\r\n\r\n const active = useModelDuplex(props);\r\n const hovered = computed(() => !!layer$.value?.hovered);\r\n const finish = computed(() => !!layer$.value?.finish);\r\n const { children, parent } = useActiveStack(\r\n layer$,\r\n active,\r\n toRef(props, 'preventCloseBubble'),\r\n );\r\n const { startOpenDelay, startCloseDelay } = useDelay(\r\n props,\r\n (changeActive) => {\r\n if (\r\n !changeActive &&\r\n props.openOnHover &&\r\n !hovered.value &&\r\n children.value.length === 0\r\n ) {\r\n active.value = false;\r\n } else if (changeActive) {\r\n active.value = true;\r\n }\r\n },\r\n );\r\n\r\n function onMouseenter(e: MouseEvent) {\r\n if (props.openOnHover) {\r\n startOpenDelay();\r\n }\r\n }\r\n\r\n function onMouseleave(e: MouseEvent) {\r\n if (props.openOnHover) {\r\n startCloseDelay();\r\n }\r\n }\r\n\r\n watch(hovered, (value) => {\r\n emit('hoverContent', value);\r\n if (!value) {\r\n startCloseDelay();\r\n }\r\n });\r\n\r\n function onClick(e: MouseEvent) {\r\n e.stopPropagation();\r\n if (!props.openOnClickBase) {\r\n return;\r\n }\r\n const currentActive = active.value;\r\n if (!props.disabled) {\r\n if (props.openOnHover && finish.value && active.value) {\r\n return;\r\n }\r\n active.value = !currentActive;\r\n }\r\n }\r\n\r\n function onComplementClick(e: Event) {\r\n if (props.closeCondition === false) {\r\n return;\r\n }\r\n if (typeof props.closeCondition === 'function') {\r\n if (props.closeCondition(e) === false) {\r\n active.value = false;\r\n return;\r\n }\r\n }\r\n if (active.value) {\r\n if ((!parent && children.value.length === 0) || parent) {\r\n active.value = false;\r\n }\r\n const parentContent = parent?.$el.value?.content$;\r\n const parentModal = parent?.$el.value?.modal;\r\n if (\r\n !(parentContent && !hasElementMouseEvent(e, parentContent)) &&\r\n !parentModal &&\r\n !props.preventCloseBubble\r\n ) {\r\n parent?.clear();\r\n }\r\n }\r\n }\r\n\r\n function bindHover(el: HTMLElement) {\r\n el.addEventListener('mouseenter', onMouseenter);\r\n el.addEventListener('mouseleave', onMouseleave);\r\n }\r\n\r\n function unbindHover(el: HTMLElement) {\r\n el.removeEventListener('mouseenter', onMouseenter);\r\n el.removeEventListener('mouseleave', onMouseleave);\r\n }\r\n\r\n watch(\r\n () => layer$.value?.baseEl,\r\n (neo, old) => {\r\n if (neo) {\r\n bindHover(neo);\r\n neo.addEventListener('click', onClick);\r\n } else if (old) {\r\n unbindHover(old);\r\n old.removeEventListener('click', onClick);\r\n }\r\n },\r\n {\r\n immediate: true,\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 const baseEl = computed(() => {\r\n return layer$.value?.baseEl;\r\n });\r\n\r\n expose({\r\n layer$,\r\n baseEl,\r\n });\r\n\r\n useRender(() => {\r\n return (\r\n <>\r\n <YLayer\r\n ref={layer$}\r\n transition={props.transition}\r\n onClick:complement={onComplementClick}\r\n onAfterLeave={() => emit('afterLeave')}\r\n {...{\r\n ...chooseProps(props, YLayer.props),\r\n classes: classes.value,\r\n scrim: false,\r\n contentClasses: {\r\n 'y-menu__content': true,\r\n ...computedContentClasses.value,\r\n },\r\n }}\r\n v-model={active.value}\r\n >\r\n {{\r\n default: (...args: any) => {\r\n return <>{slots.default?.(...args) ?? ''}</>;\r\n },\r\n base: (...args: any[]) => slots.base?.(...args),\r\n }}\r\n </YLayer>\r\n </>\r\n );\r\n });\r\n\r\n return {\r\n layer$,\r\n baseEl,\r\n classes,\r\n children,\r\n parent,\r\n active,\r\n hovered,\r\n };\r\n },\r\n});\r\n\r\nexport type YMenu = InstanceType<typeof YMenu>;\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"YMenu.mjs","names":["computed","ref","toRef","watch","useModelDuplex","useRender","pressPolyTransitionPropsOptions","defineComponent","bindClasses","chooseProps","hasElementMouseEvent","toKebabCase","YLayer","pressYLayerProps","useDelay","useActiveStack","NAME","CLASS_NAME","YMenuPropOptions","menuClasses","type","Array","String","Object","openOnClickBase","Boolean","default","closeCondition","Function","undefined","preventClip","coordinateStrategy","scrollStrategy","preventCloseBubble","YMenu","name","props","transition","emits","slots","expose","setup","_ref","emit","layer$","classes","boundClasses","active","hovered","value","finish","children","parent","startOpenDelay","startCloseDelay","changeActive","openOnHover","length","onMouseenter","e","onMouseleave","onClick","stopPropagation","currentActive","disabled","onComplementClick","parentContent","$el","content$","parentModal","modal","clear","bindHover","el","addEventListener","unbindHover","removeEventListener","baseEl","neo","old","immediate","computedContentClasses","contentClasses","_createVNode","_Fragment","_mergeProps","onAfterLeave","scrim","$event","_len","arguments","args","_key","base","_len2","_key2"],"sources":["../../../src/components/menu/YMenu.tsx"],"sourcesContent":["import type { PropType, SlotsType } from 'vue';\nimport { computed, ref, toRef, watch } from 'vue';\n\nimport { useModelDuplex } from '@/composables/communication';\nimport { useRender } from '@/composables/component';\nimport { pressPolyTransitionPropsOptions } from '@/composables/transition';\nimport { defineComponent } from '@/util/component';\nimport { bindClasses, chooseProps } from '@/util/component';\nimport { hasElementMouseEvent } from '@/util/dom';\nimport { toKebabCase } from '@/util/string';\n\nimport { YLayer, pressYLayerProps } from '../layer';\nimport { useDelay } from '../layer/active-delay';\nimport { useActiveStack } from '../layer/active-stack';\n\nimport './YMenu.scss';\n\nconst NAME = 'YMenu';\nconst CLASS_NAME = toKebabCase(NAME);\n\nexport const YMenuPropOptions = {\n menuClasses: {\n type: [Array, String, Object] as PropType<\n string[] | string | Record<string, any>\n >,\n },\n openOnClickBase: {\n type: Boolean as PropType<boolean>,\n default: true,\n },\n closeCondition: {\n type: [Boolean, Function],\n default: undefined,\n },\n preventClip: {\n type: Boolean as PropType<boolean>,\n default: true,\n },\n ...pressYLayerProps({\n coordinateStrategy: 'levitation' as const,\n scrollStrategy: 'reposition' as const,\n }),\n preventCloseBubble: Boolean as PropType<boolean>,\n};\n\n/**\n * # Component\n */\nexport const YMenu = defineComponent({\n name: NAME,\n props: {\n ...YMenuPropOptions,\n ...pressPolyTransitionPropsOptions({\n transition: 'fade',\n }),\n },\n emits: ['update:modelValue', 'afterLeave', 'hoverContent'],\n slots: Object as SlotsType<{\n default: any;\n base: any;\n }>,\n expose: ['layer$', 'baseEl'],\n setup(props, { slots, emit, expose }) {\n const layer$ = ref<typeof YLayer>();\n\n const classes = computed(() => {\n const boundClasses = bindClasses(props.menuClasses);\n return {\n ...boundClasses,\n 'y-menu': true,\n };\n });\n\n const active = useModelDuplex(props);\n const hovered = computed(() => !!layer$.value?.hovered);\n const finish = computed(() => !!layer$.value?.finish);\n const { children, parent } = useActiveStack(\n layer$,\n active,\n toRef(props, 'preventCloseBubble'),\n );\n const { startOpenDelay, startCloseDelay } = useDelay(\n props,\n (changeActive) => {\n if (\n !changeActive &&\n props.openOnHover &&\n !hovered.value &&\n children.value.length === 0\n ) {\n active.value = false;\n } else if (changeActive) {\n active.value = true;\n }\n },\n );\n\n function onMouseenter(e: MouseEvent) {\n if (props.openOnHover) {\n startOpenDelay();\n }\n }\n\n function onMouseleave(e: MouseEvent) {\n if (props.openOnHover) {\n startCloseDelay();\n }\n }\n\n watch(hovered, (value) => {\n emit('hoverContent', value);\n if (!value) {\n startCloseDelay();\n }\n });\n\n function onClick(e: MouseEvent) {\n e.stopPropagation();\n if (!props.openOnClickBase) {\n return;\n }\n const currentActive = active.value;\n if (!props.disabled) {\n if (props.openOnHover && finish.value && active.value) {\n return;\n }\n active.value = !currentActive;\n }\n }\n\n function onComplementClick(e: Event) {\n if (props.closeCondition === false) {\n return;\n }\n if (typeof props.closeCondition === 'function') {\n if (props.closeCondition(e) === false) {\n active.value = false;\n return;\n }\n }\n if (active.value) {\n if ((!parent && children.value.length === 0) || parent) {\n active.value = false;\n }\n const parentContent = parent?.$el.value?.content$;\n const parentModal = parent?.$el.value?.modal;\n if (\n !(parentContent && !hasElementMouseEvent(e, parentContent)) &&\n !parentModal &&\n !props.preventCloseBubble\n ) {\n parent?.clear();\n }\n }\n }\n\n function bindHover(el: HTMLElement) {\n el.addEventListener('mouseenter', onMouseenter);\n el.addEventListener('mouseleave', onMouseleave);\n }\n\n function unbindHover(el: HTMLElement) {\n el.removeEventListener('mouseenter', onMouseenter);\n el.removeEventListener('mouseleave', onMouseleave);\n }\n\n watch(\n () => layer$.value?.baseEl,\n (neo, old) => {\n if (neo) {\n bindHover(neo);\n neo.addEventListener('click', onClick);\n } else if (old) {\n unbindHover(old);\n old.removeEventListener('click', onClick);\n }\n },\n {\n immediate: true,\n },\n );\n\n const computedContentClasses = computed<Record<string, boolean>>(() => {\n const boundClasses = bindClasses(props.contentClasses);\n return {\n ...boundClasses,\n };\n });\n\n const baseEl = computed(() => {\n return layer$.value?.baseEl;\n });\n\n expose({\n layer$,\n baseEl,\n });\n\n useRender(() => {\n return (\n <>\n <YLayer\n ref={layer$}\n transition={props.transition}\n onClick:complement={onComplementClick}\n onAfterLeave={() => emit('afterLeave')}\n {...{\n ...chooseProps(props, YLayer.props),\n classes: classes.value,\n scrim: false,\n contentClasses: {\n 'y-menu__content': true,\n ...computedContentClasses.value,\n },\n }}\n v-model={active.value}\n >\n {{\n default: (...args: any) => {\n return <>{slots.default?.(...args) ?? ''}</>;\n },\n base: (...args: any[]) => slots.base?.(...args),\n }}\n </YLayer>\n </>\n );\n });\n\n return {\n layer$,\n baseEl,\n classes,\n children,\n parent,\n active,\n hovered,\n };\n },\n});\n\nexport type YMenu = InstanceType<typeof YMenu>;\n"],"mappings":"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"}
@@ -1,22 +1,25 @@
1
- .y-menu {
2
- font-size: 0.875rem;
3
- $elevation-fallback: 1px 1px 8px -1px rgba(0, 0, 0, 0.14), 4px 4px 24px -4px rgba(0, 0, 0, 0.28), -2px -2px 8px -2px rgba(0, 0, 0, 0.14);
4
-
5
- --y-menu__border-radius: 8px;
6
- --y-menu__elevation: var(--y-elevation--level2);
7
-
8
- &__content {
9
- box-shadow: var(--y-menu__elevation, #{$elevation-fallback});
10
- border-radius: var(--y-menu__border-radius);
11
- background: var(--y-theme-surface);
12
- display: flex;
13
- flex-direction: column;
14
-
15
- > .y-card {
16
- background: var(--y-theme-surface);
17
- border-radius: inherit;
18
- overflow: auto;
19
- height: 100%;
20
- }
21
- }
22
- }
1
+ .y-menu {
2
+ font-size: 0.875rem;
3
+ $elevation-fallback:
4
+ 1px 1px 8px -1px rgba(0, 0, 0, 0.14),
5
+ 4px 4px 24px -4px rgba(0, 0, 0, 0.28),
6
+ -2px -2px 8px -2px rgba(0, 0, 0, 0.14);
7
+
8
+ --y-menu__border-radius: 8px;
9
+ --y-menu__elevation: var(--y-elevation--level2);
10
+
11
+ &__content {
12
+ box-shadow: var(--y-menu__elevation, #{$elevation-fallback});
13
+ border-radius: var(--y-menu__border-radius);
14
+ background: var(--y-theme-surface);
15
+ display: flex;
16
+ flex-direction: column;
17
+
18
+ > .y-card {
19
+ background: var(--y-theme-surface);
20
+ border-radius: inherit;
21
+ overflow: auto;
22
+ height: 100%;
23
+ }
24
+ }
25
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/components/menu/index.ts"],"sourcesContent":["export * from './YMenu';\r\n"],"mappings":""}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/components/menu/index.ts"],"sourcesContent":["export * from './YMenu';\n"],"mappings":""}
@@ -1,5 +1,6 @@
1
1
  import { createVNode as _createVNode } from "vue";
2
- import { defineComponent, getCurrentInstance } from "vue";
2
+ import { getCurrentInstance } from 'vue';
3
+ import { defineComponent } from "../../util/component/index.mjs";
3
4
  import { YBench } from "../bench/YBench.mjs";
4
5
  export const YNavigation = defineComponent({
5
6
  name: 'YNavigation',
@@ -1 +1 @@
1
- {"version":3,"file":"YNavigation.mjs","names":["defineComponent","getCurrentInstance","YBench","YNavigation","name","components","setup","props","_ref","slots","vm","_createVNode"],"sources":["../../../src/components/navigation/YNavigation.tsx"],"sourcesContent":["import { defineComponent, getCurrentInstance } from \"vue\";\r\nimport { YBench } from \"../bench/YBench\";\r\n\r\nexport const YNavigation = defineComponent({\r\n name: 'YNavigation',\r\n components: {\r\n YBench,\r\n },\r\n setup(props, { slots }) {\r\n const vm = getCurrentInstance();\r\n return (\r\n <YBench>\r\n\r\n </YBench>\r\n )\r\n }\r\n});\r\n\r\n"],"mappings":";AAAA,SAASA,eAAe,EAAEC,kBAAkB,QAAQ,KAAK;AAAC,SACjDC,MAAM;AAEf,OAAO,MAAMC,WAAW,GAAGH,eAAe,CAAC;EACzCI,IAAI,EAAE,aAAa;EACnBC,UAAU,EAAE;IACVH;EACF,CAAC;EACDI,KAAKA,CAACC,KAAK,EAAAC,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACpB,MAAME,EAAE,GAAGT,kBAAkB,CAAC,CAAC;IAC/B,OAAAU,YAAA,CAAAT,MAAA;EAKF;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"YNavigation.mjs","names":["getCurrentInstance","defineComponent","YBench","YNavigation","name","components","setup","props","_ref","slots","vm","_createVNode"],"sources":["../../../src/components/navigation/YNavigation.tsx"],"sourcesContent":["import { getCurrentInstance } from 'vue';\n\nimport { defineComponent } from '@/util/component';\n\nimport { YBench } from '../bench/YBench';\n\nexport const YNavigation = defineComponent({\n name: 'YNavigation',\n components: {\n YBench,\n },\n setup(props, { slots }) {\n const vm = getCurrentInstance();\n return <YBench></YBench>;\n },\n});\n"],"mappings":";AAAA,SAASA,kBAAkB,QAAQ,KAAK;AAAC,SAEhCC,eAAe;AAAA,SAEfC,MAAM;AAEf,OAAO,MAAMC,WAAW,GAAGF,eAAe,CAAC;EACzCG,IAAI,EAAE,aAAa;EACnBC,UAAU,EAAE;IACVH;EACF,CAAC;EACDI,KAAKA,CAACC,KAAK,EAAAC,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACpB,MAAME,EAAE,GAAGV,kBAAkB,CAAC,CAAC;IAC/B,OAAAW,YAAA,CAAAT,MAAA;EACF;AACF,CAAC,CAAC"}
@@ -1,12 +1,12 @@
1
1
  import { createVNode as _createVNode } from "vue";
2
- import { computed, defineComponent, shallowRef } from 'vue';
2
+ import { computed, shallowRef } from 'vue';
3
3
  import { useModelDuplex } from "../../composables/communication.mjs";
4
4
  import { useRender } from "../../composables/component.mjs";
5
5
  import { useRefs } from "../../composables/ref.mjs";
6
6
  import { useResizeObserver } from "../../composables/resize-observer.mjs";
7
7
  import { getRangeArr } from "../../util/common.mjs";
8
+ import { defineComponent, propsFactory } from "../../util/component/index.mjs";
8
9
  import { toStyleSizeValue } from "../../util/ui.mjs";
9
- import { propsFactory } from "../../util/component/index.mjs";
10
10
  import { YButton } from "../button/index.mjs";
11
11
  import { YIconPageControl } from "../icons/YIconPageControl.mjs";
12
12
  import "./YPagination.scss";
@@ -1 +1 @@
1
- {"version":3,"file":"YPagination.mjs","names":["computed","defineComponent","shallowRef","useModelDuplex","useRender","useRefs","useResizeObserver","getRangeArr","toStyleSizeValue","propsFactory","YButton","YIconPageControl","pressYPaginationProps","start","type","Number","String","default","modelValue","props","disabled","Boolean","length","validator","val","totalVisible","maxVisible","showEndButton","gap","color","activeColor","buttonVariation","align","YPagination","name","components","emits","value","change","control","setup","_ref","slots","emit","page","parseInt","itemCount","resizeObservedRef","entries","target","contentRect","firstItem","querySelector","listWidth","width","itemWidth","offsetWidth","parseFloat","getComputedStyle","marginRight","calcItemCount","fixedCount","fixedWidth","count","Math","max","floor","toFixed","isNaN","min","total","innerWidth","controls","prevDisabled","nextDisabled","first","variation","onClick","e","preventDefault","prev","to","next","last","range","MAX_SAFE_INTEGER","even","middle","left","right","rangeLength","rangeStart","ceil","refs","updateRef","changePage","event","arguments","undefined","items","map","item","index","ref","active","key","ellipsis","styles","_createVNode"],"sources":["../../../src/components/pagination/YPagination.tsx"],"sourcesContent":["import {\r\n ComponentPublicInstance,\r\n PropType,\r\n computed,\r\n defineComponent,\r\n shallowRef,\r\n} from 'vue';\r\n\r\nimport { useModelDuplex } from '../../composables/communication';\r\nimport { useRender } from '../../composables/component';\r\nimport { useRefs } from '../../composables/ref';\r\nimport { useResizeObserver } from '../../composables/resize-observer';\r\nimport { getRangeArr } from '../../util/common';\r\nimport { toStyleSizeValue } from '../../util/ui';\r\nimport { propsFactory } from '../../util/component';\r\nimport { YButton } from '../button';\r\nimport { YIconPageControl } from '../icons/YIconPageControl';\r\n\r\nimport './YPagination.scss';\r\n\r\nexport const pressYPaginationProps = propsFactory(\r\n {\r\n start: {\r\n type: [Number, String],\r\n default: 1,\r\n },\r\n modelValue: {\r\n type: Number,\r\n default: (props: any) => props.start as number,\r\n },\r\n disabled: Boolean,\r\n length: {\r\n type: [Number, String],\r\n default: 1,\r\n validator: (val: number) => val % 1 === 0,\r\n },\r\n totalVisible: [Number, String],\r\n maxVisible: [Number, String],\r\n showEndButton: Boolean,\r\n gap: {\r\n type: [String, Number],\r\n default: 4,\r\n },\r\n color: String,\r\n activeColor: String,\r\n buttonVariation: [String],\r\n align: {\r\n type: String as PropType<'start' | 'center' | 'end'>,\r\n default: 'center',\r\n },\r\n // firstIcon: [String],\r\n // lastIcon: [String],\r\n // prevIcon: [String],\r\n // nextIcon: [String],\r\n },\r\n 'YPagination',\r\n);\r\n\r\nexport const YPagination = defineComponent({\r\n name: 'YPagination',\r\n components: {\r\n YButton,\r\n },\r\n props: {\r\n ...pressYPaginationProps(),\r\n },\r\n emits: {\r\n 'update:modelValue': (value: number) => true,\r\n change: (value: number, control?: string) => true,\r\n },\r\n setup(props, { slots, emit }) {\r\n const page = useModelDuplex(props);\r\n\r\n const length = computed(() => parseInt(props.length as string, 10));\r\n const start = computed(() => parseInt(props.start as string, 10));\r\n\r\n const itemCount = shallowRef(-1);\r\n\r\n const { resizeObservedRef } = useResizeObserver((entries) => {\r\n if (1 > entries.length) return;\r\n const { target, contentRect } = entries[0];\r\n\r\n const firstItem = target.querySelector(\r\n '.y-pagination__list > *',\r\n ) as HTMLElement;\r\n if (firstItem) {\r\n const listWidth = contentRect.width;\r\n const itemWidth =\r\n firstItem.offsetWidth +\r\n parseFloat(getComputedStyle(firstItem).marginRight) * 2;\r\n itemCount.value = calcItemCount(listWidth, itemWidth);\r\n }\r\n });\r\n\r\n function calcItemCount(listWidth: number, itemWidth: number) {\r\n const fixedCount = props.showEndButton ? 5 : 3;\r\n const gap = +(props.gap ?? 4);\r\n const fixedWidth = (itemWidth + gap) * fixedCount - gap;\r\n const count = Math.max(\r\n 0,\r\n Math.floor(+((listWidth - fixedWidth) / (itemWidth + gap)).toFixed(2)),\r\n );\r\n const maxVisible = Number(props.maxVisible);\r\n if (!isNaN(maxVisible)) {\r\n return Math.min(maxVisible, count);\r\n }\r\n return count;\r\n }\r\n\r\n const totalVisible = computed(() => {\r\n const maxVisible = Number(props.maxVisible);\r\n if (props.totalVisible) {\r\n const total = parseInt(props.totalVisible as string, 10);\r\n if (!isNaN(maxVisible)) {\r\n return Math.min(total, maxVisible)\r\n }\r\n return total;\r\n }\r\n else if (itemCount.value >= 0) return itemCount.value;\r\n return calcItemCount(innerWidth, 58);\r\n });\r\n\r\n const controls = computed(() => {\r\n const prevDisabled = !!props.disabled || page.value <= start.value;\r\n const nextDisabled =\r\n !!props.disabled || page.value >= start.value + length.value - 1;\r\n return {\r\n first: {\r\n disabled: prevDisabled,\r\n variation: props.buttonVariation,\r\n onClick: (e: MouseEvent) => {\r\n e.preventDefault();\r\n page.value = 1;\r\n emit('change', 1, 'first');\r\n },\r\n },\r\n prev: {\r\n disabled: prevDisabled,\r\n variation: props.buttonVariation,\r\n onClick: (e: MouseEvent) => {\r\n e.preventDefault();\r\n const to = Math.max(1, page.value - 1);\r\n page.value = to;\r\n emit('change', to, 'prev');\r\n },\r\n },\r\n next: {\r\n disabled: nextDisabled,\r\n variation: props.buttonVariation,\r\n onClick: (e: MouseEvent) => {\r\n e.preventDefault();\r\n const to = Math.min(+length.value, page.value + 1);\r\n page.value = to;\r\n emit('change', to, 'next');\r\n },\r\n },\r\n last: {\r\n disabled: nextDisabled,\r\n variation: props.buttonVariation,\r\n onClick: (e: MouseEvent) => {\r\n e.preventDefault();\r\n const to = +length.value;\r\n page.value = +length.value;\r\n emit('change', to, 'last');\r\n },\r\n },\r\n };\r\n });\r\n\r\n const range = computed(() => {\r\n if (\r\n length.value <= 0 ||\r\n isNaN(length.value) ||\r\n length.value > Number.MAX_SAFE_INTEGER\r\n ) {\r\n return [];\r\n }\r\n if (totalVisible.value <= 1) {\r\n return [page.value];\r\n }\r\n if (length.value <= totalVisible.value) {\r\n return getRangeArr(length.value, start.value);\r\n }\r\n const even = totalVisible.value % 2 === 0;\r\n const middle = even\r\n ? totalVisible.value / 2\r\n : Math.floor(totalVisible.value / 2);\r\n const left = even ? middle : middle + 1;\r\n const right = length.value - middle;\r\n\r\n if (left - page.value >= 0) {\r\n return [\r\n ...getRangeArr(Math.max(1, totalVisible.value - 1), start.value),\r\n 'ellipsis',\r\n length.value,\r\n ];\r\n } else if (page.value - right >= (even ? 1 : 0)) {\r\n const rangeLength = totalVisible.value - 1;\r\n const rangeStart = length.value - rangeLength + start.value;\r\n return [\r\n start.value,\r\n 'ellipsis',\r\n ...getRangeArr(rangeLength, rangeStart),\r\n ];\r\n } else {\r\n const rangeLength = Math.max(1, totalVisible.value - 3);\r\n const rangeStart =\r\n rangeLength === 1\r\n ? page.value\r\n : page.value - Math.ceil(rangeLength / 2) + start.value;\r\n return [\r\n start.value,\r\n 'ellipsis',\r\n ...getRangeArr(rangeLength, rangeStart),\r\n 'ellipsis',\r\n length.value,\r\n ];\r\n }\r\n });\r\n\r\n const { refs, updateRef } = useRefs<ComponentPublicInstance>();\r\n\r\n function changePage(event: Event, to = 1) {\r\n event.preventDefault();\r\n page.value = to;\r\n emit('change', to);\r\n }\r\n\r\n const items = computed(() => {\r\n return range.value.map((item, index) => {\r\n const ref = (e: any) => updateRef(e, index);\r\n\r\n if (item === 'ellipsis') {\r\n return {\r\n active: false,\r\n key: `ellipsis-${index}`,\r\n page: item,\r\n props: {\r\n ref,\r\n ellipsis: true,\r\n disabled: true, // TODO: skipper\r\n },\r\n };\r\n } else {\r\n const active = item === page.value;\r\n return {\r\n active,\r\n key: `item-${item}`,\r\n page: item,\r\n props: {\r\n ref,\r\n ellipsis: false,\r\n disabled: !!props.disabled || +props.length < 2,\r\n color: active ? props.activeColor : props.color,\r\n variation: props.buttonVariation,\r\n onClick: (e: MouseEvent) => changePage(e, item),\r\n },\r\n };\r\n }\r\n });\r\n });\r\n\r\n const styles = computed(() => {\r\n let gap = undefined;\r\n if (props.gap) {\r\n const value = +props.gap;\r\n if (!isNaN(value)) {\r\n gap = toStyleSizeValue(value);\r\n } else if (typeof props.gap === 'string') {\r\n gap = props.gap;\r\n }\r\n }\r\n return {\r\n '--y-pagination__gap': gap,\r\n };\r\n });\r\n\r\n useRender(() => {\r\n return (\r\n <div\r\n class={[\r\n 'y-pagination',\r\n { [`y-pagination--align-${props.align}`]: props.align !== 'start' },\r\n ]}\r\n role={'navigation'}\r\n style={styles.value}\r\n ref={resizeObservedRef}\r\n >\r\n <ul class={['y-pagination__list']}>\r\n {props.showEndButton && (\r\n <li key=\"first\" class=\"y-pagination__first\">\r\n {slots.first ? (\r\n slots.first(controls.value.first)\r\n ) : (\r\n <YButton {...controls.value.first}>\r\n {slots['first-icon'] ? (\r\n slots['first-icon']()\r\n ) : (\r\n <YIconPageControl type={'first'}></YIconPageControl>\r\n )}\r\n </YButton>\r\n )}\r\n </li>\r\n )}\r\n <li key=\"prev\" class=\"y-pagination__prev\">\r\n {slots.prev ? (\r\n slots.prev(controls.value.prev)\r\n ) : (\r\n <YButton {...controls.value.prev}>\r\n {slots['prev-icon'] ? (\r\n slots['prev-icon']()\r\n ) : (\r\n <YIconPageControl type={'prev'}></YIconPageControl>\r\n )}\r\n </YButton>\r\n )}\r\n </li>\r\n {items.value.map((item, index) => {\r\n return (\r\n <li\r\n key={item.key}\r\n class={[\r\n 'y-pagination__item',\r\n { 'y-pagination__item--active': item.active },\r\n ]}\r\n >\r\n <YButton {...item.props}>\r\n {item.props.ellipsis\r\n ? slots.ellipsis\r\n ? slots.ellipsis()\r\n : '...'\r\n : item.page}\r\n </YButton>\r\n </li>\r\n );\r\n })}\r\n <li key=\"next\" class=\"y-pagination__next\">\r\n {slots.next ? (\r\n slots.next(controls.value.next)\r\n ) : (\r\n <YButton {...controls.value.next}>\r\n {slots['next-icon'] ? (\r\n slots['next-icon']()\r\n ) : (\r\n <YIconPageControl type={'next'}></YIconPageControl>\r\n )}\r\n </YButton>\r\n )}\r\n </li>\r\n {props.showEndButton && (\r\n <li key=\"last\" class=\"y-pagination__last\">\r\n {slots.last ? (\r\n slots.last(controls.value.last)\r\n ) : (\r\n <YButton {...controls.value.last}>\r\n {slots['last-icon'] ? (\r\n slots['last-icon']()\r\n ) : (\r\n <YIconPageControl type={'last'}></YIconPageControl>\r\n )}\r\n </YButton>\r\n )}\r\n </li>\r\n )}\r\n </ul>\r\n </div>\r\n );\r\n });\r\n\r\n return {\r\n itemCount,\r\n page,\r\n refs,\r\n };\r\n },\r\n});\r\n\r\nexport type YPagination = InstanceType<typeof YPagination>;\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"YPagination.mjs","names":["computed","shallowRef","useModelDuplex","useRender","useRefs","useResizeObserver","getRangeArr","defineComponent","propsFactory","toStyleSizeValue","YButton","YIconPageControl","pressYPaginationProps","start","type","Number","String","default","modelValue","props","disabled","Boolean","length","validator","val","totalVisible","maxVisible","showEndButton","gap","color","activeColor","buttonVariation","align","YPagination","name","components","emits","value","change","control","setup","_ref","slots","emit","page","parseInt","itemCount","resizeObservedRef","entries","target","contentRect","firstItem","querySelector","listWidth","width","itemWidth","offsetWidth","parseFloat","getComputedStyle","marginRight","calcItemCount","fixedCount","fixedWidth","count","Math","max","floor","toFixed","isNaN","min","total","innerWidth","controls","prevDisabled","nextDisabled","first","variation","onClick","e","preventDefault","prev","to","next","last","range","MAX_SAFE_INTEGER","even","middle","left","right","rangeLength","rangeStart","ceil","refs","updateRef","changePage","event","arguments","undefined","items","map","item","index","ref","active","key","ellipsis","styles","_createVNode"],"sources":["../../../src/components/pagination/YPagination.tsx"],"sourcesContent":["import {\n type ComponentPublicInstance,\n type PropType,\n computed,\n shallowRef,\n} from 'vue';\n\nimport { useModelDuplex } from '@/composables/communication';\nimport { useRender } from '@/composables/component';\nimport { useRefs } from '@/composables/ref';\nimport { useResizeObserver } from '@/composables/resize-observer';\nimport { getRangeArr } from '@/util/common';\nimport { defineComponent, propsFactory } from '@/util/component';\nimport { toStyleSizeValue } from '@/util/ui';\n\nimport { YButton } from '../button';\nimport { YIconPageControl } from '../icons/YIconPageControl';\n\nimport './YPagination.scss';\n\nexport const pressYPaginationProps = propsFactory(\n {\n start: {\n type: [Number, String],\n default: 1,\n },\n modelValue: {\n type: Number,\n default: (props: any) => props.start as number,\n },\n disabled: Boolean,\n length: {\n type: [Number, String],\n default: 1,\n validator: (val: number) => val % 1 === 0,\n },\n totalVisible: [Number, String],\n maxVisible: [Number, String],\n showEndButton: Boolean,\n gap: {\n type: [String, Number],\n default: 4,\n },\n color: String,\n activeColor: String,\n buttonVariation: [String],\n align: {\n type: String as PropType<'start' | 'center' | 'end'>,\n default: 'center',\n },\n // firstIcon: [String],\n // lastIcon: [String],\n // prevIcon: [String],\n // nextIcon: [String],\n },\n 'YPagination',\n);\n\nexport const YPagination = defineComponent({\n name: 'YPagination',\n components: {\n YButton,\n },\n props: {\n ...pressYPaginationProps(),\n },\n emits: {\n 'update:modelValue': (value: number) => true,\n change: (value: number, control?: string) => true,\n },\n setup(props, { slots, emit }) {\n const page = useModelDuplex(props);\n\n const length = computed(() => parseInt(props.length as string, 10));\n const start = computed(() => parseInt(props.start as string, 10));\n\n const itemCount = shallowRef(-1);\n\n const { resizeObservedRef } = useResizeObserver((entries) => {\n if (1 > entries.length) return;\n const { target, contentRect } = entries[0];\n\n const firstItem = target.querySelector(\n '.y-pagination__list > *',\n ) as HTMLElement;\n if (firstItem) {\n const listWidth = contentRect.width;\n const itemWidth =\n firstItem.offsetWidth +\n parseFloat(getComputedStyle(firstItem).marginRight) * 2;\n itemCount.value = calcItemCount(listWidth, itemWidth);\n }\n });\n\n function calcItemCount(listWidth: number, itemWidth: number) {\n const fixedCount = props.showEndButton ? 5 : 3;\n const gap = +(props.gap ?? 4);\n const fixedWidth = (itemWidth + gap) * fixedCount - gap;\n const count = Math.max(\n 0,\n Math.floor(+((listWidth - fixedWidth) / (itemWidth + gap)).toFixed(2)),\n );\n const maxVisible = Number(props.maxVisible);\n if (!isNaN(maxVisible)) {\n return Math.min(maxVisible, count);\n }\n return count;\n }\n\n const totalVisible = computed(() => {\n const maxVisible = Number(props.maxVisible);\n if (props.totalVisible) {\n const total = parseInt(props.totalVisible as string, 10);\n if (!isNaN(maxVisible)) {\n return Math.min(total, maxVisible);\n }\n return total;\n } else if (itemCount.value >= 0) return itemCount.value;\n return calcItemCount(innerWidth, 58);\n });\n\n const controls = computed(() => {\n const prevDisabled = !!props.disabled || page.value <= start.value;\n const nextDisabled =\n !!props.disabled || page.value >= start.value + length.value - 1;\n return {\n first: {\n disabled: prevDisabled,\n variation: props.buttonVariation,\n onClick: (e: MouseEvent) => {\n e.preventDefault();\n page.value = 1;\n emit('change', 1, 'first');\n },\n },\n prev: {\n disabled: prevDisabled,\n variation: props.buttonVariation,\n onClick: (e: MouseEvent) => {\n e.preventDefault();\n const to = Math.max(1, page.value - 1);\n page.value = to;\n emit('change', to, 'prev');\n },\n },\n next: {\n disabled: nextDisabled,\n variation: props.buttonVariation,\n onClick: (e: MouseEvent) => {\n e.preventDefault();\n const to = Math.min(+length.value, page.value + 1);\n page.value = to;\n emit('change', to, 'next');\n },\n },\n last: {\n disabled: nextDisabled,\n variation: props.buttonVariation,\n onClick: (e: MouseEvent) => {\n e.preventDefault();\n const to = +length.value;\n page.value = +length.value;\n emit('change', to, 'last');\n },\n },\n };\n });\n\n const range = computed(() => {\n if (\n length.value <= 0 ||\n isNaN(length.value) ||\n length.value > Number.MAX_SAFE_INTEGER\n ) {\n return [];\n }\n if (totalVisible.value <= 1) {\n return [page.value];\n }\n if (length.value <= totalVisible.value) {\n return getRangeArr(length.value, start.value);\n }\n const even = totalVisible.value % 2 === 0;\n const middle = even\n ? totalVisible.value / 2\n : Math.floor(totalVisible.value / 2);\n const left = even ? middle : middle + 1;\n const right = length.value - middle;\n\n if (left - page.value >= 0) {\n return [\n ...getRangeArr(Math.max(1, totalVisible.value - 1), start.value),\n 'ellipsis',\n length.value,\n ];\n } else if (page.value - right >= (even ? 1 : 0)) {\n const rangeLength = totalVisible.value - 1;\n const rangeStart = length.value - rangeLength + start.value;\n return [\n start.value,\n 'ellipsis',\n ...getRangeArr(rangeLength, rangeStart),\n ];\n } else {\n const rangeLength = Math.max(1, totalVisible.value - 3);\n const rangeStart =\n rangeLength === 1\n ? page.value\n : page.value - Math.ceil(rangeLength / 2) + start.value;\n return [\n start.value,\n 'ellipsis',\n ...getRangeArr(rangeLength, rangeStart),\n 'ellipsis',\n length.value,\n ];\n }\n });\n\n const { refs, updateRef } = useRefs<ComponentPublicInstance>();\n\n function changePage(event: Event, to = 1) {\n event.preventDefault();\n page.value = to;\n emit('change', to);\n }\n\n const items = computed(() => {\n return range.value.map((item, index) => {\n const ref = (e: any) => updateRef(e, index);\n\n if (item === 'ellipsis') {\n return {\n active: false,\n key: `ellipsis-${index}`,\n page: item,\n props: {\n ref,\n ellipsis: true,\n disabled: true, // TODO: skipper\n },\n };\n } else {\n const active = item === page.value;\n return {\n active,\n key: `item-${item}`,\n page: item,\n props: {\n ref,\n ellipsis: false,\n disabled: !!props.disabled || +props.length < 2,\n color: active ? props.activeColor : props.color,\n variation: props.buttonVariation,\n onClick: (e: MouseEvent) => changePage(e, item),\n },\n };\n }\n });\n });\n\n const styles = computed(() => {\n let gap = undefined;\n if (props.gap) {\n const value = +props.gap;\n if (!isNaN(value)) {\n gap = toStyleSizeValue(value);\n } else if (typeof props.gap === 'string') {\n gap = props.gap;\n }\n }\n return {\n '--y-pagination__gap': gap,\n };\n });\n\n useRender(() => {\n return (\n <div\n class={[\n 'y-pagination',\n { [`y-pagination--align-${props.align}`]: props.align !== 'start' },\n ]}\n role={'navigation'}\n style={styles.value}\n ref={resizeObservedRef}\n >\n <ul class={['y-pagination__list']}>\n {props.showEndButton && (\n <li key=\"first\" class=\"y-pagination__first\">\n {slots.first ? (\n slots.first(controls.value.first)\n ) : (\n <YButton {...controls.value.first}>\n {slots['first-icon'] ? (\n slots['first-icon']()\n ) : (\n <YIconPageControl type={'first'}></YIconPageControl>\n )}\n </YButton>\n )}\n </li>\n )}\n <li key=\"prev\" class=\"y-pagination__prev\">\n {slots.prev ? (\n slots.prev(controls.value.prev)\n ) : (\n <YButton {...controls.value.prev}>\n {slots['prev-icon'] ? (\n slots['prev-icon']()\n ) : (\n <YIconPageControl type={'prev'}></YIconPageControl>\n )}\n </YButton>\n )}\n </li>\n {items.value.map((item, index) => {\n return (\n <li\n key={item.key}\n class={[\n 'y-pagination__item',\n { 'y-pagination__item--active': item.active },\n ]}\n >\n <YButton {...item.props}>\n {item.props.ellipsis\n ? slots.ellipsis\n ? slots.ellipsis()\n : '...'\n : item.page}\n </YButton>\n </li>\n );\n })}\n <li key=\"next\" class=\"y-pagination__next\">\n {slots.next ? (\n slots.next(controls.value.next)\n ) : (\n <YButton {...controls.value.next}>\n {slots['next-icon'] ? (\n slots['next-icon']()\n ) : (\n <YIconPageControl type={'next'}></YIconPageControl>\n )}\n </YButton>\n )}\n </li>\n {props.showEndButton && (\n <li key=\"last\" class=\"y-pagination__last\">\n {slots.last ? (\n slots.last(controls.value.last)\n ) : (\n <YButton {...controls.value.last}>\n {slots['last-icon'] ? (\n slots['last-icon']()\n ) : (\n <YIconPageControl type={'last'}></YIconPageControl>\n )}\n </YButton>\n )}\n </li>\n )}\n </ul>\n </div>\n );\n });\n\n return {\n itemCount,\n page,\n refs,\n };\n },\n});\n\nexport type YPagination = InstanceType<typeof YPagination>;\n"],"mappings":"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"}
@@ -1,51 +1,52 @@
1
- .y-pagination {
2
-
3
- &__list {
4
- display: inline-flex;
5
- width: 100%;
6
- gap: var(--y-pagination__gap);
7
- }
8
-
9
- &--align-end &__list {
10
- justify-content: flex-end;
11
- }
12
-
13
- &--align-center &__list {
14
- justify-content: center;
15
- }
16
-
17
- li {
18
- list-style: none;
19
-
20
- .y-button {
21
- min-width: 2.429em;
22
- min-height: 0;
23
- padding: 4px;
24
-
25
- &__content {
26
- padding: 2px;
27
- }
28
-
29
- svg {
30
- width: 1.25rem;
31
- height: 1.25rem;
32
- }
33
- }
34
-
35
- .y-button.y-button--disabled {
36
- background: rgba(0, 0, 0, 0.02);
37
- }
38
- }
39
-
40
- &__item {
41
- &--active {
42
- .y-button:before {
43
- opacity: 0.1;
44
- }
45
- }
46
- }
47
-
48
- &__first, &__last, &__prev, &__next {
49
-
50
- }
51
- }
1
+ .y-pagination {
2
+ &__list {
3
+ display: inline-flex;
4
+ width: 100%;
5
+ gap: var(--y-pagination__gap);
6
+ }
7
+
8
+ &--align-end &__list {
9
+ justify-content: flex-end;
10
+ }
11
+
12
+ &--align-center &__list {
13
+ justify-content: center;
14
+ }
15
+
16
+ li {
17
+ list-style: none;
18
+
19
+ .y-button {
20
+ min-width: 2.429em;
21
+ min-height: 0;
22
+ padding: 4px;
23
+
24
+ &__content {
25
+ padding: 2px;
26
+ }
27
+
28
+ svg {
29
+ width: 1.25rem;
30
+ height: 1.25rem;
31
+ }
32
+ }
33
+
34
+ .y-button.y-button--disabled {
35
+ background: rgba(0, 0, 0, 0.02);
36
+ }
37
+ }
38
+
39
+ &__item {
40
+ &--active {
41
+ .y-button:before {
42
+ opacity: 0.1;
43
+ }
44
+ }
45
+ }
46
+
47
+ &__first,
48
+ &__last,
49
+ &__prev,
50
+ &__next {
51
+ }
52
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/components/pagination/index.ts"],"sourcesContent":["export * from './YPagination';\r\n"],"mappings":""}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/components/pagination/index.ts"],"sourcesContent":["export * from './YPagination';\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"YDividePanel.mjs","names":["computed","defineComponent","ref","watch","useRender","YDividePanel","name","setup","props","_ref","slots","contentRate","isResizing","secondarySlot","activeSecondary","rootRef","neo","value","topStyles","inset","position","classes","moveListener","event","mouseEvent","containerRect","getBoundingClientRect","requestAnimationFrame","Math","min","max","clientY","y","height","cancelEvent","removeEventListener","upListener","leaveListener","onMousedown","preventDefault","addEventListener","_createVNode","_Fragment","default","secondary"],"sources":["../../../src/components/panel/YDividePanel.tsx"],"sourcesContent":["import {\n CSSProperties,\n computed,\n defineComponent,\n ref,\n toRef,\n watch,\n} from 'vue';\n\nimport { useRender } from '../../composables/component';\n\nimport './YDividePanel.scss';\n\nexport const YDividePanel = defineComponent({\n name: 'YDividePanel',\n setup(props, { slots }) {\n const contentRate = ref(50);\n const isResizing = ref(false);\n const secondarySlot = ref();\n const activeSecondary = ref(false);\n const rootRef = ref();\n\n watch(secondarySlot, (neo) => {\n activeSecondary.value = !!neo;\n });\n\n const topStyles = computed<CSSProperties>(() => {\n let inset = '0 0';\n if (activeSecondary.value) {\n inset = `0 0 ${100 - contentRate.value}% 0`;\n }\n return {\n position: 'absolute',\n inset,\n };\n });\n\n const classes = computed(() => {\n return {\n 'y-divide-panel': true,\n 'y-divide-panel--resizing': isResizing.value,\n };\n });\n\n function moveListener(event: Event) {\n const mouseEvent = event as MouseEvent;\n const containerRect = rootRef.value.getBoundingClientRect();\n requestAnimationFrame(() => {\n contentRate.value = Math.min(\n Math.max(\n 10,\n ((mouseEvent.clientY - containerRect.y) / containerRect.height) *\n 100,\n ),\n 90,\n );\n });\n }\n\n function cancelEvent() {\n isResizing.value = false;\n rootRef.value.removeEventListener('mousemove', moveListener);\n rootRef.value.removeEventListener('mouseup', upListener);\n rootRef.value.removeEventListener('mouseleave', leaveListener);\n }\n\n function upListener(event: Event) {\n cancelEvent();\n }\n\n function leaveListener(event: Event) {\n cancelEvent();\n }\n\n function onMousedown(event: MouseEvent) {\n event.preventDefault();\n isResizing.value = true;\n rootRef.value.addEventListener('mousemove', moveListener);\n rootRef.value.addEventListener('mouseup', upListener);\n rootRef.value.addEventListener('mouseleave', leaveListener);\n }\n\n useRender(() => {\n return (\n <>\n <div class={classes.value} ref={rootRef}>\n <div\n class={'y-divide-panel__top-container'}\n style={topStyles.value}\n >\n {slots.default?.()}\n </div>\n {\n (secondarySlot.value = slots.secondary && (\n <>\n <div\n class=\"y-divide-panel__divider\"\n style={{\n position: 'absolute',\n inset: `${contentRate.value}% 0 0 0`,\n }}\n onMousedown={onMousedown}\n >\n <div class=\"y-divide-panel__divider-line\"></div>\n </div>\n <div\n class={'y-divide-panel__secondary-container'}\n style={{\n position: 'absolute',\n inset: `${contentRate.value}% 0 0 0`,\n }}\n >\n {slots.secondary?.()}\n </div>\n </>\n ))\n }\n </div>\n </>\n );\n });\n\n return {\n activeSecondary,\n };\n },\n});\n\nexport type YDividePanel = InstanceType<typeof YDividePanel>;\n"],"mappings":";AAAA,SAEEA,QAAQ,EACRC,eAAe,EACfC,GAAG,EAEHC,KAAK,QACA,KAAK;AAAC,SAEJC,SAAS;AAElB;AAEA,OAAO,MAAMC,YAAY,GAAGJ,eAAe,CAAC;EAC1CK,IAAI,EAAE,cAAc;EACpBC,KAAKA,CAACC,KAAK,EAAAC,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACpB,MAAME,WAAW,GAAGT,GAAG,CAAC,EAAE,CAAC;IAC3B,MAAMU,UAAU,GAAGV,GAAG,CAAC,KAAK,CAAC;IAC7B,MAAMW,aAAa,GAAGX,GAAG,CAAC,CAAC;IAC3B,MAAMY,eAAe,GAAGZ,GAAG,CAAC,KAAK,CAAC;IAClC,MAAMa,OAAO,GAAGb,GAAG,CAAC,CAAC;IAErBC,KAAK,CAACU,aAAa,EAAGG,GAAG,IAAK;MAC5BF,eAAe,CAACG,KAAK,GAAG,CAAC,CAACD,GAAG;IAC/B,CAAC,CAAC;IAEF,MAAME,SAAS,GAAGlB,QAAQ,CAAgB,MAAM;MAC9C,IAAImB,KAAK,GAAG,KAAK;MACjB,IAAIL,eAAe,CAACG,KAAK,EAAE;QACzBE,KAAK,GAAI,OAAM,GAAG,GAAGR,WAAW,CAACM,KAAM,KAAI;MAC7C;MACA,OAAO;QACLG,QAAQ,EAAE,UAAU;QACpBD;MACF,CAAC;IACH,CAAC,CAAC;IAEF,MAAME,OAAO,GAAGrB,QAAQ,CAAC,MAAM;MAC7B,OAAO;QACL,gBAAgB,EAAE,IAAI;QACtB,0BAA0B,EAAEY,UAAU,CAACK;MACzC,CAAC;IACH,CAAC,CAAC;IAEF,SAASK,YAAYA,CAACC,KAAY,EAAE;MAClC,MAAMC,UAAU,GAAGD,KAAmB;MACtC,MAAME,aAAa,GAAGV,OAAO,CAACE,KAAK,CAACS,qBAAqB,CAAC,CAAC;MAC3DC,qBAAqB,CAAC,MAAM;QAC1BhB,WAAW,CAACM,KAAK,GAAGW,IAAI,CAACC,GAAG,CAC1BD,IAAI,CAACE,GAAG,CACN,EAAE,EACD,CAACN,UAAU,CAACO,OAAO,GAAGN,aAAa,CAACO,CAAC,IAAIP,aAAa,CAACQ,MAAM,GAC5D,GACJ,CAAC,EACD,EACF,CAAC;MACH,CAAC,CAAC;IACJ;IAEA,SAASC,WAAWA,CAAA,EAAG;MACrBtB,UAAU,CAACK,KAAK,GAAG,KAAK;MACxBF,OAAO,CAACE,KAAK,CAACkB,mBAAmB,CAAC,WAAW,EAAEb,YAAY,CAAC;MAC5DP,OAAO,CAACE,KAAK,CAACkB,mBAAmB,CAAC,SAAS,EAAEC,UAAU,CAAC;MACxDrB,OAAO,CAACE,KAAK,CAACkB,mBAAmB,CAAC,YAAY,EAAEE,aAAa,CAAC;IAChE;IAEA,SAASD,UAAUA,CAACb,KAAY,EAAE;MAChCW,WAAW,CAAC,CAAC;IACf;IAEA,SAASG,aAAaA,CAACd,KAAY,EAAE;MACnCW,WAAW,CAAC,CAAC;IACf;IAEA,SAASI,WAAWA,CAACf,KAAiB,EAAE;MACtCA,KAAK,CAACgB,cAAc,CAAC,CAAC;MACtB3B,UAAU,CAACK,KAAK,GAAG,IAAI;MACvBF,OAAO,CAACE,KAAK,CAACuB,gBAAgB,CAAC,WAAW,EAAElB,YAAY,CAAC;MACzDP,OAAO,CAACE,KAAK,CAACuB,gBAAgB,CAAC,SAAS,EAAEJ,UAAU,CAAC;MACrDrB,OAAO,CAACE,KAAK,CAACuB,gBAAgB,CAAC,YAAY,EAAEH,aAAa,CAAC;IAC7D;IAEAjC,SAAS,CAAC,MAAM;MACd,OAAAqC,YAAA,CAAAC,SAAA,SAAAD,YAAA;QAAA,SAEgBpB,OAAO,CAACJ,KAAK;QAAA,OAAOF;MAAO,IAAA0B,YAAA;QAAA,SAE5B,+BAA+B;QAAA,SAC/BvB,SAAS,CAACD;MAAK,IAErBP,KAAK,CAACiC,OAAO,GAAG,CAAC,IAGjB9B,aAAa,CAACI,KAAK,GAAGP,KAAK,CAACkC,SAAS,IAAAH,YAAA,CAAAC,SAAA,SAAAD,YAAA;QAAA;QAAA,SAIzB;UACLrB,QAAQ,EAAE,UAAU;UACpBD,KAAK,EAAG,GAAER,WAAW,CAACM,KAAM;QAC9B,CAAC;QAAA,eACYqB;MAAW,IAAAG,YAAA;QAAA;MAAA,YAAAA,YAAA;QAAA,SAKjB,qCAAqC;QAAA,SACrC;UACLrB,QAAQ,EAAE,UAAU;UACpBD,KAAK,EAAG,GAAER,WAAW,CAACM,KAAM;QAC9B;MAAC,IAEAP,KAAK,CAACkC,SAAS,GAAG,CAAC,IAGzB;IAKX,CAAC,CAAC;IAEF,OAAO;MACL9B;IACF,CAAC;EACH;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"YDividePanel.mjs","names":["computed","defineComponent","ref","watch","useRender","YDividePanel","name","setup","props","_ref","slots","contentRate","isResizing","secondarySlot","activeSecondary","rootRef","neo","value","topStyles","inset","position","classes","moveListener","event","mouseEvent","containerRect","getBoundingClientRect","requestAnimationFrame","Math","min","max","clientY","y","height","cancelEvent","removeEventListener","upListener","leaveListener","onMousedown","preventDefault","addEventListener","_createVNode","_Fragment","default","secondary"],"sources":["../../../src/components/panel/YDividePanel.tsx"],"sourcesContent":["import { type CSSProperties, computed, defineComponent, ref, watch } from 'vue';\n\nimport { useRender } from '@/composables/component';\n\nimport './YDividePanel.scss';\n\nexport const YDividePanel = defineComponent({\n name: 'YDividePanel',\n setup(props, { slots }) {\n const contentRate = ref(50);\n const isResizing = ref(false);\n const secondarySlot = ref();\n const activeSecondary = ref(false);\n const rootRef = ref();\n\n watch(secondarySlot, (neo) => {\n activeSecondary.value = !!neo;\n });\n\n const topStyles = computed<CSSProperties>(() => {\n let inset = '0 0';\n if (activeSecondary.value) {\n inset = `0 0 ${100 - contentRate.value}% 0`;\n }\n return {\n position: 'absolute',\n inset,\n };\n });\n\n const classes = computed(() => {\n return {\n 'y-divide-panel': true,\n 'y-divide-panel--resizing': isResizing.value,\n };\n });\n\n function moveListener(event: Event) {\n const mouseEvent = event as MouseEvent;\n const containerRect = rootRef.value.getBoundingClientRect();\n requestAnimationFrame(() => {\n contentRate.value = Math.min(\n Math.max(\n 10,\n ((mouseEvent.clientY - containerRect.y) / containerRect.height) *\n 100,\n ),\n 90,\n );\n });\n }\n\n function cancelEvent() {\n isResizing.value = false;\n rootRef.value.removeEventListener('mousemove', moveListener);\n rootRef.value.removeEventListener('mouseup', upListener);\n rootRef.value.removeEventListener('mouseleave', leaveListener);\n }\n\n function upListener(event: Event) {\n cancelEvent();\n }\n\n function leaveListener(event: Event) {\n cancelEvent();\n }\n\n function onMousedown(event: MouseEvent) {\n event.preventDefault();\n isResizing.value = true;\n rootRef.value.addEventListener('mousemove', moveListener);\n rootRef.value.addEventListener('mouseup', upListener);\n rootRef.value.addEventListener('mouseleave', leaveListener);\n }\n\n useRender(() => {\n return (\n <>\n <div class={classes.value} ref={rootRef}>\n <div\n class={'y-divide-panel__top-container'}\n style={topStyles.value}\n >\n {slots.default?.()}\n </div>\n {\n (secondarySlot.value = slots.secondary && (\n <>\n <div\n class=\"y-divide-panel__divider\"\n style={{\n position: 'absolute',\n inset: `${contentRate.value}% 0 0 0`,\n }}\n onMousedown={onMousedown}\n >\n <div class=\"y-divide-panel__divider-line\"></div>\n </div>\n <div\n class={'y-divide-panel__secondary-container'}\n style={{\n position: 'absolute',\n inset: `${contentRate.value}% 0 0 0`,\n }}\n >\n {slots.secondary?.()}\n </div>\n </>\n ))\n }\n </div>\n </>\n );\n });\n\n return {\n activeSecondary,\n };\n },\n});\n\nexport type YDividePanel = InstanceType<typeof YDividePanel>;\n"],"mappings":";AAAA,SAA6BA,QAAQ,EAAEC,eAAe,EAAEC,GAAG,EAAEC,KAAK,QAAQ,KAAK;AAAC,SAEvEC,SAAS;AAElB;AAEA,OAAO,MAAMC,YAAY,GAAGJ,eAAe,CAAC;EAC1CK,IAAI,EAAE,cAAc;EACpBC,KAAKA,CAACC,KAAK,EAAAC,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACpB,MAAME,WAAW,GAAGT,GAAG,CAAC,EAAE,CAAC;IAC3B,MAAMU,UAAU,GAAGV,GAAG,CAAC,KAAK,CAAC;IAC7B,MAAMW,aAAa,GAAGX,GAAG,CAAC,CAAC;IAC3B,MAAMY,eAAe,GAAGZ,GAAG,CAAC,KAAK,CAAC;IAClC,MAAMa,OAAO,GAAGb,GAAG,CAAC,CAAC;IAErBC,KAAK,CAACU,aAAa,EAAGG,GAAG,IAAK;MAC5BF,eAAe,CAACG,KAAK,GAAG,CAAC,CAACD,GAAG;IAC/B,CAAC,CAAC;IAEF,MAAME,SAAS,GAAGlB,QAAQ,CAAgB,MAAM;MAC9C,IAAImB,KAAK,GAAG,KAAK;MACjB,IAAIL,eAAe,CAACG,KAAK,EAAE;QACzBE,KAAK,GAAI,OAAM,GAAG,GAAGR,WAAW,CAACM,KAAM,KAAI;MAC7C;MACA,OAAO;QACLG,QAAQ,EAAE,UAAU;QACpBD;MACF,CAAC;IACH,CAAC,CAAC;IAEF,MAAME,OAAO,GAAGrB,QAAQ,CAAC,MAAM;MAC7B,OAAO;QACL,gBAAgB,EAAE,IAAI;QACtB,0BAA0B,EAAEY,UAAU,CAACK;MACzC,CAAC;IACH,CAAC,CAAC;IAEF,SAASK,YAAYA,CAACC,KAAY,EAAE;MAClC,MAAMC,UAAU,GAAGD,KAAmB;MACtC,MAAME,aAAa,GAAGV,OAAO,CAACE,KAAK,CAACS,qBAAqB,CAAC,CAAC;MAC3DC,qBAAqB,CAAC,MAAM;QAC1BhB,WAAW,CAACM,KAAK,GAAGW,IAAI,CAACC,GAAG,CAC1BD,IAAI,CAACE,GAAG,CACN,EAAE,EACD,CAACN,UAAU,CAACO,OAAO,GAAGN,aAAa,CAACO,CAAC,IAAIP,aAAa,CAACQ,MAAM,GAC5D,GACJ,CAAC,EACD,EACF,CAAC;MACH,CAAC,CAAC;IACJ;IAEA,SAASC,WAAWA,CAAA,EAAG;MACrBtB,UAAU,CAACK,KAAK,GAAG,KAAK;MACxBF,OAAO,CAACE,KAAK,CAACkB,mBAAmB,CAAC,WAAW,EAAEb,YAAY,CAAC;MAC5DP,OAAO,CAACE,KAAK,CAACkB,mBAAmB,CAAC,SAAS,EAAEC,UAAU,CAAC;MACxDrB,OAAO,CAACE,KAAK,CAACkB,mBAAmB,CAAC,YAAY,EAAEE,aAAa,CAAC;IAChE;IAEA,SAASD,UAAUA,CAACb,KAAY,EAAE;MAChCW,WAAW,CAAC,CAAC;IACf;IAEA,SAASG,aAAaA,CAACd,KAAY,EAAE;MACnCW,WAAW,CAAC,CAAC;IACf;IAEA,SAASI,WAAWA,CAACf,KAAiB,EAAE;MACtCA,KAAK,CAACgB,cAAc,CAAC,CAAC;MACtB3B,UAAU,CAACK,KAAK,GAAG,IAAI;MACvBF,OAAO,CAACE,KAAK,CAACuB,gBAAgB,CAAC,WAAW,EAAElB,YAAY,CAAC;MACzDP,OAAO,CAACE,KAAK,CAACuB,gBAAgB,CAAC,SAAS,EAAEJ,UAAU,CAAC;MACrDrB,OAAO,CAACE,KAAK,CAACuB,gBAAgB,CAAC,YAAY,EAAEH,aAAa,CAAC;IAC7D;IAEAjC,SAAS,CAAC,MAAM;MACd,OAAAqC,YAAA,CAAAC,SAAA,SAAAD,YAAA;QAAA,SAEgBpB,OAAO,CAACJ,KAAK;QAAA,OAAOF;MAAO,IAAA0B,YAAA;QAAA,SAE5B,+BAA+B;QAAA,SAC/BvB,SAAS,CAACD;MAAK,IAErBP,KAAK,CAACiC,OAAO,GAAG,CAAC,IAGjB9B,aAAa,CAACI,KAAK,GAAGP,KAAK,CAACkC,SAAS,IAAAH,YAAA,CAAAC,SAAA,SAAAD,YAAA;QAAA;QAAA,SAIzB;UACLrB,QAAQ,EAAE,UAAU;UACpBD,KAAK,EAAG,GAAER,WAAW,CAACM,KAAM;QAC9B,CAAC;QAAA,eACYqB;MAAW,IAAAG,YAAA;QAAA;MAAA,YAAAA,YAAA;QAAA,SAKjB,qCAAqC;QAAA,SACrC;UACLrB,QAAQ,EAAE,UAAU;UACpBD,KAAK,EAAG,GAAER,WAAW,CAACM,KAAM;QAC9B;MAAC,IAEAP,KAAK,CAACkC,SAAS,GAAG,CAAC,IAGzB;IAKX,CAAC,CAAC;IAEF,OAAO;MACL9B;IACF,CAAC;EACH;AACF,CAAC,CAAC"}