@teamturing/react-kit 2.20.0 → 2.20.2

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.
@@ -1,10 +1,8 @@
1
1
  import { ElementType, InputHTMLAttributes, ReactNode, Ref } from 'react';
2
+ import { OverlayProps } from '../Overlay';
2
3
  import { OverlayPopperProps } from '../OverlayPopper';
3
4
  import { TextInputProps } from '../TextInput';
4
- type Props<T extends {
5
- label: string;
6
- value?: string | number | readonly string[];
7
- }> = {
5
+ type Props<T> = {
8
6
  /**
9
7
  * TODO asdf
10
8
  */
@@ -13,24 +11,25 @@ type Props<T extends {
13
11
  * 입력 창 앞에 보여질 시각적 요소를 정의합니다. Icon, Text, Image 등이 될 수 있습니다.
14
12
  */
15
13
  leadingVisual?: ElementType | ReactNode;
14
+ /**
15
+ * 입력 창 뒤에 보여질 시각적 요소를 정의합니다. Icon, Text, Image 등이 될 수 있습니다.
16
+ * Default: chevron down icon
17
+ */
18
+ trailingVisual?: ElementType | ReactNode;
16
19
  children: (selectionHandler: {
17
20
  handleSelect: (item: T) => void;
18
21
  }, overlayHandler: {
19
22
  isOpen: boolean;
20
23
  closeOverlay: () => void;
21
24
  }) => ReactNode;
22
- onChange?: (item: T) => void;
25
+ overlayProps?: Pick<OverlayProps, 'size' | 'maxHeight'>;
23
26
  searchInputProps?: Pick<TextInputProps, 'placeholder' | 'trailingVisual' | 'trailingAction' | 'onChange'>;
24
- renderValue?: (value: T['value']) => ReactNode;
25
- } & Pick<OverlayPopperProps, 'focusTrapSettings' | 'focusZoneSettings' | 'onClose' | 'onOpen'> & Pick<InputHTMLAttributes<HTMLInputElement>, 'id' | 'disabled' | 'onClick' | 'placeholder' | 'value'>;
26
- declare const SearchSelectInput: <T extends {
27
- label: string;
28
- value: string | number | readonly string[];
29
- }>({ validationStatus, leadingVisual: LeadingVisual, children, onChange, focusTrapSettings, focusZoneSettings, onOpen, onClose, searchInputProps, value, renderValue, ...props }: Props<T>, ref: Ref<HTMLInputElement>) => import("react/jsx-runtime").JSX.Element;
30
- declare const _default: <T extends {
31
- label: string;
32
- value: string | number | readonly string[];
33
- }>(props: {
27
+ value?: T;
28
+ renderValue?: (value: T) => ReactNode;
29
+ onChange?: (item: T) => void;
30
+ } & Pick<OverlayPopperProps, 'focusTrapSettings' | 'focusZoneSettings' | 'onClose' | 'onOpen'> & Pick<InputHTMLAttributes<HTMLInputElement>, 'id' | 'disabled' | 'onClick' | 'placeholder'>;
31
+ declare const SearchSelectInput: <T>({ validationStatus, leadingVisual: LeadingVisual, trailingVisual: TrailingVisual, children, focusTrapSettings, focusZoneSettings, onOpen, onClose, overlayProps: propOverlayProps, searchInputProps, value, renderValue, onChange, ...props }: Props<T>, ref: Ref<HTMLInputElement>) => import("react/jsx-runtime").JSX.Element;
32
+ declare const _default: <T>(props: {
34
33
  /**
35
34
  * TODO asdf
36
35
  */
@@ -39,16 +38,23 @@ declare const _default: <T extends {
39
38
  * 입력 창 앞에 보여질 시각적 요소를 정의합니다. Icon, Text, Image 등이 될 수 있습니다.
40
39
  */
41
40
  leadingVisual?: string | number | boolean | import("react").ComponentClass<any, any> | import("react").FunctionComponent<any> | import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | import("react").ReactPortal | null | undefined;
41
+ /**
42
+ * 입력 창 뒤에 보여질 시각적 요소를 정의합니다. Icon, Text, Image 등이 될 수 있습니다.
43
+ * Default: chevron down icon
44
+ */
45
+ trailingVisual?: string | number | boolean | import("react").ComponentClass<any, any> | import("react").FunctionComponent<any> | import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | import("react").ReactPortal | null | undefined;
42
46
  children: (selectionHandler: {
43
47
  handleSelect: (item: T) => void;
44
48
  }, overlayHandler: {
45
49
  isOpen: boolean;
46
50
  closeOverlay: () => void;
47
51
  }) => ReactNode;
48
- onChange?: ((item: T) => void) | undefined;
52
+ overlayProps?: Pick<OverlayProps, "maxHeight" | "size"> | undefined;
49
53
  searchInputProps?: Pick<TextInputProps, "placeholder" | "onChange" | "trailingVisual" | "trailingAction"> | undefined;
50
- renderValue?: ((value: T["value"]) => ReactNode) | undefined;
51
- } & Pick<OverlayPopperProps, "onClose" | "focusZoneSettings" | "focusTrapSettings" | "onOpen"> & Pick<InputHTMLAttributes<HTMLInputElement>, "disabled" | "placeholder" | "value" | "id" | "onClick"> & {
54
+ value?: T | undefined;
55
+ renderValue?: ((value: T) => ReactNode) | undefined;
56
+ onChange?: ((item: T) => void) | undefined;
57
+ } & Pick<OverlayPopperProps, "onClose" | "focusZoneSettings" | "focusTrapSettings" | "onOpen"> & Pick<InputHTMLAttributes<HTMLInputElement>, "disabled" | "placeholder" | "id" | "onClick"> & {
52
58
  ref?: Ref<HTMLInputElement> | undefined;
53
59
  }) => ReturnType<typeof SearchSelectInput>;
54
60
  export default _default;
package/dist/index.js CHANGED
@@ -3985,6 +3985,28 @@ const SvgTop = props => /*#__PURE__*/React__namespace.createElement("svg", _exte
3985
3985
  clipRule: "evenodd"
3986
3986
  }));
3987
3987
 
3988
+ const SvgTouch = props => /*#__PURE__*/React__namespace.createElement("svg", _extends({
3989
+ xmlns: "http://www.w3.org/2000/svg",
3990
+ width: "1em",
3991
+ height: "1em",
3992
+ fill: "none",
3993
+ viewBox: "0 0 24 24"
3994
+ }, props), /*#__PURE__*/React__namespace.createElement("g", {
3995
+ fill: "currentColor",
3996
+ fillRule: "evenodd",
3997
+ clipPath: "url(#touch_svg__a)",
3998
+ clipRule: "evenodd"
3999
+ }, /*#__PURE__*/React__namespace.createElement("path", {
4000
+ d: "M.6 5.906A4.106 4.106 0 0 1 4.706 1.8h9.1a4.106 4.106 0 0 1 4.106 4.106v2.868a1.073 1.073 0 0 1-2.145 0V5.906a1.96 1.96 0 0 0-1.96-1.96H4.705a1.96 1.96 0 0 0-1.961 1.96v9.1a1.96 1.96 0 0 0 1.961 1.961h1.848a1.073 1.073 0 1 1 0 2.145H4.706A4.106 4.106 0 0 1 .6 15.006v-9.1Z"
4001
+ }), /*#__PURE__*/React__namespace.createElement("path", {
4002
+ d: "M11.483 10.636a.695.695 0 0 0-.192.968l3.048 4.515c.883 1.31-.353 3.008-1.87 2.569l-.86-.249a.367.367 0 0 0-.216.702l4.634 1.503a1.96 1.96 0 0 0 1.693-.233l2.812-1.875a1.96 1.96 0 0 0 .538-2.729l-1.115-1.652a1.96 1.96 0 0 0-2.717-.532l-.452.303a1.872 1.872 0 0 1-2.594-.508l-1.75-2.591a.694.694 0 0 0-.959-.19Zm-1.97 2.168a2.84 2.84 0 0 1 4.708-3.177l1.597 2.366.226-.152a4.106 4.106 0 0 1 5.689 1.115l1.115 1.651a4.106 4.106 0 0 1-1.126 5.713l-2.812 1.875a4.106 4.106 0 0 1-3.545.49l-4.634-1.503a2.512 2.512 0 0 1 1.147-4.875l-2.365-3.503Z"
4003
+ })), /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("clipPath", {
4004
+ id: "touch_svg__a"
4005
+ }, /*#__PURE__*/React__namespace.createElement("path", {
4006
+ fill: "#fff",
4007
+ d: "M0 0h24v24H0z"
4008
+ }))));
4009
+
3988
4010
  const SvgTrash = props => /*#__PURE__*/React__namespace.createElement("svg", _extends({
3989
4011
  xmlns: "http://www.w3.org/2000/svg",
3990
4012
  width: "1em",
@@ -4064,60 +4086,6 @@ const SvgUniversity = props => /*#__PURE__*/React__namespace.createElement("svg"
4064
4086
  d: "M21.426 15.401a.92.92 0 1 1-1.841 0 .92.92 0 0 1 1.841 0Z"
4065
4087
  }));
4066
4088
 
4067
- const SvgUnlimitedTicket = props => /*#__PURE__*/React__namespace.createElement("svg", _extends({
4068
- xmlns: "http://www.w3.org/2000/svg",
4069
- width: "1em",
4070
- height: "1em",
4071
- fill: "none",
4072
- viewBox: "0 0 32 32"
4073
- }, props), /*#__PURE__*/React__namespace.createElement("path", {
4074
- fill: "#D1D5DB",
4075
- fillRule: "evenodd",
4076
- d: "M2.396 8.313c-.53 0-.958.429-.958.958v4.312a1.917 1.917 0 0 1 0 3.834v4.312c0 .53.429.959.958.959h18.208c.53 0 .959-.43.959-.959v-4.312a1.917 1.917 0 0 1 0-3.834V9.271c0-.53-.43-.959-.959-.959H2.396Zm6.331 9.44c.02.173.161.303.33.303h4.886c.169 0 .31-.13.33-.302l.419-3.719c.038-.333-.366-.516-.58-.262l-1.243 1.475-.919-2.01a.491.491 0 0 0-.9 0l-.92 2.01-1.242-1.475c-.214-.254-.618-.071-.58.262l.42 3.719Z",
4077
- clipRule: "evenodd"
4078
- }), /*#__PURE__*/React__namespace.createElement("path", {
4079
- fill: "currentColor",
4080
- d: "M29.382 17.39a4.089 4.089 0 0 0-2.937-1.09c-1.89.064-3.056 1.28-4.407 2.688l-.007.007-.008-.007c-1.35-1.407-2.51-2.623-4.406-2.687A4.072 4.072 0 0 0 14.7 17.39a3.947 3.947 0 0 0-1.284 2.9c0 1.117.45 2.149 1.27 2.906.76.7 1.749 1.089 2.797 1.089h.147c1.89-.064 3.056-1.28 4.407-2.688v-.007l.007.008c1.351 1.407 2.51 2.623 4.407 2.687h.148a4.078 4.078 0 0 0 2.797-1.09 3.914 3.914 0 0 0 1.27-2.906c0-1.089-.465-2.15-1.285-2.9Zm-11.817 5.127a2.221 2.221 0 0 1-1.594-.587 2.206 2.206 0 0 1-.709-1.64 2.232 2.232 0 0 1 2.222-2.228h.081c1.07.035 1.808.75 3.115 2.114.03.036.066.07.096.1l-.008.013.008.007c-.03.036-.067.071-.096.1-1.307 1.371-2.045 2.085-3.115 2.12Zm10.548-.587a2.226 2.226 0 0 1-1.595.587c-1.07-.035-1.808-.75-3.114-2.115a1.264 1.264 0 0 0-.096-.099l.007-.014h-.007c.03-.035.066-.07.096-.099 1.306-1.365 2.044-2.079 3.114-2.114a2.278 2.278 0 0 1 1.587.594c.465.424.716 1.004.716 1.633 0 .623-.25 1.203-.708 1.627Z"
4081
- }), /*#__PURE__*/React__namespace.createElement("path", {
4082
- fill: "#fff",
4083
- fillRule: "evenodd",
4084
- d: "M22.53 18.479c1.157-1.18 2.258-2.122 3.915-2.178a4.089 4.089 0 0 1 2.937 1.089c.82.75 1.285 1.81 1.285 2.9 0 1.117-.45 2.149-1.27 2.906a4.078 4.078 0 0 1-2.797 1.089h-.148c-1.661-.056-2.757-.996-3.91-2.174l-.256-.263-.154-.16-.09-.087.003-.003-.007-.008v.008l-.003.002-.007.008-.077.08c-.137.143-.274.285-.409.423-1.155 1.178-2.256 2.118-3.91 2.174h-.148a4.111 4.111 0 0 1-2.798-1.09 3.914 3.914 0 0 1-1.27-2.906c0-1.089.466-2.15 1.285-2.9a4.072 4.072 0 0 1 2.916-1.088c1.663.056 2.759.998 3.914 2.177l.318.329.155.161.02.02.007.007.007-.007.003-.003.172-.179.317-.327Zm-.5-.519c1.167-1.191 2.45-2.312 4.39-2.378a4.81 4.81 0 0 1 3.45 1.28 4.665 4.665 0 0 1 1.515 3.427c0 1.317-.533 2.54-1.5 3.434a4.797 4.797 0 0 1-3.285 1.28H26.428c-1.945-.065-3.223-1.184-4.386-2.374-1.166 1.19-2.448 2.309-4.386 2.374H17.484a4.83 4.83 0 0 1-3.285-1.279 4.632 4.632 0 0 1-1.501-3.435c0-1.29.55-2.542 1.515-3.427a4.79 4.79 0 0 1 3.427-1.28c1.947.066 3.226 1.187 4.39 2.378Zm-.168.86.161.168-.161-.169Zm-4.297 3.697c1.07-.035 1.808-.75 3.115-2.122.03-.028.066-.063.096-.099l-.008-.007.008-.014a1.264 1.264 0 0 1-.096-.099c-1.307-1.365-2.045-2.079-3.115-2.114h-.081a2.232 2.232 0 0 0-2.222 2.228c0 .636.251 1.216.709 1.64.428.396.996.608 1.594.587Zm4.477-.916-.004-.003h.007l-.003.003Zm1.963-2.03c-.188.188-.387.395-.601.62a1.39 1.39 0 0 0-.089.09l-.007.008h.007l-.007.014c.03.029.066.064.096.1 1.306 1.364 2.044 2.079 3.114 2.114a2.226 2.226 0 0 0 1.595-.587 2.197 2.197 0 0 0 .708-1.627c0-.629-.25-1.209-.716-1.633a2.278 2.278 0 0 0-1.587-.594c-.894.03-1.556.533-2.513 1.494Z",
4085
- clipRule: "evenodd"
4086
- }));
4087
-
4088
- const SvgUnlimitedTicketColor = props => /*#__PURE__*/React__namespace.createElement("svg", _extends({
4089
- xmlns: "http://www.w3.org/2000/svg",
4090
- width: "1em",
4091
- height: "1em",
4092
- fill: "none",
4093
- viewBox: "0 0 32 32"
4094
- }, props), /*#__PURE__*/React__namespace.createElement("path", {
4095
- fill: "url(#unlimited_ticket_color_svg__a)",
4096
- fillRule: "evenodd",
4097
- d: "M2.396 8.313c-.53 0-.958.429-.958.958v4.312a1.917 1.917 0 0 1 0 3.834v4.312c0 .53.429.959.958.959h18.208c.53 0 .959-.43.959-.959v-4.312a1.917 1.917 0 0 1 0-3.834V9.271c0-.53-.43-.959-.959-.959H2.396Zm6.331 9.44c.02.173.161.303.33.303h4.886c.169 0 .31-.13.33-.302l.419-3.719c.038-.333-.366-.516-.58-.262l-1.243 1.475-.919-2.01a.491.491 0 0 0-.9 0l-.92 2.01-1.242-1.475c-.214-.254-.618-.071-.58.262l.42 3.719Z",
4098
- clipRule: "evenodd"
4099
- }), /*#__PURE__*/React__namespace.createElement("path", {
4100
- fill: "#9C7EEF",
4101
- d: "M29.382 17.39a4.089 4.089 0 0 0-2.937-1.09c-1.89.064-3.056 1.28-4.407 2.688l-.007.007-.008-.007c-1.35-1.407-2.51-2.623-4.406-2.687A4.072 4.072 0 0 0 14.7 17.39a3.947 3.947 0 0 0-1.284 2.9c0 1.117.45 2.149 1.27 2.906.76.7 1.749 1.089 2.797 1.089h.147c1.89-.064 3.056-1.28 4.407-2.688v-.007l.007.008c1.351 1.407 2.51 2.623 4.407 2.687h.148a4.078 4.078 0 0 0 2.797-1.09 3.914 3.914 0 0 0 1.27-2.906c0-1.089-.465-2.15-1.285-2.9Zm-11.817 5.127a2.221 2.221 0 0 1-1.594-.587 2.206 2.206 0 0 1-.709-1.64 2.232 2.232 0 0 1 2.222-2.228h.081c1.07.035 1.808.75 3.115 2.114.03.036.066.07.096.1l-.008.013.008.007c-.03.036-.067.071-.096.1-1.307 1.371-2.045 2.085-3.115 2.12Zm10.548-.587a2.226 2.226 0 0 1-1.595.587c-1.07-.035-1.808-.75-3.114-2.115a1.264 1.264 0 0 0-.096-.099l.007-.014h-.007c.03-.035.066-.07.096-.099 1.306-1.365 2.044-2.079 3.114-2.114a2.278 2.278 0 0 1 1.587.594c.465.424.716 1.004.716 1.633 0 .623-.25 1.203-.708 1.627Z"
4102
- }), /*#__PURE__*/React__namespace.createElement("path", {
4103
- fill: "#fff",
4104
- fillRule: "evenodd",
4105
- d: "M22.53 18.479c1.157-1.18 2.258-2.122 3.915-2.178a4.089 4.089 0 0 1 2.937 1.089c.82.75 1.285 1.81 1.285 2.9 0 1.117-.45 2.149-1.27 2.906a4.078 4.078 0 0 1-2.797 1.089h-.148c-1.661-.056-2.757-.996-3.91-2.174l-.256-.263-.154-.16-.09-.087.003-.003-.007-.008v.008l-.003.002-.007.008-.077.08c-.137.143-.274.285-.409.423-1.155 1.178-2.256 2.118-3.91 2.174h-.148a4.111 4.111 0 0 1-2.798-1.09 3.914 3.914 0 0 1-1.27-2.906c0-1.089.466-2.15 1.285-2.9a4.072 4.072 0 0 1 2.916-1.088c1.663.056 2.759.998 3.914 2.177l.318.329.155.161.02.02.007.007.007-.007.003-.003.172-.179.317-.327Zm-.5-.519c1.167-1.191 2.45-2.312 4.39-2.378a4.81 4.81 0 0 1 3.45 1.28 4.665 4.665 0 0 1 1.515 3.427c0 1.317-.533 2.54-1.5 3.434a4.797 4.797 0 0 1-3.285 1.28H26.428c-1.945-.065-3.223-1.184-4.386-2.374-1.166 1.19-2.448 2.309-4.386 2.374H17.484a4.83 4.83 0 0 1-3.285-1.279 4.632 4.632 0 0 1-1.501-3.435c0-1.29.55-2.542 1.515-3.427a4.79 4.79 0 0 1 3.427-1.28c1.947.066 3.226 1.187 4.39 2.378Zm-.168.86.161.168-.161-.169Zm-4.297 3.697c1.07-.035 1.808-.75 3.115-2.122.03-.028.066-.063.096-.099l-.008-.007.008-.014a1.264 1.264 0 0 1-.096-.099c-1.307-1.365-2.045-2.079-3.115-2.114h-.081a2.232 2.232 0 0 0-2.222 2.228c0 .636.251 1.216.709 1.64.428.396.996.608 1.594.587Zm4.477-.916-.004-.003h.007l-.003.003Zm1.963-2.03c-.188.188-.387.395-.601.62a1.39 1.39 0 0 0-.089.09l-.007.008h.007l-.007.014c.03.029.066.064.096.1 1.306 1.364 2.044 2.079 3.114 2.114a2.226 2.226 0 0 0 1.595-.587 2.197 2.197 0 0 0 .708-1.627c0-.629-.25-1.209-.716-1.633a2.278 2.278 0 0 0-1.587-.594c-.894.03-1.556.533-2.513 1.494Z",
4106
- clipRule: "evenodd"
4107
- }), /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("linearGradient", {
4108
- id: "unlimited_ticket_color_svg__a",
4109
- x1: 2.587,
4110
- x2: 14.343,
4111
- y1: 10.058,
4112
- y2: 25.686,
4113
- gradientUnits: "userSpaceOnUse"
4114
- }, /*#__PURE__*/React__namespace.createElement("stop", {
4115
- stopColor: "#0F0E0F"
4116
- }), /*#__PURE__*/React__namespace.createElement("stop", {
4117
- offset: 1,
4118
- stopColor: "#595959"
4119
- }))));
4120
-
4121
4089
  const SvgUserBlocked = props => /*#__PURE__*/React__namespace.createElement("svg", _extends({
4122
4090
  xmlns: "http://www.w3.org/2000/svg",
4123
4091
  width: "1em",
@@ -4519,13 +4487,12 @@ var icons = /*#__PURE__*/Object.freeze({
4519
4487
  TicketIcon: SvgTicket,
4520
4488
  TimeIcon: SvgTime,
4521
4489
  TopIcon: SvgTop,
4490
+ TouchIcon: SvgTouch,
4522
4491
  TrashIcon: SvgTrash,
4523
4492
  TreasureboxIcon: SvgTreasurebox,
4524
4493
  TrophyIcon: SvgTrophy,
4525
4494
  UndoIcon: SvgUndo,
4526
4495
  UniversityIcon: SvgUniversity,
4527
- UnlimitedTicketColorIcon: SvgUnlimitedTicketColor,
4528
- UnlimitedTicketIcon: SvgUnlimitedTicket,
4529
4496
  UserBlockedIcon: SvgUserBlocked,
4530
4497
  UserCheckIcon: SvgUserCheck,
4531
4498
  UserPlusIcon: SvgUserPlus,
@@ -21587,18 +21554,23 @@ var TextInput$1 = Object.assign( /*#__PURE__*/React.forwardRef(TextInput), {
21587
21554
  const SearchSelectInput = ({
21588
21555
  validationStatus,
21589
21556
  leadingVisual: LeadingVisual,
21557
+ trailingVisual: TrailingVisual,
21590
21558
  children,
21591
- onChange,
21592
21559
  focusTrapSettings,
21593
21560
  focusZoneSettings,
21594
21561
  onOpen,
21595
21562
  onClose,
21563
+ overlayProps: propOverlayProps,
21596
21564
  searchInputProps,
21597
21565
  value,
21598
- renderValue = value => value?.toString(),
21566
+ renderValue = value => /*#__PURE__*/jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, {
21567
+ children: value
21568
+ }),
21569
+ onChange,
21599
21570
  ...props
21600
21571
  }, ref) => {
21601
21572
  const theme = styled.useTheme();
21573
+ const isVisibleValueExist = value && isArray$1(value) && !isNullable(renderValue(value)) ? value.length > 0 : value && !isNullable(renderValue(value));
21602
21574
  const hasLeadingVisual = !isNullable(LeadingVisual);
21603
21575
  const valueInputRef = useProvidedOrCreatedRef(ref);
21604
21576
  const labelInputRef = React.useRef(null);
@@ -21621,7 +21593,7 @@ const SearchSelectInput = ({
21621
21593
  * ! 일단 Custom onChange를 만들어서 해결.
21622
21594
  */
21623
21595
  const nativeInputValueSetter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, 'value')?.set;
21624
- nativeInputValueSetter?.call(valueInputRef.current, item.value.toString());
21596
+ nativeInputValueSetter?.call(valueInputRef.current, item);
21625
21597
  onChange?.(item);
21626
21598
  }
21627
21599
  };
@@ -21666,8 +21638,9 @@ const SearchSelectInput = ({
21666
21638
  renderOverlay: (overlayProps, overlayHandler, {
21667
21639
  elements
21668
21640
  }) => /*#__PURE__*/jsxRuntimeExports.jsxs(Overlay$1, {
21641
+ ...propOverlayProps,
21669
21642
  ...overlayProps,
21670
- maxHeight: 200,
21643
+ maxHeight: 300,
21671
21644
  sx: {
21672
21645
  display: 'flex',
21673
21646
  flexDirection: 'column'
@@ -21676,6 +21649,12 @@ const SearchSelectInput = ({
21676
21649
  ...overlayProps.style,
21677
21650
  width: elements?.reference?.getBoundingClientRect().width
21678
21651
  },
21652
+ onKeyDown: e => {
21653
+ if (e.code === 'Escape') {
21654
+ e.stopPropagation();
21655
+ overlayHandler.closeOverlay();
21656
+ }
21657
+ },
21679
21658
  children: [/*#__PURE__*/jsxRuntimeExports.jsx(Space, {
21680
21659
  p: 2,
21681
21660
  sx: {
@@ -21690,6 +21669,7 @@ const SearchSelectInput = ({
21690
21669
  if (e.code === 'Enter' && activeDescendantRef.current) {
21691
21670
  const activeDescendantEvent = new KeyboardEvent(e.type, e.nativeEvent);
21692
21671
  activeDescendantRef.current?.dispatchEvent(activeDescendantEvent);
21672
+ e.preventDefault();
21693
21673
  }
21694
21674
  },
21695
21675
  ...searchInputProps
@@ -21707,22 +21687,18 @@ const SearchSelectInput = ({
21707
21687
  }, overlayHandler)
21708
21688
  })]
21709
21689
  }),
21710
- children: (popperProps, {
21711
- openOverlay
21712
- }) => /*#__PURE__*/jsxRuntimeExports.jsxs(TextInputWrapper, {
21713
- ...popperProps,
21714
- tabIndex: disabled ? -1 : 0,
21690
+ children: popperProps => /*#__PURE__*/jsxRuntimeExports.jsxs(TextInputWrapper, {
21691
+ ...(disabled ? {} : {
21692
+ ...popperProps,
21693
+ onClick: e => {
21694
+ focusInput();
21695
+ popperProps.onClick?.(e);
21696
+ }
21697
+ }),
21698
+ tabIndex: -1,
21715
21699
  disabled: disabled,
21716
- onClick: focusInput,
21717
21700
  hasLeadingVisual: hasLeadingVisual,
21718
21701
  validationStatus: validationStatus,
21719
- onKeyDown: e => {
21720
- if (['ArrowUp', 'ArrowDown'].includes(e.key)) {
21721
- e.preventDefault();
21722
- openOverlay();
21723
- }
21724
- e.stopPropagation();
21725
- },
21726
21702
  children: [/*#__PURE__*/jsxRuntimeExports.jsx(View, {
21727
21703
  sx: {
21728
21704
  'flexShrink': 0,
@@ -21747,12 +21723,10 @@ const SearchSelectInput = ({
21747
21723
  paddingLeft: hasLeadingVisual ? 2 : 4,
21748
21724
  whiteSpace: 'pre',
21749
21725
  textOverflow: 'ellipsis',
21750
- width: '100%'
21726
+ width: '100%',
21727
+ cursor: disabled ? 'not-allowed' : 'default'
21751
21728
  },
21752
- onClick: e => {
21753
- popperProps.onClick?.(e);
21754
- },
21755
- children: [!isNullable(renderValue(value)) ? /*#__PURE__*/jsxRuntimeExports.jsx(View, {
21729
+ children: [isVisibleValueExist ? /*#__PURE__*/jsxRuntimeExports.jsx(View, {
21756
21730
  sx: {
21757
21731
  flex: '0 1 auto',
21758
21732
  maxWidth: '100%',
@@ -21760,20 +21734,20 @@ const SearchSelectInput = ({
21760
21734
  whiteSpace: 'pre',
21761
21735
  overflow: 'hidden'
21762
21736
  },
21763
- children: renderValue(value)
21737
+ children: value && renderValue(value)
21764
21738
  }) : null, /*#__PURE__*/jsxRuntimeExports.jsx(BaseInput, {
21765
21739
  id: id,
21766
21740
  ref: labelInputRef,
21767
21741
  readOnly: true,
21768
21742
  onChange: noop$2,
21769
21743
  autoComplete: 'off',
21770
- tabIndex: -1,
21744
+ disabled: disabled,
21771
21745
  onClick: e => {
21772
21746
  props.onClick?.(e);
21773
21747
  },
21774
- placeholder: !isNullable(renderValue(value)) ? '' : placeholder
21748
+ placeholder: isVisibleValueExist ? '' : placeholder
21775
21749
  })]
21776
- }), /*#__PURE__*/jsxRuntimeExports.jsx(StyledIcon, {
21750
+ }), /*#__PURE__*/jsxRuntimeExports.jsx(View, {
21777
21751
  sx: {
21778
21752
  position: 'absolute',
21779
21753
  top: '50%',
@@ -21781,9 +21755,11 @@ const SearchSelectInput = ({
21781
21755
  right: 4,
21782
21756
  pointerEvents: 'none'
21783
21757
  },
21784
- icon: SvgChevronDown,
21785
- color: disabled ? 'icon/disabled' : 'icon/neutral/bolder',
21786
- size: 16
21758
+ children: typeof TrailingVisual !== 'string' && reactIsExports.isValidElementType(TrailingVisual) ? /*#__PURE__*/jsxRuntimeExports.jsx(TrailingVisual, {}) : TrailingVisual ? TrailingVisual : /*#__PURE__*/jsxRuntimeExports.jsx(StyledIcon, {
21759
+ icon: SvgChevronDown,
21760
+ color: disabled ? 'icon/disabled' : 'icon/neutral/bolder',
21761
+ size: 16
21762
+ })
21787
21763
  }), /*#__PURE__*/jsxRuntimeExports.jsx(BaseInput, {
21788
21764
  ref: e => {
21789
21765
  isFunction$1(ref) ? ref(e) : null;
@@ -2,6 +2,7 @@ import { forwardRef, useRef } from 'react';
2
2
  import SvgChevronDown from '../../packages/icons/esm/ChevronDown.js';
3
3
  import SvgSearch from '../../packages/icons/esm/Search.js';
4
4
  import { forcePixelValue } from '../../packages/utils/esm/forcePixelValue.js';
5
+ import { isArray } from '../../packages/utils/esm/isArray.js';
5
6
  import { isFunction } from '../../packages/utils/esm/isFunction.js';
6
7
  import { isNullable } from '../../packages/utils/esm/isNullable.js';
7
8
  import { noop } from '../../packages/utils/esm/noop.js';
@@ -21,18 +22,23 @@ import { j as jsxRuntimeExports } from '../../node_modules/react/jsx-runtime.js'
21
22
  const SearchSelectInput = ({
22
23
  validationStatus,
23
24
  leadingVisual: LeadingVisual,
25
+ trailingVisual: TrailingVisual,
24
26
  children,
25
- onChange,
26
27
  focusTrapSettings,
27
28
  focusZoneSettings,
28
29
  onOpen,
29
30
  onClose,
31
+ overlayProps: propOverlayProps,
30
32
  searchInputProps,
31
33
  value,
32
- renderValue = value => value?.toString(),
34
+ renderValue = value => /*#__PURE__*/jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, {
35
+ children: value
36
+ }),
37
+ onChange,
33
38
  ...props
34
39
  }, ref) => {
35
40
  const theme = useTheme();
41
+ const isVisibleValueExist = value && isArray(value) && !isNullable(renderValue(value)) ? value.length > 0 : value && !isNullable(renderValue(value));
36
42
  const hasLeadingVisual = !isNullable(LeadingVisual);
37
43
  const valueInputRef = useProvidedOrCreatedRef(ref);
38
44
  const labelInputRef = useRef(null);
@@ -55,7 +61,7 @@ const SearchSelectInput = ({
55
61
  * ! 일단 Custom onChange를 만들어서 해결.
56
62
  */
57
63
  const nativeInputValueSetter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, 'value')?.set;
58
- nativeInputValueSetter?.call(valueInputRef.current, item.value.toString());
64
+ nativeInputValueSetter?.call(valueInputRef.current, item);
59
65
  onChange?.(item);
60
66
  }
61
67
  };
@@ -100,8 +106,9 @@ const SearchSelectInput = ({
100
106
  renderOverlay: (overlayProps, overlayHandler, {
101
107
  elements
102
108
  }) => /*#__PURE__*/jsxRuntimeExports.jsxs(Overlay, {
109
+ ...propOverlayProps,
103
110
  ...overlayProps,
104
- maxHeight: 200,
111
+ maxHeight: 300,
105
112
  sx: {
106
113
  display: 'flex',
107
114
  flexDirection: 'column'
@@ -110,6 +117,12 @@ const SearchSelectInput = ({
110
117
  ...overlayProps.style,
111
118
  width: elements?.reference?.getBoundingClientRect().width
112
119
  },
120
+ onKeyDown: e => {
121
+ if (e.code === 'Escape') {
122
+ e.stopPropagation();
123
+ overlayHandler.closeOverlay();
124
+ }
125
+ },
113
126
  children: [/*#__PURE__*/jsxRuntimeExports.jsx(Space, {
114
127
  p: 2,
115
128
  sx: {
@@ -124,6 +137,7 @@ const SearchSelectInput = ({
124
137
  if (e.code === 'Enter' && activeDescendantRef.current) {
125
138
  const activeDescendantEvent = new KeyboardEvent(e.type, e.nativeEvent);
126
139
  activeDescendantRef.current?.dispatchEvent(activeDescendantEvent);
140
+ e.preventDefault();
127
141
  }
128
142
  },
129
143
  ...searchInputProps
@@ -141,22 +155,18 @@ const SearchSelectInput = ({
141
155
  }, overlayHandler)
142
156
  })]
143
157
  }),
144
- children: (popperProps, {
145
- openOverlay
146
- }) => /*#__PURE__*/jsxRuntimeExports.jsxs(TextInputWrapper, {
147
- ...popperProps,
148
- tabIndex: disabled ? -1 : 0,
158
+ children: popperProps => /*#__PURE__*/jsxRuntimeExports.jsxs(TextInputWrapper, {
159
+ ...(disabled ? {} : {
160
+ ...popperProps,
161
+ onClick: e => {
162
+ focusInput();
163
+ popperProps.onClick?.(e);
164
+ }
165
+ }),
166
+ tabIndex: -1,
149
167
  disabled: disabled,
150
- onClick: focusInput,
151
168
  hasLeadingVisual: hasLeadingVisual,
152
169
  validationStatus: validationStatus,
153
- onKeyDown: e => {
154
- if (['ArrowUp', 'ArrowDown'].includes(e.key)) {
155
- e.preventDefault();
156
- openOverlay();
157
- }
158
- e.stopPropagation();
159
- },
160
170
  children: [/*#__PURE__*/jsxRuntimeExports.jsx(View, {
161
171
  sx: {
162
172
  'flexShrink': 0,
@@ -181,12 +191,10 @@ const SearchSelectInput = ({
181
191
  paddingLeft: hasLeadingVisual ? 2 : 4,
182
192
  whiteSpace: 'pre',
183
193
  textOverflow: 'ellipsis',
184
- width: '100%'
194
+ width: '100%',
195
+ cursor: disabled ? 'not-allowed' : 'default'
185
196
  },
186
- onClick: e => {
187
- popperProps.onClick?.(e);
188
- },
189
- children: [!isNullable(renderValue(value)) ? /*#__PURE__*/jsxRuntimeExports.jsx(View, {
197
+ children: [isVisibleValueExist ? /*#__PURE__*/jsxRuntimeExports.jsx(View, {
190
198
  sx: {
191
199
  flex: '0 1 auto',
192
200
  maxWidth: '100%',
@@ -194,20 +202,20 @@ const SearchSelectInput = ({
194
202
  whiteSpace: 'pre',
195
203
  overflow: 'hidden'
196
204
  },
197
- children: renderValue(value)
205
+ children: value && renderValue(value)
198
206
  }) : null, /*#__PURE__*/jsxRuntimeExports.jsx(BaseInput, {
199
207
  id: id,
200
208
  ref: labelInputRef,
201
209
  readOnly: true,
202
210
  onChange: noop,
203
211
  autoComplete: 'off',
204
- tabIndex: -1,
212
+ disabled: disabled,
205
213
  onClick: e => {
206
214
  props.onClick?.(e);
207
215
  },
208
- placeholder: !isNullable(renderValue(value)) ? '' : placeholder
216
+ placeholder: isVisibleValueExist ? '' : placeholder
209
217
  })]
210
- }), /*#__PURE__*/jsxRuntimeExports.jsx(StyledIcon, {
218
+ }), /*#__PURE__*/jsxRuntimeExports.jsx(View, {
211
219
  sx: {
212
220
  position: 'absolute',
213
221
  top: '50%',
@@ -215,9 +223,11 @@ const SearchSelectInput = ({
215
223
  right: 4,
216
224
  pointerEvents: 'none'
217
225
  },
218
- icon: SvgChevronDown,
219
- color: disabled ? 'icon/disabled' : 'icon/neutral/bolder',
220
- size: 16
226
+ children: typeof TrailingVisual !== 'string' && reactIsExports.isValidElementType(TrailingVisual) ? /*#__PURE__*/jsxRuntimeExports.jsx(TrailingVisual, {}) : TrailingVisual ? TrailingVisual : /*#__PURE__*/jsxRuntimeExports.jsx(StyledIcon, {
227
+ icon: SvgChevronDown,
228
+ color: disabled ? 'icon/disabled' : 'icon/neutral/bolder',
229
+ size: 16
230
+ })
221
231
  }), /*#__PURE__*/jsxRuntimeExports.jsx(BaseInput, {
222
232
  ref: e => {
223
233
  isFunction(ref) ? ref(e) : null;
@@ -0,0 +1,26 @@
1
+ import { extends as _extends } from './_virtual/_rollupPluginBabelHelpers.js';
2
+ import * as React from 'react';
3
+
4
+ const SvgTouch = props => /*#__PURE__*/React.createElement("svg", _extends({
5
+ xmlns: "http://www.w3.org/2000/svg",
6
+ width: "1em",
7
+ height: "1em",
8
+ fill: "none",
9
+ viewBox: "0 0 24 24"
10
+ }, props), /*#__PURE__*/React.createElement("g", {
11
+ fill: "currentColor",
12
+ fillRule: "evenodd",
13
+ clipPath: "url(#touch_svg__a)",
14
+ clipRule: "evenodd"
15
+ }, /*#__PURE__*/React.createElement("path", {
16
+ d: "M.6 5.906A4.106 4.106 0 0 1 4.706 1.8h9.1a4.106 4.106 0 0 1 4.106 4.106v2.868a1.073 1.073 0 0 1-2.145 0V5.906a1.96 1.96 0 0 0-1.96-1.96H4.705a1.96 1.96 0 0 0-1.961 1.96v9.1a1.96 1.96 0 0 0 1.961 1.961h1.848a1.073 1.073 0 1 1 0 2.145H4.706A4.106 4.106 0 0 1 .6 15.006v-9.1Z"
17
+ }), /*#__PURE__*/React.createElement("path", {
18
+ d: "M11.483 10.636a.695.695 0 0 0-.192.968l3.048 4.515c.883 1.31-.353 3.008-1.87 2.569l-.86-.249a.367.367 0 0 0-.216.702l4.634 1.503a1.96 1.96 0 0 0 1.693-.233l2.812-1.875a1.96 1.96 0 0 0 .538-2.729l-1.115-1.652a1.96 1.96 0 0 0-2.717-.532l-.452.303a1.872 1.872 0 0 1-2.594-.508l-1.75-2.591a.694.694 0 0 0-.959-.19Zm-1.97 2.168a2.84 2.84 0 0 1 4.708-3.177l1.597 2.366.226-.152a4.106 4.106 0 0 1 5.689 1.115l1.115 1.651a4.106 4.106 0 0 1-1.126 5.713l-2.812 1.875a4.106 4.106 0 0 1-3.545.49l-4.634-1.503a2.512 2.512 0 0 1 1.147-4.875l-2.365-3.503Z"
19
+ })), /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("clipPath", {
20
+ id: "touch_svg__a"
21
+ }, /*#__PURE__*/React.createElement("path", {
22
+ fill: "#fff",
23
+ d: "M0 0h24v24H0z"
24
+ }))));
25
+
26
+ export { SvgTouch as default };
@@ -178,13 +178,12 @@ export { default as TicketIcon } from './Ticket.js';
178
178
  export { default as TicketColorIcon } from './TicketColor.js';
179
179
  export { default as TimeIcon } from './Time.js';
180
180
  export { default as TopIcon } from './Top.js';
181
+ export { default as TouchIcon } from './Touch.js';
181
182
  export { default as TrashIcon } from './Trash.js';
182
183
  export { default as TreasureboxIcon } from './Treasurebox.js';
183
184
  export { default as TrophyIcon } from './Trophy.js';
184
185
  export { default as UndoIcon } from './Undo.js';
185
186
  export { default as UniversityIcon } from './University.js';
186
- export { default as UnlimitedTicketIcon } from './UnlimitedTicket.js';
187
- export { default as UnlimitedTicketColorIcon } from './UnlimitedTicketColor.js';
188
187
  export { default as UserBlockedIcon } from './UserBlocked.js';
189
188
  export { default as UserCheckIcon } from './UserCheck.js';
190
189
  export { default as UserPlusIcon } from './UserPlus.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@teamturing/react-kit",
3
- "version": "2.20.0",
3
+ "version": "2.20.2",
4
4
  "description": "React components, hooks for create teamturing web application",
5
5
  "author": "Sungchang Park <psch300@gmail.com> (https://github.com/psch300)",
6
6
  "homepage": "https://github.com/weareteamturing/bombe#readme",
@@ -55,7 +55,7 @@
55
55
  "dependencies": {
56
56
  "@floating-ui/react-dom": "^2.0.2",
57
57
  "@primer/behaviors": "^1.3.6",
58
- "@teamturing/icons": "^1.25.1",
58
+ "@teamturing/icons": "^1.26.0",
59
59
  "@teamturing/token-studio": "^1.2.2",
60
60
  "@teamturing/utils": "^1.2.0",
61
61
  "framer-motion": "^10.16.4",
@@ -66,5 +66,5 @@
66
66
  "react-textarea-autosize": "^8.5.3",
67
67
  "styled-system": "^5.1.5"
68
68
  },
69
- "gitHead": "3225404dea633972d9f80b321b36bc1ff50c0335"
69
+ "gitHead": "c52d8650767c8e059b534a03b081cd449bcc6f05"
70
70
  }
@@ -1,25 +0,0 @@
1
- import { extends as _extends } from './_virtual/_rollupPluginBabelHelpers.js';
2
- import * as React from 'react';
3
-
4
- const SvgUnlimitedTicket = props => /*#__PURE__*/React.createElement("svg", _extends({
5
- xmlns: "http://www.w3.org/2000/svg",
6
- width: "1em",
7
- height: "1em",
8
- fill: "none",
9
- viewBox: "0 0 32 32"
10
- }, props), /*#__PURE__*/React.createElement("path", {
11
- fill: "#D1D5DB",
12
- fillRule: "evenodd",
13
- d: "M2.396 8.313c-.53 0-.958.429-.958.958v4.312a1.917 1.917 0 0 1 0 3.834v4.312c0 .53.429.959.958.959h18.208c.53 0 .959-.43.959-.959v-4.312a1.917 1.917 0 0 1 0-3.834V9.271c0-.53-.43-.959-.959-.959H2.396Zm6.331 9.44c.02.173.161.303.33.303h4.886c.169 0 .31-.13.33-.302l.419-3.719c.038-.333-.366-.516-.58-.262l-1.243 1.475-.919-2.01a.491.491 0 0 0-.9 0l-.92 2.01-1.242-1.475c-.214-.254-.618-.071-.58.262l.42 3.719Z",
14
- clipRule: "evenodd"
15
- }), /*#__PURE__*/React.createElement("path", {
16
- fill: "currentColor",
17
- d: "M29.382 17.39a4.089 4.089 0 0 0-2.937-1.09c-1.89.064-3.056 1.28-4.407 2.688l-.007.007-.008-.007c-1.35-1.407-2.51-2.623-4.406-2.687A4.072 4.072 0 0 0 14.7 17.39a3.947 3.947 0 0 0-1.284 2.9c0 1.117.45 2.149 1.27 2.906.76.7 1.749 1.089 2.797 1.089h.147c1.89-.064 3.056-1.28 4.407-2.688v-.007l.007.008c1.351 1.407 2.51 2.623 4.407 2.687h.148a4.078 4.078 0 0 0 2.797-1.09 3.914 3.914 0 0 0 1.27-2.906c0-1.089-.465-2.15-1.285-2.9Zm-11.817 5.127a2.221 2.221 0 0 1-1.594-.587 2.206 2.206 0 0 1-.709-1.64 2.232 2.232 0 0 1 2.222-2.228h.081c1.07.035 1.808.75 3.115 2.114.03.036.066.07.096.1l-.008.013.008.007c-.03.036-.067.071-.096.1-1.307 1.371-2.045 2.085-3.115 2.12Zm10.548-.587a2.226 2.226 0 0 1-1.595.587c-1.07-.035-1.808-.75-3.114-2.115a1.264 1.264 0 0 0-.096-.099l.007-.014h-.007c.03-.035.066-.07.096-.099 1.306-1.365 2.044-2.079 3.114-2.114a2.278 2.278 0 0 1 1.587.594c.465.424.716 1.004.716 1.633 0 .623-.25 1.203-.708 1.627Z"
18
- }), /*#__PURE__*/React.createElement("path", {
19
- fill: "#fff",
20
- fillRule: "evenodd",
21
- d: "M22.53 18.479c1.157-1.18 2.258-2.122 3.915-2.178a4.089 4.089 0 0 1 2.937 1.089c.82.75 1.285 1.81 1.285 2.9 0 1.117-.45 2.149-1.27 2.906a4.078 4.078 0 0 1-2.797 1.089h-.148c-1.661-.056-2.757-.996-3.91-2.174l-.256-.263-.154-.16-.09-.087.003-.003-.007-.008v.008l-.003.002-.007.008-.077.08c-.137.143-.274.285-.409.423-1.155 1.178-2.256 2.118-3.91 2.174h-.148a4.111 4.111 0 0 1-2.798-1.09 3.914 3.914 0 0 1-1.27-2.906c0-1.089.466-2.15 1.285-2.9a4.072 4.072 0 0 1 2.916-1.088c1.663.056 2.759.998 3.914 2.177l.318.329.155.161.02.02.007.007.007-.007.003-.003.172-.179.317-.327Zm-.5-.519c1.167-1.191 2.45-2.312 4.39-2.378a4.81 4.81 0 0 1 3.45 1.28 4.665 4.665 0 0 1 1.515 3.427c0 1.317-.533 2.54-1.5 3.434a4.797 4.797 0 0 1-3.285 1.28H26.428c-1.945-.065-3.223-1.184-4.386-2.374-1.166 1.19-2.448 2.309-4.386 2.374H17.484a4.83 4.83 0 0 1-3.285-1.279 4.632 4.632 0 0 1-1.501-3.435c0-1.29.55-2.542 1.515-3.427a4.79 4.79 0 0 1 3.427-1.28c1.947.066 3.226 1.187 4.39 2.378Zm-.168.86.161.168-.161-.169Zm-4.297 3.697c1.07-.035 1.808-.75 3.115-2.122.03-.028.066-.063.096-.099l-.008-.007.008-.014a1.264 1.264 0 0 1-.096-.099c-1.307-1.365-2.045-2.079-3.115-2.114h-.081a2.232 2.232 0 0 0-2.222 2.228c0 .636.251 1.216.709 1.64.428.396.996.608 1.594.587Zm4.477-.916-.004-.003h.007l-.003.003Zm1.963-2.03c-.188.188-.387.395-.601.62a1.39 1.39 0 0 0-.089.09l-.007.008h.007l-.007.014c.03.029.066.064.096.1 1.306 1.364 2.044 2.079 3.114 2.114a2.226 2.226 0 0 0 1.595-.587 2.197 2.197 0 0 0 .708-1.627c0-.629-.25-1.209-.716-1.633a2.278 2.278 0 0 0-1.587-.594c-.894.03-1.556.533-2.513 1.494Z",
22
- clipRule: "evenodd"
23
- }));
24
-
25
- export { SvgUnlimitedTicket as default };
@@ -1,37 +0,0 @@
1
- import { extends as _extends } from './_virtual/_rollupPluginBabelHelpers.js';
2
- import * as React from 'react';
3
-
4
- const SvgUnlimitedTicketColor = props => /*#__PURE__*/React.createElement("svg", _extends({
5
- xmlns: "http://www.w3.org/2000/svg",
6
- width: "1em",
7
- height: "1em",
8
- fill: "none",
9
- viewBox: "0 0 32 32"
10
- }, props), /*#__PURE__*/React.createElement("path", {
11
- fill: "url(#unlimited_ticket_color_svg__a)",
12
- fillRule: "evenodd",
13
- d: "M2.396 8.313c-.53 0-.958.429-.958.958v4.312a1.917 1.917 0 0 1 0 3.834v4.312c0 .53.429.959.958.959h18.208c.53 0 .959-.43.959-.959v-4.312a1.917 1.917 0 0 1 0-3.834V9.271c0-.53-.43-.959-.959-.959H2.396Zm6.331 9.44c.02.173.161.303.33.303h4.886c.169 0 .31-.13.33-.302l.419-3.719c.038-.333-.366-.516-.58-.262l-1.243 1.475-.919-2.01a.491.491 0 0 0-.9 0l-.92 2.01-1.242-1.475c-.214-.254-.618-.071-.58.262l.42 3.719Z",
14
- clipRule: "evenodd"
15
- }), /*#__PURE__*/React.createElement("path", {
16
- fill: "#9C7EEF",
17
- d: "M29.382 17.39a4.089 4.089 0 0 0-2.937-1.09c-1.89.064-3.056 1.28-4.407 2.688l-.007.007-.008-.007c-1.35-1.407-2.51-2.623-4.406-2.687A4.072 4.072 0 0 0 14.7 17.39a3.947 3.947 0 0 0-1.284 2.9c0 1.117.45 2.149 1.27 2.906.76.7 1.749 1.089 2.797 1.089h.147c1.89-.064 3.056-1.28 4.407-2.688v-.007l.007.008c1.351 1.407 2.51 2.623 4.407 2.687h.148a4.078 4.078 0 0 0 2.797-1.09 3.914 3.914 0 0 0 1.27-2.906c0-1.089-.465-2.15-1.285-2.9Zm-11.817 5.127a2.221 2.221 0 0 1-1.594-.587 2.206 2.206 0 0 1-.709-1.64 2.232 2.232 0 0 1 2.222-2.228h.081c1.07.035 1.808.75 3.115 2.114.03.036.066.07.096.1l-.008.013.008.007c-.03.036-.067.071-.096.1-1.307 1.371-2.045 2.085-3.115 2.12Zm10.548-.587a2.226 2.226 0 0 1-1.595.587c-1.07-.035-1.808-.75-3.114-2.115a1.264 1.264 0 0 0-.096-.099l.007-.014h-.007c.03-.035.066-.07.096-.099 1.306-1.365 2.044-2.079 3.114-2.114a2.278 2.278 0 0 1 1.587.594c.465.424.716 1.004.716 1.633 0 .623-.25 1.203-.708 1.627Z"
18
- }), /*#__PURE__*/React.createElement("path", {
19
- fill: "#fff",
20
- fillRule: "evenodd",
21
- d: "M22.53 18.479c1.157-1.18 2.258-2.122 3.915-2.178a4.089 4.089 0 0 1 2.937 1.089c.82.75 1.285 1.81 1.285 2.9 0 1.117-.45 2.149-1.27 2.906a4.078 4.078 0 0 1-2.797 1.089h-.148c-1.661-.056-2.757-.996-3.91-2.174l-.256-.263-.154-.16-.09-.087.003-.003-.007-.008v.008l-.003.002-.007.008-.077.08c-.137.143-.274.285-.409.423-1.155 1.178-2.256 2.118-3.91 2.174h-.148a4.111 4.111 0 0 1-2.798-1.09 3.914 3.914 0 0 1-1.27-2.906c0-1.089.466-2.15 1.285-2.9a4.072 4.072 0 0 1 2.916-1.088c1.663.056 2.759.998 3.914 2.177l.318.329.155.161.02.02.007.007.007-.007.003-.003.172-.179.317-.327Zm-.5-.519c1.167-1.191 2.45-2.312 4.39-2.378a4.81 4.81 0 0 1 3.45 1.28 4.665 4.665 0 0 1 1.515 3.427c0 1.317-.533 2.54-1.5 3.434a4.797 4.797 0 0 1-3.285 1.28H26.428c-1.945-.065-3.223-1.184-4.386-2.374-1.166 1.19-2.448 2.309-4.386 2.374H17.484a4.83 4.83 0 0 1-3.285-1.279 4.632 4.632 0 0 1-1.501-3.435c0-1.29.55-2.542 1.515-3.427a4.79 4.79 0 0 1 3.427-1.28c1.947.066 3.226 1.187 4.39 2.378Zm-.168.86.161.168-.161-.169Zm-4.297 3.697c1.07-.035 1.808-.75 3.115-2.122.03-.028.066-.063.096-.099l-.008-.007.008-.014a1.264 1.264 0 0 1-.096-.099c-1.307-1.365-2.045-2.079-3.115-2.114h-.081a2.232 2.232 0 0 0-2.222 2.228c0 .636.251 1.216.709 1.64.428.396.996.608 1.594.587Zm4.477-.916-.004-.003h.007l-.003.003Zm1.963-2.03c-.188.188-.387.395-.601.62a1.39 1.39 0 0 0-.089.09l-.007.008h.007l-.007.014c.03.029.066.064.096.1 1.306 1.364 2.044 2.079 3.114 2.114a2.226 2.226 0 0 0 1.595-.587 2.197 2.197 0 0 0 .708-1.627c0-.629-.25-1.209-.716-1.633a2.278 2.278 0 0 0-1.587-.594c-.894.03-1.556.533-2.513 1.494Z",
22
- clipRule: "evenodd"
23
- }), /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("linearGradient", {
24
- id: "unlimited_ticket_color_svg__a",
25
- x1: 2.587,
26
- x2: 14.343,
27
- y1: 10.058,
28
- y2: 25.686,
29
- gradientUnits: "userSpaceOnUse"
30
- }, /*#__PURE__*/React.createElement("stop", {
31
- stopColor: "#0F0E0F"
32
- }), /*#__PURE__*/React.createElement("stop", {
33
- offset: 1,
34
- stopColor: "#595959"
35
- }))));
36
-
37
- export { SvgUnlimitedTicketColor as default };