@7shifts/sous-chef 2.8.3 → 2.11.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.
package/dist/index.js CHANGED
@@ -8,13 +8,15 @@ var Select = require('react-select');
8
8
  var Select__default = _interopDefault(Select);
9
9
  var DayPickerInput = _interopDefault(require('react-day-picker/DayPickerInput'));
10
10
  var dateFns = require('date-fns');
11
- var reactDayPicker = require('react-day-picker');
11
+ var DayPicker = require('react-day-picker');
12
+ var DayPicker__default = _interopDefault(DayPicker);
12
13
  var dateFnsFormat = _interopDefault(require('date-fns/format'));
13
14
  var dateFnsParse = _interopDefault(require('date-fns/parse'));
14
15
  var startOfDay = _interopDefault(require('date-fns/startOfDay'));
15
16
  var eachDayOfInterval = _interopDefault(require('date-fns/eachDayOfInterval'));
16
17
  var parseTime = _interopDefault(require('time-autocomplete/src/core/AMPMParser'));
17
18
  var ReactModal = _interopDefault(require('react-modal'));
19
+ require('react-day-picker/lib/style.css');
18
20
 
19
21
  function _extends() {
20
22
  _extends = Object.assign || function (target) {
@@ -100,7 +102,7 @@ var MenuItem = function MenuItem(_ref) {
100
102
 
101
103
  var handleClick = function handleClick(e) {
102
104
  onToggleMenu();
103
- onClick();
105
+ onClick(e);
104
106
  e.stopPropagation();
105
107
  };
106
108
 
@@ -3346,6 +3348,64 @@ var useDataTableContext = function useDataTableContext() {
3346
3348
 
3347
3349
  var styles$9 = {"item":"_1d8Ci","selected":"_3tb7U","clickable":"_thFcO","item-column":"_OTcMc","item-column--default-padding":"_lNHQ8","item-column--right-align":"_13YLe","item-column--vertical-border":"_1rrRr","actions":"_azbIG"};
3348
3350
 
3351
+ var styles$a = {"caption":"_1QDLF","label":"_2wiMV","toggle":"_1ui8X","toggle__label":"_1YRJT","toggle__caption":"_1jEiW","toggle__switch":"_3tNyE"};
3352
+
3353
+ var Toggle = function Toggle(_ref) {
3354
+ var checked = _ref.checked,
3355
+ label = _ref.label,
3356
+ caption = _ref.caption,
3357
+ onChange = _ref.onChange,
3358
+ _ref$disabled = _ref.disabled,
3359
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
3360
+ id = _ref.id;
3361
+ return React__default.createElement(Stack, {
3362
+ space: 8
3363
+ }, React__default.createElement("label", {
3364
+ className: styles$a['toggle']
3365
+ }, React__default.createElement("input", {
3366
+ "data-testid": "toggle",
3367
+ type: "checkbox",
3368
+ checked: checked,
3369
+ onChange: onChange,
3370
+ disabled: disabled,
3371
+ id: id
3372
+ }), React__default.createElement("span", {
3373
+ className: styles$a['toggle__switch']
3374
+ }), label && React__default.createElement("span", {
3375
+ className: styles$a['toggle__label']
3376
+ }, label)), caption && React__default.createElement("span", {
3377
+ className: styles$a['toggle__caption']
3378
+ }, caption));
3379
+ };
3380
+
3381
+ var ActionsCell = function ActionsCell(_ref) {
3382
+ var actions = _ref.actions;
3383
+ var kebabMenuItems = actions.filter(function (action) {
3384
+ return action.showInKebab === undefined || action.showInKebab;
3385
+ });
3386
+ var sideActions = actions.filter(function (action) {
3387
+ return action.showInKebab === false;
3388
+ });
3389
+ return React__default.createElement("div", {
3390
+ className: classnames(styles$9['item-column'], styles$9['actions']),
3391
+ "data-testid": "data-table-dropdown-menu"
3392
+ }, React__default.createElement(Inline, {
3393
+ space: 0,
3394
+ justifyContent: "end"
3395
+ }, sideActions.length > 0 && sideActions.map(function (action, index) {
3396
+ return React__default.createElement(Button$1, Object.assign({
3397
+ key: action.action || index,
3398
+ onClick: action.onAction,
3399
+ theme: "link-icon"
3400
+ }, action.showInKebab === false ? action.buttonProps : {}), action.label);
3401
+ }), kebabMenuItems.length > 0 && React__default.createElement(Menu, null, React__default.createElement(MenuButton, null, React__default.createElement(IconEllipsisV, null)), React__default.createElement(MenuList, null, kebabMenuItems.map(function (action, index) {
3402
+ return React__default.createElement(MenuItem, {
3403
+ onClick: action.onAction,
3404
+ key: index
3405
+ }, action.label);
3406
+ })))));
3407
+ };
3408
+
3349
3409
  var _excluded$2 = ["children", "onClick", "isSelected", "actions", "hasDefaultPadding"];
3350
3410
 
3351
3411
  var DataTableRowComponent = function DataTableRowComponent(_ref, ref) {
@@ -3392,20 +3452,14 @@ var DataTableRowComponent = function DataTableRowComponent(_ref, ref) {
3392
3452
  ref: ref
3393
3453
  }), React__default.Children.map(children, function (child, index) {
3394
3454
  return renderColumn(child, index);
3395
- }), showActionMenu && React__default.createElement("div", {
3396
- className: classnames(styles$9['item-column'], styles$9['actions']),
3397
- "data-testid": "data-table-dropdown-menu"
3398
- }, actions.length > 0 && React__default.createElement(Menu, null, React__default.createElement(MenuButton, null, React__default.createElement(IconEllipsisV, null)), React__default.createElement(MenuList, null, actions.map(function (action, index) {
3399
- return React__default.createElement(MenuItem, {
3400
- onClick: action.onAction,
3401
- key: index
3402
- }, action.label);
3403
- })))));
3455
+ }), showActionMenu && React__default.createElement(ActionsCell, {
3456
+ actions: actions
3457
+ }));
3404
3458
  };
3405
3459
 
3406
3460
  var DataTableRow = React.forwardRef(DataTableRowComponent);
3407
3461
 
3408
- var styles$a = {"header":"_of22N","header-item":"_27x4v","header-item--sortable":"_3gw3Z","header-item--right-align":"_Fjm2n","header-item--action":"_LoIvx","header-sort-icon":"_3VjFP","body":"_1bTmd","footer":"_1opWx","pagination-controls":"_F_spz"};
3462
+ var styles$b = {"header":"_of22N","header-item":"_27x4v","header-item--sortable":"_3gw3Z","header-item--right-align":"_Fjm2n","header-item--action":"_LoIvx","header-sort-icon":"_3VjFP","body":"_1bTmd","footer":"_1opWx","pagination-controls":"_F_spz"};
3409
3463
 
