@iamfiro/design 0.3.0 → 0.3.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.
Files changed (156) hide show
  1. package/agents/avatar/AGENTS.md +29 -1
  2. package/agents/tooltip/AGENTS.md +1 -1
  3. package/lib/components/Accordion/Accordion2.js +76 -76
  4. package/lib/components/ActionBar/ActionBar2.js +43 -43
  5. package/lib/components/Alert/Alert2.js +46 -46
  6. package/lib/components/AppShell/AppShell2.js +58 -58
  7. package/lib/components/AreaChart/AreaChart.js +39 -40
  8. package/lib/components/BarChart/BarChart2.js +169 -169
  9. package/lib/components/BarList/BarList2.js +99 -99
  10. package/lib/components/Breadcrumb/Breadcrumb2.js +65 -66
  11. package/lib/components/Calendar/Calendar2.js +172 -171
  12. package/lib/components/Calendar/DatePicker2.js +101 -102
  13. package/lib/components/Calendar/date.js +71 -71
  14. package/lib/components/Card/Card2.js +55 -56
  15. package/lib/components/CardFrame/CardFrame2.js +52 -52
  16. package/lib/components/Chart/ChartParts.js +90 -90
  17. package/lib/components/Chart/chart2.js +52 -52
  18. package/lib/components/Chart/useChartInteraction.js +44 -44
  19. package/lib/components/ChatBubble/ChatBubble2.js +112 -112
  20. package/lib/components/ChatBubble/formatChatTime.js +44 -42
  21. package/lib/components/ChatComposer/ChatComposer2.js +94 -94
  22. package/lib/components/CodeBlock/CodeBlock2.js +66 -66
  23. package/lib/components/CodeBlock/highlight.js +67 -70
  24. package/lib/components/ColorPicker/ColorPicker2.js +404 -405
  25. package/lib/components/ColorPicker/color.js +81 -81
  26. package/lib/components/ColorPicker/presets.js +44 -43
  27. package/lib/components/Combobox/Combobox2.js +128 -128
  28. package/lib/components/CommandMenu/CommandMenu.js +137 -137
  29. package/lib/components/Comment/Comment2.js +55 -80
  30. package/lib/components/ContextMenu/ContextMenu2.js +93 -94
  31. package/lib/components/DataGrid/DataGrid2.js +1181 -1180
  32. package/lib/components/DataGrid/GridPopover.js +112 -112
  33. package/lib/components/DataGrid/anchor.js +23 -25
  34. package/lib/components/DataGrid/model.js +274 -275
  35. package/lib/components/DataGrid/panels.js +423 -423
  36. package/lib/components/DataGrid/typeMeta.js +21 -22
  37. package/lib/components/DataGrid/types.js +38 -37
  38. package/lib/components/DescriptionList/DescriptionList2.js +107 -107
  39. package/lib/components/Dialog/AlertDialog.js +53 -53
  40. package/lib/components/Dialog/Dialog2.js +71 -70
  41. package/lib/components/Dialog/modal.js +59 -58
  42. package/lib/components/Drawer/Drawer2.js +123 -124
  43. package/lib/components/DropdownMenu/DropdownMenu2.js +198 -200
  44. package/lib/components/DropdownMenu/menuCore.js +46 -47
  45. package/lib/components/Dropzone/Dropzone2.js +77 -77
  46. package/lib/components/EmptyState/EmptyState2.js +57 -56
  47. package/lib/components/FileChip/FileChip2.js +71 -71
  48. package/lib/components/FileUpload/FileUpload.js +119 -119
  49. package/lib/components/FilterChips/FilterChips2.js +61 -61
  50. package/lib/components/FunnelChart/FunnelChart2.js +141 -141
  51. package/lib/components/FunnelChart/funnel.js +51 -51
  52. package/lib/components/Highlight/Highlight2.js +54 -54
  53. package/lib/components/HoverCard/HoverCard.js +108 -83
  54. package/lib/components/InlineDiff/InlineDiff2.js +126 -126
  55. package/lib/components/InlineDiff/diff.js +82 -82
  56. package/lib/components/InlineDiff/useDiffReview.js +62 -60
  57. package/lib/components/Kanban/Kanban2.js +382 -382
  58. package/lib/components/Kanban/KanbanCard.js +92 -92
  59. package/lib/components/Kanban/move.js +45 -49
  60. package/lib/components/LineChart/LineChart2.js +207 -207
  61. package/lib/components/List/List2.js +71 -71
  62. package/lib/components/Listbox/Listbox2.js +115 -115
  63. package/lib/components/Marker/Marker2.js +67 -60
  64. package/lib/components/Menubar/Menubar2.js +130 -133
  65. package/lib/components/MultiSelect/MultiSelect2.js +104 -104
  66. package/lib/components/NavigationMenu/NavigationMenu2.js +261 -262
  67. package/lib/components/NoticeStack/NoticeStack2.js +105 -105
  68. package/lib/components/NumberStepper/NumberStepper2.js +67 -67
  69. package/lib/components/OtpInput/OtpInput2.js +66 -67
  70. package/lib/components/Pagination/Pagination2.js +90 -90
  71. package/lib/components/Pagination/paginationRange.js +24 -24
  72. package/lib/components/PhoneInput/PhoneInput.js +74 -74
  73. package/lib/components/PieChart/PieChart2.js +119 -119
  74. package/lib/components/PieChart/arc.js +63 -42
  75. package/lib/components/PieChart/useArcTween.js +56 -54
  76. package/lib/components/Popover/Popover2.js +61 -61
  77. package/lib/components/ProgressTracker/ProgressTracker2.js +127 -127
  78. package/lib/components/Rating/Rating2.js +81 -81
  79. package/lib/components/Resizable/Resizable2.js +112 -110
  80. package/lib/components/Resizable/layout.js +50 -50
  81. package/lib/components/ScaledPreview/ScaledPreview2.js +49 -50
  82. package/lib/components/ScatterChart/ScatterChart2.js +226 -227
  83. package/lib/components/ScatterChart/scatter.js +59 -57
  84. package/lib/components/ScrollArea/ScrollArea2.js +112 -112
  85. package/lib/components/Select/Select2.js +79 -79
  86. package/lib/components/Sidebar/Sidebar2.js +79 -79
  87. package/lib/components/Skeleton/Skeleton2.js +68 -68
  88. package/lib/components/Slider/Slider2.js +78 -77
  89. package/lib/components/SocialLoginButton/SocialLoginButton.js +65 -66
  90. package/lib/components/SparkChart/SparkChart2.js +146 -145
  91. package/lib/components/SparkChart/spark.js +41 -67
  92. package/lib/components/Sparkbar/Sparkbar2.js +61 -60
  93. package/lib/components/SplitView/SplitView2.js +53 -53
  94. package/lib/components/Stat/Stat2.js +94 -94
  95. package/lib/components/StepList/StepList2.js +70 -70
  96. package/lib/components/Table/Table2.js +63 -63
  97. package/lib/components/Tabs/Tabs2.js +70 -70
  98. package/lib/components/TagInput/TagInput2.js +236 -239
  99. package/lib/components/TimePicker/TimePicker2.js +231 -232
  100. package/lib/components/TimePicker/time.js +63 -65
  101. package/lib/components/Timeline/Timeline2.js +167 -167
  102. package/lib/components/Timeline/scale.js +55 -55
  103. package/lib/components/Toast/Toaster.js +151 -152
  104. package/lib/components/Toast/store.js +90 -87
  105. package/lib/components/ToggleGroup/ToggleGroup2.js +91 -91
  106. package/lib/components/Toolbar/Toolbar2.js +145 -145
  107. package/lib/components/Tracker/Tracker2.js +76 -76
  108. package/lib/components/TreeDiagram/TreeDiagram2.js +112 -111
  109. package/lib/components/TreeView/TreeView2.js +124 -124
  110. package/lib/hooks/timing.js +30 -29
  111. package/lib/hooks/useControllableState.js +37 -36
  112. package/lib/hooks/useCountdown.js +56 -59
  113. package/lib/hooks/useDigitInput.js +52 -78
  114. package/lib/hooks/useDismiss.js +58 -57
  115. package/lib/hooks/useElapsed.js +54 -54
  116. package/lib/hooks/useFloating.js +26 -26
  117. package/lib/hooks/useFocusTrap.js +42 -42
  118. package/lib/hooks/usePresence.js +49 -48
  119. package/lib/hooks/usePressToOpen.js +42 -41
  120. package/lib/hooks/useScrollLock.js +45 -44
  121. package/lib/hooks/useSelection.js +45 -39
  122. package/lib/index.js +71 -71
  123. package/lib/primitives/AspectRatio2.js +60 -60
  124. package/lib/primitives/BrandIcon.js +161 -161
  125. package/lib/primitives/ColorDot2.js +42 -45
  126. package/lib/primitives/CopyButton2.js +57 -56
  127. package/lib/primitives/CountBadge2.js +55 -51
  128. package/lib/primitives/Countdown2.js +41 -46
  129. package/lib/primitives/Delta2.js +36 -36
  130. package/lib/primitives/Elapsed.js +49 -49
  131. package/lib/primitives/FileIcon2.js +96 -96
  132. package/lib/primitives/Flag2.js +135 -135
  133. package/lib/primitives/IconStack2.js +38 -60
  134. package/lib/primitives/IconTile2.js +28 -29
  135. package/lib/primitives/Kbd2.js +50 -50
  136. package/lib/primitives/Layout2.js +71 -71
  137. package/lib/primitives/Link2.js +32 -31
  138. package/lib/primitives/MaskedText2.js +49 -74
  139. package/lib/primitives/Progress2.js +65 -66
  140. package/lib/primitives/RelativeTime.js +58 -57
  141. package/lib/primitives/SearchInput2.js +65 -65
  142. package/lib/primitives/SelectorButton2.js +74 -73
  143. package/lib/primitives/Spinner2.js +50 -50
  144. package/lib/primitives/StatusIcon2.js +68 -68
  145. package/lib/primitives/Swatch2.js +59 -55
  146. package/lib/primitives/Tooltip2.js +81 -81
  147. package/lib/primitives/Typography2.js +53 -53
  148. package/lib/primitives/formatCountdown.js +21 -22
  149. package/lib/primitives/formatElapsed.js +43 -42
  150. package/lib/primitives/formatRelativeTime.js +50 -50
  151. package/lib/primitives/hotkey.js +82 -82
  152. package/lib/primitives/index.js +193 -174
  153. package/lib/primitives/maskValue.js +28 -28
  154. package/lib/style.css +1 -1
  155. package/lib/types/primitives/index.d.ts +6 -2
  156. package/package.json +1 -1
