@udixio/ui-react 2.8.4 → 2.9.3

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 (44) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/dist/index.cjs +7 -2
  3. package/dist/index.js +2307 -1818
  4. package/dist/lib/components/Button.d.ts.map +1 -1
  5. package/dist/lib/components/Chip.d.ts +9 -0
  6. package/dist/lib/components/Chip.d.ts.map +1 -0
  7. package/dist/lib/components/Chips.d.ts +4 -0
  8. package/dist/lib/components/Chips.d.ts.map +1 -0
  9. package/dist/lib/components/IconButton.d.ts.map +1 -1
  10. package/dist/lib/components/index.d.ts +2 -0
  11. package/dist/lib/components/index.d.ts.map +1 -1
  12. package/dist/lib/effects/block-scroll.effect.d.ts +6 -0
  13. package/dist/lib/effects/block-scroll.effect.d.ts.map +1 -1
  14. package/dist/lib/effects/smooth-scroll.effect.d.ts +5 -0
  15. package/dist/lib/effects/smooth-scroll.effect.d.ts.map +1 -1
  16. package/dist/lib/icon/icon.d.ts.map +1 -1
  17. package/dist/lib/interfaces/chip.interface.d.ts +76 -0
  18. package/dist/lib/interfaces/chip.interface.d.ts.map +1 -0
  19. package/dist/lib/interfaces/chips.interface.d.ts +29 -0
  20. package/dist/lib/interfaces/chips.interface.d.ts.map +1 -0
  21. package/dist/lib/interfaces/index.d.ts +2 -0
  22. package/dist/lib/interfaces/index.d.ts.map +1 -1
  23. package/dist/lib/styles/chip.style.d.ts +111 -0
  24. package/dist/lib/styles/chip.style.d.ts.map +1 -0
  25. package/dist/lib/styles/chips.style.d.ts +55 -0
  26. package/dist/lib/styles/chips.style.d.ts.map +1 -0
  27. package/dist/lib/styles/index.d.ts +2 -0
  28. package/dist/lib/styles/index.d.ts.map +1 -1
  29. package/dist/lib/styles/text-field.style.d.ts +2 -2
  30. package/package.json +4 -4
  31. package/src/lib/components/Button.tsx +11 -20
  32. package/src/lib/components/Chip.tsx +333 -0
  33. package/src/lib/components/Chips.tsx +280 -0
  34. package/src/lib/components/IconButton.tsx +11 -19
  35. package/src/lib/components/index.ts +2 -0
  36. package/src/lib/effects/block-scroll.effect.tsx +89 -11
  37. package/src/lib/effects/smooth-scroll.effect.tsx +5 -0
  38. package/src/lib/icon/icon.tsx +7 -1
  39. package/src/lib/interfaces/chip.interface.ts +97 -0
  40. package/src/lib/interfaces/chips.interface.ts +37 -0
  41. package/src/lib/interfaces/index.ts +2 -0
  42. package/src/lib/styles/chip.style.ts +62 -0
  43. package/src/lib/styles/chips.style.ts +20 -0
  44. package/src/lib/styles/index.ts +2 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/lib/components/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,UAAU,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAmChD;;;;GAIG;AACH,eAAO,MAAM,MAAM,GAAI,8MAoBpB,UAAU,CAAC,eAAe,CAAC,4CAoJ7B,CAAC"}
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/lib/components/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,UAAU,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAmChD;;;;GAIG;AACH,eAAO,MAAM,MAAM,GAAI,8MAoBpB,UAAU,CAAC,eAAe,CAAC,4CA2I7B,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { ReactProps } from '../utils';
2
+ import { ChipInterface } from '../interfaces';
3
+ /**
4
+ * Chips prompt most actions in a UI
5
+ * @status beta
6
+ * @category Action
7
+ */
8
+ export declare const Chip: ({ variant, disabled, icon, href, label, className, onClick, onToggle, activated, ref, onRemove, editable, onEditStart, onEditCommit, onEditCancel, onChange, transition, children, editing, ...restProps }: ReactProps<ChipInterface>) => import("react/jsx-runtime").JSX.Element;
9
+ //# sourceMappingURL=Chip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Chip.d.ts","sourceRoot":"","sources":["../../../src/lib/components/Chip.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,UAAU,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAO9C;;;;GAIG;AACH,eAAO,MAAM,IAAI,GAAI,4MAqBlB,UAAU,CAAC,aAAa,CAAC,4CA0S3B,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { ReactProps } from '../utils';
2
+ import { ChipsInterface } from '../interfaces';
3
+ export declare const Chips: ({ variant, className, scrollable, draggable, items, onItemsChange, }: ReactProps<ChipsInterface>) => import("react/jsx-runtime").JSX.Element;
4
+ //# sourceMappingURL=Chips.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Chips.d.ts","sourceRoot":"","sources":["../../../src/lib/components/Chips.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAY,cAAc,EAAE,MAAM,eAAe,CAAC;AAMzD,eAAO,MAAM,KAAK,GAAI,sEAOnB,UAAU,CAAC,cAAc,CAAC,4CAwQ5B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../../src/lib/components/IconButton.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAKhD,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;AAE7E;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,+LAoBxB,UAAU,CAAC,mBAAmB,CAAC,4CA8GjC,CAAC"}
1
+ {"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../../src/lib/components/IconButton.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAKhD,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;AAE7E;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,+LAoBxB,UAAU,CAAC,mBAAmB,CAAC,4CAsGjC,CAAC"}
@@ -3,6 +3,8 @@ export * from './Card';
3
3
  export * from './Carousel';