3410
3464
  var SORT_ORDER$1 = {
3411
3465
  ASC: 'asc',
@@ -3436,7 +3490,7 @@ var DataTableHeader = function DataTableHeader(_ref) {
3436
3490
  };
3437
3491
 
3438
3492
  return React__default.createElement("div", {
3439
- className: styles$a['header']
3493
+ className: styles$b['header']
3440
3494
  }, columns.map(function (column) {
3441
3495
  var _classnames;
3442
3496
 
@@ -3444,7 +3498,7 @@ var DataTableHeader = function DataTableHeader(_ref) {
3444
3498
  var sortDir = column.currentSort;
3445
3499
  var isRightAligned = column.isRightAligned;
3446
3500
  return React__default.createElement("div", {
3447
- className: classnames((_classnames = {}, _classnames[styles$a['header-item']] = true, _classnames[styles$a['header-item--sortable']] = isSortable, _classnames[styles$a['header-item--right-align']] = isRightAligned, _classnames)),
3501
+ className: classnames((_classnames = {}, _classnames[styles$b['header-item']] = true, _classnames[styles$b['header-item--sortable']] = isSortable, _classnames[styles$b['header-item--right-align']] = isRightAligned, _classnames)),
3448
3502
  style: {
3449
3503
  flex: column.size || 1
3450
3504
  },
@@ -3458,12 +3512,12 @@ var DataTableHeader = function DataTableHeader(_ref) {
3458
3512
  role: "columnheader",
3459
3513
  tabIndex: 0
3460
3514
  }, column.label, ' ', isSortable && React__default.createElement("span", {
3461
- className: styles$a['header-sort-icon']
3515
+ className: styles$b['header-sort-icon']
3462
3516
  }, React__default.createElement(IconSort$2, {
3463
3517
  sortDirection: sortDir
3464
3518
  })));
3465
3519
  }), showActionMenu && React__default.createElement("div", {
3466
- className: classnames(styles$a['header-item'], styles$a['header-item--action'])
3520
+ className: classnames(styles$b['header-item'], styles$b['header-item--action'])
3467
3521
  }));
3468
3522
  };
3469
3523
 
@@ -3543,7 +3597,7 @@ var DataTable = function DataTable(_ref) {
3543
3597
  onSort: onSort,
3544
3598
  showActionMenu: showActionMenu
3545
3599
  }), React__default.createElement("div", {
3546
- className: styles$a['body'],
3600
+ className: styles$b['body'],
3547
3601
  style: conditionalStyles,
3548
3602
  role: "table"
3549
3603
  }, isLoading && React__default.createElement(Spinner, {
@@ -3556,10 +3610,10 @@ var DataTable = function DataTable(_ref) {
3556
3610
  index: index
3557
3611
  });
3558
3612
  }), footerComponent && !isLoading && React__default.createElement("div", {
3559
- className: styles$a['footer'],
3613
+ className: styles$b['footer'],
3560
3614
  "data-testid": "footer"
3561
3615
  }, footerComponent)), onPreviousClick && onNextClick && (hasPrevious || hasNext) && React__default.createElement("div", {
3562
- className: styles$a['pagination-controls'],
3616
+ className: styles$b['pagination-controls'],
3563
3617
  "data-testid": "pagination-controls"
3564
3618
  }, React__default.createElement(PaginationControls, {
3565
3619
  hasPrevious: hasPrevious && !isLoading,
@@ -3587,7 +3641,7 @@ var DefaultItemComponent$1 = function DefaultItemComponent(_ref2) {
3587
3641
  }));
3588
3642
  };
3589
3643
 
3590
- var styles$b = {"data-table-cell":"_orjDM","data-table-cell--right-aligned":"_3EpfF"};
3644
+ var styles$c = {"data-table-cell":"_orjDM","data-table-cell--right-aligned":"_3EpfF"};
3591
3645
 
