yuyeon 0.0.0 → 0.0.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 (386) hide show
  1. package/dist/style.css +1 -0
  2. package/dist/yuyeon.mjs +3607 -0
  3. package/dist/yuyeon.umd.js +1 -0
  4. package/lib/components/app/YApp.mjs +30 -0
  5. package/lib/components/app/YApp.mjs.map +1 -0
  6. package/lib/components/app/YApp.scss +14 -0
  7. package/lib/components/app/index.mjs +2 -0
  8. package/lib/components/app/index.mjs.map +1 -0
  9. package/lib/components/bench/YBench.mjs +44 -0
  10. package/lib/components/bench/YBench.mjs.map +1 -0
  11. package/lib/components/bench/index.mjs +2 -0
  12. package/lib/components/bench/index.mjs.map +1 -0
  13. package/lib/components/button/YButton.mjs +138 -0
  14. package/lib/components/button/YButton.mjs.map +1 -0
  15. package/{src/components/button/y-btn.scss → lib/components/button/YButton.scss} +67 -29
  16. package/lib/components/button/index.mjs +2 -0
  17. package/lib/components/button/index.mjs.map +1 -0
  18. package/lib/components/card/YCard.mjs +18 -0
  19. package/lib/components/card/YCard.mjs.map +1 -0
  20. package/lib/components/card/YCardBody.mjs +10 -0
  21. package/lib/components/card/YCardBody.mjs.map +1 -0
  22. package/lib/components/card/YCardFooter.mjs +10 -0
  23. package/lib/components/card/YCardFooter.mjs.map +1 -0
  24. package/lib/components/card/YCardHeader.mjs +10 -0
  25. package/lib/components/card/YCardHeader.mjs.map +1 -0
  26. package/lib/components/card/index.mjs +6 -0
  27. package/lib/components/card/index.mjs.map +1 -0
  28. package/lib/components/checkbox/YCheckbox.mjs +154 -0
  29. package/lib/components/checkbox/YCheckbox.mjs.map +1 -0
  30. package/lib/components/checkbox/YInputCheckbox.mjs +113 -0
  31. package/lib/components/checkbox/YInputCheckbox.mjs.map +1 -0
  32. package/{src/components/checkbox/y-input-checkbox.scss → lib/components/checkbox/YInputCheckbox.scss} +19 -19
  33. package/lib/components/checkbox/index.mjs +5 -0
  34. package/lib/components/checkbox/index.mjs.map +1 -0
  35. package/{src/components/chip/y-chip.vue → lib/components/chip/YChip.mjs} +26 -27
  36. package/lib/components/chip/YChip.mjs.map +1 -0
  37. package/{src/components/chip/y-chip.scss → lib/components/chip/YChip.scss} +0 -4
  38. package/lib/components/chip/index.mjs +3 -0
  39. package/lib/components/chip/index.mjs.map +1 -0
  40. package/lib/components/dialog/YDialog.mjs +97 -0
  41. package/lib/components/dialog/YDialog.mjs.map +1 -0
  42. package/lib/components/dialog/index.mjs +2 -0
  43. package/lib/components/dialog/index.mjs.map +1 -0
  44. package/lib/components/field-input/YFieldInput.mjs +218 -0
  45. package/lib/components/field-input/YFieldInput.mjs.map +1 -0
  46. package/{src/components/field-input/y-field-input.scss → lib/components/field-input/YFieldInput.scss} +2 -4
  47. package/lib/components/field-input/index.mjs +2 -0
  48. package/lib/components/field-input/index.mjs.map +1 -0
  49. package/lib/components/form/YForm.mjs +79 -0
  50. package/lib/components/form/YForm.mjs.map +1 -0
  51. package/lib/components/form/index.mjs +4 -0
  52. package/lib/components/form/index.mjs.map +1 -0
  53. package/lib/components/icons/YIconCheckbox.mjs +21 -0
  54. package/lib/components/icons/YIconCheckbox.mjs.map +1 -0
  55. package/lib/components/icons/YIconClear.mjs +16 -0
  56. package/lib/components/icons/YIconClear.mjs.map +1 -0
  57. package/lib/components/icons/YIconExpand.mjs +20 -0
  58. package/lib/components/icons/YIconExpand.mjs.map +1 -0
  59. package/lib/components/icons/index.mjs +4 -0
  60. package/lib/components/icons/index.mjs.map +1 -0
  61. package/lib/components/index.mjs +24 -0
  62. package/lib/components/index.mjs.map +1 -0
  63. package/lib/components/input/YInput.mjs +346 -0
  64. package/lib/components/input/YInput.mjs.map +1 -0
  65. package/{src/components/input/y-input.scss → lib/components/input/YInput.scss} +12 -4
  66. package/lib/components/input/index.mjs +2 -0
  67. package/lib/components/input/index.mjs.map +1 -0
  68. package/lib/components/input/index.scss +2 -0
  69. package/lib/components/layer/YLayer.mjs +193 -0
  70. package/lib/components/layer/YLayer.mjs.map +1 -0
  71. package/lib/components/layer/index.mjs +2 -0
  72. package/lib/components/layer/index.mjs.map +1 -0
  73. package/lib/components/layer/scroll-strategies.mjs +132 -0
  74. package/lib/components/layer/scroll-strategies.mjs.map +1 -0
  75. package/lib/components/list/YList.mjs +16 -0
  76. package/lib/components/list/YList.mjs.map +1 -0
  77. package/lib/components/list/YList.scss +3 -0
  78. package/lib/components/list/YListItem.mjs +37 -0
  79. package/lib/components/list/YListItem.mjs.map +1 -0
  80. package/lib/components/list/YListItem.scss +59 -0
  81. package/lib/components/list/index.mjs +3 -0
  82. package/lib/components/list/index.mjs.map +1 -0
  83. package/lib/components/loading/YSpinnerRing.mjs +25 -0
  84. package/lib/components/loading/YSpinnerRing.mjs.map +1 -0
  85. package/{src/components/ring-spinner/y-ring-spinner.scss → lib/components/loading/YSpinnerRing.scss} +3 -3
  86. package/lib/components/loading/index.mjs +2 -0
  87. package/lib/components/loading/index.mjs.map +1 -0
  88. package/lib/components/menu/YMenu.mjs +239 -0
  89. package/lib/components/menu/YMenu.mjs.map +1 -0
  90. package/lib/components/menu/YMenu.scss +7 -0
  91. package/lib/components/menu/index.mjs +2 -0
  92. package/lib/components/menu/index.mjs.map +1 -0
  93. package/lib/components/navigation/YNavigation.mjs +17 -0
  94. package/lib/components/navigation/YNavigation.mjs.map +1 -0
  95. package/lib/components/navigation/index.mjs +2 -0
  96. package/lib/components/navigation/index.mjs.map +1 -0
  97. package/lib/components/pagination/YPagination.mjs +61 -0
  98. package/lib/components/pagination/YPagination.mjs.map +1 -0
  99. package/lib/components/pagination/YPagination.scss +5 -0
  100. package/lib/components/pagination/index.mjs +2 -0
  101. package/lib/components/pagination/index.mjs.map +1 -0
  102. package/lib/components/panel/YDividePanel.mjs +89 -0
  103. package/lib/components/panel/YDividePanel.mjs.map +1 -0
  104. package/lib/components/panel/YDividePanel.scss +43 -0
  105. package/lib/components/panel/index.mjs +2 -0
  106. package/lib/components/panel/index.mjs.map +1 -0
  107. package/lib/components/plate/YPlate.mjs +27 -0
  108. package/lib/components/plate/YPlate.mjs.map +1 -0
  109. package/lib/components/plate/YPlate.scss +9 -0
  110. package/lib/components/plate/index.mjs +2 -0
  111. package/lib/components/plate/index.mjs.map +1 -0
  112. package/lib/components/progress-bar/YProgressBar.mjs +110 -0
  113. package/lib/components/progress-bar/YProgressBar.mjs.map +1 -0
  114. package/lib/components/progress-bar/YProgressBar.scss +40 -0
  115. package/lib/components/progress-bar/index.mjs +2 -0
  116. package/lib/components/progress-bar/index.mjs.map +1 -0
  117. package/lib/components/snackbar/YSnackbar.mjs +187 -0
  118. package/lib/components/snackbar/YSnackbar.mjs.map +1 -0
  119. package/lib/components/snackbar/YSnackbar.scss +38 -0
  120. package/lib/components/snackbar/index.mjs +2 -0
  121. package/lib/components/snackbar/index.mjs.map +1 -0
  122. package/lib/components/switch/YSwitch.mjs +228 -0
  123. package/lib/components/switch/YSwitch.mjs.map +1 -0
  124. package/{src/components/switch/y-switch.scss → lib/components/switch/YSwitch.scss} +18 -26
  125. package/lib/components/switch/index.mjs +2 -0
  126. package/lib/components/switch/index.mjs.map +1 -0
  127. package/lib/components/table/YDataTable.mjs +46 -0
  128. package/lib/components/table/YDataTable.mjs.map +1 -0
  129. package/lib/components/table/YDataTableBody.mjs +12 -0
  130. package/lib/components/table/YDataTableBody.mjs.map +1 -0
  131. package/lib/components/table/YDataTableCell.mjs +55 -0
  132. package/lib/components/table/YDataTableCell.mjs.map +1 -0
  133. package/lib/components/table/YDataTableControl.mjs +37 -0
  134. package/lib/components/table/YDataTableControl.mjs.map +1 -0
  135. package/lib/components/table/YDataTableControl.scss +6 -0
  136. package/lib/components/table/YDataTableHead.mjs +12 -0
  137. package/lib/components/table/YDataTableHead.mjs.map +1 -0
  138. package/lib/components/table/YDataTableLayer.mjs +14 -0
  139. package/lib/components/table/YDataTableLayer.mjs.map +1 -0
  140. package/lib/components/table/YDataTableRow.mjs +12 -0
  141. package/lib/components/table/YDataTableRow.mjs.map +1 -0
  142. package/lib/components/table/YDataTableServer.mjs +54 -0
  143. package/lib/components/table/YDataTableServer.mjs.map +1 -0
  144. package/lib/components/table/YTable.mjs +53 -0
  145. package/lib/components/table/YTable.mjs.map +1 -0
  146. package/lib/components/table/YTable.scss +61 -0
  147. package/lib/components/table/index.mjs +4 -0
  148. package/lib/components/table/index.mjs.map +1 -0
  149. package/lib/components/table/pagination.mjs +21 -0
  150. package/lib/components/table/pagination.mjs.map +1 -0
  151. package/lib/components/text-highlighter/YTextHighlighter.mjs +94 -0
  152. package/lib/components/text-highlighter/YTextHighlighter.mjs.map +1 -0
  153. package/lib/components/text-highlighter/index.mjs +3 -0
  154. package/lib/components/text-highlighter/index.mjs.map +1 -0
  155. package/lib/components/tooltip/YTooltip.mjs +209 -0
  156. package/lib/components/tooltip/YTooltip.mjs.map +1 -0
  157. package/lib/components/tooltip/YTooltip.scss +19 -0
  158. package/lib/components/tooltip/index.mjs +2 -0
  159. package/lib/components/tooltip/index.mjs.map +1 -0
  160. package/lib/components/transitions/expand-transition.mjs +88 -0
  161. package/lib/components/transitions/expand-transition.mjs.map +1 -0
  162. package/lib/components/transitions/index.mjs +4 -0
  163. package/lib/components/transitions/index.mjs.map +1 -0
  164. package/lib/components/tree-view/YTreeView.mjs +92 -0
  165. package/lib/components/tree-view/YTreeView.mjs.map +1 -0
  166. package/lib/components/tree-view/YTreeView.scss +46 -0
  167. package/lib/components/tree-view/YTreeViewNode.mjs +122 -0
  168. package/lib/components/tree-view/YTreeViewNode.mjs.map +1 -0
  169. package/lib/components/tree-view/index.mjs +3 -0
  170. package/lib/components/tree-view/index.mjs.map +1 -0
  171. package/lib/composables/collections.mjs +2 -0
  172. package/lib/composables/collections.mjs.map +1 -0
  173. package/lib/composables/communication.mjs +46 -0
  174. package/lib/composables/communication.mjs.map +1 -0
  175. package/lib/composables/component.mjs +8 -0
  176. package/lib/composables/component.mjs.map +1 -0
  177. package/{src/composables/layer-group.ts → lib/composables/layer-group.mjs} +8 -10
  178. package/lib/composables/layer-group.mjs.map +1 -0
  179. package/lib/composables/layout.mjs +13 -0
  180. package/lib/composables/layout.mjs.map +1 -0
  181. package/lib/composables/levitation.mjs +135 -0
  182. package/lib/composables/levitation.mjs.map +1 -0
  183. package/{src/composables/progress.ts → lib/composables/progress.mjs} +6 -5
  184. package/lib/composables/progress.mjs.map +1 -0
  185. package/lib/composables/resize-observer.mjs +34 -0
  186. package/lib/composables/resize-observer.mjs.map +1 -0
  187. package/lib/composables/scope.mjs +27 -0
  188. package/lib/composables/scope.mjs.map +1 -0
  189. package/lib/composables/theme/index.mjs +49 -0
  190. package/lib/composables/theme/index.mjs.map +1 -0
  191. package/lib/composables/theme/setting.mjs +46 -0
  192. package/lib/composables/theme/setting.mjs.map +1 -0
  193. package/lib/composables/timing.mjs +77 -0
  194. package/lib/composables/timing.mjs.map +1 -0
  195. package/lib/composables/transition.mjs +50 -0
  196. package/lib/composables/transition.mjs.map +1 -0
  197. package/lib/directives/complement-click/index.mjs +78 -0
  198. package/lib/directives/complement-click/index.mjs.map +1 -0
  199. package/{src/directives/plate-wave/index.ts → lib/directives/plate-wave/index.mjs} +25 -42
  200. package/lib/directives/plate-wave/index.mjs.map +1 -0
  201. package/{src → lib}/directives/plate-wave/plate-wave.scss +1 -1
  202. package/lib/directives/theme-class.mjs +24 -0
  203. package/lib/directives/theme-class.mjs.map +1 -0
  204. package/lib/etc/index.mjs +6 -0
  205. package/lib/etc/index.mjs.map +1 -0
  206. package/lib/index.mjs +55 -0
  207. package/lib/index.mjs.map +1 -0
  208. package/{src/mixins/di.ts → lib/mixins/di.mjs} +7 -8
  209. package/lib/mixins/di.mjs.map +1 -0
  210. package/{src/mixins/rebind-attrs.ts → lib/mixins/rebind-attrs.mjs} +9 -8
  211. package/lib/mixins/rebind-attrs.mjs.map +1 -0
  212. package/{src/styles/palette.scss → lib/styles/_palette.scss} +0 -4
  213. package/lib/styles/base.scss +95 -0
  214. package/lib/styles/settings/_variables.scss +14 -0
  215. package/lib/styles/settings/provided.scss +35 -0
  216. package/lib/styles/theme/dark.scss +21 -0
  217. package/{src → lib}/styles/theme/index.scss +0 -3
  218. package/lib/styles/theme/light.scss +21 -0
  219. package/lib/util/FrameScheduler.mjs +29 -0
  220. package/lib/util/FrameScheduler.mjs.map +1 -0
  221. package/lib/util/Rect.mjs +27 -0
  222. package/lib/util/Rect.mjs.map +1 -0
  223. package/lib/util/common.mjs +66 -0
  224. package/lib/util/common.mjs.map +1 -0
  225. package/lib/util/dom.mjs +8 -0
  226. package/lib/util/dom.mjs.map +1 -0
  227. package/lib/util/scroll.mjs +28 -0
  228. package/lib/util/scroll.mjs.map +1 -0
  229. package/lib/util/string.mjs +33 -0
  230. package/lib/util/string.mjs.map +1 -0
  231. package/lib/util/ui.mjs +83 -0
  232. package/lib/util/ui.mjs.map +1 -0
  233. package/lib/util/validation.mjs +5 -0
  234. package/lib/util/validation.mjs.map +1 -0
  235. package/lib/util/vue-component.mjs +64 -0
  236. package/lib/util/vue-component.mjs.map +1 -0
  237. package/package.json +62 -22
  238. package/types/components/app/YApp.d.ts +7 -0
  239. package/types/components/app/index.d.ts +1 -0
  240. package/types/components/button/YButton.d.ts +122 -0
  241. package/types/components/button/index.d.ts +1 -0
  242. package/types/components/card/YCard.d.ts +11 -0
  243. package/types/components/card/YCardBody.d.ts +2 -0
  244. package/types/components/card/YCardFooter.d.ts +2 -0
  245. package/types/components/card/YCardHeader.d.ts +2 -0
  246. package/types/components/card/index.d.ts +5 -0
  247. package/types/components/checkbox/YCheckbox.d.ts +46 -0
  248. package/types/components/checkbox/YInputCheckbox.d.ts +42 -0
  249. package/types/components/checkbox/index.d.ts +4 -0
  250. package/types/components/chip/YChip.d.ts +34 -0
  251. package/types/components/chip/index.d.ts +2 -0
  252. package/types/components/dialog/YDialog.d.ts +120 -0
  253. package/types/components/dialog/index.d.ts +1 -0
  254. package/types/components/field-input/YFieldInput.d.ts +118 -0
  255. package/types/components/field-input/index.d.ts +1 -0
  256. package/types/components/form/YForm.d.ts +32 -0
  257. package/types/components/form/index.d.ts +3 -0
  258. package/types/components/icons/YIconCheckbox.d.ts +1 -0
  259. package/types/components/icons/YIconClear.d.ts +1 -0
  260. package/types/components/icons/YIconExpand.d.ts +1 -0
  261. package/types/components/icons/index.d.ts +3 -0
  262. package/types/components/index.d.ts +23 -0
  263. package/types/components/input/YInput.d.ts +166 -0
  264. package/types/components/input/index.d.ts +1 -0
  265. package/types/components/layer/YLayer.d.ts +99 -0
  266. package/types/components/layer/index.d.ts +1 -0
  267. package/types/components/list/YList.d.ts +2 -0
  268. package/types/components/list/YListItem.d.ts +28 -0
  269. package/types/components/list/index.d.ts +2 -0
  270. package/types/components/loading/YSpinnerRing.d.ts +1 -0
  271. package/types/components/loading/index.d.ts +1 -0
  272. package/types/components/menu/YMenu.d.ts +236 -0
  273. package/types/components/menu/index.d.ts +1 -0
  274. package/types/components/pagination/YPagination.d.ts +106 -0
  275. package/types/components/pagination/index.d.ts +1 -0
  276. package/types/components/panel/YDividePanel.d.ts +3 -0
  277. package/types/components/panel/index.d.ts +1 -0
  278. package/types/components/plate/YPlate.d.ts +10 -0
  279. package/types/components/plate/index.d.ts +1 -0
  280. package/types/components/progress-bar/YProgressBar.d.ts +59 -0
  281. package/types/components/progress-bar/index.d.ts +1 -0
  282. package/types/components/snackbar/YSnackbar.d.ts +77 -0
  283. package/types/components/snackbar/index.d.ts +1 -0
  284. package/types/components/switch/YSwitch.d.ts +106 -0
  285. package/types/components/switch/index.d.ts +1 -0
  286. package/types/components/table/YDataTable.d.ts +63 -0
  287. package/types/components/table/YDataTableBody.d.ts +2 -0
  288. package/types/components/table/YDataTableControl.d.ts +2 -0
  289. package/types/components/table/YDataTableHead.d.ts +2 -0
  290. package/types/components/table/YDataTableLayer.d.ts +2 -0
  291. package/types/components/table/YDataTableServer.d.ts +82 -0
  292. package/types/components/table/YTable.d.ts +32 -0
  293. package/types/components/table/index.d.ts +3 -0
  294. package/types/components/table/pagination.d.ts +38 -0
  295. package/types/components/tooltip/YTooltip.d.ts +188 -0
  296. package/types/components/tooltip/index.d.ts +1 -0
  297. package/types/components/transitions/expand-transition.d.ts +16 -0
  298. package/types/components/transitions/index.d.ts +32 -0
  299. package/types/components/tree-view/YTreeView.d.ts +37 -0
  300. package/types/components/tree-view/YTreeViewNode.d.ts +51 -0
  301. package/types/components/tree-view/index.d.ts +2 -0
  302. package/types/composables/communication.d.ts +1 -0
  303. package/types/composables/component.d.ts +2 -0
  304. package/types/composables/layer-group.d.ts +5 -0
  305. package/types/composables/progress.d.ts +3 -0
  306. package/types/composables/resize-observer.d.ts +14 -0
  307. package/types/composables/scope.d.ts +2 -0
  308. package/types/composables/theme/index.d.ts +15 -0
  309. package/types/composables/theme/setting.d.ts +12 -0
  310. package/types/composables/timing.d.ts +15 -0
  311. package/types/composables/transition.d.ts +21 -0
  312. package/types/directives/complement-click/index.d.ts +25 -0
  313. package/types/directives/plate-wave/index.d.ts +13 -0
  314. package/types/directives/theme-class.d.ts +3 -0
  315. package/types/etc/index.d.ts +1 -0
  316. package/types/globals.d.ts +11 -0
  317. package/types/index.d.ts +9 -0
  318. package/types/mixins/di.d.ts +2 -0
  319. package/types/mixins/rebind-attrs.d.ts +5 -0
  320. package/types/shims.d.ts +71 -0
  321. package/types/util/common.d.ts +8 -0
  322. package/types/util/dom.d.ts +1 -0
  323. package/types/util/string.d.ts +3 -0
  324. package/types/util/ui.d.ts +9 -0
  325. package/types/util/vue-component.d.ts +33 -0
  326. package/types/vite-env.d.ts +1 -0
  327. package/src/components/button/index.ts +0 -3
  328. package/src/components/button/y-btn.ts +0 -104
  329. package/src/components/card/index.ts +0 -6
  330. package/src/components/card/y-card-body.ts +0 -8
  331. package/src/components/card/y-card-footer.ts +0 -8
  332. package/src/components/card/y-card-header.ts +0 -8
  333. package/src/components/card/y-card.ts +0 -16
  334. package/src/components/checkbox/IconCheckbox.vue +0 -24
  335. package/src/components/checkbox/YCheckbox.vue +0 -113
  336. package/src/components/checkbox/YInputCheckbox.vue +0 -108
  337. package/src/components/checkbox/index.ts +0 -8
  338. package/src/components/chip/index.ts +0 -3
  339. package/src/components/dialog/index.ts +0 -3
  340. package/src/components/dialog/y-dialog.vue +0 -46
  341. package/src/components/field-input/index.scss +0 -5
  342. package/src/components/field-input/index.ts +0 -11
  343. package/src/components/field-input/y-field-input.ts +0 -214
  344. package/src/components/form/index.ts +0 -9
  345. package/src/components/form/y-form.ts +0 -93
  346. package/src/components/icons/icon-clearable.ts +0 -6
  347. package/src/components/index.ts +0 -17
  348. package/src/components/input/index.scss +0 -5
  349. package/src/components/input/index.ts +0 -9
  350. package/src/components/input/y-input.ts +0 -368
  351. package/src/components/layer/index.ts +0 -3
  352. package/src/components/layer/y-layer.vue +0 -146
  353. package/src/components/lottie-player.ts +0 -41
  354. package/src/components/progress-bar/index.ts +0 -3
  355. package/src/components/progress-bar/y-progress-bar.vue +0 -144
  356. package/src/components/ring-spinner/y-ring-spinner.vue +0 -31
  357. package/src/components/switch/YSwitch.vue +0 -217
  358. package/src/components/switch/index.scss +0 -5
  359. package/src/components/switch/index.ts +0 -11
  360. package/src/components/text-highlighter/index.scss +0 -5
  361. package/src/components/text-highlighter/index.ts +0 -3
  362. package/src/components/text-highlighter/y-text-highlighter.ts +0 -89
  363. package/src/composables/lazy.ts +0 -30
  364. package/src/composables/theme.ts +0 -25
  365. package/src/directives/complement-click/index.ts +0 -123
  366. package/src/directives/theme-class.ts +0 -14
  367. package/src/file-extension.d.ts +0 -14
  368. package/src/index.ts +0 -21
  369. package/src/styles/base.scss +0 -28
  370. package/src/styles/theme/dark.scss +0 -35
  371. package/src/styles/theme/light.scss +0 -32
  372. package/src/util/common.ts +0 -59
  373. package/src/util/date-time.ts +0 -41
  374. package/src/util/dom.ts +0 -6
  375. package/src/util/string.ts +0 -9
  376. package/src/util/ui.ts +0 -39
  377. package/src/util/validation.ts +0 -9
  378. package/src/util/vue-component.ts +0 -18
  379. /package/{src/components/card/y-card.scss → lib/components/card/YCard.scss} +0 -0
  380. /package/{src/components/checkbox/y-checkbox.scss → lib/components/checkbox/YCheckbox.scss} +0 -0
  381. /package/{src/components/dialog/y-dialog.scss → lib/components/dialog/YDialog.scss} +0 -0
  382. /package/{src/components/layer/y-layer.scss → lib/components/layer/YLayer.scss} +0 -0
  383. /package/{src/components/text-highlighter/y-text-highlighter.scss → lib/components/text-highlighter/YTextHighlighter.scss} +0 -0
  384. /package/{src/styles/variables.scss → lib/styles/_variables.scss} +0 -0
  385. /package/{src → lib}/styles/util/helper.scss +0 -0
  386. /package/{src → lib}/styles/util/theme.scss +0 -0
