@studio-piot/native-ui 0.2.3 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/README.md +2 -1
  2. package/dist/components/ErrorBanner/ErrorBanner.d.ts +8 -0
  3. package/dist/components/ErrorBanner/ErrorBanner.d.ts.map +1 -0
  4. package/dist/components/ErrorBanner/ErrorBanner.js +136 -0
  5. package/dist/components/ErrorBanner/ErrorBanner.js.map +1 -0
  6. package/dist/components/ErrorBanner/errorBannerContext.d.ts +36 -0
  7. package/dist/components/ErrorBanner/errorBannerContext.d.ts.map +1 -0
  8. package/dist/components/ErrorBanner/errorBannerContext.js +78 -0
  9. package/dist/components/ErrorBanner/errorBannerContext.js.map +1 -0
  10. package/dist/components/ErrorBanner/errorBannerCopy.d.ts +7 -0
  11. package/dist/components/ErrorBanner/errorBannerCopy.d.ts.map +1 -0
  12. package/dist/components/ErrorBanner/errorBannerCopy.js +22 -0
  13. package/dist/components/ErrorBanner/errorBannerCopy.js.map +1 -0
  14. package/dist/components/ErrorBanner/errorBannerThemeRoles.d.ts +9 -0
  15. package/dist/components/ErrorBanner/errorBannerThemeRoles.d.ts.map +1 -0
  16. package/dist/components/ErrorBanner/errorBannerThemeRoles.js +11 -0
  17. package/dist/components/ErrorBanner/errorBannerThemeRoles.js.map +1 -0
  18. package/dist/components/ErrorBanner/icons.d.ts +7 -0
  19. package/dist/components/ErrorBanner/icons.d.ts.map +1 -0
  20. package/dist/components/ErrorBanner/icons.js +46 -0
  21. package/dist/components/ErrorBanner/icons.js.map +1 -0
  22. package/dist/components/ErrorBanner/index.d.ts +6 -0
  23. package/dist/components/ErrorBanner/index.d.ts.map +1 -0
  24. package/dist/components/ErrorBanner/index.js +16 -0
  25. package/dist/components/ErrorBanner/index.js.map +1 -0
  26. package/dist/components/ErrorBanner/types.d.ts +31 -0
  27. package/dist/components/ErrorBanner/types.d.ts.map +1 -0
  28. package/dist/components/ErrorBanner/types.js +3 -0
  29. package/dist/components/ErrorBanner/types.js.map +1 -0
  30. package/dist/components/ErrorBanner/useErrorBanner.d.ts +13 -0
  31. package/dist/components/ErrorBanner/useErrorBanner.d.ts.map +1 -0
  32. package/dist/components/ErrorBanner/useErrorBanner.js +31 -0
  33. package/dist/components/ErrorBanner/useErrorBanner.js.map +1 -0
  34. package/dist/components/Field/fieldChrome.d.ts +1 -1
  35. package/dist/components/Field/fieldChrome.d.ts.map +1 -1
  36. package/dist/components/Field/fieldChrome.js +20 -4
  37. package/dist/components/Field/fieldChrome.js.map +1 -1
  38. package/dist/components/Field/types.d.ts +2 -0
  39. package/dist/components/Field/types.d.ts.map +1 -1
  40. package/dist/components/Form/Form.d.ts +1 -1
  41. package/dist/components/Form/Form.d.ts.map +1 -1
  42. package/dist/components/Form/Form.js +36 -23
  43. package/dist/components/Form/Form.js.map +1 -1
  44. package/dist/components/Form/types.d.ts +7 -0
  45. package/dist/components/Form/types.d.ts.map +1 -1
  46. package/dist/components/RadioField/RadioField.d.ts.map +1 -1
  47. package/dist/components/RadioField/RadioField.js +6 -1
  48. package/dist/components/RadioField/RadioField.js.map +1 -1
  49. package/dist/components/SegmentedControl/SegmentedControl.d.ts +1 -1
  50. package/dist/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  51. package/dist/components/SegmentedControl/SegmentedControl.js +8 -8
  52. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
  53. package/dist/components/SegmentedControl/segmentThemeRoles.d.ts +5 -6
  54. package/dist/components/SegmentedControl/segmentThemeRoles.d.ts.map +1 -1
  55. package/dist/components/SegmentedControl/segmentThemeRoles.js +5 -6
  56. package/dist/components/SegmentedControl/segmentThemeRoles.js.map +1 -1
  57. package/dist/components/SegmentedControl/types.d.ts +0 -1
  58. package/dist/components/SegmentedControl/types.d.ts.map +1 -1
  59. package/dist/components/Select/Select.d.ts +1 -1
  60. package/dist/components/Select/Select.d.ts.map +1 -1
  61. package/dist/components/Select/Select.js +11 -4
  62. package/dist/components/Select/Select.js.map +1 -1
  63. package/dist/components/Select/types.d.ts +2 -0
  64. package/dist/components/Select/types.d.ts.map +1 -1
  65. package/dist/components/Slider/Slider.d.ts.map +1 -1
  66. package/dist/components/Slider/Slider.js +6 -1
  67. package/dist/components/Slider/Slider.js.map +1 -1
  68. package/dist/components/index.d.ts +1 -0
  69. package/dist/components/index.d.ts.map +1 -1
  70. package/dist/components/index.js +10 -1
  71. package/dist/components/index.js.map +1 -1
  72. package/dist/index.d.ts +2 -1
  73. package/dist/index.d.ts.map +1 -1
  74. package/dist/index.js +11 -2
  75. package/dist/index.js.map +1 -1
  76. package/docs/components/error-banner.md +85 -0
  77. package/docs/components/form.md +2 -1
  78. package/docs/components/segmented-control.md +23 -13
  79. package/package.json +4 -2
  80. package/src/components/ErrorBanner/ErrorBanner.tsx +232 -0
  81. package/src/components/ErrorBanner/errorBannerContext.tsx +140 -0
  82. package/src/components/ErrorBanner/errorBannerCopy.test.ts +41 -0
  83. package/src/components/ErrorBanner/errorBannerCopy.ts +22 -0
  84. package/src/components/ErrorBanner/errorBannerThemeRoles.test.ts +19 -0
  85. package/src/components/ErrorBanner/errorBannerThemeRoles.ts +9 -0
  86. package/src/components/ErrorBanner/icons.tsx +38 -0
  87. package/src/components/ErrorBanner/index.ts +14 -0
  88. package/src/components/ErrorBanner/types.ts +31 -0
  89. package/src/components/ErrorBanner/useErrorBanner.ts +33 -0
  90. package/src/components/Field/fieldChrome.tsx +33 -7
  91. package/src/components/Field/types.ts +2 -0
  92. package/src/components/Form/Form.tsx +56 -2
  93. package/src/components/Form/types.ts +7 -0
  94. package/src/components/RadioField/RadioField.tsx +6 -1
  95. package/src/components/SegmentedControl/SegmentedControl.tsx +7 -11
  96. package/src/components/SegmentedControl/segmentThemeRoles.test.ts +9 -7
  97. package/src/components/SegmentedControl/segmentThemeRoles.ts +5 -6
  98. package/src/components/SegmentedControl/types.ts +0 -1
  99. package/src/components/Select/Select.tsx +20 -5
  100. package/src/components/Select/types.ts +2 -0
  101. package/src/components/Slider/Slider.tsx +6 -1
  102. package/src/components/index.ts +13 -0
  103. package/src/index.ts +14 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/components/Select/Select.tsx"],"names":[],"mappings":";;AA2CA,wBA0QC;;AArTD,iCAMe;AACf,+CAOsB;AACtB,uDAO8B;AAC9B,+DAAyD;AACzD,yDAA2D;AAC3D,0EAAuE;AACvE,6DAA0D;AAC1D,yEAAoE;AACpE,2DAAwD;AACxD,yDAAwD;AAGxD,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAC9B,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAE5B,oEAAoE;AACpE,SAAS,cAAc,CAAC,EAAE,QAAQ,EAA4B;IAC5D,IAAI,uBAAQ,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;QAC1B,OAAO,uBAAC,wCAAiB,cAAE,QAAQ,GAAqB,CAAC;IAC3D,CAAC;IACD,OAAO,2DAAG,QAAQ,GAAI,CAAC;AACzB,CAAC;AAED,SAAgB,MAAM,CAAC,EACrB,KAAK,EACL,QAAQ,EACR,OAAO,EACP,WAAW,GAAG,kBAAkB,EAChC,KAAK,EACL,WAAW,EACX,KAAK,EACL,UAAU,EACV,WAAW;AACX,4GAA4G;AAC5G,OAAO,GAAG,CAAC,GAAG,iDAAsB,CAAC,EACrC,aAAa,EAAE,cAAc,EAC7B,MAAM,GAAG,IAAI,EACb,QAAQ,GAAG,IAAI,EACf,eAAe,EAAE,mBAAmB,EACpC,SAAS,EAAE,aAAa,EACxB,gBAAgB,EAAE,oBAAoB,EACtC,UAAU,EAAE,cAAc,EAC1B,gBAAgB,EAAE,oBAAoB,EACtC,WAAW,EAAE,eAAe,EAC5B,UAAU,EAAE,cAAc,EAC1B,aAAa,EAAE,iBAAiB,EAChC,KAAK,GACO;IACZ,MAAM,QAAQ,GAAG,IAAA,cAAM,EAAsC,IAAI,CAAC,CAAC;IACnE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAA,kCAAmB,GAAE,CAAC;IAEvD,MAAM,eAAe,GAAG,IAAA,6CAAqB,EAC3C,mBAAmB,EACnB,qCAAkB,CAAC,eAAe,CACnC,CAAC;IACF,MAAM,SAAS,GAAG,IAAA,6CAAqB,EACrC,aAAa,EACb,qCAAkB,CAAC,SAAS,CAC7B,CAAC;IACF,MAAM,gBAAgB,GAAG,IAAA,6CAAqB,EAC5C,oBAAoB,EACpB,qCAAkB,CAAC,gBAAgB,CACpC,CAAC;IACF,MAAM,UAAU,GAAG,IAAA,6CAAqB,EACtC,cAAc,EACd,qCAAkB,CAAC,UAAU,CAC9B,CAAC;IACF,MAAM,gBAAgB,GAAG,IAAA,6CAAqB,EAC5C,oBAAoB,EACpB,qCAAkB,CAAC,gBAAgB,CACpC,CAAC;IACF,MAAM,WAAW,GAAG,IAAA,6CAAqB,EACvC,eAAe,EACf,qCAAkB,CAAC,WAAW,CAC/B,CAAC;IACF,MAAM,UAAU,GAAG,IAAA,6CAAqB,EACtC,cAAc,EACd,qCAAkB,CAAC,UAAU,CAC9B,CAAC;IACF,MAAM,aAAa,GAAG,IAAA,6CAAqB,EACzC,iBAAiB,EACjB,qCAAkB,CAAC,aAAa,CACjC,CAAC;IACF,iFAAiF;IACjF,MAAM,cAAc,GAAG,IAAA,6BAAa,EAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,cAAc,GAAG,IAAA,6BAAa,EAAC,YAAY,CAAC,CAAC;IAEnD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAChC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,QAAQ,EAAE,KAAK,IAAI,WAAW,CAAC;IAC/C,MAAM,aAAa,GAAG,QAAQ,IAAI,IAAI,CAAC;IACvC,MAAM,YAAY,GAAG,IAAA,gCAAiB,EAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,UAAU,IAAI,KAAK,IAAI,QAAQ,CAAC;IAE9C,MAAM,qBAAqB,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,EAAE,IAAI,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;IAC9C,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;IAE5B,MAAM,OAAO,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QAC/B,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;IAC9B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,OAAO,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QAC/B,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;IAC9B,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,cAAc,GAAG,IAAA,mBAAW,EAChC,CAAC,KAA+B,EAAE,EAAE,CAAC,CACnC,uBAAC,kCAAmB,OACd,KAAK,EACT,cAAc,EAAE,CAAC,EACjB,iBAAiB,EAAE,CAAC,CAAC,EACrB,OAAO,EAAE,gBAAgB,EACzB,aAAa,EAAC,OAAO,GACrB,CACH,EACD,EAAE,CACH,CAAC;IAEF,MAAM,aAAa,GACjB,OAAO,WAAW,KAAK,UAAU;QAC/B,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC;QACtB,CAAC,CAAC,CAAC,WAAW,IAAI,CACd,uBAAC,qCAAiB,IAChB,eAAe,EAAE,cAAc,EAC/B,SAAS,EAAE,cAAc,EACzB,OAAO,EAAE,OAAO,GAChB,CACH,CAAC,CAAC;IAET,qEAAqE;IACrE,MAAM,YAAY,GAAG,IAAA,mBAAW,EAC9B,CAAC,KAA6B,EAAE,EAAE,CAAC,CACjC,wBAAC,mBAAI,IACH,KAAK,EAAE;YACL,MAAM,CAAC,UAAU;YACjB;gBACE,eAAe;gBACf,mBAAmB,EAAE,gBAAgB;gBACrC,oBAAoB,EAAE,gBAAgB;aACvC;SACF,aAED,uBAAC,gCAAiB,OACZ,KAAK,EACT,cAAc,EAAE;oBACd,eAAe,EAAE,gBAAgB;oBACjC,OAAO,EAAE,GAAG;iBACb,GACD,EACF,wBAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,aACxB,uBAAC,mBAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,YAC5D,KAAK,GACD,EACN,aAAa,IACT,EACP,uBAAC,mBAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC,GAAI,IACpE,CACR,EACD;QACE,eAAe;QACf,WAAW;QACX,gBAAgB;QAChB,aAAa;QACb,SAAS;QACT,KAAK;KACN,CACF,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,MAAoB,EAAE,EAAE;QACxC,IAAI,MAAM,CAAC,QAAQ;YAAE,OAAO;QAC5B,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,OAAO,CACL,wBAAC,mBAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,aAC7D,KAAK,CAAC,CAAC,CAAC,CACP,uBAAC,mBAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,YAAG,KAAK,GAAQ,CACnE,CAAC,CAAC,CAAC,IAAI,EACR,wBAAC,wBAAS,IACR,iBAAiB,EAAC,yBAAyB,EAC3C,kBAAkB,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,EAC5D,iBAAiB,EAAC,QAAQ,EAC1B,kBAAkB,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAC3C,QAAQ,EAAE,CAAC,QAAQ,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE;oBACL,MAAM,CAAC,OAAO;oBACd;wBACE,eAAe;wBACf,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW;wBAChD,YAAY;qBACb;iBACF,aAED,uBAAC,mBAAI,IACH,aAAa,EAAE,CAAC,EAChB,KAAK,EAAE;4BACL,MAAM,CAAC,WAAW;4BAClB,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE;yBACjE,YAEA,OAAO,GACH,EACP,uBAAC,mBAAI,IACH,2BAA2B,QAC3B,yBAAyB,EAAC,IAAI,EAC9B,KAAK,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,uBAG/C,IACG,EACX,KAAK,CAAC,CAAC,CAAC,CACP,uBAAC,mBAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,YAAG,KAAK,GAAQ,CACpE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAChB,uBAAC,mBAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,YACtD,WAAW,GACP,CACR,CAAC,CAAC,CAAC,IAAI,EAER,uBAAC,+BAAgB,IACf,GAAG,EAAE,QAAQ,EACb,iBAAiB,EAAE,cAAc,EACjC,eAAe,EAAE;oBACf,eAAe;oBACf,mBAAmB,EAAE,gBAAgB;oBACrC,oBAAoB,EAAE,gBAAgB;iBACvC,EACD,kBAAkB,EAAE,cAAc,EAClC,mBAAmB,QACnB,oBAAoB,QACpB,eAAe,EAAE,YAAY,EAC7B,WAAW,EAAE,MAAM,CAAC,WAAW,EAC/B,qBAAqB,EAAE,qBAAqB,EAC5C,aAAa,EAAC,MAAM,YAEpB,uBAAC,oCAAqB,IACpB,qBAAqB,EAAE,MAAM,CAAC,YAAY,EAC1C,4BAA4B,EAAE,KAAK,YAElC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACtB,uBAAC,mBAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,2BAEjD,CACR,CAAC,CAAC,CAAC,CACF,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;wBACrB,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC;wBAC1C,OAAO,CACL,wBAAC,wBAAS,IAER,iBAAiB,EAAC,QAAQ,EAC1B,kBAAkB,EAAE;gCAClB,QAAQ,EAAE,UAAU;gCACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ;6BAC5B,EACD,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC/B,KAAK,EAAE;gCACL,MAAM,CAAC,MAAM;gCACb,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,aAAa;6BACxC,aAED,uBAAC,mBAAI,IACH,KAAK,EAAE;wCACL,MAAM,CAAC,WAAW;wCAClB;4CACE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;4CAC7C,IAAI,EAAE,CAAC;yCACR;qCACF,YAEA,MAAM,CAAC,KAAK,GACR,EACN,UAAU,CAAC,CAAC,CAAC,CACZ,uBAAC,mBAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,uBAE9C,CACR,CAAC,CAAC,CAAC,IAAI,KA5BH,MAAM,CAAC,KAAK,CA6BP,CACb,CAAC;oBACJ,CAAC,CAAC,CACH,GACqB,GACP,IACd,CACR,CAAC;AACJ,CAAC;AAED,MAAM,MAAM,GAAG,yBAAU,CAAC,MAAM,CAAC;IAC/B,MAAM,EAAE;QACN,KAAK,EAAE,MAAM;QACb,GAAG,EAAE,CAAC;KACP;IACD,OAAO,EAAE;QACP,OAAO,EAAE,GAAG;KACb;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,KAAK;KAClB;IACD,OAAO,EAAE;QACP,SAAS,EAAE,EAAE;QACb,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,CAAC;QACd,iBAAiB,EAAE,EAAE;QACrB,eAAe,EAAE,EAAE;QACnB,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,QAAQ;QACpB,GAAG,EAAE,CAAC;KACP;IACD,WAAW,EAAE;QACX,QAAQ,EAAE,EAAE;KACb;IACD,OAAO,EAAE;QACP,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;KACjC;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,EAAE;KACb;IACD,WAAW,EAAE;QACX,aAAa,EAAE,CAAC;KACjB;IACD,UAAU,EAAE;QACV,QAAQ,EAAE,QAAQ;KACnB;IACD,YAAY,EAAE;QACZ,aAAa,EAAE,EAAE;KAClB;IACD,MAAM,EAAE;QACN,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,QAAQ;QACpB,GAAG,EAAE,EAAE;QACP,iBAAiB,EAAE,EAAE;QACrB,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,EAAE;KAClB;IACD,aAAa,EAAE;QACb,MAAM,EAAE,yBAAU,CAAC,aAAa;KACjC;IACD,UAAU,EAAE;QACV,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,KAAK;KAClB;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,EAAE;QACZ,iBAAiB,EAAE,EAAE;QACrB,eAAe,EAAE,EAAE;KACpB;IACD,MAAM,EAAE;QACN,SAAS,EAAE,EAAE;QACb,iBAAiB,EAAE,EAAE;QACrB,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,QAAQ;QACpB,GAAG,EAAE,EAAE;KACR;IACD,aAAa,EAAE;QACb,OAAO,EAAE,GAAG;KACb;IACD,WAAW,EAAE;QACX,QAAQ,EAAE,EAAE;KACb;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,KAAK;KAClB;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/components/Select/Select.tsx"],"names":[],"mappings":"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"}
