ui-lab-registry 0.3.1 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/component-dependencies.d.ts +0 -11
- package/dist/component-dependencies.d.ts.map +1 -1
- package/dist/component-dependencies.js +4 -4
- package/dist/component-dependencies.js.map +1 -1
- package/dist/components/Color/examples/03-format-switching.d.ts +0 -4
- package/dist/components/Color/examples/03-format-switching.d.ts.map +1 -1
- package/dist/components/Color/examples/03-format-switching.js +2 -2
- package/dist/components/Color/examples/03-format-switching.js.map +1 -1
- package/dist/components/Color/examples.json +0 -5
- package/dist/components/Command/examples/01-basic-command.js +1 -1
- package/dist/components/Command/examples/01-basic-command.js.map +1 -1
- package/dist/components/Command/examples.json +1 -1
- package/dist/components/Command/index.js +3 -3
- package/dist/components/Command/index.js.map +1 -1
- package/dist/components/Divider/examples/02-pattern-variants.js +1 -1
- package/dist/components/Divider/examples.json +1 -1
- package/dist/components/Grid/examples/01-basic-grid.js +1 -1
- package/dist/components/Grid/examples/01-basic-grid.js.map +1 -1
- package/dist/components/Grid/examples.json +1 -1
- package/dist/components/Grid/index.js +2 -2
- package/dist/components/Grid/index.js.map +1 -1
- package/dist/components/Input/examples/02-validation.js +1 -1
- package/dist/components/Input/examples/02-validation.js.map +1 -1
- package/dist/components/Input/examples.json +1 -1
- package/dist/components/Path/examples.json +0 -5
- package/dist/components/Radio/index.js +1 -1
- package/dist/components/Select/examples/02-searchable-select.js +1 -1
- package/dist/components/Select/examples/02-searchable-select.js.map +1 -1
- package/dist/components/Select/examples.json +1 -1
- package/dist/components/Tabs/examples/01-basic-tabs.js +2 -2
- package/dist/components/Tabs/examples/01-basic-tabs.js.map +1 -1
- package/dist/components/Tabs/examples/02-vertical-tabs.js +2 -2
- package/dist/components/Tabs/examples/02-vertical-tabs.js.map +1 -1
- package/dist/components/Tabs/examples.json +2 -2
- package/dist/components/Tabs/index.js +11 -11
- package/dist/components/Tabs/index.js.map +1 -1
- package/dist/elements/AI/AIChatInput/index.js +1 -1
- package/dist/elements/AI/AIChatInput/variations/02-with-suggestions/index.js +1 -1
- package/dist/elements/AI/AIChatInput/variations/02-with-suggestions/layout/PromptInputWithSuggestions.js +1 -1
- package/dist/elements/AI/AIChatInput/variations.json +2 -2
- package/dist/elements/AI/ChainOfThought/index.js +1 -1
- package/dist/elements/AI/Chat/index.js +1 -1
- package/dist/elements/AI/Chat/variations/02-with-actions/index.js +1 -1
- package/dist/elements/AI/Chat/variations.json +1 -1
- package/dist/elements/Documentation/CopyPage/index.js +1 -1
- package/dist/elements/Documentation/NextArticle/index.js +1 -1
- package/dist/elements/Documentation/NextArticle/variations/01-basic/layout/NextArticleCard.js +1 -1
- package/dist/elements/Documentation/NextArticle/variations/02-with-icon/layout/NextArticleWithIconCard.js +1 -1
- package/dist/elements/Documentation/NextArticle/variations.json +2 -2
- package/dist/elements/Documentation/TOC/index.js +1 -1
- package/dist/generated-data.d.ts.map +1 -1
- package/dist/generated-data.js +213 -947
- package/dist/generated-data.js.map +1 -1
- package/dist/generated-styles.d.ts.map +1 -1
- package/dist/generated-styles.js +171 -63
- package/dist/generated-styles.js.map +1 -1
- package/dist/generated-styles.json +171 -63
- package/dist/patterns/data/data-table-row/metadata.json +3 -3
- package/dist/patterns/data/data-table-row/variations/expandable/index.js +1 -1
- package/dist/patterns/data/data-table-row/variations/main/index.js +1 -1
- package/dist/patterns/data/data-table-row/variations/selectable/index.js +1 -1
- package/dist/patterns/data/progress-metric/metadata.json +3 -3
- package/dist/patterns/data/progress-metric/variations/colored/index.js +1 -1
- package/dist/patterns/data/progress-metric/variations/main/index.js +1 -1
- package/dist/patterns/data/progress-metric/variations/stacked/index.js +1 -1
- package/dist/patterns/form/labeled-field/metadata.json +4 -4
- package/dist/patterns/form/labeled-field/variations/main/index.js +1 -1
- package/dist/patterns/form/labeled-field/variations/with-error/index.js +1 -1
- package/dist/patterns/form/labeled-field/variations/with-hint/index.js +1 -1
- package/dist/patterns/form/select-row/metadata.json +2 -2
- package/dist/patterns/form/select-row/variations/main/index.js +1 -1
- package/dist/patterns/form/select-row/variations/with-icon/index.js +1 -1
- package/dist/patterns/form/toggle-setting-row/metadata.json +2 -2
- package/dist/patterns/form/toggle-setting-row/variations/destructive/index.js +1 -1
- package/dist/patterns/form/toggle-setting-row/variations/main/index.js +1 -1
- package/dist/patterns/interaction/icon-action-bar/variations/compact/index.js +1 -1
- package/dist/patterns/layout/media-object/metadata.json +1 -1
- package/dist/patterns/layout/media-object/variations/sm/index.js +1 -1
- package/dist/patterns/layout/split-row/metadata.json +3 -3
- package/dist/patterns/layout/split-row/variations/actions/index.js +1 -1
- package/dist/patterns/layout/split-row/variations/main/index.js +1 -1
- package/dist/patterns/layout/split-row/variations/meta/index.js +1 -1
- package/dist/patterns/layout/stat-block/metadata.json +3 -3
- package/dist/patterns/layout/stat-block/variations/compact/index.js +1 -1
- package/dist/patterns/layout/stat-block/variations/main/index.js +1 -1
- package/dist/patterns/layout/stat-block/variations/with-icon/index.js +1 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +17 -27
- package/dist/registry.js.map +1 -1
- package/dist/sections/CTA/variations/02-split/index.js +1 -1
- package/dist/sections/CTA/variations.json +1 -1
- package/dist/sections/Pricing/variations/01-cards/index.js +1 -1
- package/dist/sections/Pricing/variations/02-comparison/index.js +1 -1
- package/dist/sections/Pricing/variations.json +2 -2
- package/dist/sections/categories.d.ts +0 -11
- package/dist/sections/categories.d.ts.map +1 -1
- package/dist/sections/categories.js +2 -2
- package/dist/sections/categories.js.map +1 -1
- package/dist/starters/NextJS/index.js +1 -1
- package/dist/types.d.ts +0 -5
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/load-component-examples.d.ts +3 -2
- package/dist/utils/load-component-examples.d.ts.map +1 -1
- package/package.json +2 -6
- package/src/component-dependencies.ts +4 -4
- package/src/components/Anchor/metadata.json +1 -1
- package/src/components/Banner/metadata.json +1 -1
- package/src/components/Code/metadata.json +1 -1
- package/src/components/Color/examples/03-format-switching.tsx +3 -3
- package/src/components/Color/examples.json +0 -5
- package/src/components/Command/examples/01-basic-command.tsx +1 -1
- package/src/components/Command/examples.json +1 -1
- package/src/components/Command/index.tsx +3 -3
- package/src/components/Date/metadata.json +1 -1
- package/src/components/Divider/examples/02-pattern-variants.tsx +3 -3
- package/src/components/Divider/examples.json +1 -1
- package/src/components/Flex/metadata.json +1 -1
- package/src/components/Gallery/metadata.json +1 -1
- package/src/components/Grid/examples/01-basic-grid.tsx +1 -1
- package/src/components/Grid/examples.json +1 -1
- package/src/components/Grid/index.tsx +2 -2
- package/src/components/Group/metadata.json +1 -1
- package/src/components/Input/examples/02-validation.tsx +2 -2
- package/src/components/Input/examples.json +1 -1
- package/src/components/List/metadata.json +1 -1
- package/src/components/Page/metadata.json +1 -1
- package/src/components/Panel/metadata.json +1 -1
- package/src/components/Path/examples.json +0 -5
- package/src/components/Radio/index.tsx +1 -1
- package/src/components/Select/examples/02-searchable-select.tsx +1 -1
- package/src/components/Select/examples.json +1 -1
- package/src/components/Tabs/examples/01-basic-tabs.tsx +12 -12
- package/src/components/Tabs/examples/02-vertical-tabs.tsx +19 -19
- package/src/components/Tabs/examples.json +2 -2
- package/src/components/Tabs/index.tsx +45 -45
- package/src/elements/AI/AIChatInput/index.tsx +2 -2
- package/src/elements/AI/AIChatInput/variations/02-with-suggestions/index.tsx +1 -1
- package/src/elements/AI/AIChatInput/variations/02-with-suggestions/layout/PromptInputWithSuggestions.tsx +1 -1
- package/src/elements/AI/AIChatInput/variations.json +2 -2
- package/src/elements/AI/ChainOfThought/index.tsx +1 -1
- package/src/elements/AI/Chat/index.tsx +4 -4
- package/src/elements/AI/Chat/variations/02-with-actions/index.tsx +3 -3
- package/src/elements/AI/Chat/variations.json +1 -1
- package/src/elements/Documentation/CopyPage/index.tsx +1 -1
- package/src/elements/Documentation/NextArticle/index.tsx +1 -1
- package/src/elements/Documentation/NextArticle/variations/01-basic/layout/NextArticleCard.tsx +1 -1
- package/src/elements/Documentation/NextArticle/variations/02-with-icon/layout/NextArticleWithIconCard.tsx +1 -1
- package/src/elements/Documentation/NextArticle/variations.json +2 -2
- package/src/elements/Documentation/TOC/index.tsx +4 -4
- package/src/generated-data.ts +213 -947
- package/src/generated-styles.ts +171 -63
- package/src/patterns/data/data-table-row/metadata.json +4 -4
- package/src/patterns/data/data-table-row/variations/expandable/index.tsx +3 -3
- package/src/patterns/data/data-table-row/variations/main/index.tsx +2 -2
- package/src/patterns/data/data-table-row/variations/selectable/index.tsx +2 -2
- package/src/patterns/data/progress-metric/metadata.json +4 -4
- package/src/patterns/data/progress-metric/variations/colored/index.tsx +2 -2
- package/src/patterns/data/progress-metric/variations/main/index.tsx +2 -2
- package/src/patterns/data/progress-metric/variations/stacked/index.tsx +2 -2
- package/src/patterns/form/labeled-field/metadata.json +5 -5
- package/src/patterns/form/labeled-field/variations/main/index.tsx +1 -1
- package/src/patterns/form/labeled-field/variations/with-error/index.tsx +1 -1
- package/src/patterns/form/labeled-field/variations/with-hint/index.tsx +1 -1
- package/src/patterns/form/select-row/metadata.json +3 -3
- package/src/patterns/form/select-row/variations/main/index.tsx +1 -1
- package/src/patterns/form/select-row/variations/with-icon/index.tsx +1 -1
- package/src/patterns/form/toggle-setting-row/metadata.json +3 -3
- package/src/patterns/form/toggle-setting-row/variations/destructive/index.tsx +1 -1
- package/src/patterns/form/toggle-setting-row/variations/main/index.tsx +1 -1
- package/src/patterns/interaction/icon-action-bar/variations/compact/index.tsx +1 -1
- package/src/patterns/layout/media-object/metadata.json +2 -2
- package/src/patterns/layout/media-object/variations/sm/index.tsx +2 -2
- package/src/patterns/layout/split-row/metadata.json +4 -4
- package/src/patterns/layout/split-row/variations/actions/index.tsx +1 -1
- package/src/patterns/layout/split-row/variations/main/index.tsx +2 -2
- package/src/patterns/layout/split-row/variations/meta/index.tsx +3 -3
- package/src/patterns/layout/stat-block/metadata.json +4 -4
- package/src/patterns/layout/stat-block/variations/compact/index.tsx +1 -1
- package/src/patterns/layout/stat-block/variations/main/index.tsx +1 -1
- package/src/patterns/layout/stat-block/variations/with-icon/index.tsx +1 -1
- package/src/registry.ts +17 -27
- package/src/sections/CTA/variations/02-split/index.tsx +1 -1
- package/src/sections/CTA/variations.json +1 -1
- package/src/sections/Pricing/variations/01-cards/index.tsx +1 -1
- package/src/sections/Pricing/variations/02-comparison/index.tsx +1 -1
- package/src/sections/Pricing/variations.json +2 -2
- package/src/sections/categories.ts +2 -2
- package/src/starters/NextJS/index.tsx +2 -2
- package/src/types.ts +1 -1
- package/src/utils/load-component-examples.ts +2 -2
- package/src/components/Path/examples/01-basic-breadcrumbs.tsx +0 -17
- package/src/providers/Theme/examples/01-provider-setup.tsx +0 -37
- package/src/providers/Theme/examples/02-toggle-component.tsx +0 -52
- package/src/providers/Theme/examples/03-advanced-patterns.tsx +0 -138
- package/src/providers/Theme/examples/index.ts +0 -3
- package/src/src/generated-styles.ts +0 -1359
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* EXAMPLE: Advanced Theme Patterns
|
|
3
|
-
* Programmatic control, conditional rendering, and smooth transitions
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* 1. Programmatic theme control
|
|
8
|
-
* Set theme to a specific mode based on user preference or application logic
|
|
9
|
-
*
|
|
10
|
-
* 'use client'
|
|
11
|
-
* import { useTheme } from '@ui/providers'
|
|
12
|
-
* import { Button } from 'ui-lab-components'
|
|
13
|
-
*
|
|
14
|
-
* export function ThemeControlPanel() {
|
|
15
|
-
* const { themeMode, setThemeMode, resetToDevicePreference } = useTheme()
|
|
16
|
-
*
|
|
17
|
-
* return (
|
|
18
|
-
* <div className="flex gap-2">
|
|
19
|
-
* <Button
|
|
20
|
-
* variant={themeMode === 'light' ? 'primary' : 'outline'}
|
|
21
|
-
* onPress={() => setThemeMode('light')}
|
|
22
|
-
* >
|
|
23
|
-
* Light
|
|
24
|
-
* </Button>
|
|
25
|
-
* <Button
|
|
26
|
-
* variant={themeMode === 'dark' ? 'primary' : 'outline'}
|
|
27
|
-
* onPress={() => setThemeMode('dark')}
|
|
28
|
-
* >
|
|
29
|
-
* Dark
|
|
30
|
-
* </Button>
|
|
31
|
-
* <Button variant="ghost" onPress={resetToDevicePreference}>
|
|
32
|
-
* Reset to Device
|
|
33
|
-
* </Button>
|
|
34
|
-
* </div>
|
|
35
|
-
* )
|
|
36
|
-
* }
|
|
37
|
-
*/
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* 2. Conditional rendering based on theme
|
|
41
|
-
* Show different content or styling based on current theme mode
|
|
42
|
-
*
|
|
43
|
-
* 'use client'
|
|
44
|
-
* import { useThemeMode } from '@ui/providers'
|
|
45
|
-
*
|
|
46
|
-
* export function ThemeAwareContent() {
|
|
47
|
-
* const themeMode = useThemeMode()
|
|
48
|
-
*
|
|
49
|
-
* return (
|
|
50
|
-
* <div className="p-4 border border-background-700 rounded-lg">
|
|
51
|
-
* {themeMode === 'light' ? (
|
|
52
|
-
* <div className="bg-background-100 text-foreground-400">
|
|
53
|
-
* <h2>Light Mode Content</h2>
|
|
54
|
-
* <p>This content is optimized for light mode viewing.</p>
|
|
55
|
-
* </div>
|
|
56
|
-
* ) : (
|
|
57
|
-
* <div className="bg-background-900 text-foreground-50">
|
|
58
|
-
* <h2>Dark Mode Content</h2>
|
|
59
|
-
* <p>This content is optimized for dark mode viewing.</p>
|
|
60
|
-
* </div>
|
|
61
|
-
* )}
|
|
62
|
-
* </div>
|
|
63
|
-
* )
|
|
64
|
-
* }
|
|
65
|
-
*/
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* 3. Smooth theme transitions using View Transition API
|
|
69
|
-
* Creates animated transitions when switching themes
|
|
70
|
-
*
|
|
71
|
-
* 'use client'
|
|
72
|
-
* import { useTheme } from '@ui/providers'
|
|
73
|
-
* import { Button } from 'ui-lab-components'
|
|
74
|
-
*
|
|
75
|
-
* export function SmoothThemeToggle() {
|
|
76
|
-
* const { themeMode, toggleThemeMode } = useTheme()
|
|
77
|
-
*
|
|
78
|
-
* const handleToggleWithTransition = () => {
|
|
79
|
-
* if (!('startViewTransition' in document)) {
|
|
80
|
-
* toggleThemeMode()
|
|
81
|
-
* return
|
|
82
|
-
* }
|
|
83
|
-
* (document as any).startViewTransition(() => {
|
|
84
|
-
* toggleThemeMode()
|
|
85
|
-
* })
|
|
86
|
-
* }
|
|
87
|
-
*
|
|
88
|
-
* return (
|
|
89
|
-
* <Button
|
|
90
|
-
* variant="ghost"
|
|
91
|
-
* onPress={handleToggleWithTransition}
|
|
92
|
-
* className="transition-colors duration-200"
|
|
93
|
-
* >
|
|
94
|
-
* {themeMode === 'dark' ? '☀️' : '🌙'}
|
|
95
|
-
* </Button>
|
|
96
|
-
* )
|
|
97
|
-
* }
|
|
98
|
-
*/
|
|
99
|
-
|
|
100
|
-
/**
|
|
101
|
-
* 4. Full theme information display
|
|
102
|
-
* Show comprehensive theme state including device preference and manual overrides
|
|
103
|
-
*
|
|
104
|
-
* 'use client'
|
|
105
|
-
* import { useTheme } from '@ui/providers'
|
|
106
|
-
*
|
|
107
|
-
* export function ThemeStatusDisplay() {
|
|
108
|
-
* const { themeMode, themeSource, devicePreference } = useTheme()
|
|
109
|
-
*
|
|
110
|
-
* return (
|
|
111
|
-
* <div className="space-y-2 p-4 bg-background-800 rounded-lg text-foreground-100 text-sm">
|
|
112
|
-
* <div className="flex justify-between">
|
|
113
|
-
* <span>Active Mode:</span>
|
|
114
|
-
* <span className="font-mono">{themeMode}</span>
|
|
115
|
-
* </div>
|
|
116
|
-
* <div className="flex justify-between">
|
|
117
|
-
* <span>Source:</span>
|
|
118
|
-
* <span className="font-mono capitalize">{themeSource}</span>
|
|
119
|
-
* </div>
|
|
120
|
-
* <div className="flex justify-between">
|
|
121
|
-
* <span>Device Preference:</span>
|
|
122
|
-
* <span className="font-mono capitalize">{devicePreference}</span>
|
|
123
|
-
* </div>
|
|
124
|
-
* {themeSource === 'manual' && (
|
|
125
|
-
* <div className="mt-2 p-2 bg-accent-900 rounded text-accent-200 text-xs">
|
|
126
|
-
* ℹ️ Override active: Theme is manually set, ignoring device preference
|
|
127
|
-
* </div>
|
|
128
|
-
* )}
|
|
129
|
-
* </div>
|
|
130
|
-
* )
|
|
131
|
-
* }
|
|
132
|
-
*/
|
|
133
|
-
|
|
134
|
-
export const metadata = {
|
|
135
|
-
title: 'Advanced Theme Patterns',
|
|
136
|
-
description: 'Programmatic control, conditional rendering, and smooth transitions',
|
|
137
|
-
category: 'advanced' as const,
|
|
138
|
-
}
|