@majoo-ui/react 1.57.8 → 1.57.10-rc.1

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/index.esm.js CHANGED
@@ -20,13 +20,13 @@ import * as SwitchPrimitive from '@radix-ui/react-switch';
20
20
  import Downshift, { useMultipleSelection, useCombobox } from 'downshift';
21
21
  import InfiniteScroll from 'react-infinite-scroller';
22
22
  import debounce from 'lodash.debounce';
23
- import { useFloating, offset, flip, shift as shift$2, useInteractions, useClick, useDismiss, FloatingPortal, FloatingFocusManager } from '@floating-ui/react';
24
- import * as DialogPrimitive from '@radix-ui/react-dialog';
23
+ import { useFloating, offset, shift as shift$2, flip, useInteractions, useClick, useDismiss, FloatingPortal, FloatingFocusManager } from '@floating-ui/react';
25
24
  import OTPInput, { ResendOTP as ResendOTP$1 } from 'otp-input-react';
26
25
  import * as SliderPrimitive from '@radix-ui/react-slider';
27
26
  import * as TabsPrimitive from '@radix-ui/react-tabs';
28
27
  import * as SeparatorPrimitive from '@radix-ui/react-separator';
29
28
  import * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';
29
+ import * as DialogPrimitive from '@radix-ui/react-dialog';
30
30
  import * as AccordionPrimitive from '@radix-ui/react-accordion';
31
31
  import { useDayzed } from 'dayzed';
32
32
  import { useTable, useSortBy, useExpanded, usePagination, useRowSelect, useColumnOrder, useMountedLayoutEffect } from 'react-table';
@@ -4188,6 +4188,21 @@ const ButtonPrimitive = styled('button', {
4188
4188
  alignItems: 'center',
4189
4189
  justifyContent: 'center'
4190
4190
  }
4191
+ },
4192
+ mobileOnly: {
4193
+ true: {
4194
+ '@md': {
4195
+ display: 'none !important'
4196
+ }
4197
+ }
4198
+ },
4199
+ desktopOnly: {
4200
+ true: {
4201
+ display: 'none !important',
4202
+ '@md': {
4203
+ display: 'inherit !important'
4204
+ }
4205
+ }
4191
4206
  }
4192
4207
  }
4193
4208
  });
