@teamturing/react-kit 2.27.0 → 2.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1326,6 +1326,22 @@ const SvgArrowUpLimit = props => /*#__PURE__*/React__namespace.createElement("sv
1326
1326
  clipRule: "evenodd"
1327
1327
  }));
1328
1328
 
1329
+ const SvgAuto = props => /*#__PURE__*/React__namespace.createElement("svg", _extends({
1330
+ xmlns: "http://www.w3.org/2000/svg",
1331
+ width: "1em",
1332
+ height: "1em",
1333
+ fill: "none",
1334
+ viewBox: "0 0 24 24"
1335
+ }, props), /*#__PURE__*/React__namespace.createElement("path", {
1336
+ fill: "currentColor",
1337
+ fillRule: "evenodd",
1338
+ d: "m23.723 10.94-2.037-2.78a1.2 1.2 0 0 0-1.936 0l-2.037 2.78c-.58.793-.014 1.909.968 1.909h.88a7.543 7.543 0 0 1-3.73 5.695c-2.301 1.334-5.25 1.334-7.553 0a1.1 1.1 0 0 0-1.102 1.904 9.755 9.755 0 0 0 4.88 1.314 9.756 9.756 0 0 0 4.878-1.313 9.803 9.803 0 0 0 3.57-3.57 9.74 9.74 0 0 0 1.258-4.03h.993a1.2 1.2 0 0 0 .968-1.91m-18.183.213h-.992a7.594 7.594 0 0 1 .962-2.93 7.61 7.61 0 0 1 2.768-2.766c2.302-1.332 5.25-1.332 7.554 0a1.1 1.1 0 0 0 1.102-1.905c-2.972-1.718-6.787-1.718-9.758 0a9.812 9.812 0 0 0-3.57 3.57 9.775 9.775 0 0 0-1.258 4.03H1.244a1.2 1.2 0 0 0-.968 1.91l2.148 2.932a1.2 1.2 0 0 0 1.936 0l2.148-2.932a1.2 1.2 0 0 0-.968-1.91",
1339
+ clipRule: "evenodd"
1340
+ }), /*#__PURE__*/React__namespace.createElement("path", {
1341
+ fill: "currentColor",
1342
+ d: "M10.354 14.963a.912.912 0 1 1-1.732-.568l1.909-5.617a1.2 1.2 0 0 1 1.136-.814h.663a1.2 1.2 0 0 1 1.137.815l1.902 5.623a.908.908 0 1 1-1.725.564l-.316-1H10.67l-.316.997Zm.748-2.369h1.793l-.864-2.742h-.064l-.865 2.742Z"
1343
+ }));
1344
+
1329
1345
  const SvgBarchart = props => /*#__PURE__*/React__namespace.createElement("svg", _extends({
1330
1346
  xmlns: "http://www.w3.org/2000/svg",
1331
1347
  width: "1em",
@@ -2272,6 +2288,29 @@ const SvgExclamationPointInCircle = props => /*#__PURE__*/React__namespace.creat
2272
2288
  clipRule: "evenodd"
2273
2289
  }));
2274
2290
 
