yuyeon 0.3.1-rc.6 → 0.3.2-rc.1

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 (951) hide show
  1. package/dist/yuyeon.js +459 -458
  2. package/dist/yuyeon.umd.cjs +2 -2
  3. package/lib/abstract/items.js +20 -0
  4. package/lib/abstract/items.js.map +1 -0
  5. package/lib/components/alert/YAlert.js +83 -0
  6. package/lib/components/alert/YAlert.js.map +1 -0
  7. package/lib/components/alert/index.js +2 -0
  8. package/lib/components/alert/index.js.map +1 -0
  9. package/lib/components/app/YApp.js +21 -0
  10. package/lib/components/app/YApp.js.map +1 -0
  11. package/lib/components/app/index.js +2 -0
  12. package/lib/components/app/index.js.map +1 -0
  13. package/lib/components/badge/YBadge.js +83 -0
  14. package/lib/components/badge/YBadge.js.map +1 -0
  15. package/lib/components/badge/index.js +2 -0
  16. package/lib/components/badge/index.js.map +1 -0
  17. package/lib/components/bench/YBench.js +43 -0
  18. package/lib/components/bench/YBench.js.map +1 -0
  19. package/lib/components/bench/index.js +2 -0
  20. package/lib/components/bench/index.js.map +1 -0
  21. package/lib/components/button/YButton.js +169 -0
  22. package/lib/components/button/YButton.js.map +1 -0
  23. package/lib/components/button/index.js +2 -0
  24. package/lib/components/button/index.js.map +1 -0
  25. package/lib/components/card/YCard.js +28 -0
  26. package/lib/components/card/YCard.js.map +1 -0
  27. package/lib/components/card/YCardBody.js +11 -0
  28. package/lib/components/card/YCardBody.js.map +1 -0
  29. package/lib/components/card/YCardFooter.js +11 -0
  30. package/lib/components/card/YCardFooter.js.map +1 -0
  31. package/lib/components/card/YCardHeader.js +11 -0
  32. package/lib/components/card/YCardHeader.js.map +1 -0
  33. package/lib/components/card/index.js +5 -0
  34. package/lib/components/card/index.js.map +1 -0
  35. package/lib/components/checkbox/YCheckbox.js +160 -0
  36. package/lib/components/checkbox/YCheckbox.js.map +1 -0
  37. package/lib/components/checkbox/YInputCheckbox.js +114 -0
  38. package/lib/components/checkbox/YInputCheckbox.js.map +1 -0
  39. package/lib/components/checkbox/index.js +4 -0
  40. package/lib/components/checkbox/index.js.map +1 -0
  41. package/lib/components/chip/YChip.js +39 -0
  42. package/lib/components/chip/YChip.js.map +1 -0
  43. package/lib/components/chip/index.js +2 -0
  44. package/lib/components/chip/index.js.map +1 -0
  45. package/lib/components/date-picker/YDateCalendar.js +243 -0
  46. package/lib/components/date-picker/YDateCalendar.js.map +1 -0
  47. package/lib/components/date-picker/YDatePicker.js +132 -0
  48. package/lib/components/date-picker/YDatePicker.js.map +1 -0
  49. package/lib/components/date-picker/YDatePickerControl.js +107 -0
  50. package/lib/components/date-picker/YDatePickerControl.js.map +1 -0
  51. package/lib/components/date-picker/YMonthPicker.js +64 -0
  52. package/lib/components/date-picker/YMonthPicker.js.map +1 -0
  53. package/lib/components/date-picker/YYearPicker.js +87 -0
  54. package/lib/components/date-picker/YYearPicker.js.map +1 -0
  55. package/lib/components/date-picker/index.js +4 -0
  56. package/lib/components/date-picker/index.js.map +1 -0
  57. package/lib/components/default-provider/YDefaultProvider.js +2 -0
  58. package/lib/components/default-provider/YDefaultProvider.js.map +1 -0
  59. package/lib/components/default-provider/index.js +2 -0
  60. package/lib/components/default-provider/index.js.map +1 -0
  61. package/lib/components/dialog/YDialog.js +213 -0
  62. package/lib/components/dialog/YDialog.js.map +1 -0
  63. package/lib/components/dialog/index.js +2 -0
  64. package/lib/components/dialog/index.js.map +1 -0
  65. package/lib/components/divider/YDivider.js +20 -0
  66. package/lib/components/divider/YDivider.js.map +1 -0
  67. package/lib/components/divider/index.js +2 -0
  68. package/lib/components/divider/index.js.map +1 -0
  69. package/lib/components/draggable/YDraggable.js +95 -0
  70. package/lib/components/draggable/YDraggable.js.map +1 -0
  71. package/lib/components/dropdown/YDropdown.js +109 -0
  72. package/lib/components/dropdown/YDropdown.js.map +1 -0
  73. package/lib/components/dropdown/index.js +2 -0
  74. package/lib/components/dropdown/index.js.map +1 -0
  75. package/lib/components/field-input/YFieldInput.js +229 -0
  76. package/lib/components/field-input/YFieldInput.js.map +1 -0
  77. package/lib/components/field-input/index.js +2 -0
  78. package/lib/components/field-input/index.js.map +1 -0
  79. package/lib/components/form/YForm.js +65 -0
  80. package/lib/components/form/YForm.js.map +1 -0
  81. package/lib/components/form/index.js +2 -0
  82. package/lib/components/form/index.js.map +1 -0
  83. package/lib/components/hover/YHover.js +54 -0
  84. package/lib/components/hover/YHover.js.map +1 -0
  85. package/lib/components/hover/index.js +2 -0
  86. package/lib/components/hover/index.js.map +1 -0
  87. package/lib/components/icon/YIcon.js +63 -0
  88. package/lib/components/icon/YIcon.js.map +1 -0
  89. package/lib/components/icon/index.js +2 -0
  90. package/lib/components/icon/index.js.map +1 -0
  91. package/lib/components/icons/YIconCheckbox.js +32 -0
  92. package/lib/components/icons/YIconCheckbox.js.map +1 -0
  93. package/lib/components/icons/YIconClear.js +16 -0
  94. package/lib/components/icons/YIconClear.js.map +1 -0
  95. package/lib/components/icons/YIconDropdown.js +16 -0
  96. package/lib/components/icons/YIconDropdown.js.map +1 -0
  97. package/lib/components/icons/YIconExpand.js +20 -0
  98. package/lib/components/icons/YIconExpand.js.map +1 -0
  99. package/lib/components/icons/YIconPageControl.js +32 -0
  100. package/lib/components/icons/YIconPageControl.js.map +1 -0
  101. package/lib/components/icons/YIconSort.js +45 -0
  102. package/lib/components/icons/YIconSort.js.map +1 -0
  103. package/lib/components/icons/index.js +32 -0
  104. package/lib/components/icons/index.js.map +1 -0
  105. package/lib/components/img/YImg.js +173 -0
  106. package/lib/components/img/YImg.js.map +1 -0
  107. package/lib/components/img/index.js +2 -0
  108. package/lib/components/img/index.js.map +1 -0
  109. package/lib/components/index.js +39 -0
  110. package/lib/components/index.js.map +1 -0
  111. package/lib/components/input/YInput.js +258 -0
  112. package/lib/components/input/YInput.js.map +1 -0
  113. package/lib/components/input/index.js +2 -0
  114. package/lib/components/input/index.js.map +1 -0
  115. package/lib/components/ip-field/YIpv4Field.js +297 -0
  116. package/lib/components/ip-field/YIpv4Field.js.map +1 -0
  117. package/lib/components/ip-field/index.js +2 -0
  118. package/lib/components/ip-field/index.js.map +1 -0
  119. package/lib/components/layer/YLayer.js +326 -0
  120. package/lib/components/layer/YLayer.js.map +1 -0
  121. package/lib/components/layer/active-delay.js +28 -0
  122. package/lib/components/layer/active-delay.js.map +1 -0
  123. package/lib/components/layer/active-stack.js +52 -0
  124. package/lib/components/layer/active-stack.js.map +1 -0
  125. package/lib/components/layer/base.js +87 -0
  126. package/lib/components/layer/base.js.map +1 -0
  127. package/lib/components/layer/content.js +22 -0
  128. package/lib/components/layer/content.js.map +1 -0
  129. package/lib/components/layer/index.js +2 -0
  130. package/lib/components/layer/index.js.map +1 -0
  131. package/lib/components/layer/scroll-strategies.js +132 -0
  132. package/lib/components/layer/scroll-strategies.js.map +1 -0
  133. package/lib/components/list/YList.js +55 -0
  134. package/lib/components/list/YList.js.map +1 -0
  135. package/lib/components/list/YListItem.js +59 -0
  136. package/lib/components/list/YListItem.js.map +1 -0
  137. package/lib/components/list/index.js +3 -0
  138. package/lib/components/list/index.js.map +1 -0
  139. package/lib/components/loading/YSpinnerRing.js +25 -0
  140. package/lib/components/loading/YSpinnerRing.js.map +1 -0
  141. package/lib/components/loading/index.js +2 -0
  142. package/lib/components/loading/index.js.map +1 -0
  143. package/lib/components/menu/YMenu.js +211 -0
  144. package/lib/components/menu/YMenu.js.map +1 -0
  145. package/lib/components/menu/index.js +2 -0
  146. package/lib/components/menu/index.js.map +1 -0
  147. package/lib/components/navigation/YNavigation.js +18 -0
  148. package/lib/components/navigation/YNavigation.js.map +1 -0
  149. package/lib/components/navigation/index.js +2 -0
  150. package/lib/components/navigation/index.js.map +1 -0
  151. package/lib/components/pagination/YPagination.js +288 -0
  152. package/lib/components/pagination/YPagination.js.map +1 -0
  153. package/lib/components/pagination/index.js +2 -0
  154. package/lib/components/pagination/index.js.map +1 -0
  155. package/lib/components/panel/YDividePanel.js +90 -0
  156. package/lib/components/panel/YDividePanel.js.map +1 -0
  157. package/lib/components/panel/index.js +2 -0
  158. package/lib/components/panel/index.js.map +1 -0
  159. package/lib/components/plate/YPlate.js +28 -0
  160. package/lib/components/plate/YPlate.js.map +1 -0
  161. package/lib/components/plate/index.js +2 -0
  162. package/lib/components/plate/index.js.map +1 -0
  163. package/lib/components/progress-bar/YProgressBar.js +117 -0
  164. package/lib/components/progress-bar/YProgressBar.js.map +1 -0
  165. package/lib/components/progress-bar/index.js +2 -0
  166. package/lib/components/progress-bar/index.js.map +1 -0
  167. package/lib/components/progress-ring/YProgressRing.js +128 -0
  168. package/lib/components/progress-ring/YProgressRing.js.map +1 -0
  169. package/lib/components/progress-ring/index.js +2 -0
  170. package/lib/components/progress-ring/index.js.map +1 -0
  171. package/lib/components/select/YSelect.js +344 -0
  172. package/lib/components/select/YSelect.js.map +1 -0
  173. package/lib/components/select/index.js +2 -0
  174. package/lib/components/select/index.js.map +1 -0
  175. package/lib/components/slider/YSlider.js +26 -0
  176. package/lib/components/slider/YSlider.js.map +1 -0
  177. package/lib/components/slider/index.js +2 -0
  178. package/lib/components/slider/index.js.map +1 -0
  179. package/lib/components/snackbar/YSnackbar.js +209 -0
  180. package/lib/components/snackbar/YSnackbar.js.map +1 -0
  181. package/lib/components/snackbar/index.js +2 -0
  182. package/lib/components/snackbar/index.js.map +1 -0
  183. package/lib/components/switch/YSwitch.js +184 -0
  184. package/lib/components/switch/YSwitch.js.map +1 -0
  185. package/lib/components/switch/index.js +2 -0
  186. package/lib/components/switch/index.js.map +1 -0
  187. package/lib/components/tab/YTab.js +64 -0
  188. package/lib/components/tab/YTab.js.map +1 -0
  189. package/lib/components/tab/YTabs.js +86 -0
  190. package/lib/components/tab/YTabs.js.map +1 -0
  191. package/lib/components/tab/index.js +4 -0
  192. package/lib/components/tab/index.js.map +1 -0
  193. package/lib/components/tab/shared.js +2 -0
  194. package/lib/components/tab/shared.js.map +1 -0
  195. package/lib/components/tab/types.js +2 -0
  196. package/lib/components/tab/types.js.map +1 -0
  197. package/lib/components/table/YDataTable.js +182 -0
  198. package/lib/components/table/YDataTable.js.map +1 -0
  199. package/lib/components/table/YDataTableBody.js +131 -0
  200. package/lib/components/table/YDataTableBody.js.map +1 -0
  201. package/lib/components/table/YDataTableCell.js +78 -0
  202. package/lib/components/table/YDataTableCell.js.map +1 -0
  203. package/lib/components/table/YDataTableControl.js +46 -0
  204. package/lib/components/table/YDataTableControl.js.map +1 -0
  205. package/lib/components/table/YDataTableHead.js +172 -0
  206. package/lib/components/table/YDataTableHead.js.map +1 -0
  207. package/lib/components/table/YDataTableLayer.js +29 -0
  208. package/lib/components/table/YDataTableLayer.js.map +1 -0
  209. package/lib/components/table/YDataTableRow.js +150 -0
  210. package/lib/components/table/YDataTableRow.js.map +1 -0
  211. package/lib/components/table/YDataTableServer.js +173 -0
  212. package/lib/components/table/YDataTableServer.js.map +1 -0
  213. package/lib/components/table/YTable.js +77 -0
  214. package/lib/components/table/YTable.js.map +1 -0
  215. package/lib/components/table/composibles/header.js +127 -0
  216. package/lib/components/table/composibles/header.js.map +1 -0
  217. package/lib/components/table/composibles/items.js +52 -0
  218. package/lib/components/table/composibles/items.js.map +1 -0
  219. package/lib/components/table/composibles/measure.js +39 -0
  220. package/lib/components/table/composibles/measure.js.map +1 -0
  221. package/lib/components/table/composibles/options.js +33 -0
  222. package/lib/components/table/composibles/options.js.map +1 -0
  223. package/lib/components/table/composibles/pagination.js +99 -0
  224. package/lib/components/table/composibles/pagination.js.map +1 -0
  225. package/lib/components/table/composibles/selection.js +196 -0
  226. package/lib/components/table/composibles/selection.js.map +1 -0
  227. package/lib/components/table/composibles/sorted-items.js +50 -0
  228. package/lib/components/table/composibles/sorted-items.js.map +1 -0
  229. package/lib/components/table/composibles/sorting.js +73 -0
  230. package/lib/components/table/composibles/sorting.js.map +1 -0
  231. package/lib/components/table/index.js +9 -0
  232. package/lib/components/table/index.js.map +1 -0
  233. package/lib/components/table/types/common.js +2 -0
  234. package/lib/components/table/types/common.js.map +1 -0
  235. package/lib/components/table/types/header.js +2 -0
  236. package/lib/components/table/types/header.js.map +1 -0
  237. package/lib/components/table/types/index.js +2 -0
  238. package/lib/components/table/types/index.js.map +1 -0
  239. package/lib/components/table/types/item.js +2 -0
  240. package/lib/components/table/types/item.js.map +1 -0
  241. package/lib/components/table/types/row.js +2 -0
  242. package/lib/components/table/types/row.js.map +1 -0
  243. package/lib/components/text-ellipsis/YTextEllipsis.js +66 -0
  244. package/lib/components/text-ellipsis/YTextEllipsis.js.map +1 -0
  245. package/lib/components/text-ellipsis/index.js +2 -0
  246. package/lib/components/text-ellipsis/index.js.map +1 -0
  247. package/lib/components/text-highlighter/YTextHighlighter.js +95 -0
  248. package/lib/components/text-highlighter/YTextHighlighter.js.map +1 -0
  249. package/lib/components/text-highlighter/index.js +2 -0
  250. package/lib/components/text-highlighter/index.js.map +1 -0
  251. package/lib/components/text-interpolation/YTi.js +47 -0
  252. package/lib/components/text-interpolation/YTi.js.map +1 -0
  253. package/lib/components/text-interpolation/index.js +2 -0
  254. package/lib/components/text-interpolation/index.js.map +1 -0
  255. package/lib/components/textarea/YTextarea.js +157 -0
  256. package/lib/components/textarea/YTextarea.js.map +1 -0
  257. package/lib/components/textarea/index.js +2 -0
  258. package/lib/components/textarea/index.js.map +1 -0
  259. package/lib/components/toggle-button/YToggleButton.js +2 -0
  260. package/lib/components/toggle-button/YToggleButton.js.map +1 -0
  261. package/lib/components/toggle-button/index.js +2 -0
  262. package/lib/components/toggle-button/index.js.map +1 -0
  263. package/lib/components/tooltip/YTooltip.js +157 -0
  264. package/lib/components/tooltip/YTooltip.js.map +1 -0
  265. package/lib/components/tooltip/index.js +2 -0
  266. package/lib/components/tooltip/index.js.map +1 -0
  267. package/lib/components/transitions/expand-transition.js +109 -0
  268. package/lib/components/transitions/expand-transition.js.map +1 -0
  269. package/lib/components/transitions/index.js +4 -0
  270. package/lib/components/transitions/index.js.map +1 -0
  271. package/lib/components/tree-view/YTreeView.js +290 -0
  272. package/lib/components/tree-view/YTreeView.js.map +1 -0
  273. package/lib/components/tree-view/YTreeViewNode.js +250 -0
  274. package/lib/components/tree-view/YTreeViewNode.js.map +1 -0
  275. package/lib/components/tree-view/index.js +3 -0
  276. package/lib/components/tree-view/index.js.map +1 -0
  277. package/lib/components/tree-view/tree-view.js +179 -0
  278. package/lib/components/tree-view/tree-view.js.map +1 -0
  279. package/lib/components/tree-view/types.js +2 -0
  280. package/lib/components/tree-view/types.js.map +1 -0
  281. package/lib/components/tree-view/util.js +40 -0
  282. package/lib/components/tree-view/util.js.map +1 -0
  283. package/lib/composables/choice-link.js +13 -0
  284. package/lib/composables/choice-link.js.map +1 -0
  285. package/lib/composables/choice.js +187 -0
  286. package/lib/composables/choice.js.map +1 -0
  287. package/lib/composables/communication.js +55 -0
  288. package/lib/composables/communication.js.map +1 -0
  289. package/lib/composables/component.js +8 -0
  290. package/lib/composables/component.js.map +1 -0
  291. package/lib/composables/coordinate/arrangement.js +14 -0
  292. package/lib/composables/coordinate/arrangement.js.map +1 -0
  293. package/lib/composables/coordinate/index.js +67 -0
  294. package/lib/composables/coordinate/index.js.map +1 -0
  295. package/lib/composables/coordinate/levitation.js +315 -0
  296. package/lib/composables/coordinate/levitation.js.map +1 -0
  297. package/lib/composables/coordinate/types.js +2 -0
  298. package/lib/composables/coordinate/types.js.map +1 -0
  299. package/lib/composables/coordinate/utils/point.js +55 -0
  300. package/lib/composables/coordinate/utils/point.js.map +1 -0
  301. package/lib/composables/date/factory.js +12 -0
  302. package/lib/composables/date/factory.js.map +1 -0
  303. package/lib/composables/date/index.js +20 -0
  304. package/lib/composables/date/index.js.map +1 -0
  305. package/lib/composables/date/setting.js +11 -0
  306. package/lib/composables/date/setting.js.map +1 -0
  307. package/lib/composables/date/types.js +2 -0
  308. package/lib/composables/date/types.js.map +1 -0
  309. package/lib/composables/defaults/index.js +99 -0
  310. package/lib/composables/defaults/index.js.map +1 -0
  311. package/lib/composables/defaults/share.js +2 -0
  312. package/lib/composables/defaults/share.js.map +1 -0
  313. package/lib/composables/defaults/types.js +2 -0
  314. package/lib/composables/defaults/types.js.map +1 -0
  315. package/lib/composables/dimension.js +26 -0
  316. package/lib/composables/dimension.js.map +1 -0
  317. package/lib/composables/focus.js +29 -0
  318. package/lib/composables/focus.js.map +1 -0
  319. package/lib/composables/form.js +100 -0
  320. package/lib/composables/form.js.map +1 -0
  321. package/lib/composables/i18n/index.js +30 -0
  322. package/lib/composables/i18n/index.js.map +1 -0
  323. package/lib/composables/i18n/locale.js +5 -0
  324. package/lib/composables/i18n/locale.js.map +1 -0
  325. package/lib/composables/i18n/rtl.js +34 -0
  326. package/lib/composables/i18n/rtl.js.map +1 -0
  327. package/lib/composables/i18n/share.js +2 -0
  328. package/lib/composables/i18n/share.js.map +1 -0
  329. package/lib/composables/icon.js +164 -0
  330. package/lib/composables/icon.js.map +1 -0
  331. package/lib/composables/index.js +11 -0
  332. package/lib/composables/index.js.map +1 -0
  333. package/lib/composables/layer-group.js +66 -0
  334. package/lib/composables/layer-group.js.map +1 -0
  335. package/lib/composables/layout.js +13 -0
  336. package/lib/composables/layout.js.map +1 -0
  337. package/lib/composables/list-items.js +66 -0
  338. package/lib/composables/list-items.js.map +1 -0
  339. package/lib/composables/progress.js +26 -0
  340. package/lib/composables/progress.js.map +1 -0
  341. package/lib/composables/ref.js +13 -0
  342. package/lib/composables/ref.js.map +1 -0
  343. package/lib/composables/resize-observer.js +33 -0
  344. package/lib/composables/resize-observer.js.map +1 -0
  345. package/lib/composables/scope.js +26 -0
  346. package/lib/composables/scope.js.map +1 -0
  347. package/lib/composables/style-color.js +37 -0
  348. package/lib/composables/style-color.js.map +1 -0
  349. package/lib/composables/theme/factory.js +47 -0
  350. package/lib/composables/theme/factory.js.map +1 -0
  351. package/lib/composables/theme/helper.js +14 -0
  352. package/lib/composables/theme/helper.js.map +1 -0
  353. package/lib/composables/theme/index.js +187 -0
  354. package/lib/composables/theme/index.js.map +1 -0
  355. package/lib/composables/theme/setting.js +113 -0
  356. package/lib/composables/theme/setting.js.map +1 -0
  357. package/lib/composables/theme/types.js +2 -0
  358. package/lib/composables/theme/types.js.map +1 -0
  359. package/lib/composables/timing.js +102 -0
  360. package/lib/composables/timing.js.map +1 -0
  361. package/lib/composables/transition.js +51 -0
  362. package/lib/composables/transition.js.map +1 -0
  363. package/lib/composables/validation.js +126 -0
  364. package/lib/composables/validation.js.map +1 -0
  365. package/lib/composables/vue-router.js +32 -0
  366. package/lib/composables/vue-router.js.map +1 -0
  367. package/lib/directives/complement-click/index.js +78 -0
  368. package/lib/directives/complement-click/index.js.map +1 -0
  369. package/lib/directives/plate-wave/index.js +100 -0
  370. package/lib/directives/plate-wave/index.js.map +1 -0
  371. package/lib/directives/theme-class.js +24 -0
  372. package/lib/directives/theme-class.js.map +1 -0
  373. package/lib/etc/index.js +6 -0
  374. package/lib/etc/index.js.map +1 -0
  375. package/lib/i18n/built-in.js +77 -0
  376. package/lib/i18n/built-in.js.map +1 -0
  377. package/lib/i18n/config.js +82 -0
  378. package/lib/i18n/config.js.map +1 -0
  379. package/lib/i18n/types.js +2 -0
  380. package/lib/i18n/types.js.map +1 -0
  381. package/lib/index.js +103 -0
  382. package/lib/index.js.map +1 -0
  383. package/lib/locales/en.js +6 -0
  384. package/lib/locales/en.js.map +1 -0
  385. package/lib/locales/index.js +3 -0
  386. package/lib/locales/index.js.map +1 -0
  387. package/lib/locales/ko.js +6 -0
  388. package/lib/locales/ko.js.map +1 -0
  389. package/lib/mixins/di.js +19 -0
  390. package/lib/mixins/di.js.map +1 -0
  391. package/lib/mixins/rebind-attrs.js +37 -0
  392. package/lib/mixins/rebind-attrs.js.map +1 -0
  393. package/lib/types/index.js +2 -0
  394. package/lib/types/index.js.map +1 -0
  395. package/lib/util/anchor.js +53 -0
  396. package/lib/util/anchor.js.map +1 -0
  397. package/lib/util/array.js +13 -0
  398. package/lib/util/array.js.map +1 -0
  399. package/lib/util/collection.js +10 -0
  400. package/lib/util/collection.js.map +1 -0
  401. package/lib/util/color/apca.js +201 -0
  402. package/lib/util/color/apca.js.map +1 -0
  403. package/lib/util/color/const.js +6 -0
  404. package/lib/util/color/const.js.map +1 -0
  405. package/lib/util/color/contrast/contrast.js +149 -0
  406. package/lib/util/color/contrast/contrast.js.map +1 -0
  407. package/lib/util/color/conversion.js +310 -0
  408. package/lib/util/color/conversion.js.map +1 -0
  409. package/lib/util/color/hct/cam16.js +349 -0
  410. package/lib/util/color/hct/cam16.js.map +1 -0
  411. package/lib/util/color/hct/hct-solver.js +389 -0
  412. package/lib/util/color/hct/hct-solver.js.map +1 -0
  413. package/lib/util/color/hct/hct.js +153 -0
  414. package/lib/util/color/hct/hct.js.map +1 -0
  415. package/lib/util/color/hct/viewing-conditions.js +110 -0
  416. package/lib/util/color/hct/viewing-conditions.js.map +1 -0
  417. package/lib/util/color/index.js +40 -0
  418. package/lib/util/color/index.js.map +1 -0
  419. package/lib/util/color/palettes/core-palette.js +99 -0
  420. package/lib/util/color/palettes/core-palette.js.map +1 -0
  421. package/lib/util/color/palettes/tonal-palette.js +112 -0
  422. package/lib/util/color/palettes/tonal-palette.js.map +1 -0
  423. package/lib/util/color/types.js +2 -0
  424. package/lib/util/color/types.js.map +1 -0
  425. package/lib/util/color/utils/math-utils.js +139 -0
  426. package/lib/util/color/utils/math-utils.js.map +1 -0
  427. package/lib/util/common.js +107 -0
  428. package/lib/util/common.js.map +1 -0
  429. package/lib/util/component/component.js +26 -0
  430. package/lib/util/component/component.js.map +1 -0
  431. package/lib/util/component/index.js +65 -0
  432. package/lib/util/component/index.js.map +1 -0
  433. package/lib/util/component/inject-self.js +10 -0
  434. package/lib/util/component/inject-self.js.map +1 -0
  435. package/lib/util/component/props.js +41 -0
  436. package/lib/util/component/props.js.map +1 -0
  437. package/lib/util/component/types.js +2 -0
  438. package/lib/util/component/types.js.map +1 -0
  439. package/lib/util/date/adapters/yuyeon-date-adapter.js +111 -0
  440. package/lib/util/date/adapters/yuyeon-date-adapter.js.map +1 -0
  441. package/lib/util/date/built-in.js +416 -0
  442. package/lib/util/date/built-in.js.map +1 -0
  443. package/lib/util/date/index.js +4 -0
  444. package/lib/util/date/index.js.map +1 -0
  445. package/lib/util/date/types.js +2 -0
  446. package/lib/util/date/types.js.map +1 -0
  447. package/lib/util/debounce.js +114 -0
  448. package/lib/util/debounce.js.map +1 -0
  449. package/lib/util/dom.js +23 -0
  450. package/lib/util/dom.js.map +1 -0
  451. package/lib/util/environments.js +8 -0
  452. package/lib/util/environments.js.map +1 -0
  453. package/lib/util/frame-scheduler.js +29 -0
  454. package/lib/util/frame-scheduler.js.map +1 -0
  455. package/lib/util/index.js +17 -0
  456. package/lib/util/index.js.map +1 -0
  457. package/lib/util/reactivity.js +19 -0
  458. package/lib/util/reactivity.js.map +1 -0
  459. package/lib/util/rect.js +39 -0
  460. package/lib/util/rect.js.map +1 -0
  461. package/lib/util/scroll.js +28 -0
  462. package/lib/util/scroll.js.map +1 -0
  463. package/lib/util/string.js +69 -0
  464. package/lib/util/string.js.map +1 -0
  465. package/lib/util/ui.js +60 -0
  466. package/lib/util/ui.js.map +1 -0
  467. package/lib/util/validation.js +5 -0
  468. package/lib/util/validation.js.map +1 -0
  469. package/package.json +12 -12
  470. package/types/components/tree-view/YTreeView.d.ts +1 -0
  471. package/types/composables/theme/setting.d.ts +1 -0
  472. package/lib/abstract/items.mjs +0 -20
  473. package/lib/abstract/items.mjs.map +0 -1
  474. package/lib/components/alert/YAlert.mjs +0 -83
  475. package/lib/components/alert/YAlert.mjs.map +0 -1
  476. package/lib/components/alert/index.mjs +0 -2
  477. package/lib/components/alert/index.mjs.map +0 -1
  478. package/lib/components/app/YApp.mjs +0 -21
  479. package/lib/components/app/YApp.mjs.map +0 -1
  480. package/lib/components/app/index.mjs +0 -2
  481. package/lib/components/app/index.mjs.map +0 -1
  482. package/lib/components/badge/YBadge.mjs +0 -83
  483. package/lib/components/badge/YBadge.mjs.map +0 -1
  484. package/lib/components/badge/index.mjs +0 -2
  485. package/lib/components/badge/index.mjs.map +0 -1
  486. package/lib/components/bench/YBench.mjs +0 -43
  487. package/lib/components/bench/YBench.mjs.map +0 -1
  488. package/lib/components/bench/index.mjs +0 -2
  489. package/lib/components/bench/index.mjs.map +0 -1
  490. package/lib/components/button/YButton.mjs +0 -169
  491. package/lib/components/button/YButton.mjs.map +0 -1
  492. package/lib/components/button/index.mjs +0 -2
  493. package/lib/components/button/index.mjs.map +0 -1
  494. package/lib/components/card/YCard.mjs +0 -28
  495. package/lib/components/card/YCard.mjs.map +0 -1
  496. package/lib/components/card/YCardBody.mjs +0 -11
  497. package/lib/components/card/YCardBody.mjs.map +0 -1
  498. package/lib/components/card/YCardFooter.mjs +0 -11
  499. package/lib/components/card/YCardFooter.mjs.map +0 -1
  500. package/lib/components/card/YCardHeader.mjs +0 -11
  501. package/lib/components/card/YCardHeader.mjs.map +0 -1
  502. package/lib/components/card/index.mjs +0 -5
  503. package/lib/components/card/index.mjs.map +0 -1
  504. package/lib/components/checkbox/YCheckbox.mjs +0 -160
  505. package/lib/components/checkbox/YCheckbox.mjs.map +0 -1
  506. package/lib/components/checkbox/YInputCheckbox.mjs +0 -114
  507. package/lib/components/checkbox/YInputCheckbox.mjs.map +0 -1
  508. package/lib/components/checkbox/index.mjs +0 -4
  509. package/lib/components/checkbox/index.mjs.map +0 -1
  510. package/lib/components/chip/YChip.mjs +0 -39
  511. package/lib/components/chip/YChip.mjs.map +0 -1
  512. package/lib/components/chip/index.mjs +0 -2
  513. package/lib/components/chip/index.mjs.map +0 -1
  514. package/lib/components/date-picker/YDateCalendar.mjs +0 -243
  515. package/lib/components/date-picker/YDateCalendar.mjs.map +0 -1
  516. package/lib/components/date-picker/YDatePicker.mjs +0 -132
  517. package/lib/components/date-picker/YDatePicker.mjs.map +0 -1
  518. package/lib/components/date-picker/YDatePickerControl.mjs +0 -107
  519. package/lib/components/date-picker/YDatePickerControl.mjs.map +0 -1
  520. package/lib/components/date-picker/YMonthPicker.mjs +0 -64
  521. package/lib/components/date-picker/YMonthPicker.mjs.map +0 -1
  522. package/lib/components/date-picker/YYearPicker.mjs +0 -87
  523. package/lib/components/date-picker/YYearPicker.mjs.map +0 -1
  524. package/lib/components/date-picker/index.mjs +0 -4
  525. package/lib/components/date-picker/index.mjs.map +0 -1
  526. package/lib/components/default-provider/YDefaultProvider.mjs +0 -2
  527. package/lib/components/default-provider/YDefaultProvider.mjs.map +0 -1
  528. package/lib/components/default-provider/index.mjs +0 -2
  529. package/lib/components/default-provider/index.mjs.map +0 -1
  530. package/lib/components/dialog/YDialog.mjs +0 -213
  531. package/lib/components/dialog/YDialog.mjs.map +0 -1
  532. package/lib/components/dialog/index.mjs +0 -2
  533. package/lib/components/dialog/index.mjs.map +0 -1
  534. package/lib/components/divider/YDivider.mjs +0 -20
  535. package/lib/components/divider/YDivider.mjs.map +0 -1
  536. package/lib/components/divider/index.mjs +0 -2
  537. package/lib/components/divider/index.mjs.map +0 -1
  538. package/lib/components/draggable/YDraggable.mjs +0 -95
  539. package/lib/components/draggable/YDraggable.mjs.map +0 -1
  540. package/lib/components/dropdown/YDropdown.mjs +0 -109
  541. package/lib/components/dropdown/YDropdown.mjs.map +0 -1
  542. package/lib/components/dropdown/index.mjs +0 -2
  543. package/lib/components/dropdown/index.mjs.map +0 -1
  544. package/lib/components/field-input/YFieldInput.mjs +0 -229
  545. package/lib/components/field-input/YFieldInput.mjs.map +0 -1
  546. package/lib/components/field-input/index.mjs +0 -2
  547. package/lib/components/field-input/index.mjs.map +0 -1
  548. package/lib/components/form/YForm.mjs +0 -65
  549. package/lib/components/form/YForm.mjs.map +0 -1
  550. package/lib/components/form/index.mjs +0 -2
  551. package/lib/components/form/index.mjs.map +0 -1
  552. package/lib/components/hover/YHover.mjs +0 -54
  553. package/lib/components/hover/YHover.mjs.map +0 -1
  554. package/lib/components/hover/index.mjs +0 -2
  555. package/lib/components/hover/index.mjs.map +0 -1
  556. package/lib/components/icon/YIcon.mjs +0 -63
  557. package/lib/components/icon/YIcon.mjs.map +0 -1
  558. package/lib/components/icon/index.mjs +0 -2
  559. package/lib/components/icon/index.mjs.map +0 -1
  560. package/lib/components/icon/poly.mjs +0 -57
  561. package/lib/components/icon/poly.mjs.map +0 -1
  562. package/lib/components/icons/YIconCheckbox.mjs +0 -32
  563. package/lib/components/icons/YIconCheckbox.mjs.map +0 -1
  564. package/lib/components/icons/YIconClear.mjs +0 -16
  565. package/lib/components/icons/YIconClear.mjs.map +0 -1
  566. package/lib/components/icons/YIconDropdown.mjs +0 -16
  567. package/lib/components/icons/YIconDropdown.mjs.map +0 -1
  568. package/lib/components/icons/YIconExpand.mjs +0 -20
  569. package/lib/components/icons/YIconExpand.mjs.map +0 -1
  570. package/lib/components/icons/YIconPageControl.mjs +0 -32
  571. package/lib/components/icons/YIconPageControl.mjs.map +0 -1
  572. package/lib/components/icons/YIconSort.mjs +0 -45
  573. package/lib/components/icons/YIconSort.mjs.map +0 -1
  574. package/lib/components/icons/index.mjs +0 -32
  575. package/lib/components/icons/index.mjs.map +0 -1
  576. package/lib/components/img/YImg.mjs +0 -173
  577. package/lib/components/img/YImg.mjs.map +0 -1
  578. package/lib/components/img/index.mjs +0 -2
  579. package/lib/components/img/index.mjs.map +0 -1
  580. package/lib/components/index.mjs +0 -39
  581. package/lib/components/index.mjs.map +0 -1
  582. package/lib/components/input/YInput.mjs +0 -258
  583. package/lib/components/input/YInput.mjs.map +0 -1
  584. package/lib/components/input/index.mjs +0 -2
  585. package/lib/components/input/index.mjs.map +0 -1
  586. package/lib/components/ip-field/YIpv4Field.mjs +0 -297
  587. package/lib/components/ip-field/YIpv4Field.mjs.map +0 -1
  588. package/lib/components/ip-field/index.mjs +0 -2
  589. package/lib/components/ip-field/index.mjs.map +0 -1
  590. package/lib/components/layer/YLayer.mjs +0 -326
  591. package/lib/components/layer/YLayer.mjs.map +0 -1
  592. package/lib/components/layer/active-delay.mjs +0 -28
  593. package/lib/components/layer/active-delay.mjs.map +0 -1
  594. package/lib/components/layer/active-stack.mjs +0 -52
  595. package/lib/components/layer/active-stack.mjs.map +0 -1
  596. package/lib/components/layer/base.mjs +0 -87
  597. package/lib/components/layer/base.mjs.map +0 -1
  598. package/lib/components/layer/content.mjs +0 -22
  599. package/lib/components/layer/content.mjs.map +0 -1
  600. package/lib/components/layer/index.mjs +0 -2
  601. package/lib/components/layer/index.mjs.map +0 -1
  602. package/lib/components/layer/scroll-strategies.mjs +0 -132
  603. package/lib/components/layer/scroll-strategies.mjs.map +0 -1
  604. package/lib/components/list/YList.mjs +0 -55
  605. package/lib/components/list/YList.mjs.map +0 -1
  606. package/lib/components/list/YListItem.mjs +0 -59
  607. package/lib/components/list/YListItem.mjs.map +0 -1
  608. package/lib/components/list/index.mjs +0 -3
  609. package/lib/components/list/index.mjs.map +0 -1
  610. package/lib/components/loading/YSpinnerRing.mjs +0 -25
  611. package/lib/components/loading/YSpinnerRing.mjs.map +0 -1
  612. package/lib/components/loading/index.mjs +0 -2
  613. package/lib/components/loading/index.mjs.map +0 -1
  614. package/lib/components/menu/YMenu.mjs +0 -211
  615. package/lib/components/menu/YMenu.mjs.map +0 -1
  616. package/lib/components/menu/index.mjs +0 -2
  617. package/lib/components/menu/index.mjs.map +0 -1
  618. package/lib/components/navigation/YNavigation.mjs +0 -18
  619. package/lib/components/navigation/YNavigation.mjs.map +0 -1
  620. package/lib/components/navigation/index.mjs +0 -2
  621. package/lib/components/navigation/index.mjs.map +0 -1
  622. package/lib/components/pagination/YPagination.mjs +0 -288
  623. package/lib/components/pagination/YPagination.mjs.map +0 -1
  624. package/lib/components/pagination/index.mjs +0 -2
  625. package/lib/components/pagination/index.mjs.map +0 -1
  626. package/lib/components/panel/YDividePanel.mjs +0 -90
  627. package/lib/components/panel/YDividePanel.mjs.map +0 -1
  628. package/lib/components/panel/index.mjs +0 -2
  629. package/lib/components/panel/index.mjs.map +0 -1
  630. package/lib/components/plate/YPlate.mjs +0 -28
  631. package/lib/components/plate/YPlate.mjs.map +0 -1
  632. package/lib/components/plate/index.mjs +0 -2
  633. package/lib/components/plate/index.mjs.map +0 -1
  634. package/lib/components/progress-bar/YProgressBar.mjs +0 -117
  635. package/lib/components/progress-bar/YProgressBar.mjs.map +0 -1
  636. package/lib/components/progress-bar/index.mjs +0 -2
  637. package/lib/components/progress-bar/index.mjs.map +0 -1
  638. package/lib/components/progress-ring/YProgressRing.mjs +0 -128
  639. package/lib/components/progress-ring/YProgressRing.mjs.map +0 -1
  640. package/lib/components/progress-ring/index.mjs +0 -2
  641. package/lib/components/progress-ring/index.mjs.map +0 -1
  642. package/lib/components/select/YSelect.mjs +0 -344
  643. package/lib/components/select/YSelect.mjs.map +0 -1
  644. package/lib/components/select/index.mjs +0 -2
  645. package/lib/components/select/index.mjs.map +0 -1
  646. package/lib/components/slider/YSlider.mjs +0 -26
  647. package/lib/components/slider/YSlider.mjs.map +0 -1
  648. package/lib/components/slider/index.mjs +0 -2
  649. package/lib/components/slider/index.mjs.map +0 -1
  650. package/lib/components/snackbar/YSnackbar.mjs +0 -209
  651. package/lib/components/snackbar/YSnackbar.mjs.map +0 -1
  652. package/lib/components/snackbar/index.mjs +0 -2
  653. package/lib/components/snackbar/index.mjs.map +0 -1
  654. package/lib/components/switch/YSwitch.mjs +0 -184
  655. package/lib/components/switch/YSwitch.mjs.map +0 -1
  656. package/lib/components/switch/index.mjs +0 -2
  657. package/lib/components/switch/index.mjs.map +0 -1
  658. package/lib/components/tab/YTab.mjs +0 -64
  659. package/lib/components/tab/YTab.mjs.map +0 -1
  660. package/lib/components/tab/YTabs.mjs +0 -86
  661. package/lib/components/tab/YTabs.mjs.map +0 -1
  662. package/lib/components/tab/index.mjs +0 -4
  663. package/lib/components/tab/index.mjs.map +0 -1
  664. package/lib/components/tab/shared.mjs +0 -2
  665. package/lib/components/tab/shared.mjs.map +0 -1
  666. package/lib/components/tab/types.mjs +0 -2
  667. package/lib/components/tab/types.mjs.map +0 -1
  668. package/lib/components/table/YDataTable.mjs +0 -182
  669. package/lib/components/table/YDataTable.mjs.map +0 -1
  670. package/lib/components/table/YDataTableBody.mjs +0 -131
  671. package/lib/components/table/YDataTableBody.mjs.map +0 -1
  672. package/lib/components/table/YDataTableCell.mjs +0 -78
  673. package/lib/components/table/YDataTableCell.mjs.map +0 -1
  674. package/lib/components/table/YDataTableControl.mjs +0 -46
  675. package/lib/components/table/YDataTableControl.mjs.map +0 -1
  676. package/lib/components/table/YDataTableHead.mjs +0 -172
  677. package/lib/components/table/YDataTableHead.mjs.map +0 -1
  678. package/lib/components/table/YDataTableLayer.mjs +0 -29
  679. package/lib/components/table/YDataTableLayer.mjs.map +0 -1
  680. package/lib/components/table/YDataTableRow.mjs +0 -150
  681. package/lib/components/table/YDataTableRow.mjs.map +0 -1
  682. package/lib/components/table/YDataTableServer.mjs +0 -173
  683. package/lib/components/table/YDataTableServer.mjs.map +0 -1
  684. package/lib/components/table/YTable.mjs +0 -77
  685. package/lib/components/table/YTable.mjs.map +0 -1
  686. package/lib/components/table/composibles/header.mjs +0 -127
  687. package/lib/components/table/composibles/header.mjs.map +0 -1
  688. package/lib/components/table/composibles/items.mjs +0 -52
  689. package/lib/components/table/composibles/items.mjs.map +0 -1
  690. package/lib/components/table/composibles/measure.mjs +0 -39
  691. package/lib/components/table/composibles/measure.mjs.map +0 -1
  692. package/lib/components/table/composibles/options.mjs +0 -33
  693. package/lib/components/table/composibles/options.mjs.map +0 -1
  694. package/lib/components/table/composibles/pagination.mjs +0 -99
  695. package/lib/components/table/composibles/pagination.mjs.map +0 -1
  696. package/lib/components/table/composibles/selection.mjs +0 -196
  697. package/lib/components/table/composibles/selection.mjs.map +0 -1
  698. package/lib/components/table/composibles/sorted-items.mjs +0 -50
  699. package/lib/components/table/composibles/sorted-items.mjs.map +0 -1
  700. package/lib/components/table/composibles/sorting.mjs +0 -73
  701. package/lib/components/table/composibles/sorting.mjs.map +0 -1
  702. package/lib/components/table/index.mjs +0 -9
  703. package/lib/components/table/index.mjs.map +0 -1
  704. package/lib/components/table/types/common.mjs +0 -2
  705. package/lib/components/table/types/common.mjs.map +0 -1
  706. package/lib/components/table/types/header.mjs +0 -2
  707. package/lib/components/table/types/header.mjs.map +0 -1
  708. package/lib/components/table/types/index.mjs +0 -2
  709. package/lib/components/table/types/index.mjs.map +0 -1
  710. package/lib/components/table/types/item.mjs +0 -2
  711. package/lib/components/table/types/item.mjs.map +0 -1
  712. package/lib/components/table/types/row.mjs +0 -2
  713. package/lib/components/table/types/row.mjs.map +0 -1
  714. package/lib/components/text-ellipsis/YTextEllipsis.mjs +0 -66
  715. package/lib/components/text-ellipsis/YTextEllipsis.mjs.map +0 -1
  716. package/lib/components/text-ellipsis/index.mjs +0 -2
  717. package/lib/components/text-ellipsis/index.mjs.map +0 -1
  718. package/lib/components/text-highlighter/YTextHighlighter.mjs +0 -95
  719. package/lib/components/text-highlighter/YTextHighlighter.mjs.map +0 -1
  720. package/lib/components/text-highlighter/index.mjs +0 -2
  721. package/lib/components/text-highlighter/index.mjs.map +0 -1
  722. package/lib/components/text-interpolation/YTi.mjs +0 -47
  723. package/lib/components/text-interpolation/YTi.mjs.map +0 -1
  724. package/lib/components/text-interpolation/index.mjs +0 -2
  725. package/lib/components/text-interpolation/index.mjs.map +0 -1
  726. package/lib/components/textarea/YTextarea.mjs +0 -157
  727. package/lib/components/textarea/YTextarea.mjs.map +0 -1
  728. package/lib/components/textarea/index.mjs +0 -2
  729. package/lib/components/textarea/index.mjs.map +0 -1
  730. package/lib/components/toggle-button/YToggleButton.mjs +0 -2
  731. package/lib/components/toggle-button/YToggleButton.mjs.map +0 -1
  732. package/lib/components/toggle-button/index.mjs +0 -2
  733. package/lib/components/toggle-button/index.mjs.map +0 -1
  734. package/lib/components/tooltip/YTooltip.mjs +0 -157
  735. package/lib/components/tooltip/YTooltip.mjs.map +0 -1
  736. package/lib/components/tooltip/index.mjs +0 -2
  737. package/lib/components/tooltip/index.mjs.map +0 -1
  738. package/lib/components/transitions/expand-transition.mjs +0 -109
  739. package/lib/components/transitions/expand-transition.mjs.map +0 -1
  740. package/lib/components/transitions/index.mjs +0 -4
  741. package/lib/components/transitions/index.mjs.map +0 -1
  742. package/lib/components/tree-view/YTreeView.mjs +0 -289
  743. package/lib/components/tree-view/YTreeView.mjs.map +0 -1
  744. package/lib/components/tree-view/YTreeViewNode.mjs +0 -250
  745. package/lib/components/tree-view/YTreeViewNode.mjs.map +0 -1
  746. package/lib/components/tree-view/index.mjs +0 -3
  747. package/lib/components/tree-view/index.mjs.map +0 -1
  748. package/lib/components/tree-view/tree-view.mjs +0 -179
  749. package/lib/components/tree-view/tree-view.mjs.map +0 -1
  750. package/lib/components/tree-view/types.mjs +0 -2
  751. package/lib/components/tree-view/types.mjs.map +0 -1
  752. package/lib/components/tree-view/util.mjs +0 -40
  753. package/lib/components/tree-view/util.mjs.map +0 -1
  754. package/lib/composables/choice-link.mjs +0 -13
  755. package/lib/composables/choice-link.mjs.map +0 -1
  756. package/lib/composables/choice.mjs +0 -187
  757. package/lib/composables/choice.mjs.map +0 -1
  758. package/lib/composables/communication.mjs +0 -55
  759. package/lib/composables/communication.mjs.map +0 -1
  760. package/lib/composables/component.mjs +0 -8
  761. package/lib/composables/component.mjs.map +0 -1
  762. package/lib/composables/coordinate/arrangement.mjs +0 -14
  763. package/lib/composables/coordinate/arrangement.mjs.map +0 -1
  764. package/lib/composables/coordinate/index.mjs +0 -67
  765. package/lib/composables/coordinate/index.mjs.map +0 -1
  766. package/lib/composables/coordinate/levitation.mjs +0 -315
  767. package/lib/composables/coordinate/levitation.mjs.map +0 -1
  768. package/lib/composables/coordinate/types.mjs +0 -2
  769. package/lib/composables/coordinate/types.mjs.map +0 -1
  770. package/lib/composables/coordinate/utils/point.mjs +0 -55
  771. package/lib/composables/coordinate/utils/point.mjs.map +0 -1
  772. package/lib/composables/date/factory.mjs +0 -12
  773. package/lib/composables/date/factory.mjs.map +0 -1
  774. package/lib/composables/date/index.mjs +0 -20
  775. package/lib/composables/date/index.mjs.map +0 -1
  776. package/lib/composables/date/setting.mjs +0 -11
  777. package/lib/composables/date/setting.mjs.map +0 -1
  778. package/lib/composables/date/types.mjs +0 -2
  779. package/lib/composables/date/types.mjs.map +0 -1
  780. package/lib/composables/defaults/index.mjs +0 -99
  781. package/lib/composables/defaults/index.mjs.map +0 -1
  782. package/lib/composables/defaults/share.mjs +0 -2
  783. package/lib/composables/defaults/share.mjs.map +0 -1
  784. package/lib/composables/defaults/types.mjs +0 -2
  785. package/lib/composables/defaults/types.mjs.map +0 -1
  786. package/lib/composables/dimension.mjs +0 -26
  787. package/lib/composables/dimension.mjs.map +0 -1
  788. package/lib/composables/focus.mjs +0 -29
  789. package/lib/composables/focus.mjs.map +0 -1
  790. package/lib/composables/form.mjs +0 -100
  791. package/lib/composables/form.mjs.map +0 -1
  792. package/lib/composables/group.mjs +0 -194
  793. package/lib/composables/group.mjs.map +0 -1
  794. package/lib/composables/i18n/index.mjs +0 -30
  795. package/lib/composables/i18n/index.mjs.map +0 -1
  796. package/lib/composables/i18n/locale.mjs +0 -5
  797. package/lib/composables/i18n/locale.mjs.map +0 -1
  798. package/lib/composables/i18n/rtl.mjs +0 -34
  799. package/lib/composables/i18n/rtl.mjs.map +0 -1
  800. package/lib/composables/i18n/share.mjs +0 -2
  801. package/lib/composables/i18n/share.mjs.map +0 -1
  802. package/lib/composables/icon.mjs +0 -164
  803. package/lib/composables/icon.mjs.map +0 -1
  804. package/lib/composables/index.mjs +0 -11
  805. package/lib/composables/index.mjs.map +0 -1
  806. package/lib/composables/layer-group.mjs +0 -66
  807. package/lib/composables/layer-group.mjs.map +0 -1
  808. package/lib/composables/layout.mjs +0 -13
  809. package/lib/composables/layout.mjs.map +0 -1
  810. package/lib/composables/list-items.mjs +0 -66
  811. package/lib/composables/list-items.mjs.map +0 -1
  812. package/lib/composables/progress.mjs +0 -26
  813. package/lib/composables/progress.mjs.map +0 -1
  814. package/lib/composables/ref.mjs +0 -13
  815. package/lib/composables/ref.mjs.map +0 -1
  816. package/lib/composables/resize-observer.mjs +0 -33
  817. package/lib/composables/resize-observer.mjs.map +0 -1
  818. package/lib/composables/scope.mjs +0 -26
  819. package/lib/composables/scope.mjs.map +0 -1
  820. package/lib/composables/style-color.mjs +0 -37
  821. package/lib/composables/style-color.mjs.map +0 -1
  822. package/lib/composables/theme/factory.mjs +0 -47
  823. package/lib/composables/theme/factory.mjs.map +0 -1
  824. package/lib/composables/theme/helper.mjs +0 -14
  825. package/lib/composables/theme/helper.mjs.map +0 -1
  826. package/lib/composables/theme/index.mjs +0 -187
  827. package/lib/composables/theme/index.mjs.map +0 -1
  828. package/lib/composables/theme/setting.mjs +0 -112
  829. package/lib/composables/theme/setting.mjs.map +0 -1
  830. package/lib/composables/theme/types.mjs +0 -2
  831. package/lib/composables/theme/types.mjs.map +0 -1
  832. package/lib/composables/timing.mjs +0 -102
  833. package/lib/composables/timing.mjs.map +0 -1
  834. package/lib/composables/transition.mjs +0 -51
  835. package/lib/composables/transition.mjs.map +0 -1
  836. package/lib/composables/validation.mjs +0 -126
  837. package/lib/composables/validation.mjs.map +0 -1
  838. package/lib/composables/vue-router.mjs +0 -32
  839. package/lib/composables/vue-router.mjs.map +0 -1
  840. package/lib/directives/complement-click/index.mjs +0 -78
  841. package/lib/directives/complement-click/index.mjs.map +0 -1
  842. package/lib/directives/plate-wave/index.mjs +0 -100
  843. package/lib/directives/plate-wave/index.mjs.map +0 -1
  844. package/lib/directives/theme-class.mjs +0 -24
  845. package/lib/directives/theme-class.mjs.map +0 -1
  846. package/lib/etc/index.mjs +0 -6
  847. package/lib/etc/index.mjs.map +0 -1
  848. package/lib/i18n/built-in.mjs +0 -77
  849. package/lib/i18n/built-in.mjs.map +0 -1
  850. package/lib/i18n/config.mjs +0 -82
  851. package/lib/i18n/config.mjs.map +0 -1
  852. package/lib/i18n/types.mjs +0 -2
  853. package/lib/i18n/types.mjs.map +0 -1
  854. package/lib/index.mjs +0 -103
  855. package/lib/index.mjs.map +0 -1
  856. package/lib/locales/en.mjs +0 -6
  857. package/lib/locales/en.mjs.map +0 -1
  858. package/lib/locales/index.mjs +0 -3
  859. package/lib/locales/index.mjs.map +0 -1
  860. package/lib/locales/ko.mjs +0 -6
  861. package/lib/locales/ko.mjs.map +0 -1
  862. package/lib/mixins/di.mjs +0 -19
  863. package/lib/mixins/di.mjs.map +0 -1
  864. package/lib/mixins/rebind-attrs.mjs +0 -37
  865. package/lib/mixins/rebind-attrs.mjs.map +0 -1
  866. package/lib/types/index.mjs +0 -2
  867. package/lib/types/index.mjs.map +0 -1
  868. package/lib/util/anchor.mjs +0 -53
  869. package/lib/util/anchor.mjs.map +0 -1
  870. package/lib/util/array.mjs +0 -13
  871. package/lib/util/array.mjs.map +0 -1
  872. package/lib/util/collection.mjs +0 -10
  873. package/lib/util/collection.mjs.map +0 -1
  874. package/lib/util/color/apca.mjs +0 -201
  875. package/lib/util/color/apca.mjs.map +0 -1
  876. package/lib/util/color/const.mjs +0 -6
  877. package/lib/util/color/const.mjs.map +0 -1
  878. package/lib/util/color/contrast/contrast.mjs +0 -149
  879. package/lib/util/color/contrast/contrast.mjs.map +0 -1
  880. package/lib/util/color/conversion.mjs +0 -310
  881. package/lib/util/color/conversion.mjs.map +0 -1
  882. package/lib/util/color/hct/cam16.mjs +0 -349
  883. package/lib/util/color/hct/cam16.mjs.map +0 -1
  884. package/lib/util/color/hct/hct-solver.mjs +0 -389
  885. package/lib/util/color/hct/hct-solver.mjs.map +0 -1
  886. package/lib/util/color/hct/hct.mjs +0 -153
  887. package/lib/util/color/hct/hct.mjs.map +0 -1
  888. package/lib/util/color/hct/viewing-conditions.mjs +0 -110
  889. package/lib/util/color/hct/viewing-conditions.mjs.map +0 -1
  890. package/lib/util/color/index.mjs +0 -40
  891. package/lib/util/color/index.mjs.map +0 -1
  892. package/lib/util/color/palettes/core-palette.mjs +0 -99
  893. package/lib/util/color/palettes/core-palette.mjs.map +0 -1
  894. package/lib/util/color/palettes/tonal-palette.mjs +0 -112
  895. package/lib/util/color/palettes/tonal-palette.mjs.map +0 -1
  896. package/lib/util/color/types.mjs +0 -2
  897. package/lib/util/color/types.mjs.map +0 -1
  898. package/lib/util/color/utils/math-utils.mjs +0 -139
  899. package/lib/util/color/utils/math-utils.mjs.map +0 -1
  900. package/lib/util/common.mjs +0 -107
  901. package/lib/util/common.mjs.map +0 -1
  902. package/lib/util/component/component.mjs +0 -26
  903. package/lib/util/component/component.mjs.map +0 -1
  904. package/lib/util/component/index.mjs +0 -65
  905. package/lib/util/component/index.mjs.map +0 -1
  906. package/lib/util/component/inject-self.mjs +0 -10
  907. package/lib/util/component/inject-self.mjs.map +0 -1
  908. package/lib/util/component/props.mjs +0 -41
  909. package/lib/util/component/props.mjs.map +0 -1
  910. package/lib/util/component/types.mjs +0 -2
  911. package/lib/util/component/types.mjs.map +0 -1
  912. package/lib/util/date/adapters/yuyeon-date-adapter.mjs +0 -111
  913. package/lib/util/date/adapters/yuyeon-date-adapter.mjs.map +0 -1
  914. package/lib/util/date/built-in.mjs +0 -416
  915. package/lib/util/date/built-in.mjs.map +0 -1
  916. package/lib/util/date/index.mjs +0 -4
  917. package/lib/util/date/index.mjs.map +0 -1
  918. package/lib/util/date/types.mjs +0 -2
  919. package/lib/util/date/types.mjs.map +0 -1
  920. package/lib/util/debounce.mjs +0 -114
  921. package/lib/util/debounce.mjs.map +0 -1
  922. package/lib/util/dom.mjs +0 -23
  923. package/lib/util/dom.mjs.map +0 -1
  924. package/lib/util/environments.mjs +0 -8
  925. package/lib/util/environments.mjs.map +0 -1
  926. package/lib/util/frame-scheduler.mjs +0 -29
  927. package/lib/util/frame-scheduler.mjs.map +0 -1
  928. package/lib/util/index.mjs +0 -17
  929. package/lib/util/index.mjs.map +0 -1
  930. package/lib/util/parser.mjs +0 -31
  931. package/lib/util/parser.mjs.map +0 -1
  932. package/lib/util/reactivity.mjs +0 -19
  933. package/lib/util/reactivity.mjs.map +0 -1
  934. package/lib/util/rect.mjs +0 -39
  935. package/lib/util/rect.mjs.map +0 -1
  936. package/lib/util/scroll.mjs +0 -28
  937. package/lib/util/scroll.mjs.map +0 -1
  938. package/lib/util/string.mjs +0 -69
  939. package/lib/util/string.mjs.map +0 -1
  940. package/lib/util/ui.mjs +0 -60
  941. package/lib/util/ui.mjs.map +0 -1
  942. package/lib/util/validation.mjs +0 -5
  943. package/lib/util/validation.mjs.map +0 -1
  944. package/lib/util/vue-component/index.mjs +0 -63
  945. package/lib/util/vue-component/index.mjs.map +0 -1
  946. package/lib/util/vue-component/props.mjs +0 -37
  947. package/lib/util/vue-component/props.mjs.map +0 -1
  948. package/lib/util/vue-component/types.mjs +0 -2
  949. package/lib/util/vue-component/types.mjs.map +0 -1
  950. package/lib/util/vue-component.mjs +0 -102
  951. package/lib/util/vue-component.mjs.map +0 -1
