@udixio/ui-react 2.10.3 → 2.10.5

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 (31) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/index.cjs +5 -5
  3. package/dist/index.js +1632 -1634
  4. package/dist/lib/components/ContextMenu.d.ts +1 -1
  5. package/dist/lib/components/ContextMenu.d.ts.map +1 -1
  6. package/dist/lib/components/MenuItem.d.ts +1 -1
  7. package/dist/lib/components/MenuItem.d.ts.map +1 -1
  8. package/dist/lib/components/TextField.d.ts.map +1 -1
  9. package/dist/lib/interfaces/index.d.ts +2 -0
  10. package/dist/lib/interfaces/index.d.ts.map +1 -1
  11. package/dist/lib/interfaces/menu-item.interface.d.ts +0 -1
  12. package/dist/lib/interfaces/menu-item.interface.d.ts.map +1 -1
  13. package/dist/lib/interfaces/menu.interface.d.ts +0 -1
  14. package/dist/lib/interfaces/menu.interface.d.ts.map +1 -1
  15. package/dist/lib/interfaces/text-field.interface.d.ts +2 -5
  16. package/dist/lib/interfaces/text-field.interface.d.ts.map +1 -1
  17. package/dist/lib/styles/menu-group.style.d.ts +2 -2
  18. package/dist/lib/styles/menu-item.style.d.ts +0 -6
  19. package/dist/lib/styles/menu-item.style.d.ts.map +1 -1
  20. package/dist/lib/styles/menu.style.d.ts +0 -1
  21. package/dist/lib/styles/menu.style.d.ts.map +1 -1
  22. package/dist/lib/styles/text-field.style.d.ts +2 -10
  23. package/dist/lib/styles/text-field.style.d.ts.map +1 -1
  24. package/package.json +3 -3
  25. package/src/lib/components/ContextMenu.tsx +2 -4
  26. package/src/lib/components/MenuItem.tsx +2 -2
  27. package/src/lib/components/TextField.tsx +55 -37
  28. package/src/lib/interfaces/index.ts +2 -0
  29. package/src/lib/interfaces/menu-item.interface.ts +0 -1
  30. package/src/lib/interfaces/menu.interface.ts +0 -1
  31. package/src/lib/interfaces/text-field.interface.ts +7 -8
@@ -11,5 +11,5 @@ export type ContextMenuProps = {
11
11
  };
12
12
  elements: [''];
13
13
  };
14
- export declare const ContextMenu: ({ trigger, children, onItemSelect, ...menuProps }: ReactProps<ContextMenuProps>) => import("react/jsx-runtime").JSX.Element;
14
+ export declare const ContextMenu: ({ trigger, children, ...menuProps }: ReactProps<ContextMenuProps>) => import("react/jsx-runtime").JSX.Element;
15
15
  //# sourceMappingURL=ContextMenu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContextMenu.d.ts","sourceRoot":"","sources":["../../../src/lib/components/ContextMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAI3D,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAMtC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE;QAAE,OAAO,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAC7D,IAAI,EAAE,KAAK,CAAC;IACZ,MAAM,EAAE;QACN,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,mDAKzB,UAAU,CAAC,gBAAgB,CAAC,4CAqF9B,CAAC"}
