shadcn-glass-ui 2.2.4 → 2.3.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.
- package/CHANGELOG.md +22 -0
- package/dist/cli/index.cjs +1 -1
- package/dist/components/glass/ui/checkbox-glass.d.ts +71 -38
- package/dist/components/glass/ui/checkbox-glass.d.ts.map +1 -1
- package/dist/components/glass/ui/tabs-glass.d.ts +57 -7
- package/dist/components/glass/ui/tabs-glass.d.ts.map +1 -1
- package/dist/components.cjs +4 -4
- package/dist/components.mjs +1 -1
- package/dist/hooks.cjs +2 -2
- package/dist/index.cjs +10 -5
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +2 -2
- package/dist/lib/types.d.ts +2 -2
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/r/checkbox-glass.json +3 -2
- package/dist/r/tabs-glass.json +4 -2
- package/dist/{theme-context-DBAPfMto.cjs → theme-context-DmTETrFi.cjs} +2 -2
- package/dist/{theme-context-DBAPfMto.cjs.map → theme-context-DmTETrFi.cjs.map} +1 -1
- package/dist/themes.cjs +1 -1
- package/dist/{trust-score-card-glass-_v9hGnCW.cjs → trust-score-card-glass-3VBi9soW.cjs} +76 -17
- package/dist/trust-score-card-glass-3VBi9soW.cjs.map +1 -0
- package/dist/{trust-score-card-glass-BUt9MIF0.mjs → trust-score-card-glass-EfMB5l5J.mjs} +44 -15
- package/dist/trust-score-card-glass-EfMB5l5J.mjs.map +1 -0
- package/dist/{use-focus-DBs46Dxv.cjs → use-focus-CswOSq71.cjs} +2 -2
- package/dist/{use-focus-DBs46Dxv.cjs.map → use-focus-CswOSq71.cjs.map} +1 -1
- package/dist/{use-wallpaper-tint-DNdTbD1y.cjs → use-wallpaper-tint-WtRWtupA.cjs} +2 -2
- package/dist/{use-wallpaper-tint-DNdTbD1y.cjs.map → use-wallpaper-tint-WtRWtupA.cjs.map} +1 -1
- package/dist/{utils-D5ef293O.cjs → utils-DX6rdBol.cjs} +2 -2
- package/dist/{utils-D5ef293O.cjs.map → utils-DX6rdBol.cjs.map} +1 -1
- package/dist/utils.cjs +1 -1
- package/package.json +1 -1
- package/dist/trust-score-card-glass-BUt9MIF0.mjs.map +0 -1
- package/dist/trust-score-card-glass-_v9hGnCW.cjs.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,28 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project
|
|
6
6
|
adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [2.2.5] - 2025-12-19
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- **TabsGlass:** shadcn/ui API compatibility
|
|
13
|
+
- New exports: `Tabs`, `TabsList`, `TabsTrigger`, `TabsContent` (separate named exports)
|
|
14
|
+
- Added `defaultValue` prop for uncontrolled mode
|
|
15
|
+
- New types: `TabsRootProps`, `TabsListProps`, `TabsTriggerProps`, `TabsContentProps`
|
|
16
|
+
- **CheckboxGlass:** shadcn/ui API compatibility
|
|
17
|
+
- Added `onCheckedChange` callback (shadcn/ui pattern)
|
|
18
|
+
- Added `indeterminate` state support with visual indicator (Minus icon)
|
|
19
|
+
- Added `defaultChecked` prop for uncontrolled mode
|
|
20
|
+
- New alias export: `Checkbox`
|
|
21
|
+
- New type: `CheckedState = boolean | 'indeterminate'`
|
|
22
|
+
- Backwards compatible: legacy `onChange` prop still works (deprecated)
|
|
23
|
+
|
|
24
|
+
### Fixed
|
|
25
|
+
|
|
26
|
+
- **Issue #5:** API incompatibility with shadcn/ui components resolved
|
|
27
|
+
- Tabs and Checkbox now support drop-in replacement patterns
|
|
28
|
+
- InputGlass was already compatible (extends `InputHTMLAttributes`)
|
|
29
|
+
|
|
8
30
|
## [2.2.4] - 2025-12-19
|
|
9
31
|
|
|
10
32
|
### Fixed
|
package/dist/cli/index.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
const require_trust_score_card_glass = require("../trust-score-card-glass-
|
|
2
|
+
const require_trust_score_card_glass = require("../trust-score-card-glass-3VBi9soW.cjs");
|
|
3
3
|
let node_util = require("node:util");
|
|
4
4
|
let node_fs = require("node:fs");
|
|
5
5
|
let node_path = require("node:path");
|
|
@@ -1,14 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CheckboxGlass Component
|
|
3
|
+
*
|
|
4
|
+
* Glass-themed checkbox with:
|
|
5
|
+
* - Theme-aware styling (glass/light/aurora)
|
|
6
|
+
* - Glow effect on hover
|
|
7
|
+
* - Optional label
|
|
8
|
+
*/
|
|
9
|
+
import * as React from 'react';
|
|
10
|
+
/**
|
|
11
|
+
* Checked state type compatible with shadcn/ui (Radix UI)
|
|
12
|
+
*/
|
|
13
|
+
export type CheckedState = boolean | 'indeterminate';
|
|
1
14
|
/**
|
|
2
15
|
* Props for the CheckboxGlass component
|
|
3
16
|
*
|
|
4
17
|
* A glass-themed checkbox with accessible keyboard navigation, focus management,
|
|
5
18
|
* and touch-friendly targets. Features glow effects and theme-aware styling.
|
|
6
19
|
*
|
|
20
|
+
* **shadcn/ui Compatibility (v2.3.0+):**
|
|
21
|
+
* - Supports `onCheckedChange` callback (shadcn/ui pattern)
|
|
22
|
+
* - Supports `'indeterminate'` state for tri-state checkboxes
|
|
23
|
+
* - Backwards compatible with `onChange` prop
|
|
24
|
+
*
|
|
7
25
|
* @accessibility
|
|
8
26
|
* - **Keyboard Navigation:** Full keyboard support with Enter/Space to toggle, Tab to focus (WCAG 2.1.1)
|
|
9
27
|
* - **Focus Management:** Visible focus ring using `--focus-glow` CSS variable (WCAG 2.4.7)
|
|
10
28
|
* - **Screen Readers:** Dual implementation with native `<input type="checkbox">` (hidden) + visual `<div role="checkbox">`
|
|
11
|
-
* - **ARIA Attributes:** Uses `role="checkbox"` and `aria-checked` for proper state announcement
|
|
29
|
+
* - **ARIA Attributes:** Uses `role="checkbox"` and `aria-checked` for proper state announcement (including 'mixed' for indeterminate)
|
|
12
30
|
* - **Label Association:** Visual label automatically associated with checkbox via `<label>` wrapper
|
|
13
31
|
* - **Touch Targets:** 44x44px minimum touch area per Apple HIG (WCAG 2.5.5 compliance)
|
|
14
32
|
* - **Color Contrast:** Check mark and backgrounds meet WCAG AA contrast ratio 4.5:1
|
|
@@ -16,65 +34,80 @@
|
|
|
16
34
|
*
|
|
17
35
|
* @example
|
|
18
36
|
* ```tsx
|
|
19
|
-
* //
|
|
20
|
-
* <CheckboxGlass
|
|
37
|
+
* // shadcn/ui compatible API
|
|
38
|
+
* <CheckboxGlass
|
|
39
|
+
* checked={isChecked}
|
|
40
|
+
* onCheckedChange={(checked) => setIsChecked(checked === true)}
|
|
41
|
+
* />
|
|
21
42
|
*
|
|
22
|
-
* //
|
|
43
|
+
* // Indeterminate state (tri-state checkbox)
|
|
23
44
|
* <CheckboxGlass
|
|
24
|
-
* checked={
|
|
25
|
-
*
|
|
26
|
-
*
|
|
45
|
+
* checked={allSelected ? true : someSelected ? 'indeterminate' : false}
|
|
46
|
+
* onCheckedChange={(checked) => {
|
|
47
|
+
* if (checked === true) selectAll();
|
|
48
|
+
* else deselectAll();
|
|
49
|
+
* }}
|
|
50
|
+
* label="Select all"
|
|
27
51
|
* />
|
|
28
52
|
*
|
|
53
|
+
* // Legacy API (still supported)
|
|
54
|
+
* <CheckboxGlass checked={agreed} onChange={setAgreed} label="I agree to terms" />
|
|
55
|
+
*
|
|
29
56
|
* // Form integration with validation
|
|
30
57
|
* <form onSubmit={handleSubmit}>
|
|
31
58
|
* <CheckboxGlass
|
|
32
59
|
* checked={newsletter}
|
|
33
|
-
*
|
|
60
|
+
* onCheckedChange={setNewsletter}
|
|
34
61
|
* label="Subscribe to newsletter"
|
|
35
62
|
* aria-describedby="newsletter-help"
|
|
36
63
|
* />
|
|
37
64
|
* <p id="newsletter-help">Receive weekly updates</p>
|
|
38
|
-
* <CheckboxGlass
|
|
39
|
-
* checked={terms}
|
|
40
|
-
* onChange={setTerms}
|
|
41
|
-
* label="Accept terms and conditions"
|
|
42
|
-
* required
|
|
43
|
-
* aria-invalid={submitted && !terms}
|
|
44
|
-
* />
|
|
45
|
-
* {submitted && !terms && (
|
|
46
|
-
* <span role="alert">You must accept the terms</span>
|
|
47
|
-
* )}
|
|
48
65
|
* </form>
|
|
49
66
|
*
|
|
50
|
-
* // Disabled checkbox
|
|
67
|
+
* // Disabled checkbox
|
|
51
68
|
* <CheckboxGlass
|
|
52
69
|
* checked={true}
|
|
53
|
-
*
|
|
70
|
+
* onCheckedChange={() => {}}
|
|
54
71
|
* label="This option is locked"
|
|
55
72
|
* disabled
|
|
56
73
|
* />
|
|
57
|
-
*
|
|
58
|
-
* // Checkbox group with fieldset
|
|
59
|
-
* <fieldset>
|
|
60
|
-
* <legend>Select your interests</legend>
|
|
61
|
-
* <CheckboxGlass
|
|
62
|
-
* checked={interests.tech}
|
|
63
|
-
* onChange={(checked) => setInterests({ ...interests, tech: checked })}
|
|
64
|
-
* label="Technology"
|
|
65
|
-
* />
|
|
66
|
-
* <CheckboxGlass
|
|
67
|
-
* checked={interests.design}
|
|
68
|
-
* onChange={(checked) => setInterests({ ...interests, design: checked })}
|
|
69
|
-
* label="Design"
|
|
70
|
-
* />
|
|
71
|
-
* </fieldset>
|
|
72
74
|
* ```
|
|
75
|
+
*
|
|
76
|
+
* @since v2.3.0 - Added shadcn/ui compatible `onCheckedChange` and `indeterminate` support
|
|
73
77
|
*/
|
|
74
|
-
export interface CheckboxGlassProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange'> {
|
|
75
|
-
|
|
78
|
+
export interface CheckboxGlassProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'checked' | 'defaultChecked'> {
|
|
79
|
+
/** Checked state: true, false, or 'indeterminate' (shadcn/ui compatible) */
|
|
80
|
+
readonly checked?: CheckedState;
|
|
81
|
+
/** Default checked state for uncontrolled usage */
|
|
82
|
+
readonly defaultChecked?: CheckedState;
|
|
83
|
+
/**
|
|
84
|
+
* Callback when checked state changes (shadcn/ui compatible)
|
|
85
|
+
* @param checked - New checked state
|
|
86
|
+
*/
|
|
87
|
+
readonly onCheckedChange?: (checked: CheckedState) => void;
|
|
88
|
+
/**
|
|
89
|
+
* @deprecated Use `onCheckedChange` instead. Will be removed in v4.0.
|
|
90
|
+
* Legacy callback for backwards compatibility.
|
|
91
|
+
*/
|
|
76
92
|
readonly onChange?: (checked: boolean) => void;
|
|
93
|
+
/** Optional label text */
|
|
77
94
|
readonly label?: string;
|
|
78
95
|
}
|
|
79
|
-
export declare const CheckboxGlass:
|
|
96
|
+
export declare const CheckboxGlass: React.ForwardRefExoticComponent<CheckboxGlassProps & React.RefAttributes<HTMLInputElement>>;
|
|
97
|
+
/**
|
|
98
|
+
* Checkbox - shadcn/ui compatible alias for CheckboxGlass
|
|
99
|
+
*
|
|
100
|
+
* @example
|
|
101
|
+
* ```tsx
|
|
102
|
+
* import { Checkbox } from 'shadcn-glass-ui'
|
|
103
|
+
*
|
|
104
|
+
* <Checkbox
|
|
105
|
+
* checked={isChecked}
|
|
106
|
+
* onCheckedChange={(checked) => setIsChecked(checked === true)}
|
|
107
|
+
* />
|
|
108
|
+
* ```
|
|
109
|
+
*
|
|
110
|
+
* @since v2.3.0
|
|
111
|
+
*/
|
|
112
|
+
export declare const Checkbox: React.ForwardRefExoticComponent<CheckboxGlassProps & React.RefAttributes<HTMLInputElement>>;
|
|
80
113
|
//# sourceMappingURL=checkbox-glass.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox-glass.d.ts","sourceRoot":"","sources":["../../../../src/components/glass/ui/checkbox-glass.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"checkbox-glass.d.ts","sourceRoot":"","sources":["../../../../src/components/glass/ui/checkbox-glass.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,mBAAmB,CAAC;AAM3B;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,eAAe,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAC9C,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAC3C,UAAU,GAAG,SAAS,GAAG,gBAAgB,CAC1C;IACC,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;IAChC,mDAAmD;IACnD,QAAQ,CAAC,cAAc,CAAC,EAAE,YAAY,CAAC;IACvC;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;IAC3D;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C,0BAA0B;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAMD,eAAO,MAAM,aAAa,6FAkIzB,CAAC;AAIF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,QAAQ,6FAAgB,CAAC"}
|
|
@@ -86,9 +86,14 @@ export interface TabItem {
|
|
|
86
86
|
* </TabsGlass.Root>
|
|
87
87
|
* ```
|
|
88
88
|
*/
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
89
|
+
/**
|
|
90
|
+
* Props for TabsGlass Root component (shadcn/ui compatible)
|
|
91
|
+
*/
|
|
92
|
+
export interface TabsRootProps {
|
|
93
|
+
/** Current active tab value (controlled) */
|
|
94
|
+
value?: string;
|
|
95
|
+
/** Default active tab value (uncontrolled) */
|
|
96
|
+
defaultValue?: string;
|
|
92
97
|
/** Callback when tab value changes */
|
|
93
98
|
onValueChange?: (value: string) => void;
|
|
94
99
|
/** Child components */
|
|
@@ -96,11 +101,12 @@ interface TabsRootProps {
|
|
|
96
101
|
/** Optional className for container */
|
|
97
102
|
className?: string;
|
|
98
103
|
}
|
|
99
|
-
interface TabsListProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
104
|
+
export interface TabsListProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
100
105
|
children: ReactNode;
|
|
101
106
|
className?: string;
|
|
102
107
|
}
|
|
103
|
-
|
|
108
|
+
declare const TabsList: import('react').ForwardRefExoticComponent<TabsListProps & import('react').RefAttributes<HTMLDivElement>>;
|
|
109
|
+
export interface TabsTriggerProps {
|
|
104
110
|
/** Value of this tab */
|
|
105
111
|
value: string;
|
|
106
112
|
/** Tab label/content */
|
|
@@ -110,7 +116,8 @@ interface TabsTriggerProps {
|
|
|
110
116
|
/** Disabled state */
|
|
111
117
|
disabled?: boolean;
|
|
112
118
|
}
|
|
113
|
-
|
|
119
|
+
declare const TabsTrigger: import('react').ForwardRefExoticComponent<TabsTriggerProps & import('react').RefAttributes<HTMLButtonElement>>;
|
|
120
|
+
export interface TabsContentProps {
|
|
114
121
|
/** Value of the tab this content belongs to */
|
|
115
122
|
value: string;
|
|
116
123
|
/** Content to display when tab is active */
|
|
@@ -118,11 +125,13 @@ interface TabsContentProps {
|
|
|
118
125
|
/** Optional className */
|
|
119
126
|
className?: string;
|
|
120
127
|
}
|
|
128
|
+
declare const TabsContent: FC<TabsContentProps>;
|
|
121
129
|
/**
|
|
122
130
|
* TabsGlass - Compound Component API
|
|
123
131
|
*
|
|
124
132
|
* @example
|
|
125
133
|
* ```tsx
|
|
134
|
+
* // Compound API (TabsGlass.Root pattern)
|
|
126
135
|
* <TabsGlass.Root value={activeTab} onValueChange={setActiveTab}>
|
|
127
136
|
* <TabsGlass.List>
|
|
128
137
|
* <TabsGlass.Trigger value="tab1">Overview</TabsGlass.Trigger>
|
|
@@ -135,9 +144,21 @@ interface TabsContentProps {
|
|
|
135
144
|
* <p>Analytics content</p>
|
|
136
145
|
* </TabsGlass.Content>
|
|
137
146
|
* </TabsGlass.Root>
|
|
147
|
+
*
|
|
148
|
+
* // shadcn/ui compatible API (separate imports)
|
|
149
|
+
* import { Tabs, TabsList, TabsTrigger, TabsContent } from 'shadcn-glass-ui'
|
|
150
|
+
* <Tabs defaultValue="tab1">
|
|
151
|
+
* <TabsList>
|
|
152
|
+
* <TabsTrigger value="tab1">Overview</TabsTrigger>
|
|
153
|
+
* <TabsTrigger value="tab2">Analytics</TabsTrigger>
|
|
154
|
+
* </TabsList>
|
|
155
|
+
* <TabsContent value="tab1">Overview content</TabsContent>
|
|
156
|
+
* <TabsContent value="tab2">Analytics content</TabsContent>
|
|
157
|
+
* </Tabs>
|
|
138
158
|
* ```
|
|
139
159
|
*
|
|
140
160
|
* @since v1.0.0 - Legacy API removed (tabs/activeTab/onChange props)
|
|
161
|
+
* @since v2.3.0 - Added shadcn/ui compatible separate exports
|
|
141
162
|
*/
|
|
142
163
|
export declare const TabsGlass: {
|
|
143
164
|
Root: FC<TabsRootProps>;
|
|
@@ -145,5 +166,34 @@ export declare const TabsGlass: {
|
|
|
145
166
|
Trigger: import('react').ForwardRefExoticComponent<TabsTriggerProps & import('react').RefAttributes<HTMLButtonElement>>;
|
|
146
167
|
Content: FC<TabsContentProps>;
|
|
147
168
|
};
|
|
148
|
-
|
|
169
|
+
/**
|
|
170
|
+
* Tabs - shadcn/ui compatible alias for TabsGlass.Root
|
|
171
|
+
*
|
|
172
|
+
* @example
|
|
173
|
+
* ```tsx
|
|
174
|
+
* import { Tabs, TabsList, TabsTrigger, TabsContent } from 'shadcn-glass-ui'
|
|
175
|
+
*
|
|
176
|
+
* <Tabs defaultValue="account">
|
|
177
|
+
* <TabsList>
|
|
178
|
+
* <TabsTrigger value="account">Account</TabsTrigger>
|
|
179
|
+
* <TabsTrigger value="password">Password</TabsTrigger>
|
|
180
|
+
* </TabsList>
|
|
181
|
+
* <TabsContent value="account">Account settings</TabsContent>
|
|
182
|
+
* <TabsContent value="password">Password settings</TabsContent>
|
|
183
|
+
* </Tabs>
|
|
184
|
+
* ```
|
|
185
|
+
*/
|
|
186
|
+
export declare const Tabs: FC<TabsRootProps>;
|
|
187
|
+
/**
|
|
188
|
+
* TabsList - shadcn/ui compatible alias for TabsGlass.List
|
|
189
|
+
*/
|
|
190
|
+
export { TabsList };
|
|
191
|
+
/**
|
|
192
|
+
* TabsTrigger - shadcn/ui compatible alias for TabsGlass.Trigger
|
|
193
|
+
*/
|
|
194
|
+
export { TabsTrigger };
|
|
195
|
+
/**
|
|
196
|
+
* TabsContent - shadcn/ui compatible alias for TabsGlass.Content
|
|
197
|
+
*/
|
|
198
|
+
export { TabsContent };
|
|
149
199
|
//# sourceMappingURL=tabs-glass.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabs-glass.d.ts","sourceRoot":"","sources":["../../../../src/components/glass/ui/tabs-glass.tsx"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"tabs-glass.d.ts","sourceRoot":"","sources":["../../../../src/components/glass/ui/tabs-glass.tsx"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAML,KAAK,EAAE,EACP,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAGf,OAAO,mBAAmB,CAAC;AAM3B,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAyBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkFG;AACH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sCAAsC;IACtC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,uBAAuB;IACvB,QAAQ,EAAE,SAAS,CAAC;IACpB,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAgCD,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACzE,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,QAAQ,0GAmBb,CAAC;AAQF,MAAM,WAAW,gBAAgB;IAC/B,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,QAAQ,EAAE,SAAS,CAAC;IACpB,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,QAAA,MAAM,WAAW,gHAsFhB,CAAC;AAQF,MAAM,WAAW,gBAAgB;IAC/B,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,QAAQ,EAAE,SAAS,CAAC;IACpB,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAerC,CAAC;AAMF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,eAAO,MAAM,SAAS;;;;;CAKrB,CAAC;AAMF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,IAAI,mBAAW,CAAC;AAE7B;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,CAAC;AAEpB;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
package/dist/components.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
const require_trust_score_card_glass = require("./trust-score-card-glass-
|
|
2
|
-
require("./utils-
|
|
3
|
-
require("./use-focus-
|
|
4
|
-
require("./theme-context-
|
|
1
|
+
const require_trust_score_card_glass = require("./trust-score-card-glass-3VBi9soW.cjs");
|
|
2
|
+
require("./utils-DX6rdBol.cjs");
|
|
3
|
+
require("./use-focus-CswOSq71.cjs");
|
|
4
|
+
require("./theme-context-DmTETrFi.cjs");
|
|
5
5
|
exports.AICardGlass = require_trust_score_card_glass.AICardGlass;
|
|
6
6
|
exports.AlertGlass = require_trust_score_card_glass.AlertGlass;
|
|
7
7
|
exports.AvatarGlass = require_trust_score_card_glass.AvatarGlass;
|
package/dist/components.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "./utils-B792GPM_.mjs";
|
|
2
|
-
import {
|
|
2
|
+
import { A as FlagAlertGlass, B as IconButtonGlass, Bt as AvatarGlass, E as ProgressGlass, F as SortDropdownGlass, Ft as CheckboxGlass, H as TooltipGlass, I as SearchBoxGlass, It as ButtonGlass, Kt as AlertGlass, M as BaseProgressGlass, N as ThemeToggleGlass, Nt as CircularProgressGlass, O as ProfileAvatarGlass, P as StatItemGlass, Rt as BadgeGlass, T as RainbowProgressGlass, V as ExpandableHeaderGlass, Xt as FormFieldWrapper, Yt as InteractiveCard, Z as TabsGlass, Zt as TouchTarget, _ as ContributionMetricsGlass, a as HeaderBrandingGlass, b as AICardGlass, c as YearCardGlass, ct as NotificationGlass, d as TrustScoreDisplayGlass, et as SliderGlass, f as RepositoryMetadataGlass, ft as InputGlass, g as MetricCardGlass, h as MetricsGridGlass, ht as DropdownGlass, i as HeaderNavGlass, j as StatusIndicatorGlass, jt as ComboBoxGlass, k as LanguageBarGlass, l as UserStatsLineGlass, m as RepositoryCardGlass, n as ProjectsListGlass, o as FlagsSectionGlass, p as RepositoryHeaderGlass, pt as GlassCard, q as ToggleGlass, r as ProfileHeaderGlass, rt as PopoverGlass, s as CareerStatsGlass, t as TrustScoreCardGlass, tt as SkeletonGlass, u as UserInfoGlass, ut as ModalGlass, v as CircularMetricGlass, w as SegmentedControlGlass, y as CareerStatsHeaderGlass } from "./trust-score-card-glass-EfMB5l5J.mjs";
|
|
3
3
|
import "./use-focus-C5kPAKr_.mjs";
|
|
4
4
|
import "./theme-context-DLS2uAgJ.mjs";
|
|
5
5
|
export { AICardGlass, AlertGlass, AvatarGlass, BadgeGlass, BaseProgressGlass, ButtonGlass, CareerStatsGlass, CareerStatsHeaderGlass, CheckboxGlass, CircularMetricGlass, CircularProgressGlass, ComboBoxGlass, ContributionMetricsGlass, DropdownGlass, ExpandableHeaderGlass, FlagAlertGlass, FlagsSectionGlass, FormFieldWrapper, GlassCard, HeaderBrandingGlass, HeaderNavGlass, IconButtonGlass, InputGlass, InteractiveCard, LanguageBarGlass, MetricCardGlass, MetricsGridGlass, ModalGlass, NotificationGlass, PopoverGlass, ProfileAvatarGlass, ProfileHeaderGlass, ProgressGlass, ProjectsListGlass, RainbowProgressGlass, RepositoryCardGlass, RepositoryHeaderGlass, RepositoryMetadataGlass, SearchBoxGlass, SegmentedControlGlass, SkeletonGlass, SliderGlass, SortDropdownGlass, StatItemGlass, StatusIndicatorGlass, TabsGlass, ThemeToggleGlass, ToggleGlass, TooltipGlass, TouchTarget, TrustScoreCardGlass, TrustScoreDisplayGlass, UserInfoGlass, UserStatsLineGlass, YearCardGlass };
|
package/dist/hooks.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const require_use_focus = require("./use-focus-
|
|
2
|
-
const require_use_wallpaper_tint = require("./use-wallpaper-tint-
|
|
1
|
+
const require_use_focus = require("./use-focus-CswOSq71.cjs");
|
|
2
|
+
const require_use_wallpaper_tint = require("./use-wallpaper-tint-WtRWtupA.cjs");
|
|
3
3
|
exports.useFocus = require_use_focus.useFocus;
|
|
4
4
|
exports.useHover = require_use_focus.useHover;
|
|
5
5
|
exports.useResponsive = require_use_wallpaper_tint.useResponsive;
|
package/dist/index.cjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
const require_trust_score_card_glass = require("./trust-score-card-glass-
|
|
2
|
-
const require_utils = require("./utils-
|
|
3
|
-
const require_use_focus = require("./use-focus-
|
|
4
|
-
const require_theme_context = require("./theme-context-
|
|
5
|
-
const require_use_wallpaper_tint = require("./use-wallpaper-tint-
|
|
1
|
+
const require_trust_score_card_glass = require("./trust-score-card-glass-3VBi9soW.cjs");
|
|
2
|
+
const require_utils = require("./utils-DX6rdBol.cjs");
|
|
3
|
+
const require_use_focus = require("./use-focus-CswOSq71.cjs");
|
|
4
|
+
const require_theme_context = require("./theme-context-DmTETrFi.cjs");
|
|
5
|
+
const require_use_wallpaper_tint = require("./use-wallpaper-tint-WtRWtupA.cjs");
|
|
6
6
|
let react = require("react");
|
|
7
7
|
react = require_trust_score_card_glass.__toESM(react);
|
|
8
8
|
let lucide_react = require("lucide-react");
|
|
@@ -1595,6 +1595,7 @@ exports.ChartLegendContent = ChartLegendContent;
|
|
|
1595
1595
|
exports.ChartStyle = ChartStyle;
|
|
1596
1596
|
exports.ChartTooltip = ChartTooltip;
|
|
1597
1597
|
exports.ChartTooltipContent = ChartTooltipContent;
|
|
1598
|
+
exports.Checkbox = require_trust_score_card_glass.Checkbox;
|
|
1598
1599
|
exports.CheckboxGlass = require_trust_score_card_glass.CheckboxGlass;
|
|
1599
1600
|
exports.CircularMetricGlass = require_trust_score_card_glass.CircularMetricGlass;
|
|
1600
1601
|
exports.CircularProgressGlass = require_trust_score_card_glass.CircularProgressGlass;
|
|
@@ -1665,7 +1666,11 @@ exports.StatusIndicatorGlass = require_trust_score_card_glass.StatusIndicatorGla
|
|
|
1665
1666
|
exports.StepperGlass = StepperGlass;
|
|
1666
1667
|
exports.THEMES = require_theme_context.THEMES;
|
|
1667
1668
|
exports.THEME_CONFIG = require_theme_context.THEME_CONFIG;
|
|
1669
|
+
exports.Tabs = require_trust_score_card_glass.Tabs;
|
|
1670
|
+
exports.TabsContent = require_trust_score_card_glass.TabsContent;
|
|
1668
1671
|
exports.TabsGlass = require_trust_score_card_glass.TabsGlass;
|
|
1672
|
+
exports.TabsList = require_trust_score_card_glass.TabsList;
|
|
1673
|
+
exports.TabsTrigger = require_trust_score_card_glass.TabsTrigger;
|
|
1669
1674
|
exports.ThemeProvider = require_theme_context.ThemeProvider;
|
|
1670
1675
|
exports.ThemeToggleGlass = require_trust_score_card_glass.ThemeToggleGlass;
|
|
1671
1676
|
exports.ToggleGlass = require_trust_score_card_glass.ToggleGlass;
|
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,8 @@ export { AlertGlass, AlertGlassTitle, AlertGlassDescription, } from './component
|
|
|
2
2
|
export { AvatarGlass, AvatarGlassImage, AvatarGlassFallback, AvatarGlassSimple, } from './components/glass/ui/avatar-glass';
|
|
3
3
|
export { BadgeGlass } from './components/glass/ui/badge-glass';
|
|
4
4
|
export { ButtonGlass } from './components/glass/ui/button-glass';
|
|
5
|
-
export { CheckboxGlass } from './components/glass/ui/checkbox-glass';
|
|
5
|
+
export { CheckboxGlass, Checkbox } from './components/glass/ui/checkbox-glass';
|
|
6
|
+
export type { CheckedState } from './components/glass/ui/checkbox-glass';
|
|
6
7
|
export { CircularProgressGlass } from './components/glass/ui/circular-progress-glass';
|
|
7
8
|
export { ComboBoxGlass } from './components/glass/ui/combobox-glass';
|
|
8
9
|
export { DropdownGlass } from './components/glass/ui/dropdown-glass';
|
|
@@ -16,7 +17,8 @@ export { PopoverGlass, PopoverGlassTrigger, PopoverGlassContent, PopoverGlassAnc
|
|
|
16
17
|
export { SkeletonGlass } from './components/glass/ui/skeleton-glass';
|
|
17
18
|
export { SliderGlass } from './components/glass/ui/slider-glass';
|
|
18
19
|
export { StepperGlass } from './components/glass/ui/stepper-glass';
|
|
19
|
-
export { TabsGlass } from './components/glass/ui/tabs-glass';
|
|
20
|
+
export { TabsGlass, Tabs, TabsList, TabsTrigger, TabsContent, } from './components/glass/ui/tabs-glass';
|
|
21
|
+
export type { TabsRootProps, TabsListProps, TabsTriggerProps, TabsContentProps, } from './components/glass/ui/tabs-glass';
|
|
20
22
|
export { ToggleGlass } from './components/glass/ui/toggle-glass';
|
|
21
23
|
export { SidebarGlass, useSidebar } from './components/glass/ui/sidebar-glass';
|
|
22
24
|
export { TooltipGlassProvider, TooltipGlass, TooltipGlassTrigger, TooltipGlassContent, TooltipGlassSimple, } from './components/glass/ui/tooltip-glass';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,UAAU,EACV,eAAe,EACf,qBAAqB,GACtB,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAC/E,YAAY,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAGrE,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,wBAAwB,EACxB,qBAAqB,EACrB,6BAA6B,EAC7B,0BAA0B,EAC1B,sBAAsB,EACtB,0BAA0B,EAC1B,yBAAyB,EACzB,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,2BAA2B,EAC3B,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,2CAA2C,CAAC;AAEnD,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAG7D,OAAO,EACL,SAAS,EACT,aAAa,EACb,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAG7E,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EACL,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,WAAW,EACX,WAAW,GACZ,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACV,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAGjE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAG/E,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,qCAAqC,CAAC;AAK7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAKhF,OAAO,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,mDAAmD,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uDAAuD,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,gDAAgD,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uDAAuD,CAAC;AAK7F,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wDAAwD,CAAC;AAChG,OAAO,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAC;AACzF,OAAO,EAAE,wBAAwB,EAAE,MAAM,yDAAyD,CAAC;AACnG,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAC;AACzF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAC7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,wDAAwD,CAAC;AACjG,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,EACd,sBAAsB,GACvB,MAAM,iDAAiD,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wDAAwD,CAAC;AAChG,OAAO,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAK7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,iDAAiD,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,iDAAiD,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAC;AAKzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AAKzE,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAGjC,OAAO,EACL,aAAa,EACb,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,KAAK,KAAK,EACV,KAAK,WAAW,EAChB,KAAK,iBAAiB,GACvB,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAOlE,YAAY,EACV,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAEhB,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,SAAS,EACT,cAAc,EACd,QAAQ,EACR,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,eAAe,EACf,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAElB,OAAO,EACP,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAGrB,YAAY,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAG3E,YAAY,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAG1F,YAAY,EACV,mBAAmB,EACnB,eAAe,GAChB,MAAM,gDAAgD,CAAC;AAGxD,YAAY,EACV,oBAAoB,EACpB,WAAW,EACX,WAAW,EACX,cAAc,GACf,MAAM,gDAAgD,CAAC;AAExD,YAAY,EACV,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,8CAA8C,CAAC;AAEtD,YAAY,EACV,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,EACvB,6BAA6B,EAC7B,8BAA8B,EAC9B,6BAA6B,EAC7B,oBAAoB,EACpB,0BAA0B,EAC1B,2BAA2B,EAC3B,0BAA0B,EAC1B,uBAAuB,EACvB,6BAA6B,EAC7B,6BAA6B,EAC7B,UAAU,IAAI,qBAAqB,EACnC,UAAU,IAAI,qBAAqB,GACpC,MAAM,iDAAiD,CAAC;AAGzD,YAAY,EACV,mBAAmB,EACnB,oBAAoB,EACpB,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,qCAAqC,CAAC;AAK7C,OAAO,EACL,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,UAAU,EACV,QAAQ,GACT,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAMpE,cAAc,gBAAgB,CAAC"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as cn } from "./utils-B792GPM_.mjs";
|
|
2
|
-
import { $ as
|
|
2
|
+
import { $ as TabsTrigger, A as FlagAlertGlass, At as DropdownMenuGlassTrigger, B as IconButtonGlass, Bt as AvatarGlass, C as sparklineContainerVariants, Ct as DropdownMenuGlassRadioGroup, D as progressSizes, Dt as DropdownMenuGlassSub, E as ProgressGlass, Et as DropdownMenuGlassShortcut, F as SortDropdownGlass, Ft as CheckboxGlass, G as TooltipGlassSimple, Gt as statusSizes, H as TooltipGlass, Ht as AvatarGlassImage, I as SearchBoxGlass, It as ButtonGlass, J as toggleSizes, Jt as AlertGlassTitle, K as TooltipGlassTrigger, Kt as AlertGlass, L as InsightCardGlass, Lt as buttonGlassVariants, M as BaseProgressGlass, Mt as inputVariants, N as ThemeToggleGlass, Nt as CircularProgressGlass, O as ProfileAvatarGlass, Ot as DropdownMenuGlassSubContent, P as StatItemGlass, Pt as Checkbox, Q as TabsList, Qt as alertVariants, R as insightCardVariants, Rt as BadgeGlass, S as sparklineBarVariants, St as DropdownMenuGlassPortal, T as RainbowProgressGlass, Tt as DropdownMenuGlassSeparator, U as TooltipGlassContent, Ut as AvatarGlassSimple, V as ExpandableHeaderGlass, Vt as AvatarGlassFallback, W as TooltipGlassProvider, Wt as avatarSizes, X as TabsContent, Xt as FormFieldWrapper, Y as Tabs, Yt as InteractiveCard, Z as TabsGlass, Zt as TouchTarget, _ as ContributionMetricsGlass, _t as DropdownMenuGlassCheckboxItem, a as HeaderBrandingGlass, at as PopoverGlassContent, b as AICardGlass, bt as DropdownMenuGlassItem, c as YearCardGlass, ct as NotificationGlass, d as TrustScoreDisplayGlass, dt as modalSizes, et as SliderGlass, f as RepositoryMetadataGlass, ft as InputGlass, g as MetricCardGlass, gt as DropdownMenuGlass, h as MetricsGridGlass, ht as DropdownGlass, i as HeaderNavGlass, it as PopoverGlassAnchor, j as StatusIndicatorGlass, jt as ComboBoxGlass, k as LanguageBarGlass, kt as DropdownMenuGlassSubTrigger, l as UserStatsLineGlass, lt as notificationVariants, m as RepositoryCardGlass, mt as cardIntensity, n as ProjectsListGlass, nt as skeletonVariants, o as FlagsSectionGlass, ot as PopoverGlassLegacy, p as RepositoryHeaderGlass, pt as GlassCard, q as ToggleGlass, qt as AlertGlassDescription, r as ProfileHeaderGlass, rt as PopoverGlass, s as CareerStatsGlass, st as PopoverGlassTrigger, t as TrustScoreCardGlass, tt as SkeletonGlass, u as UserInfoGlass, ut as ModalGlass, v as CircularMetricGlass, vt as DropdownMenuGlassContent, w as SegmentedControlGlass, wt as DropdownMenuGlassRadioItem, x as SparklineGlass, xt as DropdownMenuGlassLabel, y as CareerStatsHeaderGlass, yt as DropdownMenuGlassGroup, z as insightVariantConfig, zt as badgeVariants } from "./trust-score-card-glass-EfMB5l5J.mjs";
|
|
3
3
|
import { n as useHover, t as useFocus } from "./use-focus-C5kPAKr_.mjs";
|
|
4
4
|
import { a as getThemeConfig, i as getNextTheme, n as THEME_CONFIG, o as useTheme, r as ThemeProvider, t as THEMES } from "./theme-context-DLS2uAgJ.mjs";
|
|
5
5
|
import { n as useResponsive, t as useWallpaperTint } from "./use-wallpaper-tint-C0kYXNiN.mjs";
|
|
@@ -1549,6 +1549,6 @@ const buttonVariants = cva("inline-flex items-center justify-center gap-2 whites
|
|
|
1549
1549
|
size: "default"
|
|
1550
1550
|
}
|
|
1551
1551
|
});
|
|
1552
|
-
export { AICardGlass, AlertGlass, AlertGlassDescription, AlertGlassTitle, AvatarGlass, AvatarGlassFallback, AvatarGlassImage, AvatarGlassSimple, BadgeGlass, Bar, BarChart, BaseProgressGlass, ButtonGlass, CardGlass, CardGlassAction, CardGlassContent, CardGlassDescription, CardGlassFooter, CardGlassHeader, CardGlassRoot, CardGlassTitle, CareerStatsGlass, CareerStatsHeaderGlass, Cell, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, CheckboxGlass, CircularMetricGlass, CircularProgressGlass, ComboBoxGlass, ContributionMetricsGlass, DropdownGlass, DropdownMenuGlass, DropdownMenuGlassCheckboxItem, DropdownMenuGlassContent, DropdownMenuGlassGroup, DropdownMenuGlassItem, DropdownMenuGlassLabel, DropdownMenuGlassPortal, DropdownMenuGlassRadioGroup, DropdownMenuGlassRadioItem, DropdownMenuGlassSeparator, DropdownMenuGlassShortcut, DropdownMenuGlassSub, DropdownMenuGlassSubContent, DropdownMenuGlassSubTrigger, DropdownMenuGlassTrigger, ExpandableHeaderGlass, FlagAlertGlass, FlagsSectionGlass, FormFieldWrapper, GlassCard, HeaderBrandingGlass, HeaderNavGlass, IconButtonGlass, InputGlass, InsightCardGlass, InteractiveCard, LanguageBarGlass, MetricCardGlass, MetricsGridGlass, ModalGlass, NotificationGlass, PopoverGlass, PopoverGlassAnchor, PopoverGlassContent, PopoverGlassLegacy, PopoverGlassTrigger, ProfileAvatarGlass, ProfileHeaderGlass, ProgressGlass, ProjectsListGlass, RainbowProgressGlass, RepositoryCardGlass, RepositoryHeaderGlass, RepositoryMetadataGlass, ResponsiveContainer, SearchBoxGlass, SegmentedControlGlass, SidebarGlass, SkeletonGlass, SliderGlass, SortDropdownGlass, SparklineGlass, SplitLayoutAccordion, SplitLayoutGlass, StatItemGlass, StatusIndicatorGlass, StepperGlass, THEMES, THEME_CONFIG, TabsGlass, ThemeProvider, ThemeToggleGlass, ToggleGlass, TooltipGlass, TooltipGlassContent, TooltipGlassProvider, TooltipGlassSimple, TooltipGlassTrigger, TouchTarget, TrustScoreCardGlass, TrustScoreDisplayGlass, UserInfoGlass, UserStatsLineGlass, YearCardGlass, alertVariants, avatarSizes, badgeVariants, buttonGlassVariants, cardIntensity, cn, dropdownAlign, getNextTheme, getThemeConfig, inputVariants, insightCardVariants, insightVariantConfig, modalSizes, notificationVariants, progressSizes, alertVariants$1 as shadcnAlertVariants, badgeVariants$1 as shadcnBadgeVariants, buttonVariants as shadcnButtonVariants, skeletonVariants, sparklineBarVariants, sparklineContainerVariants, statusSizes, stepperConnectorVariants, stepperContentVariants, stepperDescriptionVariants, stepperIndicatorVariants, stepperLabelVariants, stepperListVariants, stepperRootVariants, stepperStepContainerVariants, toggleSizes, tooltipPositions, useChart, useFocus, useHover, useResponsive, useSidebar, useSplitLayout, useSplitLayoutOptional, useTheme, useWallpaperTint };
|
|
1552
|
+
export { AICardGlass, AlertGlass, AlertGlassDescription, AlertGlassTitle, AvatarGlass, AvatarGlassFallback, AvatarGlassImage, AvatarGlassSimple, BadgeGlass, Bar, BarChart, BaseProgressGlass, ButtonGlass, CardGlass, CardGlassAction, CardGlassContent, CardGlassDescription, CardGlassFooter, CardGlassHeader, CardGlassRoot, CardGlassTitle, CareerStatsGlass, CareerStatsHeaderGlass, Cell, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, CheckboxGlass, CircularMetricGlass, CircularProgressGlass, ComboBoxGlass, ContributionMetricsGlass, DropdownGlass, DropdownMenuGlass, DropdownMenuGlassCheckboxItem, DropdownMenuGlassContent, DropdownMenuGlassGroup, DropdownMenuGlassItem, DropdownMenuGlassLabel, DropdownMenuGlassPortal, DropdownMenuGlassRadioGroup, DropdownMenuGlassRadioItem, DropdownMenuGlassSeparator, DropdownMenuGlassShortcut, DropdownMenuGlassSub, DropdownMenuGlassSubContent, DropdownMenuGlassSubTrigger, DropdownMenuGlassTrigger, ExpandableHeaderGlass, FlagAlertGlass, FlagsSectionGlass, FormFieldWrapper, GlassCard, HeaderBrandingGlass, HeaderNavGlass, IconButtonGlass, InputGlass, InsightCardGlass, InteractiveCard, LanguageBarGlass, MetricCardGlass, MetricsGridGlass, ModalGlass, NotificationGlass, PopoverGlass, PopoverGlassAnchor, PopoverGlassContent, PopoverGlassLegacy, PopoverGlassTrigger, ProfileAvatarGlass, ProfileHeaderGlass, ProgressGlass, ProjectsListGlass, RainbowProgressGlass, RepositoryCardGlass, RepositoryHeaderGlass, RepositoryMetadataGlass, ResponsiveContainer, SearchBoxGlass, SegmentedControlGlass, SidebarGlass, SkeletonGlass, SliderGlass, SortDropdownGlass, SparklineGlass, SplitLayoutAccordion, SplitLayoutGlass, StatItemGlass, StatusIndicatorGlass, StepperGlass, THEMES, THEME_CONFIG, Tabs, TabsContent, TabsGlass, TabsList, TabsTrigger, ThemeProvider, ThemeToggleGlass, ToggleGlass, TooltipGlass, TooltipGlassContent, TooltipGlassProvider, TooltipGlassSimple, TooltipGlassTrigger, TouchTarget, TrustScoreCardGlass, TrustScoreDisplayGlass, UserInfoGlass, UserStatsLineGlass, YearCardGlass, alertVariants, avatarSizes, badgeVariants, buttonGlassVariants, cardIntensity, cn, dropdownAlign, getNextTheme, getThemeConfig, inputVariants, insightCardVariants, insightVariantConfig, modalSizes, notificationVariants, progressSizes, alertVariants$1 as shadcnAlertVariants, badgeVariants$1 as shadcnBadgeVariants, buttonVariants as shadcnButtonVariants, skeletonVariants, sparklineBarVariants, sparklineContainerVariants, statusSizes, stepperConnectorVariants, stepperContentVariants, stepperDescriptionVariants, stepperIndicatorVariants, stepperLabelVariants, stepperListVariants, stepperRootVariants, stepperStepContainerVariants, toggleSizes, tooltipPositions, useChart, useFocus, useHover, useResponsive, useSidebar, useSplitLayout, useSplitLayoutOptional, useTheme, useWallpaperTint };
|
|
1553
1553
|
|
|
1554
1554
|
//# sourceMappingURL=index.mjs.map
|
package/dist/lib/types.d.ts
CHANGED
|
@@ -16,8 +16,8 @@ export type { BadgeVariant } from './variants/badge-glass-variants';
|
|
|
16
16
|
export type { AlertGlassProps } from '../components/glass/ui/alert-glass';
|
|
17
17
|
export type { AlertType } from './variants/alert-glass-variants';
|
|
18
18
|
export type { ToggleGlassProps } from '../components/glass/ui/toggle-glass';
|
|
19
|
-
export type { CheckboxGlassProps } from '../components/glass/ui/checkbox-glass';
|
|
20
|
-
export type { TabItem } from '../components/glass/ui/tabs-glass';
|
|
19
|
+
export type { CheckboxGlassProps, CheckedState } from '../components/glass/ui/checkbox-glass';
|
|
20
|
+
export type { TabItem, TabsRootProps, TabsListProps, TabsTriggerProps, TabsContentProps, } from '../components/glass/ui/tabs-glass';
|
|
21
21
|
export type { SkeletonGlassProps } from '../components/glass/ui/skeleton-glass';
|
|
22
22
|
export type { SkeletonVariant } from './variants/skeleton-glass-variants';
|
|
23
23
|
export type { SliderGlassProps } from '../components/glass/ui/slider-glass';
|
package/dist/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAMA,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEjF,OAAO,EACL,MAAM,EACN,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,cAAc,GACf,MAAM,qBAAqB,CAAC;AAG7B,YAAY,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAE3E,YAAY,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AACvF,YAAY,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAGnF,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAEnF,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAE7F,YAAY,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAErE,YAAY,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAElF,YAAY,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEzE,YAAY,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACxF,YAAY,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAE/E,YAAY,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,YAAY,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAExE,YAAY,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,YAAY,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAErE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAE3E,YAAY,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAMA,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEjF,OAAO,EACL,MAAM,EACN,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,cAAc,GACf,MAAM,qBAAqB,CAAC;AAG7B,YAAY,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAE3E,YAAY,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AACvF,YAAY,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAGnF,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAEnF,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAE7F,YAAY,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAErE,YAAY,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAElF,YAAY,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEzE,YAAY,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACxF,YAAY,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAE/E,YAAY,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,YAAY,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAExE,YAAY,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,YAAY,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAErE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAE3E,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAK7F,YAAY,EACV,OAAO,EACP,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,kCAAkC,CAAC;AAE1C,YAAY,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,YAAY,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AAE9E,YAAY,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC"}
|
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
"description": "Glass-themed checkbox with:",
|
|
7
7
|
"dependencies": [
|
|
8
8
|
"lucide-react",
|
|
9
|
-
"react"
|
|
9
|
+
"react",
|
|
10
|
+
"shadcn-glass-ui"
|
|
10
11
|
],
|
|
11
12
|
"registryDependencies": [
|
|
12
13
|
"cn",
|
|
@@ -17,7 +18,7 @@
|
|
|
17
18
|
{
|
|
18
19
|
"path": "components/glass/ui/checkbox-glass.tsx",
|
|
19
20
|
"type": "registry:component",
|
|
20
|
-
"content": "/**\n * CheckboxGlass Component\n *\n * Glass-themed checkbox with:\n * - Theme-aware styling (glass/light/aurora)\n * - Glow effect on hover\n * - Optional label\n */\n\nimport { forwardRef, type CSSProperties } from 'react';\nimport { Check } from 'lucide-react';\nimport { cn } from '@/lib/utils';\nimport { useHover } from '@/lib/hooks/use-hover';\nimport { useFocus } from '@/lib/hooks/use-focus';\nimport '@/glass-theme.css';\n\n// ========================================\n// PROPS INTERFACE\n// ========================================\n\n/**\n * Props for the CheckboxGlass component\n *\n * A glass-themed checkbox with accessible keyboard navigation, focus management,\n * and touch-friendly targets. Features glow effects and theme-aware styling.\n *\n * @accessibility\n * - **Keyboard Navigation:** Full keyboard support with Enter/Space to toggle, Tab to focus (WCAG 2.1.1)\n * - **Focus Management:** Visible focus ring using `--focus-glow` CSS variable (WCAG 2.4.7)\n * - **Screen Readers:** Dual implementation with native `<input type=\"checkbox\">` (hidden) + visual `<div role=\"checkbox\">`\n * - **ARIA Attributes:** Uses `role=\"checkbox\"` and `aria-checked` for proper state announcement\n * - **Label Association:** Visual label automatically associated with checkbox via `<label>` wrapper\n * - **Touch Targets:** 44x44px minimum touch area per Apple HIG (WCAG 2.5.5 compliance)\n * - **Color Contrast:** Check mark and backgrounds meet WCAG AA contrast ratio 4.5:1\n * - **Motion:** Transitions respect `prefers-reduced-motion` settings\n *\n * @example\n * ```tsx\n * //
|
|
21
|
+
"content": "/**\n * CheckboxGlass Component\n *\n * Glass-themed checkbox with:\n * - Theme-aware styling (glass/light/aurora)\n * - Glow effect on hover\n * - Optional label\n */\n\nimport * as React from 'react';\nimport { forwardRef, type CSSProperties } from 'react';\nimport { Check, Minus } from 'lucide-react';\nimport { cn } from '@/lib/utils';\nimport { useHover } from '@/lib/hooks/use-hover';\nimport { useFocus } from '@/lib/hooks/use-focus';\nimport '@/glass-theme.css';\n\n// ========================================\n// PROPS INTERFACE\n// ========================================\n\n/**\n * Checked state type compatible with shadcn/ui (Radix UI)\n */\nexport type CheckedState = boolean | 'indeterminate';\n\n/**\n * Props for the CheckboxGlass component\n *\n * A glass-themed checkbox with accessible keyboard navigation, focus management,\n * and touch-friendly targets. Features glow effects and theme-aware styling.\n *\n * **shadcn/ui Compatibility (v2.3.0+):**\n * - Supports `onCheckedChange` callback (shadcn/ui pattern)\n * - Supports `'indeterminate'` state for tri-state checkboxes\n * - Backwards compatible with `onChange` prop\n *\n * @accessibility\n * - **Keyboard Navigation:** Full keyboard support with Enter/Space to toggle, Tab to focus (WCAG 2.1.1)\n * - **Focus Management:** Visible focus ring using `--focus-glow` CSS variable (WCAG 2.4.7)\n * - **Screen Readers:** Dual implementation with native `<input type=\"checkbox\">` (hidden) + visual `<div role=\"checkbox\">`\n * - **ARIA Attributes:** Uses `role=\"checkbox\"` and `aria-checked` for proper state announcement (including 'mixed' for indeterminate)\n * - **Label Association:** Visual label automatically associated with checkbox via `<label>` wrapper\n * - **Touch Targets:** 44x44px minimum touch area per Apple HIG (WCAG 2.5.5 compliance)\n * - **Color Contrast:** Check mark and backgrounds meet WCAG AA contrast ratio 4.5:1\n * - **Motion:** Transitions respect `prefers-reduced-motion` settings\n *\n * @example\n * ```tsx\n * // shadcn/ui compatible API\n * <CheckboxGlass\n * checked={isChecked}\n * onCheckedChange={(checked) => setIsChecked(checked === true)}\n * />\n *\n * // Indeterminate state (tri-state checkbox)\n * <CheckboxGlass\n * checked={allSelected ? true : someSelected ? 'indeterminate' : false}\n * onCheckedChange={(checked) => {\n * if (checked === true) selectAll();\n * else deselectAll();\n * }}\n * label=\"Select all\"\n * />\n *\n * // Legacy API (still supported)\n * <CheckboxGlass checked={agreed} onChange={setAgreed} label=\"I agree to terms\" />\n *\n * // Form integration with validation\n * <form onSubmit={handleSubmit}>\n * <CheckboxGlass\n * checked={newsletter}\n * onCheckedChange={setNewsletter}\n * label=\"Subscribe to newsletter\"\n * aria-describedby=\"newsletter-help\"\n * />\n * <p id=\"newsletter-help\">Receive weekly updates</p>\n * </form>\n *\n * // Disabled checkbox\n * <CheckboxGlass\n * checked={true}\n * onCheckedChange={() => {}}\n * label=\"This option is locked\"\n * disabled\n * />\n * ```\n *\n * @since v2.3.0 - Added shadcn/ui compatible `onCheckedChange` and `indeterminate` support\n */\nexport interface CheckboxGlassProps extends Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n 'onChange' | 'checked' | 'defaultChecked'\n> {\n /** Checked state: true, false, or 'indeterminate' (shadcn/ui compatible) */\n readonly checked?: CheckedState;\n /** Default checked state for uncontrolled usage */\n readonly defaultChecked?: CheckedState;\n /**\n * Callback when checked state changes (shadcn/ui compatible)\n * @param checked - New checked state\n */\n readonly onCheckedChange?: (checked: CheckedState) => void;\n /**\n * @deprecated Use `onCheckedChange` instead. Will be removed in v4.0.\n * Legacy callback for backwards compatibility.\n */\n readonly onChange?: (checked: boolean) => void;\n /** Optional label text */\n readonly label?: string;\n}\n\n// ========================================\n// COMPONENT\n// ========================================\n\nexport const CheckboxGlass = forwardRef<HTMLInputElement, CheckboxGlassProps>(\n (\n {\n className,\n checked: controlledChecked,\n defaultChecked,\n onCheckedChange,\n onChange,\n label,\n disabled,\n ...props\n },\n ref\n ) => {\n const { isHovered, hoverProps } = useHover();\n const { isFocusVisible, focusProps } = useFocus({ focusVisible: true });\n\n // Support both controlled and uncontrolled modes\n const [uncontrolledChecked, setUncontrolledChecked] = React.useState<CheckedState>(\n defaultChecked ?? false\n );\n const isControlled = controlledChecked !== undefined;\n const checked = isControlled ? controlledChecked : uncontrolledChecked;\n\n // Determine visual states\n const isChecked = checked === true;\n const isIndeterminate = checked === 'indeterminate';\n const showIndicator = isChecked || isIndeterminate;\n\n // Handle state change\n const handleChange = (newChecked: CheckedState) => {\n if (disabled) return;\n\n if (!isControlled) {\n setUncontrolledChecked(newChecked);\n }\n\n // Call shadcn/ui compatible callback\n onCheckedChange?.(newChecked);\n\n // Call legacy callback (deprecated)\n if (onChange && typeof newChecked === 'boolean') {\n onChange(newChecked);\n }\n };\n\n // Toggle to next state (indeterminate -> true, true -> false, false -> true)\n const toggleChecked = () => {\n if (isIndeterminate) {\n handleChange(true);\n } else {\n handleChange(!isChecked);\n }\n };\n\n const checkboxStyles: CSSProperties = {\n background: showIndicator ? 'var(--checkbox-checked-bg)' : 'var(--checkbox-bg)',\n border: `2px solid ${showIndicator ? 'var(--checkbox-checked-bg)' : 'var(--checkbox-border)'}`,\n boxShadow:\n isFocusVisible && !disabled\n ? 'var(--focus-glow)'\n : isHovered && !disabled\n ? 'var(--checkbox-glow)'\n : 'none',\n };\n\n // ARIA checked value for screen readers\n const ariaChecked = isIndeterminate ? 'mixed' : isChecked;\n\n return (\n <label\n className={cn(\n 'inline-flex items-center gap-2 md:gap-2.5',\n disabled ? 'opacity-50 cursor-not-allowed' : 'cursor-pointer',\n className\n )}\n onMouseEnter={hoverProps.onMouseEnter}\n onMouseLeave={hoverProps.onMouseLeave}\n >\n <input\n ref={ref}\n type=\"checkbox\"\n checked={isChecked}\n onChange={(e) => handleChange(e.target.checked)}\n disabled={disabled}\n className=\"sr-only\"\n {...props}\n />\n {/* Touch area wrapper - 44px minimum for Apple HIG compliance */}\n <span className=\"inline-flex items-center justify-center min-w-11 min-h-11\">\n {/* Visual checkbox - smaller but within 44px touch area */}\n <div\n onClick={toggleChecked}\n onFocus={focusProps.onFocus}\n onBlur={focusProps.onBlur}\n className=\"relative w-6 h-6 md:w-5 md:h-5 rounded-md flex items-center justify-center transition-all duration-300\"\n style={checkboxStyles}\n role=\"checkbox\"\n aria-checked={ariaChecked}\n aria-label={label || 'Checkbox'}\n tabIndex={disabled ? -1 : 0}\n onKeyDown={(e) => {\n if (!disabled && (e.key === 'Enter' || e.key === ' ')) {\n e.preventDefault();\n toggleChecked();\n }\n }}\n >\n {isChecked && (\n <Check\n className=\"w-3.5 h-3.5 md:w-3 md:h-3\"\n style={{ color: 'var(--text-inverse)' }}\n />\n )}\n {isIndeterminate && (\n <Minus\n className=\"w-3.5 h-3.5 md:w-3 md:h-3\"\n style={{ color: 'var(--text-inverse)' }}\n />\n )}\n </div>\n </span>\n {label && (\n <span className=\"text-xs md:text-sm\" style={{ color: 'var(--text-secondary)' }}>\n {label}\n </span>\n )}\n </label>\n );\n }\n);\n\nCheckboxGlass.displayName = 'CheckboxGlass';\n\n/**\n * Checkbox - shadcn/ui compatible alias for CheckboxGlass\n *\n * @example\n * ```tsx\n * import { Checkbox } from 'shadcn-glass-ui'\n *\n * <Checkbox\n * checked={isChecked}\n * onCheckedChange={(checked) => setIsChecked(checked === true)}\n * />\n * ```\n *\n * @since v2.3.0\n */\nexport const Checkbox = CheckboxGlass;\n"
|
|
21
22
|
}
|
|
22
23
|
],
|
|
23
24
|
"categories": [
|