@korsolutions/ui 0.0.89 → 0.0.91

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 (89) hide show
  1. package/README.md +21 -0
  2. package/dist/module/components/avatar/components/avatar-image.js.map +1 -1
  3. package/dist/module/components/badge/badge.js +1 -6
  4. package/dist/module/components/badge/badge.js.map +1 -1
  5. package/dist/module/components/badge/variants/default.js +3 -2
  6. package/dist/module/components/badge/variants/default.js.map +1 -1
  7. package/dist/module/components/badge/variants/secondary.js +2 -1
  8. package/dist/module/components/badge/variants/secondary.js.map +1 -1
  9. package/dist/module/components/card/card-title.js +2 -3
  10. package/dist/module/components/card/card-title.js.map +1 -1
  11. package/dist/module/components/combobox/components/combobox-list.js +24 -0
  12. package/dist/module/components/combobox/components/combobox-list.js.map +1 -0
  13. package/dist/module/components/combobox/components/combobox-option.js +19 -23
  14. package/dist/module/components/combobox/components/combobox-option.js.map +1 -1
  15. package/dist/module/components/combobox/components/combobox-overlay.js +0 -1
  16. package/dist/module/components/combobox/components/combobox-overlay.js.map +1 -1
  17. package/dist/module/components/combobox/components/combobox-root.js +62 -11
  18. package/dist/module/components/combobox/components/combobox-root.js.map +1 -1
  19. package/dist/module/components/combobox/components/combobox-trigger.js +3 -2
  20. package/dist/module/components/combobox/components/combobox-trigger.js.map +1 -1
  21. package/dist/module/components/combobox/context.js.map +1 -1
  22. package/dist/module/components/combobox/index.js +2 -0
  23. package/dist/module/components/combobox/index.js.map +1 -1
  24. package/dist/module/components/menu/components/menu-selection-indicator.js +4 -3
  25. package/dist/module/components/menu/components/menu-selection-indicator.js.map +1 -1
  26. package/dist/module/components/portal/portal.js.map +1 -1
  27. package/dist/module/components/select/components/select-option.js +11 -12
  28. package/dist/module/components/select/components/select-option.js.map +1 -1
  29. package/dist/module/components/select/components/select-trigger.js +3 -1
  30. package/dist/module/components/select/components/select-trigger.js.map +1 -1
  31. package/dist/module/hooks/use-relative-position.js.map +1 -1
  32. package/dist/module/utils/normalize-layout.js.map +1 -1
  33. package/dist/typescript/src/components/avatar/components/avatar-image.d.ts +2 -2
  34. package/dist/typescript/src/components/avatar/components/avatar-image.d.ts.map +1 -1
  35. package/dist/typescript/src/components/badge/badge.d.ts.map +1 -1
  36. package/dist/typescript/src/components/badge/variants/default.d.ts.map +1 -1
  37. package/dist/typescript/src/components/badge/variants/secondary.d.ts.map +1 -1
  38. package/dist/typescript/src/components/card/card-title.d.ts +2 -2
  39. package/dist/typescript/src/components/card/card-title.d.ts.map +1 -1
  40. package/dist/typescript/src/components/combobox/components/combobox-list.d.ts +12 -0
  41. package/dist/typescript/src/components/combobox/components/combobox-list.d.ts.map +1 -0
  42. package/dist/typescript/src/components/combobox/components/combobox-option.d.ts +3 -4
  43. package/dist/typescript/src/components/combobox/components/combobox-option.d.ts.map +1 -1
  44. package/dist/typescript/src/components/combobox/components/combobox-overlay.d.ts.map +1 -1
  45. package/dist/typescript/src/components/combobox/components/combobox-root.d.ts +26 -6
  46. package/dist/typescript/src/components/combobox/components/combobox-root.d.ts.map +1 -1
  47. package/dist/typescript/src/components/combobox/components/combobox-trigger.d.ts.map +1 -1
  48. package/dist/typescript/src/components/combobox/context.d.ts +6 -2
  49. package/dist/typescript/src/components/combobox/context.d.ts.map +1 -1
  50. package/dist/typescript/src/components/combobox/index.d.ts +3 -0
  51. package/dist/typescript/src/components/combobox/index.d.ts.map +1 -1
  52. package/dist/typescript/src/components/combobox/types.d.ts +2 -3
  53. package/dist/typescript/src/components/combobox/types.d.ts.map +1 -1
  54. package/dist/typescript/src/components/input/input.d.ts +1 -1
  55. package/dist/typescript/src/components/input/input.d.ts.map +1 -1
  56. package/dist/typescript/src/components/menu/components/menu-selection-indicator.d.ts.map +1 -1
  57. package/dist/typescript/src/components/select/components/select-option.d.ts.map +1 -1
  58. package/dist/typescript/src/components/select/components/select-trigger.d.ts.map +1 -1
  59. package/dist/typescript/src/hooks/use-relative-position.d.ts +2 -2
  60. package/dist/typescript/src/hooks/use-relative-position.d.ts.map +1 -1
  61. package/dist/typescript/src/types/element.types.d.ts +3 -10
  62. package/dist/typescript/src/types/element.types.d.ts.map +1 -1
  63. package/dist/typescript/src/utils/normalize-layout.d.ts +3 -2
  64. package/dist/typescript/src/utils/normalize-layout.d.ts.map +1 -1
  65. package/package.json +8 -1
  66. package/src/components/avatar/components/avatar-image.tsx +2 -2
  67. package/src/components/badge/badge.tsx +1 -3
  68. package/src/components/badge/variants/default.tsx +2 -1
  69. package/src/components/badge/variants/secondary.tsx +1 -0
  70. package/src/components/card/card-title.tsx +7 -4
  71. package/src/components/combobox/components/combobox-list.tsx +32 -0
  72. package/src/components/combobox/components/combobox-option.tsx +27 -33
  73. package/src/components/combobox/components/combobox-overlay.tsx +0 -1
  74. package/src/components/combobox/components/combobox-root.tsx +110 -23
  75. package/src/components/combobox/components/combobox-trigger.tsx +3 -2
  76. package/src/components/combobox/context.ts +7 -2
  77. package/src/components/combobox/index.ts +3 -0
  78. package/src/components/combobox/types.ts +2 -3
  79. package/src/components/menu/components/menu-selection-indicator.tsx +5 -4
  80. package/src/components/portal/portal.tsx +2 -2
  81. package/src/components/select/components/select-option.tsx +14 -14
  82. package/src/components/select/components/select-trigger.tsx +11 -6
  83. package/src/hooks/use-relative-position.ts +4 -4
  84. package/src/types/element.types.ts +3 -10
  85. package/src/utils/normalize-layout.ts +3 -2
  86. package/AGENTS.md +0 -678
  87. package/babel.config.js +0 -8
  88. package/bob.config.js +0 -14
  89. package/tsconfig.json +0 -29
