bootstrap-rn 0.2.1 → 0.2.3

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.
@@ -2546,21 +2546,21 @@ var variables = css(_templateObject$1d || (_templateObject$1d = _taggedTemplateL
2546
2546
  }, function (t) {
2547
2547
  return calculate(t['input-padding-y'], '*', 0.5);
2548
2548
  }), add(function (t) {
2549
- return calculate(t['input-line-height'], '*', 1);
2549
+ return calculate(t['input-line-height'], '*', t['input-font-size']);
2550
2550
  }, // 1em
2551
2551
  add(function (t) {
2552
2552
  return calculate(t['input-padding-y'], '*', 2);
2553
2553
  }, function (t) {
2554
2554
  return t['input-height-border'];
2555
2555
  })), add(function (t) {
2556
- return calculate(t['input-line-height'], '*', 1);
2556
+ return calculate(t['input-line-height'], '*', t['input-font-size-sm']);
2557
2557
  }, // 1em
2558
2558
  add(function (t) {
2559
2559
  return calculate(t['input-padding-y-sm'], '*', 2);
2560
2560
  }, function (t) {
2561
2561
  return t['input-height-border'];
2562
2562
  })), add(function (t) {
2563
- return calculate(t['input-line-height'], '*', 1);
2563
+ return calculate(t['input-line-height'], '*', t['input-font-size-lg']);
2564
2564
  }, // 1em
2565
2565
  add(function (t) {
2566
2566
  return calculate(t['input-padding-y-lg'], '*', 2);
@@ -3501,7 +3501,7 @@ function useToggleButton(props) {
3501
3501
 
3502
3502
  var _excluded$1l = ["children", "color", "size", "outline", "active", "disabled", "style", "activeStyle", "textStyle", "activeTextStyle"];
3503
3503
 
3504
- var _templateObject$15, _templateObject2$P, _templateObject3$p, _templateObject4$m, _templateObject5$j, _templateObject6$g, _templateObject7$b, _templateObject8$b, _templateObject9$9, _templateObject10$9, _templateObject11$6, _templateObject12$5, _templateObject13$5, _templateObject14$4, _templateObject15$3, _templateObject16$1, _templateObject17$1, _templateObject18$1, _templateObject19$1, _templateObject20$1, _templateObject21, _templateObject22, _templateObject23;
3504
+ var _templateObject$15, _templateObject2$P, _templateObject3$p, _templateObject4$m, _templateObject5$j, _templateObject6$g, _templateObject7$b, _templateObject8$b, _templateObject9$a, _templateObject10$a, _templateObject11$7, _templateObject12$5, _templateObject13$5, _templateObject14$4, _templateObject15$3, _templateObject16$1, _templateObject17$1, _templateObject18$1, _templateObject19$1, _templateObject20$1, _templateObject21, _templateObject22, _templateObject23;
3505
3505
  var propTypes$1p = {
3506
3506
  children: PropTypes.node.isRequired,
3507
3507
  color: PropTypes.oneOf([].concat(_toConsumableArray(Object.keys(THEME_COLORS)), ['link'])),
@@ -3541,7 +3541,7 @@ var styles$17 = StyleSheet.create(_objectSpread2(_objectSpread2({
3541
3541
  return t['btn-active-bg-shade-amount'];
3542
3542
  }, value), shadeColor(function (t) {
3543
3543
  return t['btn-active-border-shade-amount'];
3544
- }, value))), _defineProperty(_ref, ".btn-".concat(color, ".active --text"), css(_templateObject7$b || (_templateObject7$b = _taggedTemplateLiteral(["\n color: ", ";\n "])), colorContrast(value))), _defineProperty(_ref, ".btn-".concat(color, ".disabled"), css(_templateObject8$b || (_templateObject8$b = _taggedTemplateLiteral(["\n $disabled-background: ", ";\n $disabled-border: ", ";\n\n background-color: $disabled-background;\n // Remove CSS gradients if they're enabled\n // background-image: if($enable-gradients, none, null);\n border-color: $disabled-border;\n "])), value, value)), _defineProperty(_ref, ".btn-".concat(color, ".disabled --text"), css(_templateObject9$9 || (_templateObject9$9 = _taggedTemplateLiteral(["\n $disabled-color: ", ";\n\n color: $disabled-color;\n "])), colorContrast(value))), _defineProperty(_ref, ".btn-outline-".concat(color), css(_templateObject10$9 || (_templateObject10$9 = _taggedTemplateLiteral(["\n border-color: ", ";\n\n &:hover {\n background-color: ", ";\n border-color: ", ";\n }\n\n &:focus {\n // box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\n &:active {\n background-color: ", ";\n border-color: ", ";\n\n /* &:focus {\n @if $enable-shadows {\n @include box-shadow(\n $btn-active-box-shadow,\n 0 0 0 $btn-focus-width rgba($color, 0.5)\n );\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba($color, 0.5);\n }\n } */\n }\n "])), value, value, value, value, value)), _defineProperty(_ref, ".btn-outline-".concat(color, " --text"), css(_templateObject11$6 || (_templateObject11$6 = _taggedTemplateLiteral(["\n color: ", ";\n\n &:hover {\n color: ", ";\n }\n\n &:active {\n color: ", ";\n }\n "])), value, colorContrast(value), colorContrast(value))), _defineProperty(_ref, ".btn-outline-".concat(color, ".disabled"), css(_templateObject12$5 || (_templateObject12$5 = _taggedTemplateLiteral(["\n background-color: transparent;\n "])))), _defineProperty(_ref, ".btn-outline-".concat(color, ".disabled --text"), css(_templateObject13$5 || (_templateObject13$5 = _taggedTemplateLiteral(["\n color: ", ";\n "])), value)), _ref;
3544
+ }, value))), _defineProperty(_ref, ".btn-".concat(color, ".active --text"), css(_templateObject7$b || (_templateObject7$b = _taggedTemplateLiteral(["\n color: ", ";\n "])), colorContrast(value))), _defineProperty(_ref, ".btn-".concat(color, ".disabled"), css(_templateObject8$b || (_templateObject8$b = _taggedTemplateLiteral(["\n $disabled-background: ", ";\n $disabled-border: ", ";\n\n background-color: $disabled-background;\n // Remove CSS gradients if they're enabled\n // background-image: if($enable-gradients, none, null);\n border-color: $disabled-border;\n "])), value, value)), _defineProperty(_ref, ".btn-".concat(color, ".disabled --text"), css(_templateObject9$a || (_templateObject9$a = _taggedTemplateLiteral(["\n $disabled-color: ", ";\n\n color: $disabled-color;\n "])), colorContrast(value))), _defineProperty(_ref, ".btn-outline-".concat(color), css(_templateObject10$a || (_templateObject10$a = _taggedTemplateLiteral(["\n border-color: ", ";\n\n &:hover {\n background-color: ", ";\n border-color: ", ";\n }\n\n &:focus {\n // box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\n &:active {\n background-color: ", ";\n border-color: ", ";\n\n /* &:focus {\n @if $enable-shadows {\n @include box-shadow(\n $btn-active-box-shadow,\n 0 0 0 $btn-focus-width rgba($color, 0.5)\n );\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba($color, 0.5);\n }\n } */\n }\n "])), value, value, value, value, value)), _defineProperty(_ref, ".btn-outline-".concat(color, " --text"), css(_templateObject11$7 || (_templateObject11$7 = _taggedTemplateLiteral(["\n color: ", ";\n\n &:hover {\n color: ", ";\n }\n\n &:active {\n color: ", ";\n }\n "])), value, colorContrast(value), colorContrast(value))), _defineProperty(_ref, ".btn-outline-".concat(color, ".disabled"), css(_templateObject12$5 || (_templateObject12$5 = _taggedTemplateLiteral(["\n background-color: transparent;\n "])))), _defineProperty(_ref, ".btn-outline-".concat(color, ".disabled --text"), css(_templateObject13$5 || (_templateObject13$5 = _taggedTemplateLiteral(["\n color: ", ";\n "])), value)), _ref;
3545
3545
  })), {}, {
3546
3546
  '.btn-link --text': css(_templateObject14$4 || (_templateObject14$4 = _taggedTemplateLiteral(["\n font-weight: $font-weight-normal;\n color: $btn-link-color;\n text-decoration-color: $btn-link-color; // added for bootstrap-rn\n text-decoration-line: $link-decoration;\n\n &:hover {\n color: $btn-link-hover-color;\n text-decoration-color: $btn-link-hover-color; // added for bootstrap-rn\n text-decoration-line: $link-hover-decoration;\n }\n\n &:focus {\n text-decoration-line: $link-hover-decoration;\n }\n\n // No need for an active state here\n "]))),
3547
3547
  '.btn-link.disabled --text': css(_templateObject15$3 || (_templateObject15$3 = _taggedTemplateLiteral(["\n color: $btn-link-disabled-color;\n "]))),
@@ -3660,7 +3660,7 @@ var propTypes$1n = {
3660
3660
  styleName: PropTypes.any
3661
3661
  };
3662
3662
  var styles$15 = StyleSheet.create({
3663
- body: css(_templateObject$13 || (_templateObject$13 = _taggedTemplateLiteral(["\n background-color: $body-bg;\n flex-grow: 1; // added for bootstrap-rn\n "]))),
3663
+ body: css(_templateObject$13 || (_templateObject$13 = _taggedTemplateLiteral(["\n background-color: $body-bg;\n height: 100%; // added for bootstrap-rn\n "]))),
3664
3664
  'body --text': css(_templateObject2$N || (_templateObject2$N = _taggedTemplateLiteral(["\n color: $body-color;\n text-align: $body-text-align;\n "])))
3665
3665
  });
3666
3666
  var Body = /*#__PURE__*/React.forwardRef(function (props, ref) {
@@ -4253,26 +4253,28 @@ function useIdentifier(prefix) {
4253
4253
  }
4254
4254
 
4255
4255
  function useControlledState(defaultValue, controlledValue) {
4256
- var onChange = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {};
4256
+ var handleChange = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {};
4257
4257
 
4258
4258
  var _useState = useState(defaultValue),
4259
4259
  _useState2 = _slicedToArray(_useState, 2),
4260
4260
  stateValue = _useState2[0],
4261
4261
  setStateValue = _useState2[1];
4262
4262
 
4263
- var isControlled = typeof controlledValue === 'boolean';
4263
+ var isControlled = controlledValue !== undefined && controlledValue !== null;
4264
4264
  var value = isControlled ? controlledValue : stateValue;
4265
4265
 
4266
- var setValue = function setValue(nextValue) {
4266
+ var setValue = function setValue(next) {
4267
+ var nextValue = typeof next === 'function' ? next(value) : next;
4268
+
4267
4269
  if (value === nextValue) {
4268
4270
  return;
4269
4271
  }
4270
4272
 
4271
4273
  if (!isControlled) {
4272
- setStateValue(nextValue);
4274
+ setStateValue(next);
4273
4275
  }
4274
4276
 
4275
- onChange(nextValue);
4277
+ handleChange(nextValue);
4276
4278
  };
4277
4279
 
4278
4280
  return [value, setValue];
@@ -4561,7 +4563,7 @@ FormCheckInputNative.propTypes = propTypes$1d;
4561
4563
 
4562
4564
  var _excluded$19 = ["type", "value", "onFocus", "onBlur", "disabled", "valid", "invalid", "useNativeComponent", "style"];
4563
4565
 
4564
- var _templateObject$Y, _templateObject2$H, _templateObject3$m, _templateObject4$j, _templateObject5$g, _templateObject6$e, _templateObject7$9, _templateObject8$9, _templateObject9$8, _templateObject10$8, _templateObject11$5, _templateObject12$4, _templateObject13$4, _templateObject14$3, _templateObject15$2;
4566
+ var _templateObject$Y, _templateObject2$H, _templateObject3$m, _templateObject4$j, _templateObject5$g, _templateObject6$e, _templateObject7$9, _templateObject8$9, _templateObject9$9, _templateObject10$9, _templateObject11$6, _templateObject12$4, _templateObject13$4, _templateObject14$3, _templateObject15$2;
4565
4567
  /* eslint-disable react/no-unused-prop-types */
4566
4568
 
4567
4569
  var propTypes$1c = {
@@ -4592,17 +4594,17 @@ var styles$X = StyleSheet.create(_objectSpread2(_objectSpread2({
4592
4594
  '.form-check-input[type="radio"]:checked': css(_templateObject8$9 || (_templateObject8$9 = _taggedTemplateLiteral(["\n // @if $enable-gradients {\n // background-image: escape-svg($form-check-radio-checked-bg-image), var(--#{$variable-prefix}gradient);\n // } @else {\n background-image: ", ";\n // }\n "])), function (t) {
4593
4595
  return escapeSvg(t['form-check-radio-checked-bg-image']);
4594
4596
  }),
4595
- '.form-check-input:disabled': css(_templateObject9$8 || (_templateObject9$8 = _taggedTemplateLiteral(["\n @include platform(web) {\n pointer-events: none;\n filter: none;\n }\n opacity: $form-check-label-disabled-opacity;\n "])))
4597
+ '.form-check-input:disabled': css(_templateObject9$9 || (_templateObject9$9 = _taggedTemplateLiteral(["\n @include platform(web) {\n pointer-events: none;\n filter: none;\n }\n opacity: $form-check-label-disabled-opacity;\n "])))
4596
4598
  }, each(FORM_VALIDATION_STATES, function (state, data) {
4597
4599
  var _ref;
4598
4600
 
4599
- return _ref = {}, _defineProperty(_ref, ".form-check-input:".concat(state), css(_templateObject10$8 || (_templateObject10$8 = _taggedTemplateLiteral(["\n border-color: ", ";\n\n &:focus {\n border-color: ", "; // added for bootstrap-rn\n @include platform(web) {\n box-shadow: 0 0 $input-btn-focus-blur $input-focus-width\n rgba(", ", $input-btn-focus-color-opacity);\n }\n }\n "])), function (t) {
4601
+ return _ref = {}, _defineProperty(_ref, ".form-check-input:".concat(state), css(_templateObject10$9 || (_templateObject10$9 = _taggedTemplateLiteral(["\n border-color: ", ";\n\n &:focus {\n border-color: ", "; // added for bootstrap-rn\n @include platform(web) {\n box-shadow: 0 0 $input-btn-focus-blur $input-focus-width\n rgba(", ", $input-btn-focus-color-opacity);\n }\n }\n "])), function (t) {
4600
4602
  return data(t).color;
4601
4603
  }, function (t) {
4602
4604
  return data(t).color;
4603
4605
  }, function (t) {
4604
4606
  return data(t).color;
4605
- })), _defineProperty(_ref, ".form-check-input:".concat(state, ":checked"), css(_templateObject11$5 || (_templateObject11$5 = _taggedTemplateLiteral(["\n background-color: ", ";\n "])), function (t) {
4607
+ })), _defineProperty(_ref, ".form-check-input:".concat(state, ":checked"), css(_templateObject11$6 || (_templateObject11$6 = _taggedTemplateLiteral(["\n background-color: ", ";\n "])), function (t) {
4606
4608
  return data(t).color;
4607
4609
  })), _ref;
4608
4610
  })), {}, {
@@ -4972,7 +4974,7 @@ BackdropHandler.propTypes = propTypes$17;
4972
4974
 
4973
4975
  var _excluded$15 = ["children", "start", "right", "end", "style", "textStyle"];
4974
4976
 
4975
- var _templateObject$U, _templateObject2$F, _templateObject3$k, _templateObject4$h, _templateObject5$e, _templateObject6$d, _templateObject7$8, _templateObject8$8, _templateObject9$7, _templateObject10$7;
4977
+ var _templateObject$U, _templateObject2$F, _templateObject3$k, _templateObject4$h, _templateObject5$e, _templateObject6$d, _templateObject7$8, _templateObject8$8, _templateObject9$8, _templateObject10$8;
4976
4978
  var ALIGNMENT_BREAKPOINTS = [true, 'sm', 'md', 'lg', 'xl', 'xxl'];
4977
4979
  var propTypes$16 = {
4978
4980
  children: PropTypes.node.isRequired,
@@ -4997,9 +4999,9 @@ var styles$T = StyleSheet.create(_objectSpread2(_objectSpread2(_objectSpread2({
4997
4999
  '.dropstart .dropdown-menu[data-bs-popper]': css(_templateObject7$8 || (_templateObject7$8 = _taggedTemplateLiteral(["\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: $dropdown-spacer;\n "]))),
4998
5000
  '.navbar-nav .dropdown-menu': css(_templateObject8$8 || (_templateObject8$8 = _taggedTemplateLiteral(["\n position: relative; // static;\n "])))
4999
5001
  }, each(GRID_BREAKPOINTS, function (breakpoint) {
5000
- return _defineProperty({}, ".navbar-expand".concat(infix(next(breakpoint)), " .navbar-nav .dropdown-menu"), css(_templateObject9$7 || (_templateObject9$7 = _taggedTemplateLiteral(["\n @include media-breakpoint-up(", ") {\n position: absolute;\n }\n "])), next(breakpoint)));
5002
+ return _defineProperty({}, ".navbar-expand".concat(infix(next(breakpoint)), " .navbar-nav .dropdown-menu"), css(_templateObject9$8 || (_templateObject9$8 = _taggedTemplateLiteral(["\n @include media-breakpoint-up(", ") {\n position: absolute;\n }\n "])), next(breakpoint)));
5001
5003
  })), {}, {
5002
- '.dropdown-menu --text': css(_templateObject10$7 || (_templateObject10$7 = _taggedTemplateLiteral(["\n font-size: $dropdown-font-size;\n color: $dropdown-color;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n "])))
5004
+ '.dropdown-menu --text': css(_templateObject10$8 || (_templateObject10$8 = _taggedTemplateLiteral(["\n font-size: $dropdown-font-size;\n color: $dropdown-color;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n "])))
5003
5005
  }));
5004
5006
 
5005
5007
  var getAlignment = function getAlignment(media, start, end) {
@@ -5665,7 +5667,7 @@ TextInput.propTypes = propTypes$U;
5665
5667
 
5666
5668
  var _excluded$R = ["size", "placeholderTextColor", "multiline", "disabled", "valid", "invalid", "editable", "selectTextOnFocus", "style"];
5667
5669
 
5668
- var _templateObject$H, _templateObject2$w, _templateObject3$g, _templateObject4$e, _templateObject5$c, _templateObject6$b, _templateObject7$7, _templateObject8$7;
5670
+ var _templateObject$H, _templateObject2$w, _templateObject3$g, _templateObject4$e, _templateObject5$c, _templateObject6$b, _templateObject7$7, _templateObject8$7, _templateObject9$7, _templateObject10$7, _templateObject11$5;
5669
5671
  var propTypes$T = {
5670
5672
  size: PropTypes.oneOf(['sm', 'lg']),
5671
5673
  placeholderTextColor: PropTypes.string,
@@ -5677,17 +5679,36 @@ var propTypes$T = {
5677
5679
  selectTextOnFocus: PropTypes.bool,
5678
5680
  // eslint-disable-next-line react/forbid-prop-types
5679
5681
  style: PropTypes.any
5680
- };
5682
+ }; // Known issues:
5683
+ //
5684
+ // line-height (iOS)
5685
+ // If a line height is defined on iOS the text will be displayed on the bottom
5686
+ // of the line. As a workaround the line height is only defined for multi line
5687
+ // inputs.
5688
+ //
5689
+ // multi line height (iOS)
5690
+ // A multi line input on iOS has only the height of a single line input. As a
5691
+ // workaround we added a height of $input-height-sm + 8rem for multi line
5692
+ // inputs on iOS.
5693
+ //
5694
+ // single line height (Android)
5695
+ // If no height is defined, Android sets a text line height of 28px auto-
5696
+ // matically, which leads to a larger height than min height for the default
5697
+ // and sm size. As a workaround we set a height for single line inputs.
5698
+
5681
5699
  var styles$G = StyleSheet.create(_objectSpread2({
5682
- '.form-control': css(_templateObject$H || (_templateObject$H = _taggedTemplateLiteral(["\n // display: block;\n width: 100%;\n padding: $input-padding-y $input-padding-x;\n font-family: $input-font-family;\n font-size: $input-font-size;\n font-weight: $input-font-weight;\n line-height: $input-font-size * $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n // background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n @include platform(web) {\n appearance: none; // Fix appearance for date inputs in Safari\n }\n\n // Note: This has no effect on <select>s in some browsers, due to the limited stylability of \"<select>\"s in CSS.\n border-radius: $input-border-radius;\n\n // @include box-shadow($input-box-shadow);\n // @include transition($input-transition);\n\n // Customize the \":focus\" state to imitate native WebKit styles.\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n @include platform(web) {\n outline-width: 0; // outline: 0;\n // @if $enable-shadows {\n // @include box-shadow($input-box-shadow, $input-focus-box-shadow);\n // } @else {\n // // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: $input-focus-box-shadow;\n // }\n }\n }\n "]))),
5700
+ '.form-control': css(_templateObject$H || (_templateObject$H = _taggedTemplateLiteral(["\n // display: block;\n width: 100%;\n min-height: $input-height; // added for bootstrap-rn\n padding: $input-padding-y $input-padding-x;\n font-family: $input-font-family;\n font-size: $input-font-size;\n font-weight: $input-font-weight;\n @include platform(web) {\n line-height: $input-font-size * $input-line-height;\n }\n color: $input-color;\n background-color: $input-bg;\n // background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n @include platform(web) {\n appearance: none; // Fix appearance for date inputs in Safari\n }\n\n // Note: This has no effect on <select>s in some browsers, due to the limited stylability of \"<select>\"s in CSS.\n border-radius: $input-border-radius;\n\n // @include box-shadow($input-box-shadow);\n // @include transition($input-transition);\n\n // Customize the \":focus\" state to imitate native WebKit styles.\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n @include platform(web) {\n outline-width: 0; // outline: 0;\n // @if $enable-shadows {\n // @include box-shadow($input-box-shadow, $input-focus-box-shadow);\n // } @else {\n // // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: $input-focus-box-shadow;\n // }\n }\n }\n "]))),
5683
5701
  '.form-control.disabled': css(_templateObject2$w || (_templateObject2$w = _taggedTemplateLiteral(["\n background-color: $input-disabled-bg;\n border-color: $input-disabled-border-color;\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n "]))),
5684
- '.form-control-sm': css(_templateObject3$g || (_templateObject3$g = _taggedTemplateLiteral(["\n min-height: $input-height-sm;\n padding: $input-padding-y-sm $input-padding-x-sm;\n font-size: $input-font-size-sm;\n line-height: $input-font-size-sm * $line-height-base; // added for bootstrap-rn\n border-radius: $input-border-radius-sm;\n "]))),
5685
- '.form-control-lg': css(_templateObject4$e || (_templateObject4$e = _taggedTemplateLiteral(["\n min-height: $input-height-lg;\n padding: $input-padding-y-lg $input-padding-x-lg;\n font-size: $input-font-size-lg;\n line-height: $input-font-size-lg * $line-height-base; // added for bootstrap-rn\n border-radius: $input-border-radius-lg;\n "]))),
5686
- '.form-control-multiline': css(_templateObject5$c || (_templateObject5$c = _taggedTemplateLiteral(["\n text-align-vertical: top; // added for bootstrap-rn\n min-height: $input-height;\n\n @include platform(ios) {\n min-height: $input-height-sm + 8rem; // added for bootstrap-rn\n }\n "]))),
5687
- '.form-control-multiline-sm': css(_templateObject6$b || (_templateObject6$b = _taggedTemplateLiteral(["\n min-height: $input-height-sm;\n\n @include platform(ios) {\n // TODO: Adjust ios height to sm size\n min-height: $input-height-sm + 8rem; // added for bootstrap-rn\n }\n "]))),
5688
- '.form-control-multiline-lg': css(_templateObject7$7 || (_templateObject7$7 = _taggedTemplateLiteral(["\n min-height: $input-height-lg;\n\n @include platform(ios) {\n // TODO: Adjust ios height to lg size\n min-height: $input-height-sm + 8rem; // added for bootstrap-rn\n }\n "])))
5702
+ '.form-control-sm': css(_templateObject3$g || (_templateObject3$g = _taggedTemplateLiteral(["\n min-height: $input-height-sm;\n padding: $input-padding-y-sm $input-padding-x-sm;\n font-size: $input-font-size-sm;\n @include platform(web) {\n line-height: $input-font-size-sm * $line-height-base; // added for bootstrap-rn\n }\n border-radius: $input-border-radius-sm;\n "]))),
5703
+ '.form-control-lg': css(_templateObject4$e || (_templateObject4$e = _taggedTemplateLiteral(["\n min-height: $input-height-lg;\n padding: $input-padding-y-lg $input-padding-x-lg;\n font-size: $input-font-size-lg;\n @include platform(web) {\n line-height: $input-font-size-lg * $line-height-base; // added for bootstrap-rn\n }\n border-radius: $input-border-radius-lg;\n "]))),
5704
+ '.form-control:not(textarea)': css(_templateObject5$c || (_templateObject5$c = _taggedTemplateLiteral(["\n @include platform(android) {\n height: $input-height; // added for bootstrap-rn\n }\n "]))),
5705
+ '.form-control-sm:not(textarea)': css(_templateObject6$b || (_templateObject6$b = _taggedTemplateLiteral(["\n @include platform(android) {\n height: $input-height-sm; // added for bootstrap-rn\n }\n "]))),
5706
+ '.form-control-lg:not(textarea)': css(_templateObject7$7 || (_templateObject7$7 = _taggedTemplateLiteral(["\n @include platform(android) {\n height: $input-height-lg; // added for bootstrap-rn\n }\n "]))),
5707
+ 'textarea.form-control': css(_templateObject8$7 || (_templateObject8$7 = _taggedTemplateLiteral(["\n text-align-vertical: top; // added for bootstrap-rn\n min-height: $input-height;\n\n @include platform(ios) {\n min-height: $input-height-sm + 8rem; // added for bootstrap-rn\n }\n @include platform(native) {\n line-height: $input-font-size * $input-line-height; // added for bootstrap-rn\n }\n "]))),
5708
+ 'textarea.form-control-sm': css(_templateObject9$7 || (_templateObject9$7 = _taggedTemplateLiteral(["\n min-height: $input-height-sm;\n\n @include platform(ios) {\n // TODO: Adjust ios height to sm size\n min-height: $input-height-sm + 8rem; // added for bootstrap-rn\n }\n @include platform(native) {\n line-height: $input-font-size-sm * $line-height-base; // added for bootstrap-rn\n }\n "]))),
5709
+ 'textarea.form-control-lg': css(_templateObject10$7 || (_templateObject10$7 = _taggedTemplateLiteral(["\n min-height: $input-height-lg;\n\n @include platform(ios) {\n // TODO: Adjust ios height to lg size\n min-height: $input-height-sm + 8rem; // added for bootstrap-rn\n }\n @include platform(native) {\n line-height: $input-font-size-sm * $line-height-base; // added for bootstrap-rn\n }\n "])))
5689
5710
  }, each(FORM_VALIDATION_STATES, function (state, data) {
5690
- return _defineProperty({}, ".form-control:".concat(state), css(_templateObject8$7 || (_templateObject8$7 = _taggedTemplateLiteral(["\n border-color: ", ";\n\n &:focus {\n border-color: ", ";\n @include platform(web) {\n box-shadow: 0 0 $input-btn-focus-blur $input-focus-width\n rgba(", ", $input-btn-focus-color-opacity);\n }\n }\n "])), function (t) {
5711
+ return _defineProperty({}, ".form-control:".concat(state), css(_templateObject11$5 || (_templateObject11$5 = _taggedTemplateLiteral(["\n border-color: ", ";\n\n &:focus {\n border-color: ", ";\n @include platform(web) {\n box-shadow: 0 0 $input-btn-focus-blur $input-focus-width\n rgba(", ", $input-btn-focus-color-opacity);\n }\n }\n "])), function (t) {
5691
5712
  return data(t).color;
5692
5713
  }, function (t) {
5693
5714
  return data(t).color;
@@ -5719,7 +5740,7 @@ var Input = /*#__PURE__*/React.forwardRef(function (props, ref) {
5719
5740
  style = modifierProps.style,
5720
5741
  elementProps = _objectWithoutProperties(modifierProps, _excluded$R);
5721
5742
 
5722
- var classes = getStyles(styles$G, ['.form-control', disabled && '.form-control.disabled', size === 'sm' && '.form-control-sm', size === 'lg' && '.form-control-lg', multiline && '.form-control-multiline', multiline && size === 'sm' && '.form-control-multiline-sm', multiline && size === 'lg' && '.form-control-multiline-lg', valid && '.form-control:valid', invalid && '.form-control:invalid']);
5743
+ var classes = getStyles(styles$G, ['.form-control', disabled && '.form-control.disabled', size === 'sm' && '.form-control-sm', size === 'lg' && '.form-control-lg', !multiline && '.form-control:not(textarea)', !multiline && size === 'sm' && '.form-control-sm:not(textarea)', !multiline && size === 'lg' && '.form-control-lg:not(textarea)', multiline && 'textarea.form-control', multiline && size === 'sm' && 'textarea.form-control-sm', multiline && size === 'lg' && 'textarea.form-control-lg', valid && '.form-control:valid', invalid && '.form-control:invalid']);
5723
5744
  return /*#__PURE__*/React.createElement(TextInput, _extends({}, elementProps, {
5724
5745
  ref: modifierRef,
5725
5746
  placeholderTextColor: placeholderTextColor,
@@ -6824,7 +6845,7 @@ var ModalTitle = /*#__PURE__*/React.forwardRef(function (props, ref) {
6824
6845
  ModalTitle.displayName = 'ModalTitle';
6825
6846
  ModalTitle.propTypes = propTypes$B;
6826
6847
 
6827
- var _excluded$y = ["children", "style", "contentContainerStyle"];
6848
+ var _excluded$y = ["children", "style", "innerStyle"];
6828
6849
 
6829
6850
  var _templateObject$t;
6830
6851
  var propTypes$A = {
@@ -6832,7 +6853,7 @@ var propTypes$A = {
6832
6853
  // eslint-disable-next-line react/forbid-prop-types
6833
6854
  style: PropTypes.any,
6834
6855
  // eslint-disable-next-line react/forbid-prop-types
6835
- contentContainerStyle: PropTypes.any
6856
+ innerStyle: PropTypes.any
6836
6857
  };
6837
6858
  var styles$t = StyleSheet.create({
6838
6859
  '.modal-body': css(_templateObject$t || (_templateObject$t = _taggedTemplateLiteral(["\n position: relative;\n // Enable \"flex-grow: 1\" so that the body take up as much space as possible\n // when there should be a fixed height on \".modal-dialog\".\n // Note from bootstrap-rn: Centered modals do not work with this style, but\n // everything just works fine without this style.\n // flex: 1 1 auto;\n padding: $modal-inner-padding;\n "])))
@@ -6840,7 +6861,7 @@ var styles$t = StyleSheet.create({
6840
6861
  var ModalBody = /*#__PURE__*/React.forwardRef(function (props, ref) {
6841
6862
  var children = props.children,
6842
6863
  style = props.style,
6843
- contentContainerStyle = props.contentContainerStyle,
6864
+ innerStyle = props.innerStyle,
6844
6865
  elementProps = _objectWithoutProperties(props, _excluded$y);
6845
6866
 
6846
6867
  var _useForcedContext = useForcedContext(ModalContext),
@@ -6851,7 +6872,7 @@ var ModalBody = /*#__PURE__*/React.forwardRef(function (props, ref) {
6851
6872
  return /*#__PURE__*/React.createElement(FlexView, _extends({}, elementProps, {
6852
6873
  ref: ref,
6853
6874
  style: scrollable ? style : [classes, style],
6854
- contentContainerStyle: scrollable ? [classes, contentContainerStyle] : undefined
6875
+ contentContainerStyle: scrollable ? [classes, innerStyle] : undefined
6855
6876
  }), children);
6856
6877
  });
6857
6878
  ModalBody.displayName = 'ModalBody';
@@ -6882,7 +6903,7 @@ var ModalFooter = /*#__PURE__*/React.forwardRef(function (props, ref) {
6882
6903
  ModalFooter.displayName = 'ModalFooter';
6883
6904
  ModalFooter.propTypes = propTypes$z;
6884
6905
 
6885
- var _excluded$w = ["children", "visible", "size", "backdrop", "scrollable", "centered", "onToggle", "style", "textStyle"];
6906
+ var _excluded$w = ["children", "visible", "size", "backdrop", "scrollable", "centered", "onToggle", "style", "innerStyle", "dialogStyle", "contentStyle", "textStyle", "dialogTextStyle", "contentTextStyle"];
6886
6907
 
6887
6908
  var _templateObject$r, _templateObject2$l, _templateObject3$a, _templateObject4$8, _templateObject5$6, _templateObject6$5, _templateObject7$3, _templateObject8$3, _templateObject9$3, _templateObject10$3, _templateObject11$2;
6888
6909
  var MODAL_SIZES = ['sm', 'lg', 'xl'];
@@ -6897,7 +6918,17 @@ var propTypes$y = {
6897
6918
  // eslint-disable-next-line react/forbid-prop-types
6898
6919
  style: PropTypes.any,
6899
6920
  // eslint-disable-next-line react/forbid-prop-types
6900
- textStyle: PropTypes.any
6921
+ innerStyle: PropTypes.any,
6922
+ // eslint-disable-next-line react/forbid-prop-types
6923
+ dialogStyle: PropTypes.any,
6924
+ // eslint-disable-next-line react/forbid-prop-types
6925
+ contentStyle: PropTypes.any,
6926
+ // eslint-disable-next-line react/forbid-prop-types
6927
+ textStyle: PropTypes.any,
6928
+ // eslint-disable-next-line react/forbid-prop-types
6929
+ dialogTextStyle: PropTypes.any,
6930
+ // eslint-disable-next-line react/forbid-prop-types
6931
+ contentTextStyle: PropTypes.any
6901
6932
  };
6902
6933
  var styles$r = StyleSheet.create({
6903
6934
  '.modal': css(_templateObject$r || (_templateObject$r = _taggedTemplateLiteral(["\n position: absolute; // fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal;\n // display: none;\n width: 100%;\n height: 100%;\n // overflow-x: hidden;\n // overflow-y: auto;\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n @include platform(web) {\n outline-width: 0; // outline: 0;\n }\n // We deliberately don't use \"-webkit-overflow-scrolling: touch;\" due to a\n // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\n // See also https://github.com/twbs/bootstrap/issues/17695\n "]))),
@@ -6909,8 +6940,8 @@ var styles$r = StyleSheet.create({
6909
6940
  '.modal-content --text': css(_templateObject7$3 || (_templateObject7$3 = _taggedTemplateLiteral(["\n color: $modal-content-color;\n "]))),
6910
6941
  '.modal-backdrop': css(_templateObject8$3 || (_templateObject8$3 = _taggedTemplateLiteral(["\n position: absolute;\n top: 0;\n left: 0;\n z-index: $zindex-modal-backdrop;\n width: 100%;\n height: 100%;\n background-color: $modal-backdrop-bg;\n opacity: $modal-backdrop-opacity;\n "]))),
6911
6942
  '.modal-sm': css(_templateObject9$3 || (_templateObject9$3 = _taggedTemplateLiteral(["\n @include media-breakpoint-up(sm) {\n max-width: $modal-sm;\n }\n "]))),
6912
- '.modal-lg': css(_templateObject10$3 || (_templateObject10$3 = _taggedTemplateLiteral(["\n @include media-breakpoint-up(lg) {\n max-width: $modal-lg;\n }\n @include media-breakpoint-up(xl) {\n max-width: $modal-xl;\n }\n "]))),
6913
- '.modal-xl': css(_templateObject11$2 || (_templateObject11$2 = _taggedTemplateLiteral(["\n @include media-breakpoint-up(xl) {\n max-width: $modal-xl;\n }\n "])))
6943
+ '.modal-lg': css(_templateObject10$3 || (_templateObject10$3 = _taggedTemplateLiteral(["\n @include media-breakpoint-up(lg) {\n max-width: $modal-lg;\n }\n "]))),
6944
+ '.modal-xl': css(_templateObject11$2 || (_templateObject11$2 = _taggedTemplateLiteral(["\n @include media-breakpoint-up(lg) {\n max-width: $modal-lg;\n }\n @include media-breakpoint-up(xl) {\n max-width: $modal-xl;\n }\n "])))
6914
6945
  });
6915
6946
  var Modal = /*#__PURE__*/React.forwardRef(function (props, ref) {
6916
6947
  var children = props.children,
@@ -6924,7 +6955,12 @@ var Modal = /*#__PURE__*/React.forwardRef(function (props, ref) {
6924
6955
  centered = _props$centered === void 0 ? false : _props$centered,
6925
6956
  handleToggle = props.onToggle,
6926
6957
  style = props.style,
6958
+ innerStyle = props.innerStyle,
6959
+ dialogStyle = props.dialogStyle,
6960
+ contentStyle = props.contentStyle,
6927
6961
  textStyle = props.textStyle,
6962
+ dialogTextStyle = props.dialogTextStyle,
6963
+ contentTextStyle = props.contentTextStyle,
6928
6964
  elementProps = _objectWithoutProperties(props, _excluded$w);
6929
6965
 
6930
6966
  var dialogRef = useRef();
@@ -6947,10 +6983,11 @@ var Modal = /*#__PURE__*/React.forwardRef(function (props, ref) {
6947
6983
  }, backdrop && /*#__PURE__*/React.createElement(View, {
6948
6984
  style: backdropClasses
6949
6985
  }), /*#__PURE__*/React.createElement(FlexView, {
6950
- style: classes,
6951
- contentContainerStyle: scrollable ? undefined : {
6986
+ style: [classes, style],
6987
+ textStyle: textStyle,
6988
+ contentContainerStyle: [scrollable ? undefined : {
6952
6989
  flexGrow: 1
6953
- }
6990
+ }, innerStyle]
6954
6991
  }, /*#__PURE__*/React.createElement(BackdropHandler, {
6955
6992
  dialogRef: dialogRef,
6956
6993
  onClose: handleToggle,
@@ -6961,11 +6998,12 @@ var Modal = /*#__PURE__*/React.forwardRef(function (props, ref) {
6961
6998
  }
6962
6999
  }, /*#__PURE__*/React.createElement(View, {
6963
7000
  ref: dialogRef,
6964
- style: dialogClasses
7001
+ style: [dialogClasses, dialogStyle],
7002
+ textStyle: dialogTextStyle
6965
7003
  }, /*#__PURE__*/React.createElement(View, _extends({}, elementProps, {
6966
7004
  ref: ref,
6967
- style: [contentClasses, style],
6968
- textStyle: [contentTextClasses, textStyle]
7005
+ style: [contentClasses, contentStyle],
7006
+ textStyle: [contentTextClasses, contentTextStyle]
6969
7007
  }), /*#__PURE__*/React.createElement(ModalContext.Provider, {
6970
7008
  value: modal
6971
7009
  }, /*#__PURE__*/React.createElement(OverlayProvider, null, children)))))));
@@ -7488,7 +7526,7 @@ var OffcanvasBody = /*#__PURE__*/React.forwardRef(function (props, ref) {
7488
7526
  OffcanvasBody.displayName = 'OffcanvasBody';
7489
7527
  OffcanvasBody.propTypes = propTypes$o;
7490
7528
 
7491
- var _excluded$j = ["children", "visible", "placement", "backdrop", "scroll", "onToggle", "style", "textStyle"];
7529
+ var _excluded$j = ["children", "visible", "placement", "backdrop", "scroll", "onToggle", "style", "dialogStyle", "textStyle", "dialogTextStyle"];
7492
7530
 
7493
7531
  var _templateObject$g, _templateObject2$b, _templateObject3$4, _templateObject4$3, _templateObject5$3, _templateObject6$2, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13;
7494
7532
  var PLACEMENTS = ['top', 'bottom', 'start', 'end']; // , 'auto'
@@ -7504,7 +7542,11 @@ var propTypes$n = {
7504
7542
  // eslint-disable-next-line react/forbid-prop-types
7505
7543
  style: PropTypes.any,
7506
7544
  // eslint-disable-next-line react/forbid-prop-types
7507
- textStyle: PropTypes.any
7545
+ dialogStyle: PropTypes.any,
7546
+ // eslint-disable-next-line react/forbid-prop-types
7547
+ textStyle: PropTypes.any,
7548
+ // eslint-disable-next-line react/forbid-prop-types
7549
+ dialogTextStyle: PropTypes.any
7508
7550
  };
7509
7551
  var styles$g = StyleSheet.create(_objectSpread2({
7510
7552
  '.offcanvas': css(_templateObject$g || (_templateObject$g = _taggedTemplateLiteral(["\n position: absolute; // fixed;\n // bottom: 0;\n z-index: $zindex-offcanvas;\n display: flex;\n flex-direction: column;\n max-width: 100%;\n // visibility: hidden;\n background-color: $offcanvas-bg-color;\n // background-clip: padding-box;\n @include platform(web) {\n outline-width: 0; // outline: 0;\n }\n // @include box-shadow($offcanvas-box-shadow);\n // @include transition(transform $offcanvas-transition-duration ease-in-out);\n "]))),
@@ -7536,7 +7578,9 @@ var Offcanvas = /*#__PURE__*/React.forwardRef(function (props, ref) {
7536
7578
  scroll = _props$scroll === void 0 ? false : _props$scroll,
7537
7579
  handleToggle = props.onToggle,
7538
7580
  style = props.style,
7581
+ dialogStyle = props.dialogStyle,
7539
7582
  textStyle = props.textStyle,
7583
+ dialogTextStyle = props.dialogTextStyle,
7540
7584
  elementProps = _objectWithoutProperties(props, _excluded$j);
7541
7585
 
7542
7586
  var media = useMedia();
@@ -7579,7 +7623,8 @@ var Offcanvas = /*#__PURE__*/React.forwardRef(function (props, ref) {
7579
7623
  flexShrink: 1
7580
7624
  }
7581
7625
  }, /*#__PURE__*/React.createElement(View, {
7582
- style: dialogClasses
7626
+ style: [dialogClasses, dialogStyle],
7627
+ textStyle: dialogTextStyle
7583
7628
  }, /*#__PURE__*/React.createElement(OffcanvasContext.Provider, {
7584
7629
  value: offcanvas
7585
7630
  }, /*#__PURE__*/React.createElement(OverlayProvider, null, children))))));
@@ -7660,7 +7705,7 @@ PickerWeb.propTypes = propTypes$m;
7660
7705
  var PickerNativeContext = /*#__PURE__*/React.createContext();
7661
7706
  PickerNativeContext.displayName = 'PickerNativeContext';
7662
7707
 
7663
- var _excluded$h = ["children", "selectedValue", "onValueChange", "onFocus", "onBlur", "placeholder", "placeholderTextColor", "disabled", "style"];
7708
+ var _excluded$h = ["children", "selectedValue", "onValueChange", "onFocus", "onBlur", "placeholder", "placeholderTextColor", "disabled", "MenuComponent", "style"];
7664
7709
 
7665
7710
  var _templateObject$f;
7666
7711
  var propTypes$l = {
@@ -7672,6 +7717,7 @@ var propTypes$l = {
7672
7717
  placeholder: PropTypes.string,
7673
7718
  placeholderTextColor: PropTypes.string,
7674
7719
  disabled: PropTypes.bool,
7720
+ MenuComponent: PropTypes.elementType,
7675
7721
  // eslint-disable-next-line react/forbid-prop-types
7676
7722
  style: PropTypes.any
7677
7723
  };
@@ -7695,20 +7741,59 @@ var extractTextStyles = function extractTextStyles(style) {
7695
7741
  return textStyles;
7696
7742
  };
7697
7743
 
7744
+ var getText = function getText(_ref3) {
7745
+ var children = _ref3.children,
7746
+ selectedValue = _ref3.selectedValue;
7747
+ var items = React.Children.map(children, function (child) {
7748
+ return {
7749
+ label: child.props.label,
7750
+ value: child.props.value
7751
+ };
7752
+ });
7753
+ var selectedItem = items.find(function (item) {
7754
+ return item.value === selectedValue;
7755
+ });
7756
+ return selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.label;
7757
+ };
7758
+ /* eslint-disable react/prop-types */
7759
+
7760
+
7761
+ var DefaultMenuComponent = function DefaultMenuComponent(_ref4) {
7762
+ var children = _ref4.children,
7763
+ selectedValue = _ref4.selectedValue,
7764
+ handleValueChange = _ref4.onValueChange,
7765
+ handleClose = _ref4.onClose;
7766
+ return /*#__PURE__*/React.createElement(Offcanvas, {
7767
+ placement: "bottom",
7768
+ visible: true,
7769
+ onToggle: handleClose
7770
+ }, /*#__PURE__*/React.createElement(Offcanvas.Body, {
7771
+ contentContainerStyle: styles$f.menu
7772
+ }, /*#__PURE__*/React.createElement(PickerNativeContext.Provider, {
7773
+ value: {
7774
+ selectedValue: selectedValue,
7775
+ handleValueChange: handleValueChange
7776
+ }
7777
+ }, children)));
7778
+ };
7779
+ /* eslint-enable */
7780
+
7781
+
7698
7782
  var PickerNative = /*#__PURE__*/React.forwardRef(function (props, ref) {
7699
7783
  var children = props.children,
7700
7784
  selectedValue = props.selectedValue,
7701
7785
  _props$onValueChange = props.onValueChange,
7702
- _onValueChange = _props$onValueChange === void 0 ? function () {} : _props$onValueChange,
7786
+ onValueChange = _props$onValueChange === void 0 ? function () {} : _props$onValueChange,
7703
7787
  _props$onFocus = props.onFocus,
7704
7788
  onFocus = _props$onFocus === void 0 ? function () {} : _props$onFocus,
7705
7789
  _props$onBlur = props.onBlur,
7706
7790
  onBlur = _props$onBlur === void 0 ? function () {} : _props$onBlur,
7707
7791
  placeholder = props.placeholder,
7708
- _props$placeholderTex = props.placeholderTextColor,
7709
- placeholderTextColor = _props$placeholderTex === void 0 ? StyleSheet.value('input-placeholder-color') : _props$placeholderTex,
7792
+ placeholderTextColor = props.placeholderTextColor,
7710
7793
  _props$disabled = props.disabled,
7711
7794
  disabled = _props$disabled === void 0 ? false : _props$disabled,
7795
+ _props$MenuComponent = props.MenuComponent,
7796
+ MenuComponent = _props$MenuComponent === void 0 ? DefaultMenuComponent : _props$MenuComponent,
7712
7797
  style = props.style,
7713
7798
  elementProps = _objectWithoutProperties(props, _excluded$h);
7714
7799
 
@@ -7716,29 +7801,26 @@ var PickerNative = /*#__PURE__*/React.forwardRef(function (props, ref) {
7716
7801
 
7717
7802
  var _useState = useState(false),
7718
7803
  _useState2 = _slicedToArray(_useState, 2),
7719
- open = _useState2[0],
7720
- setOpen = _useState2[1];
7804
+ visible = _useState2[0],
7805
+ setVisible = _useState2[1];
7721
7806
 
7722
- var items = React.Children.map(children, function (child) {
7723
- return {
7724
- label: child.props.label,
7725
- value: child.props.value
7726
- };
7727
- });
7728
- var selectedItem = items.find(function (item) {
7729
- return item.value === selectedValue;
7730
- });
7731
7807
  var textStyle = extractTextStyles(background.style);
7732
7808
  var showPlaceholder = placeholder && (selectedValue === undefined || selectedValue === null);
7809
+
7810
+ var handleValueChange = function handleValueChange(nextValue) {
7811
+ onValueChange(nextValue);
7812
+ setVisible(false);
7813
+ };
7814
+
7815
+ var handleClose = function handleClose() {
7816
+ setVisible(false);
7817
+ };
7818
+
7733
7819
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Pressable, _extends({}, elementProps, {
7734
7820
  ref: ref,
7735
7821
  accessibilityRole: "combobox",
7736
- accessibilityDisabled: disabled,
7737
- accessible: true,
7738
- focusable: !disabled,
7739
- selectable: false,
7740
7822
  onPress: function onPress() {
7741
- setOpen(true);
7823
+ setVisible(true);
7742
7824
  },
7743
7825
  onFocus: onFocus,
7744
7826
  onBlur: onBlur,
@@ -7749,24 +7831,14 @@ var PickerNative = /*#__PURE__*/React.forwardRef(function (props, ref) {
7749
7831
  style: [textStyle, showPlaceholder && {
7750
7832
  color: placeholderTextColor
7751
7833
  }]
7752
- }, selectedItem ? selectedItem.label : placeholder)), /*#__PURE__*/React.createElement(Offcanvas, {
7753
- placement: "bottom",
7754
- visible: open,
7755
- onToggle: function onToggle() {
7756
- setOpen(false);
7757
- }
7758
- }, /*#__PURE__*/React.createElement(Offcanvas.Body, {
7759
- contentContainerStyle: styles$f.menu
7760
- }, /*#__PURE__*/React.createElement(PickerNativeContext.Provider, {
7761
- value: {
7762
- selectedValue: selectedValue,
7763
- onValueChange: function onValueChange(nextValue) {
7764
- _onValueChange(nextValue);
7765
-
7766
- setOpen(false);
7767
- }
7768
- }
7769
- }, children))));
7834
+ }, showPlaceholder ? placeholder : getText({
7835
+ children: children,
7836
+ selectedValue: selectedValue
7837
+ }))), visible && /*#__PURE__*/React.createElement(MenuComponent, {
7838
+ selectedValue: selectedValue,
7839
+ onValueChange: handleValueChange,
7840
+ onClose: handleClose
7841
+ }, children));
7770
7842
  });
7771
7843
  PickerNative.propTypes = propTypes$l;
7772
7844
 
@@ -7816,7 +7888,7 @@ var PickerNativeItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
7816
7888
 
7817
7889
  var _useForcedContext = useForcedContext(PickerNativeContext),
7818
7890
  selectedValue = _useForcedContext.selectedValue,
7819
- onValueChange = _useForcedContext.onValueChange;
7891
+ handleValueChange = _useForcedContext.handleValueChange;
7820
7892
 
7821
7893
  var media = useMedia();
7822
7894
  var classes = getStyles(styles$e, ['item', disabled && 'itemDisabled']);
@@ -7825,7 +7897,7 @@ var PickerNativeItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
7825
7897
  return /*#__PURE__*/React.createElement(Pressable, {
7826
7898
  ref: ref,
7827
7899
  onPress: function onPress() {
7828
- onValueChange(value);
7900
+ handleValueChange(value);
7829
7901
  },
7830
7902
  accessibilitySelected: selected,
7831
7903
  disabled: disabled,