zuii 1.4.5 → 1.4.7

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 (33) hide show
  1. package/README.md +2 -3
  2. package/dist/components/Button/react/index.d.ts +1 -1
  3. package/dist/components/Button/style/index.css +1 -1
  4. package/dist/components/Color/react/index.js +8 -7
  5. package/dist/components/Form/react/Select.d.ts +5 -1
  6. package/dist/components/Form/react/Select.js +11 -9
  7. package/dist/components/Group/react/index.d.ts +5 -1
  8. package/dist/components/Group/react/index.js +14 -13
  9. package/dist/components/Group/style/index.css +1 -1
  10. package/dist/components/Radius/react/index.d.ts +1 -1
  11. package/dist/components/Radius/style/index.css +1 -1
  12. package/dist/components/Table/js/table.d.ts +134 -0
  13. package/dist/components/Table/js/table.js +11 -0
  14. package/dist/components/Table/react/TablePagination.d.ts +41 -0
  15. package/dist/components/Table/react/TablePagination.js +102 -0
  16. package/dist/components/Table/react/index.d.ts +14 -0
  17. package/dist/components/Table/react/index.js +118 -0
  18. package/dist/components/Table/style/index.css +1 -0
  19. package/dist/core/styles/_tokens.scss +2 -0
  20. package/dist/core/styles/main.css +1 -1
  21. package/dist/core/styles/tokens.css +2 -0
  22. package/dist/core/styles/tokens.d.ts +28 -0
  23. package/dist/core/styles/tokens.ts +34 -0
  24. package/dist/index.d.ts +1 -0
  25. package/dist/index.js +12 -10
  26. package/dist/templates/Radius/Radius.tsx +1 -1
  27. package/dist/templates/Tables/Tables.d.ts +4 -0
  28. package/dist/templates/Tables/Tables.tsx +126 -0
  29. package/dist/templates/Tables/tables.data.d.ts +221 -0
  30. package/dist/templates/Tables/tables.data.tsx +143 -0
  31. package/dist/templates/index.d.ts +1 -0
  32. package/dist/templates/index.ts +1 -0
  33. package/package.json +5 -3
package/README.md CHANGED
@@ -38,13 +38,12 @@ npm install zuii
38
38
 
39
39
  1. **`vendor`** (Priorité basse) : Pour les frameworks externes (ex: Bootstrap).
40
40
  2. **`components`** : Pour les composants **zuii**.
41
- 3. **`utilities`** : Pour les classes utilitaires de **zuii**.
41
+ 3. **`layout`** : Pour les styles de bas niveau de **zuii**.
42
+ 4. **`utilities`** : Pour les classes utilitaires de **zuii**.
42
43
 
43
44
  #### Exemple d'implémentation dans votre `main.scss` :
44
45
 
