@korsolutions/ui 0.0.69 → 0.0.71

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 (42) hide show
  1. package/README.md +1 -2
  2. package/dist/module/components/alert-dialog/async-alert-dialog.js.map +1 -1
  3. package/dist/module/components/alert-dialog/components/alert-dialog-portal.js.map +1 -1
  4. package/dist/module/components/alert-dialog/variants/default.js +4 -2
  5. package/dist/module/components/alert-dialog/variants/default.js.map +1 -1
  6. package/dist/module/components/combobox/components/combobox-empty.js +1 -10
  7. package/dist/module/components/combobox/components/combobox-empty.js.map +1 -1
  8. package/dist/module/components/combobox/components/combobox-option.js +3 -17
  9. package/dist/module/components/combobox/components/combobox-option.js.map +1 -1
  10. package/dist/module/components/combobox/components/combobox-overlay.js +1 -1
  11. package/dist/module/components/combobox/components/combobox-overlay.js.map +1 -1
  12. package/dist/module/components/combobox/components/combobox-root.js +9 -31
  13. package/dist/module/components/combobox/components/combobox-root.js.map +1 -1
  14. package/dist/module/components/combobox/components/combobox-trigger.js +3 -4
  15. package/dist/module/components/combobox/components/combobox-trigger.js.map +1 -1
  16. package/dist/module/components/combobox/context.js.map +1 -1
  17. package/dist/typescript/src/components/alert-dialog/async-alert-dialog.d.ts.map +1 -1
  18. package/dist/typescript/src/components/alert-dialog/components/alert-dialog-portal.d.ts.map +1 -1
  19. package/dist/typescript/src/components/alert-dialog/variants/default.d.ts.map +1 -1
  20. package/dist/typescript/src/components/combobox/components/combobox-empty.d.ts +1 -2
  21. package/dist/typescript/src/components/combobox/components/combobox-empty.d.ts.map +1 -1
  22. package/dist/typescript/src/components/combobox/components/combobox-option.d.ts +1 -1
  23. package/dist/typescript/src/components/combobox/components/combobox-option.d.ts.map +1 -1
  24. package/dist/typescript/src/components/combobox/components/combobox-root.d.ts +2 -6
  25. package/dist/typescript/src/components/combobox/components/combobox-root.d.ts.map +1 -1
  26. package/dist/typescript/src/components/combobox/components/combobox-trigger.d.ts.map +1 -1
  27. package/dist/typescript/src/components/combobox/context.d.ts +3 -6
  28. package/dist/typescript/src/components/combobox/context.d.ts.map +1 -1
  29. package/dist/typescript/src/components/combobox/types.d.ts +0 -5
  30. package/dist/typescript/src/components/combobox/types.d.ts.map +1 -1
  31. package/package.json +1 -1
  32. package/src/components/alert-dialog/async-alert-dialog.tsx +25 -6
  33. package/src/components/alert-dialog/components/alert-dialog-portal.tsx +4 -1
  34. package/src/components/alert-dialog/variants/default.tsx +2 -0
  35. package/src/components/combobox/components/combobox-empty.tsx +0 -13
  36. package/src/components/combobox/components/combobox-option.tsx +6 -25
  37. package/src/components/combobox/components/combobox-overlay.tsx +1 -1
  38. package/src/components/combobox/components/combobox-root.tsx +13 -59
  39. package/src/components/combobox/components/combobox-trigger.tsx +4 -11
  40. package/src/components/combobox/context.ts +3 -7
  41. package/src/components/combobox/types.ts +0 -6
  42. package/nodemon.json +0 -14
package/README.md CHANGED
@@ -1,5 +1,4 @@
1
1
  # TODO
2
+
2
3
  - [ ] Line height
3
4
  - [ ] Letter spacing
4
- - [ ] Custom safe area insets
5
- - [ ] Custom portal host container
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useState","AlertDialogAction","AlertDialogCancel","AlertDialogContent","AlertDialogDescription","AlertDialogFooter","AlertDialogOverlay","AlertDialogPortal","AlertDialogRoot","AlertDialogTitle","useAlertDialog","jsx","_jsx","jsxs","_jsxs","dialogQueue","currentDialog","setCurrentDialogFn","processQueue","length","shift","closeDialog","confirmed","resolve","setTimeout","AsyncAlertDialogContent","instance","title","description","actionLabel","cancelLabel","props","setIsOpen","handleAction","handleCancel","children","onPress","AsyncAlertDialogInstance","AsyncAlertDialogManager","dialog","setDialog","show","Promise","id","Date","now","toString","push","AsyncAlertDialog"],"sourceRoot":"../../../../src","sources":["components/alert-dialog/async-alert-dialog.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useState","AlertDialogAction","AlertDialogCancel","AlertDialogContent","AlertDialogDescription","AlertDialogFooter","AlertDialogOverlay","AlertDialogPortal","AlertDialogRoot","AlertDialogTitle","useAlertDialog","jsx","_jsx","jsxs","_jsxs","dialogQueue","currentDialog","setCurrentDialogFn","processQueue","length","shift","closeDialog","confirmed","resolve","setTimeout","AsyncAlertDialogContent","instance","title","description","actionLabel","cancelLabel","props","setIsOpen","handleAction","handleCancel","children","onPress","AsyncAlertDialogInstance","AsyncAlertDialogManager","dialog","setDialog","show","Promise","id","Date","now","toString","push","AsyncAlertDialog"],"sourceRoot":"../../../../src","sources":["components/alert-dialog/async-alert-dialog.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,SAASC,iBAAiB,QAAQ,qCAAkC;AACpE,SAASC,iBAAiB,QAAQ,qCAAkC;AACpE,SAASC,kBAAkB,QAAQ,sCAAmC;AACtE,SAASC,sBAAsB,QAAQ,0CAAuC;AAC9E,SAASC,iBAAiB,QAAQ,qCAAkC;AACpE,SAASC,kBAAkB,QAAQ,sCAAmC;AACtE,SAASC,iBAAiB,QAAQ,qCAAkC;AACpE,SAASC,eAAe,QAAQ,mCAAgC;AAChE,SAASC,gBAAgB,QAAQ,oCAAiC;AAClE,SAASC,cAAc,QAAQ,cAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAqB3C;AACA,MAAMC,WAAuC,GAAG,EAAE;AAClD,IAAIC,aAA8C,GAAG,IAAI;AACzD,IAAIC,kBAEI,GAAG,IAAI;;AAEf;AACA,SAASC,YAAYA,CAAA,EAAG;EACtB,IAAIF,aAAa,IAAID,WAAW,CAACI,MAAM,KAAK,CAAC,EAAE;EAE/CH,aAAa,GAAGD,WAAW,CAACK,KAAK,CAAC,CAAE;EACpCH,kBAAkB,GAAGD,aAAa,CAAC;AACrC;;AAEA;AACA,SAASK,WAAWA,CAACC,SAAkB,EAAE;EACvC,IAAI,CAACN,aAAa,EAAE;EAEpBA,aAAa,CAACO,OAAO,CAAC;IAAED;EAAU,CAAC,CAAC;EACpCN,aAAa,GAAG,IAAI;EACpBC,kBAAkB,GAAG,IAAI,CAAC;;EAE1B;EACAO,UAAU,CAACN,YAAY,EAAE,GAAG,CAAC;AAC/B;;AAEA;AACA,SAASO,uBAAuBA,CAAC;EAC/BC;AAGF,CAAC,EAAE;EACD,MAAM;IACJC,KAAK;IACLC,WAAW;IACXC,WAAW,GAAG,UAAU;IACxBC,WAAW,GAAG;EAChB,CAAC,GAAGJ,QAAQ,CAACK,KAAK;EAClB,MAAM;IAAEC;EAAU,CAAC,GAAGtB,cAAc,CAAC,CAAC;EAEtC,MAAMuB,YAAY,GAAGA,CAAA,KAAMZ,WAAW,CAAC,IAAI,CAAC;EAC5C,MAAMa,YAAY,GAAGA,CAAA,KAAMb,WAAW,CAAC,KAAK,CAAC;;EAE7C;EACAtB,SAAS,CAAC,MAAM;IACdiC,SAAS,CAAC,IAAI,CAAC;EACjB,CAAC,EAAE,CAACA,SAAS,CAAC,CAAC;EAEf,oBACElB,KAAA,CAACP,iBAAiB;IAAA4B,QAAA,gBAChBvB,IAAA,CAACN,kBAAkB;MAAC8B,OAAO,EAAEF;IAAa,CAAE,CAAC,eAC7CpB,KAAA,CAACX,kBAAkB;MAAAgC,QAAA,gBACjBvB,IAAA,CAACH,gBAAgB;QAAA0B,QAAA,EAAER;MAAK,CAAmB,CAAC,eAC5Cf,IAAA,CAACR,sBAAsB;QAAA+B,QAAA,EAAEP;MAAW,CAAyB,CAAC,eAC9Dd,KAAA,CAACT,iBAAiB;QAAA8B,QAAA,gBAChBvB,IAAA,CAACV,iBAAiB;UAACkC,OAAO,EAAEF,YAAa;UAAAC,QAAA,EACtCL;QAAW,CACK,CAAC,eACpBlB,IAAA,CAACX,iBAAiB;UAACmC,OAAO,EAAEH,YAAa;UAAAE,QAAA,EACtCN;QAAW,CACK,CAAC;MAAA,CACH,CAAC;IAAA,CACF,CAAC;EAAA,CACJ,CAAC;AAExB;;AAEA;AACA,SAASQ,wBAAwBA,CAAC;EAChCX;AAGF,CAAC,EAAE;EACD,oBACEd,IAAA,CAACJ,eAAe;IAAA,GAAKkB,QAAQ,CAACK,KAAK;IAAAI,QAAA,eACjCvB,IAAA,CAACa,uBAAuB;MAACC,QAAQ,EAAEA;IAAS,CAAE;EAAC,CAChC,CAAC;AAEtB;AAEA,OAAO,SAASY,uBAAuBA,CAAA,EAAG;EACxC,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGxC,QAAQ,CAAkC,IAAI,CAAC;EAE3ED,SAAS,CAAC,MAAM;IACdkB,kBAAkB,GAAGuB,SAAS;IAC9B,OAAO,MAAM;MACXvB,kBAAkB,GAAG,IAAI;IAC3B,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,IAAI,CAACsB,MAAM,EAAE,OAAO,IAAI;EAExB,oBAAO3B,IAAA,CAACyB,wBAAwB;IAACX,QAAQ,EAAEa;EAAO,CAAE,CAAC;AACvD;AAEA,SAASE,IAAIA,CAACV,KAA4B,EAAmC;EAC3E,OAAO,IAAIW,OAAO,CAAEnB,OAAO,IAAK;IAC9B,MAAMG,QAAkC,GAAG;MACzCiB,EAAE,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;MACzBf,KAAK;MACLR;IACF,CAAC;IAEDR,WAAW,CAACgC,IAAI,CAACrB,QAAQ,CAAC;IAC1BR,YAAY,CAAC,CAAC;EAChB,CAAC,CAAC;AACJ;AAEA,OAAO,MAAM8B,gBAAgB,GAAG;EAC9BP;AACF,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["React","Portal","AlertDialogContext","useAlertDialog","jsx","_jsx","AlertDialogPortal","props","alertDialog","isOpen","name","children","Provider","value"],"sourceRoot":"../../../../../src","sources":["components/alert-dialog/components/alert-dialog-portal.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,MAAM,QAAQ,uBAAc;AACrC,SAASC,kBAAkB,EAAEC,cAAc,QAAQ,eAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAMhE,OAAO,SAASC,iBAAiBA,CAACC,KAA6B,EAAE;EAC/D,MAAMC,WAAW,GAAGL,cAAc,CAAC,CAAC;EAEpC,IAAI,CAACK,WAAW,CAACC,MAAM,EAAE;IACvB,OAAO,IAAI;EACb;EACA,oBACEJ,IAAA,CAACJ,MAAM;IAACS,IAAI,EAAC,sBAAsB;IAAAC,QAAA,eACjCN,IAAA,CAACH,kBAAkB,CAACU,QAAQ;MAACC,KAAK,EAAEL,WAAY;MAAAG,QAAA,EAAEJ,KAAK,CAACI;IAAQ,CAA8B;EAAC,CACzF,CAAC;AAEb","ignoreList":[]}
1
+ {"version":3,"names":["React","Portal","AlertDialogContext","useAlertDialog","jsx","_jsx","AlertDialogPortal","props","alertDialog","isOpen","name","children","Provider","value"],"sourceRoot":"../../../../../src","sources":["components/alert-dialog/components/alert-dialog-portal.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,MAAM,QAAQ,uBAAc;AACrC,SAASC,kBAAkB,EAAEC,cAAc,QAAQ,eAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAMhE,OAAO,SAASC,iBAAiBA,CAACC,KAA6B,EAAE;EAC/D,MAAMC,WAAW,GAAGL,cAAc,CAAC,CAAC;EAEpC,IAAI,CAACK,WAAW,CAACC,MAAM,EAAE;IACvB,OAAO,IAAI;EACb;EAEA,oBACEJ,IAAA,CAACJ,MAAM;IAACS,IAAI,EAAC,sBAAsB;IAAAC,QAAA,eACjCN,IAAA,CAACH,kBAAkB,CAACU,QAAQ;MAACC,KAAK,EAAEL,WAAY;MAAAG,QAAA,EAC7CJ,KAAK,CAACI;IAAQ,CACY;EAAC,CACxB,CAAC;AAEb","ignoreList":[]}
@@ -16,7 +16,8 @@ export const useAlertDialogVariantDefault = () => {
16
16
  bottom: 0,
17
17
  backgroundColor: "rgba(0, 0, 0, 0.5)",
18
18
  justifyContent: "center",
19
- alignItems: "center"
19
+ alignItems: "center",
20
+ zIndex: 999
20
21
  },
21
22
  content: {
22
23
  backgroundColor: colors.background,
@@ -41,7 +42,8 @@ export const useAlertDialogVariantDefault = () => {
41
42
  translateY: "-50%"
42
43
  }],
43
44
  borderWidth: 1,
44
- borderColor: colors.border
45
+ borderColor: colors.border,
46
+ zIndex: 1000
45
47
  },
