panelui-native 0.32.0 → 0.35.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 (46) hide show
  1. package/README.md +2 -1
  2. package/lib/module/components/button/index.js +106 -11
  3. package/lib/module/components/button/index.js.map +1 -1
  4. package/lib/module/components/drawer/index.js +477 -0
  5. package/lib/module/components/drawer/index.js.map +1 -0
  6. package/lib/module/components/panelside/index.js +1024 -0
  7. package/lib/module/components/panelside/index.js.map +1 -0
  8. package/lib/module/components/progress/index.js +64 -24
  9. package/lib/module/components/progress/index.js.map +1 -1
  10. package/lib/module/components/select/index.js +14 -3
  11. package/lib/module/components/select/index.js.map +1 -1
  12. package/lib/module/components/swipe/index.js +537 -0
  13. package/lib/module/components/swipe/index.js.map +1 -0
  14. package/lib/module/icons/index.js +20 -0
  15. package/lib/module/icons/index.js.map +1 -1
  16. package/lib/module/index.js +4 -1
  17. package/lib/module/index.js.map +1 -1
  18. package/lib/module/native/index.js +30 -0
  19. package/lib/module/native/index.js.map +1 -1
  20. package/lib/typescript/src/components/button/index.d.ts +22 -1
  21. package/lib/typescript/src/components/button/index.d.ts.map +1 -1
  22. package/lib/typescript/src/components/drawer/index.d.ts +146 -0
  23. package/lib/typescript/src/components/drawer/index.d.ts.map +1 -0
  24. package/lib/typescript/src/components/panelside/index.d.ts +354 -0
  25. package/lib/typescript/src/components/panelside/index.d.ts.map +1 -0
  26. package/lib/typescript/src/components/progress/index.d.ts +25 -4
  27. package/lib/typescript/src/components/progress/index.d.ts.map +1 -1
  28. package/lib/typescript/src/components/select/index.d.ts.map +1 -1
  29. package/lib/typescript/src/components/swipe/index.d.ts +206 -0
  30. package/lib/typescript/src/components/swipe/index.d.ts.map +1 -0
  31. package/lib/typescript/src/icons/index.d.ts +1 -0
  32. package/lib/typescript/src/icons/index.d.ts.map +1 -1
  33. package/lib/typescript/src/index.d.ts +4 -1
  34. package/lib/typescript/src/index.d.ts.map +1 -1
  35. package/lib/typescript/src/native/index.d.ts +20 -0
  36. package/lib/typescript/src/native/index.d.ts.map +1 -1
  37. package/package.json +1 -1
  38. package/src/components/button/index.tsx +140 -8
  39. package/src/components/drawer/index.tsx +662 -0
  40. package/src/components/panelside/index.tsx +1358 -0
  41. package/src/components/progress/index.tsx +93 -25
  42. package/src/components/select/index.tsx +23 -3
  43. package/src/components/swipe/index.tsx +687 -0
  44. package/src/icons/index.tsx +14 -0
  45. package/src/index.ts +42 -0
  46. package/src/native/index.ts +51 -0
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # PanelUI — React Native UI components for Expo, styled with Tailwind CSS
2
2
 
3
3
  **PanelUI** (`panelui-native`) is an accessible, high-performance React Native component
4
- library for Expo apps. 71 typed components — buttons, bottom sheets, dialogs, selects,
4
+ library for Expo apps. 76 typed components — buttons, bottom sheets, dialogs, selects,
5
5
  toasts, forms — styled with Tailwind CSS v4 and animated on the UI thread with Reanimated.
6
6
  Zero native code, so it runs in Expo Go.
7
7
 
@@ -222,6 +222,7 @@ you are done. Unstyled text on a white screen means the styles are not reaching
222
222
  | `Spinner` | Indeterminate loading indicator |
223
223
  | `Steps` | Stepper for multi-step flows |
224
224
  | `Surface` | Elevated container with a variant ladder |
225
+ | `Swipe` | A row that slides aside to reveal the things you can do to it |
225
226
  | `Switch` | Animated on/off toggle |
226
227
  | `Table` | Rows and columns that stay lined up, with sortable headers |
227
228
  | `Tabs` | Segmented navigation with an animated indicator |
@@ -1,14 +1,15 @@
1
1
  "use strict";
2
2
 
3
3
  import { forwardRef } from 'react';
