@surgeui/ds-vue 2.0.0 → 2.2.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.
Files changed (66) hide show
  1. package/dist/components/atoms/Avatar.vue.d.ts +1 -0
  2. package/dist/components/atoms/Avatar.vue.d.ts.map +1 -1
  3. package/dist/components/atoms/Button.vue.d.ts +1 -0
  4. package/dist/components/atoms/Button.vue.d.ts.map +1 -1
  5. package/dist/components/atoms/FileUpload.vue.d.ts +2 -0
  6. package/dist/components/atoms/FileUpload.vue.d.ts.map +1 -1
  7. package/dist/components/atoms/FormField.vue.d.ts +1 -0
  8. package/dist/components/atoms/FormField.vue.d.ts.map +1 -1
  9. package/dist/components/atoms/Heading.vue.d.ts.map +1 -1
  10. package/dist/components/atoms/Image.vue.d.ts +3 -0
  11. package/dist/components/atoms/Image.vue.d.ts.map +1 -1
  12. package/dist/components/atoms/Input.vue.d.ts +2 -2
  13. package/dist/components/atoms/Input.vue.d.ts.map +1 -1
  14. package/dist/components/atoms/Slider.vue.d.ts +2 -2
  15. package/dist/components/atoms/Switch.vue.d.ts +0 -1
  16. package/dist/components/atoms/Switch.vue.d.ts.map +1 -1
  17. package/dist/components/atoms/Textarea.vue.d.ts +2 -2
  18. package/dist/components/atoms/Toggle.vue.d.ts +19 -0
  19. package/dist/components/atoms/Toggle.vue.d.ts.map +1 -0
  20. package/dist/components/molecules/AccordionItem.vue.d.ts.map +1 -1
  21. package/dist/components/molecules/CheckboxGroupField.vue.d.ts.map +1 -1
  22. package/dist/components/molecules/Dropdown.vue.d.ts +3 -2
  23. package/dist/components/molecules/Dropdown.vue.d.ts.map +1 -1
  24. package/dist/components/molecules/FileUploadField.vue.d.ts +2 -0
  25. package/dist/components/molecules/FileUploadField.vue.d.ts.map +1 -1
  26. package/dist/components/molecules/FloatButton.vue.d.ts +8 -2
  27. package/dist/components/molecules/FloatButton.vue.d.ts.map +1 -1
  28. package/dist/components/molecules/InputField.vue.d.ts +12 -8
  29. package/dist/components/molecules/InputField.vue.d.ts.map +1 -1
  30. package/dist/components/molecules/Password.vue.d.ts +2 -2
  31. package/dist/components/molecules/PasswordField.vue.d.ts +2 -2
  32. package/dist/components/molecules/RadioGroupField.vue.d.ts.map +1 -1
  33. package/dist/components/molecules/SelectBoxField.vue.d.ts.map +1 -1
  34. package/dist/components/molecules/SliderField.vue.d.ts +2 -2
  35. package/dist/components/molecules/SwitchField.vue.d.ts.map +1 -1
  36. package/dist/components/molecules/TextareaField.vue.d.ts +5 -5
  37. package/dist/components/molecules/TextareaField.vue.d.ts.map +1 -1
  38. package/dist/components/molecules/ToggleGroup.vue.d.ts +24 -0
  39. package/dist/components/molecules/ToggleGroup.vue.d.ts.map +1 -0
  40. package/dist/components/organisms/Accordion.vue.d.ts.map +1 -1
  41. package/dist/components/organisms/Dialog.vue.d.ts.map +1 -1
  42. package/dist/components/organisms/Tabs.vue.d.ts.map +1 -1
  43. package/dist/composables/index.d.ts +4 -1
  44. package/dist/composables/index.d.ts.map +1 -1
  45. package/dist/composables/useBreakpoint.d.ts +83 -0
  46. package/dist/composables/useBreakpoint.d.ts.map +1 -0
  47. package/dist/composables/useCustomTheme.d.ts +65 -0
  48. package/dist/composables/useCustomTheme.d.ts.map +1 -0
  49. package/dist/composables/useTheme.d.ts +7 -3
  50. package/dist/composables/useTheme.d.ts.map +1 -1
  51. package/dist/index-B3HEnZbh.js +6194 -0
  52. package/dist/{index-7PaC4pth.js → index-B5DNZRyd.js} +1 -1
  53. package/dist/index.d.ts +3 -1
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.es.js +34 -29
  56. package/dist/index.umd.js +1 -1
  57. package/dist/style.css +1 -1
  58. package/dist/theme.config.d.ts.map +1 -1
  59. package/dist/types/index.d.ts +63 -0
  60. package/dist/types/index.d.ts.map +1 -1
  61. package/dist/types/theme.d.ts +21 -5
  62. package/dist/types/theme.d.ts.map +1 -1
  63. package/dist/utils/accessibility.d.ts +2 -2
  64. package/dist/utils/accessibility.d.ts.map +1 -1
  65. package/package.json +2 -1
  66. package/dist/index-CWUPixNs.js +0 -5852
