@teamturing/react-kit 2.7.2 → 2.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -16313,7 +16313,7 @@ const BaseDialog = styled__default.default.div(() => ({
16313
16313
  overflow: 'hidden',
16314
16314
  margin: 'auto'
16315
16315
  }), sx);
16316
- var index$1 = /*#__PURE__*/React.forwardRef(Dialog);
16316
+ var index$2 = /*#__PURE__*/React.forwardRef(Dialog);
16317
16317
 
16318
16318
  const useDialogHandler = () => {
16319
16319
  const [isOpen, setIsOpen] = React.useState(false);
@@ -16705,1316 +16705,2439 @@ const StyledIcon = ({
16705
16705
  });
16706
16706
 
16707
16707
  /**
16708
- * 제공된 `ref`가 없는 경우 새로운 `ref`를 만들어 사용하고, 있는 경우 제공된 ref를 사용할 수 있는 훅입니다.
16708
+ * lodash (Custom Build) <https://lodash.com/>
16709
+ * Build: `lodash modularize exports="npm" -o ./`
16710
+ * Copyright jQuery Foundation and other contributors <https://jquery.org/>
16711
+ * Released under MIT license <https://lodash.com/license>
16712
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
16713
+ * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
16709
16714
  */
16710
- const useProvidedOrCreatedRef = providedRef => {
16711
- const createdRef = React.useRef(null);
16712
- return providedRef ?? createdRef;
16713
- };
16714
16715
 
16715
- const Textarea = /*#__PURE__*/React.forwardRef(({
16716
- disabled,
16717
- ...props
16718
- }, ref) => {
16719
- const inputRef = useProvidedOrCreatedRef(ref);
16720
- const focusInput = () => {
16721
- inputRef.current?.focus();
16722
- };
16723
- return /*#__PURE__*/jsxRuntimeExports.jsx(TextareaWrapper, {
16724
- disabled: disabled,
16725
- onClick: focusInput,
16726
- children: /*#__PURE__*/jsxRuntimeExports.jsx(BaseTextarea, {
16727
- ref: e => {
16728
- isFunction(ref) ? ref(e) : null;
16729
- inputRef.current = e;
16730
- },
16731
- disabled: disabled,
16732
- ...props
16733
- })
16734
- });
16735
- });
16736
- const TextareaWrapper = styled__default.default.div`
16737
- position: relative;
16738
- width: ${forcePixelValue('100%')};
16739
- border-width: ${forcePixelValue(1)};
16740
- border-style: solid;
16741
- border-radius: ${({
16742
- theme
16743
- }) => forcePixelValue(theme.radii.s)};
16744
- border-color: ${({
16745
- theme
16746
- }) => theme.colors['border/input']};
16747
- background-color: ${({
16748
- theme
16749
- }) => theme.colors['bg/input']};
16750
- cursor: text;
16751
- display: inline-flex;
16752
- align-items: center;
16716
+ /** Used as the `TypeError` message for "Functions" methods. */
16717
+ var FUNC_ERROR_TEXT$1 = 'Expected a function';
16753
16718
 
16754
- padding-top: ${({
16755
- theme
16756
- }) => forcePixelValue(theme.space['4'])};
16757
- padding-right: ${({
16758
- theme
16759
- }) => forcePixelValue(theme.space['4'])};
16760
- padding-bottom: ${({
16761
- theme
16762
- }) => forcePixelValue(theme.space['4'])};
16763
- padding-left: ${({
16764
- theme
16765
- }) => forcePixelValue(theme.space['5'])};
16719
+ /** Used as references for various `Number` constants. */
16720
+ var NAN$1 = 0 / 0;
16766
16721
 
16767
- font-size: ${({
16768
- theme
16769
- }) => forcePixelValue(theme.fontSizes.xs)};
16770
- font-weight: ${({
16771
- theme
16772
- }) => theme.fontWeights.medium};
16773
- line-height: ${({
16774
- theme
16775
- }) => theme.lineHeights[2]};
16776
- color: ${({
16777
- theme
16778
- }) => theme.colors['text/neutral']};
16779
- input::placeholder {
16780
- color: ${({
16781
- theme
16782
- }) => theme.colors['text/neutral/subtlest']};
16783
- }
16722
+ /** `Object#toString` result references. */
16723
+ var symbolTag$1 = '[object Symbol]';
16784
16724
 
16785
- height: 74px;
16725
+ /** Used to match leading and trailing whitespace. */
16726
+ var reTrim$1 = /^\s+|\s+$/g;
16786
16727
 
16787
- &:after {
16788
- content: '';
16789
- position: absolute;
16790
- top: ${forcePixelValue(-1)};
16791
- right: ${forcePixelValue(-1)};
16792
- bottom: ${forcePixelValue(-1)};
16793
- left: ${forcePixelValue(-1)};
16728
+ /** Used to detect bad signed hexadecimal string values. */
16729
+ var reIsBadHex$1 = /^[-+]0x[0-9a-f]+$/i;
16794
16730
 
16795
- border: ${forcePixelValue(2)} solid transparent;
16796
- border-radius: ${({
16797
- theme
16798
- }) => forcePixelValue(theme.radii.s)};
16799
- pointer-events: none;
16800
- }
16731
+ /** Used to detect binary string values. */
16732
+ var reIsBinary$1 = /^0b[01]+$/i;
16801
16733
 
16802
- ${props => props.validationStatus !== 'error' && !props.disabled && styled.css`
16803
- &:hover:not(:focus-within) {
16804
- &:after {
16805
- border-color: ${({
16806
- theme
16807
- }) => theme.colors['border/hovered']};
16808
- }
16809
- }
16810
- `}
16734
+ /** Used to detect octal string values. */
16735
+ var reIsOctal$1 = /^0o[0-7]+$/i;
16811
16736
 
16812
- ${props => props.validationStatus === 'error' && styled.css`
16813
- &:after {
16814
- border-color: ${({
16815
- theme
16816
- }) => theme.colors['border/danger']};
16817
- }
16818
- `}
16737
+ /** Built-in method references without a dependency on `root`. */
16738
+ var freeParseInt$1 = parseInt;
16819
16739
 
16820
- ${props => props.validationStatus !== 'error' && styled.css`
16821
- &:focus-within {
16822
- &:after {
16823
- border-color: ${({
16824
- theme
16825
- }) => theme.colors['border/focused']};
16826
- }
16827
- }
16828
- `}
16740
+ /** Detect free variable `global` from Node.js. */
16741
+ var freeGlobal$1 = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;
16829
16742
 
16830
- ${props => props.disabled && styled.css`
16831
- border-color: ${props.theme.colors['border/input']};
16832
- background-color: ${props.theme.colors['bg/disabled']};
16833
- color: ${props.theme.colors['text/disabled']};
16743
+ /** Detect free variable `self`. */
16744
+ var freeSelf$1 = typeof self == 'object' && self && self.Object === Object && self;
16834
16745
 
16835
- textarea::placeholder {
16836
- color: ${props.theme.colors['text/disabled']};
16837
- }
16746
+ /** Used as a reference to the global object. */
16747
+ var root$1 = freeGlobal$1 || freeSelf$1 || Function('return this')();
16838
16748
 
16839
- &,
16840
- textarea {
16841
- cursor: not-allowed;
16842
- }
16843
- `};
16844
- `;
16845
- const UnstyledTextarea = styled__default.default.textarea`
16846
- font-size: inherit;
16847
- font-weight: inherit;
16848
- line-height: inherit;
16849
- font-family: inherit;
16850
- border-radius: inherit;
16851
- color: inherit;
16852
- transition: inherit;
16749
+ /** Used for built-in method references. */
16750
+ var objectProto$1 = Object.prototype;
16853
16751
 
16854
- border: 0;
16855
- background-color: transparent;
16856
- width: 100%;
16857
- &:focus {
16858
- outline: 0;
16859
- }
16860
- `;
16861
- const BaseTextarea = styled__default.default(UnstyledTextarea)`
16862
- resize: none;
16863
- `;
16752
+ /**
16753
+ * Used to resolve the
16754
+ * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
16755
+ * of values.
16756
+ */
16757
+ var objectToString$1 = objectProto$1.toString;
16864
16758
 
16865
- var reactIs = {exports: {}};
16759
+ /* Built-in method references for those with the same name as other `lodash` methods. */
16760
+ var nativeMax$1 = Math.max,
16761
+ nativeMin$1 = Math.min;
16866
16762
 
16867
- var reactIs_production_min = {};
16763
+ /**
16764
+ * Gets the timestamp of the number of milliseconds that have elapsed since
16765
+ * the Unix epoch (1 January 1970 00:00:00 UTC).
16766
+ *
16767
+ * @static
16768
+ * @memberOf _
16769
+ * @since 2.4.0
16770
+ * @category Date
16771
+ * @returns {number} Returns the timestamp.
16772
+ * @example
16773
+ *
16774
+ * _.defer(function(stamp) {
16775
+ * console.log(_.now() - stamp);
16776
+ * }, _.now());
16777
+ * // => Logs the number of milliseconds it took for the deferred invocation.
16778
+ */
16779
+ var now$1 = function () {
16780
+ return root$1.Date.now();
16781
+ };
16868
16782
 
16869
16783
  /**
16870
- * @license React
16871
- * react-is.production.min.js
16784
+ * Creates a debounced function that delays invoking `func` until after `wait`
16785
+ * milliseconds have elapsed since the last time the debounced function was
16786
+ * invoked. The debounced function comes with a `cancel` method to cancel
16787
+ * delayed `func` invocations and a `flush` method to immediately invoke them.
16788
+ * Provide `options` to indicate whether `func` should be invoked on the
16789
+ * leading and/or trailing edge of the `wait` timeout. The `func` is invoked
16790
+ * with the last arguments provided to the debounced function. Subsequent
16791
+ * calls to the debounced function return the result of the last `func`
16792
+ * invocation.
16872
16793
  *
16873
- * Copyright (c) Facebook, Inc. and its affiliates.
16794
+ * **Note:** If `leading` and `trailing` options are `true`, `func` is
16795
+ * invoked on the trailing edge of the timeout only if the debounced function
16796
+ * is invoked more than once during the `wait` timeout.
16874
16797
  *
16875
- * This source code is licensed under the MIT license found in the
16876
- * LICENSE file in the root directory of this source tree.
16798
+ * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred
16799
+ * until to the next tick, similar to `setTimeout` with a timeout of `0`.
16800
+ *
16801
+ * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
16802
+ * for details over the differences between `_.debounce` and `_.throttle`.
16803
+ *
16804
+ * @static
16805
+ * @memberOf _
16806
+ * @since 0.1.0
16807
+ * @category Function
16808
+ * @param {Function} func The function to debounce.
16809
+ * @param {number} [wait=0] The number of milliseconds to delay.
16810
+ * @param {Object} [options={}] The options object.
16811
+ * @param {boolean} [options.leading=false]
16812
+ * Specify invoking on the leading edge of the timeout.
16813
+ * @param {number} [options.maxWait]
16814
+ * The maximum time `func` is allowed to be delayed before it's invoked.
16815
+ * @param {boolean} [options.trailing=true]
16816
+ * Specify invoking on the trailing edge of the timeout.
16817
+ * @returns {Function} Returns the new debounced function.
16818
+ * @example
16819
+ *
16820
+ * // Avoid costly calculations while the window size is in flux.
16821
+ * jQuery(window).on('resize', _.debounce(calculateLayout, 150));
16822
+ *
16823
+ * // Invoke `sendMail` when clicked, debouncing subsequent calls.
16824
+ * jQuery(element).on('click', _.debounce(sendMail, 300, {
16825
+ * 'leading': true,
16826
+ * 'trailing': false
16827
+ * }));
16828
+ *
16829
+ * // Ensure `batchLog` is invoked once after 1 second of debounced calls.
16830
+ * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });
16831
+ * var source = new EventSource('/stream');
16832
+ * jQuery(source).on('message', debounced);
16833
+ *
16834
+ * // Cancel the trailing debounced invocation.
16835
+ * jQuery(window).on('popstate', debounced.cancel);
16877
16836
  */
16878
- var hasRequiredReactIs_production_min;
16879
- function requireReactIs_production_min() {
16880
- if (hasRequiredReactIs_production_min) return reactIs_production_min;
16881
- hasRequiredReactIs_production_min = 1;
16882
- var b = Symbol.for("react.element"),
16883
- c = Symbol.for("react.portal"),
16884
- d = Symbol.for("react.fragment"),
16885
- e = Symbol.for("react.strict_mode"),
16886
- f = Symbol.for("react.profiler"),
16887
- g = Symbol.for("react.provider"),
16888
- h = Symbol.for("react.context"),
16889
- k = Symbol.for("react.server_context"),
16890
- l = Symbol.for("react.forward_ref"),
16891
- m = Symbol.for("react.suspense"),
16892
- n = Symbol.for("react.suspense_list"),
16893
- p = Symbol.for("react.memo"),
16894
- q = Symbol.for("react.lazy"),
16895
- t = Symbol.for("react.offscreen"),
16896
- u;
16897
- u = Symbol.for("react.module.reference");
16898
- function v(a) {
16899
- if ("object" === typeof a && null !== a) {
16900
- var r = a.$$typeof;
16901
- switch (r) {
16902
- case b:
16903
- switch (a = a.type, a) {
16904
- case d:
16905
- case f:
16906
- case e:
16907
- case m:
16908
- case n:
16909
- return a;
16910
- default:
16911
- switch (a = a && a.$$typeof, a) {
16912
- case k:
16913
- case h:
16914
- case l:
16915
- case q:
16916
- case p:
16917
- case g:
16918
- return a;
16919
- default:
16920
- return r;
16921
- }
16922
- }
16923
- case c:
16924
- return r;
16837
+ function debounce$2(func, wait, options) {
16838
+ var lastArgs,
16839
+ lastThis,
16840
+ maxWait,
16841
+ result,
16842
+ timerId,
16843
+ lastCallTime,
16844
+ lastInvokeTime = 0,
16845
+ leading = false,
16846
+ maxing = false,
16847
+ trailing = true;
16848
+ if (typeof func != 'function') {
16849
+ throw new TypeError(FUNC_ERROR_TEXT$1);
16850
+ }
16851
+ wait = toNumber$1(wait) || 0;
16852
+ if (isObject$1(options)) {
16853
+ leading = !!options.leading;
16854
+ maxing = 'maxWait' in options;
16855
+ maxWait = maxing ? nativeMax$1(toNumber$1(options.maxWait) || 0, wait) : maxWait;
16856
+ trailing = 'trailing' in options ? !!options.trailing : trailing;
16857
+ }
16858
+ function invokeFunc(time) {
16859
+ var args = lastArgs,
16860
+ thisArg = lastThis;
16861
+ lastArgs = lastThis = undefined;
16862
+ lastInvokeTime = time;
16863
+ result = func.apply(thisArg, args);
16864
+ return result;
16865
+ }
16866
+ function leadingEdge(time) {
16867
+ // Reset any `maxWait` timer.
16868
+ lastInvokeTime = time;
16869
+ // Start the timer for the trailing edge.
16870
+ timerId = setTimeout(timerExpired, wait);
16871
+ // Invoke the leading edge.
16872
+ return leading ? invokeFunc(time) : result;
16873
+ }
16874
+ function remainingWait(time) {
16875
+ var timeSinceLastCall = time - lastCallTime,
16876
+ timeSinceLastInvoke = time - lastInvokeTime,
16877
+ result = wait - timeSinceLastCall;
16878
+ return maxing ? nativeMin$1(result, maxWait - timeSinceLastInvoke) : result;
16879
+ }
16880
+ function shouldInvoke(time) {
16881
+ var timeSinceLastCall = time - lastCallTime,
16882
+ timeSinceLastInvoke = time - lastInvokeTime;
16883
+
16884
+ // Either this is the first call, activity has stopped and we're at the
16885
+ // trailing edge, the system time has gone backwards and we're treating
16886
+ // it as the trailing edge, or we've hit the `maxWait` limit.
16887
+ return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;
16888
+ }
16889
+ function timerExpired() {
16890
+ var time = now$1();
16891
+ if (shouldInvoke(time)) {
16892
+ return trailingEdge(time);
16893
+ }
16894
+ // Restart the timer.
16895
+ timerId = setTimeout(timerExpired, remainingWait(time));
16896
+ }
16897
+ function trailingEdge(time) {
16898
+ timerId = undefined;
16899
+
16900
+ // Only invoke if we have `lastArgs` which means `func` has been
16901
+ // debounced at least once.
16902
+ if (trailing && lastArgs) {
16903
+ return invokeFunc(time);
16904
+ }
16905
+ lastArgs = lastThis = undefined;
16906
+ return result;
16907
+ }
16908
+ function cancel() {
16909
+ if (timerId !== undefined) {
16910
+ clearTimeout(timerId);
16911
+ }
16912
+ lastInvokeTime = 0;
16913
+ lastArgs = lastCallTime = lastThis = timerId = undefined;
16914
+ }
16915
+ function flush() {
16916
+ return timerId === undefined ? result : trailingEdge(now$1());
16917
+ }
16918
+ function debounced() {
16919
+ var time = now$1(),
16920
+ isInvoking = shouldInvoke(time);
16921
+ lastArgs = arguments;
16922
+ lastThis = this;
16923
+ lastCallTime = time;
16924
+ if (isInvoking) {
16925
+ if (timerId === undefined) {
16926
+ return leadingEdge(lastCallTime);
16925
16927
  }
16928
+ if (maxing) {
16929
+ // Handle invocations in a tight loop.
16930
+ timerId = setTimeout(timerExpired, wait);
16931
+ return invokeFunc(lastCallTime);
16932
+ }
16933
+ }
16934
+ if (timerId === undefined) {
16935
+ timerId = setTimeout(timerExpired, wait);
16926
16936
  }
16937
+ return result;
16927
16938
  }
16928
- reactIs_production_min.ContextConsumer = h;
16929
- reactIs_production_min.ContextProvider = g;
16930
- reactIs_production_min.Element = b;
16931
- reactIs_production_min.ForwardRef = l;
16932
- reactIs_production_min.Fragment = d;
16933
- reactIs_production_min.Lazy = q;
16934
- reactIs_production_min.Memo = p;
16935
- reactIs_production_min.Portal = c;
16936
- reactIs_production_min.Profiler = f;
16937
- reactIs_production_min.StrictMode = e;
16938
- reactIs_production_min.Suspense = m;
16939
- reactIs_production_min.SuspenseList = n;
16940
- reactIs_production_min.isAsyncMode = function () {
16941
- return !1;
16942
- };
16943
- reactIs_production_min.isConcurrentMode = function () {
16944
- return !1;
16945
- };
16946
- reactIs_production_min.isContextConsumer = function (a) {
16947
- return v(a) === h;
16948
- };
16949
- reactIs_production_min.isContextProvider = function (a) {
16950
- return v(a) === g;
16951
- };
16952
- reactIs_production_min.isElement = function (a) {
16953
- return "object" === typeof a && null !== a && a.$$typeof === b;
16954
- };
16955
- reactIs_production_min.isForwardRef = function (a) {
16956
- return v(a) === l;
16957
- };
16958
- reactIs_production_min.isFragment = function (a) {
16959
- return v(a) === d;
16960
- };
16961
- reactIs_production_min.isLazy = function (a) {
16962
- return v(a) === q;
16963
- };
16964
- reactIs_production_min.isMemo = function (a) {
16965
- return v(a) === p;
16966
- };
16967
- reactIs_production_min.isPortal = function (a) {
16968
- return v(a) === c;
16969
- };
16970
- reactIs_production_min.isProfiler = function (a) {
16971
- return v(a) === f;
16972
- };
16973
- reactIs_production_min.isStrictMode = function (a) {
16974
- return v(a) === e;
16975
- };
16976
- reactIs_production_min.isSuspense = function (a) {
16977
- return v(a) === m;
16978
- };
16979
- reactIs_production_min.isSuspenseList = function (a) {
16980
- return v(a) === n;
16981
- };
16982
- reactIs_production_min.isValidElementType = function (a) {
16983
- return "string" === typeof a || "function" === typeof a || a === d || a === f || a === e || a === m || a === n || a === t || "object" === typeof a && null !== a && (a.$$typeof === q || a.$$typeof === p || a.$$typeof === g || a.$$typeof === h || a.$$typeof === l || a.$$typeof === u || void 0 !== a.getModuleId) ? !0 : !1;
16984
- };
16985
- reactIs_production_min.typeOf = v;
16986
- return reactIs_production_min;
16939
+ debounced.cancel = cancel;
16940
+ debounced.flush = flush;
16941
+ return debounced;
16987
16942
  }
16988
16943
 
16989
- var reactIs_development = {};
16944
+ /**
16945
+ * Creates a throttled function that only invokes `func` at most once per
16946
+ * every `wait` milliseconds. The throttled function comes with a `cancel`
16947
+ * method to cancel delayed `func` invocations and a `flush` method to
16948
+ * immediately invoke them. Provide `options` to indicate whether `func`
16949
+ * should be invoked on the leading and/or trailing edge of the `wait`
16950
+ * timeout. The `func` is invoked with the last arguments provided to the
16951
+ * throttled function. Subsequent calls to the throttled function return the
16952
+ * result of the last `func` invocation.
16953
+ *
16954
+ * **Note:** If `leading` and `trailing` options are `true`, `func` is
16955
+ * invoked on the trailing edge of the timeout only if the throttled function
16956
+ * is invoked more than once during the `wait` timeout.
16957
+ *
16958
+ * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred
16959
+ * until to the next tick, similar to `setTimeout` with a timeout of `0`.
16960
+ *
16961
+ * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
16962
+ * for details over the differences between `_.throttle` and `_.debounce`.
16963
+ *
16964
+ * @static
16965
+ * @memberOf _
16966
+ * @since 0.1.0
16967
+ * @category Function
16968
+ * @param {Function} func The function to throttle.
16969
+ * @param {number} [wait=0] The number of milliseconds to throttle invocations to.
16970
+ * @param {Object} [options={}] The options object.
16971
+ * @param {boolean} [options.leading=true]
16972
+ * Specify invoking on the leading edge of the timeout.
16973
+ * @param {boolean} [options.trailing=true]
16974
+ * Specify invoking on the trailing edge of the timeout.
16975
+ * @returns {Function} Returns the new throttled function.
16976
+ * @example
16977
+ *
16978
+ * // Avoid excessively updating the position while scrolling.
16979
+ * jQuery(window).on('scroll', _.throttle(updatePosition, 100));
16980
+ *
16981
+ * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.
16982
+ * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });
16983
+ * jQuery(element).on('click', throttled);
16984
+ *
16985
+ * // Cancel the trailing throttled invocation.
16986
+ * jQuery(window).on('popstate', throttled.cancel);
16987
+ */
16988
+ function throttle(func, wait, options) {
16989
+ var leading = true,
16990
+ trailing = true;
16991
+ if (typeof func != 'function') {
16992
+ throw new TypeError(FUNC_ERROR_TEXT$1);
16993
+ }
16994
+ if (isObject$1(options)) {
16995
+ leading = 'leading' in options ? !!options.leading : leading;
16996
+ trailing = 'trailing' in options ? !!options.trailing : trailing;
16997
+ }
16998
+ return debounce$2(func, wait, {
16999
+ 'leading': leading,
17000
+ 'maxWait': wait,
17001
+ 'trailing': trailing
17002
+ });
17003
+ }
16990
17004
 
16991
17005
  /**
16992
- * @license React
16993
- * react-is.development.js
17006
+ * Checks if `value` is the
17007
+ * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
17008
+ * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
16994
17009
  *
16995
- * Copyright (c) Facebook, Inc. and its affiliates.
17010
+ * @static
17011
+ * @memberOf _
17012
+ * @since 0.1.0
17013
+ * @category Lang
17014
+ * @param {*} value The value to check.
17015
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
17016
+ * @example
16996
17017
  *
16997
- * This source code is licensed under the MIT license found in the
16998
- * LICENSE file in the root directory of this source tree.
17018
+ * _.isObject({});
17019
+ * // => true
17020
+ *
17021
+ * _.isObject([1, 2, 3]);
17022
+ * // => true
17023
+ *
17024
+ * _.isObject(_.noop);
17025
+ * // => true
17026
+ *
17027
+ * _.isObject(null);
17028
+ * // => false
16999
17029
  */
17000
- var hasRequiredReactIs_development;
17001
- function requireReactIs_development() {
17002
- if (hasRequiredReactIs_development) return reactIs_development;
17003
- hasRequiredReactIs_development = 1;
17004
- if (process.env.NODE_ENV !== "production") {
17005
- (function () {
17030
+ function isObject$1(value) {
17031
+ var type = typeof value;
17032
+ return !!value && (type == 'object' || type == 'function');
17033
+ }
17006
17034
 
17007
- // ATTENTION
17008
- // When adding new symbols to this file,
17009
- // Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'
17010
- // The Symbol used to tag the ReactElement-like types.
17011
- var REACT_ELEMENT_TYPE = Symbol.for('react.element');
17012
- var REACT_PORTAL_TYPE = Symbol.for('react.portal');
17013
- var REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');
17014
- var REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');
17015
- var REACT_PROFILER_TYPE = Symbol.for('react.profiler');
17016
- var REACT_PROVIDER_TYPE = Symbol.for('react.provider');
17017
- var REACT_CONTEXT_TYPE = Symbol.for('react.context');
17018
- var REACT_SERVER_CONTEXT_TYPE = Symbol.for('react.server_context');
17019
- var REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');
17020
- var REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');
17021
- var REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');
17022
- var REACT_MEMO_TYPE = Symbol.for('react.memo');
17023
- var REACT_LAZY_TYPE = Symbol.for('react.lazy');
17024
- var REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');
17035
+ /**
17036
+ * Checks if `value` is object-like. A value is object-like if it's not `null`
17037
+ * and has a `typeof` result of "object".
17038
+ *
17039
+ * @static
17040
+ * @memberOf _
17041
+ * @since 4.0.0
17042
+ * @category Lang
17043
+ * @param {*} value The value to check.
17044
+ * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
17045
+ * @example
17046
+ *
17047
+ * _.isObjectLike({});
17048
+ * // => true
17049
+ *
17050
+ * _.isObjectLike([1, 2, 3]);
17051
+ * // => true
17052
+ *
17053
+ * _.isObjectLike(_.noop);
17054
+ * // => false
17055
+ *
17056
+ * _.isObjectLike(null);
17057
+ * // => false
17058
+ */
17059
+ function isObjectLike$1(value) {
17060
+ return !!value && typeof value == 'object';
17061
+ }
17025
17062
 
17026
- // -----------------------------------------------------------------------------
17063
+ /**
17064
+ * Checks if `value` is classified as a `Symbol` primitive or object.
17065
+ *
17066
+ * @static
17067
+ * @memberOf _
17068
+ * @since 4.0.0
17069
+ * @category Lang
17070
+ * @param {*} value The value to check.
17071
+ * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
17072
+ * @example
17073
+ *
17074
+ * _.isSymbol(Symbol.iterator);
17075
+ * // => true
17076
+ *
17077
+ * _.isSymbol('abc');
17078
+ * // => false
17079
+ */
17080
+ function isSymbol$1(value) {
17081
+ return typeof value == 'symbol' || isObjectLike$1(value) && objectToString$1.call(value) == symbolTag$1;
17082
+ }
17027
17083
 
17028
- var enableScopeAPI = false; // Experimental Create Event Handle API.
17029
- var enableCacheElement = false;
17030
- var enableTransitionTracing = false; // No known bugs, but needs performance testing
17084
+ /**
17085
+ * Converts `value` to a number.
17086
+ *
17087
+ * @static
17088
+ * @memberOf _
17089
+ * @since 4.0.0
17090
+ * @category Lang
17091
+ * @param {*} value The value to process.
17092
+ * @returns {number} Returns the number.
17093
+ * @example
17094
+ *
17095
+ * _.toNumber(3.2);
17096
+ * // => 3.2
17097
+ *
17098
+ * _.toNumber(Number.MIN_VALUE);
17099
+ * // => 5e-324
17100
+ *
17101
+ * _.toNumber(Infinity);
17102
+ * // => Infinity
17103
+ *
17104
+ * _.toNumber('3.2');
17105
+ * // => 3.2
17106
+ */
17107
+ function toNumber$1(value) {
17108
+ if (typeof value == 'number') {
17109
+ return value;
17110
+ }
17111
+ if (isSymbol$1(value)) {
17112
+ return NAN$1;
17113
+ }
17114
+ if (isObject$1(value)) {
17115
+ var other = typeof value.valueOf == 'function' ? value.valueOf() : value;
17116
+ value = isObject$1(other) ? other + '' : other;
17117
+ }
17118
+ if (typeof value != 'string') {
17119
+ return value === 0 ? value : +value;
17120
+ }
17121
+ value = value.replace(reTrim$1, '');
17122
+ var isBinary = reIsBinary$1.test(value);
17123
+ return isBinary || reIsOctal$1.test(value) ? freeParseInt$1(value.slice(2), isBinary ? 2 : 8) : reIsBadHex$1.test(value) ? NAN$1 : +value;
17124
+ }
17125
+ var lodash_throttle = throttle;
17126
+ var throttle$1 = /*@__PURE__*/getDefaultExportFromCjs(lodash_throttle);
17031
17127
 
17032
- var enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber
17033
- // stuff. Intended to enable React core members to more easily debug scheduling
17034
- // issues in DEV builds.
17128
+ /**
17129
+ * lodash (Custom Build) <https://lodash.com/>
17130
+ * Build: `lodash modularize exports="npm" -o ./`
17131
+ * Copyright jQuery Foundation and other contributors <https://jquery.org/>
17132
+ * Released under MIT license <https://lodash.com/license>
17133
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
17134
+ * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
17135
+ */
17035
17136
 
17036
- var enableDebugTracing = false; // Track which Fiber(s) schedule render work.
17137
+ /** Used as the `TypeError` message for "Functions" methods. */
17138
+ var FUNC_ERROR_TEXT = 'Expected a function';
17037
17139
 
17038
- var REACT_MODULE_REFERENCE;
17039
- {
17040
- REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');
17041
- }
17042
- function isValidElementType(type) {
17043
- if (typeof type === 'string' || typeof type === 'function') {
17044
- return true;
17045
- } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).
17140
+ /** Used as references for various `Number` constants. */
17141
+ var NAN = 0 / 0;
17046
17142
 
17047
- if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing) {
17048
- return true;
17049
- }
17050
- if (typeof type === 'object' && type !== null) {
17051
- if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE ||
17052
- // This needs to include all possible module reference object
17053
- // types supported by any Flight configuration anywhere since
17054
- // we don't know which Flight build this will end up being used
17055
- // with.
17056
- type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {
17057
- return true;
17058
- }
17059
- }
17060
- return false;
17061
- }
17062
- function typeOf(object) {
17063
- if (typeof object === 'object' && object !== null) {
17064
- var $$typeof = object.$$typeof;
17065
- switch ($$typeof) {
17066
- case REACT_ELEMENT_TYPE:
17067
- var type = object.type;
17068
- switch (type) {
17069
- case REACT_FRAGMENT_TYPE:
17070
- case REACT_PROFILER_TYPE:
17071
- case REACT_STRICT_MODE_TYPE:
17072
- case REACT_SUSPENSE_TYPE:
17073
- case REACT_SUSPENSE_LIST_TYPE:
17074
- return type;
17075
- default:
17076
- var $$typeofType = type && type.$$typeof;
17077
- switch ($$typeofType) {
17078
- case REACT_SERVER_CONTEXT_TYPE:
17079
- case REACT_CONTEXT_TYPE:
17080
- case REACT_FORWARD_REF_TYPE:
17081
- case REACT_LAZY_TYPE:
17082
- case REACT_MEMO_TYPE:
17083
- case REACT_PROVIDER_TYPE:
17084
- return $$typeofType;
17085
- default:
17086
- return $$typeof;
17087
- }
17088
- }
17089
- case REACT_PORTAL_TYPE:
17090
- return $$typeof;
17091
- }
17092
- }
17093
- return undefined;
17094
- }
17095
- var ContextConsumer = REACT_CONTEXT_TYPE;
17096
- var ContextProvider = REACT_PROVIDER_TYPE;
17097
- var Element = REACT_ELEMENT_TYPE;
17098
- var ForwardRef = REACT_FORWARD_REF_TYPE;
17099
- var Fragment = REACT_FRAGMENT_TYPE;
17100
- var Lazy = REACT_LAZY_TYPE;
17101
- var Memo = REACT_MEMO_TYPE;
17102
- var Portal = REACT_PORTAL_TYPE;
17103
- var Profiler = REACT_PROFILER_TYPE;
17104
- var StrictMode = REACT_STRICT_MODE_TYPE;
17105
- var Suspense = REACT_SUSPENSE_TYPE;
17106
- var SuspenseList = REACT_SUSPENSE_LIST_TYPE;
17107
- var hasWarnedAboutDeprecatedIsAsyncMode = false;
17108
- var hasWarnedAboutDeprecatedIsConcurrentMode = false; // AsyncMode should be deprecated
17143
+ /** `Object#toString` result references. */
17144
+ var symbolTag = '[object Symbol]';
17109
17145
 
17110
- function isAsyncMode(object) {
17111
- {
17112
- if (!hasWarnedAboutDeprecatedIsAsyncMode) {
17113
- hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
17146
+ /** Used to match leading and trailing whitespace. */
17147
+ var reTrim = /^\s+|\s+$/g;
17114
17148
 
17115
- console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 18+.');
17116
- }
17117
- }
17118
- return false;
17119
- }
17120
- function isConcurrentMode(object) {
17121
- {
17122
- if (!hasWarnedAboutDeprecatedIsConcurrentMode) {
17123
- hasWarnedAboutDeprecatedIsConcurrentMode = true; // Using console['warn'] to evade Babel and ESLint
17149
+ /** Used to detect bad signed hexadecimal string values. */
17150
+ var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
17124
17151
 
17125
- console['warn']('The ReactIs.isConcurrentMode() alias has been deprecated, ' + 'and will be removed in React 18+.');
17126
- }
17127
- }
17128
- return false;
17129
- }
17130
- function isContextConsumer(object) {
17131
- return typeOf(object) === REACT_CONTEXT_TYPE;
17132
- }
17133
- function isContextProvider(object) {
17134
- return typeOf(object) === REACT_PROVIDER_TYPE;
17135
- }
17136
- function isElement(object) {
17137
- return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
17138
- }
17139
- function isForwardRef(object) {
17140
- return typeOf(object) === REACT_FORWARD_REF_TYPE;
17141
- }
17142
- function isFragment(object) {
17143
- return typeOf(object) === REACT_FRAGMENT_TYPE;
17144
- }
17145
- function isLazy(object) {
17146
- return typeOf(object) === REACT_LAZY_TYPE;
17147
- }
17148
- function isMemo(object) {
17149
- return typeOf(object) === REACT_MEMO_TYPE;
17150
- }
17151
- function isPortal(object) {
17152
- return typeOf(object) === REACT_PORTAL_TYPE;
17153
- }
17154
- function isProfiler(object) {
17155
- return typeOf(object) === REACT_PROFILER_TYPE;
17156
- }
17157
- function isStrictMode(object) {
17158
- return typeOf(object) === REACT_STRICT_MODE_TYPE;
17159
- }
17160
- function isSuspense(object) {
17161
- return typeOf(object) === REACT_SUSPENSE_TYPE;
17162
- }
17163
- function isSuspenseList(object) {
17164
- return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;
17165
- }
17166
- reactIs_development.ContextConsumer = ContextConsumer;
17167
- reactIs_development.ContextProvider = ContextProvider;
17168
- reactIs_development.Element = Element;
17169
- reactIs_development.ForwardRef = ForwardRef;
17170
- reactIs_development.Fragment = Fragment;
17171
- reactIs_development.Lazy = Lazy;
17172
- reactIs_development.Memo = Memo;
17173
- reactIs_development.Portal = Portal;
17174
- reactIs_development.Profiler = Profiler;
17175
- reactIs_development.StrictMode = StrictMode;
17176
- reactIs_development.Suspense = Suspense;
17177
- reactIs_development.SuspenseList = SuspenseList;
17178
- reactIs_development.isAsyncMode = isAsyncMode;
17179
- reactIs_development.isConcurrentMode = isConcurrentMode;
17180
- reactIs_development.isContextConsumer = isContextConsumer;
17181
- reactIs_development.isContextProvider = isContextProvider;
17182
- reactIs_development.isElement = isElement;
17183
- reactIs_development.isForwardRef = isForwardRef;
17184
- reactIs_development.isFragment = isFragment;
17185
- reactIs_development.isLazy = isLazy;
17186
- reactIs_development.isMemo = isMemo;
17187
- reactIs_development.isPortal = isPortal;
17188
- reactIs_development.isProfiler = isProfiler;
17189
- reactIs_development.isStrictMode = isStrictMode;
17190
- reactIs_development.isSuspense = isSuspense;
17191
- reactIs_development.isSuspenseList = isSuspenseList;
17192
- reactIs_development.isValidElementType = isValidElementType;
17193
- reactIs_development.typeOf = typeOf;
17194
- })();
17195
- }
17196
- return reactIs_development;
17197
- }
17198
-
17199
- if (process.env.NODE_ENV === 'production') {
17200
- reactIs.exports = requireReactIs_production_min();
17201
- } else {
17202
- reactIs.exports = requireReactIs_development();
17203
- }
17204
- var reactIsExports = reactIs.exports;
17205
-
17206
- const TextInput = /*#__PURE__*/React.forwardRef(({
17207
- type = 'text',
17208
- disabled,
17209
- validationStatus,
17210
- leadingVisual: LeadingVisual,
17211
- trailingVisual: TrailingVisual,
17212
- trailingAction,
17213
- ...props
17214
- }, ref) => {
17215
- const inputRef = useProvidedOrCreatedRef(ref);
17216
- const focusInput = () => {
17217
- inputRef.current?.focus();
17218
- };
17219
- return /*#__PURE__*/jsxRuntimeExports.jsxs(TextInputWrapper, {
17220
- disabled: disabled,
17221
- onClick: focusInput,
17222
- hasLeadingVisual: !isNullable(LeadingVisual),
17223
- hasTrailingVisual: !isNullable(TrailingVisual),
17224
- hasTrailingAction: !isNullable(trailingAction),
17225
- validationStatus: validationStatus,
17226
- children: [/*#__PURE__*/jsxRuntimeExports.jsx(View, {
17227
- sx: {
17228
- 'flexShrink': 0,
17229
- 'fontSize': 'xxs',
17230
- 'fontWeight': 'medium',
17231
- 'color': color$2['text/neutral'],
17232
- '& > svg': {
17233
- display: 'block',
17234
- width: 24,
17235
- height: 24,
17236
- color: color$2['icon/neutral/bold']
17237
- }
17238
- },
17239
- children: typeof LeadingVisual !== 'string' && reactIsExports.isValidElementType(LeadingVisual) ? /*#__PURE__*/jsxRuntimeExports.jsx(LeadingVisual, {}) : LeadingVisual
17240
- }), /*#__PURE__*/jsxRuntimeExports.jsx(BaseInput, {
17241
- ref: e => {
17242
- isFunction(ref) ? ref(e) : null;
17243
- inputRef.current = e;
17244
- },
17245
- type: type,
17246
- disabled: disabled,
17247
- ...props
17248
- }), /*#__PURE__*/jsxRuntimeExports.jsxs(View, {
17249
- sx: {
17250
- 'display': 'flex',
17251
- 'alignItems': 'center',
17252
- 'columnGap': 2,
17253
- 'flexShrink': 0,
17254
- 'fontSize': 'xxs',
17255
- 'fontWeight': 'medium',
17256
- 'color': color$2['text/neutral'],
17257
- '& > svg': {
17258
- display: 'block',
17259
- width: 24,
17260
- height: 24,
17261
- color: color$2['icon/neutral/bold']
17262
- }
17263
- },
17264
- children: [typeof TrailingVisual !== 'string' && reactIsExports.isValidElementType(TrailingVisual) ? /*#__PURE__*/jsxRuntimeExports.jsx(TrailingVisual, {}) : TrailingVisual, trailingAction ? /*#__PURE__*/React.cloneElement(trailingAction, {
17265
- disabled: disabled
17266
- }) : null]
17267
- })]
17268
- });
17269
- });
17270
- const TextInputWrapper = styled__default.default.div`
17271
- position: relative;
17272
- width: ${forcePixelValue('100%')};
17273
- border-width: ${forcePixelValue(1)};
17274
- border-style: solid;
17275
- border-radius: ${({
17276
- theme
17277
- }) => forcePixelValue(theme.radii.s)};
17278
- border-color: ${({
17279
- theme
17280
- }) => theme.colors['border/input']};
17281
- background-color: ${({
17282
- theme
17283
- }) => theme.colors['bg/input']};
17284
- cursor: text;
17285
- display: inline-flex;
17286
- align-items: center;
17287
-
17288
- font-size: ${({
17289
- theme
17290
- }) => forcePixelValue(theme.fontSizes.xs)};
17291
- font-weight: ${({
17292
- theme
17293
- }) => theme.fontWeights.medium};
17294
- line-height: ${({
17295
- theme
17296
- }) => theme.lineHeights[2]};
17297
- color: ${({
17298
- theme
17299
- }) => theme.colors['text/neutral']};
17300
- input::placeholder {
17301
- color: ${({
17302
- theme
17303
- }) => theme.colors['text/neutral/subtlest']};
17304
- }
17305
-
17306
- &:after {
17307
- content: '';
17308
- position: absolute;
17309
- top: ${forcePixelValue(-1)};
17310
- right: ${forcePixelValue(-1)};
17311
- bottom: ${forcePixelValue(-1)};
17312
- left: ${forcePixelValue(-1)};
17313
-
17314
- border: ${forcePixelValue(2)} solid transparent;
17315
- border-radius: ${({
17316
- theme
17317
- }) => forcePixelValue(theme.radii.s)};
17318
- pointer-events: none;
17319
- }
17152
+ /** Used to detect binary string values. */
17153
+ var reIsBinary = /^0b[01]+$/i;
17320
17154
 
17321
- ${props => props.validationStatus !== 'error' && !props.disabled && styled.css`
17322
- &:hover:not(:focus-within) {
17323
- &:after {
17324
- border-color: ${({
17325
- theme
17326
- }) => theme.colors['border/hovered']};
17327
- }
17328
- }
17329
- `}
17155
+ /** Used to detect octal string values. */
17156
+ var reIsOctal = /^0o[0-7]+$/i;
17330
17157
 
17331
- ${props => props.validationStatus === 'error' && styled.css`
17332
- &:after {
17333
- border-color: ${({
17334
- theme
17335
- }) => theme.colors['border/danger']};
17336
- }
17337
- `}
17158
+ /** Built-in method references without a dependency on `root`. */
17159
+ var freeParseInt = parseInt;
17338
17160
 
17339
- ${props => props.validationStatus !== 'error' && styled.css`
17340
- &:focus-within {
17341
- &:after {
17342
- border-color: ${({
17343
- theme
17344
- }) => theme.colors['border/focused']};
17345
- }
17346
- }
17347
- `}
17161
+ /** Detect free variable `global` from Node.js. */
17162
+ var freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;
17348
17163
 
17349
- ${props => props.disabled && styled.css`
17350
- border-color: ${props.theme.colors['border/input']};
17351
- background-color: ${props.theme.colors['bg/disabled']};
17352
- color: ${props.theme.colors['text/disabled']};
17164
+ /** Detect free variable `self`. */
17165
+ var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
17353
17166
 