package/README.md ADDED
@@ -0,0 +1,21 @@
1
+ # KorUI
2
+
3
+ A minimal-dependency, cross-platform UI library for React Native and Expo. Flexible components with beautiful default styling.
4
+
5
+ ## Philosophy
6
+
7
+ - **Minimal dependencies** - We keep the dependency footprint as small as possible
8
+ - **Beautiful defaults** - Production-ready styling out of the box
9
+ - **Fully customizable** - Flexible variant system to match your brand
10
+ - **Cross-platform** - iOS, Android, and Web support
11
+ - **Easy to use** - Simple, intuitive APIs that just work
12
+
13
+ ## Installation
14
+
15
+ ```bash
16
+ npm install @korsolutions/ui
17
+ ```
18
+
19
+ ## License
20
+
21
+ MIT
@@ -1 +1 @@
1
- {"version":3,"names":["React","Image","useAvatar","jsx","_jsx","AvatarImage","props","avatar","composedStyles","styles","image","style","onLoad","setImageLoaded","onError"],"sourceRoot":"../../../../../src","sources":["components/avatar/components/avatar-image.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,KAAK,QAA2D,cAAc;AACvF,SAASC,SAAS,QAAQ,eAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOvC,OAAO,SAASC,WAAWA,CAACC,KAAuB,EAAE;EACnD,MAAMC,MAAM,GAAGL,SAAS,CAAC,CAAC;EAC1B,MAAMM,cAAc,GAAG,CAACD,MAAM,CAACE,MAAM,EAAEC,KAAK,EAAEJ,KAAK,CAACK,KAAK,CAAC;EAE1D,oBACEP,IAAA,CAACH,KAAK;IAAA,GACAK,KAAK;IACTK,KAAK,EAAEH,cAAe;IACtBI,MAAM,EAAEA,CAAA,KAAML,MAAM,CAACM,cAAc,CAAC,IAAI,CAAE;IAC1CC,OAAO,EAAEA,CAAA,KAAMP,MAAM,CAACM,cAAc,CAAC,KAAK;EAAE,CAC7C,CAAC;AAEN","ignoreList":[]}
1
+ {"version":3,"names":["React","Image","useAvatar","jsx","_jsx","AvatarImage","props","avatar","composedStyles","styles","image","style","onLoad","setImageLoaded","onError"],"sourceRoot":"../../../../../src","sources":["components/avatar/components/avatar-image.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,KAAK,QAA0D,cAAc;AACtF,SAASC,SAAS,QAAQ,eAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOvC,OAAO,SAASC,WAAWA,CAACC,KAAuB,EAAE;EACnD,MAAMC,MAAM,GAAGL,SAAS,CAAC,CAAC;EAC1B,MAAMM,cAAc,GAAG,CAACD,MAAM,CAACE,MAAM,EAAEC,KAAK,EAAEJ,KAAK,CAACK,KAAK,CAAC;EAE1D,oBACEP,IAAA,CAACH,KAAK;IAAA,GACAK,KAAK;IACTK,KAAK,EAAEH,cAAe;IACtBI,MAAM,EAAEA,CAAA,KAAML,MAAM,CAACM,cAAc,CAAC,IAAI,CAAE;IAC1CC,OAAO,EAAEA,CAAA,KAAMP,MAAM,CAACM,cAAc,CAAC,KAAK;EAAE,CAC7C,CAAC;AAEN","ignoreList":[]}
@@ -16,12 +16,7 @@ export function Badge(props) {
16
16
  } : undefined;
17
17
  const mergedStyles = mergeStyles(variantStyles, componentConfig?.styles);
18
18
  const composedStyle = StyleSheet.flatten([mergedStyles.root, props.style]);
19
- const textStyle = StyleSheet.flatten([mergedStyles.text, props.style]);
20
- const iconStyle = {
21
- ...mergedStyles.icon,
22
- ...props.style
23
- };
24
- const organizedChildren = useOrganizedChildren(props.children, textStyle, iconStyle);
19
+ const organizedChildren = useOrganizedChildren(props.children, mergedStyles.text, mergedStyles.icon);
25
20
  const Component = props.render ?? View;
26
21
  return /*#__PURE__*/_jsx(BadgeContext.Provider, {
27
22
  value: {
@@ -1 +1 @@
1
- {"version":3,"names":["React","StyleSheet","View","useOrganizedChildren","useComponentConfig","mergeStyles","BadgeContext","BadgeVariants","jsx","_jsx","Badge","props","variantStyles","variant","componentConfig","customStyle","color","backgroundColor","undefined","mergedStyles","styles","composedStyle","flatten","root","style","textStyle","text","iconStyle","icon","organizedChildren","children","Component","render","Provider","value"],"sourceRoot":"../../../../src","sources":["components/badge/badge.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAyBC,UAAU,EAAEC,IAAI,QAAwB,cAAc;AAC/E,SAASC,oBAAoB,QAAQ,uCAAoC;AACzE,SAASC,kBAAkB,QAAQ,0BAAuB;AAC1D,SAASC,WAAW,QAAQ,iCAA8B;AAC1D,SAASC,YAAY,QAAQ,cAAW;AACxC,SAASC,aAAa,QAAQ,qBAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAY3C,OAAO,SAASC,KAAKA,CAACC,KAAiB,EAAE;EACvC,MAAMC,aAAa,GAAGL,aAAa,CAACI,KAAK,CAACE,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC;EACjE,MAAMC,eAAe,GAAGV,kBAAkB,CAAC,OAAO,CAAC;EAEnD,MAAMW,WAAW,GAAGJ,KAAK,CAACK,KAAK,GAAG;IAAEC,eAAe,EAAEN,KAAK,CAACK;EAAM,CAAC,GAAGE,SAAS;EAE9E,MAAMC,YAAY,GAAGd,WAAW,CAACO,aAAa,EAAEE,eAAe,EAAEM,MAAM,CAAC;EACxE,MAAMC,aAAa,GAAGpB,UAAU,CAACqB,OAAO,CAAC,CAACH,YAAY,CAACI,IAAI,EAAEZ,KAAK,CAACa,KAAK,CAAC,CAAC;EAE1E,MAAMC,SAAS,GAAGxB,UAAU,CAACqB,OAAO,CAAC,CAACH,YAAY,CAACO,IAAI,EAAEf,KAAK,CAACa,KAAK,CAAC,CAAC;EACtE,MAAMG,SAAS,GAAG;IAAE,GAAGR,YAAY,CAACS,IAAI;IAAE,GAAGjB,KAAK,CAACa;EAAM,CAAC;EAC1D,MAAMK,iBAAiB,GAAG1B,oBAAoB,CAACQ,KAAK,CAACmB,QAAQ,EAAEL,SAAS,EAAEE,SAAS,CAAC;EAEpF,MAAMI,SAAS,GAAGpB,KAAK,CAACqB,MAAM,IAAI9B,IAAI;EACtC,oBACEO,IAAA,CAACH,YAAY,CAAC2B,QAAQ;IACpBC,KAAK,EAAE;MACLd,MAAM,EAAED;IACV,CAAE;IAAAW,QAAA,eAEFrB,IAAA,CAACsB,SAAS;MAAA,GAAKpB,KAAK;MAAEa,KAAK,EAAE,CAACH,aAAa,EAAEN,WAAW,CAAE;MAAAe,QAAA,EACvDD;IAAiB,CACT;EAAC,CACS,CAAC;AAE5B","ignoreList":[]}
1
+ {"version":3,"names":["React","StyleSheet","View","useOrganizedChildren","useComponentConfig","mergeStyles","BadgeContext","BadgeVariants","jsx","_jsx","Badge","props","variantStyles","variant","componentConfig","customStyle","color","backgroundColor","undefined","mergedStyles","styles","composedStyle","flatten","root","style","organizedChildren","children","text","icon","Component","render","Provider","value"],"sourceRoot":"../../../../src","sources":["components/badge/badge.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAyBC,UAAU,EAAEC,IAAI,QAAwB,cAAc;AAC/E,SAASC,oBAAoB,QAAQ,uCAAoC;AACzE,SAASC,kBAAkB,QAAQ,0BAAuB;AAC1D,SAASC,WAAW,QAAQ,iCAA8B;AAC1D,SAASC,YAAY,QAAQ,cAAW;AACxC,SAASC,aAAa,QAAQ,qBAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAY3C,OAAO,SAASC,KAAKA,CAACC,KAAiB,EAAE;EACvC,MAAMC,aAAa,GAAGL,aAAa,CAACI,KAAK,CAACE,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC;EACjE,MAAMC,eAAe,GAAGV,kBAAkB,CAAC,OAAO,CAAC;EAEnD,MAAMW,WAAW,GAAGJ,KAAK,CAACK,KAAK,GAAG;IAAEC,eAAe,EAAEN,KAAK,CAACK;EAAM,CAAC,GAAGE,SAAS;EAE9E,MAAMC,YAAY,GAAGd,WAAW,CAACO,aAAa,EAAEE,eAAe,EAAEM,MAAM,CAAC;EACxE,MAAMC,aAAa,GAAGpB,UAAU,CAACqB,OAAO,CAAC,CAACH,YAAY,CAACI,IAAI,EAAEZ,KAAK,CAACa,KAAK,CAAC,CAAC;EAE1E,MAAMC,iBAAiB,GAAGtB,oBAAoB,CAACQ,KAAK,CAACe,QAAQ,EAAEP,YAAY,CAACQ,IAAI,EAAER,YAAY,CAACS,IAAI,CAAC;EAEpG,MAAMC,SAAS,GAAGlB,KAAK,CAACmB,MAAM,IAAI5B,IAAI;EACtC,oBACEO,IAAA,CAACH,YAAY,CAACyB,QAAQ;IACpBC,KAAK,EAAE;MACLZ,MAAM,EAAED;IACV,CAAE;IAAAO,QAAA,eAEFjB,IAAA,CAACoB,SAAS;MAAA,GAAKlB,KAAK;MAAEa,KAAK,EAAE,CAACH,aAAa,EAAEN,WAAW,CAAE;MAAAW,QAAA,EACvDD;IAAiB,CACT;EAAC,CACS,CAAC;AAE5B","ignoreList":[]}
@@ -22,12 +22,13 @@ export const useBadgeVariantDefault = () => {
22
22
  color: colors.primaryForeground,
23
23
  fontSize: fontSize * 0.75,
24
24
  lineHeight: Math.round(fontSize * 0.75 * 1.25),
25
- fontWeight: "600",
25
+ fontWeight: "500",
26
26
  fontFamily
27
27
  },
28
28
  icon: {
29
29
  color: colors.primaryForeground,
30
- size: fontSize * 0.75
30
+ size: fontSize * 0.75,
31
+ strokeWidth: 3
31
32
  }
32
33
  }));
33
34
  };
@@ -1 +1 @@
1
- {"version":3,"names":["useThemedStyles","useBadgeVariantDefault","colors","radius","fontFamily","fontSize","root","flexDirection","gap","alignItems","alignSelf","backgroundColor","primary","paddingVertical","paddingHorizontal","borderRadius","text","color","primaryForeground","lineHeight","Math","round","fontWeight","icon","size"],"sourceRoot":"../../../../../src","sources":["components/badge/variants/default.tsx"],"mappings":";;AACA,SAASA,eAAe,QAAQ,qCAAkC;AAElE,OAAO,MAAMC,sBAAsB,GAAGA,CAAA,KAAmB;EACvD,OAAOD,eAAe,CACpB,CAAC;IAAEE,MAAM;IAAEC,MAAM;IAAEC,UAAU;IAAEC;EAAS,CAAC,MAAmB;IAC1DC,IAAI,EAAE;MACJC,aAAa,EAAE,KAAK;MACpBC,GAAG,EAAE,CAAC;MACNC,UAAU,EAAE,QAAQ;MACpBC,SAAS,EAAE,YAAY;MACvBC,eAAe,EAAET,MAAM,CAACU,OAAO;MAC/BC,eAAe,EAAE,CAAC;MAClBC,iBAAiB,EAAE,CAAC;MACpBC,YAAY,EAAEZ;IAChB,CAAC;IACDa,IAAI,EAAE;MACJC,KAAK,EAAEf,MAAM,CAACgB,iBAAiB;MAC/Bb,QAAQ,EAAEA,QAAQ,GAAG,IAAI;MACzBc,UAAU,EAAEC,IAAI,CAACC,KAAK,CAAChB,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC;MAC9CiB,UAAU,EAAE,KAAK;MACjBlB;IACF,CAAC;IACDmB,IAAI,EAAE;MACJN,KAAK,EAAEf,MAAM,CAACgB,iBAAiB;MAC/BM,IAAI,EAAEnB,QAAQ,GAAG;IACnB;EACF,CAAC,CACH,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useThemedStyles","useBadgeVariantDefault","colors","radius","fontFamily","fontSize","root","flexDirection","gap","alignItems","alignSelf","backgroundColor","primary","paddingVertical","paddingHorizontal","borderRadius","text","color","primaryForeground","lineHeight","Math","round","fontWeight","icon","size","strokeWidth"],"sourceRoot":"../../../../../src","sources":["components/badge/variants/default.tsx"],"mappings":";;AACA,SAASA,eAAe,QAAQ,qCAAkC;AAElE,OAAO,MAAMC,sBAAsB,GAAGA,CAAA,KAAmB;EACvD,OAAOD,eAAe,CACpB,CAAC;IAAEE,MAAM;IAAEC,MAAM;IAAEC,UAAU;IAAEC;EAAS,CAAC,MAAmB;IAC1DC,IAAI,EAAE;MACJC,aAAa,EAAE,KAAK;MACpBC,GAAG,EAAE,CAAC;MACNC,UAAU,EAAE,QAAQ;MACpBC,SAAS,EAAE,YAAY;MACvBC,eAAe,EAAET,MAAM,CAACU,OAAO;MAC/BC,eAAe,EAAE,CAAC;MAClBC,iBAAiB,EAAE,CAAC;MACpBC,YAAY,EAAEZ;IAChB,CAAC;IACDa,IAAI,EAAE;MACJC,KAAK,EAAEf,MAAM,CAACgB,iBAAiB;MAC/Bb,QAAQ,EAAEA,QAAQ,GAAG,IAAI;MACzBc,UAAU,EAAEC,IAAI,CAACC,KAAK,CAAChB,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC;MAC9CiB,UAAU,EAAE,KAAK;MACjBlB;IACF,CAAC;IACDmB,IAAI,EAAE;MACJN,KAAK,EAAEf,MAAM,CAACgB,iBAAiB;MAC/BM,IAAI,EAAEnB,QAAQ,GAAG,IAAI;MACrBoB,WAAW,EAAE;IACf;EACF,CAAC,CACH,CAAC;AACH,CAAC","ignoreList":[]}
@@ -27,7 +27,8 @@ export const useBadgeVariantSecondary = () => {
27
27
  },
28
28
  icon: {
29
29
  color: colors.secondaryForeground,
30
- size: fontSize * 0.75
30
+ size: fontSize * 0.75,
31
+ strokeWidth: 3
31
32
  }
32
33
  }));