@@ -0,0 +1,99 @@
1
+ import { computed, getCurrentInstance, inject, provide, ref, shallowRef, unref, watchEffect } from 'vue';
2
+ import { clamp, mergeDeep } from "../../util/common.js";
3
+ import { injectSelf } from "../../util/component/inject-self.js";
4
+ import { propIsDefined } from "../../util/component/props.js";
5
+ import { YUYEON_DEFAULTS_KEY } from "./share.js";
6
+ function configureOptions(options) {
7
+ return ref(options);
8
+ }
9
+ export function createDefaultsModule(options) {
10
+ return configureOptions(options);
11
+ }
12
+ export function useDefaultsModule() {
13
+ const defaults = inject(YUYEON_DEFAULTS_KEY);
14
+ if (!defaults) throw new Error('【yuyeon】 Not found provided "DefaultsModule"');
15
+ return defaults;
16
+ }
17
+ export function provideDefaults(defaults, options) {
18
+ const defaultsModule = useDefaultsModule();
19
+ const provides = ref(defaults);
20
+ const computedDefaults = computed(() => {
21
+ if (unref(options?.disabled)) return defaultsModule.value;
22
+ const root = unref(options?.root);
23
+ const reset = unref(options?.reset);
24
+ const scoped = unref(options?.scoped);
25
+ if (provides.value == null && !(scoped || reset || root)) return defaultsModule.value;
26
+ let revision = provides.value ?? {};
27
+ if (!Array.isArray(revision?.revisions)) {
28
+ revision.revisions = [];
29
+ }
30
+ revision.revisions.push(defaultsModule.value);
31
+ if (scoped) return revision;
32
+ if (reset || root) {
33
+ const {
34
+ revisions
35
+ } = revision;
36
+ const resetNum = isNaN(Number(reset)) ? 0 : clamp(Number(reset), 0, revisions.length);
37
+ revision = revisions[revisions.length - resetNum];
38
+ if (revision && typeof root === 'string' && root in revision) {
39
+ revision = mergeDeep(revision, revision[root]);
40
+ }
41
+ return revision;
42
+ }
43
+ });
44
+ provide(YUYEON_DEFAULTS_KEY, computedDefaults);
45
+ return computedDefaults;
46
+ }
47
+ export function useSuperDefaults() {
48
+ let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
49
+ let name = arguments.length > 1 ? arguments[1] : undefined;
50
+ let defaults = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : useDefaultsModule();
51
+ const vm = getCurrentInstance();
52
+ name = name || vm?.type?.name || vm?.type?.__name;
53
+ if (!name) throw new Error('Missing component name');
54
+ const namedDefaults = computed(() => defaults.value?.[name]);
55
+ const _subcomponentDefaults = shallowRef();
56
+ const _props = new Proxy(props, {
57
+ get(target, prop) {
58
+ const propValue = Reflect.get(target, prop);
59
+ if (prop === 'class' || prop === 'style') {
60
+ return [namedDefaults.value?.[prop], propValue].filter(v => v != null);
61
+ } else if (typeof prop === 'string' && !propIsDefined(vm.vnode, prop)) {
62
+ return namedDefaults.value?.[prop] !== undefined ? namedDefaults.value?.[prop] : defaults.value?.global?.[prop] !== undefined ? defaults.value?.global?.[prop] : propValue;
63
+ }
64
+ return propValue;
65
+ }
66
+ });
67
+ watchEffect(() => {
68
+ if (namedDefaults.value) {
69
+ const subComponents = Object.entries(namedDefaults.value).filter(_ref => {
70
+ let [key] = _ref;
71
+ return key.startsWith(key[0].toUpperCase());
72
+ });
73
+ _subcomponentDefaults.value = subComponents.length ? Object.fromEntries(subComponents) : undefined;
74
+ } else {
75
+ _subcomponentDefaults.value = undefined;
76
+ }
77
+ });
78
+ function provideSubDefaults() {
79
+ const injected = injectSelf(YUYEON_DEFAULTS_KEY, vm);
80
+ provide(YUYEON_DEFAULTS_KEY, computed(() => {
81
+ return _subcomponentDefaults.value ? mergeDeep(injected?.value ?? {}, _subcomponentDefaults.value) : injected?.value;
82
+ }));
83
+ }
84
+ return {
85
+ props: _props,
86
+ provideSubDefaults
87
+ };
88
+ }
89
+ export function useDefaults() {
90
+ let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
91
+ let name = arguments.length > 1 ? arguments[1] : undefined;
92
+ const {
93
+ props: _props,
94
+ provideSubDefaults
95
+ } = useSuperDefaults(props, name);
96
+ provideSubDefaults();
97
+ return _props;
98
+ }
99
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["computed","getCurrentInstance","inject","provide","ref","shallowRef","unref","watchEffect","clamp","mergeDeep","injectSelf","propIsDefined","YUYEON_DEFAULTS_KEY","configureOptions","options","createDefaultsModule","useDefaultsModule","defaults","Error","provideDefaults","defaultsModule","provides","computedDefaults","disabled","value","root","reset","scoped","revision","Array","isArray","revisions","push","resetNum","isNaN","Number","length","useSuperDefaults","props","arguments","undefined","name","vm","type","__name","namedDefaults","_subcomponentDefaults","_props","Proxy","get","target","prop","propValue","Reflect","filter","v","vnode","global","subComponents","Object","entries","_ref","key","startsWith","toUpperCase","fromEntries","provideSubDefaults","injected","useDefaults"],"sources":["../../../src/composables/defaults/index.ts"],"sourcesContent":["import {\r\n type MaybeRef,\r\n computed,\r\n getCurrentInstance,\r\n inject,\r\n provide,\r\n ref,\r\n shallowRef,\r\n unref,\r\n watchEffect,\r\n} from 'vue';\r\n\r\nimport { clamp, mergeDeep } from '@/util/common';\r\nimport { injectSelf } from '@/util/component/inject-self';\r\nimport { propIsDefined } from '@/util/component/props';\r\n\r\nimport { YUYEON_DEFAULTS_KEY } from './share';\r\nimport {\r\n DefaultsModuleInstance,\r\n DefaultsOptions,\r\n ProvideDefaultsOptions,\r\n} from './types';\r\n\r\nfunction configureOptions(options?: DefaultsOptions) {\r\n return ref<DefaultsModuleInstance>(options);\r\n}\r\n\r\nexport function createDefaultsModule(options?: DefaultsModuleInstance) {\r\n return configureOptions(options);\r\n}\r\n\r\nexport function useDefaultsModule() {\r\n const defaults = inject(YUYEON_DEFAULTS_KEY);\r\n if (!defaults)\r\n throw new Error('【yuyeon】 Not found provided \"DefaultsModule\"');\r\n\r\n return defaults;\r\n}\r\n\r\nexport function provideDefaults(\r\n defaults?: MaybeRef<DefaultsModuleInstance | undefined>,\r\n options?: ProvideDefaultsOptions,\r\n) {\r\n const defaultsModule = useDefaultsModule();\r\n const provides = ref(defaults);\r\n\r\n const computedDefaults = computed<DefaultsModuleInstance>(() => {\r\n if (unref(options?.disabled)) return defaultsModule.value;\r\n\r\n const root = unref(options?.root);\r\n const reset = unref(options?.reset);\r\n const scoped = unref(options?.scoped);\r\n\r\n if (provides.value == null && !(scoped || reset || root))\r\n return defaultsModule.value;\r\n\r\n let revision = provides.value ?? {};\r\n if (!Array.isArray(revision?.revisions)) {\r\n revision.revisions = [];\r\n }\r\n revision.revisions.push(defaultsModule.value);\r\n if (scoped) return revision;\r\n if (reset || root) {\r\n const { revisions } = revision;\r\n const resetNum = isNaN(Number(reset))\r\n ? 0\r\n : clamp(Number(reset), 0, revisions.length);\r\n revision = revisions[revisions.length - resetNum];\r\n if (revision && typeof root === 'string' && root in revision) {\r\n revision = mergeDeep(revision, revision[root]);\r\n }\r\n\r\n return revision;\r\n }\r\n });\r\n\r\n provide(YUYEON_DEFAULTS_KEY, computedDefaults);\r\n\r\n return computedDefaults;\r\n}\r\n\r\nexport function useSuperDefaults(\r\n props: Record<string, any> = {},\r\n name?: string,\r\n defaults = useDefaultsModule(),\r\n) {\r\n const vm = getCurrentInstance()!;\r\n name = name || vm?.type?.name || vm?.type?.__name;\r\n if (!name) throw new Error('Missing component name');\r\n\r\n const namedDefaults = computed(() => defaults.value?.[name]);\r\n const _subcomponentDefaults = shallowRef();\r\n\r\n const _props = new Proxy(props, {\r\n get(target, prop) {\r\n const propValue = Reflect.get(target, prop);\r\n if (prop === 'class' || prop === 'style') {\r\n return [namedDefaults.value?.[prop], propValue].filter(\r\n (v) => v != null,\r\n );\r\n } else if (typeof prop === 'string' && !propIsDefined(vm.vnode, prop)) {\r\n return namedDefaults.value?.[prop] !== undefined\r\n ? namedDefaults.value?.[prop]\r\n : defaults.value?.global?.[prop] !== undefined\r\n ? defaults.value?.global?.[prop]\r\n : propValue;\r\n }\r\n return propValue;\r\n },\r\n });\r\n\r\n watchEffect(() => {\r\n if (namedDefaults.value) {\r\n const subComponents = Object.entries(namedDefaults.value).filter(\r\n ([key]) => key.startsWith(key[0].toUpperCase()),\r\n );\r\n _subcomponentDefaults.value = subComponents.length\r\n ? Object.fromEntries(subComponents)\r\n : undefined;\r\n } else {\r\n _subcomponentDefaults.value = undefined;\r\n }\r\n });\r\n\r\n function provideSubDefaults() {\r\n const injected = injectSelf(YUYEON_DEFAULTS_KEY, vm);\r\n provide(\r\n YUYEON_DEFAULTS_KEY,\r\n computed(() => {\r\n return _subcomponentDefaults.value\r\n ? mergeDeep(injected?.value ?? {}, _subcomponentDefaults.value)\r\n : injected?.value;\r\n }),\r\n );\r\n }\r\n\r\n return { props: _props, provideSubDefaults };\r\n}\r\n\r\nexport function useDefaults(\r\n props: undefined,\r\n name: string,\r\n): Record<string, any>;\r\nexport function useDefaults(props: Record<string, any> = {}, name?: string) {\r\n const { props: _props, provideSubDefaults } = useSuperDefaults(props, name);\r\n provideSubDefaults();\r\n\r\n return _props;\r\n}\r\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export const YUYEON_DEFAULTS_KEY = Symbol.for('yuyeon.defaults');
2
+ //# sourceMappingURL=share.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"share.js","names":["YUYEON_DEFAULTS_KEY","Symbol","for"],"sources":["../../../src/composables/defaults/share.ts"],"sourcesContent":["import type { InjectionKey, Ref } from 'vue';\r\n\r\nimport type { DefaultsModuleInstance } from './types';\r\n\r\nexport const YUYEON_DEFAULTS_KEY: InjectionKey<Ref<DefaultsModuleInstance>> =\r\n Symbol.for('yuyeon.defaults');\r\n"],"mappings":"AAIA,OAAO,MAAMA,mBAA8D,GACzEC,MAAM,CAACC,GAAG,CAAC,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/composables/defaults/types.ts"],"sourcesContent":["import { type MaybeRef } from 'vue';\r\n\r\nexport type DefaultsModuleInstance = undefined | {\r\n [key: string]: any;\r\n}\r\n\r\nexport type DefaultsOptions = Partial<DefaultsModuleInstance>;\r\n\r\nexport type ProvideDefaultsOptions = {\r\n disabled?: MaybeRef<boolean | undefined>\r\n reset?: MaybeRef<number | string | undefined>\r\n root?: MaybeRef<boolean | string | undefined>\r\n scoped?: MaybeRef<boolean | undefined>\r\n}\r\n"],"mappings":""}
@@ -0,0 +1,26 @@
1
+ import { computed } from 'vue';
2
+ import { propsFactory } from "../util/component/index.js";
3
+ import { toStyleSizeValue } from "../util/ui.js";
4
+ const dimensionPropsOptions = {
5
+ minWidth: [Number, String],
6
+ width: [Number, String],
7
+ maxWidth: [Number, String],
8
+ minHeight: [Number, String],
9
+ height: [Number, String],
10
+ maxHeight: [Number, String]
11
+ };
12
+ export const pressDimensionPropsOptions = propsFactory(dimensionPropsOptions, 'dimension');
13
+ export function useDimension(props) {
14
+ const dimensionStyles = computed(() => ({
15
+ minWidth: toStyleSizeValue(props.minWidth),
16
+ width: toStyleSizeValue(props.width),
17
+ maxWidth: toStyleSizeValue(props.maxWidth),
18
+ minHeight: toStyleSizeValue(props.minHeight),
19
+ height: toStyleSizeValue(props.height),
20
+ maxHeight: toStyleSizeValue(props.maxHeight)
21
+ }));
22
+ return {
23
+ dimensionStyles
24
+ };
25
+ }
26
+ //# sourceMappingURL=dimension.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dimension.js","names":["computed","propsFactory","toStyleSizeValue","dimensionPropsOptions","minWidth","Number","String","width","maxWidth","minHeight","height","maxHeight","pressDimensionPropsOptions","useDimension","props","dimensionStyles"],"sources":["../../src/composables/dimension.ts"],"sourcesContent":["import { type ExtractPropTypes, type PropType, computed } from 'vue';\r\n\r\nimport { propsFactory } from '@/util/component';\r\nimport { toStyleSizeValue } from '@/util/ui';\r\n\r\nconst dimensionPropsOptions = {\r\n minWidth: [Number, String] as PropType<number | string>,\r\n width: [Number, String] as PropType<number | string>,\r\n maxWidth: [Number, String] as PropType<number | string>,\r\n minHeight: [Number, String] as PropType<number | string>,\r\n height: [Number, String] as PropType<number | string>,\r\n maxHeight: [Number, String] as PropType<number | string>,\r\n};\r\n\r\nexport const pressDimensionPropsOptions = propsFactory(\r\n dimensionPropsOptions,\r\n 'dimension',\r\n);\r\n\r\nexport function useDimension(\r\n props: ExtractPropTypes<typeof dimensionPropsOptions>,\r\n) {\r\n const dimensionStyles = computed(() => ({\r\n minWidth: toStyleSizeValue(props.minWidth),\r\n width: toStyleSizeValue(props.width),\r\n maxWidth: toStyleSizeValue(props.maxWidth),\r\n minHeight: toStyleSizeValue(props.minHeight),\r\n height: toStyleSizeValue(props.height),\r\n maxHeight: toStyleSizeValue(props.maxHeight),\r\n }));\r\n\r\n return {\r\n dimensionStyles,\r\n };\r\n}\r\n"],"mappings":"AAAA,SAA+CA,QAAQ,QAAQ,KAAK;AAAC,SAE5DC,YAAY;AAAA,SACZC,gBAAgB;AAEzB,MAAMC,qBAAqB,GAAG;EAC5BC,QAAQ,EAAE,CAACC,MAAM,EAAEC,MAAM,CAA8B;EACvDC,KAAK,EAAE,CAACF,MAAM,EAAEC,MAAM,CAA8B;EACpDE,QAAQ,EAAE,CAACH,MAAM,EAAEC,MAAM,CAA8B;EACvDG,SAAS,EAAE,CAACJ,MAAM,EAAEC,MAAM,CAA8B;EACxDI,MAAM,EAAE,CAACL,MAAM,EAAEC,MAAM,CAA8B;EACrDK,SAAS,EAAE,CAACN,MAAM,EAAEC,MAAM;AAC5B,CAAC;AAED,OAAO,MAAMM,0BAA0B,GAAGX,YAAY,CACpDE,qBAAqB,EACrB,WACF,CAAC;AAED,OAAO,SAASU,YAAYA,CAC1BC,KAAqD,EACrD;EACA,MAAMC,eAAe,GAAGf,QAAQ,CAAC,OAAO;IACtCI,QAAQ,EAAEF,gBAAgB,CAACY,KAAK,CAACV,QAAQ,CAAC;IAC1CG,KAAK,EAAEL,gBAAgB,CAACY,KAAK,CAACP,KAAK,CAAC;IACpCC,QAAQ,EAAEN,gBAAgB,CAACY,KAAK,CAACN,QAAQ,CAAC;IAC1CC,SAAS,EAAEP,gBAAgB,CAACY,KAAK,CAACL,SAAS,CAAC;IAC5CC,MAAM,EAAER,gBAAgB,CAACY,KAAK,CAACJ,MAAM,CAAC;IACtCC,SAAS,EAAET,gBAAgB,CAACY,KAAK,CAACH,SAAS;EAC7C,CAAC,CAAC,CAAC;EAEH,OAAO;IACLI;EACF,CAAC;AACH"}
@@ -0,0 +1,29 @@
1
+ import { computed } from 'vue';
2
+ import { propsFactory } from "../util/component/index.js";
3
+ import { useModelDuplex } from "./communication.js";
4
+ const focusPropsOptions = {
5
+ focused: Boolean,
6
+ 'onUpdate:focused': Function
7
+ };
8
+ export const pressFocusPropsOptions = propsFactory(focusPropsOptions, 'focus');
9
+ export function useFocus(props, className) {
10
+ const focused = useModelDuplex(props, 'focused');
11
+ function whenFocus() {
12
+ focused.value = true;
13
+ }
14
+ function whenBlur() {
15
+ focused.value = false;
16
+ }
17
+ const focusedClasses = computed(() => {
18
+ return {
19
+ [`${className}--focused`]: focused.value
20
+ };
21
+ });
22
+ return {
23
+ focused,
24
+ whenFocus,
25
+ whenBlur,
26
+ focusedClasses
27
+ };
28
+ }
29
+ //# sourceMappingURL=focus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"focus.js","names":["computed","propsFactory","useModelDuplex","focusPropsOptions","focused","Boolean","Function","pressFocusPropsOptions","useFocus","props","className","whenFocus","value","whenBlur","focusedClasses"],"sources":["../../src/composables/focus.ts"],"sourcesContent":["import { type ExtractPropTypes, type PropType, computed } from 'vue';\r\n\r\nimport { propsFactory } from '@/util/component';\r\n\r\nimport { useModelDuplex } from './communication';\r\n\r\nconst focusPropsOptions = {\r\n focused: Boolean,\r\n 'onUpdate:focused': Function as PropType<(v: boolean) => void>,\r\n};\r\n\r\nexport const pressFocusPropsOptions = propsFactory(focusPropsOptions, 'focus');\r\n\r\nexport function useFocus(\r\n props: ExtractPropTypes<typeof focusPropsOptions>,\r\n className: string,\r\n) {\r\n const focused = useModelDuplex(props, 'focused');\r\n\r\n function whenFocus() {\r\n focused.value = true;\r\n }\r\n\r\n function whenBlur() {\r\n focused.value = false;\r\n }\r\n\r\n const focusedClasses = computed(() => {\r\n return {\r\n [`${className}--focused`]: focused.value,\r\n };\r\n });\r\n\r\n return {\r\n focused,\r\n whenFocus,\r\n whenBlur,\r\n focusedClasses,\r\n };\r\n}\r\n"],"mappings":"AAAA,SAA+CA,QAAQ,QAAQ,KAAK;AAAC,SAE5DC,YAAY;AAAA,SAEZC,cAAc;AAEvB,MAAMC,iBAAiB,GAAG;EACxBC,OAAO,EAAEC,OAAO;EAChB,kBAAkB,EAAEC;AACtB,CAAC;AAED,OAAO,MAAMC,sBAAsB,GAAGN,YAAY,CAACE,iBAAiB,EAAE,OAAO,CAAC;AAE9E,OAAO,SAASK,QAAQA,CACtBC,KAAiD,EACjDC,SAAiB,EACjB;EACA,MAAMN,OAAO,GAAGF,cAAc,CAACO,KAAK,EAAE,SAAS,CAAC;EAEhD,SAASE,SAASA,CAAA,EAAG;IACnBP,OAAO,CAACQ,KAAK,GAAG,IAAI;EACtB;EAEA,SAASC,QAAQA,CAAA,EAAG;IAClBT,OAAO,CAACQ,KAAK,GAAG,KAAK;EACvB;EAEA,MAAME,cAAc,GAAGd,QAAQ,CAAC,MAAM;IACpC,OAAO;MACL,CAAE,GAAEU,SAAU,WAAU,GAAGN,OAAO,CAACQ;IACrC,CAAC;EACH,CAAC,CAAC;EAEF,OAAO;IACLR,OAAO;IACPO,SAAS;IACTE,QAAQ;IACRC;EACF,CAAC;AACH"}
@@ -0,0 +1,100 @@
1
+ import { computed, inject, provide, ref, shallowRef, toRef } from 'vue';
2
+ import { propsFactory } from "../util/component/index.js";
3
+ import { useModelDuplex } from "./communication.js";
4
+ export const YUYEON_FORM_KEY = Symbol.for('yuyeon.form');
5
+ export const pressFormPropsOptions = propsFactory({
6
+ readonly: Boolean,
7
+ disabled: Boolean,
8
+ loading: Boolean,
9
+ modelValue: {
10
+ type: Boolean,
11
+ default: null
12
+ },
13
+ validateOn: {
14
+ type: String,
15
+ default: 'input'
16
+ }
17
+ }, 'form');
18
+ export function createForm(props) {
19
+ const model = useModelDuplex(props);
20
+ const isValidating = shallowRef(false);
21
+ const inputs = ref([]);
22
+ const errors = ref([]);
23
+ const isReadonly = computed(() => props.readonly);
24
+ const isDisabled = computed(() => props.disabled);
25
+ const isLoading = computed(() => props.loading);
26
+ async function validate() {
27
+ const results = [];
28
+ let valid = true;
29
+ errors.value = [];
30
+ isValidating.value = true;
31
+ for (const item of inputs.value) {
32
+ const itemErrors = await item.validate();
33
+ if (itemErrors.length > 0) {
34
+ valid = false;
35
+ results.push({
36
+ id: item.id,
37
+ vnode: item.vnode,
38
+ exposed: item.vnode.component?.exposed,
39
+ errors: itemErrors
40
+ });
41
+ }
42
+ }
43
+ errors.value = results;
44
+ isValidating.value = false;
45
+ return {
46
+ valid,
47
+ errors: errors.value
48
+ };
49
+ }
50
+ function register(input) {
51
+ const {
52
+ id,
53
+ validate,
54
+ vnode
55
+ } = input;
56
+ inputs.value.push({
57
+ id,
58
+ validate,
59
+ vnode,
60
+ isError: null,
61
+ errors: []
62
+ });
63
+ }
64
+ function unregister(id) {
65
+ inputs.value = inputs.value.filter(input => input.id !== id);
66
+ }
67
+ function update(id, isError, errors) {
68
+ const found = inputs.value.find(item => item.id === id);
69
+ if (!found) return;
70
+ found.isError = isError;
71
+ found.errors = errors;
72
+ }
73
+ const provideInstance = {
74
+ inputs,
75
+ isDisabled,
76
+ isReadonly,
77
+ isLoading,
78
+ isValid: model,
79
+ isValidating,
80
+ register,
81
+ unregister,
82
+ update,
83
+ validateOn: toRef(props, 'validateOn')
84
+ };
85
+ provide(YUYEON_FORM_KEY, provideInstance);
86
+ return {
87
+ inputs,
88
+ errors,
89
+ isValid: model,
90
+ isDisabled,
91
+ isReadonly,
92
+ isLoading,
93
+ isValidating,
94
+ validate
95
+ };
96
+ }
97
+ export function useForm() {
98
+ return inject(YUYEON_FORM_KEY, null);
99
+ }
100
+ //# sourceMappingURL=form.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.js","names":["computed","inject","provide","ref","shallowRef","toRef","propsFactory","useModelDuplex","YUYEON_FORM_KEY","Symbol","for","pressFormPropsOptions","readonly","Boolean","disabled","loading","modelValue","type","default","validateOn","String","createForm","props","model","isValidating","inputs","errors","isReadonly","isDisabled","isLoading","validate","results","valid","value","item","itemErrors","length","push","id","vnode","exposed","component","register","input","isError","unregister","filter","update","found","find","provideInstance","isValid","useForm"],"sources":["../../src/composables/form.ts"],"sourcesContent":["import {\r\n type ComputedRef,\r\n type InjectionKey,\r\n type PropType,\r\n type Ref,\r\n type VNode,\r\n computed,\r\n inject,\r\n provide,\r\n ref,\r\n shallowRef,\r\n toRef,\r\n} from 'vue';\r\n\r\nimport { type EventProp, propsFactory } from '@/util/component';\r\n\r\nimport { useModelDuplex } from './communication';\r\nimport { type ValidationProps } from './validation';\r\n\r\nexport interface FormInput {\r\n id: number | string;\r\n vnode: VNode;\r\n validate: () => Promise<any[]>;\r\n isError: boolean | undefined | null;\r\n errors: any[];\r\n}\r\n\r\nexport interface InputValidationResult {\r\n id: number | string;\r\n vnode: VNode;\r\n exposed: any;\r\n errors: any[];\r\n}\r\n\r\nexport interface FormValidationResult {\r\n valid: boolean;\r\n errors: InputValidationResult[];\r\n}\r\n\r\nexport interface SubmitEventPromise\r\n extends SubmitEvent,\r\n Promise<FormValidationResult> {}\r\n\r\nexport interface FormInstance {\r\n register: (input: {\r\n id: number | string;\r\n vnode: VNode;\r\n validate: () => Promise<any[]>;\r\n resetValidation: () => Promise<void>;\r\n }) => void;\r\n unregister: (id: number | string) => void;\r\n update: (\r\n id: number | string,\r\n isError: boolean | undefined | null,\r\n errors: any[],\r\n ) => void;\r\n inputs: Ref<FormInput[]>;\r\n isDisabled: ComputedRef<boolean>;\r\n isReadonly: ComputedRef<boolean>;\r\n isLoading: ComputedRef<boolean>;\r\n isValidating: Ref<boolean>;\r\n isValid: Ref<boolean | null>;\r\n validateOn: Ref<FormProps['validateOn']>;\r\n}\r\n\r\nexport const YUYEON_FORM_KEY: InjectionKey<FormInstance> =\r\n Symbol.for('yuyeon.form');\r\n\r\nexport interface FormProps {\r\n readonly: boolean;\r\n disabled: boolean;\r\n loading: boolean;\r\n modelValue: boolean | null;\r\n 'onUpdate:modelValue': EventProp<[boolean | null]> | undefined;\r\n validateOn: ValidationProps['validateOn'];\r\n}\r\n\r\nexport const pressFormPropsOptions = propsFactory(\r\n {\r\n readonly: Boolean,\r\n disabled: Boolean,\r\n loading: Boolean,\r\n modelValue: {\r\n type: Boolean as PropType<boolean | null>,\r\n default: null,\r\n },\r\n validateOn: {\r\n type: String as PropType<ValidationProps['validateOn']>,\r\n default: 'input',\r\n },\r\n },\r\n 'form',\r\n);\r\n\r\nexport function createForm(props: FormProps) {\r\n const model = useModelDuplex(props);\r\n const isValidating = shallowRef(false);\r\n const inputs = ref<FormInput[]>([]);\r\n const errors = ref<InputValidationResult[]>([]);\r\n\r\n const isReadonly = computed(() => props.readonly);\r\n const isDisabled = computed(() => props.disabled);\r\n const isLoading = computed(() => props.loading);\r\n\r\n async function validate() {\r\n const results: InputValidationResult[] = [];\r\n let valid = true;\r\n\r\n errors.value = [];\r\n isValidating.value = true;\r\n\r\n for (const item of inputs.value) {\r\n const itemErrors = await item.validate();\r\n\r\n if (itemErrors.length > 0) {\r\n valid = false;\r\n\r\n results.push({\r\n id: item.id,\r\n vnode: item.vnode,\r\n exposed: item.vnode.component?.exposed,\r\n errors: itemErrors,\r\n });\r\n }\r\n }\r\n\r\n errors.value = results;\r\n isValidating.value = false;\r\n\r\n return { valid, errors: errors.value };\r\n }\r\n\r\n function register(input: {\r\n id: number | string;\r\n vnode: VNode;\r\n validate: () => Promise<any[]>;\r\n }) {\r\n const { id, validate, vnode } = input;\r\n inputs.value.push({\r\n id,\r\n validate,\r\n vnode,\r\n isError: null,\r\n errors: [],\r\n });\r\n }\r\n\r\n function unregister(id: number | string) {\r\n inputs.value = inputs.value.filter((input) => input.id !== id);\r\n }\r\n\r\n function update(\r\n id: number | string,\r\n isError: boolean | undefined | null,\r\n errors: any[],\r\n ) {\r\n const found = inputs.value.find((item) => item.id === id);\r\n\r\n if (!found) return;\r\n\r\n found.isError = isError;\r\n found.errors = errors;\r\n }\r\n\r\n const provideInstance: FormInstance = {\r\n inputs,\r\n isDisabled,\r\n isReadonly,\r\n isLoading,\r\n isValid: model,\r\n isValidating,\r\n register,\r\n unregister,\r\n update,\r\n validateOn: toRef(props, 'validateOn'),\r\n };\r\n\r\n provide(YUYEON_FORM_KEY, provideInstance);\r\n\r\n return {\r\n inputs,\r\n errors,\r\n isValid: model,\r\n isDisabled,\r\n isReadonly,\r\n isLoading,\r\n isValidating,\r\n validate,\r\n };\r\n}\r\n\r\nexport function useForm() {\r\n return inject(YUYEON_FORM_KEY, null);\r\n}\r\n"],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { inject, provide } from 'vue';
2
+ import { createLocaleModule } from "./locale.js";
3
+ import { createRtlModule, createRtlProvideValue } from "./rtl.js";
4
+ import { YUYEON_I18N_KEY } from "./share.js";
5
+ export function createI18nModule(options) {
6
+ const localeModule = createLocaleModule(options);
7
+ const rtlModule = createRtlModule(localeModule, options);
8
+ return {
9
+ localeModule,
10
+ rtlModule
11
+ };
12
+ }
13
+ export function useI18n() {
14
+ const i18n = inject(YUYEON_I18N_KEY);
15
+ if (!i18n) throw new Error('【yuyeon】 Not found provided "I18nModule"');
16
+ return i18n;
17
+ }
18
+ export function provideI18n(props) {
19
+ const i18n = inject(YUYEON_I18N_KEY);
20
+ if (!i18n) throw new Error('【yuyeon】 Not found provided "I18nModule"');
21
+ const locale = i18n.getContext(props);
22
+ const rtl = createRtlProvideValue(locale, i18n.rtl, props);
23
+ const state = {
24
+ ...locale,
25
+ ...rtl
26
+ };
27
+ provide(YUYEON_I18N_KEY, state);
28
+ return state;
29
+ }
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["inject","provide","createLocaleModule","createRtlModule","createRtlProvideValue","YUYEON_I18N_KEY","createI18nModule","options","localeModule","rtlModule","useI18n","i18n","Error","provideI18n","props","locale","getContext","rtl","state"],"sources":["../../../src/composables/i18n/index.ts"],"sourcesContent":["import { inject, provide } from 'vue';\r\n\r\nimport type { LocaleModule, LocaleOptions } from '@/i18n/types';\r\n\r\nimport { createLocaleModule } from './locale';\r\nimport {\r\n type RtlModule,\r\n type RtlOptions,\r\n type RtlProps,\r\n createRtlModule,\r\n createRtlProvideValue,\r\n} from './rtl';\r\nimport { YUYEON_I18N_KEY } from './share';\r\n\r\nexport function createI18nModule(options?: LocaleOptions & RtlOptions) {\r\n const localeModule = createLocaleModule(options);\r\n const rtlModule = createRtlModule(localeModule, options);\r\n\r\n return {\r\n localeModule,\r\n rtlModule,\r\n };\r\n}\r\n\r\nexport function useI18n(): LocaleModule & RtlModule {\r\n const i18n = inject<any>(YUYEON_I18N_KEY);\r\n if (!i18n) throw new Error('【yuyeon】 Not found provided \"I18nModule\"');\r\n return i18n;\r\n}\r\n\r\nexport function provideI18n(props: LocaleOptions & RtlProps) {\r\n const i18n = inject<any>(YUYEON_I18N_KEY);\r\n if (!i18n) throw new Error('【yuyeon】 Not found provided \"I18nModule\"');\r\n\r\n const locale = i18n.getContext(props);\r\n const rtl = createRtlProvideValue(locale, i18n.rtl, props);\r\n\r\n const state = {\r\n ...locale,\r\n ...rtl,\r\n };\r\n provide(YUYEON_I18N_KEY, state);\r\n\r\n return state;\r\n}\r\n"],"mappings":"AAAA,SAASA,MAAM,EAAEC,OAAO,QAAQ,KAAK;AAAC,SAI7BC,kBAAkB;AAAA,SAKzBC,eAAe,EACfC,qBAAqB;AAAA,SAEdC,eAAe;AAExB,OAAO,SAASC,gBAAgBA,CAACC,OAAoC,EAAE;EACrE,MAAMC,YAAY,GAAGN,kBAAkB,CAACK,OAAO,CAAC;EAChD,MAAME,SAAS,GAAGN,eAAe,CAACK,YAAY,EAAED,OAAO,CAAC;EAExD,OAAO;IACLC,YAAY;IACZC;EACF,CAAC;AACH;AAEA,OAAO,SAASC,OAAOA,CAAA,EAA6B;EAClD,MAAMC,IAAI,GAAGX,MAAM,CAAMK,eAAe,CAAC;EACzC,IAAI,CAACM,IAAI,EAAE,MAAM,IAAIC,KAAK,CAAC,0CAA0C,CAAC;EACtE,OAAOD,IAAI;AACb;AAEA,OAAO,SAASE,WAAWA,CAACC,KAA+B,EAAE;EAC3D,MAAMH,IAAI,GAAGX,MAAM,CAAMK,eAAe,CAAC;EACzC,IAAI,CAACM,IAAI,EAAE,MAAM,IAAIC,KAAK,CAAC,0CAA0C,CAAC;EAEtE,MAAMG,MAAM,GAAGJ,IAAI,CAACK,UAAU,CAACF,KAAK,CAAC;EACrC,MAAMG,GAAG,GAAGb,qBAAqB,CAACW,MAAM,EAAEJ,IAAI,CAACM,GAAG,EAAEH,KAAK,CAAC;EAE1D,MAAMI,KAAK,GAAG;IACZ,GAAGH,MAAM;IACT,GAAGE;EACL,CAAC;EACDhB,OAAO,CAACI,eAAe,EAAEa,KAAK,CAAC;EAE/B,OAAOA,KAAK;AACd"}
@@ -0,0 +1,5 @@
1
+ import { constructYuyeonI18nAdapter } from "../../i18n/built-in.js";
2
+ export function createLocaleModule(options) {
3
+ return options?.adapter && options.adapter?.name ? options.adapter : constructYuyeonI18nAdapter(options);
4
+ }
5
+ //# sourceMappingURL=locale.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locale.js","names":["constructYuyeonI18nAdapter","createLocaleModule","options","adapter","name"],"sources":["../../../src/composables/i18n/locale.ts"],"sourcesContent":["import { constructYuyeonI18nAdapter } from '../../i18n/built-in';\r\nimport { LocaleOptions } from '../../i18n/types';\r\n\r\nexport function createLocaleModule(options?: LocaleOptions) {\r\n return options?.adapter && options.adapter?.name\r\n ? options.adapter\r\n : constructYuyeonI18nAdapter(options);\r\n}\r\n"],"mappings":"SAASA,0BAA0B;AAGnC,OAAO,SAASC,kBAAkBA,CAACC,OAAuB,EAAE;EAC1D,OAAOA,OAAO,EAAEC,OAAO,IAAID,OAAO,CAACC,OAAO,EAAEC,IAAI,GAC5CF,OAAO,CAACC,OAAO,GACfH,0BAA0B,CAACE,OAAO,CAAC;AACzC"}
@@ -0,0 +1,34 @@
1
+ import { computed, inject, ref } from 'vue';
2
+ import { defaultRtl } from "../../i18n/config.js";
3
+ import { YUYEON_I18N_KEY } from "./share.js";
4
+ export const YUYEON_RTL_KEY = Symbol.for('yuyeon.rtl');
5
+ export function createRtlModule(localeModule, options) {
6
+ const rtlOptions = ref(options?.rtlOptions ?? defaultRtl);
7
+ const rtl = computed(() => {
8
+ return rtlOptions.value[localeModule.locale.value] ?? false;
9
+ });
10
+ const rtlClasses = computed(() => `y-i18n--${rtl.value ? 'rtl' : 'ltr'}`);
11
+ return {
12
+ rtlOptions,
13
+ rtl,
14
+ rtlClasses
15
+ };
16
+ }
17
+ export function createRtlProvideValue(localeModule, rtlOptions, props) {
18
+ const rtl = computed(() => props.rtl ?? rtlOptions.value[localeModule.locale.value] ?? false);
19
+ const rtlClasses = computed(() => `y-i18n--${rtl.value ? 'rtl' : 'ltr'}`);
20
+ return {
21
+ rtl,
22
+ rtlOptions,
23
+ rtlClasses
24
+ };
25
+ }
26
+ export function useRtl() {
27
+ const i18n = inject(YUYEON_I18N_KEY);
28
+ if (!i18n) throw new Error('Not found provided "I18nModule" for rtl');
29
+ return {
30
+ rtl: i18n.rtl,
31
+ rtlClasses: i18n.rtlClasses
32
+ };
33
+ }
34
+ //# sourceMappingURL=rtl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rtl.js","names":["computed","inject","ref","defaultRtl","YUYEON_I18N_KEY","YUYEON_RTL_KEY","Symbol","for","createRtlModule","localeModule","options","rtlOptions","rtl","value","locale","rtlClasses","createRtlProvideValue","props","useRtl","i18n","Error"],"sources":["../../../src/composables/i18n/rtl.ts"],"sourcesContent":["import { computed, inject, ref } from 'vue';\r\nimport type { Ref } from 'vue';\r\n\r\nimport { defaultRtl } from '../../i18n/config';\r\nimport { LocaleModule } from '../../i18n/types';\r\nimport { YUYEON_I18N_KEY } from './share';\r\n\r\nexport const YUYEON_RTL_KEY = Symbol.for('yuyeon.rtl');\r\n\r\nexport interface RtlOptions {\r\n rtlOptions: Record<string, boolean>;\r\n}\r\n\r\nexport interface RtlProps {\r\n rtl?: boolean;\r\n}\r\n\r\nexport interface RtlModule {\r\n rtl: Ref<boolean>;\r\n rtlOptions: Ref<Record<string, boolean>>;\r\n rtlClasses: Ref<string>;\r\n}\r\n\r\nexport function createRtlModule(\r\n localeModule: LocaleModule,\r\n options?: RtlOptions,\r\n): RtlModule {\r\n const rtlOptions = ref<Record<string, boolean>>(\r\n options?.rtlOptions ?? defaultRtl,\r\n );\r\n const rtl = computed(() => {\r\n return rtlOptions.value[localeModule.locale.value] ?? false;\r\n });\r\n const rtlClasses = computed(() => `y-i18n--${rtl.value ? 'rtl' : 'ltr'}`);\r\n\r\n return {\r\n rtlOptions,\r\n rtl,\r\n rtlClasses,\r\n };\r\n}\r\n\r\nexport function createRtlProvideValue(\r\n localeModule: LocaleModule,\r\n rtlOptions: RtlModule['rtlOptions'],\r\n props: RtlProps,\r\n): RtlModule {\r\n const rtl = computed(\r\n () => props.rtl ?? rtlOptions.value[localeModule.locale.value] ?? false,\r\n );\r\n const rtlClasses = computed(() => `y-i18n--${rtl.value ? 'rtl' : 'ltr'}`);\r\n\r\n return {\r\n rtl,\r\n rtlOptions,\r\n rtlClasses,\r\n };\r\n}\r\n\r\nexport function useRtl() {\r\n const i18n = inject<any>(YUYEON_I18N_KEY);\r\n if (!i18n) throw new Error('Not found provided \"I18nModule\" for rtl');\r\n return {\r\n rtl: i18n.rtl,\r\n rtlClasses: i18n.rtlClasses,\r\n };\r\n}\r\n"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,MAAM,EAAEC,GAAG,QAAQ,KAAK;AAAC,SAGnCC,UAAU;AAAA,SAEVC,eAAe;AAExB,OAAO,MAAMC,cAAc,GAAGC,MAAM,CAACC,GAAG,CAAC,YAAY,CAAC;AAgBtD,OAAO,SAASC,eAAeA,CAC7BC,YAA0B,EAC1BC,OAAoB,EACT;EACX,MAAMC,UAAU,GAAGT,GAAG,CACpBQ,OAAO,EAAEC,UAAU,IAAIR,UACzB,CAAC;EACD,MAAMS,GAAG,GAAGZ,QAAQ,CAAC,MAAM;IACzB,OAAOW,UAAU,CAACE,KAAK,CAACJ,YAAY,CAACK,MAAM,CAACD,KAAK,CAAC,IAAI,KAAK;EAC7D,CAAC,CAAC;EACF,MAAME,UAAU,GAAGf,QAAQ,CAAC,MAAO,WAAUY,GAAG,CAACC,KAAK,GAAG,KAAK,GAAG,KAAM,EAAC,CAAC;EAEzE,OAAO;IACLF,UAAU;IACVC,GAAG;IACHG;EACF,CAAC;AACH;AAEA,OAAO,SAASC,qBAAqBA,CACnCP,YAA0B,EAC1BE,UAAmC,EACnCM,KAAe,EACJ;EACX,MAAML,GAAG,GAAGZ,QAAQ,CAClB,MAAMiB,KAAK,CAACL,GAAG,IAAID,UAAU,CAACE,KAAK,CAACJ,YAAY,CAACK,MAAM,CAACD,KAAK,CAAC,IAAI,KACpE,CAAC;EACD,MAAME,UAAU,GAAGf,QAAQ,CAAC,MAAO,WAAUY,GAAG,CAACC,KAAK,GAAG,KAAK,GAAG,KAAM,EAAC,CAAC;EAEzE,OAAO;IACLD,GAAG;IACHD,UAAU;IACVI;EACF,CAAC;AACH;AAEA,OAAO,SAASG,MAAMA,CAAA,EAAG;EACvB,MAAMC,IAAI,GAAGlB,MAAM,CAAMG,eAAe,CAAC;EACzC,IAAI,CAACe,IAAI,EAAE,MAAM,IAAIC,KAAK,CAAC,yCAAyC,CAAC;EACrE,OAAO;IACLR,GAAG,EAAEO,IAAI,CAACP,GAAG;IACbG,UAAU,EAAEI,IAAI,CAACJ;EACnB,CAAC;AACH"}
@@ -0,0 +1,2 @@
1
+ export const YUYEON_I18N_KEY = Symbol.for('yuyeon.i18n');
2
+ //# sourceMappingURL=share.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"share.js","names":["YUYEON_I18N_KEY","Symbol","for"],"sources":["../../../src/composables/i18n/share.ts"],"sourcesContent":["export const YUYEON_I18N_KEY = Symbol.for('yuyeon.i18n');\r\n"],"mappings":"AAAA,OAAO,MAAMA,eAAe,GAAGC,MAAM,CAACC,GAAG,CAAC,aAAa,CAAC"}
@@ -0,0 +1,164 @@
1
+ import { createVNode as _createVNode, Fragment as _Fragment } from "vue";
2
+ import { computed, h, inject, mergeProps, unref } from 'vue';
3
+ import { builtSet } from "../components/icons/index.js";
4
+ import { mergeDeep } from "../util/common.js";
5
+ import { defineComponent } from "../util/component/component.js";
6
+ import { propsFactory } from "../util/component/props.js";
7
+ export const IconPropOption = [String, Function, Object, Array];
8
+ export const IconValue = [String, Object, Array, Function];
9
+ export const pressIconPropsOptions = propsFactory({
10
+ icon: {
11
+ type: IconValue
12
+ },
13
+ tag: {
14
+ type: String,
15
+ required: true
16
+ }
17
+ }, 'icon');
18
+ export const YComponentIcon = defineComponent({
19
+ name: 'YComponentIcon',
20
+ props: pressIconPropsOptions(),
21
+ setup(props, _ref) {
22
+ let {
23
+ slots
24
+ } = _ref;
25
+ return () => {
26
+ const icon = props.icon;
27
+ let Icon = () => _createVNode(_Fragment, null, null);
28
+ let iconProps = {};
29
+ if (icon instanceof Object) {
30
+ Icon = icon;
31
+ if ('component' in icon) {
32
+ Icon = icon.component;
33
+ iconProps = icon?.props;
34
+ }
35
+ }
36
+ return _createVNode(props.tag, null, {
37
+ default: () => [props.icon ? _createVNode(Icon, mergeProps(iconProps), null) : slots.default?.()]
38
+ });
39
+ };
40
+ }
41
+ });
42
+ export const YSvgIcon = defineComponent({
43
+ name: 'YSvgIcon',
44
+ inheritAttrs: false,
45
+ props: pressIconPropsOptions(),
46
+ setup(props, _ref2) {
47
+ let {
48
+ attrs
49
+ } = _ref2;
50
+ return () => {
51
+ return _createVNode(props.tag, attrs, {
52
+ default: () => [_createVNode("svg", {
53
+ "class": "y-icon__svg",
54
+ "xmlns": "http://www.w3.org/2000/svg",
55
+ "viewBox": "0 0 24 24",
56
+ "role": "img",
57
+ "aria-hidden": "true"
58
+ }, [Array.isArray(props.icon) ? props.icon.map(path => Array.isArray(path) ? _createVNode("path", {
59
+ "d": path[0],
60
+ "fill-opacity": path[1]
61
+ }, null) : _createVNode("path", {
62
+ "d": path
63
+ }, null)) : _createVNode("path", {
64
+ "d": props.icon
65
+ }, null)])]
66
+ });
67
+ };
68
+ }
69
+ });
70
+ export const YUYEON_ICON_KEY = Symbol.for('yuyeon.icon');
71
+ export function createIconModule(options) {
72
+ return mergeDeep({
73
+ defaultSet: 'built',
74
+ sets: {
75
+ svg: {
76
+ component: YSvgIcon
77
+ }
78
+ },
79
+ aliases: {
80
+ ...builtSet
81
+ }
82
+ }, options);
83
+ }
84
+ export function useIcon(iconProp) {
85
+ const iconModule = inject(YUYEON_ICON_KEY);
86
+ if (!iconModule) throw new Error('Not found provided "IconModule"');
87
+ const iconData = computed(() => {
88
+ const iconMeta = unref(iconProp);
89
+ if (!iconMeta) return {
90
+ component: YComponentIcon
91
+ };
92
+ let icon = iconMeta;
93
+ if (typeof icon === 'object' && 'alias' in icon && typeof icon.alias === 'string') {
94
+ icon = icon.alias;
95
+ }
96
+ if (typeof icon === 'string') {
97
+ icon = icon.trim();
98
+ if (icon.startsWith('$')) {
99
+ icon = iconModule.aliases?.[icon.slice(1)];
100
+ }
101
+ }
102
+ if (!icon) throw new Error(`Could not find aliased icon "${iconMeta}"`);
103
+ if (Array.isArray(icon)) {
104
+ return {
105
+ component: YSvgIcon,
106
+ icon
107
+ };
108
+ } else if (typeof icon !== 'string') {
109
+ const iconValue = unref(iconProp);
110
+ if (iconValue && typeof iconValue === 'object' && 'iconProps' in iconValue) {
111
+ icon = {
112
+ component: 'component' in icon ? icon.component : icon,
113
+ props: 'props' in icon ? mergeDeep(icon.props, iconValue?.iconProps ?? {}) : iconValue.iconProps
114
+ };
115
+ }
116
+ return {
117
+ component: YComponentIcon,
118
+ icon
119
+ };
120
+ }
121
+ const iconSetName = Object.keys(iconModule.sets).find(setName => typeof icon === 'string' && icon.startsWith(`${setName}:`));
122
+ const iconName = iconSetName ? icon.slice(iconSetName.length + 1) : icon;
123
+ const iconSet = iconModule.sets[iconSetName ?? iconModule.defaultSet];
124
+ if (!iconSet?.component && typeof icon === 'string') {
125
+ const text = new DOMParser().parseFromString(icon, 'text/xml');
126
+ const svgNode = text.querySelector('svg');
127
+ if (svgNode) {
128
+ return {
129
+ component: YComponentIcon,
130
+ icon: {
131
+ mounted() {
132
+ svgNode.childNodes.forEach(child => {
133
+ this.$el?.appendChild(child);
134
+ });
135
+ },
136
+ render: function () {
137
+ const attrs = {};
138
+ if (svgNode.hasAttributes()) {
139
+ for (let i = 0; i < svgNode.attributes.length; i += 1) {
140
+ const attr = svgNode.attributes.item(i);
141
+ if (attr) {
142
+ attrs[`^${attr.name}`] = attr.value;
143
+ }
144
+ }
145
+ }
146
+ const node = h('svg', {
147
+ ...attrs
148
+ }, []);
149
+ return node;
150
+ }
151
+ }
152
+ };
153
+ }
154
+ }
155
+ return {
156
+ icon: iconName,
157
+ component: iconSet.component
158
+ };
159
+ });
160
+ return {
161
+ iconData
162
+ };
163
+ }
164
+ //# sourceMappingURL=icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon.js","names":["computed","h","inject","mergeProps","unref","builtSet","mergeDeep","defineComponent","propsFactory","IconPropOption","String","Function","Object","Array","IconValue","pressIconPropsOptions","icon","type","tag","required","YComponentIcon","name","props","setup","_ref","slots","Icon","_createVNode","_Fragment","iconProps","component","default","YSvgIcon","inheritAttrs","_ref2","attrs","isArray","map","path","YUYEON_ICON_KEY","Symbol","for","createIconModule","options","defaultSet","sets","svg","aliases","useIcon","iconProp","iconModule","Error","iconData","iconMeta","alias","trim","startsWith","slice","iconValue","iconSetName","keys","find","setName","iconName","length","iconSet","text","DOMParser","parseFromString","svgNode","querySelector","mounted","childNodes","forEach","child","$el","appendChild","render","hasAttributes","i","attributes","attr","item","value","node"],"sources":["../../src/composables/icon.tsx"],"sourcesContent":["import {\r\n type HTMLAttributes,\r\n type InjectionKey,\r\n type PropType,\r\n type Ref,\r\n type SVGAttributes,\r\n computed,\r\n h,\r\n inject,\r\n mergeProps,\r\n unref,\r\n} from 'vue';\r\n\r\nimport { builtSet } from '@/components/icons';\r\nimport type { JSXComponent } from '@/types';\r\nimport { mergeDeep } from '@/util/common';\r\nimport { defineComponent } from '@/util/component/component';\r\nimport { propsFactory } from '@/util/component/props';\r\n\r\ntype IconComponent =\r\n | JSXComponent<IconProps>\r\n | JSXComponent<SVGAttributes | HTMLAttributes>;\r\n\r\nexport type IconValue =\r\n | string\r\n | (string | [path: string, opacity: number])[]\r\n | IconComponent\r\n | { component: JSXComponent; props?: any }\r\n | { alias: string; iconProps?: any };\r\n\r\nexport const IconPropOption = [\r\n String,\r\n Function,\r\n Object,\r\n Array,\r\n] as PropType<IconValue>;\r\n\r\ntype IconProps = {\r\n tag: string;\r\n icon?: IconValue;\r\n disabled?: Boolean;\r\n};\r\n\r\nexport interface IconSet {\r\n component: IconComponent;\r\n}\r\n\r\nexport const IconValue = [\r\n String,\r\n Object,\r\n Array,\r\n Function,\r\n] as PropType<IconValue>;\r\n\r\nexport type IconModuleOptions = {\r\n defaultSet?: string;\r\n sets?: Record<string, IconSet>;\r\n aliases?: Partial<Record<string, any>>;\r\n};\r\n\r\nexport const pressIconPropsOptions = propsFactory(\r\n {\r\n icon: {\r\n type: IconValue,\r\n },\r\n tag: {\r\n type: String,\r\n required: true,\r\n },\r\n },\r\n 'icon',\r\n);\r\n\r\nexport const YComponentIcon = defineComponent({\r\n name: 'YComponentIcon',\r\n props: pressIconPropsOptions(),\r\n setup(props, { slots }) {\r\n return () => {\r\n const icon = props.icon as unknown;\r\n let Icon: JSXComponent = () => <></>;\r\n let iconProps: any = {};\r\n if (icon instanceof Object) {\r\n Icon = icon as JSXComponent;\r\n if ('component' in icon) {\r\n Icon = icon.component as JSXComponent;\r\n iconProps = (icon as any)?.props;\r\n }\r\n }\r\n return (\r\n <props.tag>\r\n {props.icon ? <Icon {...mergeProps(iconProps)} /> : slots.default?.()}\r\n </props.tag>\r\n );\r\n };\r\n },\r\n});\r\nexport type YComponentIcon = InstanceType<typeof YComponentIcon>;\r\n\r\nexport const YSvgIcon = defineComponent({\r\n name: 'YSvgIcon',\r\n inheritAttrs: false,\r\n props: pressIconPropsOptions(),\r\n setup(props, { attrs }) {\r\n return () => {\r\n return (\r\n <props.tag {...attrs}>\r\n <svg\r\n class=\"y-icon__svg\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 24 24\"\r\n role=\"img\"\r\n aria-hidden=\"true\"\r\n >\r\n {Array.isArray(props.icon) ? (\r\n props.icon.map((path) =>\r\n Array.isArray(path) ? (\r\n <path d={path[0] as string} fill-opacity={path[1]}></path>\r\n ) : (\r\n <path d={path as string}></path>\r\n ),\r\n )\r\n ) : (\r\n <path d={props.icon as string}></path>\r\n )}\r\n </svg>\r\n </props.tag>\r\n );\r\n };\r\n },\r\n});\r\nexport type YSvgIcon = InstanceType<typeof YSvgIcon>;\r\n\r\nexport const YUYEON_ICON_KEY: InjectionKey<Required<IconModuleOptions>> =\r\n Symbol.for('yuyeon.icon');\r\n\r\nexport function createIconModule(options?: IconModuleOptions) {\r\n return mergeDeep(\r\n {\r\n defaultSet: 'built',\r\n sets: {\r\n svg: {\r\n component: YSvgIcon,\r\n },\r\n },\r\n aliases: {\r\n ...builtSet,\r\n },\r\n },\r\n options,\r\n ) as Required<IconModuleOptions>;\r\n}\r\n\r\ntype IconInstance = {\r\n component: IconComponent;\r\n icon?: IconValue;\r\n};\r\n\r\nexport function useIcon(iconProp: Ref<IconValue | undefined>) {\r\n const iconModule = inject(YUYEON_ICON_KEY);\r\n\r\n if (!iconModule) throw new Error('Not found provided \"IconModule\"');\r\n\r\n const iconData = computed<IconInstance>(() => {\r\n const iconMeta = unref(iconProp);\r\n\r\n if (!iconMeta) return { component: YComponentIcon };\r\n\r\n let icon: IconValue | undefined = iconMeta;\r\n\r\n if (\r\n typeof icon === 'object' &&\r\n 'alias' in icon &&\r\n typeof icon.alias === 'string'\r\n ) {\r\n icon = icon.alias;\r\n }\r\n\r\n if (typeof icon === 'string') {\r\n icon = icon.trim();\r\n\r\n if (icon.startsWith('$')) {\r\n icon = iconModule.aliases?.[icon.slice(1)];\r\n }\r\n }\r\n\r\n if (!icon) throw new Error(`Could not find aliased icon \"${iconMeta}\"`);\r\n\r\n if (Array.isArray(icon)) {\r\n return {\r\n component: YSvgIcon,\r\n icon,\r\n };\r\n } else if (typeof icon !== 'string') {\r\n const iconValue = unref(iconProp);\r\n if (\r\n iconValue &&\r\n typeof iconValue === 'object' &&\r\n 'iconProps' in iconValue\r\n ) {\r\n icon = {\r\n component:\r\n 'component' in icon ? icon.component : (icon as JSXComponent),\r\n props:\r\n 'props' in icon\r\n ? mergeDeep(icon.props, iconValue?.iconProps ?? {})\r\n : iconValue.iconProps,\r\n };\r\n }\r\n\r\n return {\r\n component: YComponentIcon,\r\n icon,\r\n };\r\n }\r\n\r\n const iconSetName = Object.keys(iconModule.sets).find(\r\n (setName) => typeof icon === 'string' && icon.startsWith(`${setName}:`),\r\n );\r\n\r\n const iconName = iconSetName ? icon.slice(iconSetName.length + 1) : icon;\r\n const iconSet = iconModule.sets[iconSetName ?? iconModule.defaultSet];\r\n\r\n if (!iconSet?.component && typeof icon === 'string') {\r\n const text = new DOMParser().parseFromString(icon, 'text/xml');\r\n const svgNode = text.querySelector('svg');\r\n if (svgNode) {\r\n return {\r\n component: YComponentIcon,\r\n icon: {\r\n mounted() {\r\n svgNode.childNodes.forEach((child) => {\r\n this.$el?.appendChild(child);\r\n });\r\n },\r\n render: function () {\r\n const attrs: any = {};\r\n if (svgNode.hasAttributes()) {\r\n for (let i = 0; i < svgNode.attributes.length; i += 1) {\r\n const attr = svgNode.attributes.item(i);\r\n if (attr) {\r\n attrs[`^${attr.name}`] = attr.value;\r\n }\r\n }\r\n }\r\n\r\n const node = h('svg', { ...attrs }, []);\r\n return node;\r\n },\r\n } as any,\r\n };\r\n }\r\n }\r\n\r\n return {\r\n icon: iconName,\r\n component: iconSet.component,\r\n };\r\n });\r\n\r\n return {\r\n iconData,\r\n };\r\n}\r\n"],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export * from "./communication.js";
2
+ export * from "./date/index.js";
3
+ export * from "./resize-observer.js";
4
+ export * from "./component.js";
5
+ export * from "./focus.js";
6
+ export * from "./scope.js";
7
+ export * from "./timing.js";
8
+ export * from "./transition.js";
9
+ export * from "./vue-router.js";
10
+ export * from "./theme/index.js";
11
+ //# sourceMappingURL=index.js.map