1
+ {"version":3,"file":"ContextMenu.d.ts","sourceRoot":"","sources":["../../../src/lib/components/ContextMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAI3D,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAMtC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE;QAAE,OAAO,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAC7D,IAAI,EAAE,KAAK,CAAC;IACZ,MAAM,EAAE;QACN,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,qCAIzB,UAAU,CAAC,gBAAgB,CAAC,4CAoF9B,CAAC"}
@@ -5,5 +5,5 @@ import { MenuItemInterface } from '../interfaces/menu-item.interface';
5
5
  * @status beta
6
6
  * @category Selection
7
7
  */
8
- export declare const MenuItem: ({ label, children, value, leadingIcon, trailingIcon, disabled, variant, href, onClick, onToggle, activated, className, ...restProps }: ReactProps<MenuItemInterface>) => import("react/jsx-runtime").JSX.Element;
8
+ export declare const MenuItem: ({ label, children, leadingIcon, trailingIcon, disabled, variant, href, onClick, onToggle, activated, className, ...restProps }: ReactProps<MenuItemInterface>) => import("react/jsx-runtime").JSX.Element;
9
9
  //# sourceMappingURL=MenuItem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItem.d.ts","sourceRoot":"","sources":["../../../src/lib/components/MenuItem.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAc,UAAU,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAMtE;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,uIActB,UAAU,CAAC,iBAAiB,CAAC,4CA0L/B,CAAC"}
1
+ {"version":3,"file":"MenuItem.d.ts","sourceRoot":"","sources":["../../../src/lib/components/MenuItem.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAc,UAAU,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAMtE;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,gIAatB,UAAU,CAAC,iBAAiB,CAAC,4CA2L/B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TextField.d.ts","sourceRoot":"","sources":["../../../src/lib/components/TextField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsD,MAAM,OAAO,CAAC;AAmB3E,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,SAAS,GAAI,4SA4BvB,UAAU,CAAC,kBAAkB,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,4CAwfjE,CAAC"}
1
+ {"version":3,"file":"TextField.d.ts","sourceRoot":"","sources":["../../../src/lib/components/TextField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsD,MAAM,OAAO,CAAC;AAmB3E,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,SAAS,GAAI,4SA4BvB,UAAU,CAAC,kBAAkB,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,4CA2gBjE,CAAC"}
@@ -10,6 +10,8 @@ export * from './fab.interface';
10
10
  export * from './fab-menu.interface';
11
11
  export * from './icon-button.interface';
12
12
  export * from './menu.interface';
13
+ export * from './menu-group.interface';
14
+ export * from './menu-item.interface';
13
15
  export * from './progress-indicator.interface';
14
16
  export * from './side-sheet.interface';
15
17
  export * from './slider.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,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,kBAAkB,CAAC;AACjC,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,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,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,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,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,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,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,qBAAqB,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import { ActionOrLink } from '../utils/component';
2
2
  type Props = {
3
- value?: string | number;
4
3
  label?: string;
5
4
  children?: React.ReactNode;
6
5
  leadingIcon?: any;
@@ -1 +1 @@
1
- {"version":3,"file":"menu-item.interface.d.ts","sourceRoot":"","sources":["../../../src/lib/interfaces/menu-item.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,KAAK,KAAK,GAAG;IACX,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACjC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IACzC,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,KAAK,QAAQ,GAAG;IACd,UAAU;IACV,cAAc;IACd,WAAW;IACX,UAAU;IACV,aAAa;IACb,cAAc;CACf,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG;IACpD,MAAM,EAAE;QACN,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC;IACF,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC"}
1
+ {"version":3,"file":"menu-item.interface.d.ts","sourceRoot":"","sources":["../../../src/lib/interfaces/menu-item.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,KAAK,KAAK,GAAG;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACjC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IACzC,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,KAAK,QAAQ,GAAG;IACd,UAAU;IACV,cAAc;IACd,WAAW;IACX,UAAU;IACV,aAAa;IACb,cAAc;CACf,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG;IACpD,MAAM,EAAE;QACN,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC;IACF,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC"}
@@ -2,7 +2,6 @@ export type MenuStates = Record<string, any>;
2
2
  export interface MenuProps {
3
3
  children: React.ReactNode;
4
4
  selected?: string | number | (string | number)[];
5
- onItemSelect?: (value: string | number) => void;
6
5
  className?: string;
7
6
  variant?: 'standard' | 'vibrant';
8
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"menu.interface.d.ts","sourceRoot":"","sources":["../../../src/lib/interfaces/menu.interface.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE7C,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACjD,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CAGlC;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE;QACN,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC;CACpB"}
1
+ {"version":3,"file":"menu.interface.d.ts","sourceRoot":"","sources":["../../../src/lib/interfaces/menu.interface.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE7C,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CAGlC;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE;QACN,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC;CACpB"}
@@ -1,6 +1,7 @@
1
1
  import { default as React } from 'react';
2
2
  import { IconButton } from '../components/IconButton';
3
3
  import { Icon } from '../icon';
4
+ import { MenuItemInterface } from './menu-item.interface';
4
5
  export type TextFieldVariant = 'filled' | 'outlined';
5
6
  type Props = {
6
7
  placeholder?: string;
@@ -20,13 +21,9 @@ type Props = {
20
21
  style?: React.CSSProperties;
21
22
  variant?: TextFieldVariant;
22
23
  options?: Array<{
23
- label: string;
24
24
  value: string | number;
25
- leadingIcon?: any;
26
- trailingIcon?: any;
27
- disabled?: boolean;
28
25
  type?: 'divider' | 'headline';
29
- }>;
26
+ } & MenuItemInterface['props']>;
30
27
  type?: 'text' | 'password' | 'number' | 'date' | 'select';
31
28
  autoComplete?: 'on' | 'off' | string;
32
29
  autoFocus?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"text-field.interface.d.ts","sourceRoot":"","sources":["../../../src/lib/interfaces/text-field.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,UAAU,CAAC;AAErD,KAAK,KAAK,GAAG;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,OAAO,UAAU,CAAC,GAAG,IAAI,CAAC;IAC5D,WAAW,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,OAAO,UAAU,CAAC,GAAG,IAAI,CAAC;IAC3D,QAAQ,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC,gBAAgB,GAAG,mBAAmB,CAAC,CAAC;IAC5E,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,OAAO,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;QACvB,WAAW,CAAC,EAAE,GAAG,CAAC;QAClB,YAAY,CAAC,EAAE,GAAG,CAAC;QACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,IAAI,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;KAC/B,CAAC,CAAC;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC1D,YAAY,CAAC,EAAE,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AACF,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,kBAAkB,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,EAAE;QACR,WAAW;QACX,SAAS;QACT,OAAO;QACP,OAAO;QACP,iBAAiB;QACjB,gBAAgB;QAChB,aAAa;QACb,cAAc;QACd,QAAQ;QACR,YAAY;KACb,CAAC;CACH"}
1
+ {"version":3,"file":"text-field.interface.d.ts","sourceRoot":"","sources":["../../../src/lib/interfaces/text-field.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,UAAU,CAAC;AAErD,KAAK,KAAK,GAAG;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,OAAO,UAAU,CAAC,GAAG,IAAI,CAAC;IAC5D,WAAW,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,OAAO,UAAU,CAAC,GAAG,IAAI,CAAC;IAC3D,QAAQ,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC,gBAAgB,GAAG,mBAAmB,CAAC,CAAC;IAC5E,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,OAAO,CAAC,EAAE,KAAK,CACb;QACE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;QACvB,IAAI,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;KAC/B,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAC/B,CAAC;IACF,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC1D,YAAY,CAAC,EAAE,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AACF,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,kBAAkB,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,EAAE;QACR,WAAW;QACX,SAAS;QACT,OAAO;QACP,OAAO;QACP,iBAAiB;QACjB,gBAAgB;QAChB,aAAa;QACb,cAAc;QACd,QAAQ;QACR,YAAY;KACb,CAAC;CACH"}
@@ -5,10 +5,10 @@ export declare const menuGroupStyle: (states: {
5
5
  className: any;
6
6
  variant: any;
7
7
  label: any;
8
- } & import('../interfaces/menu-group.interface').MenuGroupProps & object & {
8
+ } & import('..').MenuGroupProps & object & {
9
9
  className: string | ClassNameComponent<MenuGroupInterface> | undefined;
10
10
  }) => Record<"menuGroup" | "groupLabel", string>;
11
- export declare const useMenuGroupStyle: (states: object & import('../interfaces/menu-group.interface').MenuGroupProps & {
11
+ export declare const useMenuGroupStyle: (states: object & import('..').MenuGroupProps & {
12
12
  className?: string | ClassNameComponent<MenuGroupInterface> | undefined;
13
13
  }) => Record<"menuGroup" | "groupLabel", string>;
14
14
  //# sourceMappingURL=menu-group.style.d.ts.map
@@ -1,7 +1,6 @@
1
1
  import { ClassNameComponent } from '../utils';
2
2
  import { MenuItemInterface } from '../interfaces/menu-item.interface';
3
3
  export declare const menuItemStyle: (states: (({
4
- value: any;
5
4
  label: any;
6
5
  children: any;
7
6
  leadingIcon: any;
@@ -13,7 +12,6 @@ export declare const menuItemStyle: (states: (({
13
12
  activated: any;
14
13
  href: any;
15
14
  } | {
16
- value: any;
17
15
  label: any;
18
16
  children: any;
19
17
  leadingIcon: any;
@@ -25,7 +23,6 @@ export declare const menuItemStyle: (states: (({
25
23
  activated: any;
26
24
  href: any;
27
25
  }) & (({
28
- value?: string | number;
29
26
  label?: string;
30
27
  children?: React.ReactNode;
31
28
  leadingIcon?: any;
@@ -38,7 +35,6 @@ export declare const menuItemStyle: (states: (({
38
35
  } & {
39
36
  href?: string;
40
37
  }) | ({
41
- value?: string | number;
42
38
  label?: string;
43
39
  children?: React.ReactNode;
44
40
  leadingIcon?: any;
@@ -58,7 +54,6 @@ export declare const menuItemStyle: (states: (({
58
54
  export declare const useMenuItemStyle: (states: {
59
55
  isActive: boolean;
60
56
  } & ((({
61
- value?: string | number;
62
57
  label?: string;
63
58
  children?: React.ReactNode;
64
59
  leadingIcon?: any;
@@ -71,7 +66,6 @@ export declare const useMenuItemStyle: (states: {
71
66
  } & {
72
67
  href?: string;
73
68
  }) | ({
74
- value?: string | number;
75
69
  label?: string;
76
70
  children?: React.ReactNode;
77
71
  leadingIcon?: any;
@@ -1 +1 @@
1
- {"version":3,"file":"menu-item.style.d.ts","sourceRoot":"","sources":["../../../src/lib/styles/menu-item.style.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EAIxB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AA+BtE,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBA1BpB,CAAC;;;;;;;;;;;;;gBAAD,CAAC;;;;;;;;;6GA6BN,CAAC;AACF,eAAO,MAAM,gBAAgB;;;;;;;;;;gBA9BvB,CAAC;;;;;;;;;;;;;gBAAD,CAAC;;;;;;;8GAiCN,CAAC"}
1
+ {"version":3,"file":"menu-item.style.d.ts","sourceRoot":"","sources":["../../../src/lib/styles/menu-item.style.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EAIxB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AA+BtE,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBA5BxB,CAAC;;;;;;;;;;;;gBAAD,CAAC;;;;;;;;;6GA+BF,CAAC;AACF,eAAO,MAAM,gBAAgB;;;;;;;;;gBAhC3B,CAAC;;;;;;;;;;;;gBAAD,CAAC;;;;;;;8GAmCF,CAAC"}
@@ -3,7 +3,6 @@ import { MenuInterface } from '../interfaces';
3
3
  export declare const menuStyle: (states: {
4
4
  children: any;
5
5
  selected: any;
6
- onItemSelect: any;
7
6
  className: any;
8
7
  variant: any;
9
8
  } & import('..').MenuProps & {
@@ -1 +1 @@
1
- {"version":3,"file":"menu.style.d.ts","sourceRoot":"","sources":["../../../src/lib/styles/menu.style.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EAIxB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAoB9C,eAAO,MAAM,SAAS;;;;;;;;;;4BAAuD,CAAC;AAE9E,eAAO,MAAM,YAAY;;;;4BAGxB,CAAC"}
1
+ {"version":3,"file":"menu.style.d.ts","sourceRoot":"","sources":["../../../src/lib/styles/menu.style.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EAIxB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAoB9C,eAAO,MAAM,SAAS;;;;;;;;;4BAAuD,CAAC;AAE9E,eAAO,MAAM,YAAY;;;;4BAGxB,CAAC"}
@@ -43,13 +43,9 @@ export declare const textFieldStyle: (states: {
43
43
  style?: React.CSSProperties;
44
44
  variant?: import('..').TextFieldVariant;
45
45
  options?: Array<{
46
- label: string;
47
46
  value: string | number;
48
- leadingIcon?: any;
49
- trailingIcon?: any;
50
- disabled?: boolean;
51
47
  type?: "divider" | "headline";
52
- }>;
48
+ } & import('..').MenuItemInterface["props"]>;
53
49
  type?: "text" | "password" | "number" | "date" | "select";
54
50
  autoComplete?: "on" | "off" | string;
55
51
  autoFocus?: boolean;
@@ -77,13 +73,9 @@ export declare const useTextFieldStyle: (states: import('..').TextFieldStates &
77
73
  style?: React.CSSProperties;
78
74
  variant?: import('..').TextFieldVariant;
79
75
  options?: Array<{
80
- label: string;
81
76
  value: string | number;
82
- leadingIcon?: any;
83
- trailingIcon?: any;
84
- disabled?: boolean;
85
77
  type?: "divider" | "headline";
86
- }>;
78
+ } & import('..').MenuItemInterface["props"]>;
87
79
  type?: "text" | "password" | "number" | "date" | "select";
88
80
  autoComplete?: "on" | "off" | string;
89
81
  autoFocus?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"text-field.style.d.ts","sourceRoot":"","sources":["../../../src/lib/styles/text-field.style.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,KAAK,kBAAkB,EAIxB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAmGnD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBA3ErB,CAAL;oBAAuB,CAAC;gBAAmB,CAAC;YACtC,CAAC;;;;;;;;;;mKA6EP,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;mBAhFxB,CAAL;oBAAuB,CAAC;gBAAmB,CAAC;YACtC,CAAC;;;;;;;;;;mKAkFP,CAAC"}
1
+ {"version":3,"file":"text-field.style.d.ts","sourceRoot":"","sources":["../../../src/lib/styles/text-field.style.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,KAAK,kBAAkB,EAIxB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAmGnD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YA3EgB,CAAA;;;;;;;;;;mKA8E1C,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;YAhFa,CAAA;;;;;;;;;;mKAmF1C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@udixio/ui-react",
3
- "version": "2.10.3",
3
+ "version": "2.10.5",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -37,8 +37,8 @@
37
37
  "devDependencies": {
38
38
  "react": "^19.1.1",
39
39
  "react-dom": "^19.1.1",
40
- "@udixio/theme": "2.1.14",
41
- "@udixio/tailwind": "2.4.14"
40
+ "@udixio/theme": "2.1.15",
41
+ "@udixio/tailwind": "2.4.15"
42
42
  },
43
43
  "repository": {
44
44
  "type": "git",
@@ -21,7 +21,6 @@ export type ContextMenuProps = {
21
21
  export const ContextMenu = ({
22
22
  trigger,
23
23
  children,
24
- onItemSelect,
25
24
  ...menuProps
26
25
  }: ReactProps<ContextMenuProps>) => {
27
26
  const [contextMenu, setContextMenu] = useState<{
@@ -42,9 +41,8 @@ export const ContextMenu = ({
42
41
  setContextMenu(null);
43
42
  };
44
43
 
45
- const handleSelect = (val: string | number) => {
44
+ const handleSelect = () => {
46
45
  handleClose();
47
- onItemSelect?.(val);
48
46
  };
49
47
 
50
48
  useEffect(() => {
@@ -101,7 +99,7 @@ export const ContextMenu = ({
101
99
  position="bottom right"
102
100
  onClick={(e) => e.stopPropagation()}
103
101
  >
104
- <Menu onItemSelect={handleSelect} {...menuProps}>
102
+ <Menu onClick={handleSelect} {...menuProps}>
105
103
  {children}
106
104
  </Menu>
107
105
  </AnchorPositioner>
@@ -15,7 +15,6 @@ import { State } from '../effects';
15
15
  export const MenuItem = ({
16
16
  label,
17
17
  children,
18
- value,
19
18
  leadingIcon,
20
19
  trailingIcon,
21
20
  disabled,
@@ -65,12 +64,12 @@ export const MenuItem = ({
65
64
  variant,
66
65
  disabled,
67
66
  className,
68
- value,
69
67
  activated: isActive,
70
68
  isActive,
71
69
  });
72
70
 
73
71
  const handleClick = (e: React.MouseEvent) => {
72
+ console.log('refrefd', disabled, subMenuElement, onToggle);
74
73
  if (disabled) {
75
74
  e.preventDefault();
76
75
  return;
@@ -85,6 +84,7 @@ export const MenuItem = ({
85
84
  setIsActive(!isActive);
86
85
  onToggle(!isActive);
87
86
  } else {
87
+ console.log('click', onClick);
88
88
  onClick?.(e);
89
89
  }
90
90
  };
@@ -2,9 +2,9 @@ import React, { useEffect, useId, useMemo, useRef, useState } from 'react';
2
2
  import { Icon } from '../icon';
3
3
  import {
4
4
  faCalendarDays,
5
- faCircleExclamation,
6
5
  faChevronDown,
7
6
  faChevronUp,
7
+ faCircleExclamation,
8
8
  } from '@fortawesome/free-solid-svg-icons';
9
9
  import { motion } from 'motion/react';
10
10
  import { DatePicker } from './DatePicker';
@@ -323,7 +323,7 @@ export const TextField = ({
323
323
  });
324
324
 
325
325
  const TextComponent = multiline ? TextareaAutosize : 'input';
326
- // For select, we want the input to be readOnly but still focusable?
326
+ // For select, we want the input to be readOnly but still focusable?
327
327
  // Actually, for better UX, standard select inputs are often readOnly text fields.
328
328
  const textComponentProps = multiline
329
329
  ? {}
@@ -345,8 +345,8 @@ export const TextField = ({
345
345
  <div ref={textFieldRef} className={styles.textField} style={style}>
346
346
  <fieldset
347
347
  onClick={() => {
348
- if (isSelectInput) handleSelectToggle();
349
- else focusInput();
348
+ if (isSelectInput) handleSelectToggle();
349
+ else focusInput();
350
350
  }}
351
351
  className={styles.content}
352
352
  role="presentation"
@@ -424,11 +424,11 @@ export const TextField = ({
424
424
  name={name}
425
425
  placeholder={isFocused ? (placeholder ?? undefined) : ''}
426
426
  onFocus={() => {
427
- if(!isSelectInput) setIsFocused(true)
427
+ if (!isSelectInput) setIsFocused(true);
428
428
  }}
429
429
  onBlur={() => {
430
- // For select, we manage focus manually with menu state usually
431
- if(!isSelectInput) setIsFocused(false)
430
+ // For select, we manage focus manually with menu state usually
431
+ if (!isSelectInput) setIsFocused(false);
432
432
  }}
433
433
  disabled={disabled}
434
434
  autoComplete={autoComplete}
@@ -531,38 +531,56 @@ export const TextField = ({
531
531
  )}
532
532
 
533
533
  {isSelectInput && showMenu && (
534
- <AnchorPositioner anchorRef={textFieldRef} position="bottom" style={{ width: textFieldRef.current?.offsetWidth }}>
535
- <div ref={menuRef}>
536
- <Menu
537
- selected={value}
538
- onItemSelect={handleSelectOption}
539
- >
540
- {children}
541
- {!children && options?.map((opt, i) => {
542
- if (opt.type === 'divider') {
543
- return <Divider key={i} className="my-1" />
544
- }
545
- if (opt.type === 'headline') {
546
- return <MenuHeadline key={i} label={opt.label} />
547
- }
548
- return (
549
- <MenuItem
550
- key={opt.value ?? i}
551
- value={opt.value ?? ''}
552
- label={opt.label}
553
- leadingIcon={opt.leadingIcon}
554
- trailingIcon={opt.trailingIcon}
555
- disabled={opt.disabled}
556
- >
557
- {opt.label}
558
- </MenuItem>
559
- )
560
- })}
561
- </Menu>
562
- </div>
534
+ <AnchorPositioner
535
+ anchorRef={textFieldRef}
536
+ position="bottom"
537
+ style={{ width: textFieldRef.current?.offsetWidth }}
538
+ >
539
+ <div ref={menuRef}>
540
+ <Menu selected={value}>
541
+ {children
542
+ ? React.Children.map(children, (child) => {
543
+ if (
544
+ React.isValidElement(child) &&
545
+ child.type === MenuItem
546
+ ) {
547
+ return React.cloneElement(child, {
548
+ onClick: (e: React.MouseEvent) => {
549
+ if (child.props.onClick) {
550
+ child.props.onClick(e);
551
+ }
552
+ handleSelectOption(child.props.value ?? '');
553
+ },
554
+ } as any);
555
+ }
556
+ return child;
557
+ })
558
+ : options?.map((opt, i) => {
559
+ if (opt.type === 'divider') {
560
+ return <Divider key={i} className="my-1" />;
561
+ }
562
+ if (opt.type === 'headline') {
563
+ return <MenuHeadline key={i} label={opt.label} />;
564
+ }
565
+ return (
566
+ <MenuItem
567
+ key={opt.value ?? i}
568
+ onClick={(e) => {
569
+ if (opt.onClick) {
570
+ opt.onClick(e);
571
+ }
572
+ handleSelectOption(opt.value ?? '');
573
+ }}
574
+ {...opt}
575
+ >
576
+ {opt.label}
577
+ </MenuItem>
578
+ );
579
+ })}
580
+ </Menu>
581
+ </div>
563
582
  </AnchorPositioner>
564
583
  )}
565
584
  </div>
566
585
  );
567
586
  };
568
-
@@ -10,6 +10,8 @@ export * from './fab.interface';
10
10
  export * from './fab-menu.interface';
11
11
  export * from './icon-button.interface';
12
12
  export * from './menu.interface';
13
+ export * from './menu-group.interface';
14
+ export * from './menu-item.interface';
13
15
  export * from './progress-indicator.interface';
14
16
  export * from './side-sheet.interface';
15
17
  export * from './slider.interface';
@@ -1,7 +1,6 @@
1
1
  import { ActionOrLink } from '../utils/component';
2
2
 
3
3
  type Props = {
4
- value?: string | number;
5
4
  label?: string;
6
5
  children?: React.ReactNode;
7
6
  leadingIcon?: any;
@@ -3,7 +3,6 @@ export type MenuStates = Record<string, any>;
3
3
  export interface MenuProps {
4
4
  children: React.ReactNode;
5
5
  selected?: string | number | (string | number)[];
6
- onItemSelect?: (value: string | number) => void;
7
6
  className?: string;
8
7
  variant?: 'standard' | 'vibrant';
9
8
  // options prop REMOVED as requested by user ("options passed as children")
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import { IconButton } from '../components/IconButton';
3
3
  import { Icon } from '../icon';
4
+ import { MenuItemInterface } from './menu-item.interface';
4
5
 
5
6
  export type TextFieldVariant = 'filled' | 'outlined';
6
7
 
@@ -22,14 +23,12 @@ type Props = {
22
23
  id?: string;
23
24
  style?: React.CSSProperties;
24
25
  variant?: TextFieldVariant;
25
- options?: Array<{
26
- label: string;
27
- value: string | number;
28
- leadingIcon?: any;
29
- trailingIcon?: any;
30
- disabled?: boolean;
31
- type?: 'divider' | 'headline';
32
- }>;
26
+ options?: Array<
27
+ {
28
+ value: string | number;
29
+ type?: 'divider' | 'headline';
30
+ } & MenuItemInterface['props']
31
+ >;
33
32
  type?: 'text' | 'password' | 'number' | 'date' | 'select';
34
33
  autoComplete?: 'on' | 'off' | string;
35
34
  autoFocus?: boolean;