panelui-native 0.2.0 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +258 -0
- package/lib/module/components/accordion/index.js +312 -0
- package/lib/module/components/accordion/index.js.map +1 -0
- package/lib/module/components/alert/index.js +106 -13
- package/lib/module/components/alert/index.js.map +1 -1
- package/lib/module/components/avatar/index.js +58 -17
- package/lib/module/components/avatar/index.js.map +1 -1
- package/lib/module/components/badge/index.js +29 -8
- package/lib/module/components/badge/index.js.map +1 -1
- package/lib/module/components/button/index.js +87 -26
- package/lib/module/components/button/index.js.map +1 -1
- package/lib/module/components/checkbox/index.js +59 -18
- package/lib/module/components/checkbox/index.js.map +1 -1
- package/lib/module/components/empty-state/index.js +178 -0
- package/lib/module/components/empty-state/index.js.map +1 -0
- package/lib/module/components/frame/index.js +64 -13
- package/lib/module/components/frame/index.js.map +1 -1
- package/lib/module/components/input-group/index.js +132 -0
- package/lib/module/components/input-group/index.js.map +1 -0
- package/lib/module/components/label/index.js +117 -0
- package/lib/module/components/label/index.js.map +1 -0
- package/lib/module/components/progress/index.js +138 -0
- package/lib/module/components/progress/index.js.map +1 -0
- package/lib/module/components/steps/index.js +354 -0
- package/lib/module/components/steps/index.js.map +1 -0
- package/lib/module/components/tabs/index.js +9 -3
- package/lib/module/components/tabs/index.js.map +1 -1
- package/lib/module/components/timeline/index.js +633 -0
- package/lib/module/components/timeline/index.js.map +1 -0
- package/lib/module/components/toast/index.js +569 -0
- package/lib/module/components/toast/index.js.map +1 -0
- package/lib/module/components/toast/toast-store.js +81 -0
- package/lib/module/components/toast/toast-store.js.map +1 -0
- package/lib/module/components/typography/index.js +126 -0
- package/lib/module/components/typography/index.js.map +1 -0
- package/lib/module/icons/index.js +590 -8
- package/lib/module/icons/index.js.map +1 -1
- package/lib/module/index.js +11 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/providers/panel-ui-provider.js +2 -1
- package/lib/module/providers/panel-ui-provider.js.map +1 -1
- package/lib/module/theme/use-theme.js +90 -3
- package/lib/module/theme/use-theme.js.map +1 -1
- package/lib/typescript/src/components/accordion/index.d.ts +56 -0
- package/lib/typescript/src/components/accordion/index.d.ts.map +1 -0
- package/lib/typescript/src/components/alert/index.d.ts +56 -4
- package/lib/typescript/src/components/alert/index.d.ts.map +1 -1
- package/lib/typescript/src/components/avatar/index.d.ts +8 -1
- package/lib/typescript/src/components/avatar/index.d.ts.map +1 -1
- package/lib/typescript/src/components/badge/index.d.ts +38 -0
- package/lib/typescript/src/components/badge/index.d.ts.map +1 -1
- package/lib/typescript/src/components/button/index.d.ts +57 -0
- package/lib/typescript/src/components/button/index.d.ts.map +1 -1
- package/lib/typescript/src/components/checkbox/index.d.ts +50 -0
- package/lib/typescript/src/components/checkbox/index.d.ts.map +1 -1
- package/lib/typescript/src/components/empty-state/index.d.ts +73 -0
- package/lib/typescript/src/components/empty-state/index.d.ts.map +1 -0
- package/lib/typescript/src/components/frame/index.d.ts +39 -5
- package/lib/typescript/src/components/frame/index.d.ts.map +1 -1
- package/lib/typescript/src/components/input-group/index.d.ts +34 -0
- package/lib/typescript/src/components/input-group/index.d.ts.map +1 -0
- package/lib/typescript/src/components/label/index.d.ts +28 -0
- package/lib/typescript/src/components/label/index.d.ts.map +1 -0
- package/lib/typescript/src/components/progress/index.d.ts +132 -0
- package/lib/typescript/src/components/progress/index.d.ts.map +1 -0
- package/lib/typescript/src/components/steps/index.d.ts +62 -0
- package/lib/typescript/src/components/steps/index.d.ts.map +1 -0
- package/lib/typescript/src/components/tabs/index.d.ts.map +1 -1
- package/lib/typescript/src/components/timeline/index.d.ts +96 -0
- package/lib/typescript/src/components/timeline/index.d.ts.map +1 -0
- package/lib/typescript/src/components/toast/index.d.ts +176 -0
- package/lib/typescript/src/components/toast/index.d.ts.map +1 -0
- package/lib/typescript/src/components/toast/toast-store.d.ts +65 -0
- package/lib/typescript/src/components/toast/toast-store.d.ts.map +1 -0
- package/lib/typescript/src/components/typography/index.d.ts +77 -0
- package/lib/typescript/src/components/typography/index.d.ts.map +1 -0
- package/lib/typescript/src/icons/index.d.ts +60 -0
- package/lib/typescript/src/icons/index.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +13 -4
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/providers/panel-ui-provider.d.ts.map +1 -1
- package/lib/typescript/src/theme/use-theme.d.ts +64 -4
- package/lib/typescript/src/theme/use-theme.d.ts.map +1 -1
- package/package.json +22 -4
- package/src/components/accordion/index.tsx +344 -0
- package/src/components/alert/index.tsx +102 -16
- package/src/components/avatar/index.tsx +68 -20
- package/src/components/badge/index.tsx +38 -9
- package/src/components/button/index.tsx +102 -19
- package/src/components/checkbox/index.tsx +64 -12
- package/src/components/empty-state/index.tsx +136 -0
- package/src/components/frame/index.tsx +101 -31
- package/src/components/input-group/index.tsx +164 -0
- package/src/components/label/index.tsx +128 -0
- package/src/components/progress/index.tsx +147 -0
- package/src/components/steps/index.tsx +343 -0
- package/src/components/tabs/index.tsx +10 -2
- package/src/components/timeline/index.tsx +456 -0
- package/src/components/toast/index.tsx +568 -0
- package/src/components/toast/toast-store.ts +120 -0
- package/src/components/typography/index.tsx +121 -0
- package/src/icons/index.tsx +423 -7
- package/src/index.ts +114 -4
- package/src/providers/panel-ui-provider.tsx +3 -0
- package/src/theme/use-theme.ts +119 -4
- package/theme.css +330 -7
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Steps — a stepper for multi-step flows.
|
|
3
|
+
*
|
|
4
|
+
* Adapted from: origin-space/originui apps/origin/registry/default/ui/stepper.tsx
|
|
5
|
+
* (the Stepper / Item / Trigger / Indicator / Title / Description / Separator
|
|
6
|
+
* anatomy, and the completed | active | inactive | loading state resolution).
|
|
7
|
+
*
|
|
8
|
+
* Upstream drives all styling through `data-*` attributes, which React Native
|
|
9
|
+
* has no equivalent for. Here the state is resolved in JS and passed down
|
|
10
|
+
* through context into `tv()` variants — the same approach Alert uses.
|
|
11
|
+
*
|
|
12
|
+
* Steps does not own your flow: it reflects whatever step your app says is
|
|
13
|
+
* active. Pass `value` to control it, or `defaultValue` to let it manage
|
|
14
|
+
* its own.
|
|
15
|
+
*/
|
|
16
|
+
import { type ReactNode } from 'react';
|
|
17
|
+
import { View, type Text as RNText, type ViewProps } from 'react-native';
|
|
18
|
+
import { type TextProps } from '../../primitives/text.js';
|
|
19
|
+
export type StepState = 'active' | 'completed' | 'inactive' | 'loading';
|
|
20
|
+
export type StepsOrientation = 'horizontal' | 'vertical';
|
|
21
|
+
export interface StepsProps extends ViewProps {
|
|
22
|
+
className?: string;
|
|
23
|
+
/** Active step when uncontrolled. */
|
|
24
|
+
defaultValue?: number;
|
|
25
|
+
/** Active step, controlled. */
|
|
26
|
+
value?: number;
|
|
27
|
+
onValueChange?: (value: number) => void;
|
|
28
|
+
orientation?: StepsOrientation;
|
|
29
|
+
children?: ReactNode;
|
|
30
|
+
}
|
|
31
|
+
export interface StepsItemProps extends ViewProps {
|
|
32
|
+
className?: string;
|
|
33
|
+
/** This item's position in the flow, zero-based by convention. */
|
|
34
|
+
step: number;
|
|
35
|
+
/** Force the completed state, regardless of the active step. */
|
|
36
|
+
completed?: boolean;
|
|
37
|
+
disabled?: boolean;
|
|
38
|
+
/** Shows a spinner in place of the number while this step is active. */
|
|
39
|
+
loading?: boolean;
|
|
40
|
+
children?: ReactNode;
|
|
41
|
+
}
|
|
42
|
+
export interface StepsTriggerProps extends ViewProps {
|
|
43
|
+
className?: string;
|
|
44
|
+
children?: ReactNode;
|
|
45
|
+
}
|
|
46
|
+
export interface StepsIndicatorProps extends ViewProps {
|
|
47
|
+
className?: string;
|
|
48
|
+
/** Replaces the number / check / spinner entirely. */
|
|
49
|
+
children?: ReactNode;
|
|
50
|
+
}
|
|
51
|
+
export interface StepsSeparatorProps extends ViewProps {
|
|
52
|
+
className?: string;
|
|
53
|
+
}
|
|
54
|
+
export declare const Steps: import("react").ForwardRefExoticComponent<StepsProps & import("react").RefAttributes<View>> & {
|
|
55
|
+
Item: import("react").ForwardRefExoticComponent<StepsItemProps & import("react").RefAttributes<View>>;
|
|
56
|
+
Trigger: import("react").ForwardRefExoticComponent<StepsTriggerProps & import("react").RefAttributes<View>>;
|
|
57
|
+
Indicator: import("react").ForwardRefExoticComponent<StepsIndicatorProps & import("react").RefAttributes<View>>;
|
|
58
|
+
Title: import("react").ForwardRefExoticComponent<TextProps & import("react").RefAttributes<RNText>>;
|
|
59
|
+
Description: import("react").ForwardRefExoticComponent<TextProps & import("react").RefAttributes<RNText>>;
|
|
60
|
+
Separator: import("react").ForwardRefExoticComponent<StepsSeparatorProps & import("react").RefAttributes<View>>;
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/steps/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAa,IAAI,EAAE,KAAK,IAAI,IAAI,MAAM,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAIpF,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,0BAAuB,CAAC;AAG7D,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,CAAC;AACxE,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,UAAU,CAAC;AAuFzD,MAAM,WAAW,UAAW,SAAQ,SAAS;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AA6CD,MAAM,WAAW,cAAe,SAAQ,SAAS;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wEAAwE;IACxE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAqCD,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AA0BD,MAAM,WAAW,mBAAoB,SAAQ,SAAS;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAoDD,MAAM,WAAW,mBAAoB,SAAQ,SAAS;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA4BD,eAAO,MAAM,KAAK;;;;;;;CAOhB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/tabs/index.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/tabs/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAA2C,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAkCvF,MAAM,WAAW,SAAU,SAAQ,SAAS;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,iBAAS,QAAQ,CAAC,EAChB,SAAS,EACT,KAAK,EACL,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,SAAS,+BAoCX;AAyCD,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,+BAWjE;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,gBAAgB,+BAiCpE;AAED,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,sCAS9E;AAED,eAAO,MAAM,IAAI;;;;CAIf,CAAC"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Timeline — a vertical sequence of events.
|
|
3
|
+
*
|
|
4
|
+
* Adapted from: origin-space/originui apps/origin/registry/default/ui/timeline.tsx
|
|
5
|
+
* (the Item / Indicator / Separator / Header / Date / Title / Content anatomy
|
|
6
|
+
* and the completed-up-to-active state rule), shaped to match this repo's
|
|
7
|
+
* `Steps` component so the two read as siblings.
|
|
8
|
+
*
|
|
9
|
+
* Upstream drives styling through `data-*` attributes, which React Native has
|
|
10
|
+
* no equivalent for; state is resolved in JS and passed through context into
|
|
11
|
+
* `tv()` variants instead.
|
|
12
|
+
*
|
|
13
|
+
* Vertical only — a horizontal timeline gives each item roughly a fifth of a
|
|
14
|
+
* phone's width, which is not enough for a date and a title.
|
|
15
|
+
*
|
|
16
|
+
* ```tsx
|
|
17
|
+
* <Timeline variant="icon" value={2}>
|
|
18
|
+
* <Timeline.Item step={0} tone="info">
|
|
19
|
+
* <Timeline.Aside>
|
|
20
|
+
* <Timeline.Date>09:12</Timeline.Date>
|
|
21
|
+
* <Timeline.Label>Design</Timeline.Label>
|
|
22
|
+
* </Timeline.Aside>
|
|
23
|
+
* <Timeline.Indicator><SendIcon /></Timeline.Indicator>
|
|
24
|
+
* <Timeline.Content>
|
|
25
|
+
* <Timeline.Header>
|
|
26
|
+
* <Timeline.Title>Checkout language approved</Timeline.Title>
|
|
27
|
+
* <Timeline.Trailing>10:18</Timeline.Trailing>
|
|
28
|
+
* </Timeline.Header>
|
|
29
|
+
* <Timeline.Description>…</Timeline.Description>
|
|
30
|
+
* </Timeline.Content>
|
|
31
|
+
* </Timeline.Item>
|
|
32
|
+
* </Timeline>
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
import { type ReactNode } from 'react';
|
|
36
|
+
import { View, type Text as RNText, type ViewProps } from 'react-native';
|
|
37
|
+
import { type TextProps } from '../../primitives/text.js';
|
|
38
|
+
export type TimelineVariant = 'dot' | 'icon' | 'numbered' | 'card' | 'compact';
|
|
39
|
+
/** Semantic colour for a single event, independent of progress. */
|
|
40
|
+
export type TimelineTone = 'default' | 'info' | 'success' | 'warning' | 'danger';
|
|
41
|
+
export interface TimelineProps extends ViewProps {
|
|
42
|
+
className?: string;
|
|
43
|
+
/** Steps at or below this index render as completed. */
|
|
44
|
+
value?: number;
|
|
45
|
+
variant?: TimelineVariant;
|
|
46
|
+
children?: ReactNode;
|
|
47
|
+
}
|
|
48
|
+
export interface TimelineItemProps extends ViewProps {
|
|
49
|
+
className?: string;
|
|
50
|
+
/** Position in the sequence, zero-based. */
|
|
51
|
+
step: number;
|
|
52
|
+
/** Force the completed state regardless of the timeline's value. */
|
|
53
|
+
completed?: boolean;
|
|
54
|
+
/** Colours the node and label — for event kind rather than progress. */
|
|
55
|
+
tone?: TimelineTone;
|
|
56
|
+
/** Set on the final item so its rail stops at the indicator. */
|
|
57
|
+
last?: boolean;
|
|
58
|
+
children?: ReactNode;
|
|
59
|
+
}
|
|
60
|
+
export interface TimelineIndicatorProps extends ViewProps {
|
|
61
|
+
className?: string;
|
|
62
|
+
/** Replaces the default node contents — an icon, say. */
|
|
63
|
+
children?: ReactNode;
|
|
64
|
+
}
|
|
65
|
+
export interface TimelineStatProps extends ViewProps {
|
|
66
|
+
className?: string;
|
|
67
|
+
label: string;
|
|
68
|
+
value: string;
|
|
69
|
+
}
|
|
70
|
+
export declare const Timeline: import("react").ForwardRefExoticComponent<TimelineProps & import("react").RefAttributes<View>> & {
|
|
71
|
+
Item: import("react").ForwardRefExoticComponent<TimelineItemProps & import("react").RefAttributes<View>>;
|
|
72
|
+
Aside: import("react").ForwardRefExoticComponent<ViewProps & {
|
|
73
|
+
className?: string;
|
|
74
|
+
} & import("react").RefAttributes<View>>;
|
|
75
|
+
Indicator: import("react").ForwardRefExoticComponent<TimelineIndicatorProps & import("react").RefAttributes<View>>;
|
|
76
|
+
Content: import("react").ForwardRefExoticComponent<ViewProps & {
|
|
77
|
+
className?: string;
|
|
78
|
+
} & import("react").RefAttributes<View>>;
|
|
79
|
+
Header: import("react").ForwardRefExoticComponent<ViewProps & {
|
|
80
|
+
className?: string;
|
|
81
|
+
} & import("react").RefAttributes<View>>;
|
|
82
|
+
Heading: import("react").ForwardRefExoticComponent<ViewProps & {
|
|
83
|
+
className?: string;
|
|
84
|
+
} & import("react").RefAttributes<View>>;
|
|
85
|
+
Date: import("react").ForwardRefExoticComponent<TextProps & import("react").RefAttributes<RNText>>;
|
|
86
|
+
Label: import("react").ForwardRefExoticComponent<TextProps & import("react").RefAttributes<RNText>>;
|
|
87
|
+
Meta: import("react").ForwardRefExoticComponent<TextProps & import("react").RefAttributes<RNText>>;
|
|
88
|
+
Title: import("react").ForwardRefExoticComponent<TextProps & import("react").RefAttributes<RNText>>;
|
|
89
|
+
Trailing: import("react").ForwardRefExoticComponent<TextProps & import("react").RefAttributes<RNText>>;
|
|
90
|
+
Description: import("react").ForwardRefExoticComponent<TextProps & import("react").RefAttributes<RNText>>;
|
|
91
|
+
Stats: import("react").ForwardRefExoticComponent<ViewProps & {
|
|
92
|
+
className?: string;
|
|
93
|
+
} & import("react").RefAttributes<View>>;
|
|
94
|
+
Stat: import("react").ForwardRefExoticComponent<TimelineStatProps & import("react").RefAttributes<View>>;
|
|
95
|
+
};
|
|
96
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/timeline/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,IAAI,EAAE,KAAK,IAAI,IAAI,MAAM,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAIzE,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,0BAAuB,CAAC;AAE7D,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;AAC/E,mEAAmE;AACnE,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AAsHjF,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAkBD,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wEAAwE;IACxE,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,gEAAgE;IAChE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAwCD,MAAM,WAAW,sBAAuB,SAAQ,SAAS;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AA8KD,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAgBD,eAAO,MAAM,QAAQ;;;oBA/M4C,MAAM;;;;oBA4FJ,MAAM;;;oBAgBP,MAAM;;;oBAUL,MAAM;;;;;;;;;oBA4DR,MAAM;;;CA4CrE,CAAC"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Toast — transient notification.
|
|
3
|
+
*
|
|
4
|
+
* Adapted from: heroui-inc/heroui-native src/components/toast/
|
|
5
|
+
* (the three usage patterns — string, config object, custom component — the
|
|
6
|
+
* Title / Description / Action / Close anatomy, placement, and swipe-to-
|
|
7
|
+
* dismiss). Styled with Coss UI tokens and PanelUI's Alert status palette.
|
|
8
|
+
*
|
|
9
|
+
* The viewport is mounted for you by PanelUIProvider; `useToast()` works
|
|
10
|
+
* anywhere below it.
|
|
11
|
+
*/
|
|
12
|
+
import { type ReactNode } from 'react';
|
|
13
|
+
import { type ViewProps } from 'react-native';
|
|
14
|
+
import { type VariantProps } from 'tailwind-variants';
|
|
15
|
+
import { type TextProps } from '../../primitives/text.js';
|
|
16
|
+
import { type ButtonProps } from '../button/index.js';
|
|
17
|
+
import { toast, type ToastHandle, type ToastItem, type ToastPlacement, type ToastVariant } from './toast-store.js';
|
|
18
|
+
declare const toastVariants: import("tailwind-variants").TVReturnType<{
|
|
19
|
+
variant: {
|
|
20
|
+
default: {
|
|
21
|
+
root: string;
|
|
22
|
+
title: string;
|
|
23
|
+
};
|
|
24
|
+
info: {
|
|
25
|
+
root: string;
|
|
26
|
+
title: string;
|
|
27
|
+
};
|
|
28
|
+
success: {
|
|
29
|
+
root: string;
|
|
30
|
+
title: string;
|
|
31
|
+
};
|
|
32
|
+
warning: {
|
|
33
|
+
root: string;
|
|
34
|
+
title: string;
|
|
35
|
+
};
|
|
36
|
+
destructive: {
|
|
37
|
+
root: string;
|
|
38
|
+
title: string;
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
}, {
|
|
42
|
+
root: string;
|
|
43
|
+
indicator: string;
|
|
44
|
+
content: string;
|
|
45
|
+
title: string;
|
|
46
|
+
description: string;
|
|
47
|
+
}, undefined, {
|
|
48
|
+
variant: {
|
|
49
|
+
default: {
|
|
50
|
+
root: string;
|
|
51
|
+
title: string;
|
|
52
|
+
};
|
|
53
|
+
info: {
|
|
54
|
+
root: string;
|
|
55
|
+
title: string;
|
|
56
|
+
};
|
|
57
|
+
success: {
|
|
58
|
+
root: string;
|
|
59
|
+
title: string;
|
|
60
|
+
};
|
|
61
|
+
warning: {
|
|
62
|
+
root: string;
|
|
63
|
+
title: string;
|
|
64
|
+
};
|
|
65
|
+
destructive: {
|
|
66
|
+
root: string;
|
|
67
|
+
title: string;
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
}, {
|
|
71
|
+
root: string;
|
|
72
|
+
indicator: string;
|
|
73
|
+
content: string;
|
|
74
|
+
title: string;
|
|
75
|
+
description: string;
|
|
76
|
+
}, import("tailwind-variants").TVReturnType<{
|
|
77
|
+
variant: {
|
|
78
|
+
default: {
|
|
79
|
+
root: string;
|
|
80
|
+
title: string;
|
|
81
|
+
};
|
|
82
|
+
info: {
|
|
83
|
+
root: string;
|
|
84
|
+
title: string;
|
|
85
|
+
};
|
|
86
|
+
success: {
|
|
87
|
+
root: string;
|
|
88
|
+
title: string;
|
|
89
|
+
};
|
|
90
|
+
warning: {
|
|
91
|
+
root: string;
|
|
92
|
+
title: string;
|
|
93
|
+
};
|
|
94
|
+
destructive: {
|
|
95
|
+
root: string;
|
|
96
|
+
title: string;
|
|
97
|
+
};
|
|
98
|
+
};
|
|
99
|
+
}, {
|
|
100
|
+
root: string;
|
|
101
|
+
indicator: string;
|
|
102
|
+
content: string;
|
|
103
|
+
title: string;
|
|
104
|
+
description: string;
|
|
105
|
+
}, undefined, unknown, unknown, undefined>>;
|
|
106
|
+
export interface ToastProps extends ViewProps, VariantProps<typeof toastVariants> {
|
|
107
|
+
className?: string;
|
|
108
|
+
/** Called when the close button is pressed or the toast is swiped away. */
|
|
109
|
+
onHide?: () => void;
|
|
110
|
+
children?: ReactNode;
|
|
111
|
+
}
|
|
112
|
+
export interface ToastIndicatorProps extends ViewProps {
|
|
113
|
+
className?: string;
|
|
114
|
+
iconProps?: {
|
|
115
|
+
size?: number;
|
|
116
|
+
color?: string;
|
|
117
|
+
};
|
|
118
|
+
children?: ReactNode;
|
|
119
|
+
}
|
|
120
|
+
export interface ToastCloseProps extends ViewProps {
|
|
121
|
+
className?: string;
|
|
122
|
+
}
|
|
123
|
+
export declare const Toast: {
|
|
124
|
+
({ className, variant, onHide, children, ...props }: ToastProps): import("react").JSX.Element;
|
|
125
|
+
displayName: string;
|
|
126
|
+
} & {
|
|
127
|
+
Indicator: {
|
|
128
|
+
({ className, iconProps, children, ...props }: ToastIndicatorProps): import("react").JSX.Element;
|
|
129
|
+
displayName: string;
|
|
130
|
+
};
|
|
131
|
+
Content: {
|
|
132
|
+
({ className, ...props }: ViewProps & {
|
|
133
|
+
className?: string;
|
|
134
|
+
}): import("react").JSX.Element;
|
|
135
|
+
displayName: string;
|
|
136
|
+
};
|
|
137
|
+
Title: {
|
|
138
|
+
({ className, ...props }: TextProps): import("react").JSX.Element;
|
|
139
|
+
displayName: string;
|
|
140
|
+
};
|
|
141
|
+
Description: {
|
|
142
|
+
({ className, ...props }: TextProps): import("react").JSX.Element;
|
|
143
|
+
displayName: string;
|
|
144
|
+
};
|
|
145
|
+
Action: {
|
|
146
|
+
({ variant, size, onPress, ...props }: ButtonProps): import("react").JSX.Element;
|
|
147
|
+
displayName: string;
|
|
148
|
+
};
|
|
149
|
+
Close: {
|
|
150
|
+
({ className, ...props }: ToastCloseProps): import("react").JSX.Element;
|
|
151
|
+
displayName: string;
|
|
152
|
+
};
|
|
153
|
+
};
|
|
154
|
+
/**
|
|
155
|
+
* Renders the toast queue. PanelUIProvider mounts this automatically — you
|
|
156
|
+
* only need it directly if you build your own provider.
|
|
157
|
+
*/
|
|
158
|
+
export declare function ToastViewport(): import("react").JSX.Element | null;
|
|
159
|
+
/**
|
|
160
|
+
* Access the toast API.
|
|
161
|
+
*
|
|
162
|
+
* ```tsx
|
|
163
|
+
* const { toast } = useToast();
|
|
164
|
+
* toast.show({ variant: 'success', label: 'Saved' });
|
|
165
|
+
* ```
|
|
166
|
+
*/
|
|
167
|
+
export declare function useToast(): {
|
|
168
|
+
toast: {
|
|
169
|
+
show: (options: import("./toast-store.js").ToastOptions | string) => string;
|
|
170
|
+
hide: (id: string) => void;
|
|
171
|
+
hideAll: () => void;
|
|
172
|
+
};
|
|
173
|
+
};
|
|
174
|
+
export { toast, type ToastItem, type ToastPlacement, type ToastVariant, type ToastHandle };
|
|
175
|
+
export type { ToastOptions } from './toast-store.js';
|
|
176
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/toast/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAkBpD,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAG1D,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,0BAAuB,CAAC;AAG7D,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,oBAAW,CAAC;AACrD,OAAO,EACL,KAAK,EAEL,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,kBAAe,CAAC;AAkDvB,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAuBjB,CAAC;AA4BH,MAAM,WAAW,UAAW,SAAQ,SAAS,EAAE,YAAY,CAAC,OAAO,aAAa,CAAC;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAuBD,MAAM,WAAW,mBAAoB,SAAQ,SAAS;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAuDD,MAAM,WAAW,eAAgB,SAAQ,SAAS;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAsBD,eAAO,MAAM,KAAK;yDApGiE,UAAU;;;;uDAuBvB,mBAAmB;;;;kCAe1C,SAAS,GAAG;YAAE,SAAS,CAAC,EAAE,MAAM,CAAA;SAAE;;;;kCAOpC,SAAS;;;;kCAOH,SAAS;;;;+CAQoB,WAAW;;;;kCAoB9C,eAAe;;;CA2B1D,CAAC;AAuQH;;;GAGG;AACH,wBAAgB,aAAa,uCAc5B;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ;;;;;;EAEvB;AAED,OAAO,EAAE,KAAK,EAAE,KAAK,SAAS,EAAE,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,CAAC;AAC3F,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAe,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Toast queue.
|
|
3
|
+
*
|
|
4
|
+
* A module-level store rather than React state, so `toast.show()` works from
|
|
5
|
+
* anywhere — event handlers, API clients, code outside the component tree —
|
|
6
|
+
* without threading a context through. The viewport subscribes with
|
|
7
|
+
* `useSyncExternalStore`.
|
|
8
|
+
*/
|
|
9
|
+
import type { ReactNode } from 'react';
|
|
10
|
+
export type ToastVariant = 'default' | 'info' | 'success' | 'warning' | 'destructive';
|
|
11
|
+
export type ToastPlacement = 'top' | 'bottom';
|
|
12
|
+
/** Handle given to action callbacks so they can dismiss their own toast. */
|
|
13
|
+
export interface ToastHandle {
|
|
14
|
+
id: string;
|
|
15
|
+
hide: () => void;
|
|
16
|
+
}
|
|
17
|
+
export interface ToastOptions {
|
|
18
|
+
variant?: ToastVariant;
|
|
19
|
+
placement?: ToastPlacement;
|
|
20
|
+
/** Title line. */
|
|
21
|
+
label?: string;
|
|
22
|
+
description?: string;
|
|
23
|
+
/** Overrides the variant's default status icon. Pass `null` for no icon. */
|
|
24
|
+
icon?: ReactNode;
|
|
25
|
+
/** Renders a trailing action button when set. */
|
|
26
|
+
actionLabel?: string;
|
|
27
|
+
onActionPress?: (handle: ToastHandle) => void;
|
|
28
|
+
/** Show a close button. Defaults to true when there is no action. */
|
|
29
|
+
closable?: boolean;
|
|
30
|
+
/** Milliseconds before auto-dismiss. `0` keeps it up until dismissed. */
|
|
31
|
+
duration?: number;
|
|
32
|
+
/** Fully custom rendering. Receives the same handle as action callbacks. */
|
|
33
|
+
component?: (handle: ToastHandle) => ReactNode;
|
|
34
|
+
}
|
|
35
|
+
export interface ToastItem extends ToastOptions {
|
|
36
|
+
id: string;
|
|
37
|
+
}
|
|
38
|
+
declare class ToastStore {
|
|
39
|
+
private items;
|
|
40
|
+
private snapshot;
|
|
41
|
+
private listeners;
|
|
42
|
+
private timers;
|
|
43
|
+
subscribe: (listener: () => void) => () => void;
|
|
44
|
+
getSnapshot: () => readonly ToastItem[];
|
|
45
|
+
show: (options: ToastOptions | string) => string;
|
|
46
|
+
hide: (id: string) => void;
|
|
47
|
+
hideAll: () => void;
|
|
48
|
+
private emit;
|
|
49
|
+
}
|
|
50
|
+
export declare const toastStore: ToastStore;
|
|
51
|
+
/**
|
|
52
|
+
* Imperative toast API. Also returned from `useToast()`.
|
|
53
|
+
*
|
|
54
|
+
* ```ts
|
|
55
|
+
* toast.show('Saved');
|
|
56
|
+
* toast.show({ variant: 'success', label: 'Deployed', actionLabel: 'View' });
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
export declare const toast: {
|
|
60
|
+
show: (options: ToastOptions | string) => string;
|
|
61
|
+
hide: (id: string) => void;
|
|
62
|
+
hideAll: () => void;
|
|
63
|
+
};
|
|
64
|
+
export {};
|
|
65
|
+
//# sourceMappingURL=toast-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toast-store.d.ts","sourceRoot":"","sources":["../../../../../src/components/toast/toast-store.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,CAAC;AACtF,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE9C,4EAA4E;AAC5E,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4EAA4E;IAC5E,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IAC9C,qEAAqE;IACrE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,SAAS,CAAC;CAChD;AAED,MAAM,WAAW,SAAU,SAAQ,YAAY;IAC7C,EAAE,EAAE,MAAM,CAAC;CACZ;AAMD,cAAM,UAAU;IACd,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,MAAM,CAAoD;IAElE,SAAS,GAAI,UAAU,MAAM,IAAI,gBAK/B;IAEF,WAAW,QAAO,SAAS,SAAS,EAAE,CAAkB;IAExD,IAAI,GAAI,SAAS,YAAY,GAAG,MAAM,KAAG,MAAM,CAiB7C;IAEF,IAAI,GAAI,IAAI,MAAM,UAShB;IAEF,OAAO,aAML;IAEF,OAAO,CAAC,IAAI;CAIb;AAED,eAAO,MAAM,UAAU,YAAmB,CAAC;AAE3C;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK;oBAtDC,YAAY,GAAG,MAAM,KAAG,MAAM;eAmBnC,MAAM;;CAuCnB,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { View, type Text as RNText, type ViewProps } from 'react-native';
|
|
2
|
+
import { type VariantProps } from 'tailwind-variants';
|
|
3
|
+
import { type TextProps } from '../../primitives/text.js';
|
|
4
|
+
declare const typographyVariants: import("tailwind-variants").TVReturnType<{
|
|
5
|
+
type: {
|
|
6
|
+
h1: string;
|
|
7
|
+
h2: string;
|
|
8
|
+
h3: string;
|
|
9
|
+
h4: string;
|
|
10
|
+
h5: string;
|
|
11
|
+
h6: string;
|
|
12
|
+
body: string;
|
|
13
|
+
'body-sm': string;
|
|
14
|
+
'body-xs': string;
|
|
15
|
+
code: string;
|
|
16
|
+
};
|
|
17
|
+
muted: {
|
|
18
|
+
true: string;
|
|
19
|
+
};
|
|
20
|
+
}, undefined, "text-foreground", {
|
|
21
|
+
type: {
|
|
22
|
+
h1: string;
|
|
23
|
+
h2: string;
|
|
24
|
+
h3: string;
|
|
25
|
+
h4: string;
|
|
26
|
+
h5: string;
|
|
27
|
+
h6: string;
|
|
28
|
+
body: string;
|
|
29
|
+
'body-sm': string;
|
|
30
|
+
'body-xs': string;
|
|
31
|
+
code: string;
|
|
32
|
+
};
|
|
33
|
+
muted: {
|
|
34
|
+
true: string;
|
|
35
|
+
};
|
|
36
|
+
}, undefined, import("tailwind-variants").TVReturnType<{
|
|
37
|
+
type: {
|
|
38
|
+
h1: string;
|
|
39
|
+
h2: string;
|
|
40
|
+
h3: string;
|
|
41
|
+
h4: string;
|
|
42
|
+
h5: string;
|
|
43
|
+
h6: string;
|
|
44
|
+
body: string;
|
|
45
|
+
'body-sm': string;
|
|
46
|
+
'body-xs': string;
|
|
47
|
+
code: string;
|
|
48
|
+
};
|
|
49
|
+
muted: {
|
|
50
|
+
true: string;
|
|
51
|
+
};
|
|
52
|
+
}, undefined, "text-foreground", unknown, unknown, undefined>>;
|
|
53
|
+
export type TypographyType = NonNullable<VariantProps<typeof typographyVariants>['type']>;
|
|
54
|
+
export interface TypographyProps extends Omit<TextProps, 'size' | 'weight'>, VariantProps<typeof typographyVariants> {
|
|
55
|
+
className?: string;
|
|
56
|
+
}
|
|
57
|
+
/** Heading levels, for `Typography.Heading`. */
|
|
58
|
+
type HeadingType = Extract<TypographyType, 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6'>;
|
|
59
|
+
/** Body sizes, for `Typography.Paragraph`. */
|
|
60
|
+
type ParagraphType = Extract<TypographyType, 'body' | 'body-sm' | 'body-xs'>;
|
|
61
|
+
export interface TypographyHeadingProps extends Omit<TypographyProps, 'type'> {
|
|
62
|
+
type?: HeadingType;
|
|
63
|
+
}
|
|
64
|
+
export interface TypographyParagraphProps extends Omit<TypographyProps, 'type'> {
|
|
65
|
+
type?: ParagraphType;
|
|
66
|
+
}
|
|
67
|
+
export interface TypographyCodeProps extends Omit<TypographyProps, 'type'> {
|
|
68
|
+
/** Classes for the surface behind the code text. */
|
|
69
|
+
containerClassName?: string;
|
|
70
|
+
}
|
|
71
|
+
export declare const Typography: import("react").ForwardRefExoticComponent<TypographyProps & import("react").RefAttributes<RNText>> & {
|
|
72
|
+
Heading: import("react").ForwardRefExoticComponent<TypographyHeadingProps & import("react").RefAttributes<RNText>>;
|
|
73
|
+
Paragraph: import("react").ForwardRefExoticComponent<TypographyParagraphProps & import("react").RefAttributes<RNText>>;
|
|
74
|
+
Code: import("react").ForwardRefExoticComponent<TypographyCodeProps & Pick<ViewProps, "testID"> & import("react").RefAttributes<View>>;
|
|
75
|
+
};
|
|
76
|
+
export {};
|
|
77
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/typography/index.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,IAAI,EAAE,KAAK,IAAI,IAAI,MAAM,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,0BAAuB,CAAC;AAE7D,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8DAsBtB,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,WAAW,CACtC,YAAY,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAChD,CAAC;AAEF,MAAM,WAAW,eACf,SAAQ,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAC,EACxC,YAAY,CAAC,OAAO,kBAAkB,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,gDAAgD;AAChD,KAAK,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;AACpF,8CAA8C;AAC9C,KAAK,aAAa,GAAG,OAAO,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC,CAAC;AAmB7E,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC;IAC3E,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB;AAgBD,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC;IAC7E,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB;AASD,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC;IACxE,oDAAoD;IACpD,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAgBD,eAAO,MAAM,UAAU;;;;CAIrB,CAAC"}
|
|
@@ -1,9 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Icon set.
|
|
3
|
+
*
|
|
4
|
+
* Two families live here:
|
|
5
|
+
* - Stroked 24×24 icons (Lucide geometry, as used by shadcn-ui/ui) for chrome
|
|
6
|
+
* such as chevrons and the close button.
|
|
7
|
+
* - Filled 16×16 status icons for Alert and Toast indicators.
|
|
8
|
+
* Adapted from: heroui-inc/heroui-native src/components/alert/{default,success,warning}-icon.tsx
|
|
9
|
+
*
|
|
10
|
+
* Every icon resolves its colour in the same order: an explicit `color` prop,
|
|
11
|
+
* then the colour inherited from an enclosing `IconColorProvider`, then its
|
|
12
|
+
* own fallback. Coloured surfaces such as Button provide the foreground that
|
|
13
|
+
* reads against them, so icons follow the theme without callers hardcoding a
|
|
14
|
+
* hex — which breaks the moment the theme inverts.
|
|
15
|
+
*
|
|
16
|
+
* Brand marks (Google, Facebook, Apple) are the exception: they carry their
|
|
17
|
+
* own colours and ignore the context.
|
|
18
|
+
*/
|
|
19
|
+
import { type ReactNode } from 'react';
|
|
1
20
|
import { type SvgProps } from 'react-native-svg';
|
|
2
21
|
export interface IconProps extends SvgProps {
|
|
3
22
|
size?: number;
|
|
4
23
|
color?: string;
|
|
5
24
|
}
|
|
25
|
+
export declare function IconColorProvider({ color, children, }: {
|
|
26
|
+
color: string | undefined;
|
|
27
|
+
children: ReactNode;
|
|
28
|
+
}): import("react").JSX.Element;
|
|
29
|
+
/** The inherited icon colour, if a surface is providing one. */
|
|
30
|
+
export declare function useIconColor(): string | undefined;
|
|
6
31
|
export declare function CheckIcon({ size, color, ...props }: IconProps): import("react").JSX.Element;
|
|
7
32
|
export declare function ChevronDownIcon({ size, color, ...props }: IconProps): import("react").JSX.Element;
|
|
33
|
+
export declare function ChevronLeftIcon({ size, color, ...props }: IconProps): import("react").JSX.Element;
|
|
34
|
+
export declare function ChevronRightIcon({ size, color, ...props }: IconProps): import("react").JSX.Element;
|
|
8
35
|
export declare function XIcon({ size, color, ...props }: IconProps): import("react").JSX.Element;
|
|
36
|
+
export declare function SearchIcon({ size, color, ...props }: IconProps): import("react").JSX.Element;
|
|
37
|
+
export declare function ArrowUpRightIcon({ size, color, ...props }: IconProps): import("react").JSX.Element;
|
|
38
|
+
export declare function SunIcon({ size, color, ...props }: IconProps): import("react").JSX.Element;
|
|
39
|
+
export declare function MoonIcon({ size, color, ...props }: IconProps): import("react").JSX.Element;
|
|
40
|
+
/** Info circle. Used for `default`, `info` and `destructive` status. */
|
|
41
|
+
export declare function InfoIcon({ size, color, ...props }: IconProps): import("react").JSX.Element;
|
|
42
|
+
/** Check circle. Used for `success` status. */
|
|
43
|
+
export declare function CheckCircleIcon({ size, color, ...props }: IconProps): import("react").JSX.Element;
|
|
44
|
+
/** Warning triangle. Used for `warning` status. */
|
|
45
|
+
export declare function AlertTriangleIcon({ size, color, ...props }: IconProps): import("react").JSX.Element;
|
|
46
|
+
/** Google "G", in the four official brand colours. */
|
|
47
|
+
export declare function GoogleIcon({ size, ...props }: Omit<IconProps, 'color'>): import("react").JSX.Element;
|
|
48
|
+
/** Facebook "f" mark. */
|
|
49
|
+
export declare function FacebookIcon({ size, ...props }: Omit<IconProps, 'color'>): import("react").JSX.Element;
|
|
50
|
+
/**
|
|
51
|
+
* Apple mark. Monochrome by design, so unlike the other brand marks it does
|
|
52
|
+
* follow the icon colour context — Apple's guidelines require it to match the
|
|
53
|
+
* button's text colour.
|
|
54
|
+
*/
|
|
55
|
+
export declare function AppleIcon({ size, color, ...props }: IconProps): import("react").JSX.Element;
|
|
56
|
+
export declare function PlusSquareIcon({ size, color, ...props }: IconProps): import("react").JSX.Element;
|
|
57
|
+
/** Three connected nodes — a branch, a share, a fan-out. */
|
|
58
|
+
export declare function ShareNodesIcon({ size, color, ...props }: IconProps): import("react").JSX.Element;
|
|
59
|
+
/** Shield with an exclamation — a tripped guardrail. */
|
|
60
|
+
export declare function ShieldAlertIcon({ size, color, ...props }: IconProps): import("react").JSX.Element;
|
|
61
|
+
/** Shield with a check — a passed verification. */
|
|
62
|
+
export declare function ShieldCheckIcon({ size, color, ...props }: IconProps): import("react").JSX.Element;
|
|
63
|
+
export declare function BellIcon({ size, color, ...props }: IconProps): import("react").JSX.Element;
|
|
64
|
+
export declare function PackageIcon({ size, color, ...props }: IconProps): import("react").JSX.Element;
|
|
65
|
+
export declare function CardIcon({ size, color, ...props }: IconProps): import("react").JSX.Element;
|
|
66
|
+
export declare function ReceiptIcon({ size, color, ...props }: IconProps): import("react").JSX.Element;
|
|
67
|
+
/** Paper plane — sent, submitted, approved-and-forwarded. */
|
|
68
|
+
export declare function SendIcon({ size, color, ...props }: IconProps): import("react").JSX.Element;
|
|
9
69
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/icons/index.tsx"],"names":[],"mappings":"AAAA,OAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/icons/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
export { PanelUIProvider, type PanelUIProviderProps } from './providers/panel-ui-provider.js';
|
|
2
|
-
export { useTheme, type ThemeName } from './theme/use-theme.js';
|
|
2
|
+
export { useTheme, useThemeMode, PANEL_THEMES, PANEL_THEME_NAMES, PANEL_EXTRA_THEMES, type ThemeName, type ThemeMode, type PanelTheme, type PanelThemeFamily, } from './theme/use-theme.js';
|
|
3
3
|
export { Portal, PortalHost, PortalProvider } from './primitives/portal.js';
|
|
4
4
|
export { Text, type TextProps } from './primitives/text.js';
|
|
5
5
|
export { AnimatedPressable, type AnimatedPressableProps, } from './primitives/animated-pressable.js';
|
|
6
|
-
export {
|
|
7
|
-
export {
|
|
6
|
+
export { Accordion, type AccordionProps, type AccordionItemProps, type AccordionTriggerProps, type AccordionIndicatorProps, type AccordionContentProps, type AccordionVariant, type AccordionSelectionMode, } from './components/accordion/index.js';
|
|
7
|
+
export { Alert, type AlertProps, type AlertIndicatorProps, } from './components/alert/index.js';
|
|
8
|
+
export { Avatar, type AvatarProps, type AvatarBadgeProps, } from './components/avatar/index.js';
|
|
8
9
|
export { Badge, type BadgeProps } from './components/badge/index.js';
|
|
9
10
|
export { BottomSheet, type BottomSheetProps, type BottomSheetContentProps, } from './components/bottom-sheet/index.js';
|
|
10
11
|
export { Button, type ButtonProps } from './components/button/index.js';
|
|
@@ -15,11 +16,19 @@ export { Select, type SelectProps, type SelectItemProps } from './components/sel
|
|
|
15
16
|
export { Tabs, type TabsProps, type TabsListProps, type TabsTriggerProps, type TabsContentProps, } from './components/tabs/index.js';
|
|
16
17
|
export { Card, type CardProps } from './components/card/index.js';
|
|
17
18
|
export { Checkbox, type CheckboxProps } from './components/checkbox/index.js';
|
|
19
|
+
export { EmptyState, type EmptyStateProps, type EmptyStateMediaProps, } from './components/empty-state/index.js';
|
|
18
20
|
export { Input, type InputProps } from './components/input/index.js';
|
|
21
|
+
export { InputGroup, type InputGroupProps, type InputGroupInputProps, type InputGroupDecoratorProps, } from './components/input-group/index.js';
|
|
22
|
+
export { Label, type LabelProps, type LabelTextProps } from './components/label/index.js';
|
|
23
|
+
export { Progress, type ProgressProps } from './components/progress/index.js';
|
|
19
24
|
export { RadioGroup, type RadioGroupProps, type RadioGroupItemProps, } from './components/radio-group/index.js';
|
|
20
25
|
export { Skeleton, type SkeletonProps } from './components/skeleton/index.js';
|
|
21
26
|
export { Spinner, type SpinnerProps } from './components/spinner/index.js';
|
|
27
|
+
export { Steps, type StepsProps, type StepsItemProps, type StepsTriggerProps, type StepsIndicatorProps, type StepsSeparatorProps, type StepState, type StepsOrientation, } from './components/steps/index.js';
|
|
22
28
|
export { Switch, type SwitchProps } from './components/switch/index.js';
|
|
23
|
-
export {
|
|
29
|
+
export { Timeline, type TimelineProps, type TimelineItemProps, type TimelineIndicatorProps, type TimelineStatProps, type TimelineVariant, type TimelineTone, } from './components/timeline/index.js';
|
|
30
|
+
export { Toast, ToastViewport, toast, useToast, type ToastProps, type ToastOptions, type ToastItem, type ToastVariant, type ToastPlacement, type ToastHandle, type ToastIndicatorProps, type ToastCloseProps, } from './components/toast/index.js';
|
|
31
|
+
export { Typography, type TypographyProps, type TypographyType, type TypographyHeadingProps, type TypographyParagraphProps, type TypographyCodeProps, } from './components/typography/index.js';
|
|
32
|
+
export { AlertTriangleIcon, AppleIcon, ArrowUpRightIcon, BellIcon, CardIcon, CheckCircleIcon, CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, FacebookIcon, GoogleIcon, IconColorProvider, InfoIcon, MoonIcon, PackageIcon, PlusSquareIcon, ReceiptIcon, SearchIcon, SendIcon, ShareNodesIcon, ShieldAlertIcon, ShieldCheckIcon, SunIcon, XIcon, useIconColor, type IconProps, } from './icons/index.js';
|
|
24
33
|
export { cn } from './utils/cn.js';
|
|
25
34
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,kCAA+B,CAAC;AAG3F,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
|