17354
- input::placeholder {
17355
- color: ${props.theme.colors['text/disabled']};
17356
- }
17167
+ /** Used as a reference to the global object. */
17168
+ var root = freeGlobal || freeSelf || Function('return this')();
17357
17169
 
17358
- input {
17359
- cursor: not-allowed;
17360
- }
17361
- `};
17170
+ /** Used for built-in method references. */
17171
+ var objectProto = Object.prototype;
17362
17172
 
17363
- ${props => props.hasLeadingVisual && styled.css`
17364
- padding-left: ${forcePixelValue(props.theme.space[5])};
17365
- input {
17366
- padding-left: ${forcePixelValue(props.theme.space[3])};
17367
- }
17368
- `}
17173
+ /**
17174
+ * Used to resolve the
17175
+ * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
17176
+ * of values.
17177
+ */
17178
+ var objectToString = objectProto.toString;
17369
17179
 
17370
- ${props => (props.hasTrailingVisual || props.hasTrailingAction) && styled.css`
17371
- padding-right: ${forcePixelValue(props.theme.space[3])};
17372
- input {
17373
- padding-right: ${forcePixelValue(props.theme.space[3])};
17374
- }
17375
- `}
17180
+ /* Built-in method references for those with the same name as other `lodash` methods. */
17181
+ var nativeMax = Math.max,
17182
+ nativeMin = Math.min;
17376
17183
 
17377
- transition: color 100ms, background-color 100ms;
17378
- &:after {
17379
- transition: border-color 100ms;
17380
- }
17381
- `;
17382
- const UnstyledInput = styled__default.default.input`
17383
- font-size: inherit;
17384
- font-weight: inherit;
17385
- line-height: inherit;
17386
- font-family: inherit;
17387
- border-radius: inherit;
17388
- color: inherit;
17389
- transition: inherit;
17184
+ /**
17185
+ * Gets the timestamp of the number of milliseconds that have elapsed since
17186
+ * the Unix epoch (1 January 1970 00:00:00 UTC).
17187
+ *
17188
+ * @static
17189
+ * @memberOf _
17190
+ * @since 2.4.0
17191
+ * @category Date
17192
+ * @returns {number} Returns the timestamp.
17193
+ * @example
17194
+ *
17195
+ * _.defer(function(stamp) {
17196
+ * console.log(_.now() - stamp);
17197
+ * }, _.now());
17198
+ * // => Logs the number of milliseconds it took for the deferred invocation.
17199
+ */
17200
+ var now = function () {
17201
+ return root.Date.now();
17202
+ };
17390
17203
 
17391
- border: 0;
17392
- background-color: transparent;
17393
- width: 100%;
17394
- &:focus {
17395
- outline: 0;
17396
- }
17397
- `;
17398
- const BaseInput = styled__default.default(UnstyledInput)`
17399
- padding-top: ${({
17400
- theme
17401
- }) => forcePixelValue(theme.space['4'])};
17402
- padding-right: ${({
17403
- theme
17404
- }) => forcePixelValue(theme.space['4'])};
17405
- padding-bottom: ${({
17406
- theme
17407
- }) => forcePixelValue(theme.space['4'])};
17408
- padding-left: ${({
17409
- theme
17410
- }) => forcePixelValue(theme.space['5'])};
17411
- `;
17412
-
17413
- const theme = {
17414
- breakpoints,
17415
- space: space$1,
17416
- fontWeights,
17417
- fontSizes,
17418
- lineHeights,
17419
- radii,
17420
- colors: {
17421
- ...color$2,
17422
- ...surfaceElevation
17423
- },
17424
- gradients: gradient,
17425
- shadows: {
17426
- ...shadowElevation
17204
+ /**
17205
+ * Creates a debounced function that delays invoking `func` until after `wait`
17206
+ * milliseconds have elapsed since the last time the debounced function was
17207
+ * invoked. The debounced function comes with a `cancel` method to cancel
17208
+ * delayed `func` invocations and a `flush` method to immediately invoke them.
17209
+ * Provide `options` to indicate whether `func` should be invoked on the
17210
+ * leading and/or trailing edge of the `wait` timeout. The `func` is invoked
17211
+ * with the last arguments provided to the debounced function. Subsequent
17212
+ * calls to the debounced function return the result of the last `func`
17213
+ * invocation.
17214
+ *
17215
+ * **Note:** If `leading` and `trailing` options are `true`, `func` is
17216
+ * invoked on the trailing edge of the timeout only if the debounced function
17217
+ * is invoked more than once during the `wait` timeout.
17218
+ *
17219
+ * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred
17220
+ * until to the next tick, similar to `setTimeout` with a timeout of `0`.
17221
+ *
17222
+ * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
17223
+ * for details over the differences between `_.debounce` and `_.throttle`.
17224
+ *
17225
+ * @static
17226
+ * @memberOf _
17227
+ * @since 0.1.0
17228
+ * @category Function
17229
+ * @param {Function} func The function to debounce.
17230
+ * @param {number} [wait=0] The number of milliseconds to delay.
17231
+ * @param {Object} [options={}] The options object.
17232
+ * @param {boolean} [options.leading=false]
17233
+ * Specify invoking on the leading edge of the timeout.
17234
+ * @param {number} [options.maxWait]
17235
+ * The maximum time `func` is allowed to be delayed before it's invoked.
17236
+ * @param {boolean} [options.trailing=true]
17237
+ * Specify invoking on the trailing edge of the timeout.
17238
+ * @returns {Function} Returns the new debounced function.
17239
+ * @example
17240
+ *
17241
+ * // Avoid costly calculations while the window size is in flux.
17242
+ * jQuery(window).on('resize', _.debounce(calculateLayout, 150));
17243
+ *
17244
+ * // Invoke `sendMail` when clicked, debouncing subsequent calls.
17245
+ * jQuery(element).on('click', _.debounce(sendMail, 300, {
17246
+ * 'leading': true,
17247
+ * 'trailing': false
17248
+ * }));
17249
+ *
17250
+ * // Ensure `batchLog` is invoked once after 1 second of debounced calls.
17251
+ * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });
17252
+ * var source = new EventSource('/stream');
17253
+ * jQuery(source).on('message', debounced);
17254
+ *
17255
+ * // Cancel the trailing debounced invocation.
17256
+ * jQuery(window).on('popstate', debounced.cancel);
17257
+ */
17258
+ function debounce(func, wait, options) {
17259
+ var lastArgs,
17260
+ lastThis,
17261
+ maxWait,
17262
+ result,
17263
+ timerId,
17264
+ lastCallTime,
17265
+ lastInvokeTime = 0,
17266
+ leading = false,
17267
+ maxing = false,
17268
+ trailing = true;
17269
+ if (typeof func != 'function') {
17270
+ throw new TypeError(FUNC_ERROR_TEXT);
17427
17271
  }
17428
- };
17429
-
17430
- const ThemeProvider = ({
17431
- theme: propTheme,
17432
- ...props
17433
- }) => {
17434
- const theme$1 = propTheme ?? theme;
17435
- return /*#__PURE__*/jsxRuntimeExports.jsx(styled.ThemeProvider, {
17436
- theme: theme$1,
17437
- ...props
17438
- });
17439
- };
17440
-
17441
- const useMediaQuery = query => {
17442
- const getMatches = query => {
17443
- /**
17444
- * SSR 문제를 방지하기 위해 있습니다.
17445
- */
17446
- if (typeof window !== 'undefined') {
17447
- return window.matchMedia(query).matches;
17448
- }
17449
- return false;
17450
- };
17451
- const [matches, setMatches] = React.useState(getMatches(query));
17452
- function handleChange() {
17453
- setMatches(getMatches(query));
17272
+ wait = toNumber(wait) || 0;
17273
+ if (isObject(options)) {
17274
+ leading = !!options.leading;
17275
+ maxing = 'maxWait' in options;
17276
+ maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
17277
+ trailing = 'trailing' in options ? !!options.trailing : trailing;
17454
17278
  }
17455
- React.useEffect(() => {
17456
- const matchMedia = window.matchMedia(query);
17457
-
17458
- /**
17459
- * 클라이언트에서 mediaQuery를 반영하기 위해 로드됩니다.
17460
- */
17461
- handleChange();
17462
- if (matchMedia.addListener) {
17463
- matchMedia.addListener(handleChange);
17464
- } else {
17465
- matchMedia.addEventListener('change', handleChange);
17466
- }
17467
- return () => {
17468
- if (matchMedia.removeListener) {
17469
- matchMedia.removeListener(handleChange);
17470
- } else {
17471
- matchMedia.removeEventListener('change', handleChange);
17472
- }
17473
- };
17474
- }, [query]);
17475
- return matches;
17476
- };
17477
-
17478
- const SingleColumnLayout = ({
17479
- layout,
17480
- viewsObject,
17481
- viewComponentsObject
17482
- }) => /*#__PURE__*/jsxRuntimeExports.jsx(ItemList, {
17483
- items: layout.main,
17484
- renderItem: ({
17485
- viewContainerId
17486
- }) => {
17487
- const view = viewsObject[viewContainerId];
17488
- const ViewComponent = viewComponentsObject[viewContainerId];
17489
- return ViewComponent ? /*#__PURE__*/jsxRuntimeExports.jsx(ViewComponent, {
17490
- view: view
17491
- }) : null;
17492
- },
17493
- renderItemWrapper: (children, {
17494
- viewContainerId,
17495
- spaceProps
17496
- }, i) => /*#__PURE__*/jsxRuntimeExports.jsx(Space, {
17497
- ...spaceProps,
17498
- children: children
17499
- }, [viewContainerId, `${i}`].join('-'))
17500
- });
17501
-
17502
- const ImageView = ({
17503
- view: {
17504
- imageProps,
17505
- ...props
17279
+ function invokeFunc(time) {
17280
+ var args = lastArgs,
17281
+ thisArg = lastThis;
17282
+ lastArgs = lastThis = undefined;
17283
+ lastInvokeTime = time;
17284
+ result = func.apply(thisArg, args);
17285
+ return result;
17506
17286
  }
17507
- }) => /*#__PURE__*/jsxRuntimeExports.jsx(Image, {
17508
- loading: 'lazy',
17509
- display: 'block',
17510
- ...props,
17511
- ...imageProps
17512
- });
17513
-
17514
- const TextView = ({
17515
- view: {
17516
- text,
17517
- textProps
17287
+ function leadingEdge(time) {
17288
+ // Reset any `maxWait` timer.
17289
+ lastInvokeTime = time;
17290
+ // Start the timer for the trailing edge.
17291
+ timerId = setTimeout(timerExpired, wait);
17292
+ // Invoke the leading edge.
17293
+ return leading ? invokeFunc(time) : result;
17518
17294
  }
17519
- }) => /*#__PURE__*/jsxRuntimeExports.jsx(Text, {
17520
- ...textProps,
17521
- children: text
17522
- });
17295
+ function remainingWait(time) {
17296
+ var timeSinceLastCall = time - lastCallTime,
17297
+ timeSinceLastInvoke = time - lastInvokeTime,
17298
+ result = wait - timeSinceLastCall;
17299
+ return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;
17300
+ }
17301
+ function shouldInvoke(time) {
17302
+ var timeSinceLastCall = time - lastCallTime,
17303
+ timeSinceLastInvoke = time - lastInvokeTime;
17523
17304
 
17524
- const IconView = ({
17525
- view: {
17526
- icon,
17527
- iconProps = {
17528
- color: 'icon/neutral',
17529
- size: 24
17305
+ // Either this is the first call, activity has stopped and we're at the
17306
+ // trailing edge, the system time has gone backwards and we're treating
17307
+ // it as the trailing edge, or we've hit the `maxWait` limit.
17308
+ return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;
17309
+ }
17310
+ function timerExpired() {
17311
+ var time = now();
17312
+ if (shouldInvoke(time)) {
17313
+ return trailingEdge(time);
17530
17314
  }
17315
+ // Restart the timer.
17316
+ timerId = setTimeout(timerExpired, remainingWait(time));
17531
17317
  }
17532
- }) => /*#__PURE__*/jsxRuntimeExports.jsx(StyledIcon, {
17533
- icon: icons[icon],
17534
- ...iconProps
17535
- });
17318
+ function trailingEdge(time) {
17319
+ timerId = undefined;
17536
17320
 
17537
- const ChipGroupView = ({
17538
- view: {
17539
- chips = [],
17540
- chipGroupProps: {
17541
- size = 'm',
17542
- gapX = 1,
17543
- gapY = 1
17321
+ // Only invoke if we have `lastArgs` which means `func` has been
17322
+ // debounced at least once.
17323
+ if (trailing && lastArgs) {
17324
+ return invokeFunc(time);
17544
17325
  }
17326
+ lastArgs = lastThis = undefined;
17327
+ return result;
17545
17328
  }
17546
- }) => /*#__PURE__*/jsxRuntimeExports.jsx(Stack$1, {
17547
- gapX: gapX,
17548
- gapY: gapY,
17549
- children: /*#__PURE__*/jsxRuntimeExports.jsx(ItemList, {
17550
- items: chips,
17551
- renderItem: ({
17552
- text,
17553
- variant
17554
- }) => /*#__PURE__*/jsxRuntimeExports.jsx(Chip, {
17555
- size: size,
17556
- variant: variant,
17557
- children: text
17558
- }),
17559
- renderItemWrapper: (children, {
17560
- text,
17561
- variant
17562
- }, i) => /*#__PURE__*/jsxRuntimeExports.jsx(Stack$1.Item, {
17563
- children: children
17564
- }, `${text}-${variant}-${i}`)
17565
- })
17566
- });
17329
+ function cancel() {
17330
+ if (timerId !== undefined) {
17331
+ clearTimeout(timerId);
17332
+ }
17333
+ lastInvokeTime = 0;
17334
+ lastArgs = lastCallTime = lastThis = timerId = undefined;
17335
+ }
17336
+ function flush() {
17337
+ return timerId === undefined ? result : trailingEdge(now());
17338
+ }
17339
+ function debounced() {
17340
+ var time = now(),
17341
+ isInvoking = shouldInvoke(time);
17342
+ lastArgs = arguments;
17343
+ lastThis = this;
17344
+ lastCallTime = time;
17345
+ if (isInvoking) {
17346
+ if (timerId === undefined) {
17347
+ return leadingEdge(lastCallTime);
17348
+ }
17349
+ if (maxing) {
17350
+ // Handle invocations in a tight loop.
17351
+ timerId = setTimeout(timerExpired, wait);
17352
+ return invokeFunc(lastCallTime);
17353
+ }
17354
+ }
17355
+ if (timerId === undefined) {
17356
+ timerId = setTimeout(timerExpired, wait);
17357
+ }
17358
+ return result;
17359
+ }
17360
+ debounced.cancel = cancel;
17361
+ debounced.flush = flush;
17362
+ return debounced;
17363
+ }
17567
17364
 
17568
- const GridView = ({
17569
- view: {
17570
- units = [],
17571
- gridProps
17365
+ /**
17366
+ * Checks if `value` is the
17367
+ * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
17368
+ * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
17369
+ *
17370
+ * @static
17371
+ * @memberOf _
17372
+ * @since 0.1.0
17373
+ * @category Lang
17374
+ * @param {*} value The value to check.
17375
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
17376
+ * @example
17377
+ *
17378
+ * _.isObject({});
17379
+ * // => true
17380
+ *
17381
+ * _.isObject([1, 2, 3]);
17382
+ * // => true
17383
+ *
17384
+ * _.isObject(_.noop);
17385
+ * // => true
17386
+ *
17387
+ * _.isObject(null);
17388
+ * // => false
17389
+ */
17390
+ function isObject(value) {
17391
+ var type = typeof value;
17392
+ return !!value && (type == 'object' || type == 'function');
17393
+ }
17394
+
17395
+ /**
17396
+ * Checks if `value` is object-like. A value is object-like if it's not `null`
17397
+ * and has a `typeof` result of "object".
17398
+ *
17399
+ * @static
17400
+ * @memberOf _
17401
+ * @since 4.0.0
17402
+ * @category Lang
17403
+ * @param {*} value The value to check.
17404
+ * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
17405
+ * @example
17406
+ *
17407
+ * _.isObjectLike({});
17408
+ * // => true
17409
+ *
17410
+ * _.isObjectLike([1, 2, 3]);
17411
+ * // => true
17412
+ *
17413
+ * _.isObjectLike(_.noop);
17414
+ * // => false
17415
+ *
17416
+ * _.isObjectLike(null);
17417
+ * // => false
17418
+ */
17419
+ function isObjectLike(value) {
17420
+ return !!value && typeof value == 'object';
17421
+ }
17422
+
17423
+ /**
17424
+ * Checks if `value` is classified as a `Symbol` primitive or object.
17425
+ *
17426
+ * @static
17427
+ * @memberOf _
17428
+ * @since 4.0.0
17429
+ * @category Lang
17430
+ * @param {*} value The value to check.
17431
+ * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
17432
+ * @example
17433
+ *
17434
+ * _.isSymbol(Symbol.iterator);
17435
+ * // => true
17436
+ *
17437
+ * _.isSymbol('abc');
17438
+ * // => false
17439
+ */
17440
+ function isSymbol(value) {
17441
+ return typeof value == 'symbol' || isObjectLike(value) && objectToString.call(value) == symbolTag;
17442
+ }
17443
+
17444
+ /**
17445
+ * Converts `value` to a number.
17446
+ *
17447
+ * @static
17448
+ * @memberOf _
17449
+ * @since 4.0.0
17450
+ * @category Lang
17451
+ * @param {*} value The value to process.
17452
+ * @returns {number} Returns the number.
17453
+ * @example
17454
+ *
17455
+ * _.toNumber(3.2);
17456
+ * // => 3.2
17457
+ *
17458
+ * _.toNumber(Number.MIN_VALUE);
17459
+ * // => 5e-324
17460
+ *
17461
+ * _.toNumber(Infinity);
17462
+ * // => Infinity
17463
+ *
17464
+ * _.toNumber('3.2');
17465
+ * // => 3.2
17466
+ */
17467
+ function toNumber(value) {
17468
+ if (typeof value == 'number') {
17469
+ return value;
17572
17470
  }
17573
- }) => /*#__PURE__*/jsxRuntimeExports.jsx(Grid$1, {
17574
- ...gridProps,
17575
- children: units.map(({
17576
- views: viewContainers,
17577
- unitProps
17578
- }) => {
17579
- const unitKeySeperator = '_';
17580
- const unitKey = viewContainers.map(({
17581
- id
17582
- }) => id).join(unitKeySeperator);
17583
- return /*#__PURE__*/jsxRuntimeExports.jsx(Grid$1.Unit, {
17584
- ...unitProps,
17585
- children: viewContainers.map(viewContainer => {
17586
- const ViewComponent = getViewComponent(viewContainer);
17587
- return /*#__PURE__*/jsxRuntimeExports.jsx(ViewComponent, {
17588
- view: viewContainer.view
17589
- }, viewContainer.id);
17590
- })
17591
- }, unitKey);
17592
- })
17593
- });
17471
+ if (isSymbol(value)) {
17472
+ return NAN;
17473
+ }
17474
+ if (isObject(value)) {
17475
+ var other = typeof value.valueOf == 'function' ? value.valueOf() : value;
17476
+ value = isObject(other) ? other + '' : other;
17477
+ }
17478
+ if (typeof value != 'string') {
17479
+ return value === 0 ? value : +value;
17480
+ }
17481
+ value = value.replace(reTrim, '');
17482
+ var isBinary = reIsBinary.test(value);
17483
+ return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;
17484
+ }
17485
+ var lodash_debounce = debounce;
17486
+ var debounce$1 = /*@__PURE__*/getDefaultExportFromCjs(lodash_debounce);
17594
17487
 
17595
- const EnigmaUI = ({
17596
- section: {
17597
- views,
17598
- responsiveLayout
17488
+ const useResize = resizeCallback => {
17489
+ const handleResize = React.useCallback(() => resizeCallback?.(), []);
17490
+ React.useEffect(() => {
17491
+ handleResize();
17492
+ }, []);
17493
+ React.useEffect(() => {
17494
+ if (window) {
17495
+ const debouncedHandleResize = debounce$1(handleResize, 150);
17496
+ window.addEventListener('resize', debouncedHandleResize);
17497
+ return () => window.removeEventListener('resize', debouncedHandleResize);
17498
+ }
17499
+ }, []);
17500
+ };
17501
+
17502
+ const scrollIntoView = ({
17503
+ childrenRef,
17504
+ scrollContainerRef,
17505
+ options = {
17506
+ behavior: 'smooth',
17507
+ direction: 'vertical',
17508
+ offset: 0
17599
17509
  }
17600
17510
  }) => {
17601
- const isMatchDesktop = useMediaQuery(`screen and (min-width: ${breakpoints[1]})`);
17602
- const isMatchTablet = useMediaQuery(`screen and (min-width: ${breakpoints[0]})`);
17603
- const media = isMatchDesktop ? 'desktop' : !isMatchDesktop && isMatchTablet ? 'tablet' : 'mobile';
17604
- const layoutContainer = responsiveLayout[media] || responsiveLayout['desktop'] || responsiveLayout['tablet'] || responsiveLayout['mobile'];
17605
- const LayoutComponent = getLayoutComponent(layoutContainer);
17606
- const layout = layoutContainer.layout;
17607
- const viewsObject = Object.fromEntries(views.map(viewContainer => {
17608
- return [viewContainer.id, viewContainer.view];
17609
- }));
17610
- const viewComponentsObject = Object.fromEntries(views.map(view => {
17611
- return [view.id, getViewComponent(view)];
17612
- }));
17613
- return /*#__PURE__*/jsxRuntimeExports.jsx(LayoutComponent, {
17614
- layout: layout,
17615
- viewsObject: viewsObject,
17616
- viewComponentsObject: viewComponentsObject
17617
- });
17618
- };
17619
- const getLayoutComponent = layoutContainer => {
17620
- const renderableLayoutComponent = {
17621
- SingleColumnLayout: SingleColumnLayout
17622
- };
17623
- const LayoutComponent = renderableLayoutComponent[layoutContainer.layoutComponentType];
17624
- return LayoutComponent;
17625
- };
17626
- const getViewComponent = viewContainer => {
17627
- const renderableViewComponent = {
17628
- TextView: TextView,
17629
- ImageView: ImageView,
17630
- IconView: IconView,
17631
- ChipGroupView: ChipGroupView,
17632
- GridView: GridView
17633
- };
17634
- const ViewComponent = renderableViewComponent[viewContainer.viewComponentType];
17635
- return ViewComponent;
17511
+ if (!isNullable(scrollContainerRef)) {
17512
+ const startSide = options.direction === 'vertical' ? 'top' : 'left';
17513
+ const endSide = options.direction === 'vertical' ? 'bottom' : 'right';
17514
+ const scrollSide = options.direction === 'vertical' ? 'scrollTop' : 'scrollLeft';
17515
+ const {
17516
+ [startSide]: childrenStart,
17517
+ [endSide]: childrenEnd
17518
+ } = childrenRef.getBoundingClientRect();
17519
+ const {
17520
+ [startSide]: scrollContainerStart,
17521
+ [endSide]: scrollContainerEnd
17522
+ } = scrollContainerRef.getBoundingClientRect();
17523
+ const isChildrenStartAboveScrollContainer = childrenStart < scrollContainerStart;
17524
+ const isChildrenBottomBelowScrollContainer = childrenEnd > scrollContainerEnd;
17525
+ if (isChildrenStartAboveScrollContainer) {
17526
+ const scrollDistance = childrenStart - scrollContainerStart + scrollContainerRef[scrollSide] - (options.offset || 0);
17527
+ scrollContainerRef.scrollTo({
17528
+ behavior: options.behavior,
17529
+ [startSide]: scrollDistance
17530
+ });
17531
+ } else if (isChildrenBottomBelowScrollContainer) {
17532
+ const scrollDistance = childrenEnd - scrollContainerEnd + scrollContainerRef[scrollSide] + (options.offset || 0);
17533
+ scrollContainerRef.scrollTo({
17534
+ behavior: options.behavior,
17535
+ [startSide]: scrollDistance
17536
+ });
17537
+ }
17538
+ } else {
17539
+ childrenRef.scrollIntoView({
17540
+ behavior: options.behavior
17541
+ });
17542
+ }
17636
17543
  };
17637
- var index = Object.assign(EnigmaUI, {
17638
- TextView,
17639
- ImageView,
17640
- IconView,
17641
- ChipGroupView,
17642
- GridView
17643
- });
17644
17544
 
17645
- /**
17646
- * lodash (Custom Build) <https://lodash.com/>
17647
- * Build: `lodash modularize exports="npm" -o ./`
17648
- * Copyright jQuery Foundation and other contributors <https://jquery.org/>
17649
- * Released under MIT license <https://lodash.com/license>
17650
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
17651
- * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
17545
+ const TabItem = ({
17546
+ children,
17547
+ leadingIcon: LeadingIcon,
17548
+ selected = false,
17549
+ onClick,
17550
+ size: propSize,
17551
+ variant: propVariant
17552
+ }) => {
17553
+ const ref = React.useRef(null);
17554
+ const {
17555
+ size: contextSize,
17556
+ variant: contextVariant,
17557
+ containerRef
17558
+ } = React.useContext(TabContext);
17559
+ const size = propSize ?? contextSize;
17560
+ const variant = propVariant ?? contextVariant;
17561
+ const handleClick = e => {
17562
+ if (containerRef && containerRef.current && ref.current) {
17563
+ scrollIntoView({
17564
+ scrollContainerRef: containerRef.current,
17565
+ childrenRef: ref.current,
17566
+ options: {
17567
+ behavior: 'smooth',
17568
+ offset: 72
17569
+ }
17570
+ });
17571
+ }
17572
+ onClick?.(e);
17573
+ };
17574
+ return /*#__PURE__*/jsxRuntimeExports.jsx(BaseTabItem, {
17575
+ role: 'tab',
17576
+ ref: ref,
17577
+ variant: variant,
17578
+ size: size,
17579
+ leadingIcon: LeadingIcon,
17580
+ selected: selected,
17581
+ onClick: handleClick,
17582
+ children: /*#__PURE__*/jsxRuntimeExports.jsxs(View, {
17583
+ sx: {
17584
+ display: 'flex',
17585
+ flexDirection: 'row',
17586
+ alignItems: 'center',
17587
+ justifyContent: 'center',
17588
+ columnGap: 1
17589
+ },
17590
+ children: [LeadingIcon ? /*#__PURE__*/jsxRuntimeExports.jsx(LeadingIcon, {}) : null, /*#__PURE__*/jsxRuntimeExports.jsx(View, {
17591
+ children: children
17592
+ })]
17593
+ })
17594
+ });
17595
+ };
17596
+ const BaseTabItem = styled__default.default(UnstyledButton)(({
17597
+ theme
17598
+ }) => ({
17599
+ 'width': 'initial',
17600
+ 'position': 'relative',
17601
+ 'transition': 'background-color 100ms, color 100ms',
17602
+ 'whiteSpace': 'nowrap',
17603
+ '& svg': {
17604
+ transition: 'color 100ms'
17605
+ },
17606
+ '&:focus-visible': {
17607
+ outlineColor: theme.colors['border/focused'],
17608
+ outlineStyle: 'solid',
17609
+ outlineWidth: 2,
17610
+ outlineOffset: 2
17611
+ }
17612
+ }), () => variant({
17613
+ prop: 'size',
17614
+ variants: {
17615
+ l: {
17616
+ 'px': 4,
17617
+ 'py': 2,
17618
+ 'fontSize': typography$1['s'].fontSize,
17619
+ 'fontWeight': typography$1['s'].fontWeight,
17620
+ 'lineHeight': typography$1['s'].lineHeight,
17621
+ '& svg': {
17622
+ width: 20,
17623
+ height: 20
17624
+ }
17625
+ },
17626
+ m: {
17627
+ 'px': 4,
17628
+ 'py': 2,
17629
+ 'fontSize': typography$1['xs'].fontSize,
17630
+ 'fontWeight': typography$1['xs'].fontWeight,
17631
+ 'lineHeight': typography$1['xs'].lineHeight,
17632
+ '& svg': {
17633
+ width: 20,
17634
+ height: 20
17635
+ }
17636
+ },
17637
+ s: {
17638
+ 'px': 3,
17639
+ 'py': 2,
17640
+ 'fontSize': typography$1['xxs'].fontSize,
17641
+ 'fontWeight': typography$1['xxs'].fontWeight,
17642
+ 'lineHeight': typography$1['xxs'].lineHeight,
17643
+ '& svg': {
17644
+ width: 16,
17645
+ height: 16
17646
+ }
17647
+ }
17648
+ }
17649
+ }), ({
17650
+ theme,
17651
+ selected
17652
+ }) => variant({
17653
+ prop: 'variant',
17654
+ variants: {
17655
+ plain: {
17656
+ borderRadius: theme.radii.full,
17657
+ ...(selected ? {
17658
+ 'color': theme.colors['text/neutral'],
17659
+ 'backgroundColor': theme.colors['bg/selected/subtle'],
17660
+ '& svg': {
17661
+ color: theme.colors['icon/selected']
17662
+ }
17663
+ } : {
17664
+ 'color': theme.colors['text/neutral/subtler'],
17665
+ 'backgroundColor': theme.colors['bg/neutral/subtler'],
17666
+ '& svg': {
17667
+ color: theme.colors['icon/neutral']
17668
+ },
17669
+ '&:hover, &:active': {
17670
+ 'color': theme.colors['text/neutral/subtle'],
17671
+ '& svg': {
17672
+ color: theme.colors['icon/neutral/bolder']
17673
+ }
17674
+ }
17675
+ })
17676
+ },
17677
+ outlined: {
17678
+ borderRadius: theme.radii.full,
17679
+ ...(selected ? {
17680
+ 'color': theme.colors['text/inverse'],
17681
+ 'backgroundColor': theme.colors['bg/selected'],
17682
+ '& svg': {
17683
+ color: theme.colors['icon/inverse']
17684
+ }
17685
+ } : {
17686
+ 'color': theme.colors['text/neutral/subtler'],
17687
+ 'backgroundColor': theme.colors['bg/neutral/subtler'],
17688
+ '& svg': {
17689
+ color: theme.colors['icon/neutral']
17690
+ },
17691
+ '&:after': {
17692
+ content: '""',
17693
+ position: 'absolute',
17694
+ top: 0,
17695
+ right: 0,
17696
+ bottom: 0,
17697
+ left: 0,
17698
+ borderWidth: 1,
17699
+ borderStyle: 'solid',
17700
+ borderColor: theme.colors['border/neutral/bolder'],
17701
+ borderRadius: theme.radii.full,
17702
+ boxSizing: 'border-box'
17703
+ },
17704
+ '&:hover': {
17705
+ backgroundColor: theme.colors['bg/neutral/subtler/hovered']
17706
+ },
17707
+ '&:active': {
17708
+ backgroundColor: theme.colors['bg/neutral/subtler/pressed']
17709
+ }
17710
+ })
17711
+ },
17712
+ underline: {
17713
+ borderRadius: theme.radii.xxs,
17714
+ ...(selected ? {
17715
+ 'color': theme.colors['text/selected'],
17716
+ 'backgroundColor': theme.colors['bg/neutral/subtler'],
17717
+ '& svg': {
17718
+ color: theme.colors['icon/selected']
17719
+ },
17720
+ ':after': {
17721
+ content: '""',
17722
+ position: 'absolute',
17723
+ top: 0,
17724
+ right: 0,
17725
+ bottom: 0,
17726
+ left: 0,
17727
+ borderBottomWidth: 2,
17728
+ borderBottomStyle: 'solid',
17729
+ borderBottomColor: theme.colors['border/selected'],
17730
+ borderRadius: theme.radii.none,
17731
+ boxSizing: 'border-box'
17732
+ }
17733
+ } : {
17734
+ 'color': theme.colors['text/neutral/subtler'],
17735
+ 'backgroundColor': theme.colors['bg/neutral/subtler'],
17736
+ '& svg': {
17737
+ color: theme.colors['icon/neutral']
17738
+ },
17739
+ ':hover, :active': {
17740
+ 'color': theme.colors['text/neutral/subtle'],
17741
+ '& svg': {
17742
+ color: theme.colors['icon/neutral/bolder']
17743
+ }
17744
+ }
17745
+ })
17746
+ }
17747
+ }
17748
+ }));
17749
+
17750
+ const TabContext = /*#__PURE__*/React.createContext({});
17751
+ const Tab = ({
17752
+ variant = 'plain',
17753
+ size = 'm',
17754
+ gap = 2,
17755
+ children
17756
+ }) => {
17757
+ const rootRef = React.useRef(null);
17758
+ const [isLeftButtonVisible, setIsLeftButtonVisible] = React.useState(rootRef.current ? rootRef.current.scrollLeft > 0 : false);
17759
+ const [isRightButtonVisible, setIsRightButtonVisible] = React.useState(rootRef.current ? rootRef.current.clientWidth + rootRef.current.scrollLeft < rootRef.current.scrollWidth : false);
17760
+ const handleScrollButtonVisibility = () => {
17761
+ if (rootRef.current) {
17762
+ setIsLeftButtonVisible(rootRef.current ? rootRef.current.scrollLeft > 0 : false);
17763
+ setIsRightButtonVisible(rootRef.current ? rootRef.current.clientWidth + Math.ceil(rootRef.current.scrollLeft) < rootRef.current.scrollWidth : false);
17764
+ }
17765
+ };
17766
+ const buttonWidth = 32;
17767
+ const gradientWidth = 40;
17768
+ const handleLeftButtonClick = () => {
17769
+ if (rootRef.current) {
17770
+ rootRef.current.scrollTo({
17771
+ left: rootRef.current.scrollLeft - rootRef.current.clientWidth + buttonWidth + gradientWidth,
17772
+ behavior: 'smooth'
17773
+ });
17774
+ }
17775
+ };
17776
+ const handleRightButtonClick = () => {
17777
+ if (rootRef.current) {
17778
+ rootRef.current.scrollTo({
17779
+ left: rootRef.current.scrollLeft + rootRef.current.clientWidth - (buttonWidth + gradientWidth),
17780
+ behavior: 'smooth'
17781
+ });
17782
+ }
17783
+ };
17784
+ React.useEffect(() => {
17785
+ handleScrollButtonVisibility();
17786
+ }, []);
17787
+ useResize(handleScrollButtonVisibility);
17788
+ return /*#__PURE__*/jsxRuntimeExports.jsx(TabContext.Provider, {
17789
+ value: {
17790
+ variant,
17791
+ size,
17792
+ containerRef: rootRef
17793
+ },
17794
+ children: /*#__PURE__*/jsxRuntimeExports.jsxs(View, {
17795
+ position: 'relative',
17796
+ children: [/*#__PURE__*/jsxRuntimeExports.jsx(View, {
17797
+ ref: rootRef,
17798
+ role: 'tablist',
17799
+ sx: {
17800
+ 'width': 'auto',
17801
+ 'display': 'flex',
17802
+ 'flexDirection': 'row',
17803
+ 'alignItems': 'center',
17804
+ 'columnGap': gap,
17805
+ 'overflowX': 'auto',
17806
+ 'msOverflowStyle': 'none',
17807
+ '::-webkit-scrollbar': {
17808
+ display: 'none'
17809
+ }
17810
+ },
17811
+ onScroll: throttle$1(handleScrollButtonVisibility, 150),
17812
+ children: children
17813
+ }), /*#__PURE__*/jsxRuntimeExports.jsxs(View, {
17814
+ display: ['none', 'initial', 'initial'],
17815
+ children: [isLeftButtonVisible ? /*#__PURE__*/jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, {
17816
+ children: [/*#__PURE__*/jsxRuntimeExports.jsx(View, {
17817
+ sx: {
17818
+ position: 'absolute',
17819
+ top: 0,
17820
+ left: forcePixelValue(buttonWidth),
17821
+ bottom: 0,
17822
+ width: forcePixelValue(gradientWidth),
17823
+ height: '100%',
17824
+ background: `linear-gradient(${gradient['overlay/floating/toright']})`,
17825
+ pointerEvents: 'none'
17826
+ }
17827
+ }), /*#__PURE__*/jsxRuntimeExports.jsx(View, {
17828
+ sx: {
17829
+ position: 'absolute',
17830
+ display: 'flex',
17831
+ alignItems: 'center',
17832
+ top: 0,
17833
+ left: 0,
17834
+ bottom: 0,
17835
+ backgroundColor: elevation.surface
17836
+ },
17837
+ children: /*#__PURE__*/jsxRuntimeExports.jsx(IconButton, {
17838
+ size: 's',
17839
+ variant: 'plain-bold',
17840
+ icon: SvgChevronLeft,
17841
+ onClick: handleLeftButtonClick
17842
+ })
17843
+ })]
17844
+ }) : null, isRightButtonVisible ? /*#__PURE__*/jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, {
17845
+ children: [/*#__PURE__*/jsxRuntimeExports.jsx(View, {
17846
+ sx: {
17847
+ position: 'absolute',
17848
+ top: 0,
17849
+ right: forcePixelValue(buttonWidth),
17850
+ bottom: 0,
17851
+ width: forcePixelValue(gradientWidth),
17852
+ height: '100%',
17853
+ background: `linear-gradient(${gradient['overlay/floating/toleft']})`,
17854
+ pointerEvents: 'none'
17855
+ }
17856
+ }), /*#__PURE__*/jsxRuntimeExports.jsx(View, {
17857
+ sx: {
17858
+ position: 'absolute',
17859
+ display: 'flex',
17860
+ alignItems: 'center',
17861
+ top: 0,
17862
+ right: 0,
17863
+ bottom: 0,
17864
+ backgroundColor: elevation.surface
17865
+ },
17866
+ children: /*#__PURE__*/jsxRuntimeExports.jsx(IconButton, {
17867
+ size: 's',
17868
+ variant: 'plain-bold',
17869
+ icon: SvgChevronRight,
17870
+ onClick: handleRightButtonClick
17871
+ })
17872
+ })]
17873
+ }) : null]
17874
+ })]
17875
+ })
17876
+ });
17877
+ };
17878
+ var index$1 = Object.assign(Tab, {
17879
+ Item: TabItem
17880
+ });
17881
+
17882
+ /**
17883
+ * 제공된 `ref`가 없는 경우 새로운 `ref`를 만들어 사용하고, 있는 경우 제공된 ref를 사용할 수 있는 훅입니다.
17652
17884
  */
17885
+ const useProvidedOrCreatedRef = providedRef => {
17886
+ const createdRef = React.useRef(null);
17887
+ return providedRef ?? createdRef;
17888
+ };
17653
17889
 
17654
- /** Used as the `TypeError` message for "Functions" methods. */
17655
- var FUNC_ERROR_TEXT = 'Expected a function';
17890
+ const Textarea = /*#__PURE__*/React.forwardRef(({
17891
+ disabled,
17892
+ ...props
17893
+ }, ref) => {
17894
+ const inputRef = useProvidedOrCreatedRef(ref);
17895
+ const focusInput = () => {
17896
+ inputRef.current?.focus();
17897
+ };
17898
+ return /*#__PURE__*/jsxRuntimeExports.jsx(TextareaWrapper, {
17899
+ disabled: disabled,
17900
+ onClick: focusInput,
17901
+ children: /*#__PURE__*/jsxRuntimeExports.jsx(BaseTextarea, {
17902
+ ref: e => {
17903
+ isFunction(ref) ? ref(e) : null;
17904
+ inputRef.current = e;
17905
+ },
17906
+ disabled: disabled,
17907
+ ...props
17908
+ })
17909
+ });
17910
+ });
17911
+ const TextareaWrapper = styled__default.default.div`
17912
+ position: relative;
17913
+ width: ${forcePixelValue('100%')};
17914
+ border-width: ${forcePixelValue(1)};
17915
+ border-style: solid;
17916
+ border-radius: ${({
17917
+ theme
17918
+ }) => forcePixelValue(theme.radii.s)};
17919
+ border-color: ${({
17920
+ theme
17921
+ }) => theme.colors['border/input']};
17922
+ background-color: ${({
17923
+ theme
17924
+ }) => theme.colors['bg/input']};
17925
+ cursor: text;
17926
+ display: inline-flex;
17927
+ align-items: center;
17928
+
17929
+ padding-top: ${({
17930
+ theme
17931
+ }) => forcePixelValue(theme.space['4'])};
17932
+ padding-right: ${({
17933
+ theme
17934
+ }) => forcePixelValue(theme.space['4'])};
17935
+ padding-bottom: ${({
17936
+ theme
17937
+ }) => forcePixelValue(theme.space['4'])};
17938
+ padding-left: ${({
17939
+ theme
17940
+ }) => forcePixelValue(theme.space['5'])};
17941
+
17942
+ font-size: ${({
17943
+ theme
17944
+ }) => forcePixelValue(theme.fontSizes.xs)};
17945
+ font-weight: ${({
17946
+ theme
17947
+ }) => theme.fontWeights.medium};
17948
+ line-height: ${({
17949
+ theme
17950
+ }) => theme.lineHeights[2]};
17951
+ color: ${({
17952
+ theme
17953
+ }) => theme.colors['text/neutral']};
17954
+ input::placeholder {
17955
+ color: ${({
17956
+ theme
17957
+ }) => theme.colors['text/neutral/subtlest']};
17958
+ }
17959
+
17960
+ height: 74px;
17961
+
17962
+ &:after {
17963
+ content: '';
17964
+ position: absolute;
17965
+ top: ${forcePixelValue(-1)};
17966
+ right: ${forcePixelValue(-1)};
17967
+ bottom: ${forcePixelValue(-1)};
17968
+ left: ${forcePixelValue(-1)};
17969
+
17970
+ border: ${forcePixelValue(2)} solid transparent;
17971
+ border-radius: ${({
17972
+ theme
17973
+ }) => forcePixelValue(theme.radii.s)};
17974
+ pointer-events: none;
17975
+ }
17976
+
17977
+ ${props => props.validationStatus !== 'error' && !props.disabled && styled.css`
17978
+ &:hover:not(:focus-within) {
17979
+ &:after {
17980
+ border-color: ${({
17981
+ theme
17982
+ }) => theme.colors['border/hovered']};
17983
+ }
17984
+ }
17985
+ `}
17986
+
17987
+ ${props => props.validationStatus === 'error' && styled.css`
17988
+ &:after {
17989
+ border-color: ${({
17990
+ theme
17991
+ }) => theme.colors['border/danger']};
17992
+ }
17993
+ `}
17994
+
17995
+ ${props => props.validationStatus !== 'error' && styled.css`
17996
+ &:focus-within {
17997
+ &:after {
17998
+ border-color: ${({
17999
+ theme
18000
+ }) => theme.colors['border/focused']};
18001
+ }
18002
+ }
18003
+ `}
18004
+
18005
+ ${props => props.disabled && styled.css`
18006
+ border-color: ${props.theme.colors['border/input']};
18007
+ background-color: ${props.theme.colors['bg/disabled']};
18008
+ color: ${props.theme.colors['text/disabled']};
18009
+
18010
+ textarea::placeholder {
18011
+ color: ${props.theme.colors['text/disabled']};
18012
+ }
18013
+
18014
+ &,
18015
+ textarea {
18016
+ cursor: not-allowed;
18017
+ }
18018
+ `};
18019
+ `;
18020
+ const UnstyledTextarea = styled__default.default.textarea`
18021
+ font-size: inherit;
18022
+ font-weight: inherit;
18023
+ line-height: inherit;
18024
+ font-family: inherit;
18025
+ border-radius: inherit;
18026
+ color: inherit;
18027
+ transition: inherit;
18028
+
18029
+ border: 0;
18030
+ background-color: transparent;
18031
+ width: 100%;
18032
+ &:focus {
18033
+ outline: 0;
18034
+ }
18035
+ `;
18036
+ const BaseTextarea = styled__default.default(UnstyledTextarea)`
18037
+ resize: none;
18038
+ `;
18039
+
18040
+ var reactIs = {exports: {}};
18041
+
18042
+ var reactIs_production_min = {};
18043
+
18044
+ /**
18045
+ * @license React
18046
+ * react-is.production.min.js
18047
+ *
18048
+ * Copyright (c) Facebook, Inc. and its affiliates.
18049
+ *
18050
+ * This source code is licensed under the MIT license found in the
18051
+ * LICENSE file in the root directory of this source tree.
18052
+ */
18053
+ var hasRequiredReactIs_production_min;
18054
+ function requireReactIs_production_min() {
18055
+ if (hasRequiredReactIs_production_min) return reactIs_production_min;
18056
+ hasRequiredReactIs_production_min = 1;
18057
+ var b = Symbol.for("react.element"),
18058
+ c = Symbol.for("react.portal"),
18059
+ d = Symbol.for("react.fragment"),
18060
+ e = Symbol.for("react.strict_mode"),
18061
+ f = Symbol.for("react.profiler"),
18062
+ g = Symbol.for("react.provider"),
18063
+ h = Symbol.for("react.context"),
18064
+ k = Symbol.for("react.server_context"),
18065
+ l = Symbol.for("react.forward_ref"),
18066
+ m = Symbol.for("react.suspense"),
18067
+ n = Symbol.for("react.suspense_list"),
18068
+ p = Symbol.for("react.memo"),
18069
+ q = Symbol.for("react.lazy"),
18070
+ t = Symbol.for("react.offscreen"),
18071
+ u;
18072
+ u = Symbol.for("react.module.reference");
18073
+ function v(a) {
18074
+ if ("object" === typeof a && null !== a) {
18075
+ var r = a.$$typeof;
18076
+ switch (r) {
18077
+ case b:
18078
+ switch (a = a.type, a) {
18079
+ case d:
18080
+ case f:
18081
+ case e:
18082
+ case m:
18083
+ case n:
18084
+ return a;
18085
+ default:
18086
+ switch (a = a && a.$$typeof, a) {
18087
+ case k:
18088
+ case h:
18089
+ case l:
18090
+ case q:
18091
+ case p:
18092
+ case g:
18093
+ return a;
18094
+ default:
18095
+ return r;
18096
+ }
18097
+ }
18098
+ case c:
18099
+ return r;
18100
+ }
18101
+ }
18102
+ }
18103
+ reactIs_production_min.ContextConsumer = h;
18104
+ reactIs_production_min.ContextProvider = g;
18105
+ reactIs_production_min.Element = b;
18106
+ reactIs_production_min.ForwardRef = l;
18107
+ reactIs_production_min.Fragment = d;
18108
+ reactIs_production_min.Lazy = q;
18109
+ reactIs_production_min.Memo = p;
18110
+ reactIs_production_min.Portal = c;
18111
+ reactIs_production_min.Profiler = f;
18112
+ reactIs_production_min.StrictMode = e;
18113
+ reactIs_production_min.Suspense = m;
18114
+ reactIs_production_min.SuspenseList = n;
18115
+ reactIs_production_min.isAsyncMode = function () {
18116
+ return !1;
18117
+ };
18118
+ reactIs_production_min.isConcurrentMode = function () {
18119
+ return !1;
18120
+ };
18121
+ reactIs_production_min.isContextConsumer = function (a) {
18122
+ return v(a) === h;
18123
+ };
18124
+ reactIs_production_min.isContextProvider = function (a) {
18125
+ return v(a) === g;
18126
+ };
18127
+ reactIs_production_min.isElement = function (a) {
18128
+ return "object" === typeof a && null !== a && a.$$typeof === b;
18129
+ };
18130
+ reactIs_production_min.isForwardRef = function (a) {
18131
+ return v(a) === l;
18132
+ };
18133
+ reactIs_production_min.isFragment = function (a) {
18134
+ return v(a) === d;
18135
+ };
18136
+ reactIs_production_min.isLazy = function (a) {
18137
+ return v(a) === q;
18138
+ };
18139
+ reactIs_production_min.isMemo = function (a) {
18140
+ return v(a) === p;
18141
+ };
18142
+ reactIs_production_min.isPortal = function (a) {
18143
+ return v(a) === c;
18144
+ };
18145
+ reactIs_production_min.isProfiler = function (a) {
18146
+ return v(a) === f;
18147
+ };
18148
+ reactIs_production_min.isStrictMode = function (a) {
18149
+ return v(a) === e;
18150
+ };
18151
+ reactIs_production_min.isSuspense = function (a) {
18152
+ return v(a) === m;
18153
+ };
18154
+ reactIs_production_min.isSuspenseList = function (a) {
18155
+ return v(a) === n;
18156
+ };
18157
+ reactIs_production_min.isValidElementType = function (a) {
18158
+ return "string" === typeof a || "function" === typeof a || a === d || a === f || a === e || a === m || a === n || a === t || "object" === typeof a && null !== a && (a.$$typeof === q || a.$$typeof === p || a.$$typeof === g || a.$$typeof === h || a.$$typeof === l || a.$$typeof === u || void 0 !== a.getModuleId) ? !0 : !1;
18159
+ };
18160
+ reactIs_production_min.typeOf = v;
18161
+ return reactIs_production_min;
18162
+ }
18163
+
18164
+ var reactIs_development = {};
18165
+
18166
+ /**
18167
+ * @license React
18168
+ * react-is.development.js
18169
+ *
18170
+ * Copyright (c) Facebook, Inc. and its affiliates.
18171
+ *
18172
+ * This source code is licensed under the MIT license found in the
18173
+ * LICENSE file in the root directory of this source tree.
18174
+ */
18175
+ var hasRequiredReactIs_development;
18176
+ function requireReactIs_development() {
18177
+ if (hasRequiredReactIs_development) return reactIs_development;
18178
+ hasRequiredReactIs_development = 1;
18179
+ if (process.env.NODE_ENV !== "production") {
18180
+ (function () {
18181
+
18182
+ // ATTENTION
18183
+ // When adding new symbols to this file,
18184
+ // Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'
18185
+ // The Symbol used to tag the ReactElement-like types.
18186
+ var REACT_ELEMENT_TYPE = Symbol.for('react.element');
18187
+ var REACT_PORTAL_TYPE = Symbol.for('react.portal');
18188
+ var REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');
18189
+ var REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');
18190
+ var REACT_PROFILER_TYPE = Symbol.for('react.profiler');
18191
+ var REACT_PROVIDER_TYPE = Symbol.for('react.provider');
18192
+ var REACT_CONTEXT_TYPE = Symbol.for('react.context');
18193
+ var REACT_SERVER_CONTEXT_TYPE = Symbol.for('react.server_context');
18194
+ var REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');
18195
+ var REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');
18196
+ var REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');
18197
+ var REACT_MEMO_TYPE = Symbol.for('react.memo');
18198
+ var REACT_LAZY_TYPE = Symbol.for('react.lazy');
18199
+ var REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');
18200
+
18201
+ // -----------------------------------------------------------------------------
18202
+
18203
+ var enableScopeAPI = false; // Experimental Create Event Handle API.
18204
+ var enableCacheElement = false;
18205
+ var enableTransitionTracing = false; // No known bugs, but needs performance testing
18206
+
18207
+ var enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber
18208
+ // stuff. Intended to enable React core members to more easily debug scheduling
18209
+ // issues in DEV builds.
18210
+
18211
+ var enableDebugTracing = false; // Track which Fiber(s) schedule render work.
18212
+
18213
+ var REACT_MODULE_REFERENCE;
18214
+ {
18215
+ REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');
18216
+ }
18217
+ function isValidElementType(type) {
18218
+ if (typeof type === 'string' || typeof type === 'function') {
18219
+ return true;
18220
+ } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).
18221
+
18222
+ if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing) {
18223
+ return true;
18224
+ }
18225
+ if (typeof type === 'object' && type !== null) {
18226
+ if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE ||
18227
+ // This needs to include all possible module reference object
18228
+ // types supported by any Flight configuration anywhere since
18229
+ // we don't know which Flight build this will end up being used
18230
+ // with.
18231
+ type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {
18232
+ return true;
18233
+ }
18234
+ }
18235
+ return false;
18236
+ }
18237
+ function typeOf(object) {
18238
+ if (typeof object === 'object' && object !== null) {
18239
+ var $$typeof = object.$$typeof;
18240
+ switch ($$typeof) {
18241
+ case REACT_ELEMENT_TYPE:
18242
+ var type = object.type;
18243
+ switch (type) {
18244
+ case REACT_FRAGMENT_TYPE:
18245
+ case REACT_PROFILER_TYPE:
18246
+ case REACT_STRICT_MODE_TYPE:
18247
+ case REACT_SUSPENSE_TYPE:
18248
+ case REACT_SUSPENSE_LIST_TYPE:
18249
+ return type;
18250
+ default:
18251
+ var $$typeofType = type && type.$$typeof;
18252
+ switch ($$typeofType) {
18253
+ case REACT_SERVER_CONTEXT_TYPE:
18254
+ case REACT_CONTEXT_TYPE:
18255
+ case REACT_FORWARD_REF_TYPE:
18256
+ case REACT_LAZY_TYPE:
18257
+ case REACT_MEMO_TYPE:
18258
+ case REACT_PROVIDER_TYPE:
18259
+ return $$typeofType;
18260
+ default:
18261
+ return $$typeof;
18262
+ }
18263
+ }
18264
+ case REACT_PORTAL_TYPE:
18265
+ return $$typeof;
18266
+ }
18267
+ }
18268
+ return undefined;
18269
+ }
18270
+ var ContextConsumer = REACT_CONTEXT_TYPE;
18271
+ var ContextProvider = REACT_PROVIDER_TYPE;
18272
+ var Element = REACT_ELEMENT_TYPE;
18273
+ var ForwardRef = REACT_FORWARD_REF_TYPE;
18274
+ var Fragment = REACT_FRAGMENT_TYPE;
18275
+ var Lazy = REACT_LAZY_TYPE;
18276
+ var Memo = REACT_MEMO_TYPE;
18277
+ var Portal = REACT_PORTAL_TYPE;
18278
+ var Profiler = REACT_PROFILER_TYPE;
18279
+ var StrictMode = REACT_STRICT_MODE_TYPE;
18280
+ var Suspense = REACT_SUSPENSE_TYPE;
18281
+ var SuspenseList = REACT_SUSPENSE_LIST_TYPE;
18282
+ var hasWarnedAboutDeprecatedIsAsyncMode = false;
18283
+ var hasWarnedAboutDeprecatedIsConcurrentMode = false; // AsyncMode should be deprecated
18284
+
18285
+ function isAsyncMode(object) {
18286
+ {
18287
+ if (!hasWarnedAboutDeprecatedIsAsyncMode) {
18288
+ hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
18289
+
18290
+ console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 18+.');
18291
+ }
18292
+ }
18293
+ return false;
18294
+ }
18295
+ function isConcurrentMode(object) {
18296
+ {
18297
+ if (!hasWarnedAboutDeprecatedIsConcurrentMode) {
18298
+ hasWarnedAboutDeprecatedIsConcurrentMode = true; // Using console['warn'] to evade Babel and ESLint
18299
+
18300
+ console['warn']('The ReactIs.isConcurrentMode() alias has been deprecated, ' + 'and will be removed in React 18+.');
18301
+ }
18302
+ }
18303
+ return false;
18304
+ }
18305
+ function isContextConsumer(object) {
18306
+ return typeOf(object) === REACT_CONTEXT_TYPE;
18307
+ }
18308
+ function isContextProvider(object) {
18309
+ return typeOf(object) === REACT_PROVIDER_TYPE;
18310
+ }
18311
+ function isElement(object) {
18312
+ return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
18313
+ }
18314
+ function isForwardRef(object) {
18315
+ return typeOf(object) === REACT_FORWARD_REF_TYPE;
18316
+ }
18317
+ function isFragment(object) {
18318
+ return typeOf(object) === REACT_FRAGMENT_TYPE;
18319
+ }
18320
+ function isLazy(object) {
18321
+ return typeOf(object) === REACT_LAZY_TYPE;
18322
+ }
18323
+ function isMemo(object) {
18324
+ return typeOf(object) === REACT_MEMO_TYPE;
18325
+ }
18326
+ function isPortal(object) {
18327
+ return typeOf(object) === REACT_PORTAL_TYPE;
18328
+ }
18329
+ function isProfiler(object) {
18330
+ return typeOf(object) === REACT_PROFILER_TYPE;
18331
+ }
18332
+ function isStrictMode(object) {
18333
+ return typeOf(object) === REACT_STRICT_MODE_TYPE;
18334
+ }
18335
+ function isSuspense(object) {
18336
+ return typeOf(object) === REACT_SUSPENSE_TYPE;
18337
+ }
18338
+ function isSuspenseList(object) {
18339
+ return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;
18340
+ }
18341
+ reactIs_development.ContextConsumer = ContextConsumer;
18342
+ reactIs_development.ContextProvider = ContextProvider;
18343
+ reactIs_development.Element = Element;
18344
+ reactIs_development.ForwardRef = ForwardRef;
18345
+ reactIs_development.Fragment = Fragment;
18346
+ reactIs_development.Lazy = Lazy;
18347
+ reactIs_development.Memo = Memo;
18348
+ reactIs_development.Portal = Portal;
18349
+ reactIs_development.Profiler = Profiler;
18350
+ reactIs_development.StrictMode = StrictMode;
18351
+ reactIs_development.Suspense = Suspense;
18352
+ reactIs_development.SuspenseList = SuspenseList;
18353
+ reactIs_development.isAsyncMode = isAsyncMode;
18354
+ reactIs_development.isConcurrentMode = isConcurrentMode;
18355
+ reactIs_development.isContextConsumer = isContextConsumer;
18356
+ reactIs_development.isContextProvider = isContextProvider;
18357
+ reactIs_development.isElement = isElement;
18358
+ reactIs_development.isForwardRef = isForwardRef;
18359
+ reactIs_development.isFragment = isFragment;
18360
+ reactIs_development.isLazy = isLazy;
18361
+ reactIs_development.isMemo = isMemo;
18362
+ reactIs_development.isPortal = isPortal;
18363
+ reactIs_development.isProfiler = isProfiler;
18364
+ reactIs_development.isStrictMode = isStrictMode;
18365
+ reactIs_development.isSuspense = isSuspense;
18366
+ reactIs_development.isSuspenseList = isSuspenseList;
18367
+ reactIs_development.isValidElementType = isValidElementType;
18368
+ reactIs_development.typeOf = typeOf;
18369
+ })();
18370
+ }
18371
+ return reactIs_development;
18372
+ }
18373
+
18374
+ if (process.env.NODE_ENV === 'production') {
18375
+ reactIs.exports = requireReactIs_production_min();
18376
+ } else {
18377
+ reactIs.exports = requireReactIs_development();
18378
+ }
18379
+ var reactIsExports = reactIs.exports;
18380
+
18381
+ const TextInput = /*#__PURE__*/React.forwardRef(({
18382
+ type = 'text',
18383
+ disabled,
18384
+ validationStatus,
18385
+ leadingVisual: LeadingVisual,
18386
+ trailingVisual: TrailingVisual,
18387
+ trailingAction,
18388
+ ...props
18389
+ }, ref) => {
18390
+ const inputRef = useProvidedOrCreatedRef(ref);
18391
+ const focusInput = () => {
18392
+ inputRef.current?.focus();
18393
+ };
18394
+ return /*#__PURE__*/jsxRuntimeExports.jsxs(TextInputWrapper, {
18395
+ disabled: disabled,
18396
+ onClick: focusInput,
18397
+ hasLeadingVisual: !isNullable(LeadingVisual),
18398
+ hasTrailingVisual: !isNullable(TrailingVisual),
18399
+ hasTrailingAction: !isNullable(trailingAction),
18400
+ validationStatus: validationStatus,
18401
+ children: [/*#__PURE__*/jsxRuntimeExports.jsx(View, {
18402
+ sx: {
18403
+ 'flexShrink': 0,
18404
+ 'fontSize': 'xxs',
18405
+ 'fontWeight': 'medium',
18406
+ 'color': color$2['text/neutral'],
18407
+ '& > svg': {
18408
+ display: 'block',
18409
+ width: 24,
18410
+ height: 24,
18411
+ color: color$2['icon/neutral/bold']
18412
+ }
18413
+ },
18414
+ children: typeof LeadingVisual !== 'string' && reactIsExports.isValidElementType(LeadingVisual) ? /*#__PURE__*/jsxRuntimeExports.jsx(LeadingVisual, {}) : LeadingVisual
18415
+ }), /*#__PURE__*/jsxRuntimeExports.jsx(BaseInput, {
18416
+ ref: e => {
18417
+ isFunction(ref) ? ref(e) : null;
18418
+ inputRef.current = e;
18419
+ },
18420
+ type: type,
18421
+ disabled: disabled,
18422
+ ...props
18423
+ }), /*#__PURE__*/jsxRuntimeExports.jsxs(View, {
18424
+ sx: {
18425
+ 'display': 'flex',
18426
+ 'alignItems': 'center',
18427
+ 'columnGap': 2,
18428
+ 'flexShrink': 0,
18429
+ 'fontSize': 'xxs',
18430
+ 'fontWeight': 'medium',
18431
+ 'color': color$2['text/neutral'],
18432
+ '& > svg': {
18433
+ display: 'block',
18434
+ width: 24,
18435
+ height: 24,
18436
+ color: color$2['icon/neutral/bold']
18437
+ }
18438
+ },
18439
+ children: [typeof TrailingVisual !== 'string' && reactIsExports.isValidElementType(TrailingVisual) ? /*#__PURE__*/jsxRuntimeExports.jsx(TrailingVisual, {}) : TrailingVisual, trailingAction ? /*#__PURE__*/React.cloneElement(trailingAction, {
18440
+ disabled: disabled
18441
+ }) : null]
18442
+ })]
18443
+ });
18444
+ });
18445
+ const TextInputWrapper = styled__default.default.div`
18446
+ position: relative;
18447
+ width: ${forcePixelValue('100%')};
18448
+ border-width: ${forcePixelValue(1)};
18449
+ border-style: solid;
18450
+ border-radius: ${({
18451
+ theme
18452
+ }) => forcePixelValue(theme.radii.s)};
18453
+ border-color: ${({
18454
+ theme
18455
+ }) => theme.colors['border/input']};
18456
+ background-color: ${({
18457
+ theme
18458
+ }) => theme.colors['bg/input']};
18459
+ cursor: text;
18460
+ display: inline-flex;
18461
+ align-items: center;
17656
18462
 
17657
- /** Used as references for various `Number` constants. */
17658
- var NAN = 0 / 0;
18463
+ font-size: ${({
18464
+ theme
18465
+ }) => forcePixelValue(theme.fontSizes.xs)};
18466
+ font-weight: ${({
18467
+ theme
18468
+ }) => theme.fontWeights.medium};
18469
+ line-height: ${({
18470
+ theme
18471
+ }) => theme.lineHeights[2]};
18472
+ color: ${({
18473
+ theme
18474
+ }) => theme.colors['text/neutral']};
18475
+ input::placeholder {
18476
+ color: ${({
18477
+ theme
18478
+ }) => theme.colors['text/neutral/subtlest']};
18479
+ }
17659
18480
 
17660
- /** `Object#toString` result references. */
17661
- var symbolTag = '[object Symbol]';
18481
+ &:after {
18482
+ content: '';
18483
+ position: absolute;
18484
+ top: ${forcePixelValue(-1)};
18485
+ right: ${forcePixelValue(-1)};
18486
+ bottom: ${forcePixelValue(-1)};
18487
+ left: ${forcePixelValue(-1)};
17662
18488
 
17663
- /** Used to match leading and trailing whitespace. */
17664
- var reTrim = /^\s+|\s+$/g;
18489
+ border: ${forcePixelValue(2)} solid transparent;
18490
+ border-radius: ${({
18491
+ theme
18492
+ }) => forcePixelValue(theme.radii.s)};
18493
+ pointer-events: none;
18494
+ }
17665
18495
 
17666
- /** Used to detect bad signed hexadecimal string values. */
17667
- var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
18496
+ ${props => props.validationStatus !== 'error' && !props.disabled && styled.css`
18497
+ &:hover:not(:focus-within) {
18498
+ &:after {
18499
+ border-color: ${({
18500
+ theme
18501
+ }) => theme.colors['border/hovered']};
18502
+ }
18503
+ }
18504
+ `}
17668
18505
 
17669
- /** Used to detect binary string values. */
17670
- var reIsBinary = /^0b[01]+$/i;
18506
+ ${props => props.validationStatus === 'error' && styled.css`
18507
+ &:after {
18508
+ border-color: ${({
18509
+ theme
18510
+ }) => theme.colors['border/danger']};
18511
+ }
18512
+ `}
17671
18513
 
17672
- /** Used to detect octal string values. */
17673
- var reIsOctal = /^0o[0-7]+$/i;
18514
+ ${props => props.validationStatus !== 'error' && styled.css`
18515
+ &:focus-within {
18516
+ &:after {
18517
+ border-color: ${({
18518
+ theme
18519
+ }) => theme.colors['border/focused']};
18520
+ }
18521
+ }
18522
+ `}
17674
18523
 
17675
- /** Built-in method references without a dependency on `root`. */
17676
- var freeParseInt = parseInt;
18524
+ ${props => props.disabled && styled.css`
18525
+ border-color: ${props.theme.colors['border/input']};
18526
+ background-color: ${props.theme.colors['bg/disabled']};
18527
+ color: ${props.theme.colors['text/disabled']};
17677
18528
 
17678
- /** Detect free variable `global` from Node.js. */
17679
- var freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;
18529
+ input::placeholder {
18530
+ color: ${props.theme.colors['text/disabled']};
18531
+ }
17680
18532
 
17681
- /** Detect free variable `self`. */
17682
- var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
18533
+ input {
18534
+ cursor: not-allowed;
18535
+ }
18536
+ `};
17683
18537
 
17684
- /** Used as a reference to the global object. */
17685
- var root = freeGlobal || freeSelf || Function('return this')();
18538
+ ${props => props.hasLeadingVisual && styled.css`
18539
+ padding-left: ${forcePixelValue(props.theme.space[5])};
18540
+ input {
18541
+ padding-left: ${forcePixelValue(props.theme.space[3])};
18542
+ }
18543
+ `}
17686
18544
 
17687
- /** Used for built-in method references. */
17688
- var objectProto = Object.prototype;
18545
+ ${props => (props.hasTrailingVisual || props.hasTrailingAction) && styled.css`
18546
+ padding-right: ${forcePixelValue(props.theme.space[3])};
18547
+ input {
18548
+ padding-right: ${forcePixelValue(props.theme.space[3])};
18549
+ }
18550
+ `}
17689
18551
 
17690
- /**
17691
- * Used to resolve the
17692
- * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
17693
- * of values.
17694
- */
17695
- var objectToString = objectProto.toString;
18552
+ transition: color 100ms, background-color 100ms;
18553
+ &:after {
18554
+ transition: border-color 100ms;
18555
+ }
18556
+ `;
18557
+ const UnstyledInput = styled__default.default.input`
18558
+ font-size: inherit;
18559
+ font-weight: inherit;
18560
+ line-height: inherit;
18561
+ font-family: inherit;
18562
+ border-radius: inherit;
18563
+ color: inherit;
18564
+ transition: inherit;
17696
18565
 
17697
- /* Built-in method references for those with the same name as other `lodash` methods. */
17698
- var nativeMax = Math.max,
17699
- nativeMin = Math.min;
18566
+ border: 0;
18567
+ background-color: transparent;
18568
+ width: 100%;
18569
+ &:focus {
18570
+ outline: 0;
18571
+ }
18572
+ `;
18573
+ const BaseInput = styled__default.default(UnstyledInput)`
18574
+ padding-top: ${({
18575
+ theme
18576
+ }) => forcePixelValue(theme.space['4'])};
18577
+ padding-right: ${({
18578
+ theme
18579
+ }) => forcePixelValue(theme.space['4'])};
18580
+ padding-bottom: ${({
18581
+ theme
18582
+ }) => forcePixelValue(theme.space['4'])};
18583
+ padding-left: ${({
18584
+ theme
18585
+ }) => forcePixelValue(theme.space['5'])};
18586
+ `;
17700
18587
 
17701
- /**
17702
- * Gets the timestamp of the number of milliseconds that have elapsed since
17703
- * the Unix epoch (1 January 1970 00:00:00 UTC).
17704
- *
17705
- * @static
17706
- * @memberOf _
17707
- * @since 2.4.0
17708
- * @category Date
17709
- * @returns {number} Returns the timestamp.
17710
- * @example
17711
- *
17712
- * _.defer(function(stamp) {
17713
- * console.log(_.now() - stamp);
17714
- * }, _.now());
17715
- * // => Logs the number of milliseconds it took for the deferred invocation.
17716
- */
17717
- var now = function () {
17718
- return root.Date.now();
18588
+ const theme = {
18589
+ breakpoints,
18590
+ space: space$1,
18591
+ fontWeights,
18592
+ fontSizes,
18593
+ lineHeights,
18594
+ radii,
18595
+ colors: {
18596
+ ...color$2,
18597
+ ...surfaceElevation
18598
+ },
18599
+ gradients: gradient,
18600
+ shadows: {
18601
+ ...shadowElevation
18602
+ }
17719
18603
  };
17720
18604
 
17721
- /**
17722
- * Creates a debounced function that delays invoking `func` until after `wait`
17723
- * milliseconds have elapsed since the last time the debounced function was
17724
- * invoked. The debounced function comes with a `cancel` method to cancel
17725
- * delayed `func` invocations and a `flush` method to immediately invoke them.
17726
- * Provide `options` to indicate whether `func` should be invoked on the
17727
- * leading and/or trailing edge of the `wait` timeout. The `func` is invoked
17728
- * with the last arguments provided to the debounced function. Subsequent
17729
- * calls to the debounced function return the result of the last `func`
17730
- * invocation.
17731
- *
17732
- * **Note:** If `leading` and `trailing` options are `true`, `func` is
17733
- * invoked on the trailing edge of the timeout only if the debounced function
17734
- * is invoked more than once during the `wait` timeout.
17735
- *
17736
- * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred
17737
- * until to the next tick, similar to `setTimeout` with a timeout of `0`.
17738
- *
17739
- * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
17740
- * for details over the differences between `_.debounce` and `_.throttle`.
17741
- *
17742
- * @static
17743
- * @memberOf _
17744
- * @since 0.1.0
17745
- * @category Function
17746
- * @param {Function} func The function to debounce.
17747
- * @param {number} [wait=0] The number of milliseconds to delay.
17748
- * @param {Object} [options={}] The options object.
17749
- * @param {boolean} [options.leading=false]
17750
- * Specify invoking on the leading edge of the timeout.
17751
- * @param {number} [options.maxWait]
17752
- * The maximum time `func` is allowed to be delayed before it's invoked.
17753
- * @param {boolean} [options.trailing=true]
17754
- * Specify invoking on the trailing edge of the timeout.
17755
- * @returns {Function} Returns the new debounced function.
17756
- * @example
17757
- *
17758
- * // Avoid costly calculations while the window size is in flux.
17759
- * jQuery(window).on('resize', _.debounce(calculateLayout, 150));
17760
- *
17761
- * // Invoke `sendMail` when clicked, debouncing subsequent calls.
17762
- * jQuery(element).on('click', _.debounce(sendMail, 300, {
17763
- * 'leading': true,
17764
- * 'trailing': false
17765
- * }));
17766
- *
17767
- * // Ensure `batchLog` is invoked once after 1 second of debounced calls.
17768
- * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });
17769
- * var source = new EventSource('/stream');
17770
- * jQuery(source).on('message', debounced);
17771
- *
17772
- * // Cancel the trailing debounced invocation.
17773
- * jQuery(window).on('popstate', debounced.cancel);
17774
- */
17775
- function debounce(func, wait, options) {
17776
- var lastArgs,
17777
- lastThis,
17778
- maxWait,
17779
- result,
17780
- timerId,
17781
- lastCallTime,
17782
- lastInvokeTime = 0,
17783
- leading = false,
17784
- maxing = false,
17785
- trailing = true;
17786
- if (typeof func != 'function') {
17787
- throw new TypeError(FUNC_ERROR_TEXT);
18605
+ const ThemeProvider = ({
18606
+ theme: propTheme,
18607
+ ...props
18608
+ }) => {
18609
+ const theme$1 = propTheme ?? theme;
18610
+ return /*#__PURE__*/jsxRuntimeExports.jsx(styled.ThemeProvider, {
18611
+ theme: theme$1,
18612
+ ...props
18613
+ });
18614
+ };
18615
+
18616
+ const Toast = ({
18617
+ variant = 'success',
18618
+ resizing = 'hug',
18619
+ children
18620
+ }) => {
18621
+ const IconByVariant = {
18622
+ success: SvgCheckInCircle,
18623
+ warning: SvgExclamationPointInCircle
18624
+ }[variant];
18625
+ return /*#__PURE__*/jsxRuntimeExports.jsxs(BaseToast, {
18626
+ variant: variant,
18627
+ resizing: resizing,
18628
+ children: [/*#__PURE__*/jsxRuntimeExports.jsx(IconByVariant, {}), children]
18629
+ });
18630
+ };
18631
+ const BaseToast = styled__default.default.div(({
18632
+ theme
18633
+ }) => ({
18634
+ 'display': 'flex',
18635
+ 'flexDirection': 'row',
18636
+ 'alignItems': 'center',
18637
+ 'columnGap': theme.space[3],
18638
+ 'backgroundColor': theme.colors['bg/neutral/bold'],
18639
+ 'color': theme.colors['text/inverse'],
18640
+ 'borderRadius': theme.radii.m,
18641
+ 'padding': theme.space[4],
18642
+ 'fontSize': theme.fontSizes.s,
18643
+ 'fontWeight': theme.fontWeights.medium,
18644
+ 'lineHeight': theme.lineHeights[2],
18645
+ '& div': {
18646
+ margin: 0,
18647
+ display: 'inline-block'
18648
+ },
18649
+ '& svg': {
18650
+ width: 24,
18651
+ minWidth: 24,
18652
+ height: 24,
18653
+ minHeight: 24
17788
18654
  }
17789
- wait = toNumber(wait) || 0;
17790
- if (isObject(options)) {
17791
- leading = !!options.leading;
17792
- maxing = 'maxWait' in options;
17793
- maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
17794
- trailing = 'trailing' in options ? !!options.trailing : trailing;
18655
+ }), ({
18656
+ theme
18657
+ }) => variant({
18658
+ prop: 'variant',
18659
+ variants: {
18660
+ success: {
18661
+ '& svg': {
18662
+ color: theme.colors['icon/success']
18663
+ }
18664
+ },
18665
+ warning: {
18666
+ '& svg': {
18667
+ color: theme.colors['icon/warning']
18668
+ }
18669
+ }
17795
18670
  }
17796
- function invokeFunc(time) {
17797
- var args = lastArgs,
17798
- thisArg = lastThis;
17799
- lastArgs = lastThis = undefined;
17800
- lastInvokeTime = time;
17801
- result = func.apply(thisArg, args);
17802
- return result;
18671
+ }), () => variant({
18672
+ prop: 'resizing',
18673
+ variants: {
18674
+ fill: {
18675
+ width: '100%'
18676
+ },
18677
+ hug: {
18678
+ width: 'fit-content'
18679
+ }
17803
18680
  }
17804
- function leadingEdge(time) {
17805
- // Reset any `maxWait` timer.
17806
- lastInvokeTime = time;
17807
- // Start the timer for the trailing edge.
17808
- timerId = setTimeout(timerExpired, wait);
17809
- // Invoke the leading edge.
17810
- return leading ? invokeFunc(time) : result;
18681
+ }));
18682
+
18683
+ const Tooltip = ({
18684
+ children,
18685
+ direction = 'top-center',
18686
+ text,
18687
+ className: propClassName,
18688
+ sx
18689
+ }) => {
18690
+ const className = [propClassName, `tooltip-direction-${direction}`].join(' ');
18691
+ return /*#__PURE__*/jsxRuntimeExports.jsx(BaseTooltip, {
18692
+ role: 'tooltip',
18693
+ "aria-label": text,
18694
+ className: className,
18695
+ sx: sx,
18696
+ children: children
18697
+ });
18698
+ };
18699
+ const tooltipAppear = styled.keyframes`
18700
+ from {
18701
+ opacity: 0;
17811
18702
  }
17812
- function remainingWait(time) {
17813
- var timeSinceLastCall = time - lastCallTime,
17814
- timeSinceLastInvoke = time - lastInvokeTime,
17815
- result = wait - timeSinceLastCall;
17816
- return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;
18703
+
18704
+ to {
18705
+ opacity: 1;
17817
18706
  }
17818
- function shouldInvoke(time) {
17819
- var timeSinceLastCall = time - lastCallTime,
17820
- timeSinceLastInvoke = time - lastInvokeTime;
18707
+ `;
18708
+ const BaseTooltip = styled__default.default.span`
18709
+ display: inline-block;
18710
+ position: relative;
17821
18711
 
17822
- // Either this is the first call, activity has stopped and we're at the
17823
- // trailing edge, the system time has gone backwards and we're treating
17824
- // it as the trailing edge, or we've hit the `maxWait` limit.
17825
- return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;
18712
+ &::before {
18713
+ position: absolute;
18714
+ z-index: 1000001;
18715
+ display: none;
18716
+ width: 0px;
18717
+ height: 0px;
18718
+ color: ${({
18719
+ theme
18720
+ }) => theme.colors['bg/neutral/bolder']};
18721
+ pointer-events: none;
18722
+ content: '';
18723
+ border: 6px solid transparent;
18724
+ opacity: 0;
17826
18725
  }
17827
- function timerExpired() {
17828
- var time = now();
17829
- if (shouldInvoke(time)) {
17830
- return trailingEdge(time);
18726
+
18727
+ &::after {
18728
+ position: absolute;
18729
+ z-index: 1000000;
18730
+ display: none;
18731
+ padding: ${({
18732
+ theme
18733
+ }) => `${forcePixelValue(theme.space[2])} ${forcePixelValue(theme.space[3])}`};
18734
+ font-size: ${({
18735
+ theme
18736
+ }) => forcePixelValue(theme.fontSizes.xxs)};
18737
+ font-weight: ${({
18738
+ theme
18739
+ }) => theme.fontWeights.medium};
18740
+ line-height: ${({
18741
+ theme
18742
+ }) => theme.lineHeights[2]};
18743
+ -webkit-font-smoothing: subpixel-antialiased;
18744
+ color: ${({
18745
+ theme
18746
+ }) => theme.colors['text/inverse']};
18747
+ text-align: center;
18748
+ text-decoration: none;
18749
+ text-shadow: none;
18750
+ text-transform: none;
18751
+ letter-spacing: normal;
18752
+ word-wrap: break-word;
18753
+ white-space: pre;
18754
+ pointer-events: none;
18755
+ content: attr(aria-label);
18756
+ background: ${({
18757
+ theme
18758
+ }) => theme.colors['bg/neutral/bolder']};
18759
+ border-radius: ${({
18760
+ theme
18761
+ }) => forcePixelValue(theme.radii.xs)};
18762
+ box-shadow: ${({
18763
+ theme
18764
+ }) => theme.shadows['shadow/overlay']};
18765
+ opacity: 0;
18766
+ }
18767
+
18768
+ &:hover,
18769
+ &:active,
18770
+ &:focus {
18771
+ &::before,
18772
+ &::after {
18773
+ display: table-cell;
18774
+ text-decoration: none;
18775
+ animation-name: ${tooltipAppear};
18776
+ animation-duration: 100ms;
18777
+ animation-fill-mode: forwards;
18778
+ animation-timing-function: ease-in;
18779
+ animation-delay: 300ms;
17831
18780
  }
17832
- // Restart the timer.
17833
- timerId = setTimeout(timerExpired, remainingWait(time));
17834
18781
  }
17835
- function trailingEdge(time) {
17836
- timerId = undefined;
17837
18782
 
17838
- // Only invoke if we have `lastArgs` which means `func` has been
17839
- // debounced at least once.
17840
- if (trailing && lastArgs) {
17841
- return invokeFunc(time);
18783
+ &.tooltip-direction-bottom-center,
18784
+ &.tooltip-direction-bottom-right,
18785
+ &.tooltip-direction-bottom-left {
18786
+ &::after {
18787
+ top: 100%;
18788
+ right: 50%;
18789
+ margin-top: ${({
18790
+ theme
18791
+ }) => forcePixelValue(theme.space[2])};
18792
+ }
18793
+
18794
+ &::before {
18795
+ top: auto;
18796
+ right: 50%;
18797
+ bottom: ${({
18798
+ theme
18799
+ }) => forcePixelValue(theme.space[-2] + theme.space['-0.25'])};
18800
+ margin-right: -6px;
18801
+ border-bottom-color: ${({
18802
+ theme
18803
+ }) => theme.colors['bg/neutral/bolder']};
17842
18804
  }
17843
- lastArgs = lastThis = undefined;
17844
- return result;
17845
18805
  }
17846
- function cancel() {
17847
- if (timerId !== undefined) {
17848
- clearTimeout(timerId);
18806
+
18807
+ &.tooltip-direction-bottom-right {
18808
+ &::after {
18809
+ right: auto;
18810
+ left: 50%;
18811
+ margin-left: -${({
18812
+ theme
18813
+ }) => forcePixelValue(theme.space[4])};
17849
18814
  }
17850
- lastInvokeTime = 0;
17851
- lastArgs = lastCallTime = lastThis = timerId = undefined;
17852
18815
  }
17853
- function flush() {
17854
- return timerId === undefined ? result : trailingEdge(now());
18816
+
18817
+ &.tooltip-direction-bottom-left::after {
18818
+ margin-right: -${({
18819
+ theme
18820
+ }) => forcePixelValue(theme.space[4])};
17855
18821
  }
17856
- function debounced() {
17857
- var time = now(),
17858
- isInvoking = shouldInvoke(time);
17859
- lastArgs = arguments;
17860
- lastThis = this;
17861
- lastCallTime = time;
17862
- if (isInvoking) {
17863
- if (timerId === undefined) {
17864
- return leadingEdge(lastCallTime);
17865
- }
17866
- if (maxing) {
17867
- // Handle invocations in a tight loop.
17868
- timerId = setTimeout(timerExpired, wait);
17869
- return invokeFunc(lastCallTime);
17870
- }
18822
+
18823
+ // Tooltips above the object
18824
+ &.tooltip-direction-top-center,
18825
+ &.tooltip-direction-top-right,
18826
+ &.tooltip-direction-top-left {
18827
+ &::after {
18828
+ right: 50%;
18829
+ bottom: 100%;
18830
+ margin-bottom: ${({
18831
+ theme
18832
+ }) => forcePixelValue(theme.space[2])};
17871
18833
  }
17872
- if (timerId === undefined) {
17873
- timerId = setTimeout(timerExpired, wait);
18834
+
18835
+ &::before {
18836
+ top: ${({
18837
+ theme
18838
+ }) => forcePixelValue(theme.space[-2] + theme.space['-0.25'])};
18839
+ right: 50%;
18840
+ bottom: auto;
18841
+ margin-right: -6px;
18842
+ border-top-color: ${({
18843
+ theme
18844
+ }) => theme.colors['bg/neutral/bolder']};
17874
18845
  }
17875
- return result;
17876
18846
  }
17877
- debounced.cancel = cancel;
17878
- debounced.flush = flush;
17879
- return debounced;
17880
- }
17881
18847
 
17882
- /**
17883
- * Checks if `value` is the
17884
- * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
17885
- * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
17886
- *
17887
- * @static
17888
- * @memberOf _
17889
- * @since 0.1.0
17890
- * @category Lang
17891
- * @param {*} value The value to check.
17892
- * @returns {boolean} Returns `true` if `value` is an object, else `false`.
17893
- * @example
17894
- *
17895
- * _.isObject({});
17896
- * // => true
17897
- *
17898
- * _.isObject([1, 2, 3]);
17899
- * // => true
17900
- *
17901
- * _.isObject(_.noop);
17902
- * // => true
17903
- *
17904
- * _.isObject(null);
17905
- * // => false
17906
- */
17907
- function isObject(value) {
17908
- var type = typeof value;
17909
- return !!value && (type == 'object' || type == 'function');
17910
- }
18848
+ &.tooltip-direction-top-right {
18849
+ &::after {
18850
+ right: auto;
18851
+ left: 50%;
18852
+ margin-left: -${({
18853
+ theme
18854
+ }) => forcePixelValue(theme.space[4])};
18855
+ }
18856
+ }
18857
+
18858
+ &.tooltip-direction-top-left::after {
18859
+ margin-right: -${({
18860
+ theme
18861
+ }) => forcePixelValue(theme.space[4])};
18862
+ }
18863
+
18864
+ &.tooltip-direction-top-center::after,
18865
+ &.tooltip-direction-bottom-center::after {
18866
+ transform: translateX(50%);
18867
+ }
18868
+
18869
+ &.tooltip-direction-left {
18870
+ &::after {
18871
+ right: 100%;
18872
+ bottom: 50%;
18873
+ margin-right: ${({
18874
+ theme
18875
+ }) => forcePixelValue(theme.space[2])};
18876
+ transform: translateY(50%);
18877
+ }
18878
+
18879
+ &::before {
18880
+ top: 50%;
18881
+ bottom: 50%;
18882
+ left: ${({
18883
+ theme
18884
+ }) => forcePixelValue(theme.space[-2] + theme.space['-0.25'])};
18885
+ margin-top: -6px;
18886
+ border-left-color: ${({
18887
+ theme
18888
+ }) => theme.colors['bg/neutral/bolder']};
18889
+ }
18890
+ }
18891
+
18892
+ &.tooltip-direction-right {
18893
+ &::after {
18894
+ bottom: 50%;
18895
+ left: 100%;
18896
+ margin-left: ${({
18897
+ theme
18898
+ }) => forcePixelValue(theme.space[2])};
18899
+ transform: translateY(50%);
18900
+ }
18901
+
18902
+ &::before {
18903
+ top: 50%;
18904
+ right: ${({
18905
+ theme
18906
+ }) => forcePixelValue(theme.space[-2] + theme.space['-0.25'])};
18907
+ bottom: 50%;
18908
+ margin-top: -6px;
18909
+ border-right-color: ${({
18910
+ theme
18911
+ }) => theme.colors['bg/neutral/bolder']};
18912
+ }
18913
+ }
18914
+
18915
+ &::after {
18916
+ width: max-content;
18917
+ max-width: 240px;
18918
+ word-wrap: break-word;
18919
+ white-space: pre-line;
18920
+ border-collapse: separate;
18921
+ }
18922
+
18923
+ &.tooltip-direction-bottom-center::after,
18924
+ &.tooltip-direction-top-center::after {
18925
+ right: auto;
18926
+ left: 50%;
18927
+ transform: translateX(-50%);
18928
+ }
18929
+
18930
+ &.tooltip-direction-left::after,
18931
+ &.tooltip-direction-right::after {
18932
+ right: 100%;
18933
+ }
18934
+
18935
+ ${sx}
18936
+ `;
18937
+
18938
+ const useMediaQuery = query => {
18939
+ const getMatches = query => {
18940
+ /**
18941
+ * SSR 문제를 방지하기 위해 있습니다.
18942
+ */
18943
+ if (typeof window !== 'undefined') {
18944
+ return window.matchMedia(query).matches;
18945
+ }
18946
+ return false;
18947
+ };
18948
+ const [matches, setMatches] = React.useState(getMatches(query));
18949
+ function handleChange() {
18950
+ setMatches(getMatches(query));
18951
+ }
18952
+ React.useEffect(() => {
18953
+ const matchMedia = window.matchMedia(query);
18954
+
18955
+ /**
18956
+ * 클라이언트에서 mediaQuery를 반영하기 위해 로드됩니다.
18957
+ */
18958
+ handleChange();
18959
+ if (matchMedia.addListener) {
18960
+ matchMedia.addListener(handleChange);
18961
+ } else {
18962
+ matchMedia.addEventListener('change', handleChange);
18963
+ }
18964
+ return () => {
18965
+ if (matchMedia.removeListener) {
18966
+ matchMedia.removeListener(handleChange);
18967
+ } else {
18968
+ matchMedia.removeEventListener('change', handleChange);
18969
+ }
18970
+ };
18971
+ }, [query]);
18972
+ return matches;
18973
+ };
17911
18974
 
17912
- /**
17913
- * Checks if `value` is object-like. A value is object-like if it's not `null`
17914
- * and has a `typeof` result of "object".
17915
- *
17916
- * @static
17917
- * @memberOf _
17918
- * @since 4.0.0
17919
- * @category Lang
17920
- * @param {*} value The value to check.
17921
- * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
17922
- * @example
17923
- *
17924
- * _.isObjectLike({});
17925
- * // => true
17926
- *
17927
- * _.isObjectLike([1, 2, 3]);
17928
- * // => true
17929
- *
17930
- * _.isObjectLike(_.noop);
17931
- * // => false
17932
- *
17933
- * _.isObjectLike(null);
17934
- * // => false
17935
- */
17936
- function isObjectLike(value) {
17937
- return !!value && typeof value == 'object';
17938
- }
18975
+ const SingleColumnLayout = ({
18976
+ layout,
18977
+ viewsObject,
18978
+ viewComponentsObject
18979
+ }) => /*#__PURE__*/jsxRuntimeExports.jsx(ItemList, {
18980
+ items: layout.main,
18981
+ renderItem: ({
18982
+ viewContainerId
18983
+ }) => {
18984
+ const view = viewsObject[viewContainerId];
18985
+ const ViewComponent = viewComponentsObject[viewContainerId];
18986
+ return ViewComponent ? /*#__PURE__*/jsxRuntimeExports.jsx(ViewComponent, {
18987
+ view: view
18988
+ }) : null;
18989
+ },
18990
+ renderItemWrapper: (children, {
18991
+ viewContainerId,
18992
+ spaceProps
18993
+ }, i) => /*#__PURE__*/jsxRuntimeExports.jsx(Space, {
18994
+ ...spaceProps,
18995
+ children: children
18996
+ }, [viewContainerId, `${i}`].join('-'))
18997
+ });
17939
18998
 
17940
- /**
17941
- * Checks if `value` is classified as a `Symbol` primitive or object.
17942
- *
17943
- * @static
17944
- * @memberOf _
17945
- * @since 4.0.0
17946
- * @category Lang
17947
- * @param {*} value The value to check.
17948
- * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
17949
- * @example
17950
- *
17951
- * _.isSymbol(Symbol.iterator);
17952
- * // => true
17953
- *
17954
- * _.isSymbol('abc');
17955
- * // => false
17956
- */
17957
- function isSymbol(value) {
17958
- return typeof value == 'symbol' || isObjectLike(value) && objectToString.call(value) == symbolTag;
17959
- }
18999
+ const ImageView = ({
19000
+ view: {
19001
+ imageProps,
19002
+ ...props
19003
+ }
19004
+ }) => /*#__PURE__*/jsxRuntimeExports.jsx(Image, {
19005
+ loading: 'lazy',
19006
+ display: 'block',
19007
+ ...props,
19008
+ ...imageProps
19009
+ });
17960
19010
 
17961
- /**
17962
- * Converts `value` to a number.
17963
- *
17964
- * @static
17965
- * @memberOf _
17966
- * @since 4.0.0
17967
- * @category Lang
17968
- * @param {*} value The value to process.
17969
- * @returns {number} Returns the number.
17970
- * @example
17971
- *
17972
- * _.toNumber(3.2);
17973
- * // => 3.2
17974
- *
17975
- * _.toNumber(Number.MIN_VALUE);
17976
- * // => 5e-324
17977
- *
17978
- * _.toNumber(Infinity);
17979
- * // => Infinity
17980
- *
17981
- * _.toNumber('3.2');
17982
- * // => 3.2
17983
- */
17984
- function toNumber(value) {
17985
- if (typeof value == 'number') {
17986
- return value;
19011
+ const TextView = ({
19012
+ view: {
19013
+ text,
19014
+ textProps
17987
19015
  }
17988
- if (isSymbol(value)) {
17989
- return NAN;
19016
+ }) => /*#__PURE__*/jsxRuntimeExports.jsx(Text, {
19017
+ ...textProps,
19018
+ children: text
19019
+ });
19020
+
19021
+ const IconView = ({
19022
+ view: {
19023
+ icon,
19024
+ iconProps = {
19025
+ color: 'icon/neutral',
19026
+ size: 24
19027
+ }
17990
19028
  }
17991
- if (isObject(value)) {
17992
- var other = typeof value.valueOf == 'function' ? value.valueOf() : value;
17993
- value = isObject(other) ? other + '' : other;
19029
+ }) => /*#__PURE__*/jsxRuntimeExports.jsx(StyledIcon, {
19030
+ icon: icons[icon],
19031
+ ...iconProps
19032
+ });
19033
+
19034
+ const ChipGroupView = ({
19035
+ view: {
19036
+ chips = [],
19037
+ chipGroupProps: {
19038
+ size = 'm',
19039
+ gapX = 1,
19040
+ gapY = 1
19041
+ }
17994
19042
  }
17995
- if (typeof value != 'string') {
17996
- return value === 0 ? value : +value;
19043
+ }) => /*#__PURE__*/jsxRuntimeExports.jsx(Stack$1, {
19044
+ gapX: gapX,
19045
+ gapY: gapY,
19046
+ children: /*#__PURE__*/jsxRuntimeExports.jsx(ItemList, {
19047
+ items: chips,
19048
+ renderItem: ({
19049
+ text,
19050
+ variant
19051
+ }) => /*#__PURE__*/jsxRuntimeExports.jsx(Chip, {
19052
+ size: size,
19053
+ variant: variant,
19054
+ children: text
19055
+ }),
19056
+ renderItemWrapper: (children, {
19057
+ text,
19058
+ variant
19059
+ }, i) => /*#__PURE__*/jsxRuntimeExports.jsx(Stack$1.Item, {
19060
+ children: children
19061
+ }, `${text}-${variant}-${i}`)
19062
+ })
19063
+ });
19064
+
19065
+ const GridView = ({
19066
+ view: {
19067
+ units = [],
19068
+ gridProps
17997
19069
  }
17998
- value = value.replace(reTrim, '');
17999
- var isBinary = reIsBinary.test(value);
18000
- return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;
18001
- }
18002
- var lodash_debounce = debounce;
18003
- var debounce$1 = /*@__PURE__*/getDefaultExportFromCjs(lodash_debounce);
19070
+ }) => /*#__PURE__*/jsxRuntimeExports.jsx(Grid$1, {
19071
+ ...gridProps,
19072
+ children: units.map(({
19073
+ views: viewContainers,
19074
+ unitProps
19075
+ }) => {
19076
+ const unitKeySeperator = '_';
19077
+ const unitKey = viewContainers.map(({
19078
+ id
19079
+ }) => id).join(unitKeySeperator);
19080
+ return /*#__PURE__*/jsxRuntimeExports.jsx(Grid$1.Unit, {
19081
+ ...unitProps,
19082
+ children: viewContainers.map(viewContainer => {
19083
+ const ViewComponent = getViewComponent(viewContainer);
19084
+ return /*#__PURE__*/jsxRuntimeExports.jsx(ViewComponent, {
19085
+ view: viewContainer.view
19086
+ }, viewContainer.id);
19087
+ })
19088
+ }, unitKey);
19089
+ })
19090
+ });
18004
19091
 
18005
- const useResize = resizeCallback => {
18006
- const handleResize = React.useCallback(() => resizeCallback?.(), []);
18007
- React.useEffect(() => {
18008
- handleResize();
18009
- }, []);
18010
- React.useEffect(() => {
18011
- if (window) {
18012
- const debouncedHandleResize = debounce$1(handleResize, 150);
18013
- window.addEventListener('resize', debouncedHandleResize);
18014
- return () => window.removeEventListener('resize', debouncedHandleResize);
18015
- }
18016
- }, []);
19092
+ const EnigmaUI = ({
19093
+ section: {
19094
+ views,
19095
+ responsiveLayout
19096
+ }
19097
+ }) => {
19098
+ const isMatchDesktop = useMediaQuery(`screen and (min-width: ${breakpoints[1]})`);
19099
+ const isMatchTablet = useMediaQuery(`screen and (min-width: ${breakpoints[0]})`);
19100
+ const media = isMatchDesktop ? 'desktop' : !isMatchDesktop && isMatchTablet ? 'tablet' : 'mobile';
19101
+ const layoutContainer = responsiveLayout[media] || responsiveLayout['desktop'] || responsiveLayout['tablet'] || responsiveLayout['mobile'];
19102
+ const LayoutComponent = getLayoutComponent(layoutContainer);
19103
+ const layout = layoutContainer.layout;
19104
+ const viewsObject = Object.fromEntries(views.map(viewContainer => {
19105
+ return [viewContainer.id, viewContainer.view];
19106
+ }));
19107
+ const viewComponentsObject = Object.fromEntries(views.map(view => {
19108
+ return [view.id, getViewComponent(view)];
19109
+ }));
19110
+ return /*#__PURE__*/jsxRuntimeExports.jsx(LayoutComponent, {
19111
+ layout: layout,
19112
+ viewsObject: viewsObject,
19113
+ viewComponentsObject: viewComponentsObject
19114
+ });
19115
+ };
19116
+ const getLayoutComponent = layoutContainer => {
19117
+ const renderableLayoutComponent = {
19118
+ SingleColumnLayout: SingleColumnLayout
19119
+ };
19120
+ const LayoutComponent = renderableLayoutComponent[layoutContainer.layoutComponentType];
19121
+ return LayoutComponent;
19122
+ };
19123
+ const getViewComponent = viewContainer => {
19124
+ const renderableViewComponent = {
19125
+ TextView: TextView,
19126
+ ImageView: ImageView,
19127
+ IconView: IconView,
19128
+ ChipGroupView: ChipGroupView,
19129
+ GridView: GridView
19130
+ };
19131
+ const ViewComponent = renderableViewComponent[viewContainer.viewComponentType];
19132
+ return ViewComponent;
18017
19133
  };
19134
+ var index = Object.assign(EnigmaUI, {
19135
+ TextView,
19136
+ ImageView,
19137
+ IconView,
19138
+ ChipGroupView,
19139
+ GridView
19140
+ });
18018
19141
 
18019
19142
  var MobileOS = /*#__PURE__*/function (MobileOS) {
18020
19143
  MobileOS["Android"] = "android";
@@ -18138,7 +19261,7 @@ const useToggleHandler = ({
18138
19261
 
18139
19262
  exports.Button = Button;
18140
19263
  exports.Chip = Chip;
18141
- exports.Dialog = index$1;
19264
+ exports.Dialog = index$2;
18142
19265
  exports.DialogHandler = DialogHandler;
18143
19266
  exports.EnigmaUI = index;
18144
19267
  exports.GradientText = GradientText;
@@ -18152,10 +19275,13 @@ exports.Space = Space;
18152
19275
  exports.Spinner = Spinner;
18153
19276
  exports.Stack = Stack$1;
18154
19277
  exports.StyledIcon = StyledIcon;
19278
+ exports.Tab = index$1;
18155
19279
  exports.Text = Text;
18156
19280
  exports.TextInput = TextInput;
18157
19281
  exports.Textarea = Textarea;
18158
19282
  exports.ThemeProvider = ThemeProvider;
19283
+ exports.Toast = Toast;
19284
+ exports.Tooltip = Tooltip;
18159
19285
  exports.UnstyledButton = UnstyledButton;
18160
19286
  exports.View = View;
18161
19287
  exports.lineClamp = lineClamp;