@@ -0,0 +1,346 @@
1
+ import { defineComponent, h, withDirectives, resolveDirective } from "vue";
2
+ import DiMixin from "../../mixins/di.mjs";
3
+ import { getSlot } from "../../util/vue-component.mjs";
4
+ import "./index.scss";
5
+ const NAME = 'y-input';
6
+ let uidCounter = 0;
7
+ export const YInputProps = {
8
+ name: String,
9
+ width: {
10
+ type: [String, Number]
11
+ },
12
+ height: [Number, String],
13
+ displayTag: {
14
+ type: String,
15
+ default: 'div'
16
+ },
17
+ outlined: Boolean,
18
+ filled: {
19
+ type: Boolean
20
+ },
21
+ ceramic: Boolean,
22
+ label: String,
23
+ modelValue: {
24
+ type: [String, Number]
25
+ },
26
+ autoSelect: {
27
+ type: Boolean,
28
+ default: true
29
+ },
30
+ floated: {
31
+ type: Boolean,
32
+ default: () => false
33
+ },
34
+ placeholder: String,
35
+ loading: Boolean,
36
+ // validate
37
+ readonly: Boolean,
38
+ disabled: Boolean,
39
+ status: {
40
+ type: String,
41
+ validator(value) {
42
+ return ['success', 'warning', 'error'].includes(value);
43
+ }
44
+ },
45
+ validators: Array
46
+ };
47
+ export const YInput = defineComponent({
48
+ name: NAME,
49
+ mixins: [DiMixin],
50
+ props: YInputProps,
51
+ emits: ['error', 'click', 'mousedown', 'mouseup', 'focus', 'blur', 'click:prepend', 'update:modelValue'],
52
+ data() {
53
+ const iid = uidCounter.toString();
54
+ uidCounter += 1;
55
+ return {
56
+ isFocused: false,
57
+ iid,
58
+ lazyValue: undefined,
59
+ inValue: '',
60
+ hasMouseDown: false,
61
+ errorResult: undefined,
62
+ inError: false
63
+ };
64
+ },
65
+ computed: {
66
+ classes() {
67
+ return {
68
+ 'y-input--outlined': !this.ceramic && !!this.outlined,
69
+ 'y-input--filled': !!this.filled,
70
+ 'y-input--focused': this.isFocused,
71
+ 'y-input--ceramic': !!this.ceramic,
72
+ 'y-input--readonly': !!this.readonly,
73
+ 'y-input--has-value': !!this.inValue,
74
+ 'y-input--disabled': !!this.disabled,
75
+ 'y-input--error': this.isError,
76
+ 'y-input--success': this.isSuccess
77
+ };
78
+ },
79
+ displayStyles() {
80
+ let {
81
+ width
82
+ } = this;
83
+ if (!Number.isNaN(Number(width))) {
84
+ width = `${width}px`;
85
+ }
86
+ return {
87
+ width,
88
+ height: this.getDisplayHeight()
89
+ };
90
+ },
91
+ attrId() {
92
+ return this.$attrs.id ?? `y-input--${this.iid}`;
93
+ },
94
+ isFloatedLabel() {
95
+ return this.floated || !!this.placeholder || !this.placeholder && this.isFocused || !!this.inValue;
96
+ },
97
+ formLoading() {
98
+ const form$ = this.form$;
99
+ if (form$) {
100
+ return form$.loading;
101
+ }
102
+ return false;
103
+ },
104
+ isError() {
105
+ return this.status === 'error' || this.inError;
106
+ },
107
+ isSuccess() {
108
+ return !this.isError && this.status === 'success';
109
+ }
110
+ },
111
+ methods: {
112
+ createPrependOuter() {
113
+ const slot = getSlot(this, 'prepend-outer');
114
+ return slot ? h('div', {
115
+ class: `${NAME}__prepend-outer`
116
+ }, slot) : undefined;
117
+ },
118
+ createAppendOuter() {
119
+ const slot = getSlot(this, 'append-outer');
120
+ return slot ? h('div', {
121
+ class: `${NAME}__append-outer`
122
+ }, slot) : undefined;
123
+ },
124
+ createLabelSlot() {
125
+ const slot = getSlot(this, 'label');
126
+ if (!slot) {
127
+ if (this.label) {
128
+ return [this.label];
129
+ }
130
+ if (this.placeholder && !this.inValue) {
131
+ return [this.placeholder];
132
+ }
133
+ }
134
+ return slot ? [slot] : [];
135
+ },
136
+ createLabel() {
137
+ const show = !!this.label || !!getSlot(this, 'label');
138
+ if (!show) {
139
+ return undefined;
140
+ }
141
+ return h('label', {
142
+ class: {
143
+ [`${NAME}__label`]: true,
144
+ 'y-input__label--floated': this.isFloatedLabel
145
+ },
146
+ '.for': this.attrId
147
+ }, this.createLabelSlot());
148
+ },
149
+ createDefaultChildren() {
150
+ const {
151
+ modelValue
152
+ } = this;
153
+ return [this.createLabel(), modelValue?.toString()];
154
+ },
155
+ createDefault() {
156
+ const {
157
+ modelValue,
158
+ formLoading,
159
+ attrId
160
+ } = this;
161
+ const slotContent = getSlot(this, 'default', {
162
+ value: modelValue,
163
+ formLoading,
164
+ attrId
165
+ });
166
+ return slotContent ?? h('div', {
167
+ [`.${NAME}__value`]: true,
168
+ '.data-id': this.attrId,
169
+ '.tabindex': 0,
170
+ onFocus: this.onFocus,
171
+ onBlur: this.onBlur
172
+ }, this.createDefaultChildren());
173
+ },
174
+ createPrepend() {
175
+ const slot = getSlot(this, 'prepend', {
176
+ error: this.isError
177
+ });
178
+ return slot ? h('div', {
179
+ class: 'y-input__prepend',
180
+ onClick: this.onClickPrepend
181
+ }, slot) : undefined;
182
+ },
183
+ createAppend() {
184
+ return getSlot(this, 'append');
185
+ },
186
+ getDisplayHeight() {
187
+ const {
188
+ height
189
+ } = this;
190
+ if (!isNaN(Number(height))) {
191
+ return `${height}px`;
192
+ }
193
+ return height;
194
+ },
195
+ createDisplay() {
196
+ return h('div', {
197
+ class: {
198
+ [`${NAME}__display`]: true
199
+ },
200
+ // onClick: this.onClick,
201
+ // onMousedown: this.onMousedown,
202
+ // onMouseup: this.onMouseup,
203
+ ref: 'display',
204
+ style: {
205
+ ...this.displayStyles
206
+ }
207
+ }, [h('div', {
208
+ class: `${NAME}__plate`
209
+ }), this.createPrepend(), this.createDefault(), this.createAppend()]);
210
+ },
211
+ createHelperText() {
212
+ const helperTextSlot = getSlot(this, 'helper-text', {
213
+ error: this.status === 'error' || this.inError,
214
+ errorResult: this.errorResult
215
+ });
216
+ const children = [];
217
+ if (helperTextSlot) {
218
+ children.push(h('span', {}, helperTextSlot));
219
+ } else {
220
+ children.push(this.errorResult);
221
+ }
222
+ return h('div', {
223
+ class: `${NAME}__helper-text`
224
+ }, children);
225
+ },
226
+ createStackChildren() {
227
+ return [this.createDisplay(), this.createHelperText()];
228
+ },
229
+ createStack() {
230
+ return h('div', {
231
+ class: `${NAME}__stack`,
232
+ ref: 'stack'
233
+ }, this.createStackChildren());
234
+ },
235
+ createContent() {
236
+ return [this.createPrependOuter(), this.createStack(), this.createAppendOuter()];
237
+ },
238
+ //
239
+ onClick(event) {
240
+ if (this.autoSelect) {
241
+ if (event.target) {
242
+ window.getSelection()?.selectAllChildren(event.target);
243
+ }
244
+ }
245
+ this.$emit('click', event);
246
+ },
247
+ onMousedown(e) {
248
+ this.hasMouseDown = true;
249
+ this.$emit('mousedown', e);
250
+ },
251
+ onMouseup(e) {
252
+ this.hasMouseDown = false;
253
+ this.$emit('mouseup', e);
254
+ },
255
+ onFocus(event) {
256
+ this.isFocused = true;
257
+ this.$emit('focus', event);
258
+ },
259
+ onBlur(event) {
260
+ this.isFocused = false;
261
+ this.invokeValidators();
262
+ this.$emit('blur', event);
263
+ },
264
+ onClickPrepend(event) {
265
+ this.$emit('click:prepend', event);
266
+ },
267
+ onChange(event) {
268
+ this.invokeValidators();
269
+ },
270
+ //
271
+ invokeValidators() {
272
+ const {
273
+ validators,
274
+ inValue,
275
+ $attrs
276
+ } = this;
277
+ const {
278
+ required
279
+ } = $attrs;
280
+ this.resetError();
281
+ let flag = true;
282
+ if (Array.isArray(validators)) {
283
+ validators.some(validator => {
284
+ const result = validator(inValue);
285
+ if (typeof result === 'string') {
286
+ this.inError = true;
287
+ this.errorResult = result;
288
+ flag = false;
289
+ return true;
290
+ }
291
+ if (result === false) {
292
+ this.inError = true;
293
+ this.errorResult = '';
294
+ flag = false;
295
+ return true;
296
+ }
297
+ return false;
298
+ });
299
+ }
300
+ if (flag && required && !inValue) {
301
+ this.inError = true;
302
+ return false;
303
+ }
304
+ return flag;
305
+ },
306
+ resetError() {
307
+ this.inError = false;
308
+ this.errorResult = undefined;
309
+ },
310
+ getClasses() {
311
+ return this.classes;
312
+ }
313
+ },
314
+ watch: {
315
+ modelValue(neo) {
316
+ if (!this.readonly) {
317
+ this.inValue = neo;
318
+ }
319
+ },
320
+ readonly(neo) {
321
+ if (!neo) {
322
+ this.inValue = this.modelValue;
323
+ }
324
+ },
325
+ inValue(neo) {
326
+ if (!this.readonly) {
327
+ this.$emit('update:modelValue', neo);
328
+ }
329
+ },
330
+ isError(neo) {
331
+ this.$emit('error', neo);
332
+ }
333
+ },
334
+ created() {
335
+ this.inValue = this.modelValue;
336
+ },
337
+ render() {
338
+ return withDirectives(h('div', {
339
+ class: {
340
+ ...this.getClasses(),
341
+ [`${NAME}`]: true
342
+ }
343
+ }, this.createContent()), [[resolveDirective('theme'), this?.theme?.dark ? 'dark' : 'light']]);
344
+ }
345
+ });
346
+ //# sourceMappingURL=YInput.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"YInput.mjs","names":["defineComponent","h","withDirectives","resolveDirective","DiMixin","getSlot","NAME","uidCounter","YInputProps","name","String","width","type","Number","height","displayTag","default","outlined","Boolean","filled","ceramic","label","modelValue","autoSelect","floated","placeholder","loading","readonly","disabled","status","validator","value","includes","validators","Array","YInput","mixins","props","emits","data","iid","toString","isFocused","lazyValue","undefined","inValue","hasMouseDown","errorResult","inError","computed","classes","isError","isSuccess","displayStyles","isNaN","getDisplayHeight","attrId","$attrs","id","isFloatedLabel","formLoading","form$","methods","createPrependOuter","slot","class","createAppendOuter","createLabelSlot","createLabel","show","createDefaultChildren","createDefault","slotContent","onFocus","onBlur","createPrepend","error","onClick","onClickPrepend","createAppend","createDisplay","ref","style","createHelperText","helperTextSlot","children","push","createStackChildren","createStack","createContent","event","target","window","getSelection","selectAllChildren","$emit","onMousedown","e","onMouseup","invokeValidators","onChange","required","resetError","flag","isArray","some","result","getClasses","watch","neo","created","render","theme","dark"],"sources":["../../../src/components/input/YInput.ts"],"sourcesContent":["\r\nimport {\r\n PropType,\r\n VNode,\r\n defineComponent,\r\n h,\r\n withDirectives, resolveDirective\r\n} from \"vue\";\r\n\r\nimport DiMixin from '../../mixins/di';\r\nimport { getSlot } from '../../util/vue-component';\r\nimport './index.scss';\r\n\r\nconst NAME = 'y-input';\r\nlet uidCounter = 0;\r\n\r\nexport const YInputProps = {\r\n name: String,\r\n width: {\r\n type: [String, Number] as PropType<string | number>,\r\n },\r\n height: [Number, String],\r\n displayTag: {\r\n type: String as PropType<string>,\r\n default: 'div',\r\n },\r\n outlined: Boolean as PropType<boolean>,\r\n filled: {\r\n type: Boolean as PropType<boolean>,\r\n },\r\n ceramic: Boolean as PropType<boolean>,\r\n label: String as PropType<string>,\r\n modelValue: { type: [String, Number] as PropType<string | number> },\r\n autoSelect: {\r\n type: Boolean as PropType<boolean>,\r\n default: true,\r\n },\r\n floated: { type: Boolean as PropType<boolean>, default: () => false },\r\n placeholder: String as PropType<string>,\r\n loading: Boolean as PropType<boolean>,\r\n // validate\r\n readonly: Boolean as PropType<boolean>,\r\n disabled: Boolean as PropType<boolean>,\r\n status: {\r\n type: String as PropType<'success' | 'warning' | 'error' | undefined>,\r\n validator(value: string) {\r\n return ['success', 'warning', 'error'].includes(value);\r\n }\r\n },\r\n validators: Array as PropType<((v: any) => boolean | string)[] | string[]>,\r\n}\r\n\r\nexport const YInput = defineComponent({\r\n name: NAME,\r\n mixins: [DiMixin],\r\n props: YInputProps,\r\n emits: ['error', 'click', 'mousedown', 'mouseup', 'focus', 'blur', 'click:prepend', 'update:modelValue'],\r\n data() {\r\n const iid = uidCounter.toString();\r\n uidCounter += 1;\r\n return {\r\n isFocused: false,\r\n iid,\r\n lazyValue: undefined as string | undefined,\r\n inValue: '' as string | number | undefined,\r\n hasMouseDown: false,\r\n errorResult: undefined as string | undefined,\r\n inError: false,\r\n };\r\n },\r\n computed: {\r\n classes(): Record<string, boolean> {\r\n return {\r\n 'y-input--outlined': !this.ceramic && !!this.outlined,\r\n 'y-input--filled': !!this.filled,\r\n 'y-input--focused': this.isFocused,\r\n 'y-input--ceramic': !!this.ceramic,\r\n 'y-input--readonly': !!this.readonly,\r\n 'y-input--has-value': !!this.inValue,\r\n 'y-input--disabled': !!this.disabled,\r\n 'y-input--error': this.isError,\r\n 'y-input--success': this.isSuccess,\r\n };\r\n },\r\n displayStyles(): Record<string, any> {\r\n let { width } = this;\r\n if (!Number.isNaN(Number(width))) {\r\n width = `${width}px`;\r\n }\r\n return {\r\n width,\r\n height: this.getDisplayHeight(),\r\n };\r\n },\r\n attrId(): string {\r\n return (this.$attrs.id as string) ?? `y-input--${this.iid}`;\r\n },\r\n isFloatedLabel(): boolean {\r\n return (\r\n this.floated ||\r\n !!this.placeholder ||\r\n (!this.placeholder && this.isFocused) ||\r\n !!this.inValue\r\n );\r\n },\r\n formLoading(): boolean {\r\n const form$ = (this as any).form$ as any;\r\n if (form$) {\r\n return form$.loading;\r\n }\r\n return false;\r\n },\r\n isError(): boolean {\r\n return this.status === 'error' || this.inError;\r\n },\r\n isSuccess(): boolean {\r\n return !this.isError && this.status === 'success';\r\n }\r\n },\r\n methods: {\r\n createPrependOuter(): VNode | undefined {\r\n const slot = getSlot(this, 'prepend-outer');\r\n return slot\r\n ? h('div', { class: `${NAME}__prepend-outer` }, slot)\r\n : undefined;\r\n },\r\n createAppendOuter(): VNode | undefined {\r\n const slot = getSlot(this, 'append-outer');\r\n return slot\r\n ? h('div', { class: `${NAME}__append-outer` }, slot)\r\n : undefined;\r\n },\r\n createLabelSlot(): (VNode | string | VNode[])[] {\r\n const slot: VNode[] | undefined = getSlot(this, 'label');\r\n if (!slot) {\r\n if (this.label) {\r\n return [this.label];\r\n }\r\n if (this.placeholder && !this.inValue) {\r\n return [this.placeholder];\r\n }\r\n }\r\n\r\n return slot ? [slot] : [];\r\n },\r\n createLabel(): VNode | undefined {\r\n const show = !!this.label || !!getSlot(this, 'label');\r\n if (!show) {\r\n return undefined;\r\n }\r\n return h(\r\n 'label',\r\n {\r\n class: {\r\n [`${NAME}__label`]: true,\r\n 'y-input__label--floated': this.isFloatedLabel,\r\n },\r\n '.for': this.attrId,\r\n },\r\n this.createLabelSlot(),\r\n );\r\n },\r\n createDefaultChildren(): (VNode | undefined | VNode[] | string)[] {\r\n const { modelValue } = this;\r\n return [this.createLabel(), modelValue?.toString()];\r\n },\r\n createDefault(): VNode[] | VNode {\r\n const { modelValue, formLoading, attrId } = this;\r\n const slotContent = getSlot(this, 'default', { value: modelValue, formLoading, attrId });\r\n return slotContent ?? h(\r\n 'div',\r\n {\r\n [`.${NAME}__value`]: true,\r\n '.data-id': this.attrId,\r\n '.tabindex': 0,\r\n onFocus: this.onFocus,\r\n onBlur: this.onBlur,\r\n },\r\n this.createDefaultChildren(),\r\n );\r\n },\r\n createPrepend(): VNode | undefined {\r\n const slot = getSlot(this, 'prepend', { error: this.isError });\r\n return slot\r\n ? h(\r\n 'div',\r\n {\r\n class: 'y-input__prepend',\r\n onClick: this.onClickPrepend,\r\n },\r\n slot,\r\n )\r\n : undefined;\r\n },\r\n createAppend(): VNode | VNode[] | undefined {\r\n return getSlot(this, 'append');\r\n },\r\n getDisplayHeight() {\r\n const { height } = this;\r\n if (!isNaN(Number(height))) {\r\n return `${height}px`;\r\n }\r\n return height;\r\n },\r\n createDisplay(): VNode {\r\n return h(\r\n 'div',\r\n {\r\n class: {\r\n [`${NAME}__display`]: true,\r\n },\r\n // onClick: this.onClick,\r\n // onMousedown: this.onMousedown,\r\n // onMouseup: this.onMouseup,\r\n ref: 'display',\r\n style: {\r\n ...this.displayStyles,\r\n },\r\n },\r\n [\r\n h('div', { class: `${NAME}__plate` }),\r\n this.createPrepend(),\r\n this.createDefault(),\r\n this.createAppend(),\r\n ],\r\n );\r\n },\r\n createHelperText(): VNode {\r\n const helperTextSlot = getSlot(this, 'helper-text', {\r\n error: this.status === 'error' || this.inError,\r\n errorResult: this.errorResult,\r\n });\r\n const children = [];\r\n if (helperTextSlot) {\r\n children.push(h('span', {}, helperTextSlot));\r\n } else {\r\n children.push(this.errorResult);\r\n }\r\n return h('div', { class: `${NAME}__helper-text` }, children);\r\n },\r\n createStackChildren(): VNode[] {\r\n return [this.createDisplay(), this.createHelperText()];\r\n },\r\n createStack(): VNode {\r\n return h(\r\n 'div',\r\n {\r\n class: `${NAME}__stack`,\r\n ref: 'stack',\r\n },\r\n this.createStackChildren(),\r\n );\r\n },\r\n createContent(): (VNode | undefined)[] {\r\n return [\r\n this.createPrependOuter(),\r\n this.createStack(),\r\n this.createAppendOuter(),\r\n ];\r\n },\r\n //\r\n onClick(event: MouseEvent) {\r\n if (this.autoSelect) {\r\n if (event.target) {\r\n window.getSelection()?.selectAllChildren(event.target as HTMLElement);\r\n }\r\n }\r\n this.$emit('click', event);\r\n },\r\n onMousedown(e: Event) {\r\n this.hasMouseDown = true;\r\n this.$emit('mousedown', e);\r\n },\r\n onMouseup(e: Event) {\r\n this.hasMouseDown = false;\r\n this.$emit('mouseup', e);\r\n },\r\n onFocus(event: FocusEvent) {\r\n this.isFocused = true;\r\n this.$emit('focus', event);\r\n },\r\n onBlur(event: FocusEvent) {\r\n this.isFocused = false;\r\n this.invokeValidators();\r\n this.$emit('blur', event);\r\n },\r\n onClickPrepend(event: MouseEvent) {\r\n this.$emit('click:prepend', event);\r\n },\r\n onChange(event?: Event) {\r\n this.invokeValidators();\r\n },\r\n //\r\n invokeValidators(): boolean {\r\n const { validators, inValue, $attrs } = this;\r\n const { required } = $attrs;\r\n this.resetError();\r\n let flag = true;\r\n if (Array.isArray(validators)) {\r\n validators.some((validator: any) => {\r\n const result = validator(inValue);\r\n if (typeof result === 'string') {\r\n this.inError = true;\r\n this.errorResult = result;\r\n flag = false;\r\n return true;\r\n }\r\n if (result === false) {\r\n this.inError = true;\r\n this.errorResult = '';\r\n flag = false;\r\n return true;\r\n }\r\n return false;\r\n });\r\n }\r\n if (flag && required && !inValue) {\r\n this.inError = true;\r\n return false;\r\n }\r\n return flag;\r\n },\r\n resetError() {\r\n this.inError = false;\r\n this.errorResult = undefined;\r\n },\r\n getClasses() {\r\n return this.classes;\r\n },\r\n },\r\n watch: {\r\n modelValue(neo: string) {\r\n if (!this.readonly) {\r\n this.inValue = neo;\r\n }\r\n },\r\n readonly(neo: boolean) {\r\n if (!neo) {\r\n this.inValue = this.modelValue;\r\n }\r\n },\r\n inValue(neo: string) {\r\n if (!this.readonly) {\r\n this.$emit('update:modelValue', neo);\r\n }\r\n },\r\n isError(neo: boolean) {\r\n this.$emit('error', neo);\r\n },\r\n },\r\n created() {\r\n this.inValue = this.modelValue;\r\n },\r\n render(): VNode {\r\n return withDirectives(\r\n h(\r\n 'div',\r\n {\r\n class: { ...this.getClasses(), [`${NAME}`]: true },\r\n },\r\n this.createContent(),\r\n ),\r\n [\r\n [\r\n resolveDirective('theme'),\r\n (this as any)?.theme?.dark ? 'dark' : 'light',\r\n ],\r\n ],\r\n );\r\n },\r\n});\r\n\r\nexport type YInput = InstanceType<typeof YInput>;\r\n"],"mappings":"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"}
@@ -1,6 +1,3 @@
1
- /*!
2
- * Created by yeonyu 2022.
3
- */
4
1
 