@@ -4203,9 +4218,11 @@ const Button$4 = /*#__PURE__*/React.forwardRef((_a, forwardedRef) => {
4203
4218
  leftIcon,
4204
4219
  rightIcon,
4205
4220
  icon = false,
4206
- iconSize
4221
+ iconSize,
4222
+ mobileOnly,
4223
+ desktopOnly
4207
4224
  } = _a,
4208
- props = __rest(_a, ["children", "type", "buttonType", "size", "disabled", "block", "width", "leftIcon", "rightIcon", "icon", "iconSize"]);
4225
+ props = __rest(_a, ["children", "type", "buttonType", "size", "disabled", "block", "width", "leftIcon", "rightIcon", "icon", "iconSize", "mobileOnly", "desktopOnly"]);
4209
4226
  return jsxs(ButtonPrimitive, Object.assign({
4210
4227
  type: type,
4211
4228
  buttonType: buttonType,
@@ -4213,6 +4230,8 @@ const Button$4 = /*#__PURE__*/React.forwardRef((_a, forwardedRef) => {
4213
4230
  withIcon: Boolean(icon || leftIcon || rightIcon),
4214
4231
  iconSize: icon ? size : undefined,
4215
4232
  disabled: disabled,
4233
+ mobileOnly: mobileOnly,
4234
+ desktopOnly: desktopOnly,
4216
4235
  css: Object.assign(Object.assign({}, props.css), {
4217
4236
  width: block ? '100%' : width
4218
4237
  }),
@@ -8623,106 +8642,6 @@ fixRegExpWellKnownSymbolLogic$1('search', function (SEARCH, nativeSearch, maybeC
8623
8642
  ];
8624
8643
  });
8625
8644
 
8626
- const StyledOverlay$3 = styled(DialogPrimitive.Overlay, {
8627
- backgroundColor: '$bgDimmer',
8628
- position: 'fixed',
8629
- inset: 0
8630
- });
8631
- const StyledContent$5 = styled(DialogPrimitive.Content, {
8632
- position: 'fixed',
8633
- top: '50%',
8634
- left: '50%',
8635
- transform: 'translate(-50%, -50%)',
8636
- '&:focus': {
8637
- outline: 'none'
8638
- },
8639
- width: '100%',
8640
- variants: {
8641
- /**
8642
- * Size of modal width, the height sized according to content. Size must be placed on DialogContent element
8643
- * if it's on mobile view will auto set maxWidth to 'unset'.
8644
- */
8645
- size: {
8646
- auto: {
8647
- '@md': {
8648
- width: 'auto'
8649
- }
8650
- },
8651
- xs: {
8652
- maxWidth: 'unset',
8653
- '@md': {
8654
- maxWidth: '320px'
8655
- }
8656
- },
8657
- sm: {
8658
- maxWidth: 'unset',
8659
- '@md': {
8660
- maxWidth: '384px'
8661
- }
8662
- },
8663
- md: {
8664
- maxWidth: 'unset',
8665
- '@md': {
8666
- maxWidth: '448px'
8667
- }
8668
- },
8669
- lg: {
8670
- maxWidth: 'unset',
8671
- '@md': {
8672
- maxWidth: '512px'
8673
- }
8674
- },
8675
- xl: {
8676
- maxWidth: 'unset',
8677
- '@md': {
8678
- maxWidth: '576px'
8679
- }
8680
- },
8681
- full: {
8682
- maxWidth: '100vw',
8683
- minHeight: '100vh'
8684
- }
8685
- }
8686
- },
8687
- defaultVariants: {
8688
- size: 'md'
8689
- }
8690
- });
8691
- const Content$2 = /*#__PURE__*/React__default.forwardRef((props, ref) => {
8692
- const {
8693
- children
8694
- } = props,
8695
- rest = __rest(props, ["children"]);
8696
- return jsx(StyledContent$5, Object.assign({}, rest, {
8697
- ref: ref
8698
- }, {
8699
- children: children
8700
- }), void 0);
8701
- });
8702
- const StyledTitle$1 = styled(DialogPrimitive.Title, {});
8703
- const StyledDescription$2 = styled(DialogPrimitive.Description, {
8704
- margin: '10px 0 20px',
8705
- color: '$textSecondary',
8706
- fontSize: 15,
8707
- lineHeight: 1.5
8708
- });
8709
- // Exports
8710
- const Dialog = DialogPrimitive.Root;
8711
- const DialogTrigger = DialogPrimitive.Trigger;
8712
- const DialogContent = Content$2;
8713
- const DialogTitle = StyledTitle$1;
8714
- const DialogDescription = StyledDescription$2;
8715
- const DialogClose = DialogPrimitive.Close;
8716
- const DialogOverlay = StyledOverlay$3;
8717
- const DialogPortal = DialogPrimitive.Portal;
8718
- DialogTrigger.displayName = 'DialogTrigger';
8719
- DialogContent.displayName = 'DialogContent';
8720
- DialogTitle.displayName = 'DialogTitle';
8721
- DialogDescription.displayName = 'DialogDescription';
8722
- DialogClose.displayName = 'DialogClose';
8723
- DialogOverlay.displayName = 'DialogOverlay';
8724
- DialogPortal.displayName = 'DialogPortal';
8725
-
8726
8645
  const _excluded$d = ["children"];
8727
8646
  var _jsxFileName$y = "/Users/ryanakbar20/Documents/project/majoo/majoo-ui/packages/react/src/components/popover/Popover.js";
8728
8647
  const {
@@ -8735,7 +8654,9 @@ const Popover = ({
8735
8654
  onOpenChange,
8736
8655
  placement,
8737
8656
  sideOffset: _sideOffset = 5,
8738
- hideOnScroll: _hideOnScroll = false
8657
+ hideOnScroll: _hideOnScroll = false,
8658
+ flip: _flip = true,
8659
+ onClose
8739
8660
  }) => {
8740
8661
  const [openState, setOpenState] = useState(false);
8741
8662
  useEffect(() => {
@@ -8746,8 +8667,11 @@ const Popover = ({
8746
8667
  }, [openState, onOpenChange]);
8747
8668
  const floatingHook = useFloating({
8748
8669
  open: openState,
8749
- onOpenChange: setOpenState,
8750
- middleware: [offset(_sideOffset), flip(), shift$2()],
8670
+ middleware: [offset(_sideOffset), shift$2(), _flip && flip()],
8671
+ onOpenChange: isOpen => {
8672
+ setOpenState(isOpen);
8673
+ !isOpen && (onClose === null || onClose === void 0 ? void 0 : onClose());
8674
+ },
8751
8675
  placement
8752
8676
  });
8753
8677
  const {
@@ -8768,7 +8692,7 @@ const Popover = ({
8768
8692
  __self: undefined,
8769
8693
  __source: {
8770
8694
  fileName: _jsxFileName$y,
8771
- lineNumber: 49,
8695
+ lineNumber: 60,
8772
8696
  columnNumber: 10
8773
8697
  }
8774
8698
  }, children);
@@ -8810,14 +8734,14 @@ const PopoverContent = ({
8810
8734
  __self: undefined,
8811
8735
  __source: {
8812
8736
  fileName: _jsxFileName$y,
8813
- lineNumber: 67,
8737
+ lineNumber: 78,
8814
8738
  columnNumber: 65
8815
8739
  }
8816
8740
  }, child),
8817
8741
  __self: undefined,
8818
8742
  __source: {
8819
8743
  fileName: _jsxFileName$y,
8820
- lineNumber: 67,
8744
+ lineNumber: 78,
8821
8745
  columnNumber: 5
8822
8746
  }
8823
8747
  }, /*#__PURE__*/React__default.createElement(FloatingFocusManager, {
@@ -8828,7 +8752,7 @@ const PopoverContent = ({
8828
8752
  __self: undefined,
8829
8753
  __source: {
8830
8754
  fileName: _jsxFileName$y,
8831
- lineNumber: 68,
8755
+ lineNumber: 79,
8832
8756
  columnNumber: 7
8833
8757
  }
8834
8758
  }, /*#__PURE__*/React__default.createElement("div", _extends({}, getFloatingProps({
@@ -8843,7 +8767,7 @@ const PopoverContent = ({
8843
8767
  __self: undefined,
8844
8768
  __source: {
8845
8769
  fileName: _jsxFileName$y,
8846
- lineNumber: 69,
8770
+ lineNumber: 80,
8847
8771
  columnNumber: 9
8848
8772
  }
8849
8773
  }), children))) : /*#__PURE__*/React__default.createElement(React__default.Fragment, null);
@@ -8864,7 +8788,7 @@ const PopoverClose = _ref => {
8864
8788
  __self: undefined,
8865
8789
  __source: {
8866
8790
  fileName: _jsxFileName$y,
8867
- lineNumber: 93,
8791
+ lineNumber: 104,
8868
8792
  columnNumber: 5
8869
8793
  }
8870
8794
  }), children);
@@ -9203,9 +9127,10 @@ const InputSelect = /*#__PURE__*/forwardRef((_a, ref) => {
9203
9127
  isLoading = false,
9204
9128
  showTooltip = false,
9205
9129
  css,
9206
- renderFooter
9130
+ renderFooter,
9131
+ optionCss
9207
9132
  } = _a,
9208
- props = __rest(_a, ["option", "onChange", "value", "placeholder", "searchPlaceholder", "embedSearch", "size", "disabled", "search", "iconColor", "hideArrowicon", "showLeadingIcon", "placement", "disabledOptions", "textSelector", "valueSelector", "readOnly", "isInvalid", "noOptionIcon", "fetchData", "onSearch", "isLoading", "showTooltip", "css", "renderFooter"]);
9133
+ props = __rest(_a, ["option", "onChange", "value", "placeholder", "searchPlaceholder", "embedSearch", "size", "disabled", "search", "iconColor", "hideArrowicon", "showLeadingIcon", "placement", "disabledOptions", "textSelector", "valueSelector", "readOnly", "isInvalid", "noOptionIcon", "fetchData", "onSearch", "isLoading", "showTooltip", "css", "renderFooter", "optionCss"]);
9209
9134
  const {
9210
9135
  t
9211
9136
  } = useTranslation(['MajooUI/inputSelect', 'translation']);
@@ -9439,11 +9364,11 @@ const InputSelect = /*#__PURE__*/forwardRef((_a, ref) => {
9439
9364
  }, {
9440
9365
  suppressRefError: true
9441
9366
  }), {
9442
- css: {
9367
+ css: Object.assign({
9443
9368
  display: isOpen ? 'block' : 'none',
9444
9369
  zIndex: '$popover',
9445
9370
  pointerEvents: 'auto'
9446
- },
9371
+ }, optionCss),
9447
9372
  withFooter: renderFooter && typeof renderFooter === 'function',
9448
9373
  placement: placement
9449
9374
  }, {
@@ -10913,7 +10838,7 @@ const CheckOutline = props => /*#__PURE__*/React.createElement("svg", _extends({
10913
10838
  }
10914
10839
  }));
10915
10840
 
10916
- const _excluded$c = ["placeholder", "option", "value", "defaultValue", "size", "disabled", "onChange", "search", "readOnly", "placement", "disabledOptions", "textEmptyItem", "onRemoveItem", "isInvalid", "sortBy", "showSelectAll", "showTagSelectAll", "selectAllLabel", "showSelectedTag", "unremovableTags", "helperText", "css", "showCounter", "labelCounter", "collapsible", "toggleInput", "fetchData", "onSearch", "isLoading"];
10841
+ const _excluded$c = ["placeholder", "option", "value", "defaultValue", "size", "disabled", "onChange", "search", "readOnly", "placement", "disabledOptions", "textEmptyItem", "onRemoveItem", "isInvalid", "sortBy", "showSelectAll", "showTagSelectAll", "selectAllLabel", "showSelectedTag", "unremovableTags", "helperText", "css", "showCounter", "labelCounter", "collapsible", "toggleInput", "fetchData", "onSearch", "isLoading", "maxSelectedItem"];
10917
10842
  var _jsxFileName$w = "/Users/ryanakbar20/Documents/project/majoo/majoo-ui/packages/react/src/components/form/components/InputSelectCheck/InputSelectCheck.js";
10918
10843
  const Wrapper$1 = styled('div', {
10919
10844
  margin: 0,
@@ -11175,7 +11100,8 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
11175
11100
  toggleInput,
11176
11101
  fetchData,
11177
11102
  onSearch,
11178
- isLoading
11103
+ isLoading,
11104
+ maxSelectedItem
11179
11105
  } = _ref,
11180
11106
  props = _objectWithoutPropertiesLoose(_ref, _excluded$c);
11181
11107
  const {
@@ -11189,6 +11115,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
11189
11115
  const [inputSelectValue, setInputSelectValue] = React__default.useState(defaultValue || []);
11190
11116
  const [query, setQuery] = React__default.useState('');
11191
11117
  const scrollerRef = React__default.useRef(null);
11118
+ const isShowSelectAll = showSelectAll && !maxSelectedItem;
11192
11119
  useEffect(() => {
11193
11120
  var _scrollerRef$current;
11194
11121
  (_scrollerRef$current = scrollerRef.current) === null || _scrollerRef$current === void 0 ? void 0 : _scrollerRef$current.scrollTo({
@@ -11411,17 +11338,28 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
11411
11338
  }
11412
11339
  }
11413
11340
  });
11341
+ const getOption = useCallback(() => {
11342
+ const selectValue = inputSelectValue || selectedValue;
11343
+ return option === null || option === void 0 ? void 0 : option.map(item => {
11344
+ const isMaxSelectedItem = maxSelectedItem && (selectValue === null || selectValue === void 0 ? void 0 : selectValue.length) >= maxSelectedItem;
11345
+ if (isMaxSelectedItem && !(selectValue !== null && selectValue !== void 0 && selectValue.includes(item.id))) {
11346
+ item.hideCheck = true;
11347
+ item.isDisabled = true;
11348
+ }
11349
+ return item;
11350
+ });
11351
+ }, [maxSelectedItem, option, selectedValue, inputSelectValue]);
11414
11352
  useEffect(() => {
11415
11353
  sortItems();
11416
- setItems(showSelectAll ? [{
11354
+ setItems(isShowSelectAll ? [{
11417
11355
  id: '!all',
11418
11356
  name: selectAllLabel != null ? selectAllLabel : t('selectAllLabelText', 'Pilih Semua')
11419
- }, ...option] : option);
11420
- setInitItems(showSelectAll ? [{
11357
+ }, ...getOption()] : getOption());
11358
+ setInitItems(isShowSelectAll ? [{
11421
11359
  id: '!all',
11422
11360
  name: selectAllLabel != null ? selectAllLabel : t('selectAllLabelText', 'Pilih Semua')
11423
- }, ...option] : option);
11424
- }, [option, showSelectAll]);
11361
+ }, ...getOption()] : getOption());
11362
+ }, [getOption, isShowSelectAll, selectAllLabel, sortItems, t]);
11425
11363
  useEffect(() => {
11426
11364
  if (selectedValue.length > 0 && disabledOptions.length === 0) {
11427
11365
  setInitItems(sortValue);
@@ -11434,16 +11372,16 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
11434
11372
  useEffect(() => {
11435
11373
  if (disabledOptions.length > 0) {
11436
11374
  const options = generateOptions(sortDisabled);
11437
- setItems(showSelectAll ? [{
11375
+ setItems(isShowSelectAll ? [{
11438
11376
  id: '!all',
11439
11377
  name: selectAllLabel != null ? selectAllLabel : t('selectAllLabelText', 'Pilih Semua')
11440
11378
  }, ...options] : options);
11441
- setInitItems(showSelectAll ? [{
11379
+ setInitItems(isShowSelectAll ? [{
11442
11380
  id: '!all',
11443
11381
  name: selectAllLabel != null ? selectAllLabel : t('selectAllLabelText', 'Pilih Semua')
11444
11382
  }, ...options] : options);
11445
11383
  }
11446
- }, [disabledOptions, showSelectAll]);
11384
+ }, [disabledOptions, isShowSelectAll]);
11447
11385
  useEffect(() => {
11448
11386
  setSelectedValue(items.length > 0 && inputSelectValue.length === items.length - 1 ? ['!all', ...inputSelectValue] : inputSelectValue);
11449
11387
  }, [inputSelectValue, items]);
@@ -11463,7 +11401,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
11463
11401
  __self: undefined,
11464
11402
  __source: {
11465
11403
  fileName: _jsxFileName$w,
11466
- lineNumber: 596,
11404
+ lineNumber: 610,
11467
11405
  columnNumber: 7
11468
11406
  }
11469
11407
  }), /*#__PURE__*/React__default.createElement(Select, {
@@ -11473,7 +11411,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
11473
11411
  __self: undefined,
11474
11412
  __source: {
11475
11413
  fileName: _jsxFileName$w,
11476
- lineNumber: 597,
11414
+ lineNumber: 611,
11477
11415
  columnNumber: 9
11478
11416
  }
11479
11417
  }, /*#__PURE__*/React__default.createElement(InputWrapper$1, _extends({}, getComboboxProps(getDropdownProps({
@@ -11488,7 +11426,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
11488
11426
  __self: undefined,
11489
11427
  __source: {
11490
11428
  fileName: _jsxFileName$w,
11491
- lineNumber: 598,
11429
+ lineNumber: 612,
11492
11430
  columnNumber: 11
11493
11431
  }
11494
11432
  }), /*#__PURE__*/React__default.createElement(Input$6, _extends({}, getInputProps({
@@ -11506,7 +11444,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
11506
11444
  __self: undefined,
11507
11445
  __source: {
11508
11446
  fileName: _jsxFileName$w,
11509
- lineNumber: 608,
11447
+ lineNumber: 622,
11510
11448
  columnNumber: 13
11511
11449
  }
11512
11450
  })), /*#__PURE__*/React__default.createElement(Button$2, _extends({}, getToggleButtonProps({
@@ -11519,7 +11457,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
11519
11457
  __self: undefined,
11520
11458
  __source: {
11521
11459
  fileName: _jsxFileName$w,
11522
- lineNumber: 615,
11460
+ lineNumber: 629,
11523
11461
  columnNumber: 13
11524
11462
  }
11525
11463
  }), placeholder != null ? placeholder : t('placeholder', 'Pilih Item'))), /*#__PURE__*/React__default.createElement(IconWrapper, _extends({}, getToggleButtonProps({
@@ -11530,7 +11468,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
11530
11468
  __self: undefined,
11531
11469
  __source: {
11532
11470
  fileName: _jsxFileName$w,
11533
- lineNumber: 625,
11471
+ lineNumber: 639,
11534
11472
  columnNumber: 11
11535
11473
  }
11536
11474
  }), /*#__PURE__*/React__default.createElement(IconCaretDown, {
@@ -11538,7 +11476,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
11538
11476
  __self: undefined,
11539
11477
  __source: {
11540
11478
  fileName: _jsxFileName$w,
11541
- lineNumber: 630,
11479
+ lineNumber: 644,
11542
11480
  columnNumber: 13
11543
11481
  }
11544
11482
  }))), helperText && /*#__PURE__*/React__default.createElement(Paragraph, {
@@ -11551,7 +11489,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
11551
11489
  __self: undefined,
11552
11490
  __source: {
11553
11491
  fileName: _jsxFileName$w,
11554
- lineNumber: 634,
11492
+ lineNumber: 648,
11555
11493
  columnNumber: 11
11556
11494
  }
11557
11495
  }, helperText), showSelectedTag && !showCounter && selectedItems.length !== 0 && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(TagWrapper$2, {
@@ -11559,7 +11497,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
11559
11497
  __self: undefined,
11560
11498
  __source: {
11561
11499
  fileName: _jsxFileName$w,
11562
- lineNumber: 640,
11500
+ lineNumber: 654,
11563
11501
  columnNumber: 13
11564
11502
  }
11565
11503
  }, isShowTagSelectAll ? /*#__PURE__*/React__default.createElement(Tag, _extends({
@@ -11579,7 +11517,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
11579
11517
  __self: undefined,
11580
11518
  __source: {
11581
11519
  fileName: _jsxFileName$w,
11582
- lineNumber: 642,
11520
+ lineNumber: 656,
11583
11521
  columnNumber: 17
11584
11522
  }
11585
11523
  }), selectAllLabel != null ? selectAllLabel : t('selectAllLabelText', 'Pilih Semua')) : selectedItems === null || selectedItems === void 0 ? void 0 : (_selectedItems$filter = selectedItems.filter(item => (item === null || item === void 0 ? void 0 : item.id) !== '!all')) === null || _selectedItems$filter === void 0 ? void 0 : (_selectedItems$filter2 = _selectedItems$filter.filter((_, idx) => {
@@ -11609,7 +11547,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
11609
11547
  __self: undefined,
11610
11548
  __source: {
11611
11549
  fileName: _jsxFileName$w,
11612
- lineNumber: 670,
11550
+ lineNumber: 684,
11613
11551
  columnNumber: 21
11614
11552
  }
11615
11553
  }), selectedItem.name))), collapsible && !isShowTagSelectAll && (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) > 5 && /*#__PURE__*/React__default.createElement(Flex$1, {
@@ -11618,7 +11556,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
11618
11556
  __self: undefined,
11619
11557
  __source: {
11620
11558
  fileName: _jsxFileName$w,
11621
- lineNumber: 692,
11559
+ lineNumber: 706,
11622
11560
  columnNumber: 15
11623
11561
  }
11624
11562
  }, /*#__PURE__*/React__default.createElement(Flex$1, {
@@ -11628,14 +11566,14 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
11628
11566
  __self: undefined,
11629
11567
  __source: {
11630
11568
  fileName: _jsxFileName$w,
11631
- lineNumber: 693,
11569
+ lineNumber: 707,
11632
11570
  columnNumber: 17
11633
11571
  }
11634
11572
  }, /*#__PURE__*/React__default.createElement(Separator$2, {
11635
11573
  __self: undefined,
11636
11574
  __source: {
11637
11575
  fileName: _jsxFileName$w,
11638
- lineNumber: 694,
11576
+ lineNumber: 708,
11639
11577
  columnNumber: 19
11640
11578
  }
11641
11579
  }), /*#__PURE__*/React__default.createElement(Flex$1, {
@@ -11649,7 +11587,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
11649
11587
  __self: undefined,
11650
11588
  __source: {
11651
11589
  fileName: _jsxFileName$w,
11652
- lineNumber: 695,
11590
+ lineNumber: 709,
11653
11591
  columnNumber: 19
11654
11592
  }
11655
11593
  }, showAllTags ? /*#__PURE__*/React__default.createElement(ChevronUpOutline, {
@@ -11657,7 +11595,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
11657
11595
  __self: undefined,
11658
11596
  __source: {
11659
11597
  fileName: _jsxFileName$w,
11660
- lineNumber: 701,
11598
+ lineNumber: 715,
11661
11599
  columnNumber: 23
11662
11600
  }
11663
11601
  }) : /*#__PURE__*/React__default.createElement(ChevronDownOutline, {
@@ -11665,7 +11603,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
11665
11603
  __self: undefined,
11666
11604
  __source: {
11667
11605
  fileName: _jsxFileName$w,
11668
- lineNumber: 703,
11606
+ lineNumber: 717,
11669
11607
  columnNumber: 23
11670
11608
  }
11671
11609
  }), /*#__PURE__*/React__default.createElement(Paragraph, {
@@ -11677,14 +11615,14 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
11677
11615
  __self: undefined,
11678
11616
  __source: {
11679
11617
  fileName: _jsxFileName$w,
11680
- lineNumber: 705,
11618
+ lineNumber: 719,
11681
11619
  columnNumber: 21
11682
11620
  }
11683
11621
  }, showAllTags ? t('showSomeText', 'Tampilkan Sebagian') : t('showAllText', 'Tampilkan Semua'))), /*#__PURE__*/React__default.createElement(Separator$2, {
11684
11622
  __self: undefined,
11685
11623
  __source: {
11686
11624
  fileName: _jsxFileName$w,
11687
- lineNumber: 709,
11625
+ lineNumber: 723,
11688
11626
  columnNumber: 19
11689
11627
  }
11690
11628
  })), /*#__PURE__*/React__default.createElement(Paragraph, {
@@ -11695,7 +11633,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
11695
11633
  __self: undefined,
11696
11634
  __source: {
11697
11635
  fileName: _jsxFileName$w,
11698
- lineNumber: 711,
11636
+ lineNumber: 725,
11699
11637
  columnNumber: 17
11700
11638
  }
11701
11639
  }, `${selectedItems === null || selectedItems === void 0 ? void 0 : (_selectedItems$filter3 = selectedItems.filter(item => (item === null || item === void 0 ? void 0 : item.id) !== '!all')) === null || _selectedItems$filter3 === void 0 ? void 0 : _selectedItems$filter3.length} ${labelCounter || t('labelCounterText', 'Item terpilih')}`))), showCounter && !isShowTagSelectAll && Boolean(selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) && /*#__PURE__*/React__default.createElement(Paragraph, {
@@ -11707,7 +11645,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
11707
11645
  __self: undefined,
11708
11646
  __source: {
11709
11647
  fileName: _jsxFileName$w,
11710
- lineNumber: 721,
11648
+ lineNumber: 735,
11711
11649
  columnNumber: 11
11712
11650
  }
11713
11651
  }, `${selectedItems === null || selectedItems === void 0 ? void 0 : (_selectedItems$filter4 = selectedItems.filter(item => (item === null || item === void 0 ? void 0 : item.id) !== '!all')) === null || _selectedItems$filter4 === void 0 ? void 0 : _selectedItems$filter4.length} ${labelCounter || t('labelCounterText', 'Item terpilih')}`), /*#__PURE__*/React__default.createElement(OptionWrapper$1, {
@@ -11719,7 +11657,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
11719
11657
  __self: undefined,
11720
11658
  __source: {
11721
11659
  fileName: _jsxFileName$w,
11722
- lineNumber: 728,
11660
+ lineNumber: 742,
11723
11661
  columnNumber: 9
11724
11662
  }
11725
11663
  }, isLoading && /*#__PURE__*/React__default.createElement(Flex$1, {
@@ -11740,7 +11678,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
11740
11678
  __self: undefined,
11741
11679
  __source: {
11742
11680
  fileName: _jsxFileName$w,
11743
- lineNumber: 734,
11681
+ lineNumber: 748,
11744
11682
  columnNumber: 13
11745
11683
  }
11746
11684
  }, /*#__PURE__*/React__default.createElement(Text$1, {
@@ -11748,7 +11686,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
11748
11686
  __self: undefined,
11749
11687
  __source: {
11750
11688
  fileName: _jsxFileName$w,
11751
- lineNumber: 750,
11689
+ lineNumber: 764,
11752
11690
  columnNumber: 15
11753
11691
  }
11754
11692
  }, "Loading....")), items.length > 0 || isLoading ? /*#__PURE__*/React__default.createElement(Option, _extends({}, getMenuProps({
@@ -11759,7 +11697,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
11759
11697
  __self: undefined,
11760
11698
  __source: {
11761
11699
  fileName: _jsxFileName$w,
11762
- lineNumber: 756,
11700
+ lineNumber: 770,
11763
11701
  columnNumber: 13
11764
11702
  }
11765
11703
  }), /*#__PURE__*/React__default.createElement(ConditionalWrapper, {
@@ -11774,14 +11712,14 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
11774
11712
  __self: undefined,
11775
11713
  __source: {
11776
11714
  fileName: _jsxFileName$w,
11777
- lineNumber: 760,
11715
+ lineNumber: 774,
11778
11716
  columnNumber: 19
11779
11717
  }
11780
11718
  }, child),
11781
11719
  __self: undefined,
11782
11720
  __source: {
11783
11721
  fileName: _jsxFileName$w,
11784
- lineNumber: 757,
11722
+ lineNumber: 771,
11785
11723
  columnNumber: 15
11786
11724
  }
11787
11725
  }, isOpen && items.map((item, index) => {
@@ -11801,7 +11739,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
11801
11739
  __self: undefined,
11802
11740
  __source: {
11803
11741
  fileName: _jsxFileName$w,
11804
- lineNumber: 772,
11742
+ lineNumber: 786,
11805
11743
  columnNumber: 21
11806
11744
  }
11807
11745
  }), /*#__PURE__*/React__default.createElement(IconWrapper, {
@@ -11814,37 +11752,37 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
11814
11752
  __self: undefined,
11815
11753
  __source: {
11816
11754
  fileName: _jsxFileName$w,
11817
- lineNumber: 785,
11755
+ lineNumber: 799,
11818
11756
  columnNumber: 23
11819
11757
  }
11820
- }, item.isDisabled ? /*#__PURE__*/React__default.createElement(CheckOutline, {
11758
+ }, !(item !== null && item !== void 0 && item.hideCheck) && (item.isDisabled ? /*#__PURE__*/React__default.createElement(CheckOutline, {
11821
11759
  color: colors$7.iconDisable,
11822
11760
  __self: undefined,
11823
11761
  __source: {
11824
11762
  fileName: _jsxFileName$w,
11825
- lineNumber: 794,
11826
- columnNumber: 27
11763
+ lineNumber: 809,
11764
+ columnNumber: 29
11827
11765
  }
11828
11766
  }) : selectedValue.includes(item.id) && (item.isDisabled === false || item.isDisabled === undefined) && /*#__PURE__*/React__default.createElement(CheckOutline, {
11829
11767
  color: colors$7.iconGreen,
11830
11768
  __self: undefined,
11831
11769
  __source: {
11832
11770
  fileName: _jsxFileName$w,
11833
- lineNumber: 798,
11834
- columnNumber: 29
11771
+ lineNumber: 813,
11772
+ columnNumber: 31
11835
11773
  }
11836
- }), showSelectAll && (item === null || item === void 0 ? void 0 : item.id) === '!all' && selectedValue !== null && selectedValue !== void 0 && selectedValue.length && (selectedValue === null || selectedValue === void 0 ? void 0 : selectedValue.length) < (items === null || items === void 0 ? void 0 : items.length) ? /*#__PURE__*/React__default.createElement(IndeterminateFilled, {
11774
+ })), isShowSelectAll && (item === null || item === void 0 ? void 0 : item.id) === '!all' && selectedValue !== null && selectedValue !== void 0 && selectedValue.length && (selectedValue === null || selectedValue === void 0 ? void 0 : selectedValue.length) < (items === null || items === void 0 ? void 0 : items.length) ? /*#__PURE__*/React__default.createElement(IndeterminateFilled, {
11837
11775
  __self: undefined,
11838
11776
  __source: {
11839
11777
  fileName: _jsxFileName$w,
11840
- lineNumber: 805,
11778
+ lineNumber: 820,
11841
11779
  columnNumber: 27
11842
11780
  }
11843
11781
  }, "-") : /*#__PURE__*/React__default.createElement("div", {
11844
11782
  __self: undefined,
11845
11783
  __source: {
11846
11784
  fileName: _jsxFileName$w,
11847
- lineNumber: 807,
11785
+ lineNumber: 822,
11848
11786
  columnNumber: 27
11849
11787
  }
11850
11788
  })), /*#__PURE__*/React__default.createElement(Item$3, {
@@ -11855,7 +11793,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
11855
11793
  __self: undefined,
11856
11794
  __source: {
11857
11795
  fileName: _jsxFileName$w,
11858
- lineNumber: 810,
11796
+ lineNumber: 825,
11859
11797
  columnNumber: 23
11860
11798
  }
11861
11799
  }, item.render ? (_item$render = item.render) === null || _item$render === void 0 ? void 0 : _item$render.call(item, item.name) : item.name));
@@ -11869,14 +11807,14 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
11869
11807
  __self: undefined,
11870
11808
  __source: {
11871
11809
  fileName: _jsxFileName$w,
11872
- lineNumber: 818,
11810
+ lineNumber: 833,
11873
11811
  columnNumber: 13
11874
11812
  }
11875
11813
  }), /*#__PURE__*/React__default.createElement(StyledDiv, {
11876
11814
  __self: undefined,
11877
11815
  __source: {
11878
11816
  fileName: _jsxFileName$w,
11879
- lineNumber: 819,
11817
+ lineNumber: 834,
11880
11818
  columnNumber: 15
11881
11819
  }
11882
11820
  }, /*#__PURE__*/React__default.createElement("div", {
@@ -11886,7 +11824,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
11886
11824
  __self: undefined,
11887
11825
  __source: {
11888
11826
  fileName: _jsxFileName$w,
11889
- lineNumber: 820,
11827
+ lineNumber: 835,
11890
11828
  columnNumber: 17
11891
11829
  }
11892
11830
  }, /*#__PURE__*/React__default.createElement(CircleInfoOutline, {
@@ -11898,7 +11836,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
11898
11836
  __self: undefined,
11899
11837
  __source: {
11900
11838
  fileName: _jsxFileName$w,
11901
- lineNumber: 821,
11839
+ lineNumber: 836,
11902
11840
  columnNumber: 19
11903
11841
  }
11904
11842
  })), textEmptyItem != null ? textEmptyItem : t('emptyItemText', 'Item tidak ditemukan')))));
@@ -11932,7 +11870,8 @@ InputSelectCheck.propTypes = {
11932
11870
  fetchData: PropTypes.func,
11933
11871
  onSearch: PropTypes.func,
11934
11872
  isLoading: PropTypes.bool,
11935
- showTagSelectAll: PropTypes.bool
11873
+ showTagSelectAll: PropTypes.bool,
11874
+ maxSelectedItem: PropTypes.number
11936
11875
  };
11937
11876
  InputSelectCheck.defaultProps = {
11938
11877
  size: 'lg',
@@ -11991,7 +11930,8 @@ InputSelectTag.propTypes = {
11991
11930
  fetchData: PropTypes.func,
11992
11931
  onSearch: PropTypes.func,
11993
11932
  isLoading: PropTypes.bool,
11994
- showTagSelectAll: PropTypes.bool
11933
+ showTagSelectAll: PropTypes.bool,
11934
+ maxSelectedItem: PropTypes.number
11995
11935
  };
11996
11936
  InputSelectTag.defaultProps = {
11997
11937
  size: 'lg',
@@ -13645,7 +13585,7 @@ const StyledTrigger$1 = styled(TabsPrimitive.Trigger, {
13645
13585
  size: 'lg'
13646
13586
  }
13647
13587
  });
13648
- const StyledContent$4 = styled(TabsPrimitive.Content, {
13588
+ const StyledContent$5 = styled(TabsPrimitive.Content, {
13649
13589
  flexGrow: 1,
13650
13590
  borderRadius: '$lg',
13651
13591
  backgroundColor: '$white',
@@ -13865,7 +13805,7 @@ const TabsTrigger$1 = _ref3 => {
13865
13805
  };
13866
13806
  const TabsContent$1 = _ref4 => {
13867
13807
  let props = _objectWithoutPropertiesLoose(_ref4, _excluded4);
13868
- return /*#__PURE__*/React__default.createElement(StyledContent$4, _extends({}, props, {
13808
+ return /*#__PURE__*/React__default.createElement(StyledContent$5, _extends({}, props, {
13869
13809
  __self: undefined,
13870
13810
  __source: {
13871
13811
  fileName: _jsxFileName$r,
@@ -14548,6 +14488,106 @@ const IconButton = styled('button', {
14548
14488
  }
14549
14489
  });
14550
14490
 
14491
+ const StyledOverlay$3 = styled(DialogPrimitive.Overlay, {
14492
+ backgroundColor: '$bgDimmer',
14493
+ position: 'fixed',
14494
+ inset: 0
14495
+ });
14496
+ const StyledContent$4 = styled(DialogPrimitive.Content, {
14497
+ position: 'fixed',
14498
+ top: '50%',
14499
+ left: '50%',
14500
+ transform: 'translate(-50%, -50%)',
14501
+ '&:focus': {
14502
+ outline: 'none'
14503
+ },
14504
+ width: '100%',
14505
+ variants: {
14506
+ /**
14507
+ * Size of modal width, the height sized according to content. Size must be placed on DialogContent element
14508
+ * if it's on mobile view will auto set maxWidth to 'unset'.
14509
+ */
14510
+ size: {
14511
+ auto: {
14512
+ '@md': {
14513
+ width: 'auto'
14514
+ }
14515
+ },
14516
+ xs: {
14517
+ maxWidth: 'unset',
14518
+ '@md': {
14519
+ maxWidth: '320px'
14520
+ }
14521
+ },
14522
+ sm: {
14523
+ maxWidth: 'unset',
14524
+ '@md': {
14525
+ maxWidth: '384px'
14526
+ }
14527
+ },
14528
+ md: {
14529
+ maxWidth: 'unset',
14530
+ '@md': {
14531
+ maxWidth: '448px'
14532
+ }
14533
+ },
14534
+ lg: {
14535
+ maxWidth: 'unset',
14536
+ '@md': {
14537
+ maxWidth: '512px'
14538
+ }
14539
+ },
14540
+ xl: {
14541
+ maxWidth: 'unset',
14542
+ '@md': {
14543
+ maxWidth: '576px'
14544
+ }
14545
+ },
14546
+ full: {
14547
+ maxWidth: '100vw',
14548
+ minHeight: '100vh'
14549
+ }
14550
+ }
14551
+ },
14552
+ defaultVariants: {
14553
+ size: 'md'
14554
+ }
14555
+ });
14556
+ const Content$2 = /*#__PURE__*/React__default.forwardRef((props, ref) => {
14557
+ const {
14558
+ children
14559
+ } = props,
14560
+ rest = __rest(props, ["children"]);
14561
+ return jsx(StyledContent$4, Object.assign({}, rest, {
14562
+ ref: ref
14563
+ }, {
14564
+ children: children
14565
+ }), void 0);
14566
+ });
14567
+ const StyledTitle$1 = styled(DialogPrimitive.Title, {});
14568
+ const StyledDescription$2 = styled(DialogPrimitive.Description, {
14569
+ margin: '10px 0 20px',
14570
+ color: '$textSecondary',
14571
+ fontSize: 15,
14572
+ lineHeight: 1.5
14573
+ });
14574
+ // Exports
14575
+ const Dialog = DialogPrimitive.Root;
14576
+ const DialogTrigger = DialogPrimitive.Trigger;
14577
+ const DialogContent = Content$2;
14578
+ const DialogTitle = StyledTitle$1;
14579
+ const DialogDescription = StyledDescription$2;
14580
+ const DialogClose = DialogPrimitive.Close;
14581
+ const DialogOverlay = StyledOverlay$3;
14582
+ const DialogPortal = DialogPrimitive.Portal;
14583
+ DialogTrigger.displayName = 'DialogTrigger';
14584
+ DialogContent.displayName = 'DialogContent';
14585
+ DialogTitle.displayName = 'DialogTitle';
14586
+ DialogDescription.displayName = 'DialogDescription';
14587
+ DialogClose.displayName = 'DialogClose';
14588
+ DialogOverlay.displayName = 'DialogOverlay';
14589
+ DialogPortal.displayName = 'DialogPortal';
14590
+
14551
14591
  const ModalDialogFooter = styled('div');
14552
14592
  ModalDialogFooter.displayName = 'ModalDialogFooter';
14553
14593
  const ModalDialogTitle = styled('div');
@@ -17679,7 +17719,8 @@ function InputDatePicker({
17679
17719
  readOnly,
17680
17720
  isInvalid,
17681
17721
  allowReset,
17682
- portalled
17722
+ portalled,
17723
+ onClose
17683
17724
  }) {
17684
17725
  const {
17685
17726
  t,
@@ -17819,8 +17860,10 @@ function InputDatePicker({
17819
17860
  }, void 0);
17820
17861
  };
17821
17862
  return !isMobile ? jsxs(Popover, Object.assign({
17863
+ flip: false,
17822
17864
  open: openPicker,
17823
17865
  onOpenChange: setOpenPicker,
17866
+ onClose: onClose,
17824
17867
  placement: placement
17825
17868
  }, {
17826
17869
  children: [disabled || readOnly ? jsx(Box, Object.assign({
@@ -17885,7 +17928,10 @@ function InputDatePicker({
17885
17928
  }), void 0)
17886
17929
  }), void 0), jsx(Drawer, Object.assign({
17887
17930
  open: openPicker,
17888
- onOpenChange: handleChange,
17931
+ onOpenChange: isOpen => {
17932
+ handleChange();
17933
+ !isOpen && (onClose === null || onClose === void 0 ? void 0 : onClose());
17934
+ },
17889
17935
  side: "bottom",
17890
17936
  portalled: false
17891
17937
  }, {