46
48
  title: {
47
49
  fontSize: fontSize * 1.25,
@@ -1 +1 @@
1
- {"version":3,"names":["useThemedStyles","useAlertDialogVariantDefault","colors","radius","fontFamily","fontSize","overlay","position","top","left","right","bottom","backgroundColor","justifyContent","alignItems","content","background","borderRadius","padding","maxWidth","width","shadowColor","shadowOffset","height","shadowOpacity","shadowRadius","elevation","transform","translateX","translateY","borderWidth","borderColor","border","title","fontWeight","color","foreground","marginBottom","description","mutedForeground","lineHeight","footer","flexDirection","gap","marginTop","cancel","paddingVertical","paddingHorizontal","cancelText","action","primary","actionText","primaryForeground"],"sourceRoot":"../../../../../src","sources":["components/alert-dialog/variants/default.tsx"],"mappings":";;AACA,SAASA,eAAe,QAAQ,qCAAkC;AAElE,OAAO,MAAMC,4BAA4B,GAAGA,CAAA,KAAyB;EACnE,OAAOD,eAAe,CACpB,CAAC;IAAEE,MAAM;IAAEC,MAAM;IAAEC,UAAU;IAAEC;EAAS,CAAC,MAAyB;IAChEC,OAAO,EAAE;MACPC,QAAQ,EAAE,UAAU;MACpBC,GAAG,EAAE,CAAC;MACNC,IAAI,EAAE,CAAC;MACPC,KAAK,EAAE,CAAC;MACRC,MAAM,EAAE,CAAC;MACTC,eAAe,EAAE,oBAAoB;MACrCC,cAAc,EAAE,QAAQ;MACxBC,UAAU,EAAE;IACd,CAAC;IACDC,OAAO,EAAE;MACPH,eAAe,EAAEV,MAAM,CAACc,UAAU;MAClCC,YAAY,EAAEd,MAAM;MACpBe,OAAO,EAAE,EAAE;MACXC,QAAQ,EAAE,GAAG;MACbC,KAAK,EAAE,KAAK;MACZC,WAAW,EAAE,MAAM;MACnBC,YAAY,EAAE;QAAEF,KAAK,EAAE,CAAC;QAAEG,MAAM,EAAE;MAAE,CAAC;MACrCC,aAAa,EAAE,IAAI;MACnBC,YAAY,EAAE,CAAC;MACfC,SAAS,EAAE,CAAC;MACZnB,QAAQ,EAAE,UAAU;MACpBC,GAAG,EAAE,KAAK;MACVC,IAAI,EAAE,KAAK;MACXkB,SAAS,EAAE,CAAC;QAAEC,UAAU,EAAE;MAAO,CAAC,EAAE;QAAEC,UAAU,EAAE;MAAO,CAAC,CAAC;MAC3DC,WAAW,EAAE,CAAC;MACdC,WAAW,EAAE7B,MAAM,CAAC8B;IACtB,CAAC;IACDC,KAAK,EAAE;MACL5B,QAAQ,EAAEA,QAAQ,GAAG,IAAI;MACzB6B,UAAU,EAAE,KAAK;MACjBC,KAAK,EAAEjC,MAAM,CAACkC,UAAU;MACxBhC,UAAU;MACViC,YAAY,EAAE;IAChB,CAAC;IACDC,WAAW,EAAE;MACXjC,QAAQ;MACR8B,KAAK,EAAEjC,MAAM,CAACqC,eAAe;MAC7BnC,UAAU;MACVoC,UAAU,EAAEnC,QAAQ,GAAG;IACzB,CAAC;IACDoC,MAAM,EAAE;MACNC,aAAa,EAAE,KAAK;MACpB7B,cAAc,EAAE,UAAU;MAC1B8B,GAAG,EAAE,EAAE;MACPC,SAAS,EAAE;IACb,CAAC;IACDC,MAAM,EAAE;MACNC,eAAe,EAAE,EAAE;MACnBC,iBAAiB,EAAE,EAAE;MACrB9B,YAAY,EAAEd,MAAM;MACpB2B,WAAW,EAAE,CAAC;MACdC,WAAW,EAAE7B,MAAM,CAAC8B,MAAM;MAC1BpB,eAAe,EAAEV,MAAM,CAACc;IAC1B,CAAC;IACDgC,UAAU,EAAE;MACVb,KAAK,EAAEjC,MAAM,CAACkC,UAAU;MACxB/B,QAAQ;MACR6B,UAAU,EAAE,KAAK;MACjB9B;IACF,CAAC;IACD6C,MAAM,EAAE;MACNH,eAAe,EAAE,EAAE;MACnBC,iBAAiB,EAAE,EAAE;MACrB9B,YAAY,EAAEd,MAAM;MACpBS,eAAe,EAAEV,MAAM,CAACgD;IAC1B,CAAC;IACDC,UAAU,EAAE;MACVhB,KAAK,EAAEjC,MAAM,CAACkD,iBAAiB;MAC/B/C,QAAQ;MACR6B,UAAU,EAAE,KAAK;MACjB9B;IACF;EACF,CAAC,CACH,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useThemedStyles","useAlertDialogVariantDefault","colors","radius","fontFamily","fontSize","overlay","position","top","left","right","bottom","backgroundColor","justifyContent","alignItems","zIndex","content","background","borderRadius","padding","maxWidth","width","shadowColor","shadowOffset","height","shadowOpacity","shadowRadius","elevation","transform","translateX","translateY","borderWidth","borderColor","border","title","fontWeight","color","foreground","marginBottom","description","mutedForeground","lineHeight","footer","flexDirection","gap","marginTop","cancel","paddingVertical","paddingHorizontal","cancelText","action","primary","actionText","primaryForeground"],"sourceRoot":"../../../../../src","sources":["components/alert-dialog/variants/default.tsx"],"mappings":";;AACA,SAASA,eAAe,QAAQ,qCAAkC;AAElE,OAAO,MAAMC,4BAA4B,GAAGA,CAAA,KAAyB;EACnE,OAAOD,eAAe,CACpB,CAAC;IAAEE,MAAM;IAAEC,MAAM;IAAEC,UAAU;IAAEC;EAAS,CAAC,MAAyB;IAChEC,OAAO,EAAE;MACPC,QAAQ,EAAE,UAAU;MACpBC,GAAG,EAAE,CAAC;MACNC,IAAI,EAAE,CAAC;MACPC,KAAK,EAAE,CAAC;MACRC,MAAM,EAAE,CAAC;MACTC,eAAe,EAAE,oBAAoB;MACrCC,cAAc,EAAE,QAAQ;MACxBC,UAAU,EAAE,QAAQ;MACpBC,MAAM,EAAE;IACV,CAAC;IACDC,OAAO,EAAE;MACPJ,eAAe,EAAEV,MAAM,CAACe,UAAU;MAClCC,YAAY,EAAEf,MAAM;MACpBgB,OAAO,EAAE,EAAE;MACXC,QAAQ,EAAE,GAAG;MACbC,KAAK,EAAE,KAAK;MACZC,WAAW,EAAE,MAAM;MACnBC,YAAY,EAAE;QAAEF,KAAK,EAAE,CAAC;QAAEG,MAAM,EAAE;MAAE,CAAC;MACrCC,aAAa,EAAE,IAAI;MACnBC,YAAY,EAAE,CAAC;MACfC,SAAS,EAAE,CAAC;MACZpB,QAAQ,EAAE,UAAU;MACpBC,GAAG,EAAE,KAAK;MACVC,IAAI,EAAE,KAAK;MACXmB,SAAS,EAAE,CAAC;QAAEC,UAAU,EAAE;MAAO,CAAC,EAAE;QAAEC,UAAU,EAAE;MAAO,CAAC,CAAC;MAC3DC,WAAW,EAAE,CAAC;MACdC,WAAW,EAAE9B,MAAM,CAAC+B,MAAM;MAC1BlB,MAAM,EAAE;IACV,CAAC;IACDmB,KAAK,EAAE;MACL7B,QAAQ,EAAEA,QAAQ,GAAG,IAAI;MACzB8B,UAAU,EAAE,KAAK;MACjBC,KAAK,EAAElC,MAAM,CAACmC,UAAU;MACxBjC,UAAU;MACVkC,YAAY,EAAE;IAChB,CAAC;IACDC,WAAW,EAAE;MACXlC,QAAQ;MACR+B,KAAK,EAAElC,MAAM,CAACsC,eAAe;MAC7BpC,UAAU;MACVqC,UAAU,EAAEpC,QAAQ,GAAG;IACzB,CAAC;IACDqC,MAAM,EAAE;MACNC,aAAa,EAAE,KAAK;MACpB9B,cAAc,EAAE,UAAU;MAC1B+B,GAAG,EAAE,EAAE;MACPC,SAAS,EAAE;IACb,CAAC;IACDC,MAAM,EAAE;MACNC,eAAe,EAAE,EAAE;MACnBC,iBAAiB,EAAE,EAAE;MACrB9B,YAAY,EAAEf,MAAM;MACpB4B,WAAW,EAAE,CAAC;MACdC,WAAW,EAAE9B,MAAM,CAAC+B,MAAM;MAC1BrB,eAAe,EAAEV,MAAM,CAACe;IAC1B,CAAC;IACDgC,UAAU,EAAE;MACVb,KAAK,EAAElC,MAAM,CAACmC,UAAU;MACxBhC,QAAQ;MACR8B,UAAU,EAAE,KAAK;MACjB/B;IACF,CAAC;IACD8C,MAAM,EAAE;MACNH,eAAe,EAAE,EAAE;MACnBC,iBAAiB,EAAE,EAAE;MACrB9B,YAAY,EAAEf,MAAM;MACpBS,eAAe,EAAEV,MAAM,CAACiD;IAC1B,CAAC;IACDC,UAAU,EAAE;MACVhB,KAAK,EAAElC,MAAM,CAACmD,iBAAiB;MAC/BhD,QAAQ;MACR8B,UAAU,EAAE,KAAK;MACjB/B;IACF;EACF,CAAC,CACH,CAAC;AACH,CAAC","ignoreList":[]}
@@ -3,18 +3,9 @@
3
3
  import React from "react";
