@caffeinebounce/ui 0.62.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.
- package/LICENSE +21 -0
- package/README.md +39 -0
- package/dist/FinancialStatementTable-BNUrdTU4.d.cts +249 -0
- package/dist/FinancialStatementTable-BNUrdTU4.d.ts +249 -0
- package/dist/NewsletterSignup-BPreFi5W.d.cts +37 -0
- package/dist/NewsletterSignup-BPreFi5W.d.ts +37 -0
- package/dist/TestimonialsSection-DtPu2OeR.d.ts +736 -0
- package/dist/TestimonialsSection-z-yotRfv.d.cts +736 -0
- package/dist/UnifiedTableControls-CG299y9h.d.ts +1233 -0
- package/dist/UnifiedTableControls-CIjRpNhy.d.cts +1233 -0
- package/dist/blog.d.cts +99 -0
- package/dist/blog.d.ts +99 -0
- package/dist/blog.js +292 -0
- package/dist/blog.mjs +279 -0
- package/dist/button-BHnoRUkF.d.cts +34 -0
- package/dist/button-BHnoRUkF.d.ts +34 -0
- package/dist/charts.d.cts +80 -0
- package/dist/charts.d.ts +80 -0
- package/dist/charts.js +19 -0
- package/dist/charts.mjs +2 -0
- package/dist/chunk-33JR5SYE.js +44 -0
- package/dist/chunk-3NDB4YPC.js +247 -0
- package/dist/chunk-5RW4PYZ6.js +1504 -0
- package/dist/chunk-5THF4YP6.mjs +155 -0
- package/dist/chunk-6BUBNZPG.mjs +164 -0
- package/dist/chunk-6DVWMJ3H.mjs +7029 -0
- package/dist/chunk-6TGV2DNP.js +120 -0
- package/dist/chunk-72JGQ7IJ.mjs +1498 -0
- package/dist/chunk-7DHKQODW.mjs +2932 -0
- package/dist/chunk-7IKHZKAC.js +160 -0
- package/dist/chunk-ADIDI7AJ.js +11 -0
- package/dist/chunk-BFWX5GJZ.mjs +940 -0
- package/dist/chunk-BMFQG6RA.mjs +5537 -0
- package/dist/chunk-C4UT5V3P.js +65 -0
- package/dist/chunk-CC4KUIKC.js +2004 -0
- package/dist/chunk-D3QXPL47.mjs +1814 -0
- package/dist/chunk-DQWHYBV2.js +36 -0
- package/dist/chunk-E42B4GSB.js +993 -0
- package/dist/chunk-ESZ7CBA2.js +1007 -0
- package/dist/chunk-EYJJQVV4.js +111 -0
- package/dist/chunk-FRRS2YZH.mjs +129 -0
- package/dist/chunk-G5TQWWQA.mjs +37 -0
- package/dist/chunk-GAIQJCAZ.js +5612 -0
- package/dist/chunk-GMBGWOCR.mjs +48 -0
- package/dist/chunk-GUSTCU2W.mjs +105 -0
- package/dist/chunk-HBLKVQIQ.mjs +23 -0
- package/dist/chunk-HMAMMC72.js +26 -0
- package/dist/chunk-IMKLN273.mjs +9 -0
- package/dist/chunk-J6OLBSZR.js +250 -0
- package/dist/chunk-JAE45W2T.js +28 -0
- package/dist/chunk-JORVSG52.js +606 -0
- package/dist/chunk-KB7UXIQZ.mjs +984 -0
- package/dist/chunk-KGGQ5NZV.js +186 -0
- package/dist/chunk-KHCC5UKW.mjs +22 -0
- package/dist/chunk-KRRIRS6A.mjs +1945 -0
- package/dist/chunk-LQCVRWVF.js +48 -0
- package/dist/chunk-MHZXUOGN.mjs +168 -0
- package/dist/chunk-MPZFPU4X.js +349 -0
- package/dist/chunk-MVYRNJA6.js +74 -0
- package/dist/chunk-N6AFNFZR.mjs +565 -0
- package/dist/chunk-OFQLWSUR.mjs +214 -0
- package/dist/chunk-OLAAXLXY.mjs +219 -0
- package/dist/chunk-OZZWDIOY.js +1859 -0
- package/dist/chunk-PZRI43EZ.js +111 -0
- package/dist/chunk-Q256HRYD.js +176 -0
- package/dist/chunk-Q52ZEL62.mjs +223 -0
- package/dist/chunk-R26Y7LGJ.js +142 -0
- package/dist/chunk-RBUYW6QQ.js +39 -0
- package/dist/chunk-RVEFPVZF.mjs +43 -0
- package/dist/chunk-SORWLKOK.js +96 -0
- package/dist/chunk-STEP6C4C.mjs +33 -0
- package/dist/chunk-T5R6HUDG.mjs +22 -0
- package/dist/chunk-T6ZBA6VJ.js +7109 -0
- package/dist/chunk-UM7WMXIU.js +2995 -0
- package/dist/chunk-VBD4Q5LL.mjs +117 -0
- package/dist/chunk-WOITB4JL.js +195 -0
- package/dist/chunk-YKZEKJMZ.mjs +71 -0
- package/dist/chunk-YL7RZRHM.mjs +103 -0
- package/dist/chunk-YSLD2HLP.mjs +346 -0
- package/dist/chunk-ZFLZA7UP.mjs +140 -0
- package/dist/chunk-ZKUIUE7W.mjs +26 -0
- package/dist/chunk-ZOA7B32D.js +248 -0
- package/dist/data-table.d.cts +46 -0
- package/dist/data-table.d.ts +46 -0
- package/dist/data-table.js +270 -0
- package/dist/data-table.mjs +13 -0
- package/dist/editor.d.cts +89 -0
- package/dist/editor.d.ts +89 -0
- package/dist/editor.js +10 -0
- package/dist/editor.mjs +1 -0
- package/dist/forms.d.cts +142 -0
- package/dist/forms.d.ts +142 -0
- package/dist/forms.js +24 -0
- package/dist/forms.mjs +11 -0
- package/dist/hooks-8ORd7T1A.d.cts +751 -0
- package/dist/hooks-B2jU1GVT.d.ts +751 -0
- package/dist/hooks.d.cts +6 -0
- package/dist/hooks.d.ts +6 -0
- package/dist/hooks.js +99 -0
- package/dist/hooks.mjs +10 -0
- package/dist/index.d.cts +3141 -0
- package/dist/index.d.ts +3141 -0
- package/dist/index.js +7332 -0
- package/dist/index.mjs +5876 -0
- package/dist/layouts-DPfDDF53.d.cts +1001 -0
- package/dist/layouts-DPfDDF53.d.ts +1001 -0
- package/dist/layouts.d.cts +4 -0
- package/dist/layouts.d.ts +4 -0
- package/dist/layouts.js +100 -0
- package/dist/layouts.mjs +11 -0
- package/dist/marketing-3d.d.cts +51 -0
- package/dist/marketing-3d.d.ts +51 -0
- package/dist/marketing-3d.js +553 -0
- package/dist/marketing-3d.mjs +526 -0
- package/dist/marketing.d.cts +583 -0
- package/dist/marketing.d.ts +583 -0
- package/dist/marketing.js +299 -0
- package/dist/marketing.mjs +10 -0
- package/dist/media.d.cts +29 -0
- package/dist/media.d.ts +29 -0
- package/dist/media.js +189 -0
- package/dist/media.mjs +182 -0
- package/dist/navigation.d.cts +591 -0
- package/dist/navigation.d.ts +591 -0
- package/dist/navigation.js +108 -0
- package/dist/navigation.mjs +15 -0
- package/dist/portal.d.cts +58 -0
- package/dist/portal.d.ts +58 -0
- package/dist/portal.js +403 -0
- package/dist/portal.mjs +395 -0
- package/dist/primitives.d.cts +508 -0
- package/dist/primitives.d.ts +508 -0
- package/dist/primitives.js +295 -0
- package/dist/primitives.mjs +14 -0
- package/dist/settings.d.cts +216 -0
- package/dist/settings.d.ts +216 -0
- package/dist/settings.js +34 -0
- package/dist/settings.mjs +9 -0
- package/dist/shared-Dqn36QHZ.d.cts +4 -0
- package/dist/shared-Dqn36QHZ.d.ts +4 -0
- package/dist/styles.css +1213 -0
- package/package.json +189 -0
- package/styles.css +1 -0
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ComponentType, ReactNode } from 'react';
|
|
3
|
+
|
|
4
|
+
interface SettingsPage {
|
|
5
|
+
/** Unique page/tab identifier */
|
|
6
|
+
id: string;
|
|
7
|
+
/** Tab label */
|
|
8
|
+
label: string;
|
|
9
|
+
/** Optional icon for the tab */
|
|
10
|
+
icon?: ComponentType<{
|
|
11
|
+
className?: string;
|
|
12
|
+
}>;
|
|
13
|
+
/** Page content (typically contains SettingsSection components) */
|
|
14
|
+
content: ReactNode;
|
|
15
|
+
/** Show loading state for this page */
|
|
16
|
+
loading?: boolean;
|
|
17
|
+
}
|
|
18
|
+
interface SettingsLayoutProps {
|
|
19
|
+
/** Page title */
|
|
20
|
+
title?: string;
|
|
21
|
+
/** Page description */
|
|
22
|
+
description?: string;
|
|
23
|
+
/** Settings pages/tabs with their content */
|
|
24
|
+
pages: SettingsPage[];
|
|
25
|
+
/** Default active page (defaults to first page) */
|
|
26
|
+
defaultPage?: string;
|
|
27
|
+
/** Sync active tab with URL hash */
|
|
28
|
+
syncWithHash?: boolean;
|
|
29
|
+
/** Tab orientation */
|
|
30
|
+
orientation?: "horizontal" | "vertical";
|
|
31
|
+
/** Additional class name for the container */
|
|
32
|
+
className?: string;
|
|
33
|
+
/** Container size */
|
|
34
|
+
containerSize?: "default" | "narrow" | "wide" | "full";
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* SettingsLayout - A complete settings page layout with tabs
|
|
38
|
+
*
|
|
39
|
+
* Apps define pages (tabs) that contain sections of related settings.
|
|
40
|
+
* - **Pages/Tabs**: Top-level navigation (Account, Accessibility, etc.)
|
|
41
|
+
* - **Sections**: Groups of related settings within a page (use SettingsSection)
|
|
42
|
+
* - **Rows**: Individual settings with controls (use SettingsRow)
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```tsx
|
|
46
|
+
* <SettingsLayout
|
|
47
|
+
* title="Settings"
|
|
48
|
+
* description="Manage your account and preferences"
|
|
49
|
+
* pages={[
|
|
50
|
+
* {
|
|
51
|
+
* id: "accessibility",
|
|
52
|
+
* label: "Accessibility",
|
|
53
|
+
* icon: Accessibility,
|
|
54
|
+
* content: (
|
|
55
|
+
* <>
|
|
56
|
+
* <SettingsSection title="Display" description="Visual preferences">
|
|
57
|
+
* <SettingsRow label="Reduce motion" htmlFor="reduce-motion">
|
|
58
|
+
* <Switch id="reduce-motion" />
|
|
59
|
+
* </SettingsRow>
|
|
60
|
+
* </SettingsSection>
|
|
61
|
+
* <SettingsSection title="Keyboard" description="Keyboard preferences">
|
|
62
|
+
* <SettingsRow label="Show shortcuts" htmlFor="shortcuts">
|
|
63
|
+
* <Switch id="shortcuts" />
|
|
64
|
+
* </SettingsRow>
|
|
65
|
+
* </SettingsSection>
|
|
66
|
+
* </>
|
|
67
|
+
* ),
|
|
68
|
+
* },
|
|
69
|
+
* ]}
|
|
70
|
+
* syncWithHash
|
|
71
|
+
* />
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
declare function SettingsLayout({ title, description, pages, defaultPage, syncWithHash, orientation, className, containerSize, }: SettingsLayoutProps): react_jsx_runtime.JSX.Element;
|
|
75
|
+
|
|
76
|
+
interface SettingsRowProps {
|
|
77
|
+
/** Setting label */
|
|
78
|
+
label: string;
|
|
79
|
+
/** Setting description */
|
|
80
|
+
description?: string;
|
|
81
|
+
/** The control (Switch, Select, etc.) */
|
|
82
|
+
children: ReactNode;
|
|
83
|
+
/** HTML id for the control (for label association) */
|
|
84
|
+
htmlFor?: string;
|
|
85
|
+
/** Additional class name */
|
|
86
|
+
className?: string;
|
|
87
|
+
/** Layout direction */
|
|
88
|
+
layout?: "horizontal" | "vertical";
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* SettingsRow - A single setting with label, description, and control
|
|
92
|
+
*
|
|
93
|
+
* @example
|
|
94
|
+
* ```tsx
|
|
95
|
+
* <SettingsRow
|
|
96
|
+
* label="Show keyboard shortcuts"
|
|
97
|
+
* description="Display keyboard shortcut hints throughout the interface"
|
|
98
|
+
* htmlFor="keyboard-shortcuts"
|
|
99
|
+
* >
|
|
100
|
+
* <Switch
|
|
101
|
+
* id="keyboard-shortcuts"
|
|
102
|
+
* checked={showShortcuts}
|
|
103
|
+
* onCheckedChange={setShowShortcuts}
|
|
104
|
+
* />
|
|
105
|
+
* </SettingsRow>
|
|
106
|
+
* ```
|
|
107
|
+
*/
|
|
108
|
+
declare function SettingsRow({ label, description, children, htmlFor, className, layout, }: SettingsRowProps): react_jsx_runtime.JSX.Element;
|
|
109
|
+
|
|
110
|
+
interface SettingsSectionProps {
|
|
111
|
+
/** Section title */
|
|
112
|
+
title: string;
|
|
113
|
+
/** Section description */
|
|
114
|
+
description?: string;
|
|
115
|
+
/** Section content - typically setting rows/controls */
|
|
116
|
+
children: ReactNode;
|
|
117
|
+
/** Additional class name */
|
|
118
|
+
className?: string;
|
|
119
|
+
/** Whether to wrap in a card (default: true) */
|
|
120
|
+
card?: boolean;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* SettingsSection - A group of related settings within a tab
|
|
124
|
+
*
|
|
125
|
+
* Use this to organize settings into logical groups. Each section
|
|
126
|
+
* has a title, optional description, and contains setting controls.
|
|
127
|
+
*
|
|
128
|
+
* @example
|
|
129
|
+
* ```tsx
|
|
130
|
+
* <SettingsSection
|
|
131
|
+
* title="Display"
|
|
132
|
+
* description="Control how content is displayed"
|
|
133
|
+
* >
|
|
134
|
+
* <SettingsRow
|
|
135
|
+
* label="Reduce motion"
|
|
136
|
+
* description="Minimize animations"
|
|
137
|
+
* >
|
|
138
|
+
* <Switch checked={reduceMotion} onCheckedChange={setReduceMotion} />
|
|
139
|
+
* </SettingsRow>
|
|
140
|
+
* </SettingsSection>
|
|
141
|
+
* ```
|
|
142
|
+
*/
|
|
143
|
+
declare function SettingsSection({ title, description, children, className, card, }: SettingsSectionProps): react_jsx_runtime.JSX.Element;
|
|
144
|
+
|
|
145
|
+
interface SettingsTabContentProps {
|
|
146
|
+
/** Tab ID that this content belongs to */
|
|
147
|
+
tabId: string;
|
|
148
|
+
/** Show loading spinner */
|
|
149
|
+
loading?: boolean;
|
|
150
|
+
/** Tab content */
|
|
151
|
+
children: ReactNode;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* SettingsTabContent - Wrapper for individual tab content panels
|
|
155
|
+
*
|
|
156
|
+
* @example
|
|
157
|
+
* ```tsx
|
|
158
|
+
* <SettingsTabContent tabId="account" loading={isLoading}>
|
|
159
|
+
* <AccountSettings />
|
|
160
|
+
* </SettingsTabContent>
|
|
161
|
+
* ```
|
|
162
|
+
*/
|
|
163
|
+
declare function SettingsTabContent({ tabId, loading, children, }: SettingsTabContentProps): react_jsx_runtime.JSX.Element;
|
|
164
|
+
|
|
165
|
+
interface SettingsTab {
|
|
166
|
+
/** Unique tab identifier */
|
|
167
|
+
id: string;
|
|
168
|
+
/** Tab label text */
|
|
169
|
+
label: string;
|
|
170
|
+
/** Optional icon component */
|
|
171
|
+
icon?: ComponentType<{
|
|
172
|
+
className?: string;
|
|
173
|
+
}>;
|
|
174
|
+
}
|
|
175
|
+
interface SettingsTabsProps {
|
|
176
|
+
/** List of tabs to display */
|
|
177
|
+
tabs: SettingsTab[];
|
|
178
|
+
/** Currently active tab id */
|
|
179
|
+
activeTab: string;
|
|
180
|
+
/** Callback when tab changes */
|
|
181
|
+
onTabChange: (tabId: string) => void;
|
|
182
|
+
/** Tab content (use SettingsTabContent components) */
|
|
183
|
+
children: ReactNode;
|
|
184
|
+
/** Sync active tab with URL hash */
|
|
185
|
+
syncWithHash?: boolean;
|
|
186
|
+
/** Tab orientation */
|
|
187
|
+
orientation?: "horizontal" | "vertical";
|
|
188
|
+
/** Additional class name for the container */
|
|
189
|
+
className?: string;
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* SettingsTabs - A reusable tabbed settings layout component
|
|
193
|
+
*
|
|
194
|
+
* @example
|
|
195
|
+
* ```tsx
|
|
196
|
+
* <SettingsTabs
|
|
197
|
+
* tabs={[
|
|
198
|
+
* { id: 'account', label: 'Account', icon: User },
|
|
199
|
+
* { id: 'security', label: 'Security', icon: Shield },
|
|
200
|
+
* ]}
|
|
201
|
+
* activeTab={activeTab}
|
|
202
|
+
* onTabChange={setActiveTab}
|
|
203
|
+
* syncWithHash
|
|
204
|
+
* >
|
|
205
|
+
* <SettingsTabContent tabId="account">
|
|
206
|
+
* <AccountSettings />
|
|
207
|
+
* </SettingsTabContent>
|
|
208
|
+
* <SettingsTabContent tabId="security">
|
|
209
|
+
* <SecuritySettings />
|
|
210
|
+
* </SettingsTabContent>
|
|
211
|
+
* </SettingsTabs>
|
|
212
|
+
* ```
|
|
213
|
+
*/
|
|
214
|
+
declare function SettingsTabs({ tabs, activeTab, onTabChange, children, syncWithHash, orientation, className, }: SettingsTabsProps): react_jsx_runtime.JSX.Element;
|
|
215
|
+
|
|
216
|
+
export { SettingsLayout, type SettingsLayoutProps, type SettingsPage, SettingsRow, type SettingsRowProps, SettingsSection, type SettingsSectionProps, type SettingsTab, SettingsTabContent, type SettingsTabContentProps, SettingsTabs, type SettingsTabsProps };
|
package/dist/settings.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkZOA7B32D_js = require('./chunk-ZOA7B32D.js');
|
|
4
|
+
require('./chunk-EYJJQVV4.js');
|
|
5
|
+
require('./chunk-33JR5SYE.js');
|
|
6
|
+
require('./chunk-MVYRNJA6.js');
|
|
7
|
+
require('./chunk-C4UT5V3P.js');
|
|
8
|
+
require('./chunk-HMAMMC72.js');
|
|
9
|
+
require('./chunk-6TGV2DNP.js');
|
|
10
|
+
require('./chunk-Q256HRYD.js');
|
|
11
|
+
require('./chunk-ADIDI7AJ.js');
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
Object.defineProperty(exports, "SettingsLayout", {
|
|
16
|
+
enumerable: true,
|
|
17
|
+
get: function () { return chunkZOA7B32D_js.SettingsLayout; }
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports, "SettingsRow", {
|
|
20
|
+
enumerable: true,
|
|
21
|
+
get: function () { return chunkZOA7B32D_js.SettingsRow; }
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports, "SettingsSection", {
|
|
24
|
+
enumerable: true,
|
|
25
|
+
get: function () { return chunkZOA7B32D_js.SettingsSection; }
|
|
26
|
+
});
|
|
27
|
+
Object.defineProperty(exports, "SettingsTabContent", {
|
|
28
|
+
enumerable: true,
|
|
29
|
+
get: function () { return chunkZOA7B32D_js.SettingsTabContent; }
|
|
30
|
+
});
|
|
31
|
+
Object.defineProperty(exports, "SettingsTabs", {
|
|
32
|
+
enumerable: true,
|
|
33
|
+
get: function () { return chunkZOA7B32D_js.SettingsTabs; }
|
|
34
|
+
});
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { SettingsLayout, SettingsRow, SettingsSection, SettingsTabContent, SettingsTabs } from './chunk-OLAAXLXY.mjs';
|
|
2
|
+
import './chunk-YL7RZRHM.mjs';
|
|
3
|
+
import './chunk-KHCC5UKW.mjs';
|
|
4
|
+
import './chunk-GMBGWOCR.mjs';
|
|
5
|
+
import './chunk-RVEFPVZF.mjs';
|
|
6
|
+
import './chunk-HBLKVQIQ.mjs';
|
|
7
|
+
import './chunk-VBD4Q5LL.mjs';
|
|
8
|
+
import './chunk-MHZXUOGN.mjs';
|
|
9
|
+
import './chunk-IMKLN273.mjs';
|