@surgeui/ds-vue 2.2.0 → 3.0.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/README.md +372 -372
- package/dist/components/atoms/Avatar.vue.d.ts +0 -1
- package/dist/components/atoms/Avatar.vue.d.ts.map +1 -1
- package/dist/components/atoms/Badge.vue.d.ts.map +1 -1
- package/dist/components/atoms/Button.vue.d.ts +1 -2
- package/dist/components/atoms/Button.vue.d.ts.map +1 -1
- package/dist/components/atoms/CheckboxGroup.vue.d.ts +2 -2
- package/dist/components/atoms/CheckboxGroup.vue.d.ts.map +1 -1
- package/dist/components/atoms/FileUpload.vue.d.ts +4 -9
- package/dist/components/atoms/FileUpload.vue.d.ts.map +1 -1
- package/dist/components/atoms/FormField.vue.d.ts +4 -3
- package/dist/components/atoms/FormField.vue.d.ts.map +1 -1
- package/dist/components/atoms/Heading.vue.d.ts.map +1 -1
- package/dist/components/atoms/Image.vue.d.ts +0 -3
- package/dist/components/atoms/Image.vue.d.ts.map +1 -1
- package/dist/components/atoms/Input.vue.d.ts +3 -3
- package/dist/components/atoms/Input.vue.d.ts.map +1 -1
- package/dist/components/atoms/Link.vue.d.ts.map +1 -1
- package/dist/components/atoms/Panel.vue.d.ts +1 -1
- package/dist/components/atoms/Panel.vue.d.ts.map +1 -1
- package/dist/components/atoms/Price.vue.d.ts +47 -0
- package/dist/components/atoms/Price.vue.d.ts.map +1 -0
- package/dist/components/atoms/Progress.vue.d.ts +1 -4
- package/dist/components/atoms/Progress.vue.d.ts.map +1 -1
- package/dist/components/atoms/RadioGroup.vue.d.ts +2 -2
- package/dist/components/atoms/RadioGroup.vue.d.ts.map +1 -1
- package/dist/components/atoms/SelectBox.vue.d.ts +5 -9
- package/dist/components/atoms/SelectBox.vue.d.ts.map +1 -1
- package/dist/components/atoms/Slider.vue.d.ts +2 -2
- package/dist/components/atoms/Slider.vue.d.ts.map +1 -1
- package/dist/components/atoms/Spinner.vue.d.ts +1 -2
- package/dist/components/atoms/Spinner.vue.d.ts.map +1 -1
- package/dist/components/atoms/Switch.vue.d.ts +5 -4
- package/dist/components/atoms/Switch.vue.d.ts.map +1 -1
- package/dist/components/atoms/Textarea.vue.d.ts +2 -2
- package/dist/components/atoms/Textarea.vue.d.ts.map +1 -1
- package/dist/components/atoms/Toggle.vue.d.ts +2 -3
- package/dist/components/atoms/Toggle.vue.d.ts.map +1 -1
- package/dist/components/molecules/AccordionItem.vue.d.ts +2 -6
- package/dist/components/molecules/AccordionItem.vue.d.ts.map +1 -1
- package/dist/components/molecules/AvatarGroup.vue.d.ts.map +1 -1
- package/dist/components/molecules/CheckboxGroupField.vue.d.ts +3 -3
- package/dist/components/molecules/CheckboxGroupField.vue.d.ts.map +1 -1
- package/dist/components/molecules/Dropdown.vue.d.ts +2 -3
- package/dist/components/molecules/Dropdown.vue.d.ts.map +1 -1
- package/dist/components/molecules/FileUploadField.vue.d.ts +5 -10
- package/dist/components/molecules/FileUploadField.vue.d.ts.map +1 -1
- package/dist/components/molecules/FloatButton.vue.d.ts +10 -10
- package/dist/components/molecules/FloatButton.vue.d.ts.map +1 -1
- package/dist/components/molecules/InputField.vue.d.ts +12 -12
- package/dist/components/molecules/InputField.vue.d.ts.map +1 -1
- package/dist/components/molecules/LinkGroup.vue.d.ts.map +1 -1
- package/dist/components/molecules/OtpInput.vue.d.ts +57 -0
- package/dist/components/molecules/OtpInput.vue.d.ts.map +1 -0
- package/dist/components/molecules/OtpInputField.vue.d.ts +173 -0
- package/dist/components/molecules/OtpInputField.vue.d.ts.map +1 -0
- package/dist/components/molecules/Password.vue.d.ts +2 -2
- package/dist/components/molecules/Password.vue.d.ts.map +1 -1
- package/dist/components/molecules/PasswordField.vue.d.ts +4 -4
- package/dist/components/molecules/PasswordField.vue.d.ts.map +1 -1
- package/dist/components/molecules/RadioGroupField.vue.d.ts +3 -3
- package/dist/components/molecules/RadioGroupField.vue.d.ts.map +1 -1
- package/dist/components/molecules/SelectBoxField.vue.d.ts +14 -26
- package/dist/components/molecules/SelectBoxField.vue.d.ts.map +1 -1
- package/dist/components/molecules/SliderField.vue.d.ts +4 -4
- package/dist/components/molecules/SliderField.vue.d.ts.map +1 -1
- package/dist/components/molecules/SwitchField.vue.d.ts +3 -3
- package/dist/components/molecules/SwitchField.vue.d.ts.map +1 -1
- package/dist/components/molecules/TextareaField.vue.d.ts +6 -6
- package/dist/components/molecules/TextareaField.vue.d.ts.map +1 -1
- package/dist/components/molecules/ToggleGroup.vue.d.ts +2 -2
- package/dist/components/organisms/Accordion.vue.d.ts +1 -0
- package/dist/components/organisms/Accordion.vue.d.ts.map +1 -1
- package/dist/components/organisms/Alert.vue.d.ts +2 -3
- package/dist/components/organisms/Alert.vue.d.ts.map +1 -1
- package/dist/components/organisms/Card.vue.d.ts +27 -0
- package/dist/components/organisms/Card.vue.d.ts.map +1 -0
- package/dist/components/organisms/Dialog.vue.d.ts +3 -3
- package/dist/components/organisms/Dialog.vue.d.ts.map +1 -1
- package/dist/components/organisms/Tabs.vue.d.ts +6 -2
- package/dist/components/organisms/Tabs.vue.d.ts.map +1 -1
- package/dist/components/templates/FullScreenLayout.vue.d.ts +27 -0
- package/dist/components/templates/FullScreenLayout.vue.d.ts.map +1 -0
- package/dist/components/templates/GridLayout.vue.d.ts +46 -0
- package/dist/components/templates/GridLayout.vue.d.ts.map +1 -0
- package/dist/components/templates/HeroLayout.vue.d.ts +49 -0
- package/dist/components/templates/HeroLayout.vue.d.ts.map +1 -0
- package/dist/components/templates/HolyGrailLayout.vue.d.ts +51 -0
- package/dist/components/templates/HolyGrailLayout.vue.d.ts.map +1 -0
- package/dist/components/templates/MagazineLayout.vue.d.ts +38 -0
- package/dist/components/templates/MagazineLayout.vue.d.ts.map +1 -0
- package/dist/components/templates/MasonryLayout.vue.d.ts +27 -0
- package/dist/components/templates/MasonryLayout.vue.d.ts.map +1 -0
- package/dist/components/templates/SidebarLayout.vue.d.ts +36 -0
- package/dist/components/templates/SidebarLayout.vue.d.ts.map +1 -0
- package/dist/components/templates/SingleColumnLayout.vue.d.ts +36 -0
- package/dist/components/templates/SingleColumnLayout.vue.d.ts.map +1 -0
- package/dist/components/templates/SplitLayout.vue.d.ts +34 -0
- package/dist/components/templates/SplitLayout.vue.d.ts.map +1 -0
- package/dist/components/templates/_stories/layoutDemo.d.ts +43 -0
- package/dist/components/templates/_stories/layoutDemo.d.ts.map +1 -0
- package/dist/composables/index.d.ts +17 -1
- package/dist/composables/index.d.ts.map +1 -1
- package/dist/composables/useAnnouncer.d.ts +32 -0
- package/dist/composables/useAnnouncer.d.ts.map +1 -0
- package/dist/composables/useDismiss.d.ts +32 -0
- package/dist/composables/useDismiss.d.ts.map +1 -0
- package/dist/composables/useFloatingPosition.d.ts +32 -0
- package/dist/composables/useFloatingPosition.d.ts.map +1 -0
- package/dist/composables/useFocusTrap.d.ts +42 -0
- package/dist/composables/useFocusTrap.d.ts.map +1 -0
- package/dist/composables/useFormField.d.ts +76 -0
- package/dist/composables/useFormField.d.ts.map +1 -0
- package/dist/composables/useListNavigation.d.ts +40 -0
- package/dist/composables/useListNavigation.d.ts.map +1 -0
- package/dist/composables/useLocale.d.ts +33 -0
- package/dist/composables/useLocale.d.ts.map +1 -0
- package/dist/composables/usePrice.d.ts +85 -0
- package/dist/composables/usePrice.d.ts.map +1 -0
- package/dist/composables/useTheme.d.ts +2 -2
- package/dist/composables/useTypeahead.d.ts +17 -0
- package/dist/composables/useTypeahead.d.ts.map +1 -0
- package/dist/composables/useUniqueId.d.ts +4 -0
- package/dist/composables/useUniqueId.d.ts.map +1 -1
- package/dist/{index-B5DNZRyd.js → index-DxsqHbLv.js} +1 -1
- package/dist/index-n-LN9d8r.js +9062 -0
- package/dist/index.d.ts +26 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.es.js +85 -48
- package/dist/index.umd.js +1 -1
- package/dist/locales/en.d.ts +4 -0
- package/dist/locales/en.d.ts.map +1 -0
- package/dist/locales/fr.d.ts +4 -0
- package/dist/locales/fr.d.ts.map +1 -0
- package/dist/locales/index.d.ts +10 -0
- package/dist/locales/index.d.ts.map +1 -0
- package/dist/locales/types.d.ts +155 -0
- package/dist/locales/types.d.ts.map +1 -0
- package/dist/style.css +1 -1
- package/dist/types/index.d.ts +247 -14
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/accessibility.d.ts +4 -3
- package/dist/utils/accessibility.d.ts.map +1 -1
- package/dist/utils/layout.d.ts +9 -0
- package/dist/utils/layout.d.ts.map +1 -0
- package/package.json +81 -74
- package/dist/index-B3HEnZbh.js +0 -6194
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ComputedRef, InjectionKey, MaybeRefOrGetter } from 'vue';
|
|
2
|
+
import { LocaleMessage, MessageKey, MessageParams, SurgeLocale, SurgeLocaleInput } from '../locales/types';
|
|
3
|
+
export declare const LocaleKey: InjectionKey<ComputedRef<SurgeLocale>>;
|
|
4
|
+
/**
|
|
5
|
+
* Complète une locale de base avec des messages partiels.
|
|
6
|
+
* @example defineLocale(en, { messages: { selectBox: { placeholder: 'Pick one…' } } })
|
|
7
|
+
*/
|
|
8
|
+
export declare function defineLocale(base: SurgeLocale, overrides?: SurgeLocaleInput | SurgeLocale): SurgeLocale;
|
|
9
|
+
/** Met en forme un message : forme plurielle selon `count`, puis paramètres `{nom}` */
|
|
10
|
+
export declare function formatMessage(message: LocaleMessage, params?: MessageParams, code?: string): string;
|
|
11
|
+
/**
|
|
12
|
+
* Fournit une locale à un sous-arbre de composants. Les messages partiels
|
|
13
|
+
* complètent la locale du parent (ou le français).
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* // Dans le composant racine : la langue suit l'état de l'application
|
|
17
|
+
* provideLocale(() => (lang.value === 'en' ? en : fr))
|
|
18
|
+
*/
|
|
19
|
+
export declare function provideLocale(locale: MaybeRefOrGetter<SurgeLocale | SurgeLocaleInput>): ComputedRef<SurgeLocale>;
|
|
20
|
+
/**
|
|
21
|
+
* Accès aux textes de la locale courante.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* const { t } = useLocale()
|
|
25
|
+
* const label = computed(() => props.clearLabel ?? t('selectBox.clear'))
|
|
26
|
+
* t('fileUpload.selectedCount', { count: 3 }) // « 3 fichiers sélectionnés »
|
|
27
|
+
*/
|
|
28
|
+
export declare function useLocale(): {
|
|
29
|
+
locale: ComputedRef<SurgeLocale>;
|
|
30
|
+
t: (key: MessageKey, params?: MessageParams) => string;
|
|
31
|
+
formatBytes: (bytes: number) => string;
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=useLocale.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLocale.d.ts","sourceRoot":"","sources":["../../src/composables/useLocale.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACtB,MAAM,KAAK,CAAA;AAEZ,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,aAAa,EACb,WAAW,EACX,gBAAgB,EAEjB,MAAM,iBAAiB,CAAA;AAUxB,eAAO,MAAM,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC,WAAW,CAAC,CAAyB,CAAA;AAEtF;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,gBAAgB,GAAG,WAAW,GAAG,WAAW,CAUvG;AAiBD,uFAAuF;AACvF,wBAAgB,aAAa,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,GAAE,aAAkB,EAAE,IAAI,SAAO,GAAG,MAAM,CAcrG;AAOD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,gBAAgB,CAAC,WAAW,GAAG,gBAAgB,CAAC,4BAKrF;AAID;;;;;;;GAOG;AACH,wBAAgB,SAAS;;aAKP,UAAU,WAAW,aAAa,KAAG,MAAM;yBAM/B,MAAM,KAAG,MAAM;EAoB5C"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { Ref } from 'vue';
|
|
2
|
+
import { CurrencyDisplay } from '../types';
|
|
3
|
+
export interface UsePriceOptions {
|
|
4
|
+
/** Montant numérique. Accepte un ref, un getter, ou un nombre statique. */
|
|
5
|
+
amount: number | Ref<number> | (() => number);
|
|
6
|
+
/** Code devise ISO 4217 (ex: 'EUR', 'USD', 'GBP'). Défaut: 'EUR' */
|
|
7
|
+
currency?: string;
|
|
8
|
+
/** Locale BCP 47 (ex: 'fr-FR', 'en-US'). Défaut: 'fr-FR' */
|
|
9
|
+
locale?: string;
|
|
10
|
+
/** Affichage de la devise. Défaut: 'symbol' */
|
|
11
|
+
currencyDisplay?: CurrencyDisplay;
|
|
12
|
+
/** Nombre minimum de chiffres décimaux. Défaut: 2 */
|
|
13
|
+
minimumFractionDigits?: number;
|
|
14
|
+
/** Nombre maximum de chiffres décimaux. Défaut: 2 */
|
|
15
|
+
maximumFractionDigits?: number;
|
|
16
|
+
/**
|
|
17
|
+
* Formatter personnalisé. Quand fourni, remplace Intl.NumberFormat.
|
|
18
|
+
* Utile pour des formats spéciaux ("Gratuit", "Sur devis", etc.)
|
|
19
|
+
*/
|
|
20
|
+
formatValue?: (amount: number, currency: string, locale: string) => string;
|
|
21
|
+
}
|
|
22
|
+
export interface UsePriceReturn {
|
|
23
|
+
/** Prix formaté complet (ex: "1 299,99 €") */
|
|
24
|
+
formatted: Readonly<Ref<string>>;
|
|
25
|
+
/** Partie entière uniquement (ex: "1 299") */
|
|
26
|
+
integerPart: Readonly<Ref<string>>;
|
|
27
|
+
/** Partie décimale sans séparateur (ex: "99") */
|
|
28
|
+
decimalPart: Readonly<Ref<string>>;
|
|
29
|
+
/** Séparateur décimal de la locale (ex: "," pour fr-FR) */
|
|
30
|
+
decimalSeparator: Readonly<Ref<string>>;
|
|
31
|
+
/** Symbole de la devise (ex: "€", "$", "£") */
|
|
32
|
+
currencySymbol: Readonly<Ref<string>>;
|
|
33
|
+
/** true si le symbole est positionné avant le montant */
|
|
34
|
+
isSymbolPrefix: Readonly<Ref<boolean>>;
|
|
35
|
+
/** Texte accessible pour les lecteurs d'écran (ex: "1 299,99 euros") */
|
|
36
|
+
ariaLabel: Readonly<Ref<string>>;
|
|
37
|
+
/** Montant numérique brut résolu */
|
|
38
|
+
rawAmount: Readonly<Ref<number>>;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Composable pour le formatage réactif des prix.
|
|
42
|
+
*
|
|
43
|
+
* Utilise `Intl.NumberFormat` pour un formatage correct selon
|
|
44
|
+
* la locale et la devise. Expose les différentes parties du prix
|
|
45
|
+
* pour un rendu flexible dans les composants.
|
|
46
|
+
*
|
|
47
|
+
* Compatible SSR — `Intl.NumberFormat` est disponible dans Node.js.
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```ts
|
|
51
|
+
* const { formatted, integerPart, decimalPart, currencySymbol } = usePrice({
|
|
52
|
+
* amount: 1299.99,
|
|
53
|
+
* currency: 'EUR',
|
|
54
|
+
* locale: 'fr-FR',
|
|
55
|
+
* })
|
|
56
|
+
*
|
|
57
|
+
* formatted.value // "1 299,99 €"
|
|
58
|
+
* integerPart.value // "1 299"
|
|
59
|
+
* decimalPart.value // "99"
|
|
60
|
+
* currencySymbol.value // "€"
|
|
61
|
+
* ```
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* ```ts
|
|
65
|
+
* // Avec un ref réactif
|
|
66
|
+
* const amount = ref(49.99)
|
|
67
|
+
* const { formatted } = usePrice({ amount })
|
|
68
|
+
*
|
|
69
|
+
* amount.value = 29.99
|
|
70
|
+
* formatted.value // "29,99 €"
|
|
71
|
+
* ```
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```ts
|
|
75
|
+
* // Avec formatter personnalisé
|
|
76
|
+
* const { formatted } = usePrice({
|
|
77
|
+
* amount: 0,
|
|
78
|
+
* formatValue: (amt) => amt === 0 ? 'Gratuit' : `${amt} €`,
|
|
79
|
+
* })
|
|
80
|
+
*
|
|
81
|
+
* formatted.value // "Gratuit"
|
|
82
|
+
* ```
|
|
83
|
+
*/
|
|
84
|
+
export declare function usePrice(options: UsePriceOptions): UsePriceReturn;
|
|
85
|
+
//# sourceMappingURL=usePrice.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePrice.d.ts","sourceRoot":"","sources":["../../src/composables/usePrice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,GAAG,EAAE,MAAM,KAAK,CAAA;AAElD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAM9C,MAAM,WAAW,eAAe;IAC9B,2EAA2E;IAC3E,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,CAAA;IAC7C,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,+CAA+C;IAC/C,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,qDAAqD;IACrD,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,qDAAqD;IACrD,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAA;CAC3E;AAED,MAAM,WAAW,cAAc;IAC7B,8CAA8C;IAC9C,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IAChC,8CAA8C;IAC9C,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IAClC,iDAAiD;IACjD,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IAClC,2DAA2D;IAC3D,gBAAgB,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IACvC,+CAA+C;IAC/C,cAAc,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IACrC,yDAAyD;IACzD,cAAc,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;IACtC,wEAAwE;IACxE,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IAChC,oCAAoC;IACpC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;CACjC;AAmKD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,cAAc,CA4GjE"}
|
|
@@ -5,10 +5,10 @@ export declare function useTheme(options?: UseThemeOptions): {
|
|
|
5
5
|
contrastMode: import('vue').Ref<ContrastMode, ContrastMode>;
|
|
6
6
|
motionMode: import('vue').Ref<MotionMode, MotionMode>;
|
|
7
7
|
effectiveTheme: import('vue').ComputedRef<ThemeName>;
|
|
8
|
-
effectiveThemeMode: import('vue').ComputedRef<"
|
|
8
|
+
effectiveThemeMode: import('vue').ComputedRef<"light" | "dark">;
|
|
9
9
|
effectiveContrast: import('vue').ComputedRef<"normal" | "high">;
|
|
10
10
|
effectiveMotion: import('vue').ComputedRef<"reduce" | "normal">;
|
|
11
|
-
systemTheme: import('vue').ComputedRef<"
|
|
11
|
+
systemTheme: import('vue').ComputedRef<"light" | "dark">;
|
|
12
12
|
systemContrast: import('vue').ComputedRef<"normal" | "high">;
|
|
13
13
|
systemMotion: import('vue').ComputedRef<"reduce" | "normal">;
|
|
14
14
|
currentThemeMetadata: import('vue').ComputedRef<ThemeMetadata>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { MaybeRefOrGetter } from 'vue';
|
|
2
|
+
export interface TypeaheadOptions<T> {
|
|
3
|
+
items: MaybeRefOrGetter<readonly T[]>;
|
|
4
|
+
/** Texte comparé au préfixe saisi */
|
|
5
|
+
getLabel: (item: T) => string;
|
|
6
|
+
/** Éléments ignorés */
|
|
7
|
+
isDisabled?: (item: T, index: number) => boolean;
|
|
8
|
+
/** Délai d'inactivité qui remet le préfixe à zéro (ms) */
|
|
9
|
+
timeout?: number;
|
|
10
|
+
}
|
|
11
|
+
export declare function useTypeahead<T>(options: TypeaheadOptions<T>): {
|
|
12
|
+
search: (char: string, fromIndex: number) => number;
|
|
13
|
+
reset: () => void;
|
|
14
|
+
/** Une saisie est en cours (Espace complète alors le préfixe) */
|
|
15
|
+
isTyping: () => boolean;
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=useTypeahead.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTypeahead.d.ts","sourceRoot":"","sources":["../../src/composables/useTypeahead.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgD,KAAK,gBAAgB,EAAE,MAAM,KAAK,CAAA;AAUzF,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,KAAK,EAAE,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;IACrC,qCAAqC;IACrC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAA;IAC7B,uBAAuB;IACvB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAA;IAChD,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC;mBAepC,MAAM,aAAa,MAAM,KAAG,MAAM;;IA6BtD,iEAAiE;;EAGpE"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Composable pour générer des IDs uniques
|
|
3
|
+
*
|
|
4
|
+
* Dans un composant, préférer `useId()` de Vue (3.5+) : il produit le même ID
|
|
5
|
+
* côté serveur et côté client. Ce compteur reste disponible hors composant ;
|
|
6
|
+
* il est déterministe (pas d'horodatage) pour limiter les écarts d'hydratation.
|
|
3
7
|
*/
|
|
4
8
|
export declare function useUniqueId(prefix?: string): string;
|
|
5
9
|
//# sourceMappingURL=useUniqueId.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUniqueId.d.ts","sourceRoot":"","sources":["../../src/composables/useUniqueId.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"useUniqueId.d.ts","sourceRoot":"","sources":["../../src/composables/useUniqueId.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,wBAAgB,WAAW,CAAC,MAAM,GAAE,MAAa,GAAG,MAAM,CAEzD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createElementBlock as o, openBlock as n, createElementVNode as r } from "vue";
|
|
2
|
-
import { r as Wr, a as Xr, b as Qr, c as Kr, d as Yr, e as Jr, f as ro, g as oo, i as no, h as eo, j as to, k as ao, l as io, m as co } from "./index-
|
|
2
|
+
import { r as Wr, a as Xr, b as Qr, c as Kr, d as Yr, e as Jr, f as ro, g as oo, i as no, h as eo, j as to, k as ao, l as io, m as co } from "./index-n-LN9d8r.js";
|
|
3
3
|
function i(e, t) {
|
|
4
4
|
return n(), o("svg", {
|
|
5
5
|
xmlns: "http://www.w3.org/2000/svg",
|