4
4
  export * from './CarouselItem';
5
5
  export * from './CarouselItem';
6
+ export * from './Chip';
7
+ export * from './Chips';
6
8
  export * from './Divider';
7
9
  export * from './Fab';
8
10
  export * from './FabMenu';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC"}
@@ -17,6 +17,12 @@ type BlockScrollProps = {
17
17
  touch?: boolean;
18
18
  el: HTMLElement;
19
19
  };
20
+ /**
21
+ * @deprecated Potentially blocks scroll events unintentionally (wheel/touch/keyboard)
22
+ * and may interfere with internal scrollable areas (modals, lists, overflow containers).
23
+ * This API will be removed soon. Avoid using it and migrate to native behaviors
24
+ * or to local scroll handling at the component level.
25
+ */
20
26
  export declare const BlockScroll: React.FC<BlockScrollProps>;
21
27
  export {};
22
28
  //# sourceMappingURL=block-scroll.effect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"block-scroll.effect.d.ts","sourceRoot":"","sources":["../../../src/lib/effects/block-scroll.effect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAEjD,KAAK,YAAY,GACb;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,KAAK,CAAC;CACtB,GACD;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEN,KAAK,gBAAgB,GAAG;IACtB,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,EAAE,EAAE,WAAW,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAkNlD,CAAC"}