3592
3646
  var DataTableCell = function DataTableCell(_ref) {
3593
3647
  var _columns$columnIndex, _classnames;
@@ -3601,7 +3655,7 @@ var DataTableCell = function DataTableCell(_ref) {
3601
3655
  var column = (_columns$columnIndex = columns === null || columns === void 0 ? void 0 : columns[columnIndex]) != null ? _columns$columnIndex : null;
3602
3656
  var isRightAligned = column ? column.isRightAligned : false;
3603
3657
  return React__default.createElement("div", {
3604
- className: classnames((_classnames = {}, _classnames[styles$b['data-table-cell--right-aligned']] = isRightAligned, _classnames), styles$b['data-table-cell'])
3658
+ className: classnames((_classnames = {}, _classnames[styles$c['data-table-cell--right-aligned']] = isRightAligned, _classnames), styles$c['data-table-cell'])
3605
3659
  }, children);
3606
3660
  };
3607
3661
 
@@ -3717,36 +3771,36 @@ var useFieldControllers = function useFieldControllers(_ref) {
3717
3771
  return controllers;
3718
3772
  };
3719
3773
 
3720
- var styles$c = {"label":"_h724f"};
3774
+ var styles$d = {"label":"_h724f"};
3721
3775
 
3722
3776
  var Label = function Label(_ref) {
3723
3777
  var htmlFor = _ref.htmlFor,
3724
3778
  children = _ref.children;
3725
3779
  return React__default.createElement("label", {
3726
3780
  htmlFor: htmlFor,
3727
- className: styles$c['label']
3781
+ className: styles$d['label']
3728
3782
  }, children);
3729
3783
  };
3730
3784
 
3731
- var styles$d = {"caption":"_1DWBq"};
3785
+ var styles$e = {"caption":"_1DWBq"};
3732
3786
 
3733
3787
  var Caption = function Caption(_ref) {
3734
3788
  var fieldId = _ref.fieldId,
3735
3789
  children = _ref.children;
3736
3790
  return React__default.createElement("div", {
3737
3791
  id: fieldId && fieldId + "-describer",
3738
- className: styles$d['caption']
3792
+ className: styles$e['caption']
3739
3793
  }, children);
3740
3794
  };
3741
3795
 
3742
- var styles$e = {"error-message":"_nZ2MD"};
3796
+ var styles$f = {"error-message":"_nZ2MD"};
3743
3797
 
3744
3798
  var ErrorMessage = function ErrorMessage(_ref) {
3745
3799
  var fieldId = _ref.fieldId,
3746
3800
  children = _ref.children;
3747
3801
  return React__default.createElement("div", {
3748
3802
  id: fieldId && fieldId + "-error-message",
3749
- className: styles$e['error-message']
3803
+ className: styles$f['error-message']
3750
3804
  }, React__default.createElement(Inline, {
3751
3805
  space: 8,
3752
3806
  alignItems: "center"
@@ -3775,7 +3829,7 @@ var Field = function Field(_ref) {
3775
3829
  }, error));
3776
3830
  };
3777
3831
 
3778
- var styles$f = {"affix-container":"_ybKOk","affix-container--prefixed":"_2COk3","affix-container--suffixed":"_1xXXN","prefix":"_eX5OL","suffix":"__YH01"};
3832
+ var styles$g = {"affix-container":"_ybKOk","affix-container--prefixed":"_2COk3","affix-container--suffixed":"_1xXXN","prefix":"_eX5OL","suffix":"__YH01"};
3779
3833
 
3780
3834
  var AffixContainer = function AffixContainer(_ref) {
3781
3835
  var _classnames;
@@ -3812,21 +3866,21 @@ var AffixContainer = function AffixContainer(_ref) {
3812
3866
  return children;
3813
3867
  }
3814
3868
 
3815
- var classes = classnames(styles$f['affix-container'], (_classnames = {}, _classnames[styles$f['affix-container--prefixed']] = hasPrefix, _classnames[styles$f['affix-container--suffixed']] = hasSuffix, _classnames));
3869
+ var classes = classnames(styles$g['affix-container'], (_classnames = {}, _classnames[styles$g['affix-container--prefixed']] = hasPrefix, _classnames[styles$g['affix-container--suffixed']] = hasSuffix, _classnames));
3816
3870
  return React__default.createElement("div", {
3817
3871
  className: classes,
3818
3872
  ref: container,
3819
3873
  "data-testid": "affix-container"
3820
3874
  }, hasPrefix && React__default.createElement("div", {
3821
- className: styles$f['prefix'],
3875
+ className: styles$g['prefix'],
3822
3876
  ref: prefixElement
3823
3877
  }, prefix), children, hasSuffix && React__default.createElement("div", {
3824
- className: styles$f['suffix'],
3878
+ className: styles$g['suffix'],
3825
3879
  ref: suffixElement
3826
3880
  }, suffix));
3827
3881
  };
3828
3882
 
3829
- var styles$g = {"data-table-editable-cell":"_kIngZ","data-table-editable-cell--right-aligned":"_3_QIj","data-table-editable-cell--currency":"_2Kyuc","data-table-editable-cell--invalid":"_y9SBQ","data-table-editable-cell--top-left":"_32mWH","data-table-editable-cell--top-right":"_3Jg2-","data-table-editable-cell--bottom-left":"_1F5fj","data-table-editable-cell--bottom-right":"_1fTTW"};
3883
+ var styles$h = {"data-table-editable-cell":"_kIngZ","data-table-editable-cell--right-aligned":"_3_QIj","data-table-editable-cell--currency":"_2Kyuc","data-table-editable-cell--invalid":"_y9SBQ","data-table-editable-cell--top-left":"_32mWH","data-table-editable-cell--top-right":"_3Jg2-","data-table-editable-cell--bottom-left":"_1F5fj","data-table-editable-cell--bottom-right":"_1fTTW"};
3830
3884
 
3831
3885
  var DataTableEditableCell = function DataTableEditableCell(_ref) {
3832
3886
  var _columns$columnIndex, _classnames, _classnames2;
@@ -3873,14 +3927,14 @@ var DataTableEditableCell = function DataTableEditableCell(_ref) {
3873
3927
  id: controllers.id
3874
3928
  };
3875
3929
  return React__default.createElement("div", {
3876
- className: classnames((_classnames = {}, _classnames[styles$g['data-table-editable-cell--currency']] = type === 'currency', _classnames), styles$g['data-table-editable-cell'])
3930
+ className: classnames((_classnames = {}, _classnames[styles$h['data-table-editable-cell--currency']] = type === 'currency', _classnames), styles$h['data-table-editable-cell'])
3877
3931
  }, React__default.createElement(Field, Object.assign({}, fieldProps), React__default.createElement(AffixContainer, {
3878
3932
  prefix: prefix,
3879
3933
  suffix: suffix
3880
3934
  }, React__default.createElement("input", {
3881
3935
  name: name,
3882
3936
  id: controllers.id,
3883
- className: classnames((_classnames2 = {}, _classnames2[styles$g['data-table-editable-cell--right-aligned']] = isRightAligned, _classnames2[styles$g['data-table-editable-cell--top-left']] = isTopLeftCell, _classnames2[styles$g['data-table-editable-cell--top-right']] = isTopRightCell, _classnames2[styles$g['data-table-editable-cell--bottom-left']] = isBottomLeftCell, _classnames2[styles$g['data-table-editable-cell--bottom-right']] = isBottomRightCell, _classnames2[styles$g['data-table-editable-cell--invalid']] = hasError, _classnames2)),
3937
+ className: classnames((_classnames2 = {}, _classnames2[styles$h['data-table-editable-cell--right-aligned']] = isRightAligned, _classnames2[styles$h['data-table-editable-cell--top-left']] = isTopLeftCell, _classnames2[styles$h['data-table-editable-cell--top-right']] = isTopRightCell, _classnames2[styles$h['data-table-editable-cell--bottom-left']] = isBottomLeftCell, _classnames2[styles$h['data-table-editable-cell--bottom-right']] = isBottomRightCell, _classnames2[styles$h['data-table-editable-cell--invalid']] = hasError, _classnames2)),
3884
3938
  type: type === 'currency' ? 'number' : 'text',
3885
3939
  step: type === 'currency' ? 'any' : '',
3886
3940
  "data-testid": "text-field-" + name,
@@ -4076,7 +4130,7 @@ var ToolbarSelect = function ToolbarSelect(_ref) {
4076
4130
  }));
4077
4131
  };
4078
4132
 
4079
- var styles$h = {"form--standard-size":"_3CaV0"};
4133
+ var styles$i = {"form--standard-size":"_3CaV0"};
4080
4134
 
4081
4135
  var Form = function Form(_ref) {
4082
4136
  var _classnames;
@@ -4100,7 +4154,7 @@ var Form = function Form(_ref) {
4100
4154
  }
4101
4155
  }, React__default.createElement("form", {
4102
4156
  onSubmit: onSubmit ? handleSubmit : formik === null || formik === void 0 ? void 0 : formik.handleSubmit,
4103
- className: classnames((_classnames = {}, _classnames[styles$h['form--standard-size']] = !wide, _classnames)),
4157
+ className: classnames((_classnames = {}, _classnames[styles$i['form--standard-size']] = !wide, _classnames)),
4104
4158
  "data-testid": "form"
4105
4159
  }, stackContent ? React__default.createElement(Stack, null, children) : children));
4106
4160
  };
@@ -4139,7 +4193,7 @@ var FormRow = function FormRow(_ref) {
4139
4193
  }));
4140
4194
  };
4141
4195
 
4142
- var styles$i = {"text-field":"_BkzdC","text-field--focus":"_Rop31","text-field--disabled":"_2x3Cm","text-field--invalid":"_3zOwV","text-field__toolbar":"_rQqnL"};
4196
+ var styles$j = {"text-field":"_BkzdC","text-field--focus":"_Rop31","text-field--disabled":"_2x3Cm","text-field--invalid":"_3zOwV","text-field__toolbar":"_rQqnL"};
4143
4197
 