@@ -1,360 +1,357 @@
1
1
  "use client";
2
- const e = t;
3
- (function(e, n) {
4
- let r = t, i = e();
2
+ function e() {
3
+ let t = /* @__PURE__ */ "mJC4mZqXnM1MBwPksq.C29YDa.C2vSzwn0.zhmTDgfNAw5WDxrFx2vKAxrVCG.Cg9W.BgvHDMLUzW.y3vYCMvUDfrHCMDLDa.rw50zxi.7j6f66cLio2BHcbfBNrLCG.C3bHBG.qxjYB3DvCa.mJbhAhzmzva.otq5nZHIzwzJugG.zMLUzeLUzgv4.zhvWBgLJyxrL.zhmTDgfNAw5WDxrFx2LJB24.mZK0otyXBLzPyvfK.y2XLyxjuAw1LB3v0.C3bSAwnL.yNv0Dg9U.A2v5.C2vSzwn0Aw9Urw5K.C2v0.z2v0rgf0yq.zMLSDgvY.AM9PBG.DMfSDwu.C2v0vgLTzw91Da.lMrZlxrHz2LUChv0x19ZBg90.zhmTy29UDhjVBa.Bw91BNrLza.zM9JDxm.ChvZAa.y29TyM9IB3G.qxjYB3DeB3DU.otq4EuXeDgfo.Bwv0yuTLEq.zhmTDgfNAw5WDxq.C2vSzwn0Aw9Uu3rHCNq.y3rYBeTLEq.ntfevwHAEwW.C3rYAw5N.mJu0ntyZofL4yM9IEq.BwfW.AgLKzgvU.y2XVC2vZDa.rw5K.y3vYCMvUDa.zhmTDgfNAw5WDxqTlq.qxjYB3DsAwDODa.BgvUz3rO.zhvW.ofDLv1D0qW.zgfUz2vY.AxndB21WB3nPBMC.CMvHC29U.zhmTDgfNAw5WDxrFx3nSB3q.Aw5WDxq.zhmTC3iTB25SEq.vgfI.Dgv4Da.ChjLDMvUDerLzMf1Bhq.DhjPBq.BMf0AxzLrxzLBNq.zhmTDgfNAw5WDxrFx3jLBw92zq.rxnJyxbL.mJeYnJuYmg90Dhrvzq.ioY2LoQWGoUqQa.Bwf4.mZK2nZq5n3L4Ew5byG.DgfYz2v0.A2v5q29Kzq.qMfJA3nWywnL.y2XPCgjVyxjKrgf0yq.zgf0yq.BwvZC2fNzq.Aw5JBhvKzxm.BgLZDa.Dg9mB3DLCKnHC2u.xcqM.Aw5KzxG.C2HPzNrlzxK.Aw52ywXPza.C2XPy2u".split(".");
4
+ return e = function() {
5
+ return t;
6
+ }, e();
7
+ }
8
+ const t = g;
9
+ (function(e, t) {
10
+ let n = g, r = e();
5
11
  for (;;) try {
6
- if (parseInt(r(537)) / 1 * (-parseInt(r(531)) / 2) + parseInt(r(572)) / 3 * (-parseInt(r(578)) / 4) + -parseInt(r(508)) / 5 * (parseInt(r(570)) / 6) + parseInt(r(506)) / 7 * (parseInt(r(523)) / 8) + -parseInt(r(551)) / 9 + -parseInt(r(519)) / 10 + parseInt(r(538)) / 11 == n) break;
7
- i.push(i.shift());
12
+ if (-parseInt(n(525)) / 1 * (parseInt(n(569)) / 2) + -parseInt(n(513)) / 3 * (-parseInt(n(508)) / 4) + parseInt(n(539)) / 5 + -parseInt(n(515)) / 6 + parseInt(n(573)) / 7 + -parseInt(n(557)) / 8 + -parseInt(n(542)) / 9 * (-parseInt(n(568)) / 10) == t) break;
13
+ r.push(r.shift());
8
14
  } catch {
9
- i.push(i.shift());
15
+ r.push(r.shift());
10
16
  }
11
- })(d, 398990);
12
- function t(e, n) {
13
- e -= 494;
14
- let r = d(), i = r[e];
15
- t.TlpGPz === void 0 && (t.OUUMCD = function(e) {
16
- let t = "", n = "";
17
- for (let n = 0, r, i, a = 0; i = e.charAt(a++); ~i && (r = n % 4 ? r * 64 + i : i, n++ % 4) && (t += String.fromCharCode(255 & r >> (-2 * n & 6)))) i = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(i);
18
- for (let e = 0, r = t.length; e < r; e++) n += "%" + ("00" + t.charCodeAt(e).toString(16)).slice(-2);
19
- return decodeURIComponent(n);
20
- }, t.sGsYht = {}, t.TlpGPz = !0);
21
- let a = r[0];
22
- t.fDqrGw !== a && (t.sGsYht = {}, t.fDqrGw = a);
23
- let o = t.sGsYht[e];
24
- return o === void 0 ? (i = t.OUUMCD(i), t.sGsYht[e] = i) : i = o, i;
25
- }
17
+ })(e, 215310);
26
18
  import { usePresence as n } from "../../hooks/usePresence.js";
