@majoo-ui/react 1.55.16 → 1.55.17

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
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import React__default, { useState, createContext, useContext, useEffect, useRef, createElement as createElement$2, forwardRef, cloneElement, useLayoutEffect, useCallback, useReducer, useMemo } from 'react';
2
+ import React__default, { useState, createContext, useContext, useEffect, useRef, useCallback, cloneElement, createElement as createElement$2, forwardRef, useLayoutEffect, useReducer, useMemo } from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import { createStitches, styled as styled$1 } from '@stitches/react';
5
5
  import { foundations } from '@majoo-ui/core';
@@ -20,8 +20,8 @@ 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 OTPInput, { ResendOTP as ResendOTP$1 } from 'otp-input-react';
24
23
  import { useFloating, offset, flip, shift as shift$2, useInteractions, useClick, useDismiss, FloatingFocusManager } from '@floating-ui/react-dom-interactions';
24
+ import OTPInput, { ResendOTP as ResendOTP$1 } from 'otp-input-react';
25
25
  import * as SliderPrimitive from '@radix-ui/react-slider';
26
26
  import * as TabsPrimitive from '@radix-ui/react-tabs';
27
27
  import * as SeparatorPrimitive from '@radix-ui/react-separator';
@@ -2708,7 +2708,7 @@ const Heading = styled(Text$1, {
2708
2708
  fontWeight: '600'
2709
2709
  },
2710
2710
  pageTitle: {
2711
- fontSize: '$page-title',
2711
+ fontSize: '$page-title-2',
2712
2712
  lineHeight: '$page-title',
2713
2713
  letterSpacing: '$page-title',
2714
2714
  fontWeight: '600'
@@ -2744,7 +2744,7 @@ Heading.defaultProps = {
2744
2744
  color: 'primary',
2745
2745
  heading: 'h1'
2746
2746
  };
2747
- Heading.displayName = "Heading";
2747
+ Heading.displayName = 'Heading';
2748
2748
 
2749
2749
  const Paragraph = styled(Text$1, {
2750
2750
  variants: {
@@ -5363,7 +5363,7 @@ const FormGroup = _ref => {
5363
5363
  color: "disable",
5364
5364
  css: {
5365
5365
  alignSelf: 'end',
5366
- marginBottom: '$spacing-03'
5366
+ marginBottom: '$spacing-03 !important'
5367
5367
  },
5368
5368
  __self: undefined,
5369
5369
  __source: {
@@ -6632,6 +6632,10 @@ const Container$a = styled(Flex$1, {
6632
6632
  }
6633
6633
  }]
6634
6634
  });
6635
+ const ContainerLabel = styled('label', {
6636
+ width: 'fit-content',
6637
+ cursor: 'pointer'
6638
+ });
6635
6639
  const InputRadio = _ref => {
6636
6640
  let {
6637
6641
  id,
@@ -6643,28 +6647,38 @@ const InputRadio = _ref => {
6643
6647
  readOnly
6644
6648
  } = _ref,
6645
6649
  props = _objectWithoutPropertiesLoose(_ref, _excluded$j);
6646
- function renderInputType(type, checked) {
6650
+ function renderInputType(type, checkedValue, onValueChange) {
6647
6651
  switch (type) {
6648
6652
  case 'number':
6649
6653
  return /*#__PURE__*/React__default.createElement(InputNumber, _extends({}, inputProps, {
6650
- readOnly: readOnly || checked !== props.value,
6654
+ readOnly: readOnly,
6655
+ onFocus: () => {
6656
+ var _inputProps$onFocus;
6657
+ onValueChange(props.value);
6658
+ inputProps === null || inputProps === void 0 ? void 0 : (_inputProps$onFocus = inputProps.onFocus) === null || _inputProps$onFocus === void 0 ? void 0 : _inputProps$onFocus.call(inputProps);
6659
+ },
6651
6660
  asChild: true,
6652
6661
  __self: this,
6653
6662
  __source: {
6654
6663
  fileName: _jsxFileName$G,
6655
- lineNumber: 159,
6656
- columnNumber: 16
6664
+ lineNumber: 162,
6665
+ columnNumber: 11
6657
6666
  }
6658
6667
  }));
6659
6668
  case 'text':
6660
6669
  return /*#__PURE__*/React__default.createElement(InputText, _extends({}, inputProps, {
6661
- disabled: disabled || checked !== props.value,
6662
- readOnly: readOnly || checked !== props.value,
6670
+ disabled: disabled,
6671
+ readOnly: readOnly,
6672
+ onFocus: () => {
6673
+ var _inputProps$onFocus2;
6674
+ onValueChange(props.value);
6675
+ inputProps === null || inputProps === void 0 ? void 0 : (_inputProps$onFocus2 = inputProps.onFocus) === null || _inputProps$onFocus2 === void 0 ? void 0 : _inputProps$onFocus2.call(inputProps);
6676
+ },
6663
6677
  asChild: true,
6664
6678
  __self: this,
6665
6679
  __source: {
6666
6680
  fileName: _jsxFileName$G,
6667
- lineNumber: 163,
6681
+ lineNumber: 175,
6668
6682
  columnNumber: 11
6669
6683
  }
6670
6684
  }));
@@ -6678,12 +6692,12 @@ const InputRadio = _ref => {
6678
6692
  letterSpacing: '$long-content-regular',
6679
6693
  fontWeight: '400',
6680
6694
  cursor: 'pointer',
6681
- color: disabled || readOnly && checked !== props.value ? '$textDisable' : '$textPrimary'
6695
+ color: disabled || readOnly && checkedValue !== props.value ? '$textDisable' : '$textPrimary'
6682
6696
  },
6683
6697
  __self: this,
6684
6698
  __source: {
6685
6699
  fileName: _jsxFileName$G,
6686
- lineNumber: 173,
6700
+ lineNumber: 189,
6687
6701
  columnNumber: 11
6688
6702
  }
6689
6703
  }, props.label);
@@ -6693,28 +6707,37 @@ const InputRadio = _ref => {
6693
6707
  __self: undefined,
6694
6708
  __source: {
6695
6709
  fileName: _jsxFileName$G,
6696
- lineNumber: 192,
6710
+ lineNumber: 208,
6697
6711
  columnNumber: 5
6698
6712
  }
6699
6713
  }, ({
6700
6714
  defaultValue,
6701
6715
  value,
6702
- outlined
6716
+ outlined,
6717
+ onValueChange
6703
6718
  }) => {
6704
- const checked = value != null ? value : defaultValue;
6705
- return /*#__PURE__*/React__default.createElement(Container$a, {
6719
+ const checkedValue = value != null ? value : defaultValue;
6720
+ return /*#__PURE__*/React__default.createElement(ContainerLabel, {
6721
+ htmlFor: id,
6722
+ __self: undefined,
6723
+ __source: {
6724
+ fileName: _jsxFileName$G,
6725
+ lineNumber: 213,
6726
+ columnNumber: 11
6727
+ }
6728
+ }, /*#__PURE__*/React__default.createElement(Container$a, {
6706
6729
  direction: "column",
6707
6730
  outlined: outlined,
6708
6731
  disabledOutlined: outlined && (readOnly || disabled),
6709
6732
  disabled: disabled,
6710
- active: outlined && checked === props.value && !disabled && !readOnly,
6733
+ active: outlined && checkedValue === props.value && !disabled && !readOnly,
6711
6734
  withInputProps: !!inputProps,
6712
6735
  css: css,
6713
6736
  __self: undefined,
6714
6737
  __source: {
6715
6738
  fileName: _jsxFileName$G,
6716
- lineNumber: 197,
6717
- columnNumber: 11
6739
+ lineNumber: 214,
6740
+ columnNumber: 13
6718
6741
  }
6719
6742
  }, /*#__PURE__*/React__default.createElement(Flex$1, {
6720
6743
  align: "center",
@@ -6722,8 +6745,8 @@ const InputRadio = _ref => {
6722
6745
  __self: undefined,
6723
6746
  __source: {
6724
6747
  fileName: _jsxFileName$G,
6725
- lineNumber: 206,
6726
- columnNumber: 13
6748
+ lineNumber: 223,
6749
+ columnNumber: 15
6727
6750
  }
6728
6751
  }, /*#__PURE__*/React__default.createElement(StyledRadio, _extends({
6729
6752
  id: id,
@@ -6733,17 +6756,17 @@ const InputRadio = _ref => {
6733
6756
  __self: undefined,
6734
6757
  __source: {
6735
6758
  fileName: _jsxFileName$G,
6736
- lineNumber: 207,
6737
- columnNumber: 15
6759
+ lineNumber: 224,
6760
+ columnNumber: 17
6738
6761
  }
6739
6762
  }), /*#__PURE__*/React__default.createElement(StyledIndicator$1, {
6740
6763
  __self: undefined,
6741
6764
  __source: {
6742
6765
  fileName: _jsxFileName$G,
6743
- lineNumber: 208,
6744
- columnNumber: 17
6766
+ lineNumber: 225,
6767
+ columnNumber: 19
6745
6768
  }
6746
- })), renderInputType(inputType, checked)), description && /*#__PURE__*/React__default.createElement(Text$1, {
6769
+ })), renderInputType(inputType, checkedValue, onValueChange)), description && /*#__PURE__*/React__default.createElement(Text$1, {
6747
6770
  variant: "caption",
6748
6771
  color: "secondary",
6749
6772
  css: {
@@ -6752,10 +6775,10 @@ const InputRadio = _ref => {
6752
6775
  __self: undefined,
6753
6776
  __source: {
6754
6777
  fileName: _jsxFileName$G,
6755
- lineNumber: 213,
6756
- columnNumber: 15
6778
+ lineNumber: 230,
6779
+ columnNumber: 17
6757
6780
  }
6758
- }, description));
6781
+ }, description)));
6759
6782
  });
6760
6783
  };
6761
6784
  InputRadio.propTypes = {
@@ -8172,7 +8195,7 @@ SvgSearchOutline.defaultProps = {
8172
8195
  size: 24
8173
8196
  };
8174
8197
 
8175
- const _excluded$e = ["size", "onChange", "css", "disabled"];
8198
+ const _excluded$e = ["size", "onChange", "css", "disabled", "withDebounce", "defaultValue"];
8176
8199
  var _jsxFileName$z = "C:\\Users\\Acer\\Documents\\project\\majoo\\majoo-ui\\packages\\react\\src\\components\\form\\components\\InputSearchbox\\InputSearchbox.js";
8177
8200
  const InputSearchbox = _ref => {
8178
8201
  var _props$value;
@@ -8180,20 +8203,25 @@ const InputSearchbox = _ref => {
8180
8203
  size,
8181
8204
  onChange,
8182
8205
  css,
8183
- disabled
8206
+ disabled,
8207
+ withDebounce,
8208
+ defaultValue
8184
8209
  } = _ref,
8185
8210
  props = _objectWithoutPropertiesLoose(_ref, _excluded$e);
8186
8211
  const {
8187
8212
  t
8188
8213
  } = useTranslation(['MajooUI/inputSearchbox', 'translation']);
8189
- const [value, setValue] = React__default.useState('');
8214
+ const [value, setValue] = useState(defaultValue);
8190
8215
  const inputValue = (_props$value = props === null || props === void 0 ? void 0 : props.value) != null ? _props$value : value;
8191
- const handleChange = React__default.useCallback(e => {
8216
+ const debounceChange = useCallback(() => debounce(e => onChange === null || onChange === void 0 ? void 0 : onChange(e.target.value), 1000), [onChange]);
8217
+ const handleChange = useCallback(e => {
8192
8218
  setValue(e.target.value);
8193
- if (onChange) {
8194
- onChange(e.target.value);
8219
+ if (withDebounce) {
8220
+ debounceChange(e);
8221
+ } else {
8222
+ onChange === null || onChange === void 0 ? void 0 : onChange(e.target.value);
8195
8223
  }
8196
- }, [onChange]);
8224
+ }, [onChange, debounceChange, withDebounce]);
8197
8225
  const handleClearButtonClick = e => {
8198
8226
  e.preventDefault();
8199
8227
  if (!disabled) {
@@ -8208,7 +8236,7 @@ const InputSearchbox = _ref => {
8208
8236
  __self: undefined,
8209
8237
  __source: {
8210
8238
  fileName: _jsxFileName$z,
8211
- lineNumber: 33,
8239
+ lineNumber: 38,
8212
8240
  columnNumber: 5
8213
8241
  }
8214
8242
  }, /*#__PURE__*/React__default.createElement(InputLeftElement, {
@@ -8216,14 +8244,14 @@ const InputSearchbox = _ref => {
8216
8244
  __self: undefined,
8217
8245
  __source: {
8218
8246
  fileName: _jsxFileName$z,
8219
- lineNumber: 34,
8247
+ lineNumber: 39,
8220
8248
  columnNumber: 35
8221
8249
  }
8222
8250
  }),
8223
8251
  __self: undefined,
8224
8252
  __source: {
8225
8253
  fileName: _jsxFileName$z,
8226
- lineNumber: 34,
8254
+ lineNumber: 39,
8227
8255
  columnNumber: 7
8228
8256
  }
8229
8257
  }), /*#__PURE__*/React__default.createElement(InputText, _extends({
@@ -8238,30 +8266,30 @@ const InputSearchbox = _ref => {
8238
8266
  __self: undefined,
8239
8267
  __source: {
8240
8268
  fileName: _jsxFileName$z,
8241
- lineNumber: 35,
8269
+ lineNumber: 40,
8242
8270
  columnNumber: 7
8243
8271
  }
8244
8272
  })), /*#__PURE__*/React__default.createElement(InputRightElement, {
8245
- children: inputValue.length > 0 ? /*#__PURE__*/React__default.createElement(SvgCloseFilled, {
8273
+ children: (inputValue === null || inputValue === void 0 ? void 0 : inputValue.length) > 0 ? /*#__PURE__*/React__default.createElement(SvgCloseFilled, {
8246
8274
  __self: undefined,
8247
8275
  __source: {
8248
8276
  fileName: _jsxFileName$z,
8249
- lineNumber: 46,
8250
- columnNumber: 43
8277
+ lineNumber: 51,
8278
+ columnNumber: 44
8251
8279
  }
8252
8280
  }) : /*#__PURE__*/React__default.createElement("div", {
8253
8281
  __self: undefined,
8254
8282
  __source: {
8255
8283
  fileName: _jsxFileName$z,
8256
- lineNumber: 46,
8257
- columnNumber: 61
8284
+ lineNumber: 51,
8285
+ columnNumber: 62
8258
8286
  }
8259
8287
  }),
8260
8288
  onClick: handleClearButtonClick,
8261
8289
  __self: undefined,
8262
8290
  __source: {
8263
8291
  fileName: _jsxFileName$z,
8264
- lineNumber: 45,
8292
+ lineNumber: 50,
8265
8293
  columnNumber: 7
8266
8294
  }
8267
8295
  }));
@@ -8273,7 +8301,8 @@ InputSearchbox.propTypes = {
8273
8301
  isInvalid: PropTypes.bool,
8274
8302
  readOnly: PropTypes.bool,
8275
8303
  disabled: PropTypes.bool,
8276
- onChange: PropTypes.func
8304
+ onChange: PropTypes.func,
8305
+ withDebounce: PropTypes.bool
8277
8306
  };
8278
8307
  InputSearchbox.defaultProps = {
8279
8308
  size: 'sm'
@@ -8431,6 +8460,144 @@ fixRegExpWellKnownSymbolLogic$1('search', function (SEARCH, nativeSearch, maybeC
8431
8460
  ];
8432
8461
  });
8433
8462
 
8463
+ const _excluded$d = ["children"];
8464
+ var _jsxFileName$y = "C:\\Users\\Acer\\Documents\\project\\majoo\\majoo-ui\\packages\\react\\src\\components\\popover\\Popover.js";
8465
+ const {
8466
+ zIndices
8467
+ } = foundations;
8468
+ const PopoverContext = /*#__PURE__*/createContext();
8469
+ const Popover = ({
8470
+ children,
8471
+ open: _open = false,
8472
+ onOpenChange,
8473
+ placement,
8474
+ sideOffset: _sideOffset = 5,
8475
+ hideOnScroll: _hideOnScroll = false
8476
+ }) => {
8477
+ const [openState, setOpenState] = useState(false);
8478
+ useEffect(() => {
8479
+ setOpenState(_open);
8480
+ }, [_open]);
8481
+ useEffect(() => {
8482
+ if (onOpenChange) onOpenChange(openState);
8483
+ }, [openState, onOpenChange]);
8484
+ const floatingHook = useFloating({
8485
+ open: openState,
8486
+ onOpenChange: setOpenState,
8487
+ middleware: [offset(_sideOffset), flip(), shift$2()],
8488
+ placement
8489
+ });
8490
+ const {
8491
+ getReferenceProps,
8492
+ getFloatingProps
8493
+ } = useInteractions([useClick(floatingHook.context), useDismiss(floatingHook.context, {
8494
+ ancestorScroll: _hideOnScroll
8495
+ })]);
8496
+ const value = {
8497
+ openState,
8498
+ setOpenState,
8499
+ floatingHook,
8500
+ getReferenceProps,
8501
+ getFloatingProps
8502
+ };
8503
+ return /*#__PURE__*/React__default.createElement(PopoverContext.Provider, {
8504
+ value: value,
8505
+ __self: undefined,
8506
+ __source: {
8507
+ fileName: _jsxFileName$y,
8508
+ lineNumber: 46,
8509
+ columnNumber: 10
8510
+ }
8511
+ }, children);
8512
+ };
8513
+ const PopoverTrigger = ({
8514
+ children,
8515
+ disabled
8516
+ }) => {
8517
+ const {
8518
+ floatingHook: {
8519
+ reference
8520
+ },
8521
+ getReferenceProps
8522
+ } = useContext(PopoverContext);
8523
+ return disabled ? children : /*#__PURE__*/cloneElement(children, getReferenceProps(Object.assign({
8524
+ ref: reference
8525
+ }, children.props)));
8526
+ };
8527
+ const PopoverContent = ({
8528
+ children,
8529
+ isMobile,
8530
+ style
8531
+ }) => {
8532
+ const {
8533
+ openState,
8534
+ floatingHook: {
8535
+ x,
8536
+ y,
8537
+ floating,
8538
+ strategy,
8539
+ context
8540
+ },
8541
+ getFloatingProps
8542
+ } = useContext(PopoverContext);
8543
+ return openState ? /*#__PURE__*/React__default.createElement(FloatingFocusManager, {
8544
+ context: context,
8545
+ modal: false,
8546
+ order: ['reference', 'content'],
8547
+ returnFocus: false,
8548
+ __self: undefined,
8549
+ __source: {
8550
+ fileName: _jsxFileName$y,
8551
+ lineNumber: 64,
8552
+ columnNumber: 5
8553
+ }
8554
+ }, /*#__PURE__*/React__default.createElement("div", _extends({}, getFloatingProps({
8555
+ ref: floating,
8556
+ style: Object.assign({
8557
+ position: strategy,
8558
+ top: isMobile ? 0 : y != null ? y : '',
8559
+ left: isMobile ? 0 : x != null ? x : '',
8560
+ zIndex: zIndices.popover
8561
+ }, style)
8562
+ }), {
8563
+ __self: undefined,
8564
+ __source: {
8565
+ fileName: _jsxFileName$y,
8566
+ lineNumber: 65,
8567
+ columnNumber: 7
8568
+ }
8569
+ }), children)) : /*#__PURE__*/React__default.createElement(React__default.Fragment, null);
8570
+ };
8571
+ const PopoverClose = _ref => {
8572
+ let {
8573
+ children
8574
+ } = _ref,
8575
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$d);
8576
+ const {
8577
+ setOpenState
8578
+ } = useContext(PopoverContext);
8579
+ return /*#__PURE__*/React__default.createElement(Flex$1, _extends({}, props, {
8580
+ onClick: () => {
8581
+ if (props.onClick) props.onClick();
8582
+ setOpenState(false);
8583
+ },
8584
+ __self: undefined,
8585
+ __source: {
8586
+ fileName: _jsxFileName$y,
8587
+ lineNumber: 88,
8588
+ columnNumber: 5
8589
+ }
8590
+ }), children);
8591
+ };
8592
+ Popover.propTypes = {
8593
+ open: PropTypes.bool,
8594
+ onOpenChange: PropTypes.func,
8595
+ placement: PropTypes.oneOf(['top', 'top-start', 'top-end', 'right', 'right-start', 'right-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'left-start', 'left-end']),
8596
+ sideOffset: PropTypes.number,
8597
+ hideOnScroll: PropTypes.bool
8598
+ };
8599
+ Popover.displayName = 'Popover';
8600
+
8434
8601
  const SelectContainer = styled('div', {
8435
8602
  margin: 0,
8436
8603
  flexDirection: 'column',
@@ -8588,6 +8755,11 @@ const IconContainer = styled('div', {
8588
8755
  const OptionWrapper$2 = styled('div', {
8589
8756
  display: 'none',
8590
8757
  overflow: 'auto',
8758
+ fontFamily: 'inherit',
8759
+ fontVariantNumeric: 'tabular-nums',
8760
+ fontSize: '$short-content-regular',
8761
+ fontWeight: '400',
8762
+ textAlign: 'left',
8591
8763
  zIndex: 1,
8592
8764
  borderRadius: '$sm',
8593
8765
  backgroundColor: '$bgWhite',
@@ -8757,6 +8929,8 @@ function InputSelect(_a) {
8757
8929
  const [item, setItem] = useState([]);
8758
8930
  const [selectedValue, setSelectedValue] = useState(value);
8759
8931
  const [query, setQuery] = useState();
8932
+ const [openOptions, setOpenOptions] = useState(false);
8933
+ const selectBoxRef = useRef(null);
8760
8934
  const scrollerRef = useRef(null);
8761
8935
  useEffect(() => {
8762
8936
  var _a;
@@ -8833,6 +9007,7 @@ function InputSelect(_a) {
8833
9007
  selectedItem,
8834
9008
  highlightedIndex
8835
9009
  }) => {
9010
+ var _a, _b;
8836
9011
  const handleDownOption = () => {
8837
9012
  if (hideArrowicon || noOptionIcon) {
8838
9013
  return null;
@@ -8848,194 +9023,221 @@ function InputSelect(_a) {
8848
9023
  }, void 0)
8849
9024
  }), void 0);
8850
9025
  };
8851
- return jsxs(SelectContainer, Object.assign({
8852
- css: css
9026
+ return jsx(Popover, Object.assign({
9027
+ open: openOptions,
9028
+ onOpenChange: setOpenOptions,
9029
+ placement: placement,
9030
+ hideOnScroll: true
8853
9031
  }, {
8854
- children: [jsx(ConditionalWrapper, Object.assign({
8855
- condition: showTooltip && selectedValue,
8856
- wrapper: children => jsx(Tooltip$1, Object.assign({
8857
- color: "dark",
8858
- label: selectedValue === null || selectedValue === void 0 ? void 0 : selectedValue.name
8859
- }, {
8860
- children: children
8861
- }), void 0)
9032
+ children: jsxs(SelectContainer, Object.assign({
9033
+ css: css,
9034
+ ref: selectBoxRef
8862
9035
  }, {
8863
- children: jsxs(SelectBox, Object.assign({}, getRootProps({
8864
- refKey: 'ref'
8865
- }, {
8866
- suppressRefError: true
8867
- }), {
8868
- size: size,
8869
- disabled: disabled,
8870
- readOnly: readOnly,
8871
- isInvalid: isInvalid
8872
- }, {
8873
- children: [search ? jsx(Box, Object.assign({
8874
- style: {
8875
- width: '100%',
8876
- flex: 1
8877
- }
9036
+ children: [jsx(ConditionalWrapper, Object.assign({
9037
+ condition: showTooltip && selectedValue,
9038
+ wrapper: children => jsx(Tooltip$1, Object.assign({
9039
+ color: "dark",
9040
+ label: selectedValue === null || selectedValue === void 0 ? void 0 : selectedValue.name
8878
9041
  }, {
8879
- children: jsx(SelectInputSearch, {
8880
- showLeadingIcon: showLeadingIcon,
8881
- showClearIcon: hideArrowicon,
9042
+ children: children
9043
+ }), void 0)
9044
+ }, {
9045
+ children: jsx(PopoverTrigger, {
9046
+ children: jsxs(SelectBox, Object.assign({}, getRootProps({
9047
+ refKey: 'ref'
9048
+ }, {
9049
+ suppressRefError: true
9050
+ }), {
9051
+ size: size,
8882
9052
  disabled: disabled,
8883
- placeholder: placeholder !== null && placeholder !== void 0 ? placeholder : t('placeholder', 'Pilih Item'),
8884
9053
  readOnly: readOnly,
8885
- handleInputValue: !fetchData ? handleInputValue : query => {
8886
- if (onSearch) onSearch(query);
8887
- setQuery(query);
8888
- },
8889
- inputProps: getInputProps({
8890
- onChange: event => {
8891
- if (event.type !== 'change') return;
8892
- const query = event.target.value;
8893
- if (!fetchData) handleInputValue(query);else debouncedSearch(query);
8894
- },
8895
- disabled
8896
- }),
8897
- onClick: !isOpen ? getToggleButtonProps({
8898
- disabled: disabled || readOnly
8899
- }).onClick : undefined
8900
- }, void 0)
8901
- }), void 0) : jsx(Button$3, Object.assign({}, getToggleButtonProps({
8902
- disabled: disabled || readOnly
8903
- }), {
8904
- disabled: disabled,
8905
- size: size,
8906
- readOnly: readOnly,
8907
- type: "button"
8908
- }, {
8909
- children: selectedItem ? selectedItem.render ? selectedItem.render(selectedItem) : jsx(Text$1, Object.assign({
8910
- color: disabled ? 'disable' : 'primary',
8911
- css: StyledText$1
9054
+ isInvalid: isInvalid
8912
9055
  }, {
8913
- children: selectedItem.name
8914
- }), void 0) : jsx(Text$1, Object.assign({
8915
- color: "disable",
8916
- css: StyledText$1
8917
- }, {
8918
- children: placeholder !== null && placeholder !== void 0 ? placeholder : t('placeholder', 'Pilih Item')
9056
+ children: [search ? jsx(Box, Object.assign({
9057
+ style: {
9058
+ width: '100%',
9059
+ flex: 1
9060
+ }
9061
+ }, {
9062
+ children: jsx(SelectInputSearch, {
9063
+ showLeadingIcon: showLeadingIcon,
9064
+ showClearIcon: hideArrowicon,
9065
+ disabled: disabled,
9066
+ placeholder: placeholder !== null && placeholder !== void 0 ? placeholder : t('placeholder', 'Pilih Item'),
9067
+ readOnly: readOnly,
9068
+ handleInputValue: !fetchData ? handleInputValue : query => {
9069
+ if (onSearch) onSearch(query);
9070
+ setQuery(query);
9071
+ },
9072
+ inputProps: getInputProps({
9073
+ onChange: event => {
9074
+ if (event.type !== 'change') return;
9075
+ const query = event.target.value;
9076
+ if (!fetchData) handleInputValue(query);else debouncedSearch(query);
9077
+ },
9078
+ disabled
9079
+ }),
9080
+ onClick: !isOpen ? getToggleButtonProps({
9081
+ disabled: disabled || readOnly
9082
+ }).onClick : undefined
9083
+ }, void 0)
9084
+ }), void 0) : jsx(Button$3, Object.assign({}, getToggleButtonProps({
9085
+ disabled: disabled || readOnly
9086
+ }), {
9087
+ disabled: disabled,
9088
+ size: size,
9089
+ readOnly: readOnly,
9090
+ type: "button"
9091
+ }, {
9092
+ children: selectedItem ? selectedItem.render ? selectedItem.render(selectedItem) : jsx(Text$1, Object.assign({
9093
+ color: disabled ? 'disable' : 'primary',
9094
+ css: StyledText$1
9095
+ }, {
9096
+ children: selectedItem.name
9097
+ }), void 0) : jsx(Text$1, Object.assign({
9098
+ color: "disable",
9099
+ css: StyledText$1
9100
+ }, {
9101
+ children: placeholder !== null && placeholder !== void 0 ? placeholder : t('placeholder', 'Pilih Item')
9102
+ }), void 0)
9103
+ }), void 0), handleDownOption()]
8919
9104
  }), void 0)
8920
- }), void 0), handleDownOption()]
8921
- }), void 0)
8922
- }), void 0), isOpen && isLoading && jsx(Flex$1, Object.assign({
8923
- justify: "center",
8924
- align: "center",
8925
- css: {
8926
- position: 'absolute',
8927
- inset: 0,
8928
- zIndex: '$sticky',
8929
- top: placement === 'top' ? '-20px' : item.length > 0 ? size === 'lg' ? '40px' : '32px' : size === 'lg' ? '64px' : '56px',
8930
- // bottom: '80px',
8931
- width: '100%',
8932
- height: scrollerRef.current ? scrollerRef.current.clientHeight : '40px',
8933
- backgroundColor: '$bgWhite',
8934
- opacity: 0.8,
8935
- transform: placement === 'top' ? 'translate(0, -100%)' : 'none'
8936
- }
8937
- }, {
8938
- children: jsx(Text$1, Object.assign({
8939
- variant: "caption"
8940
- }, {
8941
- children: "Loading...."
8942
- }), void 0)
8943
- }), void 0), jsx(ConditionalWrapper, Object.assign({
8944
- condition: renderFooter && typeof renderFooter === 'function',
8945
- wrapper: child => jsxs(Box, Object.assign({
8946
- css: {
8947
- position: 'absolute',
8948
- float: 'left',
8949
- display: isOpen ? 'block' : 'none',
8950
- zIndex: '$popover',
8951
- width: '100%'
8952
- }
8953
- }, {
8954
- children: [child, renderFooter && typeof renderFooter === 'function' && jsx(StyledFooter, {
8955
- children: renderFooter === null || renderFooter === void 0 ? void 0 : renderFooter()
8956
- }, void 0)]
8957
- }), void 0)
8958
- }, {
8959
- children: jsxs(OptionWrapper$2, Object.assign({}, getMenuProps({
8960
- ref: scrollerRef
8961
- }, {
8962
- suppressRefError: true
8963
- }), {
8964
- css: {
8965
- display: isOpen ? 'block' : 'none',
8966
- zIndex: '$popover'
8967
- },
8968
- withFooter: renderFooter && typeof renderFooter === 'function',
8969
- placement: placement
8970
- }, {
8971
- children: [!search && embedSearch && isOpen && jsx(SelectContainer, Object.assign({
8972
- css: {
8973
- position: 'sticky',
8974
- top: 0,
8975
- zIndex: '$sticky',
8976
- padding: '$spacing-04 $spacing-05 0',
8977
- backgroundColor: '$bgWhite'
9105
+ }, void 0)
9106
+ }), void 0), jsx(Portal, {
9107
+ children: jsx(PopoverContent, Object.assign({
9108
+ style: {
9109
+ width: (_b = (_a = selectBoxRef === null || selectBoxRef === void 0 ? void 0 : selectBoxRef.current) === null || _a === void 0 ? void 0 : _a.clientWidth) !== null && _b !== void 0 ? _b : 0
8978
9110
  }
8979
9111
  }, {
8980
- children: jsx(InputSearchbox, {
8981
- size: 'sm',
8982
- onChange: handleInputValue,
8983
- placeholder: searchPlaceholder !== null && searchPlaceholder !== void 0 ? searchPlaceholder : t('searchPlaceholder', 'Cari ...')
8984
- }, void 0)
8985
- }), void 0), item.length > 0 || isLoading ? jsx(ConditionalWrapper, Object.assign({
8986
- condition: !!fetchData && item.length > 0,
8987
- wrapper: children => jsx(InfiniteScroll, Object.assign({
8988
- loadMore: _ => {
8989
- if (!isLoading && fetchData) fetchData({
8990
- query
8991
- });
8992
- },
8993
- hasMore: true,
8994
- threshold: 5,
8995
- useWindow: false
8996
- }, {
8997
- children: children
8998
- }), void 0)
8999
- }, {
9000
- children: jsx(SelectOption, {
9001
- children: item.map((item, index) => {
9002
- var _a;
9003
- return /*#__PURE__*/createElement$2(SelectItem, Object.assign({}, getItemProps({
9004
- item,
9005
- disabled: item.isDisabled
9006
- }), {
9007
- key: (_a = item.value) !== null && _a !== void 0 ? _a : index,
9008
- css: item.isDisabled ? {
9009
- backgroundColor: 'unset',
9010
- cursor: 'not-allowed',
9011
- color: '$textDisable'
9012
- } : {
9013
- backgroundColor: highlightedIndex === index ? '$bgGray' : 'white',
9014
- fontWeight: 'normal',
9015
- color: selectedItem && selectedItem.value === item.value ? '$textGreen' : '$textPrimary'
9016
- }
9017
- }), item.render ? item.render(selectedItem) : item.name);
9018
- })
9019
- }, void 0)
9020
- }), void 0) : jsx(SelectOption, {
9021
- children: jsxs(StyledDiv$2, {
9022
- children: [jsx("div", Object.assign({
9023
- style: {
9024
- marginRight: '6px'
9112
+ children: jsxs(Fragment, {
9113
+ children: [isOpen && isLoading && jsx(Flex$1, Object.assign({
9114
+ justify: "center",
9115
+ align: "center",
9116
+ css: {
9117
+ position: 'absolute',
9118
+ inset: 0,
9119
+ zIndex: '$tooltip',
9120
+ top: item.length > 0 ? '0px' : placement === 'top' ? '-20px' : '20px',
9121
+ // bottom: '80px',
9122
+ width: '100%',
9123
+ height: scrollerRef.current ? scrollerRef.current.clientHeight : '40px',
9124
+ backgroundColor: '$bgWhite',
9125
+ opacity: 0.8,
9126
+ transform: placement === 'top' ? 'translate(0, -100%)' : 'none'
9025
9127
  }
9026
9128
  }, {
9027
- children: jsx(CircleInfoOutline, {
9028
- size: "16px",
9029
- color: colors$4.iconDisable,
9030
- style: {
9031
- verticalAlign: 'text-bottom'
9129
+ children: jsx(Text$1, Object.assign({
9130
+ variant: "caption"
9131
+ }, {
9132
+ children: "Loading...."
9133
+ }), void 0)
9134
+ }), void 0), jsx(ConditionalWrapper, Object.assign({
9135
+ condition: renderFooter && typeof renderFooter === 'function',
9136
+ wrapper: child => jsxs(Box, Object.assign({
9137
+ css: {
9138
+ position: 'absolute',
9139
+ float: 'left',
9140
+ display: isOpen ? 'block' : 'none',
9141
+ zIndex: '$popover',
9142
+ width: '100%'
9032
9143
  }
9033
- }, void 0)
9034
- }), void 0), t('noItemPlaceholder', 'Item tidak ditemukan')]
9144
+ }, {
9145
+ children: [child, renderFooter && typeof renderFooter === 'function' && jsx(StyledFooter, {
9146
+ children: renderFooter === null || renderFooter === void 0 ? void 0 : renderFooter()
9147
+ }, void 0)]
9148
+ }), void 0)
9149
+ }, {
9150
+ children: jsxs(OptionWrapper$2, Object.assign({}, getMenuProps({
9151
+ ref: scrollerRef
9152
+ }, {
9153
+ suppressRefError: true
9154
+ }), {
9155
+ css: {
9156
+ display: isOpen ? 'block' : 'none',
9157
+ zIndex: '$popover',
9158
+ pointerEvents: 'auto'
9159
+ },
9160
+ withFooter: renderFooter && typeof renderFooter === 'function',
9161
+ placement: placement
9162
+ }, {
9163
+ children: [!search && embedSearch && isOpen && jsx(SelectContainer, Object.assign({
9164
+ css: {
9165
+ position: 'sticky',
9166
+ top: 0,
9167
+ zIndex: '$sticky',
9168
+ padding: '$spacing-04 $spacing-05 0',
9169
+ backgroundColor: '$bgWhite'
9170
+ }
9171
+ }, {
9172
+ children: jsx(InputSearchbox, {
9173
+ size: 'sm',
9174
+ onChange: handleInputValue,
9175
+ placeholder: searchPlaceholder !== null && searchPlaceholder !== void 0 ? searchPlaceholder : t('searchPlaceholder', 'Cari ...')
9176
+ }, void 0)
9177
+ }), void 0), item.length > 0 || isLoading ? jsx(ConditionalWrapper, Object.assign({
9178
+ condition: !!fetchData && item.length > 0,
9179
+ wrapper: children => jsx(InfiniteScroll, Object.assign({
9180
+ loadMore: _ => {
9181
+ if (!isLoading && fetchData) fetchData({
9182
+ query
9183
+ });
9184
+ },
9185
+ hasMore: true,
9186
+ threshold: 5,
9187
+ useWindow: false
9188
+ }, {
9189
+ children: children
9190
+ }), void 0)
9191
+ }, {
9192
+ children: jsx(PopoverClose, Object.assign({
9193
+ css: {
9194
+ display: 'block !important'
9195
+ }
9196
+ }, {
9197
+ children: jsx(SelectOption, {
9198
+ children: item.map((item, index) => {
9199
+ var _a;
9200
+ return /*#__PURE__*/createElement$2(SelectItem, Object.assign({}, getItemProps({
9201
+ item,
9202
+ disabled: item.isDisabled
9203
+ }), {
9204
+ key: (_a = item.value) !== null && _a !== void 0 ? _a : index,
9205
+ css: item.isDisabled ? {
9206
+ backgroundColor: 'unset',
9207
+ cursor: 'not-allowed',
9208
+ color: '$textDisable'
9209
+ } : {
9210
+ backgroundColor: highlightedIndex === index ? '$bgGray' : 'white',
9211
+ fontWeight: 'normal',
9212
+ color: selectedItem && selectedItem.value === item.value ? '$textGreen' : '$textPrimary'
9213
+ }
9214
+ }), item.render ? item.render(selectedItem) : item.name);
9215
+ })
9216
+ }, void 0)
9217
+ }), void 0)
9218
+ }), void 0) : jsx(SelectOption, {
9219
+ children: jsxs(StyledDiv$2, {
9220
+ children: [jsx("div", Object.assign({
9221
+ style: {
9222
+ marginRight: '6px'
9223
+ }
9224
+ }, {
9225
+ children: jsx(CircleInfoOutline, {
9226
+ size: "16px",
9227
+ color: colors$4.iconDisable,
9228
+ style: {
9229
+ verticalAlign: 'text-bottom'
9230
+ }
9231
+ }, void 0)
9232
+ }), void 0), t('noItemPlaceholder', 'Item tidak ditemukan')]
9233
+ }, void 0)
9234
+ }, void 0)]
9235
+ }), void 0)
9236
+ }), void 0)]
9035
9237
  }, void 0)
9036
- }, void 0)]
9037
- }), void 0)
9038
- }), void 0)]
9238
+ }), void 0)
9239
+ }, void 0)]
9240
+ }), void 0)
9039
9241
  }), void 0);
9040
9242
  }
9041
9243
  }), void 0);
@@ -9321,7 +9523,7 @@ $$f({ target: 'Array', proto: true, forced: !STRICT_METHOD || CHROME_BUG }, {
9321
9523
  }
9322
9524
  });
9323
9525
 
9324
- var _jsxFileName$y = "C:\\Users\\Acer\\Documents\\project\\majoo\\majoo-ui\\packages\\react\\src\\components\\form\\components\\InputSelectCheck\\icon\\CheckOutline.js";
9526
+ var _jsxFileName$x = "C:\\Users\\Acer\\Documents\\project\\majoo\\majoo-ui\\packages\\react\\src\\components\\form\\components\\InputSelectCheck\\icon\\CheckOutline.js";
9325
9527
  const CheckOutline = props => /*#__PURE__*/React.createElement("svg", _extends({
9326
9528
  xmlns: "http://www.w3.org/2000/svg",
9327
9529
  xmlSpace: "preserve",
@@ -9338,7 +9540,7 @@ const CheckOutline = props => /*#__PURE__*/React.createElement("svg", _extends({
9338
9540
  }, props, {
9339
9541
  __self: undefined,
9340
9542
  __source: {
9341
- fileName: _jsxFileName$y,
9543
+ fileName: _jsxFileName$x,
9342
9544
  lineNumber: 4,
9343
9545
  columnNumber: 3
9344
9546
  }
@@ -9350,7 +9552,7 @@ const CheckOutline = props => /*#__PURE__*/React.createElement("svg", _extends({
9350
9552
  },
9351
9553
  __self: undefined,
9352
9554
  __source: {
9353
- fileName: _jsxFileName$y,
9555
+ fileName: _jsxFileName$x,
9354
9556
  lineNumber: 19,
9355
9557
  columnNumber: 5
9356
9558
  }
@@ -9362,14 +9564,14 @@ const CheckOutline = props => /*#__PURE__*/React.createElement("svg", _extends({
9362
9564
  },
9363
9565
  __self: undefined,
9364
9566
  __source: {
9365
- fileName: _jsxFileName$y,
9567
+ fileName: _jsxFileName$x,
9366
9568
  lineNumber: 26,
9367
9569
  columnNumber: 5
9368
9570
  }
9369
9571
  }));
9370
9572
 
9371
- const _excluded$d = ["placeholder", "option", "value", "size", "disabled", "onChange", "search", "readOnly", "placement", "disabledOptions", "textEmptyItem", "onRemoveItem", "isInvalid", "sortBy", "showSelectAll", "selectAllLabel", "showSelectedTag", "unremovableTags", "helperText", "css", "showCounter", "labelCounter", "collapsible"];
9372
- var _jsxFileName$x = "C:\\Users\\Acer\\Documents\\project\\majoo\\majoo-ui\\packages\\react\\src\\components\\form\\components\\InputSelectCheck\\InputSelectCheck.js";
9573
+ const _excluded$c = ["placeholder", "option", "value", "size", "disabled", "onChange", "search", "readOnly", "placement", "disabledOptions", "textEmptyItem", "onRemoveItem", "isInvalid", "sortBy", "showSelectAll", "selectAllLabel", "showSelectedTag", "unremovableTags", "helperText", "css", "showCounter", "labelCounter", "collapsible"];
9574
+ var _jsxFileName$w = "C:\\Users\\Acer\\Documents\\project\\majoo\\majoo-ui\\packages\\react\\src\\components\\form\\components\\InputSelectCheck\\InputSelectCheck.js";
9373
9575
  const Wrapper$1 = styled('div', {
9374
9576
  margin: 0,
9375
9577
  flexDirection: 'column',
@@ -9626,7 +9828,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
9626
9828
  labelCounter,
9627
9829
  collapsible
9628
9830
  } = _ref,
9629
- props = _objectWithoutPropertiesLoose(_ref, _excluded$d);
9831
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$c);
9630
9832
  const {
9631
9833
  t
9632
9834
  } = useTranslation(['MajooUI/inputSelectCheck', 'translation']);
@@ -9856,7 +10058,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
9856
10058
  }, props, {
9857
10059
  __self: undefined,
9858
10060
  __source: {
9859
- fileName: _jsxFileName$x,
10061
+ fileName: _jsxFileName$w,
9860
10062
  lineNumber: 523,
9861
10063
  columnNumber: 7
9862
10064
  }
@@ -9866,7 +10068,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
9866
10068
  isInvalid: isInvalid,
9867
10069
  __self: undefined,
9868
10070
  __source: {
9869
- fileName: _jsxFileName$x,
10071
+ fileName: _jsxFileName$w,
9870
10072
  lineNumber: 524,
9871
10073
  columnNumber: 9
9872
10074
  }
@@ -9881,7 +10083,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
9881
10083
  disabled: disabled || readOnly,
9882
10084
  __self: undefined,
9883
10085
  __source: {
9884
- fileName: _jsxFileName$x,
10086
+ fileName: _jsxFileName$w,
9885
10087
  lineNumber: 525,
9886
10088
  columnNumber: 11
9887
10089
  }
@@ -9897,7 +10099,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
9897
10099
  hiddden: !search,
9898
10100
  __self: undefined,
9899
10101
  __source: {
9900
- fileName: _jsxFileName$x,
10102
+ fileName: _jsxFileName$w,
9901
10103
  lineNumber: 535,
9902
10104
  columnNumber: 13
9903
10105
  }
@@ -9910,7 +10112,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
9910
10112
  hiddden: search,
9911
10113
  __self: undefined,
9912
10114
  __source: {
9913
- fileName: _jsxFileName$x,
10115
+ fileName: _jsxFileName$w,
9914
10116
  lineNumber: 541,
9915
10117
  columnNumber: 13
9916
10118
  }
@@ -9921,7 +10123,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
9921
10123
  readOnly: readOnly,
9922
10124
  __self: undefined,
9923
10125
  __source: {
9924
- fileName: _jsxFileName$x,
10126
+ fileName: _jsxFileName$w,
9925
10127
  lineNumber: 551,
9926
10128
  columnNumber: 11
9927
10129
  }
@@ -9929,7 +10131,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
9929
10131
  color: disabled || readOnly ? colors$4.iconDisable : colors$4.iconPrimary,
9930
10132
  __self: undefined,
9931
10133
  __source: {
9932
- fileName: _jsxFileName$x,
10134
+ fileName: _jsxFileName$w,
9933
10135
  lineNumber: 556,
9934
10136
  columnNumber: 13
9935
10137
  }
@@ -9942,7 +10144,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
9942
10144
  },
9943
10145
  __self: undefined,
9944
10146
  __source: {
9945
- fileName: _jsxFileName$x,
10147
+ fileName: _jsxFileName$w,
9946
10148
  lineNumber: 560,
9947
10149
  columnNumber: 11
9948
10150
  }
@@ -9950,7 +10152,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
9950
10152
  disabled: disabled,
9951
10153
  __self: undefined,
9952
10154
  __source: {
9953
- fileName: _jsxFileName$x,
10155
+ fileName: _jsxFileName$w,
9954
10156
  lineNumber: 566,
9955
10157
  columnNumber: 13
9956
10158
  }
@@ -9980,7 +10182,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
9980
10182
  },
9981
10183
  __self: undefined,
9982
10184
  __source: {
9983
- fileName: _jsxFileName$x,
10185
+ fileName: _jsxFileName$w,
9984
10186
  lineNumber: 577,
9985
10187
  columnNumber: 19
9986
10188
  }
@@ -9990,14 +10192,14 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
9990
10192
  onClick: toggleCollapsible,
9991
10193
  __self: undefined,
9992
10194
  __source: {
9993
- fileName: _jsxFileName$x,
10195
+ fileName: _jsxFileName$w,
9994
10196
  lineNumber: 598,
9995
10197
  columnNumber: 15
9996
10198
  }
9997
10199
  }, /*#__PURE__*/React__default.createElement(Separator$2, {
9998
10200
  __self: undefined,
9999
10201
  __source: {
10000
- fileName: _jsxFileName$x,
10202
+ fileName: _jsxFileName$w,
10001
10203
  lineNumber: 599,
10002
10204
  columnNumber: 17
10003
10205
  }
@@ -10011,7 +10213,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
10011
10213
  },
10012
10214
  __self: undefined,
10013
10215
  __source: {
10014
- fileName: _jsxFileName$x,
10216
+ fileName: _jsxFileName$w,
10015
10217
  lineNumber: 600,
10016
10218
  columnNumber: 17
10017
10219
  }
@@ -10019,7 +10221,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
10019
10221
  color: colors$4.iconSecondary,
10020
10222
  __self: undefined,
10021
10223
  __source: {
10022
- fileName: _jsxFileName$x,
10224
+ fileName: _jsxFileName$w,
10023
10225
  lineNumber: 606,
10024
10226
  columnNumber: 21
10025
10227
  }
@@ -10027,7 +10229,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
10027
10229
  color: colors$4.iconSecondary,
10028
10230
  __self: undefined,
10029
10231
  __source: {
10030
- fileName: _jsxFileName$x,
10232
+ fileName: _jsxFileName$w,
10031
10233
  lineNumber: 608,
10032
10234
  columnNumber: 21
10033
10235
  }
@@ -10039,14 +10241,14 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
10039
10241
  color: "secondary",
10040
10242
  __self: undefined,
10041
10243
  __source: {
10042
- fileName: _jsxFileName$x,
10244
+ fileName: _jsxFileName$w,
10043
10245
  lineNumber: 610,
10044
10246
  columnNumber: 19
10045
10247
  }
10046
10248
  }, showAllTags ? t('showSomeText', 'Tampilkan Sebagian') : t('showAllText', 'Tampilkan Semua'))), /*#__PURE__*/React__default.createElement(Separator$2, {
10047
10249
  __self: undefined,
10048
10250
  __source: {
10049
- fileName: _jsxFileName$x,
10251
+ fileName: _jsxFileName$w,
10050
10252
  lineNumber: 614,
10051
10253
  columnNumber: 17
10052
10254
  }
@@ -10054,7 +10256,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
10054
10256
  disabled: disabled,
10055
10257
  __self: undefined,
10056
10258
  __source: {
10057
- fileName: _jsxFileName$x,
10259
+ fileName: _jsxFileName$w,
10058
10260
  lineNumber: 620,
10059
10261
  columnNumber: 11
10060
10262
  }
@@ -10082,7 +10284,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
10082
10284
  },
10083
10285
  __self: undefined,
10084
10286
  __source: {
10085
- fileName: _jsxFileName$x,
10287
+ fileName: _jsxFileName$w,
10086
10288
  lineNumber: 621,
10087
10289
  columnNumber: 13
10088
10290
  }
@@ -10094,7 +10296,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
10094
10296
  },
10095
10297
  __self: undefined,
10096
10298
  __source: {
10097
- fileName: _jsxFileName$x,
10299
+ fileName: _jsxFileName$w,
10098
10300
  lineNumber: 641,
10099
10301
  columnNumber: 9
10100
10302
  }
@@ -10103,7 +10305,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
10103
10305
  }), {
10104
10306
  __self: undefined,
10105
10307
  __source: {
10106
- fileName: _jsxFileName$x,
10308
+ fileName: _jsxFileName$w,
10107
10309
  lineNumber: 646,
10108
10310
  columnNumber: 13
10109
10311
  }
@@ -10121,7 +10323,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
10121
10323
  },
10122
10324
  __self: undefined,
10123
10325
  __source: {
10124
- fileName: _jsxFileName$x,
10326
+ fileName: _jsxFileName$w,
10125
10327
  lineNumber: 649,
10126
10328
  columnNumber: 19
10127
10329
  }
@@ -10134,7 +10336,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
10134
10336
  },
10135
10337
  __self: undefined,
10136
10338
  __source: {
10137
- fileName: _jsxFileName$x,
10339
+ fileName: _jsxFileName$w,
10138
10340
  lineNumber: 662,
10139
10341
  columnNumber: 21
10140
10342
  }
@@ -10142,7 +10344,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
10142
10344
  color: colors$4.iconDisable,
10143
10345
  __self: undefined,
10144
10346
  __source: {
10145
- fileName: _jsxFileName$x,
10347
+ fileName: _jsxFileName$w,
10146
10348
  lineNumber: 671,
10147
10349
  columnNumber: 25
10148
10350
  }
@@ -10150,21 +10352,21 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
10150
10352
  color: colors$4.iconGreen,
10151
10353
  __self: undefined,
10152
10354
  __source: {
10153
- fileName: _jsxFileName$x,
10355
+ fileName: _jsxFileName$w,
10154
10356
  lineNumber: 675,
10155
10357
  columnNumber: 27
10156
10358
  }
10157
10359
  }), 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, {
10158
10360
  __self: undefined,
10159
10361
  __source: {
10160
- fileName: _jsxFileName$x,
10362
+ fileName: _jsxFileName$w,
10161
10363
  lineNumber: 682,
10162
10364
  columnNumber: 25
10163
10365
  }
10164
10366
  }, "-") : /*#__PURE__*/React__default.createElement("div", {
10165
10367
  __self: undefined,
10166
10368
  __source: {
10167
- fileName: _jsxFileName$x,
10369
+ fileName: _jsxFileName$w,
10168
10370
  lineNumber: 684,
10169
10371
  columnNumber: 25
10170
10372
  }
@@ -10174,7 +10376,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
10174
10376
  },
10175
10377
  __self: undefined,
10176
10378
  __source: {
10177
- fileName: _jsxFileName$x,
10379
+ fileName: _jsxFileName$w,
10178
10380
  lineNumber: 687,
10179
10381
  columnNumber: 21
10180
10382
  }
@@ -10187,14 +10389,14 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
10187
10389
  }), {
10188
10390
  __self: undefined,
10189
10391
  __source: {
10190
- fileName: _jsxFileName$x,
10392
+ fileName: _jsxFileName$w,
10191
10393
  lineNumber: 692,
10192
10394
  columnNumber: 13
10193
10395
  }
10194
10396
  }), /*#__PURE__*/React__default.createElement(StyledDiv$1, {
10195
10397
  __self: undefined,
10196
10398
  __source: {
10197
- fileName: _jsxFileName$x,
10399
+ fileName: _jsxFileName$w,
10198
10400
  lineNumber: 693,
10199
10401
  columnNumber: 15
10200
10402
  }
@@ -10204,7 +10406,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
10204
10406
  },
10205
10407
  __self: undefined,
10206
10408
  __source: {
10207
- fileName: _jsxFileName$x,
10409
+ fileName: _jsxFileName$w,
10208
10410
  lineNumber: 694,
10209
10411
  columnNumber: 17
10210
10412
  }
@@ -10216,7 +10418,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
10216
10418
  },
10217
10419
  __self: undefined,
10218
10420
  __source: {
10219
- fileName: _jsxFileName$x,
10421
+ fileName: _jsxFileName$w,
10220
10422
  lineNumber: 695,
10221
10423
  columnNumber: 19
10222
10424
  }
@@ -10263,7 +10465,7 @@ InputSelectCheck.defaultProps = {
10263
10465
  collapsible: true
10264
10466
  };
10265
10467
 
10266
- var _jsxFileName$w = "C:\\Users\\Acer\\Documents\\project\\majoo\\majoo-ui\\packages\\react\\src\\components\\form\\components\\InputSelectTag\\InputSelectTag.js";
10468
+ var _jsxFileName$v = "C:\\Users\\Acer\\Documents\\project\\majoo\\majoo-ui\\packages\\react\\src\\components\\form\\components\\InputSelectTag\\InputSelectTag.js";
10267
10469
  const InputSelectTag = /*#__PURE__*/React.forwardRef((props, ref) => {
10268
10470
  return /*#__PURE__*/React.createElement(InputSelectCheck, _extends({
10269
10471
  ref: ref,
@@ -10271,7 +10473,7 @@ const InputSelectTag = /*#__PURE__*/React.forwardRef((props, ref) => {
10271
10473
  }, props, {
10272
10474
  __self: undefined,
10273
10475
  __source: {
10274
- fileName: _jsxFileName$w,
10476
+ fileName: _jsxFileName$v,
10275
10477
  lineNumber: 6,
10276
10478
  columnNumber: 10
10277
10479
  }
@@ -10313,7 +10515,7 @@ InputSelectTag.defaultProps = {
10313
10515
  collapsible: true
10314
10516
  };
10315
10517
 
10316
- var _jsxFileName$v = "C:\\Users\\Acer\\Documents\\project\\majoo\\majoo-ui\\packages\\react\\src\\components\\form\\components\\InputCreatable\\InputCreatable.js";
10518
+ var _jsxFileName$u = "C:\\Users\\Acer\\Documents\\project\\majoo\\majoo-ui\\packages\\react\\src\\components\\form\\components\\InputCreatable\\InputCreatable.js";
10317
10519
  const Wrapper = styled('div', {
10318
10520
  margin: 0,
10319
10521
  flexDirection: 'column',
@@ -10486,7 +10688,7 @@ function InputCreatable({
10486
10688
  return /*#__PURE__*/React__default.createElement(Wrapper, {
10487
10689
  __self: this,
10488
10690
  __source: {
10489
- fileName: _jsxFileName$v,
10691
+ fileName: _jsxFileName$u,
10490
10692
  lineNumber: 169,
10491
10693
  columnNumber: 5
10492
10694
  }
@@ -10496,7 +10698,7 @@ function InputCreatable({
10496
10698
  disabled: disabled || readOnly,
10497
10699
  __self: this,
10498
10700
  __source: {
10499
- fileName: _jsxFileName$v,
10701
+ fileName: _jsxFileName$u,
10500
10702
  lineNumber: 170,
10501
10703
  columnNumber: 7
10502
10704
  }
@@ -10510,7 +10712,7 @@ function InputCreatable({
10510
10712
  onChange: event => handleInputValue(event.target.value),
10511
10713
  __self: this,
10512
10714
  __source: {
10513
- fileName: _jsxFileName$v,
10715
+ fileName: _jsxFileName$u,
10514
10716
  lineNumber: 171,
10515
10717
  columnNumber: 9
10516
10718
  }
@@ -10520,14 +10722,14 @@ function InputCreatable({
10520
10722
  },
10521
10723
  __self: this,
10522
10724
  __source: {
10523
- fileName: _jsxFileName$v,
10725
+ fileName: _jsxFileName$u,
10524
10726
  lineNumber: 181,
10525
10727
  columnNumber: 7
10526
10728
  }
10527
10729
  }, /*#__PURE__*/React__default.createElement(ItemWrapper, {
10528
10730
  __self: this,
10529
10731
  __source: {
10530
- fileName: _jsxFileName$v,
10732
+ fileName: _jsxFileName$u,
10531
10733
  lineNumber: 182,
10532
10734
  columnNumber: 9
10533
10735
  }
@@ -10535,7 +10737,7 @@ function InputCreatable({
10535
10737
  color: colors$4.iconGreen,
10536
10738
  __self: this,
10537
10739
  __source: {
10538
- fileName: _jsxFileName$v,
10740
+ fileName: _jsxFileName$u,
10539
10741
  lineNumber: 183,
10540
10742
  columnNumber: 11
10541
10743
  }
@@ -10546,7 +10748,7 @@ function InputCreatable({
10546
10748
  },
10547
10749
  __self: this,
10548
10750
  __source: {
10549
- fileName: _jsxFileName$v,
10751
+ fileName: _jsxFileName$u,
10550
10752
  lineNumber: 184,
10551
10753
  columnNumber: 11
10552
10754
  }
@@ -10916,6 +11118,13 @@ const InputCombobox = /*#__PURE__*/React.forwardRef((_a, forwardedRef) => {
10916
11118
  } = _a,
10917
11119
  props = __rest(_a, ["options", "defaultValue", "disabled", "placeholder", "showLeadingIcon", "placement", "size", "isInvalid", "css", "onValueChange"]);
10918
11120
  const [inputItems, setInputItems] = useState(items);
11121
+ const [openOptions, setOpenOptions] = useState(false);
11122
+ const selectBoxRef = useRef(null);
11123
+ const [optionsWidth, setOptionsWidth] = useState(0);
11124
+ useLayoutEffect(() => {
11125
+ var _a, _b;
11126
+ setOptionsWidth((_b = (_a = selectBoxRef === null || selectBoxRef === void 0 ? void 0 : selectBoxRef.current) === null || _a === void 0 ? void 0 : _a.clientWidth) !== null && _b !== void 0 ? _b : 0);
11127
+ }, [selectBoxRef]);
10919
11128
  const {
10920
11129
  isOpen,
10921
11130
  getMenuProps,
@@ -10933,43 +11142,62 @@ const InputCombobox = /*#__PURE__*/React.forwardRef((_a, forwardedRef) => {
10933
11142
  setInputItems(items.filter(item => item.toLowerCase().startsWith(_inputValue.toLowerCase())));
10934
11143
  }
10935
11144
  });
10936
- return jsxs(SelectContainer, Object.assign({
10937
- css: css
11145
+ return jsx(Popover, Object.assign({
11146
+ open: openOptions || isOpen,
11147
+ onOpenChange: setOpenOptions,
11148
+ placement: placement,
11149
+ hideOnScroll: true
10938
11150
  }, {
10939
- children: [jsx(SelectBox, Object.assign({}, getComboboxProps(), {
10940
- size: size,
10941
- disabled: disabled,
10942
- isInvalid: isInvalid
10943
- }, {
10944
- children: jsx(SelectInputSearch, Object.assign({
10945
- showLeadingIcon: showLeadingIcon,
10946
- disabled: disabled,
10947
- placeholder: placeholder,
10948
- inputProps: getInputProps({}, {
10949
- suppressRefError: true
10950
- })
10951
- }, props, {
10952
- ref: forwardedRef
10953
- }), void 0)
10954
- }), void 0), inputItems.length > 0 && jsx(OptionWrapper$2, Object.assign({}, getMenuProps(), {
10955
- css: {
10956
- display: isOpen ? 'block' : 'none'
10957
- },
10958
- placement: placement
11151
+ children: jsxs(SelectContainer, Object.assign({
11152
+ css: css,
11153
+ ref: selectBoxRef
10959
11154
  }, {
10960
- children: jsx(SelectOption, {
10961
- children: inputItems.map((item, index) => /*#__PURE__*/createElement$2(SelectItem, Object.assign({}, getItemProps({
10962
- item,
10963
- index
10964
- }), {
10965
- key: `${item}${index}`,
10966
- css: {
10967
- backgroundColor: highlightedIndex === index ? '$bgGray' : 'white',
10968
- fontWeight: 'normal'
11155
+ children: [jsx(PopoverTrigger, {
11156
+ children: jsx(SelectBox, Object.assign({}, getComboboxProps(), {
11157
+ size: size,
11158
+ disabled: disabled,
11159
+ isInvalid: isInvalid
11160
+ }, {
11161
+ children: jsx(SelectInputSearch, Object.assign({
11162
+ showLeadingIcon: showLeadingIcon,
11163
+ disabled: disabled,
11164
+ placeholder: placeholder,
11165
+ inputProps: getInputProps({}, {
11166
+ suppressRefError: true
11167
+ })
11168
+ }, props, {
11169
+ ref: forwardedRef
11170
+ }), void 0)
11171
+ }), void 0)
11172
+ }, void 0), jsx(Portal, {
11173
+ children: jsx(PopoverContent, Object.assign({
11174
+ style: {
11175
+ width: optionsWidth
10969
11176
  }
10970
- }), item))
10971
- }, void 0)
10972
- }), void 0)]
11177
+ }, {
11178
+ children: inputItems.length > 0 && jsx(OptionWrapper$2, Object.assign({}, getMenuProps(), {
11179
+ css: {
11180
+ display: isOpen ? 'block' : 'none',
11181
+ pointerEvents: 'auto'
11182
+ },
11183
+ placement: placement
11184
+ }, {
11185
+ children: jsx(SelectOption, {
11186
+ children: inputItems.map((item, index) => /*#__PURE__*/createElement$2(SelectItem, Object.assign({}, getItemProps({
11187
+ item,
11188
+ index
11189
+ }), {
11190
+ key: `${item}${index}`,
11191
+ css: {
11192
+ backgroundColor: highlightedIndex === index ? '$bgGray' : 'white',
11193
+ fontWeight: 'normal'
11194
+ }
11195
+ }), item))
11196
+ }, void 0)
11197
+ }), void 0)
11198
+ }), void 0)
11199
+ }, void 0)]
11200
+ }), void 0)
10973
11201
  }), void 0);
10974
11202
  });
10975
11203
 
@@ -11293,140 +11521,6 @@ InputCounter.defaultProps = {
11293
11521
  size: 'lg'
11294
11522
  };
11295
11523
 
11296
- const _excluded$c = ["children"];
11297
- var _jsxFileName$u = "C:\\Users\\Acer\\Documents\\project\\majoo\\majoo-ui\\packages\\react\\src\\components\\popover\\Popover.js";
11298
- const {
11299
- zIndices
11300
- } = foundations;
11301
- const PopoverContext = /*#__PURE__*/createContext();
11302
- const Popover = ({
11303
- children,
11304
- open: _open = false,
11305
- onOpenChange,
11306
- placement,
11307
- sideOffset: _sideOffset = 5
11308
- }) => {
11309
- const [openState, setOpenState] = useState(false);
11310
- useEffect(() => {
11311
- setOpenState(_open);
11312
- }, [_open]);
11313
- useEffect(() => {
11314
- if (onOpenChange) onOpenChange(openState);
11315
- }, [openState, onOpenChange]);
11316
- const floatingHook = useFloating({
11317
- open: openState,
11318
- onOpenChange: setOpenState,
11319
- middleware: [offset(_sideOffset), flip(), shift$2()],
11320
- placement
11321
- });
11322
- const {
11323
- getReferenceProps,
11324
- getFloatingProps
11325
- } = useInteractions([useClick(floatingHook.context), useDismiss(floatingHook.context)]);
11326
- const value = {
11327
- openState,
11328
- setOpenState,
11329
- floatingHook,
11330
- getReferenceProps,
11331
- getFloatingProps
11332
- };
11333
- return /*#__PURE__*/React__default.createElement(PopoverContext.Provider, {
11334
- value: value,
11335
- __self: undefined,
11336
- __source: {
11337
- fileName: _jsxFileName$u,
11338
- lineNumber: 44,
11339
- columnNumber: 10
11340
- }
11341
- }, children);
11342
- };
11343
- const PopoverTrigger = ({
11344
- children,
11345
- disabled
11346
- }) => {
11347
- const {
11348
- floatingHook: {
11349
- reference
11350
- },
11351
- getReferenceProps
11352
- } = useContext(PopoverContext);
11353
- return disabled ? children : /*#__PURE__*/cloneElement(children, getReferenceProps(Object.assign({
11354
- ref: reference
11355
- }, children.props)));
11356
- };
11357
- const PopoverContent = ({
11358
- children,
11359
- isMobile,
11360
- style
11361
- }) => {
11362
- const {
11363
- openState,
11364
- floatingHook: {
11365
- x,
11366
- y,
11367
- floating,
11368
- strategy,
11369
- context
11370
- },
11371
- getFloatingProps
11372
- } = useContext(PopoverContext);
11373
- return openState ? /*#__PURE__*/React__default.createElement(FloatingFocusManager, {
11374
- context: context,
11375
- modal: false,
11376
- order: ['reference', 'content'],
11377
- returnFocus: false,
11378
- __self: undefined,
11379
- __source: {
11380
- fileName: _jsxFileName$u,
11381
- lineNumber: 62,
11382
- columnNumber: 5
11383
- }
11384
- }, /*#__PURE__*/React__default.createElement("div", _extends({}, getFloatingProps({
11385
- ref: floating,
11386
- style: Object.assign({
11387
- position: strategy,
11388
- top: isMobile ? 0 : y != null ? y : '',
11389
- left: isMobile ? 0 : x != null ? x : '',
11390
- zIndex: zIndices.popover
11391
- }, style)
11392
- }), {
11393
- __self: undefined,
11394
- __source: {
11395
- fileName: _jsxFileName$u,
11396
- lineNumber: 63,
11397
- columnNumber: 7
11398
- }
11399
- }), children)) : /*#__PURE__*/React__default.createElement(React__default.Fragment, null);
11400
- };
11401
- const PopoverClose = _ref => {
11402
- let {
11403
- children
11404
- } = _ref,
11405
- props = _objectWithoutPropertiesLoose(_ref, _excluded$c);
11406
- const {
11407
- setOpenState
11408
- } = useContext(PopoverContext);
11409
- return /*#__PURE__*/React__default.createElement(Flex$1, _extends({}, props, {
11410
- onClick: () => {
11411
- if (props.onClick) props.onClick();
11412
- setOpenState(false);
11413
- },
11414
- __self: undefined,
11415
- __source: {
11416
- fileName: _jsxFileName$u,
11417
- lineNumber: 86,
11418
- columnNumber: 5
11419
- }
11420
- }), children);
11421
- };
11422
- Popover.propTypes = {
11423
- open: PropTypes.bool,
11424
- onOpenChange: PropTypes.func,
11425
- placement: PropTypes.oneOf(['top', 'top-start', 'top-end', 'right', 'right-start', 'right-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'left-start', 'left-end']),
11426
- sideOffset: PropTypes.number
11427
- };
11428
- Popover.displayName = 'Popover';
11429
-
11430
11524
  const _excluded$b = ["className", "defaultValue", "value", "name", "disabled", "orientation", "dir", "min", "max", "step", "onValueChange", "minStepsBetweenThumbs", "color", "size", "width", "height"];
11431
11525
  var _jsxFileName$t = "C:\\Users\\Acer\\Documents\\project\\majoo\\majoo-ui\\packages\\react\\src\\components\\slider\\Slider.js";
11432
11526
  const StyledSlider = styled$1(SliderPrimitive.Root, {