@g4rcez/components 4.0.2 → 4.1.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/ai/SKILL.md +120 -153
- package/ai/docs/Alert.md +47 -48
- package/ai/docs/AnimatedList.md +88 -87
- package/ai/docs/Autocomplete.md +102 -106
- package/ai/docs/Button.md +33 -33
- package/ai/docs/Calendar.md +67 -101
- package/ai/docs/Card.md +59 -55
- package/ai/docs/Checkbox.md +77 -82
- package/ai/docs/CommandPalette.md +154 -172
- package/ai/docs/DatePicker.md +45 -64
- package/ai/docs/Dropdown.md +98 -126
- package/ai/docs/Empty.md +41 -44
- package/ai/docs/Expand.md +40 -54
- package/ai/docs/FileUpload.md +102 -109
- package/ai/docs/Form.md +35 -29
- package/ai/docs/FormReset.md +37 -37
- package/ai/docs/Heading.md +4 -6
- package/ai/docs/Input.md +73 -98
- package/ai/docs/InputField.md +67 -67
- package/ai/docs/List.md +88 -85
- package/ai/docs/Menu.md +62 -60
- package/ai/docs/Modal.md +129 -136
- package/ai/docs/MultiSelect.md +65 -84
- package/ai/docs/Notifications.md +96 -96
- package/ai/docs/PageCalendar.md +88 -97
- package/ai/docs/Polymorph.md +25 -41
- package/ai/docs/Progress.md +55 -51
- package/ai/docs/Radiobox.md +49 -41
- package/ai/docs/RenderOnView.md +26 -32
- package/ai/docs/Resizable.md +60 -65
- package/ai/docs/Select.md +158 -158
- package/ai/docs/Shortcut.md +14 -14
- package/ai/docs/Skeleton.md +56 -60
- package/ai/docs/Slider.md +26 -49
- package/ai/docs/Slot.md +15 -17
- package/ai/docs/Spinner.md +17 -15
- package/ai/docs/Stats.md +44 -42
- package/ai/docs/Step.md +60 -60
- package/ai/docs/Switch.md +44 -54
- package/ai/docs/Table.md +124 -136
- package/ai/docs/Tabs.md +90 -90
- package/ai/docs/Tag.md +63 -65
- package/ai/docs/TaskList.md +40 -50
- package/ai/docs/Textarea.md +47 -70
- package/ai/docs/Timeline.md +98 -96
- package/ai/docs/Toolbar.md +46 -46
- package/ai/docs/Tooltip.md +103 -103
- package/ai/docs/Typography.md +55 -55
- package/ai/docs/Wizard.md +104 -109
- package/ai/docs/index.md +116 -116
- package/dist/autocomplete-DcTNOwyg.js +393 -0
- package/dist/autocomplete-DcTNOwyg.js.map +1 -0
- package/dist/{calendar-B5lSd0ID.js → calendar-BJMHRoy2.js} +104 -105
- package/dist/calendar-BJMHRoy2.js.map +1 -0
- package/dist/components/core/button.d.ts.map +1 -1
- package/dist/components/core/button.js +10 -10
- package/dist/components/core/button.js.map +1 -1
- package/dist/components/core/button.jsx +79 -0
- package/dist/components/core/heading.jsx +4 -0
- package/dist/components/core/polymorph.d.ts +1 -1
- package/dist/components/core/polymorph.d.ts.map +1 -1
- package/dist/components/core/polymorph.jsx +5 -0
- package/dist/components/core/render-on-view.jsx +31 -0
- package/dist/components/core/resizable.jsx +51 -0
- package/dist/components/core/slot.d.ts.map +1 -1
- package/dist/components/core/slot.jsx +156 -0
- package/dist/components/core/tag.d.ts +1 -1
- package/dist/components/core/tag.d.ts.map +1 -1
- package/dist/components/core/tag.js +4 -4
- package/dist/components/core/tag.js.map +1 -1
- package/dist/components/core/tag.jsx +51 -0
- package/dist/components/core/typography.jsx +18 -0
- package/dist/components/display/alert.d.ts +1 -1
- package/dist/components/display/alert.d.ts.map +1 -1
- package/dist/components/display/alert.js +48 -46
- package/dist/components/display/alert.js.map +1 -1
- package/dist/components/display/alert.jsx +61 -0
- package/dist/components/display/calendar.js +6 -6
- package/dist/components/display/calendar.jsx +299 -0
- package/dist/components/display/card.js +2 -2
- package/dist/components/display/card.js.map +1 -1
- package/dist/components/display/card.jsx +43 -0
- package/dist/components/display/empty.jsx +11 -0
- package/dist/components/display/list.js +1 -1
- package/dist/components/display/list.js.map +1 -1
- package/dist/components/display/list.jsx +81 -0
- package/dist/components/display/notifications.d.ts +1 -1
- package/dist/components/display/notifications.d.ts.map +1 -1
- package/dist/components/display/notifications.js +3 -3
- package/dist/components/display/notifications.jsx +126 -0
- package/dist/components/display/progress.jsx +11 -0
- package/dist/components/display/shortcut.jsx +23 -0
- package/dist/components/display/skeleton.d.ts.map +1 -1
- package/dist/components/display/skeleton.jsx +19 -0
- package/dist/components/display/spinner.d.ts.map +1 -1
- package/dist/components/display/spinner.jsx +11 -0
- package/dist/components/display/stats.js +1 -1
- package/dist/components/display/stats.jsx +20 -0
- package/dist/components/display/step.jsx +131 -0
- package/dist/components/display/tabs.d.ts +1 -1
- package/dist/components/display/tabs.d.ts.map +1 -1
- package/dist/components/display/tabs.js +2 -2
- package/dist/components/display/tabs.jsx +125 -0
- package/dist/components/display/timeline.js +1 -1
- package/dist/components/display/timeline.jsx +25 -0
- package/dist/components/floating/command-palette.d.ts.map +1 -1
- package/dist/components/floating/command-palette.jsx +197 -0
- package/dist/components/floating/dropdown.d.ts.map +1 -1
- package/dist/components/floating/dropdown.js +25 -17
- package/dist/components/floating/dropdown.js.map +1 -1
- package/dist/components/floating/dropdown.jsx +56 -0
- package/dist/components/floating/expand.js +7 -7
- package/dist/components/floating/expand.js.map +1 -1
- package/dist/components/floating/expand.jsx +44 -0
- package/dist/components/floating/menu.js +10 -10
- package/dist/components/floating/menu.js.map +1 -1
- package/dist/components/floating/menu.jsx +147 -0
- package/dist/components/floating/modal.d.ts +4 -4
- package/dist/components/floating/modal.d.ts.map +1 -1
- package/dist/components/floating/modal.js +106 -102
- package/dist/components/floating/modal.js.map +1 -1
- package/dist/components/floating/modal.jsx +301 -0
- package/dist/components/floating/toolbar.jsx +5 -0
- package/dist/components/floating/tooltip.d.ts.map +1 -1
- package/dist/components/floating/tooltip.js +14 -14
- package/dist/components/floating/tooltip.js.map +1 -1
- package/dist/components/floating/tooltip.jsx +58 -0
- package/dist/components/floating/wizard.jsx +161 -0
- package/dist/components/form/autocomplete.d.ts.map +1 -1
- package/dist/components/form/autocomplete.js +6 -6
- package/dist/components/form/autocomplete.jsx +278 -0
- package/dist/components/form/checkbox.js +1 -1
- package/dist/components/form/checkbox.jsx +12 -0
- package/dist/components/form/date-picker.d.ts.map +1 -1
- package/dist/components/form/date-picker.js +5 -5
- package/dist/components/form/date-picker.jsx +115 -0
- package/dist/components/form/file-upload.d.ts.map +1 -1
- package/dist/components/form/file-upload.js +2 -2
- package/dist/components/form/file-upload.jsx +134 -0
- package/dist/components/form/form.js.map +1 -1
- package/dist/components/form/form.jsx +10 -0
- package/dist/components/form/formReset.jsx +17 -0
- package/dist/components/form/free-text.d.ts.map +1 -1
- package/dist/components/form/free-text.jsx +41 -0
- package/dist/components/form/input-field.d.ts +11 -11
- package/dist/components/form/input-field.d.ts.map +1 -1
- package/dist/components/form/input-field.jsx +58 -0
- package/dist/components/form/input.js +1 -1
- package/dist/components/form/input.jsx +36 -0
- package/dist/components/form/multi-select.d.ts.map +1 -1
- package/dist/components/form/multi-select.jsx +336 -0
- package/dist/components/form/radiobox.js +1 -1
- package/dist/components/form/radiobox.jsx +6 -0
- package/dist/components/form/select.js +3 -3
- package/dist/components/form/select.jsx +42 -0
- package/dist/components/form/slider.jsx +45 -0
- package/dist/components/form/switch.js +2 -2
- package/dist/components/form/switch.js.map +1 -1
- package/dist/components/form/switch.jsx +46 -0
- package/dist/components/form/task-list.jsx +26 -0
- package/dist/components/form/textarea.jsx +12 -0
- package/dist/components/index.d.ts +0 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +44 -0
- package/dist/components/page-calendar/calendar-header.jsx +83 -0
- package/dist/components/page-calendar/day-view.jsx +94 -0
- package/dist/components/page-calendar/event-pill.d.ts.map +1 -1
- package/dist/components/page-calendar/event-pill.jsx +25 -0
- package/dist/components/page-calendar/index.js +2 -0
- package/dist/components/page-calendar/month-view.jsx +46 -0
- package/dist/components/page-calendar/page-calendar.jsx +41 -0
- package/dist/components/page-calendar/page-calendar.types.js +1 -0
- package/dist/components/page-calendar/page-calendar.utils.js +93 -0
- package/dist/components/page-calendar/week-view.jsx +71 -0
- package/dist/components/table/filter.jsx +141 -0
- package/dist/components/table/group.jsx +68 -0
- package/dist/components/table/index.d.ts +2 -3
- package/dist/components/table/index.d.ts.map +1 -1
- package/dist/components/table/index.jsx +60 -0
- package/dist/components/table/inner-table.d.ts +2 -3
- package/dist/components/table/inner-table.d.ts.map +1 -1
- package/dist/components/table/inner-table.jsx +102 -0
- package/dist/components/table/metadata.jsx +36 -0
- package/dist/components/table/pagination.d.ts +3 -1
- package/dist/components/table/pagination.d.ts.map +1 -1
- package/dist/components/table/pagination.jsx +74 -0
- package/dist/components/table/row.d.ts +4 -5
- package/dist/components/table/row.d.ts.map +1 -1
- package/dist/components/table/row.jsx +49 -0
- package/dist/components/table/sort.d.ts.map +1 -1
- package/dist/components/table/sort.jsx +109 -0
- package/dist/components/table/table-lib.d.ts +1 -1
- package/dist/components/table/table-lib.d.ts.map +1 -1
- package/dist/components/table/table-lib.js +83 -0
- package/dist/components/table/table.context.jsx +4 -0
- package/dist/components/table/table.js +3 -3
- package/dist/components/table/thead.jsx +103 -0
- package/dist/config/context.js +12 -0
- package/dist/config/default-translations.d.ts +4 -0
- package/dist/config/default-translations.d.ts.map +1 -1
- package/dist/config/default-translations.jsx +87 -0
- package/dist/config/default-tweaks.js +4 -0
- package/dist/constants.js +2 -0
- package/dist/{date-picker-DwNo22lx.js → date-picker-Bnl07nd8.js} +8 -6
- package/dist/date-picker-Bnl07nd8.js.map +1 -0
- package/dist/{dom-Dl8XH0CK.js → dom-CyQHY7ID.js} +66 -61
- package/dist/dom-CyQHY7ID.js.map +1 -0
- package/dist/{file-upload-Brf2NkLr.js → file-upload-93d5DR4q.js} +139 -129
- package/dist/file-upload-93d5DR4q.js.map +1 -0
- package/dist/{floating-ui.react-QNHG9W4N.js → floating-ui.react-M2PGXLDp.js} +8 -8
- package/dist/floating-ui.react-M2PGXLDp.js.map +1 -0
- package/dist/{fns-D2eyJKd5.js → fns-C7Dt27Qd.js} +2 -2
- package/dist/fns-C7Dt27Qd.js.map +1 -0
- package/dist/hooks/use-click-outside.js +17 -0
- package/dist/hooks/use-color-parser.js +9 -0
- package/dist/hooks/use-components-provider.jsx +22 -0
- package/dist/hooks/use-debounce.d.ts +3 -3
- package/dist/hooks/use-debounce.d.ts.map +1 -1
- package/dist/hooks/use-debounce.js +12 -0
- package/dist/hooks/use-floating-ref.js +6 -0
- package/dist/hooks/use-form.d.ts +14 -13
- package/dist/hooks/use-form.d.ts.map +1 -1
- package/dist/hooks/use-form.js +563 -0
- package/dist/hooks/use-hover.js +18 -0
- package/dist/hooks/use-input-id.js +5 -0
- package/dist/hooks/use-is-coarse-device.js +12 -0
- package/dist/hooks/use-locale.js +10 -0
- package/dist/hooks/use-media-query.js +25 -0
- package/dist/hooks/use-on-event.js +7 -0
- package/dist/hooks/use-parent.js +21 -0
- package/dist/hooks/use-preferences.js +23 -0
- package/dist/hooks/use-previous.js +9 -0
- package/dist/hooks/use-reactive.js +9 -0
- package/dist/hooks/use-remove-scroll.d.ts.map +1 -1
- package/dist/hooks/use-remove-scroll.js +48 -0
- package/dist/hooks/use-resize-observer.js +17 -0
- package/dist/hooks/use-stable-ref.js +9 -0
- package/dist/hooks/use-swipe.js +17 -0
- package/dist/hooks/use-translations.d.ts +4 -0
- package/dist/hooks/use-translations.d.ts.map +1 -1
- package/dist/hooks/use-translations.js +9 -0
- package/dist/hooks/use-tweaks.js +9 -0
- package/dist/hooks/use-window-size.js +14 -0
- package/dist/index-BJ1ayTam.js +126 -0
- package/dist/index-BJ1ayTam.js.map +1 -0
- package/dist/index-C-PuFUZi.js.map +1 -1
- package/dist/{index-BelDtX5M.js → index-DDeQW0JW.js} +399 -404
- package/dist/index-DDeQW0JW.js.map +1 -0
- package/dist/index-DE4shK8D.js +215 -0
- package/dist/index-DE4shK8D.js.map +1 -0
- package/dist/{index-DJSMaZR4.js → index-DlJ_2RBL.js} +2 -2
- package/dist/index-DlJ_2RBL.js.map +1 -0
- package/dist/index.css +1 -1
- package/dist/index.esm-BaIwleSE.js.map +1 -1
- package/dist/index.js +20 -8177
- package/dist/index.js.map +1 -1
- package/dist/{input-CrGrSnUt.js → input-_MVxmIpu.js} +116 -114
- package/dist/input-_MVxmIpu.js.map +1 -0
- package/dist/{input-field-5vYcz5tT.js → input-field-CDCOODOl.js} +63 -47
- package/dist/input-field-CDCOODOl.js.map +1 -0
- package/dist/lib/combi-keys.js +60 -0
- package/dist/lib/dict.d.ts +1 -4
- package/dist/lib/dict.d.ts.map +1 -1
- package/dist/lib/dict.js +28 -0
- package/dist/lib/dom.d.ts +3 -2
- package/dist/lib/dom.d.ts.map +1 -1
- package/dist/lib/dom.js +66 -0
- package/dist/lib/fns.js +46 -0
- package/dist/lib/fzf.d.ts.map +1 -1
- package/dist/lib/fzf.js +115 -0
- package/dist/lib/keyboard-area.js +14 -0
- package/dist/notifications-Dp0ydKJS.js +2576 -0
- package/dist/notifications-Dp0ydKJS.js.map +1 -0
- package/dist/polymorph-B5n9fs_K.js.map +1 -1
- package/dist/preset/plugin.tailwind.d.ts.map +1 -1
- package/dist/preset/plugin.tailwind.js +20 -18
- package/dist/preset/preset.tailwind.js +24 -25
- package/dist/preset/src/styles/common.js +6 -3
- package/dist/preset/src/styles/dark.d.ts.map +1 -1
- package/dist/preset/src/styles/dark.js +9 -5
- package/dist/preset/src/styles/design-tokens.js +68 -89
- package/dist/preset/src/styles/light.d.ts.map +1 -1
- package/dist/preset/src/styles/light.js +9 -5
- package/dist/preset/src/styles/theme.js +7 -4
- package/dist/preset/src/styles/theme.types.d.ts +2 -1
- package/dist/preset/src/styles/theme.types.d.ts.map +1 -1
- package/dist/preset/src/styles/theme.types.js +2 -1
- package/dist/skeleton-BjJobYYf.js +24 -0
- package/dist/skeleton-BjJobYYf.js.map +1 -0
- package/dist/slot-CRyweuj0.js.map +1 -1
- package/dist/styles/common.js +6 -3
- package/dist/styles/dark.d.ts.map +1 -1
- package/dist/styles/dark.js +9 -5
- package/dist/styles/design-tokens.js +68 -89
- package/dist/styles/light.d.ts.map +1 -1
- package/dist/styles/light.js +9 -5
- package/dist/styles/theme.js +7 -4
- package/dist/styles/theme.types.d.ts +2 -1
- package/dist/styles/theme.types.d.ts.map +1 -1
- package/dist/styles/theme.types.js +2 -1
- package/dist/tabs-B0g7YtQv.js +123 -0
- package/dist/tabs-B0g7YtQv.js.map +1 -0
- package/dist/tsconfig.lib.tsbuildinfo +1 -0
- package/dist/types.d.ts +2 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -0
- package/dist/{context-BFXNJVn2.js → use-translations-DSltA7H_.js} +38 -30
- package/dist/use-translations-DSltA7H_.js.map +1 -0
- package/package.json +99 -86
- package/ai/docs/TransferList.md +0 -142
- package/dist/autocomplete-Cn9Z2hLq.js +0 -375
- package/dist/autocomplete-Cn9Z2hLq.js.map +0 -1
- package/dist/calendar-B5lSd0ID.js.map +0 -1
- package/dist/components/form/transfer-list.d.ts +0 -14
- package/dist/components/form/transfer-list.d.ts.map +0 -1
- package/dist/components/form/transfer-list.js +0 -55
- package/dist/components/form/transfer-list.js.map +0 -1
- package/dist/context-BFXNJVn2.js.map +0 -1
- package/dist/date-picker-DwNo22lx.js.map +0 -1
- package/dist/dom-Dl8XH0CK.js.map +0 -1
- package/dist/file-upload-Brf2NkLr.js.map +0 -1
- package/dist/floating-ui.react-QNHG9W4N.js.map +0 -1
- package/dist/fns-D2eyJKd5.js.map +0 -1
- package/dist/index-BelDtX5M.js.map +0 -1
- package/dist/index-DJSMaZR4.js.map +0 -1
- package/dist/index-Z-fZHxfJ.js +0 -335
- package/dist/index-Z-fZHxfJ.js.map +0 -1
- package/dist/input-CrGrSnUt.js.map +0 -1
- package/dist/input-field-5vYcz5tT.js.map +0 -1
- package/dist/notifications-cUdVPs-B.js +0 -2786
- package/dist/notifications-cUdVPs-B.js.map +0 -1
- package/dist/skeleton-D75GFBV6.js +0 -10
- package/dist/skeleton-D75GFBV6.js.map +0 -1
- package/dist/tabs-S00a8qq8.js +0 -106
- package/dist/tabs-S00a8qq8.js.map +0 -1
- package/dist/use-translations-BwLKTrZv.js +0 -10
- package/dist/use-translations-BwLKTrZv.js.map +0 -1
package/ai/docs/List.md
CHANGED
|
@@ -23,19 +23,19 @@ import { AnimatedList, AnimatedListItem } from "@g4rcez/components/list";
|
|
|
23
23
|
|
|
24
24
|
### AnimatedList
|
|
25
25
|
|
|
26
|
-
| Prop
|
|
27
|
-
|
|
28
|
-
| `children` | `React.ReactNode` | —
|
|
26
|
+
| Prop | Type | Default | Description |
|
|
27
|
+
| ---------- | ----------------- | ------- | ---------------------------------------- |
|
|
28
|
+
| `children` | `React.ReactNode` | — | One or more `AnimatedListItem` elements. |
|
|
29
29
|
|
|
30
30
|
### AnimatedListItem
|
|
31
31
|
|
|
32
|
-
| Prop
|
|
33
|
-
|
|
34
|
-
| `title`
|
|
35
|
-
| `description` | `Label`
|
|
36
|
-
| `children`
|
|
37
|
-
| `avatar`
|
|
38
|
-
| `leading`
|
|
32
|
+
| Prop | Type | Default | Description |
|
|
33
|
+
| ------------- | -------------------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------- |
|
|
34
|
+
| `title` | `Label` | — | Primary heading shown in the list row and in the overlay header. |
|
|
35
|
+
| `description` | `Label` | — | Secondary text rendered below the title in both the row and the overlay. |
|
|
36
|
+
| `children` | `Label` | — | Content rendered inside the expanded overlay below the header section. |
|
|
37
|
+
| `avatar` | `Label` | — | Optional leading node (image, icon, or element) displayed before the title in the row. |
|
|
38
|
+
| `leading` | `React.FC<{ open: () => void }>` | — | Optional render-prop component at the trailing end of the row. Receives an `open` callback to open the overlay programmatically. |
|
|
39
39
|
|
|
40
40
|
`Label` is `string | number | ReactNode`.
|
|
41
41
|
|
|
@@ -43,19 +43,19 @@ import { AnimatedList, AnimatedListItem } from "@g4rcez/components/list";
|
|
|
43
43
|
|
|
44
44
|
Tokens this component reads. Customize by overriding these CSS variables in your theme.
|
|
45
45
|
|
|
46
|
-
| Token
|
|
47
|
-
|
|
48
|
-
| `border-card-border`
|
|
49
|
-
| `bg-card-background`
|
|
50
|
-
| `rounded-card`
|
|
51
|
-
| `shadow-shadow-card`
|
|
52
|
-
| `text-foreground`
|
|
53
|
-
| `text-secondary`
|
|
54
|
-
| `text-primary`
|
|
55
|
-
| `text-danger`
|
|
46
|
+
| Token | CSS Variable | Purpose |
|
|
47
|
+
| --------------------- | -------------------- | ------------------------------------------------------------------- |
|
|
48
|
+
| `border-card-border` | `--card-border` | Row separator and overlay card border |
|
|
49
|
+
| `bg-card-background` | `--card-background` | Overlay card background color |
|
|
50
|
+
| `rounded-card` | `--radius-card` | Overlay card corner radius |
|
|
51
|
+
| `shadow-shadow-card` | `--shadow-card` | Overlay card drop shadow |
|
|
52
|
+
| `text-foreground` | `--foreground` | Default text color for row and overlay content |
|
|
53
|
+
| `text-secondary` | `--secondary` | Description text color |
|
|
54
|
+
| `text-primary` | `--primary` | Row title hover color and avatar focus ring |
|
|
55
|
+
| `text-danger` | `--danger` | Close button hover color in the overlay |
|
|
56
56
|
| `bg-floating-overlay` | `--floating-overlay` | Semi-transparent backdrop behind the overlay (used at 70 % opacity) |
|
|
57
|
-
| `z-floating`
|
|
58
|
-
| `z-overlay`
|
|
57
|
+
| `z-floating` | `--z-floating` | `z-index` for the overlay card (value: 22) |
|
|
58
|
+
| `z-overlay` | `--z-overlay` | `z-index` for the backdrop scrim |
|
|
59
59
|
|
|
60
60
|
## Examples
|
|
61
61
|
|
|
@@ -65,24 +65,20 @@ Tokens this component reads. Customize by overriding these CSS variables in your
|
|
|
65
65
|
import { AnimatedList, AnimatedListItem } from "@g4rcez/components/list";
|
|
66
66
|
|
|
67
67
|
const members = [
|
|
68
|
-
|
|
69
|
-
|
|
68
|
+
{ id: "1", name: "Alice Johnson", role: "Engineering" },
|
|
69
|
+
{ id: "2", name: "Bob Smith", role: "Design" },
|
|
70
70
|
];
|
|
71
71
|
|
|
72
72
|
export function TeamList() {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
>
|
|
81
|
-
|
|
82
|
-
</AnimatedListItem>
|
|
83
|
-
))}
|
|
84
|
-
</AnimatedList>
|
|
85
|
-
);
|
|
73
|
+
return (
|
|
74
|
+
<AnimatedList>
|
|
75
|
+
{members.map((m) => (
|
|
76
|
+
<AnimatedListItem key={m.id} title={m.name} description={m.role}>
|
|
77
|
+
<p className="text-foreground">Full profile for {m.name}.</p>
|
|
78
|
+
</AnimatedListItem>
|
|
79
|
+
))}
|
|
80
|
+
</AnimatedList>
|
|
81
|
+
);
|
|
86
82
|
}
|
|
87
83
|
```
|
|
88
84
|
|
|
@@ -93,20 +89,20 @@ import { AnimatedList, AnimatedListItem } from "@g4rcez/components/list";
|
|
|
93
89
|
import { UserCircleIcon } from "@phosphor-icons/react";
|
|
94
90
|
|
|
95
91
|
export function UserDirectory() {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
92
|
+
return (
|
|
93
|
+
<AnimatedList>
|
|
94
|
+
<AnimatedListItem
|
|
95
|
+
title="Carol White"
|
|
96
|
+
description="Product Manager"
|
|
97
|
+
avatar={<UserCircleIcon size={40} className="text-muted-foreground" />}
|
|
98
|
+
>
|
|
99
|
+
<div className="flex flex-col gap-2 text-foreground">
|
|
100
|
+
<span>Department: Product</span>
|
|
101
|
+
<span>Location: San Francisco</span>
|
|
102
|
+
</div>
|
|
103
|
+
</AnimatedListItem>
|
|
104
|
+
</AnimatedList>
|
|
105
|
+
);
|
|
110
106
|
}
|
|
111
107
|
```
|
|
112
108
|
|
|
@@ -117,24 +113,24 @@ import { AnimatedList, AnimatedListItem } from "@g4rcez/components/list";
|
|
|
117
113
|
import { Button } from "@g4rcez/components/button";
|
|
118
114
|
|
|
119
115
|
export function OrderList({ orders }: { orders: Order[] }) {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
116
|
+
return (
|
|
117
|
+
<AnimatedList>
|
|
118
|
+
{orders.map((order) => (
|
|
119
|
+
<AnimatedListItem
|
|
120
|
+
key={order.id}
|
|
121
|
+
title={`Order #${order.id}`}
|
|
122
|
+
description={`Total: ${order.total}`}
|
|
123
|
+
leading={({ open }) => (
|
|
124
|
+
<Button size="small" theme="ghost-muted" onClick={open}>
|
|
125
|
+
View details
|
|
126
|
+
</Button>
|
|
127
|
+
)}
|
|
128
|
+
>
|
|
129
|
+
<OrderDetailContent order={order} />
|
|
130
|
+
</AnimatedListItem>
|
|
131
|
+
))}
|
|
132
|
+
</AnimatedList>
|
|
133
|
+
);
|
|
138
134
|
}
|
|
139
135
|
```
|
|
140
136
|
|
|
@@ -145,25 +141,32 @@ import { AnimatedList, AnimatedListItem } from "@g4rcez/components/list";
|
|
|
145
141
|
import { CheckCircleIcon, WarningIcon } from "@phosphor-icons/react";
|
|
146
142
|
|
|
147
143
|
const feed = [
|
|
148
|
-
|
|
149
|
-
|
|
144
|
+
{
|
|
145
|
+
id: "n1",
|
|
146
|
+
icon: <CheckCircleIcon size={20} className="text-success" />,
|
|
147
|
+
title: "Deployment succeeded",
|
|
148
|
+
time: "2 min ago",
|
|
149
|
+
detail: "All 3 services are healthy.",
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
id: "n2",
|
|
153
|
+
icon: <WarningIcon size={20} className="text-warn" />,
|
|
154
|
+
title: "High CPU usage",
|
|
155
|
+
time: "10 min ago",
|
|
156
|
+
detail: "Instance i-0ab2 is at 94 %.",
|
|
157
|
+
},
|
|
150
158
|
];
|
|
151
159
|
|
|
152
160
|
export function NotificationFeed() {
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
<p className="text-sm text-muted-foreground">{n.detail}</p>
|
|
163
|
-
</AnimatedListItem>
|
|
164
|
-
))}
|
|
165
|
-
</AnimatedList>
|
|
166
|
-
);
|
|
161
|
+
return (
|
|
162
|
+
<AnimatedList>
|
|
163
|
+
{feed.map((n) => (
|
|
164
|
+
<AnimatedListItem key={n.id} title={n.title} description={n.time} avatar={n.icon}>
|
|
165
|
+
<p className="text-sm text-muted-foreground">{n.detail}</p>
|
|
166
|
+
</AnimatedListItem>
|
|
167
|
+
))}
|
|
168
|
+
</AnimatedList>
|
|
169
|
+
);
|
|
167
170
|
}
|
|
168
171
|
```
|
|
169
172
|
|
package/ai/docs/Menu.md
CHANGED
|
@@ -21,39 +21,39 @@ import { Menu, MenuItem } from "@g4rcez/components/menu";
|
|
|
21
21
|
|
|
22
22
|
### Menu
|
|
23
23
|
|
|
24
|
-
| Prop
|
|
25
|
-
|
|
26
|
-
| `label`
|
|
27
|
-
| `title`
|
|
28
|
-
| `hover`
|
|
29
|
-
| `open`
|
|
30
|
-
| `asChild`
|
|
31
|
-
| `restoreFocus`
|
|
32
|
-
| `floatingClassName` | `string`
|
|
33
|
-
| `FloatingComponent` | `React.ElementType`
|
|
24
|
+
| Prop | Type | Default | Description |
|
|
25
|
+
| ------------------- | ------------------------------ | ------- | ----------------------------------------------------------------------------------------------- |
|
|
26
|
+
| `label` | `string \| React.ReactElement` | — | Trigger content |
|
|
27
|
+
| `title` | `string` | — | Required for accessibility when `label` is an element; also used for typeahead |
|
|
28
|
+
| `hover` | `boolean` | `true` | Open on hover in addition to click |
|
|
29
|
+
| `open` | `boolean` | `false` | Initial open state |
|
|
30
|
+
| `asChild` | `boolean` | `false` | Use the `Slot` pattern — merge props onto the child element instead of wrapping in a `<button>` |
|
|
31
|
+
| `restoreFocus` | `boolean` | `false` | Restore focus to the trigger after the menu closes |
|
|
32
|
+
| `floatingClassName` | `string` | — | Additional CSS classes for the floating list container |
|
|
33
|
+
| `FloatingComponent` | `React.ElementType` | `"div"` | Element type for the floating container |
|
|
34
34
|
|
|
35
35
|
### MenuItem
|
|
36
36
|
|
|
37
|
-
| Prop
|
|
38
|
-
|
|
39
|
-
| `title`
|
|
40
|
-
| `children` | `React.ReactNode`
|
|
41
|
-
| `disabled` | `boolean`
|
|
42
|
-
| `Right`
|
|
43
|
-
| `onClick`
|
|
37
|
+
| Prop | Type | Default | Description |
|
|
38
|
+
| ---------- | --------------------- | ------- | ---------------------------------------------------------------- |
|
|
39
|
+
| `title` | `string` | — | Item text; used for typeahead matching and the `title` attribute |
|
|
40
|
+
| `children` | `React.ReactNode` | — | Visual content of the item |
|
|
41
|
+
| `disabled` | `boolean` | `false` | Removes item from keyboard navigation and typeahead |
|
|
42
|
+
| `Right` | `React.FC<IconProps>` | — | Icon rendered on the right side |
|
|
43
|
+
| `onClick` | `function` | — | Click handler |
|
|
44
44
|
|
|
45
45
|
## Design Tokens
|
|
46
46
|
|
|
47
47
|
Tokens this component reads. Customize by overriding these CSS variables in your theme.
|
|
48
48
|
|
|
49
|
-
| Token
|
|
50
|
-
|
|
51
|
-
| `bg-floating-background`
|
|
52
|
-
| `border-floating-border`
|
|
53
|
-
| `shadow-shadow-floating`
|
|
54
|
-
| `z-tooltip`
|
|
55
|
-
| `bg-primary`
|
|
56
|
-
| `text-primary-foreground` | `--primary-foreground`
|
|
49
|
+
| Token | CSS Variable | Purpose |
|
|
50
|
+
| ------------------------- | ----------------------- | ------------------------------ |
|
|
51
|
+
| `bg-floating-background` | `--floating-background` | Menu list surface background |
|
|
52
|
+
| `border-floating-border` | `--floating-border` | Menu list border |
|
|
53
|
+
| `shadow-shadow-floating` | `--shadow-floating` | Menu list drop shadow |
|
|
54
|
+
| `z-tooltip` | `--z-tooltip` | Z-index of the floating list |
|
|
55
|
+
| `bg-primary` | `--primary` | Active/focused item background |
|
|
56
|
+
| `text-primary-foreground` | `--primary-foreground` | Active/focused item text |
|
|
57
57
|
|
|
58
58
|
## Examples
|
|
59
59
|
|
|
@@ -63,9 +63,9 @@ Tokens this component reads. Customize by overriding these CSS variables in your
|
|
|
63
63
|
import { Menu, MenuItem } from "@g4rcez/components/menu";
|
|
64
64
|
|
|
65
65
|
<Menu label="Actions">
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
</Menu
|
|
66
|
+
<MenuItem title="Edit">Edit Profile</MenuItem>
|
|
67
|
+
<MenuItem title="Share">Share Profile</MenuItem>
|
|
68
|
+
</Menu>;
|
|
69
69
|
```
|
|
70
70
|
|
|
71
71
|
### With Icons and Shortcuts
|
|
@@ -75,11 +75,13 @@ import { PencilSimpleIcon, TrashIcon } from "@phosphor-icons/react";
|
|
|
75
75
|
import { Menu, MenuItem } from "@g4rcez/components/menu";
|
|
76
76
|
|
|
77
77
|
<Menu label="Settings">
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
78
|
+
<MenuItem title="Edit" Right={PencilSimpleIcon}>
|
|
79
|
+
Edit
|
|
80
|
+
</MenuItem>
|
|
81
|
+
<MenuItem title="Delete" Right={TrashIcon} className="text-danger">
|
|
82
|
+
Delete
|
|
83
|
+
</MenuItem>
|
|
84
|
+
</Menu>;
|
|
83
85
|
```
|
|
84
86
|
|
|
85
87
|
### Nested Submenus
|
|
@@ -88,15 +90,15 @@ import { Menu, MenuItem } from "@g4rcez/components/menu";
|
|
|
88
90
|
import { Menu, MenuItem } from "@g4rcez/components/menu";
|
|
89
91
|
|
|
90
92
|
<Menu label="Actions">
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
</Menu
|
|
93
|
+
<MenuItem title="Edit">Edit Profile</MenuItem>
|
|
94
|
+
<MenuItem title="Share">Share Profile</MenuItem>
|
|
95
|
+
<Menu label="More Options" title="More Options">
|
|
96
|
+
<MenuItem title="Archive">Archive Account</MenuItem>
|
|
97
|
+
<MenuItem title="Delete" className="text-danger">
|
|
98
|
+
Delete Account
|
|
99
|
+
</MenuItem>
|
|
100
|
+
</Menu>
|
|
101
|
+
</Menu>;
|
|
100
102
|
```
|
|
101
103
|
|
|
102
104
|
### Using asChild for Custom Triggers
|
|
@@ -105,14 +107,10 @@ import { Menu, MenuItem } from "@g4rcez/components/menu";
|
|
|
105
107
|
import { Menu, MenuItem } from "@g4rcez/components/menu";
|
|
106
108
|
import { Button } from "@g4rcez/components/button";
|
|
107
109
|
|
|
108
|
-
<Menu
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
>
|
|
113
|
-
<MenuItem title="Save">Save Version</MenuItem>
|
|
114
|
-
<MenuItem title="Publish">Publish Now</MenuItem>
|
|
115
|
-
</Menu>
|
|
110
|
+
<Menu label={<Button theme="primary">Main Action</Button>} asChild title="Main Action">
|
|
111
|
+
<MenuItem title="Save">Save Version</MenuItem>
|
|
112
|
+
<MenuItem title="Publish">Publish Now</MenuItem>
|
|
113
|
+
</Menu>;
|
|
116
114
|
```
|
|
117
115
|
|
|
118
116
|
### Disabled Items
|
|
@@ -121,10 +119,14 @@ import { Button } from "@g4rcez/components/button";
|
|
|
121
119
|
import { Menu, MenuItem } from "@g4rcez/components/menu";
|
|
122
120
|
|
|
123
121
|
<Menu label="Options">
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
</
|
|
122
|
+
<MenuItem title="Export">Export Data</MenuItem>
|
|
123
|
+
<MenuItem title="Import" disabled>
|
|
124
|
+
Import (unavailable)
|
|
125
|
+
</MenuItem>
|
|
126
|
+
<MenuItem title="Delete" className="text-danger">
|
|
127
|
+
Delete
|
|
128
|
+
</MenuItem>
|
|
129
|
+
</Menu>;
|
|
128
130
|
```
|
|
129
131
|
|
|
130
132
|
## Do
|
|
@@ -151,12 +153,12 @@ import { Menu, MenuItem } from "@g4rcez/components/menu";
|
|
|
151
153
|
|
|
152
154
|
## Data Attributes
|
|
153
155
|
|
|
154
|
-
| Attribute
|
|
155
|
-
|
|
156
|
-
| `data-open`
|
|
157
|
-
| `data-nested`
|
|
158
|
-
| `data-focus-inside` | Menu trigger
|
|
159
|
-
| `data-active`
|
|
156
|
+
| Attribute | Applied to | Description |
|
|
157
|
+
| ------------------- | ---------------------- | -------------------------------------------- |
|
|
158
|
+
| `data-open` | Menu trigger, MenuItem | Present when the menu/item is open |
|
|
159
|
+
| `data-nested` | Nested menu trigger | Present on triggers that open a submenu |
|
|
160
|
+
| `data-focus-inside` | Menu trigger | Present when focus is inside an open submenu |
|
|
161
|
+
| `data-active` | MenuItem | Present on the currently focused item |
|
|
160
162
|
|
|
161
163
|
## Notes
|
|
162
164
|
|