yuyeon 0.1.2-rc.2 → 0.2.1-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (418) hide show
  1. package/dist/style.css +1 -1
  2. package/dist/yuyeon.js +5152 -6751
  3. package/dist/yuyeon.umd.cjs +4 -26
  4. package/lib/abstract/items.mjs +1 -1
  5. package/lib/abstract/items.mjs.map +1 -1
  6. package/lib/components/alert/YAlert.mjs +2 -1
  7. package/lib/components/alert/YAlert.mjs.map +1 -1
  8. package/lib/components/alert/YAlert.scss +75 -76
  9. package/lib/components/alert/index.mjs.map +1 -1
  10. package/lib/components/app/YApp.mjs +3 -2
  11. package/lib/components/app/YApp.mjs.map +1 -1
  12. package/lib/components/app/YApp.scss +14 -14
  13. package/lib/components/app/index.mjs.map +1 -1
  14. package/lib/components/badge/YBadge.mjs +2 -2
  15. package/lib/components/badge/YBadge.mjs.map +1 -1
  16. package/lib/components/badge/YBadge.scss +76 -76
  17. package/lib/components/badge/index.mjs.map +1 -1
  18. package/lib/components/bench/YBench.mjs +2 -3
  19. package/lib/components/bench/YBench.mjs.map +1 -1
  20. package/lib/components/bench/index.mjs.map +1 -1
  21. package/lib/components/button/YButton.mjs +2 -2
  22. package/lib/components/button/YButton.mjs.map +1 -1
  23. package/lib/components/button/YButton.scss +128 -129
  24. package/lib/components/button/index.mjs.map +1 -1
  25. package/lib/components/card/YCard.mjs +3 -2
  26. package/lib/components/card/YCard.mjs.map +1 -1
  27. package/lib/components/card/YCard.scss +45 -43
  28. package/lib/components/card/YCardBody.mjs +2 -1
  29. package/lib/components/card/YCardBody.mjs.map +1 -1
  30. package/lib/components/card/YCardFooter.mjs +2 -1
  31. package/lib/components/card/YCardFooter.mjs.map +1 -1
  32. package/lib/components/card/YCardHeader.mjs +2 -1
  33. package/lib/components/card/YCardHeader.mjs.map +1 -1
  34. package/lib/components/checkbox/YCheckbox.mjs +2 -2
  35. package/lib/components/checkbox/YCheckbox.mjs.map +1 -1
  36. package/lib/components/checkbox/YCheckbox.scss +48 -48
  37. package/lib/components/checkbox/YInputCheckbox.mjs +2 -1
  38. package/lib/components/checkbox/YInputCheckbox.mjs.map +1 -1
  39. package/lib/components/checkbox/YInputCheckbox.scss +84 -86
  40. package/lib/components/checkbox/index.mjs +1 -1
  41. package/lib/components/checkbox/index.mjs.map +1 -1
  42. package/lib/components/chip/YChip.mjs +2 -2
  43. package/lib/components/chip/YChip.mjs.map +1 -1
  44. package/lib/components/date-picker/YDateCalendar.mjs +3 -3
  45. package/lib/components/date-picker/YDateCalendar.mjs.map +1 -1
  46. package/lib/components/date-picker/YDateCalendar.scss +84 -82
  47. package/lib/components/date-picker/YDatePicker.mjs +2 -2
  48. package/lib/components/date-picker/YDatePicker.mjs.map +1 -1
  49. package/lib/components/date-picker/YDatePicker.scss +3 -3
  50. package/lib/components/date-picker/YDatePickerControl.mjs +2 -2
  51. package/lib/components/date-picker/YDatePickerControl.mjs.map +1 -1
  52. package/lib/components/date-picker/YDatePickerControl.scss +35 -35
  53. package/lib/components/date-picker/YMonthPicker.mjs +3 -3
  54. package/lib/components/date-picker/YMonthPicker.mjs.map +1 -1
  55. package/lib/components/date-picker/YMonthPicker.scss +25 -25
  56. package/lib/components/date-picker/YYearPicker.mjs +4 -3
  57. package/lib/components/date-picker/YYearPicker.mjs.map +1 -1
  58. package/lib/components/date-picker/YYearPicker.scss +23 -23
  59. package/lib/components/date-picker/index.mjs.map +1 -1
  60. package/lib/components/dialog/YDialog.mjs +3 -3
  61. package/lib/components/dialog/YDialog.mjs.map +1 -1
  62. package/lib/components/dialog/YDialog.scss +50 -50
  63. package/lib/components/dialog/index.mjs.map +1 -1
  64. package/lib/components/divider/YDivider.mjs +1 -2
  65. package/lib/components/divider/YDivider.mjs.map +1 -1
  66. package/lib/components/divider/YDivider.scss +2 -3
  67. package/lib/components/divider/index.mjs.map +1 -1
  68. package/lib/components/dropdown/YDropdown.mjs +2 -2
  69. package/lib/components/dropdown/YDropdown.mjs.map +1 -1
  70. package/lib/components/dropdown/YDropdown.scss +27 -28
  71. package/lib/components/dropdown/index.mjs.map +1 -1
  72. package/lib/components/field-input/YFieldInput.mjs +2 -2
  73. package/lib/components/field-input/YFieldInput.mjs.map +1 -1
  74. package/lib/components/field-input/YFieldInput.scss +66 -66
  75. package/lib/components/field-input/index.mjs.map +1 -1
  76. package/lib/components/form/YForm.mjs +3 -2
  77. package/lib/components/form/YForm.mjs.map +1 -1
  78. package/lib/components/hover/YHover.mjs +2 -2
  79. package/lib/components/hover/YHover.mjs.map +1 -1
  80. package/lib/components/hover/index.mjs.map +1 -1
  81. package/lib/components/icon/YIcon.mjs +4 -3
  82. package/lib/components/icon/YIcon.mjs.map +1 -1
  83. package/lib/components/icon/YIcon.scss +18 -18
  84. package/lib/components/icon/index.mjs.map +1 -1
  85. package/lib/components/icons/YIconCheckbox.mjs +1 -1
  86. package/lib/components/icons/YIconCheckbox.mjs.map +1 -1
  87. package/lib/components/icons/YIconCheckbox.scss +60 -60
  88. package/lib/components/icons/YIconClear.mjs +1 -1
  89. package/lib/components/icons/YIconClear.mjs.map +1 -1
  90. package/lib/components/icons/YIconDropdown.mjs +1 -1
  91. package/lib/components/icons/YIconDropdown.mjs.map +1 -1
  92. package/lib/components/icons/YIconExpand.mjs +1 -1
  93. package/lib/components/icons/YIconExpand.mjs.map +1 -1
  94. package/lib/components/icons/YIconPageControl.mjs +1 -1
  95. package/lib/components/icons/YIconPageControl.mjs.map +1 -1
  96. package/lib/components/icons/YIconSort.mjs +1 -1
  97. package/lib/components/icons/YIconSort.mjs.map +1 -1
  98. package/lib/components/icons/YIconSort.scss +24 -23
  99. package/lib/components/icons/index.mjs +1 -1
  100. package/lib/components/icons/index.mjs.map +1 -1
  101. package/lib/components/img/YImg.mjs +2 -3
  102. package/lib/components/img/YImg.mjs.map +1 -1
  103. package/lib/components/input/YInput.mjs +3 -4
  104. package/lib/components/input/YInput.mjs.map +1 -1
  105. package/lib/components/input/YInput.scss +258 -254
  106. package/lib/components/input/index.mjs.map +1 -1
  107. package/lib/components/ip-field/YIpField.scss +74 -74
  108. package/lib/components/ip-field/YIpv4Field.mjs +2 -2
  109. package/lib/components/ip-field/YIpv4Field.mjs.map +1 -1
  110. package/lib/components/ip-field/index.mjs.map +1 -1
  111. package/lib/components/layer/YLayer.mjs +2 -2
  112. package/lib/components/layer/YLayer.mjs.map +1 -1
  113. package/lib/components/layer/YLayer.scss +38 -38
  114. package/lib/components/layer/active-delay.mjs.map +1 -1
  115. package/lib/components/layer/active-stack.mjs.map +1 -1
  116. package/lib/components/layer/base.mjs +1 -1
  117. package/lib/components/layer/base.mjs.map +1 -1
  118. package/lib/components/layer/content.mjs +1 -1
  119. package/lib/components/layer/content.mjs.map +1 -1
  120. package/lib/components/layer/scroll-strategies.mjs +1 -1
  121. package/lib/components/layer/scroll-strategies.mjs.map +1 -1
  122. package/lib/components/list/YList.mjs +2 -2
  123. package/lib/components/list/YList.mjs.map +1 -1
  124. package/lib/components/list/YList.scss +3 -3
  125. package/lib/components/list/YListItem.mjs +2 -2
  126. package/lib/components/list/YListItem.mjs.map +1 -1
  127. package/lib/components/list/YListItem.scss +62 -62
  128. package/lib/components/list/index.mjs.map +1 -1
  129. package/lib/components/loading/YSpinnerRing.mjs +1 -1
  130. package/lib/components/loading/YSpinnerRing.mjs.map +1 -1
  131. package/lib/components/menu/YMenu.mjs +5 -4
  132. package/lib/components/menu/YMenu.mjs.map +1 -1
  133. package/lib/components/menu/YMenu.scss +25 -22
  134. package/lib/components/menu/index.mjs.map +1 -1
  135. package/lib/components/navigation/YNavigation.mjs +2 -1
  136. package/lib/components/navigation/YNavigation.mjs.map +1 -1
  137. package/lib/components/pagination/YPagination.mjs +2 -2
  138. package/lib/components/pagination/YPagination.mjs.map +1 -1
  139. package/lib/components/pagination/YPagination.scss +52 -51
  140. package/lib/components/pagination/index.mjs.map +1 -1
  141. package/lib/components/panel/YDividePanel.mjs.map +1 -1
  142. package/lib/components/panel/YDividePanel.scss +43 -43
  143. package/lib/components/panel/index.mjs.map +1 -1
  144. package/lib/components/plate/YPlate.mjs +2 -1
  145. package/lib/components/plate/YPlate.mjs.map +1 -1
  146. package/lib/components/plate/YPlate.scss +9 -9
  147. package/lib/components/progress-bar/YProgressBar.mjs +2 -2
  148. package/lib/components/progress-bar/YProgressBar.mjs.map +1 -1
  149. package/lib/components/progress-bar/YProgressBar.scss +6 -4
  150. package/lib/components/select/YSelect.mjs +3 -5
  151. package/lib/components/select/YSelect.mjs.map +1 -1
  152. package/lib/components/select/YSelect.scss +43 -43
  153. package/lib/components/select/index.mjs.map +1 -1
  154. package/lib/components/snackbar/YSnackbar.mjs +3 -4
  155. package/lib/components/snackbar/YSnackbar.mjs.map +1 -1
  156. package/lib/components/snackbar/YSnackbar.scss +38 -38
  157. package/lib/components/switch/YSwitch.mjs +2 -1
  158. package/lib/components/switch/YSwitch.mjs.map +1 -1
  159. package/lib/components/switch/YSwitch.scss +204 -198
  160. package/lib/components/tab/YTab.mjs +2 -3
  161. package/lib/components/tab/YTab.mjs.map +1 -1
  162. package/lib/components/tab/YTab.scss +6 -3
  163. package/lib/components/tab/YTabs.mjs +2 -2
  164. package/lib/components/tab/YTabs.mjs.map +1 -1
  165. package/lib/components/tab/YTabs.scss +8 -10
  166. package/lib/components/tab/index.mjs.map +1 -1
  167. package/lib/components/tab/types.mjs.map +1 -1
  168. package/lib/components/table/YDataTable.mjs +5 -5
  169. package/lib/components/table/YDataTable.mjs.map +1 -1
  170. package/lib/components/table/YDataTableBody.mjs +2 -2
  171. package/lib/components/table/YDataTableBody.mjs.map +1 -1
  172. package/lib/components/table/YDataTableCell.mjs +2 -1
  173. package/lib/components/table/YDataTableCell.mjs.map +1 -1
  174. package/lib/components/table/YDataTableControl.mjs +1 -1
  175. package/lib/components/table/YDataTableControl.mjs.map +1 -1
  176. package/lib/components/table/YDataTableControl.scss +7 -7
  177. package/lib/components/table/YDataTableHead.mjs +2 -3
  178. package/lib/components/table/YDataTableHead.mjs.map +1 -1
  179. package/lib/components/table/YDataTableLayer.mjs +2 -1
  180. package/lib/components/table/YDataTableLayer.mjs.map +1 -1
  181. package/lib/components/table/YDataTableRow.mjs +3 -2
  182. package/lib/components/table/YDataTableRow.mjs.map +1 -1
  183. package/lib/components/table/YDataTableServer.mjs +3 -4
  184. package/lib/components/table/YDataTableServer.mjs.map +1 -1
  185. package/lib/components/table/YTable.mjs +2 -2
  186. package/lib/components/table/YTable.mjs.map +1 -1
  187. package/lib/components/table/YTable.scss +157 -152
  188. package/lib/components/table/composibles/header.mjs +1 -1
  189. package/lib/components/table/composibles/header.mjs.map +1 -1
  190. package/lib/components/table/composibles/items.mjs +1 -1
  191. package/lib/components/table/composibles/items.mjs.map +1 -1
  192. package/lib/components/table/composibles/options.mjs.map +1 -1
  193. package/lib/components/table/composibles/pagination.mjs +1 -1
  194. package/lib/components/table/composibles/pagination.mjs.map +1 -1
  195. package/lib/components/table/composibles/selection.mjs +2 -2
  196. package/lib/components/table/composibles/selection.mjs.map +1 -1
  197. package/lib/components/table/composibles/sorted-items.mjs +1 -1
  198. package/lib/components/table/composibles/sorted-items.mjs.map +1 -1
  199. package/lib/components/table/composibles/sorting.mjs +2 -3
  200. package/lib/components/table/composibles/sorting.mjs.map +1 -1
  201. package/lib/components/table/index.mjs.map +1 -1
  202. package/lib/components/table/types/common.mjs.map +1 -1
  203. package/lib/components/table/types/header.mjs.map +1 -1
  204. package/lib/components/table/types/index.mjs.map +1 -1
  205. package/lib/components/table/types/row.mjs.map +1 -1
  206. package/lib/components/text-ellipsis/YTextEllipsis.mjs +4 -2
  207. package/lib/components/text-ellipsis/YTextEllipsis.mjs.map +1 -1
  208. package/lib/components/text-ellipsis/YTextEllipsis.scss +43 -43
  209. package/lib/components/text-ellipsis/index.mjs.map +1 -1
  210. package/lib/components/text-highlighter/YTextHighlighter.mjs +2 -1
  211. package/lib/components/text-highlighter/YTextHighlighter.mjs.map +1 -1
  212. package/lib/components/text-interpolation/YTi.mjs +2 -1
  213. package/lib/components/text-interpolation/YTi.mjs.map +1 -1
  214. package/lib/components/text-interpolation/index.mjs.map +1 -1
  215. package/lib/components/textarea/YTextarea.mjs +2 -2
  216. package/lib/components/textarea/YTextarea.mjs.map +1 -1
  217. package/lib/components/textarea/YTextarea.scss +25 -25
  218. package/lib/components/textarea/index.mjs.map +1 -1
  219. package/lib/components/toggle-button/YToggleButton.mjs.map +1 -1
  220. package/lib/components/toggle-button/index.mjs.map +1 -1
  221. package/lib/components/tooltip/YTooltip.mjs +4 -4
  222. package/lib/components/tooltip/YTooltip.mjs.map +1 -1
  223. package/lib/components/tooltip/YTooltip.scss +19 -19
  224. package/lib/components/tooltip/index.mjs.map +1 -1
  225. package/lib/components/transitions/expand-transition.mjs.map +1 -1
  226. package/lib/components/tree-view/YTreeView.mjs +1 -1
  227. package/lib/components/tree-view/YTreeView.mjs.map +1 -1
  228. package/lib/components/tree-view/YTreeView.scss +81 -79
  229. package/lib/components/tree-view/YTreeViewNode.mjs +3 -2
  230. package/lib/components/tree-view/YTreeViewNode.mjs.map +1 -1
  231. package/lib/components/tree-view/index.mjs.map +1 -1
  232. package/lib/components/tree-view/types.mjs.map +1 -1
  233. package/lib/components/tree-view/util.mjs.map +1 -1
  234. package/lib/composables/choice.mjs +1 -1
  235. package/lib/composables/choice.mjs.map +1 -1
  236. package/lib/composables/communication.mjs.map +1 -1
  237. package/lib/composables/component.mjs.map +1 -1
  238. package/lib/composables/coordinate/arrangement.mjs.map +1 -1
  239. package/lib/composables/coordinate/index.mjs +1 -1
  240. package/lib/composables/coordinate/index.mjs.map +1 -1
  241. package/lib/composables/coordinate/levitation.mjs.map +1 -1
  242. package/lib/composables/coordinate/utils/point.mjs.map +1 -1
  243. package/lib/composables/date/factory.mjs.map +1 -1
  244. package/lib/composables/date/index.mjs +2 -2
  245. package/lib/composables/date/index.mjs.map +1 -1
  246. package/lib/composables/date/setting.mjs.map +1 -1
  247. package/lib/composables/date/types.mjs.map +1 -1
  248. package/lib/composables/defaults/index.mjs +99 -0
  249. package/lib/composables/defaults/index.mjs.map +1 -0
  250. package/lib/composables/defaults/share.mjs +2 -0
  251. package/lib/composables/defaults/share.mjs.map +1 -0
  252. package/lib/composables/defaults/types.mjs +2 -0
  253. package/lib/composables/defaults/types.mjs.map +1 -0
  254. package/lib/composables/dimension.mjs +1 -1
  255. package/lib/composables/dimension.mjs.map +1 -1
  256. package/lib/composables/focus.mjs +2 -2
  257. package/lib/composables/focus.mjs.map +1 -1
  258. package/lib/composables/form.mjs +1 -1
  259. package/lib/composables/form.mjs.map +1 -1
  260. package/lib/composables/i18n/index.mjs +2 -2
  261. package/lib/composables/i18n/index.mjs.map +1 -1
  262. package/lib/composables/icon.mjs +5 -4
  263. package/lib/composables/icon.mjs.map +1 -1
  264. package/lib/composables/layer-group.mjs +1 -1
  265. package/lib/composables/layer-group.mjs.map +1 -1
  266. package/lib/composables/layout.mjs +1 -1
  267. package/lib/composables/layout.mjs.map +1 -1
  268. package/lib/composables/list-items.mjs +1 -1
  269. package/lib/composables/list-items.mjs.map +1 -1
  270. package/lib/composables/ref.mjs +1 -1
  271. package/lib/composables/ref.mjs.map +1 -1
  272. package/lib/composables/resize-observer.mjs +2 -4
  273. package/lib/composables/resize-observer.mjs.map +1 -1
  274. package/lib/composables/scope.mjs +1 -2
  275. package/lib/composables/scope.mjs.map +1 -1
  276. package/lib/composables/theme/factory.mjs.map +1 -1
  277. package/lib/composables/theme/index.mjs +2 -2
  278. package/lib/composables/theme/index.mjs.map +1 -1
  279. package/lib/composables/theme/setting.mjs.map +1 -1
  280. package/lib/composables/theme/types.mjs.map +1 -1
  281. package/lib/composables/timing.mjs +1 -1
  282. package/lib/composables/timing.mjs.map +1 -1
  283. package/lib/composables/transition.mjs +1 -1
  284. package/lib/composables/transition.mjs.map +1 -1
  285. package/lib/composables/validation.mjs +1 -1
  286. package/lib/composables/validation.mjs.map +1 -1
  287. package/lib/composables/vue-router.mjs +1 -1
  288. package/lib/composables/vue-router.mjs.map +1 -1
  289. package/lib/index.mjs +7 -2
  290. package/lib/index.mjs.map +1 -1
  291. package/lib/util/anchor.mjs.map +1 -1
  292. package/lib/util/array.mjs.map +1 -1
  293. package/lib/util/component/component.mjs +22 -0
  294. package/lib/util/component/component.mjs.map +1 -0
  295. package/lib/util/component/index.mjs +65 -0
  296. package/lib/util/component/index.mjs.map +1 -0
  297. package/lib/util/component/inject-self.mjs +10 -0
  298. package/lib/util/component/inject-self.mjs.map +1 -0
  299. package/lib/util/component/props.mjs +41 -0
  300. package/lib/util/component/props.mjs.map +1 -0
  301. package/lib/util/component/types.mjs +2 -0
  302. package/lib/util/component/types.mjs.map +1 -0
  303. package/lib/util/date/index.mjs.map +1 -1
  304. package/lib/util/dom.mjs.map +1 -1
  305. package/lib/util/index.mjs +1 -1
  306. package/lib/util/index.mjs.map +1 -1
  307. package/lib/util/reactivity.mjs +3 -3
  308. package/lib/util/reactivity.mjs.map +1 -1
  309. package/lib/util/rect.mjs.map +1 -1
  310. package/lib/util/ui.mjs.map +1 -1
  311. package/lib/util/validation.mjs.map +1 -1
  312. package/lib/util/vue-component/index.mjs +63 -0
  313. package/lib/util/vue-component/index.mjs.map +1 -0
  314. package/lib/util/vue-component/props.mjs +37 -0
  315. package/lib/util/vue-component/props.mjs.map +1 -0
  316. package/lib/util/vue-component/types.mjs +2 -0
  317. package/lib/util/vue-component/types.mjs.map +1 -0
  318. package/package.json +1 -1
  319. package/types/abstract/items.d.ts +4 -4
  320. package/types/components/alert/YAlert.d.ts +2 -13
  321. package/types/components/app/YApp.d.ts +1 -1
  322. package/types/components/badge/YBadge.d.ts +7 -41
  323. package/types/components/bench/YBench.d.ts +1 -1
  324. package/types/components/button/YButton.d.ts +10 -69
  325. package/types/components/card/YCard.d.ts +1 -6
  326. package/types/components/card/YCardBody.d.ts +1 -1
  327. package/types/components/card/YCardFooter.d.ts +1 -1
  328. package/types/components/card/YCardHeader.d.ts +1 -1
  329. package/types/components/checkbox/YCheckbox.d.ts +1 -26
  330. package/types/components/checkbox/YInputCheckbox.d.ts +2 -26
  331. package/types/components/checkbox/index.d.ts +1 -0
  332. package/types/components/chip/YChip.d.ts +2 -13
  333. package/types/components/date-picker/YDateCalendar.d.ts +7 -35
  334. package/types/components/date-picker/YDatePicker.d.ts +19 -48
  335. package/types/components/date-picker/YDatePickerControl.d.ts +12 -44
  336. package/types/components/date-picker/YMonthPicker.d.ts +3 -7
  337. package/types/components/date-picker/YYearPicker.d.ts +3 -9
  338. package/types/components/dialog/YDialog.d.ts +135 -378
  339. package/types/components/divider/YDivider.d.ts +1 -3
  340. package/types/components/dropdown/YDropdown.d.ts +100 -273
  341. package/types/components/field-input/YFieldInput.d.ts +16 -122
  342. package/types/components/form/YForm.d.ts +2 -24
  343. package/types/components/hover/YHover.d.ts +4 -26
  344. package/types/components/icon/YIcon.d.ts +6 -21
  345. package/types/components/icons/YIconCheckbox.d.ts +1 -9
  346. package/types/components/icons/YIconClear.d.ts +1 -1
  347. package/types/components/icons/YIconDropdown.d.ts +1 -1
  348. package/types/components/icons/YIconExpand.d.ts +1 -1
  349. package/types/components/icons/YIconPageControl.d.ts +1 -8
  350. package/types/components/icons/YIconSort.d.ts +1 -10
  351. package/types/components/icons/index.d.ts +8 -46
  352. package/types/components/img/YImg.d.ts +7 -47
  353. package/types/components/input/YInput.d.ts +13 -101
  354. package/types/components/ip-field/YIpv4Field.d.ts +3 -71
  355. package/types/components/layer/YLayer.d.ts +48 -165
  356. package/types/components/layer/content.d.ts +1 -1
  357. package/types/components/layer/scroll-strategies.d.ts +1 -1
  358. package/types/components/list/YList.d.ts +1 -6
  359. package/types/components/list/YListItem.d.ts +3 -21
  360. package/types/components/loading/YSpinnerRing.d.ts +1 -1
  361. package/types/components/menu/YMenu.d.ts +26 -291
  362. package/types/components/navigation/YNavigation.d.ts +1 -1
  363. package/types/components/pagination/YPagination.d.ts +25 -65
  364. package/types/components/plate/YPlate.d.ts +1 -3
  365. package/types/components/progress-bar/YProgressBar.d.ts +1 -36
  366. package/types/components/select/YSelect.d.ts +482 -1106
  367. package/types/components/snackbar/YSnackbar.d.ts +51 -176
  368. package/types/components/switch/YSwitch.d.ts +1 -43
  369. package/types/components/tab/YTab.d.ts +14 -80
  370. package/types/components/tab/YTabs.d.ts +6 -39
  371. package/types/components/table/YDataTable.d.ts +24 -173
  372. package/types/components/table/YDataTableBody.d.ts +3 -26
  373. package/types/components/table/YDataTableCell.d.ts +2 -31
  374. package/types/components/table/YDataTableControl.d.ts +3 -18
  375. package/types/components/table/YDataTableHead.d.ts +3 -21
  376. package/types/components/table/YDataTableLayer.d.ts +1 -3
  377. package/types/components/table/YDataTableRow.d.ts +1 -9
  378. package/types/components/table/YDataTableServer.d.ts +27 -179
  379. package/types/components/table/YTable.d.ts +5 -24
  380. package/types/components/table/composibles/header.d.ts +9 -9
  381. package/types/components/table/composibles/items.d.ts +3 -3
  382. package/types/components/table/composibles/pagination.d.ts +3 -3
  383. package/types/components/table/composibles/selection.d.ts +4 -4
  384. package/types/components/table/composibles/sorting.d.ts +1 -1
  385. package/types/components/table/types/index.d.ts +1 -1
  386. package/types/components/text-ellipsis/YTextEllipsis.d.ts +1 -8
  387. package/types/components/text-highlighter/YTextHighlighter.d.ts +2 -17
  388. package/types/components/text-interpolation/YTi.d.ts +1 -10
  389. package/types/components/textarea/YTextarea.d.ts +20 -116
  390. package/types/components/tooltip/YTooltip.d.ts +44 -278
  391. package/types/components/tree-view/YTreeView.d.ts +4 -4
  392. package/types/components/tree-view/YTreeViewNode.d.ts +10 -67
  393. package/types/composables/choice.d.ts +1 -1
  394. package/types/composables/coordinate/index.d.ts +16 -16
  395. package/types/composables/coordinate/utils/point.d.ts +1 -1
  396. package/types/composables/defaults/index.d.ts +11 -0
  397. package/types/composables/defaults/share.d.ts +4 -0
  398. package/types/composables/defaults/types.d.ts +12 -0
  399. package/types/composables/form.d.ts +3 -3
  400. package/types/composables/icon.d.ts +5 -22
  401. package/types/composables/layer-group.d.ts +1 -1
  402. package/types/composables/list-items.d.ts +10 -10
  403. package/types/composables/timing.d.ts +1 -1
  404. package/types/composables/transition.d.ts +1 -1
  405. package/types/composables/validation.d.ts +3 -3
  406. package/types/composables/vue-router.d.ts +1 -1
  407. package/types/globals.d.ts +1 -0
  408. package/types/util/Rect.d.ts +1 -1
  409. package/types/util/anchor.d.ts +1 -1
  410. package/types/util/component/component.d.ts +5 -0
  411. package/types/util/component/index.d.ts +11 -0
  412. package/types/util/component/inject-self.d.ts +3 -0
  413. package/types/util/component/props.d.ts +32 -0
  414. package/types/util/component/types.d.ts +21 -0
  415. package/types/util/index.d.ts +1 -1
  416. package/types/util/vue-component/index.d.ts +10 -0
  417. package/types/util/vue-component/props.d.ts +31 -0
  418. package/types/util/vue-component/types.d.ts +4 -0
