@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/Tooltip.md
CHANGED
|
@@ -19,19 +19,19 @@ import { Tooltip } from "@g4rcez/components/tooltip";
|
|
|
19
19
|
|
|
20
20
|
## Props
|
|
21
21
|
|
|
22
|
-
| Prop
|
|
23
|
-
|
|
24
|
-
| `title`
|
|
25
|
-
| `children`
|
|
26
|
-
| `open`
|
|
27
|
-
| `enabled`
|
|
28
|
-
| `hover`
|
|
29
|
-
| `focus`
|
|
30
|
-
| `popover`
|
|
31
|
-
| `placement`
|
|
32
|
-
| `followCursor` | `boolean`
|
|
33
|
-
| `onChange`
|
|
34
|
-
| `as`
|
|
22
|
+
| Prop | Type | Default | Description |
|
|
23
|
+
| -------------- | ------------------------- | -------- | ------------------------------------------------------------- |
|
|
24
|
+
| `title` | `Label` | — | Tooltip trigger element — the element the user interacts with |
|
|
25
|
+
| `children` | `React.ReactNode` | — | Tooltip popup content |
|
|
26
|
+
| `open` | `boolean` | — | Controlled open state |
|
|
27
|
+
| `enabled` | `boolean` | `true` | Enable or disable the tooltip entirely |
|
|
28
|
+
| `hover` | `boolean` | `true` | Show tooltip on hover |
|
|
29
|
+
| `focus` | `boolean` | `true` | Show tooltip on focus |
|
|
30
|
+
| `popover` | `boolean` | `true` | Show tooltip on click |
|
|
31
|
+
| `placement` | `Placement` | auto | Preferred placement; falls back via `autoPlacement` |
|
|
32
|
+
| `followCursor` | `boolean` | `false` | Tooltip follows the mouse cursor position |
|
|
33
|
+
| `onChange` | `(open: boolean) => void` | — | Open state change handler |
|
|
34
|
+
| `as` | `React.ElementType` | `"span"` | HTML element to render the trigger wrapper as |
|
|
35
35
|
|
|
36
36
|
> Note: `title` is the **trigger** and `children` is the **popup content**. This is the inverse of the HTML `title` attribute convention — the prop name matches how the component API evolved.
|
|
37
37
|
|
|
@@ -39,14 +39,14 @@ import { Tooltip } from "@g4rcez/components/tooltip";
|
|
|
39
39
|
|
|
40
40
|
Tokens this component reads. Customize by overriding these CSS variables in your theme.
|
|
41
41
|
|
|
42
|
-
| Token
|
|
43
|
-
|
|
44
|
-
| `bg-tooltip-background`
|
|
45
|
-
| `text-tooltip-foreground` | `--tooltip-foreground` | Tooltip popup text color
|
|
46
|
-
| `border-tooltip-border`
|
|
47
|
-
| `fill-tooltip-background` | `--tooltip-background` | Arrow fill color
|
|
48
|
-
| `z-tooltip`
|
|
49
|
-
| `shadow-shadow-floating`
|
|
42
|
+
| Token | CSS Variable | Purpose |
|
|
43
|
+
| ------------------------- | ---------------------- | ------------------------------------- |
|
|
44
|
+
| `bg-tooltip-background` | `--tooltip-background` | Tooltip popup background |
|
|
45
|
+
| `text-tooltip-foreground` | `--tooltip-foreground` | Tooltip popup text color |
|
|
46
|
+
| `border-tooltip-border` | `--tooltip-border` | Tooltip popup border and arrow stroke |
|
|
47
|
+
| `fill-tooltip-background` | `--tooltip-background` | Arrow fill color |
|
|
48
|
+
| `z-tooltip` | `--z-tooltip` | Z-index of the tooltip popup |
|
|
49
|
+
| `shadow-shadow-floating` | `--shadow-floating` | Tooltip drop shadow |
|
|
50
50
|
|
|
51
51
|
## Placement Options
|
|
52
52
|
|
|
@@ -60,8 +60,8 @@ Supports all Floating UI placements: `"top"`, `"top-start"`, `"top-end"`, `"bott
|
|
|
60
60
|
import { Tooltip } from "@g4rcez/components/tooltip";
|
|
61
61
|
|
|
62
62
|
<Tooltip title={<button className="px-4 py-2 bg-primary text-primary-foreground rounded-button">Hover me</button>}>
|
|
63
|
-
|
|
64
|
-
</Tooltip
|
|
63
|
+
This is a helpful tooltip
|
|
64
|
+
</Tooltip>;
|
|
65
65
|
```
|
|
66
66
|
|
|
67
67
|
### Icon Button with Label
|
|
@@ -71,9 +71,15 @@ import { FloppyDiskIcon } from "@phosphor-icons/react";
|
|
|
71
71
|
import { Tooltip } from "@g4rcez/components/tooltip";
|
|
72
72
|
import { Button } from "@g4rcez/components/button";
|
|
73
73
|
|
|
74
|
-
<Tooltip
|
|
75
|
-
|
|
76
|
-
|
|
74
|
+
<Tooltip
|
|
75
|
+
title={
|
|
76
|
+
<Button size="icon" theme="ghost-neutral">
|
|
77
|
+
<FloppyDiskIcon size={16} />
|
|
78
|
+
</Button>
|
|
79
|
+
}
|
|
80
|
+
>
|
|
81
|
+
Save (Ctrl+S)
|
|
82
|
+
</Tooltip>;
|
|
77
83
|
```
|
|
78
84
|
|
|
79
85
|
### Interaction Modes
|
|
@@ -81,32 +87,30 @@ import { Button } from "@g4rcez/components/button";
|
|
|
81
87
|
```tsx
|
|
82
88
|
import { Tooltip } from "@g4rcez/components/tooltip";
|
|
83
89
|
|
|
84
|
-
{
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
Shown on hover
|
|
91
|
-
</Tooltip>
|
|
90
|
+
{
|
|
91
|
+
/* Hover only */
|
|
92
|
+
}
|
|
93
|
+
<Tooltip title={<button className="px-4 py-2 rounded-button border border-border text-foreground">Hover Only</button>} focus={false} popover={false}>
|
|
94
|
+
Shown on hover
|
|
95
|
+
</Tooltip>;
|
|
92
96
|
|
|
93
|
-
{
|
|
97
|
+
{
|
|
98
|
+
/* Focus only — keyboard accessible */
|
|
99
|
+
}
|
|
94
100
|
<Tooltip
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
101
|
+
title={<input placeholder="Focus me with tab" className="px-3 py-2 rounded-button border border-border bg-background text-foreground" />}
|
|
102
|
+
hover={false}
|
|
103
|
+
popover={false}
|
|
98
104
|
>
|
|
99
|
-
|
|
100
|
-
</Tooltip
|
|
105
|
+
Shown on focus
|
|
106
|
+
</Tooltip>;
|
|
101
107
|
|
|
102
|
-
{
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
Shown on click
|
|
109
|
-
</Tooltip>
|
|
108
|
+
{
|
|
109
|
+
/* Click only — acts like a popover */
|
|
110
|
+
}
|
|
111
|
+
<Tooltip title={<button className="px-4 py-2 bg-primary text-primary-foreground rounded-button">Click me</button>} hover={false} focus={false}>
|
|
112
|
+
Shown on click
|
|
113
|
+
</Tooltip>;
|
|
110
114
|
```
|
|
111
115
|
|
|
112
116
|
### Cursor-Following Tooltip
|
|
@@ -115,16 +119,16 @@ import { Tooltip } from "@g4rcez/components/tooltip";
|
|
|
115
119
|
import { Tooltip } from "@g4rcez/components/tooltip";
|
|
116
120
|
|
|
117
121
|
<Tooltip
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
122
|
+
followCursor
|
|
123
|
+
placement="top-start"
|
|
124
|
+
title={
|
|
125
|
+
<div className="w-full h-32 rounded-card border border-border bg-muted flex items-center justify-center">
|
|
126
|
+
<span className="text-muted-foreground">Move your mouse over this area</span>
|
|
127
|
+
</div>
|
|
128
|
+
}
|
|
125
129
|
>
|
|
126
|
-
|
|
127
|
-
</Tooltip
|
|
130
|
+
Follows your cursor
|
|
131
|
+
</Tooltip>;
|
|
128
132
|
```
|
|
129
133
|
|
|
130
134
|
### Controlled Tooltip
|
|
@@ -134,31 +138,31 @@ import { useState } from "react";
|
|
|
134
138
|
import { Tooltip } from "@g4rcez/components/tooltip";
|
|
135
139
|
|
|
136
140
|
function ControlledTooltip() {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
141
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
142
|
+
|
|
143
|
+
return (
|
|
144
|
+
<>
|
|
145
|
+
<Tooltip
|
|
146
|
+
title={<button className="px-4 py-2 rounded-button border border-border text-foreground">Target</button>}
|
|
147
|
+
open={isOpen}
|
|
148
|
+
onChange={setIsOpen}
|
|
149
|
+
hover={false}
|
|
150
|
+
focus={false}
|
|
151
|
+
popover={false}
|
|
152
|
+
>
|
|
153
|
+
Externally controlled
|
|
154
|
+
</Tooltip>
|
|
155
|
+
|
|
156
|
+
<div className="mt-4 flex gap-2">
|
|
157
|
+
<button onClick={() => setIsOpen(true)} className="px-3 py-1 bg-primary text-primary-foreground rounded-button text-sm">
|
|
158
|
+
Show
|
|
159
|
+
</button>
|
|
160
|
+
<button onClick={() => setIsOpen(false)} className="px-3 py-1 bg-muted text-foreground rounded-button text-sm">
|
|
161
|
+
Hide
|
|
162
|
+
</button>
|
|
163
|
+
</div>
|
|
164
|
+
</>
|
|
165
|
+
);
|
|
162
166
|
}
|
|
163
167
|
```
|
|
164
168
|
|
|
@@ -167,21 +171,19 @@ function ControlledTooltip() {
|
|
|
167
171
|
```tsx
|
|
168
172
|
import { Tooltip } from "@g4rcez/components/tooltip";
|
|
169
173
|
|
|
170
|
-
{
|
|
171
|
-
<
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
</Tooltip>
|
|
174
|
+
{
|
|
175
|
+
/* Render as <div> */
|
|
176
|
+
}
|
|
177
|
+
<Tooltip as="div" title={<span className="p-3 bg-muted rounded-button inline-block text-foreground">Div with tooltip</span>}>
|
|
178
|
+
Tooltip on a div
|
|
179
|
+
</Tooltip>;
|
|
177
180
|
|
|
178
|
-
{
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
</Tooltip>
|
|
181
|
+
{
|
|
182
|
+
/* Wrap a paragraph */
|
|
183
|
+
}
|
|
184
|
+
<Tooltip as="p" title={<span className="text-primary cursor-pointer">Hover this paragraph</span>}>
|
|
185
|
+
Paragraph tooltip
|
|
186
|
+
</Tooltip>;
|
|
185
187
|
```
|
|
186
188
|
|
|
187
189
|
### Form Field Help Tooltip
|
|
@@ -191,13 +193,11 @@ import { InfoIcon } from "@phosphor-icons/react";
|
|
|
191
193
|
import { Tooltip } from "@g4rcez/components/tooltip";
|
|
192
194
|
|
|
193
195
|
<label className="block text-sm font-medium text-foreground mb-1">
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
</Tooltip>
|
|
200
|
-
</label>
|
|
196
|
+
Username
|
|
197
|
+
<Tooltip title={<InfoIcon className="inline ml-1 text-muted-foreground cursor-help" size={14} />}>
|
|
198
|
+
3–20 characters; letters, numbers, and underscores only
|
|
199
|
+
</Tooltip>
|
|
200
|
+
</label>;
|
|
201
201
|
```
|
|
202
202
|
|
|
203
203
|
## Do
|
package/ai/docs/Typography.md
CHANGED
|
@@ -14,13 +14,7 @@ A set of text and page-structure components for consistent typographic styling a
|
|
|
14
14
|
## Import
|
|
15
15
|
|
|
16
16
|
```tsx
|
|
17
|
-
import {
|
|
18
|
-
Paragraph,
|
|
19
|
-
Description,
|
|
20
|
-
Info,
|
|
21
|
-
PageTitle,
|
|
22
|
-
PageHeader,
|
|
23
|
-
} from "@g4rcez/components";
|
|
17
|
+
import { Paragraph, Description, Info, PageTitle, PageHeader } from "@g4rcez/components";
|
|
24
18
|
```
|
|
25
19
|
|
|
26
20
|
## Props
|
|
@@ -29,66 +23,66 @@ import {
|
|
|
29
23
|
|
|
30
24
|
Renders a `<p>` element with `text-base leading-snug`.
|
|
31
25
|
|
|
32
|
-
| Prop
|
|
33
|
-
|
|
34
|
-
| `children`
|
|
35
|
-
| `className` | `string`
|
|
36
|
-
| `...props`
|
|
26
|
+
| Prop | Type | Default | Description |
|
|
27
|
+
| ----------- | --------------------------- | ------- | ----------------------------- |
|
|
28
|
+
| `children` | `React.ReactNode` | - | Paragraph content |
|
|
29
|
+
| `className` | `string` | - | Additional CSS classes |
|
|
30
|
+
| `...props` | `React.ComponentProps<"p">` | - | All standard `<p>` attributes |
|
|
37
31
|
|
|
38
32
|
### Description
|
|
39
33
|
|
|
40
34
|
Renders a `<p>` element with `text-sm text-secondary mb-kilo`.
|
|
41
35
|
|
|
42
|
-
| Prop
|
|
43
|
-
|
|
44
|
-
| `children`
|
|
45
|
-
| `className` | `string`
|
|
46
|
-
| `...props`
|
|
36
|
+
| Prop | Type | Default | Description |
|
|
37
|
+
| ----------- | --------------------------- | ------- | ----------------------------- |
|
|
38
|
+
| `children` | `React.ReactNode` | - | Description content |
|
|
39
|
+
| `className` | `string` | - | Additional CSS classes |
|
|
40
|
+
| `...props` | `React.ComponentProps<"p">` | - | All standard `<p>` attributes |
|
|
47
41
|
|
|
48
42
|
### Info
|
|
49
43
|
|
|
50
44
|
Renders a labeled key-value pair in a flex container.
|
|
51
45
|
|
|
52
|
-
| Prop
|
|
53
|
-
|
|
54
|
-
| `label`
|
|
55
|
-
| `children`
|
|
56
|
-
| `row`
|
|
57
|
-
| `disabled`
|
|
58
|
-
| `className`
|
|
59
|
-
| `info`
|
|
60
|
-
| `infoDescription` | `string`
|
|
46
|
+
| Prop | Type | Default | Description |
|
|
47
|
+
| ----------------- | ----------------- | ------- | ---------------------------------------------------------- |
|
|
48
|
+
| `label` | `Label` | - | The label text (required) |
|
|
49
|
+
| `children` | `React.ReactNode` | - | The value content |
|
|
50
|
+
| `row` | `boolean` | `false` | Renders label and value side-by-side instead of stacked |
|
|
51
|
+
| `disabled` | `Label` | - | When set, applies `text-disabled` to the value |
|
|
52
|
+
| `className` | `string` | - | Additional classes for the container |
|
|
53
|
+
| `info` | `Label` | - | Reserved field (available in type, not currently rendered) |
|
|
54
|
+
| `infoDescription` | `string` | - | Reserved field (available in type, not currently rendered) |
|
|
61
55
|
|
|
62
56
|
### PageTitle
|
|
63
57
|
|
|
64
58
|
Renders an `<h2>` title with a paragraph subtitle.
|
|
65
59
|
|
|
66
|
-
| Prop
|
|
67
|
-
|
|
68
|
-
| `title`
|
|
69
|
-
| `children` | `React.ReactNode` | -
|
|
60
|
+
| Prop | Type | Default | Description |
|
|
61
|
+
| ---------- | ----------------- | ------- | ----------------------------------------- |
|
|
62
|
+
| `title` | `string` | - | Main title text (required) |
|
|
63
|
+
| `children` | `React.ReactNode` | - | Subtitle or description beneath the title |
|
|
70
64
|
|
|
71
65
|
### PageHeader
|
|
72
66
|
|
|
73
67
|
Renders a `<header>` element with title/description on the left and action slots on the right.
|
|
74
68
|
|
|
75
|
-
| Prop
|
|
76
|
-
|
|
77
|
-
| `title`
|
|
78
|
-
| `description` | `Label`
|
|
79
|
-
| `children`
|
|
69
|
+
| Prop | Type | Default | Description |
|
|
70
|
+
| ------------- | ----------------- | ------- | ---------------------------------------------- |
|
|
71
|
+
| `title` | `string` | - | Page title (required) |
|
|
72
|
+
| `description` | `Label` | - | Short description beneath the title (required) |
|
|
73
|
+
| `children` | `React.ReactNode` | - | Action buttons or other right-aligned content |
|
|
80
74
|
|
|
81
75
|
## Design Tokens
|
|
82
76
|
|
|
83
77
|
Tokens these components read. Customize by overriding these CSS variables in your theme.
|
|
84
78
|
|
|
85
|
-
| Token
|
|
86
|
-
|
|
87
|
-
| `text-secondary` | `--secondary`
|
|
88
|
-
| `text-disabled`
|
|
89
|
-
| `mb-kilo`
|
|
90
|
-
| `gap-mega`
|
|
91
|
-
| `gap-kilo`
|
|
79
|
+
| Token | CSS Variable | Purpose |
|
|
80
|
+
| ---------------- | ---------------- | ---------------------------------------- |
|
|
81
|
+
| `text-secondary` | `--secondary` | Description and subtitle text color |
|
|
82
|
+
| `text-disabled` | `--disabled` | Disabled value text in `Info` |
|
|
83
|
+
| `mb-kilo` | `--spacing-kilo` | Bottom margin on `Description` |
|
|
84
|
+
| `gap-mega` | `--spacing-mega` | Gap in `PageHeader` between sections |
|
|
85
|
+
| `gap-kilo` | `--spacing-kilo` | Gap between action items in `PageHeader` |
|
|
92
86
|
|
|
93
87
|
## Examples
|
|
94
88
|
|
|
@@ -98,17 +92,17 @@ Tokens these components read. Customize by overriding these CSS variables in you
|
|
|
98
92
|
import { Button } from "@g4rcez/components/button";
|
|
99
93
|
|
|
100
94
|
<PageHeader title="Orders" description="List of all orders from your shop">
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
95
|
+
<Button size="small">Export CSV</Button>
|
|
96
|
+
<Button theme="primary" size="small">
|
|
97
|
+
Create Order
|
|
98
|
+
</Button>
|
|
99
|
+
</PageHeader>;
|
|
104
100
|
```
|
|
105
101
|
|
|
106
102
|
### Standalone Page Title
|
|
107
103
|
|
|
108
104
|
```tsx
|
|
109
|
-
<PageTitle title="Dashboard">
|
|
110
|
-
Overview of your application metrics
|
|
111
|
-
</PageTitle>
|
|
105
|
+
<PageTitle title="Dashboard">Overview of your application metrics</PageTitle>
|
|
112
106
|
```
|
|
113
107
|
|
|
114
108
|
### Paragraph and Description
|
|
@@ -142,7 +136,7 @@ import { Button } from "@g4rcez/components/button";
|
|
|
142
136
|
|
|
143
137
|
```tsx
|
|
144
138
|
<Info label="API Key" disabled="true">
|
|
145
|
-
|
|
139
|
+
sk-••••••••••••••••
|
|
146
140
|
</Info>
|
|
147
141
|
```
|
|
148
142
|
|
|
@@ -150,12 +144,18 @@ import { Button } from "@g4rcez/components/button";
|
|
|
150
144
|
|
|
151
145
|
```tsx
|
|
152
146
|
<div className="flex flex-col gap-base rounded-card border border-border bg-card-background p-4">
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
147
|
+
<PageTitle title="John Doe">Software Engineer</PageTitle>
|
|
148
|
+
<div className="flex flex-col gap-sm">
|
|
149
|
+
<Info label="Email" row>
|
|
150
|
+
john@example.com
|
|
151
|
+
</Info>
|
|
152
|
+
<Info label="Team" row>
|
|
153
|
+
Platform
|
|
154
|
+
</Info>
|
|
155
|
+
<Info label="Joined" row>
|
|
156
|
+
March 2024
|
|
157
|
+
</Info>
|
|
158
|
+
</div>
|
|
159
159
|
</div>
|
|
160
160
|
```
|
|
161
161
|
|