yuyeon 0.2.1-rc.9 → 0.2.2-rc.0
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/dist/yuyeon.js +1766 -1742
- package/dist/yuyeon.umd.cjs +3 -3
- package/lib/components/alert/YAlert.mjs +2 -2
- package/lib/components/alert/YAlert.mjs.map +1 -1
- package/lib/components/alert/YAlert.scss +75 -75
- package/lib/components/app/YApp.mjs +2 -2
- package/lib/components/app/YApp.mjs.map +1 -1
- package/lib/components/badge/YBadge.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.mjs +2 -2
- package/lib/components/button/YButton.mjs.map +1 -1
- package/lib/components/button/YButton.scss +128 -128
- 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.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 +8 -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 +8 -1
- package/lib/components/date-picker/YMonthPicker.mjs.map +1 -1
- package/lib/components/date-picker/YYearPicker.mjs +4 -0
- package/lib/components/date-picker/YYearPicker.mjs.map +1 -1
- package/lib/components/dialog/YDialog.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/dropdown/YDropdown.mjs.map +1 -1
- package/lib/components/dropdown/YDropdown.scss +27 -27
- package/lib/components/field-input/YFieldInput.mjs +1 -10
- package/lib/components/field-input/YFieldInput.mjs.map +1 -1
- 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.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/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 +2 -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/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 +204 -204
- 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/YDataTable.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/YDataTableControl.mjs.map +1 -1
- package/lib/components/table/YDataTableHead.mjs +2 -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 +1 -1
- package/lib/components/table/YDataTableRow.mjs.map +1 -1
- package/lib/components/table/YDataTableServer.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 +6 -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 +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/transitions/expand-transition.mjs +26 -6
- package/lib/components/transitions/expand-transition.mjs.map +1 -1
- package/lib/components/tree-view/YTreeView.mjs.map +1 -1
- package/lib/components/tree-view/YTreeView.scss +81 -81
- package/lib/components/tree-view/YTreeViewNode.mjs.map +1 -1
- 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/levitation.mjs +2 -2
- package/lib/composables/coordinate/levitation.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/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/icon.mjs.map +1 -1
- package/lib/composables/layer-group.mjs +2 -2
- 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/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/index.mjs.map +1 -1
- package/lib/util/anchor.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/date/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 +1 -1
- package/types/components/date-picker/YMonthPicker.d.ts +1 -1
- package/types/components/date-picker/YYearPicker.d.ts +1 -1
- package/types/components/dialog/YDialog.d.ts +7 -0
- package/types/components/dropdown/YDropdown.d.ts +6 -0
- package/types/components/layer/YLayer.d.ts +6 -0
- package/types/components/menu/YMenu.d.ts +3 -0
- package/types/components/select/YSelect.d.ts +31 -0
- package/types/components/snackbar/YSnackbar.d.ts +6 -0
- package/types/components/table/YDataTable.d.ts +10 -3
- package/types/components/table/YDataTableServer.d.ts +10 -3
- package/types/components/table/composibles/header.d.ts +8 -0
- package/types/components/table/composibles/selection.d.ts +2 -2
- package/types/components/table/types/header.d.ts +1 -0
- package/types/components/tooltip/YTooltip.d.ts +4 -0
- package/types/components/transitions/expand-transition.d.ts +3 -0
- package/types/components/transitions/index.d.ts +6 -0
- package/types/composables/layer-group.d.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-items.mjs","names":["computed","pressItemsPropsOptions","deepEqual","getPropertyFromItem","propsFactory","listItemsPropsOptions","itemKey","itemChildren","returnItem","Boolean","pressListItemsPropsOptions","refineListItems","props","items","ret","item","push","refineListItem","hide","disabled","text","itemText","value","children","Array","isArray","undefined","raw","useItems","toRefineItems","values","filter","v","some","map","found","find","toEmitItems","_ref","_ref2"],"sources":["../../src/composables/list-items.ts"],"sourcesContent":["import { type ExtractPropTypes, computed } from 'vue';\n\nimport { pressItemsPropsOptions } from '@/abstract/items';\nimport { deepEqual, getPropertyFromItem } from '@/util/common';\nimport { propsFactory } from '@/util/component';\n\nexport interface ListItem<T = any> {\n value: any;\n text: string;\n hide: boolean;\n disabled: boolean;\n props: {\n [key: string]: any;\n value: any;\n text: string;\n };\n children?: ListItem<T>[];\n raw: T;\n}\n\nconst listItemsPropsOptions = {\n ...pressItemsPropsOptions({\n itemKey: 'value',\n itemChildren: false,\n }),\n returnItem: Boolean,\n};\n\ntype ListItemProps = ExtractPropTypes<typeof listItemsPropsOptions>;\n\nexport const pressListItemsPropsOptions = propsFactory(\n listItemsPropsOptions,\n 'list-items',\n);\n\nexport function refineListItems(\n props: Omit<ListItemProps, 'items'>,\n items: any[],\n) {\n const ret: ListItem[] = [];\n for (const item of items) {\n ret.push(refineListItem(props, item));\n }\n return ret;\n}\n\nexport function refineListItem(\n props: Omit<ListItemProps, 'items'>,\n item: any,\n): ListItem {\n const hide = !!item?.hide;\n const disabled = !!item?.disabled;\n const text = getPropertyFromItem(item, props.itemText, item);\n const value = props.returnItem\n ? item\n : getPropertyFromItem(item, props.itemKey, text);\n const children = getPropertyFromItem(item, props.itemChildren);\n\n return {\n value,\n text,\n hide,\n disabled,\n props: {\n value,\n text,\n },\n children: Array.isArray(children)\n ? refineListItems(props, children)\n : undefined,\n raw: item,\n };\n}\n\nexport function useItems(props: ListItemProps) {\n const items = computed(() => refineListItems(props, props.items));\n\n function toRefineItems(values: any[]) {\n return values\n .filter(\n (v) => v !== null || items.value.some((item) => item.value === null),\n )\n .map((v) => {\n const found = items.value.find((item) => deepEqual(v, item.value));\n return found ?? refineListItem(props, v);\n });\n }\n\n function toEmitItems(items: any[]) {\n return props.returnItem\n ? items.map(({ raw }) => raw)\n : items.map(({ value }) => value);\n }\n\n return {\n items,\n toEmitItems,\n toRefineItems,\n };\n}\n"],"mappings":"AAAA,SAAgCA,QAAQ,QAAQ,KAAK;AAAC,SAE7CC,sBAAsB;AAAA,SACtBC,SAAS,EAAEC,mBAAmB;AAAA,SAC9BC,YAAY;AAgBrB,MAAMC,qBAAqB,GAAG;EAC5B,GAAGJ,sBAAsB,CAAC;IACxBK,OAAO,EAAE,OAAO;IAChBC,YAAY,EAAE;EAChB,CAAC,CAAC;EACFC,UAAU,EAAEC;AACd,CAAC;AAID,OAAO,MAAMC,0BAA0B,GAAGN,YAAY,CACpDC,qBAAqB,EACrB,YACF,CAAC;AAED,OAAO,SAASM,eAAeA,CAC7BC,KAAmC,EACnCC,KAAY,EACZ;EACA,MAAMC,GAAe,GAAG,EAAE;EAC1B,KAAK,MAAMC,IAAI,IAAIF,KAAK,EAAE;IACxBC,GAAG,CAACE,IAAI,CAACC,cAAc,CAACL,KAAK,EAAEG,IAAI,CAAC,CAAC;EACvC;EACA,OAAOD,GAAG;AACZ;AAEA,OAAO,SAASG,cAAcA,CAC5BL,KAAmC,EACnCG,IAAS,EACC;EACV,MAAMG,IAAI,GAAG,CAAC,CAACH,IAAI,EAAEG,IAAI;EACzB,MAAMC,QAAQ,GAAG,CAAC,CAACJ,IAAI,EAAEI,QAAQ;EACjC,MAAMC,IAAI,GAAGjB,mBAAmB,CAACY,IAAI,EAAEH,KAAK,CAACS,QAAQ,EAAEN,IAAI,CAAC;EAC5D,MAAMO,KAAK,GAAGV,KAAK,CAACJ,UAAU,GAC1BO,IAAI,GACJZ,mBAAmB,CAACY,IAAI,EAAEH,KAAK,CAACN,OAAO,EAAEc,IAAI,CAAC;EAClD,MAAMG,QAAQ,GAAGpB,mBAAmB,CAACY,IAAI,EAAEH,KAAK,CAACL,YAAY,CAAC;EAE9D,OAAO;IACLe,KAAK;IACLF,IAAI;IACJF,IAAI;IACJC,QAAQ;IACRP,KAAK,EAAE;MACLU,KAAK;MACLF;IACF,CAAC;IACDG,QAAQ,EAAEC,KAAK,CAACC,OAAO,CAACF,QAAQ,CAAC,GAC7BZ,eAAe,CAACC,KAAK,EAAEW,QAAQ,CAAC,GAChCG,SAAS;IACbC,GAAG,EAAEZ;EACP,CAAC;AACH;AAEA,OAAO,SAASa,QAAQA,CAAChB,KAAoB,EAAE;EAC7C,MAAMC,KAAK,GAAGb,QAAQ,CAAC,MAAMW,eAAe,CAACC,KAAK,EAAEA,KAAK,CAACC,KAAK,CAAC,CAAC;EAEjE,SAASgB,aAAaA,CAACC,MAAa,EAAE;IACpC,OAAOA,MAAM,CACVC,MAAM,CACJC,CAAC,IAAKA,CAAC,KAAK,IAAI,IAAInB,KAAK,CAACS,KAAK,CAACW,IAAI,CAAElB,IAAI,IAAKA,IAAI,CAACO,KAAK,KAAK,IAAI,CACrE,CAAC,CACAY,GAAG,CAAEF,CAAC,IAAK;MACV,MAAMG,KAAK,GAAGtB,KAAK,CAACS,KAAK,CAACc,IAAI,CAAErB,IAAI,IAAKb,SAAS,CAAC8B,CAAC,EAAEjB,IAAI,CAACO,KAAK,CAAC,CAAC;MAClE,OAAOa,KAAK,IAAIlB,cAAc,CAACL,KAAK,EAAEoB,CAAC,CAAC;IAC1C,CAAC,CAAC;EACN;EAEA,SAASK,WAAWA,CAACxB,KAAY,EAAE;IACjC,OAAOD,KAAK,CAACJ,UAAU,GACnBK,KAAK,CAACqB,GAAG,CAACI,IAAA;MAAA,IAAC;QAAEX;MAAI,CAAC,GAAAW,IAAA;MAAA,OAAKX,GAAG;IAAA,EAAC,GAC3Bd,KAAK,CAACqB,GAAG,CAACK,KAAA;MAAA,IAAC;QAAEjB;MAAM,CAAC,GAAAiB,KAAA;MAAA,OAAKjB,KAAK;IAAA,EAAC;EACrC;EAEA,OAAO;IACLT,KAAK;IACLwB,WAAW;IACXR;EACF,CAAC;AACH"}
|
|
1
|
+
{"version":3,"file":"list-items.mjs","names":["computed","pressItemsPropsOptions","deepEqual","getPropertyFromItem","propsFactory","listItemsPropsOptions","itemKey","itemChildren","returnItem","Boolean","pressListItemsPropsOptions","refineListItems","props","items","ret","item","push","refineListItem","hide","disabled","text","itemText","value","children","Array","isArray","undefined","raw","useItems","toRefineItems","values","filter","v","some","map","found","find","toEmitItems","_ref","_ref2"],"sources":["../../src/composables/list-items.ts"],"sourcesContent":["import { type ExtractPropTypes, computed } from 'vue';\r\n\r\nimport { pressItemsPropsOptions } from '@/abstract/items';\r\nimport { deepEqual, getPropertyFromItem } from '@/util/common';\r\nimport { propsFactory } from '@/util/component';\r\n\r\nexport interface ListItem<T = any> {\r\n value: any;\r\n text: string;\r\n hide: boolean;\r\n disabled: boolean;\r\n props: {\r\n [key: string]: any;\r\n value: any;\r\n text: string;\r\n };\r\n children?: ListItem<T>[];\r\n raw: T;\r\n}\r\n\r\nconst listItemsPropsOptions = {\r\n ...pressItemsPropsOptions({\r\n itemKey: 'value',\r\n itemChildren: false,\r\n }),\r\n returnItem: Boolean,\r\n};\r\n\r\ntype ListItemProps = ExtractPropTypes<typeof listItemsPropsOptions>;\r\n\r\nexport const pressListItemsPropsOptions = propsFactory(\r\n listItemsPropsOptions,\r\n 'list-items',\r\n);\r\n\r\nexport function refineListItems(\r\n props: Omit<ListItemProps, 'items'>,\r\n items: any[],\r\n) {\r\n const ret: ListItem[] = [];\r\n for (const item of items) {\r\n ret.push(refineListItem(props, item));\r\n }\r\n return ret;\r\n}\r\n\r\nexport function refineListItem(\r\n props: Omit<ListItemProps, 'items'>,\r\n item: any,\r\n): ListItem {\r\n const hide = !!item?.hide;\r\n const disabled = !!item?.disabled;\r\n const text = getPropertyFromItem(item, props.itemText, item);\r\n const value = props.returnItem\r\n ? item\r\n : getPropertyFromItem(item, props.itemKey, text);\r\n const children = getPropertyFromItem(item, props.itemChildren);\r\n\r\n return {\r\n value,\r\n text,\r\n hide,\r\n disabled,\r\n props: {\r\n value,\r\n text,\r\n },\r\n children: Array.isArray(children)\r\n ? refineListItems(props, children)\r\n : undefined,\r\n raw: item,\r\n };\r\n}\r\n\r\nexport function useItems(props: ListItemProps) {\r\n const items = computed(() => refineListItems(props, props.items));\r\n\r\n function toRefineItems(values: any[]) {\r\n return values\r\n .filter(\r\n (v) => v !== null || items.value.some((item) => item.value === null),\r\n )\r\n .map((v) => {\r\n const found = items.value.find((item) => deepEqual(v, item.value));\r\n return found ?? refineListItem(props, v);\r\n });\r\n }\r\n\r\n function toEmitItems(items: any[]) {\r\n return props.returnItem\r\n ? items.map(({ raw }) => raw)\r\n : items.map(({ value }) => value);\r\n }\r\n\r\n return {\r\n items,\r\n toEmitItems,\r\n toRefineItems,\r\n };\r\n}\r\n"],"mappings":"AAAA,SAAgCA,QAAQ,QAAQ,KAAK;AAAC,SAE7CC,sBAAsB;AAAA,SACtBC,SAAS,EAAEC,mBAAmB;AAAA,SAC9BC,YAAY;AAgBrB,MAAMC,qBAAqB,GAAG;EAC5B,GAAGJ,sBAAsB,CAAC;IACxBK,OAAO,EAAE,OAAO;IAChBC,YAAY,EAAE;EAChB,CAAC,CAAC;EACFC,UAAU,EAAEC;AACd,CAAC;AAID,OAAO,MAAMC,0BAA0B,GAAGN,YAAY,CACpDC,qBAAqB,EACrB,YACF,CAAC;AAED,OAAO,SAASM,eAAeA,CAC7BC,KAAmC,EACnCC,KAAY,EACZ;EACA,MAAMC,GAAe,GAAG,EAAE;EAC1B,KAAK,MAAMC,IAAI,IAAIF,KAAK,EAAE;IACxBC,GAAG,CAACE,IAAI,CAACC,cAAc,CAACL,KAAK,EAAEG,IAAI,CAAC,CAAC;EACvC;EACA,OAAOD,GAAG;AACZ;AAEA,OAAO,SAASG,cAAcA,CAC5BL,KAAmC,EACnCG,IAAS,EACC;EACV,MAAMG,IAAI,GAAG,CAAC,CAACH,IAAI,EAAEG,IAAI;EACzB,MAAMC,QAAQ,GAAG,CAAC,CAACJ,IAAI,EAAEI,QAAQ;EACjC,MAAMC,IAAI,GAAGjB,mBAAmB,CAACY,IAAI,EAAEH,KAAK,CAACS,QAAQ,EAAEN,IAAI,CAAC;EAC5D,MAAMO,KAAK,GAAGV,KAAK,CAACJ,UAAU,GAC1BO,IAAI,GACJZ,mBAAmB,CAACY,IAAI,EAAEH,KAAK,CAACN,OAAO,EAAEc,IAAI,CAAC;EAClD,MAAMG,QAAQ,GAAGpB,mBAAmB,CAACY,IAAI,EAAEH,KAAK,CAACL,YAAY,CAAC;EAE9D,OAAO;IACLe,KAAK;IACLF,IAAI;IACJF,IAAI;IACJC,QAAQ;IACRP,KAAK,EAAE;MACLU,KAAK;MACLF;IACF,CAAC;IACDG,QAAQ,EAAEC,KAAK,CAACC,OAAO,CAACF,QAAQ,CAAC,GAC7BZ,eAAe,CAACC,KAAK,EAAEW,QAAQ,CAAC,GAChCG,SAAS;IACbC,GAAG,EAAEZ;EACP,CAAC;AACH;AAEA,OAAO,SAASa,QAAQA,CAAChB,KAAoB,EAAE;EAC7C,MAAMC,KAAK,GAAGb,QAAQ,CAAC,MAAMW,eAAe,CAACC,KAAK,EAAEA,KAAK,CAACC,KAAK,CAAC,CAAC;EAEjE,SAASgB,aAAaA,CAACC,MAAa,EAAE;IACpC,OAAOA,MAAM,CACVC,MAAM,CACJC,CAAC,IAAKA,CAAC,KAAK,IAAI,IAAInB,KAAK,CAACS,KAAK,CAACW,IAAI,CAAElB,IAAI,IAAKA,IAAI,CAACO,KAAK,KAAK,IAAI,CACrE,CAAC,CACAY,GAAG,CAAEF,CAAC,IAAK;MACV,MAAMG,KAAK,GAAGtB,KAAK,CAACS,KAAK,CAACc,IAAI,CAAErB,IAAI,IAAKb,SAAS,CAAC8B,CAAC,EAAEjB,IAAI,CAACO,KAAK,CAAC,CAAC;MAClE,OAAOa,KAAK,IAAIlB,cAAc,CAACL,KAAK,EAAEoB,CAAC,CAAC;IAC1C,CAAC,CAAC;EACN;EAEA,SAASK,WAAWA,CAACxB,KAAY,EAAE;IACjC,OAAOD,KAAK,CAACJ,UAAU,GACnBK,KAAK,CAACqB,GAAG,CAACI,IAAA;MAAA,IAAC;QAAEX;MAAI,CAAC,GAAAW,IAAA;MAAA,OAAKX,GAAG;IAAA,EAAC,GAC3Bd,KAAK,CAACqB,GAAG,CAACK,KAAA;MAAA,IAAC;QAAEjB;MAAM,CAAC,GAAAiB,KAAA;MAAA,OAAKjB,KAAK;IAAA,EAAC;EACrC;EAEA,OAAO;IACLT,KAAK;IACLwB,WAAW;IACXR;EACF,CAAC;AACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress.mjs","names":["computed","shallowRef","watch","useProgress","props","delta","numValue","value","Number","isNaN","neo","old"],"sources":["../../src/composables/progress.ts"],"sourcesContent":["import { computed, shallowRef, watch } from 'vue';\n\nexport function useProgress(props: any) {\n const delta = shallowRef(0);\n\n const numValue = computed(() => {\n const { value } = props;\n const numValue = Number(value);\n if (Number.isNaN(numValue) || numValue < 0) {\n return 0;\n }\n if (numValue > 100) {\n return 100;\n }\n return numValue;\n });\n\n watch(numValue, (neo, old) => {\n delta.value = neo - old;\n });\n\n return {\n numValue,\n delta,\n };\n}\n"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,UAAU,EAAEC,KAAK,QAAQ,KAAK;AAEjD,OAAO,SAASC,WAAWA,CAACC,KAAU,EAAE;EACtC,MAAMC,KAAK,GAAGJ,UAAU,CAAC,CAAC,CAAC;EAE3B,MAAMK,QAAQ,GAAGN,QAAQ,CAAC,MAAM;IAC9B,MAAM;MAAEO;IAAM,CAAC,GAAGH,KAAK;IACvB,MAAME,QAAQ,GAAGE,MAAM,CAACD,KAAK,CAAC;IAC9B,IAAIC,MAAM,CAACC,KAAK,CAACH,QAAQ,CAAC,IAAIA,QAAQ,GAAG,CAAC,EAAE;MAC1C,OAAO,CAAC;IACV;IACA,IAAIA,QAAQ,GAAG,GAAG,EAAE;MAClB,OAAO,GAAG;IACZ;IACA,OAAOA,QAAQ;EACjB,CAAC,CAAC;EAEFJ,KAAK,CAACI,QAAQ,EAAE,CAACI,GAAG,EAAEC,GAAG,KAAK;IAC5BN,KAAK,CAACE,KAAK,GAAGG,GAAG,GAAGC,GAAG;EACzB,CAAC,CAAC;EAEF,OAAO;IACLL,QAAQ;IACRD;EACF,CAAC;AACH"}
|
|
1
|
+
{"version":3,"file":"progress.mjs","names":["computed","shallowRef","watch","useProgress","props","delta","numValue","value","Number","isNaN","neo","old"],"sources":["../../src/composables/progress.ts"],"sourcesContent":["import { computed, shallowRef, watch } from 'vue';\r\n\r\nexport function useProgress(props: any) {\r\n const delta = shallowRef(0);\r\n\r\n const numValue = computed(() => {\r\n const { value } = props;\r\n const numValue = Number(value);\r\n if (Number.isNaN(numValue) || numValue < 0) {\r\n return 0;\r\n }\r\n if (numValue > 100) {\r\n return 100;\r\n }\r\n return numValue;\r\n });\r\n\r\n watch(numValue, (neo, old) => {\r\n delta.value = neo - old;\r\n });\r\n\r\n return {\r\n numValue,\r\n delta,\r\n };\r\n}\r\n"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,UAAU,EAAEC,KAAK,QAAQ,KAAK;AAEjD,OAAO,SAASC,WAAWA,CAACC,KAAU,EAAE;EACtC,MAAMC,KAAK,GAAGJ,UAAU,CAAC,CAAC,CAAC;EAE3B,MAAMK,QAAQ,GAAGN,QAAQ,CAAC,MAAM;IAC9B,MAAM;MAAEO;IAAM,CAAC,GAAGH,KAAK;IACvB,MAAME,QAAQ,GAAGE,MAAM,CAACD,KAAK,CAAC;IAC9B,IAAIC,MAAM,CAACC,KAAK,CAACH,QAAQ,CAAC,IAAIA,QAAQ,GAAG,CAAC,EAAE;MAC1C,OAAO,CAAC;IACV;IACA,IAAIA,QAAQ,GAAG,GAAG,EAAE;MAClB,OAAO,GAAG;IACZ;IACA,OAAOA,QAAQ;EACjB,CAAC,CAAC;EAEFJ,KAAK,CAACI,QAAQ,EAAE,CAACI,GAAG,EAAEC,GAAG,KAAK;IAC5BN,KAAK,CAACE,KAAK,GAAGG,GAAG,GAAGC,GAAG;EACzB,CAAC,CAAC;EAEF,OAAO;IACLL,QAAQ;IACRD;EACF,CAAC;AACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ref.mjs","names":["onBeforeUpdate","ref","useRefs","refs","value","updateRef","e","i"],"sources":["../../src/composables/ref.ts"],"sourcesContent":["import { type Ref, onBeforeUpdate, ref } from 'vue';\n\nexport function useRefs<T extends {}>() {\n const refs = ref<(T | undefined)[]>([]) as Ref<(T | undefined)[]>;\n\n onBeforeUpdate(() => (refs.value = []));\n\n function updateRef(e: any, i: number) {\n refs.value[i] = e;\n }\n\n return { refs, updateRef };\n}\n"],"mappings":"AAAA,SAAmBA,cAAc,EAAEC,GAAG,QAAQ,KAAK;AAEnD,OAAO,SAASC,OAAOA,CAAA,EAAiB;EACtC,MAAMC,IAAI,GAAGF,GAAG,CAAoB,EAAE,CAA2B;EAEjED,cAAc,CAAC,MAAOG,IAAI,CAACC,KAAK,GAAG,EAAG,CAAC;EAEvC,SAASC,SAASA,CAACC,CAAM,EAAEC,CAAS,EAAE;IACpCJ,IAAI,CAACC,KAAK,CAACG,CAAC,CAAC,GAAGD,CAAC;EACnB;EAEA,OAAO;IAAEH,IAAI;IAAEE;EAAU,CAAC;AAC5B"}
|
|
1
|
+
{"version":3,"file":"ref.mjs","names":["onBeforeUpdate","ref","useRefs","refs","value","updateRef","e","i"],"sources":["../../src/composables/ref.ts"],"sourcesContent":["import { type Ref, onBeforeUpdate, ref } from 'vue';\r\n\r\nexport function useRefs<T extends {}>() {\r\n const refs = ref<(T | undefined)[]>([]) as Ref<(T | undefined)[]>;\r\n\r\n onBeforeUpdate(() => (refs.value = []));\r\n\r\n function updateRef(e: any, i: number) {\r\n refs.value[i] = e;\r\n }\r\n\r\n return { refs, updateRef };\r\n}\r\n"],"mappings":"AAAA,SAAmBA,cAAc,EAAEC,GAAG,QAAQ,KAAK;AAEnD,OAAO,SAASC,OAAOA,CAAA,EAAiB;EACtC,MAAMC,IAAI,GAAGF,GAAG,CAAoB,EAAE,CAA2B;EAEjED,cAAc,CAAC,MAAOG,IAAI,CAACC,KAAK,GAAG,EAAG,CAAC;EAEvC,SAASC,SAASA,CAACC,CAAM,EAAEC,CAAS,EAAE;IACpCJ,IAAI,CAACC,KAAK,CAACG,CAAC,CAAC,GAAGD,CAAC;EACnB;EAEA,OAAO;IAAEH,IAAI;IAAEE;EAAU,CAAC;AAC5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resize-observer.mjs","names":["onBeforeUnmount","readonly","ref","watch","getHtmlElement","Environments","useResizeObserver","callback","resizeObservedRef","contentRect","canUseResizeObserver","observer","ResizeObserver","entries","length","value","disconnect","neo","old","unobserve","undefined","observe","flush"],"sources":["../../src/composables/resize-observer.ts"],"sourcesContent":["import { onBeforeUnmount, readonly, ref, watch } from 'vue';\n\nimport { getHtmlElement } from '@/util/component';\nimport Environments from '@/util/environments';\n\nexport function useResizeObserver(callback?: ResizeObserverCallback) {\n const resizeObservedRef = ref<HTMLElement>();\n const contentRect = ref<DOMRectReadOnly>();\n if (Environments.canUseResizeObserver) {\n const observer = new ResizeObserver((entries, observer) => {\n callback?.(entries, observer);\n if (!entries.length) return;\n contentRect.value = entries[0].contentRect;\n });\n\n onBeforeUnmount(() => {\n observer.disconnect();\n });\n\n watch(\n resizeObservedRef,\n (neo, old) => {\n if (old) {\n observer.unobserve(getHtmlElement(old));\n contentRect.value = undefined;\n }\n if (neo) {\n observer.observe(getHtmlElement(neo));\n }\n },\n { flush: 'post' },\n );\n }\n\n return {\n resizeObservedRef,\n contentRect: readonly(contentRect),\n };\n}\n"],"mappings":"AAAA,SAASA,eAAe,EAAEC,QAAQ,EAAEC,GAAG,EAAEC,KAAK,QAAQ,KAAK;AAAC,SAEnDC,cAAc;AAAA,OAChBC,YAAY;AAEnB,OAAO,SAASC,iBAAiBA,CAACC,QAAiC,EAAE;EACnE,MAAMC,iBAAiB,GAAGN,GAAG,CAAc,CAAC;EAC5C,MAAMO,WAAW,GAAGP,GAAG,CAAkB,CAAC;EAC1C,IAAIG,YAAY,CAACK,oBAAoB,EAAE;IACrC,MAAMC,QAAQ,GAAG,IAAIC,cAAc,CAAC,CAACC,OAAO,EAAEF,QAAQ,KAAK;MACzDJ,QAAQ,GAAGM,OAAO,EAAEF,QAAQ,CAAC;MAC7B,IAAI,CAACE,OAAO,CAACC,MAAM,EAAE;MACrBL,WAAW,CAACM,KAAK,GAAGF,OAAO,CAAC,CAAC,CAAC,CAACJ,WAAW;IAC5C,CAAC,CAAC;IAEFT,eAAe,CAAC,MAAM;MACpBW,QAAQ,CAACK,UAAU,CAAC,CAAC;IACvB,CAAC,CAAC;IAEFb,KAAK,CACHK,iBAAiB,EACjB,CAACS,GAAG,EAAEC,GAAG,KAAK;MACZ,IAAIA,GAAG,EAAE;QACPP,QAAQ,CAACQ,SAAS,CAACf,cAAc,CAACc,GAAG,CAAC,CAAC;QACvCT,WAAW,CAACM,KAAK,GAAGK,SAAS;MAC/B;MACA,IAAIH,GAAG,EAAE;QACPN,QAAQ,CAACU,OAAO,CAACjB,cAAc,CAACa,GAAG,CAAC,CAAC;MACvC;IACF,CAAC,EACD;MAAEK,KAAK,EAAE;IAAO,CAClB,CAAC;EACH;EAEA,OAAO;IACLd,iBAAiB;IACjBC,WAAW,EAAER,QAAQ,CAACQ,WAAW;EACnC,CAAC;AACH"}
|
|
1
|
+
{"version":3,"file":"resize-observer.mjs","names":["onBeforeUnmount","readonly","ref","watch","getHtmlElement","Environments","useResizeObserver","callback","resizeObservedRef","contentRect","canUseResizeObserver","observer","ResizeObserver","entries","length","value","disconnect","neo","old","unobserve","undefined","observe","flush"],"sources":["../../src/composables/resize-observer.ts"],"sourcesContent":["import { onBeforeUnmount, readonly, ref, watch } from 'vue';\r\n\r\nimport { getHtmlElement } from '@/util/component';\r\nimport Environments from '@/util/environments';\r\n\r\nexport function useResizeObserver(callback?: ResizeObserverCallback) {\r\n const resizeObservedRef = ref<HTMLElement>();\r\n const contentRect = ref<DOMRectReadOnly>();\r\n if (Environments.canUseResizeObserver) {\r\n const observer = new ResizeObserver((entries, observer) => {\r\n callback?.(entries, observer);\r\n if (!entries.length) return;\r\n contentRect.value = entries[0].contentRect;\r\n });\r\n\r\n onBeforeUnmount(() => {\r\n observer.disconnect();\r\n });\r\n\r\n watch(\r\n resizeObservedRef,\r\n (neo, old) => {\r\n if (old) {\r\n observer.unobserve(getHtmlElement(old));\r\n contentRect.value = undefined;\r\n }\r\n if (neo) {\r\n observer.observe(getHtmlElement(neo));\r\n }\r\n },\r\n { flush: 'post' },\r\n );\r\n }\r\n\r\n return {\r\n resizeObservedRef,\r\n contentRect: readonly(contentRect),\r\n };\r\n}\r\n"],"mappings":"AAAA,SAASA,eAAe,EAAEC,QAAQ,EAAEC,GAAG,EAAEC,KAAK,QAAQ,KAAK;AAAC,SAEnDC,cAAc;AAAA,OAChBC,YAAY;AAEnB,OAAO,SAASC,iBAAiBA,CAACC,QAAiC,EAAE;EACnE,MAAMC,iBAAiB,GAAGN,GAAG,CAAc,CAAC;EAC5C,MAAMO,WAAW,GAAGP,GAAG,CAAkB,CAAC;EAC1C,IAAIG,YAAY,CAACK,oBAAoB,EAAE;IACrC,MAAMC,QAAQ,GAAG,IAAIC,cAAc,CAAC,CAACC,OAAO,EAAEF,QAAQ,KAAK;MACzDJ,QAAQ,GAAGM,OAAO,EAAEF,QAAQ,CAAC;MAC7B,IAAI,CAACE,OAAO,CAACC,MAAM,EAAE;MACrBL,WAAW,CAACM,KAAK,GAAGF,OAAO,CAAC,CAAC,CAAC,CAACJ,WAAW;IAC5C,CAAC,CAAC;IAEFT,eAAe,CAAC,MAAM;MACpBW,QAAQ,CAACK,UAAU,CAAC,CAAC;IACvB,CAAC,CAAC;IAEFb,KAAK,CACHK,iBAAiB,EACjB,CAACS,GAAG,EAAEC,GAAG,KAAK;MACZ,IAAIA,GAAG,EAAE;QACPP,QAAQ,CAACQ,SAAS,CAACf,cAAc,CAACc,GAAG,CAAC,CAAC;QACvCT,WAAW,CAACM,KAAK,GAAGK,SAAS;MAC/B;MACA,IAAIH,GAAG,EAAE;QACPN,QAAQ,CAACU,OAAO,CAACjB,cAAc,CAACa,GAAG,CAAC,CAAC;MACvC;IACF,CAAC,EACD;MAAEK,KAAK,EAAE;IAAO,CAClB,CAAC;EACH;EAEA,OAAO;IACLd,iBAAiB;IACjBC,WAAW,EAAER,QAAQ,CAACQ,WAAW;EACnC,CAAC;AACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope.mjs","names":["effectScope","onScopeDispose","watch","useToggleScope","source","fn","scope","start","run","length","stop","active","undefined","immediate"],"sources":["../../src/composables/scope.ts"],"sourcesContent":["// vuetify/@/composables/toggleScope.ts\nimport {\n type EffectScope,\n type WatchSource,\n effectScope,\n onScopeDispose,\n watch,\n} from 'vue';\n\nexport function useToggleScope(\n source: WatchSource<boolean>,\n fn: (reset: () => void) => void,\n) {\n let scope: EffectScope | undefined;\n function start() {\n scope = effectScope();\n scope.run(() =>\n fn.length\n ? fn(() => {\n scope?.stop();\n start();\n })\n : (fn as any)(),\n );\n }\n\n watch(\n source,\n (active) => {\n if (active && !scope) {\n start();\n } else if (!active) {\n scope?.stop();\n scope = undefined;\n }\n },\n { immediate: true },\n );\n\n onScopeDispose(() => {\n scope?.stop();\n });\n}\n"],"mappings":"AAAA;AACA,SAGEA,WAAW,EACXC,cAAc,EACdC,KAAK,QACA,KAAK;AAEZ,OAAO,SAASC,cAAcA,CAC5BC,MAA4B,EAC5BC,EAA+B,EAC/B;EACA,IAAIC,KAA8B;EAClC,SAASC,KAAKA,CAAA,EAAG;IACfD,KAAK,GAAGN,WAAW,CAAC,CAAC;IACrBM,KAAK,CAACE,GAAG,CAAC,MACRH,EAAE,CAACI,MAAM,GACLJ,EAAE,CAAC,MAAM;MACPC,KAAK,EAAEI,IAAI,CAAC,CAAC;MACbH,KAAK,CAAC,CAAC;IACT,CAAC,CAAC,GACDF,EAAE,CAAS,CAClB,CAAC;EACH;EAEAH,KAAK,CACHE,MAAM,EACLO,MAAM,IAAK;IACV,IAAIA,MAAM,IAAI,CAACL,KAAK,EAAE;MACpBC,KAAK,CAAC,CAAC;IACT,CAAC,MAAM,IAAI,CAACI,MAAM,EAAE;MAClBL,KAAK,EAAEI,IAAI,CAAC,CAAC;MACbJ,KAAK,GAAGM,SAAS;IACnB;EACF,CAAC,EACD;IAAEC,SAAS,EAAE;EAAK,CACpB,CAAC;EAEDZ,cAAc,CAAC,MAAM;IACnBK,KAAK,EAAEI,IAAI,CAAC,CAAC;EACf,CAAC,CAAC;AACJ"}
|
|
1
|
+
{"version":3,"file":"scope.mjs","names":["effectScope","onScopeDispose","watch","useToggleScope","source","fn","scope","start","run","length","stop","active","undefined","immediate"],"sources":["../../src/composables/scope.ts"],"sourcesContent":["// vuetify/@/composables/toggleScope.ts\r\nimport {\r\n type EffectScope,\r\n type WatchSource,\r\n effectScope,\r\n onScopeDispose,\r\n watch,\r\n} from 'vue';\r\n\r\nexport function useToggleScope(\r\n source: WatchSource<boolean>,\r\n fn: (reset: () => void) => void,\r\n) {\r\n let scope: EffectScope | undefined;\r\n function start() {\r\n scope = effectScope();\r\n scope.run(() =>\r\n fn.length\r\n ? fn(() => {\r\n scope?.stop();\r\n start();\r\n })\r\n : (fn as any)(),\r\n );\r\n }\r\n\r\n watch(\r\n source,\r\n (active) => {\r\n if (active && !scope) {\r\n start();\r\n } else if (!active) {\r\n scope?.stop();\r\n scope = undefined;\r\n }\r\n },\r\n { immediate: true },\r\n );\r\n\r\n onScopeDispose(() => {\r\n scope?.stop();\r\n });\r\n}\r\n"],"mappings":"AAAA;AACA,SAGEA,WAAW,EACXC,cAAc,EACdC,KAAK,QACA,KAAK;AAEZ,OAAO,SAASC,cAAcA,CAC5BC,MAA4B,EAC5BC,EAA+B,EAC/B;EACA,IAAIC,KAA8B;EAClC,SAASC,KAAKA,CAAA,EAAG;IACfD,KAAK,GAAGN,WAAW,CAAC,CAAC;IACrBM,KAAK,CAACE,GAAG,CAAC,MACRH,EAAE,CAACI,MAAM,GACLJ,EAAE,CAAC,MAAM;MACPC,KAAK,EAAEI,IAAI,CAAC,CAAC;MACbH,KAAK,CAAC,CAAC;IACT,CAAC,CAAC,GACDF,EAAE,CAAS,CAClB,CAAC;EACH;EAEAH,KAAK,CACHE,MAAM,EACLO,MAAM,IAAK;IACV,IAAIA,MAAM,IAAI,CAACL,KAAK,EAAE;MACpBC,KAAK,CAAC,CAAC;IACT,CAAC,MAAM,IAAI,CAACI,MAAM,EAAE;MAClBL,KAAK,EAAEI,IAAI,CAAC,CAAC;MACbJ,KAAK,GAAGM,SAAS;IACnB;EACF,CAAC,EACD;IAAEC,SAAS,EAAE;EAAK,CACpB,CAAC;EAEDZ,cAAc,CAAC,MAAM;IACnBK,KAAK,EAAEI,IAAI,CAAC,CAAC;EACf,CAAC,CAAC;AACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.mjs","names":["APCAcontrast","sRGBtoY","rgbFromHex","createThemes","options","acc","themeKey","themeOptions","Object","entries","theme","colors","variables","colorName","keys","color","test","join","onColor","colorY","blackContrast","Math","abs","whiteContrast","min","createPalette","scaleMethod","value"],"sources":["../../../src/composables/theme/factory.ts"],"sourcesContent":["import { APCAcontrast, sRGBtoY } from '@/util/color/apca';\nimport { rgbFromHex } from '@/util/color/conversion';\n\nimport { ThemeDefinition } from './types';\n\nexport function createThemes(options: Record<string, any>) {\n const acc: Record<'light' | 'dark' | string, ThemeDefinition> = {};\n\n for (const [themeKey, themeOptions] of Object.entries(options)) {\n const theme = (acc[themeKey] = {\n ...themeOptions,\n colors: {\n ...themeOptions.colors,\n },\n variables: {\n ...themeOptions.variables,\n },\n });\n\n for (const colorName of Object.keys(theme.colors)) {\n const color = theme.colors[colorName];\n if (/^#([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})/i.test(color)) {\n theme.colors[colorName] = color;\n theme.colors[`${colorName}-rgb`] = rgbFromHex(color)?.join(', ');\n }\n\n if (/^on-[a-z]/.test(colorName) || theme.colors[`on-${colorName}`])\n continue;\n\n const onColor = `on-${colorName}`;\n const colorY = sRGBtoY(rgbFromHex(color!) ?? [0, 0, 0]);\n\n const blackContrast = Math.abs(\n APCAcontrast(sRGBtoY([0, 0, 0]), colorY) as number,\n );\n const whiteContrast = Math.abs(\n APCAcontrast(sRGBtoY([255, 255, 255]), colorY) as number,\n );\n\n // Prefer white text if both have an acceptable contrast ratio\n theme.colors[onColor] =\n whiteContrast > Math.min(blackContrast, 50) ? '#ffffff' : '#000000';\n theme.colors[`${onColor}-rgb`] =\n whiteContrast > Math.min(blackContrast, 50)\n ? '255, 255, 255'\n : '0, 0, 0';\n }\n }\n\n return acc;\n}\n\nexport function createPalette(options: Record<string, string | any>) {\n const acc: Record<string, string> = {};\n const { scaleMethod, colors } = options;\n for (const [colorName, value] of Object.entries(colors)) {\n if (typeof value === 'string') {\n acc[colorName] = value;\n }\n }\n return acc;\n}\n"],"mappings":"SAASA,YAAY,EAAEC,OAAO;AAAA,SACrBC,UAAU;AAInB,OAAO,SAASC,YAAYA,CAACC,OAA4B,EAAE;EACzD,MAAMC,GAAuD,GAAG,CAAC,CAAC;EAElE,KAAK,MAAM,CAACC,QAAQ,EAAEC,YAAY,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACL,OAAO,CAAC,EAAE;IAC9D,MAAMM,KAAK,GAAIL,GAAG,CAACC,QAAQ,CAAC,GAAG;MAC7B,GAAGC,YAAY;MACfI,MAAM,EAAE;QACN,GAAGJ,YAAY,CAACI;MAClB,CAAC;MACDC,SAAS,EAAE;QACT,GAAGL,YAAY,CAACK;MAClB;IACF,CAAE;IAEF,KAAK,MAAMC,SAAS,IAAIL,MAAM,CAACM,IAAI,CAACJ,KAAK,CAACC,MAAM,CAAC,EAAE;MACjD,MAAMI,KAAK,GAAGL,KAAK,CAACC,MAAM,CAACE,SAAS,CAAC;MACrC,IAAI,0CAA0C,CAACG,IAAI,CAACD,KAAK,CAAC,EAAE;QAC1DL,KAAK,CAACC,MAAM,CAACE,SAAS,CAAC,GAAGE,KAAK;QAC/BL,KAAK,CAACC,MAAM,CAAE,GAAEE,SAAU,MAAK,CAAC,GAAGX,UAAU,CAACa,KAAK,CAAC,EAAEE,IAAI,CAAC,IAAI,CAAC;MAClE;MAEA,IAAI,WAAW,CAACD,IAAI,CAACH,SAAS,CAAC,IAAIH,KAAK,CAACC,MAAM,CAAE,MAAKE,SAAU,EAAC,CAAC,EAChE;MAEF,MAAMK,OAAO,GAAI,MAAKL,SAAU,EAAC;MACjC,MAAMM,MAAM,GAAGlB,OAAO,CAACC,UAAU,CAACa,KAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;MAEvD,MAAMK,aAAa,GAAGC,IAAI,CAACC,GAAG,CAC5BtB,YAAY,CAACC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAEkB,MAAM,CACzC,CAAC;MACD,MAAMI,aAAa,GAAGF,IAAI,CAACC,GAAG,CAC5BtB,YAAY,CAACC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAAEkB,MAAM,CAC/C,CAAC;;MAED;MACAT,KAAK,CAACC,MAAM,CAACO,OAAO,CAAC,GACnBK,aAAa,GAAGF,IAAI,CAACG,GAAG,CAACJ,aAAa,EAAE,EAAE,CAAC,GAAG,SAAS,GAAG,SAAS;MACrEV,KAAK,CAACC,MAAM,CAAE,GAAEO,OAAQ,MAAK,CAAC,GAC5BK,aAAa,GAAGF,IAAI,CAACG,GAAG,CAACJ,aAAa,EAAE,EAAE,CAAC,GACvC,eAAe,GACf,SAAS;IACjB;EACF;EAEA,OAAOf,GAAG;AACZ;AAEA,OAAO,SAASoB,aAAaA,CAACrB,OAAqC,EAAE;EACnE,MAAMC,GAA2B,GAAG,CAAC,CAAC;EACtC,MAAM;IAAEqB,WAAW;IAAEf;EAAO,CAAC,GAAGP,OAAO;EACvC,KAAK,MAAM,CAACS,SAAS,EAAEc,KAAK,CAAC,IAAInB,MAAM,CAACC,OAAO,CAACE,MAAM,CAAC,EAAE;IACvD,IAAI,OAAOgB,KAAK,KAAK,QAAQ,EAAE;MAC7BtB,GAAG,CAACQ,SAAS,CAAC,GAAGc,KAAK;IACxB;EACF;EACA,OAAOtB,GAAG;AACZ"}
|
|
1
|
+
{"version":3,"file":"factory.mjs","names":["APCAcontrast","sRGBtoY","rgbFromHex","createThemes","options","acc","themeKey","themeOptions","Object","entries","theme","colors","variables","colorName","keys","color","test","join","onColor","colorY","blackContrast","Math","abs","whiteContrast","min","createPalette","scaleMethod","value"],"sources":["../../../src/composables/theme/factory.ts"],"sourcesContent":["import { APCAcontrast, sRGBtoY } from '@/util/color/apca';\r\nimport { rgbFromHex } from '@/util/color/conversion';\r\n\r\nimport { ThemeDefinition } from './types';\r\n\r\nexport function createThemes(options: Record<string, any>) {\r\n const acc: Record<'light' | 'dark' | string, ThemeDefinition> = {};\r\n\r\n for (const [themeKey, themeOptions] of Object.entries(options)) {\r\n const theme = (acc[themeKey] = {\r\n ...themeOptions,\r\n colors: {\r\n ...themeOptions.colors,\r\n },\r\n variables: {\r\n ...themeOptions.variables,\r\n },\r\n });\r\n\r\n for (const colorName of Object.keys(theme.colors)) {\r\n const color = theme.colors[colorName];\r\n if (/^#([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})/i.test(color)) {\r\n theme.colors[colorName] = color;\r\n theme.colors[`${colorName}-rgb`] = rgbFromHex(color)?.join(', ');\r\n }\r\n\r\n if (/^on-[a-z]/.test(colorName) || theme.colors[`on-${colorName}`])\r\n continue;\r\n\r\n const onColor = `on-${colorName}`;\r\n const colorY = sRGBtoY(rgbFromHex(color!) ?? [0, 0, 0]);\r\n\r\n const blackContrast = Math.abs(\r\n APCAcontrast(sRGBtoY([0, 0, 0]), colorY) as number,\r\n );\r\n const whiteContrast = Math.abs(\r\n APCAcontrast(sRGBtoY([255, 255, 255]), colorY) as number,\r\n );\r\n\r\n // Prefer white text if both have an acceptable contrast ratio\r\n theme.colors[onColor] =\r\n whiteContrast > Math.min(blackContrast, 50) ? '#ffffff' : '#000000';\r\n theme.colors[`${onColor}-rgb`] =\r\n whiteContrast > Math.min(blackContrast, 50)\r\n ? '255, 255, 255'\r\n : '0, 0, 0';\r\n }\r\n }\r\n\r\n return acc;\r\n}\r\n\r\nexport function createPalette(options: Record<string, string | any>) {\r\n const acc: Record<string, string> = {};\r\n const { scaleMethod, colors } = options;\r\n for (const [colorName, value] of Object.entries(colors)) {\r\n if (typeof value === 'string') {\r\n acc[colorName] = value;\r\n }\r\n }\r\n return acc;\r\n}\r\n"],"mappings":"SAASA,YAAY,EAAEC,OAAO;AAAA,SACrBC,UAAU;AAInB,OAAO,SAASC,YAAYA,CAACC,OAA4B,EAAE;EACzD,MAAMC,GAAuD,GAAG,CAAC,CAAC;EAElE,KAAK,MAAM,CAACC,QAAQ,EAAEC,YAAY,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACL,OAAO,CAAC,EAAE;IAC9D,MAAMM,KAAK,GAAIL,GAAG,CAACC,QAAQ,CAAC,GAAG;MAC7B,GAAGC,YAAY;MACfI,MAAM,EAAE;QACN,GAAGJ,YAAY,CAACI;MAClB,CAAC;MACDC,SAAS,EAAE;QACT,GAAGL,YAAY,CAACK;MAClB;IACF,CAAE;IAEF,KAAK,MAAMC,SAAS,IAAIL,MAAM,CAACM,IAAI,CAACJ,KAAK,CAACC,MAAM,CAAC,EAAE;MACjD,MAAMI,KAAK,GAAGL,KAAK,CAACC,MAAM,CAACE,SAAS,CAAC;MACrC,IAAI,0CAA0C,CAACG,IAAI,CAACD,KAAK,CAAC,EAAE;QAC1DL,KAAK,CAACC,MAAM,CAACE,SAAS,CAAC,GAAGE,KAAK;QAC/BL,KAAK,CAACC,MAAM,CAAE,GAAEE,SAAU,MAAK,CAAC,GAAGX,UAAU,CAACa,KAAK,CAAC,EAAEE,IAAI,CAAC,IAAI,CAAC;MAClE;MAEA,IAAI,WAAW,CAACD,IAAI,CAACH,SAAS,CAAC,IAAIH,KAAK,CAACC,MAAM,CAAE,MAAKE,SAAU,EAAC,CAAC,EAChE;MAEF,MAAMK,OAAO,GAAI,MAAKL,SAAU,EAAC;MACjC,MAAMM,MAAM,GAAGlB,OAAO,CAACC,UAAU,CAACa,KAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;MAEvD,MAAMK,aAAa,GAAGC,IAAI,CAACC,GAAG,CAC5BtB,YAAY,CAACC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAEkB,MAAM,CACzC,CAAC;MACD,MAAMI,aAAa,GAAGF,IAAI,CAACC,GAAG,CAC5BtB,YAAY,CAACC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAAEkB,MAAM,CAC/C,CAAC;;MAED;MACAT,KAAK,CAACC,MAAM,CAACO,OAAO,CAAC,GACnBK,aAAa,GAAGF,IAAI,CAACG,GAAG,CAACJ,aAAa,EAAE,EAAE,CAAC,GAAG,SAAS,GAAG,SAAS;MACrEV,KAAK,CAACC,MAAM,CAAE,GAAEO,OAAQ,MAAK,CAAC,GAC5BK,aAAa,GAAGF,IAAI,CAACG,GAAG,CAACJ,aAAa,EAAE,EAAE,CAAC,GACvC,eAAe,GACf,SAAS;IACjB;EACF;EAEA,OAAOf,GAAG;AACZ;AAEA,OAAO,SAASoB,aAAaA,CAACrB,OAAqC,EAAE;EACnE,MAAMC,GAA2B,GAAG,CAAC,CAAC;EACtC,MAAM;IAAEqB,WAAW;IAAEf;EAAO,CAAC,GAAGP,OAAO;EACvC,KAAK,MAAM,CAACS,SAAS,EAAEc,KAAK,CAAC,IAAInB,MAAM,CAACC,OAAO,CAACE,MAAM,CAAC,EAAE;IACvD,IAAI,OAAOgB,KAAK,KAAK,QAAQ,EAAE;MAC7BtB,GAAG,CAACQ,SAAS,CAAC,GAAGc,KAAK;IACxB;EACF;EACA,OAAOtB,GAAG;AACZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["computed","effectScope","getCurrentInstance","inject","provide","reactive","readonly","ref","unref","watch","bindThemeClass","propsFactory","createPalette","createThemes","cssClass","cssVariables","configureOptions","Y_THEME_PREFIX","YUYEON_THEME_KEY","Symbol","for","pressThemePropsOptions","theme","String","isDarkMode","window","matchMedia","matches","isSupportAutoScheme","media","createThemeModule","options","appMountedScope","config","scheme","themes","palette","supportedAutoMode","preferColorScheme","darkModeWatcher","mediaQueryList","value","currentColorScheme","currentThemeKey","computedThemes","Array","isArray","computedPalette","styles","separationId","separation","lines","push","themeKey","themeDefs","Object","entries","colors","variables","isDark","records","themeScheme","join","install","app","directive","styleEl","document","getElementById","updateStyleEl","immediate","el","createElement","type","id","cspNonce","setAttribute","head","appendChild","innerHTML","bindTheme","yuyeon","mql","addEventListener","neo","lightTheme","darkTheme","root","dataset","init","run","themeClasses","scope","instance","global","useLocalTheme","props","themeModule","Error","moduleTheme","newTheme","useTheme"],"sources":["../../../src/composables/theme/index.ts"],"sourcesContent":["import type { App, ComputedRef, PropType, Ref } from 'vue';\nimport {\n computed,\n effectScope,\n getCurrentInstance,\n inject,\n provide,\n reactive,\n readonly,\n ref,\n unref,\n watch,\n} from 'vue';\n\nimport bindThemeClass from '@/directives/theme-class';\nimport { propsFactory } from '@/util/component/props';\n\nimport { createPalette, createThemes } from './factory';\nimport { cssClass, cssVariables } from './helper';\nimport { ThemeScheme, configureOptions } from './setting';\nimport type { ThemeOptions } from './types';\n\nexport type { ThemeOptions };\n\nexport const Y_THEME_PREFIX = 'y-theme';\n\nexport interface ThemeModuleInstance {\n scheme: Ref<keyof typeof ThemeScheme | 'auto'>;\n theme: Ref<[string, string?]>;\n // theme values(schemes) for colors & variables\n readonly themes: any;\n readonly global: {\n // currentThemeKeys: [lightThemeKey, darkThemeKey]\n // If used manually, fix the scheme to 'light' and have a [lightThemeKey] value.\n // Use the appropriate default theme scheme if it does not match the themeKey\n scheme: Ref<keyof typeof ThemeScheme | 'auto'>;\n theme: Ref<[string, string?]>;\n };\n /* computed */\n readonly currentThemeKey: Readonly<ComputedRef<string>>;\n readonly themeClasses: Readonly<ComputedRef<string | undefined>>;\n readonly computedThemes: Readonly<ComputedRef<any>>;\n readonly computedPalette: Readonly<ComputedRef<any>>;\n /* */\n readonly supportedAutoMode: Readonly<Ref<boolean>>;\n readonly preferColorScheme: Readonly<Ref<'light' | 'dark'>>;\n}\n\nexport const YUYEON_THEME_KEY = Symbol.for('yuyeon.theme');\n\nexport const pressThemePropsOptions = propsFactory(\n {\n theme: String as PropType<string>,\n },\n 'theme',\n);\n\nexport function isDarkMode() {\n return window.matchMedia('(prefers-color-scheme: dark)').matches;\n}\n\nexport function isSupportAutoScheme() {\n return window.matchMedia('(prefers-color-scheme)').media !== 'not all';\n}\n\nexport function createThemeModule(options: ThemeOptions) {\n const appMountedScope = effectScope();\n const config = reactive(configureOptions(options));\n const scheme = ref<string>(config.scheme);\n const theme = ref<[string, string]>(config.theme);\n const themes = ref(config.themes);\n const palette = ref(config.palette);\n const supportedAutoMode = ref(true);\n const preferColorScheme = ref('');\n\n function darkModeWatcher(\n mediaQueryList: MediaQueryListEvent | MediaQueryList,\n ) {\n preferColorScheme.value = mediaQueryList.matches ? 'dark' : 'light';\n }\n\n const currentColorScheme = computed<'light' | 'dark'>(() => {\n if (scheme.value === 'auto') {\n return preferColorScheme.value as 'light' | 'dark';\n }\n if (scheme.value === 'dark') {\n return 'dark';\n }\n return 'light';\n });\n\n const currentThemeKey = computed(() => {\n if (typeof theme.value === 'string') {\n if (theme.value in computedThemes) {\n return theme.value;\n }\n }\n if (Array.isArray(theme.value)) {\n return currentColorScheme.value === 'dark'\n ? theme.value?.[1] ?? 'dark'\n : theme.value?.[0] ?? 'light';\n }\n return currentColorScheme.value;\n });\n\n const computedPalette = computed(() => {\n return createPalette(palette.value);\n });\n\n const computedThemes = computed(() => {\n return createThemes(themes.value);\n });\n\n const styles = computed(() => {\n const separationId = config.separation ? `#${config.separation}` : '';\n const lines = [];\n lines.push(\n ...cssClass(':root', cssVariables(computedPalette.value, 'palette')),\n );\n for (const [themeKey, themeDefs] of Object.entries(computedThemes.value)) {\n const { colors, variables, isDark } = themeDefs;\n const records: Record<string, string> = {\n ...colors,\n ...variables,\n };\n // if (currentThemeKey.value === themeKey) {\n // lines.push(...cssClass(':root', cssVariables(records, 'theme')));\n // }\n const themeScheme = isDark ? 'dark' : 'light';\n if (scheme.value === 'auto') {\n lines.push(\n ...cssClass(\n `@media (prefers-color-scheme: ${themeScheme})`,\n cssClass(\n `${separationId}[data-theme-scheme='auto'][data-${themeScheme}-theme='${themeKey}']`,\n cssVariables(records, 'theme'),\n ),\n ),\n );\n } else {\n lines.push(\n ...cssClass(\n `${separationId}[data-theme-scheme='${themeScheme}'][data-${themeScheme}-theme='${themeKey}']`,\n cssVariables(records, 'theme'),\n ),\n );\n }\n\n lines.push(\n ...cssClass(\n `${separationId} .y-theme--${themeKey}`,\n cssVariables(records, 'theme'),\n ),\n );\n }\n return lines.join('');\n });\n\n function install(app: App) {\n app.directive('theme', bindThemeClass);\n\n let styleEl = document.getElementById(\n 'yuyeon-theme-palette' +\n `${config.separation ? '__' + config.separation : ''}`,\n );\n\n watch(styles, updateStyleEl, { immediate: true });\n\n function updateStyleEl() {\n if (typeof document !== 'undefined' && !styleEl) {\n const el = document.createElement('style');\n el.type = 'text/css';\n el.id =\n 'yuyeon-theme-palette' +\n `${config.separation ? '__' + config.separation : ''}`;\n if (options?.cspNonce) el.setAttribute('nonce', options.cspNonce);\n styleEl = el;\n document.head.appendChild(styleEl);\n }\n if (styleEl) {\n styleEl.innerHTML = styles.value;\n }\n }\n }\n\n function bindTheme(yuyeon: any) {\n supportedAutoMode.value = isSupportAutoScheme();\n if (supportedAutoMode.value) {\n const mql = window.matchMedia('(prefers-color-scheme: dark)');\n darkModeWatcher(mql);\n mql.addEventListener('change' as 'change', darkModeWatcher);\n }\n watch(\n theme,\n (neo) => {\n const [lightTheme, darkTheme] = neo;\n yuyeon.root.dataset.lightTheme = lightTheme;\n yuyeon.root.dataset.darkTheme = darkTheme;\n },\n { immediate: true },\n );\n watch(\n scheme,\n (neo) => {\n yuyeon.root.setAttribute(\n 'data-theme-scheme',\n neo === 'auto' ? 'auto' : currentColorScheme.value,\n );\n },\n { immediate: true },\n );\n }\n\n function init(yuyeon: any) {\n appMountedScope.run(() => {\n bindTheme(yuyeon);\n });\n }\n\n const themeClasses = computed(() => `y-theme--${currentThemeKey.value}`);\n\n return {\n install,\n init,\n scope: appMountedScope,\n instance: {\n global: {\n scheme,\n theme,\n },\n themes,\n scheme,\n theme,\n currentThemeKey,\n themeClasses,\n computedThemes,\n computedPalette,\n supportedAutoMode: readonly(supportedAutoMode),\n preferColorScheme: readonly(preferColorScheme),\n },\n };\n}\n\nexport function useLocalTheme(props: { theme?: string }) {\n getCurrentInstance();\n\n const themeModule = inject<ThemeModuleInstance | null>(\n YUYEON_THEME_KEY,\n null,\n );\n\n if (!themeModule) throw new Error('Not found provided \"ThemeModule\"');\n\n const palette = themeModule.computedPalette;\n\n const currentThemeKey = computed<string>(() => {\n if (props.theme) {\n const moduleTheme = unref(themeModule.theme);\n switch (props.theme) {\n case 'light':\n return moduleTheme?.[0] ?? 'light';\n case 'dark':\n return moduleTheme?.[1] ?? 'dark';\n // TODO: props.theme(themeKey) validation in themes\n default:\n return props.theme;\n }\n }\n return unref(themeModule.currentThemeKey);\n });\n\n const themeClasses = computed(() => {\n return `y-theme--${currentThemeKey.value}`;\n });\n\n const newTheme: ThemeModuleInstance = {\n ...themeModule,\n currentThemeKey,\n themeClasses,\n };\n\n provide(YUYEON_THEME_KEY, newTheme);\n\n return newTheme;\n}\n\nexport function useTheme() {\n getCurrentInstance();\n\n const theme = inject<ThemeModuleInstance | null>(YUYEON_THEME_KEY, null);\n\n if (!theme) throw new Error('【yuyeon】 Not found provided \"ThemeModule\"');\n\n return theme;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["computed","effectScope","getCurrentInstance","inject","provide","reactive","readonly","ref","unref","watch","bindThemeClass","propsFactory","createPalette","createThemes","cssClass","cssVariables","configureOptions","Y_THEME_PREFIX","YUYEON_THEME_KEY","Symbol","for","pressThemePropsOptions","theme","String","isDarkMode","window","matchMedia","matches","isSupportAutoScheme","media","createThemeModule","options","appMountedScope","config","scheme","themes","palette","supportedAutoMode","preferColorScheme","darkModeWatcher","mediaQueryList","value","currentColorScheme","currentThemeKey","computedThemes","Array","isArray","computedPalette","styles","separationId","separation","lines","push","themeKey","themeDefs","Object","entries","colors","variables","isDark","records","themeScheme","join","install","app","directive","styleEl","document","getElementById","updateStyleEl","immediate","el","createElement","type","id","cspNonce","setAttribute","head","appendChild","innerHTML","bindTheme","yuyeon","mql","addEventListener","neo","lightTheme","darkTheme","root","dataset","init","run","themeClasses","scope","instance","global","useLocalTheme","props","themeModule","Error","moduleTheme","newTheme","useTheme"],"sources":["../../../src/composables/theme/index.ts"],"sourcesContent":["import type { App, ComputedRef, PropType, Ref } from 'vue';\r\nimport {\r\n computed,\r\n effectScope,\r\n getCurrentInstance,\r\n inject,\r\n provide,\r\n reactive,\r\n readonly,\r\n ref,\r\n unref,\r\n watch,\r\n} from 'vue';\r\n\r\nimport bindThemeClass from '@/directives/theme-class';\r\nimport { propsFactory } from '@/util/component/props';\r\n\r\nimport { createPalette, createThemes } from './factory';\r\nimport { cssClass, cssVariables } from './helper';\r\nimport { ThemeScheme, configureOptions } from './setting';\r\nimport type { ThemeOptions } from './types';\r\n\r\nexport type { ThemeOptions };\r\n\r\nexport const Y_THEME_PREFIX = 'y-theme';\r\n\r\nexport interface ThemeModuleInstance {\r\n scheme: Ref<keyof typeof ThemeScheme | 'auto'>;\r\n theme: Ref<[string, string?]>;\r\n // theme values(schemes) for colors & variables\r\n readonly themes: any;\r\n readonly global: {\r\n // currentThemeKeys: [lightThemeKey, darkThemeKey]\r\n // If used manually, fix the scheme to 'light' and have a [lightThemeKey] value.\r\n // Use the appropriate default theme scheme if it does not match the themeKey\r\n scheme: Ref<keyof typeof ThemeScheme | 'auto'>;\r\n theme: Ref<[string, string?]>;\r\n };\r\n /* computed */\r\n readonly currentThemeKey: Readonly<ComputedRef<string>>;\r\n readonly themeClasses: Readonly<ComputedRef<string | undefined>>;\r\n readonly computedThemes: Readonly<ComputedRef<any>>;\r\n readonly computedPalette: Readonly<ComputedRef<any>>;\r\n /* */\r\n readonly supportedAutoMode: Readonly<Ref<boolean>>;\r\n readonly preferColorScheme: Readonly<Ref<'light' | 'dark'>>;\r\n}\r\n\r\nexport const YUYEON_THEME_KEY = Symbol.for('yuyeon.theme');\r\n\r\nexport const pressThemePropsOptions = propsFactory(\r\n {\r\n theme: String as PropType<string>,\r\n },\r\n 'theme',\r\n);\r\n\r\nexport function isDarkMode() {\r\n return window.matchMedia('(prefers-color-scheme: dark)').matches;\r\n}\r\n\r\nexport function isSupportAutoScheme() {\r\n return window.matchMedia('(prefers-color-scheme)').media !== 'not all';\r\n}\r\n\r\nexport function createThemeModule(options: ThemeOptions) {\r\n const appMountedScope = effectScope();\r\n const config = reactive(configureOptions(options));\r\n const scheme = ref<string>(config.scheme);\r\n const theme = ref<[string, string]>(config.theme);\r\n const themes = ref(config.themes);\r\n const palette = ref(config.palette);\r\n const supportedAutoMode = ref(true);\r\n const preferColorScheme = ref('');\r\n\r\n function darkModeWatcher(\r\n mediaQueryList: MediaQueryListEvent | MediaQueryList,\r\n ) {\r\n preferColorScheme.value = mediaQueryList.matches ? 'dark' : 'light';\r\n }\r\n\r\n const currentColorScheme = computed<'light' | 'dark'>(() => {\r\n if (scheme.value === 'auto') {\r\n return preferColorScheme.value as 'light' | 'dark';\r\n }\r\n if (scheme.value === 'dark') {\r\n return 'dark';\r\n }\r\n return 'light';\r\n });\r\n\r\n const currentThemeKey = computed(() => {\r\n if (typeof theme.value === 'string') {\r\n if (theme.value in computedThemes) {\r\n return theme.value;\r\n }\r\n }\r\n if (Array.isArray(theme.value)) {\r\n return currentColorScheme.value === 'dark'\r\n ? theme.value?.[1] ?? 'dark'\r\n : theme.value?.[0] ?? 'light';\r\n }\r\n return currentColorScheme.value;\r\n });\r\n\r\n const computedPalette = computed(() => {\r\n return createPalette(palette.value);\r\n });\r\n\r\n const computedThemes = computed(() => {\r\n return createThemes(themes.value);\r\n });\r\n\r\n const styles = computed(() => {\r\n const separationId = config.separation ? `#${config.separation}` : '';\r\n const lines = [];\r\n lines.push(\r\n ...cssClass(':root', cssVariables(computedPalette.value, 'palette')),\r\n );\r\n for (const [themeKey, themeDefs] of Object.entries(computedThemes.value)) {\r\n const { colors, variables, isDark } = themeDefs;\r\n const records: Record<string, string> = {\r\n ...colors,\r\n ...variables,\r\n };\r\n // if (currentThemeKey.value === themeKey) {\r\n // lines.push(...cssClass(':root', cssVariables(records, 'theme')));\r\n // }\r\n const themeScheme = isDark ? 'dark' : 'light';\r\n if (scheme.value === 'auto') {\r\n lines.push(\r\n ...cssClass(\r\n `@media (prefers-color-scheme: ${themeScheme})`,\r\n cssClass(\r\n `${separationId}[data-theme-scheme='auto'][data-${themeScheme}-theme='${themeKey}']`,\r\n cssVariables(records, 'theme'),\r\n ),\r\n ),\r\n );\r\n } else {\r\n lines.push(\r\n ...cssClass(\r\n `${separationId}[data-theme-scheme='${themeScheme}'][data-${themeScheme}-theme='${themeKey}']`,\r\n cssVariables(records, 'theme'),\r\n ),\r\n );\r\n }\r\n\r\n lines.push(\r\n ...cssClass(\r\n `${separationId} .y-theme--${themeKey}`,\r\n cssVariables(records, 'theme'),\r\n ),\r\n );\r\n }\r\n return lines.join('');\r\n });\r\n\r\n function install(app: App) {\r\n app.directive('theme', bindThemeClass);\r\n\r\n let styleEl = document.getElementById(\r\n 'yuyeon-theme-palette' +\r\n `${config.separation ? '__' + config.separation : ''}`,\r\n );\r\n\r\n watch(styles, updateStyleEl, { immediate: true });\r\n\r\n function updateStyleEl() {\r\n if (typeof document !== 'undefined' && !styleEl) {\r\n const el = document.createElement('style');\r\n el.type = 'text/css';\r\n el.id =\r\n 'yuyeon-theme-palette' +\r\n `${config.separation ? '__' + config.separation : ''}`;\r\n if (options?.cspNonce) el.setAttribute('nonce', options.cspNonce);\r\n styleEl = el;\r\n document.head.appendChild(styleEl);\r\n }\r\n if (styleEl) {\r\n styleEl.innerHTML = styles.value;\r\n }\r\n }\r\n }\r\n\r\n function bindTheme(yuyeon: any) {\r\n supportedAutoMode.value = isSupportAutoScheme();\r\n if (supportedAutoMode.value) {\r\n const mql = window.matchMedia('(prefers-color-scheme: dark)');\r\n darkModeWatcher(mql);\r\n mql.addEventListener('change' as 'change', darkModeWatcher);\r\n }\r\n watch(\r\n theme,\r\n (neo) => {\r\n const [lightTheme, darkTheme] = neo;\r\n yuyeon.root.dataset.lightTheme = lightTheme;\r\n yuyeon.root.dataset.darkTheme = darkTheme;\r\n },\r\n { immediate: true },\r\n );\r\n watch(\r\n scheme,\r\n (neo) => {\r\n yuyeon.root.setAttribute(\r\n 'data-theme-scheme',\r\n neo === 'auto' ? 'auto' : currentColorScheme.value,\r\n );\r\n },\r\n { immediate: true },\r\n );\r\n }\r\n\r\n function init(yuyeon: any) {\r\n appMountedScope.run(() => {\r\n bindTheme(yuyeon);\r\n });\r\n }\r\n\r\n const themeClasses = computed(() => `y-theme--${currentThemeKey.value}`);\r\n\r\n return {\r\n install,\r\n init,\r\n scope: appMountedScope,\r\n instance: {\r\n global: {\r\n scheme,\r\n theme,\r\n },\r\n themes,\r\n scheme,\r\n theme,\r\n currentThemeKey,\r\n themeClasses,\r\n computedThemes,\r\n computedPalette,\r\n supportedAutoMode: readonly(supportedAutoMode),\r\n preferColorScheme: readonly(preferColorScheme),\r\n },\r\n };\r\n}\r\n\r\nexport function useLocalTheme(props: { theme?: string }) {\r\n getCurrentInstance();\r\n\r\n const themeModule = inject<ThemeModuleInstance | null>(\r\n YUYEON_THEME_KEY,\r\n null,\r\n );\r\n\r\n if (!themeModule) throw new Error('Not found provided \"ThemeModule\"');\r\n\r\n const palette = themeModule.computedPalette;\r\n\r\n const currentThemeKey = computed<string>(() => {\r\n if (props.theme) {\r\n const moduleTheme = unref(themeModule.theme);\r\n switch (props.theme) {\r\n case 'light':\r\n return moduleTheme?.[0] ?? 'light';\r\n case 'dark':\r\n return moduleTheme?.[1] ?? 'dark';\r\n // TODO: props.theme(themeKey) validation in themes\r\n default:\r\n return props.theme;\r\n }\r\n }\r\n return unref(themeModule.currentThemeKey);\r\n });\r\n\r\n const themeClasses = computed(() => {\r\n return `y-theme--${currentThemeKey.value}`;\r\n });\r\n\r\n const newTheme: ThemeModuleInstance = {\r\n ...themeModule,\r\n currentThemeKey,\r\n themeClasses,\r\n };\r\n\r\n provide(YUYEON_THEME_KEY, newTheme);\r\n\r\n return newTheme;\r\n}\r\n\r\nexport function useTheme() {\r\n getCurrentInstance();\r\n\r\n const theme = inject<ThemeModuleInstance | null>(YUYEON_THEME_KEY, null);\r\n\r\n if (!theme) throw new Error('【yuyeon】 Not found provided \"ThemeModule\"');\r\n\r\n return theme;\r\n}\r\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setting.mjs","names":["mergeDeep","ThemeScheme","light","dark","defaultTonalLuminance","defaultPalette","scaleMethod","colors","primary","secondary","tertiary","neutral","positive","negative","warning","info","defaultThemesValues","isDark","background","surface","outline","error","success","shadow","variables","configureOptions","options","scheme","theme","themes","palette","separation"],"sources":["../../../src/composables/theme/setting.ts"],"sourcesContent":["import { mergeDeep } from '@/util/common';\n\nimport type { PaletteOption, ThemeOptions } from './types';\n\nexport const ThemeScheme = {\n light: 'light',\n dark: 'dark',\n} as const;\n\nexport const defaultTonalLuminance = [\n 0, 10, 20, 25, 30, 35, 40, 50, 60, 70, 80, 90, 95, 98, 99, 100,\n];\n\nexport const defaultPalette: PaletteOption = {\n scaleMethod: 'tonal',\n colors: {\n primary: '#0062a1',\n secondary: '#6251a6',\n tertiary: '#3c691b',\n neutral: '#5d5e61',\n positive: '#009d61',\n negative: '#ba1a1a',\n warning: '#f69400',\n info: '#0d62e6',\n },\n};\n\nexport const defaultThemesValues: any = {\n light: {\n isDark: false,\n colors: {\n primary: '#0062a1',\n secondary: '#6251a6',\n tertiary: '#3c691b',\n background: '#fdfbff',\n 'on-background': '#1a1c1e',\n surface: '#fdfbff',\n 'on-surface': '#1a1c1e',\n 'surface-variant': '#dfe3eb',\n 'on-surface-variant': '#42474e',\n outline: '#73777f',\n 'outline-variant': '#c2c7cf',\n error: '#ba1a1a',\n 'on-error': '#ffffff',\n warning: '#8a5100',\n 'on-warning': '#ffffff',\n info: '#0056d0',\n 'on-info': '#ffffff',\n success: '#006d42',\n 'on-success': '#ffffff',\n shadow: '#000000',\n },\n variables: {\n 'outline-opacity': 0.14,\n 'base-shadow-opacity': 0.14,\n 'base-font': '#141414',\n },\n },\n dark: {\n isDark: true,\n colors: {\n primary: '#9ccaff',\n 'on-primary': '#003257',\n secondary: '#cbbeff',\n 'on-secondary': '#332074',\n tertiary: '#a1d57a',\n 'on-tertiary': '#173800',\n background: '#1a1c1e',\n 'on-background': '#e2e2e6',\n surface: '#1a1c1e',\n 'on-surface': '#e2e2e6',\n 'surface-variant': '#42474e',\n 'on-surface-variant': '#c2c7cf',\n outline: '#8c9199',\n 'outline-variant': '#42474e',\n error: '#ffb4ab',\n 'on-error': '#690005',\n warning: '#ffb86e',\n 'on-warning': '#492900',\n info: '#b1c5ff',\n 'on-info': '#002c72',\n success: '#61dd9a',\n 'on-success': '#003920',\n shadow: '#000000',\n },\n variables: {\n 'outline-opacity': 0.14,\n 'base-shadow-opacity': 0.14,\n 'base-font': '#f5f5f5',\n },\n },\n};\n\nexport function configureOptions(options?: ThemeOptions): any {\n if (!options) {\n return {\n scheme: ThemeScheme.light,\n theme: ['light', 'dark'],\n themes: { ...mergeDeep(defaultThemesValues) },\n palette: { ...mergeDeep(defaultPalette) },\n };\n }\n return {\n scheme: ThemeScheme.light,\n theme: ['light', 'dark'],\n themes: { ...mergeDeep(defaultThemesValues, options.themes) },\n palette: { ...mergeDeep(defaultPalette, options.palette) },\n separation: options?.separation,\n };\n}\n"],"mappings":"SAASA,SAAS;AAIlB,OAAO,MAAMC,WAAW,GAAG;EACzBC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE;AACR,CAAU;AAEV,OAAO,MAAMC,qBAAqB,GAAG,CACnC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAC/D;AAED,OAAO,MAAMC,cAA6B,GAAG;EAC3CC,WAAW,EAAE,OAAO;EACpBC,MAAM,EAAE;IACNC,OAAO,EAAE,SAAS;IAClBC,SAAS,EAAE,SAAS;IACpBC,QAAQ,EAAE,SAAS;IACnBC,OAAO,EAAE,SAAS;IAClBC,QAAQ,EAAE,SAAS;IACnBC,QAAQ,EAAE,SAAS;IACnBC,OAAO,EAAE,SAAS;IAClBC,IAAI,EAAE;EACR;AACF,CAAC;AAED,OAAO,MAAMC,mBAAwB,GAAG;EACtCd,KAAK,EAAE;IACLe,MAAM,EAAE,KAAK;IACbV,MAAM,EAAE;MACNC,OAAO,EAAE,SAAS;MAClBC,SAAS,EAAE,SAAS;MACpBC,QAAQ,EAAE,SAAS;MACnBQ,UAAU,EAAE,SAAS;MACrB,eAAe,EAAE,SAAS;MAC1BC,OAAO,EAAE,SAAS;MAClB,YAAY,EAAE,SAAS;MACvB,iBAAiB,EAAE,SAAS;MAC5B,oBAAoB,EAAE,SAAS;MAC/BC,OAAO,EAAE,SAAS;MAClB,iBAAiB,EAAE,SAAS;MAC5BC,KAAK,EAAE,SAAS;MAChB,UAAU,EAAE,SAAS;MACrBP,OAAO,EAAE,SAAS;MAClB,YAAY,EAAE,SAAS;MACvBC,IAAI,EAAE,SAAS;MACf,SAAS,EAAE,SAAS;MACpBO,OAAO,EAAE,SAAS;MAClB,YAAY,EAAE,SAAS;MACvBC,MAAM,EAAE;IACV,CAAC;IACDC,SAAS,EAAE;MACT,iBAAiB,EAAE,IAAI;MACvB,qBAAqB,EAAE,IAAI;MAC3B,WAAW,EAAE;IACf;EACF,CAAC;EACDrB,IAAI,EAAE;IACJc,MAAM,EAAE,IAAI;IACZV,MAAM,EAAE;MACNC,OAAO,EAAE,SAAS;MAClB,YAAY,EAAE,SAAS;MACvBC,SAAS,EAAE,SAAS;MACpB,cAAc,EAAE,SAAS;MACzBC,QAAQ,EAAE,SAAS;MACnB,aAAa,EAAE,SAAS;MACxBQ,UAAU,EAAE,SAAS;MACrB,eAAe,EAAE,SAAS;MAC1BC,OAAO,EAAE,SAAS;MAClB,YAAY,EAAE,SAAS;MACvB,iBAAiB,EAAE,SAAS;MAC5B,oBAAoB,EAAE,SAAS;MAC/BC,OAAO,EAAE,SAAS;MAClB,iBAAiB,EAAE,SAAS;MAC5BC,KAAK,EAAE,SAAS;MAChB,UAAU,EAAE,SAAS;MACrBP,OAAO,EAAE,SAAS;MAClB,YAAY,EAAE,SAAS;MACvBC,IAAI,EAAE,SAAS;MACf,SAAS,EAAE,SAAS;MACpBO,OAAO,EAAE,SAAS;MAClB,YAAY,EAAE,SAAS;MACvBC,MAAM,EAAE;IACV,CAAC;IACDC,SAAS,EAAE;MACT,iBAAiB,EAAE,IAAI;MACvB,qBAAqB,EAAE,IAAI;MAC3B,WAAW,EAAE;IACf;EACF;AACF,CAAC;AAED,OAAO,SAASC,gBAAgBA,CAACC,OAAsB,EAAO;EAC5D,IAAI,CAACA,OAAO,EAAE;IACZ,OAAO;MACLC,MAAM,EAAE1B,WAAW,CAACC,KAAK;MACzB0B,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;MACxBC,MAAM,EAAE;QAAE,GAAG7B,SAAS,CAACgB,mBAAmB;MAAE,CAAC;MAC7Cc,OAAO,EAAE;QAAE,GAAG9B,SAAS,CAACK,cAAc;MAAE;IAC1C,CAAC;EACH;EACA,OAAO;IACLsB,MAAM,EAAE1B,WAAW,CAACC,KAAK;IACzB0B,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;IACxBC,MAAM,EAAE;MAAE,GAAG7B,SAAS,CAACgB,mBAAmB,EAAEU,OAAO,CAACG,MAAM;IAAE,CAAC;IAC7DC,OAAO,EAAE;MAAE,GAAG9B,SAAS,CAACK,cAAc,EAAEqB,OAAO,CAACI,OAAO;IAAE,CAAC;IAC1DC,UAAU,EAAEL,OAAO,EAAEK;EACvB,CAAC;AACH"}
|
|
1
|
+
{"version":3,"file":"setting.mjs","names":["mergeDeep","ThemeScheme","light","dark","defaultTonalLuminance","defaultPalette","scaleMethod","colors","primary","secondary","tertiary","neutral","positive","negative","warning","info","defaultThemesValues","isDark","background","surface","outline","error","success","shadow","variables","configureOptions","options","scheme","theme","themes","palette","separation"],"sources":["../../../src/composables/theme/setting.ts"],"sourcesContent":["import { mergeDeep } from '@/util/common';\r\n\r\nimport type { PaletteOption, ThemeOptions } from './types';\r\n\r\nexport const ThemeScheme = {\r\n light: 'light',\r\n dark: 'dark',\r\n} as const;\r\n\r\nexport const defaultTonalLuminance = [\r\n 0, 10, 20, 25, 30, 35, 40, 50, 60, 70, 80, 90, 95, 98, 99, 100,\r\n];\r\n\r\nexport const defaultPalette: PaletteOption = {\r\n scaleMethod: 'tonal',\r\n colors: {\r\n primary: '#0062a1',\r\n secondary: '#6251a6',\r\n tertiary: '#3c691b',\r\n neutral: '#5d5e61',\r\n positive: '#009d61',\r\n negative: '#ba1a1a',\r\n warning: '#f69400',\r\n info: '#0d62e6',\r\n },\r\n};\r\n\r\nexport const defaultThemesValues: any = {\r\n light: {\r\n isDark: false,\r\n colors: {\r\n primary: '#0062a1',\r\n secondary: '#6251a6',\r\n tertiary: '#3c691b',\r\n background: '#fdfbff',\r\n 'on-background': '#1a1c1e',\r\n surface: '#fdfbff',\r\n 'on-surface': '#1a1c1e',\r\n 'surface-variant': '#dfe3eb',\r\n 'on-surface-variant': '#42474e',\r\n outline: '#73777f',\r\n 'outline-variant': '#c2c7cf',\r\n error: '#ba1a1a',\r\n 'on-error': '#ffffff',\r\n warning: '#8a5100',\r\n 'on-warning': '#ffffff',\r\n info: '#0056d0',\r\n 'on-info': '#ffffff',\r\n success: '#006d42',\r\n 'on-success': '#ffffff',\r\n shadow: '#000000',\r\n },\r\n variables: {\r\n 'outline-opacity': 0.14,\r\n 'base-shadow-opacity': 0.14,\r\n 'base-font': '#141414',\r\n },\r\n },\r\n dark: {\r\n isDark: true,\r\n colors: {\r\n primary: '#9ccaff',\r\n 'on-primary': '#003257',\r\n secondary: '#cbbeff',\r\n 'on-secondary': '#332074',\r\n tertiary: '#a1d57a',\r\n 'on-tertiary': '#173800',\r\n background: '#1a1c1e',\r\n 'on-background': '#e2e2e6',\r\n surface: '#1a1c1e',\r\n 'on-surface': '#e2e2e6',\r\n 'surface-variant': '#42474e',\r\n 'on-surface-variant': '#c2c7cf',\r\n outline: '#8c9199',\r\n 'outline-variant': '#42474e',\r\n error: '#ffb4ab',\r\n 'on-error': '#690005',\r\n warning: '#ffb86e',\r\n 'on-warning': '#492900',\r\n info: '#b1c5ff',\r\n 'on-info': '#002c72',\r\n success: '#61dd9a',\r\n 'on-success': '#003920',\r\n shadow: '#000000',\r\n },\r\n variables: {\r\n 'outline-opacity': 0.14,\r\n 'base-shadow-opacity': 0.14,\r\n 'base-font': '#f5f5f5',\r\n },\r\n },\r\n};\r\n\r\nexport function configureOptions(options?: ThemeOptions): any {\r\n if (!options) {\r\n return {\r\n scheme: ThemeScheme.light,\r\n theme: ['light', 'dark'],\r\n themes: { ...mergeDeep(defaultThemesValues) },\r\n palette: { ...mergeDeep(defaultPalette) },\r\n };\r\n }\r\n return {\r\n scheme: ThemeScheme.light,\r\n theme: ['light', 'dark'],\r\n themes: { ...mergeDeep(defaultThemesValues, options.themes) },\r\n palette: { ...mergeDeep(defaultPalette, options.palette) },\r\n separation: options?.separation,\r\n };\r\n}\r\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timing.mjs","names":["computed","ref","unref","watch","useLazy","eager","updated","tick","tack","value","lazyValue","onAfterUpdate","entered","useTimer","cb","duration","options","tickDuration","tickInterval","timer","tickStart","drift","isWork","now","Date","realTick","tickDrift","nextInterval","window","setTimeout","start","stop","clearTimeout","reset","useDelay","props","callback","state","clearDelay","propKey","setDelay","timeout","resolve","active","generateDelay","delayTime","Promise","delay","parseInt","String","startOpenDelay","startCloseDelay"],"sources":["../../src/composables/timing.ts"],"sourcesContent":["import { type MaybeRef, type Ref, computed, ref, unref, watch } from 'vue';\n\nexport function useLazy(eager: Ref<boolean | undefined>, updated: Ref<any>) {\n const tick = ref(false);\n const tack = ref();\n tack.value = updated.value;\n const lazyValue = computed(() => {\n if (eager.value) return updated.value;\n return tack.value;\n });\n watch(updated, () => {\n if (!tick.value) {\n tack.value = updated.value;\n }\n if (!eager.value) {\n tick.value = true;\n }\n });\n function onAfterUpdate() {\n tack.value = updated.value;\n if (!eager.value) {\n tick.value = false;\n }\n }\n return {\n entered: tick,\n lazyValue,\n onAfterUpdate,\n };\n}\n\nexport function useTimer(\n cb: () => void,\n duration: MaybeRef<number>,\n options?: { tickDuration: number },\n) {\n const { tickDuration } = options ?? {};\n let tickInterval = tickDuration ?? 100;\n let timer = -1;\n\n const tickStart = ref(0);\n const drift = ref(unref(duration));\n const isWork = ref(false);\n\n function tick() {\n const now = Date.now();\n const realTick = now - tickStart.value;\n drift.value = drift.value - realTick;\n if (drift.value < 1) {\n cb();\n } else {\n const tickDrift = now - tickStart.value + tickInterval;\n const nextInterval = tickDrift >= 1 ? tickDrift : tickInterval;\n tickStart.value = now;\n timer = window.setTimeout(tick, nextInterval);\n }\n }\n\n function start() {\n if (isWork.value) return;\n isWork.value = true;\n tickStart.value = Date.now();\n timer = window.setTimeout(tick, tickInterval);\n }\n\n function stop() {\n window.clearTimeout(timer);\n timer = -1;\n isWork.value = false;\n }\n\n function reset() {\n stop();\n drift.value = unref(duration);\n }\n\n return {\n start,\n stop,\n reset,\n drift,\n isWork,\n };\n}\n\ntype DelayType = 'closeDelay' | 'openDelay';\n\nexport function useDelay(props: any, callback?: (active: boolean) => void) {\n const state: Partial<Record<DelayType, number>> = {};\n\n function clearDelay(propKey: DelayType) {\n state[propKey] && window.clearTimeout(state[propKey]);\n delete state[propKey];\n }\n\n function setDelay(propKey: DelayType, timeout: number, resolve: any) {\n state[propKey] = window.setTimeout(() => {\n const active = propKey === 'openDelay';\n callback?.(active);\n resolve(active);\n }, timeout);\n }\n\n const generateDelay = (propKey: DelayType) => () => {\n clearDelay('openDelay');\n clearDelay('closeDelay');\n const delayTime = props[propKey] ?? 0;\n return new Promise<boolean>((resolve) => {\n const delay = parseInt(String(delayTime), 10);\n setDelay(propKey, delay, resolve);\n });\n };\n\n return {\n startOpenDelay: generateDelay('openDelay'),\n startCloseDelay: generateDelay('closeDelay'),\n };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"timing.mjs","names":["computed","ref","unref","watch","useLazy","eager","updated","tick","tack","value","lazyValue","onAfterUpdate","entered","useTimer","cb","duration","options","tickDuration","tickInterval","timer","tickStart","drift","isWork","now","Date","realTick","tickDrift","nextInterval","window","setTimeout","start","stop","clearTimeout","reset","useDelay","props","callback","state","clearDelay","propKey","setDelay","timeout","resolve","active","generateDelay","delayTime","Promise","delay","parseInt","String","startOpenDelay","startCloseDelay"],"sources":["../../src/composables/timing.ts"],"sourcesContent":["import { type MaybeRef, type Ref, computed, ref, unref, watch } from 'vue';\r\n\r\nexport function useLazy(eager: Ref<boolean | undefined>, updated: Ref<any>) {\r\n const tick = ref(false);\r\n const tack = ref();\r\n tack.value = updated.value;\r\n const lazyValue = computed(() => {\r\n if (eager.value) return updated.value;\r\n return tack.value;\r\n });\r\n watch(updated, () => {\r\n if (!tick.value) {\r\n tack.value = updated.value;\r\n }\r\n if (!eager.value) {\r\n tick.value = true;\r\n }\r\n });\r\n function onAfterUpdate() {\r\n tack.value = updated.value;\r\n if (!eager.value) {\r\n tick.value = false;\r\n }\r\n }\r\n return {\r\n entered: tick,\r\n lazyValue,\r\n onAfterUpdate,\r\n };\r\n}\r\n\r\nexport function useTimer(\r\n cb: () => void,\r\n duration: MaybeRef<number>,\r\n options?: { tickDuration: number },\r\n) {\r\n const { tickDuration } = options ?? {};\r\n let tickInterval = tickDuration ?? 100;\r\n let timer = -1;\r\n\r\n const tickStart = ref(0);\r\n const drift = ref(unref(duration));\r\n const isWork = ref(false);\r\n\r\n function tick() {\r\n const now = Date.now();\r\n const realTick = now - tickStart.value;\r\n drift.value = drift.value - realTick;\r\n if (drift.value < 1) {\r\n cb();\r\n } else {\r\n const tickDrift = now - tickStart.value + tickInterval;\r\n const nextInterval = tickDrift >= 1 ? tickDrift : tickInterval;\r\n tickStart.value = now;\r\n timer = window.setTimeout(tick, nextInterval);\r\n }\r\n }\r\n\r\n function start() {\r\n if (isWork.value) return;\r\n isWork.value = true;\r\n tickStart.value = Date.now();\r\n timer = window.setTimeout(tick, tickInterval);\r\n }\r\n\r\n function stop() {\r\n window.clearTimeout(timer);\r\n timer = -1;\r\n isWork.value = false;\r\n }\r\n\r\n function reset() {\r\n stop();\r\n drift.value = unref(duration);\r\n }\r\n\r\n return {\r\n start,\r\n stop,\r\n reset,\r\n drift,\r\n isWork,\r\n };\r\n}\r\n\r\ntype DelayType = 'closeDelay' | 'openDelay';\r\n\r\nexport function useDelay(props: any, callback?: (active: boolean) => void) {\r\n const state: Partial<Record<DelayType, number>> = {};\r\n\r\n function clearDelay(propKey: DelayType) {\r\n state[propKey] && window.clearTimeout(state[propKey]);\r\n delete state[propKey];\r\n }\r\n\r\n function setDelay(propKey: DelayType, timeout: number, resolve: any) {\r\n state[propKey] = window.setTimeout(() => {\r\n const active = propKey === 'openDelay';\r\n callback?.(active);\r\n resolve(active);\r\n }, timeout);\r\n }\r\n\r\n const generateDelay = (propKey: DelayType) => () => {\r\n clearDelay('openDelay');\r\n clearDelay('closeDelay');\r\n const delayTime = props[propKey] ?? 0;\r\n return new Promise<boolean>((resolve) => {\r\n const delay = parseInt(String(delayTime), 10);\r\n setDelay(propKey, delay, resolve);\r\n });\r\n };\r\n\r\n return {\r\n startOpenDelay: generateDelay('openDelay'),\r\n startCloseDelay: generateDelay('closeDelay'),\r\n };\r\n}\r\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transition.mjs","names":["Transition","computed","h","propsFactory","pressPolyTransitionPropsOptions","transition","type","String","Object","default","usePolyTransition","props","polyTransitionBindProps","is","transitionProps","name","PolyTransition","_ref","slots","forcedProps","component","rest"],"sources":["../../src/composables/transition.ts"],"sourcesContent":["import {\n type Component,\n type FunctionalComponent,\n type PropType,\n Transition,\n type TransitionProps,\n computed,\n h,\n} from 'vue';\n\nimport { propsFactory } from '@/util/component/props';\n\nexport const pressPolyTransitionPropsOptions = propsFactory(\n {\n transition: {\n type: [String, Object] as PropType<\n string | (TransitionProps & { is?: Component })\n >,\n default: 'slide-fade',\n },\n },\n 'PolyTransition',\n);\n\nexport function usePolyTransition(props: { transition: any }) {\n const polyTransitionBindProps = computed(() => {\n const { is, ...transitionProps } =\n typeof props.transition === 'object'\n ? props.transition\n : { is: props.transition, name: props.transition };\n return {\n is,\n transitionProps,\n };\n });\n\n return {\n polyTransitionBindProps,\n };\n}\n\nexport const PolyTransition: FunctionalComponent<\n TransitionProps & { is: string | Component; transitionProps: TransitionProps }\n> = (props, { slots }) => {\n const { is, transitionProps, ...forcedProps } = props;\n const { component = Transition, ...rest } =\n typeof is === 'object'\n ? { component: is, ...transitionProps }\n : { name: is };\n return h(component, { ...rest, ...transitionProps, ...forcedProps }, slots);\n};\n"],"mappings":"AAAA,SAIEA,UAAU,EAEVC,QAAQ,EACRC,CAAC,QACI,KAAK;AAAC,SAEJC,YAAY;AAErB,OAAO,MAAMC,+BAA+B,GAAGD,YAAY,CACzD;EACEE,UAAU,EAAE;IACVC,IAAI,EAAE,CAACC,MAAM,EAAEC,MAAM,CAEpB;IACDC,OAAO,EAAE;EACX;AACF,CAAC,EACD,gBACF,CAAC;AAED,OAAO,SAASC,iBAAiBA,CAACC,KAA0B,EAAE;EAC5D,MAAMC,uBAAuB,GAAGX,QAAQ,CAAC,MAAM;IAC7C,MAAM;MAAEY,EAAE;MAAE,GAAGC;IAAgB,CAAC,GAC9B,OAAOH,KAAK,CAACN,UAAU,KAAK,QAAQ,GAChCM,KAAK,CAACN,UAAU,GAChB;MAAEQ,EAAE,EAAEF,KAAK,CAACN,UAAU;MAAEU,IAAI,EAAEJ,KAAK,CAACN;IAAW,CAAC;IACtD,OAAO;MACLQ,EAAE;MACFC;IACF,CAAC;EACH,CAAC,CAAC;EAEF,OAAO;IACLF;EACF,CAAC;AACH;AAEA,OAAO,MAAMI,cAEZ,GAAGA,CAACL,KAAK,EAAAM,IAAA,KAAgB;EAAA,IAAd;IAAEC;EAAM,CAAC,GAAAD,IAAA;EACnB,MAAM;IAAEJ,EAAE;IAAEC,eAAe;IAAE,GAAGK;EAAY,CAAC,GAAGR,KAAK;EACrD,MAAM;IAAES,SAAS,GAAGpB,UAAU;IAAE,GAAGqB;EAAK,CAAC,GACvC,OAAOR,EAAE,KAAK,QAAQ,GAClB;IAAEO,SAAS,EAAEP,EAAE;IAAE,GAAGC;EAAgB,CAAC,GACrC;IAAEC,IAAI,EAAEF;EAAG,CAAC;EAClB,OAAOX,CAAC,CAACkB,SAAS,EAAE;IAAE,GAAGC,IAAI;IAAE,GAAGP,eAAe;IAAE,GAAGK;EAAY,CAAC,EAAED,KAAK,CAAC;AAC7E,CAAC"}
|
|
1
|
+
{"version":3,"file":"transition.mjs","names":["Transition","computed","h","propsFactory","pressPolyTransitionPropsOptions","transition","type","String","Object","default","usePolyTransition","props","polyTransitionBindProps","is","transitionProps","name","PolyTransition","_ref","slots","forcedProps","component","rest"],"sources":["../../src/composables/transition.ts"],"sourcesContent":["import {\r\n type Component,\r\n type FunctionalComponent,\r\n type PropType,\r\n Transition,\r\n type TransitionProps,\r\n computed,\r\n h,\r\n} from 'vue';\r\n\r\nimport { propsFactory } from '@/util/component/props';\r\n\r\nexport const pressPolyTransitionPropsOptions = propsFactory(\r\n {\r\n transition: {\r\n type: [String, Object] as PropType<\r\n string | (TransitionProps & { is?: Component })\r\n >,\r\n default: 'slide-fade',\r\n },\r\n },\r\n 'PolyTransition',\r\n);\r\n\r\nexport function usePolyTransition(props: { transition: any }) {\r\n const polyTransitionBindProps = computed(() => {\r\n const { is, ...transitionProps } =\r\n typeof props.transition === 'object'\r\n ? props.transition\r\n : { is: props.transition, name: props.transition };\r\n return {\r\n is,\r\n transitionProps,\r\n };\r\n });\r\n\r\n return {\r\n polyTransitionBindProps,\r\n };\r\n}\r\n\r\nexport const PolyTransition: FunctionalComponent<\r\n TransitionProps & { is: string | Component; transitionProps: TransitionProps }\r\n> = (props, { slots }) => {\r\n const { is, transitionProps, ...forcedProps } = props;\r\n const { component = Transition, ...rest } =\r\n typeof is === 'object'\r\n ? { component: is, ...transitionProps }\r\n : { name: is };\r\n return h(component, { ...rest, ...transitionProps, ...forcedProps }, slots);\r\n};\r\n"],"mappings":"AAAA,SAIEA,UAAU,EAEVC,QAAQ,EACRC,CAAC,QACI,KAAK;AAAC,SAEJC,YAAY;AAErB,OAAO,MAAMC,+BAA+B,GAAGD,YAAY,CACzD;EACEE,UAAU,EAAE;IACVC,IAAI,EAAE,CAACC,MAAM,EAAEC,MAAM,CAEpB;IACDC,OAAO,EAAE;EACX;AACF,CAAC,EACD,gBACF,CAAC;AAED,OAAO,SAASC,iBAAiBA,CAACC,KAA0B,EAAE;EAC5D,MAAMC,uBAAuB,GAAGX,QAAQ,CAAC,MAAM;IAC7C,MAAM;MAAEY,EAAE;MAAE,GAAGC;IAAgB,CAAC,GAC9B,OAAOH,KAAK,CAACN,UAAU,KAAK,QAAQ,GAChCM,KAAK,CAACN,UAAU,GAChB;MAAEQ,EAAE,EAAEF,KAAK,CAACN,UAAU;MAAEU,IAAI,EAAEJ,KAAK,CAACN;IAAW,CAAC;IACtD,OAAO;MACLQ,EAAE;MACFC;IACF,CAAC;EACH,CAAC,CAAC;EAEF,OAAO;IACLF;EACF,CAAC;AACH;AAEA,OAAO,MAAMI,cAEZ,GAAGA,CAACL,KAAK,EAAAM,IAAA,KAAgB;EAAA,IAAd;IAAEC;EAAM,CAAC,GAAAD,IAAA;EACnB,MAAM;IAAEJ,EAAE;IAAEC,eAAe;IAAE,GAAGK;EAAY,CAAC,GAAGR,KAAK;EACrD,MAAM;IAAES,SAAS,GAAGpB,UAAU;IAAE,GAAGqB;EAAK,CAAC,GACvC,OAAOR,EAAE,KAAK,QAAQ,GAClB;IAAEO,SAAS,EAAEP,EAAE;IAAE,GAAGC;EAAgB,CAAC,GACrC;IAAEC,IAAI,EAAEF;EAAG,CAAC;EAClB,OAAOX,CAAC,CAACkB,SAAS,EAAE;IAAE,GAAGC,IAAI;IAAE,GAAGP,eAAe;IAAE,GAAGK;EAAY,CAAC,EAAED,KAAK,CAAC;AAC7E,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.mjs","names":["computed","getCurrentInstance","onBeforeMount","ref","watch","getUid","propsFactory","useModelDuplex","useForm","useToggleScope","pressValidationPropsOptions","readonly","Boolean","disabled","status","type","String","validator","value","includes","helperText","validators","Array","validateOn","validationValue","maxErrors","Number","default","useValidation","props","name","uid","arguments","length","undefined","cid","model","validationModel","vm","form","validating","onSet","Set","split","blur","has","input","lazy","submit","errorResult","errors","isReadonly","isDisabled","isLoading","loading","isError","isSuccess","invokeValidators","focused","unwatch","val","results","isArray","handler","result","console","warn","push","resetError","resetValidation","register","id","vnode","validate"],"sources":["../../src/composables/validation.ts"],"sourcesContent":["import {\n type PropType,\n computed,\n getCurrentInstance,\n onBeforeMount,\n ref,\n watch,\n} from 'vue';\n\nimport { getUid, propsFactory } from '@/util/component';\n\nimport { useModelDuplex } from './communication';\nimport { useForm } from './form';\nimport { useToggleScope } from './scope';\n\nexport interface ValidationProps {\n validateOn: 'input' | 'blur' | 'lazy' | 'submit' | string;\n}\n\nexport const pressValidationPropsOptions = propsFactory(\n {\n readonly: Boolean as PropType<boolean>,\n disabled: Boolean as PropType<boolean>,\n status: {\n type: String as PropType<'success' | 'warning' | 'error' | undefined>,\n validator(value: string) {\n return ['success', 'warning', 'error'].includes(value);\n },\n },\n helperText: String,\n validators: Array as PropType<((v: any) => boolean | string)[] | string[]>,\n validateOn: {\n type: String as PropType<ValidationProps['validateOn']>,\n },\n validationValue: null,\n maxErrors: {\n type: [Number, String] as PropType<number | string>,\n default: 1,\n },\n },\n 'validation',\n);\n\nexport function useValidation(props: any, name: string, uid = getUid()) {\n const cid = computed(() => props.name ?? uid);\n const model = useModelDuplex(props, 'modelValue');\n const validationModel = computed(() =>\n props.validationValue === undefined ? model.value : props.validationValue,\n );\n const vm = getCurrentInstance()!;\n const form = useForm();\n const validating = ref(false);\n const validateOn = computed(() => {\n let value = props.validateOn || 'input';\n if (value === 'lazy') value = 'input,lazy';\n const onSet = new Set(value?.split(',') ?? []);\n\n return {\n blur: onSet.has('blur') || onSet.has('input'),\n input: onSet.has('input'),\n lazy: onSet.has('lazy'),\n submit: onSet.has('submit'),\n };\n });\n\n const errorResult = ref();\n const errors = ref<any[]>([]);\n\n const isReadonly = computed(() => props.readonly ?? form?.isReadonly.value);\n\n const isDisabled = computed(() => props.disabled ?? form?.isDisabled.value);\n\n const isLoading = computed(() => props.loading ?? form?.isLoading.value);\n\n const isError = computed(() => {\n return props.status === 'error' || errors.value.length > 0;\n });\n\n const isSuccess = computed(() => {\n return !isError.value && props.status === 'success';\n });\n\n useToggleScope(\n () => validateOn.value.input,\n () => {\n watch(validationModel, () => {\n if (validationModel.value != null) {\n invokeValidators();\n } else if (props.focused) {\n const unwatch = watch(\n () => props.focused,\n (val) => {\n if (!val) invokeValidators();\n\n unwatch();\n },\n );\n }\n });\n },\n );\n\n async function invokeValidators() {\n const results: any[] = [];\n validating.value = true;\n\n if (Array.isArray(props.validators)) {\n for (const validator of props.validators) {\n if (results.length >= +(props.maxErrors ?? 1)) {\n break;\n }\n\n const handler =\n typeof validator === 'function' ? validator : () => validator;\n const result = await handler(validationModel.value);\n\n if (result === true) {\n continue;\n }\n\n if (result !== false && typeof result !== 'string') {\n console.warn('Wrong validator return type');\n continue;\n }\n results.push(result || '');\n }\n }\n validating.value = false;\n errors.value = results;\n errorResult.value = results?.[0];\n\n return results;\n }\n\n function resetError() {\n errors.value = [];\n errorResult.value = undefined;\n }\n\n async function resetValidation() {\n if (!validateOn.value.lazy) {\n await invokeValidators();\n } else {\n resetError();\n }\n }\n\n onBeforeMount(() => {\n form?.register({\n id: cid.value,\n vnode: vm.vnode,\n resetValidation,\n validate: invokeValidators,\n });\n });\n\n return {\n invokeValidators,\n resetError,\n validating,\n validateOn,\n errorResult,\n errors,\n isReadonly,\n isDisabled,\n isLoading,\n isError,\n isSuccess,\n };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validation.mjs","names":["computed","getCurrentInstance","onBeforeMount","ref","watch","getUid","propsFactory","useModelDuplex","useForm","useToggleScope","pressValidationPropsOptions","readonly","Boolean","disabled","status","type","String","validator","value","includes","helperText","validators","Array","validateOn","validationValue","maxErrors","Number","default","useValidation","props","name","uid","arguments","length","undefined","cid","model","validationModel","vm","form","validating","onSet","Set","split","blur","has","input","lazy","submit","errorResult","errors","isReadonly","isDisabled","isLoading","loading","isError","isSuccess","invokeValidators","focused","unwatch","val","results","isArray","handler","result","console","warn","push","resetError","resetValidation","register","id","vnode","validate"],"sources":["../../src/composables/validation.ts"],"sourcesContent":["import {\r\n type PropType,\r\n computed,\r\n getCurrentInstance,\r\n onBeforeMount,\r\n ref,\r\n watch,\r\n} from 'vue';\r\n\r\nimport { getUid, propsFactory } from '@/util/component';\r\n\r\nimport { useModelDuplex } from './communication';\r\nimport { useForm } from './form';\r\nimport { useToggleScope } from './scope';\r\n\r\nexport interface ValidationProps {\r\n validateOn: 'input' | 'blur' | 'lazy' | 'submit' | string;\r\n}\r\n\r\nexport const pressValidationPropsOptions = propsFactory(\r\n {\r\n readonly: Boolean as PropType<boolean>,\r\n disabled: Boolean as PropType<boolean>,\r\n status: {\r\n type: String as PropType<'success' | 'warning' | 'error' | undefined>,\r\n validator(value: string) {\r\n return ['success', 'warning', 'error'].includes(value);\r\n },\r\n },\r\n helperText: String,\r\n validators: Array as PropType<((v: any) => boolean | string)[] | string[]>,\r\n validateOn: {\r\n type: String as PropType<ValidationProps['validateOn']>,\r\n },\r\n validationValue: null,\r\n maxErrors: {\r\n type: [Number, String] as PropType<number | string>,\r\n default: 1,\r\n },\r\n },\r\n 'validation',\r\n);\r\n\r\nexport function useValidation(props: any, name: string, uid = getUid()) {\r\n const cid = computed(() => props.name ?? uid);\r\n const model = useModelDuplex(props, 'modelValue');\r\n const validationModel = computed(() =>\r\n props.validationValue === undefined ? model.value : props.validationValue,\r\n );\r\n const vm = getCurrentInstance()!;\r\n const form = useForm();\r\n const validating = ref(false);\r\n const validateOn = computed(() => {\r\n let value = props.validateOn || 'input';\r\n if (value === 'lazy') value = 'input,lazy';\r\n const onSet = new Set(value?.split(',') ?? []);\r\n\r\n return {\r\n blur: onSet.has('blur') || onSet.has('input'),\r\n input: onSet.has('input'),\r\n lazy: onSet.has('lazy'),\r\n submit: onSet.has('submit'),\r\n };\r\n });\r\n\r\n const errorResult = ref();\r\n const errors = ref<any[]>([]);\r\n\r\n const isReadonly = computed(() => props.readonly ?? form?.isReadonly.value);\r\n\r\n const isDisabled = computed(() => props.disabled ?? form?.isDisabled.value);\r\n\r\n const isLoading = computed(() => props.loading ?? form?.isLoading.value);\r\n\r\n const isError = computed(() => {\r\n return props.status === 'error' || errors.value.length > 0;\r\n });\r\n\r\n const isSuccess = computed(() => {\r\n return !isError.value && props.status === 'success';\r\n });\r\n\r\n useToggleScope(\r\n () => validateOn.value.input,\r\n () => {\r\n watch(validationModel, () => {\r\n if (validationModel.value != null) {\r\n invokeValidators();\r\n } else if (props.focused) {\r\n const unwatch = watch(\r\n () => props.focused,\r\n (val) => {\r\n if (!val) invokeValidators();\r\n\r\n unwatch();\r\n },\r\n );\r\n }\r\n });\r\n },\r\n );\r\n\r\n async function invokeValidators() {\r\n const results: any[] = [];\r\n validating.value = true;\r\n\r\n if (Array.isArray(props.validators)) {\r\n for (const validator of props.validators) {\r\n if (results.length >= +(props.maxErrors ?? 1)) {\r\n break;\r\n }\r\n\r\n const handler =\r\n typeof validator === 'function' ? validator : () => validator;\r\n const result = await handler(validationModel.value);\r\n\r\n if (result === true) {\r\n continue;\r\n }\r\n\r\n if (result !== false && typeof result !== 'string') {\r\n console.warn('Wrong validator return type');\r\n continue;\r\n }\r\n results.push(result || '');\r\n }\r\n }\r\n validating.value = false;\r\n errors.value = results;\r\n errorResult.value = results?.[0];\r\n\r\n return results;\r\n }\r\n\r\n function resetError() {\r\n errors.value = [];\r\n errorResult.value = undefined;\r\n }\r\n\r\n async function resetValidation() {\r\n if (!validateOn.value.lazy) {\r\n await invokeValidators();\r\n } else {\r\n resetError();\r\n }\r\n }\r\n\r\n onBeforeMount(() => {\r\n form?.register({\r\n id: cid.value,\r\n vnode: vm.vnode,\r\n resetValidation,\r\n validate: invokeValidators,\r\n });\r\n });\r\n\r\n return {\r\n invokeValidators,\r\n resetError,\r\n validating,\r\n validateOn,\r\n errorResult,\r\n errors,\r\n isReadonly,\r\n isDisabled,\r\n isLoading,\r\n isError,\r\n isSuccess,\r\n };\r\n}\r\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vue-router.mjs","names":["computed","resolveDynamicComponent","toRef","hasEventProp","propsFactory","pressVueRouterPropsOptions","href","String","replace","Boolean","to","Object","exact","useLink","props","attrs","RouterLink","isLink","isClickable","value","link","undefined","route","navigate","isActive","isExactActive"],"sources":["../../src/composables/vue-router.ts"],"sourcesContent":["import type { ComputedRef, PropType, Ref, SetupContext } from 'vue';\nimport { computed, resolveDynamicComponent, toRef } from 'vue';\nimport type {\n RouteLocationRaw,\n UseLinkOptions,\n RouterLink as VueRouterLink,\n} from 'vue-router';\nimport { useLink as _useLink } from 'vue-router';\n\nimport { type EventProp, hasEventProp, propsFactory } from '@/util/component';\n\nexport interface LinkProps {\n href: string | undefined;\n replace: boolean | undefined;\n to: RouteLocationRaw | undefined;\n exact: boolean | undefined;\n}\n\nexport interface LinkListeners {\n onClick?: EventProp | undefined;\n onClickOnce?: EventProp | undefined;\n}\n\nexport const pressVueRouterPropsOptions = propsFactory(\n {\n href: String,\n replace: Boolean,\n to: [String, Object] as PropType<RouteLocationRaw>,\n exact: Boolean,\n },\n 'VueRouter',\n);\n\nexport interface UseLink\n extends Omit<Partial<ReturnType<typeof _useLink>>, 'href'> {\n isLink: ComputedRef<boolean>;\n isClickable: ComputedRef<boolean>;\n href: Ref<string | undefined>;\n}\n\nexport function useLink(\n props: LinkProps & LinkListeners,\n attrs: SetupContext['attrs'],\n): UseLink {\n const RouterLink = resolveDynamicComponent('RouterLink') as\n | typeof VueRouterLink\n | string;\n\n const isLink = computed(() => !!(props.href || props.to));\n const isClickable = computed(() => {\n return (\n isLink?.value ||\n hasEventProp(attrs, 'click') ||\n hasEventProp(props, 'click')\n );\n });\n if (typeof RouterLink === 'string') {\n return {\n isLink,\n isClickable,\n href: toRef(props, 'href'),\n };\n }\n const link = props.to\n ? RouterLink.useLink(props as UseLinkOptions)\n : undefined;\n return {\n isLink,\n isClickable,\n route: link?.route,\n navigate: link?.navigate,\n isActive:\n link &&\n computed(() =>\n props.exact ? link.isExactActive?.value : link.isActive?.value,\n ),\n href: computed(() => (props.to ? link?.route.value.href : props.href)),\n };\n}\n"],"mappings":"AACA,SAASA,QAAQ,EAAEC,uBAAuB,EAAEC,KAAK,QAAQ,KAAK;AAAC,SAQtCC,YAAY,EAAEC,YAAY;AAcnD,OAAO,MAAMC,0BAA0B,GAAGD,YAAY,CACpD;EACEE,IAAI,EAAEC,MAAM;EACZC,OAAO,EAAEC,OAAO;EAChBC,EAAE,EAAE,CAACH,MAAM,EAAEI,MAAM,CAA+B;EAClDC,KAAK,EAAEH;AACT,CAAC,EACD,WACF,CAAC;AASD,OAAO,SAASI,OAAOA,CACrBC,KAAgC,EAChCC,KAA4B,EACnB;EACT,MAAMC,UAAU,GAAGf,uBAAuB,CAAC,YAAY,CAE7C;EAEV,MAAMgB,MAAM,GAAGjB,QAAQ,CAAC,MAAM,CAAC,EAAEc,KAAK,CAACR,IAAI,IAAIQ,KAAK,CAACJ,EAAE,CAAC,CAAC;EACzD,MAAMQ,WAAW,GAAGlB,QAAQ,CAAC,MAAM;IACjC,OACEiB,MAAM,EAAEE,KAAK,IACbhB,YAAY,CAACY,KAAK,EAAE,OAAO,CAAC,IAC5BZ,YAAY,CAACW,KAAK,EAAE,OAAO,CAAC;EAEhC,CAAC,CAAC;EACF,IAAI,OAAOE,UAAU,KAAK,QAAQ,EAAE;IAClC,OAAO;MACLC,MAAM;MACNC,WAAW;MACXZ,IAAI,EAAEJ,KAAK,CAACY,KAAK,EAAE,MAAM;IAC3B,CAAC;EACH;EACA,MAAMM,IAAI,GAAGN,KAAK,CAACJ,EAAE,GACjBM,UAAU,CAACH,OAAO,CAACC,KAAuB,CAAC,GAC3CO,SAAS;EACb,OAAO;IACLJ,MAAM;IACNC,WAAW;IACXI,KAAK,EAAEF,IAAI,EAAEE,KAAK;IAClBC,QAAQ,EAAEH,IAAI,EAAEG,QAAQ;IACxBC,QAAQ,EACNJ,IAAI,IACJpB,QAAQ,CAAC,MACPc,KAAK,CAACF,KAAK,GAAGQ,IAAI,CAACK,aAAa,EAAEN,KAAK,GAAGC,IAAI,CAACI,QAAQ,EAAEL,KAC3D,CAAC;IACHb,IAAI,EAAEN,QAAQ,CAAC,MAAOc,KAAK,CAACJ,EAAE,GAAGU,IAAI,EAAEE,KAAK,CAACH,KAAK,CAACb,IAAI,GAAGQ,KAAK,CAACR,IAAK;EACvE,CAAC;AACH"}
|
|
1
|
+
{"version":3,"file":"vue-router.mjs","names":["computed","resolveDynamicComponent","toRef","hasEventProp","propsFactory","pressVueRouterPropsOptions","href","String","replace","Boolean","to","Object","exact","useLink","props","attrs","RouterLink","isLink","isClickable","value","link","undefined","route","navigate","isActive","isExactActive"],"sources":["../../src/composables/vue-router.ts"],"sourcesContent":["import type { ComputedRef, PropType, Ref, SetupContext } from 'vue';\r\nimport { computed, resolveDynamicComponent, toRef } from 'vue';\r\nimport type {\r\n RouteLocationRaw,\r\n UseLinkOptions,\r\n RouterLink as VueRouterLink,\r\n} from 'vue-router';\r\nimport { useLink as _useLink } from 'vue-router';\r\n\r\nimport { type EventProp, hasEventProp, propsFactory } from '@/util/component';\r\n\r\nexport interface LinkProps {\r\n href: string | undefined;\r\n replace: boolean | undefined;\r\n to: RouteLocationRaw | undefined;\r\n exact: boolean | undefined;\r\n}\r\n\r\nexport interface LinkListeners {\r\n onClick?: EventProp | undefined;\r\n onClickOnce?: EventProp | undefined;\r\n}\r\n\r\nexport const pressVueRouterPropsOptions = propsFactory(\r\n {\r\n href: String,\r\n replace: Boolean,\r\n to: [String, Object] as PropType<RouteLocationRaw>,\r\n exact: Boolean,\r\n },\r\n 'VueRouter',\r\n);\r\n\r\nexport interface UseLink\r\n extends Omit<Partial<ReturnType<typeof _useLink>>, 'href'> {\r\n isLink: ComputedRef<boolean>;\r\n isClickable: ComputedRef<boolean>;\r\n href: Ref<string | undefined>;\r\n}\r\n\r\nexport function useLink(\r\n props: LinkProps & LinkListeners,\r\n attrs: SetupContext['attrs'],\r\n): UseLink {\r\n const RouterLink = resolveDynamicComponent('RouterLink') as\r\n | typeof VueRouterLink\r\n | string;\r\n\r\n const isLink = computed(() => !!(props.href || props.to));\r\n const isClickable = computed(() => {\r\n return (\r\n isLink?.value ||\r\n hasEventProp(attrs, 'click') ||\r\n hasEventProp(props, 'click')\r\n );\r\n });\r\n if (typeof RouterLink === 'string') {\r\n return {\r\n isLink,\r\n isClickable,\r\n href: toRef(props, 'href'),\r\n };\r\n }\r\n const link = props.to\r\n ? RouterLink.useLink(props as UseLinkOptions)\r\n : undefined;\r\n return {\r\n isLink,\r\n isClickable,\r\n route: link?.route,\r\n navigate: link?.navigate,\r\n isActive:\r\n link &&\r\n computed(() =>\r\n props.exact ? link.isExactActive?.value : link.isActive?.value,\r\n ),\r\n href: computed(() => (props.to ? link?.route.value.href : props.href)),\r\n };\r\n}\r\n"],"mappings":"AACA,SAASA,QAAQ,EAAEC,uBAAuB,EAAEC,KAAK,QAAQ,KAAK;AAAC,SAQtCC,YAAY,EAAEC,YAAY;AAcnD,OAAO,MAAMC,0BAA0B,GAAGD,YAAY,CACpD;EACEE,IAAI,EAAEC,MAAM;EACZC,OAAO,EAAEC,OAAO;EAChBC,EAAE,EAAE,CAACH,MAAM,EAAEI,MAAM,CAA+B;EAClDC,KAAK,EAAEH;AACT,CAAC,EACD,WACF,CAAC;AASD,OAAO,SAASI,OAAOA,CACrBC,KAAgC,EAChCC,KAA4B,EACnB;EACT,MAAMC,UAAU,GAAGf,uBAAuB,CAAC,YAAY,CAE7C;EAEV,MAAMgB,MAAM,GAAGjB,QAAQ,CAAC,MAAM,CAAC,EAAEc,KAAK,CAACR,IAAI,IAAIQ,KAAK,CAACJ,EAAE,CAAC,CAAC;EACzD,MAAMQ,WAAW,GAAGlB,QAAQ,CAAC,MAAM;IACjC,OACEiB,MAAM,EAAEE,KAAK,IACbhB,YAAY,CAACY,KAAK,EAAE,OAAO,CAAC,IAC5BZ,YAAY,CAACW,KAAK,EAAE,OAAO,CAAC;EAEhC,CAAC,CAAC;EACF,IAAI,OAAOE,UAAU,KAAK,QAAQ,EAAE;IAClC,OAAO;MACLC,MAAM;MACNC,WAAW;MACXZ,IAAI,EAAEJ,KAAK,CAACY,KAAK,EAAE,MAAM;IAC3B,CAAC;EACH;EACA,MAAMM,IAAI,GAAGN,KAAK,CAACJ,EAAE,GACjBM,UAAU,CAACH,OAAO,CAACC,KAAuB,CAAC,GAC3CO,SAAS;EACb,OAAO;IACLJ,MAAM;IACNC,WAAW;IACXI,KAAK,EAAEF,IAAI,EAAEE,KAAK;IAClBC,QAAQ,EAAEH,IAAI,EAAEG,QAAQ;IACxBC,QAAQ,EACNJ,IAAI,IACJpB,QAAQ,CAAC,MACPc,KAAK,CAACF,KAAK,GAAGQ,IAAI,CAACK,aAAa,EAAEN,KAAK,GAAGC,IAAI,CAACI,QAAQ,EAAEL,KAC3D,CAAC;IACHb,IAAI,EAAEN,QAAQ,CAAC,MAAOc,KAAK,CAACJ,EAAE,GAAGU,IAAI,EAAEE,KAAK,CAACH,KAAK,CAACb,IAAI,GAAGQ,KAAK,CAACR,IAAK;EACvE,CAAC;AACH"}
|
package/lib/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["getCurrentInstance","nextTick","reactive","components","YUYEON_DATE_KEY","YUYEON_DATE_OPTIONS_KEY","createDateModule","createDefaultsModule","YUYEON_DEFAULTS_KEY","createI18nModule","YUYEON_I18N_KEY","YUYEON_ICON_KEY","createIconModule","YUYEON_THEME_KEY","createThemeModule","useTheme","PlateWave","YUYEON_LOGO","defaultOptions","credit","init","options","arguments","length","undefined","defaultsModule","defaults","themeModule","theme","i18nModule","i18n","dateModule","date","localeModule","iconModule","icon","install","app","yuyeon","root","instance","rtlModule","Object","keys","forEach","componentName","comp","component","directive","provide","config","globalProperties","$yuyeon","_container","_instance","classList","add","setAttribute","console","log","unmount","mount","vm","scope","stop","useYuyeon","Error","appContext"],"sources":["../src/index.ts"],"sourcesContent":["import type { App, Component, ComponentInternalInstance } from 'vue';\nimport { getCurrentInstance, nextTick, reactive } from 'vue';\n\nimport * as components from '@/components';\nimport {\n YUYEON_DATE_KEY,\n YUYEON_DATE_OPTIONS_KEY,\n createDateModule,\n} from '@/composables/date';\nimport { createDefaultsModule } from '@/composables/defaults';\nimport { YUYEON_DEFAULTS_KEY } from '@/composables/defaults/share';\nimport { createI18nModule } from '@/composables/i18n';\nimport { YUYEON_I18N_KEY } from '@/composables/i18n/share';\nimport { YUYEON_ICON_KEY, createIconModule } from '@/composables/icon';\nimport {\n YUYEON_THEME_KEY,\n createThemeModule,\n useTheme,\n} from '@/composables/theme';\nimport PlateWave from '@/directives/plate-wave';\nimport { YUYEON_LOGO } from '@/etc';\n\nimport './styles/base.scss';\n\nconst defaultOptions = {\n credit: true,\n};\n\ndeclare module 'vue' {\n interface ComponentCustomProperties {\n $yuyeon: any;\n }\n}\n\nexport function init(options: any = defaultOptions) {\n const defaultsModule = createDefaultsModule(options?.defaults);\n const themeModule = createThemeModule(options?.theme);\n const i18nModule = createI18nModule(options?.i18n);\n const dateModule = createDateModule(options?.date, i18nModule.localeModule);\n const iconModule = createIconModule(options?.icon);\n const install = (app: App) => {\n themeModule.install(app);\n\n const yuyeon = reactive({\n app: null as ComponentInternalInstance | null,\n root: null as HTMLElement | null,\n theme: themeModule.instance,\n i18n: {\n ...i18nModule.localeModule,\n ...i18nModule.rtlModule,\n },\n date: dateModule,\n defaults: defaultsModule,\n });\n\n Object.keys(options?.components ?? components).forEach((componentName) => {\n const comp = components[componentName as keyof typeof components];\n if (typeof comp === 'object' && 'name' in comp)\n app.component(componentName, comp as Component);\n });\n\n app.directive('plate-wave', PlateWave);\n\n app.provide(YUYEON_DEFAULTS_KEY, defaultsModule);\n app.provide(YUYEON_THEME_KEY, themeModule.instance);\n app.provide(YUYEON_ICON_KEY, iconModule);\n app.provide(YUYEON_I18N_KEY, {\n ...i18nModule.localeModule,\n ...i18nModule.rtlModule,\n });\n app.provide(YUYEON_DATE_OPTIONS_KEY, dateModule.options);\n app.provide(YUYEON_DATE_KEY, dateModule.instance);\n\n app.config.globalProperties.$yuyeon = yuyeon;\n\n nextTick(() => {\n yuyeon.root = app._container;\n yuyeon.app = app._instance as any;\n if (yuyeon.root) {\n yuyeon.root.classList.add('y-root');\n yuyeon.root.setAttribute('data-y-root', '');\n themeModule.init(yuyeon);\n }\n });\n\n if (options?.credit) {\n console.log(YUYEON_LOGO);\n }\n const { unmount, mount } = app;\n app.mount = (...args) => {\n const vm = mount(...args);\n if (!yuyeon.app) {\n yuyeon.app = app._instance as any;\n }\n if (!yuyeon.root) {\n nextTick(() => {\n yuyeon.root = app._container;\n if (yuyeon.root) {\n yuyeon.root.classList.add('y-root');\n yuyeon.root.setAttribute('data-y-root', '');\n themeModule.init(yuyeon);\n }\n });\n }\n app.mount = mount;\n return vm;\n };\n app.unmount = () => {\n unmount();\n themeModule.scope.stop();\n app.unmount = unmount;\n };\n };\n\n return {\n install,\n };\n}\n\nexport function useYuyeon() {\n const vm = getCurrentInstance();\n if (!vm) throw new Error('[yuyeon] Called outside of setup context');\n\n return vm.appContext.config.globalProperties.$yuyeon;\n}\n\nexport { useTheme };\n"],"mappings":"AACA,SAASA,kBAAkB,EAAEC,QAAQ,EAAEC,QAAQ,QAAQ,KAAK;AAAC,OAEtD,KAAKC,UAAU;AAAA,SAEpBC,eAAe,EACfC,uBAAuB,EACvBC,gBAAgB;AAAA,SAETC,oBAAoB;AAAA,SACpBC,mBAAmB;AAAA,SACnBC,gBAAgB;AAAA,SAChBC,eAAe;AAAA,SACfC,eAAe,EAAEC,gBAAgB;AAAA,SAExCC,gBAAgB,EAChBC,iBAAiB,EACjBC,QAAQ;AAAA,OAEHC,SAAS;AAAA,SACPC,WAAW;AAEpB;AAEA,MAAMC,cAAc,GAAG;EACrBC,MAAM,EAAE;AACV,CAAC;AAQD,OAAO,SAASC,IAAIA,CAAA,EAAgC;EAAA,IAA/BC,OAAY,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGJ,cAAc;EAChD,MAAMO,cAAc,GAAGlB,oBAAoB,CAACc,OAAO,EAAEK,QAAQ,CAAC;EAC9D,MAAMC,WAAW,GAAGb,iBAAiB,CAACO,OAAO,EAAEO,KAAK,CAAC;EACrD,MAAMC,UAAU,GAAGpB,gBAAgB,CAACY,OAAO,EAAES,IAAI,CAAC;EAClD,MAAMC,UAAU,GAAGzB,gBAAgB,CAACe,OAAO,EAAEW,IAAI,EAAEH,UAAU,CAACI,YAAY,CAAC;EAC3E,MAAMC,UAAU,GAAGtB,gBAAgB,CAACS,OAAO,EAAEc,IAAI,CAAC;EAClD,MAAMC,OAAO,GAAIC,GAAQ,IAAK;IAC5BV,WAAW,CAACS,OAAO,CAACC,GAAG,CAAC;IAExB,MAAMC,MAAM,GAAGpC,QAAQ,CAAC;MACtBmC,GAAG,EAAE,IAAwC;MAC7CE,IAAI,EAAE,IAA0B;MAChCX,KAAK,EAAED,WAAW,CAACa,QAAQ;MAC3BV,IAAI,EAAE;QACJ,GAAGD,UAAU,CAACI,YAAY;QAC1B,GAAGJ,UAAU,CAACY;MAChB,CAAC;MACDT,IAAI,EAAED,UAAU;MAChBL,QAAQ,EAAED;IACZ,CAAC,CAAC;IAEFiB,MAAM,CAACC,IAAI,CAACtB,OAAO,EAAElB,UAAU,IAAIA,UAAU,CAAC,CAACyC,OAAO,CAAEC,aAAa,IAAK;MACxE,MAAMC,IAAI,GAAG3C,UAAU,CAAC0C,aAAa,CAA4B;MACjE,IAAI,OAAOC,IAAI,KAAK,QAAQ,IAAI,MAAM,IAAIA,IAAI,EAC5CT,GAAG,CAACU,SAAS,CAACF,aAAa,EAAEC,IAAiB,CAAC;IACnD,CAAC,CAAC;IAEFT,GAAG,CAACW,SAAS,CAAC,YAAY,EAAEhC,SAAS,CAAC;IAEtCqB,GAAG,CAACY,OAAO,CAACzC,mBAAmB,EAAEiB,cAAc,CAAC;IAChDY,GAAG,CAACY,OAAO,CAACpC,gBAAgB,EAAEc,WAAW,CAACa,QAAQ,CAAC;IACnDH,GAAG,CAACY,OAAO,CAACtC,eAAe,EAAEuB,UAAU,CAAC;IACxCG,GAAG,CAACY,OAAO,CAACvC,eAAe,EAAE;MAC3B,GAAGmB,UAAU,CAACI,YAAY;MAC1B,GAAGJ,UAAU,CAACY;IAChB,CAAC,CAAC;IACFJ,GAAG,CAACY,OAAO,CAAC5C,uBAAuB,EAAE0B,UAAU,CAACV,OAAO,CAAC;IACxDgB,GAAG,CAACY,OAAO,CAAC7C,eAAe,EAAE2B,UAAU,CAACS,QAAQ,CAAC;IAEjDH,GAAG,CAACa,MAAM,CAACC,gBAAgB,CAACC,OAAO,GAAGd,MAAM;IAE5CrC,QAAQ,CAAC,MAAM;MACbqC,MAAM,CAACC,IAAI,GAAGF,GAAG,CAACgB,UAAU;MAC5Bf,MAAM,CAACD,GAAG,GAAGA,GAAG,CAACiB,SAAgB;MACjC,IAAIhB,MAAM,CAACC,IAAI,EAAE;QACfD,MAAM,CAACC,IAAI,CAACgB,SAAS,CAACC,GAAG,CAAC,QAAQ,CAAC;QACnClB,MAAM,CAACC,IAAI,CAACkB,YAAY,CAAC,aAAa,EAAE,EAAE,CAAC;QAC3C9B,WAAW,CAACP,IAAI,CAACkB,MAAM,CAAC;MAC1B;IACF,CAAC,CAAC;IAEF,IAAIjB,OAAO,EAAEF,MAAM,EAAE;MACnBuC,OAAO,CAACC,GAAG,CAAC1C,WAAW,CAAC;IAC1B;IACA,MAAM;MAAE2C,OAAO;MAAEC;IAAM,CAAC,GAAGxB,GAAG;IAC9BA,GAAG,CAACwB,KAAK,GAAG,YAAa;MACvB,MAAMC,EAAE,GAAGD,KAAK,CAAC,GAAAvC,SAAO,CAAC;MACzB,IAAI,CAACgB,MAAM,CAACD,GAAG,EAAE;QACfC,MAAM,CAACD,GAAG,GAAGA,GAAG,CAACiB,SAAgB;MACnC;MACA,IAAI,CAAChB,MAAM,CAACC,IAAI,EAAE;QAChBtC,QAAQ,CAAC,MAAM;UACbqC,MAAM,CAACC,IAAI,GAAGF,GAAG,CAACgB,UAAU;UAC5B,IAAIf,MAAM,CAACC,IAAI,EAAE;YACfD,MAAM,CAACC,IAAI,CAACgB,SAAS,CAACC,GAAG,CAAC,QAAQ,CAAC;YACnClB,MAAM,CAACC,IAAI,CAACkB,YAAY,CAAC,aAAa,EAAE,EAAE,CAAC;YAC3C9B,WAAW,CAACP,IAAI,CAACkB,MAAM,CAAC;UAC1B;QACF,CAAC,CAAC;MACJ;MACAD,GAAG,CAACwB,KAAK,GAAGA,KAAK;MACjB,OAAOC,EAAE;IACX,CAAC;IACDzB,GAAG,CAACuB,OAAO,GAAG,MAAM;MAClBA,OAAO,CAAC,CAAC;MACTjC,WAAW,CAACoC,KAAK,CAACC,IAAI,CAAC,CAAC;MACxB3B,GAAG,CAACuB,OAAO,GAAGA,OAAO;IACvB,CAAC;EACH,CAAC;EAED,OAAO;IACLxB;EACF,CAAC;AACH;AAEA,OAAO,SAAS6B,SAASA,CAAA,EAAG;EAC1B,MAAMH,EAAE,GAAG9D,kBAAkB,CAAC,CAAC;EAC/B,IAAI,CAAC8D,EAAE,EAAE,MAAM,IAAII,KAAK,CAAC,0CAA0C,CAAC;EAEpE,OAAOJ,EAAE,CAACK,UAAU,CAACjB,MAAM,CAACC,gBAAgB,CAACC,OAAO;AACtD;AAEA,SAASrC,QAAQ"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["getCurrentInstance","nextTick","reactive","components","YUYEON_DATE_KEY","YUYEON_DATE_OPTIONS_KEY","createDateModule","createDefaultsModule","YUYEON_DEFAULTS_KEY","createI18nModule","YUYEON_I18N_KEY","YUYEON_ICON_KEY","createIconModule","YUYEON_THEME_KEY","createThemeModule","useTheme","PlateWave","YUYEON_LOGO","defaultOptions","credit","init","options","arguments","length","undefined","defaultsModule","defaults","themeModule","theme","i18nModule","i18n","dateModule","date","localeModule","iconModule","icon","install","app","yuyeon","root","instance","rtlModule","Object","keys","forEach","componentName","comp","component","directive","provide","config","globalProperties","$yuyeon","_container","_instance","classList","add","setAttribute","console","log","unmount","mount","vm","scope","stop","useYuyeon","Error","appContext"],"sources":["../src/index.ts"],"sourcesContent":["import type { App, Component, ComponentInternalInstance } from 'vue';\r\nimport { getCurrentInstance, nextTick, reactive } from 'vue';\r\n\r\nimport * as components from '@/components';\r\nimport {\r\n YUYEON_DATE_KEY,\r\n YUYEON_DATE_OPTIONS_KEY,\r\n createDateModule,\r\n} from '@/composables/date';\r\nimport { createDefaultsModule } from '@/composables/defaults';\r\nimport { YUYEON_DEFAULTS_KEY } from '@/composables/defaults/share';\r\nimport { createI18nModule } from '@/composables/i18n';\r\nimport { YUYEON_I18N_KEY } from '@/composables/i18n/share';\r\nimport { YUYEON_ICON_KEY, createIconModule } from '@/composables/icon';\r\nimport {\r\n YUYEON_THEME_KEY,\r\n createThemeModule,\r\n useTheme,\r\n} from '@/composables/theme';\r\nimport PlateWave from '@/directives/plate-wave';\r\nimport { YUYEON_LOGO } from '@/etc';\r\n\r\nimport './styles/base.scss';\r\n\r\nconst defaultOptions = {\r\n credit: true,\r\n};\r\n\r\ndeclare module 'vue' {\r\n interface ComponentCustomProperties {\r\n $yuyeon: any;\r\n }\r\n}\r\n\r\nexport function init(options: any = defaultOptions) {\r\n const defaultsModule = createDefaultsModule(options?.defaults);\r\n const themeModule = createThemeModule(options?.theme);\r\n const i18nModule = createI18nModule(options?.i18n);\r\n const dateModule = createDateModule(options?.date, i18nModule.localeModule);\r\n const iconModule = createIconModule(options?.icon);\r\n const install = (app: App) => {\r\n themeModule.install(app);\r\n\r\n const yuyeon = reactive({\r\n app: null as ComponentInternalInstance | null,\r\n root: null as HTMLElement | null,\r\n theme: themeModule.instance,\r\n i18n: {\r\n ...i18nModule.localeModule,\r\n ...i18nModule.rtlModule,\r\n },\r\n date: dateModule,\r\n defaults: defaultsModule,\r\n });\r\n\r\n Object.keys(options?.components ?? components).forEach((componentName) => {\r\n const comp = components[componentName as keyof typeof components];\r\n if (typeof comp === 'object' && 'name' in comp)\r\n app.component(componentName, comp as Component);\r\n });\r\n\r\n app.directive('plate-wave', PlateWave);\r\n\r\n app.provide(YUYEON_DEFAULTS_KEY, defaultsModule);\r\n app.provide(YUYEON_THEME_KEY, themeModule.instance);\r\n app.provide(YUYEON_ICON_KEY, iconModule);\r\n app.provide(YUYEON_I18N_KEY, {\r\n ...i18nModule.localeModule,\r\n ...i18nModule.rtlModule,\r\n });\r\n app.provide(YUYEON_DATE_OPTIONS_KEY, dateModule.options);\r\n app.provide(YUYEON_DATE_KEY, dateModule.instance);\r\n\r\n app.config.globalProperties.$yuyeon = yuyeon;\r\n\r\n nextTick(() => {\r\n yuyeon.root = app._container;\r\n yuyeon.app = app._instance as any;\r\n if (yuyeon.root) {\r\n yuyeon.root.classList.add('y-root');\r\n yuyeon.root.setAttribute('data-y-root', '');\r\n themeModule.init(yuyeon);\r\n }\r\n });\r\n\r\n if (options?.credit) {\r\n console.log(YUYEON_LOGO);\r\n }\r\n const { unmount, mount } = app;\r\n app.mount = (...args) => {\r\n const vm = mount(...args);\r\n if (!yuyeon.app) {\r\n yuyeon.app = app._instance as any;\r\n }\r\n if (!yuyeon.root) {\r\n nextTick(() => {\r\n yuyeon.root = app._container;\r\n if (yuyeon.root) {\r\n yuyeon.root.classList.add('y-root');\r\n yuyeon.root.setAttribute('data-y-root', '');\r\n themeModule.init(yuyeon);\r\n }\r\n });\r\n }\r\n app.mount = mount;\r\n return vm;\r\n };\r\n app.unmount = () => {\r\n unmount();\r\n themeModule.scope.stop();\r\n app.unmount = unmount;\r\n };\r\n };\r\n\r\n return {\r\n install,\r\n };\r\n}\r\n\r\nexport function useYuyeon() {\r\n const vm = getCurrentInstance();\r\n if (!vm) throw new Error('[yuyeon] Called outside of setup context');\r\n\r\n return vm.appContext.config.globalProperties.$yuyeon;\r\n}\r\n\r\nexport { useTheme };\r\n"],"mappings":"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"}
|
package/lib/util/anchor.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anchor.mjs","names":["includes","array","item","block","inline","parseAnchor","anchor","isRtl","side","align","split","toPhysical","str","flipSide","center","top","bottom","left","right","flipAlign","flipCorner","getAxis"],"sources":["../../src/util/anchor.ts"],"sourcesContent":["const includes = <T, A extends T>(\n array: ReadonlyArray<A>,\n item: T,\n): item is A => array.includes(item as A);\n\nconst block = ['top', 'bottom'] as const;\nconst inline = ['start', 'end', 'left', 'right'] as const;\ntype Tblock = (typeof block)[number];\ntype Tinline = (typeof inline)[number];\nexport type Anchor =\n | Tblock\n | Tinline\n | 'center'\n | 'center center'\n | `${Tblock} ${Tinline | 'center'}`\n | `${Tinline} ${Tblock | 'center'}`;\nexport type ParsedAnchor =\n | { side: 'center'; align: 'center' }\n | { side: Tblock; align: 'left' | 'right' | 'center' }\n | { side: 'left' | 'right'; align: Tblock | 'center' };\n\n/** Parse a raw anchor string into an object */\nexport function parseAnchor(anchor: Anchor, isRtl: boolean) {\n let [side, align] = anchor.split(' ') as [\n Tblock | Tinline | 'center',\n Tblock | Tinline | 'center' | undefined,\n ];\n if (!align) {\n align = includes(block, side)\n ? 'start'\n : includes(inline, side)\n ? 'top'\n : 'center';\n }\n\n return {\n side: toPhysical(side, isRtl),\n align: toPhysical(align, isRtl),\n } as ParsedAnchor;\n}\n\nexport function toPhysical(str: 'center' | Tblock | Tinline, isRtl: boolean) {\n if (str === 'start') return isRtl ? 'right' : 'left';\n if (str === 'end') return isRtl ? 'left' : 'right';\n return str;\n}\n\nexport function flipSide(anchor: ParsedAnchor) {\n return {\n side: {\n center: 'center',\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left',\n }[anchor.side],\n align: anchor.align,\n } as ParsedAnchor;\n}\n\nexport function flipAlign(anchor: ParsedAnchor) {\n return {\n side: anchor.side,\n align: {\n center: 'center',\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left',\n }[anchor.align],\n } as ParsedAnchor;\n}\n\nexport function flipCorner(anchor: ParsedAnchor) {\n return {\n side: anchor.align,\n align: anchor.side,\n } as ParsedAnchor;\n}\n\nexport function getAxis(anchor: ParsedAnchor) {\n return includes(block, anchor.side) ? 'y' : 'x';\n}\n"],"mappings":"AAAA,MAAMA,QAAQ,GAAGA,CACfC,KAAuB,EACvBC,IAAO,KACOD,KAAK,CAACD,QAAQ,CAACE,IAAS,CAAC;AAEzC,MAAMC,KAAK,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAU;AACxC,MAAMC,MAAM,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAU;AAezD;AACA,OAAO,SAASC,WAAWA,CAACC,MAAc,EAAEC,KAAc,EAAE;EAC1D,IAAI,CAACC,IAAI,EAAEC,KAAK,CAAC,GAAGH,MAAM,CAACI,KAAK,CAAC,GAAG,CAGnC;EACD,IAAI,CAACD,KAAK,EAAE;IACVA,KAAK,GAAGT,QAAQ,CAACG,KAAK,EAAEK,IAAI,CAAC,GACzB,OAAO,GACPR,QAAQ,CAACI,MAAM,EAAEI,IAAI,CAAC,GACpB,KAAK,GACL,QAAQ;EAChB;EAEA,OAAO;IACLA,IAAI,EAAEG,UAAU,CAACH,IAAI,EAAED,KAAK,CAAC;IAC7BE,KAAK,EAAEE,UAAU,CAACF,KAAK,EAAEF,KAAK;EAChC,CAAC;AACH;AAEA,OAAO,SAASI,UAAUA,CAACC,GAAgC,EAAEL,KAAc,EAAE;EAC3E,IAAIK,GAAG,KAAK,OAAO,EAAE,OAAOL,KAAK,GAAG,OAAO,GAAG,MAAM;EACpD,IAAIK,GAAG,KAAK,KAAK,EAAE,OAAOL,KAAK,GAAG,MAAM,GAAG,OAAO;EAClD,OAAOK,GAAG;AACZ;AAEA,OAAO,SAASC,QAAQA,CAACP,MAAoB,EAAE;EAC7C,OAAO;IACLE,IAAI,EAAE;MACJM,MAAM,EAAE,QAAQ;MAChBC,GAAG,EAAE,QAAQ;MACbC,MAAM,EAAE,KAAK;MACbC,IAAI,EAAE,OAAO;MACbC,KAAK,EAAE;IACT,CAAC,CAACZ,MAAM,CAACE,IAAI,CAAC;IACdC,KAAK,EAAEH,MAAM,CAACG;EAChB,CAAC;AACH;AAEA,OAAO,SAASU,SAASA,CAACb,MAAoB,EAAE;EAC9C,OAAO;IACLE,IAAI,EAAEF,MAAM,CAACE,IAAI;IACjBC,KAAK,EAAE;MACLK,MAAM,EAAE,QAAQ;MAChBC,GAAG,EAAE,QAAQ;MACbC,MAAM,EAAE,KAAK;MACbC,IAAI,EAAE,OAAO;MACbC,KAAK,EAAE;IACT,CAAC,CAACZ,MAAM,CAACG,KAAK;EAChB,CAAC;AACH;AAEA,OAAO,SAASW,UAAUA,CAACd,MAAoB,EAAE;EAC/C,OAAO;IACLE,IAAI,EAAEF,MAAM,CAACG,KAAK;IAClBA,KAAK,EAAEH,MAAM,CAACE;EAChB,CAAC;AACH;AAEA,OAAO,SAASa,OAAOA,CAACf,MAAoB,EAAE;EAC5C,OAAON,QAAQ,CAACG,KAAK,EAAEG,MAAM,CAACE,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG;AACjD"}
|
|
1
|
+
{"version":3,"file":"anchor.mjs","names":["includes","array","item","block","inline","parseAnchor","anchor","isRtl","side","align","split","toPhysical","str","flipSide","center","top","bottom","left","right","flipAlign","flipCorner","getAxis"],"sources":["../../src/util/anchor.ts"],"sourcesContent":["const includes = <T, A extends T>(\r\n array: ReadonlyArray<A>,\r\n item: T,\r\n): item is A => array.includes(item as A);\r\n\r\nconst block = ['top', 'bottom'] as const;\r\nconst inline = ['start', 'end', 'left', 'right'] as const;\r\ntype Tblock = (typeof block)[number];\r\ntype Tinline = (typeof inline)[number];\r\nexport type Anchor =\r\n | Tblock\r\n | Tinline\r\n | 'center'\r\n | 'center center'\r\n | `${Tblock} ${Tinline | 'center'}`\r\n | `${Tinline} ${Tblock | 'center'}`;\r\nexport type ParsedAnchor =\r\n | { side: 'center'; align: 'center' }\r\n | { side: Tblock; align: 'left' | 'right' | 'center' }\r\n | { side: 'left' | 'right'; align: Tblock | 'center' };\r\n\r\n/** Parse a raw anchor string into an object */\r\nexport function parseAnchor(anchor: Anchor, isRtl: boolean) {\r\n let [side, align] = anchor.split(' ') as [\r\n Tblock | Tinline | 'center',\r\n Tblock | Tinline | 'center' | undefined,\r\n ];\r\n if (!align) {\r\n align = includes(block, side)\r\n ? 'start'\r\n : includes(inline, side)\r\n ? 'top'\r\n : 'center';\r\n }\r\n\r\n return {\r\n side: toPhysical(side, isRtl),\r\n align: toPhysical(align, isRtl),\r\n } as ParsedAnchor;\r\n}\r\n\r\nexport function toPhysical(str: 'center' | Tblock | Tinline, isRtl: boolean) {\r\n if (str === 'start') return isRtl ? 'right' : 'left';\r\n if (str === 'end') return isRtl ? 'left' : 'right';\r\n return str;\r\n}\r\n\r\nexport function flipSide(anchor: ParsedAnchor) {\r\n return {\r\n side: {\r\n center: 'center',\r\n top: 'bottom',\r\n bottom: 'top',\r\n left: 'right',\r\n right: 'left',\r\n }[anchor.side],\r\n align: anchor.align,\r\n } as ParsedAnchor;\r\n}\r\n\r\nexport function flipAlign(anchor: ParsedAnchor) {\r\n return {\r\n side: anchor.side,\r\n align: {\r\n center: 'center',\r\n top: 'bottom',\r\n bottom: 'top',\r\n left: 'right',\r\n right: 'left',\r\n }[anchor.align],\r\n } as ParsedAnchor;\r\n}\r\n\r\nexport function flipCorner(anchor: ParsedAnchor) {\r\n return {\r\n side: anchor.align,\r\n align: anchor.side,\r\n } as ParsedAnchor;\r\n}\r\n\r\nexport function getAxis(anchor: ParsedAnchor) {\r\n return includes(block, anchor.side) ? 'y' : 'x';\r\n}\r\n"],"mappings":"AAAA,MAAMA,QAAQ,GAAGA,CACfC,KAAuB,EACvBC,IAAO,KACOD,KAAK,CAACD,QAAQ,CAACE,IAAS,CAAC;AAEzC,MAAMC,KAAK,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAU;AACxC,MAAMC,MAAM,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAU;AAezD;AACA,OAAO,SAASC,WAAWA,CAACC,MAAc,EAAEC,KAAc,EAAE;EAC1D,IAAI,CAACC,IAAI,EAAEC,KAAK,CAAC,GAAGH,MAAM,CAACI,KAAK,CAAC,GAAG,CAGnC;EACD,IAAI,CAACD,KAAK,EAAE;IACVA,KAAK,GAAGT,QAAQ,CAACG,KAAK,EAAEK,IAAI,CAAC,GACzB,OAAO,GACPR,QAAQ,CAACI,MAAM,EAAEI,IAAI,CAAC,GACpB,KAAK,GACL,QAAQ;EAChB;EAEA,OAAO;IACLA,IAAI,EAAEG,UAAU,CAACH,IAAI,EAAED,KAAK,CAAC;IAC7BE,KAAK,EAAEE,UAAU,CAACF,KAAK,EAAEF,KAAK;EAChC,CAAC;AACH;AAEA,OAAO,SAASI,UAAUA,CAACC,GAAgC,EAAEL,KAAc,EAAE;EAC3E,IAAIK,GAAG,KAAK,OAAO,EAAE,OAAOL,KAAK,GAAG,OAAO,GAAG,MAAM;EACpD,IAAIK,GAAG,KAAK,KAAK,EAAE,OAAOL,KAAK,GAAG,MAAM,GAAG,OAAO;EAClD,OAAOK,GAAG;AACZ;AAEA,OAAO,SAASC,QAAQA,CAACP,MAAoB,EAAE;EAC7C,OAAO;IACLE,IAAI,EAAE;MACJM,MAAM,EAAE,QAAQ;MAChBC,GAAG,EAAE,QAAQ;MACbC,MAAM,EAAE,KAAK;MACbC,IAAI,EAAE,OAAO;MACbC,KAAK,EAAE;IACT,CAAC,CAACZ,MAAM,CAACE,IAAI,CAAC;IACdC,KAAK,EAAEH,MAAM,CAACG;EAChB,CAAC;AACH;AAEA,OAAO,SAASU,SAASA,CAACb,MAAoB,EAAE;EAC9C,OAAO;IACLE,IAAI,EAAEF,MAAM,CAACE,IAAI;IACjBC,KAAK,EAAE;MACLK,MAAM,EAAE,QAAQ;MAChBC,GAAG,EAAE,QAAQ;MACbC,MAAM,EAAE,KAAK;MACbC,IAAI,EAAE,OAAO;MACbC,KAAK,EAAE;IACT,CAAC,CAACZ,MAAM,CAACG,KAAK;EAChB,CAAC;AACH;AAEA,OAAO,SAASW,UAAUA,CAACd,MAAoB,EAAE;EAC/C,OAAO;IACLE,IAAI,EAAEF,MAAM,CAACG,KAAK;IAClBA,KAAK,EAAEH,MAAM,CAACE;EAChB,CAAC;AACH;AAEA,OAAO,SAASa,OAAOA,CAACf,MAAoB,EAAE;EAC5C,OAAON,QAAQ,CAACG,KAAK,EAAEG,MAAM,CAACE,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG;AACjD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.mjs","names":["useDefaultsModule","useSuperDefaults","redefineComponent","options","_setup","setup","props","ctx","defaults","value","_props","provideSubDefaults","name","setupBindings","defineComponent"],"sources":["../../../src/util/component/component.ts"],"sourcesContent":["import { ComponentOptionsWithObjectProps, ComponentOptionsWithoutProps, defineComponent } from 'vue';\nimport type {\n Component,\n ComponentInjectOptions,\n ComponentOptions,\n ComponentOptionsMixin,\n ComponentPropsOptions,\n ComponentProvideOptions,\n ComputedOptions,\n DefineComponent,\n Directive,\n EmitsOptions,\n MethodOptions,\n SlotsType,\n} from 'vue';\n\nimport {\n useDefaultsModule,\n useSuperDefaults,\n} from '../../composables/defaults';\nimport { EmitsToProps } from './types';\n\ntype ToResolvedProps<Props, Emits extends EmitsOptions> = Readonly<Props> &\n Readonly<EmitsToProps<Emits>>;\n\n// overload 1: no props from options\nfunction redefineComponent<\n // props\n PropsOptions = {},\n //\n RawBindings = {},\n // emits\n E extends EmitsOptions = {},\n EE extends string = string,\n // other options\n Data = {},\n SetupBindings = {},\n Computed extends ComputedOptions = {},\n Methods extends MethodOptions = {},\n Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,\n Extends extends ComponentOptionsMixin = ComponentOptionsMixin,\n InjectOptions extends ComponentInjectOptions = {},\n InjectKeys extends string = string,\n Slots extends SlotsType = {},\n LocalComponents extends Record<string, Component> = {},\n Directives extends Record<string, Directive> = {},\n Exposed extends string = string,\n Provide extends ComponentProvideOptions = ComponentProvideOptions,\n>(\n options: ComponentOptionsWithoutProps<\n PropsOptions,\n RawBindings,\n Data,\n Computed,\n Methods,\n Mixin,\n Extends,\n E,\n EE,\n InjectOptions,\n InjectKeys,\n Slots\n >,\n): DefineComponent<\n PropsOptions,\n RawBindings,\n Data,\n Computed,\n Methods,\n Mixin,\n Extends,\n E,\n EE\n>;\n\n\n// overload 2: defineComponent with options object, infer props from options\nfunction redefineComponent<\n // props\n PropsOptions extends Readonly<ComponentPropsOptions>,\n //\n RawBindings,\n // emits\n E extends EmitsOptions = {},\n EE extends string = string,\n // other options\n Data = {},\n SetupBindings = {},\n Computed extends ComputedOptions = {},\n Methods extends MethodOptions = {},\n Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,\n Extends extends ComponentOptionsMixin = ComponentOptionsMixin,\n InjectOptions extends ComponentInjectOptions = {},\n InjectKeys extends string = string,\n Slots extends SlotsType = {},\n LocalComponents extends Record<string, Component> = {},\n Directives extends Record<string, Directive> = {},\n Exposed extends string = string,\n Provide extends ComponentProvideOptions = ComponentProvideOptions,\n>(\n options: ComponentOptionsWithObjectProps<\n PropsOptions,\n RawBindings,\n Data,\n Computed,\n Methods,\n Mixin,\n Extends,\n E,\n EE,\n InjectOptions,\n InjectKeys,\n Slots\n >,\n): DefineComponent<\n PropsOptions,\n RawBindings,\n Data,\n Computed,\n Methods,\n Mixin,\n Extends,\n E,\n EE\n>;\n\nfunction redefineComponent(options: ComponentOptions) {\n options._setup = options._setup ?? options.setup;\n\n if (options._setup) {\n options.setup = function (props, ctx) {\n const defaults = useDefaultsModule();\n // Skip props proxy if defaults are not provided\n if (!defaults.value) return options._setup(props, ctx);\n\n const { props: _props, provideSubDefaults } = useSuperDefaults(\n props,\n options.name,\n defaults,\n );\n\n const setupBindings = options._setup(_props, ctx);\n\n provideSubDefaults();\n\n return setupBindings;\n };\n }\n\n return options;\n}\n\nexport { redefineComponent as defineComponent };\n"],"mappings":"SAiBEA,iBAAiB,EACjBC,gBAAgB,gDAOlB;AAmDA;AAkDA,SAASC,iBAAiBA,CAACC,OAAyB,EAAE;EACpDA,OAAO,CAACC,MAAM,GAAGD,OAAO,CAACC,MAAM,IAAID,OAAO,CAACE,KAAK;EAEhD,IAAIF,OAAO,CAACC,MAAM,EAAE;IAClBD,OAAO,CAACE,KAAK,GAAG,UAAUC,KAAK,EAAEC,GAAG,EAAE;MACpC,MAAMC,QAAQ,GAAGR,iBAAiB,CAAC,CAAC;MACpC;MACA,IAAI,CAACQ,QAAQ,CAACC,KAAK,EAAE,OAAON,OAAO,CAACC,MAAM,CAACE,KAAK,EAAEC,GAAG,CAAC;MAEtD,MAAM;QAAED,KAAK,EAAEI,MAAM;QAAEC;MAAmB,CAAC,GAAGV,gBAAgB,CAC5DK,KAAK,EACLH,OAAO,CAACS,IAAI,EACZJ,QACF,CAAC;MAED,MAAMK,aAAa,GAAGV,OAAO,CAACC,MAAM,CAACM,MAAM,EAAEH,GAAG,CAAC;MAEjDI,kBAAkB,CAAC,CAAC;MAEpB,OAAOE,aAAa;IACtB,CAAC;EACH;EAEA,OAAOV,OAAO;AAChB;AAEA,SAASD,iBAAiB,IAAIY,eAAe"}
|
|
1
|
+
{"version":3,"file":"component.mjs","names":["useDefaultsModule","useSuperDefaults","redefineComponent","options","_setup","setup","props","ctx","defaults","value","_props","provideSubDefaults","name","setupBindings","defineComponent"],"sources":["../../../src/util/component/component.ts"],"sourcesContent":["import { ComponentOptionsWithObjectProps, ComponentOptionsWithoutProps, defineComponent } from 'vue';\r\nimport type {\r\n Component,\r\n ComponentInjectOptions,\r\n ComponentOptions,\r\n ComponentOptionsMixin,\r\n ComponentPropsOptions,\r\n ComponentProvideOptions,\r\n ComputedOptions,\r\n DefineComponent,\r\n Directive,\r\n EmitsOptions,\r\n MethodOptions,\r\n SlotsType,\r\n} from 'vue';\r\n\r\nimport {\r\n useDefaultsModule,\r\n useSuperDefaults,\r\n} from '../../composables/defaults';\r\nimport { EmitsToProps } from './types';\r\n\r\ntype ToResolvedProps<Props, Emits extends EmitsOptions> = Readonly<Props> &\r\n Readonly<EmitsToProps<Emits>>;\r\n\r\n// overload 1: no props from options\r\nfunction redefineComponent<\r\n // props\r\n PropsOptions = {},\r\n //\r\n RawBindings = {},\r\n // emits\r\n E extends EmitsOptions = {},\r\n EE extends string = string,\r\n // other options\r\n Data = {},\r\n SetupBindings = {},\r\n Computed extends ComputedOptions = {},\r\n Methods extends MethodOptions = {},\r\n Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,\r\n Extends extends ComponentOptionsMixin = ComponentOptionsMixin,\r\n InjectOptions extends ComponentInjectOptions = {},\r\n InjectKeys extends string = string,\r\n Slots extends SlotsType = {},\r\n LocalComponents extends Record<string, Component> = {},\r\n Directives extends Record<string, Directive> = {},\r\n Exposed extends string = string,\r\n Provide extends ComponentProvideOptions = ComponentProvideOptions,\r\n>(\r\n options: ComponentOptionsWithoutProps<\r\n PropsOptions,\r\n RawBindings,\r\n Data,\r\n Computed,\r\n Methods,\r\n Mixin,\r\n Extends,\r\n E,\r\n EE,\r\n InjectOptions,\r\n InjectKeys,\r\n Slots\r\n >,\r\n): DefineComponent<\r\n PropsOptions,\r\n RawBindings,\r\n Data,\r\n Computed,\r\n Methods,\r\n Mixin,\r\n Extends,\r\n E,\r\n EE\r\n>;\r\n\r\n\r\n// overload 2: defineComponent with options object, infer props from options\r\nfunction redefineComponent<\r\n // props\r\n PropsOptions extends Readonly<ComponentPropsOptions>,\r\n //\r\n RawBindings,\r\n // emits\r\n E extends EmitsOptions = {},\r\n EE extends string = string,\r\n // other options\r\n Data = {},\r\n SetupBindings = {},\r\n Computed extends ComputedOptions = {},\r\n Methods extends MethodOptions = {},\r\n Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,\r\n Extends extends ComponentOptionsMixin = ComponentOptionsMixin,\r\n InjectOptions extends ComponentInjectOptions = {},\r\n InjectKeys extends string = string,\r\n Slots extends SlotsType = {},\r\n LocalComponents extends Record<string, Component> = {},\r\n Directives extends Record<string, Directive> = {},\r\n Exposed extends string = string,\r\n Provide extends ComponentProvideOptions = ComponentProvideOptions,\r\n>(\r\n options: ComponentOptionsWithObjectProps<\r\n PropsOptions,\r\n RawBindings,\r\n Data,\r\n Computed,\r\n Methods,\r\n Mixin,\r\n Extends,\r\n E,\r\n EE,\r\n InjectOptions,\r\n InjectKeys,\r\n Slots\r\n >,\r\n): DefineComponent<\r\n PropsOptions,\r\n RawBindings,\r\n Data,\r\n Computed,\r\n Methods,\r\n Mixin,\r\n Extends,\r\n E,\r\n EE\r\n>;\r\n\r\nfunction redefineComponent(options: ComponentOptions) {\r\n options._setup = options._setup ?? options.setup;\r\n\r\n if (options._setup) {\r\n options.setup = function (props, ctx) {\r\n const defaults = useDefaultsModule();\r\n // Skip props proxy if defaults are not provided\r\n if (!defaults.value) return options._setup(props, ctx);\r\n\r\n const { props: _props, provideSubDefaults } = useSuperDefaults(\r\n props,\r\n options.name,\r\n defaults,\r\n );\r\n\r\n const setupBindings = options._setup(_props, ctx);\r\n\r\n provideSubDefaults();\r\n\r\n return setupBindings;\r\n };\r\n }\r\n\r\n return options;\r\n}\r\n\r\nexport { redefineComponent as defineComponent };\r\n"],"mappings":"SAiBEA,iBAAiB,EACjBC,gBAAgB,gDAOlB;AAmDA;AAkDA,SAASC,iBAAiBA,CAACC,OAAyB,EAAE;EACpDA,OAAO,CAACC,MAAM,GAAGD,OAAO,CAACC,MAAM,IAAID,OAAO,CAACE,KAAK;EAEhD,IAAIF,OAAO,CAACC,MAAM,EAAE;IAClBD,OAAO,CAACE,KAAK,GAAG,UAAUC,KAAK,EAAEC,GAAG,EAAE;MACpC,MAAMC,QAAQ,GAAGR,iBAAiB,CAAC,CAAC;MACpC;MACA,IAAI,CAACQ,QAAQ,CAACC,KAAK,EAAE,OAAON,OAAO,CAACC,MAAM,CAACE,KAAK,EAAEC,GAAG,CAAC;MAEtD,MAAM;QAAED,KAAK,EAAEI,MAAM;QAAEC;MAAmB,CAAC,GAAGV,gBAAgB,CAC5DK,KAAK,EACLH,OAAO,CAACS,IAAI,EACZJ,QACF,CAAC;MAED,MAAMK,aAAa,GAAGV,OAAO,CAACC,MAAM,CAACM,MAAM,EAAEH,GAAG,CAAC;MAEjDI,kBAAkB,CAAC,CAAC;MAEpB,OAAOE,aAAa;IACtB,CAAC;EACH;EAEA,OAAOV,OAAO;AAChB;AAEA,SAASD,iBAAiB,IAAIY,eAAe"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["getCurrentInstance","defineComponent","getSlot","vm","name","arguments","length","undefined","data","optional","$slots","slot","Function","filter","node","el","nodeType","getUid","uid","bindClasses","classes","boundClasses","Array","isArray","reduce","acc","clas","Object","keys","getHtmlElement","$el","Node","TEXT_NODE","nextElementSibling","findChildrenWithProvide","key","vnode","map","child","flat","children","component","getOwnPropertySymbols","provides","includes","subTree"],"sources":["../../../src/util/component/index.ts"],"sourcesContent":["import type {\n ComponentInternalInstance,\n ComponentPublicInstance,\n InjectionKey,\n VNode,\n VNodeChild,\n} from 'vue';\nimport { getCurrentInstance } from 'vue';\n\nimport { defineComponent } from './component';\n\nexport type { EventProp } from './types';\nexport * from './props';\n\nexport { defineComponent };\n\nexport function getSlot(\n vm: ComponentPublicInstance | any,\n // eslint-disable-next-line default-param-last\n name = 'default',\n data?: any | (() => any),\n optional = false,\n): VNode[] | undefined {\n if (vm.$slots?.[name]) {\n const slot = vm.$slots[name]!(data instanceof Function ? data() : data);\n return slot.filter((node: VNode) => {\n return node.el?.nodeType !== 8;\n });\n }\n return undefined;\n}\n\nexport function getUid() {\n const vm = getCurrentInstance();\n return vm?.uid;\n}\n\nexport function bindClasses(\n classes: string | string[] | Record<string, any> | undefined,\n) {\n const boundClasses = {} as Record<string, boolean>;\n if (typeof classes === 'string') {\n boundClasses[classes] = true;\n } else if (Array.isArray(classes)) {\n (classes as string[]).reduce((acc, clas) => {\n acc[clas] = true;\n return acc;\n }, boundClasses);\n } else if (typeof classes === 'object') {\n Object.keys(classes).reduce((acc, clas) => {\n acc[clas] = !!classes[clas];\n return acc;\n }, boundClasses);\n }\n return boundClasses;\n}\n\nexport function getHtmlElement<N extends object | undefined>(\n node: N,\n): Exclude<N, ComponentPublicInstance> | HTMLElement {\n if (node && '$el' in node) {\n const el = (node as ComponentPublicInstance).$el as HTMLElement;\n if (el.nodeType === Node.TEXT_NODE) {\n return el.nextElementSibling as HTMLElement;\n }\n return el;\n }\n return node as HTMLElement;\n}\n\nexport function findChildrenWithProvide(\n key: InjectionKey<any> | symbol,\n vnode?: VNodeChild,\n): ComponentInternalInstance[] {\n if (!vnode || typeof vnode !== 'object') {\n return [];\n }\n\n if (Array.isArray(vnode)) {\n return vnode.map((child) => findChildrenWithProvide(key, child)).flat(1);\n } else if (Array.isArray(vnode.children)) {\n return vnode.children\n .map((child) => findChildrenWithProvide(key, child))\n .flat(1);\n } else if (vnode.component) {\n if (\n Object.getOwnPropertySymbols((vnode.component as any).provides).includes(\n key as symbol,\n )\n ) {\n return [vnode.component];\n } else if (vnode.component.subTree) {\n return findChildrenWithProvide(key, vnode.component.subTree).flat(1);\n }\n }\n\n return [];\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["getCurrentInstance","defineComponent","getSlot","vm","name","arguments","length","undefined","data","optional","$slots","slot","Function","filter","node","el","nodeType","getUid","uid","bindClasses","classes","boundClasses","Array","isArray","reduce","acc","clas","Object","keys","getHtmlElement","$el","Node","TEXT_NODE","nextElementSibling","findChildrenWithProvide","key","vnode","map","child","flat","children","component","getOwnPropertySymbols","provides","includes","subTree"],"sources":["../../../src/util/component/index.ts"],"sourcesContent":["import type {\r\n ComponentInternalInstance,\r\n ComponentPublicInstance,\r\n InjectionKey,\r\n VNode,\r\n VNodeChild,\r\n} from 'vue';\r\nimport { getCurrentInstance } from 'vue';\r\n\r\nimport { defineComponent } from './component';\r\n\r\nexport type { EventProp } from './types';\r\nexport * from './props';\r\n\r\nexport { defineComponent };\r\n\r\nexport function getSlot(\r\n vm: ComponentPublicInstance | any,\r\n // eslint-disable-next-line default-param-last\r\n name = 'default',\r\n data?: any | (() => any),\r\n optional = false,\r\n): VNode[] | undefined {\r\n if (vm.$slots?.[name]) {\r\n const slot = vm.$slots[name]!(data instanceof Function ? data() : data);\r\n return slot.filter((node: VNode) => {\r\n return node.el?.nodeType !== 8;\r\n });\r\n }\r\n return undefined;\r\n}\r\n\r\nexport function getUid() {\r\n const vm = getCurrentInstance();\r\n return vm?.uid;\r\n}\r\n\r\nexport function bindClasses(\r\n classes: string | string[] | Record<string, any> | undefined,\r\n) {\r\n const boundClasses = {} as Record<string, boolean>;\r\n if (typeof classes === 'string') {\r\n boundClasses[classes] = true;\r\n } else if (Array.isArray(classes)) {\r\n (classes as string[]).reduce((acc, clas) => {\r\n acc[clas] = true;\r\n return acc;\r\n }, boundClasses);\r\n } else if (typeof classes === 'object') {\r\n Object.keys(classes).reduce((acc, clas) => {\r\n acc[clas] = !!classes[clas];\r\n return acc;\r\n }, boundClasses);\r\n }\r\n return boundClasses;\r\n}\r\n\r\nexport function getHtmlElement<N extends object | undefined>(\r\n node: N,\r\n): Exclude<N, ComponentPublicInstance> | HTMLElement {\r\n if (node && '$el' in node) {\r\n const el = (node as ComponentPublicInstance).$el as HTMLElement;\r\n if (el.nodeType === Node.TEXT_NODE) {\r\n return el.nextElementSibling as HTMLElement;\r\n }\r\n return el;\r\n }\r\n return node as HTMLElement;\r\n}\r\n\r\nexport function findChildrenWithProvide(\r\n key: InjectionKey<any> | symbol,\r\n vnode?: VNodeChild,\r\n): ComponentInternalInstance[] {\r\n if (!vnode || typeof vnode !== 'object') {\r\n return [];\r\n }\r\n\r\n if (Array.isArray(vnode)) {\r\n return vnode.map((child) => findChildrenWithProvide(key, child)).flat(1);\r\n } else if (Array.isArray(vnode.children)) {\r\n return vnode.children\r\n .map((child) => findChildrenWithProvide(key, child))\r\n .flat(1);\r\n } else if (vnode.component) {\r\n if (\r\n Object.getOwnPropertySymbols((vnode.component as any).provides).includes(\r\n key as symbol,\r\n )\r\n ) {\r\n return [vnode.component];\r\n } else if (vnode.component.subTree) {\r\n return findChildrenWithProvide(key, vnode.component.subTree).flat(1);\r\n }\r\n }\r\n\r\n return [];\r\n}\r\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inject-self.mjs","names":["getCurrentInstance","injectSelf","key","vm","arguments","length","undefined","provides"],"sources":["../../../src/util/component/inject-self.ts"],"sourcesContent":["import {\n type ComponentInternalInstance,\n type InjectionKey,\n getCurrentInstance,\n} from 'vue';\n\nexport function injectSelf<T>(\n key: InjectionKey<T> | string,\n vm?: ComponentInternalInstance,\n): T | undefined;\nexport function injectSelf(\n key: InjectionKey<any> | string,\n vm = getCurrentInstance(),\n) {\n const provides = vm?.provides;\n\n if (provides && (key as string | symbol) in provides) {\n return provides[key as string];\n }\n\n return undefined;\n}\n"],"mappings":"AAAA,SAGEA,kBAAkB,QACb,KAAK;AAMZ,OAAO,SAASC,UAAUA,CACxBC,GAA+B,EAE/B;EAAA,IADAC,EAAE,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGJ,kBAAkB,CAAC,CAAC;EAEzB,MAAMO,QAAQ,GAAGJ,EAAE,EAAEI,QAAQ;EAE7B,IAAIA,QAAQ,IAAKL,GAAG,IAAwBK,QAAQ,EAAE;IACpD,OAAOA,QAAQ,CAACL,GAAG,CAAW;EAChC;EAEA,OAAOI,SAAS;AAClB"}
|
|
1
|
+
{"version":3,"file":"inject-self.mjs","names":["getCurrentInstance","injectSelf","key","vm","arguments","length","undefined","provides"],"sources":["../../../src/util/component/inject-self.ts"],"sourcesContent":["import {\r\n type ComponentInternalInstance,\r\n type InjectionKey,\r\n getCurrentInstance,\r\n} from 'vue';\r\n\r\nexport function injectSelf<T>(\r\n key: InjectionKey<T> | string,\r\n vm?: ComponentInternalInstance,\r\n): T | undefined;\r\nexport function injectSelf(\r\n key: InjectionKey<any> | string,\r\n vm = getCurrentInstance(),\r\n) {\r\n const provides = vm?.provides;\r\n\r\n if (provides && (key as string | symbol) in provides) {\r\n return provides[key as string];\r\n }\r\n\r\n return undefined;\r\n}\r\n"],"mappings":"AAAA,SAGEA,kBAAkB,QACb,KAAK;AAMZ,OAAO,SAASC,UAAUA,CACxBC,GAA+B,EAE/B;EAAA,IADAC,EAAE,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGJ,kBAAkB,CAAC,CAAC;EAEzB,MAAMO,QAAQ,GAAGJ,EAAE,EAAEI,QAAQ;EAE7B,IAAIA,QAAQ,IAAKL,GAAG,IAAwBK,QAAQ,EAAE;IACpD,OAAOA,QAAQ,CAACL,GAAG,CAAW;EAChC;EAEA,OAAOI,SAAS;AAClB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"props.mjs","names":["capitalize","toKebabCase","propsFactory","props","source","defaults","Object","keys","reduce","options","prop","option","isObjectOption","Array","isArray","objectOption","type","default","chooseProps","target","acc","hasEventProp","onType","propIsDefined","vnode"],"sources":["../../../src/util/component/props.ts"],"sourcesContent":["import { capitalize } from 'vue';\nimport type { IfAny } from '@vue/shared';\nimport type {\n ComponentObjectPropsOptions,\n ExtractPropTypes,\n Prop,\n PropType,\n VNode,\n} from 'vue';\n\nimport { toKebabCase } from '../string';\n\nexport function propsFactory<PropsOptions extends ComponentObjectPropsOptions>(\n props: PropsOptions,\n source: string,\n) {\n return <Defaults extends PartialKeys<PropsOptions> = {}>(\n defaults?: Defaults,\n ): OverwrittenPropOptions<PropsOptions, Defaults> => {\n return Object.keys(props).reduce<any>((options, prop) => {\n const option = props[prop];\n const isObjectOption =\n typeof option === 'object' && option != null && !Array.isArray(option);\n const objectOption = isObjectOption ? option : { type: option };\n if (defaults && prop in defaults) {\n options[prop] = {\n ...objectOption,\n default: defaults[prop],\n };\n } else {\n options[prop] = objectOption;\n }\n\n if (source && !options[prop].source) {\n options[prop].source = source;\n }\n return options;\n }, {} as PropsOptions);\n };\n}\n\nexport function chooseProps<PropsOptions extends ComponentObjectPropsOptions>(\n props: any,\n target: PropsOptions,\n): ExtractPropTypes<PropsOptions> {\n return Object.keys(target).reduce((acc, prop) => {\n if (props && prop in props) {\n acc[prop as keyof ExtractPropTypes<PropsOptions>] = props[prop];\n }\n return acc;\n }, {} as ExtractPropTypes<PropsOptions>);\n}\n\nexport function hasEventProp(props: Record<string, any>, type: string) {\n const onType = `on${capitalize(type)}`;\n return !!(\n props[onType] ||\n props[`${onType}Once`] ||\n props[`${onType}Capture`] ||\n props[`${onType}OnceCapture`] ||\n props[`${onType}CaptureOnce`]\n );\n}\n\nexport function propIsDefined(vnode: VNode, prop: string) {\n return (\n typeof vnode.props?.[prop] !== 'undefined' ||\n typeof vnode.props?.[toKebabCase(prop)] !== 'undefined'\n );\n}\n\ntype OverwrittenPropOptions<\n T extends ComponentObjectPropsOptions,\n D extends PartialKeys<T>,\n> = {\n [P in keyof T]-?: unknown extends D[P]\n ? T[P]\n : T[P] extends Record<string, unknown>\n ? Omit<T[P], 'type' | 'default'> & {\n type: PropType<MergeDefault<T[P], D[P]>>;\n default: MergeDefault<T[P], D[P]>;\n }\n : {\n type: PropType<MergeDefault<T[P], D[P]>>;\n default: MergeDefault<T[P], D[P]>;\n };\n};\n\ntype MergeDefault<T, D> = unknown extends D\n ? InferPropType<T>\n : NonNullable<InferPropType<T>> | D;\n\ntype FollowPropType<T, P, D> = [T] extends [PropType<unknown>]\n ? T\n : PropType<MergeDefault<P, D>>;\n\ntype PartialKeys<T> = { [P in keyof T]?: unknown };\n\ntype InferPropType<T> = [T] extends [null]\n ? any // null & true would fail to infer\n : [T] extends [{ type: null | true }]\n ? // As TS issue https://github.com/Microsoft/TypeScript/issues/14829\n // somehow `ObjectConstructor` when inferred from { (): T } becomes `any`\n // `BooleanConstructor` when inferred from PropConstructor(with PropMethod) becomes `Boolean`\n any\n : [T] extends [ObjectConstructor | { type: ObjectConstructor }]\n ? Record<string, any>\n : [T] extends [BooleanConstructor | { type: BooleanConstructor }]\n ? boolean\n : [T] extends [DateConstructor | { type: DateConstructor }]\n ? Date\n : [T] extends [(infer U)[] | { type: (infer U)[] }]\n ? U extends DateConstructor\n ? Date | InferPropType<U>\n : InferPropType<U>\n : [T] extends [Prop<infer V, infer D>]\n ? unknown extends V\n ? IfAny<V, V, D>\n : V\n : T;\n"],"mappings":"AAAA,SAASA,UAAU,QAAQ,KAAK;AAAC,SAUxBC,WAAW;AAEpB,OAAO,SAASC,YAAYA,CAC1BC,KAAmB,EACnBC,MAAc,EACd;EACA,OACEC,QAAmB,IACgC;IACnD,OAAOC,MAAM,CAACC,IAAI,CAACJ,KAAK,CAAC,CAACK,MAAM,CAAM,CAACC,OAAO,EAAEC,IAAI,KAAK;MACvD,MAAMC,MAAM,GAAGR,KAAK,CAACO,IAAI,CAAC;MAC1B,MAAME,cAAc,GAClB,OAAOD,MAAM,KAAK,QAAQ,IAAIA,MAAM,IAAI,IAAI,IAAI,CAACE,KAAK,CAACC,OAAO,CAACH,MAAM,CAAC;MACxE,MAAMI,YAAY,GAAGH,cAAc,GAAGD,MAAM,GAAG;QAAEK,IAAI,EAAEL;MAAO,CAAC;MAC/D,IAAIN,QAAQ,IAAIK,IAAI,IAAIL,QAAQ,EAAE;QAChCI,OAAO,CAACC,IAAI,CAAC,GAAG;UACd,GAAGK,YAAY;UACfE,OAAO,EAAEZ,QAAQ,CAACK,IAAI;QACxB,CAAC;MACH,CAAC,MAAM;QACLD,OAAO,CAACC,IAAI,CAAC,GAAGK,YAAY;MAC9B;MAEA,IAAIX,MAAM,IAAI,CAACK,OAAO,CAACC,IAAI,CAAC,CAACN,MAAM,EAAE;QACnCK,OAAO,CAACC,IAAI,CAAC,CAACN,MAAM,GAAGA,MAAM;MAC/B;MACA,OAAOK,OAAO;IAChB,CAAC,EAAE,CAAC,CAAiB,CAAC;EACxB,CAAC;AACH;AAEA,OAAO,SAASS,WAAWA,CACzBf,KAAU,EACVgB,MAAoB,EACY;EAChC,OAAOb,MAAM,CAACC,IAAI,CAACY,MAAM,CAAC,CAACX,MAAM,CAAC,CAACY,GAAG,EAAEV,IAAI,KAAK;IAC/C,IAAIP,KAAK,IAAIO,IAAI,IAAIP,KAAK,EAAE;MAC1BiB,GAAG,CAACV,IAAI,CAAyC,GAAGP,KAAK,CAACO,IAAI,CAAC;IACjE;IACA,OAAOU,GAAG;EACZ,CAAC,EAAE,CAAC,CAAmC,CAAC;AAC1C;AAEA,OAAO,SAASC,YAAYA,CAAClB,KAA0B,EAAEa,IAAY,EAAE;EACrE,MAAMM,MAAM,GAAI,KAAItB,UAAU,CAACgB,IAAI,CAAE,EAAC;EACtC,OAAO,CAAC,EACNb,KAAK,CAACmB,MAAM,CAAC,IACbnB,KAAK,CAAE,GAAEmB,MAAO,MAAK,CAAC,IACtBnB,KAAK,CAAE,GAAEmB,MAAO,SAAQ,CAAC,IACzBnB,KAAK,CAAE,GAAEmB,MAAO,aAAY,CAAC,IAC7BnB,KAAK,CAAE,GAAEmB,MAAO,aAAY,CAAC,CAC9B;AACH;AAEA,OAAO,SAASC,aAAaA,CAACC,KAAY,EAAEd,IAAY,EAAE;EACxD,OACE,OAAOc,KAAK,CAACrB,KAAK,GAAGO,IAAI,CAAC,KAAK,WAAW,IAC1C,OAAOc,KAAK,CAACrB,KAAK,GAAGF,WAAW,CAACS,IAAI,CAAC,CAAC,KAAK,WAAW;AAE3D"}
|
|
1
|
+
{"version":3,"file":"props.mjs","names":["capitalize","toKebabCase","propsFactory","props","source","defaults","Object","keys","reduce","options","prop","option","isObjectOption","Array","isArray","objectOption","type","default","chooseProps","target","acc","hasEventProp","onType","propIsDefined","vnode"],"sources":["../../../src/util/component/props.ts"],"sourcesContent":["import { capitalize } from 'vue';\r\nimport type { IfAny } from '@vue/shared';\r\nimport type {\r\n ComponentObjectPropsOptions,\r\n ExtractPropTypes,\r\n Prop,\r\n PropType,\r\n VNode,\r\n} from 'vue';\r\n\r\nimport { toKebabCase } from '../string';\r\n\r\nexport function propsFactory<PropsOptions extends ComponentObjectPropsOptions>(\r\n props: PropsOptions,\r\n source: string,\r\n) {\r\n return <Defaults extends PartialKeys<PropsOptions> = {}>(\r\n defaults?: Defaults,\r\n ): OverwrittenPropOptions<PropsOptions, Defaults> => {\r\n return Object.keys(props).reduce<any>((options, prop) => {\r\n const option = props[prop];\r\n const isObjectOption =\r\n typeof option === 'object' && option != null && !Array.isArray(option);\r\n const objectOption = isObjectOption ? option : { type: option };\r\n if (defaults && prop in defaults) {\r\n options[prop] = {\r\n ...objectOption,\r\n default: defaults[prop],\r\n };\r\n } else {\r\n options[prop] = objectOption;\r\n }\r\n\r\n if (source && !options[prop].source) {\r\n options[prop].source = source;\r\n }\r\n return options;\r\n }, {} as PropsOptions);\r\n };\r\n}\r\n\r\nexport function chooseProps<PropsOptions extends ComponentObjectPropsOptions>(\r\n props: any,\r\n target: PropsOptions,\r\n): ExtractPropTypes<PropsOptions> {\r\n return Object.keys(target).reduce((acc, prop) => {\r\n if (props && prop in props) {\r\n acc[prop as keyof ExtractPropTypes<PropsOptions>] = props[prop];\r\n }\r\n return acc;\r\n }, {} as ExtractPropTypes<PropsOptions>);\r\n}\r\n\r\nexport function hasEventProp(props: Record<string, any>, type: string) {\r\n const onType = `on${capitalize(type)}`;\r\n return !!(\r\n props[onType] ||\r\n props[`${onType}Once`] ||\r\n props[`${onType}Capture`] ||\r\n props[`${onType}OnceCapture`] ||\r\n props[`${onType}CaptureOnce`]\r\n );\r\n}\r\n\r\nexport function propIsDefined(vnode: VNode, prop: string) {\r\n return (\r\n typeof vnode.props?.[prop] !== 'undefined' ||\r\n typeof vnode.props?.[toKebabCase(prop)] !== 'undefined'\r\n );\r\n}\r\n\r\ntype OverwrittenPropOptions<\r\n T extends ComponentObjectPropsOptions,\r\n D extends PartialKeys<T>,\r\n> = {\r\n [P in keyof T]-?: unknown extends D[P]\r\n ? T[P]\r\n : T[P] extends Record<string, unknown>\r\n ? Omit<T[P], 'type' | 'default'> & {\r\n type: PropType<MergeDefault<T[P], D[P]>>;\r\n default: MergeDefault<T[P], D[P]>;\r\n }\r\n : {\r\n type: PropType<MergeDefault<T[P], D[P]>>;\r\n default: MergeDefault<T[P], D[P]>;\r\n };\r\n};\r\n\r\ntype MergeDefault<T, D> = unknown extends D\r\n ? InferPropType<T>\r\n : NonNullable<InferPropType<T>> | D;\r\n\r\ntype FollowPropType<T, P, D> = [T] extends [PropType<unknown>]\r\n ? T\r\n : PropType<MergeDefault<P, D>>;\r\n\r\ntype PartialKeys<T> = { [P in keyof T]?: unknown };\r\n\r\ntype InferPropType<T> = [T] extends [null]\r\n ? any // null & true would fail to infer\r\n : [T] extends [{ type: null | true }]\r\n ? // As TS issue https://github.com/Microsoft/TypeScript/issues/14829\r\n // somehow `ObjectConstructor` when inferred from { (): T } becomes `any`\r\n // `BooleanConstructor` when inferred from PropConstructor(with PropMethod) becomes `Boolean`\r\n any\r\n : [T] extends [ObjectConstructor | { type: ObjectConstructor }]\r\n ? Record<string, any>\r\n : [T] extends [BooleanConstructor | { type: BooleanConstructor }]\r\n ? boolean\r\n : [T] extends [DateConstructor | { type: DateConstructor }]\r\n ? Date\r\n : [T] extends [(infer U)[] | { type: (infer U)[] }]\r\n ? U extends DateConstructor\r\n ? Date | InferPropType<U>\r\n : InferPropType<U>\r\n : [T] extends [Prop<infer V, infer D>]\r\n ? unknown extends V\r\n ? IfAny<V, V, D>\r\n : V\r\n : T;\r\n"],"mappings":"AAAA,SAASA,UAAU,QAAQ,KAAK;AAAC,SAUxBC,WAAW;AAEpB,OAAO,SAASC,YAAYA,CAC1BC,KAAmB,EACnBC,MAAc,EACd;EACA,OACEC,QAAmB,IACgC;IACnD,OAAOC,MAAM,CAACC,IAAI,CAACJ,KAAK,CAAC,CAACK,MAAM,CAAM,CAACC,OAAO,EAAEC,IAAI,KAAK;MACvD,MAAMC,MAAM,GAAGR,KAAK,CAACO,IAAI,CAAC;MAC1B,MAAME,cAAc,GAClB,OAAOD,MAAM,KAAK,QAAQ,IAAIA,MAAM,IAAI,IAAI,IAAI,CAACE,KAAK,CAACC,OAAO,CAACH,MAAM,CAAC;MACxE,MAAMI,YAAY,GAAGH,cAAc,GAAGD,MAAM,GAAG;QAAEK,IAAI,EAAEL;MAAO,CAAC;MAC/D,IAAIN,QAAQ,IAAIK,IAAI,IAAIL,QAAQ,EAAE;QAChCI,OAAO,CAACC,IAAI,CAAC,GAAG;UACd,GAAGK,YAAY;UACfE,OAAO,EAAEZ,QAAQ,CAACK,IAAI;QACxB,CAAC;MACH,CAAC,MAAM;QACLD,OAAO,CAACC,IAAI,CAAC,GAAGK,YAAY;MAC9B;MAEA,IAAIX,MAAM,IAAI,CAACK,OAAO,CAACC,IAAI,CAAC,CAACN,MAAM,EAAE;QACnCK,OAAO,CAACC,IAAI,CAAC,CAACN,MAAM,GAAGA,MAAM;MAC/B;MACA,OAAOK,OAAO;IAChB,CAAC,EAAE,CAAC,CAAiB,CAAC;EACxB,CAAC;AACH;AAEA,OAAO,SAASS,WAAWA,CACzBf,KAAU,EACVgB,MAAoB,EACY;EAChC,OAAOb,MAAM,CAACC,IAAI,CAACY,MAAM,CAAC,CAACX,MAAM,CAAC,CAACY,GAAG,EAAEV,IAAI,KAAK;IAC/C,IAAIP,KAAK,IAAIO,IAAI,IAAIP,KAAK,EAAE;MAC1BiB,GAAG,CAACV,IAAI,CAAyC,GAAGP,KAAK,CAACO,IAAI,CAAC;IACjE;IACA,OAAOU,GAAG;EACZ,CAAC,EAAE,CAAC,CAAmC,CAAC;AAC1C;AAEA,OAAO,SAASC,YAAYA,CAAClB,KAA0B,EAAEa,IAAY,EAAE;EACrE,MAAMM,MAAM,GAAI,KAAItB,UAAU,CAACgB,IAAI,CAAE,EAAC;EACtC,OAAO,CAAC,EACNb,KAAK,CAACmB,MAAM,CAAC,IACbnB,KAAK,CAAE,GAAEmB,MAAO,MAAK,CAAC,IACtBnB,KAAK,CAAE,GAAEmB,MAAO,SAAQ,CAAC,IACzBnB,KAAK,CAAE,GAAEmB,MAAO,aAAY,CAAC,IAC7BnB,KAAK,CAAE,GAAEmB,MAAO,aAAY,CAAC,CAC9B;AACH;AAEA,OAAO,SAASC,aAAaA,CAACC,KAAY,EAAEd,IAAY,EAAE;EACxD,OACE,OAAOc,KAAK,CAACrB,KAAK,GAAGO,IAAI,CAAC,KAAK,WAAW,IAC1C,OAAOc,KAAK,CAACrB,KAAK,GAAGF,WAAW,CAACS,IAAI,CAAC,CAAC,KAAK,WAAW;AAE3D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["YuyeonDateAdapter","createDateAdapter"],"sources":["../../../src/util/date/index.ts"],"sourcesContent":["export * from './built-in';\nexport { YuyeonDateAdapter } from './adapters/yuyeon-date-adapter';\n\nexport function createDateAdapter() {}\n"],"mappings":";SACSA,iBAAiB;AAE1B,OAAO,SAASC,iBAAiBA,CAAA,EAAG,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["YuyeonDateAdapter","createDateAdapter"],"sources":["../../../src/util/date/index.ts"],"sourcesContent":["export * from './built-in';\r\nexport { YuyeonDateAdapter } from './adapters/yuyeon-date-adapter';\r\n\r\nexport function createDateAdapter() {}\r\n"],"mappings":";SACSA,iBAAiB;AAE1B,OAAO,SAASC,iBAAiBA,CAAA,EAAG,CAAC"}
|