4
4
  import { StyleSheet, Text } from "react-native";
5
5
  import { useCombobox } from "../context.js";
6
- import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
7
  export function ComboboxEmpty(props) {
8
8
  const combobox = useCombobox();
9
- const hasVisibleOptions = combobox.options.some(option => combobox.filter(option.value, combobox.searchQuery));
10
- if (hasVisibleOptions) {
11
- return null;
12
- }
13
- if (props.render) {
14
- return /*#__PURE__*/_jsx(_Fragment, {
15
- children: props.render()
16
- });
17
- }
18
9
  const composedStyles = StyleSheet.flatten([combobox.styles.empty?.default, combobox.styles.empty?.[combobox.state]]);
19
10
  return /*#__PURE__*/_jsx(Text, {
20
11
  style: composedStyles,
@@ -1 +1 @@
1
- {"version":3,"names":["React","StyleSheet","Text","useCombobox","Fragment","_Fragment","jsx","_jsx","ComboboxEmpty","props","combobox","hasVisibleOptions","options","some","option","filter","value","searchQuery","render","children","composedStyles","flatten","styles","empty","default","state","style"],"sourceRoot":"../../../../../src","sources":["components/combobox/components/combobox-empty.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SAASC,WAAW,QAAQ,eAAY;AAAC,SAAAC,QAAA,IAAAC,SAAA,EAAAC,GAAA,IAAAC,IAAA;AAOzC,OAAO,SAASC,aAAaA,CAACC,KAAyB,EAAE;EACvD,MAAMC,QAAQ,GAAGP,WAAW,CAAC,CAAC;EAE9B,MAAMQ,iBAAiB,GAAGD,QAAQ,CAACE,OAAO,CAACC,IAAI,CAAEC,MAAM,IACrDJ,QAAQ,CAACK,MAAM,CAACD,MAAM,CAACE,KAAK,EAAEN,QAAQ,CAACO,WAAW,CACpD,CAAC;EAED,IAAIN,iBAAiB,EAAE;IACrB,OAAO,IAAI;EACb;EAEA,IAAIF,KAAK,CAACS,MAAM,EAAE;IAChB,oBAAOX,IAAA,CAAAF,SAAA;MAAAc,QAAA,EAAGV,KAAK,CAACS,MAAM,CAAC;IAAC,CAAG,CAAC;EAC9B;EAEA,MAAME,cAAc,GAAGnB,UAAU,CAACoB,OAAO,CAAC,CACxCX,QAAQ,CAACY,MAAM,CAACC,KAAK,EAAEC,OAAO,EAC9Bd,QAAQ,CAACY,MAAM,CAACC,KAAK,GAAGb,QAAQ,CAACe,KAAK,CAAC,CACxC,CAAC;EAEF,oBAAOlB,IAAA,CAACL,IAAI;IAACwB,KAAK,EAAEN,cAAe;IAAAD,QAAA,EAAEV,KAAK,CAACU;EAAQ,CAAO,CAAC;AAC7D","ignoreList":[]}
1
+ {"version":3,"names":["React","StyleSheet","Text","useCombobox","jsx","_jsx","ComboboxEmpty","props","combobox","composedStyles","flatten","styles","empty","default","state","style","children"],"sourceRoot":"../../../../../src","sources":["components/combobox/components/combobox-empty.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SAASC,WAAW,QAAQ,eAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAMzC,OAAO,SAASC,aAAaA,CAACC,KAAyB,EAAE;EACvD,MAAMC,QAAQ,GAAGL,WAAW,CAAC,CAAC;EAE9B,MAAMM,cAAc,GAAGR,UAAU,CAACS,OAAO,CAAC,CACxCF,QAAQ,CAACG,MAAM,CAACC,KAAK,EAAEC,OAAO,EAC9BL,QAAQ,CAACG,MAAM,CAACC,KAAK,GAAGJ,QAAQ,CAACM,KAAK,CAAC,CACxC,CAAC;EAEF,oBAAOT,IAAA,CAACH,IAAI;IAACa,KAAK,EAAEN,cAAe;IAAAO,QAAA,EAAET,KAAK,CAACS;EAAQ,CAAO,CAAC;AAC7D","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import React, { useEffect, useState } from "react";
3
+ import React, { useState } from "react";
4
4
  import { Pressable, StyleSheet, Text } from "react-native";
5
5
  import { useCombobox } from "../context.js";
6
6
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -22,26 +22,12 @@ export function ComboboxOption(props) {
22
22
  const isSelected = combobox.value === props.value;
23
23
  const optionState = calculateState(combobox.state, isHovered, isSelected);
24
24
  const composedStyles = StyleSheet.flatten([combobox.styles?.option?.default, combobox.styles?.option?.[optionState]]);
25
- useEffect(() => {
26
- combobox.setOptions(prev => {
27
- if (prev.find(option => option.value === props.value)) {
28
- return prev;
29
- }
30
- return [...prev, {
31
- value: props.value,
32
- label: props.label ?? props.children
33
- }];
34
- });
35
- }, [props.value, props.label, props.children]);
36
- if (!combobox.filter(props.value, combobox.searchQuery)) {
37
- return null;
38
- }
39
25
  const Component = typeof props.children === "string" ? Text : Pressable;
40
26
  return /*#__PURE__*/_jsx(Component, {
41
27
  onPress: () => {
42
- combobox.onChange?.(props.value);
28
+ const label = props.label ?? (typeof props.children === "string" ? props.children : props.value);
29
+ combobox.onChange?.(label);
43
30
  combobox.setIsOpen(false);
44
- combobox.setSearchQuery("");
45
31
  },
46
32
  onPointerEnter: () => {
47
33
  setIsHovered(true);
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","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","setOptions","prev","find","label","children","filter","searchQuery","Component","onPress","onChange","setIsOpen","setSearchQuery","onPointerEnter","onPointerLeave","style"],"sourceRoot":"../../../../../src","sources":["components/combobox/components/combobox-option.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,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,CAC5BC,KAA0B,EACC;EAC3B,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;EAEFnB,SAAS,CAAC,MAAM;IACdgB,QAAQ,CAACU,UAAU,CAAEC,IAAI,IAAK;MAC5B,IAAIA,IAAI,CAACC,IAAI,CAAEJ,MAAM,IAAKA,MAAM,CAACN,KAAK,KAAKL,KAAK,CAACK,KAAK,CAAC,EAAE;QACvD,OAAOS,IAAI;MACb;MACA,OAAO,CACL,GAAGA,IAAI,EACP;QACET,KAAK,EAAEL,KAAK,CAACK,KAAK;QAClBW,KAAK,EAAEhB,KAAK,CAACgB,KAAK,IAAIhB,KAAK,CAACiB;MAC9B,CAAC,CACF;IACH,CAAC,CAAC;EACJ,CAAC,EAAE,CAACjB,KAAK,CAACK,KAAK,EAAEL,KAAK,CAACgB,KAAK,EAAEhB,KAAK,CAACiB,QAAQ,CAAC,CAAC;EAE9C,IAAI,CAACd,QAAQ,CAACe,MAAM,CAAClB,KAAK,CAACK,KAAK,EAAEF,QAAQ,CAACgB,WAAW,CAAC,EAAE;IACvD,OAAO,IAAI;EACb;EAEA,MAAMC,SAAS,GAAG,OAAOpB,KAAK,CAACiB,QAAQ,KAAK,QAAQ,GAAG1B,IAAI,GAAGF,SAAS;EAEvE,oBACEK,IAAA,CAAC0B,SAAS;IACRC,OAAO,EAAEA,CAAA,KAAM;MACblB,QAAQ,CAACmB,QAAQ,GAAGtB,KAAK,CAACK,KAAK,CAAC;MAChCF,QAAQ,CAACoB,SAAS,CAAC,KAAK,CAAC;MACzBpB,QAAQ,CAACqB,cAAc,CAAC,EAAE,CAAC;IAC7B,CAAE;IACFC,cAAc,EAAEA,CAAA,KAAM;MACpBvB,YAAY,CAAC,IAAI,CAAC;IACpB,CAAE;IACFwB,cAAc,EAAEA,CAAA,KAAM;MACpBxB,YAAY,CAAC,KAAK,CAAC;IACrB,CAAE;IACFyB,KAAK,EAAEnB,cAAe;IAAAS,QAAA,EAErBjB,KAAK,CAACiB;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","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,KACV,OAAOhB,KAAK,CAACc,QAAQ,KAAK,QAAQ,GAAGd,KAAK,CAACc,QAAQ,GAAGd,KAAK,CAACK,KAAK,CAAC;MACrEF,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":[]}
@@ -9,8 +9,8 @@ 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);
12
13
  combobox.setIsOpen(false);
13
- combobox.setSearchQuery("");
14
14
  },
15
15
  pointerEvents: "auto",
16
16
  style: [StyleSheet.absoluteFill, composedStyles],
@@ -1 +1 @@
1
- {"version":3,"names":["React","Pressable","StyleSheet","useCombobox","jsx","_jsx","ComboboxOverlay","props","combobox","composedStyles","flatten","styles","overlay","default","state","style","onPress","setIsOpen","setSearchQuery","pointerEvents","absoluteFill","children"],"sourceRoot":"../../../../../src","sources":["components/combobox/components/combobox-overlay.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACEC,SAAS,EAETC,UAAU,QAEL,cAAc;AACrB,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;MACzBT,QAAQ,CAACU,cAAc,CAAC,EAAE,CAAC;IAC7B,CAAE;IACFC,aAAa,EAAC,MAAM;IACpBJ,KAAK,EAAE,CAACb,UAAU,CAACkB,YAAY,EAAEX,cAAc,CAAE;IAAAY,QAAA,EAEhDd,KAAK,CAACc;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","onChange","inputValue","setIsOpen","pointerEvents","absoluteFill","children"],"sourceRoot":"../../../../../src","sources":["components/combobox/components/combobox-overlay.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACEC,SAAS,EAETC,UAAU,QAEL,cAAc;AACrB,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":[]}
@@ -12,42 +12,23 @@ const calculateState = props => {
12
12
  }
13
13
  return "default";
14
14
  };
15
- const defaultFilter = (value, query, options) => {
16
- if (!query) return true;
17
- const lowerQuery = query.toLowerCase();
18
- const option = options.find(o => o.value === value);
19
- if (!option) return true;
20
- if (option.keywords) {
21
- return option.keywords.some(kw => kw.toLowerCase().includes(lowerQuery));
22
- }
23
- if (typeof option.label === "string") {
24
- return option.label.toLowerCase().includes(lowerQuery);
25
- }
26
- return true;
27
- };
28
15
  export function ComboboxRoot(props) {
29
16
  const variantStyles = ComboboxVariants[props.variant ?? "default"]();
30
17
  const [isOpen, setIsOpen] = useState(false);
31
18
  const [contentLayout, setContentLayout] = useState(DEFAULT_LAYOUT);
32
19
  const [triggerPosition, setTriggerPosition] = useState(DEFAULT_POSITION);
33
- const [options, setOptions] = useState([]);
34
- const [searchQuery, setSearchQueryInternal] = useState("");
35
- const onSearchChangeRef = useRef(props.onSearchChange);
36
- onSearchChangeRef.current = props.onSearchChange;
37
- const setSearchQuery = useCallback(action => {
38
- setSearchQueryInternal(prev => {
20
+ const [inputValue, setInputValueInternal] = useState("");
21
+ const onInputChangeRef = useRef(props.onInputChange);
22
+ onInputChangeRef.current = props.onInputChange;
23
+ const setInputValue = useCallback(action => {
24
+ setInputValueInternal(prev => {
39
25
  const next = typeof action === "function" ? action(prev) : action;
40
26
  if (next !== prev) {
41
- onSearchChangeRef.current?.(next);
27
+ onInputChangeRef.current?.(next);
42
28
  }
43
29
  return next;
44
30
  });
45
31
  }, []);
46
- const filterRef = useRef(props.filter);
47
- filterRef.current = props.filter;
48
- const optionsRef = useRef(options);
49
- optionsRef.current = options;
50
- const filter = useCallback((value, query) => filterRef.current ? filterRef.current(value, query) : defaultFilter(value, query, optionsRef.current), []);
51
32
  const state = calculateState(props);
52
33
  const composedStyles = StyleSheet.flatten([variantStyles?.root?.default, variantStyles?.root?.[state], props.style]);
53
34
  const contextValue = useMemo(() => ({
@@ -59,15 +40,12 @@ export function ComboboxRoot(props) {
59
40
  setTriggerPosition,
60
41
  contentLayout,
61
42
  setContentLayout,
62
- options,
63
- setOptions,
64
- searchQuery,
65
- setSearchQuery,
66
- filter,
43
+ inputValue,
44
+ setInputValue,
67
45
  state,
68
46
  isDisabled: props.isDisabled ?? false,
69
47
  styles: variantStyles
70
- }), [props.value, props.onChange, isOpen, triggerPosition, contentLayout, options, searchQuery, setSearchQuery, filter, state, props.isDisabled, variantStyles]);
48
+ }), [props.value, props.onChange, isOpen, triggerPosition, contentLayout, inputValue, setInputValue, state, props.isDisabled, variantStyles]);
71
49
  return /*#__PURE__*/_jsx(ComboboxContext.Provider, {
72
50
  value: contextValue,
73
51
  children: /*#__PURE__*/_jsx(View, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useMemo","useRef","useState","StyleSheet","View","DEFAULT_LAYOUT","DEFAULT_POSITION","ComboboxContext","ComboboxVariants","jsx","_jsx","calculateState","props","isDisabled","defaultFilter","value","query","options","lowerQuery","toLowerCase","option","find","o","keywords","some","kw","includes","label","ComboboxRoot","variantStyles","variant","isOpen","setIsOpen","contentLayout","setContentLayout","triggerPosition","setTriggerPosition","setOptions","searchQuery","setSearchQueryInternal","onSearchChangeRef","onSearchChange","current","setSearchQuery","action","prev","next","filterRef","filter","optionsRef","state","composedStyles","flatten","root","default","style","contextValue","onChange","styles","Provider","children"],"sourceRoot":"../../../../../src","sources":["components/combobox/components/combobox-root.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useMemo","useRef","useState","StyleSheet","View","DEFAULT_LAYOUT","DEFAULT_POSITION","ComboboxContext","ComboboxVariants","jsx","_jsx","calculateState","props","isDisabled","ComboboxRoot","variantStyles","variant","isOpen","setIsOpen","contentLayout","setContentLayout","triggerPosition","setTriggerPosition","inputValue","setInputValueInternal","onInputChangeRef","onInputChange","current","setInputValue","action","prev","next","state","composedStyles","flatten","root","default","style","contextValue","value","onChange","styles","Provider","children"],"sourceRoot":"../../../../../src","sources":["components/combobox/components/combobox-root.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AACrE,SAGEC,UAAU,EACVC,IAAI,QAEC,cAAc;AACrB,SACEC,cAAc,EACdC,gBAAgB,QAEX,yBAAgB;AACvB,SAASC,eAAe,QAAQ,eAAY;AAE5C,SAASC,gBAAgB,QAAQ,sBAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAiB/C,MAAMC,cAAc,GAAIC,KAAwB,IAAoB;EAClE,IAAIA,KAAK,CAACC,UAAU,EAAE;IACpB,OAAO,UAAU;EACnB;EACA,OAAO,SAAS;AAClB,CAAC;AAED,OAAO,SAASC,YAAYA,CAACF,KAAwB,EAAE;EACrD,MAAMG,aAAa,GAAGP,gBAAgB,CAACI,KAAK,CAACI,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC;EAEpE,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGhB,QAAQ,CAAC,KAAK,CAAC;EAC3C,MAAM,CAACiB,aAAa,EAAEC,gBAAgB,CAAC,GACrClB,QAAQ,CAAkBG,cAAc,CAAC;EAC3C,MAAM,CAACgB,eAAe,EAAEC,kBAAkB,CAAC,GACzCpB,QAAQ,CAAiBI,gBAAgB,CAAC;EAC5C,MAAM,CAACiB,UAAU,EAAEC,qBAAqB,CAAC,GAAGtB,QAAQ,CAAC,EAAE,CAAC;EAExD,MAAMuB,gBAAgB,GAAGxB,MAAM,CAACW,KAAK,CAACc,aAAa,CAAC;EACpDD,gBAAgB,CAACE,OAAO,GAAGf,KAAK,CAACc,aAAa;EAE9C,MAAME,aAA2D,GAC/D7B,WAAW,CAAE8B,MAAM,IAAK;IACtBL,qBAAqB,CAAEM,IAAI,IAAK;MAC9B,MAAMC,IAAI,GAAG,OAAOF,MAAM,KAAK,UAAU,GAAGA,MAAM,CAACC,IAAI,CAAC,GAAGD,MAAM;MACjE,IAAIE,IAAI,KAAKD,IAAI,EAAE;QACjBL,gBAAgB,CAACE,OAAO,GAAGI,IAAI,CAAC;MAClC;MACA,OAAOA,IAAI;IACb,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;EAER,MAAMC,KAAK,GAAGrB,cAAc,CAACC,KAAK,CAAC;EACnC,MAAMqB,cAAc,GAAG9B,UAAU,CAAC+B,OAAO,CAAC,CACxCnB,aAAa,EAAEoB,IAAI,EAAEC,OAAO,EAC5BrB,aAAa,EAAEoB,IAAI,GAAGH,KAAK,CAAC,EAC5BpB,KAAK,CAACyB,KAAK,CACZ,CAAC;EAEF,MAAMC,YAA6B,GAAGtC,OAAO,CAC3C,OAAO;IACLuC,KAAK,EAAE3B,KAAK,CAAC2B,KAAK;IAClBC,QAAQ,EAAE5B,KAAK,CAAC4B,QAAQ;IACxBvB,MAAM;IACNC,SAAS;IACTG,eAAe;IACfC,kBAAkB;IAClBH,aAAa;IACbC,gBAAgB;IAChBG,UAAU;IACVK,aAAa;IACbI,KAAK;IACLnB,UAAU,EAAED,KAAK,CAACC,UAAU,IAAI,KAAK;IACrC4B,MAAM,EAAE1B;EACV,CAAC,CAAC,EACF,CACEH,KAAK,CAAC2B,KAAK,EACX3B,KAAK,CAAC4B,QAAQ,EACdvB,MAAM,EACNI,eAAe,EACfF,aAAa,EACbI,UAAU,EACVK,aAAa,EACbI,KAAK,EACLpB,KAAK,CAACC,UAAU,EAChBE,aAAa,CAEjB,CAAC;EAED,oBACEL,IAAA,CAACH,eAAe,CAACmC,QAAQ;IAACH,KAAK,EAAED,YAAa;IAAAK,QAAA,eAC5CjC,IAAA,CAACN,IAAI;MAACiC,KAAK,EAAEJ,cAAe;MAAAU,QAAA,EAAE/B,KAAK,CAAC+B;IAAQ,CAAO;EAAC,CAC5B,CAAC;AAE/B","ignoreList":[]}
@@ -15,11 +15,10 @@ 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 selectedOption = combobox.options.find(option => option.value === combobox.value);
19
- const displayValue = combobox.isOpen ? combobox.searchQuery : selectedOption ? typeof selectedOption.label === "string" ? selectedOption.label : selectedOption.value : "";
18
+ const displayValue = combobox.isOpen ? combobox.inputValue : combobox.value ?? "";
20
19
  const open = () => {
21
20
  if (combobox.isDisabled) return;
22
- combobox.setSearchQuery("");
21
+ combobox.setInputValue(combobox.value ?? "");
23
22
  requestAnimationFrame(() => {
24
23
  measureLayoutPosition(triggerRef.current, layout => {
25
24
  combobox.setTriggerPosition(layout);
@@ -51,7 +50,7 @@ export function ComboboxTrigger(props) {
51
50
  onChange: undefined,
52
51
  onChangeText: text => {
53
52
  if (combobox.isDisabled) return;
54
- combobox.setSearchQuery(text);
53
+ combobox.setInputValue(text);
55
54
  if (!combobox.isOpen) {
56
55
  open();
57
56
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useRef","StyleSheet","TextInput","setInnerInputValue","measureLayoutPosition","useCombobox","jsx","_jsx","calculateState","isDisabled","isOpen","ComboboxTrigger","props","combobox","triggerRef","triggerState","selectedOption","options","find","option","value","displayValue","searchQuery","label","open","setSearchQuery","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":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAChD,SAASC,UAAU,EAAEC,SAAS,QAA6B,cAAc;AAEzE,SAASC,kBAAkB,QAAQ,+BAA4B;AAC/D,SAASC,qBAAqB,QAAQ,oCAAiC;AACvE,SAASC,WAAW,QAAQ,eAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOzC,MAAMC,cAAc,GAAGA,CACrBC,UAAmB,EACnBC,MAAe,KACU;EACzB,IAAID,UAAU,EAAE,OAAO,UAAU;EACjC,IAAIC,MAAM,EAAE,OAAO,SAAS;EAC5B,OAAO,SAAS;AAClB,CAAC;AAED,OAAO,SAASC,eAAeA,CAACC,KAA2B,EAAE;EAC3D,MAAMC,QAAQ,GAAGR,WAAW,CAAC,CAAC;EAC9B,MAAMS,UAAU,GAAGd,MAAM,CAAe,IAAI,CAAC;EAE7C,MAAMe,YAAY,GAAGP,cAAc,CAACK,QAAQ,CAACJ,UAAU,EAAEI,QAAQ,CAACH,MAAM,CAAC;EACzE,MAAMM,cAAc,GAAGH,QAAQ,CAACI,OAAO,CAACC,IAAI,CACzCC,MAAM,IAAKA,MAAM,CAACC,KAAK,KAAKP,QAAQ,CAACO,KACxC,CAAC;EAED,MAAMC,YAAY,GAAGR,QAAQ,CAACH,MAAM,GAChCG,QAAQ,CAACS,WAAW,GACpBN,cAAc,GACZ,OAAOA,cAAc,CAACO,KAAK,KAAK,QAAQ,GACtCP,cAAc,CAACO,KAAK,GACpBP,cAAc,CAACI,KAAK,GACtB,EAAE;EAER,MAAMI,IAAI,GAAGA,CAAA,KAAM;IACjB,IAAIX,QAAQ,CAACJ,UAAU,EAAE;IACzBI,QAAQ,CAACY,cAAc,CAAC,EAAE,CAAC;IAC3BC,qBAAqB,CAAC,MAAM;MAC1BtB,qBAAqB,CAACU,UAAU,CAACa,OAAO,EAAGC,MAAM,IAAK;QACpDf,QAAQ,CAACgB,kBAAkB,CAACD,MAAM,CAAC;QACnCf,QAAQ,CAACiB,SAAS,CAAC,IAAI,CAAC;MAC1B,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC;EAED/B,SAAS,CAAC,MAAM;IACd,IAAI,CAACe,UAAU,CAACa,OAAO,EAAE;IACzBxB,kBAAkB,CAACW,UAAU,CAACa,OAAO,EAAEN,YAAY,CAAC;EACtD,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;EAElBtB,SAAS,CAAC,MAAM;IACd,IAAI,CAACc,QAAQ,CAACH,MAAM,EAAE;MACpBI,UAAU,CAACa,OAAO,EAAEI,IAAI,CAAC,CAAC;IAC5B;EACF,CAAC,EAAE,CAAClB,QAAQ,CAACH,MAAM,CAAC,CAAC;EAErB,MAAMsB,aAAa,GAAGnB,QAAQ,CAACoB,MAAM,EAAEC,OAAO;EAC9C,MAAMC,aAA6B,GAAG;IACpC,GAAGH,aAAa,EAAEI,OAAO;IACzB,GAAGJ,aAAa,GAAGjB,YAAY,CAAC;IAChC,GAAGH,KAAK;IACRyB,KAAK,EAAEpC,UAAU,CAACqC,OAAO,CAAC,CACxBN,aAAa,EAAEI,OAAO,EAAEC,KAAK,EAC7BL,aAAa,GAAGjB,YAAY,CAAC,EAAEsB,KAAK,CACrC;EACH,CAAC;EAED,MAAME,aAAa,GAAGtC,UAAU,CAACqC,OAAO,CAAC,CACvCN,aAAa,EAAEI,OAAO,EAAEC,KAAK,EAC7BL,aAAa,GAAGjB,YAAY,CAAC,EAAEsB,KAAK,CACrC,CAAC;EAEF,oBACE9B,IAAA,CAACL,SAAS;IAAA,GACJiC,aAAa;IACjBK,GAAG,EAAE1B,UAAW;IAChBM,KAAK,EAAEqB,SAAU;IACjBC,QAAQ,EAAED,SAAU;IACpBE,YAAY,EAAGC,IAAI,IAAK;MACtB,IAAI/B,QAAQ,CAACJ,UAAU,EAAE;MACzBI,QAAQ,CAACY,cAAc,CAACmB,IAAI,CAAC;MAC7B,IAAI,CAAC/B,QAAQ,CAACH,MAAM,EAAE;QACpBc,IAAI,CAAC,CAAC;MACR;IACF,CAAE;IACFqB,OAAO,EAAEA,CAAA,KAAM;MACb,IAAI,CAAChC,QAAQ,CAACH,MAAM,EAAE;QACpBc,IAAI,CAAC,CAAC;MACR;IACF,CAAE;IACFa,KAAK,EAAEE;EAAc,CACtB,CAAC;AAEN","ignoreList":[]}
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 +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;AA6BhE,OAAO,MAAMC,eAAe,gBAAGF,aAAa,CAC1CG,SACF,CAAC;AAED,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;AAyBhE,OAAO,MAAMC,eAAe,gBAAGF,aAAa,CAC1CG,SACF,CAAC;AAED,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 +1 @@
1
- {"version":3,"file":"async-alert-dialog.d.ts","sourceRoot":"","sources":["../../../../../src/components/alert-dialog/async-alert-dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAWnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,UAAU,qBAAqB;IAC7B,OAAO,CAAC,EAAE,MAAM,OAAO,mBAAmB,CAAC;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,sBAAsB;IAC9B,SAAS,EAAE,OAAO,CAAC;CACpB;AAsED,wBAAgB,uBAAuB,6BAatC;AAED,iBAAS,IAAI,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAW3E;AAED,eAAO,MAAM,gBAAgB;;CAE5B,CAAC"}
1
+ {"version":3,"file":"async-alert-dialog.d.ts","sourceRoot":"","sources":["../../../../../src/components/alert-dialog/async-alert-dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAWnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,UAAU,qBAAqB;IAC7B,OAAO,CAAC,EAAE,MAAM,OAAO,mBAAmB,CAAC;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,sBAAsB;IAC9B,SAAS,EAAE,OAAO,CAAC;CACpB;AAyFD,wBAAgB,uBAAuB,6BAatC;AAED,iBAAS,IAAI,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAW3E;AAED,eAAO,MAAM,gBAAgB;;CAE5B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"alert-dialog-portal.d.ts","sourceRoot":"","sources":["../../../../../../src/components/alert-dialog/components/alert-dialog-portal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,UAAU,sBAAsB;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,4BAW9D"}
1
+ {"version":3,"file":"alert-dialog-portal.d.ts","sourceRoot":"","sources":["../../../../../../src/components/alert-dialog/components/alert-dialog-portal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,UAAU,sBAAsB;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,4BAc9D"}
@@ -1 +1 @@
1
- {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../../../../../src/components/alert-dialog/variants/default.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAG/C,eAAO,MAAM,4BAA4B,QAAO,iBA8E/C,CAAC"}
1
+ {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../../../../../src/components/alert-dialog/variants/default.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAG/C,eAAO,MAAM,4BAA4B,QAAO,iBAgF/C,CAAC"}
@@ -1,7 +1,6 @@
1
1
  import React from "react";
2
2
  export interface ComboboxEmptyProps {
3
3
  children?: string;
4
- render: () => React.ReactNode;
5
4
  }
6
- export declare function ComboboxEmpty(props: ComboboxEmptyProps): React.JSX.Element | null;
5
+ export declare function ComboboxEmpty(props: ComboboxEmptyProps): React.JSX.Element;
7
6
  //# sourceMappingURL=combobox-empty.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"combobox-empty.d.ts","sourceRoot":"","sources":["../../../../../../src/components/combobox/components/combobox-empty.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC;CAC/B;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,4BAqBtD"}
1
+ {"version":3,"file":"combobox-empty.d.ts","sourceRoot":"","sources":["../../../../../../src/components/combobox/components/combobox-empty.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,qBAStD"}
@@ -4,5 +4,5 @@ export type ComboboxOptionProps = {
4
4
  label?: string;
5
5
  children?: React.ReactNode;
6
6
  };
7
- export declare function ComboboxOption(props: ComboboxOptionProps): React.ReactElement | null;
7
+ export declare function ComboboxOption(props: ComboboxOptionProps): React.JSX.Element;
8
8
  //# sourceMappingURL=combobox-option.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"combobox-option.d.ts","sourceRoot":"","sources":["../../../../../../src/components/combobox/components/combobox-option.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAKnD,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAmBF,wBAAgB,cAAc,CAC5B,KAAK,EAAE,mBAAmB,GACzB,KAAK,CAAC,YAAY,GAAG,IAAI,CAkD3B"}
1
+ {"version":3,"file":"combobox-option.d.ts","sourceRoot":"","sources":["../../../../../../src/components/combobox/components/combobox-option.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAKxC,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAmBF,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,qBAiCxD"}
@@ -5,12 +5,8 @@ export interface ComboboxRootProps {
5
5
  variant?: keyof typeof ComboboxVariants;
6
6
  value?: string;
7
7
  onChange?: (value: string) => void;
8
- /** Called when the search input text changes. Use for async/remote filtering. */
9
- onSearchChange?: (query: string) => void;
10
- /** Custom filter function. Receives option value and search query, returns whether to show the option.
11
- * Default: case-insensitive match against option label/keywords.
12
- * For async/remote filtering, pass `() => true` to show all options. */
13
- filter?: (value: string, query: string) => boolean;
8
+ /** Called when the text input value changes. Use this to filter options on the consumer side. */
9
+ onInputChange?: (text: string) => void;
14
10
  isDisabled?: boolean;
15
11
  children?: React.ReactNode;
16
12
  style?: StyleProp<ViewStyle>;
@@ -1 +1 @@
1
- {"version":3,"file":"combobox-root.d.ts","sourceRoot":"","sources":["../../../../../../src/components/combobox/components/combobox-root.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AACtE,OAAO,EAEL,KAAK,SAAS,EAGd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAQtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,OAAO,gBAAgB,CAAC;IAExC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEnC,iFAAiF;IACjF,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEzC;;4EAEwE;IACxE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAEnD,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AA8BD,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,qBAsFpD"}
1
+ {"version":3,"file":"combobox-root.d.ts","sourceRoot":"","sources":["../../../../../../src/components/combobox/components/combobox-root.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AACtE,OAAO,EAEL,KAAK,SAAS,EAGd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAQtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,OAAO,gBAAgB,CAAC;IAExC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEnC,iGAAiG;IACjG,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAEvC,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AASD,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,qBAkEpD"}
@@ -1 +1 @@
1
- {"version":3,"file":"combobox-trigger.d.ts","sourceRoot":"","sources":["../../../../../../src/components/combobox/components/combobox-trigger.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAQjD,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAWD,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,qBA4E1D"}
1
+ {"version":3,"file":"combobox-trigger.d.ts","sourceRoot":"","sources":["../../../../../../src/components/combobox/components/combobox-trigger.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAQjD,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAWD,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,qBAqE1D"}
@@ -1,7 +1,7 @@
1
1
  import { type Dispatch } from "react";
2
2
  import type { LayoutRectangle } from "react-native";
3
3
  import type { LayoutPosition } from "../../hooks";
4
- import type { ComboboxOption, ComboboxState, ComboboxStyles } from "./types";
4
+ import type { ComboboxState, ComboboxStyles } from "./types";
5
5
  export interface ComboboxContext {
6
6
  value?: string;
7
7
  onChange?: (value: string) => void;
@@ -11,11 +11,8 @@ export interface ComboboxContext {
11
11
  setTriggerPosition: Dispatch<React.SetStateAction<LayoutPosition>>;
12
12
  contentLayout: LayoutRectangle;
13
13
  setContentLayout: Dispatch<React.SetStateAction<LayoutRectangle>>;
14
- options: Array<ComboboxOption>;
15
- setOptions: Dispatch<React.SetStateAction<Array<ComboboxOption>>>;
16
- searchQuery: string;
17
- setSearchQuery: Dispatch<React.SetStateAction<string>>;
18
- filter: (value: string, query: string) => boolean;
14
+ inputValue: string;
15
+ setInputValue: Dispatch<React.SetStateAction<string>>;
19
16
  isDisabled: boolean;
20
17
  state: ComboboxState;
21
18
  styles: ComboboxStyles;
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../../src/components/combobox/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,QAAQ,EAAc,MAAM,OAAO,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE7E,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEnC,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACnD,eAAe,EAAE,cAAc,CAAC;IAChC,kBAAkB,EAAE,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC;IACnE,aAAa,EAAE,eAAe,CAAC;IAC/B,gBAAgB,EAAE,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC;IAClE,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IAC/B,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAElE,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAEvD,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAElD,UAAU,EAAE,OAAO,CAAC;IAEpB,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,eAAO,MAAM,eAAe,sDAE3B,CAAC;AAEF,eAAO,MAAM,WAAW,uBAMvB,CAAC"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../../src/components/combobox/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,QAAQ,EAAc,MAAM,OAAO,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE7D,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEnC,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACnD,eAAe,EAAE,cAAc,CAAC;IAChC,kBAAkB,EAAE,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC;IACnE,aAAa,EAAE,eAAe,CAAC;IAC/B,gBAAgB,EAAE,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC;IAElE,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAEtD,UAAU,EAAE,OAAO,CAAC;IAEpB,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,eAAO,MAAM,eAAe,sDAE3B,CAAC;AAEF,eAAO,MAAM,WAAW,uBAMvB,CAAC"}
@@ -13,9 +13,4 @@ export interface ComboboxStyles {
13
13
  option?: Partial<Record<ComboboxOptionState, TextStyle>>;
14
14
  empty?: Partial<Record<ComboboxState, TextStyle>>;
15
15
  }
16
- export interface ComboboxOption {
17
- value: string;
18
- label: React.ReactNode;
19
- keywords?: string[];
20
- }
21
16
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/combobox/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,UAAU,CAAC;AACnD,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG,SAAS,CAAC;AAC7D,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG,SAAS,GAAG,UAAU,CAAC;AAEzE,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAClE,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC,CAAC;IAChE,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACxE,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACxE,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC,CAAC;IACzD,KAAK,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/combobox/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,UAAU,CAAC;AACnD,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG,SAAS,CAAC;AAC7D,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG,SAAS,GAAG,UAAU,CAAC;AAEzE,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAClE,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC,CAAC;IAChE,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACxE,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACxE,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC,CAAC;IACzD,KAAK,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC;CACnD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@korsolutions/ui",
3
- "version": "0.0.69",
3
+ "version": "0.0.71",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -32,7 +32,9 @@ interface AsyncAlertDialogInstance {
32
32
  // Global state
33
33
  const dialogQueue: AsyncAlertDialogInstance[] = [];
34
34
  let currentDialog: AsyncAlertDialogInstance | null = null;
35
- let setCurrentDialogFn: ((dialog: AsyncAlertDialogInstance | null) => void) | null = null;
35
+ let setCurrentDialogFn:
36
+ | ((dialog: AsyncAlertDialogInstance | null) => void)
37
+ | null = null;
36
38
 
37
39
  // Process next dialog in queue
38
40
  function processQueue() {
@@ -55,8 +57,17 @@ function closeDialog(confirmed: boolean) {
55
57
  }
56
58
 
57
59
  // Inner component that has access to the dialog context
58
- function AsyncAlertDialogContent({ instance }: { instance: AsyncAlertDialogInstance }) {
59
- const { title, description, actionLabel = "Continue", cancelLabel = "Cancel" } = instance.props;
60
+ function AsyncAlertDialogContent({
61
+ instance,
62
+ }: {
63
+ instance: AsyncAlertDialogInstance;
64
+ }) {
65
+ const {
66
+ title,
67
+ description,
68
+ actionLabel = "Continue",
69
+ cancelLabel = "Cancel",
70
+ } = instance.props;
60
71
  const { setIsOpen } = useAlertDialog();
61
72
 
62
73
  const handleAction = () => closeDialog(true);
@@ -74,8 +85,12 @@ function AsyncAlertDialogContent({ instance }: { instance: AsyncAlertDialogInsta
74
85
  <AlertDialogTitle>{title}</AlertDialogTitle>
75
86
  <AlertDialogDescription>{description}</AlertDialogDescription>
76
87
  <AlertDialogFooter>
77
- <AlertDialogCancel onPress={handleCancel}>{cancelLabel}</AlertDialogCancel>
78
- <AlertDialogAction onPress={handleAction}>{actionLabel}</AlertDialogAction>
88
+ <AlertDialogCancel onPress={handleCancel}>
89
+ {cancelLabel}
90
+ </AlertDialogCancel>
91
+ <AlertDialogAction onPress={handleAction}>
92
+ {actionLabel}
93
+ </AlertDialogAction>
79
94
  </AlertDialogFooter>
80
95
  </AlertDialogContent>
81
96
  </AlertDialogPortal>
@@ -83,7 +98,11 @@ function AsyncAlertDialogContent({ instance }: { instance: AsyncAlertDialogInsta
83
98
  }
84
99
 
85
100
  // Component that renders a single dialog instance
86
- function AsyncAlertDialogInstance({ instance }: { instance: AsyncAlertDialogInstance }) {
101
+ function AsyncAlertDialogInstance({
102
+ instance,
103
+ }: {
104
+ instance: AsyncAlertDialogInstance;
105
+ }) {
87
106
  return (
88
107
  <AlertDialogRoot {...instance.props}>
89
108
  <AsyncAlertDialogContent instance={instance} />
@@ -12,9 +12,12 @@ export function AlertDialogPortal(props: AlertDialogPortalProps) {
12
12
  if (!alertDialog.isOpen) {
13
13
  return null;
14
14
  }
15
+
15
16
  return (
16
17
  <Portal name="alert-dialog-content">
17
- <AlertDialogContext.Provider value={alertDialog}>{props.children}</AlertDialogContext.Provider>
18
+ <AlertDialogContext.Provider value={alertDialog}>
19
+ {props.children}
20
+ </AlertDialogContext.Provider>
18
21
  </Portal>
19
22
  );
20
23
  }
@@ -13,6 +13,7 @@ export const useAlertDialogVariantDefault = (): AlertDialogStyles => {
13
13
  backgroundColor: "rgba(0, 0, 0, 0.5)",
14
14
  justifyContent: "center",
15
15
  alignItems: "center",
16
+ zIndex: 999,
16
17
  },
17
18
  content: {
18
19
  backgroundColor: colors.background,
@@ -31,6 +32,7 @@ export const useAlertDialogVariantDefault = (): AlertDialogStyles => {
31
32
  transform: [{ translateX: "-50%" }, { translateY: "-50%" }],
32
33
  borderWidth: 1,
33
34
  borderColor: colors.border,
35
+ zIndex: 1000,
34
36
  },
35
37
  title: {
36
38
  fontSize: fontSize * 1.25,
@@ -4,24 +4,11 @@ import { useCombobox } from "../context";
4
4
 
5
5
  export interface ComboboxEmptyProps {
6
6
  children?: string;
7
- render: () => React.ReactNode;
8
7
  }
9
8
 
10
9
  export function ComboboxEmpty(props: ComboboxEmptyProps) {
11
10
  const combobox = useCombobox();
12
11
 
13
- const hasVisibleOptions = combobox.options.some((option) =>
14
- combobox.filter(option.value, combobox.searchQuery),
15
- );
16
-
17
- if (hasVisibleOptions) {
18
- return null;
19
- }
20
-
21
- if (props.render) {
22
- return <>{props.render()}</>;
23
- }
24
-
25
12
  const composedStyles = StyleSheet.flatten([
26
13
  combobox.styles.empty?.default,
27
14
  combobox.styles.empty?.[combobox.state],
@@ -1,4 +1,4 @@
1
- import React, { useEffect, useState } from "react";
1
+ import React, { useState } from "react";
2
2
  import { Pressable, StyleSheet, Text } from "react-native";
3
3
  import { useCombobox } from "../context";
4
4
  import type { ComboboxOptionState, ComboboxState } from "../types";
@@ -26,9 +26,7 @@ const calculateState = (
26
26
  return "default";
27
27
  };
28
28
 
29
- export function ComboboxOption(
30
- props: ComboboxOptionProps,
31
- ): React.ReactElement | null {
29
+ export function ComboboxOption(props: ComboboxOptionProps) {
32
30
  const [isHovered, setIsHovered] = useState(false);
33
31
  const combobox = useCombobox();
34
32
  const isSelected = combobox.value === props.value;
@@ -39,33 +37,16 @@ export function ComboboxOption(
39
37
  combobox.styles?.option?.[optionState],
40
38
  ]);
41
39
 
42
- useEffect(() => {
43
- combobox.setOptions((prev) => {
44
- if (prev.find((option) => option.value === props.value)) {
45
- return prev;
46
- }
47
- return [
48
- ...prev,
49
- {
50
- value: props.value,
51
- label: props.label ?? props.children,
52
- },
53
- ];
54
- });
55
- }, [props.value, props.label, props.children]);
56
-
57
- if (!combobox.filter(props.value, combobox.searchQuery)) {
58
- return null;
59
- }
60
-
61
40
  const Component = typeof props.children === "string" ? Text : Pressable;
62
41
 
63
42
  return (
64
43
  <Component
65
44
  onPress={() => {
66
- combobox.onChange?.(props.value);
45
+ const label =
46
+ props.label ??
47
+ (typeof props.children === "string" ? props.children : props.value);
48
+ combobox.onChange?.(label);
67
49
  combobox.setIsOpen(false);
68
- combobox.setSearchQuery("");
69
50
  }}
70
51
  onPointerEnter={() => {
71
52
  setIsHovered(true);
@@ -24,8 +24,8 @@ export function ComboboxOverlay(props: ComboboxOverlayProps) {
24
24
  return (
25
25
  <Pressable
26
26
  onPress={() => {
27
+ combobox.onChange?.(combobox.inputValue);
27
28
  combobox.setIsOpen(false);
28
- combobox.setSearchQuery("");
29
29
  }}
30
30
  pointerEvents="auto"
31
31
  style={[StyleSheet.absoluteFill, composedStyles]}
@@ -12,7 +12,7 @@ import {
12
12
  type LayoutPosition,
13
13
  } from "../../../hooks";
14
14
  import { ComboboxContext } from "../context";
15
- import type { ComboboxOption, ComboboxState } from "../types";
15
+ import type { ComboboxState } from "../types";
16
16
  import { ComboboxVariants } from "../variants";
17
17
 
18
18
  export interface ComboboxRootProps {
@@ -21,13 +21,8 @@ export interface ComboboxRootProps {
21
21
  value?: string;
22
22
  onChange?: (value: string) => void;
23
23
 
24
- /** Called when the search input text changes. Use for async/remote filtering. */
25
- onSearchChange?: (query: string) => void;
26
-
27
- /** Custom filter function. Receives option value and search query, returns whether to show the option.
28
- * Default: case-insensitive match against option label/keywords.
29
- * For async/remote filtering, pass `() => true` to show all options. */
30
- filter?: (value: string, query: string) => boolean;
24
+ /** Called when the text input value changes. Use this to filter options on the consumer side. */
25
+ onInputChange?: (text: string) => void;
31
26
 
32
27
  isDisabled?: boolean;
33
28
 
@@ -42,27 +37,6 @@ const calculateState = (props: ComboboxRootProps): ComboboxState => {
42
37
  return "default";
43
38
  };
44
39
 
45
- const defaultFilter = (
46
- value: string,
47
- query: string,
48
- options: Array<ComboboxOption>,
49
- ): boolean => {
50
- if (!query) return true;
51
- const lowerQuery = query.toLowerCase();
52
- const option = options.find((o) => o.value === value);
53
- if (!option) return true;
54
-
55
- if (option.keywords) {
56
- return option.keywords.some((kw) => kw.toLowerCase().includes(lowerQuery));
57
- }
58
-
59
- if (typeof option.label === "string") {
60
- return option.label.toLowerCase().includes(lowerQuery);
61
- }
62
-
63
- return true;
64
- };
65
-
66
40
  export function ComboboxRoot(props: ComboboxRootProps) {
67
41
  const variantStyles = ComboboxVariants[props.variant ?? "default"]();
68
42
 
@@ -71,37 +45,22 @@ export function ComboboxRoot(props: ComboboxRootProps) {
71
45
  useState<LayoutRectangle>(DEFAULT_LAYOUT);
72
46
  const [triggerPosition, setTriggerPosition] =
73
47
  useState<LayoutPosition>(DEFAULT_POSITION);
74
- const [options, setOptions] = useState<Array<ComboboxOption>>([]);
75
- const [searchQuery, setSearchQueryInternal] = useState("");
48
+ const [inputValue, setInputValueInternal] = useState("");
76
49
 
77
- const onSearchChangeRef = useRef(props.onSearchChange);
78
- onSearchChangeRef.current = props.onSearchChange;
50
+ const onInputChangeRef = useRef(props.onInputChange);
51
+ onInputChangeRef.current = props.onInputChange;
79
52
 
80
- const setSearchQuery: React.Dispatch<React.SetStateAction<string>> =
53
+ const setInputValue: React.Dispatch<React.SetStateAction<string>> =
81
54
  useCallback((action) => {
82
- setSearchQueryInternal((prev) => {
55
+ setInputValueInternal((prev) => {
83
56
  const next = typeof action === "function" ? action(prev) : action;
84
57
  if (next !== prev) {
85
- onSearchChangeRef.current?.(next);
58
+ onInputChangeRef.current?.(next);
86
59
  }
87
60
  return next;
88
61
  });
89
62
  }, []);
90
63
 
91
- const filterRef = useRef(props.filter);
92
- filterRef.current = props.filter;
93
-
94
- const optionsRef = useRef(options);
95
- optionsRef.current = options;
96
-
97
- const filter = useCallback(
98
- (value: string, query: string) =>
99
- filterRef.current
100
- ? filterRef.current(value, query)
101
- : defaultFilter(value, query, optionsRef.current),
102
- [],
103
- );
104
-
105
64
  const state = calculateState(props);
106
65
  const composedStyles = StyleSheet.flatten([
107
66
  variantStyles?.root?.default,
@@ -119,11 +78,8 @@ export function ComboboxRoot(props: ComboboxRootProps) {
119
78
  setTriggerPosition,
120
79
  contentLayout,
121
80
  setContentLayout,
122
- options,
123
- setOptions,
124
- searchQuery,
125
- setSearchQuery,
126
- filter,
81
+ inputValue,
82
+ setInputValue,
127
83
  state,
128
84
  isDisabled: props.isDisabled ?? false,
129
85
  styles: variantStyles,
@@ -134,10 +90,8 @@ export function ComboboxRoot(props: ComboboxRootProps) {
134
90
  isOpen,
135
91
  triggerPosition,
136
92
  contentLayout,
137
- options,
138
- searchQuery,
139
- setSearchQuery,
140
- filter,
93
+ inputValue,
94
+ setInputValue,
141
95
  state,
142
96
  props.isDisabled,
143
97
  variantStyles,
@@ -24,21 +24,14 @@ export function ComboboxTrigger(props: ComboboxTriggerProps) {
24
24
  const triggerRef = useRef<TextInputRef>(null);
25
25
 
26
26
  const triggerState = calculateState(combobox.isDisabled, combobox.isOpen);
27
- const selectedOption = combobox.options.find(
28
- (option) => option.value === combobox.value,
29
- );
30
27
 
31
28
  const displayValue = combobox.isOpen
32
- ? combobox.searchQuery
33
- : selectedOption
34
- ? typeof selectedOption.label === "string"
35
- ? selectedOption.label
36
- : selectedOption.value
37
- : "";
29
+ ? combobox.inputValue
30
+ : combobox.value ?? "";
38
31
 
39
32
  const open = () => {
40
33
  if (combobox.isDisabled) return;
41
- combobox.setSearchQuery("");
34
+ combobox.setInputValue(combobox.value ?? "");
42
35
  requestAnimationFrame(() => {
43
36
  measureLayoutPosition(triggerRef.current, (layout) => {
44
37
  combobox.setTriggerPosition(layout);
@@ -82,7 +75,7 @@ export function ComboboxTrigger(props: ComboboxTriggerProps) {
82
75
  onChange={undefined}
83
76
  onChangeText={(text) => {
84
77
  if (combobox.isDisabled) return;
85
- combobox.setSearchQuery(text);
78
+ combobox.setInputValue(text);
86
79
  if (!combobox.isOpen) {
87
80
  open();
88
81
  }
@@ -1,7 +1,7 @@
1
1
  import { createContext, type Dispatch, useContext } from "react";
2
2
  import type { LayoutRectangle } from "react-native";
3
3
  import type { LayoutPosition } from "../../hooks";
4
- import type { ComboboxOption, ComboboxState, ComboboxStyles } from "./types";
4
+ import type { ComboboxState, ComboboxStyles } from "./types";
5
5
 
6
6
  export interface ComboboxContext {
7
7
  value?: string;
@@ -13,13 +13,9 @@ export interface ComboboxContext {
13
13
  setTriggerPosition: Dispatch<React.SetStateAction<LayoutPosition>>;
14
14
  contentLayout: LayoutRectangle;
15
15
  setContentLayout: Dispatch<React.SetStateAction<LayoutRectangle>>;
16
- options: Array<ComboboxOption>;
17
- setOptions: Dispatch<React.SetStateAction<Array<ComboboxOption>>>;
18
16
 
19
- searchQuery: string;
20
- setSearchQuery: Dispatch<React.SetStateAction<string>>;
21
-
22
- filter: (value: string, query: string) => boolean;
17
+ inputValue: string;
18
+ setInputValue: Dispatch<React.SetStateAction<string>>;
23
19
 
24
20
  isDisabled: boolean;
25
21
 
@@ -15,9 +15,3 @@ export interface ComboboxStyles {
15
15
  option?: Partial<Record<ComboboxOptionState, TextStyle>>;
16
16
  empty?: Partial<Record<ComboboxState, TextStyle>>;
17
17
  }
18
-
19
- export interface ComboboxOption {
20
- value: string;
21
- label: React.ReactNode;
22
- keywords?: string[];
23
- }
package/nodemon.json DELETED
@@ -1,14 +0,0 @@
1
- {
2
- "watch": [
3
- "src"
4
- ],
5
- "ext": "ts,tsx",
6
- "ignore": [
7
- "dist",
8
- "node_modules",
9
- "scripts"
10
- ],
11
- "exec": "./scripts/build.sh",
12
- "restartable": "rs",
13
- "delay": 1000
14
- }