@draftbit/core 43.4.11-ba6514.0 → 43.4.12-58730b.0

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 (107) hide show
  1. package/lib/commonjs/components/Accordion/AccordionGroup.js +2 -2
  2. package/lib/commonjs/components/Accordion/AccordionGroup.js.map +1 -1
  3. package/lib/commonjs/components/Accordion/AccordionItem.js +5 -21
  4. package/lib/commonjs/components/Accordion/AccordionItem.js.map +1 -1
  5. package/lib/commonjs/components/ActionSheet/ActionSheetCancel.js.map +1 -1
  6. package/lib/commonjs/components/Card.js.map +1 -1
  7. package/lib/commonjs/components/Checkbox/Checkbox.js +6 -6
  8. package/lib/commonjs/components/Checkbox/Checkbox.js.map +1 -1
  9. package/lib/commonjs/components/Checkbox/CheckboxGroupRow.js +142 -0
  10. package/lib/commonjs/components/Checkbox/CheckboxGroupRow.js.map +1 -0
  11. package/lib/commonjs/components/Checkbox/CheckboxRow.js +55 -46
  12. package/lib/commonjs/components/Checkbox/CheckboxRow.js.map +1 -1
  13. package/lib/commonjs/components/CircleImage.js +3 -17
  14. package/lib/commonjs/components/CircleImage.js.map +1 -1
  15. package/lib/commonjs/components/DatePicker/DatePicker.js +2 -9
  16. package/lib/commonjs/components/DatePicker/DatePicker.js.map +1 -1
  17. package/lib/commonjs/components/DeprecatedButton.js +4 -19
  18. package/lib/commonjs/components/DeprecatedButton.js.map +1 -1
  19. package/lib/commonjs/components/DeprecatedCardWrapper.js +2 -14
  20. package/lib/commonjs/components/DeprecatedCardWrapper.js.map +1 -1
  21. package/lib/commonjs/components/DeprecatedFAB.js +4 -20
  22. package/lib/commonjs/components/DeprecatedFAB.js.map +1 -1
  23. package/lib/commonjs/components/Divider.js +13 -3
  24. package/lib/commonjs/components/Divider.js.map +1 -1
  25. package/lib/commonjs/components/Elevation.js +14 -3
  26. package/lib/commonjs/components/Elevation.js.map +1 -1
  27. package/lib/commonjs/components/FAB.js +5 -19
  28. package/lib/commonjs/components/FAB.js.map +1 -1
  29. package/lib/commonjs/components/Picker/PickerComponent.ios.js +10 -30
  30. package/lib/commonjs/components/Picker/PickerComponent.ios.js.map +1 -1
  31. package/lib/commonjs/components/Portal/Portal.js.map +1 -1
  32. package/lib/commonjs/components/Portal/PortalHost.js.map +1 -1
  33. package/lib/commonjs/components/RadioButton/RadioButtonRow.js +1 -1
  34. package/lib/commonjs/components/RadioButton/RadioButtonRow.js.map +1 -1
  35. package/lib/commonjs/components/RadioButton/context.js +1 -1
  36. package/lib/commonjs/components/RadioButton/context.js.map +1 -1
  37. package/lib/commonjs/components/RadioButton/index.js.map +1 -1
  38. package/lib/commonjs/components/Slider.js +5 -22
  39. package/lib/commonjs/components/Slider.js.map +1 -1
  40. package/lib/commonjs/components/StarRating.js +5 -23
  41. package/lib/commonjs/components/StarRating.js.map +1 -1
  42. package/lib/commonjs/components/TextField.js +13 -26
  43. package/lib/commonjs/components/TextField.js.map +1 -1
  44. package/lib/commonjs/hooks.js.map +1 -1
  45. package/lib/commonjs/index.js.map +1 -1
  46. package/lib/commonjs/mappings/AvatarEdit.js.map +1 -1
  47. package/lib/commonjs/mappings/CheckboxRow.js +25 -6
  48. package/lib/commonjs/mappings/CheckboxRow.js.map +1 -1
  49. package/lib/commonjs/mappings/FlatList.js.map +1 -1
  50. package/lib/commonjs/mappings/Icon.js +3 -1
  51. package/lib/commonjs/mappings/Icon.js.map +1 -1
  52. package/lib/commonjs/mappings/KeyboardAwareScrollView.js +48 -0
  53. package/lib/commonjs/mappings/KeyboardAwareScrollView.js.map +1 -0
  54. package/lib/commonjs/mappings/Modal.js.map +1 -1
  55. package/lib/commonjs/mappings/RowBodyIcon.js.map +1 -1
  56. package/lib/commonjs/mappings/Surface.js.map +1 -1
  57. package/lib/commonjs/mappings/Switch.js.map +1 -1
  58. package/lib/commonjs/styles/fonts.js.map +1 -1
  59. package/lib/commonjs/styles/overlay.js.map +1 -1
  60. package/lib/commonjs/theming.js.map +1 -1
  61. package/lib/module/components/Accordion/AccordionGroup.js +2 -2
  62. package/lib/module/components/Accordion/AccordionGroup.js.map +1 -1
  63. package/lib/module/components/Checkbox/Checkbox.js +6 -6
  64. package/lib/module/components/Checkbox/Checkbox.js.map +1 -1
  65. package/lib/module/components/Checkbox/CheckboxGroupRow.js +120 -0
  66. package/lib/module/components/Checkbox/CheckboxGroupRow.js.map +1 -0
  67. package/lib/module/components/Checkbox/CheckboxRow.js +53 -46
  68. package/lib/module/components/Checkbox/CheckboxRow.js.map +1 -1
  69. package/lib/module/components/DatePicker/DatePicker.js +3 -9
  70. package/lib/module/components/DatePicker/DatePicker.js.map +1 -1
  71. package/lib/module/components/RadioButton/RadioButtonRow.js +1 -1
  72. package/lib/module/components/RadioButton/RadioButtonRow.js.map +1 -1
  73. package/lib/module/components/RadioButton/index.js.map +1 -1
  74. package/lib/module/components/TextField.js +8 -5
  75. package/lib/module/components/TextField.js.map +1 -1
  76. package/lib/module/mappings/CheckboxRow.js +26 -7
  77. package/lib/module/mappings/CheckboxRow.js.map +1 -1
  78. package/lib/module/mappings/Icon.js +3 -1
  79. package/lib/module/mappings/Icon.js.map +1 -1
  80. package/lib/module/mappings/KeyboardAwareScrollView.js +39 -0
  81. package/lib/module/mappings/KeyboardAwareScrollView.js.map +1 -0
  82. package/lib/typescript/src/components/Checkbox/CheckboxGroupRow.d.ts +21 -0
  83. package/lib/typescript/src/components/Checkbox/CheckboxRow.d.ts +3 -7
  84. package/lib/typescript/src/mappings/CheckboxRow.d.ts +50 -9
  85. package/lib/typescript/src/mappings/Icon.d.ts +1 -1
  86. package/lib/typescript/src/mappings/KeyboardAwareScrollView.d.ts +82 -0
  87. package/package.json +2 -2
  88. package/src/components/Accordion/AccordionGroup.js +1 -1
  89. package/src/components/Accordion/AccordionGroup.tsx +1 -1
  90. package/src/components/Checkbox/Checkbox.js +6 -6
  91. package/src/components/Checkbox/Checkbox.tsx +8 -6
  92. package/src/components/Checkbox/CheckboxGroupRow.js +77 -0
  93. package/src/components/Checkbox/CheckboxGroupRow.tsx +152 -0
  94. package/src/components/Checkbox/CheckboxRow.js +33 -32
  95. package/src/components/Checkbox/CheckboxRow.tsx +67 -62
  96. package/src/components/DatePicker/DatePicker.js +2 -4
  97. package/src/components/DatePicker/DatePicker.tsx +1 -14
  98. package/src/components/RadioButton/RadioButtonRow.js +1 -1
  99. package/src/components/RadioButton/RadioButtonRow.tsx +1 -1
  100. package/src/components/TextField.js +5 -4
  101. package/src/components/TextField.tsx +6 -5
  102. package/src/mappings/CheckboxRow.js +26 -7
  103. package/src/mappings/CheckboxRow.ts +28 -6
  104. package/src/mappings/Icon.js +4 -1
  105. package/src/mappings/Icon.ts +4 -1
  106. package/src/mappings/KeyboardAwareScrollView.js +38 -0
  107. package/src/mappings/KeyboardAwareScrollView.ts +48 -0
