yuyeon 0.3.1-rc.4 → 0.3.1-rc.5

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 (230) hide show
  1. package/LICENSE +191 -191
  2. package/README.md +15 -15
  3. package/dist/yuyeon.js +1751 -1687
  4. package/dist/yuyeon.umd.cjs +3 -3
  5. package/lib/abstract/items.mjs.map +1 -1
  6. package/lib/components/alert/YAlert.mjs +2 -2
  7. package/lib/components/alert/YAlert.mjs.map +1 -1
  8. package/lib/components/alert/YAlert.scss +77 -77
  9. package/lib/components/app/YApp.mjs +2 -2
  10. package/lib/components/app/YApp.mjs.map +1 -1
  11. package/lib/components/bench/YBench.mjs +2 -2
  12. package/lib/components/bench/YBench.mjs.map +1 -1
  13. package/lib/components/button/YButton.scss +137 -137
  14. package/lib/components/card/YCard.mjs.map +1 -1
  15. package/lib/components/card/YCard.scss +45 -45
  16. package/lib/components/card/YCardBody.mjs.map +1 -1
  17. package/lib/components/card/YCardFooter.mjs.map +1 -1
  18. package/lib/components/card/YCardHeader.mjs.map +1 -1
  19. package/lib/components/checkbox/YCheckbox.mjs.map +1 -1
  20. package/lib/components/checkbox/YInputCheckbox.mjs.map +1 -1
  21. package/lib/components/checkbox/YInputCheckbox.scss +84 -84
  22. package/lib/components/checkbox/index.mjs.map +1 -1
  23. package/lib/components/chip/YChip.scss +36 -36
  24. package/lib/components/date-picker/YDateCalendar.mjs.map +1 -1
  25. package/lib/components/date-picker/YDateCalendar.scss +84 -84
  26. package/lib/components/date-picker/YDatePicker.mjs.map +1 -1
  27. package/lib/components/date-picker/YDatePickerControl.mjs.map +1 -1
  28. package/lib/components/date-picker/YMonthPicker.mjs.map +1 -1
  29. package/lib/components/date-picker/YYearPicker.mjs.map +1 -1
  30. package/lib/components/dialog/index.mjs.map +1 -1
  31. package/lib/components/divider/YDivider.mjs.map +1 -1
  32. package/lib/components/divider/YDivider.scss +2 -2
  33. package/lib/components/draggable/YDraggable.mjs +2 -2
  34. package/lib/components/draggable/YDraggable.mjs.map +1 -1
  35. package/lib/components/dropdown/YDropdown.mjs.map +1 -1
  36. package/lib/components/dropdown/YDropdown.scss +27 -27
  37. package/lib/components/field-input/index.mjs.map +1 -1
  38. package/lib/components/form/YForm.mjs.map +1 -1
  39. package/lib/components/hover/YHover.mjs +1 -1
  40. package/lib/components/hover/YHover.mjs.map +1 -1
  41. package/lib/components/icon/YIcon.mjs.map +1 -1
  42. package/lib/components/icon/YIcon.scss +18 -18
  43. package/lib/components/icon/poly.mjs +57 -0
  44. package/lib/components/icon/poly.mjs.map +1 -0
  45. package/lib/components/icons/YIconCheckbox.mjs.map +1 -1
  46. package/lib/components/icons/YIconClear.mjs.map +1 -1
  47. package/lib/components/icons/YIconDropdown.mjs.map +1 -1
  48. package/lib/components/icons/YIconExpand.mjs.map +1 -1
  49. package/lib/components/icons/YIconPageControl.mjs.map +1 -1
  50. package/lib/components/icons/YIconSort.mjs.map +1 -1
  51. package/lib/components/icons/YIconSort.scss +24 -24
  52. package/lib/components/icons/index.mjs.map +1 -1
  53. package/lib/components/img/YImg.mjs +4 -4
  54. package/lib/components/img/YImg.mjs.map +1 -1
  55. package/lib/components/index.mjs.map +1 -1
  56. package/lib/components/input/YInput.mjs.map +1 -1
  57. package/lib/components/input/YInput.scss +258 -258
  58. package/lib/components/ip-field/YIpv4Field.mjs.map +1 -1
  59. package/lib/components/layer/YLayer.mjs.map +1 -1
  60. package/lib/components/layer/active-stack.mjs.map +1 -1
  61. package/lib/components/layer/base.mjs.map +1 -1
  62. package/lib/components/layer/content.mjs.map +1 -1
  63. package/lib/components/layer/scroll-strategies.mjs.map +1 -1
  64. package/lib/components/list/YList.mjs.map +1 -1
  65. package/lib/components/list/YListItem.mjs.map +1 -1
  66. package/lib/components/loading/YSpinnerRing.mjs.map +1 -1
  67. package/lib/components/menu/YMenu.mjs +2 -2
  68. package/lib/components/menu/YMenu.mjs.map +1 -1
  69. package/lib/components/menu/YMenu.scss +25 -25
  70. package/lib/components/navigation/YNavigation.mjs.map +1 -1
  71. package/lib/components/pagination/YPagination.mjs.map +1 -1
  72. package/lib/components/pagination/YPagination.scss +52 -52
  73. package/lib/components/panel/YDividePanel.mjs.map +1 -1
  74. package/lib/components/plate/YPlate.mjs +2 -2
  75. package/lib/components/plate/YPlate.mjs.map +1 -1
  76. package/lib/components/progress-bar/YProgressBar.mjs.map +1 -1
  77. package/lib/components/progress-bar/YProgressBar.scss +120 -120
  78. package/lib/components/progress-ring/YProgressRing.mjs +2 -2
  79. package/lib/components/progress-ring/YProgressRing.mjs.map +1 -1
  80. package/lib/components/progress-ring/YProgressRing.scss +38 -38
  81. package/lib/components/progress-ring/index.mjs.map +1 -1
  82. package/lib/components/select/YSelect.mjs.map +1 -1
  83. package/lib/components/slider/YSlider.mjs.map +1 -1
  84. package/lib/components/snackbar/YSnackbar.mjs +5 -5
  85. package/lib/components/snackbar/YSnackbar.mjs.map +1 -1
  86. package/lib/components/switch/YSwitch.mjs.map +1 -1
  87. package/lib/components/switch/YSwitch.scss +211 -211
  88. package/lib/components/tab/YTab.mjs.map +1 -1
  89. package/lib/components/tab/YTab.scss +73 -73
  90. package/lib/components/tab/YTabs.mjs.map +1 -1
  91. package/lib/components/tab/YTabs.scss +8 -8
  92. package/lib/components/tab/index.mjs.map +1 -1
  93. package/lib/components/tab/types.mjs.map +1 -1
  94. package/lib/components/table/YDataTableBody.mjs.map +1 -1
  95. package/lib/components/table/YDataTableCell.mjs.map +1 -1
  96. package/lib/components/table/YDataTableHead.mjs.map +1 -1
  97. package/lib/components/table/YDataTableLayer.mjs.map +1 -1
  98. package/lib/components/table/YDataTableRow.mjs.map +1 -1
  99. package/lib/components/table/YTable.mjs.map +1 -1
  100. package/lib/components/table/YTable.scss +157 -157
  101. package/lib/components/table/composibles/header.mjs.map +1 -1
  102. package/lib/components/table/composibles/items.mjs.map +1 -1
  103. package/lib/components/table/composibles/options.mjs.map +1 -1
  104. package/lib/components/table/composibles/pagination.mjs.map +1 -1
  105. package/lib/components/table/composibles/selection.mjs.map +1 -1
  106. package/lib/components/table/composibles/sorted-items.mjs.map +1 -1
  107. package/lib/components/table/composibles/sorting.mjs.map +1 -1
  108. package/lib/components/table/types/header.mjs.map +1 -1
  109. package/lib/components/table/types/index.mjs.map +1 -1
  110. package/lib/components/table/types/row.mjs.map +1 -1
  111. package/lib/components/text-ellipsis/YTextEllipsis.mjs.map +1 -1
  112. package/lib/components/text-ellipsis/YTextEllipsis.scss +43 -43
  113. package/lib/components/text-highlighter/YTextHighlighter.mjs.map +1 -1
  114. package/lib/components/text-interpolation/YTi.mjs.map +1 -1
  115. package/lib/components/textarea/YTextarea.mjs.map +1 -1
  116. package/lib/components/toggle-button/YToggleButton.mjs.map +1 -1
  117. package/lib/components/tooltip/YTooltip.mjs +2 -2
  118. package/lib/components/tooltip/YTooltip.mjs.map +1 -1
  119. package/lib/components/tree-view/YTreeView.scss +81 -81
  120. package/lib/components/tree-view/types.mjs.map +1 -1
  121. package/lib/components/tree-view/util.mjs.map +1 -1
  122. package/lib/composables/choice.mjs.map +1 -1
  123. package/lib/composables/communication.mjs.map +1 -1
  124. package/lib/composables/component.mjs.map +1 -1
  125. package/lib/composables/coordinate/arrangement.mjs.map +1 -1
  126. package/lib/composables/coordinate/index.mjs.map +1 -1
  127. package/lib/composables/coordinate/levitation.mjs +2 -2
  128. package/lib/composables/coordinate/levitation.mjs.map +1 -1
  129. package/lib/composables/coordinate/types.mjs.map +1 -1
  130. package/lib/composables/coordinate/utils/point.mjs.map +1 -1
  131. package/lib/composables/date/factory.mjs.map +1 -1
  132. package/lib/composables/date/index.mjs.map +1 -1
  133. package/lib/composables/date/setting.mjs.map +1 -1
  134. package/lib/composables/date/types.mjs.map +1 -1
  135. package/lib/composables/defaults/index.mjs.map +1 -1
  136. package/lib/composables/defaults/share.mjs.map +1 -1
  137. package/lib/composables/defaults/types.mjs.map +1 -1
  138. package/lib/composables/dimension.mjs.map +1 -1
  139. package/lib/composables/focus.mjs.map +1 -1
  140. package/lib/composables/form.mjs.map +1 -1
  141. package/lib/composables/group.mjs +194 -0
  142. package/lib/composables/group.mjs.map +1 -0
  143. package/lib/composables/i18n/index.mjs.map +1 -1
  144. package/lib/composables/i18n/locale.mjs.map +1 -1
  145. package/lib/composables/i18n/rtl.mjs.map +1 -1
  146. package/lib/composables/i18n/share.mjs.map +1 -1
  147. package/lib/composables/icon.mjs.map +1 -1
  148. package/lib/composables/index.mjs.map +1 -1
  149. package/lib/composables/layer-group.mjs.map +1 -1
  150. package/lib/composables/layout.mjs.map +1 -1
  151. package/lib/composables/list-items.mjs.map +1 -1
  152. package/lib/composables/progress.mjs.map +1 -1
  153. package/lib/composables/ref.mjs.map +1 -1
  154. package/lib/composables/resize-observer.mjs.map +1 -1
  155. package/lib/composables/scope.mjs.map +1 -1
  156. package/lib/composables/theme/factory.mjs.map +1 -1
  157. package/lib/composables/theme/index.mjs.map +1 -1
  158. package/lib/composables/theme/setting.mjs.map +1 -1
  159. package/lib/composables/theme/types.mjs.map +1 -1
  160. package/lib/composables/timing.mjs.map +1 -1
  161. package/lib/composables/transition.mjs.map +1 -1
  162. package/lib/composables/validation.mjs.map +1 -1
  163. package/lib/composables/vue-router.mjs.map +1 -1
  164. package/lib/directives/plate-wave/index.mjs +2 -2
  165. package/lib/directives/plate-wave/index.mjs.map +1 -1
  166. package/lib/etc/index.mjs.map +1 -1
  167. package/lib/i18n/built-in.mjs.map +1 -1
  168. package/lib/i18n/config.mjs.map +1 -1
  169. package/lib/i18n/types.mjs.map +1 -1
  170. package/lib/index.mjs.map +1 -1
  171. package/lib/locales/en.mjs.map +1 -1
  172. package/lib/locales/index.mjs.map +1 -1
  173. package/lib/locales/ko.mjs.map +1 -1
  174. package/lib/styles/_elevation.scss +16 -16
  175. package/lib/styles/_palette.scss +1 -1
  176. package/lib/styles/base.scss +130 -130
  177. package/lib/styles/settings/_elevation.scss +20 -20
  178. package/lib/styles/settings/_variables.scss +14 -14
  179. package/lib/styles/theme/dark.scss +11 -11
  180. package/lib/styles/theme/light.scss +11 -11
  181. package/lib/styles/util/_mixin.scss +33 -33
  182. package/lib/styles/util/_var.scss +18 -18
  183. package/lib/util/anchor.mjs.map +1 -1
  184. package/lib/util/collection.mjs.map +1 -1
  185. package/lib/util/color/const.mjs.map +1 -1
  186. package/lib/util/color/index.mjs +12 -12
  187. package/lib/util/color/index.mjs.map +1 -1
  188. package/lib/util/color/types.mjs.map +1 -1
  189. package/lib/util/color/utils/math-utils.mjs +62 -62
  190. package/lib/util/color/utils/math-utils.mjs.map +1 -1
  191. package/lib/util/component/component.mjs.map +1 -1
  192. package/lib/util/component/index.mjs.map +1 -1
  193. package/lib/util/component/inject-self.mjs.map +1 -1
  194. package/lib/util/component/props.mjs.map +1 -1
  195. package/lib/util/component/types.mjs.map +1 -1
  196. package/lib/util/date/index.mjs.map +1 -1
  197. package/lib/util/date/types.mjs.map +1 -1
  198. package/lib/util/debounce.mjs.map +1 -1
  199. package/lib/util/environments.mjs.map +1 -1
  200. package/lib/util/index.mjs.map +1 -1
  201. package/lib/util/parser.mjs +31 -0
  202. package/lib/util/parser.mjs.map +1 -0
  203. package/lib/util/reactivity.mjs +3 -3
  204. package/lib/util/reactivity.mjs.map +1 -1
  205. package/lib/util/rect.mjs.map +1 -1
  206. package/lib/util/validation.mjs.map +1 -1
  207. package/lib/util/vue-component/index.mjs +63 -0
  208. package/lib/util/vue-component/index.mjs.map +1 -0
  209. package/lib/util/vue-component/props.mjs +37 -0
  210. package/lib/util/vue-component/props.mjs.map +1 -0
  211. package/lib/util/vue-component/types.mjs +2 -0
  212. package/lib/util/vue-component/types.mjs.map +1 -0
  213. package/lib/util/vue-component.mjs +102 -0
  214. package/lib/util/vue-component.mjs.map +1 -0
  215. package/package.json +120 -120
  216. package/types/components/select/YSelect.d.ts +7062 -0
  217. package/types/components/table/pagination.d.ts +78 -0
  218. package/types/components/tooltip/YTooltip.d.ts +3711 -0
  219. package/types/globals.d.ts +20 -20
  220. package/types/shims.d.ts +55 -55
  221. package/types/util/color/hct/hct_solver.d.ts +146 -0
  222. package/types/util/color/hct/viewing_conditions.d.ts +74 -0
  223. package/types/util/color/palettes/tonal_palette.d.ts +55 -0
  224. package/types/util/color/utils/math_utils.d.ts +82 -0
  225. package/types/util/parser.d.ts +4 -0
  226. package/types/util/vue-component/index.d.ts +10 -0
  227. package/types/util/vue-component/props.d.ts +31 -0
  228. package/types/util/vue-component/types.d.ts +4 -0
  229. package/types/util/vue-component.d.ts +39 -0
  230. /package/types/util/{rect.d.ts → Rect.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"YIconPageControl.mjs","names":["defineComponent","PageControlPaths","next","prev","last","first","YIconPageControl","name","props","type","String","default","render","_createVNode","$props"],"sources":["../../../src/components/icons/YIconPageControl.tsx"],"sourcesContent":["import { type PropType } from 'vue';\n\nimport { defineComponent } from '@/util/component';\n\nexport const PageControlPaths = {\n next: 'm12.18 23.585 7.6399-7.5489-7.4693-7.622',\n prev: 'm19.82 23.585-7.6399-7.5489 7.4693-7.622',\n last: 'm10.488 23.812 7.4981-7.7457-7.3307-7.8207m0 0zm10.856-0.075007v15.659',\n first:\n 'm21.512 23.812-7.4981-7.7457 7.3307-7.8207m0 0zm-10.856-0.075007v15.659',\n};\n\nexport const YIconPageControl = defineComponent({\n name: 'YIconPageControl',\n props: {\n type: {\n type: String as PropType<'next' | 'prev' | 'first' | 'last'>,\n default: 'next',\n },\n },\n render() {\n return (\n <svg version=\"1.1\" viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d={\n this.$props.type in PageControlPaths\n ? PageControlPaths[this.$props.type]\n : PageControlPaths.next\n }\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"3\"\n />\n </svg>\n );\n },\n});\n"],"mappings":";SAESA,eAAe;AAExB,OAAO,MAAMC,gBAAgB,GAAG;EAC9BC,IAAI,EAAE,0CAA0C;EAChDC,IAAI,EAAE,0CAA0C;EAChDC,IAAI,EAAE,wEAAwE;EAC9EC,KAAK,EACH;AACJ,CAAC;AAED,OAAO,MAAMC,gBAAgB,GAAGN,eAAe,CAAC;EAC9CO,IAAI,EAAE,kBAAkB;EACxBC,KAAK,EAAE;IACLC,IAAI,EAAE;MACJA,IAAI,EAAEC,MAAsD;MAC5DC,OAAO,EAAE;IACX;EACF,CAAC;EACDC,MAAMA,CAAA,EAAG;IACP,OAAAC,YAAA;MAAA;MAAA;MAAA;IAAA,IAAAA,YAAA;MAAA,KAIQ,IAAI,CAACC,MAAM,CAACL,IAAI,IAAIR,gBAAgB,GAChCA,gBAAgB,CAAC,IAAI,CAACa,MAAM,CAACL,IAAI,CAAC,GAClCR,gBAAgB,CAACC,IAAI;MAAA;MAAA;MAAA;MAAA;MAAA;IAAA;EAUnC;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"YIconPageControl.mjs","names":["defineComponent","PageControlPaths","next","prev","last","first","YIconPageControl","name","props","type","String","default","render","_createVNode","$props"],"sources":["../../../src/components/icons/YIconPageControl.tsx"],"sourcesContent":["import { type PropType } from 'vue';\r\n\r\nimport { defineComponent } from '@/util/component';\r\n\r\nexport const PageControlPaths = {\r\n next: 'm12.18 23.585 7.6399-7.5489-7.4693-7.622',\r\n prev: 'm19.82 23.585-7.6399-7.5489 7.4693-7.622',\r\n last: 'm10.488 23.812 7.4981-7.7457-7.3307-7.8207m0 0zm10.856-0.075007v15.659',\r\n first:\r\n 'm21.512 23.812-7.4981-7.7457 7.3307-7.8207m0 0zm-10.856-0.075007v15.659',\r\n};\r\n\r\nexport const YIconPageControl = defineComponent({\r\n name: 'YIconPageControl',\r\n props: {\r\n type: {\r\n type: String as PropType<'next' | 'prev' | 'first' | 'last'>,\r\n default: 'next',\r\n },\r\n },\r\n render() {\r\n return (\r\n <svg version=\"1.1\" viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d={\r\n this.$props.type in PageControlPaths\r\n ? PageControlPaths[this.$props.type]\r\n : PageControlPaths.next\r\n }\r\n fill=\"none\"\r\n stroke=\"currentColor\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"3\"\r\n />\r\n </svg>\r\n );\r\n },\r\n});\r\n"],"mappings":";SAESA,eAAe;AAExB,OAAO,MAAMC,gBAAgB,GAAG;EAC9BC,IAAI,EAAE,0CAA0C;EAChDC,IAAI,EAAE,0CAA0C;EAChDC,IAAI,EAAE,wEAAwE;EAC9EC,KAAK,EACH;AACJ,CAAC;AAED,OAAO,MAAMC,gBAAgB,GAAGN,eAAe,CAAC;EAC9CO,IAAI,EAAE,kBAAkB;EACxBC,KAAK,EAAE;IACLC,IAAI,EAAE;MACJA,IAAI,EAAEC,MAAsD;MAC5DC,OAAO,EAAE;IACX;EACF,CAAC;EACDC,MAAMA,CAAA,EAAG;IACP,OAAAC,YAAA;MAAA;MAAA;MAAA;IAAA,IAAAA,YAAA;MAAA,KAIQ,IAAI,CAACC,MAAM,CAACL,IAAI,IAAIR,gBAAgB,GAChCA,gBAAgB,CAAC,IAAI,CAACa,MAAM,CAACL,IAAI,CAAC,GAClCR,gBAAgB,CAACC,IAAI;MAAA;MAAA;MAAA;MAAA;MAAA;IAAA;EAUnC;AACF,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"YIconSort.mjs","names":["defineComponent","YIconSort","name","props","direction","type","String","disabled","Boolean","render","_createVNode"],"sources":["../../../src/components/icons/YIconSort.tsx"],"sourcesContent":["import { type PropType } from 'vue';\n\nimport { defineComponent } from '@/util/component';\n\nimport './YIconSort.scss';\n\nexport const YIconSort = defineComponent({\n name: 'YIconSort',\n props: {\n direction: {\n type: String as PropType<'asc' | 'desc'>,\n },\n disabled: {\n type: Boolean,\n },\n },\n render() {\n return (\n <svg\n version=\"1.1\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 32 32\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class={[\n 'y-icon-sort',\n {\n 'y-icon-sort--disabled': this.disabled,\n 'y-icon-sort--asc': this.direction === 'asc',\n 'y-icon-sort--desc': this.direction === 'desc',\n },\n ]}\n >\n <path\n d=\"m8.4146 12.52 7.5489-7.6399 7.622 7.4693\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"3\"\n class=\"y-icon-sort__asc\"\n />\n <path\n d=\"m8.4146 19.48 7.5489 7.6399 7.622-7.4693\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"3\"\n class=\"y-icon-sort__desc\"\n />\n </svg>\n );\n },\n});\n"],"mappings":";SAESA,eAAe;AAExB;AAEA,OAAO,MAAMC,SAAS,GAAGD,eAAe,CAAC;EACvCE,IAAI,EAAE,WAAW;EACjBC,KAAK,EAAE;IACLC,SAAS,EAAE;MACTC,IAAI,EAAEC;IACR,CAAC;IACDC,QAAQ,EAAE;MACRF,IAAI,EAAEG;IACR;EACF,CAAC;EACDC,MAAMA,CAAA,EAAG;IACP,OAAAC,YAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA,SAOW,CACL,aAAa,EACb;QACE,uBAAuB,EAAE,IAAI,CAACH,QAAQ;QACtC,kBAAkB,EAAE,IAAI,CAACH,SAAS,KAAK,KAAK;QAC5C,mBAAmB,EAAE,IAAI,CAACA,SAAS,KAAK;MAC1C,CAAC;IACF,IAAAM,YAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;IAAA,UAAAA,YAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;IAAA;EAsBP;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"YIconSort.mjs","names":["defineComponent","YIconSort","name","props","direction","type","String","disabled","Boolean","render","_createVNode"],"sources":["../../../src/components/icons/YIconSort.tsx"],"sourcesContent":["import { type PropType } from 'vue';\r\n\r\nimport { defineComponent } from '@/util/component';\r\n\r\nimport './YIconSort.scss';\r\n\r\nexport const YIconSort = defineComponent({\r\n name: 'YIconSort',\r\n props: {\r\n direction: {\r\n type: String as PropType<'asc' | 'desc'>,\r\n },\r\n disabled: {\r\n type: Boolean,\r\n },\r\n },\r\n render() {\r\n return (\r\n <svg\r\n version=\"1.1\"\r\n width=\"16\"\r\n height=\"16\"\r\n viewBox=\"0 0 32 32\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n class={[\r\n 'y-icon-sort',\r\n {\r\n 'y-icon-sort--disabled': this.disabled,\r\n 'y-icon-sort--asc': this.direction === 'asc',\r\n 'y-icon-sort--desc': this.direction === 'desc',\r\n },\r\n ]}\r\n >\r\n <path\r\n d=\"m8.4146 12.52 7.5489-7.6399 7.622 7.4693\"\r\n fill=\"none\"\r\n stroke=\"currentColor\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"3\"\r\n class=\"y-icon-sort__asc\"\r\n />\r\n <path\r\n d=\"m8.4146 19.48 7.5489 7.6399 7.622-7.4693\"\r\n fill=\"none\"\r\n stroke=\"currentColor\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n stroke-width=\"3\"\r\n class=\"y-icon-sort__desc\"\r\n />\r\n </svg>\r\n );\r\n },\r\n});\r\n"],"mappings":";SAESA,eAAe;AAExB;AAEA,OAAO,MAAMC,SAAS,GAAGD,eAAe,CAAC;EACvCE,IAAI,EAAE,WAAW;EACjBC,KAAK,EAAE;IACLC,SAAS,EAAE;MACTC,IAAI,EAAEC;IACR,CAAC;IACDC,QAAQ,EAAE;MACRF,IAAI,EAAEG;IACR;EACF,CAAC;EACDC,MAAMA,CAAA,EAAG;IACP,OAAAC,YAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA,SAOW,CACL,aAAa,EACb;QACE,uBAAuB,EAAE,IAAI,CAACH,QAAQ;QACtC,kBAAkB,EAAE,IAAI,CAACH,SAAS,KAAK,KAAK;QAC5C,mBAAmB,EAAE,IAAI,CAACA,SAAS,KAAK;MAC1C,CAAC;IACF,IAAAM,YAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;IAAA,UAAAA,YAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;IAAA;EAsBP;AACF,CAAC,CAAC"}
@@ -1,24 +1,24 @@
1
- .y-icon-sort {
2
- &__asc,
3
- &__desc {
4
- opacity: 0.24;
5
- }
6
-
7
- &--asc & {
8
- &__desc {
9
- opacity: 0.1;
10
- }
11
- &__asc {
12
- opacity: 0.8;
13
- }
14
- }
15
-
16
- &--desc & {
17
- &__asc {
18
- opacity: 0.1;
19
- }
20
- &__desc {
21
- opacity: 0.8;
22
- }
23
- }
24
- }
1
+ .y-icon-sort {
2
+ &__asc,
3
+ &__desc {
4
+ opacity: 0.24;
5
+ }
6
+
7
+ &--asc & {
8
+ &__desc {
9
+ opacity: 0.1;
10
+ }
11
+ &__asc {
12
+ opacity: 0.8;
13
+ }
14
+ }
15
+
16
+ &--desc & {
17
+ &__asc {
18
+ opacity: 0.1;
19
+ }
20
+ &__desc {
21
+ opacity: 0.8;
22
+ }
23
+ }
24
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["YIconCheckbox","YIconClear","YIconDropdown","YIconExpand","YIconPageControl","YIconSort","builtSet","expand","dropdown","clear","checkbox","pageControl","next","component","props","type","prev","sort"],"sources":["../../../src/components/icons/index.ts"],"sourcesContent":["import { YIconCheckbox } from './YIconCheckbox';\nimport { YIconClear } from './YIconClear';\nimport { YIconDropdown } from './YIconDropdown';\nimport { YIconExpand } from './YIconExpand';\nimport { YIconPageControl } from './YIconPageControl';\nimport { YIconSort } from './YIconSort';\n\nexport * from './YIconExpand';\nexport * from './YIconClear';\nexport * from './YIconCheckbox';\nexport * from './YIconPageControl';\nexport * from './YIconSort';\n\nexport const builtSet = {\n expand: YIconExpand,\n dropdown: YIconDropdown,\n clear: YIconClear,\n checkbox: YIconCheckbox,\n pageControl: YIconPageControl,\n next: {\n component: YIconPageControl,\n props: {\n type: 'next',\n },\n },\n prev: {\n component: YIconPageControl,\n props: {\n type: 'prev',\n },\n },\n sort: YIconSort,\n};\n"],"mappings":"SAASA,aAAa;AAAA,SACbC,UAAU;AAAA,SACVC,aAAa;AAAA,SACbC,WAAW;AAAA,SACXC,gBAAgB;AAAA,SAChBC,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAQlB,OAAO,MAAMC,QAAQ,GAAG;EACtBC,MAAM,EAAEJ,WAAW;EACnBK,QAAQ,EAAEN,aAAa;EACvBO,KAAK,EAAER,UAAU;EACjBS,QAAQ,EAAEV,aAAa;EACvBW,WAAW,EAAEP,gBAAgB;EAC7BQ,IAAI,EAAE;IACJC,SAAS,EAAET,gBAAgB;IAC3BU,KAAK,EAAE;MACLC,IAAI,EAAE;IACR;EACF,CAAC;EACDC,IAAI,EAAE;IACJH,SAAS,EAAET,gBAAgB;IAC3BU,KAAK,EAAE;MACLC,IAAI,EAAE;IACR;EACF,CAAC;EACDE,IAAI,EAAEZ;AACR,CAAC"}
1
+ {"version":3,"file":"index.mjs","names":["YIconCheckbox","YIconClear","YIconDropdown","YIconExpand","YIconPageControl","YIconSort","builtSet","expand","dropdown","clear","checkbox","pageControl","next","component","props","type","prev","sort"],"sources":["../../../src/components/icons/index.ts"],"sourcesContent":["import { YIconCheckbox } from './YIconCheckbox';\r\nimport { YIconClear } from './YIconClear';\r\nimport { YIconDropdown } from './YIconDropdown';\r\nimport { YIconExpand } from './YIconExpand';\r\nimport { YIconPageControl } from './YIconPageControl';\r\nimport { YIconSort } from './YIconSort';\r\n\r\nexport * from './YIconExpand';\r\nexport * from './YIconClear';\r\nexport * from './YIconCheckbox';\r\nexport * from './YIconPageControl';\r\nexport * from './YIconSort';\r\n\r\nexport const builtSet = {\r\n expand: YIconExpand,\r\n dropdown: YIconDropdown,\r\n clear: YIconClear,\r\n checkbox: YIconCheckbox,\r\n pageControl: YIconPageControl,\r\n next: {\r\n component: YIconPageControl,\r\n props: {\r\n type: 'next',\r\n },\r\n },\r\n prev: {\r\n component: YIconPageControl,\r\n props: {\r\n type: 'prev',\r\n },\r\n },\r\n sort: YIconSort,\r\n};\r\n"],"mappings":"SAASA,aAAa;AAAA,SACbC,UAAU;AAAA,SACVC,aAAa;AAAA,SACbC,WAAW;AAAA,SACXC,gBAAgB;AAAA,SAChBC,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAQlB,OAAO,MAAMC,QAAQ,GAAG;EACtBC,MAAM,EAAEJ,WAAW;EACnBK,QAAQ,EAAEN,aAAa;EACvBO,KAAK,EAAER,UAAU;EACjBS,QAAQ,EAAEV,aAAa;EACvBW,WAAW,EAAEP,gBAAgB;EAC7BQ,IAAI,EAAE;IACJC,SAAS,EAAET,gBAAgB;IAC3BU,KAAK,EAAE;MACLC,IAAI,EAAE;IACR;EACF,CAAC;EACDC,IAAI,EAAE;IACJH,SAAS,EAAET,gBAAgB;IAC3BU,KAAK,EAAE;MACLC,IAAI,EAAE;IACR;EACF,CAAC;EACDE,IAAI,EAAEZ;AACR,CAAC"}
@@ -118,10 +118,10 @@ export const YImg = defineComponent({
118
118
  };
119
119
  let requestTimer = -1;
120
120
 
121
- /**
122
- *
123
- * @param imgEl
124
- * @param timeout null: once
121
+ /**
122
+ *
123
+ * @param imgEl
124
+ * @param timeout null: once
125
125
  */
126
126
  function requestInspectImage(imgEl) {
127
127
  let timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100;
@@ -1 +1 @@
1
- {"version":3,"file":"YImg.mjs","names":["computed","getCurrentInstance","nextTick","onBeforeMount","onBeforeUnmount","ref","shallowRef","vShow","watch","withDirectives","useRender","pressDimensionPropsOptions","PolyTransition","pressPolyTransitionPropsOptions","usePolyTransition","propsFactory","defineComponent","Environments","pressYImgPropsOptions","src","String","crossorigin","referrerpolicy","transition","objectFit","type","default","eager","Boolean","YImg","name","props","slots","Object","emits","setup","_ref","attrs","emit","vm","image$","status","imgSrc","naturalWidth","naturalHeight","polyTransitionBindProps","srcMeta","imgClasses","getImgSrc","imgEl","value","currentSrc","inspectImage","complete","endsWith","startsWith","initIntersect","_Placeholder","placeholder","_createVNode","_mergeProps","onLoad","isUnmounted","onError","event","_Image","Img","draggable","alt","requestTimer","requestInspectImage","timeout","arguments","length","undefined","_request","clearTimeout","window","setTimeout","isIntersection","canUseIntersectionObserver"],"sources":["../../../src/components/img/YImg.tsx"],"sourcesContent":["import {\n type CSSProperties,\n type ImgHTMLAttributes,\n type PropType,\n type SlotsType,\n computed,\n getCurrentInstance,\n nextTick,\n onBeforeMount,\n onBeforeUnmount,\n ref,\n shallowRef,\n vShow,\n watch,\n withDirectives,\n} from 'vue';\n\nimport { useRender } from '@/composables/component';\nimport { pressDimensionPropsOptions } from '@/composables/dimension';\nimport {\n PolyTransition,\n pressPolyTransitionPropsOptions,\n usePolyTransition,\n} from '@/composables/transition';\nimport { propsFactory, defineComponent } from '@/util/component';\nimport Environments from '@/util/environments';\n\nimport './YImg.scss';\n\nexport const pressYImgPropsOptions = propsFactory(\n {\n src: String as PropType<string>,\n crossorigin: String as PropType<ImgHTMLAttributes['crossorigin']>,\n referrerpolicy: String as PropType<ImgHTMLAttributes['referrerpolicy']>,\n ...pressPolyTransitionPropsOptions({\n transition: 'fade',\n }),\n objectFit: {\n type: String as PropType<\n Extract<\n CSSProperties['objectFit'],\n 'contain' | 'cover' | 'fill' | 'scale-down'\n >\n >,\n default: 'contain',\n },\n eager: Boolean,\n ...pressDimensionPropsOptions(),\n },\n 'YImg',\n);\n\nexport type YImgStatus = 'idle' | 'loading' | 'loaded' | 'error';\n\nexport const YImg = defineComponent({\n name: 'YImg',\n props: {\n ...pressYImgPropsOptions(),\n },\n slots: Object as SlotsType<{\n placeholder: any;\n }>,\n emits: ['load', 'loaded', 'error'],\n setup(props, { slots, attrs, emit }) {\n const vm = getCurrentInstance()!;\n const image$ = ref<HTMLImageElement>();\n const status = shallowRef<YImgStatus>(props.eager ? 'loading' : 'idle');\n const imgSrc = shallowRef('');\n const naturalWidth = shallowRef<number>();\n const naturalHeight = shallowRef<number>();\n const { polyTransitionBindProps } = usePolyTransition(props);\n\n const srcMeta = computed(() => {\n const src = props.src;\n\n return {\n src,\n };\n });\n\n const imgClasses = computed(() => {\n return {\n 'y-img--cover': props.objectFit === 'cover',\n 'y-img--contain': props.objectFit === 'contain',\n 'y-img--fill': props.objectFit === 'fill',\n 'y-img--scale-down': props.objectFit === 'scale-down',\n };\n });\n\n function getImgSrc() {\n const imgEl = image$.value;\n if (imgEl) {\n imgSrc.value = imgEl.currentSrc || imgEl.src;\n }\n }\n\n function inspectImage(imgEl: HTMLImageElement) {\n if (imgEl.naturalWidth || imgEl.naturalHeight) {\n naturalWidth.value = imgEl.naturalWidth;\n naturalHeight.value = imgEl.naturalHeight;\n } else if (!imgEl.complete && status.value === 'loading') {\n return false;\n } else if (\n imgEl.currentSrc.endsWith('.svg') ||\n imgEl.currentSrc.startsWith('data:image/svg+xml')\n ) {\n naturalWidth.value = 1;\n naturalHeight.value = 1;\n }\n\n return true;\n }\n\n watch(\n () => props.src,\n () => {\n initIntersect();\n },\n );\n\n const _Placeholder = () => {\n if (!slots.placeholder) return null;\n return (\n <PolyTransition {...polyTransitionBindProps.value} appear>\n {(status.value === 'idle' || status.value === 'error') && (\n <div class=\"y-img__placeholder\">\n {slots.placeholder?.({ status: status.value })}\n </div>\n )}\n </PolyTransition>\n );\n };\n\n function onLoad() {\n if (vm.isUnmounted) return;\n status.value = 'loaded';\n }\n\n function onError(event?: Event) {\n if (vm.isUnmounted) return;\n status.value = 'error';\n emit('error', event);\n }\n\n const _Image = () => {\n const Img = (\n <img\n ref={image$}\n src={srcMeta.value.src}\n crossorigin={props.crossorigin}\n referrerpolicy={props.referrerpolicy}\n draggable={(attrs as ImgHTMLAttributes).draggable}\n alt={(attrs as ImgHTMLAttributes).alt}\n class={['y-img__img', imgClasses.value]}\n onLoad={onLoad}\n onError={onError}\n />\n );\n\n return (\n <PolyTransition {...polyTransitionBindProps.value} appear>\n {withDirectives(Img, [[vShow, status.value === 'loaded']])}\n </PolyTransition>\n );\n };\n\n let requestTimer = -1;\n\n /**\n *\n * @param imgEl\n * @param timeout null: once\n */\n function requestInspectImage(\n imgEl: HTMLImageElement,\n timeout: number | null = 100,\n ) {\n const _request = () => {\n clearTimeout(requestTimer);\n if (vm.isUnmounted) return;\n if (!inspectImage(imgEl) && timeout != null) {\n requestTimer = window.setTimeout(_request, timeout);\n }\n };\n\n _request();\n }\n\n function initIntersect(isIntersection?: boolean) {\n if (props.eager && isIntersection) return;\n if (\n Environments.canUseIntersectionObserver &&\n !isIntersection &&\n !props.eager\n )\n return;\n\n status.value = 'loading';\n\n if (!srcMeta.value.src) return;\n nextTick(() => {\n emit('load', image$.value?.currentSrc || srcMeta.value.src);\n setTimeout(() => {\n if (vm.isUnmounted) return;\n if (image$.value?.complete) {\n if (!image$.value?.naturalWidth) {\n onError();\n }\n if (status.value === 'error') return;\n requestInspectImage(image$.value, null);\n if (status.value === 'loading') onLoad();\n } else if (image$.value) {\n requestInspectImage(image$.value);\n getImgSrc();\n }\n });\n });\n }\n\n onBeforeMount(() => {\n initIntersect();\n });\n\n onBeforeUnmount(() => {\n clearTimeout(requestTimer);\n });\n\n useRender(() => {\n return (\n <div class={['y-img']}>\n <_Placeholder />\n <_Image />\n </div>\n );\n });\n },\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"YImg.mjs","names":["computed","getCurrentInstance","nextTick","onBeforeMount","onBeforeUnmount","ref","shallowRef","vShow","watch","withDirectives","useRender","pressDimensionPropsOptions","PolyTransition","pressPolyTransitionPropsOptions","usePolyTransition","propsFactory","defineComponent","Environments","pressYImgPropsOptions","src","String","crossorigin","referrerpolicy","transition","objectFit","type","default","eager","Boolean","YImg","name","props","slots","Object","emits","setup","_ref","attrs","emit","vm","image$","status","imgSrc","naturalWidth","naturalHeight","polyTransitionBindProps","srcMeta","imgClasses","getImgSrc","imgEl","value","currentSrc","inspectImage","complete","endsWith","startsWith","initIntersect","_Placeholder","placeholder","_createVNode","_mergeProps","onLoad","isUnmounted","onError","event","_Image","Img","draggable","alt","requestTimer","requestInspectImage","timeout","arguments","length","undefined","_request","clearTimeout","window","setTimeout","isIntersection","canUseIntersectionObserver"],"sources":["../../../src/components/img/YImg.tsx"],"sourcesContent":["import {\r\n type CSSProperties,\r\n type ImgHTMLAttributes,\r\n type PropType,\r\n type SlotsType,\r\n computed,\r\n getCurrentInstance,\r\n nextTick,\r\n onBeforeMount,\r\n onBeforeUnmount,\r\n ref,\r\n shallowRef,\r\n vShow,\r\n watch,\r\n withDirectives,\r\n} from 'vue';\r\n\r\nimport { useRender } from '@/composables/component';\r\nimport { pressDimensionPropsOptions } from '@/composables/dimension';\r\nimport {\r\n PolyTransition,\r\n pressPolyTransitionPropsOptions,\r\n usePolyTransition,\r\n} from '@/composables/transition';\r\nimport { propsFactory, defineComponent } from '@/util/component';\r\nimport Environments from '@/util/environments';\r\n\r\nimport './YImg.scss';\r\n\r\nexport const pressYImgPropsOptions = propsFactory(\r\n {\r\n src: String as PropType<string>,\r\n crossorigin: String as PropType<ImgHTMLAttributes['crossorigin']>,\r\n referrerpolicy: String as PropType<ImgHTMLAttributes['referrerpolicy']>,\r\n ...pressPolyTransitionPropsOptions({\r\n transition: 'fade',\r\n }),\r\n objectFit: {\r\n type: String as PropType<\r\n Extract<\r\n CSSProperties['objectFit'],\r\n 'contain' | 'cover' | 'fill' | 'scale-down'\r\n >\r\n >,\r\n default: 'contain',\r\n },\r\n eager: Boolean,\r\n ...pressDimensionPropsOptions(),\r\n },\r\n 'YImg',\r\n);\r\n\r\nexport type YImgStatus = 'idle' | 'loading' | 'loaded' | 'error';\r\n\r\nexport const YImg = defineComponent({\r\n name: 'YImg',\r\n props: {\r\n ...pressYImgPropsOptions(),\r\n },\r\n slots: Object as SlotsType<{\r\n placeholder: any;\r\n }>,\r\n emits: ['load', 'loaded', 'error'],\r\n setup(props, { slots, attrs, emit }) {\r\n const vm = getCurrentInstance()!;\r\n const image$ = ref<HTMLImageElement>();\r\n const status = shallowRef<YImgStatus>(props.eager ? 'loading' : 'idle');\r\n const imgSrc = shallowRef('');\r\n const naturalWidth = shallowRef<number>();\r\n const naturalHeight = shallowRef<number>();\r\n const { polyTransitionBindProps } = usePolyTransition(props);\r\n\r\n const srcMeta = computed(() => {\r\n const src = props.src;\r\n\r\n return {\r\n src,\r\n };\r\n });\r\n\r\n const imgClasses = computed(() => {\r\n return {\r\n 'y-img--cover': props.objectFit === 'cover',\r\n 'y-img--contain': props.objectFit === 'contain',\r\n 'y-img--fill': props.objectFit === 'fill',\r\n 'y-img--scale-down': props.objectFit === 'scale-down',\r\n };\r\n });\r\n\r\n function getImgSrc() {\r\n const imgEl = image$.value;\r\n if (imgEl) {\r\n imgSrc.value = imgEl.currentSrc || imgEl.src;\r\n }\r\n }\r\n\r\n function inspectImage(imgEl: HTMLImageElement) {\r\n if (imgEl.naturalWidth || imgEl.naturalHeight) {\r\n naturalWidth.value = imgEl.naturalWidth;\r\n naturalHeight.value = imgEl.naturalHeight;\r\n } else if (!imgEl.complete && status.value === 'loading') {\r\n return false;\r\n } else if (\r\n imgEl.currentSrc.endsWith('.svg') ||\r\n imgEl.currentSrc.startsWith('data:image/svg+xml')\r\n ) {\r\n naturalWidth.value = 1;\r\n naturalHeight.value = 1;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n watch(\r\n () => props.src,\r\n () => {\r\n initIntersect();\r\n },\r\n );\r\n\r\n const _Placeholder = () => {\r\n if (!slots.placeholder) return null;\r\n return (\r\n <PolyTransition {...polyTransitionBindProps.value} appear>\r\n {(status.value === 'idle' || status.value === 'error') && (\r\n <div class=\"y-img__placeholder\">\r\n {slots.placeholder?.({ status: status.value })}\r\n </div>\r\n )}\r\n </PolyTransition>\r\n );\r\n };\r\n\r\n function onLoad() {\r\n if (vm.isUnmounted) return;\r\n status.value = 'loaded';\r\n }\r\n\r\n function onError(event?: Event) {\r\n if (vm.isUnmounted) return;\r\n status.value = 'error';\r\n emit('error', event);\r\n }\r\n\r\n const _Image = () => {\r\n const Img = (\r\n <img\r\n ref={image$}\r\n src={srcMeta.value.src}\r\n crossorigin={props.crossorigin}\r\n referrerpolicy={props.referrerpolicy}\r\n draggable={(attrs as ImgHTMLAttributes).draggable}\r\n alt={(attrs as ImgHTMLAttributes).alt}\r\n class={['y-img__img', imgClasses.value]}\r\n onLoad={onLoad}\r\n onError={onError}\r\n />\r\n );\r\n\r\n return (\r\n <PolyTransition {...polyTransitionBindProps.value} appear>\r\n {withDirectives(Img, [[vShow, status.value === 'loaded']])}\r\n </PolyTransition>\r\n );\r\n };\r\n\r\n let requestTimer = -1;\r\n\r\n /**\r\n *\r\n * @param imgEl\r\n * @param timeout null: once\r\n */\r\n function requestInspectImage(\r\n imgEl: HTMLImageElement,\r\n timeout: number | null = 100,\r\n ) {\r\n const _request = () => {\r\n clearTimeout(requestTimer);\r\n if (vm.isUnmounted) return;\r\n if (!inspectImage(imgEl) && timeout != null) {\r\n requestTimer = window.setTimeout(_request, timeout);\r\n }\r\n };\r\n\r\n _request();\r\n }\r\n\r\n function initIntersect(isIntersection?: boolean) {\r\n if (props.eager && isIntersection) return;\r\n if (\r\n Environments.canUseIntersectionObserver &&\r\n !isIntersection &&\r\n !props.eager\r\n )\r\n return;\r\n\r\n status.value = 'loading';\r\n\r\n if (!srcMeta.value.src) return;\r\n nextTick(() => {\r\n emit('load', image$.value?.currentSrc || srcMeta.value.src);\r\n setTimeout(() => {\r\n if (vm.isUnmounted) return;\r\n if (image$.value?.complete) {\r\n if (!image$.value?.naturalWidth) {\r\n onError();\r\n }\r\n if (status.value === 'error') return;\r\n requestInspectImage(image$.value, null);\r\n if (status.value === 'loading') onLoad();\r\n } else if (image$.value) {\r\n requestInspectImage(image$.value);\r\n getImgSrc();\r\n }\r\n });\r\n });\r\n }\r\n\r\n onBeforeMount(() => {\r\n initIntersect();\r\n });\r\n\r\n onBeforeUnmount(() => {\r\n clearTimeout(requestTimer);\r\n });\r\n\r\n useRender(() => {\r\n return (\r\n <div class={['y-img']}>\r\n <_Placeholder />\r\n <_Image />\r\n </div>\r\n );\r\n });\r\n },\r\n});\r\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../src/components/index.ts"],"sourcesContent":["export * from './app';\nexport * from './button';\nexport * from './input';\nexport * from './field-input';\nexport * from './textarea';\nexport * from './form';\nexport * from './progress-bar';\nexport * from './progress-ring';\nexport * from './card';\nexport * from './chip';\nexport * from './switch';\nexport * from './layer';\nexport * from './dialog';\nexport * from './snackbar';\nexport * from './tooltip';\nexport * from './transitions';\nexport * from './panel';\nexport * from './tree-view';\nexport * from './list';\nexport * from './icons';\nexport * from './table';\nexport * from './menu';\nexport * from './checkbox';\nexport * from './pagination';\nexport * from './loading';\nexport * from './dropdown';\nexport * from './select';\nexport * from './tab';\nexport * from './alert';\nexport * from './divider';\nexport * from './date-picker';\nexport * from './icon';\nexport * from './badge';\nexport * from './text-ellipsis';\nexport * from './ip-field';\nexport * from './hover';\nexport * from './text-interpolation';\nexport * from './text-highlighter';\n"],"mappings":""}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../src/components/index.ts"],"sourcesContent":["export * from './app';\r\nexport * from './button';\r\nexport * from './input';\r\nexport * from './field-input';\r\nexport * from './textarea';\r\nexport * from './form';\r\nexport * from './progress-bar';\r\nexport * from './progress-ring';\r\nexport * from './card';\r\nexport * from './chip';\r\nexport * from './switch';\r\nexport * from './layer';\r\nexport * from './dialog';\r\nexport * from './snackbar';\r\nexport * from './tooltip';\r\nexport * from './transitions';\r\nexport * from './panel';\r\nexport * from './tree-view';\r\nexport * from './list';\r\nexport * from './icons';\r\nexport * from './table';\r\nexport * from './menu';\r\nexport * from './checkbox';\r\nexport * from './pagination';\r\nexport * from './loading';\r\nexport * from './dropdown';\r\nexport * from './select';\r\nexport * from './tab';\r\nexport * from './alert';\r\nexport * from './divider';\r\nexport * from './date-picker';\r\nexport * from './icon';\r\nexport * from './badge';\r\nexport * from './text-ellipsis';\r\nexport * from './ip-field';\r\nexport * from './hover';\r\nexport * from './text-interpolation';\r\nexport * from './text-highlighter';\r\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"YInput.mjs","names":["computed","ref","shallowRef","watch","useRender","pressFocusPropsOptions","useFocus","pressThemePropsOptions","useLocalTheme","pressValidationPropsOptions","useValidation","defineComponent","getUid","propsFactory","toStyleSizeValue","NAME","pressYInputPropsOptions","name","String","width","type","Number","height","displayTag","default","label","modelValue","Array","Object","autoSelect","Boolean","floating","floated","placeholder","required","loading","variation","outlined","filled","ceramic","extended","YInput","props","emits","slots","setup","_ref","attrs","expose","emit","UID","themeClasses","focused","isFocused","focusedClasses","whenFocus","whenBlur","isDisabled","isReadonly","isLoading","invokeValidators","resetError","isError","isSuccess","errors","errorResult","stack$","display$","inValue","lazyValue","hasMouseDown","variations","split","map","value","trim","isFloatedLabel","classes","includes","displayStyles","neo","readonly","onClick","event","onMousedown","e","onMouseup","onKeydown","onFocus","onBlur","onClickLeading","onChange","createLabel","show","undefined","_createVNode","_Fragment","_createTextVNode","validate","prepend","leading","error","attrId","toString","trailing","helperText","append"],"sources":["../../../src/components/input/YInput.tsx"],"sourcesContent":["import {\n type PropType,\n type SlotsType,\n type VNode,\n computed,\n ref,\n shallowRef,\n watch,\n} from 'vue';\n\nimport { useRender } from '@/composables/component';\nimport { pressFocusPropsOptions, useFocus } from '@/composables/focus';\nimport { pressThemePropsOptions, useLocalTheme } from '@/composables/theme';\nimport {\n pressValidationPropsOptions,\n useValidation,\n} from '@/composables/validation';\nimport { defineComponent, getUid, propsFactory } from '@/util/component';\nimport { toStyleSizeValue } from '@/util/ui';\n\nimport './YInput.scss';\n\nconst NAME = 'y-input';\n\nexport const pressYInputPropsOptions = propsFactory(\n {\n name: String,\n width: {\n type: [String, Number] as PropType<string | number>,\n },\n height: [Number, String],\n displayTag: {\n type: String as PropType<string>,\n default: 'div',\n },\n label: String as PropType<string>,\n modelValue: { type: [String, Number, Array, Object] as PropType<any> },\n autoSelect: {\n type: Boolean as PropType<boolean>,\n default: true,\n },\n floating: { type: Boolean as PropType<boolean>, default: false },\n floated: { type: Boolean as PropType<boolean>, default: () => false },\n placeholder: String as PropType<string>,\n required: Boolean as PropType<boolean>,\n loading: Boolean as PropType<boolean>,\n // variations\n variation: String as PropType<string>,\n outlined: Boolean as PropType<boolean>,\n filled: Boolean as PropType<boolean>,\n ceramic: Boolean as PropType<boolean>,\n // validate\n ...pressValidationPropsOptions(),\n ...pressFocusPropsOptions(),\n extended: Object as PropType<any>,\n },\n 'YInput',\n);\n\nexport interface YInputDefaultSlotProps {\n value: any;\n loading: boolean;\n attrId: string;\n}\n\nexport const YInput = defineComponent({\n name: 'YInput',\n props: {\n ...pressThemePropsOptions(),\n ...pressYInputPropsOptions(),\n },\n emits: [\n 'error',\n 'click',\n 'mousedown',\n 'mouseup',\n 'focus',\n 'blur',\n 'mousedown:display',\n 'mouseup:display',\n 'keydown:display',\n 'click:leading',\n 'update:modelValue',\n 'update:focused',\n ],\n slots: Object as SlotsType<{\n prepend: any;\n append: any;\n label: any;\n default: YInputDefaultSlotProps;\n leading: { error: boolean };\n trailing: any;\n 'leading-out': any;\n 'trailing-out': any;\n 'helper-text': {\n error: boolean;\n errorResult: string | undefined;\n errors: any[];\n };\n }>,\n setup(props, { slots, attrs, expose, emit }) {\n const UID = getUid();\n const { themeClasses } = useLocalTheme(props);\n const {\n focused: isFocused,\n focusedClasses,\n whenFocus,\n whenBlur,\n } = useFocus(props, 'y-input');\n\n const {\n isDisabled,\n isReadonly,\n isLoading,\n invokeValidators,\n resetError,\n isError,\n isSuccess,\n errors,\n errorResult,\n } = useValidation(props, NAME, UID);\n\n const stack$ = ref();\n const display$ = ref();\n\n const inValue = ref();\n const lazyValue = ref();\n const hasMouseDown = shallowRef(false);\n\n const variations = computed(() => {\n if (props.variation) {\n return props.variation.split(',').map((value) => {\n return value.trim();\n });\n }\n return [];\n });\n\n const isFloatedLabel = computed(() => {\n return (\n props.floated ||\n !!props.placeholder ||\n (!props.placeholder && isFocused.value) ||\n !!inValue.value\n );\n });\n\n const classes = computed(() => {\n return {\n // Style\n [themeClasses.value as string]: true,\n 'y-input--ceramic': !!props.ceramic,\n 'y-input--outlined':\n !props.ceramic &&\n (variations.value.includes('outlined') || !!props.outlined),\n 'y-input--filled':\n variations.value.includes('filled') || !!props.filled,\n // Value\n 'y-input--loading': isLoading.value,\n 'y-input--has-value': !!inValue.value,\n 'y-input--focused': isFocused.value,\n 'y-input--readonly': isReadonly.value,\n 'y-input--disabled': isDisabled.value,\n 'y-input--error': isError.value,\n 'y-input--success': isSuccess.value,\n };\n });\n\n const displayStyles = computed<Record<string, any>>(() => {\n return {\n width: toStyleSizeValue(props.width),\n height: toStyleSizeValue(props.height),\n };\n });\n\n watch(\n () => props.modelValue,\n (neo) => {\n inValue.value = neo;\n },\n );\n\n watch(\n () => props.readonly,\n (neo) => {\n if (!neo) {\n inValue.value = props.modelValue;\n }\n },\n );\n\n watch(inValue, (neo) => {\n if (!isReadonly.value && !isLoading.value) {\n emit('update:modelValue', neo);\n }\n });\n\n watch(isError, (neo) => {\n emit('error', neo, errors.value);\n });\n\n watch(\n () => props.focused,\n (neo) => {\n if (!neo) {\n invokeValidators();\n }\n },\n );\n\n function onClick(event: MouseEvent) {\n emit('click', event);\n }\n\n function onMousedown(e: Event) {\n hasMouseDown.value = true;\n emit('mousedown:display', e);\n }\n\n function onMouseup(e: Event) {\n hasMouseDown.value = false;\n emit('mouseup:display', e);\n }\n\n function onKeydown(e: Event) {\n emit('keydown:display', e);\n }\n\n function onFocus(event: FocusEvent) {\n whenFocus();\n emit('focus', event);\n }\n\n function onBlur(event: FocusEvent) {\n whenBlur();\n invokeValidators();\n emit('blur', event);\n }\n\n function onClickLeading(event: MouseEvent) {\n emit('click:leading', event);\n }\n\n function onChange(event?: Event) {\n invokeValidators();\n }\n\n function createLabel(): VNode | undefined {\n const show = !!props.label || !!slots.label;\n if (!show) {\n return undefined;\n }\n return (\n <label\n class={[\n {\n [`${NAME}__label`]: true,\n 'y-input__floating-label': props.floating,\n 'y-input__floating-label--floated':\n props.floating && isFloatedLabel.value,\n },\n ]}\n for={`y-input--${UID}`}\n >\n {slots.label ? (\n slots.label()\n ) : props.label ? (\n <>\n {props.label}\n {props.required && (\n <span class={'y-input__required-mark'}>*</span>\n )}\n </>\n ) : (\n props.placeholder && !inValue.value && props.placeholder\n )}\n </label>\n );\n }\n\n expose({\n ...(props.extended ?? {}),\n createLabel,\n invokeValidators,\n validate: invokeValidators,\n resetError,\n });\n\n useRender(() => {\n return (\n <div class={[`${NAME}`, { ...classes.value }]}>\n {slots.prepend && (\n <div class={`${NAME}__prepend`}>{slots.prepend()}</div>\n )}\n <div ref={stack$} class={[`${NAME}__stack`]}>\n {!props.floating && createLabel()}\n {slots['leading-out'] && slots['leading-out']()}\n <div\n ref={display$}\n class={`${NAME}__display`}\n style={[{ ...displayStyles.value }]}\n data-base-parent={true}\n onClick={onClick}\n onMousedown={onMousedown}\n onMouseup={onMouseup}\n onKeydown={onKeydown}\n >\n <div class={`${NAME}__plate`}></div>\n {slots.leading && (\n <div class={'y-input__leading'} onClick={onClickLeading}>\n {slots.leading({ error: isError.value })}\n </div>\n )}\n {slots.default ? (\n slots.default({\n value: props.modelValue,\n loading: isLoading.value,\n attrId: `y-input--${UID}`,\n })\n ) : (\n <div\n class={`${NAME}__value`}\n data-id={`y-input--${UID}`}\n tabindex={0}\n onFocus={onFocus}\n onBlur={onBlur}\n >\n {props.floating && createLabel()}\n {props.modelValue?.toString()}\n </div>\n )}\n {slots.trailing?.()}\n </div>\n {slots['trailing-out'] && slots['trailing-out']()}\n <div class={`${NAME}__helper-text`}>\n {slots['helper-text'] ? (\n <span>\n {slots['helper-text']({\n error: isError.value,\n errors: errors.value,\n errorResult: errorResult.value,\n })}\n </span>\n ) : (\n props.helperText ?? errorResult.value\n )}\n </div>\n </div>\n {slots.append && (\n <div class={`${NAME}__append`}>{slots.append()}</div>\n )}\n </div>\n );\n });\n\n return {\n ...(props.extended ?? {}),\n themeClasses,\n isFocused,\n focusedClasses,\n whenFocus,\n whenBlur,\n createLabel,\n invokeValidators,\n };\n },\n});\n\nexport type YInput = InstanceType<typeof YInput>;\n"],"mappings":"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"}
1
+ {"version":3,"file":"YInput.mjs","names":["computed","ref","shallowRef","watch","useRender","pressFocusPropsOptions","useFocus","pressThemePropsOptions","useLocalTheme","pressValidationPropsOptions","useValidation","defineComponent","getUid","propsFactory","toStyleSizeValue","NAME","pressYInputPropsOptions","name","String","width","type","Number","height","displayTag","default","label","modelValue","Array","Object","autoSelect","Boolean","floating","floated","placeholder","required","loading","variation","outlined","filled","ceramic","extended","YInput","props","emits","slots","setup","_ref","attrs","expose","emit","UID","themeClasses","focused","isFocused","focusedClasses","whenFocus","whenBlur","isDisabled","isReadonly","isLoading","invokeValidators","resetError","isError","isSuccess","errors","errorResult","stack$","display$","inValue","lazyValue","hasMouseDown","variations","split","map","value","trim","isFloatedLabel","classes","includes","displayStyles","neo","readonly","onClick","event","onMousedown","e","onMouseup","onKeydown","onFocus","onBlur","onClickLeading","onChange","createLabel","show","undefined","_createVNode","_Fragment","_createTextVNode","validate","prepend","leading","error","attrId","toString","trailing","helperText","append"],"sources":["../../../src/components/input/YInput.tsx"],"sourcesContent":["import {\r\n type PropType,\r\n type SlotsType,\r\n type VNode,\r\n computed,\r\n ref,\r\n shallowRef,\r\n watch,\r\n} from 'vue';\r\n\r\nimport { useRender } from '@/composables/component';\r\nimport { pressFocusPropsOptions, useFocus } from '@/composables/focus';\r\nimport { pressThemePropsOptions, useLocalTheme } from '@/composables/theme';\r\nimport {\r\n pressValidationPropsOptions,\r\n useValidation,\r\n} from '@/composables/validation';\r\nimport { defineComponent, getUid, propsFactory } from '@/util/component';\r\nimport { toStyleSizeValue } from '@/util/ui';\r\n\r\nimport './YInput.scss';\r\n\r\nconst NAME = 'y-input';\r\n\r\nexport const pressYInputPropsOptions = propsFactory(\r\n {\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 label: String as PropType<string>,\r\n modelValue: { type: [String, Number, Array, Object] as PropType<any> },\r\n autoSelect: {\r\n type: Boolean as PropType<boolean>,\r\n default: true,\r\n },\r\n floating: { type: Boolean as PropType<boolean>, default: false },\r\n floated: { type: Boolean as PropType<boolean>, default: () => false },\r\n placeholder: String as PropType<string>,\r\n required: Boolean as PropType<boolean>,\r\n loading: Boolean as PropType<boolean>,\r\n // variations\r\n variation: String as PropType<string>,\r\n outlined: Boolean as PropType<boolean>,\r\n filled: Boolean as PropType<boolean>,\r\n ceramic: Boolean as PropType<boolean>,\r\n // validate\r\n ...pressValidationPropsOptions(),\r\n ...pressFocusPropsOptions(),\r\n extended: Object as PropType<any>,\r\n },\r\n 'YInput',\r\n);\r\n\r\nexport interface YInputDefaultSlotProps {\r\n value: any;\r\n loading: boolean;\r\n attrId: string;\r\n}\r\n\r\nexport const YInput = defineComponent({\r\n name: 'YInput',\r\n props: {\r\n ...pressThemePropsOptions(),\r\n ...pressYInputPropsOptions(),\r\n },\r\n emits: [\r\n 'error',\r\n 'click',\r\n 'mousedown',\r\n 'mouseup',\r\n 'focus',\r\n 'blur',\r\n 'mousedown:display',\r\n 'mouseup:display',\r\n 'keydown:display',\r\n 'click:leading',\r\n 'update:modelValue',\r\n 'update:focused',\r\n ],\r\n slots: Object as SlotsType<{\r\n prepend: any;\r\n append: any;\r\n label: any;\r\n default: YInputDefaultSlotProps;\r\n leading: { error: boolean };\r\n trailing: any;\r\n 'leading-out': any;\r\n 'trailing-out': any;\r\n 'helper-text': {\r\n error: boolean;\r\n errorResult: string | undefined;\r\n errors: any[];\r\n };\r\n }>,\r\n setup(props, { slots, attrs, expose, emit }) {\r\n const UID = getUid();\r\n const { themeClasses } = useLocalTheme(props);\r\n const {\r\n focused: isFocused,\r\n focusedClasses,\r\n whenFocus,\r\n whenBlur,\r\n } = useFocus(props, 'y-input');\r\n\r\n const {\r\n isDisabled,\r\n isReadonly,\r\n isLoading,\r\n invokeValidators,\r\n resetError,\r\n isError,\r\n isSuccess,\r\n errors,\r\n errorResult,\r\n } = useValidation(props, NAME, UID);\r\n\r\n const stack$ = ref();\r\n const display$ = ref();\r\n\r\n const inValue = ref();\r\n const lazyValue = ref();\r\n const hasMouseDown = shallowRef(false);\r\n\r\n const variations = computed(() => {\r\n if (props.variation) {\r\n return props.variation.split(',').map((value) => {\r\n return value.trim();\r\n });\r\n }\r\n return [];\r\n });\r\n\r\n const isFloatedLabel = computed(() => {\r\n return (\r\n props.floated ||\r\n !!props.placeholder ||\r\n (!props.placeholder && isFocused.value) ||\r\n !!inValue.value\r\n );\r\n });\r\n\r\n const classes = computed(() => {\r\n return {\r\n // Style\r\n [themeClasses.value as string]: true,\r\n 'y-input--ceramic': !!props.ceramic,\r\n 'y-input--outlined':\r\n !props.ceramic &&\r\n (variations.value.includes('outlined') || !!props.outlined),\r\n 'y-input--filled':\r\n variations.value.includes('filled') || !!props.filled,\r\n // Value\r\n 'y-input--loading': isLoading.value,\r\n 'y-input--has-value': !!inValue.value,\r\n 'y-input--focused': isFocused.value,\r\n 'y-input--readonly': isReadonly.value,\r\n 'y-input--disabled': isDisabled.value,\r\n 'y-input--error': isError.value,\r\n 'y-input--success': isSuccess.value,\r\n };\r\n });\r\n\r\n const displayStyles = computed<Record<string, any>>(() => {\r\n return {\r\n width: toStyleSizeValue(props.width),\r\n height: toStyleSizeValue(props.height),\r\n };\r\n });\r\n\r\n watch(\r\n () => props.modelValue,\r\n (neo) => {\r\n inValue.value = neo;\r\n },\r\n );\r\n\r\n watch(\r\n () => props.readonly,\r\n (neo) => {\r\n if (!neo) {\r\n inValue.value = props.modelValue;\r\n }\r\n },\r\n );\r\n\r\n watch(inValue, (neo) => {\r\n if (!isReadonly.value && !isLoading.value) {\r\n emit('update:modelValue', neo);\r\n }\r\n });\r\n\r\n watch(isError, (neo) => {\r\n emit('error', neo, errors.value);\r\n });\r\n\r\n watch(\r\n () => props.focused,\r\n (neo) => {\r\n if (!neo) {\r\n invokeValidators();\r\n }\r\n },\r\n );\r\n\r\n function onClick(event: MouseEvent) {\r\n emit('click', event);\r\n }\r\n\r\n function onMousedown(e: Event) {\r\n hasMouseDown.value = true;\r\n emit('mousedown:display', e);\r\n }\r\n\r\n function onMouseup(e: Event) {\r\n hasMouseDown.value = false;\r\n emit('mouseup:display', e);\r\n }\r\n\r\n function onKeydown(e: Event) {\r\n emit('keydown:display', e);\r\n }\r\n\r\n function onFocus(event: FocusEvent) {\r\n whenFocus();\r\n emit('focus', event);\r\n }\r\n\r\n function onBlur(event: FocusEvent) {\r\n whenBlur();\r\n invokeValidators();\r\n emit('blur', event);\r\n }\r\n\r\n function onClickLeading(event: MouseEvent) {\r\n emit('click:leading', event);\r\n }\r\n\r\n function onChange(event?: Event) {\r\n invokeValidators();\r\n }\r\n\r\n function createLabel(): VNode | undefined {\r\n const show = !!props.label || !!slots.label;\r\n if (!show) {\r\n return undefined;\r\n }\r\n return (\r\n <label\r\n class={[\r\n {\r\n [`${NAME}__label`]: true,\r\n 'y-input__floating-label': props.floating,\r\n 'y-input__floating-label--floated':\r\n props.floating && isFloatedLabel.value,\r\n },\r\n ]}\r\n for={`y-input--${UID}`}\r\n >\r\n {slots.label ? (\r\n slots.label()\r\n ) : props.label ? (\r\n <>\r\n {props.label}\r\n {props.required && (\r\n <span class={'y-input__required-mark'}>*</span>\r\n )}\r\n </>\r\n ) : (\r\n props.placeholder && !inValue.value && props.placeholder\r\n )}\r\n </label>\r\n );\r\n }\r\n\r\n expose({\r\n ...(props.extended ?? {}),\r\n createLabel,\r\n invokeValidators,\r\n validate: invokeValidators,\r\n resetError,\r\n });\r\n\r\n useRender(() => {\r\n return (\r\n <div class={[`${NAME}`, { ...classes.value }]}>\r\n {slots.prepend && (\r\n <div class={`${NAME}__prepend`}>{slots.prepend()}</div>\r\n )}\r\n <div ref={stack$} class={[`${NAME}__stack`]}>\r\n {!props.floating && createLabel()}\r\n {slots['leading-out'] && slots['leading-out']()}\r\n <div\r\n ref={display$}\r\n class={`${NAME}__display`}\r\n style={[{ ...displayStyles.value }]}\r\n data-base-parent={true}\r\n onClick={onClick}\r\n onMousedown={onMousedown}\r\n onMouseup={onMouseup}\r\n onKeydown={onKeydown}\r\n >\r\n <div class={`${NAME}__plate`}></div>\r\n {slots.leading && (\r\n <div class={'y-input__leading'} onClick={onClickLeading}>\r\n {slots.leading({ error: isError.value })}\r\n </div>\r\n )}\r\n {slots.default ? (\r\n slots.default({\r\n value: props.modelValue,\r\n loading: isLoading.value,\r\n attrId: `y-input--${UID}`,\r\n })\r\n ) : (\r\n <div\r\n class={`${NAME}__value`}\r\n data-id={`y-input--${UID}`}\r\n tabindex={0}\r\n onFocus={onFocus}\r\n onBlur={onBlur}\r\n >\r\n {props.floating && createLabel()}\r\n {props.modelValue?.toString()}\r\n </div>\r\n )}\r\n {slots.trailing?.()}\r\n </div>\r\n {slots['trailing-out'] && slots['trailing-out']()}\r\n <div class={`${NAME}__helper-text`}>\r\n {slots['helper-text'] ? (\r\n <span>\r\n {slots['helper-text']({\r\n error: isError.value,\r\n errors: errors.value,\r\n errorResult: errorResult.value,\r\n })}\r\n </span>\r\n ) : (\r\n props.helperText ?? errorResult.value\r\n )}\r\n </div>\r\n </div>\r\n {slots.append && (\r\n <div class={`${NAME}__append`}>{slots.append()}</div>\r\n )}\r\n </div>\r\n );\r\n });\r\n\r\n return {\r\n ...(props.extended ?? {}),\r\n themeClasses,\r\n isFocused,\r\n focusedClasses,\r\n whenFocus,\r\n whenBlur,\r\n createLabel,\r\n invokeValidators,\r\n };\r\n },\r\n});\r\n\r\nexport type YInput = InstanceType<typeof YInput>;\r\n"],"mappings":"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"}