@@ -8,6 +8,8 @@ export type SelectOption = {
8
8
  };
9
9
  export type SelectCloseButton = ReactNode | ((dismiss: () => void) => ReactNode);
10
10
  export type SelectProps = {
11
+ /** Registers the field with `Form` / `ErrorBannerProvider` for banner rows. */
12
+ name?: string;
11
13
  value: string | null;
12
14
  onChange: (value: string) => void;
13
15
  options: SelectOption[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/Select/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GACzB,SAAS,GACT,CAAC,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,SAAS,CAAC,CAAC;AAEzC,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6FAA6F;IAC7F,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,yHAAyH;IACzH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,iFAAiF;IACjF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/Select/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GACzB,SAAS,GACT,CAAC,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,SAAS,CAAC,CAAC;AAEzC,MAAM,MAAM,WAAW,GAAG;IACxB,+EAA+E;IAC/E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6FAA6F;IAC7F,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,yHAAyH;IACzH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,iFAAiF;IACjF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.d.ts","sourceRoot":"","sources":["../../../src/components/Slider/Slider.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,wBAAgB,MAAM,CAAC,EACrB,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,IAAI,EACJ,KAAK,EACL,WAAoB,EACpB,QAAgB,EAChB,UAAU,EAAE,cAAc,EAC1B,UAAU,EAAE,cAAc,EAC1B,cAAc,EAAE,kBAAkB,EAClC,UAAU,EAAE,cAAc,EAC1B,KAAK,GACN,EAAE,WAAW,+BAgDb"}
1
+ {"version":3,"file":"Slider.d.ts","sourceRoot":"","sources":["../../../src/components/Slider/Slider.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,wBAAgB,MAAM,CAAC,EACrB,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,IAAI,EACJ,KAAK,EACL,WAAoB,EACpB,QAAgB,EAChB,UAAU,EAAE,cAAc,EAC1B,UAAU,EAAE,cAAc,EAC1B,cAAc,EAAE,kBAAkB,EAClC,UAAU,EAAE,cAAc,EAC1B,KAAK,GACN,EAAE,WAAW,+BAoDb"}
@@ -7,6 +7,7 @@ exports.Slider = Slider;
7
7
  const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const react_native_1 = require("react-native");
9
9
  const slider_1 = __importDefault(require("@react-native-community/slider"));
10
+ const ErrorBanner_1 = require("../ErrorBanner");
10
11
  const useResolvedFieldColor_1 = require("../Field/useResolvedFieldColor");
11
12
  const sliderThemeRoles_1 = require("./sliderThemeRoles");
12
13
  function Slider({ value, onChange, minimumValue, maximumValue, step, label, formatValue = String, disabled = false, labelColor: labelColorProp, valueColor: valueColorProp, highlightColor: highlightColorProp, trackColor: trackColorProp, style, }) {
@@ -14,9 +15,13 @@ function Slider({ value, onChange, minimumValue, maximumValue, step, label, form
14
15
  const valueColor = (0, useResolvedFieldColor_1.useResolvedFieldColor)(valueColorProp, sliderThemeRoles_1.SLIDER_THEME_ROLES.valueColor);
15
16
  const highlightColor = (0, useResolvedFieldColor_1.useResolvedFieldColor)(highlightColorProp, sliderThemeRoles_1.SLIDER_THEME_ROLES.highlightColor);
16
17
  const trackColor = (0, useResolvedFieldColor_1.useResolvedFieldColor)(trackColorProp, sliderThemeRoles_1.SLIDER_THEME_ROLES.trackColor);
18
+ const dismissBanner = (0, ErrorBanner_1.useErrorBannerDismiss)();
17
19
  const display = formatValue(value);
18
20
  const accessibilityLabel = label ? `${label}. ${display}` : display;
19
- return ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: [styles.column, disabled && styles.blocked, style], children: [(0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.header, children: [label ? ((0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [styles.label, { color: labelColor, flex: 1 }], children: label })) : ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: { flex: 1 } })), (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [styles.value, { color: valueColor }], children: display })] }), (0, jsx_runtime_1.jsx)(slider_1.default, { accessibilityLabel: accessibilityLabel, disabled: disabled, maximumTrackTintColor: trackColor, maximumValue: maximumValue, minimumTrackTintColor: highlightColor, minimumValue: minimumValue, onValueChange: onChange, step: step, style: styles.track, thumbTintColor: highlightColor, value: value })] }));
21
+ return ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: [styles.column, disabled && styles.blocked, style], children: [(0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.header, children: [label ? ((0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [styles.label, { color: labelColor, flex: 1 }], children: label })) : ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: { flex: 1 } })), (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [styles.value, { color: valueColor }], children: display })] }), (0, jsx_runtime_1.jsx)(slider_1.default, { accessibilityLabel: accessibilityLabel, disabled: disabled, maximumTrackTintColor: trackColor, maximumValue: maximumValue, minimumTrackTintColor: highlightColor, minimumValue: minimumValue, onValueChange: (next) => {
22
+ onChange(next);
23
+ dismissBanner();
24
+ }, step: step, style: styles.track, thumbTintColor: highlightColor, value: value })] }));
20
25
  }