5
2
  @use '../../styles/palette';
6
3
  @use '../../styles/variables';
@@ -115,7 +112,7 @@ $input-border-radius: variables.$border-radius-root !default;
115
112
  position: relative;
116
113
  display: inline-flex;
117
114
  margin-top: 10px;
118
- padding-right: 8px;
115
+ padding-right: 4px;
119
116
  align-self: flex-start;
120
117
 
121
118
  > * {
@@ -206,4 +203,15 @@ $input-border-radius: variables.$border-radius-root !default;
206
203
  color: palette.$alert-negative;
207
204
  }
208
205
  }
206
+
207
+ &--success {
208
+ &.y-input--outlined {
209
+ .y-input__plate {
210
+ border-color: palette.$alert-positive !important;
211
+ }
212
+ }
213
+ .y-input__helper-text {
214
+ color: palette.$alert-positive;
215
+ }
216
+ }
209
217
  }
@@ -0,0 +1,2 @@
1
+ export * from "./YInput.mjs";
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/components/input/index.ts"],"sourcesContent":["\nexport * from './YInput';\n"],"mappings":""}
@@ -0,0 +1,2 @@
1
+
2
+ @import 'YInput';
@@ -0,0 +1,193 @@
1
+ import { mergeProps as _mergeProps, withDirectives as _withDirectives, resolveDirective as _resolveDirective, vShow as _vShow, createVNode as _createVNode } from "vue";
2
+ import { Teleport, Transition, computed, defineComponent, reactive, ref, toRef } from 'vue';
3
+ import { useRender } from "../../composables/component.mjs";
4
+ import { useLayerGroup } from "../../composables/layer-group.mjs";
5
+ import { useLazy } from "../../composables/timing.mjs";
6
+ import { PolyTransition, polyTransitionPropOptions, usePolyTransition } from "../../composables/transition.mjs";
7
+ import { ComplementClick } from "../../directives/complement-click/index.mjs";
8
+ import { bindClasses } from "../../util/vue-component.mjs";
9
+ import "./YLayer.scss";
10
+ export const YLayer = defineComponent({
11
+ name: 'YLayer',
12
+ inheritAttrs: false,
13
+ components: {
14
+ PolyTransition
15
+ },
16
+ directives: {
17
+ ComplementClick
18
+ },
19
+ props: {
20
+ modelValue: {
21
+ type: Boolean
22
+ },
23
+ scrim: {
24
+ type: Boolean
25
+ },
26
+ eager: {
27
+ type: Boolean
28
+ },
29
+ classes: {
30
+ type: [Array, String, Object]
31
+ },
32
+ contentClasses: {
33
+ type: [Array, String, Object]
34
+ },
35
+ closeClickScrim: {
36
+ type: Boolean
37
+ },
38
+ persistent: Boolean,
39
+ contentStyles: {
40
+ type: Object,
41
+ default: () => {}
42
+ },
43
+ disabled: {
44
+ type: Boolean,
45
+ default: false
46
+ },
47
+ ...polyTransitionPropOptions
48
+ },
49
+ emits: {
50
+ 'update:modelValue': value => true,
51
+ 'click:complement': mouseEvent => true
52
+ },
53
+ setup(props, _ref) {
54
+ let {
55
+ emit,
56
+ expose,
57
+ attrs,
58
+ slots
59
+ } = _ref;
60
+ const {
61
+ layerGroup
62
+ } = useLayerGroup();
63
+ const {
64
+ polyTransitionBindProps
65
+ } = usePolyTransition(props);
66
+ const active = computed({
67
+ get: () => {
68
+ return !!props.modelValue;
69
+ },
70
+ set: v => {
71
+ emit('update:modelValue', v);
72
+ }
73
+ });
74
+ const disabled = toRef(props, 'disabled');
75
+ const {
76
+ lazyValue,
77
+ onAfterUpdate
78
+ } = useLazy(!!props.eager, active);
79
+ const rendered = computed(() => !disabled.value && (lazyValue.value || active.value));
80
+ const scrim$ = ref();
81
+ const content$ = ref();
82
+ function onClickComplementLayer(mouseEvent) {
83
+ emit('click:complement', mouseEvent);
84
+ if (!props.persistent) {
85
+ if (scrim$.value !== null && scrim$.value === mouseEvent.target && props.closeClickScrim) {
86
+ active.value = false;
87
+ }
88
+ } else {
89
+ // TODO: shrug ani
90
+ }
91
+ }
92
+ function closeConditional() {
93
+ return active.value; // TODO: && groupTopLevel.value;
94
+ }
95
+
96
+ const complementClickOption = reactive({
97
+ handler: onClickComplementLayer,
98
+ determine: closeConditional,
99
+ include: () => [
100
+ // activatorEl.value
101
+ ]
102
+ });
103
+ expose({
104
+ scrim$,
105
+ content$,
106
+ active,
107
+ onAfterUpdate
108
+ });
109
+ function onAfterEnter() {
110
+ // console.log('after')
111
+ }
112
+ function onAfterLeave() {
113
+ onAfterUpdate();
114
+ }
115
+ function onClickScrim() {
116
+ if (props.closeClickScrim) {
117
+ active.value = false;
118
+ }
119
+ }
120
+ const computedStyle = computed(() => {
121
+ return {
122
+ zIndex: '2000'
123
+ };
124
+ });
125
+ const computedClass = computed(() => {
126
+ const {
127
+ classes
128
+ } = props;
129
+ const boundClasses = bindClasses(classes);
130
+ return {
131
+ ...boundClasses,
132
+ 'y-layer--active': !!active.value
133
+ };
134
+ });
135
+ const computedContentClasses = computed(() => {
136
+ const boundClasses = bindClasses(props.contentClasses);
137
+ return {
138
+ ...boundClasses
139
+ };
140
+ });
141
+ useRender(() => {
142
+ return _createVNode(Teleport, {
143
+ "disabled": !layerGroup.value,
144
+ "to": layerGroup.value
145
+ }, {
146
+ default: () => [rendered.value && _createVNode("div", _mergeProps({
147
+ "class": {
148
+ 'y-layer': true,
149
+ ...computedClass.value
150
+ },
151
+ "style": computedStyle.value
152
+ }, attrs), [_createVNode(Transition, {
153
+ "name": "fade",
154
+ "appear": true
155
+ }, {
156
+ default: () => [active.value && props.scrim && _createVNode("div", {
157
+ "class": "y-layer__scrim",
158
+ "onClick": onClickScrim,
159
+ "ref": "scrim$"
160
+ }, null)]
161
+ }), _createVNode(PolyTransition, _mergeProps({
162
+ "onAfterEnter": onAfterEnter,
163
+ "onAfterLeave": onAfterLeave,
164
+ "appear": true
165
+ }, polyTransitionBindProps.value), {
166
+ default: () => [_withDirectives(_createVNode("div", {
167
+ "class": {
168
+ 'y-layer__content': true,
169
+ ...computedContentClasses.value
170
+ },
171
+ "style": props.contentStyles,
172
+ "ref": "content$"
173
+ }, [slots.default?.({
174
+ active: active.value
175
+ })]), [[_vShow, active.value], [_resolveDirective("complement-click"), {
176
+ ...complementClickOption
177
+ }]])]
178
+ })])]
179
+ });
180
+ });
181
+ return {
182
+ complementClickOption,
183
+ layerGroup,
184
+ active,
185
+ rendered,
186
+ onAfterUpdate: onAfterUpdate,
187
+ scrim$,
188
+ content$,
189
+ polyTransitionBindProps
190
+ };
191
+ }
192
+ });
193
+ //# sourceMappingURL=YLayer.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"YLayer.mjs","names":["Teleport","Transition","computed","defineComponent","reactive","ref","toRef","useRender","useLayerGroup","useLazy","PolyTransition","polyTransitionPropOptions","usePolyTransition","ComplementClick","bindClasses","YLayer","name","inheritAttrs","components","directives","props","modelValue","type","Boolean","scrim","eager","classes","Array","String","Object","contentClasses","closeClickScrim","persistent","contentStyles","default","disabled","emits","value","mouseEvent","setup","_ref","emit","expose","attrs","slots","layerGroup","polyTransitionBindProps","active","get","set","v","lazyValue","onAfterUpdate","rendered","scrim$","content$","onClickComplementLayer","target","closeConditional","complementClickOption","handler","determine","include","onAfterEnter","onAfterLeave","onClickScrim","computedStyle","zIndex","computedClass","boundClasses","computedContentClasses","_createVNode","_mergeProps","_withDirectives","_vShow","_resolveDirective"],"sources":["../../../src/components/layer/YLayer.tsx"],"sourcesContent":["import {\n CSSProperties,\n Prop,\n PropType,\n Teleport,\n Transition,\n computed,\n defineComponent,\n reactive,\n ref,\n toRef,\n} from 'vue';\n\nimport { useRender } from '../../composables/component';\nimport { useLayerGroup } from '../../composables/layer-group';\nimport { useLazy } from '../../composables/timing';\nimport {\n PolyTransition,\n polyTransitionPropOptions,\n usePolyTransition,\n} from '../../composables/transition';\nimport {\n ComplementClick,\n ComplementClickBindingOptions,\n} from '../../directives/complement-click';\nimport { bindClasses } from '../../util/vue-component';\n\nimport './YLayer.scss';\n\nexport const YLayer = defineComponent({\n name: 'YLayer',\n inheritAttrs: false,\n components: {\n PolyTransition,\n },\n directives: {\n ComplementClick,\n },\n props: {\n modelValue: {\n type: Boolean as PropType<boolean>,\n },\n scrim: {\n type: Boolean as PropType<boolean>,\n },\n eager: {\n type: Boolean as PropType<boolean>,\n },\n classes: {\n type: [Array, String, Object] as PropType<\n string[] | string | Record<string, any>\n >,\n },\n contentClasses: {\n type: [Array, String, Object] as PropType<\n string[] | string | Record<string, any>\n >,\n },\n closeClickScrim: {\n type: Boolean as PropType<boolean>,\n },\n persistent: Boolean as PropType<boolean>,\n contentStyles: {\n type: Object as PropType<CSSProperties>,\n default: () => {},\n },\n disabled: {\n type: Boolean as PropType<boolean>,\n default: false,\n },\n ...polyTransitionPropOptions,\n },\n emits: {\n 'update:modelValue': (value: boolean) => true,\n 'click:complement': (mouseEvent: MouseEvent) => true,\n },\n setup(props, { emit, expose, attrs, slots }) {\n const { layerGroup } = useLayerGroup();\n const { polyTransitionBindProps } = usePolyTransition(props);\n const active = computed<boolean>({\n get: (): boolean => {\n return !!props.modelValue;\n },\n set: (v: boolean) => {\n emit('update:modelValue', v);\n },\n });\n const disabled = toRef(props, 'disabled');\n const { lazyValue, onAfterUpdate } = useLazy(!!props.eager, active);\n const rendered = computed<boolean>(\n () => !disabled.value && (lazyValue.value || active.value),\n );\n const scrim$ = ref<HTMLElement>();\n const content$ = ref<HTMLElement>();\n\n function onClickComplementLayer(mouseEvent: MouseEvent) {\n emit('click:complement', mouseEvent);\n if (!props.persistent) {\n if (\n scrim$.value !== null &&\n scrim$.value === mouseEvent.target &&\n props.closeClickScrim\n ) {\n active.value = false;\n }\n } else {\n // TODO: shrug ani\n }\n }\n\n function closeConditional(): boolean {\n return active.value; // TODO: && groupTopLevel.value;\n }\n\n const complementClickOption = reactive<ComplementClickBindingOptions>({\n handler: onClickComplementLayer,\n determine: closeConditional,\n include: () => [\n // activatorEl.value\n ],\n });\n\n expose({\n scrim$,\n content$,\n active,\n onAfterUpdate,\n });\n\n function onAfterEnter() {\n // console.log('after')\n }\n\n function onAfterLeave() {\n onAfterUpdate();\n }\n\n function onClickScrim() {\n if (props.closeClickScrim) {\n active.value = false;\n }\n }\n\n const computedStyle = computed(() => {\n return {\n zIndex: '2000',\n };\n });\n\n const computedClass = computed<Record<string, boolean>>(() => {\n const { classes } = props;\n const boundClasses = bindClasses(classes);\n return {\n ...boundClasses,\n 'y-layer--active': !!active.value,\n };\n });\n\n const computedContentClasses = computed<Record<string, boolean>>(() => {\n const boundClasses = bindClasses(props.contentClasses);\n return {\n ...boundClasses,\n };\n });\n\n useRender(() => {\n return (\n <Teleport disabled={!layerGroup.value} to={layerGroup.value as any}>\n {rendered.value && (\n <div\n class={{ 'y-layer': true, ...computedClass.value }}\n style={computedStyle.value}\n {...attrs}\n >\n <Transition name=\"fade\" appear>\n {active.value && props.scrim && (\n <div\n class=\"y-layer__scrim\"\n onClick={onClickScrim}\n ref=\"scrim$\"\n ></div>\n )}\n </Transition>\n <PolyTransition\n onAfterEnter={onAfterEnter}\n onAfterLeave={onAfterLeave}\n appear\n {...polyTransitionBindProps.value}\n >\n <div\n v-show={active.value}\n v-complement-click={{ ...complementClickOption }}\n class={{\n 'y-layer__content': true,\n ...computedContentClasses.value,\n }}\n style={props.contentStyles}\n ref=\"content$\"\n >\n {slots.default?.({ active: active.value })}\n </div>\n </PolyTransition>\n </div>\n )}\n </Teleport>\n );\n });\n\n return {\n complementClickOption,\n layerGroup,\n active,\n rendered,\n onAfterUpdate: onAfterUpdate as () => void,\n scrim$,\n content$,\n polyTransitionBindProps,\n };\n },\n});\n\nexport type YLayer = InstanceType<typeof YLayer>;\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from "./YLayer.mjs";
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/components/layer/index.ts"],"sourcesContent":["export * from './YLayer';\n"],"mappings":""}