1
+ {"version":3,"file":"block-scroll.effect.d.ts","sourceRoot":"","sources":["../../../src/lib/effects/block-scroll.effect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAEjD,KAAK,YAAY,GACb;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,KAAK,CAAC;CACtB,GACD;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEN,KAAK,gBAAgB,GAAG;IACtB,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,EAAE,EAAE,WAAW,CAAC;CACjB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA0RlD,CAAC"}
@@ -1,5 +1,10 @@
1
1
  import { CustomScrollInterface } from './custom-scroll';
2
2
  import { ReactProps } from '../utils';
3
+ /**
4
+ * WARNING: using this component is not recommended for now.
5
+ * It may block or alter certain scroll events (wheel/touch/keyboard) depending on the context.
6
+ * Rework it later (e.g., via Lenis or another solution) before using it in production.
7
+ */
3
8
  export declare const SmoothScroll: ({ transition, orientation, throttleDuration, }: {
4
9
  transition?: {
5
10
  ease: "linear" | "easeIn" | "easeOut" | "easeInOut" | "circIn" | "circOut" | "circInOut" | "backIn" | "backOut" | "backInOut" | "anticipate" | ((t: number) => number);
@@ -1 +1 @@
1
- {"version":3,"file":"smooth-scroll.effect.d.ts","sourceRoot":"","sources":["../../../src/lib/effects/smooth-scroll.effect.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAItC,eAAO,MAAM,YAAY,GAAI,gDAI1B;IACD,UAAU,CAAC,EAAE;QACX,IAAI,EACA,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,WAAW,GACX,QAAQ,GACR,SAAS,GACT,WAAW,GACX,QAAQ,GACR,SAAS,GACT,WAAW,GACX,YAAY,GACZ,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;QAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH,GAAG,UAAU,CAAC,qBAAqB,CAAC,mDA6GpC,CAAC"}
1
+ {"version":3,"file":"smooth-scroll.effect.d.ts","sourceRoot":"","sources":["../../../src/lib/effects/smooth-scroll.effect.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAItC;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,gDAI1B;IACD,UAAU,CAAC,EAAE;QACX,IAAI,EACA,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,WAAW,GACX,QAAQ,GACR,SAAS,GACT,WAAW,GACX,QAAQ,GACR,SAAS,GACT,WAAW,GACX,YAAY,GACZ,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;QAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH,GAAG,UAAU,CAAC,qBAAqB,CAAC,mDA6GpC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"icon.d.ts","sourceRoot":"","sources":["../../../src/lib/icon/icon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAGnE,MAAM,MAAM,IAAI,GAAG,cAAc,GAAG,SAAS,GAAG,MAAM,CAAC;AAEvD,UAAU,SAAS;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,KAAK;IACb,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAyFhC,CAAC"}
1
+ {"version":3,"file":"icon.d.ts","sourceRoot":"","sources":["../../../src/lib/icon/icon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAGnE,MAAM,MAAM,IAAI,GAAG,cAAc,GAAG,SAAS,GAAG,MAAM,CAAC;AAEvD,UAAU,SAAS;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,KAAK;IACb,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA+FhC,CAAC"}
@@ -0,0 +1,76 @@
1
+ import { ActionOrLink } from '../utils';
2
+ import { Transition } from 'motion';
3
+ import { Icon } from '../icon';
4
+ type ChipVariant = 'outlined' | 'elevated';
5
+ export type ChipProps = {
6
+ /**
7
+ * The label is the text that is displayed on the chip.
8
+ */
9
+ label?: string;
10
+ children?: string;
11
+ /**
12
+ * The chip variant determines the style.
13
+ */
14
+ variant?: ChipVariant;
15
+ /**
16
+ * Disables the chip if set to true.
17
+ */
18
+ disabled?: boolean;
19
+ /**
20
+ * An optional icon to display in the chip.
21
+ */
22
+ icon?: Icon;
23
+ transition?: Transition;
24
+ onToggle?: (isActive: boolean) => void;
25
+ activated?: boolean;
26
+ onRemove?: () => void;
27
+ /**
28
+ * Enable native HTML drag and drop on the chip.
29
+ */
30
+ draggable?: boolean;
31
+ /**
32
+ * Called when drag starts (composed with internal handler that sets isDragging).
33
+ */
34
+ onDragStart?: (e: React.DragEvent) => void;
35
+ /**
36
+ * Called when drag ends (composed with internal handler that clears isDragging).
37
+ */
38
+ onDragEnd?: (e: React.DragEvent) => void;
39
+ } & ({
40
+ editable?: false;
41
+ editing?: never;
42
+ onEditStart?: never;
43
+ onEditCommit: never;
44
+ onEditCancel?: never;
45
+ onChange?: never;
46
+ } | {
47
+ /** Enable label inline edition for this chip (used by Chips variant="input"). */
48
+ editable?: true;
49
+ /** Affirms that the chip is currently being edited. */
50
+ editing?: boolean;
51
+ /** Request to start editing (e.g., double-click, Enter/F2). */
52
+ onEditStart?: () => void;
53
+ /** Commit edition with the new label. */
54
+ onEditCommit: (nextLabel: string) => void;
55
+ /** Cancel edition and restore previous label. */
56
+ onEditCancel?: () => void;
57
+ /**
58
+ * Fired on each edit keystroke when content changes (only while editing).
59
+ * Useful for live formatting, suggestions, validation, etc.
60
+ */
61
+ onChange?: (nextLabel: string) => void;
62
+ });
63
+ type Elements = ['chip', 'stateLayer', 'leadingIcon', 'trailingIcon', 'label'];
64
+ export type ChipInterface = ActionOrLink<ChipProps> & {
65
+ elements: Elements;
66
+ states: {
67
+ isActive: boolean;
68
+ trailingIcon?: boolean;
69
+ isFocused: boolean;
70
+ isInteractive: boolean;
71
+ isDragging?: boolean;
72
+ isEditing?: boolean;
73
+ };
74
+ };
75
+ export {};
76
+ //# sourceMappingURL=chip.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chip.interface.d.ts","sourceRoot":"","sources":["../../../src/lib/interfaces/chip.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,KAAK,WAAW,GAAG,UAAU,GAAG,UAAU,CAAC;AAE3C,MAAM,MAAM,SAAS,GAAG;IACtB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC;IAEZ,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAEvC,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAEtB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;IAE3C;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;CAC1C,GAAG,CACA;IACE,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,WAAW,CAAC,EAAE,KAAK,CAAC;IACpB,YAAY,EAAE,KAAK,CAAC;IACpB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB,GACD;IACE,iFAAiF;IACjF,QAAQ,CAAC,EAAE,IAAI,CAAC;IAEhB,uDAAuD;IACvD,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IAEzB,yCAAyC;IACzC,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAE1C,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAE1B;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC,CACJ,CAAC;AAEF,KAAK,QAAQ,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;AAE/E,MAAM,MAAM,aAAa,GAAG,YAAY,CAAC,SAAS,CAAC,GAAG;IACpD,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE;QACN,QAAQ,EAAE,OAAO,CAAC;QAClB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,SAAS,EAAE,OAAO,CAAC;QACnB,aAAa,EAAE,OAAO,CAAC;QACvB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,CAAC;CACH,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { ActionOrLink } from '../utils';
2
+ import { Icon } from '../icon';
3
+ export type ChipItem = {
4
+ label: string;
5
+ icon?: Icon;
6
+ activated?: boolean;
7
+ disabled?: boolean;
8
+ variant?: 'outlined' | 'elevated';
9
+ href?: string;
10
+ };
11
+ type ChipsVariant = 'input';
12
+ type Props = {
13
+ /** Style du conteneur de chips */
14
+ variant?: ChipsVariant;
15
+ /** Active/masse un comportement de container (si utile) */
16
+ scrollable?: boolean;
17
+ draggable?: boolean;
18
+ /** Mode contrôlé: la source de vérité */
19
+ items?: ChipItem[];
20
+ /** Notifie toute modification de la liste (remove, toggle, etc.) */
21
+ onItemsChange?: (next: ChipItem[]) => void;
22
+ };
23
+ type Elements = ['chips'];
24
+ export type ChipsInterface = ActionOrLink<Props> & {
25
+ elements: Elements;
26
+ states: {};
27
+ };
28
+ export {};
29
+ //# sourceMappingURL=chips.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chips.interface.d.ts","sourceRoot":"","sources":["../../../src/lib/interfaces/chips.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAGpC,MAAM,MAAM,QAAQ,GAAG;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,YAAY,GAAG,OAAO,CAAC;AAE5B,KAAK,KAAK,GAAG;IACX,kCAAkC;IAClC,OAAO,CAAC,EAAE,YAAY,CAAC;IAEvB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,yCAAyC;IACzC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IAEnB,oEAAoE;IACpE,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC;CAC5C,CAAC;AAEF,KAAK,QAAQ,GAAG,CAAC,OAAO,CAAC,CAAC;AAE1B,MAAM,MAAM,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG;IACjD,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,EAAE,CAAC;CACZ,CAAC"}
@@ -2,6 +2,8 @@ export * from './button.interface';
2
2
  export * from './card.interface';
3
3
  export * from './carousel-item.interface';
4
4
  export * from './carousel.interface';
5
+ export * from './chip.interface';
6
+ export * from './chips.interface';
5
7
  export * from './divider.interface';
6
8
  export * from './fab.interface';
7
9
  export * from './fab-menu.interface';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,111 @@
1
+ import { ClassNameComponent } from '../utils';
2
+ import { ChipInterface } from '../interfaces';
3
+ export declare const chipStyle: (states: (({
4
+ label: any;
5
+ children: any;
6
+ variant: any;
7
+ disabled: any;
8
+ icon: any;
9
+ transition: any;
10
+ onToggle: any;
11
+ activated: any;
12
+ onRemove: any;
13
+ draggable: any;
14
+ onDragStart: any;
15
+ onDragEnd: any;
16
+ editable: any;
17
+ editing: any;
18
+ onEditStart: any;
19
+ onEditCommit: any;
20
+ onEditCancel: any;
21
+ onChange: any;
22
+ href: any;
23
+ } | {
24
+ label: any;
25
+ children: any;
26
+ variant: any;
27
+ disabled: any;
28
+ icon: any;
29
+ transition: any;
30
+ onToggle: any;
31
+ activated: any;
32
+ onRemove: any;
33
+ draggable: any;
34
+ onDragStart: any;
35
+ onDragEnd: any;
36
+ editable: any;
37
+ editing: any;
38
+ onEditStart: any;
39
+ onEditCommit: any;
40
+ onEditCancel: any;
41
+ onChange: any;
42
+ href: any;
43
+ } | {
44
+ label: any;
45
+ children: any;
46
+ variant: any;
47
+ disabled: any;
48
+ icon: any;
49
+ transition: any;
50
+ onToggle: any;
51
+ activated: any;
52
+ onRemove: any;
53
+ draggable: any;
54
+ onDragStart: any;
55
+ onDragEnd: any;
56
+ editable: any;
57
+ editing: any;
58
+ onEditStart: any;
59
+ onEditCommit: any;
60
+ onEditCancel: any;
61
+ onChange: any;
62
+ href: any;
63
+ } | {
64
+ label: any;
65
+ children: any;
66
+ variant: any;
67
+ disabled: any;
68
+ icon: any;
69
+ transition: any;
70
+ onToggle: any;
71
+ activated: any;
72
+ onRemove: any;
73
+ draggable: any;
74
+ onDragStart: any;
75
+ onDragEnd: any;
76
+ editable: any;
77
+ editing: any;
78
+ onEditStart: any;
79
+ onEditCommit: any;
80
+ onEditCancel: any;
81
+ onChange: any;
82
+ href: any;
83
+ }) & ((import('..').ChipProps & {
84
+ href?: string;
85
+ }) | (import('..').ChipProps & {
86
+ href?: never;
87
+ }))) & {
88
+ isActive: boolean;
89
+ trailingIcon?: boolean;
90
+ isFocused: boolean;
91
+ isInteractive: boolean;
92
+ isDragging?: boolean;
93
+ isEditing?: boolean;
94
+ } & {
95
+ className: string | ClassNameComponent<ChipInterface> | undefined;
96
+ }) => Record<"label" | "stateLayer" | "chip" | "leadingIcon" | "trailingIcon", string>;
97
+ export declare const useChipStyle: (states: {
98
+ isActive: boolean;
99
+ trailingIcon?: boolean;
100
+ isFocused: boolean;
101
+ isInteractive: boolean;
102
+ isDragging?: boolean;
103
+ isEditing?: boolean;
104
+ } & (((import('..').ChipProps & {
105
+ href?: string;
106
+ }) | (import('..').ChipProps & {
107
+ href?: never;
108
+ })) & {
109
+ className?: string | ClassNameComponent<ChipInterface> | undefined;
110
+ })) => Record<"label" | "stateLayer" | "chip" | "leadingIcon" | "trailingIcon", string>;
111
+ //# sourceMappingURL=chip.style.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chip.style.d.ts","sourceRoot":"","sources":["../../../src/lib/styles/chip.style.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAsD9C,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sFAAuD,CAAC;AAE9E,eAAO,MAAM,YAAY;;;;;;;;;;;;;uFAGxB,CAAC"}
@@ -0,0 +1,55 @@
1
+ import { ClassNameComponent } from '../utils';
2
+ import { ChipsInterface } from '../interfaces';
3
+ export declare const chipsStyle: (states: ({
4
+ variant: any;
5
+ scrollable: any;
6
+ draggable: any;
7
+ items: any;
8
+ onItemsChange: any;
9
+ href: any;
10
+ } | {
11
+ variant: any;
12
+ scrollable: any;
13
+ draggable: any;
14
+ items: any;
15
+ onItemsChange: any;
16
+ href: any;
17
+ }) & ((({
18
+ variant?: "input";
19
+ scrollable?: boolean;
20
+ draggable?: boolean;
21
+ items?: import('..').ChipItem[];
22
+ onItemsChange?: (next: import('..').ChipItem[]) => void;
23
+ } & {
24
+ href?: string;
25
+ }) | ({
26
+ variant?: "input";
27
+ scrollable?: boolean;
28
+ draggable?: boolean;
29
+ items?: import('..').ChipItem[];
30
+ onItemsChange?: (next: import('..').ChipItem[]) => void;
31
+ } & {
32
+ href?: never;
33
+ })) & {
34
+ className: string | ClassNameComponent<ChipsInterface> | undefined;
35
+ })) => Record<"chips", string>;
36
+ export declare const useChipsStyle: (states: (({
37
+ variant?: "input";
38
+ scrollable?: boolean;
39
+ draggable?: boolean;
40
+ items?: import('..').ChipItem[];
41
+ onItemsChange?: (next: import('..').ChipItem[]) => void;
42
+ } & {
43
+ href?: string;
44
+ }) | ({
45
+ variant?: "input";
46
+ scrollable?: boolean;
47
+ draggable?: boolean;
48
+ items?: import('..').ChipItem[];
49
+ onItemsChange?: (next: import('..').ChipItem[]) => void;
50
+ } & {
51
+ href?: never;
52
+ })) & {
53
+ className?: string | ClassNameComponent<ChipsInterface> | undefined;
54
+ }) => Record<"chips", string>;
55
+ //# sourceMappingURL=chips.style.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chips.style.d.ts","sourceRoot":"","sources":["../../../src/lib/styles/chips.style.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAS/C,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAGtB,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;6BAGzB,CAAC"}
@@ -2,6 +2,8 @@ export * from './button.style';
2
2
  export * from './card.style';
3
3
  export * from './carousel-item.style';
4
4
  export * from './carousel.style';
5
+ export * from './chip.style';
6
+ export * from './chips.style';
5
7
  export * from './divider.style';
6
8
  export * from './fab.style';
7
9
  export * from './fab-menu.style';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/styles/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/styles/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
@@ -37,7 +37,7 @@ export declare const textFieldStyle: (states: {
37
37
  textLine?: "singleLine" | "multiLine" | "textAreas";
38
38
  } & import('..').TextFieldStates & {
39
39
  className: string | ClassNameComponent<TextFieldInterface> | undefined;
40
- }) => Record<"content" | "input" | "label" | "stateLayer" | "activeIndicator" | "supportingText" | "textField" | "leadingIcon" | "trailingIcon" | "suffix", string>;
40
+ }) => Record<"content" | "input" | "label" | "stateLayer" | "leadingIcon" | "trailingIcon" | "activeIndicator" | "supportingText" | "textField" | "suffix", string>;
41
41
  export declare const useTextFieldStyle: (states: import('..').TextFieldStates & {
42
42
  placeholder?: string;
43
43
  name: string;
@@ -57,5 +57,5 @@ export declare const useTextFieldStyle: (states: import('..').TextFieldStates &
57
57
  textLine?: "singleLine" | "multiLine" | "textAreas";
58
58
  } & {
59
59
  className?: string | ClassNameComponent<TextFieldInterface> | undefined;
60
- }) => Record<"content" | "input" | "label" | "stateLayer" | "activeIndicator" | "supportingText" | "textField" | "leadingIcon" | "trailingIcon" | "suffix", string>;
60
+ }) => Record<"content" | "input" | "label" | "stateLayer" | "leadingIcon" | "trailingIcon" | "activeIndicator" | "supportingText" | "textField" | "suffix", string>;
61
61
  //# sourceMappingURL=text-field.style.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@udixio/ui-react",
3
- "version": "2.8.4",
3
+ "version": "2.9.3",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -36,15 +36,15 @@
36
36
  "devDependencies": {
37
37
  "react": "^19.1.1",
38
38
  "react-dom": "^19.1.1",
39
- "@udixio/theme": "2.1.3",
40
- "@udixio/tailwind": "2.4.1"
39
+ "@udixio/theme": "2.1.6",
40
+ "@udixio/tailwind": "2.4.4"
41
41
  },
42
42
  "repository": {
43
43
  "type": "git",
44
44
  "url": "https://github.com/Udixio/UI.git"
45
45
  },
46
46
  "publishConfig": {
47
- "registry": "https://registry.npmjs.org/",
47
+ "provenance": true,
48
48
  "access": "public"
49
49
  }
50
50
  }
@@ -80,27 +80,18 @@ export const Button = ({
80
80
 
81
81
  transition = { duration: 0.3, ...transition };
82
82
 
83
- let handleClick;
83
+ const handleClick = (e: React.MouseEvent<any, MouseEvent>) => {
84
+ if (disabled) {
85
+ e.preventDefault();
86
+ }
87
+ if (onToggle) {
88
+ setIsActive(!isActive);
89
+ onToggle(!isActive);
90
+ } else if (onClick) {
91
+ onClick(e);
92
+ }
93
+ };
84
94
 
85
- if (!onToggle) {
86
- handleClick = (e: React.MouseEvent<any, MouseEvent>) => {
87
- if (disabled) {
88
- e.preventDefault();
89
- }
90
- if (onClick) {
91
- onClick(e);
92
- }
93
- };
94
- } else if (onToggle) {
95
- handleClick = (e: React.MouseEvent<any, MouseEvent>) => {
96
- if (disabled) {
97
- e.preventDefault();
98
- }
99
- const next = !isActive;
100
- setIsActive(next);
101
- onToggle(next);
102
- };
103
- }
104
95
  const styles = useButtonStyle({
105
96
  allowShapeTransformation,
106
97
  size,