21
26
  const styles = react_native_1.StyleSheet.create({
22
27
  column: {
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.js","sourceRoot":"","sources":["../../../src/components/Slider/Slider.tsx"],"names":[],"mappings":";;;;;AAMA,wBA8DC;;AApED,+CAAsD;AACtD,4EAA6D;AAC7D,0EAAuE;AACvE,yDAAwD;AAGxD,SAAgB,MAAM,CAAC,EACrB,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,IAAI,EACJ,KAAK,EACL,WAAW,GAAG,MAAM,EACpB,QAAQ,GAAG,KAAK,EAChB,UAAU,EAAE,cAAc,EAC1B,UAAU,EAAE,cAAc,EAC1B,cAAc,EAAE,kBAAkB,EAClC,UAAU,EAAE,cAAc,EAC1B,KAAK,GACO;IACZ,MAAM,UAAU,GAAG,IAAA,6CAAqB,EACtC,cAAc,EACd,qCAAkB,CAAC,UAAU,CAC9B,CAAC;IACF,MAAM,UAAU,GAAG,IAAA,6CAAqB,EACtC,cAAc,EACd,qCAAkB,CAAC,UAAU,CAC9B,CAAC;IACF,MAAM,cAAc,GAAG,IAAA,6CAAqB,EAC1C,kBAAkB,EAClB,qCAAkB,CAAC,cAAc,CAClC,CAAC;IACF,MAAM,UAAU,GAAG,IAAA,6CAAqB,EACtC,cAAc,EACd,qCAAkB,CAAC,UAAU,CAC9B,CAAC;IAEF,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,kBAAkB,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IAEpE,OAAO,CACL,wBAAC,mBAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,aAC7D,wBAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,aACvB,KAAK,CAAC,CAAC,CAAC,CACP,uBAAC,mBAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,YACxD,KAAK,GACD,CACR,CAAC,CAAC,CAAC,CACF,uBAAC,mBAAI,IAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAI,CAC7B,EACD,uBAAC,mBAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,YAAG,OAAO,GAAQ,IAC/D,EACP,uBAAC,gBAAe,IACd,kBAAkB,EAAE,kBAAkB,EACtC,QAAQ,EAAE,QAAQ,EAClB,qBAAqB,EAAE,UAAU,EACjC,YAAY,EAAE,YAAY,EAC1B,qBAAqB,EAAE,cAAc,EACrC,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,QAAQ,EACvB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAE,KAAK,GACZ,IACG,CACR,CAAC;AACJ,CAAC;AAED,MAAM,MAAM,GAAG,yBAAU,CAAC,MAAM,CAAC;IAC/B,MAAM,EAAE;QACN,KAAK,EAAE,MAAM;QACb,GAAG,EAAE,CAAC;KACP;IACD,OAAO,EAAE;QACP,OAAO,EAAE,GAAG;KACb;IACD,MAAM,EAAE;QACN,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,QAAQ;QACpB,GAAG,EAAE,EAAE;KACR;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,KAAK;KAClB;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,EAAE;KACb;IACD,KAAK,EAAE;QACL,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,EAAE;KACX;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"Slider.js","sourceRoot":"","sources":["../../../src/components/Slider/Slider.tsx"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ export { Button, type ButtonProps, buttonRadiusValue, type ButtonRadius, } from
2
2
  export { LinkBlocks, filterLinkBlockGroups, type LinkBlockGroup, type LinkBlockItem, type LinkBlocksProps, } from "./LinkBlocks";
3
3
  export { FieldText, FieldTextarea, FIELD_THEME_ROLES, type FieldThemeColorProp, type FieldSharedProps, type FieldTextProps, type FieldTextareaProps, } from "./Field";
4
4
  export { Form, FormCloseButton, type FormProps } from "./Form";
5
+ export { ErrorBanner, ErrorBannerField, ErrorBannerProvider, ERROR_BANNER_THEME_ROLES, useErrorBanner, useErrorBannerContext, useErrorBannerDismiss, useErrorBannerField, type ErrorBannerThemeColorProp, type ErrorBannerProps, type FieldError, } from "./ErrorBanner";
5
6
  export { RadioField, RADIO_THEME_ROLES, type RadioThemeColorProp, type RadioOption, type RadioFieldProps, } from "./RadioField";
6
7
  export { Select, SelectCloseButton, SELECT_THEME_ROLES, DEFAULT_SELECT_DETENTS, DEFAULT_SELECT_INITIAL_DETENT, detentsToSnapPoints, resolveSelectDetentIndex, type SelectThemeColorProp, type SelectCloseButtonSlot, type SelectOption, type SelectProps, } from "./Select";
7
8
  export { SegmentedControl, SEGMENTED_THEME_ROLES, type SegmentedThemeColorProp, type SegmentedOption, type SegmentedControlProps, } from "./SegmentedControl";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,KAAK,WAAW,EAChB,iBAAiB,EACjB,KAAK,YAAY,GAClB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,eAAe,GACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,kBAAkB,GACxB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC/D,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,eAAe,GACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,MAAM,EACN,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,6BAA6B,EAC7B,mBAAmB,EACnB,wBAAwB,EACxB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EACjB,KAAK,WAAW,GACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACpB,KAAK,qBAAqB,GAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,MAAM,EACN,kBAAkB,EAClB,KAAK,oBAAoB,EACzB,KAAK,WAAW,GACjB,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,KAAK,WAAW,EAChB,iBAAiB,EACjB,KAAK,YAAY,GAClB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,eAAe,GACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,kBAAkB,GACxB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC/D,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,wBAAwB,EACxB,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EACrB,KAAK,UAAU,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,eAAe,GACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,MAAM,EACN,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,6BAA6B,EAC7B,mBAAmB,EACnB,wBAAwB,EACxB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EACjB,KAAK,WAAW,GACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACpB,KAAK,qBAAqB,GAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,MAAM,EACN,kBAAkB,EAClB,KAAK,oBAAoB,EACzB,KAAK,WAAW,GACjB,MAAM,UAAU,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SLIDER_THEME_ROLES = exports.Slider = exports.SEGMENTED_THEME_ROLES = exports.SegmentedControl = exports.resolveSelectDetentIndex = exports.detentsToSnapPoints = exports.DEFAULT_SELECT_INITIAL_DETENT = exports.DEFAULT_SELECT_DETENTS = exports.SELECT_THEME_ROLES = exports.SelectCloseButton = exports.Select = exports.RADIO_THEME_ROLES = exports.RadioField = exports.FormCloseButton = exports.Form = exports.FIELD_THEME_ROLES = exports.FieldTextarea = exports.FieldText = exports.filterLinkBlockGroups = exports.LinkBlocks = exports.buttonRadiusValue = exports.Button = void 0;
3
+ exports.SLIDER_THEME_ROLES = exports.Slider = exports.SEGMENTED_THEME_ROLES = exports.SegmentedControl = exports.resolveSelectDetentIndex = exports.detentsToSnapPoints = exports.DEFAULT_SELECT_INITIAL_DETENT = exports.DEFAULT_SELECT_DETENTS = exports.SELECT_THEME_ROLES = exports.SelectCloseButton = exports.Select = exports.RADIO_THEME_ROLES = exports.RadioField = exports.useErrorBannerField = exports.useErrorBannerDismiss = exports.useErrorBannerContext = exports.useErrorBanner = exports.ERROR_BANNER_THEME_ROLES = exports.ErrorBannerProvider = exports.ErrorBannerField = exports.ErrorBanner = exports.FormCloseButton = exports.Form = exports.FIELD_THEME_ROLES = exports.FieldTextarea = exports.FieldText = exports.filterLinkBlockGroups = exports.LinkBlocks = exports.buttonRadiusValue = exports.Button = void 0;
4
4
  var Button_1 = require("./Button");
5
5
  Object.defineProperty(exports, "Button", { enumerable: true, get: function () { return Button_1.Button; } });
6
6
  Object.defineProperty(exports, "buttonRadiusValue", { enumerable: true, get: function () { return Button_1.buttonRadiusValue; } });
@@ -14,6 +14,15 @@ Object.defineProperty(exports, "FIELD_THEME_ROLES", { enumerable: true, get: fun
14
14
  var Form_1 = require("./Form");
15
15
  Object.defineProperty(exports, "Form", { enumerable: true, get: function () { return Form_1.Form; } });
16
16
  Object.defineProperty(exports, "FormCloseButton", { enumerable: true, get: function () { return Form_1.FormCloseButton; } });
17
+ var ErrorBanner_1 = require("./ErrorBanner");
18
+ Object.defineProperty(exports, "ErrorBanner", { enumerable: true, get: function () { return ErrorBanner_1.ErrorBanner; } });
19
+ Object.defineProperty(exports, "ErrorBannerField", { enumerable: true, get: function () { return ErrorBanner_1.ErrorBannerField; } });
20
+ Object.defineProperty(exports, "ErrorBannerProvider", { enumerable: true, get: function () { return ErrorBanner_1.ErrorBannerProvider; } });
21
+ Object.defineProperty(exports, "ERROR_BANNER_THEME_ROLES", { enumerable: true, get: function () { return ErrorBanner_1.ERROR_BANNER_THEME_ROLES; } });
22
+ Object.defineProperty(exports, "useErrorBanner", { enumerable: true, get: function () { return ErrorBanner_1.useErrorBanner; } });
23
+ Object.defineProperty(exports, "useErrorBannerContext", { enumerable: true, get: function () { return ErrorBanner_1.useErrorBannerContext; } });
24
+ Object.defineProperty(exports, "useErrorBannerDismiss", { enumerable: true, get: function () { return ErrorBanner_1.useErrorBannerDismiss; } });
25
+ Object.defineProperty(exports, "useErrorBannerField", { enumerable: true, get: function () { return ErrorBanner_1.useErrorBannerField; } });
17
26
  var RadioField_1 = require("./RadioField");
18
27
  Object.defineProperty(exports, "RadioField", { enumerable: true, get: function () { return RadioField_1.RadioField; } });
19
28
  Object.defineProperty(exports, "RADIO_THEME_ROLES", { enumerable: true, get: function () { return RadioField_1.RADIO_THEME_ROLES; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":";;;AAAA,mCAKkB;AAJhB,gGAAA,MAAM,OAAA;AAEN,2GAAA,iBAAiB,OAAA;AAGnB,2CAMsB;AALpB,wGAAA,UAAU,OAAA;AACV,mHAAA,qBAAqB,OAAA;AAKvB,iCAQiB;AAPf,kGAAA,SAAS,OAAA;AACT,sGAAA,aAAa,OAAA;AACb,0GAAA,iBAAiB,OAAA;AAMnB,+BAA+D;AAAtD,4FAAA,IAAI,OAAA;AAAE,uGAAA,eAAe,OAAA;AAC9B,2CAMsB;AALpB,wGAAA,UAAU,OAAA;AACV,+GAAA,iBAAiB,OAAA;AAKnB,mCAYkB;AAXhB,gGAAA,MAAM,OAAA;AACN,2GAAA,iBAAiB,OAAA;AACjB,4GAAA,kBAAkB,OAAA;AAClB,gHAAA,sBAAsB,OAAA;AACtB,uHAAA,6BAA6B,OAAA;AAC7B,6GAAA,mBAAmB,OAAA;AACnB,kHAAA,wBAAwB,OAAA;AAM1B,uDAM4B;AAL1B,oHAAA,gBAAgB,OAAA;AAChB,yHAAA,qBAAqB,OAAA;AAKvB,mCAKkB;AAJhB,gGAAA,MAAM,OAAA;AACN,4GAAA,kBAAkB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":";;;AAAA,mCAKkB;AAJhB,gGAAA,MAAM,OAAA;AAEN,2GAAA,iBAAiB,OAAA;AAGnB,2CAMsB;AALpB,wGAAA,UAAU,OAAA;AACV,mHAAA,qBAAqB,OAAA;AAKvB,iCAQiB;AAPf,kGAAA,SAAS,OAAA;AACT,sGAAA,aAAa,OAAA;AACb,0GAAA,iBAAiB,OAAA;AAMnB,+BAA+D;AAAtD,4FAAA,IAAI,OAAA;AAAE,uGAAA,eAAe,OAAA;AAC9B,6CAYuB;AAXrB,0GAAA,WAAW,OAAA;AACX,+GAAA,gBAAgB,OAAA;AAChB,kHAAA,mBAAmB,OAAA;AACnB,uHAAA,wBAAwB,OAAA;AACxB,6GAAA,cAAc,OAAA;AACd,oHAAA,qBAAqB,OAAA;AACrB,oHAAA,qBAAqB,OAAA;AACrB,kHAAA,mBAAmB,OAAA;AAKrB,2CAMsB;AALpB,wGAAA,UAAU,OAAA;AACV,+GAAA,iBAAiB,OAAA;AAKnB,mCAYkB;AAXhB,gGAAA,MAAM,OAAA;AACN,2GAAA,iBAAiB,OAAA;AACjB,4GAAA,kBAAkB,OAAA;AAClB,gHAAA,sBAAsB,OAAA;AACtB,uHAAA,6BAA6B,OAAA;AAC7B,6GAAA,mBAAmB,OAAA;AACnB,kHAAA,wBAAwB,OAAA;AAM1B,uDAM4B;AAL1B,oHAAA,gBAAgB,OAAA;AAChB,yHAAA,qBAAqB,OAAA;AAKvB,mCAKkB;AAJhB,gGAAA,MAAM,OAAA;AACN,4GAAA,kBAAkB,OAAA"}
package/dist/index.d.ts CHANGED
@@ -1,9 +1,10 @@
1
- export declare const version = "0.2.3";
1
+ export declare const version = "0.2.5";
2
2
  export * from "./theme";
3
3
  export { Button, type ButtonProps, buttonRadiusValue, type ButtonRadius, } from "./components/Button";
4
4
  export { LinkBlocks, filterLinkBlockGroups, type LinkBlockGroup, type LinkBlockItem, type LinkBlocksProps, } from "./components/LinkBlocks";
5
5
  export { FieldText, FieldTextarea, FIELD_THEME_ROLES, type FieldThemeColorProp, type FieldSharedProps, type FieldTextProps, type FieldTextareaProps, } from "./components/Field";
6
6
  export { Form, FormCloseButton, type FormProps, } from "./components/Form";
7
+ export { ErrorBanner, ErrorBannerField, ErrorBannerProvider, ERROR_BANNER_THEME_ROLES, useErrorBanner, useErrorBannerContext, useErrorBannerDismiss, useErrorBannerField, type ErrorBannerThemeColorProp, type ErrorBannerProps, type FieldError, } from "./components/ErrorBanner";
7
8
  export { RadioField, RADIO_THEME_ROLES, type RadioThemeColorProp, type RadioOption, type RadioFieldProps, } from "./components/RadioField";
8
9
  export { Select, SelectCloseButton, SELECT_THEME_ROLES, DEFAULT_SELECT_DETENTS, DEFAULT_SELECT_INITIAL_DETENT, detentsToSnapPoints, resolveSelectDetentIndex, type SelectThemeColorProp, type SelectCloseButtonSlot, type SelectOption, type SelectProps, } from "./components/Select";
9
10
  export { SegmentedControl, SEGMENTED_THEME_ROLES, type SegmentedThemeColorProp, type SegmentedOption, type SegmentedControlProps, } from "./components/SegmentedControl";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAC;AAE/B,cAAc,SAAS,CAAC;AACxB,OAAO,EACL,MAAM,EACN,KAAK,WAAW,EAChB,iBAAiB,EACjB,KAAK,YAAY,GAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,eAAe,GACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,kBAAkB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,IAAI,EACJ,eAAe,EACf,KAAK,SAAS,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,eAAe,GACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,MAAM,EACN,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,6BAA6B,EAC7B,mBAAmB,EACnB,wBAAwB,EACxB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EACjB,KAAK,WAAW,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACpB,KAAK,qBAAqB,GAC3B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,MAAM,EACN,kBAAkB,EAClB,KAAK,oBAAoB,EACzB,KAAK,WAAW,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAC;AAE/B,cAAc,SAAS,CAAC;AACxB,OAAO,EACL,MAAM,EACN,KAAK,WAAW,EAChB,iBAAiB,EACjB,KAAK,YAAY,GAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,eAAe,GACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,kBAAkB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,IAAI,EACJ,eAAe,EACf,KAAK,SAAS,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,wBAAwB,EACxB,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EACrB,KAAK,UAAU,GAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,eAAe,GACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,MAAM,EACN,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,6BAA6B,EAC7B,mBAAmB,EACnB,wBAAwB,EACxB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EACjB,KAAK,WAAW,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACpB,KAAK,qBAAqB,GAC3B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,MAAM,EACN,kBAAkB,EAClB,KAAK,oBAAoB,EACzB,KAAK,WAAW,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC"}
package/dist/index.js CHANGED
@@ -36,8 +36,8 @@ var __importStar = (this && this.__importStar) || (function () {
36
36
  };
37
37
  })();
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.components = exports.SLIDER_THEME_ROLES = exports.Slider = exports.SEGMENTED_THEME_ROLES = exports.SegmentedControl = exports.resolveSelectDetentIndex = exports.detentsToSnapPoints = exports.DEFAULT_SELECT_INITIAL_DETENT = exports.DEFAULT_SELECT_DETENTS = exports.SELECT_THEME_ROLES = exports.SelectCloseButton = exports.Select = exports.RADIO_THEME_ROLES = exports.RadioField = exports.FormCloseButton = exports.Form = exports.FIELD_THEME_ROLES = exports.FieldTextarea = exports.FieldText = exports.filterLinkBlockGroups = exports.LinkBlocks = exports.buttonRadiusValue = exports.Button = exports.version = void 0;
40
- exports.version = "0.2.3";
39
+ exports.components = exports.SLIDER_THEME_ROLES = exports.Slider = exports.SEGMENTED_THEME_ROLES = exports.SegmentedControl = exports.resolveSelectDetentIndex = exports.detentsToSnapPoints = exports.DEFAULT_SELECT_INITIAL_DETENT = exports.DEFAULT_SELECT_DETENTS = exports.SELECT_THEME_ROLES = exports.SelectCloseButton = exports.Select = exports.RADIO_THEME_ROLES = exports.RadioField = exports.useErrorBannerField = exports.useErrorBannerDismiss = exports.useErrorBannerContext = exports.useErrorBanner = exports.ERROR_BANNER_THEME_ROLES = exports.ErrorBannerProvider = exports.ErrorBannerField = exports.ErrorBanner = exports.FormCloseButton = exports.Form = exports.FIELD_THEME_ROLES = exports.FieldTextarea = exports.FieldText = exports.filterLinkBlockGroups = exports.LinkBlocks = exports.buttonRadiusValue = exports.Button = exports.version = void 0;
40
+ exports.version = "0.2.5";
41
41
  __exportStar(require("./theme"), exports);
42
42
  var Button_1 = require("./components/Button");
43
43
  Object.defineProperty(exports, "Button", { enumerable: true, get: function () { return Button_1.Button; } });
@@ -52,6 +52,15 @@ Object.defineProperty(exports, "FIELD_THEME_ROLES", { enumerable: true, get: fun
52
52
  var Form_1 = require("./components/Form");
53
53
  Object.defineProperty(exports, "Form", { enumerable: true, get: function () { return Form_1.Form; } });
54
54
  Object.defineProperty(exports, "FormCloseButton", { enumerable: true, get: function () { return Form_1.FormCloseButton; } });
55
+ var ErrorBanner_1 = require("./components/ErrorBanner");
56
+ Object.defineProperty(exports, "ErrorBanner", { enumerable: true, get: function () { return ErrorBanner_1.ErrorBanner; } });
57
+ Object.defineProperty(exports, "ErrorBannerField", { enumerable: true, get: function () { return ErrorBanner_1.ErrorBannerField; } });
58
+ Object.defineProperty(exports, "ErrorBannerProvider", { enumerable: true, get: function () { return ErrorBanner_1.ErrorBannerProvider; } });
59
+ Object.defineProperty(exports, "ERROR_BANNER_THEME_ROLES", { enumerable: true, get: function () { return ErrorBanner_1.ERROR_BANNER_THEME_ROLES; } });
60
+ Object.defineProperty(exports, "useErrorBanner", { enumerable: true, get: function () { return ErrorBanner_1.useErrorBanner; } });
61
+ Object.defineProperty(exports, "useErrorBannerContext", { enumerable: true, get: function () { return ErrorBanner_1.useErrorBannerContext; } });
62
+ Object.defineProperty(exports, "useErrorBannerDismiss", { enumerable: true, get: function () { return ErrorBanner_1.useErrorBannerDismiss; } });
63
+ Object.defineProperty(exports, "useErrorBannerField", { enumerable: true, get: function () { return ErrorBanner_1.useErrorBannerField; } });
55
64
  var RadioField_1 = require("./components/RadioField");
56
65
  Object.defineProperty(exports, "RadioField", { enumerable: true, get: function () { return RadioField_1.RadioField; } });
57
66
  Object.defineProperty(exports, "RADIO_THEME_ROLES", { enumerable: true, get: function () { return RadioField_1.RADIO_THEME_ROLES; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAa,QAAA,OAAO,GAAG,OAAO,CAAC;AAE/B,0CAAwB;AACxB,8CAK6B;AAJ3B,gGAAA,MAAM,OAAA;AAEN,2GAAA,iBAAiB,OAAA;AAGnB,sDAMiC;AAL/B,wGAAA,UAAU,OAAA;AACV,mHAAA,qBAAqB,OAAA;AAKvB,4CAQ4B;AAP1B,kGAAA,SAAS,OAAA;AACT,sGAAA,aAAa,OAAA;AACb,0GAAA,iBAAiB,OAAA;AAMnB,0CAI2B;AAHzB,4FAAA,IAAI,OAAA;AACJ,uGAAA,eAAe,OAAA;AAGjB,sDAMiC;AAL/B,wGAAA,UAAU,OAAA;AACV,+GAAA,iBAAiB,OAAA;AAKnB,8CAY6B;AAX3B,gGAAA,MAAM,OAAA;AACN,2GAAA,iBAAiB,OAAA;AACjB,4GAAA,kBAAkB,OAAA;AAClB,gHAAA,sBAAsB,OAAA;AACtB,uHAAA,6BAA6B,OAAA;AAC7B,6GAAA,mBAAmB,OAAA;AACnB,kHAAA,wBAAwB,OAAA;AAM1B,kEAMuC;AALrC,oHAAA,gBAAgB,OAAA;AAChB,yHAAA,qBAAqB,OAAA;AAKvB,8CAK6B;AAJ3B,gGAAA,MAAM,OAAA;AACN,4GAAA,kBAAkB,OAAA;AAIpB,2DAA2C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAa,QAAA,OAAO,GAAG,OAAO,CAAC;AAE/B,0CAAwB;AACxB,8CAK6B;AAJ3B,gGAAA,MAAM,OAAA;AAEN,2GAAA,iBAAiB,OAAA;AAGnB,sDAMiC;AAL/B,wGAAA,UAAU,OAAA;AACV,mHAAA,qBAAqB,OAAA;AAKvB,4CAQ4B;AAP1B,kGAAA,SAAS,OAAA;AACT,sGAAA,aAAa,OAAA;AACb,0GAAA,iBAAiB,OAAA;AAMnB,0CAI2B;AAHzB,4FAAA,IAAI,OAAA;AACJ,uGAAA,eAAe,OAAA;AAGjB,wDAYkC;AAXhC,0GAAA,WAAW,OAAA;AACX,+GAAA,gBAAgB,OAAA;AAChB,kHAAA,mBAAmB,OAAA;AACnB,uHAAA,wBAAwB,OAAA;AACxB,6GAAA,cAAc,OAAA;AACd,oHAAA,qBAAqB,OAAA;AACrB,oHAAA,qBAAqB,OAAA;AACrB,kHAAA,mBAAmB,OAAA;AAKrB,sDAMiC;AAL/B,wGAAA,UAAU,OAAA;AACV,+GAAA,iBAAiB,OAAA;AAKnB,8CAY6B;AAX3B,gGAAA,MAAM,OAAA;AACN,2GAAA,iBAAiB,OAAA;AACjB,4GAAA,kBAAkB,OAAA;AAClB,gHAAA,sBAAsB,OAAA;AACtB,uHAAA,6BAA6B,OAAA;AAC7B,6GAAA,mBAAmB,OAAA;AACnB,kHAAA,wBAAwB,OAAA;AAM1B,kEAMuC;AALrC,oHAAA,gBAAgB,OAAA;AAChB,yHAAA,qBAAqB,OAAA;AAKvB,8CAK6B;AAJ3B,gGAAA,MAAM,OAAA;AACN,4GAAA,kBAAkB,OAAA;AAIpB,2DAA2C"}
@@ -0,0 +1,85 @@
1
+ # ErrorBanner — usage
2
+
3
+ A screen-wide banner for field errors. Each row scrolls that field into view. The cross dismisses it. Editing a field on the screen dismisses it too. It is not tied to one form shell. `Form` mounts it whenever you pass `errors`.
4
+
5
+ Colours come from `ThemeProvider`. Pass a prop only to override. The megaphone disc uses the accent colour; the icon is drawn in the banner background colour.
6
+
7
+ ## Peer dependency
8
+
9
+ ```bash
10
+ npx expo install react-native-svg
11
+ ```
12
+
13
+ ## Theme roles
14
+
15
+ Set these in both light and dark. The Ribe banner stays charcoal with a flare disc in both schemes.
16
+
17
+ | Usage | Role |
18
+ |---|---|
19
+ | Banner fill | `errorBannerBackground` |
20
+ | Title and rows | `errorBannerText` |
21
+ | Dismiss and arrows | `errorBannerSecondary` |
22
+ | Row dividers | `errorBannerDivider` |
23
+ | Megaphone disc | `errorBannerAccent` |
24
+
25
+ ## With Form
26
+
27
+ Give each field a `name` that matches `FieldError.field`. On submit, set `errors`. `Form` opens the banner. Typing in a field, changing a choice, or pressing ✕ hides it. The next submit shows it again. While an error is listed, that field keeps the error border and does not repeat the message underneath.
28
+
29
+ ```tsx
30
+ import { FieldText, Form, Select, type FieldError } from "@studio-piot/native-ui";
31
+ import { useState } from "react";
32
+
33
+ export function NewActivity({ onClose }: { onClose: () => void }) {
34
+ const [name, setName] = useState("");
35
+ const [type, setType] = useState<string | null>(null);
36
+ const [errors, setErrors] = useState<FieldError[]>([]);
37
+
38
+ const submit = () => {
39
+ const next: FieldError[] = [];
40
+ if (!name.trim()) {
41
+ next.push({
42
+ field: "name",
43
+ short: "Add a name for the activity",
44
+ message: "Give the activity a name so you can find it later.",
45
+ });
46
+ }
47
+ if (!type) {
48
+ next.push({
49
+ field: "type",
50
+ short: "Choose a type",
51
+ message: "Choose a type such as ride, run, or swim.",
52
+ });
53
+ }
54
+ setErrors(next);
55
+ if (next.length === 0) onClose();
56
+ };
57
+
58
+ return (
59
+ <Form title="New activity" errors={errors} onClose={onClose} onSubmit={submit}>
60
+ <FieldText name="name" label="Name" value={name} onChangeText={setName} />
61
+ <Select
62
+ name="type"
63
+ label="Type"
64
+ value={type}
65
+ onChange={setType}
66
+ options={[{ value: "run", label: "Run" }]}
67
+ />
68
+ </Form>
69
+ );
70
+ }
71
+ ```
72
+
73
+ List errors in the same order as the fields, top to bottom.
74
+
75
+ ## Without Form
76
+
77
+ `ErrorBanner`, `useErrorBanner`, and `ErrorBannerProvider` work with any scroll view. Put the banner inside the provider and call `jump` from context so a row scrolls the matching `ErrorBannerField` (or a package field with `name`) into view. Call `present` on submit and `dismiss` when the runner edits the screen.
78
+
79
+ ## FieldError
80
+
81
+ | Prop | Type | Notes |
82
+ |---|---|---|
83
+ | `field` | `string` | Same as the field `name` |
84
+ | `short` | `string` | Banner row, about 40 characters |
85
+ | `message` | `string` | Accessibility hint on the field |
@@ -64,7 +64,8 @@ The default package `FormCloseButton` is a themed text Cancel. Export it if you
64
64
  | `title` | `string` | — | Required. Header title |
65
65
  | `children` | `ReactNode` | — | Required. Scroll body |
66
66
  | `onClose` | `() => void` | — | Required. Wired to default Cancel |
67
- | `onSubmit` | `() => void` | — | Required. Sticky Save |
67
+ | `onSubmit` | `() => void` | — | Required. Sticky Save. Presents the error banner, then runs. |
68
+ | `errors` | `FieldError[]` | `[]` | Field errors. The banner lists them and scrolls to each `name`. Editing a field dismisses the banner; the next submit shows it again. |
68
69
  | `submitLabel` | `string` | `"Save"` | |
69
70
  | `submitting` | `boolean` | `false` | Loading on submit |
70
71
  | `submitDisabled` | `boolean` | `false` | |
@@ -33,18 +33,29 @@ export function DipslideStatusField() {
33
33
  }
34
34
  ```
35
35
 
36
- No new theme keys. The selection fill reuses `fieldRadioSelected`. Selected label text reuses `fieldBackground`, which contrasts with that fill in the same light and dark maps.
36
+ The track has no border. Colours are dedicated `segment*` theme roles, so they can be tuned without changing Field colours.
37
+
38
+ ### Theme roles
39
+
40
+ Apps must add these keys to both light and dark maps.
41
+
42
+ | Usage | Role |
43
+ |---|---|
44
+ | Track fill | `segmentBackground` |
45
+ | Sliding selection fill | `segmentSelectedBackground` |
46
+ | Unselected label | `segmentLabel` |
47
+ | Label on the selection fill | `segmentSelectedLabel` |
48
+ | Group label above the track | `segmentTitle` |
37
49
 
38
50
  ### Colour props (optional overrides)
39
51
 
40
52
  | Prop | Default theme role | Role |
41
53
  |---|---|---|
42
- | `backgroundColor` | `fieldBackground` | Track fill |
43
- | `borderColor` | `fieldBorder` | Track border |
44
- | `selectedBackgroundColor` | `fieldRadioSelected` | Sliding selection fill |
45
- | `labelColor` | `fieldText` | Unselected label |
46
- | `selectedLabelColor` | `fieldBackground` | Label on the selection fill |
47
- | `titleColor` | `fieldLabel` | Group label above the track |
54
+ | `backgroundColor` | `segmentBackground` | Track fill |
55
+ | `selectedBackgroundColor` | `segmentSelectedBackground` | Sliding selection fill |
56
+ | `labelColor` | `segmentLabel` | Unselected label |
57
+ | `selectedLabelColor` | `segmentSelectedLabel` | Label on the selection fill |
58
+ | `titleColor` | `segmentTitle` | Group label above the track |
48
59
 
49
60
  ### Props
50
61
 
@@ -56,12 +67,11 @@ No new theme keys. The selection fill reuses `fieldRadioSelected`. Selected labe
56
67
  | `label` | `string` | — | Optional caption above the track |
57
68
  | `radius` | `ButtonRadius` | `"lg"` | Same steps as `Button` (8px) |
58
69
  | `disabled` | `boolean` | `false` | Whole control at 40% opacity; not selectable |
59
- | `backgroundColor` | `string` | theme `fieldBackground` | Optional override |
60
- | `borderColor` | `string` | theme `fieldBorder` | Optional override |
61
- | `selectedBackgroundColor` | `string` | theme `fieldRadioSelected` | Optional override |
62
- | `labelColor` | `string` | theme `fieldText` | Optional override |
63
- | `selectedLabelColor` | `string` | theme `fieldBackground` | Optional override |
64
- | `titleColor` | `string` | theme `fieldLabel` | Optional override |
70
+ | `backgroundColor` | `string` | theme `segmentBackground` | Optional override |
71
+ | `selectedBackgroundColor` | `string` | theme `segmentSelectedBackground` | Optional override |
72
+ | `labelColor` | `string` | theme `segmentLabel` | Optional override |
73
+ | `selectedLabelColor` | `string` | theme `segmentSelectedLabel` | Optional override |
74
+ | `titleColor` | `string` | theme `segmentTitle` | Optional override |
65
75
  | `style` | view style | — | Outer column |
66
76
 
67
77
  ### SegmentedOption
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@studio-piot/native-ui",
3
- "version": "0.2.3",
3
+ "version": "0.2.5",
4
4
  "description": "Shared React Native components for Studio Piot apps.",
5
5
  "homepage": "https://github.com/Studio-Piot/studio-native-ui#readme",
6
6
  "bugs": {
@@ -58,7 +58,8 @@
58
58
  "react-native-keyboard-controller": ">=1.14.0",
59
59
  "react-native-reanimated": "^4.5.1",
60
60
  "react-native-safe-area-context": ">=4.0.0",
61
- "react-native-screens": ">=4.0.0"
61
+ "react-native-screens": ">=4.0.0",
62
+ "react-native-svg": ">=15.0.0"
62
63
  },
63
64
  "scripts": {
64
65
  "test": "node --experimental-strip-types --test 'src/**/*.test.ts'",
@@ -78,6 +79,7 @@
78
79
  "react-native-reanimated": "^4.5.1",
79
80
  "react-native-safe-area-context": "~5.7.0",
80
81
  "react-native-screens": "~4.26.0",
82
+ "react-native-svg": "^15.15.4",
81
83
  "typescript": "^5.9.3"
82
84
  }
83
85
  }
@@ -0,0 +1,232 @@
1
+ import { useEffect, useRef, useState } from "react";
2
+ import {
3
+ AccessibilityInfo,
4
+ Animated,
5
+ Easing,
6
+ Pressable,
7
+ StatusBar,
8
+ StyleSheet,
9
+ Text,
10
+ View,
11
+ type LayoutChangeEvent,
12
+ } from "react-native";
13
+ import { useSafeAreaInsets } from "react-native-safe-area-context";
14
+ import { buttonRadiusValue } from "../Button/buttonRadius";
15
+ import { useResolvedFieldColor } from "../Field/useResolvedFieldColor";
16
+ import { screenPaddingHorizontal } from "../../layout/screenPadding";
17
+ import { errorBannerTitle } from "./errorBannerCopy";
18
+ import { ERROR_BANNER_THEME_ROLES } from "./errorBannerThemeRoles";
19
+ import { ArrowRight, Megaphone } from "./icons";
20
+ import type { ErrorBannerProps } from "./types";
21
+
22
+ const BOTTOM_RADIUS = buttonRadiusValue("xl");
23
+
24
+ /**
25
+ * Screen-wide field-error banner. Mount it once and drive `open` so the
26
+ * exit animation can play. It is not tied to a form shell: pass `errors`,
27
+ * `onJump`, and `onDismiss`. `Form` does that by default.
28
+ */
29
+ export function ErrorBanner({
30
+ open,
31
+ errors,
32
+ onJump,
33
+ onDismiss,
34
+ onHeightChange,
35
+ safeAreaTop,
36
+ paddingHorizontal = screenPaddingHorizontal,
37
+ backgroundColor: backgroundColorProp,
38
+ textColor: textColorProp,
39
+ secondaryColor: secondaryColorProp,
40
+ dividerColor: dividerColorProp,
41
+ accentColor: accentColorProp,
42
+ }: ErrorBannerProps) {
43
+ const insets = useSafeAreaInsets();
44
+ const topInset = safeAreaTop ?? insets.top;
45
+ const backgroundColor = useResolvedFieldColor(
46
+ backgroundColorProp,
47
+ ERROR_BANNER_THEME_ROLES.backgroundColor,
48
+ );
49
+ const textColor = useResolvedFieldColor(
50
+ textColorProp,
51
+ ERROR_BANNER_THEME_ROLES.textColor,
52
+ );
53
+ const secondaryColor = useResolvedFieldColor(
54
+ secondaryColorProp,
55
+ ERROR_BANNER_THEME_ROLES.secondaryColor,
56
+ );
57
+ const dividerColor = useResolvedFieldColor(
58
+ dividerColorProp,
59
+ ERROR_BANNER_THEME_ROLES.dividerColor,
60
+ );
61
+ const accentColor = useResolvedFieldColor(
62
+ accentColorProp,
63
+ ERROR_BANNER_THEME_ROLES.accentColor,
64
+ );
65
+
66
+ const [height, setHeight] = useState(400);
67
+ const [reduceMotion, setReduceMotion] = useState(false);
68
+ const progress = useRef(new Animated.Value(0)).current;
69
+ const count = errors.length;
70
+ const title = errorBannerTitle(count);
71
+ const titleRef = useRef(title);
72
+ titleRef.current = title;
73
+
74
+ useEffect(() => {
75
+ AccessibilityInfo.isReduceMotionEnabled().then(setReduceMotion);
76
+ }, []);
77
+
78
+ useEffect(() => {
79
+ Animated.timing(progress, {
80
+ toValue: open ? 1 : 0,
81
+ duration: reduceMotion ? 120 : open ? 260 : 200,
82
+ easing: Easing.bezier(0.16, 1, 0.3, 1),
83
+ useNativeDriver: true,
84
+ }).start();
85
+ if (open) {
86
+ AccessibilityInfo.announceForAccessibility(titleRef.current);
87
+ }
88
+ }, [open, progress, reduceMotion]);
89
+
90
+ const motion = reduceMotion
91
+ ? { opacity: progress }
92
+ : {
93
+ transform: [
94
+ {
95
+ translateY: progress.interpolate({
96
+ inputRange: [0, 1],
97
+ outputRange: [-(height + 24), 0],
98
+ }),
99
+ },
100
+ ],
101
+ };
102
+
103
+ const onLayout = (event: LayoutChangeEvent) => {
104
+ const next = Math.round(event.nativeEvent.layout.height);
105
+ setHeight((current) => (current === next ? current : next));
106
+ onHeightChange?.(next);
107
+ };
108
+
109
+ return (
110
+ <>
111
+ {open ? <StatusBar animated barStyle="light-content" /> : null}
112
+ <Animated.View
113
+ accessibilityRole="alert"
114
+ accessibilityElementsHidden={!open}
115
+ importantForAccessibility={open ? "auto" : "no-hide-descendants"}
116
+ onLayout={onLayout}
117
+ pointerEvents={open ? "auto" : "none"}
118
+ style={[
119
+ styles.banner,
120
+ {
121
+ backgroundColor,
122
+ paddingTop: topInset + 8,
123
+ paddingHorizontal,
124
+ borderBottomLeftRadius: BOTTOM_RADIUS,
125
+ borderBottomRightRadius: BOTTOM_RADIUS,
126
+ },
127
+ motion,
128
+ ]}
129
+ >
130
+ <View style={styles.header}>
131
+ <View
132
+ accessibilityElementsHidden
133
+ importantForAccessibility="no-hide-descendants"
134
+ style={[styles.iconDisc, { backgroundColor: accentColor }]}
135
+ >
136
+ <Megaphone color={backgroundColor} />
137
+ </View>
138
+ <Text style={[styles.title, { color: textColor }]}>{title}</Text>
139
+ <Pressable
140
+ accessibilityLabel="Dismiss"
141
+ accessibilityRole="button"
142
+ hitSlop={12}
143
+ onPress={onDismiss}
144
+ >
145
+ <Text style={[styles.dismiss, { color: secondaryColor }]}>✕</Text>
146
+ </Pressable>
147
+ </View>
148
+ <View style={styles.rows}>
149
+ {errors.map((error) => (
150
+ <Pressable
151
+ key={error.field}
152
+ accessibilityLabel={`${error.short}. Go to field.`}
153
+ accessibilityRole="button"
154
+ hitSlop={{ top: 4, bottom: 4 }}
155
+ onPress={() => onJump(error.field)}
156
+ style={({ pressed }) => [
157
+ styles.row,
158
+ { borderTopColor: dividerColor },
159
+ pressed && styles.pressed,
160
+ ]}
161
+ >
162
+ <Text style={[styles.rowLabel, { color: textColor }]}>
163
+ {error.short}
164
+ </Text>
165
+ <View
166
+ accessibilityElementsHidden
167
+ importantForAccessibility="no-hide-descendants"
168
+ >
169
+ <ArrowRight color={secondaryColor} />
170
+ </View>
171
+ </Pressable>
172
+ ))}
173
+ </View>
174
+ </Animated.View>
175
+ </>
176
+ );
177
+ }
178
+
179
+ const styles = StyleSheet.create({
180
+ banner: {
181
+ position: "absolute",
182
+ top: 0,
183
+ left: 0,
184
+ right: 0,
185
+ zIndex: 100,
186
+ paddingBottom: 10,
187
+ shadowColor: "#22201D",
188
+ shadowOpacity: 0.25,
189
+ shadowRadius: 12,
190
+ shadowOffset: { width: 0, height: 8 },
191
+ elevation: 12,
192
+ },
193
+ header: {
194
+ flexDirection: "row",
195
+ alignItems: "center",
196
+ gap: 10,
197
+ },
198
+ iconDisc: {
199
+ width: 28,
200
+ height: 28,
201
+ borderRadius: 14,
202
+ alignItems: "center",
203
+ justifyContent: "center",
204
+ },
205
+ title: {
206
+ flex: 1,
207
+ fontSize: 15,
208
+ lineHeight: 20,
209
+ fontWeight: "600",
210
+ },
211
+ dismiss: {
212
+ fontSize: 15,
213
+ },
214
+ rows: {
215
+ marginTop: 6,
216
+ },
217
+ row: {
218
+ flexDirection: "row",
219
+ alignItems: "center",
220
+ minHeight: 36,
221
+ marginLeft: 38,
222
+ borderTopWidth: 1,
223
+ },
224
+ pressed: {
225
+ opacity: 0.6,
226
+ },
227
+ rowLabel: {
228
+ flex: 1,
229
+ fontSize: 15,
230
+ lineHeight: 20,
231
+ },
232
+ });