@@ -1,3 +1,6 @@
1
1
  import { useTheme } from './useTheme';
2
- export { useTheme, };
2
+ import { useCustomTheme } from './useCustomTheme';
3
+ import { useUniqueId } from './useUniqueId';
4
+ import { useBreakpoint } from './useBreakpoint';
5
+ export { useTheme, useCustomTheme, useUniqueId, useBreakpoint, };
3
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/composables/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,EACL,QAAQ,GACT,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/composables/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C,OAAO,EACL,QAAQ,EACR,cAAc,EACd,WAAW,EACX,aAAa,GACd,CAAA"}
@@ -0,0 +1,83 @@
1
+ export type BreakpointKey = 'sm' | 'md' | 'lg' | 'xl' | '2xl';
2
+ export interface BreakpointConfig {
3
+ sm?: number;
4
+ md?: number;
5
+ lg?: number;
6
+ xl?: number;
7
+ '2xl'?: number;
8
+ }
9
+ export interface UseBreakpointOptions {
10
+ /** Surcharge des breakpoints par défaut */
11
+ breakpoints?: BreakpointConfig;
12
+ }
13
+ export interface BreakpointMatches {
14
+ sm: boolean;
15
+ md: boolean;
16
+ lg: boolean;
17
+ xl: boolean;
18
+ '2xl': boolean;
19
+ }
20
+ /**
21
+ * Composable pour la détection réactive des breakpoints.
22
+ *
23
+ * Utilise `window.matchMedia` pour une détection performante
24
+ * sans écouter l'événement `resize`. Compatible SSR (valeurs
25
+ * neutres côté serveur).
26
+ *
27
+ * @example
28
+ * ```ts
29
+ * const { current, isUp, isDown, isBetween, matches } = useBreakpoint()
30
+ *
31
+ * // Breakpoint actif
32
+ * current.value // 'md'
33
+ *
34
+ * // Vérifications
35
+ * isUp('md') // true si largeur >= 768px
36
+ * isDown('lg') // true si largeur < 1024px
37
+ * isBetween('sm', 'lg') // true si >= 640px et < 1024px
38
+ *
39
+ * // Objet réactif complet
40
+ * matches.value // { sm: true, md: true, lg: false, xl: false, '2xl': false }
41
+ * ```
42
+ */
43
+ export declare function useBreakpoint(options?: UseBreakpointOptions): {
44
+ /** Breakpoint actif le plus large ('xs' si aucun) */
45
+ current: import('vue').ComputedRef<"xs" | BreakpointKey>;
46
+ /** Largeur du viewport en pixels (réactif) */
47
+ width: Readonly<import('vue').Ref<number, number>>;
48
+ /** Objet réactif { sm: bool, md: bool, lg: bool, xl: bool, '2xl': bool } */
49
+ matches: Readonly<import('vue').Ref<{
50
+ readonly sm: boolean;
51
+ readonly md: boolean;
52
+ readonly lg: boolean;
53
+ readonly xl: boolean;
54
+ readonly '2xl': boolean;
55
+ }, {
56
+ readonly sm: boolean;
57
+ readonly md: boolean;
58
+ readonly lg: boolean;
59
+ readonly xl: boolean;
60
+ readonly '2xl': boolean;
61
+ }>>;
62
+ /** true si largeur >= breakpoint */
63
+ isUp: (breakpoint: BreakpointKey) => boolean;
64
+ /** true si largeur < breakpoint */
65
+ isDown: (breakpoint: BreakpointKey) => boolean;
66
+ /** true si largeur >= min et < max */
67
+ isBetween: (min: BreakpointKey, max: BreakpointKey) => boolean;
68
+ /** Configuration des breakpoints utilisée */
69
+ breakpoints: Readonly<import('vue').Ref<{
70
+ readonly sm: number;
71
+ readonly md: number;
72
+ readonly lg: number;
73
+ readonly xl: number;
74
+ readonly '2xl': number;
75
+ }, {
76
+ readonly sm: number;
77
+ readonly md: number;
78
+ readonly lg: number;
79
+ readonly xl: number;
80
+ readonly '2xl': number;
81
+ }>>;
82
+ };
83
+ //# sourceMappingURL=useBreakpoint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useBreakpoint.d.ts","sourceRoot":"","sources":["../../src/composables/useBreakpoint.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAA;AAE7D,MAAM,WAAW,gBAAgB;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,2CAA2C;IAC3C,WAAW,CAAC,EAAE,gBAAgB,CAAA;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,OAAO,CAAA;IACX,EAAE,EAAE,OAAO,CAAA;IACX,EAAE,EAAE,OAAO,CAAA;IACX,EAAE,EAAE,OAAO,CAAA;IACX,KAAK,EAAE,OAAO,CAAA;CACf;AA2BD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,oBAAyB;IAkJ5D,qDAAqD;;IAGrD,8CAA8C;;IAG9C,4EAA4E;;qBA/M1E,OAAO;qBACP,OAAO;qBACP,OAAO;qBACP,OAAO;wBACJ,OAAO;;qBAJV,OAAO;qBACP,OAAO;qBACP,OAAO;qBACP,OAAO;wBACJ,OAAO;;IA8MZ,oCAAoC;uBAhFZ,aAAa,KAAG,OAAO;IAmF/C,mCAAmC;yBA5ET,aAAa,KAAG,OAAO;IA+EjD,sCAAsC;qBAxEhB,aAAa,OAAO,aAAa,KAAG,OAAO;IA2EjE,6CAA6C;;qBAxO1C,MAAM;qBACN,MAAM;qBACN,MAAM;qBACN,MAAM;wBACH,MAAM;;qBAJT,MAAM;qBACN,MAAM;qBACN,MAAM;qBACN,MAAM;wBACH,MAAM;;EAuOf"}
@@ -0,0 +1,65 @@
1
+ import { SurgeuiTheme } from '../plugin/theme';
2
+ /**
3
+ * Composable pour gérer les variables CSS custom du système de thème
4
+ *
5
+ * Permet de:
6
+ * - Appliquer des variables CSS custom au DOM
7
+ * - Définir des variables individuelles
8
+ * - Réinitialiser les variables
9
+ * - Fusionner avec des thèmes existants
10
+ */
11
+ export declare function useCustomTheme(): {
12
+ customTheme: import('vue').ComputedRef<{
13
+ textPrimary?: string | undefined;
14
+ textSecondary?: string | undefined;
15
+ textTertiary?: string | undefined;
16
+ textDisabled?: string | undefined;
17
+ textInverse?: string | undefined;
18
+ linkDefault?: string | undefined;
19
+ linkHover?: string | undefined;
20
+ linkVisited?: string | undefined;
21
+ linkMuted?: string | undefined;
22
+ bgCanvas?: string | undefined;
23
+ bgSurface?: string | undefined;
24
+ bgSurfaceElevated?: string | undefined;
25
+ bgOverlay?: string | undefined;
26
+ bgDisabled?: string | undefined;
27
+ bgHover?: string | undefined;
28
+ bgActive?: string | undefined;
29
+ bgSelected?: string | undefined;
30
+ borderDefault?: string | undefined;
31
+ borderSubtle?: string | undefined;
32
+ borderStrong?: string | undefined;
33
+ borderFocus?: string | undefined;
34
+ borderDisabled?: string | undefined;
35
+ stateSuccess?: string | undefined;
36
+ stateSuccessBg?: string | undefined;
37
+ stateWarning?: string | undefined;
38
+ stateWarningBg?: string | undefined;
39
+ stateError?: string | undefined;
40
+ stateErrorBg?: string | undefined;
41
+ stateInfo?: string | undefined;
42
+ stateInfoBg?: string | undefined;
43
+ primaryDefault?: string | undefined;
44
+ primaryHover?: string | undefined;
45
+ primaryActive?: string | undefined;
46
+ primaryDisabled?: string | undefined;
47
+ primaryText?: string | undefined;
48
+ secondaryDefault?: string | undefined;
49
+ secondaryHover?: string | undefined;
50
+ secondaryActive?: string | undefined;
51
+ secondaryDisabled?: string | undefined;
52
+ secondaryText?: string | undefined;
53
+ shadowColor?: string | undefined;
54
+ linkVariant?: Exclude<import('..').LinkVariant, "custom"> | undefined;
55
+ linkSize?: Exclude<import('..').LinkSize, "default"> | undefined;
56
+ linkUnderline?: Exclude<import('..').LinkUnderline, "default"> | undefined;
57
+ dialogDisplay?: Exclude<import('..').DialogDisplay, "center"> | undefined;
58
+ }>;
59
+ applyCustomTheme: (theme: SurgeuiTheme) => void;
60
+ setCustomVariable: (property: string, value: string) => void;
61
+ getCustomTheme: () => SurgeuiTheme;
62
+ resetCustomTheme: () => void;
63
+ mergeWithTheme: (baseTheme: SurgeuiTheme, overrideTheme: SurgeuiTheme) => SurgeuiTheme;
64
+ };
65
+ //# sourceMappingURL=useCustomTheme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCustomTheme.d.ts","sourceRoot":"","sources":["../../src/composables/useCustomTheme.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAGlD;;;;;;;;GAQG;AACH,wBAAgB,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAcK,YAAY,KAAG,IAAI;kCAgBf,MAAM,SAAS,MAAM,KAAG,IAAI;0BAwBtC,YAAY;4BAOV,IAAI;gCA0BE,YAAY,iBAAiB,YAAY,KAAG,YAAY;EA+B5F"}
@@ -1,9 +1,11 @@
1
- import { ThemeName, ContrastMode, MotionMode, ThemeMetadata, UseThemeOptions } from '../types/theme';
1
+ import { ThemeName, ThemeMode, ContrastMode, MotionMode, ThemeMetadata, UseThemeOptions, DeprecatedThemeName } from '../types/theme';
2
2
  export declare function useTheme(options?: UseThemeOptions): {
3
3
  themeName: import('vue').Ref<ThemeName, ThemeName>;
4
+ themeMode: import('vue').Ref<ThemeMode, ThemeMode>;
4
5
  contrastMode: import('vue').Ref<ContrastMode, ContrastMode>;
5
6
  motionMode: import('vue').Ref<MotionMode, MotionMode>;
6
- effectiveTheme: import('vue').ComputedRef<"dark" | "light" | "ocean" | "forest" | "sunset">;
7
+ effectiveTheme: import('vue').ComputedRef<ThemeName>;
8
+ effectiveThemeMode: import('vue').ComputedRef<"dark" | "light">;
7
9
  effectiveContrast: import('vue').ComputedRef<"normal" | "high">;
8
10
  effectiveMotion: import('vue').ComputedRef<"reduce" | "normal">;
9
11
  systemTheme: import('vue').ComputedRef<"dark" | "light">;
@@ -14,9 +16,11 @@ export declare function useTheme(options?: UseThemeOptions): {
14
16
  availableThemes: import('vue').ComputedRef<ThemeMetadata[]>;
15
17
  systemThemes: import('vue').ComputedRef<ThemeMetadata[]>;
16
18
  colorThemes: import('vue').ComputedRef<ThemeMetadata[]>;
17
- setTheme: (theme: ThemeName) => void;
19
+ setTheme: (name: ThemeName | DeprecatedThemeName) => void;
20
+ setThemeMode: (mode: ThemeMode) => void;
18
21
  setContrast: (contrast: ContrastMode) => void;
19
22
  setMotion: (motion: MotionMode) => void;
23
+ toggleMode: () => void;
20
24
  toggleTheme: () => void;
21
25
  cycleTheme: () => void;
22
26
  clearConfig: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"useTheme.d.ts","sourceRoot":"","sources":["../../src/composables/useTheme.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EACZ,UAAU,EAEV,aAAa,EACb,eAAe,EAChB,MAAM,eAAe,CAAC;AA8DvB,wBAAgB,QAAQ,CAAC,OAAO,GAAE,eAAoB;;;;;;;;;;;;;;;sBAsJ3B,SAAS;4BAcH,YAAY;wBAKhB,UAAU;;;;EAiFtC"}
1
+ {"version":3,"file":"useTheme.d.ts","sourceRoot":"","sources":["../../src/composables/useTheme.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,SAAS,EACT,SAAS,EACT,YAAY,EACZ,UAAU,EAEV,aAAa,EACb,eAAe,EACf,mBAAmB,EACpB,MAAM,eAAe,CAAC;AA2DvB,wBAAgB,QAAQ,CAAC,OAAO,GAAE,eAAoB;;;;;;;;;;;;;;;;;qBA4L5B,SAAS,GAAG,mBAAmB;yBAuC3B,SAAS;4BAMN,YAAY;wBAMhB,UAAU;;;;;EA4GtC"}