2291
+ const SvgExternalLink = props => /*#__PURE__*/React__namespace.createElement("svg", _extends({
2292
+ xmlns: "http://www.w3.org/2000/svg",
2293
+ width: "1em",
2294
+ height: "1em",
2295
+ fill: "none",
2296
+ viewBox: "0 0 24 24"
2297
+ }, props), /*#__PURE__*/React__namespace.createElement("path", {
2298
+ fill: "currentColor",
2299
+ fillRule: "evenodd",
2300
+ d: "M5.953 4.326c-.899 0-1.627.728-1.627 1.627v12.094c0 .899.728 1.627 1.627 1.627h12.094c.899 0 1.627-.728 1.627-1.627V12A1.163 1.163 0 1 1 22 12v6.047A3.953 3.953 0 0 1 18.047 22H5.953A3.953 3.953 0 0 1 2 18.047V5.953A3.953 3.953 0 0 1 5.953 2H12a1.163 1.163 0 1 1 0 2.326H5.953Z",
2301
+ clipRule: "evenodd"
2302
+ }), /*#__PURE__*/React__namespace.createElement("path", {
2303
+ fill: "currentColor",
2304
+ fillRule: "evenodd",
2305
+ d: "M13.308 10.682a1.06 1.06 0 0 0 1.5 0l5.668-5.668a1.06 1.06 0 0 0-1.5-1.5l-5.668 5.668a1.06 1.06 0 0 0 0 1.5Z",
2306
+ clipRule: "evenodd"
2307
+ }), /*#__PURE__*/React__namespace.createElement("path", {
2308
+ fill: "currentColor",
2309
+ fillRule: "evenodd",
2310
+ d: "M15.24 3.163c0-.642.52-1.163 1.163-1.163h4.419c.642 0 1.162.52 1.162 1.163V7.58a1.163 1.163 0 0 1-2.325 0V4.326h-3.256c-.642 0-1.163-.521-1.163-1.163Z",
2311
+ clipRule: "evenodd"
2312
+ }));
2313
+
2275
2314
  const SvgEyeOff = props => /*#__PURE__*/React__namespace.createElement("svg", _extends({
2276
2315
  xmlns: "http://www.w3.org/2000/svg",
2277
2316
  width: "1em",
@@ -4613,6 +4652,7 @@ var icons = /*#__PURE__*/Object.freeze({
4613
4652
  ArrowUpDownIcon: SvgArrowUpDown,
4614
4653
  ArrowUpIcon: SvgArrowUp,
4615
4654
  ArrowUpLimitIcon: SvgArrowUpLimit,
4655
+ AutoIcon: SvgAuto,
4616
4656
  BarchartIcon: SvgBarchart,
4617
4657
  BookIcon: SvgBook,
4618
4658
  BookmarkAnimationIcon: SvgBookmarkAnimation,
@@ -4674,6 +4714,7 @@ var icons = /*#__PURE__*/Object.freeze({
4674
4714
  EqualIcon: SvgEqual,
4675
4715
  EraserIcon: SvgEraser,
4676
4716
  ExclamationPointInCircleIcon: SvgExclamationPointInCircle,
4717
+ ExternalLinkIcon: SvgExternalLink,
4677
4718
  EyeOffIcon: SvgEyeOff,
4678
4719
  EyeOnIcon: SvgEyeOn,
4679
4720
  FaceHappyIcon: SvgFaceHappy,
@@ -17216,6 +17257,7 @@ const BaseCheckbox = styled__default.default(UnstyledCheckbox)`
17216
17257
  border-color: ${({
17217
17258
  theme
17218
17259
  }) => theme.colors['border/disabled']};
17260
+ cursor: not-allowed;
17219
17261
  }
17220
17262
 
17221
17263
  &:checked {
@@ -19529,6 +19571,459 @@ const BaseRadio = styled__default.default(UnstyledRadio)`
19529
19571
  `;
19530
19572
  var Radio$1 = /*#__PURE__*/React.forwardRef(Radio);
19531
19573
 
19574
+ /**
19575
+ * lodash (Custom Build) <https://lodash.com/>
19576
+ * Build: `lodash modularize exports="npm" -o ./`
19577
+ * Copyright jQuery Foundation and other contributors <https://jquery.org/>
19578
+ * Released under MIT license <https://lodash.com/license>
19579
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
19580
+ * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
19581
+ */
19582
+
19583
+ /** Used as the `TypeError` message for "Functions" methods. */
19584
+ var FUNC_ERROR_TEXT$1 = 'Expected a function';
19585
+
19586
+ /** Used as references for various `Number` constants. */
19587
+ var NAN$1 = 0 / 0;
19588
+
19589
+ /** `Object#toString` result references. */
19590
+ var symbolTag$1 = '[object Symbol]';
19591
+
19592
+ /** Used to match leading and trailing whitespace. */
19593
+ var reTrim$1 = /^\s+|\s+$/g;
19594
+
19595
+ /** Used to detect bad signed hexadecimal string values. */
19596
+ var reIsBadHex$1 = /^[-+]0x[0-9a-f]+$/i;
19597
+
19598
+ /** Used to detect binary string values. */
19599
+ var reIsBinary$1 = /^0b[01]+$/i;
19600
+
19601
+ /** Used to detect octal string values. */
19602
+ var reIsOctal$1 = /^0o[0-7]+$/i;
19603
+
19604
+ /** Built-in method references without a dependency on `root`. */
19605
+ var freeParseInt$1 = parseInt;
19606
+
19607
+ /** Detect free variable `global` from Node.js. */
19608
+ var freeGlobal$2 = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;
19609
+
19610
+ /** Detect free variable `self`. */
19611
+ var freeSelf$2 = typeof self == 'object' && self && self.Object === Object && self;
19612
+
19613
+ /** Used as a reference to the global object. */
19614
+ var root$2 = freeGlobal$2 || freeSelf$2 || Function('return this')();
19615
+
19616
+ /** Used for built-in method references. */
19617
+ var objectProto$2 = Object.prototype;
19618
+
19619
+ /**
19620
+ * Used to resolve the
19621
+ * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
19622
+ * of values.
19623
+ */
19624
+ var objectToString$2 = objectProto$2.toString;
19625
+
19626
+ /* Built-in method references for those with the same name as other `lodash` methods. */
19627
+ var nativeMax$1 = Math.max,
19628
+ nativeMin$1 = Math.min;
19629
+
19630
+ /**
19631
+ * Gets the timestamp of the number of milliseconds that have elapsed since
19632
+ * the Unix epoch (1 January 1970 00:00:00 UTC).
19633
+ *
19634
+ * @static
19635
+ * @memberOf _
19636
+ * @since 2.4.0
19637
+ * @category Date
19638
+ * @returns {number} Returns the timestamp.
19639
+ * @example
19640
+ *
19641
+ * _.defer(function(stamp) {
19642
+ * console.log(_.now() - stamp);
19643
+ * }, _.now());
19644
+ * // => Logs the number of milliseconds it took for the deferred invocation.
19645
+ */
19646
+ var now$1 = function () {
19647
+ return root$2.Date.now();
19648
+ };
19649
+
19650
+ /**
19651
+ * Creates a debounced function that delays invoking `func` until after `wait`
19652
+ * milliseconds have elapsed since the last time the debounced function was
19653
+ * invoked. The debounced function comes with a `cancel` method to cancel
19654
+ * delayed `func` invocations and a `flush` method to immediately invoke them.
19655
+ * Provide `options` to indicate whether `func` should be invoked on the
19656
+ * leading and/or trailing edge of the `wait` timeout. The `func` is invoked
19657
+ * with the last arguments provided to the debounced function. Subsequent
19658
+ * calls to the debounced function return the result of the last `func`
19659
+ * invocation.
19660
+ *
19661
+ * **Note:** If `leading` and `trailing` options are `true`, `func` is
19662
+ * invoked on the trailing edge of the timeout only if the debounced function
19663
+ * is invoked more than once during the `wait` timeout.
19664
+ *
19665
+ * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred
19666
+ * until to the next tick, similar to `setTimeout` with a timeout of `0`.
19667
+ *
19668
+ * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
19669
+ * for details over the differences between `_.debounce` and `_.throttle`.
19670
+ *
19671
+ * @static
19672
+ * @memberOf _
19673
+ * @since 0.1.0
19674
+ * @category Function
19675
+ * @param {Function} func The function to debounce.
19676
+ * @param {number} [wait=0] The number of milliseconds to delay.
19677
+ * @param {Object} [options={}] The options object.
19678
+ * @param {boolean} [options.leading=false]
19679
+ * Specify invoking on the leading edge of the timeout.
19680
+ * @param {number} [options.maxWait]
19681
+ * The maximum time `func` is allowed to be delayed before it's invoked.
19682
+ * @param {boolean} [options.trailing=true]
19683
+ * Specify invoking on the trailing edge of the timeout.
19684
+ * @returns {Function} Returns the new debounced function.
19685
+ * @example
19686
+ *
19687
+ * // Avoid costly calculations while the window size is in flux.
19688
+ * jQuery(window).on('resize', _.debounce(calculateLayout, 150));
19689
+ *
19690
+ * // Invoke `sendMail` when clicked, debouncing subsequent calls.
19691
+ * jQuery(element).on('click', _.debounce(sendMail, 300, {
19692
+ * 'leading': true,
19693
+ * 'trailing': false
19694
+ * }));
19695
+ *
19696
+ * // Ensure `batchLog` is invoked once after 1 second of debounced calls.
19697
+ * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });
19698
+ * var source = new EventSource('/stream');
19699
+ * jQuery(source).on('message', debounced);
19700
+ *
19701
+ * // Cancel the trailing debounced invocation.
19702
+ * jQuery(window).on('popstate', debounced.cancel);
19703
+ */
19704
+ function debounce$1(func, wait, options) {
19705
+ var lastArgs,
19706
+ lastThis,
19707
+ maxWait,
19708
+ result,
19709
+ timerId,
19710
+ lastCallTime,
19711
+ lastInvokeTime = 0,
19712
+ leading = false,
19713
+ maxing = false,
19714
+ trailing = true;
19715
+ if (typeof func != 'function') {
19716
+ throw new TypeError(FUNC_ERROR_TEXT$1);
19717
+ }
19718
+ wait = toNumber$1(wait) || 0;
19719
+ if (isObject$2(options)) {
19720
+ leading = !!options.leading;
19721
+ maxing = 'maxWait' in options;
19722
+ maxWait = maxing ? nativeMax$1(toNumber$1(options.maxWait) || 0, wait) : maxWait;
19723
+ trailing = 'trailing' in options ? !!options.trailing : trailing;
19724
+ }
19725
+ function invokeFunc(time) {
19726
+ var args = lastArgs,
19727
+ thisArg = lastThis;
19728
+ lastArgs = lastThis = undefined;
19729
+ lastInvokeTime = time;
19730
+ result = func.apply(thisArg, args);
19731
+ return result;
19732
+ }
19733
+ function leadingEdge(time) {
19734
+ // Reset any `maxWait` timer.
19735
+ lastInvokeTime = time;
19736
+ // Start the timer for the trailing edge.
19737
+ timerId = setTimeout(timerExpired, wait);
19738
+ // Invoke the leading edge.
19739
+ return leading ? invokeFunc(time) : result;
19740
+ }
19741
+ function remainingWait(time) {
19742
+ var timeSinceLastCall = time - lastCallTime,
19743
+ timeSinceLastInvoke = time - lastInvokeTime,
19744
+ result = wait - timeSinceLastCall;
19745
+ return maxing ? nativeMin$1(result, maxWait - timeSinceLastInvoke) : result;
19746
+ }
19747
+ function shouldInvoke(time) {
19748
+ var timeSinceLastCall = time - lastCallTime,
19749
+ timeSinceLastInvoke = time - lastInvokeTime;
19750
+
19751
+ // Either this is the first call, activity has stopped and we're at the
19752
+ // trailing edge, the system time has gone backwards and we're treating
19753
+ // it as the trailing edge, or we've hit the `maxWait` limit.
19754
+ return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;
19755
+ }
19756
+ function timerExpired() {
19757
+ var time = now$1();
19758
+ if (shouldInvoke(time)) {
19759
+ return trailingEdge(time);
19760
+ }
19761
+ // Restart the timer.
19762
+ timerId = setTimeout(timerExpired, remainingWait(time));
19763
+ }
19764
+ function trailingEdge(time) {
19765
+ timerId = undefined;
19766
+
19767
+ // Only invoke if we have `lastArgs` which means `func` has been
19768
+ // debounced at least once.
19769
+ if (trailing && lastArgs) {
19770
+ return invokeFunc(time);
19771
+ }
19772
+ lastArgs = lastThis = undefined;
19773
+ return result;
19774
+ }
19775
+ function cancel() {
19776
+ if (timerId !== undefined) {
19777
+ clearTimeout(timerId);
19778
+ }
19779
+ lastInvokeTime = 0;
19780
+ lastArgs = lastCallTime = lastThis = timerId = undefined;
19781
+ }
19782
+ function flush() {
19783
+ return timerId === undefined ? result : trailingEdge(now$1());
19784
+ }
19785
+ function debounced() {
19786
+ var time = now$1(),
19787
+ isInvoking = shouldInvoke(time);
19788
+ lastArgs = arguments;
19789
+ lastThis = this;
19790
+ lastCallTime = time;
19791
+ if (isInvoking) {
19792
+ if (timerId === undefined) {
19793
+ return leadingEdge(lastCallTime);
19794
+ }
19795
+ if (maxing) {
19796
+ // Handle invocations in a tight loop.
19797
+ timerId = setTimeout(timerExpired, wait);
19798
+ return invokeFunc(lastCallTime);
19799
+ }
19800
+ }
19801
+ if (timerId === undefined) {
19802
+ timerId = setTimeout(timerExpired, wait);
19803
+ }
19804
+ return result;
19805
+ }
19806
+ debounced.cancel = cancel;
19807
+ debounced.flush = flush;
19808
+ return debounced;
19809
+ }
19810
+
19811
+ /**
19812
+ * Checks if `value` is the
19813
+ * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
19814
+ * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
19815
+ *
19816
+ * @static
19817
+ * @memberOf _
19818
+ * @since 0.1.0
19819
+ * @category Lang
19820
+ * @param {*} value The value to check.
19821
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
19822
+ * @example
19823
+ *
19824
+ * _.isObject({});
19825
+ * // => true
19826
+ *
19827
+ * _.isObject([1, 2, 3]);
19828
+ * // => true
19829
+ *
19830
+ * _.isObject(_.noop);
19831
+ * // => true
19832
+ *
19833
+ * _.isObject(null);
19834
+ * // => false
19835
+ */
19836
+ function isObject$2(value) {
19837
+ var type = typeof value;
19838
+ return !!value && (type == 'object' || type == 'function');
19839
+ }
19840
+
19841
+ /**
19842
+ * Checks if `value` is object-like. A value is object-like if it's not `null`
19843
+ * and has a `typeof` result of "object".
19844
+ *
19845
+ * @static
19846
+ * @memberOf _
19847
+ * @since 4.0.0
19848
+ * @category Lang
19849
+ * @param {*} value The value to check.
19850
+ * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
19851
+ * @example
19852
+ *
19853
+ * _.isObjectLike({});
19854
+ * // => true
19855
+ *
19856
+ * _.isObjectLike([1, 2, 3]);
19857
+ * // => true
19858
+ *
19859
+ * _.isObjectLike(_.noop);
19860
+ * // => false
19861
+ *
19862
+ * _.isObjectLike(null);
19863
+ * // => false
19864
+ */
19865
+ function isObjectLike$2(value) {
19866
+ return !!value && typeof value == 'object';
19867
+ }
19868
+
19869
+ /**
19870
+ * Checks if `value` is classified as a `Symbol` primitive or object.
19871
+ *
19872
+ * @static
19873
+ * @memberOf _
19874
+ * @since 4.0.0
19875
+ * @category Lang
19876
+ * @param {*} value The value to check.
19877
+ * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
19878
+ * @example
19879
+ *
19880
+ * _.isSymbol(Symbol.iterator);
19881
+ * // => true
19882
+ *
19883
+ * _.isSymbol('abc');
19884
+ * // => false
19885
+ */
19886
+ function isSymbol$1(value) {
19887
+ return typeof value == 'symbol' || isObjectLike$2(value) && objectToString$2.call(value) == symbolTag$1;
19888
+ }
19889
+
19890
+ /**
19891
+ * Converts `value` to a number.
19892
+ *
19893
+ * @static
19894
+ * @memberOf _
19895
+ * @since 4.0.0
19896
+ * @category Lang
19897
+ * @param {*} value The value to process.
19898
+ * @returns {number} Returns the number.
19899
+ * @example
19900
+ *
19901
+ * _.toNumber(3.2);
19902
+ * // => 3.2
19903
+ *
19904
+ * _.toNumber(Number.MIN_VALUE);
19905
+ * // => 5e-324
19906
+ *
19907
+ * _.toNumber(Infinity);
19908
+ * // => Infinity
19909
+ *
19910
+ * _.toNumber('3.2');
19911
+ * // => 3.2
19912
+ */
19913
+ function toNumber$1(value) {
19914
+ if (typeof value == 'number') {
19915
+ return value;
19916
+ }
19917
+ if (isSymbol$1(value)) {
19918
+ return NAN$1;
19919
+ }
19920
+ if (isObject$2(value)) {
19921
+ var other = typeof value.valueOf == 'function' ? value.valueOf() : value;
19922
+ value = isObject$2(other) ? other + '' : other;
19923
+ }
19924
+ if (typeof value != 'string') {
19925
+ return value === 0 ? value : +value;
19926
+ }
19927
+ value = value.replace(reTrim$1, '');
19928
+ var isBinary = reIsBinary$1.test(value);
19929
+ return isBinary || reIsOctal$1.test(value) ? freeParseInt$1(value.slice(2), isBinary ? 2 : 8) : reIsBadHex$1.test(value) ? NAN$1 : +value;
19930
+ }
19931
+ var lodash_debounce = debounce$1;
19932
+ var debounce$2 = /*@__PURE__*/getDefaultExportFromCjs(lodash_debounce);
19933
+
19934
+ const useResize = resizeCallback => {
19935
+ const handleResize = React.useCallback(() => resizeCallback?.(), []);
19936
+ React.useEffect(() => {
19937
+ handleResize();
19938
+ }, []);
19939
+ React.useEffect(() => {
19940
+ if (window) {
19941
+ const debouncedHandleResize = debounce$2(handleResize, 150);
19942
+ window.addEventListener('resize', debouncedHandleResize);
19943
+ return () => window.removeEventListener('resize', debouncedHandleResize);
19944
+ }
19945
+ }, []);
19946
+ };
19947
+
19948
+ var MobileOS = /*#__PURE__*/function (MobileOS) {
19949
+ MobileOS["Android"] = "android";
19950
+ MobileOS["iOS"] = "ios";
19951
+ MobileOS["Unknown"] = "unknown";
19952
+ MobileOS["WindowsPhone"] = "Windows Phone";
19953
+ return MobileOS;
19954
+ }(MobileOS || {});
19955
+ var DesktopOS = /*#__PURE__*/function (DesktopOS) {
19956
+ DesktopOS["Linux"] = "linux";
19957
+ DesktopOS["MacOS"] = "mac_os";
19958
+ DesktopOS["Unix"] = "unix";
19959
+ DesktopOS["Unknown"] = "unknown";
19960
+ DesktopOS["Windows"] = "windows";
19961
+ return DesktopOS;
19962
+ }(DesktopOS || {});
19963
+ const useDevice = () => {
19964
+ const [deviceState, setDeviceState] = React.useState();
19965
+ const handleResize = () => {
19966
+ const userAgent = navigator.userAgent || navigator.vendor || window.opera || undefined;
19967
+ const isMobileDevice = () => {
19968
+ const regexs = [/(Android)(.+)(Mobile)/i, /BlackBerry/i, /iPhone|iPod/i, /Opera Mini/i, /IEMobile/i];
19969
+ return regexs.some(b => userAgent.match(b));
19970
+ };
19971
+ const isTabletDevice = () => {
19972
+ const regex = /(ipad|tablet|(android(?!.*mobile))|(windows(?!.*phone)(.*touch))|kindle|playbook|silk|(puffin(?!.*(IP|AP|WP))))/;
19973
+ return regex.test(userAgent.toLowerCase());
19974
+ };
19975
+ const isDesktopDevice = () => !isMobileDevice() && !isTabletDevice();
19976
+ const isDesktop = isDesktopDevice();
19977
+ const isMobile = isMobileDevice();
19978
+ const isTablet = isTabletDevice();
19979
+ const getMobileOS = () => {
19980
+ if (isMobileDevice()) {
19981
+ if (/windows phone/i.test(userAgent)) return MobileOS.WindowsPhone;else if (/android/i.test(userAgent)) return MobileOS.Android;else if (/iPad|iPhone|iPod/.test(userAgent) && !window.MSStream) return MobileOS.iOS;
19982
+ return MobileOS.Unknown;
19983
+ } else return undefined;
19984
+ };
19985
+ const getDesktopOS = () => {
19986
+ if (isDesktopDevice()) {
19987
+ if (userAgent.indexOf('Win') !== -1) return DesktopOS.Windows;else if (userAgent.indexOf('Mac') !== -1) return DesktopOS.MacOS;else if (userAgent.indexOf('X11') !== -1) return DesktopOS.Unix;else if (userAgent.indexOf('Linux') !== -1) return DesktopOS.Linux;
19988
+ return DesktopOS.Unknown;
19989
+ } else return undefined;
19990
+ };
19991
+ const getDeviceOS = () => getMobileOS() ?? getDesktopOS();
19992
+ const mobileOS = getMobileOS();
19993
+ const isAndroidDevice = getDeviceOS() === MobileOS.Android;
19994
+ const isAppleDevice = getDeviceOS() === MobileOS.iOS || getDeviceOS() === DesktopOS.MacOS;
19995
+ const isUnknownMobileDevice = getDeviceOS() === MobileOS.Unknown;
19996
+ const desktopOS = getDesktopOS();
19997
+ const isWindowsDesktop = getDeviceOS() === DesktopOS.Windows;
19998
+ const isLinuxOrUnixDesktop = getDeviceOS() === DesktopOS.Linux || getDeviceOS() === DesktopOS.Unix;
19999
+ const supportedScreenOrientation = (screen?.orientation || {}).type ?? screen.mozOrientation ?? screen.msOrientation;
20000
+ const safariScreenOrientation = !screen?.orientation && matchMedia('(orientation: portrait)').matches ? 'portrait-primary' : 'landscape-primary';
20001
+ const initialScreenOrientation = supportedScreenOrientation ?? safariScreenOrientation ?? 'portrait-primary';
20002
+ let screenOrientation = initialScreenOrientation;
20003
+ if (screen.orientation) {
20004
+ screen.orientation.addEventListener('change', ev => screenOrientation = (ev.target ?? {}).type);
20005
+ }
20006
+ const isLandscapeOrientation = () => ['landscape-primary', 'landscape-secondary'].includes(screenOrientation);
20007
+ const isPortraitOrientation = () => ['portrait-primary', 'portrait-secondary'].includes(screenOrientation);
20008
+ setDeviceState({
20009
+ isDesktop,
20010
+ desktopOS,
20011
+ isWindowsDesktop,
20012
+ isLinuxOrUnixDesktop,
20013
+ isMobile,
20014
+ mobileOS,
20015
+ isAndroidDevice,
20016
+ isAppleDevice,
20017
+ isUnknownMobileDevice,
20018
+ isTablet,
20019
+ isLandscapeOrientation,
20020
+ isPortraitOrientation
20021
+ });
20022
+ };
20023
+ useResize(handleResize);
20024
+ return deviceState || {};
20025
+ };
20026
+
19532
20027
  const Overlay = ({
19533
20028
  children,
19534
20029
  isOpen,
@@ -34530,6 +35025,9 @@ const SearchSelectInput = ({
34530
35025
  ...props
34531
35026
  }, ref) => {
34532
35027
  const theme = styled.useTheme();
35028
+ const {
35029
+ isDesktop
35030
+ } = useDevice();
34533
35031
  const isVisibleValueExist = value && isArray$1(value) && !isNullable(renderValue(value)) ? value.length > 0 : value && !isNullable(renderValue(value));
34534
35032
  const hasLeadingVisual = !isNullable(LeadingVisual);
34535
35033
  const valueInputRef = useProvidedOrCreatedRef(ref);
@@ -34557,12 +35055,18 @@ const SearchSelectInput = ({
34557
35055
  onChange?.(item);
34558
35056
  }
34559
35057
  };
35058
+
35059
+ /**
35060
+ * ? dummyRef가 왜 있나?
35061
+ * 모바일 환경에서 Input에 포커스가 가지 않도록 하기 위한 장치입니다.
35062
+ */
35063
+ const dummyRef = React.useRef(null);
34560
35064
  const listContainerRef = React.useRef(null);
34561
35065
  const searchInputRef = React.useRef(null);
34562
35066
  const activeDescendantRef = React.useRef();
34563
35067
  return /*#__PURE__*/jsxRuntimeExports.jsx(OverlayPopper, {
34564
35068
  focusTrapSettings: {
34565
- initialFocusRef: searchInputRef,
35069
+ initialFocusRef: isDesktop ? searchInputRef : dummyRef,
34566
35070
  restoreFocusOnCleanUp: true,
34567
35071
  ...focusTrapSettings
34568
35072
  },
@@ -34615,7 +35119,11 @@ const SearchSelectInput = ({
34615
35119
  overlayHandler.closeOverlay();
34616
35120
  }
34617
35121
  },
34618
- children: [/*#__PURE__*/jsxRuntimeExports.jsx(Space, {
35122
+ children: [!isDesktop ? /*#__PURE__*/jsxRuntimeExports.jsx(View, {
35123
+ "aria-hidden": true,
35124
+ ref: dummyRef,
35125
+ tabIndex: 0
35126
+ }) : null, /*#__PURE__*/jsxRuntimeExports.jsx(Space, {
34619
35127
  p: 2,
34620
35128
  sx: {
34621
35129
  flexGrow: 0,
@@ -35166,13 +35674,13 @@ var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');
35166
35674
  var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboMarksRange + rsComboSymbolsRange + rsVarRange + ']');
35167
35675
 
35168
35676
  /** Detect free variable `global` from Node.js. */
35169
- var freeGlobal$2 = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;
35677
+ var freeGlobal$1 = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;
35170
35678
 
35171
35679
  /** Detect free variable `self`. */
35172
- var freeSelf$2 = typeof self == 'object' && self && self.Object === Object && self;
35680
+ var freeSelf$1 = typeof self == 'object' && self && self.Object === Object && self;
35173
35681
 
35174
35682
  /** Used as a reference to the global object. */
35175
- var root$2 = freeGlobal$2 || freeSelf$2 || Function('return this')();
35683
+ var root$1 = freeGlobal$1 || freeSelf$1 || Function('return this')();
35176
35684
 
35177
35685
  /**
35178
35686
  * A specialized version of `_.map` for arrays without support for iteratee
@@ -35366,10 +35874,10 @@ function unicodeToArray(string) {
35366
35874
 
35367
35875
  /** Used for built-in method references. */
35368
35876
  var funcProto = Function.prototype,
35369
- objectProto$2 = Object.prototype;
35877
+ objectProto$1 = Object.prototype;
35370
35878
 
35371
35879
  /** Used to detect overreaching core-js shims. */
35372
- var coreJsData = root$2['__core-js_shared__'];
35880
+ var coreJsData = root$1['__core-js_shared__'];
35373
35881
 
35374
35882
  /** Used to detect methods masquerading as native. */
35375
35883
  var maskSrcKey = function () {
@@ -35381,32 +35889,32 @@ var maskSrcKey = function () {
35381
35889
  var funcToString = funcProto.toString;
35382
35890
 
35383
35891
  /** Used to check objects for own properties. */
35384
- var hasOwnProperty = objectProto$2.hasOwnProperty;
35892
+ var hasOwnProperty = objectProto$1.hasOwnProperty;
35385
35893
 
35386
35894
  /**
35387
35895
  * Used to resolve the
35388
35896
  * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
35389
35897
  * of values.
35390
35898
  */
35391
- var objectToString$2 = objectProto$2.toString;
35899
+ var objectToString$1 = objectProto$1.toString;
35392
35900
 
35393
35901
  /** Used to detect if a method is native. */
35394
35902
  var reIsNative = RegExp('^' + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&').replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$');
35395
35903
 
35396
35904
  /** Built-in value references. */
35397
- var Symbol$1 = root$2.Symbol,
35905
+ var Symbol$1 = root$1.Symbol,
35398
35906
  iteratorSymbol = Symbol$1 ? Symbol$1.iterator : undefined,
35399
- propertyIsEnumerable = objectProto$2.propertyIsEnumerable;
35907
+ propertyIsEnumerable = objectProto$1.propertyIsEnumerable;
35400
35908
 
35401
35909
  /* Built-in method references for those with the same name as other `lodash` methods. */
35402
35910
  var nativeKeys = overArg(Object.keys, Object);
35403
35911
 
35404
35912
  /* Built-in method references that are verified to be native. */
35405
- var DataView = getNative(root$2, 'DataView'),
35406
- Map$1 = getNative(root$2, 'Map'),
35407
- Promise$1 = getNative(root$2, 'Promise'),
35408
- Set$1 = getNative(root$2, 'Set'),
35409
- WeakMap$1 = getNative(root$2, 'WeakMap');
35913
+ var DataView = getNative(root$1, 'DataView'),
35914
+ Map$1 = getNative(root$1, 'Map'),
35915
+ Promise$1 = getNative(root$1, 'Promise'),
35916
+ Set$1 = getNative(root$1, 'Set'),
35917
+ WeakMap$1 = getNative(root$1, 'WeakMap');
35410
35918
 
35411
35919
  /** Used to detect maps, sets, and weakmaps. */
35412
35920
  var dataViewCtorString = toSource(DataView),
@@ -35445,7 +35953,7 @@ function arrayLikeKeys(value, inherited) {
35445
35953
  * @returns {string} Returns the `toStringTag`.
35446
35954
  */
35447
35955
  function baseGetTag(value) {
35448
- return objectToString$2.call(value);
35956
+ return objectToString$1.call(value);
35449
35957
  }
35450
35958
 
35451
35959
  /**
@@ -35457,7 +35965,7 @@ function baseGetTag(value) {
35457
35965
  * else `false`.
35458
35966
  */
35459
35967
  function baseIsNative(value) {
35460
- if (!isObject$2(value) || isMasked(value)) {
35968
+ if (!isObject$1(value) || isMasked(value)) {
35461
35969
  return false;
35462
35970
  }
35463
35971
  var pattern = isFunction(value) || isHostObject(value) ? reIsNative : reIsHostCtor;
@@ -35528,7 +36036,7 @@ var getTag = baseGetTag;
35528
36036
  // for data views in Edge < 14, and promises in Node.js.
35529
36037
  if (DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag || Map$1 && getTag(new Map$1()) != mapTag || Promise$1 && getTag(Promise$1.resolve()) != promiseTag || Set$1 && getTag(new Set$1()) != setTag || WeakMap$1 && getTag(new WeakMap$1()) != weakMapTag) {
35530
36038
  getTag = function (value) {
35531
- var result = objectToString$2.call(value),
36039
+ var result = objectToString$1.call(value),
35532
36040
  Ctor = result == objectTag ? value.constructor : undefined,
35533
36041
  ctorString = Ctor ? toSource(Ctor) : undefined;
35534
36042
  if (ctorString) {
@@ -35582,7 +36090,7 @@ function isMasked(func) {
35582
36090
  */
35583
36091
  function isPrototype(value) {
35584
36092
  var Ctor = value && value.constructor,
35585
- proto = typeof Ctor == 'function' && Ctor.prototype || objectProto$2;
36093
+ proto = typeof Ctor == 'function' && Ctor.prototype || objectProto$1;
35586
36094
  return value === proto;
35587
36095
  }
35588
36096
 
@@ -35625,7 +36133,7 @@ function toSource(func) {
35625
36133
  */
35626
36134
  function isArguments(value) {
35627
36135
  // Safari 8.1 makes `arguments.callee` enumerable in strict mode.
35628
- return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') && (!propertyIsEnumerable.call(value, 'callee') || objectToString$2.call(value) == argsTag);
36136
+ return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') && (!propertyIsEnumerable.call(value, 'callee') || objectToString$1.call(value) == argsTag);
35629
36137
  }
35630
36138
 
35631
36139
  /**
@@ -35708,7 +36216,7 @@ function isArrayLike(value) {
35708
36216
  * // => false
35709
36217
  */
35710
36218
  function isArrayLikeObject(value) {
35711
- return isObjectLike$2(value) && isArrayLike(value);
36219
+ return isObjectLike$1(value) && isArrayLike(value);
35712
36220
  }
35713
36221
 
35714
36222
  /**
@@ -35731,7 +36239,7 @@ function isArrayLikeObject(value) {
35731
36239
  function isFunction(value) {
35732
36240
  // The use of `Object#toString` avoids issues with the `typeof` operator
35733
36241
  // in Safari 8-9 which returns 'object' for typed array and other constructors.
35734
- var tag = isObject$2(value) ? objectToString$2.call(value) : '';
36242
+ var tag = isObject$1(value) ? objectToString$1.call(value) : '';
35735
36243
  return tag == funcTag || tag == genTag;
35736
36244
  }
35737
36245
 
@@ -35790,7 +36298,7 @@ function isLength(value) {
35790
36298
  * _.isObject(null);
35791
36299
  * // => false
35792
36300
  */
35793
- function isObject$2(value) {
36301
+ function isObject$1(value) {
35794
36302
  var type = typeof value;
35795
36303
  return !!value && (type == 'object' || type == 'function');
35796
36304
  }
@@ -35819,7 +36327,7 @@ function isObject$2(value) {
35819
36327
  * _.isObjectLike(null);
35820
36328
  * // => false
35821
36329
  */
35822
- function isObjectLike$2(value) {
36330
+ function isObjectLike$1(value) {
35823
36331
  return !!value && typeof value == 'object';
35824
36332
  }
35825
36333
 
@@ -35841,7 +36349,7 @@ function isObjectLike$2(value) {
35841
36349
  * // => false
35842
36350
  */
35843
36351
  function isString(value) {
35844
- return typeof value == 'string' || !isArray(value) && isObjectLike$2(value) && objectToString$2.call(value) == stringTag;
36352
+ return typeof value == 'string' || !isArray(value) && isObjectLike$1(value) && objectToString$1.call(value) == stringTag;
35845
36353
  }
35846
36354
 
35847
36355
  /**
@@ -37008,51 +37516,51 @@ var Stack$1 = Object.assign(Stack, {
37008
37516
  */
37009
37517
 
37010
37518
  /** Used as the `TypeError` message for "Functions" methods. */
37011
- var FUNC_ERROR_TEXT$1 = 'Expected a function';
37519
+ var FUNC_ERROR_TEXT = 'Expected a function';
37012
37520
 
37013
37521
  /** Used as references for various `Number` constants. */
37014
- var NAN$1 = 0 / 0;
37522
+ var NAN = 0 / 0;
37015
37523
 
37016
37524
  /** `Object#toString` result references. */
37017
- var symbolTag$1 = '[object Symbol]';
37525
+ var symbolTag = '[object Symbol]';
37018
37526
 
37019
37527
  /** Used to match leading and trailing whitespace. */
37020
- var reTrim$1 = /^\s+|\s+$/g;
37528
+ var reTrim = /^\s+|\s+$/g;
37021
37529
 
37022
37530
  /** Used to detect bad signed hexadecimal string values. */
37023
- var reIsBadHex$1 = /^[-+]0x[0-9a-f]+$/i;
37531
+ var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
37024
37532
 
37025
37533
  /** Used to detect binary string values. */
37026
- var reIsBinary$1 = /^0b[01]+$/i;
37534
+ var reIsBinary = /^0b[01]+$/i;
37027
37535
 
37028
37536
  /** Used to detect octal string values. */
37029
- var reIsOctal$1 = /^0o[0-7]+$/i;
37537
+ var reIsOctal = /^0o[0-7]+$/i;
37030
37538
 
37031
37539
  /** Built-in method references without a dependency on `root`. */
37032
- var freeParseInt$1 = parseInt;
37540
+ var freeParseInt = parseInt;
37033
37541
 
37034
37542
  /** Detect free variable `global` from Node.js. */
37035
- var freeGlobal$1 = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;
37543
+ var freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;
37036
37544
 
37037
37545
  /** Detect free variable `self`. */
37038
- var freeSelf$1 = typeof self == 'object' && self && self.Object === Object && self;
37546
+ var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
37039
37547
 
37040
37548
  /** Used as a reference to the global object. */
37041
- var root$1 = freeGlobal$1 || freeSelf$1 || Function('return this')();
37549
+ var root = freeGlobal || freeSelf || Function('return this')();
37042
37550
 
37043
37551
  /** Used for built-in method references. */
37044
- var objectProto$1 = Object.prototype;
37552
+ var objectProto = Object.prototype;
37045
37553
 
37046
37554
  /**
37047
37555
  * Used to resolve the
37048
37556
  * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
37049
37557
  * of values.
37050
37558
  */
37051
- var objectToString$1 = objectProto$1.toString;
37559
+ var objectToString = objectProto.toString;
37052
37560
 
37053
37561
  /* Built-in method references for those with the same name as other `lodash` methods. */
37054
- var nativeMax$1 = Math.max,
37055
- nativeMin$1 = Math.min;
37562
+ var nativeMax = Math.max,
37563
+ nativeMin = Math.min;
37056
37564
 
37057
37565
  /**
37058
37566
  * Gets the timestamp of the number of milliseconds that have elapsed since
@@ -37070,8 +37578,8 @@ var nativeMax$1 = Math.max,
37070
37578
  * }, _.now());
37071
37579
  * // => Logs the number of milliseconds it took for the deferred invocation.
37072
37580
  */
37073
- var now$1 = function () {
37074
- return root$1.Date.now();
37581
+ var now = function () {
37582
+ return root.Date.now();
37075
37583
  };
37076
37584
 
37077
37585
  /**
@@ -37128,7 +37636,7 @@ var now$1 = function () {
37128
37636
  * // Cancel the trailing debounced invocation.
37129
37637
  * jQuery(window).on('popstate', debounced.cancel);
37130
37638
  */
37131
- function debounce$2(func, wait, options) {
37639
+ function debounce(func, wait, options) {
37132
37640
  var lastArgs,
37133
37641
  lastThis,
37134
37642
  maxWait,
@@ -37140,13 +37648,13 @@ function debounce$2(func, wait, options) {
37140
37648
  maxing = false,
37141
37649
  trailing = true;
37142
37650
  if (typeof func != 'function') {
37143
- throw new TypeError(FUNC_ERROR_TEXT$1);
37651
+ throw new TypeError(FUNC_ERROR_TEXT);
37144
37652
  }
37145
- wait = toNumber$1(wait) || 0;
37146
- if (isObject$1(options)) {
37653
+ wait = toNumber(wait) || 0;
37654
+ if (isObject(options)) {
37147
37655
  leading = !!options.leading;
37148
37656
  maxing = 'maxWait' in options;
37149
- maxWait = maxing ? nativeMax$1(toNumber$1(options.maxWait) || 0, wait) : maxWait;
37657
+ maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
37150
37658
  trailing = 'trailing' in options ? !!options.trailing : trailing;
37151
37659
  }
37152
37660
  function invokeFunc(time) {
@@ -37169,7 +37677,7 @@ function debounce$2(func, wait, options) {
37169
37677
  var timeSinceLastCall = time - lastCallTime,
37170
37678
  timeSinceLastInvoke = time - lastInvokeTime,
37171
37679
  result = wait - timeSinceLastCall;
37172
- return maxing ? nativeMin$1(result, maxWait - timeSinceLastInvoke) : result;
37680
+ return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;
37173
37681
  }
37174
37682
  function shouldInvoke(time) {
37175
37683
  var timeSinceLastCall = time - lastCallTime,
@@ -37181,7 +37689,7 @@ function debounce$2(func, wait, options) {
37181
37689
  return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;
37182
37690
  }
37183
37691
  function timerExpired() {
37184
- var time = now$1();
37692
+ var time = now();
37185
37693
  if (shouldInvoke(time)) {
37186
37694
  return trailingEdge(time);
37187
37695
  }
@@ -37207,10 +37715,10 @@ function debounce$2(func, wait, options) {
37207
37715
  lastArgs = lastCallTime = lastThis = timerId = undefined;
37208
37716
  }
37209
37717
  function flush() {
37210
- return timerId === undefined ? result : trailingEdge(now$1());
37718
+ return timerId === undefined ? result : trailingEdge(now());
37211
37719
  }
37212
37720
  function debounced() {
37213
- var time = now$1(),
37721
+ var time = now(),
37214
37722
  isInvoking = shouldInvoke(time);
37215
37723
  lastArgs = arguments;
37216
37724
  lastThis = this;
@@ -37283,379 +37791,19 @@ function throttle(func, wait, options) {
37283
37791
  var leading = true,
37284
37792
  trailing = true;
37285
37793
  if (typeof func != 'function') {
37286
- throw new TypeError(FUNC_ERROR_TEXT$1);
37794
+ throw new TypeError(FUNC_ERROR_TEXT);
37287
37795
  }
37288
- if (isObject$1(options)) {
37796
+ if (isObject(options)) {
37289
37797
  leading = 'leading' in options ? !!options.leading : leading;
37290
37798
  trailing = 'trailing' in options ? !!options.trailing : trailing;
37291
37799
  }
37292
- return debounce$2(func, wait, {
37800
+ return debounce(func, wait, {
37293
37801
  'leading': leading,
37294
37802
  'maxWait': wait,
37295
37803
  'trailing': trailing
37296
37804
  });
37297
37805
  }
37298
37806
 
37299
- /**
37300
- * Checks if `value` is the
37301
- * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
37302
- * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
37303
- *
37304
- * @static
37305
- * @memberOf _
37306
- * @since 0.1.0
37307
- * @category Lang
37308
- * @param {*} value The value to check.
37309
- * @returns {boolean} Returns `true` if `value` is an object, else `false`.
37310
- * @example
37311
- *
37312
- * _.isObject({});
37313
- * // => true
37314
- *
37315
- * _.isObject([1, 2, 3]);
37316
- * // => true
37317
- *
37318
- * _.isObject(_.noop);
37319
- * // => true
37320
- *
37321
- * _.isObject(null);
37322
- * // => false
37323
- */
37324
- function isObject$1(value) {
37325
- var type = typeof value;
37326
- return !!value && (type == 'object' || type == 'function');
37327
- }
37328
-
37329
- /**
37330
- * Checks if `value` is object-like. A value is object-like if it's not `null`
37331
- * and has a `typeof` result of "object".
37332
- *
37333
- * @static
37334
- * @memberOf _
37335
- * @since 4.0.0
37336
- * @category Lang
37337
- * @param {*} value The value to check.
37338
- * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
37339
- * @example
37340
- *
37341
- * _.isObjectLike({});
37342
- * // => true
37343
- *
37344
- * _.isObjectLike([1, 2, 3]);
37345
- * // => true
37346
- *
37347
- * _.isObjectLike(_.noop);
37348
- * // => false
37349
- *
37350
- * _.isObjectLike(null);
37351
- * // => false
37352
- */
37353
- function isObjectLike$1(value) {
37354
- return !!value && typeof value == 'object';
37355
- }
37356
-
37357
- /**
37358
- * Checks if `value` is classified as a `Symbol` primitive or object.
37359
- *
37360
- * @static
37361
- * @memberOf _
37362
- * @since 4.0.0
37363
- * @category Lang
37364
- * @param {*} value The value to check.
37365
- * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
37366
- * @example
37367
- *
37368
- * _.isSymbol(Symbol.iterator);
37369
- * // => true
37370
- *
37371
- * _.isSymbol('abc');
37372
- * // => false
37373
- */
37374
- function isSymbol$1(value) {
37375
- return typeof value == 'symbol' || isObjectLike$1(value) && objectToString$1.call(value) == symbolTag$1;
37376
- }
37377
-
37378
- /**
37379
- * Converts `value` to a number.
37380
- *
37381
- * @static
37382
- * @memberOf _
37383
- * @since 4.0.0
37384
- * @category Lang
37385
- * @param {*} value The value to process.
37386
- * @returns {number} Returns the number.
37387
- * @example
37388
- *
37389
- * _.toNumber(3.2);
37390
- * // => 3.2
37391
- *
37392
- * _.toNumber(Number.MIN_VALUE);
37393
- * // => 5e-324
37394
- *
37395
- * _.toNumber(Infinity);
37396
- * // => Infinity
37397
- *
37398
- * _.toNumber('3.2');
37399
- * // => 3.2
37400
- */
37401
- function toNumber$1(value) {
37402
- if (typeof value == 'number') {
37403
- return value;
37404
- }
37405
- if (isSymbol$1(value)) {
37406
- return NAN$1;
37407
- }
37408
- if (isObject$1(value)) {
37409
- var other = typeof value.valueOf == 'function' ? value.valueOf() : value;
37410
- value = isObject$1(other) ? other + '' : other;
37411
- }
37412
- if (typeof value != 'string') {
37413
- return value === 0 ? value : +value;
37414
- }
37415
- value = value.replace(reTrim$1, '');
37416
- var isBinary = reIsBinary$1.test(value);
37417
- return isBinary || reIsOctal$1.test(value) ? freeParseInt$1(value.slice(2), isBinary ? 2 : 8) : reIsBadHex$1.test(value) ? NAN$1 : +value;
37418
- }
37419
- var lodash_throttle = throttle;
37420
- var throttle$1 = /*@__PURE__*/getDefaultExportFromCjs(lodash_throttle);
37421
-
37422
- /**
37423
- * lodash (Custom Build) <https://lodash.com/>
37424
- * Build: `lodash modularize exports="npm" -o ./`
37425
- * Copyright jQuery Foundation and other contributors <https://jquery.org/>
37426
- * Released under MIT license <https://lodash.com/license>
37427
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
37428
- * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
37429
- */
37430
-
37431
- /** Used as the `TypeError` message for "Functions" methods. */
37432
- var FUNC_ERROR_TEXT = 'Expected a function';
37433
-
37434
- /** Used as references for various `Number` constants. */
37435
- var NAN = 0 / 0;
37436
-
37437
- /** `Object#toString` result references. */
37438
- var symbolTag = '[object Symbol]';
37439
-
37440
- /** Used to match leading and trailing whitespace. */
37441
- var reTrim = /^\s+|\s+$/g;
37442
-
37443
- /** Used to detect bad signed hexadecimal string values. */
37444
- var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
37445
-
37446
- /** Used to detect binary string values. */
37447
- var reIsBinary = /^0b[01]+$/i;
37448
-
37449
- /** Used to detect octal string values. */
37450
- var reIsOctal = /^0o[0-7]+$/i;
37451
-
37452
- /** Built-in method references without a dependency on `root`. */
37453
- var freeParseInt = parseInt;
37454
-
37455
- /** Detect free variable `global` from Node.js. */
37456
- var freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;
37457
-
37458
- /** Detect free variable `self`. */
37459
- var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
37460
-
37461
- /** Used as a reference to the global object. */
37462
- var root = freeGlobal || freeSelf || Function('return this')();
37463
-
37464
- /** Used for built-in method references. */
37465
- var objectProto = Object.prototype;
37466
-
37467
- /**
37468
- * Used to resolve the
37469
- * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
37470
- * of values.
37471
- */
37472
- var objectToString = objectProto.toString;
37473
-
37474
- /* Built-in method references for those with the same name as other `lodash` methods. */
37475
- var nativeMax = Math.max,
37476
- nativeMin = Math.min;
37477
-
37478
- /**
37479
- * Gets the timestamp of the number of milliseconds that have elapsed since
37480
- * the Unix epoch (1 January 1970 00:00:00 UTC).
37481
- *
37482
- * @static
37483
- * @memberOf _
37484
- * @since 2.4.0
37485
- * @category Date
37486
- * @returns {number} Returns the timestamp.
37487
- * @example
37488
- *
37489
- * _.defer(function(stamp) {
37490
- * console.log(_.now() - stamp);
37491
- * }, _.now());
37492
- * // => Logs the number of milliseconds it took for the deferred invocation.
37493
- */
37494
- var now = function () {
37495
- return root.Date.now();
37496
- };
37497
-
37498
- /**
37499
- * Creates a debounced function that delays invoking `func` until after `wait`
37500
- * milliseconds have elapsed since the last time the debounced function was
37501
- * invoked. The debounced function comes with a `cancel` method to cancel
37502
- * delayed `func` invocations and a `flush` method to immediately invoke them.
37503
- * Provide `options` to indicate whether `func` should be invoked on the
37504
- * leading and/or trailing edge of the `wait` timeout. The `func` is invoked
37505
- * with the last arguments provided to the debounced function. Subsequent
37506
- * calls to the debounced function return the result of the last `func`
37507
- * invocation.
37508
- *
37509
- * **Note:** If `leading` and `trailing` options are `true`, `func` is
37510
- * invoked on the trailing edge of the timeout only if the debounced function
37511
- * is invoked more than once during the `wait` timeout.
37512
- *
37513
- * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred
37514
- * until to the next tick, similar to `setTimeout` with a timeout of `0`.
37515
- *
37516
- * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
37517
- * for details over the differences between `_.debounce` and `_.throttle`.
37518
- *
37519
- * @static
37520
- * @memberOf _
37521
- * @since 0.1.0
37522
- * @category Function
37523
- * @param {Function} func The function to debounce.
37524
- * @param {number} [wait=0] The number of milliseconds to delay.
37525
- * @param {Object} [options={}] The options object.
37526
- * @param {boolean} [options.leading=false]
37527
- * Specify invoking on the leading edge of the timeout.
37528
- * @param {number} [options.maxWait]
37529
- * The maximum time `func` is allowed to be delayed before it's invoked.
37530
- * @param {boolean} [options.trailing=true]
37531
- * Specify invoking on the trailing edge of the timeout.
37532
- * @returns {Function} Returns the new debounced function.
37533
- * @example
37534
- *
37535
- * // Avoid costly calculations while the window size is in flux.
37536
- * jQuery(window).on('resize', _.debounce(calculateLayout, 150));
37537
- *
37538
- * // Invoke `sendMail` when clicked, debouncing subsequent calls.
37539
- * jQuery(element).on('click', _.debounce(sendMail, 300, {
37540
- * 'leading': true,
37541
- * 'trailing': false
37542
- * }));
37543
- *
37544
- * // Ensure `batchLog` is invoked once after 1 second of debounced calls.
37545
- * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });
37546
- * var source = new EventSource('/stream');
37547
- * jQuery(source).on('message', debounced);
37548
- *
37549
- * // Cancel the trailing debounced invocation.
37550
- * jQuery(window).on('popstate', debounced.cancel);
37551
- */
37552
- function debounce(func, wait, options) {
37553
- var lastArgs,
37554
- lastThis,
37555
- maxWait,
37556
- result,
37557
- timerId,
37558
- lastCallTime,
37559
- lastInvokeTime = 0,
37560
- leading = false,
37561
- maxing = false,
37562
- trailing = true;
37563
- if (typeof func != 'function') {
37564
- throw new TypeError(FUNC_ERROR_TEXT);
37565
- }
37566
- wait = toNumber(wait) || 0;
37567
- if (isObject(options)) {
37568
- leading = !!options.leading;
37569
- maxing = 'maxWait' in options;
37570
- maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
37571
- trailing = 'trailing' in options ? !!options.trailing : trailing;
37572
- }
37573
- function invokeFunc(time) {
37574
- var args = lastArgs,
37575
- thisArg = lastThis;
37576
- lastArgs = lastThis = undefined;
37577
- lastInvokeTime = time;
37578
- result = func.apply(thisArg, args);
37579
- return result;
37580
- }
37581
- function leadingEdge(time) {
37582
- // Reset any `maxWait` timer.
37583
- lastInvokeTime = time;
37584
- // Start the timer for the trailing edge.
37585
- timerId = setTimeout(timerExpired, wait);
37586
- // Invoke the leading edge.
37587
- return leading ? invokeFunc(time) : result;
37588
- }
37589
- function remainingWait(time) {
37590
- var timeSinceLastCall = time - lastCallTime,
37591
- timeSinceLastInvoke = time - lastInvokeTime,
37592
- result = wait - timeSinceLastCall;
37593
- return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;
37594
- }
37595
- function shouldInvoke(time) {
37596
- var timeSinceLastCall = time - lastCallTime,
37597
- timeSinceLastInvoke = time - lastInvokeTime;
37598
-
37599
- // Either this is the first call, activity has stopped and we're at the
37600
- // trailing edge, the system time has gone backwards and we're treating
37601
- // it as the trailing edge, or we've hit the `maxWait` limit.
37602
- return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;
37603
- }
37604
- function timerExpired() {
37605
- var time = now();
37606
- if (shouldInvoke(time)) {
37607
- return trailingEdge(time);
37608
- }
37609
- // Restart the timer.
37610
- timerId = setTimeout(timerExpired, remainingWait(time));
37611
- }
37612
- function trailingEdge(time) {
37613
- timerId = undefined;
37614
-
37615
- // Only invoke if we have `lastArgs` which means `func` has been
37616
- // debounced at least once.
37617
- if (trailing && lastArgs) {
37618
- return invokeFunc(time);
37619
- }
37620
- lastArgs = lastThis = undefined;
37621
- return result;
37622
- }
37623
- function cancel() {
37624
- if (timerId !== undefined) {
37625
- clearTimeout(timerId);
37626
- }
37627
- lastInvokeTime = 0;
37628
- lastArgs = lastCallTime = lastThis = timerId = undefined;
37629
- }
37630
- function flush() {
37631
- return timerId === undefined ? result : trailingEdge(now());
37632
- }
37633
- function debounced() {
37634
- var time = now(),
37635
- isInvoking = shouldInvoke(time);
37636
- lastArgs = arguments;
37637
- lastThis = this;
37638
- lastCallTime = time;
37639
- if (isInvoking) {
37640
- if (timerId === undefined) {
37641
- return leadingEdge(lastCallTime);
37642
- }
37643
- if (maxing) {
37644
- // Handle invocations in a tight loop.
37645
- timerId = setTimeout(timerExpired, wait);
37646
- return invokeFunc(lastCallTime);
37647
- }
37648
- }
37649
- if (timerId === undefined) {
37650
- timerId = setTimeout(timerExpired, wait);
37651
- }
37652
- return result;
37653
- }
37654
- debounced.cancel = cancel;
37655
- debounced.flush = flush;
37656
- return debounced;
37657
- }
37658
-
37659
37807
  /**
37660
37808
  * Checks if `value` is the
37661
37809
  * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
@@ -37776,22 +37924,8 @@ function toNumber(value) {
37776
37924
  var isBinary = reIsBinary.test(value);
37777
37925
  return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;
37778
37926
  }
37779
- var lodash_debounce = debounce;
37780
- var debounce$1 = /*@__PURE__*/getDefaultExportFromCjs(lodash_debounce);
37781
-
37782
- const useResize = resizeCallback => {
37783
- const handleResize = React.useCallback(() => resizeCallback?.(), []);
37784
- React.useEffect(() => {
37785
- handleResize();
37786
- }, []);
37787
- React.useEffect(() => {
37788
- if (window) {
37789
- const debouncedHandleResize = debounce$1(handleResize, 150);
37790
- window.addEventListener('resize', debouncedHandleResize);
37791
- return () => window.removeEventListener('resize', debouncedHandleResize);
37792
- }
37793
- }, []);
37794
- };
37927
+ var lodash_throttle = throttle;
37928
+ var throttle$1 = /*@__PURE__*/getDefaultExportFromCjs(lodash_throttle);
37795
37929
 
37796
37930
  const TabItem = ({
37797
37931
  children,
@@ -39208,85 +39342,6 @@ var index = Object.assign(EnigmaUI, {
39208
39342
  GridView
39209
39343
  });
39210
39344
 
39211
- var MobileOS = /*#__PURE__*/function (MobileOS) {
39212
- MobileOS["Android"] = "android";
39213
- MobileOS["iOS"] = "ios";
39214
- MobileOS["Unknown"] = "unknown";
39215
- MobileOS["WindowsPhone"] = "Windows Phone";
39216
- return MobileOS;
39217
- }(MobileOS || {});
39218
- var DesktopOS = /*#__PURE__*/function (DesktopOS) {
39219
- DesktopOS["Linux"] = "linux";
39220
- DesktopOS["MacOS"] = "mac_os";
39221
- DesktopOS["Unix"] = "unix";
39222
- DesktopOS["Unknown"] = "unknown";
39223
- DesktopOS["Windows"] = "windows";
39224
- return DesktopOS;
39225
- }(DesktopOS || {});
39226
- const useDevice = () => {
39227
- const [deviceState, setDeviceState] = React.useState();
39228
- const handleResize = () => {
39229
- const userAgent = navigator.userAgent || navigator.vendor || window.opera || undefined;
39230
- const isMobileDevice = () => {
39231
- const regexs = [/(Android)(.+)(Mobile)/i, /BlackBerry/i, /iPhone|iPod/i, /Opera Mini/i, /IEMobile/i];
39232
- return regexs.some(b => userAgent.match(b));
39233
- };
39234
- const isTabletDevice = () => {
39235
- const regex = /(ipad|tablet|(android(?!.*mobile))|(windows(?!.*phone)(.*touch))|kindle|playbook|silk|(puffin(?!.*(IP|AP|WP))))/;
39236
- return regex.test(userAgent.toLowerCase());
39237
- };
39238
- const isDesktopDevice = () => !isMobileDevice() && !isTabletDevice();
39239
- const isDesktop = isDesktopDevice();
39240
- const isMobile = isMobileDevice();
39241
- const isTablet = isTabletDevice();
39242
- const getMobileOS = () => {
39243
- if (isMobileDevice()) {
39244
- if (/windows phone/i.test(userAgent)) return MobileOS.WindowsPhone;else if (/android/i.test(userAgent)) return MobileOS.Android;else if (/iPad|iPhone|iPod/.test(userAgent) && !window.MSStream) return MobileOS.iOS;
39245
- return MobileOS.Unknown;
39246
- } else return undefined;
39247
- };
39248
- const getDesktopOS = () => {
39249
- if (isDesktopDevice()) {
39250
- if (userAgent.indexOf('Win') !== -1) return DesktopOS.Windows;else if (userAgent.indexOf('Mac') !== -1) return DesktopOS.MacOS;else if (userAgent.indexOf('X11') !== -1) return DesktopOS.Unix;else if (userAgent.indexOf('Linux') !== -1) return DesktopOS.Linux;
39251
- return DesktopOS.Unknown;
39252
- } else return undefined;
39253
- };
39254
- const getDeviceOS = () => getMobileOS() ?? getDesktopOS();
39255
- const mobileOS = getMobileOS();
39256
- const isAndroidDevice = getDeviceOS() === MobileOS.Android;
39257
- const isAppleDevice = getDeviceOS() === MobileOS.iOS || getDeviceOS() === DesktopOS.MacOS;
39258
- const isUnknownMobileDevice = getDeviceOS() === MobileOS.Unknown;
39259
- const desktopOS = getDesktopOS();
39260
- const isWindowsDesktop = getDeviceOS() === DesktopOS.Windows;
39261
- const isLinuxOrUnixDesktop = getDeviceOS() === DesktopOS.Linux || getDeviceOS() === DesktopOS.Unix;
39262
- const supportedScreenOrientation = (screen?.orientation || {}).type ?? screen.mozOrientation ?? screen.msOrientation;
39263
- const safariScreenOrientation = !screen?.orientation && matchMedia('(orientation: portrait)').matches ? 'portrait-primary' : 'landscape-primary';
39264
- const initialScreenOrientation = supportedScreenOrientation ?? safariScreenOrientation ?? 'portrait-primary';
39265
- let screenOrientation = initialScreenOrientation;
39266
- if (screen.orientation) {
39267
- screen.orientation.addEventListener('change', ev => screenOrientation = (ev.target ?? {}).type);
39268
- }
39269
- const isLandscapeOrientation = () => ['landscape-primary', 'landscape-secondary'].includes(screenOrientation);
39270
- const isPortraitOrientation = () => ['portrait-primary', 'portrait-secondary'].includes(screenOrientation);
39271
- setDeviceState({
39272
- isDesktop,
39273
- desktopOS,
39274
- isWindowsDesktop,
39275
- isLinuxOrUnixDesktop,
39276
- isMobile,
39277
- mobileOS,
39278
- isAndroidDevice,
39279
- isAppleDevice,
39280
- isUnknownMobileDevice,
39281
- isTablet,
39282
- isLandscapeOrientation,
39283
- isPortraitOrientation
39284
- });
39285
- };
39286
- useResize(handleResize);
39287
- return deviceState || {};
39288
- };
39289
-
39290
39345
  const useHover = ({
39291
39346
  targetRef
39292
39347
  }) => {