@treeui/vue 0.14.0 → 0.16.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/components/TAppShell.cjs.map +1 -1
- package/dist/components/TAppShell.js.map +1 -1
- package/dist/components/TAppShell.vue.d.ts +25 -0
- package/dist/components/TAppShell.vue.d.ts.map +1 -1
- package/dist/components/TAppShell.vue_vue_type_script_setup_true_lang.cjs +1 -1
- package/dist/components/TAppShell.vue_vue_type_script_setup_true_lang.cjs.map +1 -1
- package/dist/components/TAppShell.vue_vue_type_script_setup_true_lang.js +166 -104
- package/dist/components/TAppShell.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/TButton.cjs.map +1 -1
- package/dist/components/TButton.js.map +1 -1
- package/dist/components/TButton.vue.d.ts +6 -0
- package/dist/components/TButton.vue.d.ts.map +1 -1
- package/dist/components/TButton.vue_vue_type_script_setup_true_lang.cjs +1 -1
- package/dist/components/TButton.vue_vue_type_script_setup_true_lang.cjs.map +1 -1
- package/dist/components/TButton.vue_vue_type_script_setup_true_lang.js +10 -2
- package/dist/components/TButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/TCard.cjs.map +1 -1
- package/dist/components/TCard.js.map +1 -1
- package/dist/components/TCard.vue_vue_type_script_setup_true_lang.cjs +1 -1
- package/dist/components/TCard.vue_vue_type_script_setup_true_lang.cjs.map +1 -1
- package/dist/components/TCard.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/TCard.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/TChart.cjs.map +1 -1
- package/dist/components/TChart.js.map +1 -1
- package/dist/components/TChart.vue.d.ts.map +1 -1
- package/dist/components/TChart.vue_vue_type_script_setup_true_lang.cjs +1 -1
- package/dist/components/TChart.vue_vue_type_script_setup_true_lang.cjs.map +1 -1
- package/dist/components/TChart.vue_vue_type_script_setup_true_lang.js +58 -58
- package/dist/components/TChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/TColorSwatch.cjs +2 -0
- package/dist/components/TColorSwatch.cjs.map +1 -0
- package/dist/components/TColorSwatch.js +7 -0
- package/dist/components/TColorSwatch.js.map +1 -0
- package/dist/components/TColorSwatch.vue.d.ts +33 -0
- package/dist/components/TColorSwatch.vue.d.ts.map +1 -0
- package/dist/components/TColorSwatch.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TColorSwatch.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TColorSwatch.vue_vue_type_script_setup_true_lang.js +63 -0
- package/dist/components/TColorSwatch.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TDropdown.cjs.map +1 -1
- package/dist/components/TDropdown.js.map +1 -1
- package/dist/components/TDropdown.vue.d.ts +3 -3
- package/dist/components/TDropdown.vue.d.ts.map +1 -1
- package/dist/components/TDropdown.vue_vue_type_script_setup_true_lang.cjs +1 -1
- package/dist/components/TDropdown.vue_vue_type_script_setup_true_lang.cjs.map +1 -1
- package/dist/components/TDropdown.vue_vue_type_script_setup_true_lang.js +35 -32
- package/dist/components/TDropdown.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/TInput.cjs.map +1 -1
- package/dist/components/TInput.js.map +1 -1
- package/dist/components/TInput.vue.d.ts +4 -1
- package/dist/components/TInput.vue.d.ts.map +1 -1
- package/dist/components/TInput.vue_vue_type_script_setup_true_lang.cjs +1 -1
- package/dist/components/TInput.vue_vue_type_script_setup_true_lang.cjs.map +1 -1
- package/dist/components/TInput.vue_vue_type_script_setup_true_lang.js +2 -0
- package/dist/components/TInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/TKbd.cjs +2 -0
- package/dist/components/TKbd.cjs.map +1 -0
- package/dist/components/TKbd.js +7 -0
- package/dist/components/TKbd.js.map +1 -0
- package/dist/components/TKbd.vue.d.ts +18 -0
- package/dist/components/TKbd.vue.d.ts.map +1 -0
- package/dist/components/TKbd.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TKbd.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TKbd.vue_vue_type_script_setup_true_lang.js +12 -0
- package/dist/components/TKbd.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TMarkdownEditor.cjs.map +1 -1
- package/dist/components/TMarkdownEditor.js.map +1 -1
- package/dist/components/TMarkdownEditor.vue.d.ts +2 -0
- package/dist/components/TMarkdownEditor.vue.d.ts.map +1 -1
- package/dist/components/TMarkdownEditor.vue_vue_type_script_setup_true_lang.cjs +9 -9
- package/dist/components/TMarkdownEditor.vue_vue_type_script_setup_true_lang.cjs.map +1 -1
- package/dist/components/TMarkdownEditor.vue_vue_type_script_setup_true_lang.js +117 -96
- package/dist/components/TMarkdownEditor.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/TPopover.vue.d.ts +1 -1
- package/dist/components/TPopover.vue.d.ts.map +1 -1
- package/dist/components/TSelect.cjs.map +1 -1
- package/dist/components/TSelect.js.map +1 -1
- package/dist/components/TSelect.vue.d.ts +4 -1
- package/dist/components/TSelect.vue.d.ts.map +1 -1
- package/dist/components/TSelect.vue_vue_type_script_setup_true_lang.cjs +1 -1
- package/dist/components/TSelect.vue_vue_type_script_setup_true_lang.cjs.map +1 -1
- package/dist/components/TSelect.vue_vue_type_script_setup_true_lang.js +2 -0
- package/dist/components/TSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/TSpacer.cjs +2 -0
- package/dist/components/TSpacer.cjs.map +1 -0
- package/dist/components/TSpacer.js +7 -0
- package/dist/components/TSpacer.js.map +1 -0
- package/dist/components/TSpacer.vue.d.ts +8 -0
- package/dist/components/TSpacer.vue.d.ts.map +1 -0
- package/dist/components/TSpacer.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TSpacer.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TSpacer.vue_vue_type_script_setup_true_lang.js +16 -0
- package/dist/components/TSpacer.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TSplit.cjs +2 -0
- package/dist/components/TSplit.cjs.map +1 -0
- package/dist/components/TSplit.js +7 -0
- package/dist/components/TSplit.js.map +1 -0
- package/dist/components/TSplit.vue.d.ts +38 -0
- package/dist/components/TSplit.vue.d.ts.map +1 -0
- package/dist/components/TSplit.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TSplit.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TSplit.vue_vue_type_script_setup_true_lang.js +43 -0
- package/dist/components/TSplit.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TStack.cjs.map +1 -1
- package/dist/components/TStack.js.map +1 -1
- package/dist/components/TStack.vue.d.ts +3 -0
- package/dist/components/TStack.vue.d.ts.map +1 -1
- package/dist/components/TStack.vue_vue_type_script_setup_true_lang.cjs +1 -1
- package/dist/components/TStack.vue_vue_type_script_setup_true_lang.cjs.map +1 -1
- package/dist/components/TStack.vue_vue_type_script_setup_true_lang.js +6 -1
- package/dist/components/TStack.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/TStackItem.cjs +2 -0
- package/dist/components/TStackItem.cjs.map +1 -0
- package/dist/components/TStackItem.js +7 -0
- package/dist/components/TStackItem.js.map +1 -0
- package/dist/components/TStackItem.vue.d.ts +38 -0
- package/dist/components/TStackItem.vue.d.ts.map +1 -0
- package/dist/components/TStackItem.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TStackItem.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TStackItem.vue_vue_type_script_setup_true_lang.js +45 -0
- package/dist/components/TStackItem.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TText.cjs +2 -0
- package/dist/components/TText.cjs.map +1 -0
- package/dist/components/TText.js +7 -0
- package/dist/components/TText.js.map +1 -0
- package/dist/components/TText.vue.d.ts +39 -0
- package/dist/components/TText.vue.d.ts.map +1 -0
- package/dist/components/TText.vue_vue_type_script_setup_true_lang.cjs +2 -0
- package/dist/components/TText.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
- package/dist/components/TText.vue_vue_type_script_setup_true_lang.js +32 -0
- package/dist/components/TText.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/TTextarea.cjs.map +1 -1
- package/dist/components/TTextarea.js.map +1 -1
- package/dist/components/TTextarea.vue.d.ts +4 -1
- package/dist/components/TTextarea.vue.d.ts.map +1 -1
- package/dist/components/TTextarea.vue_vue_type_script_setup_true_lang.cjs +1 -1
- package/dist/components/TTextarea.vue_vue_type_script_setup_true_lang.cjs.map +1 -1
- package/dist/components/TTextarea.vue_vue_type_script_setup_true_lang.js +2 -0
- package/dist/components/TTextarea.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/index.d.ts +17 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/composables/useTheme.cjs +2 -0
- package/dist/composables/useTheme.cjs.map +1 -0
- package/dist/composables/useTheme.d.ts +38 -0
- package/dist/composables/useTheme.d.ts.map +1 -0
- package/dist/composables/useTheme.js +54 -0
- package/dist/composables/useTheme.js.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +43 -36
- package/dist/plugin.cjs +1 -1
- package/dist/plugin.cjs.map +1 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +142 -130
- package/dist/plugin.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/types/contracts.cjs +1 -1
- package/dist/types/contracts.cjs.map +1 -1
- package/dist/types/contracts.d.ts +8 -1
- package/dist/types/contracts.d.ts.map +1 -1
- package/dist/types/contracts.js +8 -2
- package/dist/types/contracts.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTheme.cjs","names":[],"sources":["../../src/composables/useTheme.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\n onScopeDispose,\n ref,\n watch,\n type ComputedRef,\n type Ref,\n} from 'vue';\nimport { accentCssVariables } from '@treeui/tokens';\n\nexport type TThemeMode = 'system' | 'light' | 'dark';\nexport type TResolvedTheme = 'light' | 'dark';\n\nconst ACCENT_VARIABLES = [\n '--tree-color-brand-primary',\n '--tree-color-brand-hover',\n '--tree-color-brand-soft',\n '--tree-color-brand-contrast',\n '--tree-color-focus-ring',\n] as const;\n\nexport interface UseThemeOptions {\n /** localStorage key for the persisted preference. `null` disables persistence. */\n storageKey?: string | null;\n /** Mode to start from when nothing is persisted. */\n defaultMode?: TThemeMode;\n /** Accent color (hex) to start from. `null` keeps the theme's own brand color. */\n defaultAccent?: string | null;\n /** Element the `data-tree-theme` attribute and accent variables are written to. */\n target?: HTMLElement | null;\n}\n\nexport interface UseThemeReturn {\n /** Requested mode — `system` follows the OS. Writable. */\n mode: Ref<TThemeMode>;\n /** The concrete theme in effect (`system` resolved against the OS). */\n resolved: ComputedRef<TResolvedTheme>;\n /** Accent color override, or `null` for the theme's own brand. Writable. */\n accent: Ref<string | null>;\n setMode: (value: TThemeMode) => void;\n setAccent: (value: string | null) => void;\n}\n\nconst isBrowser = () => typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst readStored = (key: string | null): { mode?: TThemeMode; accent?: string | null } => {\n if (!key || !isBrowser()) {\n return {};\n }\n\n try {\n const raw = window.localStorage.getItem(key);\n return raw ? (JSON.parse(raw) as { mode?: TThemeMode; accent?: string | null }) : {};\n } catch {\n // Storage can be blocked (private mode, disabled cookies) — preferences are\n // best-effort, so fall back to defaults rather than failing to render.\n return {};\n }\n};\n\n/**\n * Theme-mode + accent controller for an app root.\n *\n * Owns the parts of theming that belong to the design system rather than the\n * app: resolving `system` against the OS, writing `data-tree-theme`, persisting\n * the choice, and — crucially — re-deriving a custom accent whenever the active\n * theme flips, so a mid-tone brand color stays legible in both themes.\n *\n * @example\n * const { mode, resolved, accent } = useTheme({ storageKey: 'my-app-theme' });\n * mode.value = 'dark';\n * accent.value = '#0969da';\n */\nexport const useTheme = (options: UseThemeOptions = {}): UseThemeReturn => {\n const {\n storageKey = 'treeui-theme',\n defaultMode = 'system',\n defaultAccent = null,\n target,\n } = options;\n\n const stored = readStored(storageKey);\n\n const mode = ref<TThemeMode>(stored.mode ?? defaultMode);\n const accent = ref<string | null>(stored.accent ?? defaultAccent);\n const systemDark = ref(false);\n\n let query: MediaQueryList | null = null;\n const onSystemChange = (event: MediaQueryListEvent | MediaQueryList) => {\n systemDark.value = event.matches;\n };\n\n if (isBrowser() && typeof window.matchMedia === 'function') {\n query = window.matchMedia('(prefers-color-scheme: dark)');\n systemDark.value = query.matches;\n query.addEventListener?.('change', onSystemChange);\n }\n\n const resolved = computed<TResolvedTheme>(() => {\n if (mode.value === 'system') {\n return systemDark.value ? 'dark' : 'light';\n }\n return mode.value;\n });\n\n const element = () => target ?? (isBrowser() ? document.documentElement : null);\n\n const applyTheme = () => {\n const el = element();\n if (!el) {\n return;\n }\n\n el.dataset.treeTheme = resolved.value;\n\n // Re-derive on every theme flip: the same accent hex needs a different ramp\n // in light vs dark to stay readable.\n if (accent.value) {\n const variables = accentCssVariables(accent.value, resolved.value);\n for (const [name, value] of Object.entries(variables)) {\n el.style.setProperty(name, value);\n }\n } else {\n for (const name of ACCENT_VARIABLES) {\n el.style.removeProperty(name);\n }\n }\n };\n\n const persist = () => {\n if (!storageKey || !isBrowser()) {\n return;\n }\n\n try {\n window.localStorage.setItem(\n storageKey,\n JSON.stringify({ mode: mode.value, accent: accent.value }),\n );\n } catch {\n // Persisting preferences is best-effort.\n }\n };\n\n watch([resolved, accent], applyTheme, { immediate: true });\n watch([mode, accent], persist);\n\n // Guarded so the composable can also be created once at module scope, which\n // is how apps share a single theme controller across components.\n if (getCurrentScope()) {\n onScopeDispose(() => {\n query?.removeEventListener?.('change', onSystemChange);\n query = null;\n });\n }\n\n return {\n mode,\n resolved,\n accent,\n setMode: (value: TThemeMode) => {\n mode.value = value;\n },\n setAccent: (value: string | null) => {\n accent.value = value;\n },\n };\n};\n"],"mappings":"iDAcA,IAAM,EAAmB,CACvB,6BACA,2BACA,0BACA,8BACA,yBACF,EAwBM,MAAkB,OAAO,OAAW,KAAe,OAAO,SAAa,IAEvE,EAAc,GAAsE,CACxF,GAAI,CAAC,GAAO,CAAC,EAAU,EACrB,MAAO,CAAC,EAGV,GAAI,CACF,IAAM,EAAM,OAAO,aAAa,QAAQ,CAAG,EAC3C,OAAO,EAAO,KAAK,MAAM,CAAG,EAAsD,CAAC,CACrF,MAAQ,CAGN,MAAO,CAAC,CACV,CACF,EAea,GAAY,EAA2B,CAAC,IAAsB,CACzE,GAAM,CACJ,aAAa,eACb,cAAc,SACd,gBAAgB,KAChB,UACE,EAEE,EAAS,EAAW,CAAU,EAE9B,GAAA,EAAA,EAAA,IAAA,CAAuB,EAAO,MAAQ,CAAW,EACjD,GAAA,EAAA,EAAA,IAAA,CAA4B,EAAO,QAAU,CAAa,EAC1D,GAAA,EAAA,EAAA,IAAA,CAAiB,EAAK,EAExB,EAA+B,KAC7B,EAAkB,GAAgD,CACtE,EAAW,MAAQ,EAAM,OAC3B,EAEI,EAAU,GAAK,OAAO,OAAO,YAAe,aAC9C,EAAQ,OAAO,WAAW,8BAA8B,EACxD,EAAW,MAAQ,EAAM,QACzB,EAAM,mBAAmB,SAAU,CAAc,GAGnD,IAAM,GAAA,EAAA,EAAA,SAAA,KACA,EAAK,QAAU,SACV,EAAW,MAAQ,OAAS,QAE9B,EAAK,KACb,EAEK,MAAgB,IAAW,EAAU,EAAI,SAAS,gBAAkB,MAmD1E,OAZA,EAAA,EAAA,MAAA,CAAM,CAAC,EAAU,CAAM,MArCE,CACvB,IAAM,EAAK,EAAQ,EACd,KAQL,GAJA,EAAG,QAAQ,UAAY,EAAS,MAI5B,EAAO,MAAO,CAChB,IAAM,GAAA,EAAA,EAAA,mBAAA,CAA+B,EAAO,MAAO,EAAS,KAAK,EACjE,IAAK,GAAM,CAAC,EAAM,KAAU,OAAO,QAAQ,CAAS,EAClD,EAAG,MAAM,YAAY,EAAM,CAAK,CAEpC,MACE,IAAK,IAAM,KAAQ,EACjB,EAAG,MAAM,eAAe,CAAI,CAGlC,EAiBsC,CAAE,UAAW,EAAK,CAAC,GACzD,EAAA,EAAA,MAAA,CAAM,CAAC,EAAM,CAAM,MAhBG,CAChB,MAAC,GAAc,CAAC,EAAU,GAI9B,GAAI,CACF,OAAO,aAAa,QAClB,EACA,KAAK,UAAU,CAAE,KAAM,EAAK,MAAO,OAAQ,EAAO,KAAM,CAAC,CAC3D,CACF,MAAQ,CAER,CACF,CAG6B,GAI7B,EAAA,EAAA,gBAAA,CAAoB,IAClB,EAAA,EAAA,eAAA,KAAqB,CACnB,GAAO,sBAAsB,SAAU,CAAc,EACrD,EAAQ,IACV,CAAC,EAGI,CACL,OACA,WACA,SACA,QAAU,GAAsB,CAC9B,EAAK,MAAQ,CACf,EACA,UAAY,GAAyB,CACnC,EAAO,MAAQ,CACjB,CACF,CACF"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { ComputedRef, Ref } from 'vue';
|
|
2
|
+
export type TThemeMode = 'system' | 'light' | 'dark';
|
|
3
|
+
export type TResolvedTheme = 'light' | 'dark';
|
|
4
|
+
export interface UseThemeOptions {
|
|
5
|
+
/** localStorage key for the persisted preference. `null` disables persistence. */
|
|
6
|
+
storageKey?: string | null;
|
|
7
|
+
/** Mode to start from when nothing is persisted. */
|
|
8
|
+
defaultMode?: TThemeMode;
|
|
9
|
+
/** Accent color (hex) to start from. `null` keeps the theme's own brand color. */
|
|
10
|
+
defaultAccent?: string | null;
|
|
11
|
+
/** Element the `data-tree-theme` attribute and accent variables are written to. */
|
|
12
|
+
target?: HTMLElement | null;
|
|
13
|
+
}
|
|
14
|
+
export interface UseThemeReturn {
|
|
15
|
+
/** Requested mode — `system` follows the OS. Writable. */
|
|
16
|
+
mode: Ref<TThemeMode>;
|
|
17
|
+
/** The concrete theme in effect (`system` resolved against the OS). */
|
|
18
|
+
resolved: ComputedRef<TResolvedTheme>;
|
|
19
|
+
/** Accent color override, or `null` for the theme's own brand. Writable. */
|
|
20
|
+
accent: Ref<string | null>;
|
|
21
|
+
setMode: (value: TThemeMode) => void;
|
|
22
|
+
setAccent: (value: string | null) => void;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Theme-mode + accent controller for an app root.
|
|
26
|
+
*
|
|
27
|
+
* Owns the parts of theming that belong to the design system rather than the
|
|
28
|
+
* app: resolving `system` against the OS, writing `data-tree-theme`, persisting
|
|
29
|
+
* the choice, and — crucially — re-deriving a custom accent whenever the active
|
|
30
|
+
* theme flips, so a mid-tone brand color stays legible in both themes.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* const { mode, resolved, accent } = useTheme({ storageKey: 'my-app-theme' });
|
|
34
|
+
* mode.value = 'dark';
|
|
35
|
+
* accent.value = '#0969da';
|
|
36
|
+
*/
|
|
37
|
+
export declare const useTheme: (options?: UseThemeOptions) => UseThemeReturn;
|
|
38
|
+
//# sourceMappingURL=useTheme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTheme.d.ts","sourceRoot":"","sources":["../../src/composables/useTheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,WAAW,EAChB,KAAK,GAAG,EACT,MAAM,KAAK,CAAC;AAGb,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AACrD,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,MAAM,CAAC;AAU9C,MAAM,WAAW,eAAe;IAC9B,kFAAkF;IAClF,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,oDAAoD;IACpD,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,kFAAkF;IAClF,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,mFAAmF;IACnF,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,0DAA0D;IAC1D,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IACtB,uEAAuE;IACvE,QAAQ,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC;IACtC,4EAA4E;IAC5E,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACrC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAC3C;AAmBD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,QAAQ,GAAI,UAAS,eAAoB,KAAG,cA8FxD,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { computed as e, getCurrentScope as t, onScopeDispose as n, ref as r, watch as i } from "vue";
|
|
2
|
+
import { accentCssVariables as a } from "@treeui/tokens";
|
|
3
|
+
//#region src/composables/useTheme.ts
|
|
4
|
+
var o = [
|
|
5
|
+
"--tree-color-brand-primary",
|
|
6
|
+
"--tree-color-brand-hover",
|
|
7
|
+
"--tree-color-brand-soft",
|
|
8
|
+
"--tree-color-brand-contrast",
|
|
9
|
+
"--tree-color-focus-ring"
|
|
10
|
+
], s = () => typeof window < "u" && typeof document < "u", c = (e) => {
|
|
11
|
+
if (!e || !s()) return {};
|
|
12
|
+
try {
|
|
13
|
+
let t = window.localStorage.getItem(e);
|
|
14
|
+
return t ? JSON.parse(t) : {};
|
|
15
|
+
} catch {
|
|
16
|
+
return {};
|
|
17
|
+
}
|
|
18
|
+
}, l = (l = {}) => {
|
|
19
|
+
let { storageKey: u = "treeui-theme", defaultMode: d = "system", defaultAccent: f = null, target: p } = l, m = c(u), h = r(m.mode ?? d), g = r(m.accent ?? f), _ = r(!1), v = null, y = (e) => {
|
|
20
|
+
_.value = e.matches;
|
|
21
|
+
};
|
|
22
|
+
s() && typeof window.matchMedia == "function" && (v = window.matchMedia("(prefers-color-scheme: dark)"), _.value = v.matches, v.addEventListener?.("change", y));
|
|
23
|
+
let b = e(() => h.value === "system" ? _.value ? "dark" : "light" : h.value), x = () => p ?? (s() ? document.documentElement : null);
|
|
24
|
+
return i([b, g], () => {
|
|
25
|
+
let e = x();
|
|
26
|
+
if (e) if (e.dataset.treeTheme = b.value, g.value) {
|
|
27
|
+
let t = a(g.value, b.value);
|
|
28
|
+
for (let [n, r] of Object.entries(t)) e.style.setProperty(n, r);
|
|
29
|
+
} else for (let t of o) e.style.removeProperty(t);
|
|
30
|
+
}, { immediate: !0 }), i([h, g], () => {
|
|
31
|
+
if (!(!u || !s())) try {
|
|
32
|
+
window.localStorage.setItem(u, JSON.stringify({
|
|
33
|
+
mode: h.value,
|
|
34
|
+
accent: g.value
|
|
35
|
+
}));
|
|
36
|
+
} catch {}
|
|
37
|
+
}), t() && n(() => {
|
|
38
|
+
v?.removeEventListener?.("change", y), v = null;
|
|
39
|
+
}), {
|
|
40
|
+
mode: h,
|
|
41
|
+
resolved: b,
|
|
42
|
+
accent: g,
|
|
43
|
+
setMode: (e) => {
|
|
44
|
+
h.value = e;
|
|
45
|
+
},
|
|
46
|
+
setAccent: (e) => {
|
|
47
|
+
g.value = e;
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
//#endregion
|
|
52
|
+
export { l as useTheme };
|
|
53
|
+
|
|
54
|
+
//# sourceMappingURL=useTheme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTheme.js","names":[],"sources":["../../src/composables/useTheme.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\n onScopeDispose,\n ref,\n watch,\n type ComputedRef,\n type Ref,\n} from 'vue';\nimport { accentCssVariables } from '@treeui/tokens';\n\nexport type TThemeMode = 'system' | 'light' | 'dark';\nexport type TResolvedTheme = 'light' | 'dark';\n\nconst ACCENT_VARIABLES = [\n '--tree-color-brand-primary',\n '--tree-color-brand-hover',\n '--tree-color-brand-soft',\n '--tree-color-brand-contrast',\n '--tree-color-focus-ring',\n] as const;\n\nexport interface UseThemeOptions {\n /** localStorage key for the persisted preference. `null` disables persistence. */\n storageKey?: string | null;\n /** Mode to start from when nothing is persisted. */\n defaultMode?: TThemeMode;\n /** Accent color (hex) to start from. `null` keeps the theme's own brand color. */\n defaultAccent?: string | null;\n /** Element the `data-tree-theme` attribute and accent variables are written to. */\n target?: HTMLElement | null;\n}\n\nexport interface UseThemeReturn {\n /** Requested mode — `system` follows the OS. Writable. */\n mode: Ref<TThemeMode>;\n /** The concrete theme in effect (`system` resolved against the OS). */\n resolved: ComputedRef<TResolvedTheme>;\n /** Accent color override, or `null` for the theme's own brand. Writable. */\n accent: Ref<string | null>;\n setMode: (value: TThemeMode) => void;\n setAccent: (value: string | null) => void;\n}\n\nconst isBrowser = () => typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst readStored = (key: string | null): { mode?: TThemeMode; accent?: string | null } => {\n if (!key || !isBrowser()) {\n return {};\n }\n\n try {\n const raw = window.localStorage.getItem(key);\n return raw ? (JSON.parse(raw) as { mode?: TThemeMode; accent?: string | null }) : {};\n } catch {\n // Storage can be blocked (private mode, disabled cookies) — preferences are\n // best-effort, so fall back to defaults rather than failing to render.\n return {};\n }\n};\n\n/**\n * Theme-mode + accent controller for an app root.\n *\n * Owns the parts of theming that belong to the design system rather than the\n * app: resolving `system` against the OS, writing `data-tree-theme`, persisting\n * the choice, and — crucially — re-deriving a custom accent whenever the active\n * theme flips, so a mid-tone brand color stays legible in both themes.\n *\n * @example\n * const { mode, resolved, accent } = useTheme({ storageKey: 'my-app-theme' });\n * mode.value = 'dark';\n * accent.value = '#0969da';\n */\nexport const useTheme = (options: UseThemeOptions = {}): UseThemeReturn => {\n const {\n storageKey = 'treeui-theme',\n defaultMode = 'system',\n defaultAccent = null,\n target,\n } = options;\n\n const stored = readStored(storageKey);\n\n const mode = ref<TThemeMode>(stored.mode ?? defaultMode);\n const accent = ref<string | null>(stored.accent ?? defaultAccent);\n const systemDark = ref(false);\n\n let query: MediaQueryList | null = null;\n const onSystemChange = (event: MediaQueryListEvent | MediaQueryList) => {\n systemDark.value = event.matches;\n };\n\n if (isBrowser() && typeof window.matchMedia === 'function') {\n query = window.matchMedia('(prefers-color-scheme: dark)');\n systemDark.value = query.matches;\n query.addEventListener?.('change', onSystemChange);\n }\n\n const resolved = computed<TResolvedTheme>(() => {\n if (mode.value === 'system') {\n return systemDark.value ? 'dark' : 'light';\n }\n return mode.value;\n });\n\n const element = () => target ?? (isBrowser() ? document.documentElement : null);\n\n const applyTheme = () => {\n const el = element();\n if (!el) {\n return;\n }\n\n el.dataset.treeTheme = resolved.value;\n\n // Re-derive on every theme flip: the same accent hex needs a different ramp\n // in light vs dark to stay readable.\n if (accent.value) {\n const variables = accentCssVariables(accent.value, resolved.value);\n for (const [name, value] of Object.entries(variables)) {\n el.style.setProperty(name, value);\n }\n } else {\n for (const name of ACCENT_VARIABLES) {\n el.style.removeProperty(name);\n }\n }\n };\n\n const persist = () => {\n if (!storageKey || !isBrowser()) {\n return;\n }\n\n try {\n window.localStorage.setItem(\n storageKey,\n JSON.stringify({ mode: mode.value, accent: accent.value }),\n );\n } catch {\n // Persisting preferences is best-effort.\n }\n };\n\n watch([resolved, accent], applyTheme, { immediate: true });\n watch([mode, accent], persist);\n\n // Guarded so the composable can also be created once at module scope, which\n // is how apps share a single theme controller across components.\n if (getCurrentScope()) {\n onScopeDispose(() => {\n query?.removeEventListener?.('change', onSystemChange);\n query = null;\n });\n }\n\n return {\n mode,\n resolved,\n accent,\n setMode: (value: TThemeMode) => {\n mode.value = value;\n },\n setAccent: (value: string | null) => {\n accent.value = value;\n },\n };\n};\n"],"mappings":";;;AAcA,IAAM,IAAmB;CACvB;CACA;CACA;CACA;CACA;AACF,GAwBM,UAAkB,OAAO,SAAW,OAAe,OAAO,WAAa,KAEvE,KAAc,MAAsE;CACxF,IAAI,CAAC,KAAO,CAAC,EAAU,GACrB,OAAO,CAAC;CAGV,IAAI;EACF,IAAM,IAAM,OAAO,aAAa,QAAQ,CAAG;EAC3C,OAAO,IAAO,KAAK,MAAM,CAAG,IAAsD,CAAC;CACrF,QAAQ;EAGN,OAAO,CAAC;CACV;AACF,GAea,KAAY,IAA2B,CAAC,MAAsB;CACzE,IAAM,EACJ,gBAAa,gBACb,iBAAc,UACd,mBAAgB,MAChB,cACE,GAEE,IAAS,EAAW,CAAU,GAE9B,IAAO,EAAgB,EAAO,QAAQ,CAAW,GACjD,IAAS,EAAmB,EAAO,UAAU,CAAa,GAC1D,IAAa,EAAI,EAAK,GAExB,IAA+B,MAC7B,KAAkB,MAAgD;EACtE,EAAW,QAAQ,EAAM;CAC3B;CAEA,AAAI,EAAU,KAAK,OAAO,OAAO,cAAe,eAC9C,IAAQ,OAAO,WAAW,8BAA8B,GACxD,EAAW,QAAQ,EAAM,SACzB,EAAM,mBAAmB,UAAU,CAAc;CAGnD,IAAM,IAAW,QACX,EAAK,UAAU,WACV,EAAW,QAAQ,SAAS,UAE9B,EAAK,KACb,GAEK,UAAgB,MAAW,EAAU,IAAI,SAAS,kBAAkB;CAmD1E,OAZA,EAAM,CAAC,GAAU,CAAM,SArCE;EACvB,IAAM,IAAK,EAAQ;EACd,OAQL,IAJA,EAAG,QAAQ,YAAY,EAAS,OAI5B,EAAO,OAAO;GAChB,IAAM,IAAY,EAAmB,EAAO,OAAO,EAAS,KAAK;GACjE,KAAK,IAAM,CAAC,GAAM,MAAU,OAAO,QAAQ,CAAS,GAClD,EAAG,MAAM,YAAY,GAAM,CAAK;EAEpC,OACE,KAAK,IAAM,KAAQ,GACjB,EAAG,MAAM,eAAe,CAAI;CAGlC,GAiBsC,EAAE,WAAW,GAAK,CAAC,GACzD,EAAM,CAAC,GAAM,CAAM,SAhBG;EAChB,OAAC,KAAc,CAAC,EAAU,IAI9B,IAAI;GACF,OAAO,aAAa,QAClB,GACA,KAAK,UAAU;IAAE,MAAM,EAAK;IAAO,QAAQ,EAAO;GAAM,CAAC,CAC3D;EACF,QAAQ,CAER;CACF,CAG6B,GAIzB,EAAgB,KAClB,QAAqB;EAEnB,AADA,GAAO,sBAAsB,UAAU,CAAc,GACrD,IAAQ;CACV,CAAC,GAGI;EACL;EACA;EACA;EACA,UAAU,MAAsB;GAC9B,EAAK,QAAQ;EACf;EACA,YAAY,MAAyB;GACnC,EAAO,QAAQ;EACjB;CACF;AACF"}
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});/* empty css */const e=require("./components/TAccordion.cjs"),t=require("./components/TAccordionItem.cjs"),n=require("./components/TAlert.cjs"),r=require("./components/TBadge.cjs"),ee=require("./components/TBreadcrumb.cjs"),te=require("./components/TBreadcrumbItem.cjs"),i=require("./components/TSpinner.cjs"),a=require("./components/TButton.cjs"),o=require("./components/TCard.cjs"),s=require("./components/TCheckbox.cjs"),c=require("./components/TCombobox.cjs"),l=require("./components/TModal.cjs"),u=require("./components/TConfirmDialog.cjs"),d=require("./components/TContainer.cjs"),f=require("./components/TContextMenu.cjs"),p=require("./components/TDatePicker.cjs"),m=require("./components/TDateTimePicker.cjs"),h=require("./components/TDrawer.cjs"),g=require("./components/TDropdown.cjs"),_=require("./components/TEmptyState.cjs"),v=require("./components/TProgress.cjs"),y=require("./components/TFileUpload.cjs"),b=require("./components/TMultiSelect.cjs"),x=require("./components/TGrid.cjs"),S=require("./components/TNavbar.cjs"),C=require("./components/TLink.cjs"),w=require("./components/TNavMenu.cjs"),T=require("./components/TRadio.cjs"),E=require("./components/TRadioGroup.cjs"),D=require("./components/TSelect.cjs"),O=require("./components/TSidebar.cjs"),k=require("./components/TAppShell.cjs"),A=require("./components/TInput.cjs"),j=require("./components/TNumberInput.cjs"),M=require("./components/TSelectableList.cjs"),N=require("./components/
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});/* empty css */const e=require("./components/TAccordion.cjs"),t=require("./components/TAccordionItem.cjs"),n=require("./components/TAlert.cjs"),r=require("./components/TBadge.cjs"),ee=require("./components/TBreadcrumb.cjs"),te=require("./components/TBreadcrumbItem.cjs"),i=require("./components/TSpinner.cjs"),a=require("./components/TButton.cjs"),o=require("./components/TCard.cjs"),s=require("./components/TCheckbox.cjs"),c=require("./components/TCombobox.cjs"),l=require("./components/TModal.cjs"),u=require("./components/TConfirmDialog.cjs"),d=require("./components/TContainer.cjs"),f=require("./components/TContextMenu.cjs"),p=require("./components/TDatePicker.cjs"),m=require("./components/TDateTimePicker.cjs"),h=require("./components/TDrawer.cjs"),g=require("./components/TDropdown.cjs"),_=require("./components/TEmptyState.cjs"),v=require("./components/TProgress.cjs"),y=require("./components/TFileUpload.cjs"),b=require("./components/TMultiSelect.cjs"),x=require("./components/TGrid.cjs"),S=require("./components/TNavbar.cjs"),C=require("./components/TLink.cjs"),w=require("./components/TNavMenu.cjs"),T=require("./components/TRadio.cjs"),E=require("./components/TRadioGroup.cjs"),D=require("./components/TSelect.cjs"),O=require("./components/TSidebar.cjs"),k=require("./components/TAppShell.cjs"),A=require("./components/TInput.cjs"),j=require("./components/TNumberInput.cjs"),M=require("./components/TSelectableList.cjs"),N=require("./components/TColorSwatch.cjs"),P=require("./components/TStack.cjs"),F=require("./components/TStackItem.cjs"),I=require("./components/TSplit.cjs"),L=require("./components/TSpacer.cjs"),R=require("./components/TKbd.cjs"),z=require("./components/TText.cjs"),B=require("./components/TTreeView.cjs"),V=require("./components/TSteps.cjs"),H=require("./components/TToggleGroup.cjs"),ne=require("./components/TTextarea.cjs"),U=require("./components/TSkeleton.cjs"),W=require("./components/TStat.cjs"),G=require("./components/TSwitch.cjs"),K=require("./components/TTooltip.cjs"),q=require("./components/TFormField.cjs"),J=require("./components/TPage.cjs"),Y=require("./components/TPageHeader.cjs"),X=require("./components/TPagination.cjs"),Z=require("./components/TPopover.cjs"),re=require("./components/TTabs.cjs"),ie=require("./components/TTabList.cjs"),ae=require("./components/TTab.cjs"),oe=require("./components/TTabPanel.cjs"),se=require("./components/TToast.cjs"),ce=require("./composables/useToast.cjs"),le=require("./components/TToastProvider.cjs"),ue=require("./components/TAvatar.cjs"),de=require("./components/TDivider.cjs"),fe=require("./components/TTable.cjs"),pe=require("./components/TTag.cjs"),me=require("./components/TTimeline.cjs"),he=require("./components/TPricingCard.cjs"),ge=require("./components/TPricing.cjs"),_e=require("./components/TMarkdownEditor.cjs"),ve=require("./components/TChart.cjs"),ye=require("./components/TSparkline.cjs"),be=require("./components/TDonutChart.cjs"),xe=require("./components/TIcon.cjs"),Q=require("./plugin.cjs"),$=require("./types/contracts.cjs"),Se=require("./composables/useTheme.cjs");exports.TAccordion=e.default,exports.TAccordionItem=t.default,exports.TAlert=n.default,exports.TAppBar=S.default,exports.TAppShell=k.default,exports.TAvatar=ue.default,exports.TBadge=r.default,exports.TBreadcrumb=ee.default,exports.TBreadcrumbItem=te.default,exports.TButton=a.default,exports.TCard=o.default,exports.TChart=ve.default,exports.TCheckbox=s.default,exports.TColorSwatch=N.default,exports.TCombobox=c.default,exports.TConfirmDialog=u.default,exports.TContainer=d.default,exports.TContextMenu=f.default,exports.TDatePicker=p.default,exports.TDateTimePicker=m.default,exports.TDivider=de.default,exports.TDonutChart=be.default,exports.TDrawer=h.default,exports.TDropdown=g.default,exports.TEmptyState=_.default,exports.TFileUpload=y.default,exports.TFormField=q.default,exports.TGrid=x.default,exports.TIcon=xe.default,exports.TInput=A.default,exports.TKbd=R.default,exports.TLink=C.default,exports.TMarkdownEditor=_e.default,exports.TModal=l.default,exports.TMultiSelect=b.default,exports.TNavMenu=w.default,exports.TNavbar=S.default,exports.TNumberInput=j.default,exports.TPage=J.default,exports.TPageHeader=Y.default,exports.TPagination=X.default,exports.TPopover=Z.default,exports.TPricing=ge.default,exports.TPricingCard=he.default,exports.TProgress=v.default,exports.TRadio=T.default,exports.TRadioGroup=E.default,exports.TSelect=D.default,exports.TSelectableList=M.default,exports.TSidebar=O.default,exports.TSkeleton=U.default,exports.TSpacer=L.default,exports.TSparkline=ye.default,exports.TSpinner=i.default,exports.TSplit=I.default,exports.TStack=P.default,exports.TStackItem=F.default,exports.TStat=W.default,exports.TStepper=V.default,exports.TSteps=V.default,exports.TSwitch=G.default,exports.TTab=ae.default,exports.TTabList=ie.default,exports.TTabPanel=oe.default,exports.TTable=fe.default,exports.TTabs=re.default,exports.TTag=pe.default,exports.TText=z.default,exports.TTextarea=ne.default,exports.TTimeline=me.default,exports.TToast=se.default,exports.TToastProvider=le.default,exports.TToggleGroup=H.default,exports.TTooltip=K.default,exports.TTreeView=B.default,exports.TreeUIPlugin=Q.TreeUIPlugin,exports.default=Q.TreeUIPlugin,exports.install=Q.install,exports.treeCardVariants=$.treeCardVariants,exports.treeDrawerSides=$.treeDrawerSides,exports.treeFieldWidths=$.treeFieldWidths,exports.treeSizes=$.treeSizes,exports.treeTooltipSides=$.treeTooltipSides,exports.treeVariants=$.treeVariants,exports.useTheme=Se.useTheme,exports.useToast=ce.useToast;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export * from './components';
|
|
2
2
|
export * from './plugin';
|
|
3
3
|
export * from './types/contracts';
|
|
4
|
+
export { useTheme } from './composables/useTheme';
|
|
5
|
+
export type { TThemeMode, TResolvedTheme, UseThemeOptions, UseThemeReturn, } from './composables/useTheme';
|
|
4
6
|
export { useToast } from './composables/useToast';
|
|
5
7
|
export type { ToastVariant, ToastPosition, ToastOptions, ToastItem } from './composables/useToast';
|
|
6
8
|
export { TreeUIPlugin as default } from './plugin';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAC;AAE5B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnG,OAAO,EAAE,YAAY,IAAI,OAAO,EAAE,MAAM,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAC;AAE5B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,YAAY,EACV,UAAU,EACV,cAAc,EACd,eAAe,EACf,cAAc,GACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnG,OAAO,EAAE,YAAY,IAAI,OAAO,EAAE,MAAM,UAAU,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -34,39 +34,46 @@ import k from "./components/TAppShell.js";
|
|
|
34
34
|
import A from "./components/TInput.js";
|
|
35
35
|
import j from "./components/TNumberInput.js";
|
|
36
36
|
import M from "./components/TSelectableList.js";
|
|
37
|
-
import N from "./components/
|
|
38
|
-
import P from "./components/
|
|
39
|
-
import F from "./components/
|
|
40
|
-
import I from "./components/
|
|
41
|
-
import L from "./components/
|
|
42
|
-
import R from "./components/
|
|
43
|
-
import z from "./components/
|
|
44
|
-
import B from "./components/
|
|
45
|
-
import V from "./components/
|
|
46
|
-
import H from "./components/
|
|
47
|
-
import U from "./components/
|
|
48
|
-
import W from "./components/
|
|
49
|
-
import G from "./components/
|
|
50
|
-
import K from "./components/
|
|
51
|
-
import q from "./components/
|
|
52
|
-
import J from "./components/
|
|
53
|
-
import Y from "./components/
|
|
54
|
-
import X from "./components/
|
|
55
|
-
import Z from "./components/
|
|
56
|
-
import
|
|
57
|
-
import ne from "./components/
|
|
58
|
-
import re from "./components/
|
|
59
|
-
import ie from "./components/
|
|
60
|
-
import ae from "./components/
|
|
61
|
-
import oe from "./components/
|
|
62
|
-
import se from "./
|
|
63
|
-
import ce from "./components/
|
|
64
|
-
import le from "./components/
|
|
65
|
-
import ue from "./components/
|
|
66
|
-
import de from "./components/
|
|
67
|
-
import fe from "./components/
|
|
68
|
-
import pe from "./components/
|
|
69
|
-
import me from "./components/
|
|
70
|
-
import
|
|
71
|
-
import
|
|
72
|
-
|
|
37
|
+
import N from "./components/TColorSwatch.js";
|
|
38
|
+
import P from "./components/TStack.js";
|
|
39
|
+
import F from "./components/TStackItem.js";
|
|
40
|
+
import I from "./components/TSplit.js";
|
|
41
|
+
import L from "./components/TSpacer.js";
|
|
42
|
+
import R from "./components/TKbd.js";
|
|
43
|
+
import z from "./components/TText.js";
|
|
44
|
+
import B from "./components/TTreeView.js";
|
|
45
|
+
import V from "./components/TSteps.js";
|
|
46
|
+
import H from "./components/TToggleGroup.js";
|
|
47
|
+
import U from "./components/TTextarea.js";
|
|
48
|
+
import W from "./components/TSkeleton.js";
|
|
49
|
+
import G from "./components/TStat.js";
|
|
50
|
+
import K from "./components/TSwitch.js";
|
|
51
|
+
import q from "./components/TTooltip.js";
|
|
52
|
+
import J from "./components/TFormField.js";
|
|
53
|
+
import Y from "./components/TPage.js";
|
|
54
|
+
import X from "./components/TPageHeader.js";
|
|
55
|
+
import Z from "./components/TPagination.js";
|
|
56
|
+
import Q from "./components/TPopover.js";
|
|
57
|
+
import ne from "./components/TTabs.js";
|
|
58
|
+
import re from "./components/TTabList.js";
|
|
59
|
+
import ie from "./components/TTab.js";
|
|
60
|
+
import ae from "./components/TTabPanel.js";
|
|
61
|
+
import oe from "./components/TToast.js";
|
|
62
|
+
import { useToast as se } from "./composables/useToast.js";
|
|
63
|
+
import ce from "./components/TToastProvider.js";
|
|
64
|
+
import le from "./components/TAvatar.js";
|
|
65
|
+
import ue from "./components/TDivider.js";
|
|
66
|
+
import de from "./components/TTable.js";
|
|
67
|
+
import fe from "./components/TTag.js";
|
|
68
|
+
import pe from "./components/TTimeline.js";
|
|
69
|
+
import me from "./components/TPricingCard.js";
|
|
70
|
+
import he from "./components/TPricing.js";
|
|
71
|
+
import ge from "./components/TMarkdownEditor.js";
|
|
72
|
+
import _e from "./components/TChart.js";
|
|
73
|
+
import ve from "./components/TSparkline.js";
|
|
74
|
+
import ye from "./components/TDonutChart.js";
|
|
75
|
+
import be from "./components/TIcon.js";
|
|
76
|
+
import { TreeUIPlugin as $, install as xe } from "./plugin.js";
|
|
77
|
+
import { treeCardVariants as Se, treeDrawerSides as Ce, treeFieldWidths as we, treeSizes as Te, treeTooltipSides as Ee, treeVariants as De } from "./types/contracts.js";
|
|
78
|
+
import { useTheme as Oe } from "./composables/useTheme.js";
|
|
79
|
+
export { ee as TAccordion, e as TAccordionItem, t as TAlert, S as TAppBar, k as TAppShell, le as TAvatar, n as TBadge, te as TBreadcrumb, r as TBreadcrumbItem, a as TButton, o as TCard, _e as TChart, s as TCheckbox, N as TColorSwatch, c as TCombobox, u as TConfirmDialog, d as TContainer, f as TContextMenu, p as TDatePicker, m as TDateTimePicker, ue as TDivider, ye as TDonutChart, h as TDrawer, g as TDropdown, _ as TEmptyState, y as TFileUpload, J as TFormField, x as TGrid, be as TIcon, A as TInput, R as TKbd, C as TLink, ge as TMarkdownEditor, l as TModal, b as TMultiSelect, w as TNavMenu, S as TNavbar, j as TNumberInput, Y as TPage, X as TPageHeader, Z as TPagination, Q as TPopover, he as TPricing, me as TPricingCard, v as TProgress, T as TRadio, E as TRadioGroup, D as TSelect, M as TSelectableList, O as TSidebar, W as TSkeleton, L as TSpacer, ve as TSparkline, i as TSpinner, I as TSplit, P as TStack, F as TStackItem, G as TStat, V as TStepper, V as TSteps, K as TSwitch, ie as TTab, re as TTabList, ae as TTabPanel, de as TTable, ne as TTabs, fe as TTag, z as TText, U as TTextarea, pe as TTimeline, oe as TToast, ce as TToastProvider, H as TToggleGroup, q as TTooltip, B as TTreeView, $ as TreeUIPlugin, $ as default, xe as install, Se as treeCardVariants, Ce as treeDrawerSides, we as treeFieldWidths, Te as treeSizes, Ee as treeTooltipSides, De as treeVariants, Oe as useTheme, se as useToast };
|
package/dist/plugin.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require("./components/TAccordion.cjs"),t=require("./components/TAccordionItem.cjs"),n=require("./components/TAlert.cjs"),r=require("./components/TBadge.cjs"),i=require("./components/TBreadcrumb.cjs"),
|
|
1
|
+
const e=require("./components/TAccordion.cjs"),t=require("./components/TAccordionItem.cjs"),n=require("./components/TAlert.cjs"),r=require("./components/TBadge.cjs"),i=require("./components/TBreadcrumb.cjs"),ee=require("./components/TBreadcrumbItem.cjs"),te=require("./components/TSpinner.cjs"),a=require("./components/TButton.cjs"),o=require("./components/TCard.cjs"),s=require("./components/TCheckbox.cjs"),c=require("./components/TCombobox.cjs"),l=require("./components/TModal.cjs"),u=require("./components/TConfirmDialog.cjs"),d=require("./components/TContainer.cjs"),f=require("./components/TContextMenu.cjs"),p=require("./components/TDatePicker.cjs"),m=require("./components/TDateTimePicker.cjs"),h=require("./components/TDrawer.cjs"),g=require("./components/TDropdown.cjs"),_=require("./components/TEmptyState.cjs"),v=require("./components/TProgress.cjs"),y=require("./components/TFileUpload.cjs"),b=require("./components/TMultiSelect.cjs"),x=require("./components/TGrid.cjs"),S=require("./components/TNavbar.cjs"),C=require("./components/TLink.cjs"),w=require("./components/TNavMenu.cjs"),T=require("./components/TRadio.cjs"),E=require("./components/TRadioGroup.cjs"),D=require("./components/TSelect.cjs"),O=require("./components/TSidebar.cjs"),k=require("./components/TAppShell.cjs"),A=require("./components/TInput.cjs"),j=require("./components/TNumberInput.cjs"),M=require("./components/TSelectableList.cjs"),N=require("./components/TColorSwatch.cjs"),P=require("./components/TStack.cjs"),F=require("./components/TStackItem.cjs"),I=require("./components/TSplit.cjs"),L=require("./components/TSpacer.cjs"),R=require("./components/TKbd.cjs"),z=require("./components/TText.cjs"),B=require("./components/TTreeView.cjs"),V=require("./components/TSteps.cjs"),H=require("./components/TToggleGroup.cjs"),U=require("./components/TTextarea.cjs"),W=require("./components/TSkeleton.cjs"),G=require("./components/TStat.cjs"),K=require("./components/TSwitch.cjs"),q=require("./components/TTooltip.cjs"),J=require("./components/TFormField.cjs"),Y=require("./components/TPage.cjs"),X=require("./components/TPageHeader.cjs"),Z=require("./components/TPagination.cjs"),Q=require("./components/TPopover.cjs"),ne=require("./components/TTabs.cjs"),re=require("./components/TTabList.cjs"),ie=require("./components/TTab.cjs"),ae=require("./components/TTabPanel.cjs"),oe=require("./components/TToast.cjs"),se=require("./components/TToastProvider.cjs"),ce=require("./components/TAvatar.cjs"),le=require("./components/TDivider.cjs"),ue=require("./components/TTable.cjs"),de=require("./components/TTag.cjs"),fe=require("./components/TTimeline.cjs"),pe=require("./components/TPricingCard.cjs"),me=require("./components/TPricing.cjs"),he=require("./components/TMarkdownEditor.cjs"),ge=require("./components/TChart.cjs"),_e=require("./components/TSparkline.cjs"),ve=require("./components/TDonutChart.cjs"),ye=require("./components/TIcon.cjs");var be={TAccordion:e.default,TAccordionItem:t.default,TAlert:n.default,TBadge:r.default,TBreadcrumb:i.default,TBreadcrumbItem:ee.default,TButton:a.default,TCard:o.default,TCheckbox:s.default,TCombobox:c.default,TConfirmDialog:u.default,TContainer:d.default,TContextMenu:f.default,TDatePicker:p.default,TDateTimePicker:m.default,TDrawer:h.default,TDropdown:g.default,TEmptyState:_.default,TFileUpload:y.default,TFormField:J.default,TGrid:x.default,TAppBar:S.default,TInput:A.default,TLink:C.default,TNavMenu:w.default,TNavbar:S.default,TMultiSelect:b.default,TModal:l.default,TNumberInput:j.default,TPage:Y.default,TPageHeader:X.default,TRadio:T.default,TRadioGroup:E.default,TSelectableList:M.default,TSelect:D.default,TSidebar:O.default,TAppShell:k.default,TSkeleton:W.default,TSpinner:te.default,TColorSwatch:N.default,TStack:P.default,TStackItem:F.default,TSplit:I.default,TSpacer:L.default,TKbd:R.default,TText:z.default,TStat:G.default,TStepper:V.default,TSteps:V.default,TSwitch:K.default,TTextarea:U.default,TTabs:ne.default,TTabList:re.default,TTab:ie.default,TTabPanel:ae.default,TToggleGroup:H.default,TToast:oe.default,TToastProvider:se.default,TPagination:Z.default,TPopover:Q.default,TProgress:v.default,TTooltip:q.default,TAvatar:ce.default,TDivider:le.default,TTable:ue.default,TTag:de.default,TTreeView:B.default,TTimeline:fe.default,TPricing:me.default,TPricingCard:pe.default,TMarkdownEditor:he.default,TChart:ge.default,TSparkline:_e.default,TDonutChart:ve.default,TIcon:ye.default},$={install(e){Object.entries(be).forEach(([t,n])=>{e.component(t,n)})}},xe=$.install;exports.TreeUIPlugin=$,exports.install=xe;
|
|
2
2
|
//# sourceMappingURL=plugin.cjs.map
|
package/dist/plugin.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.cjs","names":[],"sources":["../src/plugin.ts"],"sourcesContent":["import type { App, Plugin } from 'vue';\nimport {\n TAccordion,\n TAccordionItem,\n TAlert,\n TBadge,\n TBreadcrumb,\n TBreadcrumbItem,\n TButton,\n TCard,\n TCheckbox,\n TCombobox,\n TConfirmDialog,\n TContainer,\n TContextMenu,\n TDatePicker,\n TDateTimePicker,\n TDrawer,\n TDropdown,\n TEmptyState,\n TFileUpload,\n TFormField,\n TGrid,\n TAppBar,\n TInput,\n TLink,\n TNavMenu,\n TNavbar,\n TMultiSelect,\n TModal,\n TNumberInput,\n TPage,\n TPageHeader,\n TPagination,\n TPopover,\n TProgress,\n TRadio,\n TRadioGroup,\n TSelectableList,\n TSelect,\n TSidebar,\n TAppShell,\n TSkeleton,\n TSpinner,\n TStack,\n TStat,\n TStepper,\n TSteps,\n TSwitch,\n TTextarea,\n TTabs,\n TTabList,\n TTab,\n TTabPanel,\n TToggleGroup,\n TToast,\n TToastProvider,\n TTooltip,\n TAvatar,\n TDivider,\n TTable,\n TTag,\n TTreeView,\n TTimeline,\n TPricing,\n TPricingCard,\n TMarkdownEditor,\n TChart,\n TSparkline,\n TDonutChart,\n TIcon,\n} from './components';\n\nconst components = {\n TAccordion,\n TAccordionItem,\n TAlert,\n TBadge,\n TBreadcrumb,\n TBreadcrumbItem,\n TButton,\n TCard,\n TCheckbox,\n TCombobox,\n TConfirmDialog,\n TContainer,\n TContextMenu,\n TDatePicker,\n TDateTimePicker,\n TDrawer,\n TDropdown,\n TEmptyState,\n TFileUpload,\n TFormField,\n TGrid,\n TAppBar,\n TInput,\n TLink,\n TNavMenu,\n TNavbar,\n TMultiSelect,\n TModal,\n TNumberInput,\n TPage,\n TPageHeader,\n TRadio,\n TRadioGroup,\n TSelectableList,\n TSelect,\n TSidebar,\n TAppShell,\n TSkeleton,\n TSpinner,\n TStack,\n TStat,\n TStepper,\n TSteps,\n TSwitch,\n TTextarea,\n TTabs,\n TTabList,\n TTab,\n TTabPanel,\n TToggleGroup,\n TToast,\n TToastProvider,\n TPagination,\n TPopover,\n TProgress,\n TTooltip,\n TAvatar,\n TDivider,\n TTable,\n TTag,\n TTreeView,\n TTimeline,\n TPricing,\n TPricingCard,\n TMarkdownEditor,\n TChart,\n TSparkline,\n TDonutChart,\n TIcon,\n};\n\nexport const TreeUIPlugin: Plugin = {\n install(app: App) {\n Object.entries(components).forEach(([name, component]) => {\n app.component(name, component);\n });\n },\n};\n\nexport const install = TreeUIPlugin.install;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugin.cjs","names":[],"sources":["../src/plugin.ts"],"sourcesContent":["import type { App, Plugin } from 'vue';\nimport {\n TAccordion,\n TAccordionItem,\n TAlert,\n TBadge,\n TBreadcrumb,\n TBreadcrumbItem,\n TButton,\n TCard,\n TCheckbox,\n TCombobox,\n TConfirmDialog,\n TContainer,\n TContextMenu,\n TDatePicker,\n TDateTimePicker,\n TDrawer,\n TDropdown,\n TEmptyState,\n TFileUpload,\n TFormField,\n TGrid,\n TAppBar,\n TInput,\n TLink,\n TNavMenu,\n TNavbar,\n TMultiSelect,\n TModal,\n TNumberInput,\n TPage,\n TPageHeader,\n TPagination,\n TPopover,\n TProgress,\n TRadio,\n TRadioGroup,\n TSelectableList,\n TSelect,\n TSidebar,\n TAppShell,\n TSkeleton,\n TSpinner,\n TColorSwatch,\n TStack,\n TStackItem,\n TSplit,\n TSpacer,\n TKbd,\n TText,\n TStat,\n TStepper,\n TSteps,\n TSwitch,\n TTextarea,\n TTabs,\n TTabList,\n TTab,\n TTabPanel,\n TToggleGroup,\n TToast,\n TToastProvider,\n TTooltip,\n TAvatar,\n TDivider,\n TTable,\n TTag,\n TTreeView,\n TTimeline,\n TPricing,\n TPricingCard,\n TMarkdownEditor,\n TChart,\n TSparkline,\n TDonutChart,\n TIcon,\n} from './components';\n\nconst components = {\n TAccordion,\n TAccordionItem,\n TAlert,\n TBadge,\n TBreadcrumb,\n TBreadcrumbItem,\n TButton,\n TCard,\n TCheckbox,\n TCombobox,\n TConfirmDialog,\n TContainer,\n TContextMenu,\n TDatePicker,\n TDateTimePicker,\n TDrawer,\n TDropdown,\n TEmptyState,\n TFileUpload,\n TFormField,\n TGrid,\n TAppBar,\n TInput,\n TLink,\n TNavMenu,\n TNavbar,\n TMultiSelect,\n TModal,\n TNumberInput,\n TPage,\n TPageHeader,\n TRadio,\n TRadioGroup,\n TSelectableList,\n TSelect,\n TSidebar,\n TAppShell,\n TSkeleton,\n TSpinner,\n TColorSwatch,\n TStack,\n TStackItem,\n TSplit,\n TSpacer,\n TKbd,\n TText,\n TStat,\n TStepper,\n TSteps,\n TSwitch,\n TTextarea,\n TTabs,\n TTabList,\n TTab,\n TTabPanel,\n TToggleGroup,\n TToast,\n TToastProvider,\n TPagination,\n TPopover,\n TProgress,\n TTooltip,\n TAvatar,\n TDivider,\n TTable,\n TTag,\n TTreeView,\n TTimeline,\n TPricing,\n TPricingCard,\n TMarkdownEditor,\n TChart,\n TSparkline,\n TDonutChart,\n TIcon,\n};\n\nexport const TreeUIPlugin: Plugin = {\n install(app: App) {\n Object.entries(components).forEach(([name, component]) => {\n app.component(name, component);\n });\n },\n};\n\nexport const install = TreeUIPlugin.install;\n"],"mappings":"02FA+EA,IAAM,GAAa,CACjB,WAAA,EAAA,QACA,eAAA,EAAA,QACA,OAAA,EAAA,QACA,OAAA,EAAA,QACA,YAAA,EAAA,QACA,gBAAA,GAAA,QACA,QAAA,EAAA,QACA,MAAA,EAAA,QACA,UAAA,EAAA,QACA,UAAA,EAAA,QACA,eAAA,EAAA,QACA,WAAA,EAAA,QACA,aAAA,EAAA,QACA,YAAA,EAAA,QACA,gBAAA,EAAA,QACA,QAAA,EAAA,QACA,UAAA,EAAA,QACA,YAAA,EAAA,QACA,YAAA,EAAA,QACA,WAAA,EAAA,QACA,MAAA,EAAA,QACA,QAAA,EAAA,QACA,OAAA,EAAA,QACA,MAAA,EAAA,QACA,SAAA,EAAA,QACA,QAAA,EAAA,QACA,aAAA,EAAA,QACA,OAAA,EAAA,QACA,aAAA,EAAA,QACA,MAAA,EAAA,QACA,YAAA,EAAA,QACA,OAAA,EAAA,QACA,YAAA,EAAA,QACA,gBAAA,EAAA,QACA,QAAA,EAAA,QACA,SAAA,EAAA,QACA,UAAA,EAAA,QACA,UAAA,EAAA,QACA,SAAA,GAAA,QACA,aAAA,EAAA,QACA,OAAA,EAAA,QACA,WAAA,EAAA,QACA,OAAA,EAAA,QACA,QAAA,EAAA,QACA,KAAA,EAAA,QACA,MAAA,EAAA,QACA,MAAA,EAAA,QACA,SAAA,EAAA,QACA,OAAA,EAAA,QACA,QAAA,EAAA,QACA,UAAA,EAAA,QACA,MAAA,GAAA,QACA,SAAA,GAAA,QACA,KAAA,GAAA,QACA,UAAA,GAAA,QACA,aAAA,EAAA,QACA,OAAA,GAAA,QACA,eAAA,GAAA,QACA,YAAA,EAAA,QACA,SAAA,EAAA,QACA,UAAA,EAAA,QACA,SAAA,EAAA,QACA,QAAA,GAAA,QACA,SAAA,GAAA,QACA,OAAA,GAAA,QACA,KAAA,GAAA,QACA,UAAA,EAAA,QACA,UAAA,GAAA,QACA,SAAA,GAAA,QACA,aAAA,GAAA,QACA,gBAAA,GAAA,QACA,OAAA,GAAA,QACA,WAAA,GAAA,QACA,YAAA,GAAA,QACA,MAAA,GAAA,OACF,EAEa,EAAuB,CAClC,QAAQ,EAAU,CAChB,OAAO,QAAQ,EAAU,CAAC,CAAC,SAAS,CAAC,EAAM,KAAe,CACxD,EAAI,UAAU,EAAM,CAAS,CAC/B,CAAC,CACH,CACF,EAEa,GAAU,EAAa"}
|
package/dist/plugin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AA6JvC,eAAO,MAAM,YAAY,EAAE,MAM1B,CAAC;AAEF,eAAO,MAAM,OAAO,sCAAuB,CAAC"}
|