yuyeon 0.3.1-rc.0 → 0.3.1-rc.4

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 (234) hide show
  1. package/LICENSE +191 -191
  2. package/README.md +15 -15
  3. package/dist/yuyeon.js +1813 -1876
  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 +2 -2
  27. package/lib/components/date-picker/YDatePicker.mjs.map +1 -1
  28. package/lib/components/date-picker/YDatePickerControl.mjs.map +1 -1
  29. package/lib/components/date-picker/YMonthPicker.mjs.map +1 -1
  30. package/lib/components/date-picker/YYearPicker.mjs.map +1 -1
  31. package/lib/components/dialog/index.mjs.map +1 -1
  32. package/lib/components/divider/YDivider.mjs.map +1 -1
  33. package/lib/components/divider/YDivider.scss +2 -2
  34. package/lib/components/draggable/YDraggable.mjs +2 -2
  35. package/lib/components/draggable/YDraggable.mjs.map +1 -1
  36. package/lib/components/dropdown/YDropdown.mjs.map +1 -1
  37. package/lib/components/dropdown/YDropdown.scss +27 -27
  38. package/lib/components/field-input/index.mjs.map +1 -1
  39. package/lib/components/form/YForm.mjs.map +1 -1
  40. package/lib/components/hover/YHover.mjs +1 -1
  41. package/lib/components/hover/YHover.mjs.map +1 -1
  42. package/lib/components/icon/YIcon.mjs.map +1 -1
  43. package/lib/components/icon/YIcon.scss +18 -18
  44. package/lib/components/icons/YIconCheckbox.mjs.map +1 -1
  45. package/lib/components/icons/YIconClear.mjs.map +1 -1
  46. package/lib/components/icons/YIconDropdown.mjs.map +1 -1
  47. package/lib/components/icons/YIconExpand.mjs.map +1 -1
  48. package/lib/components/icons/YIconPageControl.mjs.map +1 -1
  49. package/lib/components/icons/YIconSort.mjs.map +1 -1
  50. package/lib/components/icons/YIconSort.scss +24 -24
  51. package/lib/components/icons/index.mjs.map +1 -1
  52. package/lib/components/img/YImg.mjs +4 -4
  53. package/lib/components/img/YImg.mjs.map +1 -1
  54. package/lib/components/index.mjs.map +1 -1
  55. package/lib/components/input/YInput.mjs.map +1 -1
  56. package/lib/components/input/YInput.scss +258 -258
  57. package/lib/components/ip-field/YIpv4Field.mjs.map +1 -1
  58. package/lib/components/layer/YLayer.mjs.map +1 -1
  59. package/lib/components/layer/active-stack.mjs.map +1 -1
  60. package/lib/components/layer/base.mjs.map +1 -1
  61. package/lib/components/layer/content.mjs.map +1 -1
  62. package/lib/components/layer/scroll-strategies.mjs.map +1 -1
  63. package/lib/components/list/YList.mjs.map +1 -1
  64. package/lib/components/list/YListItem.mjs.map +1 -1
  65. package/lib/components/loading/YSpinnerRing.mjs.map +1 -1
  66. package/lib/components/menu/YMenu.mjs +2 -2
  67. package/lib/components/menu/YMenu.mjs.map +1 -1
  68. package/lib/components/menu/YMenu.scss +25 -25
  69. package/lib/components/navigation/YNavigation.mjs.map +1 -1
  70. package/lib/components/pagination/YPagination.mjs.map +1 -1
  71. package/lib/components/pagination/YPagination.scss +52 -52
  72. package/lib/components/panel/YDividePanel.mjs.map +1 -1
  73. package/lib/components/plate/YPlate.mjs +2 -2
  74. package/lib/components/plate/YPlate.mjs.map +1 -1
  75. package/lib/components/progress-bar/YProgressBar.mjs.map +1 -1
  76. package/lib/components/progress-bar/YProgressBar.scss +120 -120
  77. package/lib/components/progress-ring/YProgressRing.mjs +2 -2
  78. package/lib/components/progress-ring/YProgressRing.mjs.map +1 -1
  79. package/lib/components/progress-ring/YProgressRing.scss +38 -38
  80. package/lib/components/progress-ring/index.mjs.map +1 -1
  81. package/lib/components/select/YSelect.mjs.map +1 -1
  82. package/lib/components/slider/YSlider.mjs.map +1 -1
  83. package/lib/components/snackbar/YSnackbar.mjs +5 -5
  84. package/lib/components/snackbar/YSnackbar.mjs.map +1 -1
  85. package/lib/components/switch/YSwitch.mjs.map +1 -1
  86. package/lib/components/switch/YSwitch.scss +211 -211
  87. package/lib/components/tab/YTab.mjs.map +1 -1
  88. package/lib/components/tab/YTab.scss +73 -73
  89. package/lib/components/tab/YTabs.mjs.map +1 -1
  90. package/lib/components/tab/YTabs.scss +8 -8
  91. package/lib/components/tab/index.mjs.map +1 -1
  92. package/lib/components/tab/types.mjs.map +1 -1
  93. package/lib/components/table/YDataTableBody.mjs.map +1 -1
  94. package/lib/components/table/YDataTableCell.mjs.map +1 -1
  95. package/lib/components/table/YDataTableHead.mjs.map +1 -1
  96. package/lib/components/table/YDataTableLayer.mjs.map +1 -1
  97. package/lib/components/table/YDataTableRow.mjs.map +1 -1
  98. package/lib/components/table/YTable.mjs.map +1 -1
  99. package/lib/components/table/YTable.scss +157 -157
  100. package/lib/components/table/composibles/header.mjs.map +1 -1
  101. package/lib/components/table/composibles/items.mjs.map +1 -1
  102. package/lib/components/table/composibles/options.mjs.map +1 -1
  103. package/lib/components/table/composibles/pagination.mjs.map +1 -1
  104. package/lib/components/table/composibles/selection.mjs.map +1 -1
  105. package/lib/components/table/composibles/sorted-items.mjs.map +1 -1
  106. package/lib/components/table/composibles/sorting.mjs.map +1 -1
  107. package/lib/components/table/types/header.mjs.map +1 -1
  108. package/lib/components/table/types/index.mjs.map +1 -1
  109. package/lib/components/table/types/row.mjs.map +1 -1
  110. package/lib/components/text-ellipsis/YTextEllipsis.mjs.map +1 -1
  111. package/lib/components/text-ellipsis/YTextEllipsis.scss +43 -43
  112. package/lib/components/text-highlighter/YTextHighlighter.mjs.map +1 -1
  113. package/lib/components/text-interpolation/YTi.mjs.map +1 -1
  114. package/lib/components/textarea/YTextarea.mjs.map +1 -1
  115. package/lib/components/toggle-button/YToggleButton.mjs.map +1 -1
  116. package/lib/components/tooltip/YTooltip.mjs +2 -2
  117. package/lib/components/tooltip/YTooltip.mjs.map +1 -1
  118. package/lib/components/tree-view/YTreeView.mjs +5 -0
  119. package/lib/components/tree-view/YTreeView.mjs.map +1 -1
  120. package/lib/components/tree-view/YTreeView.scss +81 -81
  121. package/lib/components/tree-view/types.mjs.map +1 -1
  122. package/lib/components/tree-view/util.mjs.map +1 -1
  123. package/lib/composables/choice.mjs.map +1 -1
  124. package/lib/composables/communication.mjs.map +1 -1
  125. package/lib/composables/component.mjs.map +1 -1
  126. package/lib/composables/coordinate/arrangement.mjs.map +1 -1
  127. package/lib/composables/coordinate/index.mjs.map +1 -1
  128. package/lib/composables/coordinate/levitation.mjs +2 -2
  129. package/lib/composables/coordinate/levitation.mjs.map +1 -1
  130. package/lib/composables/coordinate/types.mjs.map +1 -1
  131. package/lib/composables/coordinate/utils/point.mjs.map +1 -1
  132. package/lib/composables/date/factory.mjs.map +1 -1
  133. package/lib/composables/date/index.mjs.map +1 -1
  134. package/lib/composables/date/setting.mjs.map +1 -1
  135. package/lib/composables/date/types.mjs.map +1 -1
  136. package/lib/composables/defaults/index.mjs.map +1 -1
  137. package/lib/composables/defaults/share.mjs.map +1 -1
  138. package/lib/composables/defaults/types.mjs.map +1 -1
  139. package/lib/composables/dimension.mjs.map +1 -1
  140. package/lib/composables/focus.mjs.map +1 -1
  141. package/lib/composables/form.mjs.map +1 -1
  142. package/lib/composables/i18n/index.mjs.map +1 -1
  143. package/lib/composables/i18n/locale.mjs.map +1 -1
  144. package/lib/composables/i18n/rtl.mjs.map +1 -1
  145. package/lib/composables/i18n/share.mjs.map +1 -1
  146. package/lib/composables/icon.mjs.map +1 -1
  147. package/lib/composables/index.mjs.map +1 -1
  148. package/lib/composables/layer-group.mjs.map +1 -1
  149. package/lib/composables/layout.mjs.map +1 -1
  150. package/lib/composables/list-items.mjs.map +1 -1
  151. package/lib/composables/progress.mjs.map +1 -1
  152. package/lib/composables/ref.mjs.map +1 -1
  153. package/lib/composables/resize-observer.mjs.map +1 -1
  154. package/lib/composables/scope.mjs.map +1 -1
  155. package/lib/composables/theme/factory.mjs.map +1 -1
  156. package/lib/composables/theme/index.mjs.map +1 -1
  157. package/lib/composables/theme/setting.mjs.map +1 -1
  158. package/lib/composables/theme/types.mjs.map +1 -1
  159. package/lib/composables/timing.mjs.map +1 -1
  160. package/lib/composables/transition.mjs.map +1 -1
  161. package/lib/composables/validation.mjs.map +1 -1
  162. package/lib/composables/vue-router.mjs.map +1 -1
  163. package/lib/directives/plate-wave/index.mjs +2 -2
  164. package/lib/directives/plate-wave/index.mjs.map +1 -1
  165. package/lib/etc/index.mjs.map +1 -1
  166. package/lib/i18n/built-in.mjs.map +1 -1
  167. package/lib/i18n/config.mjs.map +1 -1
  168. package/lib/i18n/types.mjs.map +1 -1
  169. package/lib/index.mjs +2 -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/reactivity.mjs +3 -3
  202. package/lib/util/reactivity.mjs.map +1 -1
  203. package/lib/util/rect.mjs.map +1 -1
  204. package/lib/util/validation.mjs.map +1 -1
  205. package/package.json +120 -120
  206. package/types/globals.d.ts +20 -20
  207. package/types/shims.d.ts +55 -55
  208. package/lib/components/icon/poly.mjs +0 -57
  209. package/lib/components/icon/poly.mjs.map +0 -1
  210. package/lib/composables/group.mjs +0 -194
  211. package/lib/composables/group.mjs.map +0 -1
  212. package/lib/util/parser.mjs +0 -31
  213. package/lib/util/parser.mjs.map +0 -1
  214. package/lib/util/vue-component/index.mjs +0 -63
  215. package/lib/util/vue-component/index.mjs.map +0 -1
  216. package/lib/util/vue-component/props.mjs +0 -37
  217. package/lib/util/vue-component/props.mjs.map +0 -1
  218. package/lib/util/vue-component/types.mjs +0 -2
  219. package/lib/util/vue-component/types.mjs.map +0 -1
  220. package/lib/util/vue-component.mjs +0 -102
  221. package/lib/util/vue-component.mjs.map +0 -1
  222. package/types/components/select/YSelect.d.ts +0 -7062
  223. package/types/components/table/pagination.d.ts +0 -78
  224. package/types/components/tooltip/YTooltip.d.ts +0 -3711
  225. package/types/util/color/hct/hct_solver.d.ts +0 -146
  226. package/types/util/color/hct/viewing_conditions.d.ts +0 -74
  227. package/types/util/color/palettes/tonal_palette.d.ts +0 -55
  228. package/types/util/color/utils/math_utils.d.ts +0 -82
  229. package/types/util/parser.d.ts +0 -4
  230. package/types/util/vue-component/index.d.ts +0 -10
  231. package/types/util/vue-component/props.d.ts +0 -31
  232. package/types/util/vue-component/types.d.ts +0 -4
  233. package/types/util/vue-component.d.ts +0 -39
  234. /package/types/util/{Rect.d.ts → rect.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"YCardHeader.mjs","names":["h","defineComponent","YCardHeader","name","render","class","$slots","default"],"sources":["../../../src/components/card/YCardHeader.ts"],"sourcesContent":["import { h } from 'vue';\r\n\r\nimport { defineComponent } from '@/util/component';\r\n\r\nexport const YCardHeader = defineComponent({\r\n name: 'YCardHeader',\r\n render() {\r\n return h('div', { class: 'y-card__header' }, this.$slots.default?.());\r\n },\r\n});\r\n\r\nexport type YCardHeader = InstanceType<typeof YCardHeader>;\r\n"],"mappings":"AAAA,SAASA,CAAC,QAAQ,KAAK;AAAC,SAEfC,eAAe;AAExB,OAAO,MAAMC,WAAW,GAAGD,eAAe,CAAC;EACzCE,IAAI,EAAE,aAAa;EACnBC,MAAMA,CAAA,EAAG;IACP,OAAOJ,CAAC,CAAC,KAAK,EAAE;MAAEK,KAAK,EAAE;IAAiB,CAAC,EAAE,IAAI,CAACC,MAAM,CAACC,OAAO,GAAG,CAAC,CAAC;EACvE;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"YCardHeader.mjs","names":["h","defineComponent","YCardHeader","name","render","class","$slots","default"],"sources":["../../../src/components/card/YCardHeader.ts"],"sourcesContent":["import { h } from 'vue';\n\nimport { defineComponent } from '@/util/component';\n\nexport const YCardHeader = defineComponent({\n name: 'YCardHeader',\n render() {\n return h('div', { class: 'y-card__header' }, this.$slots.default?.());\n },\n});\n\nexport type YCardHeader = InstanceType<typeof YCardHeader>;\n"],"mappings":"AAAA,SAASA,CAAC,QAAQ,KAAK;AAAC,SAEfC,eAAe;AAExB,OAAO,MAAMC,WAAW,GAAGD,eAAe,CAAC;EACzCE,IAAI,EAAE,aAAa;EACnBC,MAAMA,CAAA,EAAG;IACP,OAAOJ,CAAC,CAAC,KAAK,EAAE;MAAEK,KAAK,EAAE;IAAiB,CAAC,EAAE,IAAI,CAACC,MAAM,CAACC,OAAO,GAAG,CAAC,CAAC;EACvE;AACF,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"YCheckbox.mjs","names":["computed","ref","watch","withModifiers","useRender","defineComponent","getUid","YInputCheckbox","YCheckbox","name","components","emits","props","modelValue","Boolean","Array","value","String","Number","Object","label","reverse","icon","type","color","default","disabled","readonly","setup","_ref","emit","slots","focused","checked","counterId","toString","inputId","onFocus","e","onBlur","onClick","check","inputByProp","isArray","found","find","inp","undefined","classes","computedIcon","isMultipleInput","getMultipleInputIndex","findIndex","v","neo","index","push","splice","immediate","deep","_createVNode","leading","stopPropagation","_len","arguments","length","args","_key","_len2","_key2","trailing"],"sources":["../../../src/components/checkbox/YCheckbox.tsx"],"sourcesContent":["import { type PropType, computed, ref, watch, withModifiers } from 'vue';\r\n\r\nimport { useRender } from '@/composables/component';\r\nimport { defineComponent, getUid } from '@/util/component';\r\n\r\nimport YInputCheckbox from './YInputCheckbox';\r\n\r\nimport './YCheckbox.scss';\r\n\r\nexport const YCheckbox = defineComponent({\r\n name: 'YCheckbox',\r\n components: { YInputCheckbox },\r\n emits: ['focus', 'blur', 'click', 'update:modelValue', 'change'],\r\n props: {\r\n modelValue: [Boolean, Array] as PropType<boolean | any[]>,\r\n value: [String, Number, Object] as PropType<any>,\r\n label: String as PropType<string>,\r\n reverse: Boolean as PropType<boolean>,\r\n icon: {\r\n type: [Object, String] as PropType<\r\n { checked?: string; unchecked?: string } | string\r\n >,\r\n },\r\n color: {\r\n type: String as PropType<string>,\r\n default: () => 'primary',\r\n },\r\n disabled: Boolean as PropType<boolean>,\r\n readonly: Boolean as PropType<boolean>,\r\n },\r\n setup(props, { emit, slots }) {\r\n const focused = ref(false);\r\n const checked = ref(false);\r\n const counterId = (getUid() ?? '').toString();\r\n const inputId = `input-${counterId}`;\r\n\r\n function onFocus(e: FocusEvent) {\r\n focused.value = true;\r\n emit('focus', e);\r\n }\r\n\r\n function onBlur(e: FocusEvent) {\r\n focused.value = false;\r\n emit('blur', e);\r\n }\r\n\r\n function onClick(e: Event, ...args: any[]) {\r\n emit('click', e);\r\n if (props.disabled || props.readonly) return;\r\n const check = !checked.value;\r\n checked.value = check;\r\n emit('change', check);\r\n }\r\n\r\n function inputByProp() {\r\n if (Array.isArray(props.modelValue)) {\r\n const found = props.modelValue?.find((inp: any) => inp === props.value);\r\n if (found !== undefined) {\r\n checked.value = true;\r\n } else {\r\n checked.value = false;\r\n }\r\n } else if (typeof props.modelValue === 'boolean') {\r\n checked.value = props.modelValue;\r\n }\r\n }\r\n\r\n const classes = computed<Record<string, boolean>>(() => {\r\n const { reverse, disabled, readonly } = props;\r\n return {\r\n 'y-checkbox': true,\r\n 'y-checkbox--reverse': !!reverse,\r\n 'y-checkbox--focused': focused.value,\r\n 'y-checkbox--disabled': !!disabled,\r\n 'y-checkbox--readonly': !!readonly,\r\n };\r\n });\r\n\r\n const computedIcon = computed<string | undefined>(() => {\r\n if (typeof props.icon === 'string') {\r\n return props.icon;\r\n }\r\n return undefined;\r\n });\r\n\r\n const isMultipleInput = computed<boolean>(() => {\r\n return Array.isArray(props.modelValue);\r\n });\r\n\r\n function getMultipleInputIndex() {\r\n if (!isMultipleInput.value) {\r\n return -1;\r\n }\r\n return (props.modelValue as any[]).findIndex(\r\n (v: any) => v === props.value,\r\n );\r\n }\r\n\r\n watch(checked, (neo) => {\r\n if (Array.isArray(props.modelValue)) {\r\n const value = props.modelValue;\r\n const index = getMultipleInputIndex();\r\n if (neo && index === -1) {\r\n value.push(props.value);\r\n } else if (!neo && index !== -1) {\r\n value.splice(index, 1);\r\n }\r\n emit('update:modelValue', value);\r\n } else {\r\n emit('update:modelValue', neo);\r\n }\r\n });\r\n\r\n watch(\r\n () => props.modelValue,\r\n (neo) => {\r\n if (Array.isArray(neo)) {\r\n inputByProp();\r\n } else {\r\n checked.value = !!neo;\r\n }\r\n },\r\n { immediate: true, deep: true },\r\n );\r\n\r\n useRender(() => {\r\n return (\r\n <div class={[{ ...classes.value }]}>\r\n {slots.leading?.()}\r\n <div class=\"y-checkbox__slot\">\r\n <YInputCheckbox\r\n onClick={(e: Event, ...args: any[]) => {\r\n e.stopPropagation();\r\n onClick(e, ...args);\r\n }}\r\n onFocus={onFocus}\r\n onBlur={onBlur}\r\n id={counterId}\r\n value={checked.value}\r\n icon={computedIcon.value}\r\n color={props.color}\r\n disabled={props.disabled}\r\n readonly={props.readonly}\r\n >\r\n {slots.icon && {\r\n icon: (...args: any[]) => slots.icon?.(...args),\r\n }}\r\n </YInputCheckbox>\r\n <label\r\n onClick={withModifiers(() => {}, ['stop'])}\r\n class=\"y-checkbox__label\"\r\n for={inputId}\r\n >\r\n {slots.label ? slots.label?.() : props.label}\r\n </label>\r\n </div>\r\n {slots.trailing?.()}\r\n </div>\r\n );\r\n });\r\n\r\n return {\r\n checked,\r\n };\r\n },\r\n});\r\n\r\nexport type YCheckbox = InstanceType<typeof YCheckbox>;\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"YCheckbox.mjs","names":["computed","ref","watch","withModifiers","useRender","defineComponent","getUid","YInputCheckbox","YCheckbox","name","components","emits","props","modelValue","Boolean","Array","value","String","Number","Object","label","reverse","icon","type","color","default","disabled","readonly","setup","_ref","emit","slots","focused","checked","counterId","toString","inputId","onFocus","e","onBlur","onClick","check","inputByProp","isArray","found","find","inp","undefined","classes","computedIcon","isMultipleInput","getMultipleInputIndex","findIndex","v","neo","index","push","splice","immediate","deep","_createVNode","leading","stopPropagation","_len","arguments","length","args","_key","_len2","_key2","trailing"],"sources":["../../../src/components/checkbox/YCheckbox.tsx"],"sourcesContent":["import { type PropType, computed, ref, watch, withModifiers } from 'vue';\n\nimport { useRender } from '@/composables/component';\nimport { defineComponent, getUid } from '@/util/component';\n\nimport YInputCheckbox from './YInputCheckbox';\n\nimport './YCheckbox.scss';\n\nexport const YCheckbox = defineComponent({\n name: 'YCheckbox',\n components: { YInputCheckbox },\n emits: ['focus', 'blur', 'click', 'update:modelValue', 'change'],\n props: {\n modelValue: [Boolean, Array] as PropType<boolean | any[]>,\n value: [String, Number, Object] as PropType<any>,\n label: String as PropType<string>,\n reverse: Boolean as PropType<boolean>,\n icon: {\n type: [Object, String] as PropType<\n { checked?: string; unchecked?: string } | string\n >,\n },\n color: {\n type: String as PropType<string>,\n default: () => 'primary',\n },\n disabled: Boolean as PropType<boolean>,\n readonly: Boolean as PropType<boolean>,\n },\n setup(props, { emit, slots }) {\n const focused = ref(false);\n const checked = ref(false);\n const counterId = (getUid() ?? '').toString();\n const inputId = `input-${counterId}`;\n\n function onFocus(e: FocusEvent) {\n focused.value = true;\n emit('focus', e);\n }\n\n function onBlur(e: FocusEvent) {\n focused.value = false;\n emit('blur', e);\n }\n\n function onClick(e: Event, ...args: any[]) {\n emit('click', e);\n if (props.disabled || props.readonly) return;\n const check = !checked.value;\n checked.value = check;\n emit('change', check);\n }\n\n function inputByProp() {\n if (Array.isArray(props.modelValue)) {\n const found = props.modelValue?.find((inp: any) => inp === props.value);\n if (found !== undefined) {\n checked.value = true;\n } else {\n checked.value = false;\n }\n } else if (typeof props.modelValue === 'boolean') {\n checked.value = props.modelValue;\n }\n }\n\n const classes = computed<Record<string, boolean>>(() => {\n const { reverse, disabled, readonly } = props;\n return {\n 'y-checkbox': true,\n 'y-checkbox--reverse': !!reverse,\n 'y-checkbox--focused': focused.value,\n 'y-checkbox--disabled': !!disabled,\n 'y-checkbox--readonly': !!readonly,\n };\n });\n\n const computedIcon = computed<string | undefined>(() => {\n if (typeof props.icon === 'string') {\n return props.icon;\n }\n return undefined;\n });\n\n const isMultipleInput = computed<boolean>(() => {\n return Array.isArray(props.modelValue);\n });\n\n function getMultipleInputIndex() {\n if (!isMultipleInput.value) {\n return -1;\n }\n return (props.modelValue as any[]).findIndex(\n (v: any) => v === props.value,\n );\n }\n\n watch(checked, (neo) => {\n if (Array.isArray(props.modelValue)) {\n const value = props.modelValue;\n const index = getMultipleInputIndex();\n if (neo && index === -1) {\n value.push(props.value);\n } else if (!neo && index !== -1) {\n value.splice(index, 1);\n }\n emit('update:modelValue', value);\n } else {\n emit('update:modelValue', neo);\n }\n });\n\n watch(\n () => props.modelValue,\n (neo) => {\n if (Array.isArray(neo)) {\n inputByProp();\n } else {\n checked.value = !!neo;\n }\n },\n { immediate: true, deep: true },\n );\n\n useRender(() => {\n return (\n <div class={[{ ...classes.value }]}>\n {slots.leading?.()}\n <div class=\"y-checkbox__slot\">\n <YInputCheckbox\n onClick={(e: Event, ...args: any[]) => {\n e.stopPropagation();\n onClick(e, ...args);\n }}\n onFocus={onFocus}\n onBlur={onBlur}\n id={counterId}\n value={checked.value}\n icon={computedIcon.value}\n color={props.color}\n disabled={props.disabled}\n readonly={props.readonly}\n >\n {slots.icon && {\n icon: (...args: any[]) => slots.icon?.(...args),\n }}\n </YInputCheckbox>\n <label\n onClick={withModifiers(() => {}, ['stop'])}\n class=\"y-checkbox__label\"\n for={inputId}\n >\n {slots.label ? slots.label?.() : props.label}\n </label>\n </div>\n {slots.trailing?.()}\n </div>\n );\n });\n\n return {\n checked,\n };\n },\n});\n\nexport type YCheckbox = InstanceType<typeof YCheckbox>;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"YInputCheckbox.mjs","names":["h","defineComponent","YIconCheckbox","name","components","props","id","String","value","Boolean","icon","color","type","default","disabled","readonly","emits","data","counterId","$","uid","toString","checked","focused","computed","coloredClass","startsWith","undefined","classes","ret","inputId","iconComponent","methods","onFocus","e","$emit","onBlur","onClick","event","watch","neo","created","render","_createVNode","_Fragment","$slots"],"sources":["../../../src/components/checkbox/YInputCheckbox.tsx"],"sourcesContent":["import { type PropType, h } from 'vue';\r\n\r\nimport { defineComponent } from '@/util/component';\r\n\r\nimport { YIconCheckbox } from '../icons/YIconCheckbox';\r\n\r\nimport './YInputCheckbox.scss';\r\n\r\nexport default defineComponent({\r\n name: 'YInputCheckbox',\r\n components: { YIconCheckbox },\r\n props: {\r\n id: String as PropType<string>,\r\n value: Boolean as PropType<boolean>,\r\n icon: String as PropType<string>,\r\n color: {\r\n type: String as PropType<string>,\r\n default: () => 'primary',\r\n },\r\n disabled: Boolean as PropType<boolean>,\r\n readonly: Boolean as PropType<boolean>,\r\n },\r\n emits: ['focus', 'blur', 'click'],\r\n data() {\r\n return {\r\n counterId: this.$.uid.toString(),\r\n checked: false,\r\n focused: false,\r\n };\r\n },\r\n computed: {\r\n coloredClass() {\r\n if (this.color.startsWith('#')) {\r\n return undefined;\r\n }\r\n return `color--${this.color}`;\r\n },\r\n classes() {\r\n const ret: Record<string, boolean> = {\r\n 'y-input': true,\r\n 'y-input--checkbox': true,\r\n 'y-input--active': this.checked,\r\n 'y-input--focused': this.focused,\r\n };\r\n if (this.coloredClass) {\r\n ret[this.coloredClass] = true;\r\n }\r\n return ret;\r\n },\r\n inputId() {\r\n let id = this.counterId;\r\n if (this.id) {\r\n id = this.id;\r\n }\r\n return `input-${id}`;\r\n },\r\n iconComponent() {\r\n if (!this.icon) {\r\n return YIconCheckbox;\r\n }\r\n return null;\r\n },\r\n },\r\n methods: {\r\n onFocus(e: FocusEvent) {\r\n this.focused = true;\r\n this.$emit('focus', e);\r\n },\r\n onBlur(e: FocusEvent) {\r\n this.focused = false;\r\n this.$emit('blur', e);\r\n },\r\n onClick(event: MouseEvent) {\r\n this.$emit('click', event);\r\n },\r\n },\r\n watch: {\r\n value(neo: boolean) {\r\n this.checked = neo;\r\n },\r\n },\r\n created() {\r\n this.checked = !!this.value;\r\n },\r\n render() {\r\n const {\r\n onClick,\r\n classes,\r\n inputId,\r\n checked,\r\n onFocus,\r\n onBlur,\r\n disabled,\r\n readonly,\r\n iconComponent,\r\n } = this;\r\n return (\r\n <>\r\n <div onClick={onClick} class={classes}>\r\n <input\r\n id={inputId}\r\n aria-checked={checked}\r\n role=\"checkbox\"\r\n type=\"checkbox\"\r\n checked={checked}\r\n onFocus={onFocus}\r\n onBlur={onBlur}\r\n disabled={disabled}\r\n readonly={readonly}\r\n />\r\n {this.$slots.icon ? (\r\n this.$slots.icon({ checked })\r\n ) : iconComponent ? (\r\n h(iconComponent)\r\n ) : (\r\n <YIconCheckbox></YIconCheckbox>\r\n )}\r\n </div>\r\n </>\r\n );\r\n },\r\n});\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"YInputCheckbox.mjs","names":["h","defineComponent","YIconCheckbox","name","components","props","id","String","value","Boolean","icon","color","type","default","disabled","readonly","emits","data","counterId","$","uid","toString","checked","focused","computed","coloredClass","startsWith","undefined","classes","ret","inputId","iconComponent","methods","onFocus","e","$emit","onBlur","onClick","event","watch","neo","created","render","_createVNode","_Fragment","$slots"],"sources":["../../../src/components/checkbox/YInputCheckbox.tsx"],"sourcesContent":["import { type PropType, h } from 'vue';\n\nimport { defineComponent } from '@/util/component';\n\nimport { YIconCheckbox } from '../icons/YIconCheckbox';\n\nimport './YInputCheckbox.scss';\n\nexport default defineComponent({\n name: 'YInputCheckbox',\n components: { YIconCheckbox },\n props: {\n id: String as PropType<string>,\n value: Boolean as PropType<boolean>,\n icon: String as PropType<string>,\n color: {\n type: String as PropType<string>,\n default: () => 'primary',\n },\n disabled: Boolean as PropType<boolean>,\n readonly: Boolean as PropType<boolean>,\n },\n emits: ['focus', 'blur', 'click'],\n data() {\n return {\n counterId: this.$.uid.toString(),\n checked: false,\n focused: false,\n };\n },\n computed: {\n coloredClass() {\n if (this.color.startsWith('#')) {\n return undefined;\n }\n return `color--${this.color}`;\n },\n classes() {\n const ret: Record<string, boolean> = {\n 'y-input': true,\n 'y-input--checkbox': true,\n 'y-input--active': this.checked,\n 'y-input--focused': this.focused,\n };\n if (this.coloredClass) {\n ret[this.coloredClass] = true;\n }\n return ret;\n },\n inputId() {\n let id = this.counterId;\n if (this.id) {\n id = this.id;\n }\n return `input-${id}`;\n },\n iconComponent() {\n if (!this.icon) {\n return YIconCheckbox;\n }\n return null;\n },\n },\n methods: {\n onFocus(e: FocusEvent) {\n this.focused = true;\n this.$emit('focus', e);\n },\n onBlur(e: FocusEvent) {\n this.focused = false;\n this.$emit('blur', e);\n },\n onClick(event: MouseEvent) {\n this.$emit('click', event);\n },\n },\n watch: {\n value(neo: boolean) {\n this.checked = neo;\n },\n },\n created() {\n this.checked = !!this.value;\n },\n render() {\n const {\n onClick,\n classes,\n inputId,\n checked,\n onFocus,\n onBlur,\n disabled,\n readonly,\n iconComponent,\n } = this;\n return (\n <>\n <div onClick={onClick} class={classes}>\n <input\n id={inputId}\n aria-checked={checked}\n role=\"checkbox\"\n type=\"checkbox\"\n checked={checked}\n onFocus={onFocus}\n onBlur={onBlur}\n disabled={disabled}\n readonly={readonly}\n />\n {this.$slots.icon ? (\n this.$slots.icon({ checked })\n ) : iconComponent ? (\n h(iconComponent)\n ) : (\n <YIconCheckbox></YIconCheckbox>\n )}\n </div>\n </>\n );\n },\n});\n"],"mappings":"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"}
@@ -1,84 +1,84 @@
1
- $checkbox__color: var(--y-theme-primary);
2
- $checkbox__border-color: #a4a4a4;
3
-
4
- .y-input--checkbox {
5
- --y-checkbox__color: var(--y-theme-primary-rgb);
6
-
7
- position: relative;
8
- width: 24px;
9
- height: 24px;
10
- display: inline-flex;
11
- flex: 0 0 auto;
12
- box-sizing: border-box;
13
-
14
- input[role='checkbox'] {
15
- position: absolute;
16
- opacity: 0;
17
- width: 100%;
18
- height: 100%;
19
- cursor: pointer;
20
- user-select: none;
21
- }
22
-
23
- .y-icon-checkbox__checkmark-path {
24
- fill: none;
25
- stroke: #ffffff;
26
- stroke-width: 2px;
27
- stroke-dashoffset: 29.7833385;
28
- stroke-dasharray: 29.7833385;
29
- transition: stroke-dashoffset 120ms cubic-bezier(0.4, 0, 0.6, 1);
30
- }
31
-
32
- .y-icon-checkbox__border-path {
33
- fill: rgba(var(--y-checkbox__color), 0);
34
- stroke: rgba($checkbox__border-color, 0.8);
35
- stroke-width: 2;
36
- transition: fill 200ms 180ms ease-in;
37
- }
38
-
39
- input:checked ~ .y-icon-checkbox,
40
- &.y-input--active .y-icon-checkbox {
41
- .y-icon-checkbox__checkmark-path {
42
- stroke-dashoffset: 0;
43
- transition: stroke-dashoffset 120ms 140ms cubic-bezier(0.4, 0, 0.6, 1);
44
- }
45
-
46
- .y-icon-checkbox__border-path {
47
- fill: rgb(var(--y-checkbox__color));
48
- stroke: rgba(var(--y-checkbox__color), 0.8);
49
- transition: fill 200ms ease-in;
50
- }
51
- }
52
-
53
- input:focus ~ .y-icon-checkbox {
54
- .y-icon-checkbox__border-path {
55
- outline: rgba(var(--y-checkbox__color), 0.5) solid 4px;
56
- outline-offset: -6px;
57
- }
58
- }
59
-
60
- &:hover {
61
- .y-icon-checkbox__border-path {
62
- stroke: rgba(var(--y-checkbox__color), 0.5);
63
- }
64
- }
65
-
66
- &.y-input--active:hover {
67
- .y-icon-checkbox__border-path {
68
- filter: brightness(1.1);
69
- }
70
- }
71
-
72
- &.y-input--indeterminate .y-icon-checkbox {
73
- .y-icon-checkbox__checkmark-path {
74
- stroke-dashoffset: 0;
75
- d: path('M5.73,11.91 11.1,11.91 17.79,11.91');
76
- transition: stroke-dashoffset 400ms ease;
77
- }
78
-
79
- .y-icon-checkbox__border-path {
80
- fill: rgba($checkbox__border-color, 0.8);
81
- stroke: rgba($checkbox__border-color, 0.8);
82
- }
83
- }
84
- }
1
+ $checkbox__color: var(--y-theme-primary);
2
+ $checkbox__border-color: #a4a4a4;
3
+
4
+ .y-input--checkbox {
5
+ --y-checkbox__color: var(--y-theme-primary-rgb);
6
+
7
+ position: relative;
8
+ width: 24px;
9
+ height: 24px;
10
+ display: inline-flex;
11
+ flex: 0 0 auto;
12
+ box-sizing: border-box;
13
+
14
+ input[role='checkbox'] {
15
+ position: absolute;
16
+ opacity: 0;
17
+ width: 100%;
18
+ height: 100%;
19
+ cursor: pointer;
20
+ user-select: none;
21
+ }
22
+
23
+ .y-icon-checkbox__checkmark-path {
24
+ fill: none;
25
+ stroke: #ffffff;
26
+ stroke-width: 2px;
27
+ stroke-dashoffset: 29.7833385;
28
+ stroke-dasharray: 29.7833385;
29
+ transition: stroke-dashoffset 120ms cubic-bezier(0.4, 0, 0.6, 1);
30
+ }
31
+
32
+ .y-icon-checkbox__border-path {
33
+ fill: rgba(var(--y-checkbox__color), 0);
34
+ stroke: rgba($checkbox__border-color, 0.8);
35
+ stroke-width: 2;
36
+ transition: fill 200ms 180ms ease-in;
37
+ }
38
+
39
+ input:checked ~ .y-icon-checkbox,
40
+ &.y-input--active .y-icon-checkbox {
41
+ .y-icon-checkbox__checkmark-path {
42
+ stroke-dashoffset: 0;
43
+ transition: stroke-dashoffset 120ms 140ms cubic-bezier(0.4, 0, 0.6, 1);
44
+ }
45
+
46
+ .y-icon-checkbox__border-path {
47
+ fill: rgb(var(--y-checkbox__color));
48
+ stroke: rgba(var(--y-checkbox__color), 0.8);
49
+ transition: fill 200ms ease-in;
50
+ }
51
+ }
52
+
53
+ input:focus ~ .y-icon-checkbox {
54
+ .y-icon-checkbox__border-path {
55
+ outline: rgba(var(--y-checkbox__color), 0.5) solid 4px;
56
+ outline-offset: -6px;
57
+ }
58
+ }
59
+
60
+ &:hover {
61
+ .y-icon-checkbox__border-path {
62
+ stroke: rgba(var(--y-checkbox__color), 0.5);
63
+ }
64
+ }
65
+
66
+ &.y-input--active:hover {
67
+ .y-icon-checkbox__border-path {
68
+ filter: brightness(1.1);
69
+ }
70
+ }
71
+
72
+ &.y-input--indeterminate .y-icon-checkbox {
73
+ .y-icon-checkbox__checkmark-path {
74
+ stroke-dashoffset: 0;
75
+ d: path('M5.73,11.91 11.1,11.91 17.79,11.91');
76
+ transition: stroke-dashoffset 400ms ease;
77
+ }
78
+
79
+ .y-icon-checkbox__border-path {
80
+ fill: rgba($checkbox__border-color, 0.8);
81
+ stroke: rgba($checkbox__border-color, 0.8);
82
+ }
83
+ }
84
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["YInputCheckbox"],"sources":["../../../src/components/checkbox/index.ts"],"sourcesContent":["import YInputCheckbox from './YInputCheckbox';\r\n\r\nexport * from './YCheckbox';\r\n\r\nexport { YInputCheckbox };\r\n"],"mappings":"OAAOA,cAAc;AAAA;AAIrB,SAASA,cAAc"}
1
+ {"version":3,"file":"index.mjs","names":["YInputCheckbox"],"sources":["../../../src/components/checkbox/index.ts"],"sourcesContent":["import YInputCheckbox from './YInputCheckbox';\n\nexport * from './YCheckbox';\n\nexport { YInputCheckbox };\n"],"mappings":"OAAOA,cAAc;AAAA;AAIrB,SAASA,cAAc"}
@@ -1,36 +1,36 @@
1
- @use '../../styles/variables';
2
-
3
- $chip-border-radius: variables.$border-radius-root;
4
-
5
- .y-chip {
6
- --y-chip__background-opacity: 0.14;
7
- --y-chip__color: var(--y-theme-on-surface);
8
- --y-chip__background: rgba(var(--y-theme-on-surface-rgb), var(--y-chip__background-opacity));
9
-
10
- display: inline-flex;
11
- position: relative;
12
- padding: 4px 16px;
13
- color: var(--y-chip__color);
14
- background: var(--y-chip__background);
15
- border-radius: $chip-border-radius;
16
- align-items: center;
17
- align-self: center;
18
-
19
- &--clickable {
20
- cursor: pointer;
21
- }
22
-
23
- &__content {
24
- color: inherit;
25
- }
26
-
27
- &--clickable &__content {
28
- user-select: none;
29
- }
30
-
31
- &--small {
32
- font-size: 0.75rem;
33
- padding: 3px 8px;
34
- border-radius: $chip-border-radius * 0.75;
35
- }
36
- }
1
+ @use '../../styles/variables';
2
+
3
+ $chip-border-radius: variables.$border-radius-root;
4
+
5
+ .y-chip {
6
+ --y-chip__background-opacity: 0.14;
7
+ --y-chip__color: var(--y-theme-on-surface);
8
+ --y-chip__background: rgba(var(--y-theme-on-surface-rgb), var(--y-chip__background-opacity));
9
+
10
+ display: inline-flex;
11
+ position: relative;
12
+ padding: 4px 16px;
13
+ color: var(--y-chip__color);
14
+ background: var(--y-chip__background);
15
+ border-radius: $chip-border-radius;
16
+ align-items: center;
17
+ align-self: center;
18
+
19
+ &--clickable {
20
+ cursor: pointer;
21
+ }
22
+
23
+ &__content {
24
+ color: inherit;
25
+ }
26
+
27
+ &--clickable &__content {
28
+ user-select: none;
29
+ }
30
+
31
+ &--small {
32
+ font-size: 0.75rem;
33
+ padding: 3px 8px;
34
+ border-radius: $chip-border-radius * 0.75;
35
+ }
36
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"YDateCalendar.mjs","names":["computed","ref","useModelDuplex","useRender","useDate","useI18n","wrapInArray","defineComponent","propsFactory","YButton","pressYDateCalendarPropsOptions","year","Number","String","month","modelValue","Array","multiple","Boolean","range","allowedDates","Function","max","min","disabled","color","hideWeekdays","showAdjacentMonthDates","type","default","hideHeader","YDateCalendar","name","props","emits","date","setup","_ref","slots","dateUtil","i18n","container$","day$","model","v","displayValue","value","length","isArray","undefined","getYear","startOfYear","setYear","getMonth","startOfMonth","setMonth","weeksInMonth","weeks","getWeekArray","days","flat","daysInMonth","lastDay","week","day","push","addDays","today","map","weekIndex","index","isoDate","toISO","adjacent","isSameMonth","selected","find","isSameDay","formatted","format","getDay","isDisabled","weekStart","weekEnd","rangeStart","rangeEnd","interval","isInterval","hidden","hovered","localized","weekDays","locale","getWeekdays","displayYearMonth","isAfter","some","d","startDate","endDate","isBefore","onClickDay","item","findIndex","selection","firstDate","endOfDay","startOfDay","change","splice","_createVNode","header","weekDay","i","slotProps","onClick","_Fragment","_mergeProps","join"],"sources":["../../../src/components/date-picker/YDateCalendar.tsx"],"sourcesContent":["import { type PropType, computed, ref } from 'vue';\r\n\r\nimport { useModelDuplex } from '@/composables/communication';\r\nimport { useRender } from '@/composables/component';\r\nimport { useDate } from '@/composables/date';\r\nimport { useI18n } from '@/composables/i18n';\r\nimport { wrapInArray } from '@/util/array';\r\nimport { defineComponent, propsFactory } from '@/util/component';\r\n\r\nimport { YButton } from '../button';\r\n\r\nimport './YDateCalendar.scss';\r\n\r\nexport const pressYDateCalendarPropsOptions = propsFactory(\r\n {\r\n year: [Number, String],\r\n month: [Number, String],\r\n modelValue: Array as PropType<unknown[]>,\r\n multiple: Boolean,\r\n range: Boolean,\r\n allowedDates: [Array, Function],\r\n max: null as any as PropType<unknown>,\r\n min: null as any as PropType<unknown>,\r\n disabled: Boolean,\r\n color: String,\r\n hideWeekdays: Boolean,\r\n showAdjacentMonthDates: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n hideHeader: Boolean,\r\n },\r\n 'YDateCalendar',\r\n);\r\n\r\nexport const YDateCalendar = defineComponent({\r\n name: 'YDateCalendar',\r\n props: pressYDateCalendarPropsOptions(),\r\n emits: {\r\n 'update:modelValue': (date: any) => true,\r\n 'update:year': (date: any) => true,\r\n 'update:month': (date: any) => true,\r\n },\r\n setup(props, { slots }) {\r\n const dateUtil = useDate();\r\n const i18n = useI18n();\r\n const container$ = ref();\r\n const day$ = ref([]);\r\n\r\n const model = useModelDuplex(props, 'modelValue', [], (v) =>\r\n v == null ? [] : wrapInArray(v),\r\n );\r\n\r\n const displayValue = computed(() => {\r\n if (model.value.length > 0) return dateUtil.date(model.value[0]);\r\n if (props.min) return dateUtil.date(props.min);\r\n if (Array.isArray(props.allowedDates)) {\r\n return dateUtil.date(props.allowedDates[0]);\r\n }\r\n\r\n return dateUtil.date();\r\n });\r\n\r\n const year = useModelDuplex(\r\n props,\r\n 'year',\r\n undefined,\r\n (v) => {\r\n const value =\r\n v != null ? Number(v) : dateUtil.getYear(displayValue.value);\r\n\r\n return dateUtil.startOfYear(dateUtil.setYear(dateUtil.date(), value));\r\n },\r\n (v) => dateUtil.getYear(v),\r\n );\r\n\r\n const month = useModelDuplex(\r\n props,\r\n 'month',\r\n undefined,\r\n (v) => {\r\n const value =\r\n v != null ? Number(v) : dateUtil.getMonth(displayValue.value);\r\n let date = dateUtil.setYear(\r\n dateUtil.date(),\r\n dateUtil.getYear(year.value),\r\n );\r\n date = dateUtil.startOfMonth(date);\r\n return dateUtil.setMonth(date, value);\r\n },\r\n (v) => dateUtil.getMonth(v),\r\n );\r\n\r\n const weeksInMonth = computed(() => {\r\n const weeks = dateUtil.getWeekArray(month.value);\r\n const days = weeks.flat();\r\n\r\n const daysInMonth = 6 * 7;\r\n if (days.length < daysInMonth) {\r\n const lastDay = days[days.length - 1];\r\n\r\n let week = [];\r\n for (let day = 1; day <= daysInMonth - days.length; day++) {\r\n week.push(dateUtil.addDays(lastDay, day));\r\n\r\n if (day % 7 === 0) {\r\n weeks.push(week);\r\n week = [];\r\n }\r\n }\r\n }\r\n\r\n return weeks;\r\n });\r\n\r\n const daysInMonth = computed(() => {\r\n const weeks = weeksInMonth.value;\r\n const today = dateUtil.date();\r\n\r\n return weeks.map((days, weekIndex) =>\r\n days.map((date, index) => {\r\n const isoDate = dateUtil.toISO(date);\r\n const adjacent = !dateUtil.isSameMonth(date, month.value);\r\n const selected = !!model.value?.find(\r\n (value: unknown) =>\r\n value != null && dateUtil.isSameDay(date, value),\r\n );\r\n return {\r\n date,\r\n isoDate,\r\n formatted: dateUtil.format(date, 'keyboardDate'),\r\n year: dateUtil.getYear(date),\r\n month: dateUtil.getMonth(date),\r\n day: dateUtil.getDay(date),\r\n disabled: isDisabled(date),\r\n weekStart: index % 7 === 0,\r\n weekEnd: index % 7 === 6,\r\n rangeStart:\r\n selected &&\r\n model.value.length > 1 &&\r\n props.range &&\r\n dateUtil.isSameDay(rangeStart.value, date),\r\n rangeEnd:\r\n selected &&\r\n model.value.length === 2 &&\r\n props.range &&\r\n dateUtil.isSameDay(rangeEnd.value, date),\r\n weekIndex,\r\n selected,\r\n interval: isInterval(date),\r\n today: dateUtil.isSameDay(date, today),\r\n adjacent,\r\n hidden: adjacent && !props.showAdjacentMonthDates,\r\n hovered: false,\r\n localized: dateUtil.format(date, 'dayOfMonth'),\r\n };\r\n }),\r\n );\r\n });\r\n\r\n const weekDays = computed(() => {\r\n return i18n.locale && dateUtil.getWeekdays();\r\n });\r\n\r\n const displayYearMonth = computed(() => {\r\n return dateUtil.format(month.value, 'monthAndYear');\r\n });\r\n\r\n const rangeStart = computed(() => {\r\n if (props.range && model.value?.[0]) {\r\n return model.value[0];\r\n }\r\n });\r\n\r\n const rangeEnd = computed(() => {\r\n if (props.range && model.value?.[1]) {\r\n return model.value[1];\r\n }\r\n });\r\n\r\n function isDisabled(value: unknown) {\r\n if (props.disabled) return true;\r\n\r\n const date = dateUtil.date(value);\r\n\r\n if (props.min && dateUtil.isAfter(dateUtil.date(props.min), date))\r\n return true;\r\n if (props.max && dateUtil.isAfter(date, dateUtil.date(props.max)))\r\n return true;\r\n\r\n if (Array.isArray(props.allowedDates) && props.allowedDates.length > 0) {\r\n return !props.allowedDates.some((d) =>\r\n dateUtil.isSameDay(dateUtil.date(d), date),\r\n );\r\n }\r\n\r\n if (typeof props.allowedDates === 'function') {\r\n return !props.allowedDates(date);\r\n }\r\n\r\n return false;\r\n }\r\n\r\n function isInterval(value: unknown) {\r\n if (!props.range) return false;\r\n if (model.value.length === 2) {\r\n const date = dateUtil.date(value);\r\n const startDate = dateUtil.date(model.value[0]);\r\n const endDate = dateUtil.date(model.value[1]);\r\n if (\r\n dateUtil.isAfter(date, startDate) &&\r\n dateUtil.isBefore(date, endDate)\r\n ) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n function onClickDay(item: any) {\r\n const value = item.date;\r\n if (props.multiple) {\r\n const index = model.value.findIndex((selection: unknown) =>\r\n dateUtil.isSameDay(selection, value),\r\n );\r\n\r\n if (props.range) {\r\n if (model.value.length === 1) {\r\n const firstDate = dateUtil.date(model.value[0]);\r\n const date = dateUtil.date(value);\r\n if (dateUtil.isAfter(firstDate, date)) {\r\n model.value = [date, dateUtil.endOfDay(model.value[0])];\r\n } else {\r\n model.value = [\r\n dateUtil.startOfDay(model.value[0]),\r\n dateUtil.endOfDay(value),\r\n ];\r\n }\r\n } else {\r\n model.value = [value];\r\n }\r\n } else {\r\n if (index === -1) {\r\n model.value = [...model.value, value];\r\n } else {\r\n const change = [...model.value];\r\n change.splice(index, 1);\r\n model.value = change;\r\n }\r\n }\r\n } else {\r\n model.value = [value];\r\n }\r\n }\r\n\r\n useRender(() => (\r\n <div\r\n class={[\r\n 'y-date-calendar',\r\n { 'y-date-calendar--range': props.range && model.value.length === 2 },\r\n ]}\r\n >\r\n {!props.hideHeader && (\r\n <header class=\"y-date-calendar__header\">\r\n {slots.header ? slots.header() : displayYearMonth.value}\r\n </header>\r\n )}\r\n <div ref={container$} class={['y-date-calendar__container']}>\r\n {!props.hideWeekdays && (\r\n <div class={['y-date-calendar__week']}>\r\n {weekDays.value.map((weekDay) => (\r\n <div\r\n class={['y-date-calendar__cell', 'y-date-calendar__weekday']}\r\n >\r\n {weekDay}\r\n </div>\r\n ))}\r\n </div>\r\n )}\r\n {daysInMonth.value.map((week, i) => {\r\n return (\r\n <div\r\n class={['y-date-calendar__week']}\r\n role=\"row\"\r\n aria-rowindex={i}\r\n >\r\n {week.map((item, index) => {\r\n const slotProps = {\r\n props: {\r\n onClick: () => {\r\n onClickDay(item);\r\n },\r\n },\r\n item,\r\n index,\r\n } as const;\r\n\r\n return (\r\n <div\r\n class={[\r\n 'y-date-calendar__cell',\r\n 'y-date-calendar__day',\r\n {\r\n 'y-date-calendar__day--adjacent': item.adjacent,\r\n 'y-date-calendar__day--hovered': item.hovered,\r\n 'y-date-calendar__day--selected': item.selected,\r\n 'y-date-calendar__day--week-start': item.weekStart,\r\n 'y-date-calendar__day--week-end': item.weekEnd,\r\n 'y-date-calendar__day--range-interval': item.interval,\r\n 'y-date-calendar__day--range-start': item.rangeStart,\r\n 'y-date-calendar__day--range-end': item.rangeEnd,\r\n },\r\n ]}\r\n data-date={!item.disabled ? item.isoDate : undefined}\r\n >\r\n {(props.showAdjacentMonthDates || !item.adjacent) && (\r\n <>\r\n {slots.day?.(slotProps) ?? (\r\n <YButton\r\n color={\r\n (item.selected || item.today) && !item.disabled\r\n ? props.color\r\n : undefined\r\n }\r\n disabled={item.disabled}\r\n variation={[\r\n 'rounded',\r\n item.selected\r\n ? 'filled'\r\n : item.today\r\n ? 'outlined'\r\n : 'text',\r\n ].join(',')}\r\n {...slotProps.props}\r\n >\r\n {item.day}\r\n </YButton>\r\n )}\r\n </>\r\n )}\r\n </div>\r\n );\r\n })}\r\n </div>\r\n );\r\n })}\r\n </div>\r\n </div>\r\n ));\r\n\r\n return {\r\n day$,\r\n container$,\r\n dateUtil,\r\n displayValue,\r\n month,\r\n year,\r\n rangeStart,\r\n rangeEnd,\r\n model,\r\n };\r\n },\r\n});\r\n\r\nexport type YDateCalendar = InstanceType<typeof YDateCalendar>;\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"YDateCalendar.mjs","names":["computed","ref","useModelDuplex","useRender","useDate","useI18n","wrapInArray","defineComponent","propsFactory","YButton","pressYDateCalendarPropsOptions","year","Number","String","month","modelValue","Array","multiple","Boolean","range","allowedDates","Function","max","min","disabled","color","hideWeekdays","showAdjacentMonthDates","type","default","hideHeader","YDateCalendar","name","props","emits","date","setup","_ref","slots","dateUtil","i18n","container$","day$","model","v","displayValue","value","length","isArray","undefined","getYear","startOfYear","setYear","getMonth","startOfMonth","setMonth","weeksInMonth","weeks","getWeekArray","days","flat","daysInMonth","lastDay","week","day","push","addDays","today","map","weekIndex","index","isoDate","toISO","adjacent","isSameMonth","selected","find","isSameDay","formatted","format","getDay","isDisabled","weekStart","weekEnd","rangeStart","rangeEnd","interval","isInterval","hidden","hovered","localized","weekDays","locale","getWeekdays","displayYearMonth","isAfter","some","d","startDate","endDate","isBefore","onClickDay","item","findIndex","selection","firstDate","endOfDay","startOfDay","change","splice","_createVNode","header","weekDay","i","slotProps","onClick","_Fragment","_mergeProps","join"],"sources":["../../../src/components/date-picker/YDateCalendar.tsx"],"sourcesContent":["import { type PropType, computed, ref } from 'vue';\n\nimport { useModelDuplex } from '@/composables/communication';\nimport { useRender } from '@/composables/component';\nimport { useDate } from '@/composables/date';\nimport { useI18n } from '@/composables/i18n';\nimport { wrapInArray } from '@/util/array';\nimport { defineComponent, propsFactory } from '@/util/component';\n\nimport { YButton } from '../button';\n\nimport './YDateCalendar.scss';\n\nexport const pressYDateCalendarPropsOptions = propsFactory(\n {\n year: [Number, String],\n month: [Number, String],\n modelValue: Array as PropType<unknown[]>,\n multiple: Boolean,\n range: Boolean,\n allowedDates: [Array, Function],\n max: null as any as PropType<unknown>,\n min: null as any as PropType<unknown>,\n disabled: Boolean,\n color: String,\n hideWeekdays: Boolean,\n showAdjacentMonthDates: {\n type: Boolean,\n default: true,\n },\n hideHeader: Boolean,\n },\n 'YDateCalendar',\n);\n\nexport const YDateCalendar = defineComponent({\n name: 'YDateCalendar',\n props: pressYDateCalendarPropsOptions(),\n emits: {\n 'update:modelValue': (date: any) => true,\n 'update:year': (date: any) => true,\n 'update:month': (date: any) => true,\n },\n setup(props, { slots }) {\n const dateUtil = useDate();\n const i18n = useI18n();\n const container$ = ref();\n const day$ = ref([]);\n\n const model = useModelDuplex(props, 'modelValue', [], (v) =>\n v == null ? [] : wrapInArray(v),\n );\n\n const displayValue = computed(() => {\n if (model.value.length > 0) return dateUtil.date(model.value[0]);\n if (props.min) return dateUtil.date(props.min);\n if (Array.isArray(props.allowedDates)) {\n return dateUtil.date(props.allowedDates[0]);\n }\n\n return dateUtil.date();\n });\n\n const year = useModelDuplex(\n props,\n 'year',\n undefined,\n (v) => {\n const value =\n v != null ? Number(v) : dateUtil.getYear(displayValue.value);\n\n return dateUtil.startOfYear(dateUtil.setYear(dateUtil.date(), value));\n },\n (v) => dateUtil.getYear(v),\n );\n\n const month = useModelDuplex(\n props,\n 'month',\n undefined,\n (v) => {\n const value =\n v != null ? Number(v) : dateUtil.getMonth(displayValue.value);\n let date = dateUtil.setYear(\n dateUtil.date(),\n dateUtil.getYear(year.value),\n );\n date = dateUtil.startOfMonth(date);\n return dateUtil.setMonth(date, value);\n },\n (v) => dateUtil.getMonth(v),\n );\n\n const weeksInMonth = computed(() => {\n const weeks = dateUtil.getWeekArray(month.value);\n const days = weeks.flat();\n\n const daysInMonth = 6 * 7;\n if (days.length < daysInMonth) {\n const lastDay = days[days.length - 1];\n\n let week = [];\n for (let day = 1; day <= daysInMonth - days.length; day++) {\n week.push(dateUtil.addDays(lastDay, day));\n\n if (day % 7 === 0) {\n weeks.push(week);\n week = [];\n }\n }\n }\n\n return weeks;\n });\n\n const daysInMonth = computed(() => {\n const weeks = weeksInMonth.value;\n const today = dateUtil.date();\n\n return weeks.map((days, weekIndex) =>\n days.map((date, index) => {\n const isoDate = dateUtil.toISO(date);\n const adjacent = !dateUtil.isSameMonth(date, month.value);\n const selected = !!model.value?.find(\n (value: unknown) =>\n value != null && dateUtil.isSameDay(date, value),\n );\n return {\n date,\n isoDate,\n formatted: dateUtil.format(date, 'keyboardDate'),\n year: dateUtil.getYear(date),\n month: dateUtil.getMonth(date),\n day: dateUtil.getDay(date),\n disabled: isDisabled(date),\n weekStart: index % 7 === 0,\n weekEnd: index % 7 === 6,\n rangeStart:\n selected &&\n model.value.length > 1 &&\n props.range &&\n dateUtil.isSameDay(rangeStart.value, date),\n rangeEnd:\n selected &&\n model.value.length === 2 &&\n props.range &&\n dateUtil.isSameDay(rangeEnd.value, date),\n weekIndex,\n selected,\n interval: isInterval(date),\n today: dateUtil.isSameDay(date, today),\n adjacent,\n hidden: adjacent && !props.showAdjacentMonthDates,\n hovered: false,\n localized: dateUtil.format(date, 'dayOfMonth'),\n };\n }),\n );\n });\n\n const weekDays = computed(() => {\n return i18n.locale && dateUtil.getWeekdays();\n });\n\n const displayYearMonth = computed(() => {\n return dateUtil.format(month.value, 'monthAndYear');\n });\n\n const rangeStart = computed(() => {\n if (props.range && model.value?.[0]) {\n return model.value[0];\n }\n });\n\n const rangeEnd = computed(() => {\n if (props.range && model.value?.[1]) {\n return model.value[1];\n }\n });\n\n function isDisabled(value: unknown) {\n if (props.disabled) return true;\n\n const date = dateUtil.date(value);\n\n if (props.min && dateUtil.isAfter(dateUtil.date(props.min), date))\n return true;\n if (props.max && dateUtil.isAfter(date, dateUtil.date(props.max)))\n return true;\n\n if (Array.isArray(props.allowedDates) && props.allowedDates.length > 0) {\n return !props.allowedDates.some((d) =>\n dateUtil.isSameDay(dateUtil.date(d), date),\n );\n }\n\n if (typeof props.allowedDates === 'function') {\n return !props.allowedDates(date);\n }\n\n return false;\n }\n\n function isInterval(value: unknown) {\n if (!props.range) return false;\n if (model.value.length === 2) {\n const date = dateUtil.date(value);\n const startDate = dateUtil.date(model.value[0]);\n const endDate = dateUtil.date(model.value[1]);\n if (\n dateUtil.isAfter(date, startDate) &&\n dateUtil.isBefore(date, endDate)\n ) {\n return true;\n }\n }\n return false;\n }\n\n function onClickDay(item: any) {\n const value = item.date;\n if (props.multiple) {\n const index = model.value.findIndex((selection: unknown) =>\n dateUtil.isSameDay(selection, value),\n );\n\n if (props.range) {\n if (model.value.length === 1) {\n const firstDate = dateUtil.date(model.value[0]);\n const date = dateUtil.date(value);\n if (dateUtil.isAfter(firstDate, date)) {\n model.value = [date, dateUtil.endOfDay(model.value[0])];\n } else {\n model.value = [\n dateUtil.startOfDay(model.value[0]),\n dateUtil.endOfDay(value),\n ];\n }\n } else {\n model.value = [value];\n }\n } else {\n if (index === -1) {\n model.value = [...model.value, value];\n } else {\n const change = [...model.value];\n change.splice(index, 1);\n model.value = change;\n }\n }\n } else {\n model.value = [value];\n }\n }\n\n useRender(() => (\n <div\n class={[\n 'y-date-calendar',\n { 'y-date-calendar--range': props.range && model.value.length === 2 },\n ]}\n >\n {!props.hideHeader && (\n <header class=\"y-date-calendar__header\">\n {slots.header ? slots.header() : displayYearMonth.value}\n </header>\n )}\n <div ref={container$} class={['y-date-calendar__container']}>\n {!props.hideWeekdays && (\n <div class={['y-date-calendar__week']}>\n {weekDays.value.map((weekDay) => (\n <div\n class={['y-date-calendar__cell', 'y-date-calendar__weekday']}\n >\n {weekDay}\n </div>\n ))}\n </div>\n )}\n {daysInMonth.value.map((week, i) => {\n return (\n <div\n class={['y-date-calendar__week']}\n role=\"row\"\n aria-rowindex={i}\n >\n {week.map((item, index) => {\n const slotProps = {\n props: {\n onClick: () => {\n onClickDay(item);\n },\n },\n item,\n index,\n } as const;\n\n return (\n <div\n class={[\n 'y-date-calendar__cell',\n 'y-date-calendar__day',\n {\n 'y-date-calendar__day--adjacent': item.adjacent,\n 'y-date-calendar__day--hovered': item.hovered,\n 'y-date-calendar__day--selected': item.selected,\n 'y-date-calendar__day--week-start': item.weekStart,\n 'y-date-calendar__day--week-end': item.weekEnd,\n 'y-date-calendar__day--range-interval': item.interval,\n 'y-date-calendar__day--range-start': item.rangeStart,\n 'y-date-calendar__day--range-end': item.rangeEnd,\n },\n ]}\n data-date={!item.disabled ? item.isoDate : undefined}\n >\n {(props.showAdjacentMonthDates || !item.adjacent) && (\n <>\n {slots.day?.(slotProps) ?? (\n <YButton\n color={\n (item.selected || item.today) && !item.disabled\n ? props.color\n : undefined\n }\n disabled={item.disabled}\n variation={[\n 'rounded',\n item.selected\n ? 'filled'\n : item.today\n ? 'outlined'\n : 'text',\n ].join(',')}\n {...slotProps.props}\n >\n {item.day}\n </YButton>\n )}\n </>\n )}\n </div>\n );\n })}\n </div>\n );\n })}\n </div>\n </div>\n ));\n\n return {\n day$,\n container$,\n dateUtil,\n displayValue,\n month,\n year,\n rangeStart,\n rangeEnd,\n model,\n };\n },\n});\n\nexport type YDateCalendar = InstanceType<typeof YDateCalendar>;\n"],"mappings":"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"}
@@ -1,84 +1,84 @@
1
- @use '../../styles/util/mixin';
2
-
3
- .y-date-calendar {
4
- padding: 0 8px;
5
-
6
- &__header {
7
- display: flex;
8
- padding: 0 12px 12px;
9
- font-weight: 500;
10
- }
11
-
12
- &__week {
13
- display: grid;
14
- grid-template-columns: repeat(7, min-content);
15
- }
16
-
17
- &__cell {
18
- width: 40px;
19
- height: 40px;
20
- display: flex;
21
- flex-direction: column;
22
- justify-content: center;
23
- align-items: center;
24
- }
25
-
26
- &__weekday {
27
- font-size: 0.875rem;
28
- font-weight: 600;
29
- }
30
-
31
- &__day {
32
- position: relative;
33
-
34
- .y-button {
35
- width: 36px;
36
- height: 36px;
37
- --y-button__disabled-background: transparent;
38
- }
39
-
40
- &--adjacent {
41
- color: var(--y-theme-on-surface-variant);
42
- opacity: 0.5;
43
- }
44
-
45
- &:before {
46
- content: '';
47
- position: absolute;
48
- right: 0;
49
- left: 0;
50
- top: calc((40px - 36px) / 2);
51
- bottom: calc((40px - 36px) / 2);
52
- }
53
-
54
- &--range-interval:before {
55
- background: rgba(var(--y-theme-primary-rgb), 0.3);
56
- }
57
-
58
- &--range-start:before,
59
- &--range-end:before {
60
- background: rgba(var(--y-theme-primary-rgb), 0.3);
61
- }
62
-
63
- &--range-start:before,
64
- &--week-start:before {
65
- left: calc((40px - 36px) / 2);
66
- }
67
-
68
- &--range-end:before,
69
- &--week-end:before {
70
- right: calc((40px - 36px) / 2);
71
- }
72
-
73
- &--range-interval#{&}--week-start:before,
74
- &--range-start:before {
75
- @include mixin.borderRadius(50%, 'left');
76
- }
77
-
78
- &--range-interval#{&}--week-end:before,
79
- &--range-start#{&}--week-end:before,
80
- &--range-end:before {
81
- @include mixin.borderRadius(50%, 'right');
82
- }
83
- }
84
- }
1
+ @use '../../styles/util/mixin';
2
+
3
+ .y-date-calendar {
4
+ padding: 0 8px;
5
+
6
+ &__header {
7
+ display: flex;
8
+ padding: 0 12px 12px;
9
+ font-weight: 500;
10
+ }
11
+
12
+ &__week {
13
+ display: grid;
14
+ grid-template-columns: repeat(7, min-content);
15
+ }
16
+
17
+ &__cell {
18
+ width: 40px;
19
+ height: 40px;
20
+ display: flex;
21
+ flex-direction: column;
22
+ justify-content: center;
23
+ align-items: center;
24
+ }
25
+
26
+ &__weekday {
27
+ font-size: 0.875rem;
28
+ font-weight: 600;
29
+ }
30
+
31
+ &__day {
32
+ position: relative;
33
+
34
+ .y-button {
35
+ width: 36px;
36
+ height: 36px;
37
+ --y-button__disabled-background: transparent;
38
+ }
39
+
40
+ &--adjacent {
41
+ color: var(--y-theme-on-surface-variant);
42
+ opacity: 0.5;
43
+ }
44
+
45
+ &:before {
46
+ content: '';
47
+ position: absolute;
48
+ right: 0;
49
+ left: 0;
50
+ top: calc((40px - 36px) / 2);
51
+ bottom: calc((40px - 36px) / 2);
52
+ }
53
+
54
+ &--range-interval:before {
55
+ background: rgba(var(--y-theme-primary-rgb), 0.3);
56
+ }
57
+
58
+ &--range-start:before,
59
+ &--range-end:before {
60
+ background: rgba(var(--y-theme-primary-rgb), 0.3);
61
+ }
62
+
63
+ &--range-start:before,
64
+ &--week-start:before {
65
+ left: calc((40px - 36px) / 2);
66
+ }
67
+
68
+ &--range-end:before,
69
+ &--week-end:before {
70
+ right: calc((40px - 36px) / 2);
71
+ }
72
+
73
+ &--range-interval#{&}--week-start:before,
74
+ &--range-start:before {
75
+ @include mixin.borderRadius(50%, 'left');
76
+ }
77
+
78
+ &--range-interval#{&}--week-end:before,
79
+ &--range-start#{&}--week-end:before,
80
+ &--range-end:before {
81
+ @include mixin.borderRadius(50%, 'right');
82
+ }
83
+ }
84
+ }