yuyeon 0.2.1-rc.1 → 0.2.1-rc.10

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 (396) hide show
  1. package/dist/style.css +1 -1
  2. package/dist/yuyeon.js +5262 -6924
  3. package/dist/yuyeon.umd.cjs +4 -26
  4. package/lib/components/alert/YAlert.mjs +2 -2
  5. package/lib/components/alert/YAlert.mjs.map +1 -1
  6. package/lib/components/alert/YAlert.scss +75 -76
  7. package/lib/components/alert/index.mjs.map +1 -1
  8. package/lib/components/app/YApp.mjs +3 -2
  9. package/lib/components/app/YApp.mjs.map +1 -1
  10. package/lib/components/app/YApp.scss +14 -14
  11. package/lib/components/app/index.mjs.map +1 -1
  12. package/lib/components/badge/YBadge.mjs +2 -2
  13. package/lib/components/badge/YBadge.mjs.map +1 -1
  14. package/lib/components/badge/YBadge.scss +76 -76
  15. package/lib/components/badge/index.mjs.map +1 -1
  16. package/lib/components/bench/YBench.mjs +2 -3
  17. package/lib/components/bench/YBench.mjs.map +1 -1
  18. package/lib/components/bench/index.mjs.map +1 -1
  19. package/lib/components/button/YButton.mjs +4 -4
  20. package/lib/components/button/YButton.mjs.map +1 -1
  21. package/lib/components/button/YButton.scss +128 -129
  22. package/lib/components/button/index.mjs.map +1 -1
  23. package/lib/components/card/YCard.mjs +3 -2
  24. package/lib/components/card/YCard.mjs.map +1 -1
  25. package/lib/components/card/YCard.scss +45 -43
  26. package/lib/components/card/YCardBody.mjs +2 -1
  27. package/lib/components/card/YCardBody.mjs.map +1 -1
  28. package/lib/components/card/YCardFooter.mjs +2 -1
  29. package/lib/components/card/YCardFooter.mjs.map +1 -1
  30. package/lib/components/card/YCardHeader.mjs +2 -1
  31. package/lib/components/card/YCardHeader.mjs.map +1 -1
  32. package/lib/components/checkbox/YCheckbox.mjs +2 -2
  33. package/lib/components/checkbox/YCheckbox.mjs.map +1 -1
  34. package/lib/components/checkbox/YCheckbox.scss +48 -48
  35. package/lib/components/checkbox/YInputCheckbox.mjs +2 -1
  36. package/lib/components/checkbox/YInputCheckbox.mjs.map +1 -1
  37. package/lib/components/checkbox/YInputCheckbox.scss +84 -86
  38. package/lib/components/checkbox/index.mjs +1 -1
  39. package/lib/components/checkbox/index.mjs.map +1 -1
  40. package/lib/components/chip/YChip.mjs +50 -42
  41. package/lib/components/chip/YChip.mjs.map +1 -1
  42. package/lib/components/chip/YChip.scss +6 -1
  43. package/lib/components/date-picker/YDateCalendar.mjs +3 -3
  44. package/lib/components/date-picker/YDateCalendar.mjs.map +1 -1
  45. package/lib/components/date-picker/YDateCalendar.scss +84 -82
  46. package/lib/components/date-picker/YDatePicker.mjs +2 -2
  47. package/lib/components/date-picker/YDatePicker.mjs.map +1 -1
  48. package/lib/components/date-picker/YDatePicker.scss +3 -3
  49. package/lib/components/date-picker/YDatePickerControl.mjs +2 -2
  50. package/lib/components/date-picker/YDatePickerControl.mjs.map +1 -1
  51. package/lib/components/date-picker/YDatePickerControl.scss +35 -35
  52. package/lib/components/date-picker/YMonthPicker.mjs +3 -3
  53. package/lib/components/date-picker/YMonthPicker.mjs.map +1 -1
  54. package/lib/components/date-picker/YMonthPicker.scss +25 -25
  55. package/lib/components/date-picker/YYearPicker.mjs +3 -2
  56. package/lib/components/date-picker/YYearPicker.mjs.map +1 -1
  57. package/lib/components/date-picker/YYearPicker.scss +23 -23
  58. package/lib/components/date-picker/index.mjs.map +1 -1
  59. package/lib/components/dialog/YDialog.mjs +3 -3
  60. package/lib/components/dialog/YDialog.mjs.map +1 -1
  61. package/lib/components/dialog/YDialog.scss +50 -50
  62. package/lib/components/dialog/index.mjs.map +1 -1
  63. package/lib/components/divider/YDivider.mjs +1 -2
  64. package/lib/components/divider/YDivider.mjs.map +1 -1
  65. package/lib/components/divider/YDivider.scss +2 -3
  66. package/lib/components/divider/index.mjs.map +1 -1
  67. package/lib/components/dropdown/YDropdown.mjs +2 -2
  68. package/lib/components/dropdown/YDropdown.mjs.map +1 -1
  69. package/lib/components/dropdown/YDropdown.scss +27 -28
  70. package/lib/components/dropdown/index.mjs.map +1 -1
  71. package/lib/components/field-input/YFieldInput.mjs +2 -2
  72. package/lib/components/field-input/YFieldInput.mjs.map +1 -1
  73. package/lib/components/field-input/YFieldInput.scss +66 -66
  74. package/lib/components/field-input/index.mjs.map +1 -1
  75. package/lib/components/form/YForm.mjs +3 -2
  76. package/lib/components/form/YForm.mjs.map +1 -1
  77. package/lib/components/hover/YHover.mjs +2 -2
  78. package/lib/components/hover/YHover.mjs.map +1 -1
  79. package/lib/components/hover/index.mjs.map +1 -1
  80. package/lib/components/icon/YIcon.mjs +3 -2
  81. package/lib/components/icon/YIcon.mjs.map +1 -1
  82. package/lib/components/icon/YIcon.scss +18 -18
  83. package/lib/components/icon/index.mjs.map +1 -1
  84. package/lib/components/icons/YIconCheckbox.mjs +1 -1
  85. package/lib/components/icons/YIconCheckbox.mjs.map +1 -1
  86. package/lib/components/icons/YIconCheckbox.scss +60 -60
  87. package/lib/components/icons/YIconClear.mjs +1 -1
  88. package/lib/components/icons/YIconClear.mjs.map +1 -1
  89. package/lib/components/icons/YIconDropdown.mjs +1 -1
  90. package/lib/components/icons/YIconDropdown.mjs.map +1 -1
  91. package/lib/components/icons/YIconExpand.mjs +1 -1
  92. package/lib/components/icons/YIconExpand.mjs.map +1 -1
  93. package/lib/components/icons/YIconPageControl.mjs +1 -1
  94. package/lib/components/icons/YIconPageControl.mjs.map +1 -1
  95. package/lib/components/icons/YIconSort.mjs +1 -1
  96. package/lib/components/icons/YIconSort.mjs.map +1 -1
  97. package/lib/components/icons/YIconSort.scss +24 -23
  98. package/lib/components/icons/index.mjs +1 -1
  99. package/lib/components/icons/index.mjs.map +1 -1
  100. package/lib/components/img/YImg.mjs +6 -7
  101. package/lib/components/img/YImg.mjs.map +1 -1
  102. package/lib/components/input/YInput.mjs +3 -4
  103. package/lib/components/input/YInput.mjs.map +1 -1
  104. package/lib/components/input/YInput.scss +258 -254
  105. package/lib/components/input/index.mjs.map +1 -1
  106. package/lib/components/ip-field/YIpField.scss +74 -74
  107. package/lib/components/ip-field/YIpv4Field.mjs +2 -2
  108. package/lib/components/ip-field/YIpv4Field.mjs.map +1 -1
  109. package/lib/components/ip-field/index.mjs.map +1 -1
  110. package/lib/components/layer/YLayer.mjs +2 -2
  111. package/lib/components/layer/YLayer.mjs.map +1 -1
  112. package/lib/components/layer/YLayer.scss +38 -38
  113. package/lib/components/layer/active-delay.mjs.map +1 -1
  114. package/lib/components/layer/active-stack.mjs.map +1 -1
  115. package/lib/components/layer/base.mjs.map +1 -1
  116. package/lib/components/layer/content.mjs.map +1 -1
  117. package/lib/components/layer/scroll-strategies.mjs +1 -1
  118. package/lib/components/layer/scroll-strategies.mjs.map +1 -1
  119. package/lib/components/list/YList.mjs +2 -2
  120. package/lib/components/list/YList.mjs.map +1 -1
  121. package/lib/components/list/YList.scss +3 -3
  122. package/lib/components/list/YListItem.mjs +2 -2
  123. package/lib/components/list/YListItem.mjs.map +1 -1
  124. package/lib/components/list/YListItem.scss +62 -62
  125. package/lib/components/list/index.mjs.map +1 -1
  126. package/lib/components/loading/YSpinnerRing.mjs +1 -1
  127. package/lib/components/loading/YSpinnerRing.mjs.map +1 -1
  128. package/lib/components/menu/YMenu.mjs +5 -4
  129. package/lib/components/menu/YMenu.mjs.map +1 -1
  130. package/lib/components/menu/YMenu.scss +25 -22
  131. package/lib/components/menu/index.mjs.map +1 -1
  132. package/lib/components/navigation/YNavigation.mjs +2 -1
  133. package/lib/components/navigation/YNavigation.mjs.map +1 -1
  134. package/lib/components/pagination/YPagination.mjs +2 -2
  135. package/lib/components/pagination/YPagination.mjs.map +1 -1
  136. package/lib/components/pagination/YPagination.scss +52 -51
  137. package/lib/components/pagination/index.mjs.map +1 -1
  138. package/lib/components/panel/YDividePanel.mjs.map +1 -1
  139. package/lib/components/panel/YDividePanel.scss +43 -43
  140. package/lib/components/panel/index.mjs.map +1 -1
  141. package/lib/components/plate/YPlate.mjs +2 -1
  142. package/lib/components/plate/YPlate.mjs.map +1 -1
  143. package/lib/components/plate/YPlate.scss +9 -9
  144. package/lib/components/progress-bar/YProgressBar.mjs +40 -52
  145. package/lib/components/progress-bar/YProgressBar.mjs.map +1 -1
  146. package/lib/components/progress-bar/YProgressBar.scss +10 -4
  147. package/lib/components/select/YSelect.mjs +6 -15
  148. package/lib/components/select/YSelect.mjs.map +1 -1
  149. package/lib/components/select/YSelect.scss +43 -43
  150. package/lib/components/select/index.mjs.map +1 -1
  151. package/lib/components/slider/YSlider.mjs +26 -0
  152. package/lib/components/slider/YSlider.mjs.map +1 -0
  153. package/lib/components/slider/index.mjs +2 -0
  154. package/lib/components/slider/index.mjs.map +1 -0
  155. package/lib/components/snackbar/YSnackbar.mjs +8 -9
  156. package/lib/components/snackbar/YSnackbar.mjs.map +1 -1
  157. package/lib/components/snackbar/YSnackbar.scss +38 -38
  158. package/lib/components/switch/YSwitch.mjs +2 -1
  159. package/lib/components/switch/YSwitch.mjs.map +1 -1
  160. package/lib/components/switch/YSwitch.scss +204 -198
  161. package/lib/components/tab/YTab.mjs +2 -3
  162. package/lib/components/tab/YTab.mjs.map +1 -1
  163. package/lib/components/tab/YTab.scss +6 -3
  164. package/lib/components/tab/YTabs.mjs +2 -2
  165. package/lib/components/tab/YTabs.mjs.map +1 -1
  166. package/lib/components/tab/YTabs.scss +8 -10
  167. package/lib/components/tab/index.mjs.map +1 -1
  168. package/lib/components/tab/types.mjs.map +1 -1
  169. package/lib/components/table/YDataTable.mjs +5 -5
  170. package/lib/components/table/YDataTable.mjs.map +1 -1
  171. package/lib/components/table/YDataTableBody.mjs +2 -2
  172. package/lib/components/table/YDataTableBody.mjs.map +1 -1
  173. package/lib/components/table/YDataTableCell.mjs +2 -1
  174. package/lib/components/table/YDataTableCell.mjs.map +1 -1
  175. package/lib/components/table/YDataTableControl.mjs +1 -1
  176. package/lib/components/table/YDataTableControl.mjs.map +1 -1
  177. package/lib/components/table/YDataTableControl.scss +7 -7
  178. package/lib/components/table/YDataTableHead.mjs +2 -3
  179. package/lib/components/table/YDataTableHead.mjs.map +1 -1
  180. package/lib/components/table/YDataTableLayer.mjs +2 -1
  181. package/lib/components/table/YDataTableLayer.mjs.map +1 -1
  182. package/lib/components/table/YDataTableRow.mjs +2 -1
  183. package/lib/components/table/YDataTableRow.mjs.map +1 -1
  184. package/lib/components/table/YDataTableServer.mjs +8 -7
  185. package/lib/components/table/YDataTableServer.mjs.map +1 -1
  186. package/lib/components/table/YTable.mjs +14 -19
  187. package/lib/components/table/YTable.mjs.map +1 -1
  188. package/lib/components/table/YTable.scss +157 -152
  189. package/lib/components/table/composibles/header.mjs +10 -3
  190. package/lib/components/table/composibles/header.mjs.map +1 -1
  191. package/lib/components/table/composibles/items.mjs.map +1 -1
  192. package/lib/components/table/composibles/measure.mjs +37 -0
  193. package/lib/components/table/composibles/measure.mjs.map +1 -0
  194. package/lib/components/table/composibles/options.mjs.map +1 -1
  195. package/lib/components/table/composibles/pagination.mjs.map +1 -1
  196. package/lib/components/table/composibles/selection.mjs +13 -5
  197. package/lib/components/table/composibles/selection.mjs.map +1 -1
  198. package/lib/components/table/composibles/sorted-items.mjs +1 -1
  199. package/lib/components/table/composibles/sorted-items.mjs.map +1 -1
  200. package/lib/components/table/composibles/sorting.mjs +1 -2
  201. package/lib/components/table/composibles/sorting.mjs.map +1 -1
  202. package/lib/components/table/index.mjs.map +1 -1
  203. package/lib/components/table/types/common.mjs.map +1 -1
  204. package/lib/components/table/types/header.mjs.map +1 -1
  205. package/lib/components/table/types/index.mjs.map +1 -1
  206. package/lib/components/table/types/row.mjs.map +1 -1
  207. package/lib/components/text-ellipsis/YTextEllipsis.mjs +4 -2
  208. package/lib/components/text-ellipsis/YTextEllipsis.mjs.map +1 -1
  209. package/lib/components/text-ellipsis/YTextEllipsis.scss +43 -43
  210. package/lib/components/text-ellipsis/index.mjs.map +1 -1
  211. package/lib/components/text-highlighter/YTextHighlighter.mjs +2 -1
  212. package/lib/components/text-highlighter/YTextHighlighter.mjs.map +1 -1
  213. package/lib/components/text-interpolation/YTi.mjs +2 -1
  214. package/lib/components/text-interpolation/YTi.mjs.map +1 -1
  215. package/lib/components/text-interpolation/index.mjs.map +1 -1
  216. package/lib/components/textarea/YTextarea.mjs +2 -2
  217. package/lib/components/textarea/YTextarea.mjs.map +1 -1
  218. package/lib/components/textarea/YTextarea.scss +25 -25
  219. package/lib/components/textarea/index.mjs.map +1 -1
  220. package/lib/components/toggle-button/YToggleButton.mjs.map +1 -1
  221. package/lib/components/toggle-button/index.mjs.map +1 -1
  222. package/lib/components/tooltip/YTooltip.mjs +3 -3
  223. package/lib/components/tooltip/YTooltip.mjs.map +1 -1
  224. package/lib/components/tooltip/YTooltip.scss +19 -19
  225. package/lib/components/tooltip/index.mjs.map +1 -1
  226. package/lib/components/transitions/expand-transition.mjs.map +1 -1
  227. package/lib/components/tree-view/YTreeView.mjs +1 -1
  228. package/lib/components/tree-view/YTreeView.mjs.map +1 -1
  229. package/lib/components/tree-view/YTreeView.scss +81 -79
  230. package/lib/components/tree-view/YTreeViewNode.mjs +2 -1
  231. package/lib/components/tree-view/YTreeViewNode.mjs.map +1 -1
  232. package/lib/components/tree-view/index.mjs.map +1 -1
  233. package/lib/components/tree-view/types.mjs.map +1 -1
  234. package/lib/components/tree-view/util.mjs.map +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/levitation.mjs.map +1 -1
  240. package/lib/composables/coordinate/utils/point.mjs.map +1 -1
  241. package/lib/composables/date/factory.mjs.map +1 -1
  242. package/lib/composables/date/index.mjs +1 -1
  243. package/lib/composables/date/index.mjs.map +1 -1
  244. package/lib/composables/date/setting.mjs.map +1 -1
  245. package/lib/composables/date/types.mjs.map +1 -1
  246. package/lib/composables/defaults/index.mjs +3 -3
  247. package/lib/composables/defaults/index.mjs.map +1 -1
  248. package/lib/composables/defaults/types.mjs.map +1 -1
  249. package/lib/composables/dimension.mjs +1 -1
  250. package/lib/composables/dimension.mjs.map +1 -1
  251. package/lib/composables/focus.mjs +1 -1
  252. package/lib/composables/focus.mjs.map +1 -1
  253. package/lib/composables/form.mjs.map +1 -1
  254. package/lib/composables/i18n/index.mjs.map +1 -1
  255. package/lib/composables/icon.mjs +5 -4
  256. package/lib/composables/icon.mjs.map +1 -1
  257. package/lib/composables/layer-group.mjs +1 -1
  258. package/lib/composables/layer-group.mjs.map +1 -1
  259. package/lib/composables/layout.mjs +1 -1
  260. package/lib/composables/layout.mjs.map +1 -1
  261. package/lib/composables/list-items.mjs.map +1 -1
  262. package/lib/composables/progress.mjs +7 -2
  263. package/lib/composables/progress.mjs.map +1 -1
  264. package/lib/composables/ref.mjs +1 -1
  265. package/lib/composables/ref.mjs.map +1 -1
  266. package/lib/composables/resize-observer.mjs +1 -3
  267. package/lib/composables/resize-observer.mjs.map +1 -1
  268. package/lib/composables/scope.mjs +1 -2
  269. package/lib/composables/scope.mjs.map +1 -1
  270. package/lib/composables/theme/factory.mjs.map +1 -1
  271. package/lib/composables/theme/index.mjs +1 -1
  272. package/lib/composables/theme/index.mjs.map +1 -1
  273. package/lib/composables/theme/setting.mjs.map +1 -1
  274. package/lib/composables/theme/types.mjs.map +1 -1
  275. package/lib/composables/timing.mjs +1 -1
  276. package/lib/composables/timing.mjs.map +1 -1
  277. package/lib/composables/transition.mjs +1 -1
  278. package/lib/composables/transition.mjs.map +1 -1
  279. package/lib/composables/validation.mjs +1 -1
  280. package/lib/composables/validation.mjs.map +1 -1
  281. package/lib/composables/vue-router.mjs +1 -1
  282. package/lib/composables/vue-router.mjs.map +1 -1
  283. package/lib/index.mjs +4 -4
  284. package/lib/index.mjs.map +1 -1
  285. package/lib/util/anchor.mjs.map +1 -1
  286. package/lib/util/array.mjs.map +1 -1
  287. package/lib/util/color/const.mjs +1 -1
  288. package/lib/util/color/const.mjs.map +1 -1
  289. package/lib/util/component/component.mjs +2 -1
  290. package/lib/util/component/component.mjs.map +1 -1
  291. package/lib/util/component/index.mjs +2 -1
  292. package/lib/util/component/index.mjs.map +1 -1
  293. package/lib/util/component/inject-self.mjs.map +1 -1
  294. package/lib/util/component/props.mjs +1 -1
  295. package/lib/util/component/props.mjs.map +1 -1
  296. package/lib/util/date/index.mjs.map +1 -1
  297. package/lib/util/dom.mjs.map +1 -1
  298. package/lib/util/reactivity.mjs +3 -3
  299. package/lib/util/reactivity.mjs.map +1 -1
  300. package/lib/util/rect.mjs.map +1 -1
  301. package/lib/util/ui.mjs.map +1 -1
  302. package/lib/util/validation.mjs.map +1 -1
  303. package/package.json +1 -1
  304. package/types/abstract/items.d.ts +4 -4
  305. package/types/components/app/YApp.d.ts +1 -1
  306. package/types/components/badge/YBadge.d.ts +5 -39
  307. package/types/components/bench/YBench.d.ts +1 -1
  308. package/types/components/button/YButton.d.ts +10 -69
  309. package/types/components/card/YCard.d.ts +1 -6
  310. package/types/components/card/YCardBody.d.ts +1 -1
  311. package/types/components/card/YCardFooter.d.ts +1 -1
  312. package/types/components/card/YCardHeader.d.ts +1 -1
  313. package/types/components/checkbox/YCheckbox.d.ts +1 -26
  314. package/types/components/checkbox/YInputCheckbox.d.ts +2 -26
  315. package/types/components/checkbox/index.d.ts +1 -0
  316. package/types/components/chip/YChip.d.ts +29 -25
  317. package/types/components/date-picker/YDateCalendar.d.ts +3 -31
  318. package/types/components/date-picker/YDatePicker.d.ts +13 -42
  319. package/types/components/date-picker/YDatePickerControl.d.ts +12 -44
  320. package/types/components/date-picker/YMonthPicker.d.ts +1 -5
  321. package/types/components/date-picker/YYearPicker.d.ts +1 -7
  322. package/types/components/dialog/YDialog.d.ts +72 -315
  323. package/types/components/divider/YDivider.d.ts +1 -3
  324. package/types/components/dropdown/YDropdown.d.ts +70 -243
  325. package/types/components/field-input/YFieldInput.d.ts +14 -120
  326. package/types/components/form/YForm.d.ts +2 -24
  327. package/types/components/hover/YHover.d.ts +4 -26
  328. package/types/components/icon/YIcon.d.ts +3 -18
  329. package/types/components/icons/YIconCheckbox.d.ts +1 -9
  330. package/types/components/icons/YIconClear.d.ts +1 -1
  331. package/types/components/icons/YIconDropdown.d.ts +1 -1
  332. package/types/components/icons/YIconExpand.d.ts +1 -1
  333. package/types/components/icons/YIconPageControl.d.ts +1 -8
  334. package/types/components/icons/YIconSort.d.ts +1 -10
  335. package/types/components/icons/index.d.ts +8 -46
  336. package/types/components/img/YImg.d.ts +7 -47
  337. package/types/components/input/YInput.d.ts +11 -99
  338. package/types/components/ip-field/YIpv4Field.d.ts +2 -70
  339. package/types/components/layer/YLayer.d.ts +35 -152
  340. package/types/components/layer/content.d.ts +1 -1
  341. package/types/components/layer/scroll-strategies.d.ts +1 -1
  342. package/types/components/list/YList.d.ts +1 -6
  343. package/types/components/list/YListItem.d.ts +3 -21
  344. package/types/components/loading/YSpinnerRing.d.ts +1 -1
  345. package/types/components/menu/YMenu.d.ts +17 -282
  346. package/types/components/navigation/YNavigation.d.ts +1 -1
  347. package/types/components/pagination/YPagination.d.ts +7 -47
  348. package/types/components/plate/YPlate.d.ts +1 -3
  349. package/types/components/progress-bar/YProgressBar.d.ts +3 -43
  350. package/types/components/select/YSelect.d.ts +263 -899
  351. package/types/components/slider/YSlider.d.ts +16 -0
  352. package/types/components/slider/index.d.ts +0 -0
  353. package/types/components/snackbar/YSnackbar.d.ts +43 -188
  354. package/types/components/switch/YSwitch.d.ts +1 -43
  355. package/types/components/tab/YTab.d.ts +14 -80
  356. package/types/components/tab/YTabs.d.ts +6 -39
  357. package/types/components/table/YDataTable.d.ts +28 -177
  358. package/types/components/table/YDataTableBody.d.ts +3 -26
  359. package/types/components/table/YDataTableCell.d.ts +1 -30
  360. package/types/components/table/YDataTableControl.d.ts +3 -18
  361. package/types/components/table/YDataTableHead.d.ts +3 -21
  362. package/types/components/table/YDataTableLayer.d.ts +1 -3
  363. package/types/components/table/YDataTableRow.d.ts +1 -9
  364. package/types/components/table/YDataTableServer.d.ts +31 -183
  365. package/types/components/table/YTable.d.ts +5 -24
  366. package/types/components/table/composibles/header.d.ts +1 -1
  367. package/types/components/table/composibles/items.d.ts +3 -3
  368. package/types/components/table/composibles/measure.d.ts +8 -0
  369. package/types/components/table/composibles/pagination.d.ts +3 -3
  370. package/types/components/table/composibles/selection.d.ts +13 -13
  371. package/types/components/table/composibles/sorting.d.ts +1 -1
  372. package/types/components/table/types/index.d.ts +1 -1
  373. package/types/components/text-ellipsis/YTextEllipsis.d.ts +1 -8
  374. package/types/components/text-highlighter/YTextHighlighter.d.ts +2 -17
  375. package/types/components/text-interpolation/YTi.d.ts +1 -10
  376. package/types/components/textarea/YTextarea.d.ts +15 -111
  377. package/types/components/tooltip/YTooltip.d.ts +27 -261
  378. package/types/components/tree-view/YTreeView.d.ts +2 -2
  379. package/types/components/tree-view/YTreeViewNode.d.ts +10 -67
  380. package/types/composables/choice.d.ts +1 -1
  381. package/types/composables/coordinate/index.d.ts +6 -6
  382. package/types/composables/coordinate/utils/point.d.ts +1 -1
  383. package/types/composables/form.d.ts +2 -2
  384. package/types/composables/icon.d.ts +5 -22
  385. package/types/composables/layer-group.d.ts +1 -1
  386. package/types/composables/list-items.d.ts +10 -10
  387. package/types/composables/progress.d.ts +1 -0
  388. package/types/composables/timing.d.ts +1 -1
  389. package/types/composables/transition.d.ts +1 -1
  390. package/types/composables/validation.d.ts +3 -3
  391. package/types/composables/vue-router.d.ts +1 -1
  392. package/types/index.d.ts +1 -1
  393. package/types/util/Rect.d.ts +1 -1
  394. package/types/util/component/component.d.ts +2 -1
  395. package/types/util/component/index.d.ts +4 -4
  396. package/types/util/component/inject-self.d.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"YSelect.mjs","names":["shallowRef","nextTick","vShow","watch","withDirectives","computed","defineComponent","mergeProps","onMounted","ref","useModelDuplex","useRender","pressCoordinateProps","useI18n","pressListItemsPropsOptions","useItems","getScrollParent","wrapInArray","deepEqual","getObjectValueByPath","omit","chooseProps","getHtmlElement","propsFactory","YCard","YFieldInput","pressYFieldInputPropsOptions","YIcon","YList","YListItem","YMenu","returnItemEquals","optionsItem","valueItem","valueKey","arguments","length","undefined","valueItemType","itemValue","pressSelectPropsOptions","opened","Boolean","multiple","weakEquals","valueEquals","type","Function","default","defaultSelect","menuProps","Object","pressYSelectPropsOptions","maxHeight","Number","String","dropdownIcon","Array","openDelay","closeDelay","position","YSelect","name","inheritAttrs","props","emits","value","click:item","item","e","slots","setup","_ref","attrs","expose","fieldInputRef","menuRef","listRef","cardRef","focused","items","toRefineItems","toEmitItems","t","model","v","emitValue","selections","ret","found","find","push","selected","map","selection","extraMenuProps","preventCloseBubble","isSelected","selectedItem","onMousedownDisplay","event","disabled","onBlur","onClickItem","select","setTimeout","onAfterLeave","focus","closeCondition","target","layer$","content$","contains","index","findIndex","neo","slice","splice","displayText","text","join","baseEl","scrollToActiveItem","listEl","activeEl","querySelector","contentEl","scrollEl","isSameNode","scrollTo","top","offsetTop","behavior","fieldInputProps","dropdownIconProps","_createVNode","_mergeProps","offset","align","origin","$event","base","_len","args","_key","rxValue","selectionProps","raw","placeholder","internalItems","leading","_len2","_key2","trailing","label","_len3","_key3","_len4","_key4","menu","itemProps","hide","modelValue","isArray"],"sources":["../../../src/components/select/YSelect.tsx"],"sourcesContent":["import { shallowRef } from '@vue/runtime-core';\r\nimport {\r\n PropType,\r\n SlotsType,\r\n nextTick,\r\n vShow,\r\n watch,\r\n withDirectives,\r\n} from 'vue';\r\nimport { computed, defineComponent, mergeProps, onMounted, ref } from 'vue';\r\n\r\nimport { useModelDuplex } from '../../composables/communication';\r\nimport { useRender } from '../../composables/component';\r\nimport { pressCoordinateProps } from '../../composables/coordinate';\r\nimport { useI18n } from '../../composables/i18n';\r\nimport {\r\n ListItem,\r\n pressListItemsPropsOptions,\r\n useItems,\r\n} from '../../composables/list-items';\r\nimport { getScrollParent } from '../../util';\r\nimport { wrapInArray } from '../../util/array';\r\nimport { deepEqual, getObjectValueByPath, omit } from '../../util/common';\r\nimport {\r\n chooseProps,\r\n getHtmlElement,\r\n propsFactory,\r\n} from '../../util/component';\r\nimport { YCard } from '../card';\r\nimport { YFieldInput, pressYFieldInputPropsOptions } from '../field-input';\r\nimport { YIcon, YIconIconProp } from '../icon';\r\nimport { YList, YListItem } from '../list';\r\nimport { YMenu } from '../menu';\r\n\r\nimport './YSelect.scss';\r\n\r\nexport type SelectEquals = (\r\n optionsItem: any,\r\n valueItem: any,\r\n valueKey?: string,\r\n) => boolean;\r\n\r\nexport function returnItemEquals(\r\n optionsItem: any,\r\n valueItem: any,\r\n valueKey = 'value',\r\n) {\r\n const valueItemType = typeof valueItem;\r\n const itemValue =\r\n valueItemType === 'string' || valueItemType === 'number'\r\n ? getObjectValueByPath(optionsItem, valueKey)\r\n : optionsItem;\r\n return deepEqual(itemValue, valueItem);\r\n}\r\n\r\nexport const pressSelectPropsOptions = propsFactory(\r\n {\r\n opened: Boolean as PropType<boolean>,\r\n multiple: Boolean,\r\n weakEquals: Boolean,\r\n valueEquals: {\r\n type: Function as PropType<SelectEquals>,\r\n default: deepEqual,\r\n },\r\n defaultSelect: Boolean,\r\n menuProps: {\r\n type: Object as PropType<YMenu['$props']>,\r\n },\r\n ...pressListItemsPropsOptions(),\r\n },\r\n 'Select',\r\n);\r\n\r\nexport const pressYSelectPropsOptions = propsFactory(\r\n {\r\n maxHeight: {\r\n type: [Number, String],\r\n default: 310,\r\n },\r\n dropdownIcon: {\r\n type: [String, Array, Object] as PropType<YIconIconProp>,\r\n default: '$dropdown',\r\n },\r\n openDelay: {\r\n type: Number as PropType<number>,\r\n default: 200,\r\n },\r\n closeDelay: {\r\n type: Number as PropType<number>,\r\n default: 200,\r\n },\r\n ...pressSelectPropsOptions(),\r\n ...pressYFieldInputPropsOptions(),\r\n ...omit(pressCoordinateProps({ position: 'bottom' as 'bottom' }), [\r\n 'coordinateStrategy',\r\n ]),\r\n },\r\n 'YSelect',\r\n);\r\n\r\nexport const YSelect = defineComponent({\r\n name: 'YSelect',\r\n inheritAttrs: false,\r\n props: {\r\n ...pressYSelectPropsOptions(),\r\n },\r\n emits: {\r\n 'update:modelValue': (value: any) => true,\r\n 'update:opened': (opened: boolean) => true,\r\n 'click:item': (item: any, e: MouseEvent) => true,\r\n },\r\n slots: Object as SlotsType<{\r\n base: any;\r\n selection: {\r\n displayText: string;\r\n placeholder: undefined | string;\r\n items: any[];\r\n internalItems: ListItem[];\r\n };\r\n leading: any;\r\n label: any;\r\n 'helper-text': any;\r\n menu: any;\r\n 'menu-prepend': any;\r\n 'menu-append': any;\r\n 'dropdown-icon': any;\r\n item: { item: any; selected: boolean; select: () => void };\r\n 'item-leading': { item: any; selected: boolean; select: () => void };\r\n 'item-trailing': { item: any; selected: boolean; select: () => void };\r\n }>,\r\n setup(props, { slots, attrs, expose }) {\r\n const fieldInputRef = ref();\r\n const menuRef = ref<InstanceType<typeof YMenu>>();\r\n const listRef = ref<InstanceType<typeof YList>>();\r\n const cardRef = ref<any>();\r\n\r\n const opened = useModelDuplex(props, 'opened');\r\n const focused = shallowRef(false);\r\n\r\n const { items, toRefineItems, toEmitItems } = useItems(props);\r\n const { t } = useI18n();\r\n const model = useModelDuplex(\r\n props,\r\n 'modelValue',\r\n [],\r\n (v) => toRefineItems(v === null ? [null] : wrapInArray(v)),\r\n (v) => {\r\n const emitValue = toEmitItems(wrapInArray(v));\r\n return props.multiple ? emitValue : emitValue[0] ?? null;\r\n },\r\n );\r\n\r\n const selections = computed<ListItem[]>(() => {\r\n const ret: ListItem<any>[] = [];\r\n for (const v of model.value) {\r\n const found = items.value.find((item) => {\r\n return props.valueEquals(item.value, v.value);\r\n });\r\n if (found !== undefined) {\r\n ret.push(found);\r\n }\r\n }\r\n return ret;\r\n });\r\n\r\n const selected = computed(() => {\r\n return selections.value.map((selection) => selection?.props?.value);\r\n });\r\n\r\n const extraMenuProps = computed(() => {\r\n return { ...props.menuProps, preventCloseBubble: true };\r\n });\r\n\r\n function isSelected(item: ListItem) {\r\n return !!selections.value.find((selectedItem) => {\r\n return selectedItem?.value === item.value;\r\n });\r\n }\r\n\r\n // Field\r\n function onMousedownDisplay(event: MouseEvent) {\r\n if (props.disabled) {\r\n return;\r\n }\r\n opened.value = !opened.value;\r\n }\r\n\r\n function onBlur(event: FocusEvent) {\r\n // if (listRef.value?.$el.contains(event.relatedTarget)) {\r\n // opened.value = false;\r\n // }\r\n }\r\n\r\n // Menu Contents\r\n function onClickItem(item: ListItem, e: MouseEvent) {\r\n if (item.disabled) return;\r\n select(item);\r\n if (!props.multiple) {\r\n setTimeout(() => {\r\n opened.value = false;\r\n }, 40);\r\n }\r\n }\r\n\r\n function onAfterLeave() {\r\n if (!focused.value) {\r\n fieldInputRef.value?.focus();\r\n }\r\n }\r\n\r\n function closeCondition(event: MouseEvent) {\r\n if (event.target && (menuRef.value as any)?.layer$?.content$) {\r\n return (event.target as HTMLElement)?.contains(\r\n (menuRef.value as any)?.layer$?.content$,\r\n );\r\n }\r\n }\r\n\r\n function select(item: ListItem) {\r\n if (props.multiple) {\r\n const index = selections.value.findIndex((selectedItem) => {\r\n return selectedItem.value === item.value;\r\n });\r\n if (index === -1) {\r\n model.value = [...model.value, item];\r\n } else {\r\n const neo = model.value.slice();\r\n neo.splice(index, 1);\r\n model.value = neo;\r\n }\r\n } else {\r\n model.value = [item];\r\n }\r\n }\r\n\r\n const displayText = computed(() => {\r\n if (props.multiple) {\r\n return selections.value.map((item) => item.text).join(', ');\r\n }\r\n return selections.value?.[0]?.text ?? '';\r\n });\r\n\r\n const baseEl = computed(() => {\r\n return menuRef.value?.baseEl;\r\n });\r\n\r\n watch(opened, (neo) => {\r\n if (neo) {\r\n nextTick(() => {\r\n scrollToActiveItem();\r\n });\r\n }\r\n });\r\n\r\n function scrollToActiveItem() {\r\n if (selections.value.length === 0) {\r\n return;\r\n }\r\n const listEl = getHtmlElement(listRef.value);\r\n if (listEl) {\r\n const activeEl = listEl?.querySelector('.y-list-item--active') as\r\n | HTMLElement\r\n | undefined;\r\n const contentEl = (menuRef.value as any)?.layer$\r\n ?.content$ as HTMLElement;\r\n if (activeEl && contentEl) {\r\n const scrollEl = getScrollParent(activeEl);\r\n if (\r\n scrollEl &&\r\n (contentEl.contains(scrollEl) || contentEl.isSameNode(scrollEl))\r\n ) {\r\n scrollEl.scrollTo({ top: activeEl.offsetTop, behavior: 'smooth' });\r\n }\r\n }\r\n }\r\n }\r\n\r\n useRender(() => {\r\n const fieldInputProps = chooseProps(props, YFieldInput.props);\r\n const dropdownIconProps = chooseProps(\r\n typeof props.dropdownIcon === 'object' ? props.dropdownIcon : {},\r\n YIcon.props,\r\n );\r\n return (\r\n <YMenu\r\n ref={menuRef}\r\n offset={props.offset}\r\n position={props.position}\r\n align={props.align}\r\n origin={props.origin}\r\n content-classes={['y-select__content']}\r\n maxHeight={props.maxHeight}\r\n open-on-click-base={false}\r\n onAfterLeave={onAfterLeave}\r\n open-delay={props.openDelay}\r\n close-delay={props.closeDelay}\r\n closeCondition={closeCondition}\r\n {...extraMenuProps.value}\r\n v-model={opened.value}\r\n >\r\n {{\r\n base: (...args: any[]) =>\r\n slots.base ? (\r\n slots.base?.(...args)\r\n ) : (\r\n <YFieldInput\r\n {...{\r\n ...fieldInputProps,\r\n ...mergeProps({ ...args[0].props }, { ref: fieldInputRef }),\r\n }}\r\n modelValue={model.value\r\n .map((v: any) => v.props.value)\r\n .join(', ')}\r\n validationValue={model.rxValue}\r\n onMousedown:display={onMousedownDisplay}\r\n onBlur={onBlur}\r\n readonly\r\n class={[\r\n 'y-select',\r\n {\r\n 'y-select--opened': opened.value,\r\n 'y-select--selected': selected.value.length > 0,\r\n },\r\n ]}\r\n {...attrs}\r\n focused={focused.value}\r\n >\r\n {{\r\n default: () => {\r\n const selectionProps = {\r\n items: selections.value.map((item) => item.raw),\r\n displayText: displayText.value,\r\n placeholder: props.placeholder,\r\n internalItems: selections.value,\r\n };\r\n return (\r\n <div class={['y-select__selection']}>\r\n {slots.selection\r\n ? slots.selection?.(selectionProps)\r\n : selected.value.length > 0\r\n ? displayText.value\r\n : props.placeholder}\r\n </div>\r\n );\r\n },\r\n leading: slots.leading\r\n ? (...args: any[]) => slots.leading?.(...args)\r\n : undefined,\r\n trailing: (...args: any[]) => {\r\n return slots['dropdown-icon'] ? (\r\n slots['dropdown-icon']()\r\n ) : (\r\n <YIcon\r\n {...mergeProps(dropdownIconProps)}\r\n icon={props.dropdownIcon}\r\n class={['y-select__icon']}\r\n ></YIcon>\r\n );\r\n },\r\n label: slots.label\r\n ? (...args: any[]) => slots.label?.(...args)\r\n : undefined,\r\n 'helper-text': slots['helper-text']\r\n ? (...args: any[]) => slots['helper-text']?.(...args)\r\n : undefined,\r\n }}\r\n </YFieldInput>\r\n ),\r\n default: slots.menu\r\n ? () => slots.menu()\r\n : () => (\r\n <YCard ref={cardRef}>\r\n {slots['menu-prepend']?.()}\r\n {items.value.length > 0 ? (\r\n <YList ref={listRef}>\r\n {items.value.map((item) => {\r\n const itemProps = {\r\n item,\r\n selected: isSelected(item),\r\n select: () => {\r\n select(item);\r\n },\r\n };\r\n return withDirectives(\r\n <YListItem\r\n onClick={(e) => onClickItem(item, e)}\r\n class={[\r\n {\r\n 'y-list-item--active': isSelected(item),\r\n },\r\n ]}\r\n disabled={item.disabled}\r\n >\r\n {{\r\n default: () =>\r\n slots.item\r\n ? slots.item?.(itemProps)\r\n : item.text,\r\n leading:\r\n slots['item-leading'] &&\r\n (() => slots['item-leading']?.(itemProps)),\r\n trailing:\r\n slots['item-trailing'] &&\r\n (() => slots['item-trailing']?.(itemProps)),\r\n }}\r\n </YListItem>,\r\n [[vShow, !item.hide]],\r\n );\r\n })}\r\n </YList>\r\n ) : (\r\n <div class=\"y-select__no-options\">\r\n {t('$yuyeon.noItems')}\r\n </div>\r\n )}\r\n {slots['menu-append']?.()}\r\n </YCard>\r\n ),\r\n }}\r\n </YMenu>\r\n );\r\n });\r\n\r\n onMounted(() => {\r\n if (\r\n props.defaultSelect &&\r\n (props.modelValue === undefined ||\r\n (Array.isArray(props.modelValue) && props.modelValue.length === 0)) &&\r\n items.value?.length\r\n ) {\r\n select(items.value[0]);\r\n }\r\n });\r\n\r\n expose({\r\n fieldInputRef,\r\n baseEl,\r\n opened,\r\n });\r\n\r\n return {\r\n fieldInputRef,\r\n model,\r\n selections,\r\n selected,\r\n menuRef,\r\n baseEl,\r\n opened,\r\n };\r\n },\r\n});\r\n\r\nexport type YSelect = InstanceType<typeof YSelect>;\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"YSelect.mjs","names":["computed","mergeProps","nextTick","onMounted","ref","shallowRef","vShow","watch","withDirectives","useModelDuplex","useRender","pressCoordinateProps","useI18n","pressListItemsPropsOptions","useItems","wrapInArray","deepEqual","omit","chooseProps","defineComponent","getHtmlElement","propsFactory","getScrollParent","YCard","YFieldInput","pressYFieldInputPropsOptions","YIcon","YList","YListItem","YMenu","pressSelectPropsOptions","opened","Boolean","multiple","itemComparator","type","Function","default","defaultSelect","menuProps","Object","pressYSelectPropsOptions","maxHeight","Number","String","dropdownIcon","Array","openDelay","closeDelay","position","YSelect","name","inheritAttrs","props","emits","value","click:item","item","e","slots","setup","_ref","attrs","expose","fieldInputRef","menuRef","listRef","cardRef","focused","items","toRefineItems","toEmitItems","t","model","v","emitValue","selections","ret","found","find","undefined","push","selected","map","selection","extraMenuProps","preventCloseBubble","isSelected","selectedItem","onMousedownDisplay","event","disabled","onBlur","onClickItem","select","setTimeout","onAfterLeave","focus","closeCondition","target","layer$","content$","contains","index","findIndex","neo","slice","splice","displayText","text","join","baseEl","scrollToActiveItem","length","listEl","activeEl","querySelector","contentEl","scrollEl","isSameNode","scrollTo","top","offsetTop","behavior","fieldInputProps","dropdownIconProps","_createVNode","_mergeProps","offset","align","origin","$event","base","_len","arguments","args","_key","rxValue","selectionProps","raw","placeholder","internalItems","leading","_len2","_key2","trailing","label","_len3","_key3","_len4","_key4","menu","itemProps","hide","modelValue","isArray"],"sources":["../../../src/components/select/YSelect.tsx"],"sourcesContent":["import {\n type PropType,\n type SlotsType,\n computed,\n mergeProps,\n nextTick,\n onMounted,\n ref,\n shallowRef,\n vShow,\n watch,\n withDirectives,\n} from 'vue';\n\nimport { useModelDuplex } from '@/composables/communication';\nimport { useRender } from '@/composables/component';\nimport { pressCoordinateProps } from '@/composables/coordinate';\nimport { useI18n } from '@/composables/i18n';\nimport {\n ListItem,\n pressListItemsPropsOptions,\n useItems,\n} from '@/composables/list-items';\nimport { wrapInArray } from '@/util/array';\nimport { deepEqual, getObjectValueByPath, omit } from '@/util/common';\nimport {\n chooseProps,\n defineComponent,\n getHtmlElement,\n propsFactory,\n} from '@/util/component';\nimport { getScrollParent } from '@/util/scroll';\n\nimport { YCard } from '../card';\nimport { YFieldInput, pressYFieldInputPropsOptions } from '../field-input';\nimport { YIcon, YIconIconProp } from '../icon';\nimport { YList, YListItem } from '../list';\nimport { YMenu } from '../menu';\n\nimport './YSelect.scss';\n\nexport type ItemComparator = (\n optionsItem: any,\n valueItem: any,\n valueKey?: string,\n) => boolean;\n\nexport const pressSelectPropsOptions = propsFactory(\n {\n opened: Boolean as PropType<boolean>,\n multiple: Boolean,\n itemComparator: {\n type: Function as PropType<ItemComparator>,\n default: deepEqual,\n },\n defaultSelect: Boolean,\n menuProps: {\n type: Object as PropType<YMenu['$props']>,\n },\n ...pressListItemsPropsOptions(),\n },\n 'Select',\n);\n\nexport const pressYSelectPropsOptions = propsFactory(\n {\n maxHeight: {\n type: [Number, String],\n default: 310,\n },\n dropdownIcon: {\n type: [String, Array, Object] as PropType<YIconIconProp>,\n default: '$dropdown',\n },\n openDelay: {\n type: Number as PropType<number>,\n default: 200,\n },\n closeDelay: {\n type: Number as PropType<number>,\n default: 200,\n },\n ...pressSelectPropsOptions(),\n ...pressYFieldInputPropsOptions(),\n ...omit(pressCoordinateProps({ position: 'bottom' as 'bottom' }), [\n 'coordinateStrategy',\n ]),\n },\n 'YSelect',\n);\n\nexport const YSelect = defineComponent({\n name: 'YSelect',\n inheritAttrs: false,\n props: {\n ...pressYSelectPropsOptions(),\n },\n emits: {\n 'update:modelValue': (value: any) => true,\n 'update:opened': (opened: boolean) => true,\n 'click:item': (item: any, e: MouseEvent) => true,\n },\n slots: Object as SlotsType<{\n base: any;\n selection: {\n displayText: string;\n placeholder: undefined | string;\n items: any[];\n internalItems: ListItem[];\n };\n leading: any;\n label: any;\n 'helper-text': any;\n menu: any;\n 'menu-prepend': any;\n 'menu-append': any;\n 'dropdown-icon': any;\n item: { item: any; selected: boolean; select: () => void };\n 'item-leading': { item: any; selected: boolean; select: () => void };\n 'item-trailing': { item: any; selected: boolean; select: () => void };\n }>,\n setup(props, { slots, attrs, expose }) {\n const fieldInputRef = ref();\n const menuRef = ref<InstanceType<typeof YMenu>>();\n const listRef = ref<InstanceType<typeof YList>>();\n const cardRef = ref<any>();\n\n const opened = useModelDuplex(props, 'opened');\n const focused = shallowRef(false);\n\n const { items, toRefineItems, toEmitItems } = useItems(props);\n const { t } = useI18n();\n const model = useModelDuplex(\n props,\n 'modelValue',\n [],\n (v) => toRefineItems(v === null ? [null] : wrapInArray(v)),\n (v) => {\n const emitValue = toEmitItems(wrapInArray(v));\n return props.multiple ? emitValue : emitValue[0] ?? null;\n },\n );\n\n const selections = computed<ListItem[]>(() => {\n const ret: ListItem<any>[] = [];\n for (const v of model.value) {\n const found = items.value.find((item) => {\n return props.itemComparator(item.value, v.value);\n });\n if (found !== undefined) {\n ret.push(found);\n }\n }\n return ret;\n });\n\n const selected = computed(() => {\n return selections.value.map((selection) => selection?.props?.value);\n });\n\n const extraMenuProps = computed(() => {\n return { ...props.menuProps, preventCloseBubble: true };\n });\n\n function isSelected(item: ListItem) {\n return !!selections.value.find((selectedItem) => {\n return selectedItem?.value === item.value;\n });\n }\n\n // Field\n function onMousedownDisplay(event: MouseEvent) {\n if (props.disabled) {\n return;\n }\n opened.value = !opened.value;\n }\n\n function onBlur(event: FocusEvent) {\n // if (listRef.value?.$el.contains(event.relatedTarget)) {\n // opened.value = false;\n // }\n }\n\n // Menu Contents\n function onClickItem(item: ListItem, e: MouseEvent) {\n if (item.disabled) return;\n select(item);\n if (!props.multiple) {\n setTimeout(() => {\n opened.value = false;\n }, 40);\n }\n }\n\n function onAfterLeave() {\n if (!focused.value) {\n fieldInputRef.value?.focus();\n }\n }\n\n function closeCondition(event: MouseEvent) {\n if (event.target && (menuRef.value as any)?.layer$?.content$) {\n return (event.target as HTMLElement)?.contains(\n (menuRef.value as any)?.layer$?.content$,\n );\n }\n }\n\n function select(item: ListItem) {\n if (props.multiple) {\n const index = selections.value.findIndex((selectedItem) => {\n return selectedItem.value === item.value;\n });\n if (index === -1) {\n model.value = [...model.value, item];\n } else {\n const neo = model.value.slice();\n neo.splice(index, 1);\n model.value = neo;\n }\n } else {\n model.value = [item];\n }\n }\n\n const displayText = computed(() => {\n if (props.multiple) {\n return selections.value.map((item) => item.text).join(', ');\n }\n return selections.value?.[0]?.text ?? '';\n });\n\n const baseEl = computed(() => {\n return menuRef.value?.baseEl;\n });\n\n watch(opened, (neo) => {\n if (neo) {\n nextTick(() => {\n scrollToActiveItem();\n });\n }\n });\n\n function scrollToActiveItem() {\n if (selections.value.length === 0) {\n return;\n }\n const listEl = getHtmlElement(listRef.value);\n if (listEl) {\n const activeEl = listEl?.querySelector('.y-list-item--active') as\n | HTMLElement\n | undefined;\n const contentEl = (menuRef.value as any)?.layer$\n ?.content$ as HTMLElement;\n if (activeEl && contentEl) {\n const scrollEl = getScrollParent(activeEl);\n if (\n scrollEl &&\n (contentEl.contains(scrollEl) || contentEl.isSameNode(scrollEl))\n ) {\n scrollEl.scrollTo({ top: activeEl.offsetTop, behavior: 'smooth' });\n }\n }\n }\n }\n\n useRender(() => {\n const fieldInputProps = chooseProps(props, YFieldInput.props);\n const dropdownIconProps = chooseProps(\n typeof props.dropdownIcon === 'object' ? props.dropdownIcon : {},\n YIcon.props,\n );\n return (\n <YMenu\n ref={menuRef}\n offset={props.offset}\n position={props.position}\n align={props.align}\n origin={props.origin}\n content-classes={['y-select__content']}\n maxHeight={props.maxHeight}\n open-on-click-base={false}\n onAfterLeave={onAfterLeave}\n open-delay={props.openDelay}\n close-delay={props.closeDelay}\n closeCondition={closeCondition}\n {...extraMenuProps.value}\n v-model={opened.value}\n >\n {{\n base: (...args: any[]) =>\n slots.base ? (\n slots.base?.(...args)\n ) : (\n <YFieldInput\n {...{\n ...fieldInputProps,\n ...mergeProps({ ...args[0].props }, { ref: fieldInputRef }),\n }}\n modelValue={model.value\n .map((v: any) => v.props.value)\n .join(', ')}\n validationValue={model.rxValue}\n onMousedown:display={onMousedownDisplay}\n onBlur={onBlur}\n readonly\n class={[\n 'y-select',\n {\n 'y-select--opened': opened.value,\n 'y-select--selected': selected.value.length > 0,\n },\n ]}\n {...attrs}\n focused={focused.value}\n >\n {{\n default: () => {\n const selectionProps = {\n items: selections.value.map((item) => item.raw),\n displayText: displayText.value,\n placeholder: props.placeholder,\n internalItems: selections.value,\n };\n return (\n <div class={['y-select__selection']}>\n {slots.selection\n ? slots.selection?.(selectionProps)\n : selected.value.length > 0\n ? displayText.value\n : props.placeholder}\n </div>\n );\n },\n leading: slots.leading\n ? (...args: any[]) => slots.leading?.(...args)\n : undefined,\n trailing: (...args: any[]) => {\n return slots['dropdown-icon'] ? (\n slots['dropdown-icon']()\n ) : (\n <YIcon\n {...mergeProps(dropdownIconProps)}\n icon={props.dropdownIcon}\n class={['y-select__icon']}\n ></YIcon>\n );\n },\n label: slots.label\n ? (...args: any[]) => slots.label?.(...args)\n : undefined,\n 'helper-text': slots['helper-text']\n ? (...args: any[]) => slots['helper-text']?.(...args)\n : undefined,\n }}\n </YFieldInput>\n ),\n default: slots.menu\n ? () => slots.menu()\n : () => (\n <YCard ref={cardRef}>\n {slots['menu-prepend']?.()}\n {items.value.length > 0 ? (\n <YList ref={listRef}>\n {items.value.map((item) => {\n const itemProps = {\n item,\n selected: isSelected(item),\n select: () => {\n select(item);\n },\n };\n return withDirectives(\n <YListItem\n onClick={(e) => onClickItem(item, e)}\n class={[\n {\n 'y-list-item--active': isSelected(item),\n },\n ]}\n disabled={item.disabled}\n >\n {{\n default: () =>\n slots.item\n ? slots.item?.(itemProps)\n : item.text,\n leading:\n slots['item-leading'] &&\n (() => slots['item-leading']?.(itemProps)),\n trailing:\n slots['item-trailing'] &&\n (() => slots['item-trailing']?.(itemProps)),\n }}\n </YListItem>,\n [[vShow, !item.hide]],\n );\n })}\n </YList>\n ) : (\n <div class=\"y-select__no-options\">\n {t('$yuyeon.noItems')}\n </div>\n )}\n {slots['menu-append']?.()}\n </YCard>\n ),\n }}\n </YMenu>\n );\n });\n\n onMounted(() => {\n if (\n props.defaultSelect &&\n (props.modelValue === undefined ||\n (Array.isArray(props.modelValue) && props.modelValue.length === 0)) &&\n items.value?.length\n ) {\n select(items.value[0]);\n }\n });\n\n expose({\n fieldInputRef,\n baseEl,\n opened,\n });\n\n return {\n fieldInputRef,\n model,\n selections,\n selected,\n menuRef,\n baseEl,\n opened,\n };\n },\n});\n\nexport type YSelect = InstanceType<typeof YSelect>;\n"],"mappings":"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"}
@@ -1,43 +1,43 @@
1
- .y-select {
2
- &__icon {
3
- transition: 200ms ease;
4
- margin-right: 8px;
5
- width: 24px;
6
- height: 24px;
7
- }
8
-
9
- &--opened &__icon {
10
- transform: rotate3d(1, 0, 0, 180deg);
11
- }
12
-
13
- &__content {
14
- > .y-card {
15
- padding-top: 8px;
16
- padding-bottom: 8px;
17
- }
18
- }
19
-
20
- &__selection {
21
- height: 100%;
22
- width: 100%;
23
- padding: 8px 10px;
24
- contain: content;
25
- }
26
-
27
- .y-input__display {
28
- cursor: pointer;
29
- }
30
-
31
- .y-field-input__field {
32
- > input {
33
- position: absolute;
34
- inset: 0;
35
- opacity: 0;
36
- cursor: pointer;
37
- }
38
- }
39
-
40
- &:not(&--selected) &__selection {
41
- color: rgba(var(--y-theme-on-background-rgb), 0.6);
42
- }
43
- }
1
+ .y-select {
2
+ &__icon {
3
+ transition: 200ms ease;
4
+ margin-right: 8px;
5
+ width: 24px;
6
+ height: 24px;
7
+ }
8
+
9
+ &--opened &__icon {
10
+ transform: rotate3d(1, 0, 0, 180deg);
11
+ }
12
+
13
+ &__content {
14
+ > .y-card {
15
+ padding-top: 8px;
16
+ padding-bottom: 8px;
17
+ }
18
+ }
19
+
20
+ &__selection {
21
+ height: 100%;
22
+ width: 100%;
23
+ padding: 8px 10px;
24
+ contain: content;
25
+ }
26
+
27
+ .y-input__display {
28
+ cursor: pointer;
29
+ }
30
+
31
+ .y-field-input__field {
32
+ > input {
33
+ position: absolute;
34
+ inset: 0;
35
+ opacity: 0;
36
+ cursor: pointer;
37
+ }
38
+ }
39
+
40
+ &:not(&--selected) &__selection {
41
+ color: rgba(var(--y-theme-on-background-rgb), 0.6);
42
+ }
43
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/components/select/index.ts"],"sourcesContent":["export * from './YSelect';\r\n"],"mappings":""}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/components/select/index.ts"],"sourcesContent":["export * from './YSelect';\n"],"mappings":""}
@@ -0,0 +1,26 @@
1
+ import { createVNode as _createVNode } from "vue";
2
+ import { useRender } from "../../composables/component.mjs";
3
+ import { defineComponent } from "../../util/component/component.mjs";
4
+ import { propsFactory } from "../../util/component/props.mjs";
5
+ export const pressYSliderPropsOptions = propsFactory({
6
+ modelValue: Number
7
+ }, 'YSlider');
8
+ export const YSlider = defineComponent({
9
+ name: 'YSlider',
10
+ props: {
11
+ ...pressYSliderPropsOptions()
12
+ },
13
+ emits: {
14
+ 'update:modelValue': () => true
15
+ },
16
+ setup(props, _ref) {
17
+ let {
18
+ slots
19
+ } = _ref;
20
+ useRender(() => _createVNode("div", {
21
+ "class": ['y-slider']
22
+ }, null));
23
+ return {};
24
+ }
25
+ });
26
+ //# sourceMappingURL=YSlider.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"YSlider.mjs","names":["useRender","defineComponent","propsFactory","pressYSliderPropsOptions","modelValue","Number","YSlider","name","props","emits","update:modelValue","setup","_ref","slots","_createVNode"],"sources":["../../../src/components/slider/YSlider.tsx"],"sourcesContent":["import { PropType } from 'vue';\n\nimport { useRender } from '@/composables/component';\nimport { defineComponent } from '@/util/component/component';\nimport { propsFactory } from '@/util/component/props';\n\nexport const pressYSliderPropsOptions = propsFactory(\n {\n modelValue: Number as PropType<number>,\n },\n 'YSlider',\n);\n\nexport const YSlider = defineComponent({\n name: 'YSlider',\n props: {\n ...pressYSliderPropsOptions(),\n },\n emits: {\n 'update:modelValue': () => true,\n },\n setup(props, { slots }) {\n useRender(() => <div class={['y-slider']}></div>);\n\n return {};\n },\n});\n\nexport type YSlider = InstanceType<typeof YSlider>;\n"],"mappings":";SAESA,SAAS;AAAA,SACTC,eAAe;AAAA,SACfC,YAAY;AAErB,OAAO,MAAMC,wBAAwB,GAAGD,YAAY,CAClD;EACEE,UAAU,EAAEC;AACd,CAAC,EACD,SACF,CAAC;AAED,OAAO,MAAMC,OAAO,GAAGL,eAAe,CAAC;EACrCM,IAAI,EAAE,SAAS;EACfC,KAAK,EAAE;IACL,GAAGL,wBAAwB,CAAC;EAC9B,CAAC;EACDM,KAAK,EAAE;IACL,mBAAmB,EAAEC,CAAA,KAAM;EAC7B,CAAC;EACDC,KAAKA,CAACH,KAAK,EAAAI,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACpBZ,SAAS,CAAC,MAAAc,YAAA;MAAA,SAAkB,CAAC,UAAU;IAAC,QAAQ,CAAC;IAEjD,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/components/slider/index.ts"],"sourcesContent":[""],"mappings":""}
@@ -1,12 +1,11 @@
1
1
  import { mergeProps as _mergeProps, createVNode as _createVNode, Fragment as _Fragment } from "vue";
2
- import { toRef } from '@vue/runtime-core';
3
2
  import { animate } from 'motion';
4
- import { computed, defineComponent, ref, watch, withModifiers } from 'vue';
3
+ import { computed, ref, toRef, watch, withModifiers } from 'vue';
5
4
  import { useModelDuplex } from "../../composables/communication.mjs";
6
5
  import { useRender } from "../../composables/component.mjs";
7
6
  import { useTimer } from "../../composables/timing.mjs";
8
- import { omit } from "../../util/index.mjs";
9
- import { bindClasses, chooseProps, propsFactory } from "../../util/component/index.mjs";
7
+ import { omit } from "../../util/common.mjs";
8
+ import { bindClasses, chooseProps, defineComponent, propsFactory } from "../../util/component/index.mjs";
10
9
  import { YLayer, pressYLayerProps } from "../layer/index.mjs";
11
10
  import { YPlate } from "../plate/index.mjs";
12
11
  import "./YSnackbar.scss";
@@ -54,11 +53,11 @@ export const pressYSnackbarPropsOptions = propsFactory({
54
53
  ...defaultSnackbarTransition
55
54
  })
56
55
  },
57
- /**
58
- * @property Number
59
- *
60
- * The amount of time the snackbar should be displayed.
61
- * @default 4000
56
+ /**
57
+ * @property Number
58
+ *
59
+ * The amount of time the snackbar should be displayed.
60
+ * @default 4000
62
61
  */
63
62
  duration: {
64
63
  type: Number,
@@ -1 +1 @@
1
- {"version":3,"file":"YSnackbar.mjs","names":["toRef","animate","computed","defineComponent","ref","watch","withModifiers","useModelDuplex","useRender","useTimer","omit","bindClasses","chooseProps","propsFactory","YLayer","pressYLayerProps","YPlate","defaultSnackbarTransition","name","onBeforeEnter","direction","el","getAttribute","cache","style","getPropertyValue","setAttribute","setProperty","onEnter","done","motion","transform","replace","duration","finished","then","removeAttribute","pressYSnackbarPropsOptions","scrollStrategy","position","modelValue","type","Boolean","contentClasses","Array","String","Object","transition","default","Number","closeClickContent","YSnackbar","components","emits","props","setup","_ref","emit","slots","active","hover","classes","computedContentClasses","boundClasses","computedInset","first","second","split","y","x","ret","dismiss","value","start","stop","reset","setTimer","neo","isNaN","immediate","onClickContent","event","proxyTransition","includes","_createVNode","_mergeProps","v","_Fragment","onMouseenter","onMouseleave"],"sources":["../../../src/components/snackbar/YSnackbar.tsx"],"sourcesContent":["import { toRef } from '@vue/runtime-core';\r\nimport { animate } from 'motion';\r\nimport {\r\n PropType,\r\n computed,\r\n defineComponent,\r\n ref,\r\n watch,\r\n withModifiers,\r\n} from 'vue';\r\n\r\nimport { useModelDuplex } from '../../composables/communication';\r\nimport { useRender } from '../../composables/component';\r\nimport { useTimer } from '../../composables/timing';\r\nimport { omit } from '../../util';\r\nimport {\r\n bindClasses,\r\n chooseProps,\r\n propsFactory,\r\n} from '../../util/component';\r\nimport { YLayer, pressYLayerProps } from '../layer';\r\nimport { YPlate } from '../plate';\r\n\r\nimport './YSnackbar.scss';\r\n\r\nconst defaultSnackbarTransition = {\r\n name: 'y-snackbar',\r\n onBeforeEnter: (direction: 'top' | 'bottom') => (el: HTMLElement) => {\r\n if (!el.getAttribute('data-transform')) {\r\n const cache = el.style.getPropertyValue('transform');\r\n el.setAttribute('data-transform', cache);\r\n el.style.setProperty(\r\n 'transform',\r\n `${cache} translateY(${direction === 'top' ? '-' : ''}40px)`,\r\n );\r\n }\r\n },\r\n onEnter(el: HTMLElement, done: () => void) {\r\n const cache = el.getAttribute('data-transform');\r\n const motion = el.getAttribute('data-motion');\r\n if (motion || !cache) {\r\n return;\r\n }\r\n el.setAttribute('data-motion', 'true');\r\n animate(\r\n el,\r\n {\r\n transform: `${cache.replace(/translateY(.+)/, 'translateY(0)')}`,\r\n },\r\n { duration: 0.1 },\r\n ).finished.then(() => {\r\n el.removeAttribute('data-transform');\r\n el.removeAttribute('data-motion');\r\n done();\r\n });\r\n },\r\n};\r\n\r\nexport const pressYSnackbarPropsOptions = propsFactory(\r\n {\r\n ...pressYLayerProps({\r\n scrollStrategy: 'none' as const,\r\n position: 'top center',\r\n }),\r\n modelValue: {\r\n type: Boolean as PropType<boolean>,\r\n },\r\n contentClasses: {\r\n type: [Array, String, Object] as PropType<\r\n string[] | string | Record<string, any>\r\n >,\r\n },\r\n transition: {\r\n type: [String, Object] as PropType<string | any>,\r\n default: () => ({ ...defaultSnackbarTransition }),\r\n },\r\n /**\r\n * @property Number\r\n *\r\n * The amount of time the snackbar should be displayed.\r\n * @default 4000\r\n */\r\n duration: {\r\n type: Number as PropType<number>,\r\n default: 4000,\r\n },\r\n closeClickContent: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n },\r\n 'YSnackbar',\r\n);\r\n\r\nexport const YSnackbar = defineComponent({\r\n name: 'YSnackbar',\r\n components: { YPlate, YLayer },\r\n emits: ['update:modelValue', 'click'],\r\n props: {\r\n ...pressYSnackbarPropsOptions(),\r\n },\r\n setup(props, { emit, slots }) {\r\n const active = useModelDuplex(props);\r\n const hover = ref(false);\r\n const duration = toRef(props, 'duration');\r\n\r\n const classes = computed(() => {\r\n return {\r\n 'y-snackbar': true,\r\n };\r\n });\r\n\r\n const computedContentClasses = computed<Record<string, boolean>>(() => {\r\n const boundClasses = bindClasses(props.contentClasses);\r\n return {\r\n ...boundClasses,\r\n 'y-snackbar__display': true,\r\n };\r\n });\r\n\r\n const computedInset = computed(() => {\r\n const [first, second] = props.position?.split(' ');\r\n let y = 'top';\r\n let x = 'left';\r\n if (second) {\r\n x = second;\r\n y = first;\r\n } else if (first === 'bottom') {\r\n y = 'bottom';\r\n } else {\r\n x = first;\r\n }\r\n const ret = {\r\n [x === 'center' ? 'left' : x]: x === 'center' ? `50%` : 0,\r\n [y]: 0,\r\n } as any;\r\n if (x === 'center') {\r\n ret.transform = 'translateX(-50%)';\r\n }\r\n return ret;\r\n });\r\n\r\n function dismiss() {\r\n active.value = false;\r\n }\r\n\r\n const { start, stop, reset } = useTimer(dismiss, duration);\r\n function setTimer() {\r\n if (props.duration > 0) {\r\n start();\r\n }\r\n }\r\n\r\n watch(hover, (neo: boolean) => {\r\n if (neo) {\r\n stop();\r\n } else {\r\n setTimer();\r\n }\r\n });\r\n\r\n watch(\r\n () => props.duration,\r\n (neo) => {\r\n if (!isNaN(neo) && active.value) {\r\n reset();\r\n if (!hover.value) {\r\n setTimer();\r\n }\r\n }\r\n },\r\n );\r\n\r\n watch(\r\n active,\r\n (neo: boolean) => {\r\n if (neo) {\r\n setTimer();\r\n } else {\r\n reset();\r\n }\r\n },\r\n { immediate: true },\r\n );\r\n\r\n function onClickContent(event: Event) {\r\n emit('click', event);\r\n if (props.closeClickContent) {\r\n active.value = false;\r\n }\r\n }\r\n\r\n const proxyTransition = computed(() => {\r\n const { transition, position } = props;\r\n if (transition?.name === 'y-snackbar') {\r\n transition.onBeforeEnter = defaultSnackbarTransition.onBeforeEnter(\r\n position.includes('top') ? 'top' : 'bottom',\r\n );\r\n return { ...transition };\r\n }\r\n return props.transition;\r\n });\r\n\r\n useRender(() => {\r\n return (\r\n <YLayer\r\n ref=\"layer\"\r\n {...omit(chooseProps(props, YLayer.props), [\r\n 'scrim',\r\n 'transition',\r\n 'content-classes',\r\n 'classes',\r\n ])}\r\n modelValue={active.value}\r\n onUpdate:modelValue={(v) => (active.value = v)}\r\n classes={classes.value}\r\n content-classes={computedContentClasses.value}\r\n scrim={false}\r\n content-styles={computedInset.value}\r\n transition={proxyTransition.value as any}\r\n >\r\n {{\r\n default: () => (\r\n <>\r\n <YPlate></YPlate>\r\n <div\r\n class=\"y-snackbar__content\"\r\n onClick={withModifiers(onClickContent, ['exact'])}\r\n onMouseenter={() => (hover.value = true)}\r\n onMouseleave={() => (hover.value = false)}\r\n >\r\n {slots.default?.()}\r\n </div>\r\n </>\r\n ),\r\n }}\r\n </YLayer>\r\n );\r\n });\r\n\r\n return {\r\n active,\r\n hover,\r\n classes,\r\n computedContentClasses,\r\n computedInset,\r\n proxyTransition,\r\n onClickContent,\r\n };\r\n },\r\n});\r\n\r\nexport type YSnackbar = InstanceType<typeof YSnackbar>;\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"YSnackbar.mjs","names":["animate","computed","ref","toRef","watch","withModifiers","useModelDuplex","useRender","useTimer","omit","bindClasses","chooseProps","defineComponent","propsFactory","YLayer","pressYLayerProps","YPlate","defaultSnackbarTransition","name","onBeforeEnter","direction","el","getAttribute","cache","style","getPropertyValue","setAttribute","setProperty","onEnter","done","motion","transform","replace","duration","finished","then","removeAttribute","pressYSnackbarPropsOptions","scrollStrategy","position","modelValue","type","Boolean","contentClasses","Array","String","Object","transition","default","Number","closeClickContent","YSnackbar","components","emits","props","setup","_ref","emit","slots","active","hover","classes","computedContentClasses","boundClasses","computedInset","first","second","split","y","x","ret","dismiss","value","start","stop","reset","setTimer","neo","isNaN","immediate","onClickContent","event","proxyTransition","includes","_createVNode","_mergeProps","v","_Fragment","onMouseenter","onMouseleave"],"sources":["../../../src/components/snackbar/YSnackbar.tsx"],"sourcesContent":["import { animate } from 'motion';\nimport { type PropType, computed, ref, toRef, watch, withModifiers } from 'vue';\n\nimport { useModelDuplex } from '@/composables/communication';\nimport { useRender } from '@/composables/component';\nimport { useTimer } from '@/composables/timing';\nimport { omit } from '@/util/common';\nimport {\n bindClasses,\n chooseProps,\n defineComponent,\n propsFactory,\n} from '@/util/component';\n\nimport { YLayer, pressYLayerProps } from '../layer';\nimport { YPlate } from '../plate';\n\nimport './YSnackbar.scss';\n\nconst defaultSnackbarTransition = {\n name: 'y-snackbar',\n onBeforeEnter: (direction: 'top' | 'bottom') => (el: HTMLElement) => {\n if (!el.getAttribute('data-transform')) {\n const cache = el.style.getPropertyValue('transform');\n el.setAttribute('data-transform', cache);\n el.style.setProperty(\n 'transform',\n `${cache} translateY(${direction === 'top' ? '-' : ''}40px)`,\n );\n }\n },\n onEnter(el: HTMLElement, done: () => void) {\n const cache = el.getAttribute('data-transform');\n const motion = el.getAttribute('data-motion');\n if (motion || !cache) {\n return;\n }\n el.setAttribute('data-motion', 'true');\n animate(\n el,\n {\n transform: `${cache.replace(/translateY(.+)/, 'translateY(0)')}`,\n },\n { duration: 0.1 },\n ).finished.then(() => {\n el.removeAttribute('data-transform');\n el.removeAttribute('data-motion');\n done();\n });\n },\n};\n\nexport const pressYSnackbarPropsOptions = propsFactory(\n {\n ...pressYLayerProps({\n scrollStrategy: 'none' as const,\n position: 'top center',\n }),\n modelValue: {\n type: Boolean as PropType<boolean>,\n },\n contentClasses: {\n type: [Array, String, Object] as PropType<\n string[] | string | Record<string, any>\n >,\n },\n transition: {\n type: [String, Object] as PropType<string | any>,\n default: () => ({ ...defaultSnackbarTransition }),\n },\n /**\n * @property Number\n *\n * The amount of time the snackbar should be displayed.\n * @default 4000\n */\n duration: {\n type: Number as PropType<number>,\n default: 4000,\n },\n closeClickContent: {\n type: Boolean,\n default: true,\n },\n },\n 'YSnackbar',\n);\n\nexport const YSnackbar = defineComponent({\n name: 'YSnackbar',\n components: { YPlate, YLayer },\n emits: ['update:modelValue', 'click'],\n props: {\n ...pressYSnackbarPropsOptions(),\n },\n setup(props, { emit, slots }) {\n const active = useModelDuplex(props);\n const hover = ref(false);\n const duration = toRef(props, 'duration');\n\n const classes = computed(() => {\n return {\n 'y-snackbar': true,\n };\n });\n\n const computedContentClasses = computed<Record<string, boolean>>(() => {\n const boundClasses = bindClasses(props.contentClasses);\n return {\n ...boundClasses,\n 'y-snackbar__display': true,\n };\n });\n\n const computedInset = computed(() => {\n const [first, second] = props.position?.split(' ');\n let y = 'top';\n let x = 'left';\n if (second) {\n x = second;\n y = first;\n } else if (first === 'bottom') {\n y = 'bottom';\n } else {\n x = first;\n }\n const ret = {\n [x === 'center' ? 'left' : x]: x === 'center' ? `50%` : 0,\n [y]: 0,\n } as any;\n if (x === 'center') {\n ret.transform = 'translateX(-50%)';\n }\n return ret;\n });\n\n function dismiss() {\n active.value = false;\n }\n\n const { start, stop, reset } = useTimer(dismiss, duration);\n function setTimer() {\n if (props.duration > 0) {\n start();\n }\n }\n\n watch(hover, (neo: boolean) => {\n if (neo) {\n stop();\n } else {\n setTimer();\n }\n });\n\n watch(\n () => props.duration,\n (neo) => {\n if (!isNaN(neo) && active.value) {\n reset();\n if (!hover.value) {\n setTimer();\n }\n }\n },\n );\n\n watch(\n active,\n (neo: boolean) => {\n if (neo) {\n setTimer();\n } else {\n reset();\n }\n },\n { immediate: true },\n );\n\n function onClickContent(event: Event) {\n emit('click', event);\n if (props.closeClickContent) {\n active.value = false;\n }\n }\n\n const proxyTransition = computed(() => {\n const { transition, position } = props;\n if (transition?.name === 'y-snackbar') {\n transition.onBeforeEnter = defaultSnackbarTransition.onBeforeEnter(\n position.includes('top') ? 'top' : 'bottom',\n );\n return { ...transition };\n }\n return props.transition;\n });\n\n useRender(() => {\n return (\n <YLayer\n ref=\"layer\"\n {...omit(chooseProps(props, YLayer.props), [\n 'scrim',\n 'transition',\n 'content-classes',\n 'classes',\n ])}\n modelValue={active.value}\n onUpdate:modelValue={(v) => (active.value = v)}\n classes={classes.value}\n content-classes={computedContentClasses.value}\n scrim={false}\n content-styles={computedInset.value}\n transition={proxyTransition.value as any}\n >\n {{\n default: () => (\n <>\n <YPlate></YPlate>\n <div\n class=\"y-snackbar__content\"\n onClick={withModifiers(onClickContent, ['exact'])}\n onMouseenter={() => (hover.value = true)}\n onMouseleave={() => (hover.value = false)}\n >\n {slots.default?.()}\n </div>\n </>\n ),\n }}\n </YLayer>\n );\n });\n\n return {\n active,\n hover,\n classes,\n computedContentClasses,\n computedInset,\n proxyTransition,\n onClickContent,\n };\n },\n});\n\nexport type YSnackbar = InstanceType<typeof YSnackbar>;\n"],"mappings":"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"}
@@ -1,38 +1,38 @@
1
- .y-snackbar {
2
- font-size: 1rem;
3
- margin: 8px;
4
-
5
- &__display {
6
- display: flex;
7
- align-items: center;
8
- min-height: 48px;
9
- min-width: 240px;
10
- z-index: inherit;
11
- }
12
-
13
- &__content {
14
- position: relative;
15
- flex-grow: 1;
16
- font-size: 0.875em;
17
- font-weight: 400;
18
- line-height: 0.625em;
19
- padding: 0.875em;
20
- z-index: inherit;
21
- color: #fff;
22
- }
23
-
24
- .y-plate {
25
- background-color: rgba(0, 0, 0, 0.74);
26
- backdrop-filter: blur(4px);
27
- box-shadow: 0 0 4px -1px rgba(0, 0, 0, 0.4);
28
- z-index: inherit;
29
- }
30
-
31
- &-leave-active {
32
- transition: all 300ms ease-in-out;
33
- }
34
-
35
- &-leave-to {
36
- opacity: 0;
37
- }
38
- }
1
+ .y-snackbar {
2
+ font-size: 1rem;
3
+ margin: 8px;
4
+
5
+ &__display {
6
+ display: flex;
7
+ align-items: center;
8
+ min-height: 48px;
9
+ min-width: 240px;
10
+ z-index: inherit;
11
+ }
12
+
13
+ &__content {
14
+ position: relative;
15
+ flex-grow: 1;
16
+ font-size: 0.875em;
17
+ font-weight: 400;
18
+ line-height: 0.625em;
19
+ padding: 0.875em;
20
+ z-index: inherit;
21
+ color: #fff;
22
+ }
23
+
24
+ .y-plate {
25
+ background-color: rgba(0, 0, 0, 0.74);
26
+ backdrop-filter: blur(4px);
27
+ box-shadow: 0 0 4px -1px rgba(0, 0, 0, 0.4);
28
+ z-index: inherit;
29
+ }
30
+
31
+ &-leave-active {
32
+ transition: all 300ms ease-in-out;
33
+ }
34
+
35
+ &-leave-to {
36
+ opacity: 0;
37
+ }
38
+ }
@@ -1,5 +1,6 @@
1
1
  import { createVNode as _createVNode } from "vue";
2
- import { defineComponent, withModifiers } from 'vue';
2
+ import { withModifiers } from 'vue';
3
+ import { defineComponent } from "../../util/component/index.mjs";
3
4
  import "./YSwitch.scss";
4
5
  let uidCounter = 0;
5
6
  export const YSwitch = defineComponent({
@@ -1 +1 @@
1
- {"version":3,"file":"YSwitch.mjs","names":["defineComponent","withModifiers","uidCounter","YSwitch","name","model","prop","event","props","input","type","Boolean","Array","default","value","String","Number","Object","max","loading","disabled","stickOut","stateLabel","color","labelOn","labelOff","data","innerValue","counterId","focused","created","iid","toString","isArray","inputByValue","computed","isMultipleInput","multipleInputIndex","findIndex","inp","inputId","id","trackStyles","backgroundColor","classes","methods","found","find","undefined","changeMultipleInput","checked","multipleInput","slice","length","$emit","nextChange","push","splice","$nextTick","onClick","$event","changeInput","onFocus","onBlur","onKeydown","onChange","$checkbox","target","stopImmediatePropagation","watch","render","$slots","_createVNode","label"],"sources":["../../../src/components/switch/YSwitch.tsx"],"sourcesContent":["import { PropType, defineComponent, withModifiers } from 'vue';\n\nimport './YSwitch.scss';\n\nlet uidCounter = 0;\n\nexport const YSwitch = defineComponent({\n name: 'YSwitch',\n model: {\n prop: 'input',\n event: 'change',\n },\n props: {\n input: {\n type: [Boolean, Array] as PropType<boolean | any[]>,\n default: false,\n },\n value: {\n type: [String, Number, Object] as PropType<any>,\n },\n max: {\n type: Number,\n },\n loading: {\n type: Boolean,\n },\n disabled: {\n type: Boolean,\n },\n stickOut: {\n type: Boolean,\n },\n stateLabel: {\n type: Boolean,\n },\n color: {\n type: String,\n },\n labelOn: {\n type: String,\n default: 'ON',\n },\n labelOff: {\n type: String,\n default: 'OFF',\n },\n },\n data() {\n return {\n innerValue: false,\n counterId: '',\n focused: false,\n };\n },\n created() {\n const iid = uidCounter.toString();\n uidCounter += 1;\n this.counterId = iid;\n if (Array.isArray(this.input)) {\n this.inputByValue();\n } else {\n this.innerValue = this.input;\n }\n },\n computed: {\n isMultipleInput() {\n return Array.isArray(this.input);\n },\n multipleInputIndex() {\n if (!Array.isArray(this.input)) {\n return -1;\n }\n return this.input.findIndex((inp) => {\n return inp === this.value;\n });\n },\n inputId() {\n const id = this.counterId;\n return `y-switch--${id}`;\n },\n trackStyles() {\n return {\n backgroundColor: this.color,\n };\n },\n classes() {\n return {\n 'y-switch--disabled': this.disabled,\n 'y-switch--loading': this.loading,\n 'y-switch--active': this.innerValue,\n 'y-switch--stick-out': this.stickOut,\n 'y-switch--focused': this.focused,\n };\n },\n },\n methods: {\n inputByValue() {\n if (Array.isArray(this.input)) {\n const found = this.input.find((inp: any) => {\n return inp === this.value;\n });\n\n if (found !== undefined) {\n this.innerValue = true;\n } else {\n this.innerValue = false;\n }\n } else if (typeof this.input === 'boolean') {\n this.innerValue = this.input;\n }\n },\n changeMultipleInput(checked: boolean) {\n if (Array.isArray(this.input)) {\n const multipleInput = this.input.slice();\n if (\n checked &&\n this.max !== undefined &&\n multipleInput.length >= this.max\n ) {\n this.$emit('overmax');\n this.nextChange(false, multipleInput);\n return;\n }\n if (checked && this.multipleInputIndex < 0) {\n multipleInput.push(this.value);\n } else if (this.multipleInputIndex > -1) {\n multipleInput.splice(this.multipleInputIndex, 1);\n }\n this.$emit('change', multipleInput);\n }\n },\n nextChange(checked: boolean, value: any) {\n this.$nextTick(() => {\n this.innerValue = checked;\n });\n },\n onClick($event: Event) {\n if (this.disabled || this.loading) return;\n this.changeInput(!this.innerValue, $event);\n },\n onFocus() {\n this.focused = true;\n },\n onBlur() {\n this.focused = false;\n },\n onKeydown($event: KeyboardEvent) {\n // nothing\n },\n onChange($event: Event) {\n const $checkbox = $event.target as HTMLInputElement;\n const { checked } = $checkbox;\n $event.stopImmediatePropagation();\n this.changeInput(checked, $event);\n },\n changeInput(checked: boolean, event?: Event) {\n this.innerValue = checked;\n if (this.isMultipleInput) {\n this.changeMultipleInput(checked);\n } else {\n this.$emit('change', checked);\n }\n },\n },\n watch: {\n input() {\n this.inputByValue();\n },\n },\n render() {\n const {\n $slots,\n classes,\n onClick,\n onKeydown,\n onFocus,\n onBlur,\n onChange,\n inputId,\n innerValue,\n disabled,\n trackStyles,\n stateLabel,\n labelOn,\n labelOff,\n loading,\n } = this;\n return (\n <div class={{ 'y-switch': true, ...classes }}>\n <div class=\"y-switch__slot\">\n <div\n class=\"y-switch__input\"\n onClick={withModifiers(onClick, ['exact'])}\n onKeydown={onKeydown}\n >\n <input\n id={inputId}\n aria-checked={innerValue}\n type=\"checkbox\"\n role=\"switch\"\n onFocus={onFocus}\n onBlur={onBlur}\n onChange={onChange}\n disabled={disabled}\n checked={innerValue}\n ref=\"checkbox\"\n />\n <div class=\"y-switch__track\" style={trackStyles}>\n {stateLabel && (\n <div class=\"y-switch__state\">\n <span class=\"y-switch__state-label y-switch__state-label--on\">\n {{ labelOn }}\n </span>\n <span class=\"y-switch__state-label y-switch__state-label--off\">\n {{ labelOff }}\n </span>\n </div>\n )}\n </div>\n <div class=\"y-switch__thumb\">\n {loading && <div class=\"y-switch__spinner\"></div>}\n </div>\n </div>\n {$slots.label && (\n <label for={inputId} class=\"y-switch__label\">\n {$slots.label?.()}\n <input hidden />\n </label>\n )}\n </div>\n </div>\n );\n },\n});\n\nexport type YSwitch = InstanceType<typeof YSwitch>;\n"],"mappings":"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"}
1
+ {"version":3,"file":"YSwitch.mjs","names":["withModifiers","defineComponent","uidCounter","YSwitch","name","model","prop","event","props","input","type","Boolean","Array","default","value","String","Number","Object","max","loading","disabled","stickOut","stateLabel","color","labelOn","labelOff","data","innerValue","counterId","focused","created","iid","toString","isArray","inputByValue","computed","isMultipleInput","multipleInputIndex","findIndex","inp","inputId","id","trackStyles","backgroundColor","classes","methods","found","find","undefined","changeMultipleInput","checked","multipleInput","slice","length","$emit","nextChange","push","splice","$nextTick","onClick","$event","changeInput","onFocus","onBlur","onKeydown","onChange","$checkbox","target","stopImmediatePropagation","watch","render","$slots","_createVNode","label"],"sources":["../../../src/components/switch/YSwitch.tsx"],"sourcesContent":["import { type PropType, withModifiers } from 'vue';\n\nimport { defineComponent } from '@/util/component';\n\nimport './YSwitch.scss';\n\nlet uidCounter = 0;\n\nexport const YSwitch = defineComponent({\n name: 'YSwitch',\n model: {\n prop: 'input',\n event: 'change',\n },\n props: {\n input: {\n type: [Boolean, Array] as PropType<boolean | any[]>,\n default: false,\n },\n value: {\n type: [String, Number, Object] as PropType<any>,\n },\n max: {\n type: Number,\n },\n loading: {\n type: Boolean,\n },\n disabled: {\n type: Boolean,\n },\n stickOut: {\n type: Boolean,\n },\n stateLabel: {\n type: Boolean,\n },\n color: {\n type: String,\n },\n labelOn: {\n type: String,\n default: 'ON',\n },\n labelOff: {\n type: String,\n default: 'OFF',\n },\n },\n data() {\n return {\n innerValue: false,\n counterId: '',\n focused: false,\n };\n },\n created() {\n const iid = uidCounter.toString();\n uidCounter += 1;\n this.counterId = iid;\n if (Array.isArray(this.input)) {\n this.inputByValue();\n } else {\n this.innerValue = this.input;\n }\n },\n computed: {\n isMultipleInput() {\n return Array.isArray(this.input);\n },\n multipleInputIndex() {\n if (!Array.isArray(this.input)) {\n return -1;\n }\n return this.input.findIndex((inp) => {\n return inp === this.value;\n });\n },\n inputId() {\n const id = this.counterId;\n return `y-switch--${id}`;\n },\n trackStyles() {\n return {\n backgroundColor: this.color,\n };\n },\n classes() {\n return {\n 'y-switch--disabled': this.disabled,\n 'y-switch--loading': this.loading,\n 'y-switch--active': this.innerValue,\n 'y-switch--stick-out': this.stickOut,\n 'y-switch--focused': this.focused,\n };\n },\n },\n methods: {\n inputByValue() {\n if (Array.isArray(this.input)) {\n const found = this.input.find((inp: any) => {\n return inp === this.value;\n });\n\n if (found !== undefined) {\n this.innerValue = true;\n } else {\n this.innerValue = false;\n }\n } else if (typeof this.input === 'boolean') {\n this.innerValue = this.input;\n }\n },\n changeMultipleInput(checked: boolean) {\n if (Array.isArray(this.input)) {\n const multipleInput = this.input.slice();\n if (\n checked &&\n this.max !== undefined &&\n multipleInput.length >= this.max\n ) {\n this.$emit('overmax');\n this.nextChange(false, multipleInput);\n return;\n }\n if (checked && this.multipleInputIndex < 0) {\n multipleInput.push(this.value);\n } else if (this.multipleInputIndex > -1) {\n multipleInput.splice(this.multipleInputIndex, 1);\n }\n this.$emit('change', multipleInput);\n }\n },\n nextChange(checked: boolean, value: any) {\n this.$nextTick(() => {\n this.innerValue = checked;\n });\n },\n onClick($event: Event) {\n if (this.disabled || this.loading) return;\n this.changeInput(!this.innerValue, $event);\n },\n onFocus() {\n this.focused = true;\n },\n onBlur() {\n this.focused = false;\n },\n onKeydown($event: KeyboardEvent) {\n // nothing\n },\n onChange($event: Event) {\n const $checkbox = $event.target as HTMLInputElement;\n const { checked } = $checkbox;\n $event.stopImmediatePropagation();\n this.changeInput(checked, $event);\n },\n changeInput(checked: boolean, event?: Event) {\n this.innerValue = checked;\n if (this.isMultipleInput) {\n this.changeMultipleInput(checked);\n } else {\n this.$emit('change', checked);\n }\n },\n },\n watch: {\n input() {\n this.inputByValue();\n },\n },\n render() {\n const {\n $slots,\n classes,\n onClick,\n onKeydown,\n onFocus,\n onBlur,\n onChange,\n inputId,\n innerValue,\n disabled,\n trackStyles,\n stateLabel,\n labelOn,\n labelOff,\n loading,\n } = this;\n return (\n <div class={{ 'y-switch': true, ...classes }}>\n <div class=\"y-switch__slot\">\n <div\n class=\"y-switch__input\"\n onClick={withModifiers(onClick, ['exact'])}\n onKeydown={onKeydown}\n >\n <input\n id={inputId}\n aria-checked={innerValue}\n type=\"checkbox\"\n role=\"switch\"\n onFocus={onFocus}\n onBlur={onBlur}\n onChange={onChange}\n disabled={disabled}\n checked={innerValue}\n ref=\"checkbox\"\n />\n <div class=\"y-switch__track\" style={trackStyles}>\n {stateLabel && (\n <div class=\"y-switch__state\">\n <span class=\"y-switch__state-label y-switch__state-label--on\">\n {{ labelOn }}\n </span>\n <span class=\"y-switch__state-label y-switch__state-label--off\">\n {{ labelOff }}\n </span>\n </div>\n )}\n </div>\n <div class=\"y-switch__thumb\">\n {loading && <div class=\"y-switch__spinner\"></div>}\n </div>\n </div>\n {$slots.label && (\n <label for={inputId} class=\"y-switch__label\">\n {$slots.label?.()}\n <input hidden />\n </label>\n )}\n </div>\n </div>\n );\n },\n});\n\nexport type YSwitch = InstanceType<typeof YSwitch>;\n"],"mappings":"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"}