panelui-native 0.13.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/README.md +41 -23
  2. package/lib/module/components/button/index.js +12 -9
  3. package/lib/module/components/button/index.js.map +1 -1
  4. package/lib/module/components/chip/index.js +313 -0
  5. package/lib/module/components/chip/index.js.map +1 -0
  6. package/lib/module/components/direction/index.js +86 -0
  7. package/lib/module/components/direction/index.js.map +1 -0
  8. package/lib/module/components/frame/index.js +41 -39
  9. package/lib/module/components/frame/index.js.map +1 -1
  10. package/lib/module/components/heatmap-chart/index.js +772 -0
  11. package/lib/module/components/heatmap-chart/index.js.map +1 -0
  12. package/lib/module/components/input/index.js +4 -0
  13. package/lib/module/components/input/index.js.map +1 -1
  14. package/lib/module/components/message/index.js +16 -1
  15. package/lib/module/components/message/index.js.map +1 -1
  16. package/lib/module/components/scroll-canvas/index.js +175 -0
  17. package/lib/module/components/scroll-canvas/index.js.map +1 -0
  18. package/lib/module/components/scroll-text/index.js +213 -0
  19. package/lib/module/components/scroll-text/index.js.map +1 -0
  20. package/lib/module/components/select/index.js +20 -24
  21. package/lib/module/components/select/index.js.map +1 -1
  22. package/lib/module/components/slider/index.js +2 -5
  23. package/lib/module/components/slider/index.js.map +1 -1
  24. package/lib/module/components/soundwave/index.js +813 -0
  25. package/lib/module/components/soundwave/index.js.map +1 -0
  26. package/lib/module/components/switch/index.js +15 -17
  27. package/lib/module/components/switch/index.js.map +1 -1
  28. package/lib/module/components/thinking-orb/index.js +741 -0
  29. package/lib/module/components/thinking-orb/index.js.map +1 -0
  30. package/lib/module/components/toggle-button/index.js +12 -3
  31. package/lib/module/components/toggle-button/index.js.map +1 -1
  32. package/lib/module/components/typography/index.js +196 -5
  33. package/lib/module/components/typography/index.js.map +1 -1
  34. package/lib/module/hooks/index.js +1 -0
  35. package/lib/module/hooks/index.js.map +1 -1
  36. package/lib/module/hooks/use-keyboard-avoidance.js +99 -59
  37. package/lib/module/hooks/use-keyboard-avoidance.js.map +1 -1
  38. package/lib/module/hooks/use-reveal-progress.js +75 -0
  39. package/lib/module/hooks/use-reveal-progress.js.map +1 -0
  40. package/lib/module/icons/index.js +69 -0
  41. package/lib/module/icons/index.js.map +1 -1
  42. package/lib/module/index.js +9 -1
  43. package/lib/module/index.js.map +1 -1
  44. package/lib/module/native/index.js.map +1 -1
  45. package/lib/module/primitives/keyboard-avoider.js +21 -2
  46. package/lib/module/primitives/keyboard-avoider.js.map +1 -1
  47. package/lib/module/primitives/scroll-progress.js +114 -0
  48. package/lib/module/primitives/scroll-progress.js.map +1 -0
  49. package/lib/typescript/src/components/button/index.d.ts +3 -4
  50. package/lib/typescript/src/components/button/index.d.ts.map +1 -1
  51. package/lib/typescript/src/components/chip/index.d.ts +304 -0
  52. package/lib/typescript/src/components/chip/index.d.ts.map +1 -0
  53. package/lib/typescript/src/components/direction/index.d.ts +64 -0
  54. package/lib/typescript/src/components/direction/index.d.ts.map +1 -0
  55. package/lib/typescript/src/components/frame/index.d.ts +15 -13
  56. package/lib/typescript/src/components/frame/index.d.ts.map +1 -1
  57. package/lib/typescript/src/components/heatmap-chart/index.d.ts +260 -0
  58. package/lib/typescript/src/components/heatmap-chart/index.d.ts.map +1 -0
  59. package/lib/typescript/src/components/input/index.d.ts +19 -4
  60. package/lib/typescript/src/components/input/index.d.ts.map +1 -1
  61. package/lib/typescript/src/components/message/index.d.ts.map +1 -1
  62. package/lib/typescript/src/components/scroll-canvas/index.d.ts +66 -0
  63. package/lib/typescript/src/components/scroll-canvas/index.d.ts.map +1 -0
  64. package/lib/typescript/src/components/scroll-text/index.d.ts +46 -0
  65. package/lib/typescript/src/components/scroll-text/index.d.ts.map +1 -0
  66. package/lib/typescript/src/components/select/index.d.ts.map +1 -1
  67. package/lib/typescript/src/components/slider/index.d.ts.map +1 -1
  68. package/lib/typescript/src/components/soundwave/index.d.ts +91 -0
  69. package/lib/typescript/src/components/soundwave/index.d.ts.map +1 -0
  70. package/lib/typescript/src/components/switch/index.d.ts.map +1 -1
  71. package/lib/typescript/src/components/thinking-orb/index.d.ts +28 -0
  72. package/lib/typescript/src/components/thinking-orb/index.d.ts.map +1 -0
  73. package/lib/typescript/src/components/toggle-button/index.d.ts +12 -0
  74. package/lib/typescript/src/components/toggle-button/index.d.ts.map +1 -1
  75. package/lib/typescript/src/components/typography/index.d.ts +154 -1
  76. package/lib/typescript/src/components/typography/index.d.ts.map +1 -1
  77. package/lib/typescript/src/hooks/index.d.ts +2 -1
  78. package/lib/typescript/src/hooks/index.d.ts.map +1 -1
  79. package/lib/typescript/src/hooks/use-keyboard-avoidance.d.ts +16 -3
  80. package/lib/typescript/src/hooks/use-keyboard-avoidance.d.ts.map +1 -1
  81. package/lib/typescript/src/hooks/use-reveal-progress.d.ts +56 -0
  82. package/lib/typescript/src/hooks/use-reveal-progress.d.ts.map +1 -0
  83. package/lib/typescript/src/icons/index.d.ts +6 -0
  84. package/lib/typescript/src/icons/index.d.ts.map +1 -1
  85. package/lib/typescript/src/index.d.ts +9 -1
  86. package/lib/typescript/src/index.d.ts.map +1 -1
  87. package/lib/typescript/src/native/index.d.ts +15 -7
  88. package/lib/typescript/src/native/index.d.ts.map +1 -1
  89. package/lib/typescript/src/primitives/keyboard-avoider.d.ts +30 -3
  90. package/lib/typescript/src/primitives/keyboard-avoider.d.ts.map +1 -1
  91. package/lib/typescript/src/primitives/scroll-progress.d.ts +61 -0
  92. package/lib/typescript/src/primitives/scroll-progress.d.ts.map +1 -0
  93. package/package.json +1 -1
  94. package/src/components/button/index.tsx +13 -11
  95. package/src/components/direction/index.tsx +90 -0
  96. package/src/components/frame/index.tsx +39 -50
  97. package/src/components/heatmap-chart/index.tsx +1024 -0
  98. package/src/components/input/index.tsx +23 -4
  99. package/src/components/message/index.tsx +17 -1
  100. package/src/components/scroll-canvas/index.tsx +220 -0
  101. package/src/components/scroll-text/index.tsx +277 -0
  102. package/src/components/select/index.tsx +4 -9
  103. package/src/components/slider/index.tsx +4 -7
  104. package/src/components/soundwave/index.tsx +1029 -0
  105. package/src/components/switch/index.tsx +5 -8
  106. package/src/components/thinking-orb/index.tsx +792 -0
  107. package/src/components/typography/index.tsx +231 -10
  108. package/src/hooks/index.ts +6 -0
  109. package/src/hooks/use-keyboard-avoidance.ts +111 -65
  110. package/src/hooks/use-reveal-progress.ts +106 -0
  111. package/src/icons/index.tsx +36 -0
  112. package/src/index.ts +53 -0
  113. package/src/native/index.ts +15 -7
  114. package/src/primitives/keyboard-avoider.tsx +41 -4
  115. package/src/primitives/scroll-progress.tsx +167 -0
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * ScrollProgress — publishes a scroll container's position so children can
5
+ * animate against it.
6
+ *
7
+ * Scroll-driven effects all need the same two numbers: where the scroller is,
8
+ * and how tall its viewport is. Every component that wanted them measuring for
9
+ * itself would mean one scroll listener per effect and one measurement pass per
10
+ * effect per frame, for two values that are the same for all of them.
11
+ *
12
+ * It wraps the scroll view you already have rather than replacing it — the
13
+ * child is cloned with an animated scroll handler composed onto it, the same
14
+ * way `ScrollFade` does — so a `FlatList`, a `SectionList` or your own
15
+ * scrollable all work, and nothing has to be rewritten to adopt it.
16
+ *
17
+ * ```tsx
18
+ * <ScrollProgress>
19
+ * <ScrollView>
20
+ * <ScrollText>…</ScrollText>
21
+ * </ScrollView>
22
+ * </ScrollProgress>
23
+ * ```
24
+ *
25
+ * Both values are shared values, so the whole chain from scroll event to
26
+ * animated style stays on the UI thread and nothing re-renders as you scroll.
27
+ */
28
+ import { Children, createContext, isValidElement, useContext, useMemo, useRef } from 'react';
29
+ import { View } from 'react-native';
30
+ import Animated, { useAnimatedScrollHandler, useComposedEventHandler, useSharedValue } from 'react-native-reanimated';
31
+ import { jsx as _jsx } from "react/jsx-runtime";
32
+ const ScrollProgressContext = /*#__PURE__*/createContext(null);
33
+
34
+ /**
35
+ * The nearest enclosing scroll container's position, or `null` outside one.
36
+ *
37
+ * It returns null rather than throwing because every consumer of this also
38
+ * takes an explicit `progress` prop — a component that can be driven by hand
39
+ * should not insist on a provider it does not need.
40
+ */
41
+ export function useScrollProgress() {
42
+ return useContext(ScrollProgressContext);
43
+ }
44
+ export function ScrollProgress({
45
+ className,
46
+ children,
47
+ ...props
48
+ }) {
49
+ const offset = useSharedValue(0);
50
+ const viewport = useSharedValue(0);
51
+ const content = useSharedValue(0);
52
+ const top = useSharedValue(0);
53
+ const hostRef = useRef(null);
54
+ const child = Children.only(children);
55
+
56
+ // Reanimated can only drive a scroll handler on an animated component, and
57
+ // what was passed in is not necessarily `Animated.ScrollView`. Keyed on the
58
+ // element *type*, not the element: rebuilding the wrapper would remount the
59
+ // list and lose its scroll position.
60
+ const childType = /*#__PURE__*/isValidElement(child) ? child.type : null;
61
+ const AnimatedScrollable = useMemo(() => childType ? Animated.createAnimatedComponent(childType) : null, [childType]);
62
+ const scrollHandler = useAnimatedScrollHandler({
63
+ onScroll: event => {
64
+ offset.value = event.contentOffset.y;
65
+ viewport.value = event.layoutMeasurement.height;
66
+ content.value = event.contentSize.height;
67
+ }
68
+ });
69
+
70
+ // A consumer's own `onScroll` is composed rather than dropped — but since the
71
+ // child is now an animated component, it has to be an animated handler too.
72
+ const onScroll = useComposedEventHandler([scrollHandler, child.props.onScroll ?? null]);
73
+
74
+ // Taken up front as well as on scroll, so anything already on screen animates
75
+ // from the first frame instead of waiting for the first scroll event.
76
+ const onLayout = event => {
77
+ viewport.value = event.nativeEvent.layout.height;
78
+ // A frame later than onLayout on both platforms, because measureInWindow
79
+ // is only meaningful once the view is attached and positioned.
80
+ requestAnimationFrame(() => {
81
+ hostRef.current?.measureInWindow((_x, y) => {
82
+ if (y >= 0) top.value = y;
83
+ });
84
+ });
85
+ child.props.onLayout?.(event);
86
+ };
87
+ const onContentSizeChange = (width, height) => {
88
+ content.value = height;
89
+ child.props.onContentSizeChange?.(width, height);
90
+ };
91
+ const value = useMemo(() => ({
92
+ offset,
93
+ viewport,
94
+ content,
95
+ top
96
+ }), [offset, viewport, content, top]);
97
+ return /*#__PURE__*/_jsx(ScrollProgressContext.Provider, {
98
+ value: value,
99
+ children: /*#__PURE__*/_jsx(View, {
100
+ ...props,
101
+ ref: hostRef,
102
+ className: className,
103
+ children: AnimatedScrollable && /*#__PURE__*/isValidElement(child) ? /*#__PURE__*/_jsx(AnimatedScrollable, {
104
+ ...child.props,
105
+ onScroll: onScroll,
106
+ onLayout: onLayout,
107
+ onContentSizeChange: onContentSizeChange,
108
+ scrollEventThrottle: child.props.scrollEventThrottle ?? 16
109
+ }) : child
110
+ })
111
+ });
112
+ }
113
+ ScrollProgress.displayName = 'ScrollProgress';
114
+ //# sourceMappingURL=scroll-progress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Children","createContext","isValidElement","useContext","useMemo","useRef","View","Animated","useAnimatedScrollHandler","useComposedEventHandler","useSharedValue","jsx","_jsx","ScrollProgressContext","useScrollProgress","ScrollProgress","className","children","props","offset","viewport","content","top","hostRef","child","only","childType","type","AnimatedScrollable","createAnimatedComponent","scrollHandler","onScroll","event","value","contentOffset","y","layoutMeasurement","height","contentSize","onLayout","nativeEvent","layout","requestAnimationFrame","current","measureInWindow","_x","onContentSizeChange","width","Provider","ref","scrollEventThrottle","displayName"],"sourceRoot":"../../../src","sources":["primitives/scroll-progress.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SACEA,QAAQ,EACRC,aAAa,EACbC,cAAc,EACdC,UAAU,EACVC,OAAO,EACPC,MAAM,QAID,OAAO;AACd,SAASC,IAAI,QAAgD,cAAc;AAC3E,OAAOC,QAAQ,IACbC,wBAAwB,EACxBC,uBAAuB,EACvBC,cAAc,QAGT,yBAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAkBjC,MAAMC,qBAAqB,gBAAGZ,aAAa,CAA6B,IAAI,CAAC;;AAE7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASa,iBAAiBA,CAAA,EAA+B;EAC9D,OAAOX,UAAU,CAACU,qBAAqB,CAAC;AAC1C;AAeA,OAAO,SAASE,cAAcA,CAAC;EAAEC,SAAS;EAAEC,QAAQ;EAAE,GAAGC;AAA2B,CAAC,EAAE;EACrF,MAAMC,MAAM,GAAGT,cAAc,CAAC,CAAC,CAAC;EAChC,MAAMU,QAAQ,GAAGV,cAAc,CAAC,CAAC,CAAC;EAClC,MAAMW,OAAO,GAAGX,cAAc,CAAC,CAAC,CAAC;EACjC,MAAMY,GAAG,GAAGZ,cAAc,CAAC,CAAC,CAAC;EAC7B,MAAMa,OAAO,GAAGlB,MAAM,CAAO,IAAI,CAAC;EAElC,MAAMmB,KAAK,GAAGxB,QAAQ,CAACyB,IAAI,CAACR,QAAQ,CAAkC;;EAEtE;EACA;EACA;EACA;EACA,MAAMS,SAAS,GAAG,aAAAxB,cAAc,CAACsB,KAAK,CAAC,GAClCA,KAAK,CAACG,IAAI,GACX,IAAI;EACR,MAAMC,kBAAkB,GAAGxB,OAAO,CAChC,MAAOsB,SAAS,GAAGnB,QAAQ,CAACsB,uBAAuB,CAACH,SAAS,CAAC,GAAG,IAAK,EACtE,CAACA,SAAS,CACZ,CAAC;EAED,MAAMI,aAAa,GAAGtB,wBAAwB,CAAC;IAC7CuB,QAAQ,EAAGC,KAAK,IAAK;MACnBb,MAAM,CAACc,KAAK,GAAGD,KAAK,CAACE,aAAa,CAACC,CAAC;MACpCf,QAAQ,CAACa,KAAK,GAAGD,KAAK,CAACI,iBAAiB,CAACC,MAAM;MAC/ChB,OAAO,CAACY,KAAK,GAAGD,KAAK,CAACM,WAAW,CAACD,MAAM;IAC1C;EACF,CAAC,CAAC;;EAEF;EACA;EACA,MAAMN,QAAQ,GAAGtB,uBAAuB,CAAC,CACvCqB,aAAa,EACZN,KAAK,CAACN,KAAK,CAACa,QAAQ,IAAyC,IAAI,CACnE,CAAC;;EAEF;EACA;EACA,MAAMQ,QAAQ,GAAIP,KAAwB,IAAK;IAC7CZ,QAAQ,CAACa,KAAK,GAAGD,KAAK,CAACQ,WAAW,CAACC,MAAM,CAACJ,MAAM;IAChD;IACA;IACAK,qBAAqB,CAAC,MAAM;MAC1BnB,OAAO,CAACoB,OAAO,EAAEC,eAAe,CAAC,CAACC,EAAE,EAAEV,CAAC,KAAK;QAC1C,IAAIA,CAAC,IAAI,CAAC,EAAEb,GAAG,CAACW,KAAK,GAAGE,CAAC;MAC3B,CAAC,CAAC;IACJ,CAAC,CAAC;IACFX,KAAK,CAACN,KAAK,CAACqB,QAAQ,GAAGP,KAAK,CAAC;EAC/B,CAAC;EAED,MAAMc,mBAAmB,GAAGA,CAACC,KAAa,EAAEV,MAAc,KAAK;IAC7DhB,OAAO,CAACY,KAAK,GAAGI,MAAM;IACtBb,KAAK,CAACN,KAAK,CAAC4B,mBAAmB,GAAGC,KAAK,EAAEV,MAAM,CAAC;EAClD,CAAC;EAED,MAAMJ,KAAK,GAAG7B,OAAO,CACnB,OAAO;IAAEe,MAAM;IAAEC,QAAQ;IAAEC,OAAO;IAAEC;EAAI,CAAC,CAAC,EAC1C,CAACH,MAAM,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,GAAG,CACjC,CAAC;EAED,oBACEV,IAAA,CAACC,qBAAqB,CAACmC,QAAQ;IAACf,KAAK,EAAEA,KAAM;IAAAhB,QAAA,eAC3CL,IAAA,CAACN,IAAI;MAAA,GAAKY,KAAK;MAAE+B,GAAG,EAAE1B,OAAQ;MAACP,SAAS,EAAEA,SAAU;MAAAC,QAAA,EACjDW,kBAAkB,iBAAI1B,cAAc,CAACsB,KAAK,CAAC,gBAC1CZ,IAAA,CAACgB,kBAAkB;QAAA,GACbJ,KAAK,CAACN,KAAK;QACfa,QAAQ,EAAEA,QAAS;QACnBQ,QAAQ,EAAEA,QAAS;QACnBO,mBAAmB,EAAEA,mBAAoB;QACzCI,mBAAmB,EAAE1B,KAAK,CAACN,KAAK,CAACgC,mBAAmB,IAAI;MAAG,CAC5D,CAAC,GAEF1B;IACD,CACG;EAAC,CACuB,CAAC;AAErC;AAEAT,cAAc,CAACoC,WAAW,GAAG,gBAAgB","ignoreList":[]}
@@ -220,10 +220,9 @@ export interface ButtonProps extends Omit<AnimatedPressableProps, 'children' | '
220
220
  * `primary`/`destructive` → filled, `outline` → outlined, everything else