45
46
  ```scss
46
- @layer vendor, components, utilities;
47
-
48
47
  $prefix: "";
49
48
  $enable-important-utilities: false;
50
49
 
@@ -32,5 +32,5 @@ interface Props extends Omit<ButtonProps, "size"> {
32
32
  * @param {Props} props - Les propriétés du composant.
33
33
  * @returns {JSX.Element} Le composant bouton rendu.
34
34
  */
35
- export declare const Button: ({ children, variant, reverse, size, icon, btnIcon, transparent, className, ...props }: Props & ButtonProps) => import("react/jsx-runtime").JSX.Element;
35
+ export declare const Button: ({ children, variant, reverse, size, icon, btnIcon, transparent, className, ...props }: Props) => import("react/jsx-runtime").JSX.Element;
36
36
  export {};
@@ -1 +1 @@
1
- @layer components{.btn{background-color:var(--primary);color:var(--primary-contrast);--btn-border-color: var(--primary);--btn-hover-bg: var(--primary-dark);--btn-hover-border-color: var(--primary-dark);--btn-active-bg: var(--primary-dark);--btn-active-border-color: var(--primary-dark);--btn-disabled-bg: var(--primary);--btn-disabled-border-color: var(--primary);height:fit-content;display:flex;gap:.3rem}.btn:hover,.btn:focus{box-shadow:var(--box-shadow-md)}.btn-content{display:flex;line-height:initial;gap:.3rem;align-items:center}.btn-icon{display:flex;line-height:initial;justify-content:center;align-items:center;padding:.4rem}.btn-icon .btn-content{flex-direction:column}.btn-reverse{flex-direction:row-reverse}.btn-primary{background-color:rgba(var(--primary-rgb),var(--bg-opacity, 1));color:var(--primary-contrast);--btn-border-color: var(--primary);--btn-hover-border-color: var(--primary);--btn-active-border-color: var(--primary)}.btn-primary-light{background-color:rgba(var(--primary-light-rgb),var(--bg-opacity, 1));color:var(--primary-light-contrast);--btn-border-color: var(--primary-light);--btn-hover-bg: var(--primary);--btn-hover-border-color: var(--primary)}.btn-primary-dark{background-color:rgba(var(--primary-dark-rgb),var(--bg-opacity, 1));color:var(--primary-dark-contrast);--btn-border-color: var(--primary-dark);--btn-hover-bg: var(--primary);--btn-hover-border-color: var(--primary-dark)}.btn-outline-primary{background-color:rgba(var(--primary-rgb),var(--bg-opacity, 1));color:var(--primary-contrast);background:transparent;color:var(--primary);--btn-border-color: var(--primary);--btn-hover-border-color: var(--primary)}.btn-outline-primary-light{background-color:rgba(var(--primary-light-rgb),var(--bg-opacity, 1));color:var(--primary-light-contrast);background:transparent;color:var(--primary);--btn-border-color: var(--primary-light);--btn-hover-bg: var(--primary);--btn-hover-border-color: var(--primary)}.btn-outline-primary-dark{background-color:rgba(var(--primary-dark-rgb),var(--bg-opacity, 1));color:var(--primary-dark-contrast);background:transparent;color:var(--primary-dark);--btn-border-color: var(--primary-dark);--btn-hover-bg: var(--primary);--btn-hover-border-color: var(--primary-dark)}.btn-secondary{background-color:rgba(var(--secondary-rgb),var(--bg-opacity, 1));color:var(--secondary-contrast);--btn-border-color: var(--secondary);--btn-hover-border-color: var(--secondary);--btn-active-border-color: var(--secondary)}.btn-secondary-light{background-color:rgba(var(--secondary-light-rgb),var(--bg-opacity, 1));color:var(--secondary-light-contrast);--btn-border-color: var(--secondary-light);--btn-hover-bg: var(--secondary);--btn-hover-border-color: var(--secondary)}.btn-secondary-dark{background-color:rgba(var(--secondary-dark-rgb),var(--bg-opacity, 1));color:var(--secondary-dark-contrast);--btn-border-color: var(--secondary-dark);--btn-hover-bg: var(--secondary);--btn-hover-border-color: var(--secondary-dark)}.btn-outline-secondary{background-color:rgba(var(--secondary-rgb),var(--bg-opacity, 1));color:var(--secondary-contrast);background:transparent;color:var(--secondary);--btn-border-color: var(--secondary);--btn-hover-border-color: var(--secondary)}.btn-outline-secondary-light{background-color:rgba(var(--secondary-light-rgb),var(--bg-opacity, 1));color:var(--secondary-light-contrast);background:transparent;color:var(--secondary);--btn-border-color: var(--secondary-light);--btn-hover-bg: var(--secondary);--btn-hover-border-color: var(--secondary)}.btn-outline-secondary-dark{background-color:rgba(var(--secondary-dark-rgb),var(--bg-opacity, 1));color:var(--secondary-dark-contrast);background:transparent;color:var(--secondary-dark);--btn-border-color: var(--secondary-dark);--btn-hover-bg: var(--secondary);--btn-hover-border-color: var(--secondary-dark)}.btn-accent{background-color:rgba(var(--accent-rgb),var(--bg-opacity, 1));color:var(--accent-contrast);--btn-border-color: var(--accent);--btn-hover-border-color: var(--accent);--btn-active-border-color: var(--accent)}.btn-accent-light{background-color:rgba(var(--accent-light-rgb),var(--bg-opacity, 1));color:var(--accent-light-contrast);--btn-border-color: var(--accent-light);--btn-hover-bg: var(--accent);--btn-hover-border-color: var(--accent)}.btn-accent-dark{background-color:rgba(var(--accent-dark-rgb),var(--bg-opacity, 1));color:var(--accent-dark-contrast);--btn-border-color: var(--accent-dark);--btn-hover-bg: var(--accent);--btn-hover-border-color: var(--accent-dark)}.btn-outline-accent{background-color:rgba(var(--accent-rgb),var(--bg-opacity, 1));color:var(--accent-contrast);background:transparent;color:var(--accent);--btn-border-color: var(--accent);--btn-hover-border-color: var(--accent)}.btn-outline-accent-light{background-color:rgba(var(--accent-light-rgb),var(--bg-opacity, 1));color:var(--accent-light-contrast);background:transparent;color:var(--accent);--btn-border-color: var(--accent-light);--btn-hover-bg: var(--accent);--btn-hover-border-color: var(--accent)}.btn-outline-accent-dark{background-color:rgba(var(--accent-dark-rgb),var(--bg-opacity, 1));color:var(--accent-dark-contrast);background:transparent;color:var(--accent-dark);--btn-border-color: var(--accent-dark);--btn-hover-bg: var(--accent);--btn-hover-border-color: var(--accent-dark)}.btn-tertiary{background-color:rgba(var(--tertiary-rgb),var(--bg-opacity, 1));color:var(--tertiary-contrast);--btn-border-color: var(--tertiary);--btn-hover-border-color: var(--tertiary);--btn-active-border-color: var(--tertiary)}.btn-tertiary-light{background-color:rgba(var(--tertiary-light-rgb),var(--bg-opacity, 1));color:var(--tertiary-light-contrast);--btn-border-color: var(--tertiary-light);--btn-hover-bg: var(--tertiary);--btn-hover-border-color: var(--tertiary)}.btn-tertiary-dark{background-color:rgba(var(--tertiary-dark-rgb),var(--bg-opacity, 1));color:var(--tertiary-dark-contrast);--btn-border-color: var(--tertiary-dark);--btn-hover-bg: var(--tertiary);--btn-hover-border-color: var(--tertiary-dark)}.btn-outline-tertiary{background-color:rgba(var(--tertiary-rgb),var(--bg-opacity, 1));color:var(--tertiary-contrast);background:transparent;color:var(--tertiary);--btn-border-color: var(--tertiary);--btn-hover-border-color: var(--tertiary)}.btn-outline-tertiary-light{background-color:rgba(var(--tertiary-light-rgb),var(--bg-opacity, 1));color:var(--tertiary-light-contrast);background:transparent;color:var(--tertiary);--btn-border-color: var(--tertiary-light);--btn-hover-bg: var(--tertiary);--btn-hover-border-color: var(--tertiary)}.btn-outline-tertiary-dark{background-color:rgba(var(--tertiary-dark-rgb),var(--bg-opacity, 1));color:var(--tertiary-dark-contrast);background:transparent;color:var(--tertiary-dark);--btn-border-color: var(--tertiary-dark);--btn-hover-bg: var(--tertiary);--btn-hover-border-color: var(--tertiary-dark)}.btn-success{background-color:rgba(var(--success-rgb),var(--bg-opacity, 1));color:var(--success-contrast);--btn-border-color: var(--success);--btn-hover-border-color: var(--success);--btn-active-border-color: var(--success)}.btn-success-light{background-color:rgba(var(--success-light-rgb),var(--bg-opacity, 1));color:var(--success-light-contrast);--btn-border-color: var(--success-light);--btn-hover-bg: var(--success);--btn-hover-border-color: var(--success)}.btn-success-dark{background-color:rgba(var(--success-dark-rgb),var(--bg-opacity, 1));color:var(--success-dark-contrast);--btn-border-color: var(--success-dark);--btn-hover-bg: var(--success);--btn-hover-border-color: var(--success-dark)}.btn-outline-success{background-color:rgba(var(--success-rgb),var(--bg-opacity, 1));color:var(--success-contrast);background:transparent;color:var(--success);--btn-border-color: var(--success);--btn-hover-border-color: var(--success)}.btn-outline-success-light{background-color:rgba(var(--success-light-rgb),var(--bg-opacity, 1));color:var(--success-light-contrast);background:transparent;color:var(--success);--btn-border-color: var(--success-light);--btn-hover-bg: var(--success);--btn-hover-border-color: var(--success)}.btn-outline-success-dark{background-color:rgba(var(--success-dark-rgb),var(--bg-opacity, 1));color:var(--success-dark-contrast);background:transparent;color:var(--success-dark);--btn-border-color: var(--success-dark);--btn-hover-bg: var(--success);--btn-hover-border-color: var(--success-dark)}.btn-danger{background-color:rgba(var(--danger-rgb),var(--bg-opacity, 1));color:var(--danger-contrast);--btn-border-color: var(--danger);--btn-hover-border-color: var(--danger);--btn-active-border-color: var(--danger)}.btn-danger-light{background-color:rgba(var(--danger-light-rgb),var(--bg-opacity, 1));color:var(--danger-light-contrast);--btn-border-color: var(--danger-light);--btn-hover-bg: var(--danger);--btn-hover-border-color: var(--danger)}.btn-danger-dark{background-color:rgba(var(--danger-dark-rgb),var(--bg-opacity, 1));color:var(--danger-dark-contrast);--btn-border-color: var(--danger-dark);--btn-hover-bg: var(--danger);--btn-hover-border-color: var(--danger-dark)}.btn-outline-danger{background-color:rgba(var(--danger-rgb),var(--bg-opacity, 1));color:var(--danger-contrast);background:transparent;color:var(--danger);--btn-border-color: var(--danger);--btn-hover-border-color: var(--danger)}.btn-outline-danger-light{background-color:rgba(var(--danger-light-rgb),var(--bg-opacity, 1));color:var(--danger-light-contrast);background:transparent;color:var(--danger);--btn-border-color: var(--danger-light);--btn-hover-bg: var(--danger);--btn-hover-border-color: var(--danger)}.btn-outline-danger-dark{background-color:rgba(var(--danger-dark-rgb),var(--bg-opacity, 1));color:var(--danger-dark-contrast);background:transparent;color:var(--danger-dark);--btn-border-color: var(--danger-dark);--btn-hover-bg: var(--danger);--btn-hover-border-color: var(--danger-dark)}.btn-warning{background-color:rgba(var(--warning-rgb),var(--bg-opacity, 1));color:var(--warning-contrast);--btn-border-color: var(--warning);--btn-hover-border-color: var(--warning);--btn-active-border-color: var(--warning)}.btn-warning-light{background-color:rgba(var(--warning-light-rgb),var(--bg-opacity, 1));color:var(--warning-light-contrast);--btn-border-color: var(--warning-light);--btn-hover-bg: var(--warning);--btn-hover-border-color: var(--warning)}.btn-warning-dark{background-color:rgba(var(--warning-dark-rgb),var(--bg-opacity, 1));color:var(--warning-dark-contrast);--btn-border-color: var(--warning-dark);--btn-hover-bg: var(--warning);--btn-hover-border-color: var(--warning-dark)}.btn-outline-warning{background-color:rgba(var(--warning-rgb),var(--bg-opacity, 1));color:var(--warning-contrast);background:transparent;color:var(--warning);--btn-border-color: var(--warning);--btn-hover-border-color: var(--warning)}.btn-outline-warning-light{background-color:rgba(var(--warning-light-rgb),var(--bg-opacity, 1));color:var(--warning-light-contrast);background:transparent;color:var(--warning);--btn-border-color: var(--warning-light);--btn-hover-bg: var(--warning);--btn-hover-border-color: var(--warning)}.btn-outline-warning-dark{background-color:rgba(var(--warning-dark-rgb),var(--bg-opacity, 1));color:var(--warning-dark-contrast);background:transparent;color:var(--warning-dark);--btn-border-color: var(--warning-dark);--btn-hover-bg: var(--warning);--btn-hover-border-color: var(--warning-dark)}.btn-info{background-color:rgba(var(--info-rgb),var(--bg-opacity, 1));color:var(--info-contrast);--btn-border-color: var(--info);--btn-hover-border-color: var(--info);--btn-active-border-color: var(--info)}.btn-info-light{background-color:rgba(var(--info-light-rgb),var(--bg-opacity, 1));color:var(--info-light-contrast);--btn-border-color: var(--info-light);--btn-hover-bg: var(--info);--btn-hover-border-color: var(--info)}.btn-info-dark{background-color:rgba(var(--info-dark-rgb),var(--bg-opacity, 1));color:var(--info-dark-contrast);--btn-border-color: var(--info-dark);--btn-hover-bg: var(--info);--btn-hover-border-color: var(--info-dark)}.btn-outline-info{background-color:rgba(var(--info-rgb),var(--bg-opacity, 1));color:var(--info-contrast);background:transparent;color:var(--info);--btn-border-color: var(--info);--btn-hover-border-color: var(--info)}.btn-outline-info-light{background-color:rgba(var(--info-light-rgb),var(--bg-opacity, 1));color:var(--info-light-contrast);background:transparent;color:var(--info);--btn-border-color: var(--info-light);--btn-hover-bg: var(--info);--btn-hover-border-color: var(--info)}.btn-outline-info-dark{background-color:rgba(var(--info-dark-rgb),var(--bg-opacity, 1));color:var(--info-dark-contrast);background:transparent;color:var(--info-dark);--btn-border-color: var(--info-dark);--btn-hover-bg: var(--info);--btn-hover-border-color: var(--info-dark)}.btn-light{background-color:rgba(var(--light-rgb),var(--bg-opacity, 1));color:var(--light-contrast);--btn-border-color: var(--light);--btn-hover-border-color: var(--light);--btn-active-border-color: var(--light)}.btn-light-light{background-color:rgba(var(--light-light-rgb),var(--bg-opacity, 1));color:var(--light-light-contrast);--btn-border-color: var(--light-light);--btn-hover-bg: var(--light);--btn-hover-border-color: var(--light)}.btn-light-dark{background-color:rgba(var(--light-dark-rgb),var(--bg-opacity, 1));color:var(--light-dark-contrast);--btn-border-color: var(--light-dark);--btn-hover-bg: var(--light);--btn-hover-border-color: var(--light-dark)}.btn-outline-light{background-color:rgba(var(--light-rgb),var(--bg-opacity, 1));color:var(--light-contrast);background:transparent;color:var(--light);--btn-border-color: var(--light);--btn-hover-border-color: var(--light)}.btn-outline-light-light{background-color:rgba(var(--light-light-rgb),var(--bg-opacity, 1));color:var(--light-light-contrast);background:transparent;color:var(--light);--btn-border-color: var(--light-light);--btn-hover-bg: var(--light);--btn-hover-border-color: var(--light)}.btn-outline-light-dark{background-color:rgba(var(--light-dark-rgb),var(--bg-opacity, 1));color:var(--light-dark-contrast);background:transparent;color:var(--light-dark);--btn-border-color: var(--light-dark);--btn-hover-bg: var(--light);--btn-hover-border-color: var(--light-dark)}.btn-dark{background-color:rgba(var(--dark-rgb),var(--bg-opacity, 1));color:var(--dark-contrast);--btn-border-color: var(--dark);--btn-hover-border-color: var(--dark);--btn-active-border-color: var(--dark)}.btn-dark-light{background-color:rgba(var(--dark-light-rgb),var(--bg-opacity, 1));color:var(--dark-light-contrast);--btn-border-color: var(--dark-light);--btn-hover-bg: var(--dark);--btn-hover-border-color: var(--dark)}.btn-dark-dark{background-color:rgba(var(--dark-dark-rgb),var(--bg-opacity, 1));color:var(--dark-dark-contrast);--btn-border-color: var(--dark-dark);--btn-hover-bg: var(--dark);--btn-hover-border-color: var(--dark-dark)}.btn-outline-dark{background-color:rgba(var(--dark-rgb),var(--bg-opacity, 1));color:var(--dark-contrast);background:transparent;color:var(--dark);--btn-border-color: var(--dark);--btn-hover-border-color: var(--dark)}.btn-outline-dark-light{background-color:rgba(var(--dark-light-rgb),var(--bg-opacity, 1));color:var(--dark-light-contrast);background:transparent;color:var(--dark);--btn-border-color: var(--dark-light);--btn-hover-bg: var(--dark);--btn-hover-border-color: var(--dark)}.btn-outline-dark-dark{background-color:rgba(var(--dark-dark-rgb),var(--bg-opacity, 1));color:var(--dark-dark-contrast);background:transparent;color:var(--dark-dark);--btn-border-color: var(--dark-dark);--btn-hover-bg: var(--dark);--btn-hover-border-color: var(--dark-dark)}.btn-transparent{background:transparent;border:none;color:currentColor}.btn-transparent:hover{box-shadow:none}.btn-none{--btn-font-size: calc(var(--spacing-none) * 0);--btn-padding-y: calc(var(--spacing-none) * 0 * .5);--btn-padding-x: calc(var(--spacing-none) * 0);--btn-border-radius: var(--border-radius)}.btn-xs{--btn-font-size: calc(var(--spacing-xs) * 3);--btn-padding-y: calc(var(--spacing-xs) * 3 * .5);--btn-padding-x: calc(var(--spacing-xs) * 3);--btn-border-radius: var(--border-radius)}.btn-sm{--btn-font-size: calc(var(--spacing-sm) * 1.75);--btn-padding-y: calc(var(--spacing-sm) * 1.75 * .5);--btn-padding-x: calc(var(--spacing-sm) * 1.75);--btn-border-radius: var(--border-radius)}.btn-md{--btn-font-size: calc(var(--spacing-md) * 1);--btn-padding-y: calc(var(--spacing-md) * 1 * .5);--btn-padding-x: calc(var(--spacing-md) * 1);--btn-border-radius: var(--border-radius)}.btn-lg{--btn-font-size: calc(var(--spacing-lg) * .625);--btn-padding-y: calc(var(--spacing-lg) * .625 * .5);--btn-padding-x: calc(var(--spacing-lg) * .625);--btn-border-radius: var(--border-radius)}.btn-xl{--btn-font-size: calc(var(--spacing-xl) * .375);--btn-padding-y: calc(var(--spacing-xl) * .375 * .5);--btn-padding-x: calc(var(--spacing-xl) * .375);--btn-border-radius: var(--border-radius)}.btn-2xl{--btn-font-size: calc(var(--spacing-2xl) * .25);--btn-padding-y: calc(var(--spacing-2xl) * .25 * .5);--btn-padding-x: calc(var(--spacing-2xl) * .25);--btn-border-radius: var(--border-radius)}.btn-3xl{--btn-font-size: calc(var(--spacing-3xl) * .15);--btn-padding-y: calc(var(--spacing-3xl) * .15 * .5);--btn-padding-x: calc(var(--spacing-3xl) * .15);--btn-border-radius: var(--border-radius)}.btn-4xl{--btn-font-size: calc(var(--spacing-4xl) * .14);--btn-padding-y: calc(var(--spacing-4xl) * .14 * .5);--btn-padding-x: calc(var(--spacing-4xl) * .14);--btn-border-radius: var(--border-radius)}.btn-close{--btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e");--btn-close-opacity: .5;--btn-close-hover-opacity: .75;--btn-close-focus-shadow: 0 0 0 .1rem var(--primary);--btn-close-focus-opacity: 1;--btn-close-disabled-opacity: .25;-webkit-mask-image:var(--btn-close-bg);mask-image:var(--btn-close-bg);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}}
1
+ @layer components{.btn{background-color:var(--primary);color:var(--primary-contrast);--btn-border-color: var(--primary);--btn-hover-bg: var(--primary-dark);--btn-hover-border-color: var(--primary-dark);--btn-active-bg: var(--primary-dark);--btn-active-border-color: var(--primary-dark);--btn-disabled-bg: var(--gray-300);--btn-disabled-border-color: var(--gray-300);height:fit-content;display:flex;gap:.3rem}.btn:hover,.btn:focus{box-shadow:var(--box-shadow-md)}.btn-content{display:flex;line-height:initial;gap:.3rem;align-items:center}.btn-icon{display:flex;line-height:initial;justify-content:center;align-items:center;padding:.4rem}.btn-icon .btn-content{flex-direction:column}.btn-reverse{flex-direction:row-reverse}.btn-primary{background-color:rgba(var(--primary-rgb),var(--bg-opacity, 1));color:var(--primary-contrast);--btn-border-color: var(--primary);--btn-hover-border-color: var(--primary);--btn-active-border-color: var(--primary)}.btn-primary-light{background-color:rgba(var(--primary-light-rgb),var(--bg-opacity, 1));color:var(--primary-light-contrast);--btn-border-color: var(--primary-light);--btn-hover-bg: var(--primary);--btn-hover-border-color: var(--primary)}.btn-primary-dark{background-color:rgba(var(--primary-dark-rgb),var(--bg-opacity, 1));color:var(--primary-dark-contrast);--btn-border-color: var(--primary-dark);--btn-hover-bg: var(--primary);--btn-hover-border-color: var(--primary-dark)}.btn-outline-primary{background-color:rgba(var(--primary-rgb),var(--bg-opacity, 1));color:var(--primary-contrast);background:transparent;color:var(--primary);--btn-border-color: var(--primary);--btn-hover-border-color: var(--primary)}.btn-outline-primary-light{background-color:rgba(var(--primary-light-rgb),var(--bg-opacity, 1));color:var(--primary-light-contrast);background:transparent;color:var(--primary);--btn-border-color: var(--primary-light);--btn-hover-bg: var(--primary);--btn-hover-border-color: var(--primary)}.btn-outline-primary-dark{background-color:rgba(var(--primary-dark-rgb),var(--bg-opacity, 1));color:var(--primary-dark-contrast);background:transparent;color:var(--primary-dark);--btn-border-color: var(--primary-dark);--btn-hover-bg: var(--primary);--btn-hover-border-color: var(--primary-dark)}.btn-secondary{background-color:rgba(var(--secondary-rgb),var(--bg-opacity, 1));color:var(--secondary-contrast);--btn-border-color: var(--secondary);--btn-hover-border-color: var(--secondary);--btn-active-border-color: var(--secondary)}.btn-secondary-light{background-color:rgba(var(--secondary-light-rgb),var(--bg-opacity, 1));color:var(--secondary-light-contrast);--btn-border-color: var(--secondary-light);--btn-hover-bg: var(--secondary);--btn-hover-border-color: var(--secondary)}.btn-secondary-dark{background-color:rgba(var(--secondary-dark-rgb),var(--bg-opacity, 1));color:var(--secondary-dark-contrast);--btn-border-color: var(--secondary-dark);--btn-hover-bg: var(--secondary);--btn-hover-border-color: var(--secondary-dark)}.btn-outline-secondary{background-color:rgba(var(--secondary-rgb),var(--bg-opacity, 1));color:var(--secondary-contrast);background:transparent;color:var(--secondary);--btn-border-color: var(--secondary);--btn-hover-border-color: var(--secondary)}.btn-outline-secondary-light{background-color:rgba(var(--secondary-light-rgb),var(--bg-opacity, 1));color:var(--secondary-light-contrast);background:transparent;color:var(--secondary);--btn-border-color: var(--secondary-light);--btn-hover-bg: var(--secondary);--btn-hover-border-color: var(--secondary)}.btn-outline-secondary-dark{background-color:rgba(var(--secondary-dark-rgb),var(--bg-opacity, 1));color:var(--secondary-dark-contrast);background:transparent;color:var(--secondary-dark);--btn-border-color: var(--secondary-dark);--btn-hover-bg: var(--secondary);--btn-hover-border-color: var(--secondary-dark)}.btn-accent{background-color:rgba(var(--accent-rgb),var(--bg-opacity, 1));color:var(--accent-contrast);--btn-border-color: var(--accent);--btn-hover-border-color: var(--accent);--btn-active-border-color: var(--accent)}.btn-accent-light{background-color:rgba(var(--accent-light-rgb),var(--bg-opacity, 1));color:var(--accent-light-contrast);--btn-border-color: var(--accent-light);--btn-hover-bg: var(--accent);--btn-hover-border-color: var(--accent)}.btn-accent-dark{background-color:rgba(var(--accent-dark-rgb),var(--bg-opacity, 1));color:var(--accent-dark-contrast);--btn-border-color: var(--accent-dark);--btn-hover-bg: var(--accent);--btn-hover-border-color: var(--accent-dark)}.btn-outline-accent{background-color:rgba(var(--accent-rgb),var(--bg-opacity, 1));color:var(--accent-contrast);background:transparent;color:var(--accent);--btn-border-color: var(--accent);--btn-hover-border-color: var(--accent)}.btn-outline-accent-light{background-color:rgba(var(--accent-light-rgb),var(--bg-opacity, 1));color:var(--accent-light-contrast);background:transparent;color:var(--accent);--btn-border-color: var(--accent-light);--btn-hover-bg: var(--accent);--btn-hover-border-color: var(--accent)}.btn-outline-accent-dark{background-color:rgba(var(--accent-dark-rgb),var(--bg-opacity, 1));color:var(--accent-dark-contrast);background:transparent;color:var(--accent-dark);--btn-border-color: var(--accent-dark);--btn-hover-bg: var(--accent);--btn-hover-border-color: var(--accent-dark)}.btn-tertiary{background-color:rgba(var(--tertiary-rgb),var(--bg-opacity, 1));color:var(--tertiary-contrast);--btn-border-color: var(--tertiary);--btn-hover-border-color: var(--tertiary);--btn-active-border-color: var(--tertiary)}.btn-tertiary-light{background-color:rgba(var(--tertiary-light-rgb),var(--bg-opacity, 1));color:var(--tertiary-light-contrast);--btn-border-color: var(--tertiary-light);--btn-hover-bg: var(--tertiary);--btn-hover-border-color: var(--tertiary)}.btn-tertiary-dark{background-color:rgba(var(--tertiary-dark-rgb),var(--bg-opacity, 1));color:var(--tertiary-dark-contrast);--btn-border-color: var(--tertiary-dark);--btn-hover-bg: var(--tertiary);--btn-hover-border-color: var(--tertiary-dark)}.btn-outline-tertiary{background-color:rgba(var(--tertiary-rgb),var(--bg-opacity, 1));color:var(--tertiary-contrast);background:transparent;color:var(--tertiary);--btn-border-color: var(--tertiary);--btn-hover-border-color: var(--tertiary)}.btn-outline-tertiary-light{background-color:rgba(var(--tertiary-light-rgb),var(--bg-opacity, 1));color:var(--tertiary-light-contrast);background:transparent;color:var(--tertiary);--btn-border-color: var(--tertiary-light);--btn-hover-bg: var(--tertiary);--btn-hover-border-color: var(--tertiary)}.btn-outline-tertiary-dark{background-color:rgba(var(--tertiary-dark-rgb),var(--bg-opacity, 1));color:var(--tertiary-dark-contrast);background:transparent;color:var(--tertiary-dark);--btn-border-color: var(--tertiary-dark);--btn-hover-bg: var(--tertiary);--btn-hover-border-color: var(--tertiary-dark)}.btn-success{background-color:rgba(var(--success-rgb),var(--bg-opacity, 1));color:var(--success-contrast);--btn-border-color: var(--success);--btn-hover-border-color: var(--success);--btn-active-border-color: var(--success)}.btn-success-light{background-color:rgba(var(--success-light-rgb),var(--bg-opacity, 1));color:var(--success-light-contrast);--btn-border-color: var(--success-light);--btn-hover-bg: var(--success);--btn-hover-border-color: var(--success)}.btn-success-dark{background-color:rgba(var(--success-dark-rgb),var(--bg-opacity, 1));color:var(--success-dark-contrast);--btn-border-color: var(--success-dark);--btn-hover-bg: var(--success);--btn-hover-border-color: var(--success-dark)}.btn-outline-success{background-color:rgba(var(--success-rgb),var(--bg-opacity, 1));color:var(--success-contrast);background:transparent;color:var(--success);--btn-border-color: var(--success);--btn-hover-border-color: var(--success)}.btn-outline-success-light{background-color:rgba(var(--success-light-rgb),var(--bg-opacity, 1));color:var(--success-light-contrast);background:transparent;color:var(--success);--btn-border-color: var(--success-light);--btn-hover-bg: var(--success);--btn-hover-border-color: var(--success)}.btn-outline-success-dark{background-color:rgba(var(--success-dark-rgb),var(--bg-opacity, 1));color:var(--success-dark-contrast);background:transparent;color:var(--success-dark);--btn-border-color: var(--success-dark);--btn-hover-bg: var(--success);--btn-hover-border-color: var(--success-dark)}.btn-danger{background-color:rgba(var(--danger-rgb),var(--bg-opacity, 1));color:var(--danger-contrast);--btn-border-color: var(--danger);--btn-hover-border-color: var(--danger);--btn-active-border-color: var(--danger)}.btn-danger-light{background-color:rgba(var(--danger-light-rgb),var(--bg-opacity, 1));color:var(--danger-light-contrast);--btn-border-color: var(--danger-light);--btn-hover-bg: var(--danger);--btn-hover-border-color: var(--danger)}.btn-danger-dark{background-color:rgba(var(--danger-dark-rgb),var(--bg-opacity, 1));color:var(--danger-dark-contrast);--btn-border-color: var(--danger-dark);--btn-hover-bg: var(--danger);--btn-hover-border-color: var(--danger-dark)}.btn-outline-danger{background-color:rgba(var(--danger-rgb),var(--bg-opacity, 1));color:var(--danger-contrast);background:transparent;color:var(--danger);--btn-border-color: var(--danger);--btn-hover-border-color: var(--danger)}.btn-outline-danger-light{background-color:rgba(var(--danger-light-rgb),var(--bg-opacity, 1));color:var(--danger-light-contrast);background:transparent;color:var(--danger);--btn-border-color: var(--danger-light);--btn-hover-bg: var(--danger);--btn-hover-border-color: var(--danger)}.btn-outline-danger-dark{background-color:rgba(var(--danger-dark-rgb),var(--bg-opacity, 1));color:var(--danger-dark-contrast);background:transparent;color:var(--danger-dark);--btn-border-color: var(--danger-dark);--btn-hover-bg: var(--danger);--btn-hover-border-color: var(--danger-dark)}.btn-warning{background-color:rgba(var(--warning-rgb),var(--bg-opacity, 1));color:var(--warning-contrast);--btn-border-color: var(--warning);--btn-hover-border-color: var(--warning);--btn-active-border-color: var(--warning)}.btn-warning-light{background-color:rgba(var(--warning-light-rgb),var(--bg-opacity, 1));color:var(--warning-light-contrast);--btn-border-color: var(--warning-light);--btn-hover-bg: var(--warning);--btn-hover-border-color: var(--warning)}.btn-warning-dark{background-color:rgba(var(--warning-dark-rgb),var(--bg-opacity, 1));color:var(--warning-dark-contrast);--btn-border-color: var(--warning-dark);--btn-hover-bg: var(--warning);--btn-hover-border-color: var(--warning-dark)}.btn-outline-warning{background-color:rgba(var(--warning-rgb),var(--bg-opacity, 1));color:var(--warning-contrast);background:transparent;color:var(--warning);--btn-border-color: var(--warning);--btn-hover-border-color: var(--warning)}.btn-outline-warning-light{background-color:rgba(var(--warning-light-rgb),var(--bg-opacity, 1));color:var(--warning-light-contrast);background:transparent;color:var(--warning);--btn-border-color: var(--warning-light);--btn-hover-bg: var(--warning);--btn-hover-border-color: var(--warning)}.btn-outline-warning-dark{background-color:rgba(var(--warning-dark-rgb),var(--bg-opacity, 1));color:var(--warning-dark-contrast);background:transparent;color:var(--warning-dark);--btn-border-color: var(--warning-dark);--btn-hover-bg: var(--warning);--btn-hover-border-color: var(--warning-dark)}.btn-info{background-color:rgba(var(--info-rgb),var(--bg-opacity, 1));color:var(--info-contrast);--btn-border-color: var(--info);--btn-hover-border-color: var(--info);--btn-active-border-color: var(--info)}.btn-info-light{background-color:rgba(var(--info-light-rgb),var(--bg-opacity, 1));color:var(--info-light-contrast);--btn-border-color: var(--info-light);--btn-hover-bg: var(--info);--btn-hover-border-color: var(--info)}.btn-info-dark{background-color:rgba(var(--info-dark-rgb),var(--bg-opacity, 1));color:var(--info-dark-contrast);--btn-border-color: var(--info-dark);--btn-hover-bg: var(--info);--btn-hover-border-color: var(--info-dark)}.btn-outline-info{background-color:rgba(var(--info-rgb),var(--bg-opacity, 1));color:var(--info-contrast);background:transparent;color:var(--info);--btn-border-color: var(--info);--btn-hover-border-color: var(--info)}.btn-outline-info-light{background-color:rgba(var(--info-light-rgb),var(--bg-opacity, 1));color:var(--info-light-contrast);background:transparent;color:var(--info);--btn-border-color: var(--info-light);--btn-hover-bg: var(--info);--btn-hover-border-color: var(--info)}.btn-outline-info-dark{background-color:rgba(var(--info-dark-rgb),var(--bg-opacity, 1));color:var(--info-dark-contrast);background:transparent;color:var(--info-dark);--btn-border-color: var(--info-dark);--btn-hover-bg: var(--info);--btn-hover-border-color: var(--info-dark)}.btn-light{background-color:rgba(var(--light-rgb),var(--bg-opacity, 1));color:var(--light-contrast);--btn-border-color: var(--light);--btn-hover-border-color: var(--light);--btn-active-border-color: var(--light)}.btn-light-light{background-color:rgba(var(--light-light-rgb),var(--bg-opacity, 1));color:var(--light-light-contrast);--btn-border-color: var(--light-light);--btn-hover-bg: var(--light);--btn-hover-border-color: var(--light)}.btn-light-dark{background-color:rgba(var(--light-dark-rgb),var(--bg-opacity, 1));color:var(--light-dark-contrast);--btn-border-color: var(--light-dark);--btn-hover-bg: var(--light);--btn-hover-border-color: var(--light-dark)}.btn-outline-light{background-color:rgba(var(--light-rgb),var(--bg-opacity, 1));color:var(--light-contrast);background:transparent;color:var(--light);--btn-border-color: var(--light);--btn-hover-border-color: var(--light)}.btn-outline-light-light{background-color:rgba(var(--light-light-rgb),var(--bg-opacity, 1));color:var(--light-light-contrast);background:transparent;color:var(--light);--btn-border-color: var(--light-light);--btn-hover-bg: var(--light);--btn-hover-border-color: var(--light)}.btn-outline-light-dark{background-color:rgba(var(--light-dark-rgb),var(--bg-opacity, 1));color:var(--light-dark-contrast);background:transparent;color:var(--light-dark);--btn-border-color: var(--light-dark);--btn-hover-bg: var(--light);--btn-hover-border-color: var(--light-dark)}.btn-dark{background-color:rgba(var(--dark-rgb),var(--bg-opacity, 1));color:var(--dark-contrast);--btn-border-color: var(--dark);--btn-hover-border-color: var(--dark);--btn-active-border-color: var(--dark)}.btn-dark-light{background-color:rgba(var(--dark-light-rgb),var(--bg-opacity, 1));color:var(--dark-light-contrast);--btn-border-color: var(--dark-light);--btn-hover-bg: var(--dark);--btn-hover-border-color: var(--dark)}.btn-dark-dark{background-color:rgba(var(--dark-dark-rgb),var(--bg-opacity, 1));color:var(--dark-dark-contrast);--btn-border-color: var(--dark-dark);--btn-hover-bg: var(--dark);--btn-hover-border-color: var(--dark-dark)}.btn-outline-dark{background-color:rgba(var(--dark-rgb),var(--bg-opacity, 1));color:var(--dark-contrast);background:transparent;color:var(--dark);--btn-border-color: var(--dark);--btn-hover-border-color: var(--dark)}.btn-outline-dark-light{background-color:rgba(var(--dark-light-rgb),var(--bg-opacity, 1));color:var(--dark-light-contrast);background:transparent;color:var(--dark);--btn-border-color: var(--dark-light);--btn-hover-bg: var(--dark);--btn-hover-border-color: var(--dark)}.btn-outline-dark-dark{background-color:rgba(var(--dark-dark-rgb),var(--bg-opacity, 1));color:var(--dark-dark-contrast);background:transparent;color:var(--dark-dark);--btn-border-color: var(--dark-dark);--btn-hover-bg: var(--dark);--btn-hover-border-color: var(--dark-dark)}.btn-transparent{background:transparent;border:none;color:currentColor}.btn-transparent:hover{box-shadow:none}.btn-none{--btn-font-size: calc(var(--spacing-none) * 0);--btn-padding-y: calc(var(--spacing-none) * 0 * .5);--btn-padding-x: calc(var(--spacing-none) * 0);--btn-border-radius: var(--border-radius)}.btn-xs{--btn-font-size: calc(var(--spacing-xs) * 3);--btn-padding-y: calc(var(--spacing-xs) * 3 * .5);--btn-padding-x: calc(var(--spacing-xs) * 3);--btn-border-radius: var(--border-radius)}.btn-sm{--btn-font-size: calc(var(--spacing-sm) * 1.75);--btn-padding-y: calc(var(--spacing-sm) * 1.75 * .5);--btn-padding-x: calc(var(--spacing-sm) * 1.75);--btn-border-radius: var(--border-radius)}.btn-md{--btn-font-size: calc(var(--spacing-md) * 1);--btn-padding-y: calc(var(--spacing-md) * 1 * .5);--btn-padding-x: calc(var(--spacing-md) * 1);--btn-border-radius: var(--border-radius)}.btn-lg{--btn-font-size: calc(var(--spacing-lg) * .625);--btn-padding-y: calc(var(--spacing-lg) * .625 * .5);--btn-padding-x: calc(var(--spacing-lg) * .625);--btn-border-radius: var(--border-radius)}.btn-xl{--btn-font-size: calc(var(--spacing-xl) * .375);--btn-padding-y: calc(var(--spacing-xl) * .375 * .5);--btn-padding-x: calc(var(--spacing-xl) * .375);--btn-border-radius: var(--border-radius)}.btn-2xl{--btn-font-size: calc(var(--spacing-2xl) * .25);--btn-padding-y: calc(var(--spacing-2xl) * .25 * .5);--btn-padding-x: calc(var(--spacing-2xl) * .25);--btn-border-radius: var(--border-radius)}.btn-3xl{--btn-font-size: calc(var(--spacing-3xl) * .15);--btn-padding-y: calc(var(--spacing-3xl) * .15 * .5);--btn-padding-x: calc(var(--spacing-3xl) * .15);--btn-border-radius: var(--border-radius)}.btn-4xl{--btn-font-size: calc(var(--spacing-4xl) * .14);--btn-padding-y: calc(var(--spacing-4xl) * .14 * .5);--btn-padding-x: calc(var(--spacing-4xl) * .14);--btn-border-radius: var(--border-radius)}.btn-close{--btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e");--btn-close-opacity: .5;--btn-close-hover-opacity: .75;--btn-close-focus-shadow: 0 0 0 .1rem var(--primary);--btn-close-focus-opacity: 1;--btn-close-disabled-opacity: .25;-webkit-mask-image:var(--btn-close-bg);mask-image:var(--btn-close-bg);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.btn:disabled{background-color:color-mix(in srgb,var(--primary),white 85%);border-color:color-mix(in srgb,var(--primary),white 85%);color:color-mix(in srgb,var(--primary),white 60%)}}
@@ -1,5 +1,5 @@
1
1
  import { jsxs as i, jsx as o } from "react/jsx-runtime";
2
- import { tokens as t } from "../../../core/styles/tokens.js";
2
+ import { tokens as e } from "../../../core/styles/tokens.js";
3
3
  import '../../Placeholder/style/index.css';import '../../Logo/style/index.css';import '../../Radius/style/index.css';import '../../Shadow/style/index.css';import '../../../node_modules/.pnpm/flag-icons@7.5.0/node_modules/flag-icons/css/flag-icons.min.css';import '../../Context-menu/style/index.css';import '../../Divider/style/index.css';import '../../Badge/style/index.css';import '../../Avatar/style/index.css';import '../../Icon/style/index.css';import '../../Button/style/index.css';import '../style/index.css';import '../../../core/styles/main.css';/* empty css */
4
4
  /* empty css */
5
5
  import "react-bootstrap";
@@ -21,29 +21,30 @@ import "../../Dropdown/react/index.js";
21
21
  import "../../Modal/react/index.js";
22
22
  /* empty css */
23
23
  import "../../Tooltip/react/index.js";
24
- const w = ({ name: r }) => {
25
- const e = t.brands[r];
24
+ import "../../Table/react/index.js";
25
+ const y = ({ name: r }) => {
26
+ const t = e.brands[r];
26
27
  return /* @__PURE__ */ i(l, { children: [
27
28
  /* @__PURE__ */ o("div", { className: `color bg-${r} p-4`, children: /* @__PURE__ */ i(l, { vertical: !0, center: !0, children: [
28
29
  /* @__PURE__ */ o("span", { className: "color__name", children: r }),
29
- /* @__PURE__ */ o("span", { className: "color__value", children: e.value })
30
+ /* @__PURE__ */ o("span", { className: "color__value", children: t.value })
30
31
  ] }) }),
31
32
  /* @__PURE__ */ o("div", { className: `color bg-${r}-light p-4`, children: /* @__PURE__ */ i(l, { vertical: !0, center: !0, children: [
32
33
  /* @__PURE__ */ i("span", { className: "color__name", children: [
33
34
  r,
34
35
  "-light"
35
36
  ] }),
36
- /* @__PURE__ */ o("span", { className: "color__value", children: e.value })
37
+ /* @__PURE__ */ o("span", { className: "color__value", children: t.value })
37
38
  ] }) }),
38
39
  /* @__PURE__ */ o("div", { className: `color bg-${r}-dark p-4`, children: /* @__PURE__ */ i(l, { vertical: !0, center: !0, children: [
39
40
  /* @__PURE__ */ i("span", { className: "color__name", children: [
40
41
  r,
41
42
  "-dark"
42
43
  ] }),
43
- /* @__PURE__ */ o("span", { className: "color__value", children: e.value })
44
+ /* @__PURE__ */ o("span", { className: "color__value", children: t.value })
44
45
  ] }) })
45
46
  ] });
46
47
  };
47
48
  export {
48
- w as Color
49
+ y as Color
49
50
  };
@@ -33,6 +33,10 @@ interface Props {
33
33
  * Désactiver le composant.
34
34
  */
35
35
  disabled?: boolean;
36
+ /**
37
+ * Activer/Désactiver la recherche (par défaut: true).
38
+ */
39
+ searchable?: boolean;
36
40
  /**
37
41
  * Classe CSS additionnelle.
38
42
  */
@@ -44,5 +48,5 @@ interface Props {
44
48
  * @param {Props} props - Les propriétés du composant.
45
49
  * @returns {JSX.Element} Le composant Select rendu.
46
50
  */
47
- export declare const Select: ({ options, value, onChange, multiple, placeholder, disabled, className, }: Props) => import("react/jsx-runtime").JSX.Element;
51
+ export declare const Select: ({ options, value, onChange, multiple, placeholder, disabled, searchable, className, }: Props) => import("react/jsx-runtime").JSX.Element;
48
52
  export {};
@@ -1,16 +1,17 @@
1
- import { jsx as f } from "react/jsx-runtime";
2
- import { useRef as l, useEffect as a } from "react";
3
- import { initSelect as d } from "../js/select.js";
4
- const N = ({
1
+ import { jsx as l } from "react/jsx-runtime";
2
+ import { useRef as f, useEffect as a } from "react";
3
+ import { initSelect as h } from "../js/select.js";
4
+ const x = ({
5
5
  options: s,
6
6
  value: r,
7
7
  onChange: u,
8
8
  multiple: i = !1,
9
9
  placeholder: o = "Sélectionnez une option",
10
10
  disabled: m = !1,
11
- className: y = ""
11
+ searchable: y = !0,
12
+ className: d = ""
12
13
  }) => {
13
- const n = l(null), e = l(null);
14
+ const n = f(null), e = f(null);
14
15
  return a(() => {
15
16
  if (s) {
16
17
  if (n.current) {
@@ -20,10 +21,11 @@ const N = ({
20
21
  label: t.text,
21
22
  selected: Array.isArray(r) ? r.includes(t.value) : r === t.value
22
23
  }));
23
- e.current = d(n.current, {
24
+ e.current = h(n.current, {
24
25
  choices: c,
25
26
  removeItemButton: i,
26
27
  placeholderValue: o,
28
+ searchEnabled: y,
27
29
  silent: !0
28
30
  }, u);
29
31
  }
@@ -36,7 +38,7 @@ const N = ({
36
38
  const c = e.current.getValue(!0), t = Array.isArray(r) ? r : [r], A = Array.isArray(c) ? c : [c];
37
39
  JSON.stringify(t.sort()) !== JSON.stringify(A.sort()) && e.current.setChoiceByValue(r);
38
40
  }
39
- }, [r]), /* @__PURE__ */ f("div", { className: `form__input ${y}`.trim(), children: /* @__PURE__ */ f(
41
+ }, [r]), /* @__PURE__ */ l("div", { className: `form__input ${d}`.trim(), children: /* @__PURE__ */ l(
40
42
  "select",
41
43
  {
42
44
  ref: n,
@@ -47,5 +49,5 @@ const N = ({
47
49
  ) });
48
50
  };
49
51
  export {
50
- N as Select
52
+ x as Select
51
53
  };
@@ -27,6 +27,10 @@ interface Props {
27
27
  * Espacement entre les éléments (gap).
28
28
  */
29
29
  gap?: "none" | "xs" | "sm" | "md" | "lg" | "xl";
30
+ /**
31
+ * Alignement des éléments.
32
+ */
33
+ align?: "start" | "end" | "center";
30
34
  }
31
35
  /**
32
36
  * Composant de groupement simple.
@@ -35,5 +39,5 @@ interface Props {
35
39
  * @param {Props} props - Les propriétés du composant.
36
40
  * @returns {JSX.Element} Le composant Group rendu.
37
41
  */
38
- export declare const Group: ({ children, vertical, title, className, gap, center, ariaLabel, }: Props) => import("react/jsx-runtime").JSX.Element;
42
+ export declare const Group: ({ children, vertical, title, className, gap, center, ariaLabel, align, }: Props) => import("react/jsx-runtime").JSX.Element;
39
43
  export {};
@@ -1,24 +1,25 @@
1
- import { jsx as n } from "react/jsx-runtime";
1
+ import { jsx as $ } from "react/jsx-runtime";
2
2
  import '../style/index.css';/* empty css */
3
- const i = ({
4
- children: s,
5
- vertical: e = !1,
3
+ const d = ({
4
+ children: o,
5
+ vertical: a = !1,
6
6
  title: r = "",
7
- className: a = "",
8
- gap: o = "md",
9
- center: t = !1,
10
- ariaLabel: l = r ? `Groupe d'éléments ${r}` : "Groupe d'éléments"
7
+ className: t = "",
8
+ gap: e = "md",
9
+ center: p = !1,
10
+ ariaLabel: l = r ? `Groupe d'éléments ${r}` : "Groupe d'éléments",
11
+ align: s = "start"
11
12
  }) => {
12
- const p = e ? "group--vertical" : "", c = `group--gap-${o}`;
13
- return /* @__PURE__ */ n(
13
+ const c = a ? "group--vertical" : "", n = `group--gap-${e}`, u = p ? "group--center" : "", m = s ? `group--${s}` : "";
14
+ return /* @__PURE__ */ $(
14
15
  "div",
15
16
  {
16
17
  "aria-label": l,
17
- className: `group ${p} ${c} ${t ? "group--center" : ""} ${a}`.trim(),
18
- children: s
18
+ className: `group ${c} ${n} ${u} ${m} ${t}`.trim(),
19
+ children: o
19
20
  }
20
21
  );
21
22
  };
22
23
  export {
23
- i as Group
24
+ d as Group
24
25
  };
@@ -1 +1 @@
1
- @layer components{.group{display:flex;flex-wrap:wrap;gap:.5rem}.group--vertical{flex-direction:column;align-items:flex-start}.group--horizontal{flex-direction:row;align-items:center}.group--no-wrap{flex-wrap:nowrap}.group--gap-none{gap:0}.group--center{align-items:center;justify-content:center}}
1
+ @layer components{.group{display:flex;flex-wrap:wrap;gap:.5rem}.group--vertical{flex-direction:column;align-items:flex-start}.group--horizontal{flex-direction:row;align-items:center}.group--no-wrap{flex-wrap:nowrap}.group--gap-none{gap:0}.group--center{align-items:center;justify-content:center}.group--start{justify-content:flex-start}.group--end{justify-content:flex-end}}
@@ -9,7 +9,7 @@ interface Props {
9
9
  /**
10
10
  * Variants.
11
11
  */
12
- variant?: 'base' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'pill';
12
+ variant?: 'none' | 'base' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'pill';
13
13
  /**
14
14
  * Value.
15
15
  */
@@ -1 +1 @@
1
- @layer components{.radius{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:1rem;border:var(--border-width) solid var(--border-color)}.radius--none{border-radius:0}.radius--base{border-radius:var(--size-xs)}.radius--sm{border-radius:var(--size-sm)}.radius--md{border-radius:var(--size-md)}.radius--lg{border-radius:var(--size-lg)}.radius--pill{border-radius:999rem}}
1
+ @layer components{.radius{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:1rem;border:var(--border-width) solid var(--border-color)}.radius--none{border-radius:0}.radius--base{border-radius:var(--size-xs)}.radius--sm{border-radius:var(--size-sm)}.radius--md{border-radius:var(--size-md)}.radius--lg{border-radius:var(--size-lg)}.radius--xl{border-radius:var(--size-xl)}.radius--2xl{border-radius:var(--size-2xl)}.radius--pill{border-radius:999rem}}
@@ -0,0 +1,134 @@
1
+ import { GridApi } from 'ag-grid-community';
2
+ /**
3
+ * Interface pour les données d'une ligne.
4
+ */
5
+ export interface RowData {
6
+ [key: string]: any;
7
+ }
8
+ /**
9
+ * Interface pour la définition d'une colonne.
10
+ */
11
+ export interface ColumnDef {
12
+ field: string;
13
+ headerName?: string;
14
+ /**
15
+ * Fixe la colonne à gauche ou à droite.
16
+ */
17
+ fixed?: boolean | 'left' | 'right' | string;
18
+ [key: string]: any;
19
+ }
20
+ /**
21
+ * Options de configuration pour le tableau.
22
+ */
23
+ export interface TableOptions {
24
+ /**
25
+ * Données à afficher dans le tableau.
26
+ */
27
+ rowData?: RowData[];
28
+ /**
29
+ * Définition des colonnes du tableau.
30
+ */
31
+ columnDefs?: ColumnDef[];
32
+ /**
33
+ * Thème Ag-Grid à utiliser (par défaut: ag-theme-alpine).
34
+ */
35
+ theme?: string;
36
+ /**
37
+ * Classe CSS additionnelle.
38
+ */
39
+ className?: string;
40
+ /**
41
+ * Active la sélection de lignes.
42
+ */
43
+ selectable?: boolean;
44
+ /**
45
+ * Active la pagination.
46
+ */
47
+ pagination?: boolean;
48
+ /**
49
+ * Nombre de lignes par page (par défaut: 10).
50
+ */
51
+ paginationPageSize?: number;
52
+ /**
53
+ * Active le redimensionnement des colonnes (par défaut: false).
54
+ */
55
+ resizable?: boolean;
56
+ /**
57
+ * Langue du tableau (par défaut: 'fr').
58
+ */
59
+ locale?: 'fr' | 'en';
60
+ /**
61
+ * Options personnalisées pour la colonne de sélection (checkbox).
62
+ */
63
+ selectionColumnDef?: any;
64
+ /**
65
+ * Règles de classes dynamiques pour les lignes.
66
+ */
67
+ rowClassRules?: {
68
+ [cssClassName: string]: (params: any) => boolean;
69
+ };
70
+ /**
71
+ * Supprime la possibilité de déplacer les colonnes.
72
+ */
73
+ suppressMovableColumns?: boolean;
74
+ /**
75
+ * Affiche l'icône de menu/filtre en permanence (ne se cache pas).
76
+ */
77
+ suppressMenuHide?: boolean;
78
+ /**
79
+ * Type de modèle de ligne (ex: 'infinite' pour pagination serveur).
80
+ */
81
+ rowModelType?: 'clientSide' | 'infinite' | 'viewport' | 'serverSide';
82
+ /**
83
+ * Source de données pour le modèle de ligne 'infinite'.
84
+ */
85
+ datasource?: any;
86
+ /**
87
+ * Taille du bloc de données à charger et à mettre en cache.
88
+ */
89
+ cacheBlockSize?: number;
90
+ /**
91
+ * Nombre maximum de blocs à conserver en mémoire.
92
+ */
93
+ maxBlocksInCache?: number;
94
+ /**
95
+ * Callback appelé lorsque le tableau est prêt.
96
+ */
97
+ onGridReady?: (event: any) => void;
98
+ /**
99
+ * Active le tri des colonnes.
100
+ */
101
+ sortable?: boolean;
102
+ /**
103
+ * Personnalisation des icônes d'AG Grid.
104
+ */
105
+ icons?: any;
106
+ }
107
+ /**
108
+ * Traite les définitions de colonnes pour gérer la propriété 'fixed'.
109
+ *
110
+ * @param {ColumnDef[]} columnDefs - Définitions des colonnes.
111
+ * @returns {ColumnDef[]} Colonnes traitées avec la propriété 'pinned'.
112
+ */
113
+ export declare const processColumnDefs: (columnDefs: ColumnDef[]) => ColumnDef[];
114
+ /**
115
+ * Retourne les traductions selon la locale.
116
+ *
117
+ * @param {string} locale - La locale à utiliser ('fr' ou 'en').
118
+ * @returns {object} Les traductions Ag-Grid complètes.
119
+ */
120
+ export declare const getLocaleText: (locale?: string) => any;
121
+ /**
122
+ * Initialise un tableau Ag-Grid sur un élément DOM.
123
+ *
124
+ * @param {HTMLElement} element - L'élément conteneur du tableau.
125
+ * @param {TableOptions} options - Options de configuration du tableau.
126
+ * @returns {GridApi} L'API Ag-Grid pour manipulation ultérieure.
127
+ */
128
+ export declare const initTable: (element: HTMLElement, options?: TableOptions) => GridApi;
129
+ /**
130
+ * Détruit une instance Ag-Grid.
131
+ *
132
+ * @param {GridApi} gridApi - L'API Ag-Grid à détruire.
133
+ */
134
+ export declare const destroyTable: (gridApi: GridApi | null) => void;
@@ -0,0 +1,11 @@
1
+ import { ModuleRegistry as t, AllCommunityModule as o } from "ag-grid-community";
2
+ import { AG_GRID_LOCALE_FR as f, AG_GRID_LOCALE_EN as i } from "@ag-grid-community/locale";
3
+ t.registerModules([o]);
4
+ const s = (e) => e.map((r) => ({
5
+ ...r,
6
+ pinned: r.fixed === !0 ? "left" : r.fixed
7
+ })), u = (e = "fr") => e === "fr" ? f : i;
8
+ export {
9
+ u as getLocaleText,
10
+ s as processColumnDefs
11
+ };
@@ -0,0 +1,41 @@
1
+ interface Props {
2
+ /**
3
+ * Page actuelle (0-indexed).
4
+ */
5
+ currentPage: number;
6
+ /**
7
+ * Nombre total de pages.
8
+ */
9
+ totalPages: number;
10
+ /**
11
+ * Nombre de lignes par page.
12
+ */
13
+ pageSize: number;
14
+ /**
15
+ * Nombre total de lignes dans le tableau.
16
+ */
17
+ totalRows: number;
18
+ /**
19
+ * Options de taille de page (par défaut: [10, 20, 50, 100]).
20
+ */
21
+ pageSizeOptions?: number[];
22
+ /**
23
+ * Callback lors du changement de page.
24
+ * @param page La nouvelle page (0-indexed).
25
+ */
26
+ onPageChange: (page: number) => void;
27
+ /**
28
+ * Callback lors du changement de taille de page.
29
+ * @param size La nouvelle taille.
30
+ */
31
+ onPageSizeChange: (size: number) => void;
32
+ /**
33
+ * Objet contenant les textes traduits d'Ag-Grid.
34
+ */
35
+ localeText?: any;
36
+ }
37
+ /**
38
+ * Composant de pagination pour le tableau.
39
+ */
40
+ export declare const TablePagination: ({ currentPage, totalPages, pageSize, totalRows, pageSizeOptions, onPageChange, onPageSizeChange, localeText, }: Props) => import("react/jsx-runtime").JSX.Element;
41
+ export {};
@@ -0,0 +1,102 @@
1
+ import { jsxs as o, jsx as n, Fragment as I } from "react/jsx-runtime";
2
+ import { Button as r } from "../../Button/react/index.js";
3
+ import { Icon as l } from "../../Icon/react/index.js";
4
+ import { Select as k } from "../../Form/react/Select.js";
5
+ import { Group as T } from "../../Group/react/index.js";
6
+ import { Tooltip as c } from "../../Tooltip/react/index.js";
7
+ const G = ({
8
+ currentPage: i,
9
+ totalPages: d,
10
+ pageSize: s,
11
+ totalRows: t,
12
+ pageSizeOptions: b = [10, 20, 50, 100],
13
+ onPageChange: a,
14
+ onPageSizeChange: v,
15
+ localeText: f = {}
16
+ }) => {
17
+ const _ = t === 0 ? 0 : i * s + 1, x = Math.min((i + 1) * s, t), {
18
+ pageSizeSelectorLabel: L,
19
+ of: N,
20
+ noRowsToShow: S,
21
+ firstPage: h,
22
+ previousPage: m,
23
+ nextPage: p,
24
+ lastPage: g
25
+ } = f, u = b.map((e) => ({
26
+ text: e.toString(),
27
+ value: e.toString()
28
+ }));
29
+ return /* @__PURE__ */ o("div", { className: "datagrid__pagination", children: [
30
+ /* @__PURE__ */ o("div", { className: "datagrid__pagination-wrapper", children: [
31
+ /* @__PURE__ */ n("span", { className: "datagrid__pagination-label", children: L }),
32
+ /* @__PURE__ */ n(
33
+ k,
34
+ {
35
+ options: u,
36
+ value: s.toString(),
37
+ onChange: (e) => v(Number(e)),
38
+ className: "datagrid__pagination-select",
39
+ searchable: !1
40
+ }
41
+ )
42
+ ] }),
43
+ /* @__PURE__ */ n("div", { className: "datagrid__pagination-status", children: t > 0 ? /* @__PURE__ */ o(I, { children: [
44
+ /* @__PURE__ */ n("strong", { children: _ }),
45
+ " – ",
46
+ /* @__PURE__ */ n("strong", { children: x }),
47
+ " ",
48
+ N,
49
+ " ",
50
+ /* @__PURE__ */ n("strong", { children: t })
51
+ ] }) : S }),
52
+ /* @__PURE__ */ o(T, { gap: "xs", className: "datagrid__pagination-nav", children: [
53
+ /* @__PURE__ */ n(c, { content: h, children: /* @__PURE__ */ n(
54
+ r,
55
+ {
56
+ variant: "light",
57
+ btnIcon: !0,
58
+ onClick: () => a(0),
59
+ disabled: i === 0,
60
+ title: h,
61
+ children: /* @__PURE__ */ n(l, { name: "icon-chevrons-left" })
62
+ }
63
+ ) }),
64
+ /* @__PURE__ */ n(c, { content: m, children: /* @__PURE__ */ n(
65
+ r,
66
+ {
67
+ variant: "light",
68
+ btnIcon: !0,
69
+ onClick: () => a(i - 1),
70
+ disabled: i === 0,
71
+ title: m,
72
+ children: /* @__PURE__ */ n(l, { name: "icon-chevron-left" })
73
+ }
74
+ ) }),
75
+ /* @__PURE__ */ n(c, { content: p, children: /* @__PURE__ */ n(
76
+ r,
77
+ {
78
+ variant: "light",
79
+ btnIcon: !0,
80
+ onClick: () => a(i + 1),
81
+ disabled: i >= d - 1,
82
+ title: p,
83
+ children: /* @__PURE__ */ n(l, { name: "icon-chevron-right" })
84
+ }
85
+ ) }),
86
+ /* @__PURE__ */ n(c, { content: g, children: /* @__PURE__ */ n(
87
+ r,
88
+ {
89
+ variant: "light",
90
+ btnIcon: !0,
91
+ onClick: () => a(d - 1),
92
+ disabled: i >= d - 1,
93
+ title: g,
94
+ children: /* @__PURE__ */ n(l, { name: "icon-chevrons-right" })
95
+ }
96
+ ) })
97
+ ] })
98
+ ] });
99
+ };
100
+ export {
101
+ G as TablePagination
102
+ };
@@ -0,0 +1,14 @@
1
+ import { TableOptions, RowData, ColumnDef } from '../js/table';
2
+ /**
3
+ * Propriétés du composant Table.
4
+ */
5
+ interface Props extends TableOptions {
6
+ }
7
+ /**
8
+ * Composant Table utilisant Ag-Grid.
9
+ *
10
+ * @param {Props} props - Les propriétés du composant.
11
+ * @returns {JSX.Element} Le rendu du composant.
12
+ */
13
+ export declare const Table: ({ rowData, columnDefs, theme, className, selectable, pagination, paginationPageSize, resizable, locale, selectionColumnDef, rowClassRules, rowModelType, datasource, cacheBlockSize, maxBlocksInCache, onGridReady, sortable, icons, }: Props) => import("react/jsx-runtime").JSX.Element;
14
+ export type { RowData, ColumnDef, TableOptions };