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.
- package/LICENSE +191 -191
- package/README.md +15 -15
- package/dist/yuyeon.js +1813 -1876
- package/dist/yuyeon.umd.cjs +3 -3
- package/lib/abstract/items.mjs.map +1 -1
- package/lib/components/alert/YAlert.mjs +2 -2
- package/lib/components/alert/YAlert.mjs.map +1 -1
- package/lib/components/alert/YAlert.scss +77 -77
- package/lib/components/app/YApp.mjs +2 -2
- package/lib/components/app/YApp.mjs.map +1 -1
- package/lib/components/bench/YBench.mjs +2 -2
- package/lib/components/bench/YBench.mjs.map +1 -1
- package/lib/components/button/YButton.scss +137 -137
- package/lib/components/card/YCard.mjs.map +1 -1
- package/lib/components/card/YCard.scss +45 -45
- package/lib/components/card/YCardBody.mjs.map +1 -1
- package/lib/components/card/YCardFooter.mjs.map +1 -1
- package/lib/components/card/YCardHeader.mjs.map +1 -1
- package/lib/components/checkbox/YCheckbox.mjs.map +1 -1
- package/lib/components/checkbox/YInputCheckbox.mjs.map +1 -1
- package/lib/components/checkbox/YInputCheckbox.scss +84 -84
- package/lib/components/checkbox/index.mjs.map +1 -1
- package/lib/components/chip/YChip.scss +36 -36
- package/lib/components/date-picker/YDateCalendar.mjs.map +1 -1
- package/lib/components/date-picker/YDateCalendar.scss +84 -84
- package/lib/components/date-picker/YDatePicker.mjs +2 -2
- package/lib/components/date-picker/YDatePicker.mjs.map +1 -1
- package/lib/components/date-picker/YDatePickerControl.mjs.map +1 -1
- package/lib/components/date-picker/YMonthPicker.mjs.map +1 -1
- package/lib/components/date-picker/YYearPicker.mjs.map +1 -1
- package/lib/components/dialog/index.mjs.map +1 -1
- package/lib/components/divider/YDivider.mjs.map +1 -1
- package/lib/components/divider/YDivider.scss +2 -2
- package/lib/components/draggable/YDraggable.mjs +2 -2
- package/lib/components/draggable/YDraggable.mjs.map +1 -1
- package/lib/components/dropdown/YDropdown.mjs.map +1 -1
- package/lib/components/dropdown/YDropdown.scss +27 -27
- package/lib/components/field-input/index.mjs.map +1 -1
- package/lib/components/form/YForm.mjs.map +1 -1
- package/lib/components/hover/YHover.mjs +1 -1
- package/lib/components/hover/YHover.mjs.map +1 -1
- package/lib/components/icon/YIcon.mjs.map +1 -1
- package/lib/components/icon/YIcon.scss +18 -18
- package/lib/components/icons/YIconCheckbox.mjs.map +1 -1
- package/lib/components/icons/YIconClear.mjs.map +1 -1
- package/lib/components/icons/YIconDropdown.mjs.map +1 -1
- package/lib/components/icons/YIconExpand.mjs.map +1 -1
- package/lib/components/icons/YIconPageControl.mjs.map +1 -1
- package/lib/components/icons/YIconSort.mjs.map +1 -1
- package/lib/components/icons/YIconSort.scss +24 -24
- package/lib/components/icons/index.mjs.map +1 -1
- package/lib/components/img/YImg.mjs +4 -4
- package/lib/components/img/YImg.mjs.map +1 -1
- package/lib/components/index.mjs.map +1 -1
- package/lib/components/input/YInput.mjs.map +1 -1
- package/lib/components/input/YInput.scss +258 -258
- package/lib/components/ip-field/YIpv4Field.mjs.map +1 -1
- package/lib/components/layer/YLayer.mjs.map +1 -1
- package/lib/components/layer/active-stack.mjs.map +1 -1
- package/lib/components/layer/base.mjs.map +1 -1
- package/lib/components/layer/content.mjs.map +1 -1
- package/lib/components/layer/scroll-strategies.mjs.map +1 -1
- package/lib/components/list/YList.mjs.map +1 -1
- package/lib/components/list/YListItem.mjs.map +1 -1
- package/lib/components/loading/YSpinnerRing.mjs.map +1 -1
- package/lib/components/menu/YMenu.mjs +2 -2
- package/lib/components/menu/YMenu.mjs.map +1 -1
- package/lib/components/menu/YMenu.scss +25 -25
- package/lib/components/navigation/YNavigation.mjs.map +1 -1
- package/lib/components/pagination/YPagination.mjs.map +1 -1
- package/lib/components/pagination/YPagination.scss +52 -52
- package/lib/components/panel/YDividePanel.mjs.map +1 -1
- package/lib/components/plate/YPlate.mjs +2 -2
- package/lib/components/plate/YPlate.mjs.map +1 -1
- package/lib/components/progress-bar/YProgressBar.mjs.map +1 -1
- package/lib/components/progress-bar/YProgressBar.scss +120 -120
- package/lib/components/progress-ring/YProgressRing.mjs +2 -2
- package/lib/components/progress-ring/YProgressRing.mjs.map +1 -1
- package/lib/components/progress-ring/YProgressRing.scss +38 -38
- package/lib/components/progress-ring/index.mjs.map +1 -1
- package/lib/components/select/YSelect.mjs.map +1 -1
- package/lib/components/slider/YSlider.mjs.map +1 -1
- package/lib/components/snackbar/YSnackbar.mjs +5 -5
- package/lib/components/snackbar/YSnackbar.mjs.map +1 -1
- package/lib/components/switch/YSwitch.mjs.map +1 -1
- package/lib/components/switch/YSwitch.scss +211 -211
- package/lib/components/tab/YTab.mjs.map +1 -1
- package/lib/components/tab/YTab.scss +73 -73
- package/lib/components/tab/YTabs.mjs.map +1 -1
- package/lib/components/tab/YTabs.scss +8 -8
- package/lib/components/tab/index.mjs.map +1 -1
- package/lib/components/tab/types.mjs.map +1 -1
- package/lib/components/table/YDataTableBody.mjs.map +1 -1
- package/lib/components/table/YDataTableCell.mjs.map +1 -1
- package/lib/components/table/YDataTableHead.mjs.map +1 -1
- package/lib/components/table/YDataTableLayer.mjs.map +1 -1
- package/lib/components/table/YDataTableRow.mjs.map +1 -1
- package/lib/components/table/YTable.mjs.map +1 -1
- package/lib/components/table/YTable.scss +157 -157
- package/lib/components/table/composibles/header.mjs.map +1 -1
- package/lib/components/table/composibles/items.mjs.map +1 -1
- package/lib/components/table/composibles/options.mjs.map +1 -1
- package/lib/components/table/composibles/pagination.mjs.map +1 -1
- package/lib/components/table/composibles/selection.mjs.map +1 -1
- package/lib/components/table/composibles/sorted-items.mjs.map +1 -1
- package/lib/components/table/composibles/sorting.mjs.map +1 -1
- package/lib/components/table/types/header.mjs.map +1 -1
- package/lib/components/table/types/index.mjs.map +1 -1
- package/lib/components/table/types/row.mjs.map +1 -1
- package/lib/components/text-ellipsis/YTextEllipsis.mjs.map +1 -1
- package/lib/components/text-ellipsis/YTextEllipsis.scss +43 -43
- package/lib/components/text-highlighter/YTextHighlighter.mjs.map +1 -1
- package/lib/components/text-interpolation/YTi.mjs.map +1 -1
- package/lib/components/textarea/YTextarea.mjs.map +1 -1
- package/lib/components/toggle-button/YToggleButton.mjs.map +1 -1
- package/lib/components/tooltip/YTooltip.mjs +2 -2
- package/lib/components/tooltip/YTooltip.mjs.map +1 -1
- package/lib/components/tree-view/YTreeView.mjs +5 -0
- package/lib/components/tree-view/YTreeView.mjs.map +1 -1
- package/lib/components/tree-view/YTreeView.scss +81 -81
- package/lib/components/tree-view/types.mjs.map +1 -1
- package/lib/components/tree-view/util.mjs.map +1 -1
- package/lib/composables/choice.mjs.map +1 -1
- package/lib/composables/communication.mjs.map +1 -1
- package/lib/composables/component.mjs.map +1 -1
- package/lib/composables/coordinate/arrangement.mjs.map +1 -1
- package/lib/composables/coordinate/index.mjs.map +1 -1
- package/lib/composables/coordinate/levitation.mjs +2 -2
- package/lib/composables/coordinate/levitation.mjs.map +1 -1
- package/lib/composables/coordinate/types.mjs.map +1 -1
- package/lib/composables/coordinate/utils/point.mjs.map +1 -1
- package/lib/composables/date/factory.mjs.map +1 -1
- package/lib/composables/date/index.mjs.map +1 -1
- package/lib/composables/date/setting.mjs.map +1 -1
- package/lib/composables/date/types.mjs.map +1 -1
- package/lib/composables/defaults/index.mjs.map +1 -1
- package/lib/composables/defaults/share.mjs.map +1 -1
- package/lib/composables/defaults/types.mjs.map +1 -1
- package/lib/composables/dimension.mjs.map +1 -1
- package/lib/composables/focus.mjs.map +1 -1
- package/lib/composables/form.mjs.map +1 -1
- package/lib/composables/i18n/index.mjs.map +1 -1
- package/lib/composables/i18n/locale.mjs.map +1 -1
- package/lib/composables/i18n/rtl.mjs.map +1 -1
- package/lib/composables/i18n/share.mjs.map +1 -1
- package/lib/composables/icon.mjs.map +1 -1
- package/lib/composables/index.mjs.map +1 -1
- package/lib/composables/layer-group.mjs.map +1 -1
- package/lib/composables/layout.mjs.map +1 -1
- package/lib/composables/list-items.mjs.map +1 -1
- package/lib/composables/progress.mjs.map +1 -1
- package/lib/composables/ref.mjs.map +1 -1
- package/lib/composables/resize-observer.mjs.map +1 -1
- package/lib/composables/scope.mjs.map +1 -1
- package/lib/composables/theme/factory.mjs.map +1 -1
- package/lib/composables/theme/index.mjs.map +1 -1
- package/lib/composables/theme/setting.mjs.map +1 -1
- package/lib/composables/theme/types.mjs.map +1 -1
- package/lib/composables/timing.mjs.map +1 -1
- package/lib/composables/transition.mjs.map +1 -1
- package/lib/composables/validation.mjs.map +1 -1
- package/lib/composables/vue-router.mjs.map +1 -1
- package/lib/directives/plate-wave/index.mjs +2 -2
- package/lib/directives/plate-wave/index.mjs.map +1 -1
- package/lib/etc/index.mjs.map +1 -1
- package/lib/i18n/built-in.mjs.map +1 -1
- package/lib/i18n/config.mjs.map +1 -1
- package/lib/i18n/types.mjs.map +1 -1
- package/lib/index.mjs +2 -1
- package/lib/index.mjs.map +1 -1
- package/lib/locales/en.mjs.map +1 -1
- package/lib/locales/index.mjs.map +1 -1
- package/lib/locales/ko.mjs.map +1 -1
- package/lib/styles/_elevation.scss +16 -16
- package/lib/styles/_palette.scss +1 -1
- package/lib/styles/base.scss +130 -130
- package/lib/styles/settings/_elevation.scss +20 -20
- package/lib/styles/settings/_variables.scss +14 -14
- package/lib/styles/theme/dark.scss +11 -11
- package/lib/styles/theme/light.scss +11 -11
- package/lib/styles/util/_mixin.scss +33 -33
- package/lib/styles/util/_var.scss +18 -18
- package/lib/util/anchor.mjs.map +1 -1
- package/lib/util/collection.mjs.map +1 -1
- package/lib/util/color/const.mjs.map +1 -1
- package/lib/util/color/index.mjs +12 -12
- package/lib/util/color/index.mjs.map +1 -1
- package/lib/util/color/types.mjs.map +1 -1
- package/lib/util/color/utils/math-utils.mjs +62 -62
- package/lib/util/color/utils/math-utils.mjs.map +1 -1
- package/lib/util/component/component.mjs.map +1 -1
- package/lib/util/component/index.mjs.map +1 -1
- package/lib/util/component/inject-self.mjs.map +1 -1
- package/lib/util/component/props.mjs.map +1 -1
- package/lib/util/component/types.mjs.map +1 -1
- package/lib/util/date/index.mjs.map +1 -1
- package/lib/util/date/types.mjs.map +1 -1
- package/lib/util/debounce.mjs.map +1 -1
- package/lib/util/environments.mjs.map +1 -1
- package/lib/util/index.mjs.map +1 -1
- package/lib/util/reactivity.mjs +3 -3
- package/lib/util/reactivity.mjs.map +1 -1
- package/lib/util/rect.mjs.map +1 -1
- package/lib/util/validation.mjs.map +1 -1
- package/package.json +120 -120
- package/types/globals.d.ts +20 -20
- package/types/shims.d.ts +55 -55
- package/lib/components/icon/poly.mjs +0 -57
- package/lib/components/icon/poly.mjs.map +0 -1
- package/lib/composables/group.mjs +0 -194
- package/lib/composables/group.mjs.map +0 -1
- package/lib/util/parser.mjs +0 -31
- package/lib/util/parser.mjs.map +0 -1
- package/lib/util/vue-component/index.mjs +0 -63
- package/lib/util/vue-component/index.mjs.map +0 -1
- package/lib/util/vue-component/props.mjs +0 -37
- package/lib/util/vue-component/props.mjs.map +0 -1
- package/lib/util/vue-component/types.mjs +0 -2
- package/lib/util/vue-component/types.mjs.map +0 -1
- package/lib/util/vue-component.mjs +0 -102
- package/lib/util/vue-component.mjs.map +0 -1
- package/types/components/select/YSelect.d.ts +0 -7062
- package/types/components/table/pagination.d.ts +0 -78
- package/types/components/tooltip/YTooltip.d.ts +0 -3711
- package/types/util/color/hct/hct_solver.d.ts +0 -146
- package/types/util/color/hct/viewing_conditions.d.ts +0 -74
- package/types/util/color/palettes/tonal_palette.d.ts +0 -55
- package/types/util/color/utils/math_utils.d.ts +0 -82
- package/types/util/parser.d.ts +0 -4
- package/types/util/vue-component/index.d.ts +0 -10
- package/types/util/vue-component/props.d.ts +0 -31
- package/types/util/vue-component/types.d.ts +0 -4
- package/types/util/vue-component.d.ts +0 -39
- /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';\
|
|
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';\
|
|
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';\
|
|
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
|
+
}
|