221
221
  * → text; `size` sets the height.
222
222
  *
223
- * A native button **fills the width it is given**, because the host is told
224
- * its size rather than left to measure the platform's content — which is
225
- * what made it collapse and then jump on first press. Put it in a row to
226
- * share the width, or in a narrower parent to shrink it.
223
+ * A native button **sizes itself to its label**, the way a platform button
224
+ * is supposed to. It does not stretch to fill its container, and `fullWidth`
225
+ * has no effect on it.
227
226
  */
228
227
  native?: boolean;
229
228
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/button/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,wCAAqC,CAAC;AAM7C,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;QAiCd,6EAA6E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAA7E,6EAA6E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAA7E,6EAA6E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAwBjF,CAAC;AAEH,KAAK,kBAAkB,GAAG,YAAY,CAAC,OAAO,cAAc,CAAC,CAAC;AAsB9D,MAAM,WAAW,WACf,SAAQ,IAAI,CAAC,sBAAsB,EAAE,UAAU,GAAG,UAAU,CAAC,EAC3D,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC;IACtC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qEAAqE;IACrE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iFAAiF;IACjF,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,wCAAwC;IACxC,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,6DAA6D;IAC7D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AA+BD,eAAO,MAAM,MAAM,8FA4FlB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/button/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,wCAAqC,CAAC;AAM7C,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;QAiCd,6EAA6E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAA7E,6EAA6E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAA7E,6EAA6E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAwBjF,CAAC;AAEH,KAAK,kBAAkB,GAAG,YAAY,CAAC,OAAO,cAAc,CAAC,CAAC;AAsB9D,MAAM,WAAW,WACf,SAAQ,IAAI,CAAC,sBAAsB,EAAE,UAAU,GAAG,UAAU,CAAC,EAC3D,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC;IACtC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qEAAqE;IACrE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iFAAiF;IACjF,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,wCAAwC;IACxC,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,6DAA6D;IAC7D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAiCD,eAAO,MAAM,MAAM,8FA6FlB,CAAC"}
@@ -0,0 +1,304 @@
1
+ /**
2
+ * Chip — a compact, interactive token.
3
+ *
4
+ * Where Badge only shows and ToggleButton owns a stateful toolbar, Chip is the
5
+ * thing in between: a small pill you can *press*, mark as *selected*, or
6
+ * *remove*. It is the filter in a filter bar, the tag on a photo, the removable
7
+ * recipient in a "To:" field — small, dense, and touchable.
8
+ *
9
+ * The close button is its own hit target nested inside the pill, so tapping the
10
+ * ✕ removes the chip without also firing the chip's own `onPress`. That split
11
+ * is the whole reason a removable chip needs a component and not just a styled
12
+ * Badge.
13
+ *
14
+ * ```tsx
15
+ * <Chip>Design</Chip>
16
+ *
17
+ * <Chip variant="info" onClose={() => remove('design')}>Design</Chip>
18
+ *
19
+ * <Chip selected={on} onPress={() => setOn(!on)}>
20
+ * <CheckIcon size={14} />
21
+ * <Chip.Label>Available</Chip.Label>
22
+ * </Chip>
23
+ * ```
24
+ */
25
+ import { type ReactNode } from 'react';
26
+ import { View } from 'react-native';
27
+ import { type VariantProps } from 'tailwind-variants';
28
+ import { type AnimatedPressableProps } from '../../primitives/animated-pressable.js';
29
+ declare const chipVariants: import("tailwind-variants").TVReturnType<{
30
+ variant: {
31
+ /** The resting tag — a quiet neutral fill. */
32
+ default: {
33
+ root: string;
34
+ label: string;
35
+ };
36
+ /** The accent fill, for the one chip that leads. */
37
+ primary: {
38
+ root: string;
39
+ label: string;
40
+ };
41
+ /** Just an outline — the lightest a chip gets while still being a shape. */
42
+ outline: {
43
+ root: string;
44
+ label: string;
45
+ };
46
+ success: {
47
+ root: string;
48
+ label: string;
49
+ };
50
+ warning: {
51
+ root: string;
52
+ label: string;
53
+ };
54
+ info: {
55
+ root: string;
56
+ label: string;
57
+ };
58
+ destructive: {
59
+ root: string;
60
+ label: string;
61
+ };
62
+ };
63
+ size: {
64
+ sm: {
65
+ root: string;
66
+ label: string;
67
+ };
68
+ md: {
69
+ root: string;
70
+ label: string;
71
+ };
72
+ lg: {
73
+ root: string;
74
+ label: string;
75
+ };
76
+ };
77
+ /**
78
+ * The filter "on" state — a loud accent surface that wins over the resting
79
+ * variant, so any chip can be a filter without picking a second colour.
80
+ */
81
+ selected: {
82
+ true: {
83
+ root: string;
84
+ label: string;
85
+ };
86
+ };
87
+ /** Trims the trailing padding so the close target hugs the right edge. */
88
+ closable: {
89
+ true: {
90
+ root: string;
91
+ };
92
+ };
93
+ disabled: {
94
+ true: {
95
+ root: string;
96
+ };
97
+ };
98
+ }, {
99
+ root: string;
100
+ label: string;
101
+ close: string;
102
+ }, undefined, {
103
+ variant: {
104
+ /** The resting tag — a quiet neutral fill. */
105
+ default: {
106
+ root: string;
107
+ label: string;
108
+ };
109
+ /** The accent fill, for the one chip that leads. */
110
+ primary: {
111
+ root: string;
112
+ label: string;
113
+ };
114
+ /** Just an outline — the lightest a chip gets while still being a shape. */
115
+ outline: {
116
+ root: string;
117
+ label: string;
118
+ };
119
+ success: {
120
+ root: string;
121
+ label: string;
122
+ };
123
+ warning: {
124
+ root: string;
125
+ label: string;
126
+ };
127
+ info: {
128
+ root: string;
129
+ label: string;
130
+ };
131
+ destructive: {
132
+ root: string;
133
+ label: string;
134
+ };
135
+ };
136
+ size: {
137
+ sm: {
138
+ root: string;
139
+ label: string;
140
+ };
141
+ md: {
142
+ root: string;
143
+ label: string;
144
+ };
145
+ lg: {
146
+ root: string;
147
+ label: string;
148
+ };
149
+ };
150
+ /**
151
+ * The filter "on" state — a loud accent surface that wins over the resting
152
+ * variant, so any chip can be a filter without picking a second colour.
153
+ */
154
+ selected: {
155
+ true: {
156
+ root: string;
157
+ label: string;
158
+ };
159
+ };
160
+ /** Trims the trailing padding so the close target hugs the right edge. */
161
+ closable: {
162
+ true: {
163
+ root: string;
164
+ };
165
+ };
166
+ disabled: {
167
+ true: {
168
+ root: string;
169
+ };
170
+ };
171
+ }, {
172
+ root: string;
173
+ label: string;
174
+ close: string;
175
+ }, import("tailwind-variants").TVReturnType<{
176
+ variant: {
177
+ /** The resting tag — a quiet neutral fill. */
178
+ default: {
179
+ root: string;
180
+ label: string;
181
+ };
182
+ /** The accent fill, for the one chip that leads. */
183
+ primary: {
184
+ root: string;
185
+ label: string;
186
+ };
187
+ /** Just an outline — the lightest a chip gets while still being a shape. */
188
+ outline: {
189
+ root: string;
190
+ label: string;
191
+ };
192
+ success: {
193
+ root: string;
194
+ label: string;
195
+ };
196
+ warning: {
197
+ root: string;
198
+ label: string;
199
+ };
200
+ info: {
201
+ root: string;
202
+ label: string;
203
+ };
204
+ destructive: {
205
+ root: string;
206
+ label: string;
207
+ };
208
+ };
209
+ size: {
210
+ sm: {
211
+ root: string;
212
+ label: string;
213
+ };
214
+ md: {
215
+ root: string;
216
+ label: string;
217
+ };
218
+ lg: {
219
+ root: string;
220
+ label: string;
221
+ };
222
+ };
223
+ /**
224
+ * The filter "on" state — a loud accent surface that wins over the resting
225
+ * variant, so any chip can be a filter without picking a second colour.
226
+ */
227
+ selected: {
228
+ true: {
229
+ root: string;
230
+ label: string;
231
+ };
232
+ };
233
+ /** Trims the trailing padding so the close target hugs the right edge. */
234
+ closable: {
235
+ true: {
236
+ root: string;
237
+ };
238
+ };
239
+ disabled: {
240
+ true: {
241
+ root: string;
242
+ };
243
+ };
244
+ }, {
245
+ root: string;
246
+ label: string;
247
+ close: string;
248
+ }, undefined, unknown, unknown, undefined>>;
249
+ type ChipVariantProps = VariantProps<typeof chipVariants>;
250
+ export type ChipVariant = NonNullable<ChipVariantProps['variant']>;
251
+ export type ChipSize = NonNullable<ChipVariantProps['size']>;
252
+ interface ChipStateValue {
253
+ selected: boolean;
254
+ disabled: boolean;
255
+ }
256
+ /**
257
+ * The chip's own state, for anything rendered inside it — an icon that swaps
258
+ * when the chip is selected, a count that only shows when it is on.
259
+ */
260
+ export declare function useChip(): ChipStateValue;
261
+ export interface ChipProps extends Omit<AnimatedPressableProps, 'children' | 'disabled'>, Omit<ChipVariantProps, 'selected' | 'disabled' | 'closable'> {
262
+ children?: ReactNode;
263
+ className?: string;
264
+ /** Extra classes for the label when `children` is a string. */
265
+ labelClassName?: string;
266
+ /**
267
+ * The filter "on" state. Setting it (even to `false`) makes the chip a
268
+ * toggle, announced as such — pair it with `onPress` to flip it.
269
+ */
270
+ selected?: boolean;
271
+ disabled?: boolean;
272
+ /** A leading icon or avatar, before the label. */
273
+ start?: ReactNode;
274
+ /**
275
+ * Shows a trailing ✕ and calls this when it is pressed. The ✕ is its own hit
276
+ * target, so removing a chip never also fires its `onPress`.
277
+ */
278
+ onClose?: () => void;
279
+ /** Accessibility label for the ✕. Defaults to "Remove". */
280
+ closeLabel?: string;
281
+ /**
282
+ * A tick under the finger when the chip is pressed or removed. Off by
283
+ * default — needs the optional `expo-haptics`, and is silent without it.
284
+ */
285
+ haptics?: boolean;
286
+ }
287
+ export interface ChipLabelProps {
288
+ className?: string;
289
+ children: ReactNode;
290
+ }
291
+ /**
292
+ * The label, when the chip holds more than a string — an icon beside text. It
293
+ * reads the selected state itself, so composing the two does not mean threading
294
+ * the colour through by hand.
295
+ */
296
+ declare function ChipLabel({ className, children }: ChipLabelProps): import("react").JSX.Element;
297
+ declare namespace ChipLabel {
298
+ var displayName: string;
299
+ }
300
+ export declare const Chip: import("react").ForwardRefExoticComponent<ChipProps & import("react").RefAttributes<View>> & {
301
+ Label: typeof ChipLabel;
302
+ };
303
+ export {};
304
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/chip/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAa,IAAI,EAAkB,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAG1D,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,wCAAqC,CAAC;AAK7C,QAAA,MAAM,YAAY;;QASZ,8CAA8C;;;;;QAE9C,oDAAoD;;;;;QAEpD,4EAA4E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqB9E;;;OAGG;;;;;;;IAOH,0EAA0E;;;;;;;;;;;;;;;;;QAnCxE,8CAA8C;;;;;QAE9C,oDAAoD;;;;;QAEpD,4EAA4E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqB9E;;;OAGG;;;;;;;IAOH,0EAA0E;;;;;;;;;;;;;;;;;QAnCxE,8CAA8C;;;;;QAE9C,oDAAoD;;;;;QAEpD,4EAA4E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqB9E;;;OAGG;;;;;;;IAOH,0EAA0E;;;;;;;;;;;;;;;2CAiB5E,CAAC;AAEH,KAAK,gBAAgB,GAAG,YAAY,CAAC,OAAO,YAAY,CAAC,CAAC;AAC1D,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;AACnE,MAAM,MAAM,QAAQ,GAAG,WAAW,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;AAoB7D,UAAU,cAAc;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB;AASD;;;GAGG;AACH,wBAAgB,OAAO,IAAI,cAAc,CAMxC;AAMD,MAAM,WAAW,SACf,SAAQ,IAAI,CAAC,sBAAsB,EAAE,UAAU,GAAG,UAAU,CAAC,EAC3D,IAAI,CAAC,gBAAgB,EAAE,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;IAC9D,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kDAAkD;IAClD,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA+HD,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;GAIG;AACH,iBAAS,SAAS,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,cAAc,+BAMzD;kBANQ,SAAS;;;AASlB,eAAO,MAAM,IAAI;;CAEf,CAAC"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Direction — reading direction for everything below it.
3
+ *
4
+ * ```tsx
5
+ * <Direction dir="rtl">
6
+ * <App />
7
+ * </Direction>
8
+ * ```
9
+ *
10
+ * The layout flip is Yoga's, not ours: the wrapper carries the `direction`
11
+ * style, and every row, `start`/`end` inset and horizontal padding underneath
12
+ * it mirrors natively. That is the whole reason this is a component and not a
13
+ * bare context — `direction` is a *style*, so a subtree is the unit it applies
14
+ * to.
15
+ *
16
+ * It is also the reason to prefer it over flipping the process with
17
+ * `I18nManager.forceRTL`, which needs an app restart to take effect, cannot be
18
+ * scoped to part of a screen, and cannot be previewed side by side. Here the
19
+ * value is a prop: change it and the next frame is mirrored.
20
+ *
21
+ * ## What Yoga does not flip
22
+ *
23
+ * Anything measured in raw pixels rather than laid out — a drag translation, an
24
+ * indicator offset, the direction a sweep travels. Those have to consult the
25
+ * value and negate it themselves, which is what `useDirection()` is for:
26
+ *
27
+ * ```tsx
28
+ * const dir = useDirection();
29
+ * const delta = (dir === 'rtl' ? -event.translationX : event.translationX) / width;
30
+ * ```
31
+ *
32
+ * With no provider mounted, and for a `<Direction>` given no `dir`, the value
33
+ * comes from the device — so an app that did force RTL the old way still reads
34
+ * back the truth.
35
+ */
36
+ import { type ReactNode } from 'react';
37
+ import { type ViewProps } from 'react-native';
38
+ export type DirectionValue = 'ltr' | 'rtl';
39
+ export interface DirectionProps extends ViewProps {
40
+ className?: string;
41
+ children?: ReactNode;
42
+ /**
43
+ * Reading direction for this subtree. Defaults to the nearest enclosing
44
+ * `Direction`, or to the device when there is none — so a nested provider
45
+ * with no `dir` inherits rather than resetting to left-to-right.
46
+ */
47
+ dir?: DirectionValue;
48
+ }
49
+ /**
50
+ * Provider. Renders one `View` — it has to, since the flip is a style — which
51
+ * fills its parent by default so it can wrap an app. Pass `className` to change
52
+ * that: `flex-none` or a width class both win over the default.
53
+ */
54
+ export declare function Direction({ className, children, dir, style, ...props }: DirectionProps): import("react").JSX.Element;
55
+ export declare namespace Direction {
56
+ var displayName: string;
57
+ }
58
+ /**
59
+ * The reading direction in force, for a component that has to flip maths Yoga
60
+ * cannot flip for it. Safe with no provider mounted: it falls back to the
61
+ * device's own setting.
62
+ */
63
+ export declare function useDirection(): DirectionValue;
64
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/direction/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,OAAO,EAAsC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC3E,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAGjE,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,KAAK,CAAC;AAO3C,MAAM,WAAW,cAAe,SAAQ,SAAS;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;;OAIG;IACH,GAAG,CAAC,EAAE,cAAc,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,+BAgBtF;yBAhBe,SAAS;;;AAoBzB;;;;GAIG;AACH,wBAAgB,YAAY,IAAI,cAAc,CAE7C"}
@@ -1,23 +1,29 @@
1
1
  /**
2
- * Frame — a widget shell: a titled surface wrapping an inset panel of rows,
3
- * with an optional action on the header row and a caption underneath.
2
+ * Frame — a widget shell: a card of rows sitting in a tray, with the tray's
3
+ * one exposed strip along the top carrying the title.
4
4
  *
5
- * Layout follows the nested-radius rule (inner radius = outer radius minus the
6
- * gap between them), which is why the panel is `rounded-xl` inside a
7
- * `rounded-2xl` shell. Since v0.4.0 the radius scale is theme-scoped, so this
8
- * relationship holds while the absolute values change per theme.
5
+ * The two surfaces are nested rather than stacked, and only one edge of the
6
+ * outer one is ever visible. The panel is flush to the shell's left, right and
7
+ * bottom, so the shell reads as something the card is *sitting in* rather than
8
+ * as a border around it — and the strip left at the top is the header, which
9
+ * is why the header needs no rule under it and no background of its own.
10
+ *
11
+ * The shell's radius is the larger of the two, and the panel's top corners are
12
+ * tighter. That is the reverse of the usual nested-radius rule, and it is
13
+ * deliberate: with only the top corners free, matching them would make the two
14
+ * surfaces read as one misdrawn shape. The panel's bottom corners are not set
15
+ * at all — the shell clips them, so they take its radius exactly.
9
16
  *
10
17
  * ```tsx
11
18
  * <Frame>
12
19
  * <Frame.Header>
13
- * <Frame.Title>Usage Type</Frame.Title>
14
- * <Frame.Action>Amount</Frame.Action>
20
+ * <Frame.Title>Agent monitor</Frame.Title>
21
+ * <Frame.Action>All agents under 25% token limit</Frame.Action>
15
22
  * </Frame.Header>
16
23
  * <Frame.Panel>
17
24
  * <Frame.Row>…</Frame.Row>
18
25
  * <Frame.Row>…</Frame.Row>
19
26
  * </Frame.Panel>
20
- * <Frame.Footer>Updated 2 minutes ago</Frame.Footer>
21
27
  * </Frame>
22
28
  * ```
23
29
  *
@@ -78,9 +84,6 @@ export interface FrameSectionProps extends FrameProps, Dividable {
78
84
  divided?: boolean;
79
85
  children?: ReactNode;
80
86
  }
81
- export interface FrameFooterProps extends FrameProps {
82
- children?: ReactNode;
83
- }
84
87
  export declare const Frame: import("react").ForwardRefExoticComponent<FrameRootProps & import("react").RefAttributes<View>> & {
85
88
  Header: import("react").ForwardRefExoticComponent<FrameHeaderProps & import("react").RefAttributes<View>>;
86
89
  Title: import("react").ForwardRefExoticComponent<TextProps & import("react").RefAttributes<RNText>>;
@@ -89,7 +92,6 @@ export declare const Frame: import("react").ForwardRefExoticComponent<FrameRootP
89
92
  Panel: import("react").ForwardRefExoticComponent<FramePanelProps & import("react").RefAttributes<View>>;
90
93
  Section: import("react").ForwardRefExoticComponent<FrameSectionProps & import("react").RefAttributes<View>>;
91
94
  Row: import("react").ForwardRefExoticComponent<FrameRowProps & import("react").RefAttributes<View>>;
92
- Footer: import("react").ForwardRefExoticComponent<FrameFooterProps & import("react").RefAttributes<View>>;
93
95
  };
94
96
  export {};
95
97
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/frame/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,EAAsD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC3F,OAAO,EAEL,IAAI,EACJ,KAAK,cAAc,EACnB,KAAK,IAAI,IAAI,MAAM,EACnB,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,0BAAuB,CAAC;AAsB7D,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC;AAE/C,MAAM,WAAW,UAAW,SAAQ,SAAS;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD;;;OAGG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;AASD,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAClD,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AA+BD,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAClD,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AA6BD;;;;GAIG;AACH,UAAU,SAAS;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAkBD,MAAM,WAAW,eAAgB,SAAQ,UAAU;IACjD;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAeD,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,EAAE,SAAS;IAChF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AA8CD,MAAM,WAAW,iBAAkB,SAAQ,UAAU,EAAE,SAAS;IAC9D,2DAA2D;IAC3D,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAkCD,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAClD,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAsBD,eAAO,MAAM,KAAK;;;;;;;;;CAShB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/frame/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,OAAO,EAAsD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC3F,OAAO,EAEL,IAAI,EACJ,KAAK,cAAc,EACnB,KAAK,IAAI,IAAI,MAAM,EACnB,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,0BAAuB,CAAC;AA+B7D,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC;AAE/C,MAAM,WAAW,UAAW,SAAQ,SAAS;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD;;;OAGG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;AASD,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAClD,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AA8BD,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAClD,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AA6BD;;;;GAIG;AACH,UAAU,SAAS;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAkBD,MAAM,WAAW,eAAgB,SAAQ,UAAU;IACjD;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAeD,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,EAAE,SAAS;IAChF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AA8CD,MAAM,WAAW,iBAAkB,SAAQ,UAAU,EAAE,SAAS;IAC9D,2DAA2D;IAC3D,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAkCD,eAAO,MAAM,KAAK;;;;;;;;CAQhB,CAAC"}