4144
4198
  var useGrowTextAreaRef = function useGrowTextAreaRef(minHeight, maxHeight, autoGrow, forwardedRef) {
4145
4199
  var textareaRef = React.useRef(null);
@@ -4214,7 +4268,7 @@ var TextAreaField = function TextAreaField(_ref) {
4214
4268
  updateHeight = _useGrowTextAreaRef.updateHeight;
4215
4269
 
4216
4270
  return React__default.createElement(Field, Object.assign({}, fieldProps), React__default.createElement("div", {
4217
- className: classnames(styles$i['text-field'], (_classnames = {}, _classnames[styles$i['text-field--invalid']] = hasError, _classnames[styles$i['text-field--disabled']] = disabled, _classnames[styles$i['text-field--focus']] = hasFocus, _classnames)),
4271
+ className: classnames(styles$j['text-field'], (_classnames = {}, _classnames[styles$j['text-field--invalid']] = hasError, _classnames[styles$j['text-field--disabled']] = disabled, _classnames[styles$j['text-field--focus']] = hasFocus, _classnames)),
4218
4272
  ref: containerRef,
4219
4273
  onClick: function onClick(event) {
4220
4274
  if (event.target === (containerRef === null || containerRef === void 0 ? void 0 : containerRef.current)) {
@@ -4246,7 +4300,7 @@ var TextAreaField = function TextAreaField(_ref) {
4246
4300
  },
4247
4301
  ref: textAreaRef
4248
4302
  }), toolbar && React__default.createElement("div", {
4249
- className: styles$i['text-field__toolbar'],
4303
+ className: styles$j['text-field__toolbar'],
4250
4304
  id: controllers.id + "-toolbar",
4251
4305
  ref: toolbarRef,
4252
4306
  onClick: function onClick(event) {
@@ -4259,7 +4313,7 @@ var TextAreaField = function TextAreaField(_ref) {
4259
4313
  }, toolbar)));
4260
4314
  };
4261
4315
 
4262
- var styles$j = {"text-field":"_20YOA","text-field--invalid":"_3kUSh","text-field--prefixed":"_3IU3Q","text-field--suffixed":"_QXJOD"};
4316
+ var styles$k = {"text-field":"_20YOA","text-field--invalid":"_3kUSh","text-field--prefixed":"_3IU3Q","text-field--suffixed":"_QXJOD"};
4263
4317
 
4264
4318
  var useTextField = function useTextField(_ref) {
4265
4319
  var _classnames;
@@ -4297,7 +4351,7 @@ var useTextField = function useTextField(_ref) {
4297
4351
  'aria-invalid': hasError,
4298
4352
  autoComplete: autoComplete,
4299
4353
  autoFocus: autoFocus,
4300
- className: classnames(styles$j['text-field'], (_classnames = {}, _classnames[styles$j['text-field--invalid']] = hasError, _classnames)),
4354
+ className: classnames(styles$k['text-field'], (_classnames = {}, _classnames[styles$k['text-field--invalid']] = hasError, _classnames)),
4301
4355
  'data-testid': "text-field-" + name,
4302
4356
  disabled: disabled,
4303
4357
  defaultValue: defaultValue,
@@ -4394,7 +4448,7 @@ var useCheckBoxFieldControllers = function useCheckBoxFieldControllers(_ref) {
4394
4448
  return controllers;
4395
4449
  };
4396
4450
 
4397
- var styles$k = {"check-box-field":"_2sg0c","check-box-field__caption":"_2LdrP","check-box-field__custom-input":"_2mA8e"};
4451
+ var styles$l = {"check-box-field":"_2sg0c","check-box-field__caption":"_2LdrP","check-box-field__custom-input":"_2mA8e"};
4398
4452
 
4399
4453
  var CheckboxField = function CheckboxField(_ref) {
4400
4454
  var name = _ref.name,
@@ -4421,7 +4475,7 @@ var CheckboxField = function CheckboxField(_ref) {
4421
4475
  space: 8,
4422
4476
  alignItems: "center"
4423
4477
  }, React__default.createElement("div", {
4424
- className: styles$k['check-box-field']
4478
+ className: styles$l['check-box-field']
4425
4479
  }, React__default.createElement("input", {
4426
4480
  name: name,
4427
4481
  id: controllers.id,
@@ -4434,11 +4488,11 @@ var CheckboxField = function CheckboxField(_ref) {
4434
4488
  onChange: controllers.onChange,
4435
4489
  onBlur: controllers.onBlur
4436
4490
  }), React__default.createElement("span", {
4437
- className: styles$k['check-box-field__custom-input']
4491
+ className: styles$l['check-box-field__custom-input']
4438
4492
  })), label && React__default.createElement(Label, {
4439
4493
  htmlFor: controllers.id
4440
4494
  }, label)), caption && React__default.createElement("div", {
4441
- className: styles$k['check-box-field__caption']
4495
+ className: styles$l['check-box-field__caption']
4442
4496
  }, React__default.createElement(Caption, {
4443
4497
  fieldId: controllers.id
4444
4498
  }, caption)), controllers.error && React__default.createElement(ErrorMessage, {
@@ -4446,7 +4500,7 @@ var CheckboxField = function CheckboxField(_ref) {
4446
4500
  }, controllers.error));
4447
4501
  };
4448
4502
 
4449
- var styles$l = {"pill-select-field":"_g6T-p","pill-select-field__custom-input":"_1i2AX"};
4503
+ var styles$m = {"pill-select-field":"_g6T-p","pill-select-field__custom-input":"_1i2AX"};
4450
4504
 
4451
4505
  var useMultiSelectFieldControllers = function useMultiSelectFieldControllers(_ref) {
4452
4506
  var name = _ref.name,
@@ -4537,7 +4591,7 @@ var PillSelectField = function PillSelectField(_ref) {
4537
4591
  var itemId = controllers.id + "-" + itemIdentifier;
4538
4592
  return React__default.createElement("div", {
4539
4593
  key: itemIdentifier,
4540
- className: styles$l['pill-select-field']
4594
+ className: styles$m['pill-select-field']
4541
4595
  }, React__default.createElement("input", {
4542
4596
  name: name + "-" + itemIdentifier,
4543
4597
  id: itemId,
@@ -4559,7 +4613,7 @@ var PillSelectField = function PillSelectField(_ref) {
4559
4613
  controllers.onChange(newValue);
4560
4614
  }
4561
4615
  }), React__default.createElement("span", {
4562
- className: styles$l['pill-select-field__custom-input']
4616
+ className: styles$m['pill-select-field__custom-input']
4563
4617
  }, option.label));
4564
4618
  })));
4565
4619
  };
@@ -4607,7 +4661,7 @@ var useRadioGroupFieldContext = function useRadioGroupFieldContext() {
4607
4661
  return context;
4608
4662
  };
4609
4663
 
4610
- var styles$m = {"label":"_1WGz2","radio-group-field__label":"_RXyG_"};
4664
+ var styles$n = {"label":"_1WGz2","radio-group-field__label":"_RXyG_"};
4611
4665
 
4612
4666
  var RadioGroupField = function RadioGroupField(_ref) {
4613
4667
  var name = _ref.name,
@@ -4640,7 +4694,7 @@ var RadioGroupField = function RadioGroupField(_ref) {
4640
4694
  }, React__default.createElement(Stack, {
4641
4695
  space: 12
4642
4696
  }, label && React__default.createElement("div", {
4643
- className: styles$m['radio-group-field__label']
4697
+ className: styles$n['radio-group-field__label']
4644
4698
  }, label), React__default.createElement(Stack, {
4645
4699
  space: 8
4646
4700
  }, inline ? React__default.createElement(InlineOptions, null, children) : React__default.createElement(Stack, {
@@ -4674,7 +4728,7 @@ var InlineOptions = function InlineOptions(_ref2) {
4674
4728
  return React__default.createElement(FormRow, null, children);
4675
4729
  };
4676
4730
 
4677
- var styles$n = {"radio-group-option":"_1Clmp","radio-group-option__caption":"_3UmWA","radio-group-option__custom-input":"_1tMq-"};
4731
+ var styles$o = {"radio-group-option":"_1Clmp","radio-group-option__caption":"_3UmWA","radio-group-option__custom-input":"_1tMq-"};
4678
4732
 
4679
4733
  var RadioGroupOption = function RadioGroupOption(_ref) {
4680
4734
  var value = _ref.value,
@@ -4692,7 +4746,7 @@ var RadioGroupOption = function RadioGroupOption(_ref) {
4692
4746
  space: 8,
4693
4747
  alignItems: "center"
4694
4748
  }, React__default.createElement("div", {
4695
- className: styles$n['radio-group-option']
4749
+ className: styles$o['radio-group-option']
4696
4750
  }, React__default.createElement("input", {
4697
4751
  type: "radio",
4698
4752
  id: id,
@@ -4702,19 +4756,19 @@ var RadioGroupOption = function RadioGroupOption(_ref) {
4702
4756
  checked: radioGroupContext.value !== undefined ? radioGroupContext.value === value : undefined,
4703
4757
  disabled: radioGroupContext.disabled
4704
4758
  }), React__default.createElement("span", {
4705
- className: styles$n['radio-group-option__custom-input']
4759
+ className: styles$o['radio-group-option__custom-input']
4706
4760
  })), label && React__default.createElement(Label, {
4707
4761
  htmlFor: id
4708
4762
  }, label)), caption && React__default.createElement("div", {
4709
- className: styles$n['radio-group-option__caption']
4763
+ className: styles$o['radio-group-option__caption']
4710
4764
  }, React__default.createElement(Caption, {
4711
4765
  fieldId: id
4712
4766
  }, caption)));
4713
4767
  };
4714
4768
 
4715
- var styles$o = {"text-field":"_18Rzv","text-field--invalid":"_3eD7t","text-field--prefixed":"_2evrG","text-field--suffixed":"_-MgeO","password-container":"_-Rf3c","password-toggle":"_yinPY"};
4769
+ var styles$p = {"text-field":"_18Rzv","text-field--invalid":"_3eD7t","text-field--prefixed":"_2evrG","text-field--suffixed":"_-MgeO","password-container":"_-Rf3c","password-toggle":"_yinPY"};
4716
4770
 
4717
- var styles$p = {"password-criteria":"_U0krC","password-criteria--invalid":"_2XIl4"};
4771
+ var styles$q = {"password-criteria":"_U0krC","password-criteria--invalid":"_2XIl4"};
4718
4772
 
4719
4773
  var PasswordCriteria = function PasswordCriteria(_ref) {
4720
4774
  var _classnames;
@@ -4722,7 +4776,7 @@ var PasswordCriteria = function PasswordCriteria(_ref) {
4722
4776
  var met = _ref.met,
4723
4777
  children = _ref.children;
4724
4778
  return React__default.createElement("span", {
4725
- className: classnames(styles$p['password-criteria'], (_classnames = {}, _classnames[styles$p['password-criteria--invalid']] = !met, _classnames))
4779
+ className: classnames(styles$q['password-criteria'], (_classnames = {}, _classnames[styles$q['password-criteria--invalid']] = !met, _classnames))
4726
4780
  }, React__default.createElement(Inline, {
4727
4781
  space: met ? 4 : 8
4728
4782
  }, met ? React__default.createElement(IconCheck, {
@@ -4806,11 +4860,11 @@ var PasswordField = function PasswordField(_ref) {
4806
4860
  error: controllers.error
4807
4861
  };
4808
4862
  return React__default.createElement(Field, Object.assign({}, fieldProps), React__default.createElement("div", {
4809
- className: styles$o['password-container']
4863
+ className: styles$p['password-container']
4810
4864
  }, React__default.createElement("input", {
4811
4865
  name: name,
4812
4866
  id: controllers.id,
4813
- className: classnames(styles$o['text-field'], (_classnames = {}, _classnames[styles$o['text-field--invalid']] = hasError, _classnames)),
4867
+ className: classnames(styles$p['text-field'], (_classnames = {}, _classnames[styles$p['text-field--invalid']] = hasError, _classnames)),
4814
4868
  type: type,
4815
4869
  "data-testid": "text-field-" + name,
4816
4870
  "aria-describedby": hasError ? controllers.id + "-error-message" : controllers.id + "-describer",
@@ -4822,7 +4876,7 @@ var PasswordField = function PasswordField(_ref) {
4822
4876
  onChange: controllers.onChange,
4823
4877
  onBlur: controllers.onBlur
4824
4878
  }), React__default.createElement("div", {
4825
- className: styles$o['password-toggle'],
4879
+ className: styles$p['password-toggle'],
4826
4880
  onClick: toggleType,
4827
4881
  onKeyPress: toggleType,
4828
4882
  "data-testid": "password-toggle",
@@ -5060,7 +5114,7 @@ var MultiSelectField = function MultiSelectField(_ref) {
5060
5114
  }));
5061
5115
  };
5062
5116
 
5063
- var styles$q = {"custom-control":"_1cDCR"};
5117
+ var styles$r = {"custom-control":"_1cDCR"};
5064
5118
 
5065
5119
  var _excluded$5 = ["children", "CustomPrefixComponent"];
5066
5120
 
@@ -5073,7 +5127,7 @@ function CustomControl(_ref) {
5073
5127
 
5074
5128
  var selectedOption = (_props$getValue = props.getValue()) === null || _props$getValue === void 0 ? void 0 : _props$getValue[0];
5075
5129
  return React__default.createElement(Select.components.Control, Object.assign({}, props), CustomControl && selectedOption ? React__default.createElement("div", {
5076
- className: styles$q['custom-control'],
5130
+ className: styles$r['custom-control'],
5077
5131
  style: {
5078
5132
  paddingLeft: selectedOption ? 8 : 0
5079
5133
  }
@@ -5258,14 +5312,14 @@ var DatePickerCalendar = function DatePickerCalendar(_ref) {
5258
5312
 
5259
5313
  var inputStyles = {"text-field":"_1btTx","date-field":"_1Sc9D","text-field--invalid":"_2feYp","date-field--invalid":"_2SNat","text-field--prefixed":"_E18JV","date-field--prefixed":"_jLolW","text-field--suffixed":"_27J43","date-field--suffixed":"_3eTNi"};
5260
5314
 
5261
- var styles$r = {"container":"_v1b-5","wrapper":"_3mrLu","interactionDisabled":"_1J9dh","DayPicker-Day":"_8FcQE","navBar":"_1SPuq","todayButton":"_24FJ6","navButtonInteractionDisabled":"_Oxdm9","navButtonPrev":"_20uqc","navButtonNext":"_3C53z","months":"_M_eHz","month":"_3RPpJ","caption":"_1FXNw","weekdays":"_3KcRU","weekdaysRow":"_1fO_e","weekday":"_c1Y-X","body":"_34mA1","week":"_1PmqZ","day":"_1AWH2","disabled":"_3vJkw","selected":"_1DR0N","outside":"_276GV","footer":"_2M5xr","today":"_3N6fj","overlayWrapper":"_3Zqgu","overlay":"_20Ncd","weekNumber":"_2hb-S"};
5315
+ var dayStyles = {"container":"_v1b-5","wrapper":"_3mrLu","interactionDisabled":"_1J9dh","DayPicker-Day":"_8FcQE","navBar":"_1SPuq","todayButton":"_24FJ6","navButtonInteractionDisabled":"_Oxdm9","navButtonPrev":"_20uqc","navButtonNext":"_3C53z","months":"_M_eHz","month":"_3RPpJ","caption":"_1FXNw","weekdays":"_3KcRU","weekdaysRow":"_1fO_e","weekday":"_c1Y-X","body":"_34mA1","week":"_1PmqZ","day":"_1AWH2","disabled":"_3vJkw","selected":"_1DR0N","outside":"_276GV","footer":"_2M5xr","today":"_3N6fj","overlayWrapper":"_3Zqgu","overlay":"_20Ncd","weekNumber":"_2hb-S"};
5262
5316
 
5263
5317
  function parseDate(str, format, locale) {
5264
5318
  var parsed = dateFnsParse(str, format, new Date(), {
5265
5319
  locale: locale
5266
5320
  });
5267
5321
 
5268
- if (str.length === format.length && reactDayPicker.DateUtils.isDate(parsed)) {
5322
+ if (str.length === format.length && DayPicker.DateUtils.isDate(parsed)) {
5269
5323
  return parsed;
5270
5324
  }
5271
5325
 
@@ -5318,7 +5372,8 @@ var DateField = function DateField(_ref) {
5318
5372
  disabled = _ref.disabled,
5319
5373
  defaultValue = _ref.defaultValue,
5320
5374
  _ref$readOnly = _ref.readOnly,
5321
- readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly;
5375
+ readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,
5376
+ onMonthChange = _ref.onMonthChange;
5322
5377
  var inputRef = React.useRef();
5323
5378
 
5324
5379
  var _useState = React.useState(false),
@@ -5342,7 +5397,7 @@ var DateField = function DateField(_ref) {
5342
5397
  error: controllers.error
5343
5398
  };
5344
5399
  var dayPickerProps = {
5345
- classNames: styles$r,
5400
+ classNames: dayStyles,
5346
5401
  disabledDays: function disabledDays(day) {
5347
5402
  return _disabledDays && _disabledDays(setToMidnight(day));
5348
5403
  },
@@ -5351,7 +5406,8 @@ var DateField = function DateField(_ref) {
5351
5406
  weekdaysLong: DAYS,
5352
5407
  weekdaysShort: DAYS.map(function (day) {
5353
5408
  return day.substring(0, 2);
5354
- })
5409
+ }),
5410
+ onMonthChange: onMonthChange
5355
5411
  };
5356
5412
  return React__default.createElement(Field, Object.assign({}, fieldProps), React__default.createElement(AffixContainer, {
5357
5413
  prefix: React__default.createElement(IconCalendarAlt, {
@@ -5359,7 +5415,7 @@ var DateField = function DateField(_ref) {
5359
5415
  })
5360
5416
  }, React__default.createElement(DayPickerInput, {
5361
5417
  format: format,
5362
- classNames: styles$r,
5418
+ classNames: dayStyles,
5363
5419
  formatDate: formatDate,
5364
5420
  parseDate: parseDate,
5365
5421
  placeholder: placeholder || format.toUpperCase(),
@@ -5759,7 +5815,7 @@ var DateRangeField = function DateRangeField(_ref) {
5759
5815
  })));
5760
5816
  };
5761
5817
 
5762
- var styles$t = {"container":"_okDvi","wrapper":"_17XdD","interactionDisabled":"_1O7OT","DayPicker-Day":"_3noGA","navBar":"_1Hl3Q","todayButton":"_m0Vs9","navButtonInteractionDisabled":"_1ULWH","navButtonPrev":"_3gjq8","navButtonNext":"_1m-Kd","months":"_Fq6Xh","month":"_3i0Oo","caption":"_36X9Y","weekdays":"_1aWPn","weekdaysRow":"_3HXCK","weekday":"_t-ctd","body":"_XAbiR","week":"_3Nwep","day":"_3nNcG","disabled":"_1M4ZF","selected":"_2PEs8","outside":"_1PIJa","footer":"_2T_z1","today":"_1hVM6","overlayWrapper":"_1L-hI","overlay":"_dDPZb","weekNumber":"_1alhT"};
5818
+ var weekStyles = {"container":"_okDvi","wrapper":"_17XdD","interactionDisabled":"_1O7OT","DayPicker-Day":"_3noGA","navBar":"_1Hl3Q","todayButton":"_m0Vs9","navButtonInteractionDisabled":"_1ULWH","navButtonPrev":"_3gjq8","navButtonNext":"_1m-Kd","months":"_Fq6Xh","month":"_3i0Oo","caption":"_36X9Y","weekdays":"_1aWPn","weekdaysRow":"_3HXCK","weekday":"_t-ctd","body":"_XAbiR","week":"_3Nwep","day":"_3nNcG","disabled":"_1M4ZF","selected":"_2PEs8","outside":"_1PIJa","footer":"_2T_z1","today":"_1hVM6","overlayWrapper":"_1L-hI","overlay":"_dDPZb","weekNumber":"_1alhT"};
5763
5819
 
5764
5820
  var WeekField = function WeekField(_ref) {
5765
5821
  var _classnames;
@@ -5834,7 +5890,7 @@ var WeekField = function WeekField(_ref) {
5834
5890
  };
5835
5891
 
5836
5892
  var dayPickerProps = {
5837
- classNames: styles$t,
5893
+ classNames: weekStyles,
5838
5894
  disabledDays: function disabledDays(day) {
5839
5895
  return _disabledDays && _disabledDays(setToMidnight(day));
5840
5896
  },
@@ -5864,7 +5920,7 @@ var WeekField = function WeekField(_ref) {
5864
5920
  })
5865
5921
  }, React__default.createElement(DayPickerInput, {
5866
5922
  format: format,
5867
- classNames: styles$t,
5923
+ classNames: weekStyles,
5868
5924
  formatDate: formatDate,
5869
5925
  parseDate: parseDate,
5870
5926
  placeholder: placeholder || format.toUpperCase(),
@@ -6060,39 +6116,9 @@ var PercentageElement = function PercentageElement(_ref, ref) {
6060
6116
 
6061
6117
  var PercentageField = React.forwardRef(PercentageElement);
6062
6118
 
6063
- var styles$u = {"caption":"_1QDLF","label":"_2wiMV","toggle":"_1ui8X","toggle__label":"_1YRJT","toggle__caption":"_1jEiW","toggle__switch":"_3tNyE"};
6064
-
6065
- var Toggle = function Toggle(_ref) {
6066
- var checked = _ref.checked,
6067
- label = _ref.label,
6068
- caption = _ref.caption,
6069
- onChange = _ref.onChange,
6070
- _ref$disabled = _ref.disabled,
6071
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
6072
- id = _ref.id;
6073
- return React__default.createElement(Stack, {
6074
- space: 8
6075
- }, React__default.createElement("label", {
6076
- className: styles$u['toggle']
6077
- }, React__default.createElement("input", {
6078
- "data-testid": "toggle",
6079
- type: "checkbox",
6080
- checked: checked,
6081
- onChange: onChange,
6082
- disabled: disabled,
6083
- id: id
6084
- }), React__default.createElement("span", {
6085
- className: styles$u['toggle__switch']
6086
- }), label && React__default.createElement("span", {
6087
- className: styles$u['toggle__label']
6088
- }, label)), caption && React__default.createElement("span", {
6089
- className: styles$u['toggle__caption']
6090
- }, caption));
6091
- };
6092
-
6093
- var styles$v = {"overlay":"_2puqJ","overlay--after-open":"_1167h","overlay--before-close":"_t_t7L","content":"_wQQ_2","content--after-open":"_3jwux","content--before-close":"_2c2QP"};
6119
+ var styles$t = {"overlay":"_2puqJ","overlay--after-open":"_1167h","overlay--before-close":"_t_t7L","content":"_wQQ_2","content--after-open":"_3jwux","content--before-close":"_2c2QP"};
6094
6120
 
6095
- var styles$w = {"header":"_36nxW","sub-header":"_2XwRD"};
6121
+ var styles$u = {"header":"_36nxW","sub-header":"_2XwRD"};
6096
6122
 
6097
6123
  var ModalHeader = function ModalHeader(_ref) {
6098
6124
  var header = _ref.header,
@@ -6104,12 +6130,12 @@ var ModalHeader = function ModalHeader(_ref) {
6104
6130
  flex: [1],
6105
6131
  alignItems: "center"
6106
6132
  }, React__default.createElement("span", {
6107
- className: styles$w['header']
6133
+ className: styles$u['header']
6108
6134
  }, header), React__default.createElement(Button$1, {
6109
6135
  theme: "link-icon",
6110
6136
  onClick: onClose
6111
6137
  }, React__default.createElement(IconTimes, null))), subHeader && React__default.createElement("div", {
6112
- className: styles$w['sub-header']
6138
+ className: styles$u['sub-header']
6113
6139
  }, subHeader));
6114
6140
  };
6115
6141
 
@@ -6145,14 +6171,14 @@ var Modal = function Modal(_ref) {
6145
6171
  contentLabel: "Modal",
6146
6172
  appElement: rootElementId && document.getElementById(rootElementId) || undefined,
6147
6173
  overlayClassName: {
6148
- base: styles$v['overlay'],
6149
- afterOpen: styles$v['overlay--after-open'],
6150
- beforeClose: styles$v['overlay--before-close']
6174
+ base: styles$t['overlay'],
6175
+ afterOpen: styles$t['overlay--after-open'],
6176
+ beforeClose: styles$t['overlay--before-close']
6151
6177
  },
6152
6178
  className: {
6153
- base: styles$v['content'],
6154
- afterOpen: styles$v['content--after-open'],
6155
- beforeClose: styles$v['content--before-close']
6179
+ base: styles$t['content'],
6180
+ afterOpen: styles$t['content--after-open'],
6181
+ beforeClose: styles$t['content--before-close']
6156
6182
  }
6157
6183
  }, React__default.createElement(ModalHeader, {
6158
6184
  header: header,
@@ -6165,16 +6191,16 @@ Modal.setAppElement = function (rootElement) {
6165
6191
  ReactModal.setAppElement(rootElement);
6166
6192
  };
6167
6193
 
6168
- var styles$x = {"modal-body":"_2J-ku"};
6194
+ var styles$v = {"modal-body":"_2J-ku"};
6169
6195
 
6170
6196
  var ModalBody = function ModalBody(_ref) {
6171
6197
  var children = _ref.children;
6172
6198
  return React__default.createElement("div", {
6173
- className: styles$x['modal-body']
6199
+ className: styles$v['modal-body']
6174
6200
  }, children);
6175
6201
  };
6176
6202
 
6177
- var styles$y = {"modal-footer":"_LKOr5","tertiary-container":"_Qktd-"};
6203
+ var styles$w = {"modal-footer":"_LKOr5","tertiary-container":"_Qktd-"};
6178
6204
 
6179
6205
  var ModalFooter = function ModalFooter(_ref) {
6180
6206
  var children = _ref.children,
@@ -6195,7 +6221,7 @@ var ModalFooter = function ModalFooter(_ref) {
6195
6221
  return React__default.createElement(FooterContainer, null, React__default.createElement(Inline, {
6196
6222
  justifyContent: "space-between"
6197
6223
  }, React__default.createElement("div", {
6198
- className: classnames((_classnames = {}, _classnames[styles$y['tertiary-container']] = tertiaryButton && tertiaryButton.props.theme.startsWith('link'), _classnames))
6224
+ className: classnames((_classnames = {}, _classnames[styles$w['tertiary-container']] = tertiaryButton && tertiaryButton.props.theme.startsWith('link'), _classnames))
6199
6225
  }, tertiaryButton || React__default.createElement("div", null)), React__default.createElement(Inline, {
6200
6226
  space: 12
6201
6227
  }, secondaryButton, primaryButton)));
@@ -6223,7 +6249,7 @@ var FooterContainer = function FooterContainer(_ref2) {
6223
6249
  var childrenItens = React__default.Children.toArray(children);
6224
6250
  var hasCustomAlignment = childrenItens.length === 1 && childrenItens[0].type === Inline;
6225
6251
  return React__default.createElement("div", {
6226
- className: styles$y['modal-footer']
6252
+ className: styles$w['modal-footer']
6227
6253
  }, React__default.createElement(Inline, {
6228
6254
  justifyContent: "end",
6229
6255
  space: 12,
@@ -6231,7 +6257,161 @@ var FooterContainer = function FooterContainer(_ref2) {
6231
6257
  }, children));
6232
6258
  };
6233
6259
 
6234
- var styles$z = {"badge":"_2f81N","badge--warning":"_2g1GI","badge--danger":"_2zLnM","badge--success":"_27QOo","badge--info":"_2gmsM"};
6260
+ var CALENDAR_MODE = {
6261
+ DAY: 'day',
6262
+ WEEK: 'week'
6263
+ };
6264
+ var CALENDAR_PLACEMENT = {
6265
+ BOTTOM: 'bottom',
6266
+ TOP: 'top'
6267
+ };
6268
+
6269
+ var calculateCalendarPosition = function calculateCalendarPosition(placement, anchorPosition, calendarDimensions) {
6270
+ if (!calendarDimensions) {
6271
+ return {
6272
+ left: 0,
6273
+ top: 0
6274
+ };
6275
+ }
6276
+
6277
+ var horizontalPosition = getHorizontalPosition(anchorPosition, calendarDimensions);
6278
+ var verticalPosition = getVerticalPosition(anchorPosition, placement, calendarDimensions);
6279
+ return _extends({}, horizontalPosition, verticalPosition);
6280
+ };
6281
+
6282
+ var getHorizontalPosition = function getHorizontalPosition(anchorPosition, calendarDimensions) {
6283
+ var innerWidth = window.innerWidth;
6284
+ var calendarRight = anchorPosition.left + calendarDimensions.width;
6285
+
6286
+ if (innerWidth > calendarRight + BUFFER) {
6287
+ return {
6288
+ left: anchorPosition.left
6289
+ };
6290
+ }
6291
+
6292
+ return {
6293
+ left: anchorPosition.right - calendarDimensions.width
6294
+ };
6295
+ };
6296
+
6297
+ var getVerticalPosition = function getVerticalPosition(anchorPosition, placement, calendarDimensions) {
6298
+ var calendarTopAboveTrigger = anchorPosition.top - calendarDimensions.height - PADDING;
6299
+ var calendarTopBelowTrigger = anchorPosition.bottom + PADDING;
6300
+
6301
+ if (placement === CALENDAR_PLACEMENT.TOP) {
6302
+ if (calendarTopAboveTrigger < 0) {
6303
+ return {
6304
+ top: anchorPosition.bottom + PADDING
6305
+ };
6306
+ }
6307
+
6308
+ return {
6309
+ top: calendarTopAboveTrigger + window.scrollY
6310
+ };
6311
+ } else {
6312
+ if (calendarTopBelowTrigger + calendarDimensions.height > window.innerHeight) {
6313
+ return {
6314
+ top: calendarTopAboveTrigger + window.scrollY
6315
+ };
6316
+ }
6317
+
6318
+ return {
6319
+ top: calendarTopBelowTrigger + window.scrollY
6320
+ };
6321
+ }
6322
+ };
6323
+
6324
+ var Calendar = function Calendar(_ref) {
6325
+ var _ref$mode = _ref.mode,
6326
+ mode = _ref$mode === void 0 ? CALENDAR_MODE.DAY : _ref$mode,
6327
+ _ref$position = _ref.position,
6328
+ position = _ref$position === void 0 ? CALENDAR_PLACEMENT.BOTTOM : _ref$position,
6329
+ _ref$weekStart = _ref.weekStart,
6330
+ weekStart = _ref$weekStart === void 0 ? 0 : _ref$weekStart,
6331
+ selected = _ref.selected,
6332
+ onSelect = _ref.onSelect,
6333
+ onClickOutside = _ref.onClickOutside,
6334
+ disabledDays = _ref.disabledDays,
6335
+ anchorRef = _ref.anchorRef;
6336
+
6337
+ var _useState = React.useState(null),
6338
+ calendarRef = _useState[0],
6339
+ setCalendarRef = _useState[1];
6340
+
6341
+ var style = mode === CALENDAR_MODE.DAY ? dayStyles : weekStyles;
6342
+ var anchorNode = anchorRef.current;
6343
+ useOnClickOutside({
6344
+ current: calendarRef
6345
+ }, function (event) {
6346
+ var _anchorRef$current;
6347
+
6348
+ if (!((_anchorRef$current = anchorRef.current) !== null && _anchorRef$current !== void 0 && _anchorRef$current.contains(event === null || event === void 0 ? void 0 : event.srcElement))) {
6349
+ onClickOutside();
6350
+ }
6351
+ });
6352
+ var weekRange = selected ? createWeekRange(selected, weekStart) : undefined;
6353
+ var selectedRange = weekRange && {
6354
+ from: weekRange.start,
6355
+ to: weekRange.end
6356
+ };
6357
+
6358
+ var handleSelect = function handleSelect(day) {
6359
+ var selectedDate = setToMidnight(day);
6360
+
6361
+ if (mode === CALENDAR_MODE.DAY) {
6362
+ onSelect(selectedDate);
6363
+ } else {
6364
+ var _weekRange = createWeekRange(selectedDate, weekStart);
6365
+
6366
+ onSelect(_weekRange.start);
6367
+ }
6368
+
6369
+ setTimeout(function () {
6370
+ onClickOutside();
6371
+ }, 100);
6372
+ };
6373
+
6374
+ if (!anchorNode) {
6375
+ return null;
6376
+ }
6377
+
6378
+ var anchorPosition = anchorNode.getBoundingClientRect();
6379
+ var calendarPosition = calculateCalendarPosition(position, anchorPosition, calendarRef === null || calendarRef === void 0 ? void 0 : calendarRef.getBoundingClientRect());
6380
+ return React__default.createElement(Portal, null, React__default.createElement("div", {
6381
+ className: style.overlayWrapper
6382
+ }, React__default.createElement("div", {
6383
+ className: style.overlay,
6384
+ ref: function ref(_ref2) {
6385
+ return setCalendarRef(_ref2);
6386
+ },
6387
+ style: _extends({}, calendarPosition, {
6388
+ zIndex: Z_INDEX_LAYERS.MODAL
6389
+ })
6390
+ }, React__default.createElement(DayPicker__default, {
6391
+ format: "MM/dd/yyyy",
6392
+ classNames: style,
6393
+ onDayClick: function onDayClick(day, activeModifiers) {
6394
+ var isDateDisabled = Object.keys(activeModifiers).find(function (modifier) {
6395
+ return modifier.includes('disabled');
6396
+ });
6397
+
6398
+ if (!Boolean(isDateDisabled)) {
6399
+ handleSelect(day);
6400
+ }
6401
+ },
6402
+ selectedDays: mode === CALENDAR_MODE.DAY ? selected : selectedRange,
6403
+ disabledDays: disabledDays,
6404
+ months: MONTH_NAMES,
6405
+ weekdaysLong: DAYS,
6406
+ weekdaysShort: DAYS.map(function (day) {
6407
+ return day.substring(0, 2);
6408
+ }),
6409
+ showOutsideDays: mode === CALENDAR_MODE.WEEK,
6410
+ firstDayOfWeek: weekStart
6411
+ }))));
6412
+ };
6413
+
6414
+ var styles$x = {"badge":"_2f81N","badge--warning":"_2g1GI","badge--danger":"_2zLnM","badge--success":"_27QOo","badge--info":"_2gmsM"};
6235
6415
 
6236
6416
  var _excluded$a = ["children", "theme", "title"];
6237
6417
 
@@ -6254,16 +6434,16 @@ var Badge = function Badge(_ref, forwardedRef) {
6254
6434
  overlay: title,
6255
6435
  ref: ref
6256
6436
  }, React__default.createElement("div", Object.assign({
6257
- className: classnames(styles$z['badge'], (_classnames = {}, _classnames[styles$z['badge--success']] = theme === 'success', _classnames[styles$z['badge--danger']] = theme === 'danger', _classnames[styles$z['badge--info']] = theme === 'info', _classnames[styles$z['badge--warning']] = theme === 'warning', _classnames)),
6437
+ className: classnames(styles$x['badge'], (_classnames = {}, _classnames[styles$x['badge--success']] = theme === 'success', _classnames[styles$x['badge--danger']] = theme === 'danger', _classnames[styles$x['badge--info']] = theme === 'info', _classnames[styles$x['badge--warning']] = theme === 'warning', _classnames)),
6258
6438
  ref: ref
6259
6439
  }, otherProps), children));
6260
6440
  };
6261
6441
 
6262
6442
  var Badge$1 = React.forwardRef(Badge);
6263
6443
 
6264
- var styles$A = {"avatar":"_2wJGB","avatar--small":"_3QTSo","avatar__badge":"_2Rl8S","avatar--medium":"_1zwj0","avatar--large":"_3-U6x","avatar--extra-large":"_3qn2q"};
6444
+ var styles$y = {"avatar":"_2wJGB","avatar--small":"_3QTSo","avatar__badge":"_2Rl8S","avatar--medium":"_1zwj0","avatar--large":"_3-U6x","avatar--extra-large":"_3qn2q"};
6265
6445
 
6266
- var styles$B = {"avatar-image":"_GKL9P"};
6446
+ var styles$z = {"avatar-image":"_GKL9P"};
6267
6447
 
6268
6448
  var AvatarImage = function AvatarImage(_ref) {
6269
6449
  var url = _ref.url,
@@ -6288,7 +6468,7 @@ var AvatarImage = function AvatarImage(_ref) {
6288
6468
  }
6289
6469
 
6290
6470
  return React__default.createElement("div", {
6291
- className: styles$B['avatar-image']
6471
+ className: styles$z['avatar-image']
6292
6472
  }, React__default.createElement(IconUserSolid, {
6293
6473
  size: "flexible",
6294
6474
  color: color
@@ -6356,7 +6536,7 @@ var Avatar = function Avatar(_ref) {
6356
6536
 
6357
6537
  var backgroundColor = url ? GREY200 : color;
6358
6538
  return React__default.createElement("div", {
6359
- className: classnames(styles$A['avatar'], (_classnames = {}, _classnames[styles$A['avatar--small']] = size === 'small', _classnames[styles$A['avatar--medium']] = size === 'medium', _classnames[styles$A['avatar--large']] = size === 'large', _classnames[styles$A['avatar--extra-large']] = size === 'extra-large', _classnames)),
6539
+ className: classnames(styles$y['avatar'], (_classnames = {}, _classnames[styles$y['avatar--small']] = size === 'small', _classnames[styles$y['avatar--medium']] = size === 'medium', _classnames[styles$y['avatar--large']] = size === 'large', _classnames[styles$y['avatar--extra-large']] = size === 'extra-large', _classnames)),
6360
6540
  style: {
6361
6541
  backgroundColor: children || url && !showIconInsteadOfImage ? backgroundColor : defaultProfilePictureColors.backgroundColor
6362
6542
  }
@@ -6368,13 +6548,14 @@ var Avatar = function Avatar(_ref) {
6368
6548
  return setShowIconInsteadOfImage(true);
6369
6549
  }
6370
6550
  }), badge && size !== 'small' && React__default.createElement("div", {
6371
- className: styles$A['avatar__badge']
6551
+ className: styles$y['avatar__badge']
6372
6552
  }, badge));
6373
6553
  };
6374
6554
 
6375
6555
  exports.Avatar = Avatar;
6376
6556
  exports.Badge = Badge$1;
6377
6557
  exports.Button = Button$1;
6558
+ exports.Calendar = Calendar;
6378
6559
  exports.CheckboxField = CheckboxField;
6379
6560
  exports.CurrencyField = CurrencyField;
6380
6561
  exports.DataTable = DataTable;