33
34
  };
@@ -1 +1 @@
1
- {"version":3,"names":["useThemedStyles","useBadgeVariantSecondary","colors","radius","fontFamily","fontSize","root","flexDirection","gap","alignItems","alignSelf","backgroundColor","secondary","paddingVertical","paddingHorizontal","borderRadius","text","color","secondaryForeground","lineHeight","Math","round","fontWeight","icon","size"],"sourceRoot":"../../../../../src","sources":["components/badge/variants/secondary.tsx"],"mappings":";;AACA,SAASA,eAAe,QAAQ,qCAAkC;AAElE,OAAO,MAAMC,wBAAwB,GAAGA,CAAA,KAAmB;EACzD,OAAOD,eAAe,CACpB,CAAC;IAAEE,MAAM;IAAEC,MAAM;IAAEC,UAAU;IAAEC;EAAS,CAAC,MAAmB;IAC1DC,IAAI,EAAE;MACJC,aAAa,EAAE,KAAK;MACpBC,GAAG,EAAE,CAAC;MACNC,UAAU,EAAE,QAAQ;MACpBC,SAAS,EAAE,YAAY;MACvBC,eAAe,EAAET,MAAM,CAACU,SAAS;MACjCC,eAAe,EAAE,CAAC;MAClBC,iBAAiB,EAAE,CAAC;MACpBC,YAAY,EAAEZ;IAChB,CAAC;IACDa,IAAI,EAAE;MACJC,KAAK,EAAEf,MAAM,CAACgB,mBAAmB;MACjCb,QAAQ,EAAEA,QAAQ,GAAG,IAAI;MACzBc,UAAU,EAAEC,IAAI,CAACC,KAAK,CAAChB,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC;MAC9CiB,UAAU,EAAE,KAAK;MACjBlB;IACF,CAAC;IACDmB,IAAI,EAAE;MACJN,KAAK,EAAEf,MAAM,CAACgB,mBAAmB;MACjCM,IAAI,EAAEnB,QAAQ,GAAG;IACnB;EACF,CAAC,CACH,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useThemedStyles","useBadgeVariantSecondary","colors","radius","fontFamily","fontSize","root","flexDirection","gap","alignItems","alignSelf","backgroundColor","secondary","paddingVertical","paddingHorizontal","borderRadius","text","color","secondaryForeground","lineHeight","Math","round","fontWeight","icon","size","strokeWidth"],"sourceRoot":"../../../../../src","sources":["components/badge/variants/secondary.tsx"],"mappings":";;AACA,SAASA,eAAe,QAAQ,qCAAkC;AAElE,OAAO,MAAMC,wBAAwB,GAAGA,CAAA,KAAmB;EACzD,OAAOD,eAAe,CACpB,CAAC;IAAEE,MAAM;IAAEC,MAAM;IAAEC,UAAU;IAAEC;EAAS,CAAC,MAAmB;IAC1DC,IAAI,EAAE;MACJC,aAAa,EAAE,KAAK;MACpBC,GAAG,EAAE,CAAC;MACNC,UAAU,EAAE,QAAQ;MACpBC,SAAS,EAAE,YAAY;MACvBC,eAAe,EAAET,MAAM,CAACU,SAAS;MACjCC,eAAe,EAAE,CAAC;MAClBC,iBAAiB,EAAE,CAAC;MACpBC,YAAY,EAAEZ;IAChB,CAAC;IACDa,IAAI,EAAE;MACJC,KAAK,EAAEf,MAAM,CAACgB,mBAAmB;MACjCb,QAAQ,EAAEA,QAAQ,GAAG,IAAI;MACzBc,UAAU,EAAEC,IAAI,CAACC,KAAK,CAAChB,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC;MAC9CiB,UAAU,EAAE,KAAK;MACjBlB;IACF,CAAC;IACDmB,IAAI,EAAE;MACJN,KAAK,EAAEf,MAAM,CAACgB,mBAAmB;MACjCM,IAAI,EAAEnB,QAAQ,GAAG,IAAI;MACrBoB,WAAW,EAAE;IACf;EACF,CAAC,CACH,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1,13 +1,12 @@
1
1
  "use strict";
2
2
 
3
- import { calculateComposedStyles } from "../../utils/calculate-styles.js";
4
3
  import React from "react";
5
- import { Text } from "react-native";
4
+ import { StyleSheet, Text } from "react-native";
6
5
  import { useCard } from "./context.js";
7
6
  import { jsx as _jsx } from "react/jsx-runtime";