@@ -62,9 +62,9 @@ const AccordionGroup = _ref => {
62
62
  style: styles.content
63
63
  }, /*#__PURE__*/React.createElement(_Text.default, {
64
64
  selectable: false,
65
- style: [{
65
+ style: [textStyles, {
66
66
  color: labelColor
67
- }, textStyles]
67
+ }]
68
68
  }, label)), /*#__PURE__*/React.createElement(Icon, {
69
69
  name: expanded ? "MaterialIcons/keyboard-arrow-up" : "MaterialIcons/keyboard-arrow-down",
70
70
  color: caretColor,
@@ -1 +1 @@
1
- {"version":3,"sources":["AccordionGroup.tsx"],"names":["AccordionGroup","Icon","openColor","closedColor","caretColor","icon","iconSize","style","label","children","expanded","expandedProp","theme","setExpanded","React","useState","handlePressAction","expandedInternal","undefined","expandedColor","colors","primary","collapsedColor","labelColor","textStyles","viewStyles","styles","row","content","color","StyleSheet","create","flexDirection","alignItems","flex","justifyContent","marginRight"],"mappings":";;;;;;;AAAA;;AACA;;AAOA;;AACA;;AAGA;;;;;;;;AAeA,MAAMA,cAAc,GAAG,QAYV;AAAA,MAZW;AACtBC,IAAAA,IADsB;AAEtBC,IAAAA,SAFsB;AAGtBC,IAAAA,WAHsB;AAItBC,IAAAA,UAJsB;AAKtBC,IAAAA,IALsB;AAMtBC,IAAAA,QAAQ,GAAG,EANW;AAOtBC,IAAAA,KAPsB;AAQtBC,IAAAA,KARsB;AAStBC,IAAAA,QATsB;AAUtBC,IAAAA,QAAQ,EAAEC,YAVY;AAWtBC,IAAAA;AAXsB,GAYX;AACX,QAAM,CAACF,QAAD,EAAWG,WAAX,IAA0BC,KAAK,CAACC,QAAN,CAC9BJ,YAAY,IAAI,KADc,CAAhC;;AAIA,QAAMK,iBAAiB,GAAG,MAAM;AAC9BH,IAAAA,WAAW,CAAC,CAACH,QAAF,CAAX;AACD,GAFD;;AAIA,QAAMO,gBAAgB,GAAGN,YAAY,KAAKO,SAAjB,GAA6BP,YAA7B,GAA4CD,QAArE;AAEA,QAAMS,aAAa,GAAGjB,SAAS,IAAIU,KAAK,CAACQ,MAAN,CAAaC,OAAhD;AACA,QAAMC,cAAc,GAAGnB,WAAW,IAAIS,KAAK,CAACQ,MAAN,CAAaC,OAAnD;AAEA,QAAME,UAAU,GAAGb,QAAQ,GAAGS,aAAH,GAAmBG,cAA9C;AAEA,QAAM;AAAEE,IAAAA,UAAF;AAAcC,IAAAA;AAAd,MAA6B,8BAAclB,KAAd,CAAnC;AAEA,sBACE,uDACE,oBAAC,sBAAD;AACE,IAAA,KAAK,EAAE,CAACmB,MAAM,CAACC,GAAR,EAAaF,UAAb,CADT;AAEE,IAAA,OAAO,EAAET,iBAFX;AAGE,IAAA,iBAAiB,EAAC;AAHpB,KAKGX,IAAI,gBACH,oBAAC,IAAD;AACE,IAAA,IAAI,EAAEA,IADR;AAEE,IAAA,IAAI,EAAEC,QAFR;AAGE,IAAA,KAAK,EAAEiB,UAHT;AAIE,IAAA,KAAK,EAAEG,MAAM,CAACrB;AAJhB,IADG,GAOD,IAZN,eAaE,oBAAC,iBAAD;AAAM,IAAA,KAAK,EAAEqB,MAAM,CAACE;AAApB,kBACE,oBAAC,aAAD;AACE,IAAA,UAAU,EAAE,KADd;AAEE,IAAA,KAAK,EAAE,CACL;AACEC,MAAAA,KAAK,EAAEN;AADT,KADK,EAILC,UAJK;AAFT,KASGhB,KATH,CADF,CAbF,eA0BE,oBAAC,IAAD;AACE,IAAA,IAAI,EACFE,QAAQ,GACJ,iCADI,GAEJ,mCAJR;AAME,IAAA,KAAK,EAAEN,UANT;AAOE,IAAA,IAAI,EAAE;AAPR,IA1BF,CADF,EAqCGa,gBAAgB,GAAGR,QAAH,GAAc,IArCjC,CADF;AAyCD,CAvED;;AAyEA,MAAMiB,MAAM,GAAGI,wBAAWC,MAAX,CAAkB;AAC/BJ,EAAAA,GAAG,EAAE;AACHK,IAAAA,aAAa,EAAE,KADZ;AAEHC,IAAAA,UAAU,EAAE;AAFT,GAD0B;AAK/BL,EAAAA,OAAO,EAAE;AACPM,IAAAA,IAAI,EAAE,CADC;AAEPC,IAAAA,cAAc,EAAE;AAFT,GALsB;AAS/B9B,EAAAA,IAAI,EAAE;AACJ+B,IAAAA,WAAW,EAAE;AADT;AATyB,CAAlB,CAAf;;eAce,wBAAUpC,cAAV,C","sourcesContent":["import * as React from \"react\";\nimport {\n View,\n StyleSheet,\n StyleProp,\n TextStyle,\n Pressable,\n} from \"react-native\";\nimport Text from \"../Text\";\nimport { withTheme } from \"../../theming\";\nimport type { IconSlot } from \"../../interfaces/Icon\";\nimport type { Theme } from \"../../styles/DefaultTheme\";\nimport { extractStyles } from \"../../utilities\";\n\ntype Props = {\n openColor: string;\n closedColor: string;\n caretColor: string;\n icon?: string;\n iconSize: number;\n style?: StyleProp<TextStyle>;\n children: React.ReactNode;\n label: string;\n expanded?: boolean;\n theme: Theme;\n} & IconSlot;\n\nconst AccordionGroup = ({\n Icon,\n openColor,\n closedColor,\n caretColor,\n icon,\n iconSize = 24,\n style,\n label,\n children,\n expanded: expandedProp,\n theme,\n}: Props) => {\n const [expanded, setExpanded] = React.useState<boolean>(\n expandedProp || false\n );\n\n const handlePressAction = () => {\n setExpanded(!expanded);\n };\n\n const expandedInternal = expandedProp !== undefined ? expandedProp : expanded;\n\n const expandedColor = openColor || theme.colors.primary;\n const collapsedColor = closedColor || theme.colors.primary;\n\n const labelColor = expanded ? expandedColor : collapsedColor;\n\n const { textStyles, viewStyles } = extractStyles(style);\n\n return (\n <>\n <Pressable\n style={[styles.row, viewStyles]}\n onPress={handlePressAction}\n accessibilityRole=\"button\"\n >\n {icon ? (\n <Icon\n name={icon}\n size={iconSize}\n color={labelColor}\n style={styles.icon}\n />\n ) : null}\n <View style={styles.content}>\n <Text\n selectable={false}\n style={[\n {\n color: labelColor,\n },\n textStyles,\n ]}\n >\n {label}\n </Text>\n </View>\n <Icon\n name={\n expanded\n ? \"MaterialIcons/keyboard-arrow-up\"\n : \"MaterialIcons/keyboard-arrow-down\"\n }\n color={caretColor}\n size={24}\n />\n </Pressable>\n {expandedInternal ? children : null}\n </>\n );\n};\n\nconst styles = StyleSheet.create({\n row: {\n flexDirection: \"row\",\n alignItems: \"center\",\n },\n content: {\n flex: 1,\n justifyContent: \"center\",\n },\n icon: {\n marginRight: 8,\n },\n});\n\nexport default withTheme(AccordionGroup);\n"]}
1
+ {"version":3,"sources":["AccordionGroup.tsx"],"names":["AccordionGroup","Icon","openColor","closedColor","caretColor","icon","iconSize","style","label","children","expanded","expandedProp","theme","setExpanded","React","useState","handlePressAction","expandedInternal","undefined","expandedColor","colors","primary","collapsedColor","labelColor","textStyles","viewStyles","styles","row","content","color","StyleSheet","create","flexDirection","alignItems","flex","justifyContent","marginRight"],"mappings":";;;;;;;AAAA;;AACA;;AAOA;;AACA;;AAGA;;;;;;;;AAeA,MAAMA,cAAc,GAAG,QAYV;AAAA,MAZW;AACtBC,IAAAA,IADsB;AAEtBC,IAAAA,SAFsB;AAGtBC,IAAAA,WAHsB;AAItBC,IAAAA,UAJsB;AAKtBC,IAAAA,IALsB;AAMtBC,IAAAA,QAAQ,GAAG,EANW;AAOtBC,IAAAA,KAPsB;AAQtBC,IAAAA,KARsB;AAStBC,IAAAA,QATsB;AAUtBC,IAAAA,QAAQ,EAAEC,YAVY;AAWtBC,IAAAA;AAXsB,GAYX;AACX,QAAM,CAACF,QAAD,EAAWG,WAAX,IAA0BC,KAAK,CAACC,QAAN,CAC9BJ,YAAY,IAAI,KADc,CAAhC;;AAIA,QAAMK,iBAAiB,GAAG,MAAM;AAC9BH,IAAAA,WAAW,CAAC,CAACH,QAAF,CAAX;AACD,GAFD;;AAIA,QAAMO,gBAAgB,GAAGN,YAAY,KAAKO,SAAjB,GAA6BP,YAA7B,GAA4CD,QAArE;AAEA,QAAMS,aAAa,GAAGjB,SAAS,IAAIU,KAAK,CAACQ,MAAN,CAAaC,OAAhD;AACA,QAAMC,cAAc,GAAGnB,WAAW,IAAIS,KAAK,CAACQ,MAAN,CAAaC,OAAnD;AAEA,QAAME,UAAU,GAAGb,QAAQ,GAAGS,aAAH,GAAmBG,cAA9C;AAEA,QAAM;AAAEE,IAAAA,UAAF;AAAcC,IAAAA;AAAd,MAA6B,8BAAclB,KAAd,CAAnC;AAEA,sBACE,uDACE,oBAAC,sBAAD;AACE,IAAA,KAAK,EAAE,CAACmB,MAAM,CAACC,GAAR,EAAaF,UAAb,CADT;AAEE,IAAA,OAAO,EAAET,iBAFX;AAGE,IAAA,iBAAiB,EAAC;AAHpB,KAKGX,IAAI,gBACH,oBAAC,IAAD;AACE,IAAA,IAAI,EAAEA,IADR;AAEE,IAAA,IAAI,EAAEC,QAFR;AAGE,IAAA,KAAK,EAAEiB,UAHT;AAIE,IAAA,KAAK,EAAEG,MAAM,CAACrB;AAJhB,IADG,GAOD,IAZN,eAaE,oBAAC,iBAAD;AAAM,IAAA,KAAK,EAAEqB,MAAM,CAACE;AAApB,kBACE,oBAAC,aAAD;AACE,IAAA,UAAU,EAAE,KADd;AAEE,IAAA,KAAK,EAAE,CACLJ,UADK,EAEL;AACEK,MAAAA,KAAK,EAAEN;AADT,KAFK;AAFT,KASGf,KATH,CADF,CAbF,eA0BE,oBAAC,IAAD;AACE,IAAA,IAAI,EACFE,QAAQ,GACJ,iCADI,GAEJ,mCAJR;AAME,IAAA,KAAK,EAAEN,UANT;AAOE,IAAA,IAAI,EAAE;AAPR,IA1BF,CADF,EAqCGa,gBAAgB,GAAGR,QAAH,GAAc,IArCjC,CADF;AAyCD,CAvED;;AAyEA,MAAMiB,MAAM,GAAGI,wBAAWC,MAAX,CAAkB;AAC/BJ,EAAAA,GAAG,EAAE;AACHK,IAAAA,aAAa,EAAE,KADZ;AAEHC,IAAAA,UAAU,EAAE;AAFT,GAD0B;AAK/BL,EAAAA,OAAO,EAAE;AACPM,IAAAA,IAAI,EAAE,CADC;AAEPC,IAAAA,cAAc,EAAE;AAFT,GALsB;AAS/B9B,EAAAA,IAAI,EAAE;AACJ+B,IAAAA,WAAW,EAAE;AADT;AATyB,CAAlB,CAAf;;eAce,wBAAUpC,cAAV,C","sourcesContent":["import * as React from \"react\";\nimport {\n View,\n StyleSheet,\n StyleProp,\n TextStyle,\n Pressable,\n} from \"react-native\";\nimport Text from \"../Text\";\nimport { withTheme } from \"../../theming\";\nimport type { IconSlot } from \"../../interfaces/Icon\";\nimport type { Theme } from \"../../styles/DefaultTheme\";\nimport { extractStyles } from \"../../utilities\";\n\ntype Props = {\n openColor: string;\n closedColor: string;\n caretColor: string;\n icon?: string;\n iconSize: number;\n style?: StyleProp<TextStyle>;\n children: React.ReactNode;\n label: string;\n expanded?: boolean;\n theme: Theme;\n} & IconSlot;\n\nconst AccordionGroup = ({\n Icon,\n openColor,\n closedColor,\n caretColor,\n icon,\n iconSize = 24,\n style,\n label,\n children,\n expanded: expandedProp,\n theme,\n}: Props) => {\n const [expanded, setExpanded] = React.useState<boolean>(\n expandedProp || false\n );\n\n const handlePressAction = () => {\n setExpanded(!expanded);\n };\n\n const expandedInternal = expandedProp !== undefined ? expandedProp : expanded;\n\n const expandedColor = openColor || theme.colors.primary;\n const collapsedColor = closedColor || theme.colors.primary;\n\n const labelColor = expanded ? expandedColor : collapsedColor;\n\n const { textStyles, viewStyles } = extractStyles(style);\n\n return (\n <>\n <Pressable\n style={[styles.row, viewStyles]}\n onPress={handlePressAction}\n accessibilityRole=\"button\"\n >\n {icon ? (\n <Icon\n name={icon}\n size={iconSize}\n color={labelColor}\n style={styles.icon}\n />\n ) : null}\n <View style={styles.content}>\n <Text\n selectable={false}\n style={[\n textStyles,\n {\n color: labelColor,\n },\n ]}\n >\n {label}\n </Text>\n </View>\n <Icon\n name={\n expanded\n ? \"MaterialIcons/keyboard-arrow-up\"\n : \"MaterialIcons/keyboard-arrow-down\"\n }\n color={caretColor}\n size={24}\n />\n </Pressable>\n {expandedInternal ? children : null}\n </>\n );\n};\n\nconst styles = StyleSheet.create({\n row: {\n flexDirection: \"row\",\n alignItems: \"center\",\n },\n content: {\n flex: 1,\n justifyContent: \"center\",\n },\n icon: {\n marginRight: 8,\n },\n});\n\nexport default withTheme(AccordionGroup);\n"]}
@@ -21,6 +21,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
21
21
 
22
22
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
23
 
24
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
25
+
24
26
  const AccordionItem = _ref => {
25
27
  let {
26
28
  Icon,
@@ -35,10 +37,9 @@ const AccordionItem = _ref => {
35
37
  textStyles,
36
38
  viewStyles
37
39
  } = (0, _utilities.extractStyles)(style);
38
- return /*#__PURE__*/React.createElement(_reactNative.Pressable, {
39
- style: [styles.container, viewStyles],
40
- ...rest
41
- }, /*#__PURE__*/React.createElement(_reactNative.View, {
40
+ return /*#__PURE__*/React.createElement(_reactNative.Pressable, _extends({
41
+ style: [styles.container, viewStyles]
42
+ }, rest), /*#__PURE__*/React.createElement(_reactNative.View, {
42
43
  style: styles.row
43
44
  }, icon ? /*#__PURE__*/React.createElement(Icon, {
44
45
  name: icon,
@@ -73,22 +74,5 @@ const styles = _reactNative.StyleSheet.create({
73
74
 
74
75
  var _default = (0, _theming.withTheme)(AccordionItem);
75
76
 
76
- exports.default = _default;
77
- //# sourceMappingURL=AccordionItem.js.map flexDirection: "row",
78
- alignItems: "center",
79
- paddingLeft: 8
80
- },
81
- item: {
82
- marginVertical: 6,
83
- paddingLeft: 8
84
- },
85
- content: {
86
- flex: 1,
87
- justifyContent: "center"
88
- }
89
- });
90
-
91
- var _default = (0, _theming.withTheme)(AccordionItem);
92
-
93
77
  exports.default = _default;
94
78
  //# sourceMappingURL=AccordionItem.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["AccordionItem.js"],"names":["AccordionItem","Icon","icon","label","style","iconColor","theme","rest","textStyles","viewStyles","React","createElement","Pressable","styles","container","View","row","name","size","color","colors","primary","item","content","Text","selectable","StyleSheet","create","padding","flexDirection","alignItems","paddingLeft","marginVertical","flex","justifyContent"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AACA,MAAMA,aAAa,GAAG,QAA6D;AAAA,MAA5D;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,IAAR;AAAcC,IAAAA,KAAd;AAAqBC,IAAAA,KAArB;AAA4BC,IAAAA,SAA5B;AAAuCC,IAAAA,KAAvC;AAA8C,OAAGC;AAAjD,GAA4D;AAC/E,QAAM;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,MAA6B,8BAAcL,KAAd,CAAnC;AACA,sBAAQM,KAAK,CAACC,aAAN,CAAoBC,sBAApB,EAA+B;AAAER,IAAAA,KAAK,EAAE,CAACS,MAAM,CAACC,SAAR,EAAmBL,UAAnB,CAAT;AAAyC,OAAGF;AAA5C,GAA/B,eACJG,KAAK,CAACC,aAAN,CAAoBI,iBAApB,EAA0B;AAAEX,IAAAA,KAAK,EAAES,MAAM,CAACG;AAAhB,GAA1B,EACId,IAAI,gBAAIQ,KAAK,CAACC,aAAN,CAAoBV,IAApB,EAA0B;AAAEgB,IAAAA,IAAI,EAAEf,IAAR;AAAcgB,IAAAA,IAAI,EAAE,EAApB;AAAwBC,IAAAA,KAAK,EAAEd,SAAS,IAAIC,KAAK,CAACc,MAAN,CAAaC;AAAzD,GAA1B,CAAJ,GAAqG,IAD7G,eAEIX,KAAK,CAACC,aAAN,CAAoBI,iBAApB,EAA0B;AAAEX,IAAAA,KAAK,EAAE,CAACS,MAAM,CAACS,IAAR,EAAcT,MAAM,CAACU,OAArB;AAAT,GAA1B,eACIb,KAAK,CAACC,aAAN,CAAoBa,aAApB,EAA0B;AAAEC,IAAAA,UAAU,EAAE,KAAd;AAAqBrB,IAAAA,KAAK,EAAEI;AAA5B,GAA1B,EAAoEL,KAApE,CADJ,CAFJ,CADI,CAAR;AAKH,CAPD;;AAQA,MAAMU,MAAM,GAAGa,wBAAWC,MAAX,CAAkB;AAC7Bb,EAAAA,SAAS,EAAE;AACPc,IAAAA,OAAO,EAAE;AADF,GADkB;AAI7BZ,EAAAA,GAAG,EAAE;AACDa,IAAAA,aAAa,EAAE,KADd;AAEDC,IAAAA,UAAU,EAAE,QAFX;AAGDC,IAAAA,WAAW,EAAE;AAHZ,GAJwB;AAS7BT,EAAAA,IAAI,EAAE;AACFU,IAAAA,cAAc,EAAE,CADd;AAEFD,IAAAA,WAAW,EAAE;AAFX,GATuB;AAa7BR,EAAAA,OAAO,EAAE;AACLU,IAAAA,IAAI,EAAE,CADD;AAELC,IAAAA,cAAc,EAAE;AAFX;AAboB,CAAlB,CAAf;;eAkBe,wBAAUlC,aAAV,C","sourcesContent":["import * as React from \"react\";\nimport { Pressable, StyleSheet, View, } from \"react-native\";\nimport Text from \"../Text\";\nimport { extractStyles } from \"../../utilities\";\nimport { withTheme } from \"../../theming\";\nconst AccordionItem = ({ Icon, icon, label, style, iconColor, theme, ...rest }) => {\n const { textStyles, viewStyles } = extractStyles(style);\n return (React.createElement(Pressable, { style: [styles.container, viewStyles], ...rest },\n React.createElement(View, { style: styles.row },\n icon ? (React.createElement(Icon, { name: icon, size: 24, color: iconColor || theme.colors.primary })) : null,\n React.createElement(View, { style: [styles.item, styles.content] },\n React.createElement(Text, { selectable: false, style: textStyles }, label)))));\n};\nconst styles = StyleSheet.create({\n container: {\n padding: 8,\n },\n row: {\n flexDirection: \"row\",\n alignItems: \"center\",\n paddingLeft: 8,\n },\n item: {\n marginVertical: 6,\n paddingLeft: 8,\n },\n content: {\n flex: 1,\n justifyContent: \"center\",\n },\n});\nexport default withTheme(AccordionItem);\n"]}
1
+ {"version":3,"sources":["AccordionItem.tsx"],"names":["AccordionItem","Icon","icon","label","style","iconColor","theme","rest","textStyles","viewStyles","styles","container","row","colors","primary","item","content","StyleSheet","create","padding","flexDirection","alignItems","paddingLeft","marginVertical","flex","justifyContent"],"mappings":";;;;;;;AAAA;;AACA;;AAQA;;AAEA;;AACA;;;;;;;;;;AAWA,MAAMA,aAAa,GAAG,QAQT;AAAA,MARU;AACrBC,IAAAA,IADqB;AAErBC,IAAAA,IAFqB;AAGrBC,IAAAA,KAHqB;AAIrBC,IAAAA,KAJqB;AAKrBC,IAAAA,SALqB;AAMrBC,IAAAA,KANqB;AAOrB,OAAGC;AAPkB,GAQV;AACX,QAAM;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,MAA6B,8BAAcL,KAAd,CAAnC;AACA,sBACE,oBAAC,sBAAD;AAAW,IAAA,KAAK,EAAE,CAACM,MAAM,CAACC,SAAR,EAAmBF,UAAnB;AAAlB,KAAsDF,IAAtD,gBACE,oBAAC,iBAAD;AAAM,IAAA,KAAK,EAAEG,MAAM,CAACE;AAApB,KACGV,IAAI,gBACH,oBAAC,IAAD;AACE,IAAA,IAAI,EAAEA,IADR;AAEE,IAAA,IAAI,EAAE,EAFR;AAGE,IAAA,KAAK,EAAEG,SAAS,IAAIC,KAAK,CAACO,MAAN,CAAaC;AAHnC,IADG,GAMD,IAPN,eAQE,oBAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAACJ,MAAM,CAACK,IAAR,EAAcL,MAAM,CAACM,OAArB;AAAb,kBACE,oBAAC,aAAD;AAAM,IAAA,UAAU,EAAE,KAAlB;AAAyB,IAAA,KAAK,EAAER;AAAhC,KACGL,KADH,CADF,CARF,CADF,CADF;AAkBD,CA5BD;;AA8BA,MAAMO,MAAM,GAAGO,wBAAWC,MAAX,CAAkB;AAC/BP,EAAAA,SAAS,EAAE;AACTQ,IAAAA,OAAO,EAAE;AADA,GADoB;AAI/BP,EAAAA,GAAG,EAAE;AACHQ,IAAAA,aAAa,EAAE,KADZ;AAEHC,IAAAA,UAAU,EAAE,QAFT;AAGHC,IAAAA,WAAW,EAAE;AAHV,GAJ0B;AAS/BP,EAAAA,IAAI,EAAE;AACJQ,IAAAA,cAAc,EAAE,CADZ;AAEJD,IAAAA,WAAW,EAAE;AAFT,GATyB;AAa/BN,EAAAA,OAAO,EAAE;AACPQ,IAAAA,IAAI,EAAE,CADC;AAEPC,IAAAA,cAAc,EAAE;AAFT;AAbsB,CAAlB,CAAf;;eAmBe,wBAAUzB,aAAV,C","sourcesContent":["import * as React from \"react\";\nimport {\n Pressable,\n StyleSheet,\n View,\n StyleProp,\n ViewStyle,\n} from \"react-native\";\n\nimport Text from \"../Text\";\nimport type { IconSlot } from \"../../interfaces/Icon\";\nimport { extractStyles } from \"../../utilities\";\nimport { withTheme } from \"../../theming\";\nimport type { Theme } from \"../../styles/DefaultTheme\";\n\ntype Props = {\n icon?: string;\n label: string;\n iconColor?: string;\n style?: StyleProp<ViewStyle>;\n theme: Theme;\n} & IconSlot;\n\nconst AccordionItem = ({\n Icon,\n icon,\n label,\n style,\n iconColor,\n theme,\n ...rest\n}: Props) => {\n const { textStyles, viewStyles } = extractStyles(style);\n return (\n <Pressable style={[styles.container, viewStyles]} {...rest}>\n <View style={styles.row}>\n {icon ? (\n <Icon\n name={icon}\n size={24}\n color={iconColor || theme.colors.primary}\n />\n ) : null}\n <View style={[styles.item, styles.content]}>\n <Text selectable={false} style={textStyles}>\n {label}\n </Text>\n </View>\n </View>\n </Pressable>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n padding: 8,\n },\n row: {\n flexDirection: \"row\",\n alignItems: \"center\",\n paddingLeft: 8,\n },\n item: {\n marginVertical: 6,\n paddingLeft: 8,\n },\n content: {\n flex: 1,\n justifyContent: \"center\",\n },\n});\n\nexport default withTheme(AccordionItem);\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["ActionSheetCancel.js"],"names":["ActionSheetCancel","label","color","style","onPress","React","createElement","ActionSheetItem"],"mappings":";;;;;;;AAAA;;AACA;;;;AACA,MAAMA,iBAAiB,GAAG,QAAkD;AAAA,MAAjD;AAAEC,IAAAA,KAAK,GAAG,QAAV;AAAoBC,IAAAA,KAApB;AAA2BC,IAAAA,KAA3B;AAAkCC,IAAAA;AAAlC,GAAiD;AACxE,sBAAQC,eAAMC,aAAN,CAAoBC,wBAApB,EAAqC;AAAEN,IAAAA,KAAK,EAAEA,KAAT;AAAgBC,IAAAA,KAAK,EAAEA,KAAK,IAAI,SAAhC;AAA2CC,IAAAA,KAAK,EAAE,CAACA,KAAD,CAAlD;AAA2DC,IAAAA,OAAO,EAAEA;AAApE,GAArC,CAAR;AACH,CAFD;;eAGeJ,iB","sourcesContent":["import React from \"react\";\nimport ActionSheetItem from \"./ActionSheetItem\";\nconst ActionSheetCancel = ({ label = \"Cancel\", color, style, onPress, }) => {\n return (React.createElement(ActionSheetItem, { label: label, color: color || \"#FF453A\", style: [style], onPress: onPress }));\n};\nexport default ActionSheetCancel;\n"]}
1
+ {"version":3,"sources":["ActionSheetCancel.tsx"],"names":["ActionSheetCancel","label","color","style","onPress"],"mappings":";;;;;;;AAAA;;AAEA;;;;AASA,MAAMA,iBAAkC,GAAG,QAKrC;AAAA,MALsC;AAC1CC,IAAAA,KAAK,GAAG,QADkC;AAE1CC,IAAAA,KAF0C;AAG1CC,IAAAA,KAH0C;AAI1CC,IAAAA;AAJ0C,GAKtC;AACJ,sBACE,6BAAC,wBAAD;AACE,IAAA,KAAK,EAAEH,KADT;AAEE,IAAA,KAAK,EAAEC,KAAK,IAAI,SAFlB;AAGE,IAAA,KAAK,EAAE,CAACC,KAAD,CAHT;AAIE,IAAA,OAAO,EAAEC;AAJX,IADF;AAQD,CAdD;;eAgBeJ,iB","sourcesContent":["import React from \"react\";\nimport { StyleProp, ViewStyle, TextStyle } from \"react-native\";\nimport ActionSheetItem from \"./ActionSheetItem\";\n\ntype Props = {\n label: string;\n color: string;\n style?: StyleProp<ViewStyle | TextStyle>;\n onPress?: () => void;\n};\n\nconst ActionSheetCancel: React.FC<Props> = ({\n label = \"Cancel\",\n color,\n style,\n onPress,\n}) => {\n return (\n <ActionSheetItem\n label={label}\n color={color || \"#FF453A\"}\n style={[style]}\n onPress={onPress}\n />\n );\n};\n\nexport default ActionSheetCancel;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["Card.js"],"names":["ICON_SIZE","Config","cardIconSize","ICON_CONTAINER_SIZE","ICON_CONTAINER_PADDING","ICON_ELEVATION","cardIconElevation","TopRightCircleIcon","Icon","icon","theme","onPress","React","createElement","Surface","style","justifyContent","alignItems","elevation","position","top","right","width","height","padding","borderRadius","backgroundColor","Pressable","disabled","pressed","opacity","name","size","color","colors","surface","Card","image","cardImageUrl","title","subtitle","description","textCentered","aspectRatio","onPressIcon","titleStyle","subtitleStyle","descriptionStyle","children","bgColor","styles","StyleSheet","flatten","innerPadding","Image","source","uri","resizeMode","View","Title","text","Subtitle","marginTop","Caption"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { StyleSheet, View, Pressable, } from \"react-native\";\nimport Image from \"./Image\";\nimport Surface from \"./Surface\";\nimport { Title, Subtitle, Caption } from \"./Typography\";\nimport { withTheme } from \"../theming\";\nimport Config from \"./Config\";\nconst ICON_SIZE = Config.cardIconSize;\nconst ICON_CONTAINER_SIZE = Config.cardIconSize * 2;\nconst ICON_CONTAINER_PADDING = Config.cardIconSize / 2 - 1;\nconst ICON_ELEVATION = Config.cardIconElevation;\nexport const TopRightCircleIcon = withTheme(({ Icon, icon, theme, onPress, }) => {\n return (React.createElement(Surface, { style: {\n justifyContent: \"center\",\n alignItems: \"center\",\n elevation: ICON_ELEVATION,\n position: \"absolute\",\n top: 12,\n right: 12,\n width: ICON_CONTAINER_SIZE,\n height: ICON_CONTAINER_SIZE,\n padding: ICON_CONTAINER_PADDING,\n borderRadius: ICON_CONTAINER_SIZE,\n backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n } },\n React.createElement(Pressable, { disabled: !onPress, onPress: onPress, style: ({ pressed }) => {\n return [\n {\n opacity: pressed ? 0.8 : 1,\n },\n ];\n } },\n React.createElement(Icon, { name: icon, size: ICON_SIZE, color: theme.colors.surface }))));\n});\nconst Card = ({ Icon, image = Config.cardImageUrl, title, subtitle, description, textCentered, icon, aspectRatio = 1.5, elevation = 2, style, onPress, onPressIcon, titleStyle, subtitleStyle, descriptionStyle, theme, children, }) => {\n const { backgroundColor: bgColor, padding, ...styles } = StyleSheet.flatten(style || {});\n const backgroundColor = bgColor ? bgColor : theme.colors.surface;\n const innerPadding = padding ? padding : 12;\n return (React.createElement(Surface, { style: [{ elevation, backgroundColor }, styles] },\n React.createElement(Pressable, { disabled: !onPress, onPress: onPress, style: ({ pressed }) => {\n return [\n {\n opacity: pressed ? 0.8 : 1,\n },\n ];\n } },\n React.createElement(Image, { style: { aspectRatio }, source: typeof image === \"string\" ? { uri: image } : image, resizeMode: \"cover\" }),\n React.createElement(View, { style: { padding: innerPadding } },\n React.createElement(View, { style: { alignItems: textCentered ? \"center\" : \"flex-start\" } },\n title || (title && title !== \"\") ? (React.createElement(Title, { text: title, style: titleStyle })) : null,\n subtitle || (subtitle && subtitle !== \"\") ? (React.createElement(Subtitle, { text: subtitle, style: subtitleStyle })) : null,\n description || (description && description !== \"\") ? (React.createElement(View, { style: { marginTop: 4 } },\n React.createElement(Caption, { text: description, style: descriptionStyle }))) : null,\n children)),\n icon ? (React.createElement(TopRightCircleIcon, { Icon: Icon, icon: icon, onPress: onPressIcon })) : null)));\n};\nexport default withTheme(Card);\n"]}
1
+ {"version":3,"sources":["Card.tsx"],"names":["ICON_SIZE","Config","cardIconSize","ICON_CONTAINER_SIZE","ICON_CONTAINER_PADDING","ICON_ELEVATION","cardIconElevation","TopRightCircleIcon","Icon","icon","theme","onPress","justifyContent","alignItems","elevation","position","top","right","width","height","padding","borderRadius","backgroundColor","pressed","opacity","colors","surface","Card","image","cardImageUrl","title","subtitle","description","textCentered","aspectRatio","style","onPressIcon","titleStyle","subtitleStyle","descriptionStyle","children","bgColor","styles","StyleSheet","flatten","innerPadding","uri","marginTop"],"mappings":";;;;;;;AAAA;;AACA;;AASA;;AACA;;AACA;;AAEA;;AACA;;;;AAKA,MAAMA,SAAS,GAAGC,gBAAOC,YAAzB;AACA,MAAMC,mBAAmB,GAAGF,gBAAOC,YAAP,GAAsB,CAAlD;AACA,MAAME,sBAAsB,GAAGH,gBAAOC,YAAP,GAAsB,CAAtB,GAA0B,CAAzD;AACA,MAAMG,cAAc,GAAGJ,gBAAOK,iBAA9B;AAEO,MAAMC,kBAAkB,GAAG,wBAChC,QASiB;AAAA,MAThB;AACCC,IAAAA,IADD;AAECC,IAAAA,IAFD;AAGCC,IAAAA,KAHD;AAICC,IAAAA;AAJD,GASgB;AACf,sBACE,6BAAC,gBAAD;AACE,IAAA,KAAK,EAAE;AACLC,MAAAA,cAAc,EAAE,QADX;AAELC,MAAAA,UAAU,EAAE,QAFP;AAGLC,MAAAA,SAAS,EAAET,cAHN;AAILU,MAAAA,QAAQ,EAAE,UAJL;AAKLC,MAAAA,GAAG,EAAE,EALA;AAMLC,MAAAA,KAAK,EAAE,EANF;AAOLC,MAAAA,KAAK,EAAEf,mBAPF;AAQLgB,MAAAA,MAAM,EAAEhB,mBARH;AASLiB,MAAAA,OAAO,EAAEhB,sBATJ;AAULiB,MAAAA,YAAY,EAAElB,mBAVT;AAWLmB,MAAAA,eAAe,EAAE;AAXZ;AADT,kBAeE,6BAAC,sBAAD;AACE,IAAA,QAAQ,EAAE,CAACX,OADb;AAEE,IAAA,OAAO,EAAEA,OAFX;AAGE,IAAA,KAAK,EAAE,SAAiB;AAAA,UAAhB;AAAEY,QAAAA;AAAF,OAAgB;AACtB,aAAO,CACL;AACEC,QAAAA,OAAO,EAAED,OAAO,GAAG,GAAH,GAAS;AAD3B,OADK,CAAP;AAKD;AATH,kBAWE,6BAAC,IAAD;AAAM,IAAA,IAAI,EAAEd,IAAZ;AAAkB,IAAA,IAAI,EAAET,SAAxB;AAAmC,IAAA,KAAK,EAAEU,KAAK,CAACe,MAAN,CAAaC;AAAvD,IAXF,CAfF,CADF;AA+BD,CA1C+B,CAA3B;;;AAiEP,MAAMC,IAAqB,GAAG,SAkBxB;AAAA,MAlByB;AAC7BnB,IAAAA,IAD6B;AAE7BoB,IAAAA,KAAK,GAAG3B,gBAAO4B,YAFc;AAG7BC,IAAAA,KAH6B;AAI7BC,IAAAA,QAJ6B;AAK7BC,IAAAA,WAL6B;AAM7BC,IAAAA,YAN6B;AAO7BxB,IAAAA,IAP6B;AAQ7ByB,IAAAA,WAAW,GAAG,GARe;AAS7BpB,IAAAA,SAAS,GAAG,CATiB;AAU7BqB,IAAAA,KAV6B;AAW7BxB,IAAAA,OAX6B;AAY7ByB,IAAAA,WAZ6B;AAa7BC,IAAAA,UAb6B;AAc7BC,IAAAA,aAd6B;AAe7BC,IAAAA,gBAf6B;AAgB7B7B,IAAAA,KAhB6B;AAiB7B8B,IAAAA;AAjB6B,GAkBzB;;AACJ,QAAM;AACJlB,IAAAA,eAAe,EAAEmB,OADb;AAEJrB,IAAAA,OAFI;AAGJ,OAAGsB;AAHC,MAIFC,wBAAWC,OAAX,CAAmBT,KAAK,IAAI,EAA5B,CAJJ;;AAMA,QAAMb,eAAe,GAAGmB,OAAO,GAAGA,OAAH,GAAa/B,KAAK,CAACe,MAAN,CAAaC,OAAzD;AACA,QAAMmB,YAAY,GAAGzB,OAAO,GAAGA,OAAH,GAAa,EAAzC;AAEA,sBACE,6BAAC,gBAAD;AAAS,IAAA,KAAK,EAAE,CAAC;AAAEN,MAAAA,SAAF;AAAaQ,MAAAA;AAAb,KAAD,EAAiCoB,MAAjC;AAAhB,kBACE,6BAAC,sBAAD;AACE,IAAA,QAAQ,EAAE,CAAC/B,OADb;AAEE,IAAA,OAAO,EAAEA,OAFX;AAGE,IAAA,KAAK,EAAE,SAAiB;AAAA,UAAhB;AAAEY,QAAAA;AAAF,OAAgB;AACtB,aAAO,CACL;AACEC,QAAAA,OAAO,EAAED,OAAO,GAAG,GAAH,GAAS;AAD3B,OADK,CAAP;AAKD;AATH,kBAWE,6BAAC,cAAD;AACE,IAAA,KAAK,EAAE;AAAEW,MAAAA;AAAF,KADT;AAEE,IAAA,MAAM,EAAE,OAAON,KAAP,KAAiB,QAAjB,GAA4B;AAAEkB,MAAAA,GAAG,EAAElB;AAAP,KAA5B,GAA6CA,KAFvD;AAGE,IAAA,UAAU,EAAC;AAHb,IAXF,eAgBE,6BAAC,iBAAD;AAAM,IAAA,KAAK,EAAE;AAAER,MAAAA,OAAO,EAAEyB;AAAX;AAAb,kBACE,6BAAC,iBAAD;AAAM,IAAA,KAAK,EAAE;AAAEhC,MAAAA,UAAU,EAAEoB,YAAY,GAAG,QAAH,GAAc;AAAxC;AAAb,KACGH,KAAK,IAAKA,KAAK,IAAIA,KAAK,KAAK,EAA7B,gBACC,6BAAC,iBAAD;AAAO,IAAA,IAAI,EAAEA,KAAb;AAAoB,IAAA,KAAK,EAAEO;AAA3B,IADD,GAEG,IAHN,EAIGN,QAAQ,IAAKA,QAAQ,IAAIA,QAAQ,KAAK,EAAtC,gBACC,6BAAC,oBAAD;AAAU,IAAA,IAAI,EAAEA,QAAhB;AAA0B,IAAA,KAAK,EAAEO;AAAjC,IADD,GAEG,IANN,EAOGN,WAAW,IAAKA,WAAW,IAAIA,WAAW,KAAK,EAA/C,gBACC,6BAAC,iBAAD;AAAM,IAAA,KAAK,EAAE;AAAEe,MAAAA,SAAS,EAAE;AAAb;AAAb,kBACE,6BAAC,mBAAD;AAAS,IAAA,IAAI,EAAEf,WAAf;AAA4B,IAAA,KAAK,EAAEO;AAAnC,IADF,CADD,GAIG,IAXN,EAYGC,QAZH,CADF,CAhBF,EAgCG/B,IAAI,gBACH,6BAAC,kBAAD;AAAoB,IAAA,IAAI,EAAED,IAA1B;AAAgC,IAAA,IAAI,EAAEC,IAAtC;AAA4C,IAAA,OAAO,EAAE2B;AAArD,IADG,GAED,IAlCN,CADF,CADF;AAwCD,CApED;;eAsEe,wBAAUT,IAAV,C","sourcesContent":["import React from \"react\";\nimport {\n StyleSheet,\n View,\n ImageSourcePropType,\n StyleProp,\n ViewStyle,\n TextStyle,\n Pressable,\n} from \"react-native\";\nimport Image from \"./Image\";\nimport Surface from \"./Surface\";\nimport { Title, Subtitle, Caption } from \"./Typography\";\n\nimport { withTheme } from \"../theming\";\nimport Config from \"./Config\";\n\nimport type { Theme } from \"../styles/DefaultTheme\";\nimport type { IconSlot } from \"../interfaces/Icon\";\n\nconst ICON_SIZE = Config.cardIconSize;\nconst ICON_CONTAINER_SIZE = Config.cardIconSize * 2;\nconst ICON_CONTAINER_PADDING = Config.cardIconSize / 2 - 1;\nconst ICON_ELEVATION = Config.cardIconElevation;\n\nexport const TopRightCircleIcon = withTheme(\n ({\n Icon,\n icon,\n theme,\n onPress,\n }: {\n icon: string;\n theme: Theme;\n onPress?: () => void;\n } & IconSlot) => {\n return (\n <Surface\n style={{\n justifyContent: \"center\",\n alignItems: \"center\",\n elevation: ICON_ELEVATION,\n position: \"absolute\",\n top: 12,\n right: 12,\n width: ICON_CONTAINER_SIZE,\n height: ICON_CONTAINER_SIZE,\n padding: ICON_CONTAINER_PADDING,\n borderRadius: ICON_CONTAINER_SIZE,\n backgroundColor: \"rgba(0, 0, 0, 0.1)\",\n }}\n >\n <Pressable\n disabled={!onPress}\n onPress={onPress}\n style={({ pressed }) => {\n return [\n {\n opacity: pressed ? 0.8 : 1,\n },\n ];\n }}\n >\n <Icon name={icon} size={ICON_SIZE} color={theme.colors.surface} />\n </Pressable>\n </Surface>\n );\n }\n);\n\ntype Props = {\n image?: string | ImageSourcePropType;\n title?: string;\n subtitle?: string;\n description?: string;\n textCentered: boolean;\n icon?: string;\n aspectRatio?: number;\n elevation?: number;\n numColumns?: number;\n theme: Theme;\n titleStyle?: StyleProp<TextStyle>;\n subtitleStyle?: StyleProp<TextStyle>;\n descriptionStyle?: StyleProp<TextStyle>;\n style?: StyleProp<ViewStyle>;\n onPress?: () => void;\n onPressIcon?: () => void;\n children?: React.ReactNode;\n} & IconSlot;\n\nconst Card: React.FC<Props> = ({\n Icon,\n image = Config.cardImageUrl,\n title,\n subtitle,\n description,\n textCentered,\n icon,\n aspectRatio = 1.5,\n elevation = 2,\n style,\n onPress,\n onPressIcon,\n titleStyle,\n subtitleStyle,\n descriptionStyle,\n theme,\n children,\n}) => {\n const {\n backgroundColor: bgColor,\n padding,\n ...styles\n } = StyleSheet.flatten(style || {});\n\n const backgroundColor = bgColor ? bgColor : theme.colors.surface;\n const innerPadding = padding ? padding : 12;\n\n return (\n <Surface style={[{ elevation, backgroundColor }, styles]}>\n <Pressable\n disabled={!onPress}\n onPress={onPress}\n style={({ pressed }) => {\n return [\n {\n opacity: pressed ? 0.8 : 1,\n },\n ];\n }}\n >\n <Image\n style={{ aspectRatio }}\n source={typeof image === \"string\" ? { uri: image } : image}\n resizeMode=\"cover\"\n />\n <View style={{ padding: innerPadding }}>\n <View style={{ alignItems: textCentered ? \"center\" : \"flex-start\" }}>\n {title || (title && title !== \"\") ? (\n <Title text={title} style={titleStyle} />\n ) : null}\n {subtitle || (subtitle && subtitle !== \"\") ? (\n <Subtitle text={subtitle} style={subtitleStyle} />\n ) : null}\n {description || (description && description !== \"\") ? (\n <View style={{ marginTop: 4 }}>\n <Caption text={description} style={descriptionStyle} />\n </View>\n ) : null}\n {children}\n </View>\n </View>\n {icon ? (\n <TopRightCircleIcon Icon={Icon} icon={icon} onPress={onPressIcon} />\n ) : null}\n </Pressable>\n </Surface>\n );\n};\n\nexport default withTheme(Card);\n"]}
@@ -28,7 +28,7 @@ const Checkbox = _ref => {
28
28
  Icon,
29
29
  status,
30
30
  disabled = false,
31
- onPress = () => {},
31
+ onPress,
32
32
  onCheck,
33
33
  onUncheck,
34
34
  color,
@@ -62,14 +62,14 @@ const Checkbox = _ref => {
62
62
  const handlePress = () => {
63
63
  const newValue = !internalValue;
64
64
  setInternalValue(newValue);
65
- onPress(newValue);
65
+ onPress === null || onPress === void 0 ? void 0 : onPress(newValue);
66
66
 
67
- if (onCheck && newValue) {
68
- onCheck();
67
+ if (newValue) {
68
+ onCheck === null || onCheck === void 0 ? void 0 : onCheck();
69
69
  }
70
70
 
71
- if (onUncheck && !newValue) {
72
- onUncheck();
71
+ if (!newValue) {
72
+ onUncheck === null || onUncheck === void 0 ? void 0 : onUncheck();
73
73
  }
74
74
  };
75
75
 
@@ -1 +1 @@
1
- {"version":3,"sources":["Checkbox.tsx"],"names":["Checkbox","Icon","status","disabled","onPress","onCheck","onUncheck","color","uncheckedColor","defaultValue","checkedIcon","uncheckedIcon","size","style","rest","internalValue","setInternalValue","React","useState","useEffect","previousDefaultValue","Boolean","colors","checkboxColor","primary","handlePress","newValue","styles","container","width","height","icon","StyleSheet","absoluteFill","fillContainer","fill","opacity","borderColor","create","borderRadius","alignItems","justifyContent","alignSelf"],"mappings":";;;;;;;AAAA;;AACA;;AAOA;;AAGA;;AACA;;;;;;;;;;AAiBA,MAAMA,QAAsE,GAC1E,QAeM;AAAA,MAfL;AACCC,IAAAA,IADD;AAECC,IAAAA,MAFD;AAGCC,IAAAA,QAAQ,GAAG,KAHZ;AAICC,IAAAA,OAAO,GAAG,MAAM,CAAE,CAJnB;AAKCC,IAAAA,OALD;AAMCC,IAAAA,SAND;AAOCC,IAAAA,KAPD;AAQCC,IAAAA,cARD;AASCC,IAAAA,YATD;AAUCC,IAAAA,WAAW,GAAG,wCAVf;AAWCC,IAAAA,aAAa,GAAG,+CAXjB;AAYCC,IAAAA,IAAI,GAAG,EAZR;AAaCC,IAAAA,KAbD;AAcC,OAAGC;AAdJ,GAeK;AACJ,QAAM,CAACC,aAAD,EAAgBC,gBAAhB,IAAoCC,KAAK,CAACC,QAAN,CACxChB,MAAM,IAAIO,YAAV,IAA0B,KADc,CAA1C;AAIAQ,EAAAA,KAAK,CAACE,SAAN,CAAgB,MAAM;AACpB,QAAIjB,MAAM,IAAI,IAAd,EAAoB;AAClBc,MAAAA,gBAAgB,CAACd,MAAD,CAAhB;AACD;AACF,GAJD,EAIG,CAACA,MAAD,CAJH,EALI,CAWJ;AACA;;AACA,QAAMkB,oBAAoB,GAAG,wBAAYX,YAAZ,CAA7B;AAGAQ,EAAAA,KAAK,CAACE,SAAN,CAAgB,MAAM;AACpB,QAAIV,YAAY,KAAKW,oBAArB,EAA2C;AACzCJ,MAAAA,gBAAgB,CAACK,OAAO,CAACZ,YAAD,CAAR,CAAhB;AACD;AACF,GAJD,EAIG,CAACA,YAAD,EAAeW,oBAAf,CAJH;AAMA,QAAM;AAAEE,IAAAA;AAAF,MAAa,wBAAnB;AAEA,QAAMC,aAAa,GAAGR,aAAa,GAC/BR,KAAK,IAAIe,MAAM,CAACE,OADe,GAE/BhB,cAAc,IAAIc,MAAM,CAACE,OAF7B;;AAIA,QAAMC,WAAW,GAAG,MAAM;AACxB,UAAMC,QAAQ,GAAG,CAACX,aAAlB;AACAC,IAAAA,gBAAgB,CAACU,QAAD,CAAhB;AACAtB,IAAAA,OAAO,CAACsB,QAAD,CAAP;;AAEA,QAAIrB,OAAO,IAAIqB,QAAf,EAAyB;AACvBrB,MAAAA,OAAO;AACR;;AAED,QAAIC,SAAS,IAAI,CAACoB,QAAlB,EAA4B;AAC1BpB,MAAAA,SAAS;AACV;AACF,GAZD;;AAcA,sBACE,oBAAC,kBAAD,eACMQ,IADN;AAEE,IAAA,OAAO,EAAEW,WAFX;AAGE,IAAA,QAAQ,EAAEtB,QAHZ;AAIE,IAAA,kBAAkB,EAAE;AAAEA,MAAAA;AAAF,KAJtB;AAKE,IAAA,iBAAiB,EAAC,QALpB;AAME,IAAA,uBAAuB,EAAC,QAN1B;AAOE,IAAA,KAAK,EAAE,CAACwB,MAAM,CAACC,SAAR,EAAmBf,KAAnB,EAA0B;AAAEgB,MAAAA,KAAK,EAAEjB,IAAT;AAAekB,MAAAA,MAAM,EAAElB;AAAvB,KAA1B;AAPT,mBASE,oBAAC,IAAD;AACE,IAAA,KAAK,EAAEe,MAAM,CAACI,IADhB;AAEE,IAAA,IAAI,EAAEhB,aAAa,GAAGL,WAAH,GAAiBC,aAFtC;AAGE,IAAA,IAAI,EAAEC,IAHR;AAIE,IAAA,KAAK,EAAEW;AAJT,IATF,eAeE,oBAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAACS,wBAAWC,YAAZ,EAA0BN,MAAM,CAACO,aAAjC;AAAb,kBACE,oBAAC,iBAAD;AACE,IAAA,KAAK,EAAE,CACLP,MAAM,CAACQ,IADF,EAEL;AAAEC,MAAAA,OAAO,EAAEjC,QAAQ,GAAG,GAAH,GAAS;AAA5B,KAFK,EAGL;AAAEkC,MAAAA,WAAW,EAAEd;AAAf,KAHK;AADT,IADF,CAfF,CADF;AA2BD,CArFH;;AAuFA,MAAMI,MAAM,GAAGK,wBAAWM,MAAX,CAAkB;AAC/BV,EAAAA,SAAS,EAAE;AACTW,IAAAA,YAAY,EAAE;AADL,GADoB;AAI/BL,EAAAA,aAAa,EAAE;AACbM,IAAAA,UAAU,EAAE,QADC;AAEbC,IAAAA,cAAc,EAAE;AAFH,GAJgB;AAQ/BV,EAAAA,IAAI,EAAE;AACJW,IAAAA,SAAS,EAAE;AADP,GARyB;AAW/BP,EAAAA,IAAI,EAAE;AACJI,IAAAA,YAAY,EAAE,CADV;AAEJV,IAAAA,KAAK,EAAE,EAFH;AAGJC,IAAAA,MAAM,EAAE,EAHJ;AAIJY,IAAAA,SAAS,EAAE;AAJP;AAXyB,CAAlB,CAAf;;eAmBe1C,Q","sourcesContent":["import * as React from \"react\";\nimport {\n View,\n StyleSheet,\n TouchableHighlightProps,\n StyleProp,\n ViewStyle,\n} from \"react-native\";\nimport { useTheme } from \"../../theming\";\nimport type { IconSlot } from \"../../interfaces/Icon\";\n\nimport Touchable from \"../Touchable\";\nimport { usePrevious } from \"../../hooks\";\n\nexport interface CheckboxProps {\n status?: boolean;\n disabled?: boolean;\n onPress?: (checked: boolean) => void;\n onCheck?: () => void;\n onUncheck?: () => void;\n color?: string;\n uncheckedColor?: string;\n checkedIcon?: string;\n uncheckedIcon?: string;\n defaultValue?: boolean;\n size?: number;\n style?: StyleProp<ViewStyle>;\n}\n\nconst Checkbox: React.FC<CheckboxProps & TouchableHighlightProps & IconSlot> =\n ({\n Icon,\n status,\n disabled = false,\n onPress = () => {},\n onCheck,\n onUncheck,\n color,\n uncheckedColor,\n defaultValue,\n checkedIcon = \"MaterialCommunityIcons/checkbox-marked\",\n uncheckedIcon = \"MaterialCommunityIcons/checkbox-blank-outline\",\n size = 24,\n style,\n ...rest\n }) => {\n const [internalValue, setInternalValue] = React.useState<boolean>(\n status || defaultValue || false\n );\n\n React.useEffect(() => {\n if (status != null) {\n setInternalValue(status);\n }\n }, [status]);\n\n // This special logic is to handle weird APIs like Airtable that return\n // true or undefined for a boolean\n const previousDefaultValue = usePrevious(defaultValue) as\n | boolean\n | undefined;\n React.useEffect(() => {\n if (defaultValue !== previousDefaultValue) {\n setInternalValue(Boolean(defaultValue));\n }\n }, [defaultValue, previousDefaultValue]);\n\n const { colors } = useTheme();\n\n const checkboxColor = internalValue\n ? color || colors.primary\n : uncheckedColor || colors.primary;\n\n const handlePress = () => {\n const newValue = !internalValue;\n setInternalValue(newValue);\n onPress(newValue);\n\n if (onCheck && newValue) {\n onCheck();\n }\n\n if (onUncheck && !newValue) {\n onUncheck();\n }\n };\n\n return (\n <Touchable\n {...rest}\n onPress={handlePress}\n disabled={disabled}\n accessibilityState={{ disabled }}\n accessibilityRole=\"button\"\n accessibilityLiveRegion=\"polite\"\n style={[styles.container, style, { width: size, height: size }]}\n >\n <Icon\n style={styles.icon}\n name={internalValue ? checkedIcon : uncheckedIcon}\n size={size}\n color={checkboxColor}\n />\n <View style={[StyleSheet.absoluteFill, styles.fillContainer]}>\n <View\n style={[\n styles.fill,\n { opacity: disabled ? 0.5 : 1 },\n { borderColor: checkboxColor },\n ]}\n />\n </View>\n </Touchable>\n );\n };\n\nconst styles = StyleSheet.create({\n container: {\n borderRadius: 18,\n },\n fillContainer: {\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n icon: {\n alignSelf: \"center\",\n },\n fill: {\n borderRadius: 5,\n width: 30,\n height: 30,\n alignSelf: \"center\",\n },\n});\n\nexport default Checkbox;\n"]}
1
+ {"version":3,"sources":["Checkbox.tsx"],"names":["Checkbox","Icon","status","disabled","onPress","onCheck","onUncheck","color","uncheckedColor","defaultValue","checkedIcon","uncheckedIcon","size","style","rest","internalValue","setInternalValue","React","useState","useEffect","previousDefaultValue","Boolean","colors","checkboxColor","primary","handlePress","newValue","styles","container","width","height","icon","StyleSheet","absoluteFill","fillContainer","fill","opacity","borderColor","create","borderRadius","alignItems","justifyContent","alignSelf"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport {\n View,\n StyleSheet,\n TouchableHighlightProps,\n StyleProp,\n ViewStyle,\n} from \"react-native\";\nimport { useTheme } from \"../../theming\";\nimport type { IconSlot } from \"../../interfaces/Icon\";\n\nimport Touchable from \"../Touchable\";\nimport { usePrevious } from \"../../hooks\";\n\nexport interface CheckboxProps {\n status?: boolean;\n disabled?: boolean;\n onPress?: (checked: boolean) => void;\n onCheck?: () => void;\n onUncheck?: () => void;\n color?: string;\n uncheckedColor?: string;\n checkedIcon?: string;\n uncheckedIcon?: string;\n defaultValue?: boolean;\n size?: number;\n style?: StyleProp<ViewStyle>;\n}\n\nconst Checkbox: React.FC<CheckboxProps & TouchableHighlightProps & IconSlot> =\n ({\n Icon,\n status,\n disabled = false,\n onPress,\n onCheck,\n onUncheck,\n color,\n uncheckedColor,\n defaultValue,\n checkedIcon = \"MaterialCommunityIcons/checkbox-marked\",\n uncheckedIcon = \"MaterialCommunityIcons/checkbox-blank-outline\",\n size = 24,\n style,\n ...rest\n }) => {\n const [internalValue, setInternalValue] = React.useState<boolean>(\n status || defaultValue || false\n );\n\n React.useEffect(() => {\n if (status != null) {\n setInternalValue(status);\n }\n }, [status]);\n\n // This special logic is to handle weird APIs like Airtable that return\n // true or undefined for a boolean\n const previousDefaultValue = usePrevious(defaultValue) as\n | boolean\n | undefined;\n\n React.useEffect(() => {\n if (defaultValue !== previousDefaultValue) {\n setInternalValue(Boolean(defaultValue));\n }\n }, [defaultValue, previousDefaultValue]);\n\n const { colors } = useTheme();\n\n const checkboxColor = internalValue\n ? color || colors.primary\n : uncheckedColor || colors.primary;\n\n const handlePress = () => {\n const newValue = !internalValue;\n\n setInternalValue(newValue);\n onPress?.(newValue);\n\n if (newValue) {\n onCheck?.();\n }\n\n if (!newValue) {\n onUncheck?.();\n }\n };\n\n return (\n <Touchable\n {...rest}\n onPress={handlePress}\n disabled={disabled}\n accessibilityState={{ disabled }}\n accessibilityRole=\"button\"\n accessibilityLiveRegion=\"polite\"\n style={[styles.container, style, { width: size, height: size }]}\n >\n <Icon\n style={styles.icon}\n name={internalValue ? checkedIcon : uncheckedIcon}\n size={size}\n color={checkboxColor}\n />\n <View style={[StyleSheet.absoluteFill, styles.fillContainer]}>\n <View\n style={[\n styles.fill,\n { opacity: disabled ? 0.5 : 1 },\n { borderColor: checkboxColor },\n ]}\n />\n </View>\n </Touchable>\n );\n };\n\nconst styles = StyleSheet.create({\n container: {\n borderRadius: 18,\n },\n fillContainer: {\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n icon: {\n alignSelf: \"center\",\n },\n fill: {\n borderRadius: 5,\n width: 30,\n height: 30,\n alignSelf: \"center\",\n },\n});\n\nexport default Checkbox;\n"]}
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.Direction = void 0;
7
+
8
+ var React = _interopRequireWildcard(require("react"));
9
+
10
+ var _reactNative = require("react-native");
11
+
12
+ var _Checkbox = _interopRequireDefault(require("./Checkbox"));
13
+
14
+ var _Text = _interopRequireDefault(require("../Text"));
15
+
16
+ var _context = require("./context");
17
+
18
+ var _Touchable = _interopRequireDefault(require("../Touchable"));
19
+
20
+ var _utilities = require("../../utilities");
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
+
24
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
+
26
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
+
28
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
29
+
30
+ let Direction;
31
+ exports.Direction = Direction;
32
+
33
+ (function (Direction) {
34
+ Direction["Row"] = "row";
35
+ Direction["RowReverse"] = "row-reverse";
36
+ })(Direction || (exports.Direction = Direction = {}));
37
+
38
+ const getCheckboxAlignment = (parentDirection, direction) => {
39
+ if (parentDirection === _context.Direction.Horizontal) {
40
+ return direction === Direction.Row ? "flex-start" : "flex-end";
41
+ } else if (direction === Direction.RowReverse) {
42
+ return "flex-start";
43
+ } else {
44
+ return "flex-end";
45
+ }
46
+ };
47
+
48
+ const renderLabel = (value, labelStyle, textStyle) => {
49
+ if (typeof value === "string") {
50
+ return /*#__PURE__*/React.createElement(_Text.default, {
51
+ style: [labelStyle, textStyle]
52
+ }, value);
53
+ } else {
54
+ return /*#__PURE__*/React.createElement(React.Fragment, null, value);
55
+ }
56
+ };
57
+
58
+ const CheckboxGroupRow = _ref => {
59
+ let {
60
+ Icon,
61
+ label = "Label",
62
+ status,
63
+ value,
64
+ onPress,
65
+ labelContainerStyle,
66
+ labelStyle,
67
+ checkboxStyle,
68
+ direction = Direction.Row,
69
+ disabled,
70
+ style,
71
+ color,
72
+ uncheckedColor,
73
+ ...rest
74
+ } = _ref;
75
+ const {
76
+ values: selectedValues,
77
+ onValueChange,
78
+ direction: parentDirection
79
+ } = (0, _context.useCheckboxGroupContext)();
80
+ const values = Array.isArray(selectedValues) ? selectedValues : [];
81
+ const isChecked = status || values.includes(value);
82
+
83
+ const handlePress = () => {
84
+ if (!disabled) {
85
+ onPress === null || onPress === void 0 ? void 0 : onPress(!isChecked);
86
+ onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange(value, !isChecked);
87
+ }
88
+ };
89
+
90
+ const {
91
+ textStyles,
92
+ viewStyles
93
+ } = (0, _utilities.extractStyles)(style);
94
+ return /*#__PURE__*/React.createElement(_Touchable.default, _extends({
95
+ onPress: handlePress,
96
+ style: [styles.mainParent, {
97
+ flexDirection: direction
98
+ }, viewStyles],
99
+ disabled: disabled
100
+ }, rest), /*#__PURE__*/React.createElement(_reactNative.View, {
101
+ style: [styles.label, {
102
+ alignItems: direction === Direction.Row ? "flex-start" : "flex-end"
103
+ }, labelContainerStyle]
104
+ }, renderLabel(label, labelStyle, textStyles)), /*#__PURE__*/React.createElement(_reactNative.View, {
105
+ style: {
106
+ flex: 1,
107
+ alignItems: getCheckboxAlignment(parentDirection, direction)
108
+ }
109
+ }, /*#__PURE__*/React.createElement(_Checkbox.default, {
110
+ Icon: Icon,
111
+ status: isChecked,
112
+ onPress: handlePress,
113
+ style: checkboxStyle,
114
+ disabled: disabled,
115
+ color: color,
116
+ uncheckedColor: uncheckedColor
117
+ })));
118
+ };
119
+
120
+ const styles = _reactNative.StyleSheet.create({
121
+ mainParent: {
122
+ alignItems: "center",
123
+ justifyContent: "space-around",
124
+ paddingStart: 20,
125
+ minHeight: 50,
126
+ paddingEnd: 20,
127
+ display: "flex",
128
+ ..._reactNative.Platform.select({
129
+ web: {
130
+ cursor: "pointer",
131
+ userSelect: "none"
132
+ }
133
+ })
134
+ },
135
+ label: {
136
+ flex: 3
137
+ }
138
+ });
139
+
140
+ var _default = CheckboxGroupRow;
141
+ exports.default = _default;
142
+ //# sourceMappingURL=CheckboxGroupRow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["CheckboxGroupRow.tsx"],"names":["Direction","getCheckboxAlignment","parentDirection","direction","GroupDirection","Horizontal","Row","RowReverse","renderLabel","value","labelStyle","textStyle","CheckboxGroupRow","Icon","label","status","onPress","labelContainerStyle","checkboxStyle","disabled","style","color","uncheckedColor","rest","values","selectedValues","onValueChange","Array","isArray","isChecked","includes","handlePress","textStyles","viewStyles","styles","mainParent","flexDirection","alignItems","flex","StyleSheet","create","justifyContent","paddingStart","minHeight","paddingEnd","display","Platform","select","web","cursor","userSelect"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport {\n StyleProp,\n ViewStyle,\n StyleSheet,\n TextStyle,\n View,\n Platform,\n} from \"react-native\";\nimport Checkbox, { CheckboxProps } from \"./Checkbox\";\nimport Text from \"../Text\";\nimport { useCheckboxGroupContext } from \"./context\";\nimport type { IconSlot } from \"../../interfaces/Icon\";\nimport { Direction as GroupDirection } from \"./context\";\nimport Touchable from \"../Touchable\";\nimport { extractStyles } from \"../../utilities\";\n\nexport enum Direction {\n Row = \"row\",\n RowReverse = \"row-reverse\",\n}\n\nexport interface CheckboxGroupRowProps extends Omit<CheckboxProps, \"onPress\"> {\n label: string | React.ReactNode;\n value: string; // A string that this checkbox represents\n labelContainerStyle: StyleProp<ViewStyle>;\n checkboxStyle?: StyleProp<ViewStyle>;\n labelStyle?: StyleProp<TextStyle>;\n onPress?: (value: boolean) => void;\n direction?: Direction;\n color: string;\n unselectedColor: string;\n}\n\nconst getCheckboxAlignment = (\n parentDirection: GroupDirection | undefined,\n direction: Direction\n) => {\n if (parentDirection === GroupDirection.Horizontal) {\n return direction === Direction.Row ? \"flex-start\" : \"flex-end\";\n } else if (direction === Direction.RowReverse) {\n return \"flex-start\";\n } else {\n return \"flex-end\";\n }\n};\n\nconst renderLabel = (\n value: string | React.ReactNode,\n labelStyle: StyleProp<TextStyle>,\n textStyle: StyleProp<TextStyle>\n) => {\n if (typeof value === \"string\") {\n return <Text style={[labelStyle, textStyle]}>{value}</Text>;\n } else {\n return <>{value}</>;\n }\n};\n\nconst CheckboxGroupRow: React.FC<CheckboxGroupRowProps & IconSlot> = ({\n Icon,\n label = \"Label\",\n status,\n value,\n onPress,\n labelContainerStyle,\n labelStyle,\n checkboxStyle,\n direction = Direction.Row,\n disabled,\n style,\n color,\n uncheckedColor,\n ...rest\n}) => {\n const {\n values: selectedValues,\n onValueChange,\n direction: parentDirection,\n } = useCheckboxGroupContext();\n\n const values = Array.isArray(selectedValues) ? selectedValues : [];\n const isChecked = status || values.includes(value);\n\n const handlePress = () => {\n if (!disabled) {\n onPress?.(!isChecked);\n onValueChange?.(value, !isChecked);\n }\n };\n\n const { textStyles, viewStyles } = extractStyles(style);\n\n return (\n <Touchable\n onPress={handlePress}\n style={[styles.mainParent, { flexDirection: direction }, viewStyles]}\n disabled={disabled}\n {...rest}\n >\n <View\n style={[\n styles.label,\n {\n alignItems: direction === Direction.Row ? \"flex-start\" : \"flex-end\",\n },\n labelContainerStyle,\n ]}\n >\n {renderLabel(label, labelStyle, textStyles)}\n </View>\n <View\n style={{\n flex: 1,\n alignItems: getCheckboxAlignment(parentDirection, direction),\n }}\n >\n <Checkbox\n Icon={Icon}\n status={isChecked}\n onPress={handlePress}\n style={checkboxStyle}\n disabled={disabled}\n color={color}\n uncheckedColor={uncheckedColor}\n />\n </View>\n </Touchable>\n );\n};\n\nconst styles = StyleSheet.create({\n mainParent: {\n alignItems: \"center\",\n justifyContent: \"space-around\",\n paddingStart: 20,\n minHeight: 50,\n paddingEnd: 20,\n display: \"flex\",\n ...Platform.select({\n web: {\n cursor: \"pointer\",\n userSelect: \"none\",\n },\n }),\n },\n label: {\n flex: 3,\n },\n});\n\nexport default CheckboxGroupRow;\n"]}
@@ -9,15 +9,17 @@ var React = _interopRequireWildcard(require("react"));
9
9
 
10
10
  var _reactNative = require("react-native");
11
11
 
12
- var _Checkbox = _interopRequireDefault(require("./Checkbox"));
12
+ var _lodash = require("lodash");
13
13
 
14
- var _Text = _interopRequireDefault(require("../Text"));
14
+ var _utilities = require("../../utilities");
15
+
16
+ var _hooks = require("../../hooks");
15
17
 
16
- var _context = require("./context");
18
+ var _Text = _interopRequireDefault(require("../Text"));
17
19
 
18
20
  var _Touchable = _interopRequireDefault(require("../Touchable"));
19
21
 
20
- var _utilities = require("../../utilities");
22
+ var _Checkbox = _interopRequireDefault(require("./Checkbox"));
21
23
 
22
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
25
 
@@ -35,20 +37,10 @@ exports.Direction = Direction;
35
37
  Direction["RowReverse"] = "row-reverse";
36
38
  })(Direction || (exports.Direction = Direction = {}));
37
39
 
38
- const getCheckboxAlignment = (parentDirection, direction) => {
39
- if (parentDirection === _context.Direction.Horizontal) {
40
- return direction === Direction.Row ? "flex-start" : "flex-end";
41
- } else if (direction === Direction.RowReverse) {
42
- return "flex-start";
43
- } else {
44
- return "flex-end";
45
- }
46
- };
47
-
48
40
  const renderLabel = (value, labelStyle, textStyle) => {
49
- if (typeof value === "string") {
41
+ if ((0, _lodash.isString)(value)) {
50
42
  return /*#__PURE__*/React.createElement(_Text.default, {
51
- style: [labelStyle, textStyle]
43
+ style: [textStyle, labelStyle]
52
44
  }, value);
53
45
  } else {
54
46
  return /*#__PURE__*/React.createElement(React.Fragment, null, value);
@@ -57,33 +49,52 @@ const renderLabel = (value, labelStyle, textStyle) => {
57
49
 
58
50
  const CheckboxRow = _ref => {
59
51
  let {
60
- Icon,
61
52
  label = "Label",
62
- status,
63
- value,
64
- onPress = () => {},
65
- labelContainerStyle,
66
53
  labelStyle,
54
+ labelContainerStyle,
67
55
  checkboxStyle,
68
56
  direction = Direction.Row,
69
- disabled,
70
- style,
57
+ Icon,
58
+ status,
59
+ disabled = false,
60
+ onPress,
61
+ onCheck,
62
+ onUncheck,
71
63
  color,
72
64
  uncheckedColor,
65
+ defaultValue,
66
+ checkedIcon,
67
+ uncheckedIcon,
68
+ size,
69
+ style,
73
70
  ...rest
74
71
  } = _ref;
75
- const {
76
- values: selectedValues,
77
- onValueChange,
78
- direction: parentDirection
79
- } = (0, _context.useCheckboxGroupContext)();
80
- const values = Array.isArray(selectedValues) ? selectedValues : [];
81
- const isChecked = status || values.includes(value);
72
+ const [internalValue, setInternalValue] = React.useState(status || defaultValue || false);
73
+ React.useEffect(() => {
74
+ if (status != null) {
75
+ setInternalValue(status);
76
+ }
77
+ }, [status]); // This special logic is to handle weird APIs like Airtable that return
78
+ // true or undefined for a boolean
79
+
80
+ const previousDefaultValue = (0, _hooks.usePrevious)(defaultValue);
81
+ React.useEffect(() => {
82
+ if (defaultValue !== previousDefaultValue) {
83
+ setInternalValue(Boolean(defaultValue));
84
+ }
85
+ }, [defaultValue, previousDefaultValue]);
82
86
 
83
87
  const handlePress = () => {
84
- if (!disabled) {
85
- onPress(!isChecked);
86
- onValueChange && onValueChange(value, !isChecked);
88
+ const newValue = !internalValue;
89
+ setInternalValue(newValue);
90
+ onPress === null || onPress === void 0 ? void 0 : onPress(newValue);
91
+
92
+ if (newValue) {
93
+ onCheck === null || onCheck === void 0 ? void 0 : onCheck();
94
+ }
95
+
96
+ if (!newValue) {
97
+ onUncheck === null || onUncheck === void 0 ? void 0 : onUncheck();
87
98
  }
88
99
  };
89
100
 
@@ -93,28 +104,26 @@ const CheckboxRow = _ref => {
93
104
  } = (0, _utilities.extractStyles)(style);
94
105
  return /*#__PURE__*/React.createElement(_Touchable.default, _extends({
95
106
  onPress: handlePress,
96
- style: [styles.mainParent, {
107
+ style: [viewStyles, styles.mainParent, {
97
108
  flexDirection: direction
98
- }, viewStyles],
109
+ }],
99
110
  disabled: disabled
100
111
  }, rest), /*#__PURE__*/React.createElement(_reactNative.View, {
101
112
  style: [styles.label, {
102
113
  alignItems: direction === Direction.Row ? "flex-start" : "flex-end"
103
114
  }, labelContainerStyle]
104
- }, renderLabel(label, labelStyle, textStyles)), /*#__PURE__*/React.createElement(_reactNative.View, {
105
- style: {
106
- flex: 1,
107
- alignItems: getCheckboxAlignment(parentDirection, direction)
108
- }
109
- }, /*#__PURE__*/React.createElement(_Checkbox.default, {
115
+ }, renderLabel(label, textStyles, labelStyle)), /*#__PURE__*/React.createElement(_Checkbox.default, {
110
116
  Icon: Icon,
111
- status: isChecked,
112
- onPress: handlePress,
117
+ status: internalValue,
113
118
  style: checkboxStyle,
114
119
  disabled: disabled,
120
+ onPress: handlePress,
115
121
  color: color,
116
- uncheckedColor: uncheckedColor
117
- })));
122
+ uncheckedColor: uncheckedColor,
123
+ checkedIcon: checkedIcon,
124
+ uncheckedIcon: uncheckedIcon,
125
+ size: size
126
+ }));
118
127
  };
119
128
 
120
129
  const styles = _reactNative.StyleSheet.create({
@@ -124,7 +133,7 @@ const styles = _reactNative.StyleSheet.create({
124
133
  paddingStart: 20,
125
134
  minHeight: 50,
126
135
  paddingEnd: 20,
127
- flex: 1,
136
+ display: "flex",
128
137
  ..._reactNative.Platform.select({
129
138
  web: {
130
139
  cursor: "pointer",