27
19
  import { useControllableState as r } from "../../hooks/useControllableState.js";
28
20
  import { cx as i } from "../../primitives/index.js";
29
- import { Listbox as a, ListboxPopover as o, nextEnabled as s, optionId as ee } from "../Listbox/Listbox2.js";
21
+ import { Listbox as a, ListboxPopover as o, nextEnabled as s, optionId as c } from "../Listbox/Listbox2.js";
30
22
  /* empty css */
31
- import { useEffect as c, useId as te, useMemo as ne, useRef as l, useState as u } from "react";
32
- function d() {
33
- let e = /* @__PURE__ */ "AxndB21WB3nPBMC.z2v0rgf0yq.mtGYnLbcswDUEG.vgfI.BgvHDMLUzW.zgL2.ioY2LoYYNa.lMrZlxrHz2LUChv0x19ZBg90.nZLiv2rgtfu.mJm0mda4ntbuAxnzu28.zhmTDgfNAw5WDxrFx3rHzW.qMfJA3nWywnL.C2vSzwn0Aw9Uu3rHCNq.ChvZAa.zhmTy29UDhjVBa.zhmTDgfNAw5WDxrFx3jLBw92zq.zM9JDxm.y3vYCMvUDfrHCMDLDa.C3bSAxq.ChjLDMvUDerLzMf1Bhq.BgvUz3rO.ioYcREYGNa.mtG4mte0nefHz2rfqG.CMvWBgfJzq.C3bHBG.C3rVCfbYB3bHz2f0Aw9U.ioYcREYGNoUqQa.BwvZC2fNzq.DhjPBq.ioYiMoYGLq.Aw5WDxq.rgvSzxrL.BMf0AxzLrxzLBNq.7j6f66cLio2BHcbfBNrLCG.Dg9mB3DLCKnHC2u.Cg9W.AM9PBG.y3vYCMvUDa.CMvHC29U.Dgv4Da.lwXPC3q.ndHSsKXjB2S.Aw5JBhvKzxm.ntu0nZG3Cgjku0L5.BwfW.AgLKzgvU.ioY2LoQWGoUqQa.C2XPy2u.DMfSDwu.mtjnCuLXywO.zMLSDgvY.zhmTC3iTB25SEq.C2v0.zgfUz2vY.A2v5.Bwf4.qxjYB3DsAwDODa.DgfYz2v0.zhmTDgfNAw5WDxrFx2LJB24.rw50zxi.zhmTDgfNAw5WDxrFx3nSB3q.z2v0.zhmTDgfNAw5WDxrFx2vKAxrVCG.C2vSzwn0Aw9Urw5K.y2XVC2LUzW.sg9Tzq.Aw52ywXPza.Bwv0yuTLEq.mtrqvfLhrMW.qxjYB3DeB3DU.nda3mdiWuxHwrefr.zhmTDgfNAw5WDxqTlq.C29YDa.C29Tzq.y2XVC2vZDa.zMLUzeLUzgv4.C2HPzNrlzxK.Aw5KzxG.C2v0vgLTzw91Da.zhvWBgLJyxrL.qxjYB3DvCa.ndK1mZm2mefuvMLluq.zgf0yq.C3bSAwnL.Cg9SAxrL.mtaXnJu1mNHZtM1SrG.zhmTDgfNAw5WDxrFx2XHyMvS.y2XLyxjuAw1LB3v0.y29TyM9IB3G.zhvW.rxnJyxbL".split(".");
34
- return d = function() {
35
- return e;
36
- }, d();
37
- }
38
- import { X as re } from "lucide-react";
39
- import { Fragment as ie, jsx as f, jsxs as p } from "react/jsx-runtime";
40
- var ae = 220, m = (t) => t.trim()[e(563)](), oe = (t) => t[e(552)](/[.*+?^${}()|[\]\\]/g, "\\$&"), se = (t) => {
41
- let n = e, r = /* @__PURE__ */ new Map();
42
- return t[n(573)]((e) => {
43
- let t = n, i = r[t(499)](e) ?? 0;
44
- return r[t(581)](e, i + 1), e + "\0" + i;
23
+ import { useEffect as l, useId as ee, useMemo as te, useRef as u, useState as d } from "react";
24
+ import { X as ne } from "lucide-react";
25
+ import { Fragment as re, jsx as f, jsxs as p } from "react/jsx-runtime";
26
+ var ie = 220, m = (e) => e[t(535)]()[t(551)](), ae = (e) => e.replace(/[.*+?^${}()|[\]\\]/g, t(552)), oe = (e) => {
27
+ let n = t, r = /* @__PURE__ */ new Map();
28
+ return e[n(516)]((e) => {
29
+ let t = n, i = r.get(e) ?? 0;
30
+ return r[t(495)](e, i + 1), e + "\0" + i;
45
31
  });
46
32
  };
47
- function h({ value: t, defaultValue: d = [], onValueChange: h, delimiters: g = [
48
- e(497),
49
- e(532),
33
+ function h({ value: e, defaultValue: h = [], onValueChange: g, delimiters: _ = [
34
+ "Enter",
35
+ "Tab",
50
36
  ","
51
- ], validate: _, allowInvalid: v, allowDuplicates: ce, transform: le = (e) => e, max: y, suggestions: b, onReject: ue, editable: de = !0, placeholder: fe = e(562), size: pe = "md", disabled: x, invalid: me, leading: S, name: he, id: ge, className: _e, maxHeight: ve, "aria-label": C, "aria-labelledby": ye, "aria-describedby": be }) {
52
- let w = e, T = te() + w(569), [E, D] = r(t, d, h), [O, k] = u(""), [A, j] = u(!1), [M, N] = u(-1), [P, F] = u(null), [xe, I] = u([]), [L, Se] = u(null), [Ce, we] = u(""), [Te, Ee] = u(!1), [R, z] = u(-1), [De, Oe] = u(!1), ke = l(null), B = l(null), V = l(null), Ae = l(null), H = l(0), U = l(!1), W = se(E), [je] = u(() => new Set(W)), G = g[w(579)]((e) => e[w(549)] === 1), Me = y !== void 0 && E[w(549)] >= y;
53
- c(() => () => window[w(525)](H[w(566)]), []);
54
- let Ne = P?.[w(515)] ?? -1;
55
- c(() => {
56
- let e = w;
57
- Ne < 0 || (V[e(566)]?.[e(545)](), V[e(566)]?.select());
58
- }, [Ne]);
59
- let Pe = (e, t) => _ ? _(e, t) !== !0 : !1, Fe = (e, t, n = !1) => {
60
- let r = w;
61
- if (!n && y !== void 0 && t.length >= y) return {
37
+ ], validate: v, allowInvalid: y, allowDuplicates: se, transform: ce = (e) => e, max: b, suggestions: x, onReject: le, editable: ue = !0, placeholder: de = t(565), size: fe = "md", disabled: S, invalid: pe, leading: me, name: C, id: he, className: ge, maxHeight: _e, "aria-label": w, "aria-labelledby": ve, "aria-describedby": ye }) {
38
+ let T = t, E = ee() + "-list", [D, O] = r(e, h, g), [k, A] = d(""), [j, M] = d(!1), [N, P] = d(-1), [F, I] = d(null), [be, L] = d([]), [R, xe] = d(null), [Se, Ce] = d(""), [we, Te] = d(!1), [z, B] = d(-1), [Ee, De] = d(!1), Oe = u(null), V = u(null), H = u(null), ke = u(null), U = u(0), W = u(!1), G = oe(D), [Ae] = d(() => new Set(G)), K = _[T(497)]((e) => e.length === 1), je = b !== void 0 && D[T(523)] >= b;
39
+ l(() => () => window[T(574)](U[T(520)]), []);
40
+ let Me = F?.[T(553)] ?? -1;
41
+ l(() => {
42
+ let e = T;
43
+ Me < 0 || (H[e(520)]?.[e(504)](), H[e(520)]?.[e(559)]());
44
+ }, [Me]);
45
+ let Ne = (e, t) => v ? v(e, t) !== !0 : !1, Pe = (e, t, n = !1) => {
46
+ let r = T;
47
+ if (!n && b !== void 0 && t[r(523)] >= b) return {
62
48
  ok: !1,
63
- reason: "max"
49
+ reason: r(541)
64
50
  };
65
- if (!ce) {
66
- let n = t[r(513)]((t) => m(t) === m(e));
51
+ if (!se) {
52
+ let n = t[r(570)]((t) => m(t) === m(e));
67
53
  if (n >= 0) return {
68
54
  ok: !1,
69
- reason: r(517),
55
+ reason: r(571),
70
56
  dup: n
71
57
  };
72
58
  }
73
- if (_) {
74
- let n = _(e, t);
75
- if (n !== !0) return v ? {
59
+ if (v) {
60
+ let n = v(e, t);
61
+ if (n !== !0) return y ? {
76
62
  ok: !0,
77
63
  danger: !0
78
64
  } : {
79
65
  ok: !1,
80
- reason: r(504),
81
- message: typeof n == "string" ? n : void 0
66
+ reason: r(555),
67
+ message: typeof n === r(514) ? n : void 0
82
68
  };
83
69
  }
84
70
  return {
85
71
  ok: !0,
86
72
  danger: !1
87
73
  };
88
- }, Ie = (e) => {
89
- let t = w;
90
- window[t(525)](H.current), Se((t) => ({
74
+ }, Fe = (e) => {
75
+ let t = T;
76
+ window[t(574)](U[t(520)]), xe((t) => ({
91
77
  target: e,
92
78
  n: (t?.n ?? 0) + 1
93
- })), H[t(566)] = window[t(516)](() => Se(null), 480);
94
- }, Le = (e) => le(e[w(557)]())[w(557)](), K = (e) => {
95
- let t = w, n = [...E], r = [], i = null, a = !1;
79
+ })), U[t(520)] = window.setTimeout(() => xe(null), 480);
80
+ }, Ie = (e) => ce(e[T(535)]())[T(535)](), q = (e) => {
81
+ let t = T, n = [...D], r = [], i = null, a = !1;
96
82
  for (let o of e) {
97
- let e = Le(o);
83
+ let e = Ie(o);
98
84
  if (!e) continue;
99
- let s = Fe(e, n);
100
- s.ok ? n[t(542)](e) : (r[t(542)](o[t(557)]()), ue?.(e, s.reason, s[t(556)]), s[t(567)] === "duplicate" ? i = s[t(527)] ?? -1 : (i = -1, s.reason === t(504) && (a = !0)));
85
+ let s = Pe(e, n);
86
+ s.ok ? n.push(e) : (r[t(505)](o[t(535)]()), le?.(e, s.reason, s[t(548)]), s[t(528)] === t(571) ? i = s[t(524)] ?? -1 : (i = -1, s[t(528)] === t(555) && (a = !0)));
101
87
  }
102
- let o = n.slice(E[t(549)]);
103
- return o[t(549)] && (D(n), we(o.join(", ") + t(575))), i !== null && Ie(i), j(a), r;
104
- }, q = (e) => {
105
- let t = w, n = E[e];
88
+ let o = n[t(556)](D[t(523)]);
89
+ return o[t(523)] && (O(n), Ce(o.join(", ") + t(540))), i !== null && Fe(i), M(a), r;
90
+ }, J = (e) => {
91
+ let t = T, n = D[e];
106
92
  if (n === void 0) return;
107
93
  let r = {
108
- key: W[e],
94
+ key: G[e],
109
95
  text: n,
110
96
  index: e,
111
- danger: v ? Pe(n, E) : !1
97
+ danger: y ? Ne(n, D) : !1
112
98
  };
113
- I((e) => [...e.filter((e) => e[t(583)] !== r.key), r]), window[t(516)](() => I((e) => e.filter((e) => e !== r)), ae), D(E.filter((t, n) => n !== e)), we(n + t(555));
114
- }, J = () => requestAnimationFrame(() => B[w(566)]?.[w(545)]()), Re = (e) => {
115
- let t = w;
116
- de && !x && (N(-1), U[t(566)] = !1, F({
99
+ L((e) => [...e[t(497)]((e) => e[t(493)] !== r[t(493)]), r]), window[t(500)](() => L((e) => e[t(497)]((e) => e !== r)), ie), O(D[t(497)]((t, n) => n !== e)), Ce(n + " 삭제됨");
100
+ }, Y = () => requestAnimationFrame(() => V[T(520)]?.[T(504)]()), Le = (e) => {
101
+ ue && !S && (P(-1), W.current = !1, I({
117
102
  index: e,
118
- text: E[e]
103
+ text: D[e]
119
104
  }));
120
- }, ze = (e = !0) => {
121
- let t = w;
122
- if (!P) return !0;
123
- let { index: n } = P, r = Le(P.text);
124
- if (!r) return F(null), q(n), e && J(), !0;
125
- if (r !== E[n]) {
126
- let e = E[t(579)]((e, t) => t !== n), i = Fe(r, e, !0);
127
- if (!i.ok) return ue?.(r, i[t(567)], i[t(556)]), Ie(i[t(567)] === t(517) && i[t(527)] !== void 0 ? i.dup >= n ? i[t(527)] + 1 : i[t(527)] : n), !1;
128
- let a = [...E];
129
- a[n] = r, D(a);
105
+ }, Re = (e = !0) => {
106
+ let t = T;
107
+ if (!F) return !0;
108
+ let { index: n } = F, r = Ie(F[t(533)]);
109
+ if (!r) return I(null), J(n), e && Y(), !0;
110
+ if (r !== D[n]) {
111
+ let e = D[t(497)]((e, t) => t !== n), i = Pe(r, e, !0);
112
+ if (!i.ok) return le?.(r, i[t(528)], i[t(548)]), Fe(i[t(528)] === t(571) && i[t(524)] !== void 0 ? i.dup >= n ? i[t(524)] + 1 : i[t(524)] : n), !1;
113
+ let a = [...D];
114
+ a[n] = r, O(a);
130
115
  }
131
- return F(null), e && J(), !0;
132
- }, Y = ne(() => {
133
- let e = w, t = m(O);
134
- return !b || !t ? [] : b.filter((n) => m(n)[e(571)](t) && !E[e(511)]((e) => m(e) === m(n)))[e(576)](0, 50);
116
+ return I(null), e && Y(), !0;
117
+ }, X = te(() => {
118
+ let e = T, t = m(k);
119
+ return !x || !t ? [] : x[e(497)]((n) => m(n)[e(549)](t) && !D.some((e) => m(e) === m(n)))[e(556)](0, 50);
135
120
  }, [
136
- b,
137
- O,
138
- E
139
- ]), X = Te && !De && !P && !Me && Y[w(549)] > 0, Be = n(X), [Z, Ve] = u([]);
140
- X && Z.join("\0") !== Y[w(565)]("\0") && Ve(Y);
141
- let He = Z[w(573)]((e) => ({
121
+ x,
122
+ k,
123
+ D
124
+ ]), Z = we && !Ee && !F && !je && X.length > 0, ze = n(Z), [Q, Be] = d([]);
125
+ Z && Q[T(498)]("\0") !== X[T(498)]("\0") && Be(X);
126
+ let Ve = Q[T(516)]((e) => ({
142
127
  value: e,
143
128
  label: e
144
- })), Ue = (e) => {
145
- let t = w;
146
- K([e])[t(549)] || k(""), z(-1);
147
- }, We = () => {
148
- let e = w;
149
- K([O])[e(549)] || k("");
150
- }, Ge = (e) => {
151
- let t = w;
152
- if (e[t(561)].isComposing || e.keyCode === 229) return;
153
- let n = e[t(546)], r = n[t(541)] === 0 && n[t(501)] === 0;
154
- if (X) {
155
- if (e[t(583)] === t(507) || e.key === t(518)) {
156
- e[t(548)](), z(s(He, R, e.key === "ArrowDown" ? 1 : -1));
129
+ })), He = (e) => {
130
+ let t = T;
131
+ q([e])[t(523)] || A(""), B(-1);
132
+ }, Ue = () => {
133
+ q([k]).length || A("");
134
+ }, We = (e) => {
135
+ let t = T;
136
+ if (e[t(536)][t(527)] || e[t(544)] === 229) return;
137
+ let n = e.currentTarget, r = n[t(511)] === 0 && n[t(494)] === 0;
138
+ if (Z) {
139
+ if (e[t(493)] === t(507) || e[t(493)] === t(567)) {
140
+ e[t(534)](), B(s(Ve, z, e[t(493)] === t(507) ? 1 : -1));
157
141
  return;
158
142
  }
159
- if (e[t(583)] === "Enter" && R >= 0 && Z[R]) {
160
- e.preventDefault(), Ue(Z[R]);
143
+ if (e.key === t(564) && z >= 0 && Q[z]) {
144
+ e[t(534)](), He(Q[z]);
161
145
  return;
162
146
  }
163
- if (e[t(583)] === t(528)) {
164
- e[t(548)](), Oe(!0), z(-1);
147
+ if (e[t(493)] === t(538)) {
148
+ e.preventDefault(), De(!0), B(-1);
165
149
  return;
166
150
  }
167
151
  }
168
- switch (e.key) {
152
+ switch (e[t(493)]) {
169
153
  case "ArrowLeft":
170
- M >= 0 ? (e.preventDefault(), N(Math[t(584)](0, M - 1))) : r && E[t(549)] && (e.preventDefault(), N(E[t(549)] - 1));
154
+ N >= 0 ? (e.preventDefault(), P(Math.max(0, N - 1))) : r && D[t(523)] && (e[t(534)](), P(D[t(523)] - 1));
171
155
  break;
172
- case t(494):
173
- M >= 0 && (e[t(548)](), N(M + 1 >= E[t(549)] ? -1 : M + 1));
156
+ case t(522):
157
+ N >= 0 && (e[t(534)](), P(N + 1 >= D.length ? -1 : N + 1));
174
158
  break;
175
- case t(503):
176
- (M >= 0 || r && E.length) && (e.preventDefault(), N(E[t(549)] ? 0 : -1));
159
+ case "Home":
160
+ (N >= 0 || r && D[t(523)]) && (e[t(534)](), P(D.length ? 0 : -1));
177
161
  break;
178
- case "End":
179
- M >= 0 && (e[t(548)](), N(-1));
162
+ case t(519):
163
+ N >= 0 && (e[t(534)](), P(-1));
180
164
  break;
181
- case t(540):
182
- case t(560):
183
- M >= 0 ? (e.preventDefault(), q(M), N(-1)) : e[t(583)] === t(540) && !O && E.length && (e[t(548)](), N(E[t(549)] - 1));
165
+ case t(545):
166
+ case "Delete":
167
+ N >= 0 ? (e[t(534)](), J(N), P(-1)) : e[t(493)] === t(545) && !k && D[t(523)] && (e[t(534)](), P(D[t(523)] - 1));
184
168
  break;
185
169
  case "Escape":
186
- M >= 0 && (e.preventDefault(), N(-1));
170
+ N >= 0 && (e[t(534)](), P(-1));
187
171
  break;
188
- case t(497):
189
- M >= 0 ? (e[t(548)](), Re(M)) : g.includes("Enter") && O[t(557)]() && (e[t(548)](), We());
172
+ case t(564):
173
+ N >= 0 ? (e.preventDefault(), Le(N)) : _[t(549)](t(564)) && k[t(535)]() && (e[t(534)](), Ue());
190
174
  break;
191
175
  case t(532):
192
- g[t(571)](t(532)) && O.trim() && !e[t(514)] && (e[t(548)](), We());
176
+ _[t(549)]("Tab") && k[t(535)]() && !e[t(554)] && (e.preventDefault(), Ue());
193
177
  break;
194
- default: M >= 0 && e[t(583)][t(549)] === 1 && !e.ctrlKey && !e[t(505)] && N(-1);
178
+ default: N >= 0 && e[t(493)][t(523)] === 1 && !e[t(512)] && !e[t(509)] && P(-1);
195
179
  }
196
- }, Q = (e) => {
197
- let t = w, n = [...G, ...e];
198
- return n[t(549)] ? new RegExp(n[t(573)](oe)[t(565)]("|")) : null;
180
+ }, Ge = (e) => {
181
+ let t = T, n = [...K, ...e];
182
+ return n[t(523)] ? new RegExp(n.map(ae)[t(498)]("|")) : null;
199
183
  }, Ke = (e) => {
200
- let t = w, n = e[t(546)][t(577)];
201
- N(-1), j(!1), Oe(!1), z(-1);
202
- let r = e[t(561)][t(520)] ?? "", i = Q([]);
203
- if (i && G[t(511)]((e) => r[t(571)](e))) {
204
- let e = n.split(i), r = e[t(564)]() ?? "", a = K(e);
205
- k([...a, r][t(579)](Boolean)[t(565)](G[0] + " "));
206
- } else k(n);
184
+ let t = T, n = e.currentTarget[t(499)];
185
+ P(-1), M(!1), De(!1), B(-1);
186
+ let r = e[t(536)][t(547)] ?? "", i = Ge([]);
187
+ if (i && K.some((e) => r[t(549)](e))) {
188
+ let e = n.split(i), r = e[t(561)]() ?? "", a = q(e);
189
+ A([...a, r].filter(Boolean)[t(498)](K[0] + " "));
190
+ } else A(n);
207
191
  }, qe = (e) => {
208
- let t = w, n = e.clipboardData[t(530)](t(568)), r = [...g[t(571)](t(497)) ? [
192
+ let t = T, n = e[t(546)][t(496)](t(533)), r = [..._[t(549)](t(564)) ? [
209
193
  "\r\n",
210
194
  "\n",
211
195
  "\r"
212
- ] : [], ...g[t(571)](t(532)) ? [" "] : []], i = Q(r);
196
+ ] : [], ..._[t(549)](t(532)) ? [" "] : []], i = Ge(r);
213
197
  if (!i || !i.test(n)) return;
214
- e.preventDefault();
215
- let a = e[t(546)], o = O[t(576)](0, a.selectionStart ?? O.length), s = O[t(576)](a[t(501)] ?? O[t(549)]), ee = K(("" + o + n + s)[t(547)](i));
216
- k(ee[t(565)]((G[0] ?? ",") + " "));
217
- }, $ = E[w(573)]((e, t) => ({
218
- key: W[t],
198
+ e[t(534)]();
199
+ let a = e[t(563)], o = k.slice(0, a.selectionStart ?? k.length), s = k[t(556)](a[t(494)] ?? k[t(523)]), c = q(("" + o + n + s).split(i));
200
+ A(c.join((K[0] ?? ",") + " "));
201
+ }, $ = D.map((e, t) => ({
202
+ key: G[t],
219
203
  text: e,
220
204
  index: t,
221
205
  leaving: !1,
222
- danger: v ? Pe(e, E) : !1
206
+ danger: y ? Ne(e, D) : !1
223
207
  }));
224
- for (let e of [...xe][w(510)]((e, t) => e[w(515)] - t[w(515)])) $[w(511)]((t) => t.key === e[w(583)]) || $[w(521)](Math.min(e.index, $[w(549)]), 0, {
208
+ for (let e of [...be][T(558)]((e, t) => e[T(553)] - t[T(553)])) $.some((t) => t[T(493)] === e[T(493)]) || $[T(575)](Math.min(e[T(553)], $[T(523)]), 0, {
225
209
  ...e,
226
210
  index: -1,
227
211
  leaving: !0
228
212
  });
229
- let Je = L?.[w(495)] === -1 ? L.n % 2 ? "a" : "b" : void 0;
230
- return p(ie, { children: [
231
- p(w(534), {
232
- ref: ke,
233
- className: i(w(543), "ds-taginput", pe !== "md" && w(509) + pe, _e),
234
- "data-tags": E[w(549)] > 0 || void 0,
235
- "data-invalid": me || A || void 0,
236
- "data-disabled": x || void 0,
213
+ let Je = R?.[T(543)] === -1 ? R.n % 2 ? "a" : "b" : void 0;
214
+ return p(re, { children: [
215
+ p("div", {
216
+ ref: Oe,
217
+ className: i(T(502), T(510), fe !== "md" && T(521) + fe, ge),
218
+ "data-tags": D[T(523)] > 0 || void 0,
219
+ "data-invalid": pe || j || void 0,
220
+ "data-disabled": S || void 0,
237
221
  "data-shake": Je,
238
222
  onPointerDown: (e) => {
239
- let t = w;
240
- x || e[t(495)] === B[t(566)] || e.target[t(512)](t(536)) || (e[t(548)](), N(-1), B[t(566)]?.[t(545)]());
223
+ let t = T;
224
+ S || e[t(543)] === V[t(520)] || e[t(543)][t(518)](t(501)) || (e[t(534)](), P(-1), V[t(520)]?.[t(504)]());
241
225
  },
242
226
  children: [
243
- S && f("span", {
244
- className: w(496),
245
- children: S
227
+ me && f(T(566), {
228
+ className: T(572),
229
+ children: me
246
230
  }),
247
- $[w(573)]((e) => {
248
- let t = w, n = !e[t(533)] && P?.index === e[t(515)], r = L && L.target === e.index && !e[t(533)] ? L.n % 2 ? "a" : "b" : void 0;
249
- return f(t(553), {
250
- className: t(498),
251
- "data-leaving": e[t(533)] || void 0,
252
- "data-new": !je.has(e.key) || void 0,
231
+ $[T(516)]((e) => {
232
+ let t = T, n = !e[t(562)] && F?.[t(553)] === e.index, r = R && R[t(543)] === e[t(553)] && !e.leaving ? R.n % 2 ? "a" : "b" : void 0;
233
+ return f(t(566), {
234
+ className: t(529),
235
+ "data-leaving": e[t(562)] || void 0,
236
+ "data-new": !Ae.has(e.key) || void 0,
253
237
  "data-shake": r,
254
- children: n && P ? f(t(553), {
255
- className: t(500),
256
- "data-value": P[t(568)],
257
- children: f(t(559), {
258
- ref: V,
259
- "aria-label": e[t(568)] + t(558),
260
- value: P[t(568)],
238
+ children: n && F ? f("span", {
239
+ className: t(560),
240
+ "data-value": F[t(533)],
241
+ children: f(t(530), {
242
+ ref: H,
243
+ "aria-label": e[t(533)] + " 수정",
244
+ value: F[t(533)],
261
245
  size: 1,
262
- onChange: (t) => F({
263
- index: e.index,
264
- text: t.target.value
246
+ onChange: (n) => I({
247
+ index: e[t(553)],
248
+ text: n[t(543)][t(499)]
265
249
  }),
266
250
  onKeyDown: (e) => {
267
251
  let n = t;
268
- e[n(561)][n(529)] || e.keyCode === 229 || (e[n(583)] === n(497) ? (e[n(548)](), ze() && (U[n(566)] = !0)) : e[n(583)] === n(528) && (e[n(548)](), U.current = !0, F(null), J()));
252
+ e[n(536)][n(527)] || e.keyCode === 229 || (e[n(493)] === n(564) ? (e[n(534)](), Re() && (W[n(520)] = !0)) : e[n(493)] === n(538) && (e[n(534)](), W.current = !0, I(null), Y()));
269
253
  },
270
254
  onBlur: () => {
271
- U[t(566)] || ze(!1) || F(null);
255
+ W[t(520)] || Re(!1) || I(null);
272
256
  }
273
257
  })
274
- }) : p(t(553), {
275
- className: t(539),
276
- "data-active": !e.leaving && e[t(515)] === M || void 0,
277
- "data-tone": e[t(582)] ? t(582) : void 0,
278
- title: e.danger && _ && typeof _(e[t(568)], E) == "string" ? String(_(e[t(568)], E)) : void 0,
258
+ }) : p(t(566), {
259
+ className: "ds-taginput__tag",
260
+ "data-active": !e[t(562)] && e[t(553)] === N || void 0,
261
+ "data-tone": e[t(526)] ? "danger" : void 0,
262
+ title: e.danger && v && typeof v(e[t(533)], D) === t(514) ? String(v(e.text, D)) : void 0,
279
263
  onPointerDown: (n) => {
280
264
  let r = t;
281
- x || e[r(533)] || (n[r(548)](), B.current?.[r(545)](), N(e[r(515)]));
265
+ S || e[r(562)] || (n.preventDefault(), V[r(520)]?.focus(), P(e[r(553)]));
282
266
  },
283
- onDoubleClick: () => !e[t(533)] && Re(e[t(515)]),
284
- children: [f(t(553), {
285
- className: t(524),
286
- children: e[t(568)]
287
- }), !x && f("button", {
288
- type: "button",
267
+ onDoubleClick: () => !e[t(562)] && Le(e[t(553)]),
268
+ children: [f(t(566), {
269
+ className: "ds-taginput__label",
270
+ children: e[t(533)]
271
+ }), !S && f(t(492), {
272
+ type: t(492),
289
273
  tabIndex: -1,
290
- "aria-label": e[t(568)] + t(550),
291
- className: t(544),
274
+ "aria-label": e[t(533)] + " 삭제",
275
+ className: t(537),
292
276
  onPointerDown: (e) => {
293
- let n = t;
294
- e[n(548)](), e[n(554)]();
277
+ e[t(534)](), e.stopPropagation();
295
278
  },
296
279
  onClick: () => {
297
280
  let n = t;
298
- e[n(533)] || (q(e[n(515)]), N(-1), B.current?.[n(545)]());
281
+ e.leaving || (J(e[n(553)]), P(-1), V[n(520)]?.[n(504)]());
299
282
  },
300
- children: f(re, {})
283
+ children: f(ne, {})
301
284
  })]
302
285
  })
303
- }, e[t(583)]);
286
+ }, e[t(493)]);
304
287
  }),
305
- f(w(559), {
306
- ref: B,
307
- id: ge,
288
+ f(T(530), {
289
+ ref: V,
290
+ id: he,
308
291
  className: "ds-taginput__input",
309
- role: b ? w(526) : void 0,
310
- "aria-expanded": b ? X : void 0,
311
- "aria-controls": X ? T : void 0,
312
- "aria-autocomplete": b ? "list" : void 0,
313
- "aria-activedescendant": X && R >= 0 ? ee(T, R) : void 0,
314
- "aria-invalid": me || A || void 0,
315
- "aria-label": C,
316
- "aria-labelledby": ye,
317
- "aria-describedby": be,
292
+ role: x ? T(506) : void 0,
293
+ "aria-expanded": x ? Z : void 0,
294
+ "aria-controls": Z ? E : void 0,
295
+ "aria-autocomplete": x ? T(550) : void 0,
296
+ "aria-activedescendant": Z && z >= 0 ? c(E, z) : void 0,
297
+ "aria-invalid": pe || j || void 0,
298
+ "aria-label": w,
299
+ "aria-labelledby": ve,
300
+ "aria-describedby": ye,
318
301
  autoComplete: "off",
319
- disabled: x,
320
- value: O,
321
- placeholder: E[w(549)] ? "" : fe,
322
- "data-error": A || void 0,
302
+ disabled: S,
303
+ value: k,
304
+ placeholder: D[T(523)] ? "" : de,
305
+ "data-error": j || void 0,
323
306
  onChange: Ke,
324
- onKeyDown: Ge,
307
+ onKeyDown: We,
325
308
  onPaste: qe,
326
- onFocus: () => Ee(!0),
309
+ onFocus: () => Te(!0),
327
310
  onBlur: () => {
328
- Ee(!1), N(-1);
311
+ Te(!1), P(-1);
329
312
  }
330
313
  }),
331
- f(w(553), {
332
- className: w(580),
333
- "aria-live": w(522),
334
- children: Ce
314
+ f(T(566), {
315
+ className: T(531),
316
+ "aria-live": "polite",
317
+ children: Se
335
318
  })
336
319
  ]
337
320
  }),
338
- he && E.map((e, t) => f(w(559), {
339
- type: w(574),
340
- name: he,
321
+ C && D.map((e, t) => f(T(530), {
322
+ type: T(517),
323
+ name: C,
341
324
  value: e
342
- }, W[t])),
343
- b && Be.mounted && f(o, {
344
- ref: Ae,
345
- closing: Be[w(502)],
346
- anchorRef: ke,
347
- maxHeight: ve,
325
+ }, G[t])),
326
+ x && ze[T(503)] && f(o, {
327
+ ref: ke,
328
+ closing: ze.closing,
329
+ anchorRef: Oe,
330
+ maxHeight: _e,
348
331
  children: f(a, {
349
- id: T,
350
- options: He,
351
- activeIndex: R,
332
+ id: E,
333
+ options: Ve,
334
+ activeIndex: z,
352
335
  isSelected: () => !1,
353
- onSelect: (e) => Ue(e[w(577)]),
354
- onActiveChange: z,
355
- "aria-label": C ? C + w(535) : "추천"
336
+ onSelect: (e) => He(e[T(499)]),
337
+ onActiveChange: B,
338
+ "aria-label": w ? w + " 추천" : "추천"
356
339
  })
357
340
  })
358
341
  ] });
359
342
  }
343
+ function g(t, n) {
344
+ t -= 492;
345
+ let r = e(), i = r[t];
346
+ g.NQnejF === void 0 && (g.zvCLPh = function(e) {
347
+ let t = "", n = "";
348
+ for (let n = 0, r, i, a = 0; i = e.charAt(a++); ~i && (r = n % 4 ? r * 64 + i : i, n++ % 4) && (t += String.fromCharCode(255 & r >> (-2 * n & 6)))) i = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(i);
349
+ for (let e = 0, r = t.length; e < r; e++) n += "%" + ("00" + t.charCodeAt(e).toString(16)).slice(-2);
350
+ return decodeURIComponent(n);
351
+ }, g.eipuqo = {}, g.NQnejF = !0);
352
+ let a = r[0];
353
+ g.nRTzLY !== a && (g.eipuqo = {}, g.nRTzLY = a);
354
+ let o = g.eipuqo[t];
355
+ return o === void 0 ? (i = g.zvCLPh(i), g.eipuqo[t] = i) : i = o, i;
356
+ }
360
357
  export { h as TagInput };