4
+ import { View } from 'react-native';
4
5
  import { tv } from 'tailwind-variants';
5
6
  import { useCSSVariable } from 'uniwind';
6
7
  import { AnimatedPressable } from "../../primitives/animated-pressable.js";
7
8
  import { Text, textChildren } from "../../primitives/text.js";
8
9
  import { IconColorProvider } from "../../icons/index.js";
9
- import { getNativeUI } from "../../native/index.js";
10
+ import { getNativeUI, getSwiftUIModifiers } from "../../native/index.js";
10
11
  import { Spinner } from "../spinner/index.js";
11
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
13
  const buttonVariants = tv({
13
14
  slots: {
14
15
  root: 'flex-row items-center justify-center gap-2 rounded-lg border border-transparent',
@@ -121,6 +122,50 @@ const NATIVE_HEIGHT = {
121
122
  icon: 44
122
123
  };
123
124
 
125
+ /**
126
+ * Room around the glyph in a native icon button, applied to the glyph itself.
127
+ *
128
+ * Not to the button, and that distinction is the whole thing. SwiftUI's
129
+ * `padding` on a Button pads *outside* its background — the chrome stays the
130
+ * size it was and moves inward — and `frame` only sets the layout box, leaving
131
+ * a glyph-sized background centred in a larger invisible one. Neither grows
132
+ * the button. What the background is drawn around is the *label*, and the
133
+ * label here is a React Native view we host ourselves, so padding it in React
134
+ * is both the simplest lever and the only one that works.
135
+ */
136
+ const NATIVE_ICON_PADDING = 6;
137
+
138
+ /**
139
+ * The frame a native icon button is given, which must contain the padded glyph
140
+ * above with room to spare.
141
+ *
142
+ * It exists to end a measurement, not to set a look. The chain is
143
+ * `Host(matchContents)` → platform button → `RNHostView(matchContents)` → our
144
+ * view: every link sized by its contents, and nothing anywhere with a size of
145
+ * its own. Something has to be definite or the two layout systems ask each
146
+ * other the same question forever, and that fails down in the platform, where
147
+ * there is nothing for a JavaScript `try` to catch.
148
+ *
149
+ */
150
+ const NATIVE_ICON_FRAME = 44;
151
+
152
+ /**
153
+ * Our sizes on the platform's own control scale, which is how a native button
154
+ * is made bigger: it scales the room the style leaves around the label, and the
155
+ * label with it.
156
+ *
157
+ * Only ever sent for a *string* label. A hosted label is the case that has
158
+ * taken this app down twice, and while the cause turned out to be a missing
159
+ * frame rather than this modifier, a labelled button has no hosted view and no
160
+ * measurement to get wrong — so there is no reason to find out on both at once.
161
+ */
162
+ const NATIVE_CONTROL_SIZE = {
163
+ sm: 'small',
164
+ md: 'regular',
165
+ lg: 'large',
166
+ icon: 'regular'
167
+ };
168
+
124
169
  /** PanelUI variants mapped onto the platform button styles. */
125
170
  const NATIVE_VARIANT = {
126
171
  primary: 'filled',
@@ -142,6 +187,7 @@ export const Button = /*#__PURE__*/forwardRef(({
142
187
  startContent,
143
188
  endContent,
144
189
  native,
190
+ glass = false,
145
191
  ...props
146
192
  }, ref) => {
147
193
  const isDisabled = disabled || loading;
@@ -169,25 +215,74 @@ export const Button = /*#__PURE__*/forwardRef(({
169
215
  RNHostView
170
216
  } = nativeUI;
171
217
  const isStringLabel = typeof children === 'string';
218
+ const prominent = variant === 'primary' || variant === 'destructive';
219
+
220
+ /*
221
+ * Looks the portable props cannot ask for.
222
+ *
223
+ * `buttonStyle` because Liquid Glass has no cross-platform variant to
224
+ * map onto. `glassProminent` is the tinted one — it keeps the accent
225
+ * fill a prominent button is supposed to have, which drawing the
226
+ * material by hand over a plain button throws away. A supplied
227
+ * `buttonStyle` replaces the one the variant would have set, so this is
228
+ * a substitution rather than a layer on top.
229
+ *
230
+ * `buttonBorderShape` because an icon button is round and the platform's
231
+ * default capsule is not — a lone glyph in a capsule reads as a text
232
+ * button somebody forgot to label. It shapes the glass too.
233
+ */
234
+ const swiftUI = getSwiftUIModifiers();
235
+ const nativeModifiers = swiftUI ? [glass ? swiftUI.buttonStyle(prominent ? 'glassProminent' : 'glass') : null, size === 'icon' ? swiftUI.buttonBorderShape('circle') : null, isStringLabel ? swiftUI.controlSize(NATIVE_CONTROL_SIZE[size ?? 'md']) : null].filter(Boolean) : [];
236
+
237
+ /*
238
+ * The platform paints the background, not the theme — so a hosted icon
239
+ * cannot read its colour from a token the way it does in the styled
240
+ * button. On a tinted button that is white, whatever the theme thinks its
241
+ * own primary foreground is; on the rest, including plain glass, the
242
+ * material is clear enough to leave the page's own foreground legible.
243
+ */
244
+ const nativeContent = prominent ? '#ffffff' : contentColor;
172
245
  return /*#__PURE__*/_jsx(Host, {
173
246
  matchContents: true,
174
247
  children: /*#__PURE__*/_jsx(NativeButton, {
175
248
  label: isStringLabel ? children : undefined,
176
249
  variant: NATIVE_VARIANT[variant ?? 'primary'],
177
- disabled: isDisabled,
178
- style: {
250
+ disabled: isDisabled
251
+ /*
252
+ * A square for an icon button, a height for a labelled one — and
253
+ * in both cases a definite number, which is what stops the
254
+ * measurement chain above from having no fixed point in it.
255
+ *
256
+ * The frame does not decide how big the *button* looks; the padded
257
+ * label does, because that is what the platform draws its
258
+ * background around. The frame only has to be large enough to hold
259
+ * the result.
260
+ */,
261
+ style: size === 'icon' ? {
262
+ width: NATIVE_ICON_FRAME,
263
+ height: NATIVE_ICON_FRAME
264
+ } : {
179
265
  height: NATIVE_HEIGHT[size ?? 'md']
180
266
  },
267
+ modifiers: nativeModifiers.length ? nativeModifiers : undefined,
181
268
  onPress: props.onPress,
182
269
  children: isStringLabel ? undefined : /*#__PURE__*/_jsx(RNHostView, {
183
270
  matchContents: true,
184
- children: /*#__PURE__*/_jsx(_Fragment, {
185
- children: textChildren(children, text => /*#__PURE__*/_jsx(Text, {
186
- className: label({
187
- className: labelClassName
188
- }),
189
- children: text
190
- }))
271
+ children: /*#__PURE__*/_jsx(View, {
272
+ style: size === 'icon' ? {
273
+ padding: NATIVE_ICON_PADDING,
274
+ alignItems: 'center',
275
+ justifyContent: 'center'
276
+ } : undefined,
277
+ children: /*#__PURE__*/_jsx(IconColorProvider, {
278
+ color: nativeContent,
279
+ children: textChildren(children, text => /*#__PURE__*/_jsx(Text, {
280
+ className: label({
281
+ className: labelClassName
282
+ }),
283
+ children: text
284
+ }))
285
+ })
191
286
  })
192
287
  })
193
288
  })
@@ -1 +1 @@
1
- {"version":3,"names":["forwardRef","tv","useCSSVariable","AnimatedPressable","Text","textChildren","IconColorProvider","getNativeUI","Spinner","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","buttonVariants","slots","root","label","spinner","variants","variant","primary","secondary","outline","ghost","destructive","social","size","sm","md","lg","icon","fullWidth","true","disabled","defaultVariants","SPINNER_SIZE","CONTENT_COLOR_VAR","NATIVE_HEIGHT","NATIVE_VARIANT","Button","children","className","labelClassName","loading","startContent","endContent","native","props","ref","isDisabled","nativeUI","themedColor","contentColor","undefined","Host","NativeButton","RNHostView","isStringLabel","matchContents","style","height","onPress","text","color","accessibilityRole","accessibilityState","busy","displayName"],"sourceRoot":"../../../../src","sources":["components/button/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["forwardRef","View","tv","useCSSVariable","AnimatedPressable","Text","textChildren","IconColorProvider","getNativeUI","getSwiftUIModifiers","Spinner","jsx","_jsx","jsxs","_jsxs","buttonVariants","slots","root","label","spinner","variants","variant","primary","secondary","outline","ghost","destructive","social","size","sm","md","lg","icon","fullWidth","true","disabled","defaultVariants","SPINNER_SIZE","CONTENT_COLOR_VAR","NATIVE_HEIGHT","NATIVE_ICON_PADDING","NATIVE_ICON_FRAME","NATIVE_CONTROL_SIZE","NATIVE_VARIANT","Button","children","className","labelClassName","loading","startContent","endContent","native","glass","props","ref","isDisabled","nativeUI","themedColor","contentColor","undefined","Host","NativeButton","RNHostView","isStringLabel","prominent","swiftUI","nativeModifiers","buttonStyle","buttonBorderShape","controlSize","filter","Boolean","nativeContent","matchContents","style","width","height","modifiers","length","onPress","padding","alignItems","justifyContent","color","text","accessibilityRole","accessibilityState","busy","displayName"],"sourceRoot":"../../../../src","sources":["components/button/index.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAwB,OAAO;AAClD,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,EAAE,QAA2B,mBAAmB;AACzD,SAASC,cAAc,QAAQ,SAAS;AACxC,SACEC,iBAAiB,QAEZ,wCAAqC;AAC5C,SAASC,IAAI,EAAEC,YAAY,QAAQ,0BAAuB;AAC1D,SAASC,iBAAiB,QAAQ,sBAAa;AAC/C,SAASC,WAAW,EAAEC,mBAAmB,QAAQ,uBAAc;AAC/D,SAASC,OAAO,QAAQ,qBAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAErC,MAAMC,cAAc,GAAGb,EAAE,CAAC;EACxBc,KAAK,EAAE;IACLC,IAAI,EAAE,iFAAiF;IACvFC,KAAK,EAAE,aAAa;IACpBC,OAAO,EAAE;EACX,CAAC;EACDC,QAAQ,EAAE;IACRC,OAAO,EAAE;MACPC,OAAO,EAAE;QACPL,IAAI,EAAE,qCAAqC;QAC3CC,KAAK,EAAE,yBAAyB;QAChCC,OAAO,EAAE;MACX,CAAC;MACDI,SAAS,EAAE;QACTN,IAAI,EAAE,cAAc;QACpBC,KAAK,EAAE,2BAA2B;QAClCC,OAAO,EAAE;MACX,CAAC;MACDK,OAAO,EAAE;QACPP,IAAI,EAAE,mCAAmC;QACzCC,KAAK,EAAE,iBAAiB;QACxBC,OAAO,EAAE;MACX,CAAC;MACDM,KAAK,EAAE;QACLR,IAAI,EAAE,gBAAgB;QACtBC,KAAK,EAAE,iBAAiB;QACxBC,OAAO,EAAE;MACX,CAAC;MACDO,WAAW,EAAE;QACXT,IAAI,EAAE,6CAA6C;QACnDC,KAAK,EAAE,YAAY;QACnBC,OAAO,EAAE;MACX,CAAC;MACD;MACAQ,MAAM,EAAE;QACNV,IAAI,EAAE,gCAAgC;QACtCC,KAAK,EAAE,iBAAiB;QACxBC,OAAO,EAAE;MACX;IACF,CAAC;IACDS,IAAI,EAAE;MACJC,EAAE,EAAE;QAAEZ,IAAI,EAAE,oBAAoB;QAAEC,KAAK,EAAE;MAAU,CAAC;MACpDY,EAAE,EAAE;QAAEb,IAAI,EAAE,WAAW;QAAEC,KAAK,EAAE;MAAY,CAAC;MAC7Ca,EAAE,EAAE;QAAEd,IAAI,EAAE,WAAW;QAAEC,KAAK,EAAE;MAAU,CAAC;MAC3Cc,IAAI,EAAE;QAAEf,IAAI,EAAE;MAAiB;IACjC,CAAC;IACDgB,SAAS,EAAE;MACTC,IAAI,EAAE;QAAEjB,IAAI,EAAE;MAAS;IACzB,CAAC;IACDkB,QAAQ,EAAE;MACRD,IAAI,EAAE;QAAEjB,IAAI,EAAE;MAAiB;IACjC;EACF,CAAC;EACDmB,eAAe,EAAE;IACff,OAAO,EAAE,SAAS;IAClBO,IAAI,EAAE;EACR;AACF,CAAC,CAAC;AAIF,MAAMS,YAAY,GAAG;EAAER,EAAE,EAAE,IAAI;EAAEC,EAAE,EAAE,IAAI;EAAEC,EAAE,EAAE,IAAI;EAAEC,IAAI,EAAE;AAAK,CAAU;;AAE1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMM,iBAGL,GAAG;EACFhB,OAAO,EAAE,4BAA4B;EACrCC,SAAS,EAAE,8BAA8B;EACzCC,OAAO,EAAE,oBAAoB;EAC7BC,KAAK,EAAE,oBAAoB;EAC3BE,MAAM,EAAE;AACV,CAAC;AAqDD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMY,aAAsE,GAAG;EAC7EV,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,IAAI,EAAE;AACR,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMQ,mBAAmB,GAAG,CAAC;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,iBAAiB,GAAG,EAAE;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,mBAAmB,GAAG;EAC1Bb,EAAE,EAAE,OAAO;EACXC,EAAE,EAAE,SAAS;EACbC,EAAE,EAAE,OAAO;EACXC,IAAI,EAAE;AACR,CAAU;;AAGV;AACA,MAAMW,cAGL,GAAG;EACFrB,OAAO,EAAE,QAAQ;EACjBI,WAAW,EAAE,QAAQ;EACrBH,SAAS,EAAE,QAAQ;EACnBC,OAAO,EAAE,UAAU;EACnBC,KAAK,EAAE,MAAM;EACbE,MAAM,EAAE;AACV,CAAC;AAED,OAAO,MAAMiB,MAAM,gBAAG5C,UAAU,CAC9B,CACE;EACE6C,QAAQ;EACRC,SAAS;EACTC,cAAc;EACd1B,OAAO;EACPO,IAAI;EACJK,SAAS;EACTE,QAAQ;EACRa,OAAO,GAAG,KAAK;EACfC,YAAY;EACZC,UAAU;EACVC,MAAM;EACNC,KAAK,GAAG,KAAK;EACb,GAAGC;AACL,CAAC,EACDC,GAAG,KACA;EACH,MAAMC,UAAU,GAAGpB,QAAQ,IAAIa,OAAO;EACtC,MAAMQ,QAAQ,GAAGL,MAAM,GAAG3C,WAAW,CAAC,CAAC,GAAG,IAAI;EAC9C,MAAM;IAAES,IAAI;IAAEC,KAAK;IAAEC;EAAQ,CAAC,GAAGJ,cAAc,CAAC;IAC9CM,OAAO;IACPO,IAAI;IACJK,SAAS;IACTE,QAAQ,EAAEoB;EACZ,CAAC,CAAC;;EAEF;EACA;EACA;EACA,MAAME,WAAW,GAAGtD,cAAc,CAChCmC,iBAAiB,CACfjB,OAAO,KAAK,aAAa,GAAG,SAAS,GAAIA,OAAO,IAAI,SAAU,CAElE,CAAC;EACD,MAAMqC,YAAY,GAChBrC,OAAO,KAAK,aAAa,GACrB,SAAS,GACT,OAAOoC,WAAW,KAAK,QAAQ,GAC7BA,WAAW,GACXE,SAAS;EAEjB,IAAIH,QAAQ,EAAE;IACZ,MAAM;MAAEI,IAAI;MAAEhB,MAAM,EAAEiB,YAAY;MAAEC;IAAW,CAAC,GAAGN,QAAQ;IAC3D,MAAMO,aAAa,GAAG,OAAOlB,QAAQ,KAAK,QAAQ;IAClD,MAAMmB,SAAS,GAAG3C,OAAO,KAAK,SAAS,IAAIA,OAAO,KAAK,aAAa;;IAEpE;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,MAAM4C,OAAO,GAAGxD,mBAAmB,CAAC,CAAC;IACrC,MAAMyD,eAAe,GAAGD,OAAO,GAC3B,CACEb,KAAK,GAAGa,OAAO,CAACE,WAAW,CAACH,SAAS,GAAG,gBAAgB,GAAG,OAAO,CAAC,GAAG,IAAI,EAC1EpC,IAAI,KAAK,MAAM,GAAGqC,OAAO,CAACG,iBAAiB,CAAC,QAAQ,CAAC,GAAG,IAAI,EAC5DL,aAAa,GAAGE,OAAO,CAACI,WAAW,CAAC3B,mBAAmB,CAACd,IAAI,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAC9E,CAAC0C,MAAM,CAACC,OAAO,CAAC,GACjB,EAAE;;IAEN;AACN;AACA;AACA;AACA;AACA;AACA;IACM,MAAMC,aAAa,GAAGR,SAAS,GAAG,SAAS,GAAGN,YAAY;IAE1D,oBACE9C,IAAA,CAACgD,IAAI;MAACa,aAAa;MAAA5B,QAAA,eACjBjC,IAAA,CAACiD,YAAY;QACX3C,KAAK,EAAE6C,aAAa,GAAGlB,QAAQ,GAAGc,SAAU;QAC5CtC,OAAO,EAAEsB,cAAc,CAACtB,OAAO,IAAI,SAAS,CAAE;QAC9Cc,QAAQ,EAAEoB;QACV;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WATY;QAUAmB,KAAK,EACH9C,IAAI,KAAK,MAAM,GACX;UAAE+C,KAAK,EAAElC,iBAAiB;UAAEmC,MAAM,EAAEnC;QAAkB,CAAC,GACvD;UAAEmC,MAAM,EAAErC,aAAa,CAACX,IAAI,IAAI,IAAI;QAAE,CAC3C;QACDiD,SAAS,EAAEX,eAAe,CAACY,MAAM,GAAGZ,eAAe,GAAGP,SAAU;QAChEoB,OAAO,EAAE1B,KAAK,CAAC0B,OAAQ;QAAAlC,QAAA,EAOtBkB,aAAa,GAAGJ,SAAS,gBACxB/C,IAAA,CAACkD,UAAU;UAACW,aAAa;UAAA5B,QAAA,eAMvBjC,IAAA,CAACX,IAAI;YACHyE,KAAK,EACH9C,IAAI,KAAK,MAAM,GACX;cACEoD,OAAO,EAAExC,mBAAmB;cAC5ByC,UAAU,EAAE,QAAQ;cACpBC,cAAc,EAAE;YAClB,CAAC,GACDvB,SACL;YAAAd,QAAA,eAEDjC,IAAA,CAACL,iBAAiB;cAAC4E,KAAK,EAAEX,aAAc;cAAA3B,QAAA,EACrCvC,YAAY,CAACuC,QAAQ,EAAGuC,IAAI,iBAC3BxE,IAAA,CAACP,IAAI;gBAACyC,SAAS,EAAE5B,KAAK,CAAC;kBAAE4B,SAAS,EAAEC;gBAAe,CAAC,CAAE;gBAAAF,QAAA,EAAEuC;cAAI,CAAO,CACpE;YAAC,CACe;UAAC,CAChB;QAAC,CACG;MACb,CACW;IAAC,CACX,CAAC;EAEX;EAEA,oBACExE,IAAA,CAACL,iBAAiB;IAAC4E,KAAK,EAAEzB,YAAa;IAAAb,QAAA,eACrC/B,KAAA,CAACV,iBAAiB;MAChBkD,GAAG,EAAEA,GAAI;MACT+B,iBAAiB,EAAC,QAAQ;MAC1BC,kBAAkB,EAAE;QAAEnD,QAAQ,EAAEoB,UAAU;QAAEgC,IAAI,EAAEvC;MAAQ,CAAE;MAC5Db,QAAQ,EAAEoB,UAAW;MACrBT,SAAS,EAAE7B,IAAI,CAAC;QAAE6B;MAAU,CAAC,CAAE;MAAA,GAC3BO,KAAK;MAAAR,QAAA,GAERG,OAAO,gBACNpC,IAAA,CAACF,OAAO;QAACkB,IAAI,EAAES,YAAY,CAACT,IAAI,IAAI,IAAI,CAAE;QAACkB,SAAS,EAAE3B,OAAO,CAAC;MAAE,CAAE,CAAC,GAEnE8B,YACD,EACA3C,YAAY,CAACuC,QAAQ,EAAGuC,IAAI,iBAC3BxE,IAAA,CAACP,IAAI;QAACyC,SAAS,EAAE5B,KAAK,CAAC;UAAE4B,SAAS,EAAEC;QAAe,CAAC,CAAE;QAAAF,QAAA,EAAEuC;MAAI,CAAO,CACpE,CAAC,EACDlC,UAAU;IAAA,CACM;EAAC,CACH,CAAC;AAExB,CACF,CAAC;AAEDN,MAAM,CAAC4C,WAAW,GAAG,QAAQ","ignoreList":[]}