@@ -1 +1 @@
1
- {"version":3,"file":"YDatePickerControl.mjs","names":["computed","defineComponent","useRender","propsFactory","YButton","YIcon","pressYDatePickerControlPropsOptions","disabled","type","Boolean","String","Array","default","nextIcon","Object","prevIcon","dropdownIcon","mode","yearText","monthText","YDatePickerControl","name","props","emits","click:year","click:month","click:prev","click:next","setup","_ref","emit","disableYear","isArray","includes","disableMonth","disablePrev","disableNext","onClickPrev","onClickNext","onClickYear","onClickMonth","_createVNode","value"],"sources":["../../../src/components/date-picker/YDatePickerControl.tsx"],"sourcesContent":["import { computed, defineComponent } from 'vue';\nimport type { PropType } from 'vue';\n\nimport { useRender } from '../../composables/component';\nimport { propsFactory } from '../../util/vue-component';\nimport { YButton } from '../button';\nimport { YIcon } from '../icon';\n\nimport './YDatePickerControl.scss';\n\nexport const pressYDatePickerControlPropsOptions = propsFactory(\n {\n disabled: {\n type: [Boolean, String, Array] as PropType<boolean | string | string[]>,\n default: false,\n },\n nextIcon: {\n type: [String, Object],\n default: '$next',\n },\n prevIcon: {\n type: [String, Object],\n default: '$prev',\n },\n dropdownIcon: {\n type: [String, Object],\n },\n mode: {\n type: String as PropType<'date' | 'month' | 'year'>,\n default: 'date',\n },\n yearText: String,\n monthText: String,\n },\n 'YDataPickerControl',\n);\n\nexport const YDatePickerControl = defineComponent({\n name: 'YDatePickerControl',\n props: pressYDatePickerControlPropsOptions(),\n emits: {\n 'click:year': () => true,\n 'click:month': () => true,\n 'click:prev': () => true,\n 'click:next': () => true,\n },\n setup(props, { emit }) {\n const disableYear = computed(() => {\n return Array.isArray(props.disabled)\n ? props.disabled.includes('year')\n : !!props.disabled;\n });\n const disableMonth = computed(() => {\n return Array.isArray(props.disabled)\n ? props.disabled.includes('month')\n : !!props.disabled;\n });\n\n const disablePrev = computed(() => {\n return Array.isArray(props.disabled)\n ? props.disabled.includes('prev')\n : !!props.disabled;\n });\n const disableNext = computed(() => {\n return Array.isArray(props.disabled)\n ? props.disabled.includes('next')\n : !!props.disabled;\n });\n\n function onClickPrev() {\n emit('click:prev');\n }\n\n function onClickNext() {\n emit('click:next');\n }\n\n function onClickYear() {\n emit('click:year');\n }\n\n function onClickMonth() {\n emit('click:month');\n }\n\n useRender(() => (\n <div class={['y-date-picker-control']}>\n <YButton\n variation=\"text\"\n class=\"y-date-picker-control__display\"\n disabled={disableYear.value}\n onClick={onClickYear}\n >\n {props.yearText}\n </YButton>\n <YButton\n variation=\"text\"\n class=\"y-date-picker-control__display\"\n disabled={disableMonth.value}\n onClick={onClickMonth}\n >\n {props.monthText}\n </YButton>\n <div class=\"flex-spacer\"></div>\n <YButton\n class=\"y-date-picker-control__page-button\"\n variation=\"text\"\n disabled={disablePrev.value}\n onClick={onClickPrev}\n >\n <YIcon icon={props.prevIcon as string} />\n </YButton>\n <YButton\n class=\"y-date-picker-control__page-button\"\n variation=\"text\"\n disabled={disableNext.value}\n onClick={onClickNext}\n >\n <YIcon icon={props.nextIcon as string} />\n </YButton>\n </div>\n ));\n },\n});\n\nexport type YDatePickerControl = InstanceType<typeof YDatePickerControl>;\n"],"mappings":"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"}
1
+ {"version":3,"file":"YDatePickerControl.mjs","names":["computed","useRender","defineComponent","propsFactory","YButton","YIcon","pressYDatePickerControlPropsOptions","disabled","type","Boolean","String","Array","default","nextIcon","Object","prevIcon","dropdownIcon","mode","yearText","monthText","YDatePickerControl","name","props","emits","click:year","click:month","click:prev","click:next","setup","_ref","emit","disableYear","isArray","includes","disableMonth","disablePrev","disableNext","onClickPrev","onClickNext","onClickYear","onClickMonth","_createVNode","value"],"sources":["../../../src/components/date-picker/YDatePickerControl.tsx"],"sourcesContent":["import type { PropType } from 'vue';\nimport { computed } from 'vue';\n\nimport { useRender } from '@/composables/component';\nimport { defineComponent, propsFactory } from '@/util/component';\n\nimport { YButton } from '../button';\nimport { YIcon } from '../icon';\n\nimport './YDatePickerControl.scss';\n\nexport const pressYDatePickerControlPropsOptions = propsFactory(\n {\n disabled: {\n type: [Boolean, String, Array] as PropType<boolean | string | string[]>,\n default: false,\n },\n nextIcon: {\n type: [String, Object],\n default: '$next',\n },\n prevIcon: {\n type: [String, Object],\n default: '$prev',\n },\n dropdownIcon: {\n type: [String, Object],\n },\n mode: {\n type: String as PropType<'date' | 'month' | 'year'>,\n default: 'date',\n },\n yearText: String,\n monthText: String,\n },\n 'YDataPickerControl',\n);\n\nexport const YDatePickerControl = defineComponent({\n name: 'YDatePickerControl',\n props: pressYDatePickerControlPropsOptions(),\n emits: {\n 'click:year': () => true,\n 'click:month': () => true,\n 'click:prev': () => true,\n 'click:next': () => true,\n },\n setup(props, { emit }) {\n const disableYear = computed(() => {\n return Array.isArray(props.disabled)\n ? props.disabled.includes('year')\n : !!props.disabled;\n });\n const disableMonth = computed(() => {\n return Array.isArray(props.disabled)\n ? props.disabled.includes('month')\n : !!props.disabled;\n });\n\n const disablePrev = computed(() => {\n return Array.isArray(props.disabled)\n ? props.disabled.includes('prev')\n : !!props.disabled;\n });\n const disableNext = computed(() => {\n return Array.isArray(props.disabled)\n ? props.disabled.includes('next')\n : !!props.disabled;\n });\n\n function onClickPrev() {\n emit('click:prev');\n }\n\n function onClickNext() {\n emit('click:next');\n }\n\n function onClickYear() {\n emit('click:year');\n }\n\n function onClickMonth() {\n emit('click:month');\n }\n\n useRender(() => (\n <div class={['y-date-picker-control']}>\n <YButton\n variation=\"text\"\n class=\"y-date-picker-control__display\"\n disabled={disableYear.value}\n onClick={onClickYear}\n >\n {props.yearText}\n </YButton>\n <YButton\n variation=\"text\"\n class=\"y-date-picker-control__display\"\n disabled={disableMonth.value}\n onClick={onClickMonth}\n >\n {props.monthText}\n </YButton>\n <div class=\"flex-spacer\"></div>\n <YButton\n class=\"y-date-picker-control__page-button\"\n variation=\"text\"\n disabled={disablePrev.value}\n onClick={onClickPrev}\n >\n <YIcon icon={props.prevIcon as string} />\n </YButton>\n <YButton\n class=\"y-date-picker-control__page-button\"\n variation=\"text\"\n disabled={disableNext.value}\n onClick={onClickNext}\n >\n <YIcon icon={props.nextIcon as string} />\n </YButton>\n </div>\n ));\n },\n});\n\nexport type YDatePickerControl = InstanceType<typeof YDatePickerControl>;\n"],"mappings":"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"}
@@ -1,35 +1,35 @@
1
- .y-date-picker-control {
2
- display: flex;
3
- padding: 8px 8px 12px;
4
- font-weight: 500;
5
-
6
- &__display {
7
- font-size: 1rem;
8
- font-weight: 600;
9
- align-self: center;
10
- border-radius: 4px;
11
-
12
- &:first-child {
13
- margin: 0 4px 0 10px;
14
- }
15
-
16
- .y-button__content {
17
- padding: 0 2px;
18
- }
19
- }
20
-
21
- &__page-button {
22
- height: 32px;
23
-
24
- .y-button__content {
25
- padding: 4px;
26
- }
27
-
28
- .y-icon {
29
- > svg {
30
- width: 24px;
31
- height: 24px;
32
- }
33
- }
34
- }
35
- }
1
+ .y-date-picker-control {
2
+ display: flex;
3
+ padding: 8px 8px 12px;
4
+ font-weight: 500;
5
+
6
+ &__display {
7
+ font-size: 1rem;
8
+ font-weight: 600;
9
+ align-self: center;
10
+ border-radius: 4px;
11
+
12
+ &:first-child {
13
+ margin: 0 4px 0 10px;
14
+ }
15
+
16
+ .y-button__content {
17
+ padding: 0 2px;
18
+ }
19
+ }
20
+
21
+ &__page-button {
22
+ height: 32px;
23
+
24
+ .y-button__content {
25
+ padding: 4px;
26
+ }
27
+
28
+ .y-icon {
29
+ > svg {
30
+ width: 24px;
31
+ height: 24px;
32
+ }
33
+ }
34
+ }
35
+ }
@@ -1,10 +1,10 @@
1
1
  import { createVNode as _createVNode } from "vue";
