yuyeon 0.0.41 → 0.0.42-rc2
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/style.css +1 -1
- package/dist/yuyeon.js +4874 -3041
- package/dist/yuyeon.umd.cjs +8 -4
- package/lib/components/button/YButton.scss +2 -1
- package/lib/components/date-picker/YDateCalendar.mjs +235 -5
- package/lib/components/date-picker/YDateCalendar.mjs.map +1 -1
- package/lib/components/date-picker/YDateCalendar.scss +82 -0
- package/lib/components/date-picker/YDatePicker.mjs.map +1 -1
- package/lib/components/date-picker/YDatePickerControl.mjs +29 -0
- package/lib/components/date-picker/YDatePickerControl.mjs.map +1 -0
- package/lib/components/date-picker/YDatePickerControl.scss +3 -0
- package/lib/components/date-picker/index.mjs +1 -1
- package/lib/components/date-picker/index.mjs.map +1 -1
- package/lib/components/divider/YDivider.mjs +4 -2
- package/lib/components/divider/YDivider.mjs.map +1 -1
- package/lib/components/index.mjs +2 -0
- package/lib/components/index.mjs.map +1 -1
- package/lib/components/input/YInput.mjs +1 -1
- package/lib/components/input/YInput.mjs.map +1 -1
- package/lib/components/layer/YLayer.mjs.map +1 -1
- package/lib/components/list/YList.mjs.map +1 -1
- package/lib/components/menu/YMenu.mjs +2 -2
- package/lib/components/menu/YMenu.mjs.map +1 -1
- package/lib/components/select/YSelect.mjs.map +1 -1
- package/lib/components/switch/YSwitch.mjs +2 -0
- package/lib/components/switch/YSwitch.mjs.map +1 -1
- package/lib/components/table/composibles/pagination.mjs.map +1 -1
- package/lib/components/tooltip/YTooltip.mjs +2 -2
- package/lib/components/tooltip/YTooltip.mjs.map +1 -1
- package/lib/components/tree-view/YTreeView.mjs +5 -0
- package/lib/components/tree-view/YTreeView.mjs.map +1 -1
- package/lib/components/tree-view/YTreeViewNode.mjs +1 -0
- package/lib/components/tree-view/YTreeViewNode.mjs.map +1 -1
- package/lib/composables/communication.mjs +9 -0
- package/lib/composables/communication.mjs.map +1 -1
- package/lib/composables/date/factory.mjs +12 -0
- package/lib/composables/date/factory.mjs.map +1 -0
- package/lib/composables/date/index.mjs +19 -1
- package/lib/composables/date/index.mjs.map +1 -1
- package/lib/composables/date/setting.mjs +11 -0
- package/lib/composables/date/setting.mjs.map +1 -0
- package/lib/composables/date/types.mjs +1 -1
- package/lib/composables/date/types.mjs.map +1 -1
- package/lib/composables/i18n/index.mjs +30 -0
- package/lib/composables/i18n/index.mjs.map +1 -0
- package/lib/composables/i18n/locale.mjs +5 -0
- package/lib/composables/i18n/locale.mjs.map +1 -0
- package/lib/composables/i18n/rtl.mjs +34 -0
- package/lib/composables/i18n/rtl.mjs.map +1 -0
- package/lib/composables/i18n/share.mjs +2 -0
- package/lib/composables/i18n/share.mjs.map +1 -0
- package/lib/composables/index.mjs +1 -0
- package/lib/composables/index.mjs.map +1 -1
- package/lib/composables/theme/index.mjs.map +1 -1
- package/lib/composables/transition.mjs.map +1 -1
- package/lib/i18n/built-in.mjs +77 -0
- package/lib/i18n/built-in.mjs.map +1 -0
- package/lib/i18n/config.mjs +82 -0
- package/lib/i18n/config.mjs.map +1 -0
- package/lib/i18n/types.mjs +2 -0
- package/lib/i18n/types.mjs.map +1 -0
- package/lib/index.mjs +21 -5
- package/lib/index.mjs.map +1 -1
- package/lib/locales/en.mjs +4 -0
- package/lib/locales/en.mjs.map +1 -0
- package/lib/locales/index.mjs +3 -0
- package/lib/locales/index.mjs.map +1 -0
- package/lib/locales/ko.mjs +4 -0
- package/lib/locales/ko.mjs.map +1 -0
- package/lib/styles/util/_mixin.scss +34 -0
- package/lib/util/date/adapters/yuyeon-date-adapter.mjs +99 -0
- package/lib/util/date/adapters/yuyeon-date-adapter.mjs.map +1 -0
- package/lib/util/date/built-in.mjs +12 -102
- package/lib/util/date/built-in.mjs.map +1 -1
- package/lib/util/date/index.mjs +1 -0
- package/lib/util/date/index.mjs.map +1 -1
- package/lib/util/date/types.mjs.map +1 -1
- package/lib/util/index.mjs +1 -0
- package/lib/util/index.mjs.map +1 -1
- package/package.json +6 -4
- package/types/components/date-picker/YDateCalendar.d.ts +136 -0
- package/types/components/date-picker/index.d.ts +1 -0
- package/types/components/dialog/YDialog.d.ts +2 -2
- package/types/components/index.d.ts +2 -0
- package/types/components/input/YInput.d.ts +2 -2
- package/types/components/layer/YLayer.d.ts +3 -3
- package/types/components/list/YList.d.ts +3 -3
- package/types/components/list/YListItem.d.ts +3 -3
- package/types/components/menu/YMenu.d.ts +5 -5
- package/types/components/select/YSelect.d.ts +6 -6
- package/types/components/tooltip/YTooltip.d.ts +4 -4
- package/types/components/tree-view/YTreeView.d.ts +3 -0
- package/types/components/tree-view/YTreeViewNode.d.ts +8 -0
- package/types/composables/communication.d.ts +2 -0
- package/types/composables/date/factory.d.ts +2 -0
- package/types/composables/date/index.d.ts +11 -0
- package/types/composables/date/setting.d.ts +4 -0
- package/types/composables/date/types.d.ts +12 -0
- package/types/composables/i18n/index.d.ts +8 -0
- package/types/composables/i18n/locale.d.ts +2 -0
- package/types/composables/i18n/rtl.d.ts +20 -0
- package/types/composables/i18n/share.d.ts +1 -0
- package/types/composables/index.d.ts +2 -0
- package/types/composables/theme/index.d.ts +3 -3
- package/types/i18n/built-in.d.ts +2 -0
- package/types/i18n/config.d.ts +81 -0
- package/types/i18n/types.d.ts +19 -0
- package/types/locales/en.d.ts +4 -0
- package/types/shims.d.ts +2 -0
- package/types/util/date/adapters/yuyeon-date-adapter.d.ts +38 -0
- package/types/util/date/built-in.d.ts +35 -0
- package/types/util/date/index.d.ts +3 -0
- package/types/util/date/types.d.ts +163 -0
- package/types/util/index.d.ts +1 -0
|
@@ -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","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","newTheme","useTheme"],"sources":["../../../src/composables/theme/index.ts"],"sourcesContent":["import type { App, ComputedRef, 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/vue-component';\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: 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: 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,\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 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 `[data-theme-scheme='auto'][data-${themeScheme}-theme='${themeKey}']`,\n cssVariables(records, 'theme'),\n ),\n ),\n );\n } else {\n lines.push(\n ...cssClass(\n `[data-theme-scheme='${themeScheme}'][data-${themeScheme}-theme='${themeKey}']`,\n cssVariables(records, 'theme'),\n ),\n );\n }\n\n lines.push(\n ...cssClass(`.y-theme--${themeKey}`, cssVariables(records, 'theme')),\n );\n }\n return lines.join('');\n });\n\n function install(app: App) {\n app.directive('theme', bindThemeClass);\n\n let styleEl = document.getElementById('yuyeon-theme-palette');\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 = 'yuyeon-theme-palette';\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 switch (props.theme) {\n case 'light':\n return themeModule.theme.value?.[0] ?? 'light';\n case 'dark':\n return themeModule.theme.value?.[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(() => `y-theme--${currentThemeKey.value}`);\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('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","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","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/vue-component';\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: 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: 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 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 `[data-theme-scheme='auto'][data-${themeScheme}-theme='${themeKey}']`,\n cssVariables(records, 'theme'),\n ),\n ),\n );\n } else {\n lines.push(\n ...cssClass(\n `[data-theme-scheme='${themeScheme}'][data-${themeScheme}-theme='${themeKey}']`,\n cssVariables(records, 'theme'),\n ),\n );\n }\n\n lines.push(\n ...cssClass(`.y-theme--${themeKey}`, cssVariables(records, 'theme')),\n );\n }\n return lines.join('');\n });\n\n function install(app: App) {\n app.directive('theme', bindThemeClass);\n\n let styleEl = document.getElementById('yuyeon-theme-palette');\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 = 'yuyeon-theme-palette';\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 switch (props.theme) {\n case 'light':\n return themeModule.theme.value?.[0] ?? 'light';\n case 'dark':\n return themeModule.theme.value?.[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(() => `y-theme--${currentThemeKey.value}`);\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('Not found provided \"ThemeModule\"');\n\n return theme;\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transition.mjs","names":["Transition","computed","h","polyTransitionPropOptions","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 Component,\n FunctionalComponent,\n PropType,\n Transition,\n TransitionProps,\n computed,\n h,\n} from 'vue';\n\nexport const polyTransitionPropOptions = {\n transition: {\n type: [String, Object] as PropType<\n string | (TransitionProps & { is?: Component })\n >,\n default: 'slide-fade',\n },\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;AAEZ,OAAO,MAAMC,yBAAyB,GAAG;EACvCC,UAAU,EAAE;IACVC,IAAI,EAAE,CAACC,MAAM,EAAEC,MAAM,CAEpB;IACDC,OAAO,EAAE;EACX;AACF,CAAC;AAED,OAAO,SAASC,iBAAiBA,CAACC,KAA0B,EAAE;EAC5D,MAAMC,uBAAuB,GAAGV,QAAQ,CAAC,MAAM;IAC7C,MAAM;MAAEW,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,GAAGnB,UAAU;IAAE,GAAGoB;EAAK,CAAC,GACvC,OAAOR,EAAE,KAAK,QAAQ,GAClB;IAAEO,SAAS,EAAEP,EAAE;IAAE,GAAGC;EAAgB,CAAC,GACrC;IAAEC,IAAI,EAAEF;EAAG,CAAC;EAClB,OAAOV,CAAC,CAACiB,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","polyTransitionPropOptions","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 Component,\r\n FunctionalComponent,\r\n PropType,\r\n Transition,\r\n TransitionProps,\r\n computed,\r\n h,\r\n} from 'vue';\r\n\r\nexport const polyTransitionPropOptions = {\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\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;AAEZ,OAAO,MAAMC,yBAAyB,GAAG;EACvCC,UAAU,EAAE;IACVC,IAAI,EAAE,CAACC,MAAM,EAAEC,MAAM,CAEpB;IACDC,OAAO,EAAE;EACX;AACF,CAAC;AAED,OAAO,SAASC,iBAAiBA,CAACC,KAA0B,EAAE;EAC5D,MAAMC,uBAAuB,GAAGV,QAAQ,CAAC,MAAM;IAC7C,MAAM;MAAEW,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,GAAGnB,UAAU;IAAE,GAAGoB;EAAK,CAAC,GACvC,OAAOR,EAAE,KAAK,QAAQ,GAClB;IAAEO,SAAS,EAAEP,EAAE;IAAE,GAAGC;EAAgB,CAAC,GACrC;IAAEC,IAAI,EAAEF;EAAG,CAAC;EAClB,OAAOV,CAAC,CAACiB,SAAS,EAAE;IAAE,GAAGC,IAAI;IAAE,GAAGP,eAAe;IAAE,GAAGK;EAAY,CAAC,EAAED,KAAK,CAAC;AAC7E,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { ref, shallowRef } from 'vue';
|
|
2
|
+
import { useProvided } from "../composables/index.mjs";
|
|
3
|
+
import en from "../locales/en.mjs";
|
|
4
|
+
import { getObjectValueByPath } from "../util/index.mjs";
|
|
5
|
+
const LOCALE_PREFIX = '$yuyeon';
|
|
6
|
+
function replaceParams(str, params) {
|
|
7
|
+
return str.replace(/\{(\d+)\}/g, (item, index) => {
|
|
8
|
+
return String(params[+index]);
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
function generateContext(locale, fallbackLocale, messages) {
|
|
12
|
+
function translate(key) {
|
|
13
|
+
for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
14
|
+
params[_key - 1] = arguments[_key];
|
|
15
|
+
}
|
|
16
|
+
if (!key.startsWith(LOCALE_PREFIX)) {
|
|
17
|
+
return replaceParams(key, params);
|
|
18
|
+
}
|
|
19
|
+
const path = key.replace(LOCALE_PREFIX, '');
|
|
20
|
+
const localeMessages = locale.value && messages.value[locale.value];
|
|
21
|
+
const fallbackMessages = fallbackLocale.value && messages.value[fallbackLocale.value];
|
|
22
|
+
let msg = getObjectValueByPath(localeMessages, path, null);
|
|
23
|
+
if (!msg) {
|
|
24
|
+
msg = getObjectValueByPath(fallbackMessages, path, null);
|
|
25
|
+
}
|
|
26
|
+
if (!msg) {
|
|
27
|
+
msg = key;
|
|
28
|
+
}
|
|
29
|
+
if (typeof msg !== 'string') {
|
|
30
|
+
msg = key;
|
|
31
|
+
}
|
|
32
|
+
return replaceParams(msg, params);
|
|
33
|
+
}
|
|
34
|
+
function number(value, options) {
|
|
35
|
+
const numberFormat = new Intl.NumberFormat([locale.value, fallbackLocale.value], options);
|
|
36
|
+
return numberFormat.format(value);
|
|
37
|
+
}
|
|
38
|
+
function getContext(props) {
|
|
39
|
+
const localLocale = useProvided(props, 'locale', locale);
|
|
40
|
+
const localFallbackLocale = useProvided(props, 'fallbackLocale', fallbackLocale);
|
|
41
|
+
const localMessages = useProvided(props, 'messages', messages);
|
|
42
|
+
const ctx = generateContext(localLocale, localFallbackLocale, localMessages);
|
|
43
|
+
return {
|
|
44
|
+
name: 'yuyeon',
|
|
45
|
+
locale,
|
|
46
|
+
fallbackLocale,
|
|
47
|
+
messages,
|
|
48
|
+
t: ctx.translate,
|
|
49
|
+
n: ctx.number,
|
|
50
|
+
getContext: ctx.getContext
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
return {
|
|
54
|
+
translate,
|
|
55
|
+
number,
|
|
56
|
+
getContext
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
export function constructYuyeonI18nAdapter(options) {
|
|
60
|
+
const locale = shallowRef(options?.locale ?? 'en');
|
|
61
|
+
const fallbackLocale = shallowRef(options?.fallbackLocale ?? 'en');
|
|
62
|
+
const messages = ref({
|
|
63
|
+
en,
|
|
64
|
+
...options?.messages
|
|
65
|
+
});
|
|
66
|
+
const ctx = generateContext(locale, fallbackLocale, messages);
|
|
67
|
+
return {
|
|
68
|
+
name: 'yuyeon',
|
|
69
|
+
locale,
|
|
70
|
+
fallbackLocale,
|
|
71
|
+
messages,
|
|
72
|
+
t: ctx.translate,
|
|
73
|
+
n: ctx.number,
|
|
74
|
+
getContext: ctx.getContext
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=built-in.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"built-in.mjs","names":["ref","shallowRef","useProvided","en","getObjectValueByPath","LOCALE_PREFIX","replaceParams","str","params","replace","item","index","String","generateContext","locale","fallbackLocale","messages","translate","key","_len","arguments","length","Array","_key","startsWith","path","localeMessages","value","fallbackMessages","msg","number","options","numberFormat","Intl","NumberFormat","format","getContext","props","localLocale","localFallbackLocale","localMessages","ctx","name","t","n","constructYuyeonI18nAdapter"],"sources":["../../src/i18n/built-in.ts"],"sourcesContent":["import { ref, shallowRef } from 'vue';\r\nimport type { Ref } from 'vue';\r\n\r\nimport { useProvided } from '../composables';\r\nimport en from '../locales/en';\r\nimport { getObjectValueByPath } from '../util';\r\nimport type { LocaleMessages, LocaleModule, LocaleOptions } from './types';\r\n\r\nconst LOCALE_PREFIX = '$yuyeon';\r\n\r\nfunction replaceParams(str: string, params: unknown[]) {\r\n return str.replace(/\\{(\\d+)\\}/g, (item, index) => {\r\n return String(params[+index]);\r\n });\r\n}\r\n\r\nfunction generateContext(\r\n locale: Ref<string>,\r\n fallbackLocale: Ref<string>,\r\n messages: Ref<LocaleMessages>,\r\n) {\r\n function translate(key: string, ...params: unknown[]) {\r\n if (!key.startsWith(LOCALE_PREFIX)) {\r\n return replaceParams(key, params);\r\n }\r\n const path = key.replace(LOCALE_PREFIX, '');\r\n const localeMessages = locale.value && messages.value[locale.value];\r\n const fallbackMessages =\r\n fallbackLocale.value && messages.value[fallbackLocale.value];\r\n\r\n let msg: string = getObjectValueByPath(localeMessages, path, null);\r\n if (!msg) {\r\n msg = getObjectValueByPath(fallbackMessages, path, null);\r\n }\r\n if (!msg) {\r\n msg = key;\r\n }\r\n if (typeof msg !== 'string') {\r\n msg = key;\r\n }\r\n return replaceParams(msg, params);\r\n }\r\n\r\n function number(value: number, options?: Intl.NumberFormatOptions) {\r\n const numberFormat = new Intl.NumberFormat(\r\n [locale.value, fallbackLocale.value],\r\n options,\r\n );\r\n return numberFormat.format(value);\r\n }\r\n\r\n function getContext(props: LocaleOptions) {\r\n const localLocale = useProvided(props, 'locale', locale);\r\n const localFallbackLocale = useProvided(\r\n props,\r\n 'fallbackLocale',\r\n fallbackLocale,\r\n );\r\n const localMessages = useProvided(props, 'messages', messages);\r\n const ctx = generateContext(\r\n localLocale,\r\n localFallbackLocale,\r\n localMessages,\r\n );\r\n return {\r\n name: 'yuyeon',\r\n locale,\r\n fallbackLocale,\r\n messages,\r\n t: ctx.translate,\r\n n: ctx.number,\r\n getContext: ctx.getContext,\r\n };\r\n }\r\n\r\n return {\r\n translate,\r\n number,\r\n getContext,\r\n };\r\n}\r\n\r\nexport function constructYuyeonI18nAdapter(\r\n options?: LocaleOptions,\r\n): LocaleModule {\r\n const locale = shallowRef(options?.locale ?? 'en');\r\n const fallbackLocale = shallowRef(options?.fallbackLocale ?? 'en');\r\n const messages = ref({\r\n en,\r\n ...options?.messages,\r\n });\r\n\r\n const ctx = generateContext(locale, fallbackLocale, messages);\r\n\r\n return {\r\n name: 'yuyeon',\r\n locale,\r\n fallbackLocale,\r\n messages,\r\n t: ctx.translate,\r\n n: ctx.number,\r\n getContext: ctx.getContext,\r\n };\r\n}\r\n"],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
export const localeCodesMap = {
|
|
2
|
+
af: 'af-ZA',
|
|
3
|
+
bg: 'bg-BG',
|
|
4
|
+
ca: 'ca-ES',
|
|
5
|
+
cs: 'cs-CZ',
|
|
6
|
+
de: 'de-DE',
|
|
7
|
+
el: 'el-GR',
|
|
8
|
+
en: 'en-US',
|
|
9
|
+
et: 'et-EE',
|
|
10
|
+
fa: 'fa-IR',
|
|
11
|
+
fi: 'fi-FI',
|
|
12
|
+
hr: 'hr-HR',
|
|
13
|
+
hu: 'hu-HU',
|
|
14
|
+
he: 'he-IL',
|
|
15
|
+
id: 'id-ID',
|
|
16
|
+
it: 'it-IT',
|
|
17
|
+
ja: 'ja-JP',
|
|
18
|
+
ko: 'ko-KR',
|
|
19
|
+
lv: 'lv-LV',
|
|
20
|
+
lt: 'lt-LT',
|
|
21
|
+
nl: 'nl-NL',
|
|
22
|
+
no: 'no-NO',
|
|
23
|
+
pl: 'pl-PL',
|
|
24
|
+
pt: 'pt-PT',
|
|
25
|
+
ro: 'ro-RO',
|
|
26
|
+
ru: 'ru-RU',
|
|
27
|
+
sk: 'sk-SK',
|
|
28
|
+
sl: 'sl-SI',
|
|
29
|
+
srCyrl: 'sr-SP',
|
|
30
|
+
srLatn: 'sr-SP',
|
|
31
|
+
sv: 'sv-SE',
|
|
32
|
+
th: 'th-TH',
|
|
33
|
+
tr: 'tr-TR',
|
|
34
|
+
az: 'az-AZ',
|
|
35
|
+
uk: 'uk-UA',
|
|
36
|
+
vi: 'vi-VN',
|
|
37
|
+
zhHans: 'zh-CN',
|
|
38
|
+
zhHant: 'zh-TW'
|
|
39
|
+
};
|
|
40
|
+
export const defaultRtl = {
|
|
41
|
+
af: false,
|
|
42
|
+
ar: true,
|
|
43
|
+
bg: false,
|
|
44
|
+
ca: false,
|
|
45
|
+
cs: false,
|
|
46
|
+
de: false,
|
|
47
|
+
el: false,
|
|
48
|
+
en: false,
|
|
49
|
+
es: false,
|
|
50
|
+
et: false,
|
|
51
|
+
fa: true,
|
|
52
|
+
fi: false,
|
|
53
|
+
fr: false,
|
|
54
|
+
hr: false,
|
|
55
|
+
hu: false,
|
|
56
|
+
he: true,
|
|
57
|
+
id: false,
|
|
58
|
+
it: false,
|
|
59
|
+
ja: false,
|
|
60
|
+
ko: false,
|
|
61
|
+
lv: false,
|
|
62
|
+
lt: false,
|
|
63
|
+
nl: false,
|
|
64
|
+
no: false,
|
|
65
|
+
pl: false,
|
|
66
|
+
pt: false,
|
|
67
|
+
ro: false,
|
|
68
|
+
ru: false,
|
|
69
|
+
sk: false,
|
|
70
|
+
sl: false,
|
|
71
|
+
srCyrl: false,
|
|
72
|
+
srLatn: false,
|
|
73
|
+
sv: false,
|
|
74
|
+
th: false,
|
|
75
|
+
tr: false,
|
|
76
|
+
az: false,
|
|
77
|
+
uk: false,
|
|
78
|
+
vi: false,
|
|
79
|
+
zhHans: false,
|
|
80
|
+
zhHant: false
|
|
81
|
+
};
|
|
82
|
+
//# sourceMappingURL=config.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.mjs","names":["localeCodesMap","af","bg","ca","cs","de","el","en","et","fa","fi","hr","hu","he","id","it","ja","ko","lv","lt","nl","no","pl","pt","ro","ru","sk","sl","srCyrl","srLatn","sv","th","tr","az","uk","vi","zhHans","zhHant","defaultRtl","ar","es","fr"],"sources":["../../src/i18n/config.ts"],"sourcesContent":["export const localeCodesMap = {\r\n af: 'af-ZA',\r\n bg: 'bg-BG',\r\n ca: 'ca-ES',\r\n cs: 'cs-CZ',\r\n de: 'de-DE',\r\n el: 'el-GR',\r\n en: 'en-US',\r\n et: 'et-EE',\r\n fa: 'fa-IR',\r\n fi: 'fi-FI',\r\n hr: 'hr-HR',\r\n hu: 'hu-HU',\r\n he: 'he-IL',\r\n id: 'id-ID',\r\n it: 'it-IT',\r\n ja: 'ja-JP',\r\n ko: 'ko-KR',\r\n lv: 'lv-LV',\r\n lt: 'lt-LT',\r\n nl: 'nl-NL',\r\n no: 'no-NO',\r\n pl: 'pl-PL',\r\n pt: 'pt-PT',\r\n ro: 'ro-RO',\r\n ru: 'ru-RU',\r\n sk: 'sk-SK',\r\n sl: 'sl-SI',\r\n srCyrl: 'sr-SP',\r\n srLatn: 'sr-SP',\r\n sv: 'sv-SE',\r\n th: 'th-TH',\r\n tr: 'tr-TR',\r\n az: 'az-AZ',\r\n uk: 'uk-UA',\r\n vi: 'vi-VN',\r\n zhHans: 'zh-CN',\r\n zhHant: 'zh-TW',\r\n};\r\n\r\nexport const defaultRtl = {\r\n af: false,\r\n ar: true,\r\n bg: false,\r\n ca: false,\r\n cs: false,\r\n de: false,\r\n el: false,\r\n en: false,\r\n es: false,\r\n et: false,\r\n fa: true,\r\n fi: false,\r\n fr: false,\r\n hr: false,\r\n hu: false,\r\n he: true,\r\n id: false,\r\n it: false,\r\n ja: false,\r\n ko: false,\r\n lv: false,\r\n lt: false,\r\n nl: false,\r\n no: false,\r\n pl: false,\r\n pt: false,\r\n ro: false,\r\n ru: false,\r\n sk: false,\r\n sl: false,\r\n srCyrl: false,\r\n srLatn: false,\r\n sv: false,\r\n th: false,\r\n tr: false,\r\n az: false,\r\n uk: false,\r\n vi: false,\r\n zhHans: false,\r\n zhHant: false,\r\n}\r\n"],"mappings":"AAAA,OAAO,MAAMA,cAAc,GAAG;EAC1BC,EAAE,EAAE,OAAO;EACXC,EAAE,EAAE,OAAO;EACXC,EAAE,EAAE,OAAO;EACXC,EAAE,EAAE,OAAO;EACXC,EAAE,EAAE,OAAO;EACXC,EAAE,EAAE,OAAO;EACXC,EAAE,EAAE,OAAO;EACXC,EAAE,EAAE,OAAO;EACXC,EAAE,EAAE,OAAO;EACXC,EAAE,EAAE,OAAO;EACXC,EAAE,EAAE,OAAO;EACXC,EAAE,EAAE,OAAO;EACXC,EAAE,EAAE,OAAO;EACXC,EAAE,EAAE,OAAO;EACXC,EAAE,EAAE,OAAO;EACXC,EAAE,EAAE,OAAO;EACXC,EAAE,EAAE,OAAO;EACXC,EAAE,EAAE,OAAO;EACXC,EAAE,EAAE,OAAO;EACXC,EAAE,EAAE,OAAO;EACXC,EAAE,EAAE,OAAO;EACXC,EAAE,EAAE,OAAO;EACXC,EAAE,EAAE,OAAO;EACXC,EAAE,EAAE,OAAO;EACXC,EAAE,EAAE,OAAO;EACXC,EAAE,EAAE,OAAO;EACXC,EAAE,EAAE,OAAO;EACXC,MAAM,EAAE,OAAO;EACfC,MAAM,EAAE,OAAO;EACfC,EAAE,EAAE,OAAO;EACXC,EAAE,EAAE,OAAO;EACXC,EAAE,EAAE,OAAO;EACXC,EAAE,EAAE,OAAO;EACXC,EAAE,EAAE,OAAO;EACXC,EAAE,EAAE,OAAO;EACXC,MAAM,EAAE,OAAO;EACfC,MAAM,EAAE;AACZ,CAAC;AAED,OAAO,MAAMC,UAAU,GAAG;EACtBrC,EAAE,EAAE,KAAK;EACTsC,EAAE,EAAE,IAAI;EACRrC,EAAE,EAAE,KAAK;EACTC,EAAE,EAAE,KAAK;EACTC,EAAE,EAAE,KAAK;EACTC,EAAE,EAAE,KAAK;EACTC,EAAE,EAAE,KAAK;EACTC,EAAE,EAAE,KAAK;EACTiC,EAAE,EAAE,KAAK;EACThC,EAAE,EAAE,KAAK;EACTC,EAAE,EAAE,IAAI;EACRC,EAAE,EAAE,KAAK;EACT+B,EAAE,EAAE,KAAK;EACT9B,EAAE,EAAE,KAAK;EACTC,EAAE,EAAE,KAAK;EACTC,EAAE,EAAE,IAAI;EACRC,EAAE,EAAE,KAAK;EACTC,EAAE,EAAE,KAAK;EACTC,EAAE,EAAE,KAAK;EACTC,EAAE,EAAE,KAAK;EACTC,EAAE,EAAE,KAAK;EACTC,EAAE,EAAE,KAAK;EACTC,EAAE,EAAE,KAAK;EACTC,EAAE,EAAE,KAAK;EACTC,EAAE,EAAE,KAAK;EACTC,EAAE,EAAE,KAAK;EACTC,EAAE,EAAE,KAAK;EACTC,EAAE,EAAE,KAAK;EACTC,EAAE,EAAE,KAAK;EACTC,EAAE,EAAE,KAAK;EACTC,MAAM,EAAE,KAAK;EACbC,MAAM,EAAE,KAAK;EACbC,EAAE,EAAE,KAAK;EACTC,EAAE,EAAE,KAAK;EACTC,EAAE,EAAE,KAAK;EACTC,EAAE,EAAE,KAAK;EACTC,EAAE,EAAE,KAAK;EACTC,EAAE,EAAE,KAAK;EACTC,MAAM,EAAE,KAAK;EACbC,MAAM,EAAE;AACZ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.mjs","names":[],"sources":["../../src/i18n/types.ts"],"sourcesContent":["import type { Ref } from 'vue';\r\n\r\nexport type LocaleMessages = {\r\n [key: string]: LocaleMessages | string;\r\n};\r\n\r\nexport interface LocaleOptions {\r\n messages?: LocaleMessages;\r\n locale?: string;\r\n fallbackLocale?: string;\r\n adapter?: LocaleModule;\r\n}\r\n\r\nexport interface LocaleModule {\r\n name: string;\r\n locale: Ref<string>;\r\n fallbackLocale: Ref<string>;\r\n messages: Ref<LocaleMessages>;\r\n t: (key: string, ...args: unknown[]) => string;\r\n n: (value: number) => string;\r\n getContext: (props: LocaleOptions) => LocaleModule\r\n}\r\n"],"mappings":""}
|
package/lib/index.mjs
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import * as components from "./components/index.mjs";
|
|
2
|
-
import { YUYEON_LOGO } from "./etc/index.mjs";
|
|
3
1
|
import { nextTick, reactive } from 'vue';
|
|
2
|
+
import * as components from "./components/index.mjs";
|
|
3
|
+
import { YUYEON_DATE_KEY, YUYEON_DATE_OPTIONS_KEY, createDateModule } from "./composables/date/index.mjs";
|
|
4
|
+
import { createI18nModule } from "./composables/i18n/index.mjs";
|
|
5
|
+
import { YUYEON_I18N_KEY } from "./composables/i18n/share.mjs";
|
|
4
6
|
import { YUYEON_THEME_KEY, createThemeModule, useTheme } from "./composables/theme/index.mjs";
|
|
5
|
-
import PlateWave from "./directives/plate-wave/index.mjs";
|
|
7
|
+
import PlateWave from "./directives/plate-wave/index.mjs";
|
|
8
|
+
import { YUYEON_LOGO } from "./etc/index.mjs"; //
|
|
6
9
|
import "./styles/base.scss";
|
|
7
10
|
const defaultOptions = {
|
|
8
11
|
credit: true
|
|
@@ -10,19 +13,32 @@ const defaultOptions = {
|
|
|
10
13
|
export function init() {
|
|
11
14
|
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultOptions;
|
|
12
15
|
const themeModule = createThemeModule(options?.theme);
|
|
16
|
+
const i18nModule = createI18nModule(options?.i18n);
|
|
17
|
+
const dateModule = createDateModule(options?.date, i18nModule.localeModule);
|
|
13
18
|
const install = app => {
|
|
14
19
|
themeModule.install(app);
|
|
15
20
|
const yuyeon = reactive({
|
|
16
21
|
app: null,
|
|
17
22
|
root: null,
|
|
18
|
-
theme: themeModule.instance
|
|
23
|
+
theme: themeModule.instance,
|
|
24
|
+
i18n: {
|
|
25
|
+
...i18nModule.localeModule,
|
|
26
|
+
...i18nModule.rtlModule
|
|
27
|
+
},
|
|
28
|
+
date: dateModule
|
|
19
29
|
});
|
|
20
30
|
Object.keys(components).forEach(componentName => {
|
|
21
31
|
const comp = components[componentName];
|
|
22
32
|
app.component(componentName, comp);
|
|
23
33
|
});
|
|
24
34
|
app.directive('plate-wave', PlateWave);
|
|
25
|
-
app.provide(YUYEON_THEME_KEY,
|
|
35
|
+
app.provide(YUYEON_THEME_KEY, themeModule.instance);
|
|
36
|
+
app.provide(YUYEON_I18N_KEY, {
|
|
37
|
+
...i18nModule.localeModule,
|
|
38
|
+
...i18nModule.rtlModule
|
|
39
|
+
});
|
|
40
|
+
app.provide(YUYEON_DATE_OPTIONS_KEY, dateModule.options);
|
|
41
|
+
app.provide(YUYEON_DATE_KEY, dateModule.instance);
|
|
26
42
|
app.config.globalProperties.$yuyeon = yuyeon;
|
|
27
43
|
nextTick(() => {
|
|
28
44
|
yuyeon.app = app._instance;
|
package/lib/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["components","
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["nextTick","reactive","components","YUYEON_DATE_KEY","YUYEON_DATE_OPTIONS_KEY","createDateModule","createI18nModule","YUYEON_I18N_KEY","YUYEON_THEME_KEY","createThemeModule","useTheme","PlateWave","YUYEON_LOGO","defaultOptions","credit","init","options","arguments","length","undefined","themeModule","theme","i18nModule","i18n","dateModule","date","localeModule","install","app","yuyeon","root","instance","rtlModule","Object","keys","forEach","componentName","comp","component","directive","provide","config","globalProperties","$yuyeon","_instance","_container","Error","$el","classList","add","setAttribute","console","log","unmount","scope","stop"],"sources":["../src/index.ts"],"sourcesContent":["import { Component, ComponentInternalInstance } from '@vue/runtime-core';\r\nimport type { App } from 'vue';\r\nimport { 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 { createI18nModule } from './composables/i18n';\r\nimport { YUYEON_I18N_KEY } from './composables/i18n/share';\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\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 themeModule = createThemeModule(options?.theme);\r\n const i18nModule = createI18nModule(options?.i18n);\r\n const dateModule = createDateModule(options?.date, i18nModule.localeModule);\r\n\r\n const install = (app: App): any => {\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 });\r\n\r\n Object.keys(components).forEach((componentName) => {\r\n const comp = components[componentName as keyof typeof components];\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_THEME_KEY, themeModule.instance);\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.app = app._instance as any;\r\n yuyeon.root = app._container;\r\n if (!yuyeon.root) {\r\n throw new Error(`yuyeon: Can't found instance`);\r\n }\r\n const $el = yuyeon.root;\r\n $el.classList.add('y-root');\r\n $el.setAttribute('data-y-root', '');\r\n themeModule.init(yuyeon);\r\n });\r\n if (options?.credit) {\r\n console.log(YUYEON_LOGO);\r\n }\r\n const { unmount } = app;\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 { useTheme };\r\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"en.mjs","names":["search"],"sources":["../../src/locales/en.ts"],"sourcesContent":["export default {\r\n search: 'search',\r\n};\r\n"],"mappings":"AAAA,eAAe;EACbA,MAAM,EAAE;AACV,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["default","en","ko"],"sources":["../../src/locales/index.ts"],"sourcesContent":["export { default as en } from './en';\r\nexport { default as ko } from './ko';\r\n"],"mappings":"SAASA,OAAO,IAAIC,EAAE;AAAA,SACbD,OAAO,IAAIE,EAAE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ko.mjs","names":["search"],"sources":["../../src/locales/ko.ts"],"sourcesContent":["export default {\r\n search: '검색',\r\n};\r\n"],"mappings":"AAAA,eAAe;EACbA,MAAM,EAAE;AACV,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
@use 'sass:map';
|
|
2
|
+
|
|
3
|
+
$border-radius: (
|
|
4
|
+
'top': (
|
|
5
|
+
'top-left',
|
|
6
|
+
'top-right',
|
|
7
|
+
),
|
|
8
|
+
'bottom': (
|
|
9
|
+
'bottom-left',
|
|
10
|
+
'bottom-right',
|
|
11
|
+
),
|
|
12
|
+
'left': (
|
|
13
|
+
'top-left',
|
|
14
|
+
'bottom-left',
|
|
15
|
+
),
|
|
16
|
+
'right': (
|
|
17
|
+
'top-right',
|
|
18
|
+
'bottom-right',
|
|
19
|
+
),
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
@mixin borderRadius($round, $side) {
|
|
23
|
+
@if ($side == null) {
|
|
24
|
+
border-radius: $round;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
@if (map.has-key($border-radius, $side)) {
|
|
28
|
+
$props: map.get($border-radius, $side);
|
|
29
|
+
@each $prop in $props {
|
|
30
|
+
@debug $prop;
|
|
31
|
+
border-#{$prop}-radius: $round;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
3
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
4
|
+
import { DateUtil } from "../built-in.mjs";
|
|
5
|
+
export class YuyeonDateAdapter {
|
|
6
|
+
constructor(options) {
|
|
7
|
+
_defineProperty(this, "locale", 'ko-kr');
|
|
8
|
+
this.locale = options.locale;
|
|
9
|
+
this.formats = options.formats;
|
|
10
|
+
}
|
|
11
|
+
getWeekArray(date) {
|
|
12
|
+
return DateUtil.getWeekArray(date, this.locale);
|
|
13
|
+
}
|
|
14
|
+
startOfMonth(date) {
|
|
15
|
+
return DateUtil.startOfMonth(date);
|
|
16
|
+
}
|
|
17
|
+
endOfMonth(date) {
|
|
18
|
+
return DateUtil.endOfMonth(date);
|
|
19
|
+
}
|
|
20
|
+
addDays(date, amount) {
|
|
21
|
+
return DateUtil.addDays(date, amount);
|
|
22
|
+
}
|
|
23
|
+
addMonths(date, amount) {
|
|
24
|
+
return DateUtil.addMonths(date, amount);
|
|
25
|
+
}
|
|
26
|
+
date(value) {
|
|
27
|
+
return DateUtil.date(value);
|
|
28
|
+
}
|
|
29
|
+
endOfDay(date) {
|
|
30
|
+
return DateUtil.endOfDay(date);
|
|
31
|
+
}
|
|
32
|
+
endOfYear(date) {
|
|
33
|
+
return DateUtil.endOfYear(date);
|
|
34
|
+
}
|
|
35
|
+
format(date, formatString) {
|
|
36
|
+
return DateUtil.format(date, formatString, this.locale, this.formats);
|
|
37
|
+
}
|
|
38
|
+
getDiff(date, comparing, unit) {
|
|
39
|
+
return DateUtil.getDiff(date, comparing, unit);
|
|
40
|
+
}
|
|
41
|
+
getYear(date) {
|
|
42
|
+
return DateUtil.getYear(date);
|
|
43
|
+
}
|
|
44
|
+
getMonth(date) {
|
|
45
|
+
return DateUtil.getMonth(date);
|
|
46
|
+
}
|
|
47
|
+
getDay(date) {
|
|
48
|
+
return DateUtil.getDay(date);
|
|
49
|
+
}
|
|
50
|
+
getNextMonth(date) {
|
|
51
|
+
return DateUtil.getNextMonth(date);
|
|
52
|
+
}
|
|
53
|
+
getWeekdays() {
|
|
54
|
+
return DateUtil.getWeekdays(this.locale);
|
|
55
|
+
}
|
|
56
|
+
isAfter(date, comparing) {
|
|
57
|
+
return DateUtil.isAfter(date, comparing);
|
|
58
|
+
}
|
|
59
|
+
isBefore(date, comparing) {
|
|
60
|
+
return DateUtil.isBefore(date, comparing);
|
|
61
|
+
}
|
|
62
|
+
isEqual(date, comparing) {
|
|
63
|
+
return DateUtil.isEqual(date, comparing);
|
|
64
|
+
}
|
|
65
|
+
isSameDay(date, comparing) {
|
|
66
|
+
return DateUtil.isSameDay(date, comparing);
|
|
67
|
+
}
|
|
68
|
+
isSameMonth(date, comparing) {
|
|
69
|
+
return DateUtil.isSameMonth(date, comparing);
|
|
70
|
+
}
|
|
71
|
+
isValid(date) {
|
|
72
|
+
return DateUtil.isValid(date);
|
|
73
|
+
}
|
|
74
|
+
isWithinRange(date, range) {
|
|
75
|
+
return DateUtil.isWithinRange(date, range);
|
|
76
|
+
}
|
|
77
|
+
parseISO(date) {
|
|
78
|
+
return DateUtil.parseISO(date);
|
|
79
|
+
}
|
|
80
|
+
setMonth(date, month) {
|
|
81
|
+
return DateUtil.setMonth(date, month);
|
|
82
|
+
}
|
|
83
|
+
setYear(date, year) {
|
|
84
|
+
return DateUtil.setYear(date, year);
|
|
85
|
+
}
|
|
86
|
+
startOfDay(date) {
|
|
87
|
+
return DateUtil.startOfDay(date);
|
|
88
|
+
}
|
|
89
|
+
startOfYear(date) {
|
|
90
|
+
return DateUtil.startOfYear(date);
|
|
91
|
+
}
|
|
92
|
+
toISO(date) {
|
|
93
|
+
return DateUtil.toISO(date);
|
|
94
|
+
}
|
|
95
|
+
toJsDate(date) {
|
|
96
|
+
return date;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=yuyeon-date-adapter.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"yuyeon-date-adapter.mjs","names":["DateUtil","YuyeonDateAdapter","constructor","options","_defineProperty","locale","formats","getWeekArray","date","startOfMonth","endOfMonth","addDays","amount","addMonths","value","endOfDay","endOfYear","format","formatString","getDiff","comparing","unit","getYear","getMonth","getDay","getNextMonth","getWeekdays","isAfter","isBefore","isEqual","isSameDay","isSameMonth","isValid","isWithinRange","range","parseISO","setMonth","month","setYear","year","startOfDay","startOfYear","toISO","toJsDate"],"sources":["../../../../src/util/date/adapters/yuyeon-date-adapter.ts"],"sourcesContent":["import { DateUtil } from '../built-in';\r\nimport { DateAdapter, DateFormatOptions } from '../types';\r\n\r\nexport class YuyeonDateAdapter implements DateAdapter<Date> {\r\n public locale = 'ko-kr';\r\n\r\n public formats?: Record<string, DateFormatOptions>;\r\n\r\n constructor(options: {\r\n locale: string;\r\n formats?: Record<string, DateFormatOptions>;\r\n }) {\r\n this.locale = options.locale;\r\n this.formats = options.formats;\r\n }\r\n\r\n public getWeekArray(date: Date) {\r\n return DateUtil.getWeekArray(date, this.locale);\r\n }\r\n\r\n public startOfMonth(date: Date) {\r\n return DateUtil.startOfMonth(date);\r\n }\r\n\r\n public endOfMonth(date: Date) {\r\n return DateUtil.endOfMonth(date);\r\n }\r\n\r\n public addDays(date: Date, amount: number): Date {\r\n return DateUtil.addDays(date, amount);\r\n }\r\n\r\n public addMonths(date: Date, amount: number): Date {\r\n return DateUtil.addMonths(date, amount);\r\n }\r\n\r\n public date(value?: any): Date | null {\r\n return DateUtil.date(value);\r\n }\r\n\r\n public endOfDay(date: Date): Date {\r\n return DateUtil.endOfDay(date);\r\n }\r\n\r\n public endOfYear(date: Date): Date {\r\n return DateUtil.endOfYear(date);\r\n }\r\n\r\n public format(date: Date, formatString: string): string {\r\n return DateUtil.format(date, formatString, this.locale, this.formats);\r\n }\r\n\r\n public getDiff(date: Date, comparing: string | Date, unit?: string): number {\r\n return DateUtil.getDiff(date, comparing, unit);\r\n }\r\n\r\n public getYear(date: Date): number {\r\n return DateUtil.getYear(date);\r\n }\r\n\r\n public getMonth(date: Date): number {\r\n return DateUtil.getMonth(date);\r\n }\r\n\r\n public getDay(date: Date): number {\r\n return DateUtil.getDay(date);\r\n }\r\n\r\n public getNextMonth(date: Date): Date {\r\n return DateUtil.getNextMonth(date);\r\n }\r\n\r\n public getWeekdays(): string[] {\r\n return DateUtil.getWeekdays(this.locale);\r\n }\r\n\r\n public isAfter(date: Date, comparing: Date): boolean {\r\n return DateUtil.isAfter(date, comparing);\r\n }\r\n\r\n public isBefore(date: Date, comparing: Date): boolean {\r\n return DateUtil.isBefore(date, comparing);\r\n }\r\n\r\n public isEqual(date: Date, comparing: Date): boolean {\r\n return DateUtil.isEqual(date, comparing);\r\n }\r\n\r\n public isSameDay(date: Date, comparing: Date): boolean {\r\n return DateUtil.isSameDay(date, comparing);\r\n }\r\n\r\n public isSameMonth(date: Date, comparing: Date): boolean {\r\n return DateUtil.isSameMonth(date, comparing);\r\n }\r\n\r\n public isValid(date: any): boolean {\r\n return DateUtil.isValid(date);\r\n }\r\n\r\n public isWithinRange(date: Date, range: [Date, Date]): boolean {\r\n return DateUtil.isWithinRange(date, range);\r\n }\r\n\r\n public parseISO(date: string): Date {\r\n return DateUtil.parseISO(date);\r\n }\r\n\r\n public setMonth(date: Date, month: number): Date {\r\n return DateUtil.setMonth(date, month);\r\n }\r\n\r\n public setYear(date: Date, year: number): Date {\r\n return DateUtil.setYear(date, year);\r\n }\r\n\r\n public startOfDay(date: Date): Date {\r\n return DateUtil.startOfDay(date);\r\n }\r\n\r\n public startOfYear(date: Date): Date {\r\n return DateUtil.startOfYear(date);\r\n }\r\n\r\n public toISO(date: Date): string {\r\n return DateUtil.toISO(date);\r\n }\r\n\r\n public toJsDate(date: Date): Date {\r\n return date;\r\n }\r\n}\r\n"],"mappings":"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"}
|