8
7
  export function CardTitle(props) {
9
8
  const card = useCard();
10
- const composedStyle = calculateComposedStyles(card.styles, card.state, "title", props.style);
9
+ const composedStyle = StyleSheet.flatten([card.styles?.title?.default, card.styles?.title?.[card.state], props.style]);
11
10
  const Component = props.render ?? Text;
12
11
  return /*#__PURE__*/_jsx(Component, {
13
12
  ...props,
@@ -1 +1 @@
1
- {"version":3,"names":["calculateComposedStyles","React","Text","useCard","jsx","_jsx","CardTitle","props","card","composedStyle","styles","state","style","Component","render"],"sourceRoot":"../../../../src","sources":["components/card/card-title.tsx"],"mappings":";;AAEA,SAASA,uBAAuB,QAAQ,iCAA8B;AACtE,OAAOC,KAAK,MAAM,OAAO;AACzB,SAAyBC,IAAI,QAAwB,cAAc;AACnE,SAASC,OAAO,QAAQ,cAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQpC,OAAO,SAASC,SAASA,CAACC,KAAsC,EAAE;EAChE,MAAMC,IAAI,GAAGL,OAAO,CAAC,CAAC;EAEtB,MAAMM,aAAa,GAAGT,uBAAuB,CAACQ,IAAI,CAACE,MAAM,EAAEF,IAAI,CAACG,KAAK,EAAE,OAAO,EAAEJ,KAAK,CAACK,KAAK,CAAC;EAE5F,MAAMC,SAAS,GAAGN,KAAK,CAACO,MAAM,IAAIZ,IAAI;EACtC,oBAAOG,IAAA,CAACQ,SAAS;IAAA,GAAKN,KAAK;IAAEK,KAAK,EAAEH;EAAc,CAAE,CAAC;AACvD","ignoreList":[]}
1
+ {"version":3,"names":["React","StyleSheet","Text","useCard","jsx","_jsx","CardTitle","props","card","composedStyle","flatten","styles","title","default","state","style","Component","render"],"sourceRoot":"../../../../src","sources":["components/card/card-title.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAyBC,UAAU,EAAEC,IAAI,QAAwB,cAAc;AAG/E,SAASC,OAAO,QAAQ,cAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQpC,OAAO,SAASC,SAASA,CAACC,KAAsC,EAAE;EAChE,MAAMC,IAAI,GAAGL,OAAO,CAAC,CAAC;EAEtB,MAAMM,aAAmC,GAAGR,UAAU,CAACS,OAAO,CAAC,CAC7DF,IAAI,CAACG,MAAM,EAAEC,KAAK,EAAEC,OAAO,EAC3BL,IAAI,CAACG,MAAM,EAAEC,KAAK,GAAGJ,IAAI,CAACM,KAAK,CAAC,EAChCP,KAAK,CAACQ,KAAK,CACZ,CAAC;EAEF,MAAMC,SAAS,GAAGT,KAAK,CAACU,MAAM,IAAIf,IAAI;EACtC,oBAAOG,IAAA,CAACW,SAAS;IAAA,GAAKT,KAAK;IAAEQ,KAAK,EAAEN;EAAc,CAAE,CAAC;AACvD","ignoreList":[]}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ import React from "react";
4
+ import { useCombobox } from "../context.js";
5
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
+ export function ComboboxList(props) {
7
+ const combobox = useCombobox();
8
+ const items = combobox.filteredItems;
9
+ const keyExtractor = props.keyExtractor ?? ((item, index) => combobox.getItemValue(item) ?? String(index));
10
+ if (items.length === 0) {
11
+ return /*#__PURE__*/_jsx(_Fragment, {
12
+ children: props.renderEmpty?.()
13
+ });
14
+ }
15
+ return /*#__PURE__*/_jsx(_Fragment, {
16
+ children: items.map((item, index) => /*#__PURE__*/_jsxs(React.Fragment, {
17
+ children: [props.renderItem({
18
+ item,
19
+ index
20
+ }), index < items.length - 1 && props.renderSeparator?.()]
21
+ }, keyExtractor(item, index)))
22
+ });
23
+ }
24
+ //# sourceMappingURL=combobox-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useCombobox","Fragment","_Fragment","jsx","_jsx","jsxs","_jsxs","ComboboxList","props","combobox","items","filteredItems","keyExtractor","item","index","getItemValue","String","length","children","renderEmpty","map","renderItem","renderSeparator"],"sourceRoot":"../../../../../src","sources":["components/combobox/components/combobox-list.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,WAAW,QAAQ,eAAY;AAAC,SAAAC,QAAA,IAAAC,SAAA,EAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AASzC,OAAO,SAASC,YAAYA,CAAIC,KAA2B,EAAE;EAC3D,MAAMC,QAAQ,GAAGT,WAAW,CAAC,CAAC;EAC9B,MAAMU,KAAK,GAAGD,QAAQ,CAACE,aAAoB;EAE3C,MAAMC,YAAY,GAChBJ,KAAK,CAACI,YAAY,KAAK,CAACC,IAAO,EAAEC,KAAa,KAAKL,QAAQ,CAACM,YAAY,CAACF,IAAI,CAAC,IAAIG,MAAM,CAACF,KAAK,CAAC,CAAC;EAElG,IAAIJ,KAAK,CAACO,MAAM,KAAK,CAAC,EAAE;IACtB,oBAAOb,IAAA,CAAAF,SAAA;MAAAgB,QAAA,EAAGV,KAAK,CAACW,WAAW,GAAG;IAAC,CAAG,CAAC;EACrC;EAEA,oBACEf,IAAA,CAAAF,SAAA;IAAAgB,QAAA,EACGR,KAAK,CAACU,GAAG,CAAC,CAACP,IAAI,EAAEC,KAAK,kBACrBR,KAAA,CAACP,KAAK,CAACE,QAAQ;MAAAiB,QAAA,GACZV,KAAK,CAACa,UAAU,CAAC;QAAER,IAAI;QAAEC;MAAM,CAAC,CAAC,EACjCA,KAAK,GAAGJ,KAAK,CAACO,MAAM,GAAG,CAAC,IAAIT,KAAK,CAACc,eAAe,GAAG,CAAC;IAAA,GAFnCV,YAAY,CAACC,IAAI,EAAEC,KAAK,CAG7B,CACjB;EAAC,CACF,CAAC;AAEP","ignoreList":[]}
@@ -5,38 +5,34 @@ import { Pressable, StyleSheet, Text } from "react-native";
5
5
  import { useCombobox } from "../context.js";
6
6
  import { jsx as _jsx } from "react/jsx-runtime";
7
7
  const calculateState = (comboboxState, hovered, selected) => {
8
- if (comboboxState === "disabled") {
9
- return "disabled";
10
- }
11
- if (selected) {
12
- return "selected";
13
- }
14
- if (hovered) {
15
- return "hovered";
16
- }
8
+ if (comboboxState === "disabled") return "disabled";
9
+ if (selected) return "selected";
10
+ if (hovered) return "hovered";
17
11
  return "default";
18
12
  };
19
13
  export function ComboboxOption(props) {
20
14
  const [isHovered, setIsHovered] = useState(false);
21
15
  const combobox = useCombobox();
22
- const isSelected = combobox.value === props.value;
16
+ const itemValue = combobox.getItemValue(props.item);
17
+ const selectedValue = combobox.value != null ? combobox.getItemValue(combobox.value) : undefined;
18
+ const isSelected = itemValue === selectedValue;
23
19
  const optionState = calculateState(combobox.state, isHovered, isSelected);
24
- const composedStyles = StyleSheet.flatten([combobox.styles?.option?.default, combobox.styles?.option?.[optionState]]);
20
+ const optionStyles = combobox.styles?.option;
21
+ const composedStyles = StyleSheet.flatten([optionStyles?.default, optionStyles?.[optionState]]);
22
+ const handlePress = () => {
23
+ combobox.onChange?.(props.item);
24
+ combobox.setIsOpen(false);
25
+ };
26
+ const handlePointerEnter = () => setIsHovered(true);
27
+ const handlePointerLeave = () => setIsHovered(false);
28
+ const displayContent = props.children ?? combobox.getItemLabel(props.item);
25
29
  const Component = typeof props.children === "string" ? Text : Pressable;
26
30
  return /*#__PURE__*/_jsx(Component, {
27
- onPress: () => {
28
- const label = props.label ?? (typeof props.children === "string" ? props.children : props.value);
29
- combobox.onChange?.(label);
30
- combobox.setIsOpen(false);
31
- },
32
- onPointerEnter: () => {
33
- setIsHovered(true);
34
- },
35
- onPointerLeave: () => {
36
- setIsHovered(false);
37
- },
31
+ onPress: handlePress,
32
+ onPointerEnter: handlePointerEnter,
33
+ onPointerLeave: handlePointerLeave,
38
34
  style: composedStyles,
39
- children: props.children
35
+ children: displayContent
40
36
  });
41
37
  }
42
38
  //# sourceMappingURL=combobox-option.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","Pressable","StyleSheet","Text","useCombobox","jsx","_jsx","calculateState","comboboxState","hovered","selected","ComboboxOption","props","isHovered","setIsHovered","combobox","isSelected","value","optionState","state","composedStyles","flatten","styles","option","default","Component","children","onPress","label","onChange","setIsOpen","onPointerEnter","onPointerLeave","style"],"sourceRoot":"../../../../../src","sources":["components/combobox/components/combobox-option.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SAASC,SAAS,EAAEC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC1D,SAASC,WAAW,QAAQ,eAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AASzC,MAAMC,cAAc,GAAGA,CACrBC,aAA4B,EAC5BC,OAAgB,EAChBC,QAAiB,KACO;EACxB,IAAIF,aAAa,KAAK,UAAU,EAAE;IAChC,OAAO,UAAU;EACnB;EACA,IAAIE,QAAQ,EAAE;IACZ,OAAO,UAAU;EACnB;EACA,IAAID,OAAO,EAAE;IACX,OAAO,SAAS;EAClB;EACA,OAAO,SAAS;AAClB,CAAC;AAED,OAAO,SAASE,cAAcA,CAACC,KAA0B,EAAE;EACzD,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAGd,QAAQ,CAAC,KAAK,CAAC;EACjD,MAAMe,QAAQ,GAAGX,WAAW,CAAC,CAAC;EAC9B,MAAMY,UAAU,GAAGD,QAAQ,CAACE,KAAK,KAAKL,KAAK,CAACK,KAAK;EAEjD,MAAMC,WAAW,GAAGX,cAAc,CAACQ,QAAQ,CAACI,KAAK,EAAEN,SAAS,EAAEG,UAAU,CAAC;EACzE,MAAMI,cAAc,GAAGlB,UAAU,CAACmB,OAAO,CAAC,CACxCN,QAAQ,CAACO,MAAM,EAAEC,MAAM,EAAEC,OAAO,EAChCT,QAAQ,CAACO,MAAM,EAAEC,MAAM,GAAGL,WAAW,CAAC,CACvC,CAAC;EAEF,MAAMO,SAAS,GAAG,OAAOb,KAAK,CAACc,QAAQ,KAAK,QAAQ,GAAGvB,IAAI,GAAGF,SAAS;EAEvE,oBACEK,IAAA,CAACmB,SAAS;IACRE,OAAO,EAAEA,CAAA,KAAM;MACb,MAAMC,KAAK,GACThB,KAAK,CAACgB,KAAK,KAAK,OAAOhB,KAAK,CAACc,QAAQ,KAAK,QAAQ,GAAGd,KAAK,CAACc,QAAQ,GAAGd,KAAK,CAACK,KAAK,CAAC;MACpFF,QAAQ,CAACc,QAAQ,GAAGD,KAAK,CAAC;MAC1Bb,QAAQ,CAACe,SAAS,CAAC,KAAK,CAAC;IAC3B,CAAE;IACFC,cAAc,EAAEA,CAAA,KAAM;MACpBjB,YAAY,CAAC,IAAI,CAAC;IACpB,CAAE;IACFkB,cAAc,EAAEA,CAAA,KAAM;MACpBlB,YAAY,CAAC,KAAK,CAAC;IACrB,CAAE;IACFmB,KAAK,EAAEb,cAAe;IAAAM,QAAA,EAErBd,KAAK,CAACc;EAAQ,CACN,CAAC;AAEhB","ignoreList":[]}
1
+ {"version":3,"names":["React","useState","Pressable","StyleSheet","Text","useCombobox","jsx","_jsx","calculateState","comboboxState","hovered","selected","ComboboxOption","props","isHovered","setIsHovered","combobox","itemValue","getItemValue","item","selectedValue","value","undefined","isSelected","optionState","state","optionStyles","styles","option","composedStyles","flatten","default","handlePress","onChange","setIsOpen","handlePointerEnter","handlePointerLeave","displayContent","children","getItemLabel","Component","onPress","onPointerEnter","onPointerLeave","style"],"sourceRoot":"../../../../../src","sources":["components/combobox/components/combobox-option.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SAASC,SAAS,EAAEC,UAAU,EAAEC,IAAI,QAAwC,cAAc;AAC1F,SAASC,WAAW,QAAQ,eAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQzC,MAAMC,cAAc,GAAGA,CACrBC,aAA4B,EAC5BC,OAAgB,EAChBC,QAAiB,KACO;EACxB,IAAIF,aAAa,KAAK,UAAU,EAAE,OAAO,UAAU;EACnD,IAAIE,QAAQ,EAAE,OAAO,UAAU;EAC/B,IAAID,OAAO,EAAE,OAAO,SAAS;EAC7B,OAAO,SAAS;AAClB,CAAC;AAED,OAAO,SAASE,cAAcA,CAAIC,KAA6B,EAAE;EAC/D,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAGd,QAAQ,CAAC,KAAK,CAAC;EACjD,MAAMe,QAAQ,GAAGX,WAAW,CAAC,CAAC;EAE9B,MAAMY,SAAS,GAAGD,QAAQ,CAACE,YAAY,CAACL,KAAK,CAACM,IAAI,CAAC;EACnD,MAAMC,aAAa,GAAGJ,QAAQ,CAACK,KAAK,IAAI,IAAI,GAAGL,QAAQ,CAACE,YAAY,CAACF,QAAQ,CAACK,KAAK,CAAC,GAAGC,SAAS;EAChG,MAAMC,UAAU,GAAGN,SAAS,KAAKG,aAAa;EAE9C,MAAMI,WAAW,GAAGhB,cAAc,CAACQ,QAAQ,CAACS,KAAK,EAAEX,SAAS,EAAES,UAAU,CAAC;EACzE,MAAMG,YAAY,GAAGV,QAAQ,CAACW,MAAM,EAAEC,MAAM;EAC5C,MAAMC,cAAc,GAAG1B,UAAU,CAAC2B,OAAO,CAAC,CAACJ,YAAY,EAAEK,OAAO,EAAEL,YAAY,GAAGF,WAAW,CAAC,CAAC,CAAC;EAE/F,MAAMQ,WAAW,GAAGA,CAAA,KAAM;IACxBhB,QAAQ,CAACiB,QAAQ,GAAGpB,KAAK,CAACM,IAAI,CAAC;IAC/BH,QAAQ,CAACkB,SAAS,CAAC,KAAK,CAAC;EAC3B,CAAC;EACD,MAAMC,kBAAkB,GAAGA,CAAA,KAAMpB,YAAY,CAAC,IAAI,CAAC;EACnD,MAAMqB,kBAAkB,GAAGA,CAAA,KAAMrB,YAAY,CAAC,KAAK,CAAC;EAEpD,MAAMsB,cAAc,GAAGxB,KAAK,CAACyB,QAAQ,IAAItB,QAAQ,CAACuB,YAAY,CAAC1B,KAAK,CAACM,IAAI,CAAC;EAE1E,MAAMqB,SAAS,GAAG,OAAO3B,KAAK,CAACyB,QAAQ,KAAK,QAAQ,GAAGlC,IAAI,GAAGF,SAAS;EAEvE,oBACEK,IAAA,CAACiC,SAAS;IACRC,OAAO,EAAET,WAAY;IACrBU,cAAc,EAAEP,kBAAmB;IACnCQ,cAAc,EAAEP,kBAAmB;IACnCQ,KAAK,EAAEf,cAAuC;IAAAS,QAAA,EAE7CD;EAAc,CACN,CAAC;AAEhB","ignoreList":[]}
@@ -9,7 +9,6 @@ export function ComboboxOverlay(props) {
9
9
  const composedStyles = StyleSheet.flatten([combobox.styles?.overlay?.default, combobox.styles?.overlay?.[combobox.state], props.style]);
10
10
  return /*#__PURE__*/_jsx(Pressable, {
11
11
  onPress: () => {
12
- combobox.onChange?.(combobox.inputValue);
13
12
  combobox.setIsOpen(false);
14
13
  },
15
14
  pointerEvents: "auto",
@@ -1 +1 @@
1
- {"version":3,"names":["React","Pressable","StyleSheet","useCombobox","jsx","_jsx","ComboboxOverlay","props","combobox","composedStyles","flatten","styles","overlay","default","state","style","onPress","onChange","inputValue","setIsOpen","pointerEvents","absoluteFill","children"],"sourceRoot":"../../../../../src","sources":["components/combobox/components/combobox-overlay.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,SAAS,EAAkBC,UAAU,QAAwB,cAAc;AACpF,SAASC,WAAW,QAAQ,eAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOzC,OAAO,SAASC,eAAeA,CAACC,KAA2B,EAAE;EAC3D,MAAMC,QAAQ,GAAGL,WAAW,CAAC,CAAC;EAE9B,MAAMM,cAAc,GAAGP,UAAU,CAACQ,OAAO,CAAC,CACxCF,QAAQ,CAACG,MAAM,EAAEC,OAAO,EAAEC,OAAO,EACjCL,QAAQ,CAACG,MAAM,EAAEC,OAAO,GAAGJ,QAAQ,CAACM,KAAK,CAAC,EAC1CP,KAAK,CAACQ,KAAK,CACZ,CAAC;EAEF,oBACEV,IAAA,CAACJ,SAAS;IACRe,OAAO,EAAEA,CAAA,KAAM;MACbR,QAAQ,CAACS,QAAQ,GAAGT,QAAQ,CAACU,UAAU,CAAC;MACxCV,QAAQ,CAACW,SAAS,CAAC,KAAK,CAAC;IAC3B,CAAE;IACFC,aAAa,EAAC,MAAM;IACpBL,KAAK,EAAE,CAACb,UAAU,CAACmB,YAAY,EAAEZ,cAAc,CAAE;IAAAa,QAAA,EAEhDf,KAAK,CAACe;EAAQ,CACN,CAAC;AAEhB","ignoreList":[]}
1
+ {"version":3,"names":["React","Pressable","StyleSheet","useCombobox","jsx","_jsx","ComboboxOverlay","props","combobox","composedStyles","flatten","styles","overlay","default","state","style","onPress","setIsOpen","pointerEvents","absoluteFill","children"],"sourceRoot":"../../../../../src","sources":["components/combobox/components/combobox-overlay.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,SAAS,EAAkBC,UAAU,QAAwB,cAAc;AACpF,SAASC,WAAW,QAAQ,eAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOzC,OAAO,SAASC,eAAeA,CAACC,KAA2B,EAAE;EAC3D,MAAMC,QAAQ,GAAGL,WAAW,CAAC,CAAC;EAE9B,MAAMM,cAAc,GAAGP,UAAU,CAACQ,OAAO,CAAC,CACxCF,QAAQ,CAACG,MAAM,EAAEC,OAAO,EAAEC,OAAO,EACjCL,QAAQ,CAACG,MAAM,EAAEC,OAAO,GAAGJ,QAAQ,CAACM,KAAK,CAAC,EAC1CP,KAAK,CAACQ,KAAK,CACZ,CAAC;EAEF,oBACEV,IAAA,CAACJ,SAAS;IACRe,OAAO,EAAEA,CAAA,KAAM;MACbR,QAAQ,CAACS,SAAS,CAAC,KAAK,CAAC;IAC3B,CAAE;IACFC,aAAa,EAAC,MAAM;IACpBH,KAAK,EAAE,CAACb,UAAU,CAACiB,YAAY,EAAEV,cAAc,CAAE;IAAAW,QAAA,EAEhDb,KAAK,CAACa;EAAQ,CACN,CAAC;AAEhB","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import React, { useEffect, useMemo, useRef, useState } from "react";
3
+ import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
4
4
  import { StyleSheet, View } from "react-native";
5
5
  import { DEFAULT_LAYOUT, DEFAULT_POSITION } from "../../../hooks/index.js";
6
6
  import { useComponentConfig } from "../../../themes/provider.js";
@@ -8,22 +8,57 @@ import { mergeStyles } from "../../../utils/calculate-styles.js";
8
8
  import { ComboboxContext } from "../context.js";
9
9
  import { ComboboxVariants } from "../variants/index.js";
10
10
  import { jsx as _jsx } from "react/jsx-runtime";
11
- const calculateState = props => {
12
- if (props.isDisabled) {
13
- return "disabled";
11
+ const defaultGetItemValue = item => {
12
+ if (typeof item === "string") return item;
13
+ if (typeof item === "object" && item !== null && "value" in item) {
14
+ return String(item.value);
15
+ }
16
+ return String(item);
17
+ };
18
+ const defaultGetItemLabel = item => {
19
+ if (typeof item === "string") return item;
20
+ if (typeof item === "object" && item !== null && "label" in item) {
21
+ return String(item.label);
14
22
  }
23
+ return defaultGetItemValue(item);
24
+ };
25
+ const calculateState = props => {
26
+ if (props.isDisabled) return "disabled";
15
27
  return "default";
16
28
  };
17
29
  export function ComboboxRoot(props) {
18
- const variantStyles = ComboboxVariants[props.variant ?? "default"](props.size ?? "md");
30
+ const {
31
+ items,
32
+ value,
33
+ onChange,
34
+ getItemValue = defaultGetItemValue,
35
+ getItemLabel = defaultGetItemLabel,
36
+ filter,
37
+ onInputChange,
38
+ variant = "default",
39
+ size = "md",
40
+ isDisabled = false
41
+ } = props;
42
+ const variantStyles = ComboboxVariants[variant](size);
19
43
  const globalStyles = useComponentConfig("combobox");
20
44
  const mergedStyles = mergeStyles(variantStyles, globalStyles?.styles);
21
45
  const [isOpen, setIsOpen] = useState(false);
22
46
  const [contentLayout, setContentLayout] = useState(DEFAULT_LAYOUT);
23
47
  const [triggerPosition, setTriggerPosition] = useState(DEFAULT_POSITION);
24
48
  const [inputValue, setInputValue] = useState("");
25
- const onInputChangeRef = useRef(props.onInputChange);
26
- onInputChangeRef.current = props.onInputChange;
49
+
50
+ // Reset input value when closing
51
+ const prevOpen = useRef(isOpen);
52
+ useEffect(() => {
53
+ if (prevOpen.current && !isOpen) {
54
+ setInputValue("");
55
+ }
56
+ prevOpen.current = isOpen;
57
+ }, [isOpen]);
58
+
59
+ // Notify consumer when input value changes
60
+ const onInputChangeRef = useRef(onInputChange);
61
+ onInputChangeRef.current = onInputChange;
27
62
  const isFirstRender = useRef(true);
28
63
  useEffect(() => {
29
64
  if (isFirstRender.current) {
@@ -32,11 +67,27 @@ export function ComboboxRoot(props) {
32
67
  }
33
68
  onInputChangeRef.current?.(inputValue);
34
69
  }, [inputValue]);
70
+ const filteredItems = useMemo(() => {
71
+ if (filter === null) return items;
72
+ if (!inputValue) return items;
73
+ const filterFn = filter ?? ((item, query) => {
74
+ const label = getItemLabel(item);
75
+ return label.toLowerCase().includes(query.toLowerCase());
76
+ });
77
+ return items.filter(item => filterFn(item, inputValue));
78
+ }, [items, inputValue, filter, getItemLabel]);
35
79
  const state = calculateState(props);
36
80
  const composedStyles = StyleSheet.flatten([mergedStyles?.root?.default, mergedStyles?.root?.[state], props.style]);
81
+ const handleChange = useCallback(item => {
82
+ onChange?.(item);
83
+ }, [onChange]);
37
84
  const contextValue = useMemo(() => ({
38
- value: props.value,
39
- onChange: props.onChange,
85
+ items,
86
+ filteredItems,
87
+ getItemValue: getItemValue,
88
+ getItemLabel: getItemLabel,
89
+ value,
90
+ onChange: handleChange,
40
91
  isOpen,
41
92
  setIsOpen,
42
93
  triggerPosition,
@@ -46,9 +97,9 @@ export function ComboboxRoot(props) {
46
97
  inputValue,
47
98
  setInputValue,
48
99
  state,
49
- isDisabled: props.isDisabled ?? false,
100
+ isDisabled,
50
101
  styles: mergedStyles
51
- }), [props.value, props.onChange, isOpen, triggerPosition, contentLayout, inputValue, setInputValue, state, props.isDisabled, mergedStyles]);
102
+ }), [items, filteredItems, getItemValue, getItemLabel, value, handleChange, isOpen, triggerPosition, contentLayout, inputValue, state, isDisabled, mergedStyles]);
52
103
  return /*#__PURE__*/_jsx(ComboboxContext.Provider, {
53
104
  value: contextValue,
54
105
  children: /*#__PURE__*/_jsx(View, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useMemo","useRef","useState","StyleSheet","View","DEFAULT_LAYOUT","DEFAULT_POSITION","useComponentConfig","mergeStyles","ComboboxContext","ComboboxVariants","jsx","_jsx","calculateState","props","isDisabled","ComboboxRoot","variantStyles","variant","size","globalStyles","mergedStyles","styles","isOpen","setIsOpen","contentLayout","setContentLayout","triggerPosition","setTriggerPosition","inputValue","setInputValue","onInputChangeRef","onInputChange","current","isFirstRender","state","composedStyles","flatten","root","default","style","contextValue","value","onChange","Provider","children"],"sourceRoot":"../../../../../src","sources":["components/combobox/components/combobox-root.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","StyleSheet","View","DEFAULT_LAYOUT","DEFAULT_POSITION","useComponentConfig","mergeStyles","ComboboxContext","ComboboxVariants","jsx","_jsx","defaultGetItemValue","item","String","value","defaultGetItemLabel","label","calculateState","props","isDisabled","ComboboxRoot","items","onChange","getItemValue","getItemLabel","filter","onInputChange","variant","size","variantStyles","globalStyles","mergedStyles","styles","isOpen","setIsOpen","contentLayout","setContentLayout","triggerPosition","setTriggerPosition","inputValue","setInputValue","prevOpen","current","onInputChangeRef","isFirstRender","filteredItems","filterFn","query","toLowerCase","includes","state","composedStyles","flatten","root","default","style","handleChange","contextValue","Provider","children"],"sourceRoot":"../../../../../src","sources":["components/combobox/components/combobox-root.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAChF,SAGEC,UAAU,EACVC,IAAI,QAEC,cAAc;AACrB,SAASC,cAAc,EAAEC,gBAAgB,QAA6B,yBAAgB;AACtF,SAASC,kBAAkB,QAAQ,6BAA0B;AAC7D,SAASC,WAAW,QAAQ,oCAAiC;AAE7D,SAASC,eAAe,QAAQ,eAAY;AAE5C,SAASC,gBAAgB,QAAQ,sBAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE/C,MAAMC,mBAAmB,GAAIC,IAAa,IAAa;EACrD,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE,OAAOA,IAAI;EACzC,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,IAAI,IAAI,OAAO,IAAIA,IAAI,EAAE;IAChE,OAAOC,MAAM,CAAED,IAAI,CAA6BE,KAAK,CAAC;EACxD;EACA,OAAOD,MAAM,CAACD,IAAI,CAAC;AACrB,CAAC;AAED,MAAMG,mBAAmB,GAAIH,IAAa,IAAa;EACrD,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE,OAAOA,IAAI;EACzC,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,IAAI,IAAI,OAAO,IAAIA,IAAI,EAAE;IAChE,OAAOC,MAAM,CAAED,IAAI,CAA6BI,KAAK,CAAC;EACxD;EACA,OAAOL,mBAAmB,CAACC,IAAI,CAAC;AAClC,CAAC;AAyCD,MAAMK,cAAc,GAAQC,KAA2B,IAAoB;EACzE,IAAIA,KAAK,CAACC,UAAU,EAAE,OAAO,UAAU;EACvC,OAAO,SAAS;AAClB,CAAC;AAED,OAAO,SAASC,YAAYA,CAAIF,KAA2B,EAAE;EAC3D,MAAM;IACJG,KAAK;IACLP,KAAK;IACLQ,QAAQ;IACRC,YAAY,GAAGZ,mBAA0C;IACzDa,YAAY,GAAGT,mBAA0C;IACzDU,MAAM;IACNC,aAAa;IACbC,OAAO,GAAG,SAAS;IACnBC,IAAI,GAAG,IAAI;IACXT,UAAU,GAAG;EACf,CAAC,GAAGD,KAAK;EAET,MAAMW,aAAa,GAAGrB,gBAAgB,CAACmB,OAAO,CAAC,CAACC,IAAI,CAAC;EACrD,MAAME,YAAY,GAAGzB,kBAAkB,CAAC,UAAU,CAAC;EACnD,MAAM0B,YAAY,GAAGzB,WAAW,CAACuB,aAAa,EAAEC,YAAY,EAAEE,MAAM,CAAC;EAErE,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGlC,QAAQ,CAAC,KAAK,CAAC;EAC3C,MAAM,CAACmC,aAAa,EAAEC,gBAAgB,CAAC,GAAGpC,QAAQ,CAAkBG,cAAc,CAAC;EACnF,MAAM,CAACkC,eAAe,EAAEC,kBAAkB,CAAC,GAAGtC,QAAQ,CAAiBI,gBAAgB,CAAC;EACxF,MAAM,CAACmC,UAAU,EAAEC,aAAa,CAAC,GAAGxC,QAAQ,CAAC,EAAE,CAAC;;EAEhD;EACA,MAAMyC,QAAQ,GAAG1C,MAAM,CAACkC,MAAM,CAAC;EAC/BpC,SAAS,CAAC,MAAM;IACd,IAAI4C,QAAQ,CAACC,OAAO,IAAI,CAACT,MAAM,EAAE;MAC/BO,aAAa,CAAC,EAAE,CAAC;IACnB;IACAC,QAAQ,CAACC,OAAO,GAAGT,MAAM;EAC3B,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;;EAEZ;EACA,MAAMU,gBAAgB,GAAG5C,MAAM,CAAC2B,aAAa,CAAC;EAC9CiB,gBAAgB,CAACD,OAAO,GAAGhB,aAAa;EACxC,MAAMkB,aAAa,GAAG7C,MAAM,CAAC,IAAI,CAAC;EAClCF,SAAS,CAAC,MAAM;IACd,IAAI+C,aAAa,CAACF,OAAO,EAAE;MACzBE,aAAa,CAACF,OAAO,GAAG,KAAK;MAC7B;IACF;IACAC,gBAAgB,CAACD,OAAO,GAAGH,UAAU,CAAC;EACxC,CAAC,EAAE,CAACA,UAAU,CAAC,CAAC;EAEhB,MAAMM,aAAa,GAAG/C,OAAO,CAAC,MAAM;IAClC,IAAI2B,MAAM,KAAK,IAAI,EAAE,OAAOJ,KAAK;IACjC,IAAI,CAACkB,UAAU,EAAE,OAAOlB,KAAK;IAE7B,MAAMyB,QAAQ,GACZrB,MAAM,KACL,CAACb,IAAO,EAAEmC,KAAa,KAAK;MAC3B,MAAM/B,KAAK,GAAGQ,YAAY,CAACZ,IAAI,CAAC;MAChC,OAAOI,KAAK,CAACgC,WAAW,CAAC,CAAC,CAACC,QAAQ,CAACF,KAAK,CAACC,WAAW,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC;IAEJ,OAAO3B,KAAK,CAACI,MAAM,CAAEb,IAAI,IAAKkC,QAAQ,CAAClC,IAAI,EAAE2B,UAAU,CAAC,CAAC;EAC3D,CAAC,EAAE,CAAClB,KAAK,EAAEkB,UAAU,EAAEd,MAAM,EAAED,YAAY,CAAC,CAAC;EAE7C,MAAM0B,KAAK,GAAGjC,cAAc,CAACC,KAAK,CAAC;EACnC,MAAMiC,cAAc,GAAGlD,UAAU,CAACmD,OAAO,CAAC,CACxCrB,YAAY,EAAEsB,IAAI,EAAEC,OAAO,EAC3BvB,YAAY,EAAEsB,IAAI,GAAGH,KAAK,CAAC,EAC3BhC,KAAK,CAACqC,KAAK,CACZ,CAAC;EAEF,MAAMC,YAAY,GAAG5D,WAAW,CAC7BgB,IAAa,IAAK;IACjBU,QAAQ,GAAGV,IAAS,CAAC;EACvB,CAAC,EACD,CAACU,QAAQ,CACX,CAAC;EAED,MAAMmC,YAA6B,GAAG3D,OAAO,CAC3C,OAAO;IACLuB,KAAK;IACLwB,aAAa;IACbtB,YAAY,EAAEA,YAAyC;IACvDC,YAAY,EAAEA,YAAyC;IACvDV,KAAK;IACLQ,QAAQ,EAAEkC,YAAY;IACtBvB,MAAM;IACNC,SAAS;IACTG,eAAe;IACfC,kBAAkB;IAClBH,aAAa;IACbC,gBAAgB;IAChBG,UAAU;IACVC,aAAa;IACbU,KAAK;IACL/B,UAAU;IACVa,MAAM,EAAED;EACV,CAAC,CAAC,EACF,CACEV,KAAK,EACLwB,aAAa,EACbtB,YAAY,EACZC,YAAY,EACZV,KAAK,EACL0C,YAAY,EACZvB,MAAM,EACNI,eAAe,EACfF,aAAa,EACbI,UAAU,EACVW,KAAK,EACL/B,UAAU,EACVY,YAAY,CAEhB,CAAC;EAED,oBACErB,IAAA,CAACH,eAAe,CAACmD,QAAQ;IAAC5C,KAAK,EAAE2C,YAAa;IAAAE,QAAA,eAC5CjD,IAAA,CAACR,IAAI;MAACqD,KAAK,EAAEJ,cAAe;MAAAQ,QAAA,EAAEzC,KAAK,CAACyC;IAAQ,CAAO;EAAC,CAC5B,CAAC;AAE/B","ignoreList":[]}
@@ -15,10 +15,11 @@ export function ComboboxTrigger(props) {
15
15
  const combobox = useCombobox();
16
16
  const triggerRef = useRef(null);
17
17
  const triggerState = calculateState(combobox.isDisabled, combobox.isOpen);
18
- const displayValue = combobox.isOpen ? combobox.inputValue : combobox.value ?? "";
18
+ const selectedLabel = combobox.value != null ? combobox.getItemLabel(combobox.value) : "";
19
+ const displayValue = combobox.isOpen ? combobox.inputValue : selectedLabel;
19
20
  const open = () => {
20
21
  if (combobox.isDisabled) return;
21
- combobox.setInputValue(combobox.value ?? "");
22
+ combobox.setInputValue(selectedLabel);
22
23
  requestAnimationFrame(() => {
23
24
  measureLayoutPosition(triggerRef.current, layout => {
24
25
  combobox.setTriggerPosition(layout);
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useRef","StyleSheet","TextInput","setInnerInputValue","measureLayoutPosition","useCombobox","jsx","_jsx","calculateState","isDisabled","isOpen","ComboboxTrigger","props","combobox","triggerRef","triggerState","displayValue","inputValue","value","open","setInputValue","requestAnimationFrame","current","layout","setTriggerPosition","setIsOpen","blur","triggerStyles","styles","trigger","composedProps","default","style","flatten","composedStyle","ref","undefined","onChange","onChangeText","text","onFocus"],"sourceRoot":"../../../../../src","sources":["components/combobox/components/combobox-trigger.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useRef","StyleSheet","TextInput","setInnerInputValue","measureLayoutPosition","useCombobox","jsx","_jsx","calculateState","isDisabled","isOpen","ComboboxTrigger","props","combobox","triggerRef","triggerState","selectedLabel","value","getItemLabel","displayValue","inputValue","open","setInputValue","requestAnimationFrame","current","layout","setTriggerPosition","setIsOpen","blur","triggerStyles","styles","trigger","composedProps","default","style","flatten","composedStyle","ref","undefined","onChange","onChangeText","text","onFocus"],"sourceRoot":"../../../../../src","sources":["components/combobox/components/combobox-trigger.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["createContext","useContext","ComboboxContext","undefined","useCombobox","context","Error"],"sourceRoot":"../../../../src","sources":["components/combobox/context.ts"],"mappings":";;AAAA,SAASA,aAAa,EAAiBC,UAAU,QAAQ,OAAO;AAyBhE,OAAO,MAAMC,eAAe,gBAAGF,aAAa,CAA8BG,SAAS,CAAC;AAEpF,OAAO,MAAMC,WAAW,GAAGA,CAAA,KAAM;EAC/B,MAAMC,OAAO,GAAGJ,UAAU,CAACC,eAAe,CAAC;EAC3C,IAAI,CAACG,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CAAC,oDAAoD,CAAC;EACvE;EACA,OAAOD,OAAO;AAChB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createContext","useContext","ComboboxContext","undefined","useCombobox","context","Error"],"sourceRoot":"../../../../src","sources":["components/combobox/context.ts"],"mappings":";;AAAA,SAASA,aAAa,EAAiBC,UAAU,QAAQ,OAAO;AA8BhE,OAAO,MAAMC,eAAe,gBAAGF,aAAa,CAA8BG,SAAS,CAAC;AAEpF,OAAO,MAAMC,WAAW,GAAGA,CAAA,KAAM;EAC/B,MAAMC,OAAO,GAAGJ,UAAU,CAACC,eAAe,CAAC;EAC3C,IAAI,CAACG,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CAAC,oDAAoD,CAAC;EACvE;EACA,OAAOD,OAAO;AAChB,CAAC","ignoreList":[]}
@@ -2,6 +2,7 @@
2
2
 
3
3
  import { ComboboxContent } from "./components/combobox-content.js";
4
4
  import { ComboboxEmpty } from "./components/combobox-empty.js";
5
+ import { ComboboxList } from "./components/combobox-list.js";
5
6
  import { ComboboxOption } from "./components/combobox-option.js";
6
7
  import { ComboboxOverlay } from "./components/combobox-overlay.js";
7
8
  import { ComboboxPortal } from "./components/combobox-portal.js";
@@ -13,6 +14,7 @@ export const Combobox = {
13
14
  Portal: ComboboxPortal,
14
15
  Overlay: ComboboxOverlay,
15
16
  Content: ComboboxContent,
17
+ List: ComboboxList,
16
18
  Option: ComboboxOption,
17
19
  Empty: ComboboxEmpty
18
20
  };
@@ -1 +1 @@
1
- {"version":3,"names":["ComboboxContent","ComboboxEmpty","ComboboxOption","ComboboxOverlay","ComboboxPortal","ComboboxRoot","ComboboxTrigger","Combobox","Root","Trigger","Portal","Overlay","Content","Option","Empty"],"sourceRoot":"../../../../src","sources":["components/combobox/index.ts"],"mappings":";;AAAA,SAASA,eAAe,QAAQ,kCAA+B;AAC/D,SAASC,aAAa,QAAQ,gCAA6B;AAC3D,SAASC,cAAc,QAAQ,iCAA8B;AAC7D,SAASC,eAAe,QAAQ,kCAA+B;AAC/D,SAASC,cAAc,QAAQ,iCAA8B;AAC7D,SAASC,YAAY,QAAQ,+BAA4B;AACzD,SAASC,eAAe,QAAQ,kCAA+B;AAE/D,OAAO,MAAMC,QAAQ,GAAG;EACtBC,IAAI,EAAEH,YAAY;EAClBI,OAAO,EAAEH,eAAe;EACxBI,MAAM,EAAEN,cAAc;EACtBO,OAAO,EAAER,eAAe;EACxBS,OAAO,EAAEZ,eAAe;EACxBa,MAAM,EAAEX,cAAc;EACtBY,KAAK,EAAEb;AACT,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["ComboboxContent","ComboboxEmpty","ComboboxList","ComboboxOption","ComboboxOverlay","ComboboxPortal","ComboboxRoot","ComboboxTrigger","Combobox","Root","Trigger","Portal","Overlay","Content","List","Option","Empty"],"sourceRoot":"../../../../src","sources":["components/combobox/index.ts"],"mappings":";;AAAA,SAASA,eAAe,QAAQ,kCAA+B;AAC/D,SAASC,aAAa,QAAQ,gCAA6B;AAC3D,SAASC,YAAY,QAAQ,+BAA4B;AACzD,SAASC,cAAc,QAAQ,iCAA8B;AAC7D,SAASC,eAAe,QAAQ,kCAA+B;AAC/D,SAASC,cAAc,QAAQ,iCAA8B;AAC7D,SAASC,YAAY,QAAQ,+BAA4B;AACzD,SAASC,eAAe,QAAQ,kCAA+B;AAE/D,OAAO,MAAMC,QAAQ,GAAG;EACtBC,IAAI,EAAEH,YAAY;EAClBI,OAAO,EAAEH,eAAe;EACxBI,MAAM,EAAEN,cAAc;EACtBO,OAAO,EAAER,eAAe;EACxBS,OAAO,EAAEb,eAAe;EACxBc,IAAI,EAAEZ,YAAY;EAClBa,MAAM,EAAEZ,cAAc;EACtBa,KAAK,EAAEf;AACT,CAAC","ignoreList":[]}
@@ -11,18 +11,19 @@ export function MenuSelectionIndicator({
11
11
  const config = useComponentConfig("menu");
12
12
  const menu = useMenu();
13
13
  const SelectionIcon = config?.selectionIcon;
14
+ const indicatorStyles = menu.styles?.selectionIndicator;
14
15
  if (!isSelected) {
15
16
  return /*#__PURE__*/_jsx(View, {
16
- style: menu.styles?.selectionIndicator
17
+ style: indicatorStyles
17
18
  });
18
19
  }
19
20
  if (SelectionIcon) {
20
21
  return /*#__PURE__*/_jsx(SelectionIcon, {
21
- ...menu.styles?.selectionIndicator
22
+ ...indicatorStyles
22
23
  });
23
24
  }
24
25
  return /*#__PURE__*/_jsx(Text, {
25
- style: menu.styles?.selectionIndicator,
26
+ style: indicatorStyles,
26
27
  children: "\u2713"
27
28
  });
28
29
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","View","useComponentConfig","useMenu","jsx","_jsx","MenuSelectionIndicator","isSelected","config","menu","SelectionIcon","selectionIcon","style","styles","selectionIndicator","children"],"sourceRoot":"../../../../../src","sources":["components/menu/components/menu-selection-indicator.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACzC,SAASC,kBAAkB,QAAQ,6BAA0B;AAC7D,SAASC,OAAO,QAAQ,eAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAMrC,OAAO,SAASC,sBAAsBA,CAAC;EAAEC;AAAwC,CAAC,EAAE;EAClF,MAAMC,MAAM,GAAGN,kBAAkB,CAAC,MAAM,CAAC;EACzC,MAAMO,IAAI,GAAGN,OAAO,CAAC,CAAC;EACtB,MAAMO,aAAa,GAAGF,MAAM,EAAEG,aAAa;EAE3C,IAAI,CAACJ,UAAU,EAAE;IACf,oBAAOF,IAAA,CAACJ,IAAI;MAACW,KAAK,EAAEH,IAAI,CAACI,MAAM,EAAEC;IAAmB,CAAE,CAAC;EACzD;EAEA,IAAIJ,aAAa,EAAE;IACjB,oBAAOL,IAAA,CAACK,aAAa;MAAA,GAAKD,IAAI,CAACI,MAAM,EAAEC;IAAkB,CAAG,CAAC;EAC/D;EAEA,oBAAOT,IAAA,CAACL,IAAI;IAACY,KAAK,EAAEH,IAAI,CAACI,MAAM,EAAEC,kBAAmB;IAAAC,QAAA,EAAC;EAAC,CAAM,CAAC;AAC/D","ignoreList":[]}
1
+ {"version":3,"names":["React","Text","View","useComponentConfig","useMenu","jsx","_jsx","MenuSelectionIndicator","isSelected","config","menu","SelectionIcon","selectionIcon","indicatorStyles","styles","selectionIndicator","style","children"],"sourceRoot":"../../../../../src","sources":["components/menu/components/menu-selection-indicator.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,QAAwC,cAAc;AACzE,SAASC,kBAAkB,QAAQ,6BAA0B;AAC7D,SAASC,OAAO,QAAQ,eAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAMrC,OAAO,SAASC,sBAAsBA,CAAC;EAAEC;AAAwC,CAAC,EAAE;EAClF,MAAMC,MAAM,GAAGN,kBAAkB,CAAC,MAAM,CAAC;EACzC,MAAMO,IAAI,GAAGN,OAAO,CAAC,CAAC;EACtB,MAAMO,aAAa,GAAGF,MAAM,EAAEG,aAAa;EAC3C,MAAMC,eAAe,GAAGH,IAAI,CAACI,MAAM,EAAEC,kBAAkB;EAEvD,IAAI,CAACP,UAAU,EAAE;IACf,oBAAOF,IAAA,CAACJ,IAAI;MAACc,KAAK,EAAEH;IAAwC,CAAE,CAAC;EACjE;EAEA,IAAIF,aAAa,EAAE;IACjB,oBAAOL,IAAA,CAACK,aAAa;MAAA,GAAKE;IAAe,CAAG,CAAC;EAC/C;EAEA,oBAAOP,IAAA,CAACL,IAAI;IAACe,KAAK,EAAEH,eAAgB;IAAAI,QAAA,EAAC;EAAC,CAAM,CAAC;AAC/C","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","useSyncExternalStore","Platform","View","measureLayoutPosition","PortalOffsetContext","DEFAULT_PORTAL_HOST","jsx","_jsx","Fragment","_Fragment","store","map","Map","set","listeners","Set","emit","cb","getSnapshot","subscribe","add","delete","updatePortal","hostName","name","children","next","portal","get","removePortal","DefaultContainer","props","containerRef","offset","setOffset","onLayout","current","layout","prev","x","pageX","y","pageY","ref","style","position","top","left","right","bottom","elevation","zIndex","pointerEvents","Provider","value","PortalHost","container","portalMap","Container","select","default","size","Array","from","values","Portal"],"sourceRoot":"../../../../src","sources":["components/portal/portal.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","useSyncExternalStore","Platform","View","measureLayoutPosition","PortalOffsetContext","DEFAULT_PORTAL_HOST","jsx","_jsx","Fragment","_Fragment","store","map","Map","set","listeners","Set","emit","cb","getSnapshot","subscribe","add","delete","updatePortal","hostName","name","children","next","portal","get","removePortal","DefaultContainer","props","containerRef","offset","setOffset","onLayout","current","layout","prev","x","pageX","y","pageY","ref","style","position","top","left","right","bottom","elevation","zIndex","pointerEvents","Provider","value","PortalHost","container","portalMap","Container","select","default","size","Array","from","values","Portal"],"sourceRoot":"../../../../src","sources":["components/portal/portal.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
 
3
- import { calculateComposedStyles } from "../../../utils/calculate-styles.js";
4
3
  import React, { useEffect, useState } from "react";
5
4
  import { Pressable, Text } from "react-native";
6
5
  import { useSelect } from "../context.js";
@@ -22,7 +21,8 @@ export function SelectOption(props) {
22
21
  const select = useSelect();
23
22
  const isSelected = select.value === props.value;
24
23
  const optionState = calculateState(select.state, isHovered, isSelected);
25
- const composedStyles = calculateComposedStyles(select.styles, optionState, "option");
24
+ const optionStyles = select.styles?.option;
25
+ const composedStyles = [optionStyles?.default, optionStyles?.[optionState]];
26
26
  useEffect(() => {
27
27
  select.setOptions(prev => {
28
28
  if (prev.find(option => option.value === props.value)) {
@@ -34,18 +34,17 @@ export function SelectOption(props) {
34
34
  }];
35
35
  });
36
36
  }, [props.value, props.children]);
37
+ const handlePress = () => {
38
+ select.onChange?.(props.value);
39
+ select.setIsOpen(false);
40
+ };
41
+ const handlePointerEnter = () => setIsHovered(true);
42
+ const handlePointerLeave = () => setIsHovered(false);
37
43
  const Component = typeof props.children === "string" ? Text : Pressable;
38
44
  return /*#__PURE__*/_jsx(Component, {
39
- onPress: () => {
40
- select.onChange?.(props.value);
41
- select.setIsOpen(false);
42
- },
43
- onPointerEnter: () => {
44
- setIsHovered(true);
45
- },
46
- onPointerLeave: () => {
47
- setIsHovered(false);
48
- },
45
+ onPress: handlePress,
46
+ onPointerEnter: handlePointerEnter,
47
+ onPointerLeave: handlePointerLeave,
49
48
  style: composedStyles,
50
49
  children: props.children
51
50
  });
@@ -1 +1 @@
1
- {"version":3,"names":["calculateComposedStyles","React","useEffect","useState","Pressable","Text","useSelect","jsx","_jsx","calculateState","selectState","hovered","selected","SelectOption","props","isHovered","setIsHovered","select","isSelected","value","optionState","state","composedStyles","styles","setOptions","prev","find","option","label","children","Component","onPress","onChange","setIsOpen","onPointerEnter","onPointerLeave","style"],"sourceRoot":"../../../../../src","sources":["components/select/components/select-option.tsx"],"mappings":";;AAAA,SAASA,uBAAuB,QAAQ,oCAAiC;AACzE,OAAOC,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,SAASC,SAAS,EAAEC,IAAI,QAAQ,cAAc;AAC9C,SAASC,SAAS,QAAQ,eAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQvC,MAAMC,cAAc,GAAGA,CACrBC,WAAwB,EACxBC,OAAgB,EAChBC,QAAiB,KACK;EACtB,IAAIF,WAAW,KAAK,UAAU,EAAE;IAC9B,OAAO,UAAU;EACnB;EACA,IAAIE,QAAQ,EAAE;IACZ,OAAO,UAAU;EACnB;EACA,IAAID,OAAO,EAAE;IACX,OAAO,SAAS;EAClB;EACA,OAAO,SAAS;AAClB,CAAC;AAED,OAAO,SAASE,YAAYA,CAACC,KAAwB,EAAsB;EACzE,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAGb,QAAQ,CAAC,KAAK,CAAC;EACjD,MAAMc,MAAM,GAAGX,SAAS,CAAC,CAAC;EAC1B,MAAMY,UAAU,GAAGD,MAAM,CAACE,KAAK,KAAKL,KAAK,CAACK,KAAK;EAE/C,MAAMC,WAAW,GAAGX,cAAc,CAACQ,MAAM,CAACI,KAAK,EAAEN,SAAS,EAAEG,UAAU,CAAC;EACvE,MAAMI,cAAc,GAAGtB,uBAAuB,CAACiB,MAAM,CAACM,MAAM,EAAEH,WAAW,EAAE,QAAQ,CAAC;EAEpFlB,SAAS,CAAC,MAAM;IACde,MAAM,CAACO,UAAU,CAAEC,IAAI,IAAK;MAC1B,IAAIA,IAAI,CAACC,IAAI,CAAEC,MAAM,IAAKA,MAAM,CAACR,KAAK,KAAKL,KAAK,CAACK,KAAK,CAAC,EAAE;QACvD,OAAOM,IAAI;MACb;MACA,OAAO,CAAC,GAAGA,IAAI,EAAE;QAAEN,KAAK,EAAEL,KAAK,CAACK,KAAK;QAAES,KAAK,EAAEd,KAAK,CAACe;MAAS,CAAC,CAAC;IACjE,CAAC,CAAC;EACJ,CAAC,EAAE,CAACf,KAAK,CAACK,KAAK,EAAEL,KAAK,CAACe,QAAQ,CAAC,CAAC;EAEjC,MAAMC,SAAS,GAAG,OAAOhB,KAAK,CAACe,QAAQ,KAAK,QAAQ,GAAGxB,IAAI,GAAGD,SAAS;EAEvE,oBACEI,IAAA,CAACsB,SAAS;IACRC,OAAO,EAAEA,CAAA,KAAM;MACbd,MAAM,CAACe,QAAQ,GAAGlB,KAAK,CAACK,KAAK,CAAC;MAC9BF,MAAM,CAACgB,SAAS,CAAC,KAAK,CAAC;IACzB,CAAE;IACFC,cAAc,EAAEA,CAAA,KAAM;MACpBlB,YAAY,CAAC,IAAI,CAAC;IACpB,CAAE;IACFmB,cAAc,EAAEA,CAAA,KAAM;MACpBnB,YAAY,CAAC,KAAK,CAAC;IACrB,CAAE;IACFoB,KAAK,EAAEd,cAAe;IAAAO,QAAA,EAErBf,KAAK,CAACe;EAAQ,CACN,CAAC;AAEhB","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useState","Pressable","Text","useSelect","jsx","_jsx","calculateState","selectState","hovered","selected","SelectOption","props","isHovered","setIsHovered","select","isSelected","value","optionState","state","optionStyles","styles","option","composedStyles","default","setOptions","prev","find","label","children","handlePress","onChange","setIsOpen","handlePointerEnter","handlePointerLeave","Component","onPress","onPointerEnter","onPointerLeave","style"],"sourceRoot":"../../../../../src","sources":["components/select/components/select-option.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,SAASC,SAAS,EAAEC,IAAI,QAAwD,cAAc;AAC9F,SAASC,SAAS,QAAQ,eAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQvC,MAAMC,cAAc,GAAGA,CACrBC,WAAwB,EACxBC,OAAgB,EAChBC,QAAiB,KACK;EACtB,IAAIF,WAAW,KAAK,UAAU,EAAE;IAC9B,OAAO,UAAU;EACnB;EACA,IAAIE,QAAQ,EAAE;IACZ,OAAO,UAAU;EACnB;EACA,IAAID,OAAO,EAAE;IACX,OAAO,SAAS;EAClB;EACA,OAAO,SAAS;AAClB,CAAC;AAED,OAAO,SAASE,YAAYA,CAACC,KAAwB,EAAsB;EACzE,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAGb,QAAQ,CAAC,KAAK,CAAC;EACjD,MAAMc,MAAM,GAAGX,SAAS,CAAC,CAAC;EAC1B,MAAMY,UAAU,GAAGD,MAAM,CAACE,KAAK,KAAKL,KAAK,CAACK,KAAK;EAE/C,MAAMC,WAAW,GAAGX,cAAc,CAACQ,MAAM,CAACI,KAAK,EAAEN,SAAS,EAAEG,UAAU,CAAC;EACvE,MAAMI,YAAY,GAAGL,MAAM,CAACM,MAAM,EAAEC,MAAM;EAC1C,MAAMC,cAAoC,GAAG,CAACH,YAAY,EAAEI,OAAO,EAAEJ,YAAY,GAAGF,WAAW,CAAC,CAAC;EAEjGlB,SAAS,CAAC,MAAM;IACde,MAAM,CAACU,UAAU,CAAEC,IAAI,IAAK;MAC1B,IAAIA,IAAI,CAACC,IAAI,CAAEL,MAAM,IAAKA,MAAM,CAACL,KAAK,KAAKL,KAAK,CAACK,KAAK,CAAC,EAAE;QACvD,OAAOS,IAAI;MACb;MACA,OAAO,CAAC,GAAGA,IAAI,EAAE;QAAET,KAAK,EAAEL,KAAK,CAACK,KAAK;QAAEW,KAAK,EAAEhB,KAAK,CAACiB;MAAS,CAAC,CAAC;IACjE,CAAC,CAAC;EACJ,CAAC,EAAE,CAACjB,KAAK,CAACK,KAAK,EAAEL,KAAK,CAACiB,QAAQ,CAAC,CAAC;EAEjC,MAAMC,WAAW,GAAGA,CAAA,KAAM;IACxBf,MAAM,CAACgB,QAAQ,GAAGnB,KAAK,CAACK,KAAK,CAAC;IAC9BF,MAAM,CAACiB,SAAS,CAAC,KAAK,CAAC;EACzB,CAAC;EACD,MAAMC,kBAAkB,GAAGA,CAAA,KAAMnB,YAAY,CAAC,IAAI,CAAC;EACnD,MAAMoB,kBAAkB,GAAGA,CAAA,KAAMpB,YAAY,CAAC,KAAK,CAAC;EAEpD,MAAMqB,SAAS,GAAG,OAAOvB,KAAK,CAACiB,QAAQ,KAAK,QAAQ,GAAG1B,IAAI,GAAGD,SAAS;EAEvE,oBACEI,IAAA,CAAC6B,SAAS;IACRC,OAAO,EAAEN,WAAY;IACrBO,cAAc,EAAEJ,kBAAmB;IACnCK,cAAc,EAAEJ,kBAAmB;IACnCK,KAAK,EAAEhB,cAAuC;IAAAM,QAAA,EAE7CjB,KAAK,CAACiB;EAAQ,CACN,CAAC;AAEhB","ignoreList":[]}
@@ -35,7 +35,9 @@ export function SelectValue(props) {
35
35
  const selectedOption = select.options.find(option => option.value === select.value);
36
36
  const selectedOptionLabel = selectedOption?.label;
37
37
  const displayValue = selectedOptionLabel ?? select.value;
38
- const composedStyles = calculateComposedStyles(select.styles, select.state, displayValue ? "value" : "placeholder");
38
+ const key = displayValue ? "value" : "placeholder";
39
+ const slotStyles = select.styles?.[key];
40
+ const composedStyles = [slotStyles?.default, slotStyles?.[select.state]];
39
41
  if (!!displayValue && typeof displayValue !== "string") {
40
42
  return /*#__PURE__*/_jsx(_Fragment, {
41
43
  children: displayValue