2
- import { computed, defineComponent } from 'vue';
2
+ import { computed } from 'vue';
3
3
  import { useModelDuplex } from "../../composables/communication.mjs";
4
4
  import { useRender } from "../../composables/component.mjs";
5
5
  import { useDate } from "../../composables/date/index.mjs";
6
- import { getRangeArr } from "../../util/index.mjs";
7
- import { propsFactory } from "../../util/vue-component.mjs";
6
+ import { getRangeArr } from "../../util/common.mjs";
7
+ import { defineComponent, propsFactory } from "../../util/component/index.mjs";
8
8
  import { YButton } from "../button/index.mjs";
9
9
  import "./YMonthPicker.scss";
10
10
  export const pressYMonthPickerPropsOptions = propsFactory({
@@ -1 +1 @@
1
- {"version":3,"file":"YMonthPicker.mjs","names":["computed","defineComponent","useModelDuplex","useRender","useDate","getRangeArr","propsFactory","YButton","pressYMonthPickerPropsOptions","modelValue","Number","color","String","height","YMonthPicker","name","props","setup","dateUtil","model","months","date","startOfYear","map","i","text","format","getNextMonth","value","onClick","index","_createVNode","month","item","active","join","default"],"sources":["../../../src/components/date-picker/YMonthPicker.tsx"],"sourcesContent":["import { computed, defineComponent } from 'vue';\n\nimport { useModelDuplex } from '../../composables/communication';\nimport { useRender } from '../../composables/component';\nimport { useDate } from '../../composables/date';\nimport { getRangeArr } from '../../util';\nimport { propsFactory } from '../../util/vue-component';\nimport { YButton } from '../button';\n\nimport './YMonthPicker.scss';\n\nexport const pressYMonthPickerPropsOptions = propsFactory(\n {\n modelValue: Number,\n color: String,\n height: [String, Number],\n },\n 'YMonthPicker',\n);\n\nexport const YMonthPicker = defineComponent({\n name: 'YMonthPicker',\n props: pressYMonthPickerPropsOptions(),\n setup(props) {\n const dateUtil = useDate();\n const model = useModelDuplex(props, 'modelValue');\n\n const months = computed(() => {\n let date = dateUtil.startOfYear(dateUtil.date());\n\n return getRangeArr(12).map((i) => {\n const text = dateUtil.format(date, 'monthShort');\n date = dateUtil.getNextMonth(date);\n\n return {\n text,\n value: i,\n };\n });\n });\n\n function onClick(index: number) {\n model.value = index;\n }\n\n useRender(() => {\n return (\n <div class={['y-month-picker']}>\n {months.value.map((month, index) => {\n const item = {\n active: index === model.value\n }\n return (\n <div class={['y-month-picker__cell', 'y-month-picker__month']}>\n <YButton\n variation={['rounded', 'text'].join(',')}\n active={item.active}\n color={props.color}\n onClick={() => onClick(index)}\n >\n {month.text}\n </YButton>\n </div>\n );\n })}\n </div>\n );\n });\n\n return {};\n },\n});\n\nexport type YMonthPicker = InstanceType<typeof YMonthPicker>;\n"],"mappings":";AAAA,SAASA,QAAQ,EAAEC,eAAe,QAAQ,KAAK;AAAC,SAEvCC,cAAc;AAAA,SACdC,SAAS;AAAA,SACTC,OAAO;AAAA,SACPC,WAAW;AAAA,SACXC,YAAY;AAAA,SACZC,OAAO;AAEhB;AAEA,OAAO,MAAMC,6BAA6B,GAAGF,YAAY,CACvD;EACEG,UAAU,EAAEC,MAAM;EAClBC,KAAK,EAAEC,MAAM;EACbC,MAAM,EAAE,CAACD,MAAM,EAAEF,MAAM;AACzB,CAAC,EACD,cACF,CAAC;AAED,OAAO,MAAMI,YAAY,GAAGb,eAAe,CAAC;EAC1Cc,IAAI,EAAE,cAAc;EACpBC,KAAK,EAAER,6BAA6B,CAAC,CAAC;EACtCS,KAAKA,CAACD,KAAK,EAAE;IACX,MAAME,QAAQ,GAAGd,OAAO,CAAC,CAAC;IAC1B,MAAMe,KAAK,GAAGjB,cAAc,CAACc,KAAK,EAAE,YAAY,CAAC;IAEjD,MAAMI,MAAM,GAAGpB,QAAQ,CAAC,MAAM;MAC5B,IAAIqB,IAAI,GAAGH,QAAQ,CAACI,WAAW,CAACJ,QAAQ,CAACG,IAAI,CAAC,CAAC,CAAC;MAEhD,OAAOhB,WAAW,CAAC,EAAE,CAAC,CAACkB,GAAG,CAAEC,CAAC,IAAK;QAChC,MAAMC,IAAI,GAAGP,QAAQ,CAACQ,MAAM,CAACL,IAAI,EAAE,YAAY,CAAC;QAChDA,IAAI,GAAGH,QAAQ,CAACS,YAAY,CAACN,IAAI,CAAC;QAElC,OAAO;UACLI,IAAI;UACJG,KAAK,EAAEJ;QACT,CAAC;MACH,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,SAASK,OAAOA,CAACC,KAAa,EAAE;MAC9BX,KAAK,CAACS,KAAK,GAAGE,KAAK;IACrB;IAEA3B,SAAS,CAAC,MAAM;MACd,OAAA4B,YAAA;QAAA,SACc,CAAC,gBAAgB;MAAC,IAC3BX,MAAM,CAACQ,KAAK,CAACL,GAAG,CAAC,CAACS,KAAK,EAAEF,KAAK,KAAK;QAClC,MAAMG,IAAI,GAAG;UACXC,MAAM,EAAEJ,KAAK,KAAKX,KAAK,CAACS;QAC1B,CAAC;QACD,OAAAG,YAAA;UAAA,SACc,CAAC,sBAAsB,EAAE,uBAAuB;QAAC,IAAAA,YAAA,CAAAxB,OAAA;UAAA,aAE9C,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC4B,IAAI,CAAC,GAAG,CAAC;UAAA,UAChCF,IAAI,CAACC,MAAM;UAAA,SACZlB,KAAK,CAACL,KAAK;UAAA,WACTkB,CAAA,KAAMA,OAAO,CAACC,KAAK;QAAC;UAAAM,OAAA,EAAAA,CAAA,MAE5BJ,KAAK,CAACP,IAAI;QAAA;MAInB,CAAC,CAAC;IAGR,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"YMonthPicker.mjs","names":["computed","useModelDuplex","useRender","useDate","getRangeArr","defineComponent","propsFactory","YButton","pressYMonthPickerPropsOptions","modelValue","Number","color","String","height","YMonthPicker","name","props","setup","dateUtil","model","months","date","startOfYear","map","i","text","format","getNextMonth","value","onClick","index","_createVNode","month","item","active","join","default"],"sources":["../../../src/components/date-picker/YMonthPicker.tsx"],"sourcesContent":["import { computed } from 'vue';\n\nimport { useModelDuplex } from '@/composables/communication';\nimport { useRender } from '@/composables/component';\nimport { useDate } from '@/composables/date';\nimport { getRangeArr } from '@/util/common';\nimport { defineComponent, propsFactory } from '@/util/component';\n\nimport { YButton } from '../button';\n\nimport './YMonthPicker.scss';\n\nexport const pressYMonthPickerPropsOptions = propsFactory(\n {\n modelValue: Number,\n color: String,\n height: [String, Number],\n },\n 'YMonthPicker',\n);\n\nexport const YMonthPicker = defineComponent({\n name: 'YMonthPicker',\n props: pressYMonthPickerPropsOptions(),\n setup(props) {\n const dateUtil = useDate();\n const model = useModelDuplex(props, 'modelValue');\n\n const months = computed(() => {\n let date = dateUtil.startOfYear(dateUtil.date());\n\n return getRangeArr(12).map((i) => {\n const text = dateUtil.format(date, 'monthShort');\n date = dateUtil.getNextMonth(date);\n\n return {\n text,\n value: i,\n };\n });\n });\n\n function onClick(index: number) {\n model.value = index;\n }\n\n useRender(() => {\n return (\n <div class={['y-month-picker']}>\n {months.value.map((month, index) => {\n const item = {\n active: index === model.value,\n };\n return (\n <div class={['y-month-picker__cell', 'y-month-picker__month']}>\n <YButton\n variation={['rounded', 'text'].join(',')}\n active={item.active}\n color={props.color}\n onClick={() => onClick(index)}\n >\n {month.text}\n </YButton>\n </div>\n );\n })}\n </div>\n );\n });\n\n return {};\n },\n});\n\nexport type YMonthPicker = InstanceType<typeof YMonthPicker>;\n"],"mappings":";AAAA,SAASA,QAAQ,QAAQ,KAAK;AAAC,SAEtBC,cAAc;AAAA,SACdC,SAAS;AAAA,SACTC,OAAO;AAAA,SACPC,WAAW;AAAA,SACXC,eAAe,EAAEC,YAAY;AAAA,SAE7BC,OAAO;AAEhB;AAEA,OAAO,MAAMC,6BAA6B,GAAGF,YAAY,CACvD;EACEG,UAAU,EAAEC,MAAM;EAClBC,KAAK,EAAEC,MAAM;EACbC,MAAM,EAAE,CAACD,MAAM,EAAEF,MAAM;AACzB,CAAC,EACD,cACF,CAAC;AAED,OAAO,MAAMI,YAAY,GAAGT,eAAe,CAAC;EAC1CU,IAAI,EAAE,cAAc;EACpBC,KAAK,EAAER,6BAA6B,CAAC,CAAC;EACtCS,KAAKA,CAACD,KAAK,EAAE;IACX,MAAME,QAAQ,GAAGf,OAAO,CAAC,CAAC;IAC1B,MAAMgB,KAAK,GAAGlB,cAAc,CAACe,KAAK,EAAE,YAAY,CAAC;IAEjD,MAAMI,MAAM,GAAGpB,QAAQ,CAAC,MAAM;MAC5B,IAAIqB,IAAI,GAAGH,QAAQ,CAACI,WAAW,CAACJ,QAAQ,CAACG,IAAI,CAAC,CAAC,CAAC;MAEhD,OAAOjB,WAAW,CAAC,EAAE,CAAC,CAACmB,GAAG,CAAEC,CAAC,IAAK;QAChC,MAAMC,IAAI,GAAGP,QAAQ,CAACQ,MAAM,CAACL,IAAI,EAAE,YAAY,CAAC;QAChDA,IAAI,GAAGH,QAAQ,CAACS,YAAY,CAACN,IAAI,CAAC;QAElC,OAAO;UACLI,IAAI;UACJG,KAAK,EAAEJ;QACT,CAAC;MACH,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,SAASK,OAAOA,CAACC,KAAa,EAAE;MAC9BX,KAAK,CAACS,KAAK,GAAGE,KAAK;IACrB;IAEA5B,SAAS,CAAC,MAAM;MACd,OAAA6B,YAAA;QAAA,SACc,CAAC,gBAAgB;MAAC,IAC3BX,MAAM,CAACQ,KAAK,CAACL,GAAG,CAAC,CAACS,KAAK,EAAEF,KAAK,KAAK;QAClC,MAAMG,IAAI,GAAG;UACXC,MAAM,EAAEJ,KAAK,KAAKX,KAAK,CAACS;QAC1B,CAAC;QACD,OAAAG,YAAA;UAAA,SACc,CAAC,sBAAsB,EAAE,uBAAuB;QAAC,IAAAA,YAAA,CAAAxB,OAAA;UAAA,aAE9C,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC4B,IAAI,CAAC,GAAG,CAAC;UAAA,UAChCF,IAAI,CAACC,MAAM;UAAA,SACZlB,KAAK,CAACL,KAAK;UAAA,WACTkB,CAAA,KAAMA,OAAO,CAACC,KAAK;QAAC;UAAAM,OAAA,EAAAA,CAAA,MAE5BJ,KAAK,CAACP,IAAI;QAAA;MAInB,CAAC,CAAC;IAGR,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
@@ -1,25 +1,25 @@
1
- .y-month-picker {
2
- --y-month-picker-cols: 3;
3
-
4
- display: grid;
5
- grid-template-columns: repeat(var(--y-month-picker-cols, 3), 1fr);
6
- min-height: 280px;
7
-
8
- &__cell {
9
- display: flex;
10
- justify-content: center;
11
-
12
- > .y-button {
13
- width: 70px;
14
- height: 70px;
15
-
16
- &--active.y-button--text {
17
- color: var(--y-button__color);
18
- --y-button__color: var(--y-theme-primary);
19
- &:before {
20
- opacity: 0.3;
21
- }
22
- }
23
- }
24
- }
25
- }
1
+ .y-month-picker {
2
+ --y-month-picker-cols: 3;
3
+
4
+ display: grid;
5
+ grid-template-columns: repeat(var(--y-month-picker-cols, 3), 1fr);
6
+ min-height: 280px;
7
+
8
+ &__cell {
9
+ display: flex;
10
+ justify-content: center;
11
+
12
+ > .y-button {
13
+ width: 70px;
14
+ height: 70px;
15
+
16
+ &--active.y-button--text {
17
+ color: var(--y-button__color);
18
+ --y-button__color: var(--y-theme-primary);
19
+ &:before {
20
+ opacity: 0.3;
21
+ }
22
+ }
23
+ }
24
+ }
25
+ }
@@ -1,10 +1,11 @@
1
1
  import { createVNode as _createVNode } from "vue";
2
- import { computed, defineComponent, ref } from 'vue';
2
+ import { computed, ref } from 'vue';
3
3
  import { useModelDuplex } from "../../composables/communication.mjs";
4
4
  import { useRender } from "../../composables/component.mjs";
5
5
  import { useDate } from "../../composables/date/index.mjs";
6
- import { getRangeArr } from "../../util/index.mjs";
7
- import { propsFactory } from "../../util/vue-component.mjs";
6
+ import { getRangeArr } from "../../util/common.mjs";
7
+ import { defineComponent } from "../../util/component/index.mjs";
8
+ import { propsFactory } from "../../util/component/index.mjs";
8
9
  import { YButton } from "../button/index.mjs";
9
10
  import "./YYearPicker.scss";
10
11
  export const pressYYearPickerPropsOptions = propsFactory({
@@ -1 +1 @@
1
- {"version":3,"file":"YYearPicker.mjs","names":["computed","defineComponent","ref","useModelDuplex","useRender","useDate","getRangeArr","propsFactory","YButton","pressYYearPickerPropsOptions","modelValue","Number","color","String","height","min","max","interval","YYearPicker","name","props","setup","_ref","emit","expose","dateUtil","model","tempYear","value","startYear","years","date","startOfYear","map","setYear","text","format","active","onClick","changePage","dir","arguments","length","undefined","change","_createVNode","year","scopedProps","item","join","default"],"sources":["../../../src/components/date-picker/YYearPicker.tsx"],"sourcesContent":["import { PropType, computed, defineComponent, ref } from 'vue';\n\nimport { useModelDuplex } from '../../composables/communication';\nimport { useRender } from '../../composables/component';\nimport { useDate } from '../../composables/date';\nimport { getRangeArr } from '../../util';\nimport { propsFactory } from '../../util/vue-component';\nimport { YButton } from '../button';\n\nimport './YYearPicker.scss';\n\nexport const pressYYearPickerPropsOptions = propsFactory(\n {\n modelValue: Number,\n color: String,\n height: [String, Number],\n min: null as any as PropType<unknown>,\n max: null as any as PropType<unknown>,\n },\n 'YYearPicker',\n);\n\nconst interval = 20;\n\nexport const YYearPicker = defineComponent({\n name: 'YYearPicker',\n props: pressYYearPickerPropsOptions(),\n setup(props, { emit, expose }) {\n const dateUtil = useDate();\n const model = useModelDuplex(props, 'modelValue');\n const tempYear = model.value;\n const startYear = ref(\n tempYear - (tempYear % interval) - (tempYear < 0 ? interval : 0),\n );\n const years = computed(() => {\n let date = dateUtil.startOfYear(dateUtil.date());\n\n return getRangeArr(interval + 1, startYear.value).map((value) => {\n date = dateUtil.setYear(date, value);\n return {\n text: dateUtil.format(date, 'year'),\n value,\n active: model.value === value,\n };\n });\n });\n\n function onClick(value: number) {\n model.value = value;\n }\n\n function changePage(dir = 1) {\n let change = startYear.value + interval * dir;\n if (change < 0) {\n change = 0;\n }\n startYear.value = change;\n }\n\n expose({\n changePage,\n });\n\n useRender(() => {\n return (\n <div class={['y-year-picker']}>\n {years.value.map((year) => {\n const scopedProps = {\n item: year,\n props: {\n onClick: () => {\n onClick(year.value)\n }\n }\n }\n return (\n <div class={['y-year-picker__cell']}>\n <YButton\n variation={['rounded', 'text'].join(',')}\n active={year.active}\n color={props.color}\n onClick={() => onClick(year.value)}\n >\n {year.text}\n </YButton>\n </div>\n );\n })}\n </div>\n );\n });\n\n return {};\n },\n});\n\nexport type YYearPicker = InstanceType<typeof YYearPicker>;\n"],"mappings":"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"}
1
+ {"version":3,"file":"YYearPicker.mjs","names":["computed","ref","useModelDuplex","useRender","useDate","getRangeArr","defineComponent","propsFactory","YButton","pressYYearPickerPropsOptions","modelValue","Number","color","String","height","min","max","interval","YYearPicker","name","props","setup","_ref","emit","expose","dateUtil","model","tempYear","value","startYear","years","date","startOfYear","map","setYear","text","format","active","onClick","changePage","dir","arguments","length","undefined","change","_createVNode","year","scopedProps","item","join","default"],"sources":["../../../src/components/date-picker/YYearPicker.tsx"],"sourcesContent":["import { PropType, computed, ref } from 'vue';\n\nimport { useModelDuplex } from '@/composables/communication';\nimport { useRender } from '@/composables/component';\nimport { useDate } from '@/composables/date';\nimport { getRangeArr } from '@/util/common';\nimport { defineComponent } from '@/util/component';\nimport { propsFactory } from '@/util/component';\n\nimport { YButton } from '../button';\n\nimport './YYearPicker.scss';\n\nexport const pressYYearPickerPropsOptions = propsFactory(\n {\n modelValue: Number,\n color: String,\n height: [String, Number],\n min: null as any as PropType<unknown>,\n max: null as any as PropType<unknown>,\n },\n 'YYearPicker',\n);\n\nconst interval = 20;\n\nexport const YYearPicker = defineComponent({\n name: 'YYearPicker',\n props: pressYYearPickerPropsOptions(),\n setup(props, { emit, expose }) {\n const dateUtil = useDate();\n const model = useModelDuplex(props, 'modelValue');\n const tempYear = model.value;\n const startYear = ref(\n tempYear - (tempYear % interval) - (tempYear < 0 ? interval : 0),\n );\n const years = computed(() => {\n let date = dateUtil.startOfYear(dateUtil.date());\n\n return getRangeArr(interval + 1, startYear.value).map((value) => {\n date = dateUtil.setYear(date, value);\n return {\n text: dateUtil.format(date, 'year'),\n value,\n active: model.value === value,\n };\n });\n });\n\n function onClick(value: number) {\n model.value = value;\n }\n\n function changePage(dir = 1) {\n let change = startYear.value + interval * dir;\n if (change < 0) {\n change = 0;\n }\n startYear.value = change;\n }\n\n expose({\n changePage,\n });\n\n useRender(() => {\n return (\n <div class={['y-year-picker']}>\n {years.value.map((year) => {\n const scopedProps = {\n item: year,\n props: {\n onClick: () => {\n onClick(year.value);\n },\n },\n };\n return (\n <div class={['y-year-picker__cell']}>\n <YButton\n variation={['rounded', 'text'].join(',')}\n active={year.active}\n color={props.color}\n onClick={() => onClick(year.value)}\n >\n {year.text}\n </YButton>\n </div>\n );\n })}\n </div>\n );\n });\n\n return {};\n },\n});\n\nexport type YYearPicker = InstanceType<typeof YYearPicker>;\n"],"mappings":"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"}
@@ -1,23 +1,23 @@
1
- .y-year-picker {
2
- --y-year-picker-cols: 3;
3
-
4
- display: grid;
5
- grid-template-columns: repeat(var(--y-year-picker-cols, 3), 1fr);
6
- min-height: 280px;
7
-
8
- &__cell {
9
- display: flex;
10
- justify-content: center;
11
- align-items: center;
12
-
13
- > .y-button {
14
- &--active.y-button--text {
15
- color: var(--y-button__color);
16
- --y-button__color: var(--y-theme-primary);
17
- &:before {
18
- opacity: 0.3;
19
- }
20
- }
21
- }
22
- }
23
- }
1
+ .y-year-picker {
2
+ --y-year-picker-cols: 3;
3
+
4
+ display: grid;
5
+ grid-template-columns: repeat(var(--y-year-picker-cols, 3), 1fr);
6
+ min-height: 280px;
7
+
8
+ &__cell {
9
+ display: flex;
10
+ justify-content: center;
11
+ align-items: center;
12
+
13
+ > .y-button {
14
+ &--active.y-button--text {
15
+ color: var(--y-button__color);
16
+ --y-button__color: var(--y-theme-primary);
17
+ &:before {
18
+ opacity: 0.3;
19
+ }
20
+ }
21
+ }
22
+ }
23
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/components/date-picker/index.ts"],"sourcesContent":["export * from './YDateCalendar';\r\nexport * from './YMonthPicker';\r\nexport * from './YDatePicker';\r\n"],"mappings":""}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/components/date-picker/index.ts"],"sourcesContent":["export * from './YDateCalendar';\nexport * from './YMonthPicker';\nexport * from './YDatePicker';\n"],"mappings":""}
@@ -1,10 +1,10 @@
1
1
  import { createVNode as _createVNode, mergeProps as _mergeProps, Fragment as _Fragment } from "vue";
2
- import { computed, defineComponent, getCurrentInstance, onBeforeUnmount, ref, shallowRef, watch } from 'vue';
2
+ import { computed, getCurrentInstance, onBeforeUnmount, ref, shallowRef, watch } from 'vue';
3
3
  import { useModelDuplex } from "../../composables/communication.mjs";
4
4
  import { useRender } from "../../composables/component.mjs";
5
- import { chooseProps, omit } from "../../util/index.mjs";
5
+ import { omit } from "../../util/common.mjs";
6
+ import { bindClasses, chooseProps, defineComponent, propsFactory } from "../../util/component/index.mjs";
6
7
  import { toStyleSizeValue } from "../../util/ui.mjs";
7
- import { bindClasses, propsFactory } from "../../util/vue-component.mjs";
8
8
  import { YCard } from "../card/index.mjs";
9
9
  import { YLayer, pressYLayerProps } from "../layer/index.mjs";
10
10
  import { useActiveStack } from "../layer/active-stack.mjs";
@@ -1 +1 @@
1
- {"version":3,"file":"YDialog.mjs","names":["computed","defineComponent","getCurrentInstance","onBeforeUnmount","ref","shallowRef","watch","useModelDuplex","useRender","chooseProps","omit","toStyleSizeValue","bindClasses","propsFactory","YCard","YLayer","pressYLayerProps","useActiveStack","pressYDialogPropsOptions","persistent","type","Boolean","default","dialogClasses","Array","String","Object","maximized","focusTrap","offset","scrim","YDialog","name","components","props","emits","setup","_ref","emit","slots","vm","$yuyeon","appContext","config","globalProperties","active","classes","boundClasses","styles","contentStyles","paddingTop","layer$","children","onFocusin","e","prevTarget","relatedTarget","target","excludeTarget","document","querySelector","isArray","excluded","some","exclude","testChildrenContains","layers","layer","content$","contains","value","includes","focusableSelector","focusables","querySelectorAll","filter","el","hasAttribute","matches","length","firstChild","lastChild","isSameNode","focus","installFocusTrap","addEventListener","dismantleFocusTrap","removeEventListener","tempScrollTop","tempScrollLeft","preventInteractionBackground","toggle","root$","root","activeLayers","getActiveLayers","filtered","ctx","modal","classList","scrollTop","documentElement","scrollLeft","add","style","top","left","isMe","remove","requestAnimationFrame","onUpdate","v","onClick","currentActive","disabled","baseEl","neo","old","immediate","_createVNode","_Fragment","_mergeProps","$event","_len","arguments","args","_key","base"],"sources":["../../../src/components/dialog/YDialog.tsx"],"sourcesContent":["import type { PropType } from 'vue';\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n onBeforeUnmount,\n ref,\n shallowRef,\n watch,\n} from 'vue';\n\nimport { useModelDuplex } from '../../composables/communication';\nimport { useRender } from '../../composables/component';\nimport { chooseProps, omit } from '../../util';\nimport { toStyleSizeValue } from '../../util/ui';\nimport { bindClasses, propsFactory } from '../../util/vue-component';\nimport { YCard } from '../card';\nimport { YLayer, pressYLayerProps } from '../layer';\nimport { useActiveStack } from '../layer/active-stack';\n\nimport './YDialog.scss';\n\nexport const pressYDialogPropsOptions = propsFactory(\n {\n persistent: {\n type: Boolean as PropType<boolean>,\n default: true,\n },\n dialogClasses: {\n type: [Array, String, Object] as PropType<\n string[] | string | Record<string, any>\n >,\n },\n maximized: Boolean as PropType<boolean>,\n focusTrap: {\n type: [Boolean, String, Object, Array] as PropType<\n false | string | string[] | HTMLElement\n >,\n default: true,\n },\n offset: {\n type: String as PropType<string>,\n },\n ...omit(\n pressYLayerProps({\n scrim: true,\n }),\n ['offset', 'classes'],\n ),\n },\n 'YDialog',\n);\n\nexport const YDialog = defineComponent({\n name: 'YDialog',\n components: {\n YLayer,\n YCard,\n },\n props: pressYDialogPropsOptions(),\n emits: ['update:modelValue'],\n setup(props, { emit, slots }) {\n const vm = getCurrentInstance();\n const $yuyeon = vm?.appContext.config.globalProperties.$yuyeon;\n const active = useModelDuplex(props);\n\n const classes = computed(() => {\n const boundClasses = bindClasses(props.dialogClasses);\n return {\n ...boundClasses,\n 'y-dialog': true,\n 'y-dialog--maximized': props.maximized,\n };\n });\n\n const styles = computed(() => {\n return {\n ...(props.contentStyles ?? {}),\n paddingTop: toStyleSizeValue(props.offset),\n };\n });\n\n const layer$ = ref<typeof YLayer>();\n const { children } = useActiveStack(layer$, active, shallowRef(true));\n\n function onFocusin(e: FocusEvent) {\n if (props.focusTrap === false) {\n return;\n }\n\n const prevTarget = e.relatedTarget as HTMLElement | null;\n const target = e.target as HTMLElement | null;\n\n const excludeTarget = props.focusTrap;\n\n if (\n typeof excludeTarget === 'string' &&\n document.querySelector(excludeTarget) == target\n ) {\n return;\n }\n\n if (typeof excludeTarget === 'object') {\n if (Array.isArray(excludeTarget)) {\n const excluded = excludeTarget.some((exclude) => {\n if (typeof exclude === 'string') {\n return document.querySelector(exclude) == target;\n }\n if (typeof exclude === 'object') {\n return exclude == target;\n }\n });\n if (excluded) {\n return;\n }\n } else if (excludeTarget == target) {\n return;\n }\n }\n\n function testChildrenContains(layers: YLayer[]) {\n return layers.some((layer) => {\n return !layer.content$?.contains(target);\n });\n }\n\n if (\n prevTarget !== target &&\n layer$.value?.content$ &&\n ![document, layer$.value?.content$].includes(target) &&\n !layer$.value?.content$.contains(target) &&\n !testChildrenContains(children.value)\n ) {\n const focusableSelector =\n 'button, [href], input:not([type=\"hidden\"]), select, textarea, [tabindex]:not([tabindex=\"-1\"])';\n const focusables = [\n ...layer$.value.content$.querySelectorAll(focusableSelector),\n ].filter(\n (el) =>\n !el.hasAttribute('disabled') && !el.matches('[tabindex=\"-1\"]'),\n ) as HTMLElement[];\n if (!focusables.length) return;\n const firstChild = focusables[0];\n const lastChild = focusables[focusables.length - 1];\n if (target?.isSameNode(firstChild) || target?.isSameNode(lastChild)) {\n return;\n }\n if (firstChild === lastChild) {\n lastChild.focus();\n } else {\n firstChild.focus();\n }\n }\n }\n\n function installFocusTrap() {\n document.addEventListener('focusin', onFocusin);\n }\n\n function dismantleFocusTrap() {\n document.removeEventListener('focusin', onFocusin);\n }\n\n const tempScrollTop = ref(0);\n const tempScrollLeft = ref(0);\n\n function preventInteractionBackground(toggle: boolean) {\n const root$ = $yuyeon.root as HTMLElement;\n const activeLayers = layer$.value?.getActiveLayers();\n if (toggle) {\n const filtered = activeLayers?.filter((layer: any) => {\n return layer.ctx.modal;\n });\n if (\n (filtered && !filtered.length) ||\n !root$.classList.contains('y-dialog--virtual-scroll')\n ) {\n const scrollTop = document.documentElement.scrollTop;\n const scrollLeft = document.documentElement.scrollLeft;\n tempScrollTop.value = scrollTop;\n tempScrollLeft.value = scrollLeft;\n if (props.maximized) {\n document.documentElement.classList.add('y-dialog--prevent-scroll');\n }\n root$.classList.add('y-dialog--virtual-scroll');\n root$.style.top = toStyleSizeValue(-1 * scrollTop) || '';\n root$.style.left = toStyleSizeValue(-1 * scrollLeft) || '';\n }\n } else {\n const filtered = activeLayers?.filter((layer: any) => {\n return !layer$.value?.isMe(layer) && layer.ctx.modal;\n });\n if (filtered && !filtered.length) {\n root$.classList.remove('y-dialog--virtual-scroll');\n document.documentElement.classList.remove('y-dialog--prevent-scroll');\n root$.style.top = '';\n root$.style.left = '';\n requestAnimationFrame(() => {\n document.documentElement.scrollTop = tempScrollTop.value;\n document.documentElement.scrollLeft = tempScrollLeft.value;\n });\n }\n }\n }\n\n function onUpdate(v: boolean) {\n active.value = v;\n }\n\n function onClick(e: MouseEvent) {\n const currentActive = active.value;\n if (!props.disabled) {\n active.value = !currentActive;\n }\n }\n\n watch(\n () => layer$.value?.baseEl,\n (neo, old) => {\n if (neo) {\n neo.addEventListener('click', onClick);\n } else if (old) {\n old.removeEventListener('click', onClick);\n }\n },\n );\n\n watch(\n () => active.value,\n (neo) => {\n neo ? installFocusTrap() : dismantleFocusTrap();\n preventInteractionBackground(neo);\n },\n { immediate: true },\n );\n\n onBeforeUnmount(() => {\n preventInteractionBackground(false);\n });\n\n useRender(() => {\n return (\n <>\n <YLayer\n v-model={active.value}\n classes={classes.value}\n content-styles={styles.value}\n modal\n ref={layer$}\n {...omit(chooseProps(props, YLayer.props), ['contentStyles'])}\n >\n {{\n default: (...args: any[]) => slots.default?.(...args),\n base: slots.base,\n }}\n </YLayer>\n </>\n );\n });\n\n return {\n active,\n layer: layer$,\n classes,\n };\n },\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"YDialog.mjs","names":["computed","getCurrentInstance","onBeforeUnmount","ref","shallowRef","watch","useModelDuplex","useRender","omit","bindClasses","chooseProps","defineComponent","propsFactory","toStyleSizeValue","YCard","YLayer","pressYLayerProps","useActiveStack","pressYDialogPropsOptions","persistent","type","Boolean","default","dialogClasses","Array","String","Object","maximized","focusTrap","offset","scrim","YDialog","name","components","props","emits","setup","_ref","emit","slots","vm","$yuyeon","appContext","config","globalProperties","active","classes","boundClasses","styles","contentStyles","paddingTop","layer$","children","onFocusin","e","prevTarget","relatedTarget","target","excludeTarget","document","querySelector","isArray","excluded","some","exclude","testChildrenContains","layers","layer","content$","contains","value","includes","focusableSelector","focusables","querySelectorAll","filter","el","hasAttribute","matches","length","firstChild","lastChild","isSameNode","focus","installFocusTrap","addEventListener","dismantleFocusTrap","removeEventListener","tempScrollTop","tempScrollLeft","preventInteractionBackground","toggle","root$","root","activeLayers","getActiveLayers","filtered","ctx","modal","classList","scrollTop","documentElement","scrollLeft","add","style","top","left","isMe","remove","requestAnimationFrame","onUpdate","v","onClick","currentActive","disabled","baseEl","neo","old","immediate","_createVNode","_Fragment","_mergeProps","$event","_len","arguments","args","_key","base"],"sources":["../../../src/components/dialog/YDialog.tsx"],"sourcesContent":["import {\n type PropType,\n computed,\n getCurrentInstance,\n onBeforeUnmount,\n ref,\n shallowRef,\n watch,\n} from 'vue';\n\nimport { useModelDuplex } from '@/composables/communication';\nimport { useRender } from '@/composables/component';\nimport { omit } from '@/util/common';\nimport {\n bindClasses,\n chooseProps,\n defineComponent,\n propsFactory,\n} from '@/util/component';\nimport { toStyleSizeValue } from '@/util/ui';\n\nimport { YCard } from '../card';\nimport { YLayer, pressYLayerProps } from '../layer';\nimport { useActiveStack } from '../layer/active-stack';\n\nimport './YDialog.scss';\n\nexport const pressYDialogPropsOptions = propsFactory(\n {\n persistent: {\n type: Boolean as PropType<boolean>,\n default: true,\n },\n dialogClasses: {\n type: [Array, String, Object] as PropType<\n string[] | string | Record<string, any>\n >,\n },\n maximized: Boolean as PropType<boolean>,\n focusTrap: {\n type: [Boolean, String, Object, Array] as PropType<\n false | string | string[] | HTMLElement\n >,\n default: true,\n },\n offset: {\n type: String as PropType<string>,\n },\n ...omit(\n pressYLayerProps({\n scrim: true,\n }),\n ['offset', 'classes'],\n ),\n },\n 'YDialog',\n);\n\nexport const YDialog = defineComponent({\n name: 'YDialog',\n components: {\n YLayer,\n YCard,\n },\n props: pressYDialogPropsOptions(),\n emits: ['update:modelValue'],\n setup(props, { emit, slots }) {\n const vm = getCurrentInstance();\n const $yuyeon = vm?.appContext.config.globalProperties.$yuyeon;\n const active = useModelDuplex(props);\n\n const classes = computed(() => {\n const boundClasses = bindClasses(props.dialogClasses);\n return {\n ...boundClasses,\n 'y-dialog': true,\n 'y-dialog--maximized': props.maximized,\n };\n });\n\n const styles = computed(() => {\n return {\n ...(props.contentStyles ?? {}),\n paddingTop: toStyleSizeValue(props.offset),\n };\n });\n\n const layer$ = ref<typeof YLayer>();\n const { children } = useActiveStack(layer$, active, shallowRef(true));\n\n function onFocusin(e: FocusEvent) {\n if (props.focusTrap === false) {\n return;\n }\n\n const prevTarget = e.relatedTarget as HTMLElement | null;\n const target = e.target as HTMLElement | null;\n\n const excludeTarget = props.focusTrap;\n\n if (\n typeof excludeTarget === 'string' &&\n document.querySelector(excludeTarget) == target\n ) {\n return;\n }\n\n if (typeof excludeTarget === 'object') {\n if (Array.isArray(excludeTarget)) {\n const excluded = excludeTarget.some((exclude) => {\n if (typeof exclude === 'string') {\n return document.querySelector(exclude) == target;\n }\n if (typeof exclude === 'object') {\n return exclude == target;\n }\n });\n if (excluded) {\n return;\n }\n } else if (excludeTarget == target) {\n return;\n }\n }\n\n function testChildrenContains(layers: YLayer[]) {\n return layers.some((layer) => {\n return !layer.content$?.contains(target);\n });\n }\n\n if (\n prevTarget !== target &&\n layer$.value?.content$ &&\n ![document, layer$.value?.content$].includes(target) &&\n !layer$.value?.content$.contains(target) &&\n !testChildrenContains(children.value)\n ) {\n const focusableSelector =\n 'button, [href], input:not([type=\"hidden\"]), select, textarea, [tabindex]:not([tabindex=\"-1\"])';\n const focusables = [\n ...layer$.value.content$.querySelectorAll(focusableSelector),\n ].filter(\n (el) =>\n !el.hasAttribute('disabled') && !el.matches('[tabindex=\"-1\"]'),\n ) as HTMLElement[];\n if (!focusables.length) return;\n const firstChild = focusables[0];\n const lastChild = focusables[focusables.length - 1];\n if (target?.isSameNode(firstChild) || target?.isSameNode(lastChild)) {\n return;\n }\n if (firstChild === lastChild) {\n lastChild.focus();\n } else {\n firstChild.focus();\n }\n }\n }\n\n function installFocusTrap() {\n document.addEventListener('focusin', onFocusin);\n }\n\n function dismantleFocusTrap() {\n document.removeEventListener('focusin', onFocusin);\n }\n\n const tempScrollTop = ref(0);\n const tempScrollLeft = ref(0);\n\n function preventInteractionBackground(toggle: boolean) {\n const root$ = $yuyeon.root as HTMLElement;\n const activeLayers = layer$.value?.getActiveLayers();\n if (toggle) {\n const filtered = activeLayers?.filter((layer: any) => {\n return layer.ctx.modal;\n });\n if (\n (filtered && !filtered.length) ||\n !root$.classList.contains('y-dialog--virtual-scroll')\n ) {\n const scrollTop = document.documentElement.scrollTop;\n const scrollLeft = document.documentElement.scrollLeft;\n tempScrollTop.value = scrollTop;\n tempScrollLeft.value = scrollLeft;\n if (props.maximized) {\n document.documentElement.classList.add('y-dialog--prevent-scroll');\n }\n root$.classList.add('y-dialog--virtual-scroll');\n root$.style.top = toStyleSizeValue(-1 * scrollTop) || '';\n root$.style.left = toStyleSizeValue(-1 * scrollLeft) || '';\n }\n } else {\n const filtered = activeLayers?.filter((layer: any) => {\n return !layer$.value?.isMe(layer) && layer.ctx.modal;\n });\n if (filtered && !filtered.length) {\n root$.classList.remove('y-dialog--virtual-scroll');\n document.documentElement.classList.remove('y-dialog--prevent-scroll');\n root$.style.top = '';\n root$.style.left = '';\n requestAnimationFrame(() => {\n document.documentElement.scrollTop = tempScrollTop.value;\n document.documentElement.scrollLeft = tempScrollLeft.value;\n });\n }\n }\n }\n\n function onUpdate(v: boolean) {\n active.value = v;\n }\n\n function onClick(e: MouseEvent) {\n const currentActive = active.value;\n if (!props.disabled) {\n active.value = !currentActive;\n }\n }\n\n watch(\n () => layer$.value?.baseEl,\n (neo, old) => {\n if (neo) {\n neo.addEventListener('click', onClick);\n } else if (old) {\n old.removeEventListener('click', onClick);\n }\n },\n );\n\n watch(\n () => active.value,\n (neo) => {\n neo ? installFocusTrap() : dismantleFocusTrap();\n preventInteractionBackground(neo);\n },\n { immediate: true },\n );\n\n onBeforeUnmount(() => {\n preventInteractionBackground(false);\n });\n\n useRender(() => {\n return (\n <>\n <YLayer\n v-model={active.value}\n classes={classes.value}\n content-styles={styles.value}\n modal\n ref={layer$}\n {...omit(chooseProps(props, YLayer.props), ['contentStyles'])}\n >\n {{\n default: (...args: any[]) => slots.default?.(...args),\n base: slots.base,\n }}\n </YLayer>\n </>\n );\n });\n\n return {\n active,\n layer: layer$,\n classes,\n };\n },\n});\n"],"mappings":"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"}
@@ -1,50 +1,50 @@
1
- .y-dialog {
2
- justify-content: center;
3
- align-items: center;
4
- backdrop-filter: blur(0.8px) saturate(0.4);
5
-
6
- .y-layer {
7
- &__content > div {
8
- position: relative;
9
- }
10
- }
11
-
12
- &.y-layer--finish {
13
- .y-layer__content > .y-card > .y-card__footer {
14
- position: relative;
15
- }
16
- }
17
-
18
- &--maximized {
19
- backdrop-filter: none;
20
- align-items: unset;
21
- justify-content: unset;
22
-
23
- .y-layer {
24
- &__content {
25
- contain: none;
26
- position: relative;
27
- width: 100%;
28
- max-height: 100dvh;
29
- background: transparent;
30
- pointer-events: none;
31
- overflow-y: scroll;
32
- }
33
-
34
- &__content > div {
35
- border-radius: 0;
36
- width: 100%;
37
- min-height: 100%;
38
- pointer-events: auto;
39
- }
40
- }
41
- }
42
- }
43
-
44
- .y-dialog--prevent-scroll {
45
- overflow: hidden !important;
46
- }
47
- .y-dialog--virtual-scroll {
48
- position: fixed !important;
49
- width: 100%;
50
- }
1
+ .y-dialog {
2
+ justify-content: center;
3
+ align-items: center;
4
+ backdrop-filter: blur(0.8px) saturate(0.4);
5
+
6
+ .y-layer {
7
+ &__content > div {
8
+ position: relative;
9
+ }
10
+ }
11
+
12
+ &.y-layer--finish {
13
+ .y-layer__content > .y-card > .y-card__footer {
14
+ position: relative;
15
+ }
16
+ }
17
+
18
+ &--maximized {
19
+ backdrop-filter: none;
20
+ align-items: unset;
21
+ justify-content: unset;
22
+
23
+ .y-layer {
24
+ &__content {
25
+ contain: none;
26
+ position: relative;
27
+ width: 100%;
28
+ max-height: 100dvh;
29
+ background: transparent;
30
+ pointer-events: none;
31
+ overflow-y: scroll;
32
+ }
33
+
34
+ &__content > div {
35
+ border-radius: 0;
36
+ width: 100%;
37
+ min-height: 100%;
38
+ pointer-events: auto;
39
+ }
40
+ }
41
+ }
42
+ }
43
+
44
+ .y-dialog--prevent-scroll {
45
+ overflow: hidden !important;
46
+ }
47
+ .y-dialog--virtual-scroll {
48
+ position: fixed !important;
49
+ width: 100%;
50
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/components/dialog/index.ts"],"sourcesContent":["export * from './YDialog';\n\n"],"mappings":""}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/components/dialog/index.ts"],"sourcesContent":["export * from './YDialog';\n"],"mappings":""}
@@ -1,7 +1,6 @@
1
1
  import { withDirectives as _withDirectives, createVNode as _createVNode, resolveDirective as _resolveDirective } from "vue";
2
- import { defineComponent } from 'vue';
3
2
  import { useRender } from "../../composables/component.mjs";
4
- import { propsFactory } from "../../util/index.mjs";
3
+ import { defineComponent, propsFactory } from "../../util/component/index.mjs";
5
4
  export const pressYDividerPropsOptions = propsFactory({
6
5
  vertical: Boolean
7
6
  }, 'YDivider');
@@ -1 +1 @@
1
- {"version":3,"file":"YDivider.mjs","names":["defineComponent","useRender","propsFactory","pressYDividerPropsOptions","vertical","Boolean","YDivider","name","props","setup","_withDirectives","_createVNode","_resolveDirective"],"sources":["../../../src/components/divider/YDivider.tsx"],"sourcesContent":["import { defineComponent } from 'vue';\r\nimport type { PropType } from 'vue';\r\n\r\nimport { useRender } from '../../composables/component';\r\nimport { propsFactory } from '../../util';\r\n\r\nexport const pressYDividerPropsOptions = propsFactory(\r\n {\r\n vertical: Boolean as PropType<boolean>,\r\n },\r\n 'YDivider',\r\n);\r\n\r\nexport const YDivider = defineComponent({\r\n name: 'YDivider',\r\n props: pressYDividerPropsOptions(),\r\n setup(props) {\r\n useRender(() => {\r\n return (\r\n <hr\r\n class={['y-divider', { 'y-divider--vertical': props.vertical }]}\r\n v-theme\r\n />\r\n );\r\n });\r\n },\r\n});\r\n\r\nexport type YDivider = InstanceType<typeof YDivider>;\r\n"],"mappings":";AAAA,SAASA,eAAe,QAAQ,KAAK;AAAC,SAG7BC,SAAS;AAAA,SACTC,YAAY;AAErB,OAAO,MAAMC,yBAAyB,GAAGD,YAAY,CACnD;EACEE,QAAQ,EAAEC;AACZ,CAAC,EACD,UACF,CAAC;AAED,OAAO,MAAMC,QAAQ,GAAGN,eAAe,CAAC;EACtCO,IAAI,EAAE,UAAU;EAChBC,KAAK,EAAEL,yBAAyB,CAAC,CAAC;EAClCM,KAAKA,CAACD,KAAK,EAAE;IACXP,SAAS,CAAC,MAAM;MACd,OAAAS,eAAA,CAAAC,YAAA;QAAA,SAEW,CAAC,WAAW,EAAE;UAAE,qBAAqB,EAAEH,KAAK,CAACJ;QAAS,CAAC;MAAC,YAAAQ,iBAAA;IAIrE,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"YDivider.mjs","names":["useRender","defineComponent","propsFactory","pressYDividerPropsOptions","vertical","Boolean","YDivider","name","props","setup","_withDirectives","_createVNode","_resolveDirective"],"sources":["../../../src/components/divider/YDivider.tsx"],"sourcesContent":["import { type PropType } from 'vue';\n\nimport { useRender } from '@/composables/component';\nimport { defineComponent, propsFactory } from '@/util/component';\n\nexport const pressYDividerPropsOptions = propsFactory(\n {\n vertical: Boolean as PropType<boolean>,\n },\n 'YDivider',\n);\n\nexport const YDivider = defineComponent({\n name: 'YDivider',\n props: pressYDividerPropsOptions(),\n setup(props) {\n useRender(() => {\n return (\n <hr\n class={['y-divider', { 'y-divider--vertical': props.vertical }]}\n v-theme\n />\n );\n });\n },\n});\n\nexport type YDivider = InstanceType<typeof YDivider>;\n"],"mappings":";SAESA,SAAS;AAAA,SACTC,eAAe,EAAEC,YAAY;AAEtC,OAAO,MAAMC,yBAAyB,GAAGD,YAAY,CACnD;EACEE,QAAQ,EAAEC;AACZ,CAAC,EACD,UACF,CAAC;AAED,OAAO,MAAMC,QAAQ,GAAGL,eAAe,CAAC;EACtCM,IAAI,EAAE,UAAU;EAChBC,KAAK,EAAEL,yBAAyB,CAAC,CAAC;EAClCM,KAAKA,CAACD,KAAK,EAAE;IACXR,SAAS,CAAC,MAAM;MACd,OAAAU,eAAA,CAAAC,YAAA;QAAA,SAEW,CAAC,WAAW,EAAE;UAAE,qBAAqB,EAAEH,KAAK,CAACJ;QAAS,CAAC;MAAC,YAAAQ,iBAAA;IAIrE,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}
@@ -1,3 +1,2 @@
1
- .y-divider {
2
-
3
- }
1
+ .y-divider {
2
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/components/divider/index.ts"],"sourcesContent":["export * from './YDivider';\r\n"],"mappings":""}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/components/divider/index.ts"],"sourcesContent":["export * from './YDivider';\n"],"mappings":""}
@@ -1,12 +1,12 @@
1
1
  import { createTextVNode as _createTextVNode, mergeProps as _mergeProps, createVNode as _createVNode, Fragment as _Fragment } from "vue";
2
- import { defineComponent, mergeProps } from 'vue';
2
+ import { mergeProps } from 'vue';
3
3
  import { pressItemsPropsOptions } from "../../abstract/items.mjs";
4
4
  import { useModelDuplex } from "../../composables/communication.mjs";
5
5
  import { useRender } from "../../composables/component.mjs";
6
6
  import { pressCoordinateProps } from "../../composables/coordinate/index.mjs";
7
7
  import { pressPolyTransitionPropsOptions } from "../../composables/transition.mjs";
8
8
  import { getObjectValueByPath, omit } from "../../util/common.mjs";
9
- import { bindClasses, chooseProps, propsFactory } from "../../util/vue-component.mjs";
9
+ import { bindClasses, chooseProps, defineComponent, propsFactory } from "../../util/component/index.mjs";
10
10
  import { YButton } from "../button/index.mjs";
11
11
  import { YCard } from "../card/index.mjs";
12
12
  import { YIcon } from "../icon/index.mjs";
@@ -1 +1 @@
1
- {"version":3,"file":"YDropdown.mjs","names":["defineComponent","mergeProps","pressItemsPropsOptions","useModelDuplex","useRender","pressCoordinateProps","pressPolyTransitionPropsOptions","getObjectValueByPath","omit","bindClasses","chooseProps","propsFactory","YButton","YCard","YIcon","YList","YListItem","YMenu","YMenuPropOptions","pressYDropdownPropsOptions","modelValue","Boolean","variation","String","color","position","dropdownIcon","type","Array","Object","default","transition","YDropdown","name","inheritAttrs","components","props","slots","emits","setup","_ref","attrs","emit","opened","onClickItem","item","value","menuProps","dropdownIconProps","_createVNode","_Fragment","_mergeProps","$event","contentClasses","base","_len","arguments","length","args","_key","menu","isArray","items","map","text","itemText","e","_createTextVNode"],"sources":["../../../src/components/dropdown/YDropdown.tsx"],"sourcesContent":["import { PropType, SlotsType, defineComponent, mergeProps } from 'vue';\n\nimport { pressItemsPropsOptions } from '../../abstract/items';\nimport { useModelDuplex } from '../../composables/communication';\nimport { useRender } from '../../composables/component';\nimport { pressCoordinateProps } from '../../composables/coordinate';\nimport { pressPolyTransitionPropsOptions } from '../../composables/transition';\nimport { getObjectValueByPath, omit } from '../../util/common';\nimport {\n bindClasses,\n chooseProps,\n propsFactory,\n} from '../../util/vue-component';\nimport { YButton } from '../button';\nimport { YCard } from '../card';\nimport { YIcon, YIconIconProp } from '../icon';\nimport { YList, YListItem } from '../list';\nimport { YMenu, YMenuPropOptions } from '../menu';\n\nimport './YDropdown.scss';\n\nexport const pressYDropdownPropsOptions = propsFactory(\n {\n ...omit(YMenuPropOptions, ['modelValue', 'coordinateStrategy']),\n modelValue: Boolean as PropType<boolean>,\n variation: String as PropType<string>,\n color: String as PropType<string>,\n ...omit(pressCoordinateProps({ position: 'bottom' as 'bottom' }), [\n 'coordinateStrategy',\n ]),\n dropdownIcon: {\n type: [String, Array, Object] as PropType<YIconIconProp>,\n default: '$dropdown',\n },\n ...pressItemsPropsOptions(),\n ...pressPolyTransitionPropsOptions({\n transition: 'fade'\n }),\n },\n 'YDropdown',\n);\n\nexport const YDropdown = defineComponent({\n name: 'YDropdown',\n inheritAttrs: false,\n components: {\n YMenu,\n },\n props: {\n ...pressYDropdownPropsOptions(),\n },\n slots: Object as SlotsType<{\n base: any;\n default: any;\n 'dropdown-icon': any;\n menu: any;\n item: { text: string; item: any };\n }>,\n emits: ['update:modelValue', 'click'],\n setup(props, { slots, attrs, emit }) {\n const opened = useModelDuplex(props);\n\n function onClickItem(item: any) {\n opened.value = false;\n emit('click', item);\n }\n\n useRender(() => {\n const menuProps = chooseProps(props, YMenu.props);\n const dropdownIconProps = chooseProps(\n typeof props.dropdownIcon === 'object' ? props.dropdownIcon : {},\n YIcon.props,\n );\n return (\n <>\n <YMenu\n {...menuProps}\n v-model={opened.value}\n content-classes={bindClasses([\n 'y-dropdown__content',\n props.contentClasses,\n ])}\n >\n {{\n base: (...args: any[]) =>\n slots.base ? (\n slots.base?.(...args)\n ) : (\n <YButton\n variation={props.variation}\n color={props.color}\n class={[\n 'y-dropdown',\n { 'y-dropdown--opened': opened.value },\n ]}\n {...attrs}\n >\n {\n <span class=\"y-dropdown__default\">\n {slots.default?.()}\n </span>\n }\n {slots['dropdown-icon'] ? (\n slots['dropdown-icon']()\n ) : (\n <YIcon\n {...mergeProps(dropdownIconProps)}\n icon={props.dropdownIcon}\n class={['y-dropdown__icon']}\n ></YIcon>\n )}\n </YButton>\n ),\n default: () =>\n slots.menu ? (\n slots.menu()\n ) : (\n <YCard>\n {Array.isArray(props.items) && props.items.length > 0 ? (\n <YList>\n {props.items.map((item) => {\n const text = getObjectValueByPath(\n item,\n props.itemText,\n );\n return (\n <YListItem onClick={(e) => onClickItem(item)}>\n {slots.item ? slots.item({ text, item }) : text}\n </YListItem>\n );\n })}\n </YList>\n ) : (\n <div class=\"y-dropdown__no-options\">항목이 없습니다.</div>\n )}\n </YCard>\n ),\n }}\n </YMenu>\n </>\n );\n });\n },\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"YDropdown.mjs","names":["mergeProps","pressItemsPropsOptions","useModelDuplex","useRender","pressCoordinateProps","pressPolyTransitionPropsOptions","getObjectValueByPath","omit","bindClasses","chooseProps","defineComponent","propsFactory","YButton","YCard","YIcon","YList","YListItem","YMenu","YMenuPropOptions","pressYDropdownPropsOptions","modelValue","Boolean","variation","String","color","position","dropdownIcon","type","Array","Object","default","transition","YDropdown","name","inheritAttrs","components","props","slots","emits","setup","_ref","attrs","emit","opened","onClickItem","item","value","menuProps","dropdownIconProps","_createVNode","_Fragment","_mergeProps","$event","contentClasses","base","_len","arguments","length","args","_key","menu","isArray","items","map","text","itemText","e","_createTextVNode"],"sources":["../../../src/components/dropdown/YDropdown.tsx"],"sourcesContent":["import { type PropType, type SlotsType, mergeProps } from 'vue';\n\nimport { pressItemsPropsOptions } from '@/abstract/items';\nimport { useModelDuplex } from '@/composables/communication';\nimport { useRender } from '@/composables/component';\nimport { pressCoordinateProps } from '@/composables/coordinate';\nimport { pressPolyTransitionPropsOptions } from '@/composables/transition';\nimport { getObjectValueByPath, omit } from '@/util/common';\nimport {\n bindClasses,\n chooseProps,\n defineComponent,\n propsFactory,\n} from '@/util/component';\n\nimport { YButton } from '../button';\nimport { YCard } from '../card';\nimport { YIcon, YIconIconProp } from '../icon';\nimport { YList, YListItem } from '../list';\nimport { YMenu, YMenuPropOptions } from '../menu';\n\nimport './YDropdown.scss';\n\n\nexport const pressYDropdownPropsOptions = propsFactory(\n {\n ...omit(YMenuPropOptions, ['modelValue', 'coordinateStrategy']),\n modelValue: Boolean as PropType<boolean>,\n variation: String as PropType<string>,\n color: String as PropType<string>,\n ...omit(pressCoordinateProps({ position: 'bottom' as 'bottom' }), [\n 'coordinateStrategy',\n ]),\n dropdownIcon: {\n type: [String, Array, Object] as PropType<YIconIconProp>,\n default: '$dropdown',\n },\n ...pressItemsPropsOptions(),\n ...pressPolyTransitionPropsOptions({\n transition: 'fade',\n }),\n },\n 'YDropdown',\n);\n\nexport const YDropdown = defineComponent({\n name: 'YDropdown',\n inheritAttrs: false,\n components: {\n YMenu,\n },\n props: {\n ...pressYDropdownPropsOptions(),\n },\n slots: Object as SlotsType<{\n base: any;\n default: any;\n 'dropdown-icon': any;\n menu: any;\n item: { text: string; item: any };\n }>,\n emits: ['update:modelValue', 'click'],\n setup(props, { slots, attrs, emit }) {\n const opened = useModelDuplex(props);\n\n function onClickItem(item: any) {\n opened.value = false;\n emit('click', item);\n }\n\n useRender(() => {\n const menuProps = chooseProps(props, YMenu.props);\n const dropdownIconProps = chooseProps(\n typeof props.dropdownIcon === 'object' ? props.dropdownIcon : {},\n YIcon.props,\n );\n return (\n <>\n <YMenu\n {...menuProps}\n v-model={opened.value}\n content-classes={bindClasses([\n 'y-dropdown__content',\n props.contentClasses,\n ])}\n >\n {{\n base: (...args: any[]) =>\n slots.base ? (\n slots.base?.(...args)\n ) : (\n <YButton\n variation={props.variation}\n color={props.color}\n class={[\n 'y-dropdown',\n { 'y-dropdown--opened': opened.value },\n ]}\n {...attrs}\n >\n {\n <span class=\"y-dropdown__default\">\n {slots.default?.()}\n </span>\n }\n {slots['dropdown-icon'] ? (\n slots['dropdown-icon']()\n ) : (\n <YIcon\n {...mergeProps(dropdownIconProps)}\n icon={props.dropdownIcon}\n class={['y-dropdown__icon']}\n ></YIcon>\n )}\n </YButton>\n ),\n default: () =>\n slots.menu ? (\n slots.menu()\n ) : (\n <YCard>\n {Array.isArray(props.items) && props.items.length > 0 ? (\n <YList>\n {props.items.map((item) => {\n const text = getObjectValueByPath(\n item,\n props.itemText,\n );\n return (\n <YListItem onClick={(e) => onClickItem(item)}>\n {slots.item ? slots.item({ text, item }) : text}\n </YListItem>\n );\n })}\n </YList>\n ) : (\n <div class=\"y-dropdown__no-options\">항목이 없습니다.</div>\n )}\n </YCard>\n ),\n }}\n </YMenu>\n </>\n );\n });\n },\n});\n"],"mappings":"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"}