@glyphui/ui 0.1.1 → 0.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/README.md +1 -1
- package/dist/chart.d.ts +202 -0
- package/dist/chart.js +457 -0
- package/dist/data-table.js +3 -2
- package/dist/{field-DXZD0l8w.js → field-CWZ_FdkD.js} +2 -1
- package/dist/{field-context-B8cYheXz.js → field-context-anGPYXbW.js} +89 -143
- package/dist/form.js +3 -2
- package/dist/index.d.ts +4960 -266
- package/dist/index.js +5336 -146
- package/dist/{states-BxPjCUxz.js → states-DR-OoDT-.js} +2 -1
- package/dist/tv-DBAGlgXJ.js +58 -0
- package/package.json +19 -2
- package/src/components/accordion/accordion.styles.ts +41 -0
- package/src/components/accordion/accordion.tsx +86 -0
- package/src/components/accordion/index.ts +8 -0
- package/src/components/alert/alert-icons.tsx +66 -0
- package/src/components/alert/alert.styles.ts +57 -0
- package/src/components/alert/alert.tsx +86 -0
- package/src/components/alert/index.ts +2 -0
- package/src/components/alert-dialog/alert-dialog.styles.ts +24 -0
- package/src/components/alert-dialog/alert-dialog.tsx +118 -0
- package/src/components/alert-dialog/confirm.tsx +111 -0
- package/src/components/alert-dialog/index.ts +15 -0
- package/src/components/aspect-ratio/aspect-ratio.tsx +40 -0
- package/src/components/aspect-ratio/index.ts +1 -0
- package/src/components/badge/badge.styles.ts +1 -1
- package/src/components/banner/banner.styles.ts +40 -0
- package/src/components/banner/banner.tsx +101 -0
- package/src/components/banner/index.ts +2 -0
- package/src/components/blockquote/blockquote.tsx +59 -0
- package/src/components/blockquote/index.ts +1 -0
- package/src/components/breadcrumb/breadcrumb.styles.ts +20 -0
- package/src/components/breadcrumb/breadcrumb.tsx +135 -0
- package/src/components/breadcrumb/index.ts +12 -0
- package/src/components/button/button.tsx +11 -8
- package/src/components/calendar/calendar.styles.ts +50 -0
- package/src/components/calendar/calendar.tsx +84 -0
- package/src/components/calendar/index.ts +3 -0
- package/src/components/carousel/carousel.styles.ts +43 -0
- package/src/components/carousel/carousel.tsx +278 -0
- package/src/components/carousel/index.ts +13 -0
- package/src/components/code/code.styles.ts +33 -0
- package/src/components/code/code.tsx +96 -0
- package/src/components/code/index.ts +2 -0
- package/src/components/collapsible/collapsible.tsx +66 -0
- package/src/components/collapsible/index.ts +6 -0
- package/src/components/combobox/combobox.styles.ts +50 -0
- package/src/components/combobox/combobox.tsx +203 -0
- package/src/components/combobox/index.ts +2 -0
- package/src/components/command-menu/command-menu.styles.ts +41 -0
- package/src/components/command-menu/command-menu.tsx +217 -0
- package/src/components/command-menu/index.ts +14 -0
- package/src/components/context-menu/context-menu.styles.ts +19 -0
- package/src/components/context-menu/context-menu.tsx +226 -0
- package/src/components/context-menu/index.ts +19 -0
- package/src/components/copy-button/copy-button.tsx +117 -0
- package/src/components/copy-button/index.ts +1 -0
- package/src/components/date-picker/date-picker.styles.ts +42 -0
- package/src/components/date-picker/date-picker.tsx +322 -0
- package/src/components/date-picker/index.ts +8 -0
- package/src/components/description-list/description-list.styles.ts +31 -0
- package/src/components/description-list/description-list.tsx +56 -0
- package/src/components/description-list/index.ts +7 -0
- package/src/components/dialog/close-icon.tsx +22 -0
- package/src/components/dialog/dialog.styles.ts +41 -0
- package/src/components/dialog/dialog.tsx +111 -0
- package/src/components/dialog/index.ts +13 -0
- package/src/components/dropdown-menu/dropdown-menu.styles.ts +45 -0
- package/src/components/dropdown-menu/dropdown-menu.tsx +230 -0
- package/src/components/dropdown-menu/index.ts +19 -0
- package/src/components/file-upload/file-upload.styles.ts +43 -0
- package/src/components/file-upload/file-upload.tsx +343 -0
- package/src/components/file-upload/index.ts +10 -0
- package/src/components/grid/grid.tsx +144 -0
- package/src/components/grid/index.ts +1 -0
- package/src/components/hover-card/hover-card.tsx +41 -0
- package/src/components/hover-card/index.ts +1 -0
- package/src/components/input-otp/index.ts +10 -0
- package/src/components/input-otp/input-otp.styles.ts +38 -0
- package/src/components/input-otp/input-otp.tsx +116 -0
- package/src/components/link/index.ts +2 -0
- package/src/components/link/link.styles.ts +39 -0
- package/src/components/link/link.tsx +62 -0
- package/src/components/modal/index.ts +2 -0
- package/src/components/modal/modal.styles.ts +18 -0
- package/src/components/modal/modal.tsx +86 -0
- package/src/components/navigation-menu/index.ts +14 -0
- package/src/components/navigation-menu/navigation-menu.styles.ts +48 -0
- package/src/components/navigation-menu/navigation-menu.tsx +198 -0
- package/src/components/number-input/index.ts +2 -0
- package/src/components/number-input/number-input.styles.ts +41 -0
- package/src/components/number-input/number-input.tsx +211 -0
- package/src/components/pagination/index.ts +3 -0
- package/src/components/pagination/pagination-range.ts +35 -0
- package/src/components/pagination/pagination.styles.ts +41 -0
- package/src/components/pagination/pagination.tsx +130 -0
- package/src/components/password-input/index.ts +7 -0
- package/src/components/password-input/password-input.styles.ts +30 -0
- package/src/components/password-input/password-input.tsx +127 -0
- package/src/components/popover/index.ts +9 -0
- package/src/components/popover/popover.tsx +66 -0
- package/src/components/progress/index.ts +7 -0
- package/src/components/progress/progress.styles.ts +68 -0
- package/src/components/progress/progress.tsx +158 -0
- package/src/components/prose/index.ts +1 -0
- package/src/components/prose/prose.tsx +82 -0
- package/src/components/radio-group/index.ts +7 -0
- package/src/components/radio-group/radio-group.styles.ts +64 -0
- package/src/components/radio-group/radio-group.tsx +128 -0
- package/src/components/resizable/index.ts +9 -0
- package/src/components/resizable/resizable.styles.ts +28 -0
- package/src/components/resizable/resizable.tsx +69 -0
- package/src/components/scroll-area/index.ts +1 -0
- package/src/components/scroll-area/scroll-area.tsx +68 -0
- package/src/components/sheet/index.ts +13 -0
- package/src/components/sheet/sheet.styles.ts +60 -0
- package/src/components/sheet/sheet.tsx +108 -0
- package/src/components/slider/index.ts +2 -0
- package/src/components/slider/slider.styles.ts +32 -0
- package/src/components/slider/slider.tsx +131 -0
- package/src/components/stat-card/index.ts +2 -0
- package/src/components/stat-card/stat-card.styles.ts +24 -0
- package/src/components/stat-card/stat-card.tsx +108 -0
- package/src/components/stepper/index.ts +2 -0
- package/src/components/stepper/stepper.styles.ts +74 -0
- package/src/components/stepper/stepper.tsx +138 -0
- package/src/components/tag-input/index.ts +2 -0
- package/src/components/tag-input/tag-input.styles.ts +39 -0
- package/src/components/tag-input/tag-input.tsx +198 -0
- package/src/components/timeline/index.ts +8 -0
- package/src/components/timeline/timeline.styles.ts +56 -0
- package/src/components/timeline/timeline.tsx +91 -0
- package/src/components/toast/index.ts +1 -0
- package/src/components/toast/toast.tsx +91 -0
- package/src/components/toggle/index.ts +9 -0
- package/src/components/toggle/toggle.styles.ts +39 -0
- package/src/components/toggle/toggle.tsx +61 -0
- package/src/components/tree-view/index.ts +2 -0
- package/src/components/tree-view/tree-view.styles.ts +42 -0
- package/src/components/tree-view/tree-view.tsx +274 -0
- package/src/components/visually-hidden/index.ts +1 -0
- package/src/components/visually-hidden/visually-hidden.tsx +10 -0
- package/src/index.ts +45 -0
- package/src/patterns/chart/chart-parts.tsx +171 -0
- package/src/patterns/chart/chart.styles.ts +35 -0
- package/src/patterns/chart/chart.tsx +369 -0
- package/src/patterns/chart/index.ts +13 -0
- package/src/provider/glyph-provider.tsx +16 -2
- package/styles.css +16 -0
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { Theme } from '@glyphui/tokens'
|
|
2
2
|
import { Tooltip } from 'radix-ui'
|
|
3
3
|
import { type ReactNode, useMemo } from 'react'
|
|
4
|
+
import { ConfirmProvider } from '../components/alert-dialog/confirm'
|
|
5
|
+
import { Toaster, type ToasterProps } from '../components/toast/toast'
|
|
4
6
|
import { glyph } from '../themes'
|
|
5
7
|
import { type ColorModePreference, ColorModeProvider } from './color-mode'
|
|
6
8
|
import { GlyphContext, type LinkComponent } from './glyph-context'
|
|
@@ -16,15 +18,21 @@ export interface GlyphProviderProps {
|
|
|
16
18
|
storageKey?: string | null
|
|
17
19
|
/** Your router's link, used by Navbar, Sidebar and other navigation components. */
|
|
18
20
|
linkComponent?: LinkComponent
|
|
21
|
+
/**
|
|
22
|
+
* Mounts a themed `<Toaster />` so `toast()` works anywhere. `true` for defaults, or pass
|
|
23
|
+
* Toaster props (e.g. `{ position: 'top-center' }`). Off by default.
|
|
24
|
+
*/
|
|
25
|
+
toaster?: boolean | ToasterProps
|
|
19
26
|
}
|
|
20
27
|
|
|
21
|
-
/** Provides the theme, color mode and
|
|
28
|
+
/** Provides the theme, color mode, tooltips, `useConfirm()` and (optionally) toasts. Render once at the root. */
|
|
22
29
|
export function GlyphProvider({
|
|
23
30
|
children,
|
|
24
31
|
theme = glyph,
|
|
25
32
|
defaultMode,
|
|
26
33
|
storageKey,
|
|
27
34
|
linkComponent = 'a',
|
|
35
|
+
toaster = false,
|
|
28
36
|
}: GlyphProviderProps) {
|
|
29
37
|
const value = useMemo(() => ({ theme, linkComponent }), [theme, linkComponent])
|
|
30
38
|
return (
|
|
@@ -34,7 +42,13 @@ export function GlyphProvider({
|
|
|
34
42
|
>
|
|
35
43
|
<GlyphContext.Provider value={value}>
|
|
36
44
|
<ThemeStyle theme={theme} />
|
|
37
|
-
<Tooltip.Provider delayDuration={300}>
|
|
45
|
+
<Tooltip.Provider delayDuration={300}>
|
|
46
|
+
{/* useConfirm() works anywhere without setup; the dialog only mounts while open. */}
|
|
47
|
+
<ConfirmProvider>
|
|
48
|
+
{children}
|
|
49
|
+
{toaster && <Toaster {...(toaster === true ? {} : toaster)} />}
|
|
50
|
+
</ConfirmProvider>
|
|
51
|
+
</Tooltip.Provider>
|
|
38
52
|
</GlyphContext.Provider>
|
|
39
53
|
</ColorModeProvider>
|
|
40
54
|
)
|
package/styles.css
CHANGED
|
@@ -102,6 +102,22 @@
|
|
|
102
102
|
--animate-fade-in: glyph-fade-in var(--glyph-duration-base) var(--glyph-ease-standard);
|
|
103
103
|
--animate-slide-in-left: glyph-slide-in-left var(--glyph-duration-slow) var(--glyph-ease-standard);
|
|
104
104
|
--animate-slide-in-top: glyph-slide-in-top var(--glyph-duration-slow) var(--glyph-ease-standard);
|
|
105
|
+
--animate-fade-out: glyph-fade-out var(--glyph-duration-fast) var(--glyph-ease-standard);
|
|
106
|
+
--animate-sheet-in-right: glyph-sheet-in-right var(--glyph-duration-slow)
|
|
107
|
+
var(--glyph-ease-standard);
|
|
108
|
+
--animate-sheet-out-right: glyph-sheet-out-right var(--glyph-duration-base)
|
|
109
|
+
var(--glyph-ease-standard);
|
|
110
|
+
--animate-sheet-in-left: glyph-sheet-in-left var(--glyph-duration-slow) var(--glyph-ease-standard);
|
|
111
|
+
--animate-sheet-out-left: glyph-sheet-out-left var(--glyph-duration-base)
|
|
112
|
+
var(--glyph-ease-standard);
|
|
113
|
+
--animate-sheet-in-top: glyph-sheet-in-top var(--glyph-duration-slow) var(--glyph-ease-standard);
|
|
114
|
+
--animate-sheet-out-top: glyph-sheet-out-top var(--glyph-duration-base) var(--glyph-ease-standard);
|
|
115
|
+
--animate-sheet-in-bottom: glyph-sheet-in-bottom var(--glyph-duration-slow)
|
|
116
|
+
var(--glyph-ease-standard);
|
|
117
|
+
--animate-sheet-out-bottom: glyph-sheet-out-bottom var(--glyph-duration-base)
|
|
118
|
+
var(--glyph-ease-standard);
|
|
119
|
+
--animate-collapse-down: glyph-collapse-down var(--glyph-duration-base) var(--glyph-ease-standard);
|
|
120
|
+
--animate-collapse-up: glyph-collapse-up var(--glyph-duration-base) var(--glyph-ease-standard);
|
|
105
121
|
}
|
|
106
122
|
|
|
107
123
|
@keyframes glyph-pop-in {
|