@g4rcez/components 4.0.1 → 4.1.1
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 +233 -0
- package/ai/docs/Alert.md +166 -0
- package/ai/docs/AnimatedList.md +206 -0
- package/ai/docs/Autocomplete.md +221 -0
- package/ai/docs/Button.md +182 -0
- package/ai/docs/Calendar.md +185 -0
- package/ai/docs/Card.md +178 -0
- package/ai/docs/Checkbox.md +194 -0
- package/ai/docs/CommandPalette.md +275 -0
- package/ai/docs/DatePicker.md +152 -0
- package/ai/docs/Dropdown.md +195 -0
- package/{dist/ai → ai}/docs/Empty.md +41 -44
- package/{dist/ai → ai}/docs/Expand.md +40 -54
- package/ai/docs/FileUpload.md +218 -0
- package/{dist/ai → ai}/docs/Form.md +35 -29
- package/{dist/ai → ai}/docs/FormReset.md +37 -37
- package/{dist/ai → ai}/docs/Heading.md +4 -6
- package/ai/docs/Input.md +212 -0
- package/ai/docs/InputField.md +170 -0
- package/ai/docs/List.md +208 -0
- package/ai/docs/Menu.md +168 -0
- package/ai/docs/Modal.md +273 -0
- package/ai/docs/MultiSelect.md +177 -0
- package/ai/docs/Notifications.md +231 -0
- package/ai/docs/PageCalendar.md +262 -0
- package/{dist/ai → ai}/docs/Polymorph.md +25 -41
- package/{dist/ai → ai}/docs/Progress.md +55 -51
- package/{dist/ai → ai}/docs/Radiobox.md +49 -41
- package/{dist/ai → ai}/docs/RenderOnView.md +26 -32
- package/{dist/ai → ai}/docs/Resizable.md +60 -65
- package/ai/docs/Select.md +284 -0
- package/{dist/ai → ai}/docs/Shortcut.md +14 -14
- package/{dist/ai → ai}/docs/Skeleton.md +56 -60
- package/{dist/ai → ai}/docs/Slider.md +26 -49
- package/{dist/ai → ai}/docs/Slot.md +15 -17
- package/{dist/ai → ai}/docs/Spinner.md +17 -15
- package/{dist/ai → ai}/docs/Stats.md +44 -42
- package/ai/docs/Step.md +159 -0
- package/{dist/ai → ai}/docs/Switch.md +44 -54
- package/ai/docs/Table.md +286 -0
- package/ai/docs/Tabs.md +191 -0
- package/ai/docs/Tag.md +222 -0
- package/{dist/ai → ai}/docs/TaskList.md +40 -50
- package/ai/docs/Textarea.md +144 -0
- package/ai/docs/Timeline.md +212 -0
- package/{dist/ai → ai}/docs/Toolbar.md +46 -46
- package/ai/docs/Tooltip.md +231 -0
- package/ai/docs/Typography.md +187 -0
- package/ai/docs/Wizard.md +208 -0
- package/ai/docs/index.md +183 -0
- 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.js +10 -10
- package/dist/components/core/button.js.map +1 -1
- package/dist/components/core/tag.js +4 -4
- package/dist/components/core/tag.js.map +1 -1
- package/dist/components/display/alert.js +48 -46
- package/dist/components/display/alert.js.map +1 -1
- package/dist/components/display/calendar.js +6 -6
- package/dist/components/display/card.js +2 -2
- package/dist/components/display/card.js.map +1 -1
- package/dist/components/display/list.js +1 -1
- package/dist/components/display/list.js.map +1 -1
- package/dist/components/display/notifications.js +3 -3
- package/dist/components/display/stats.js +1 -1
- package/dist/components/display/tabs.js +2 -2
- package/dist/components/display/timeline.js +1 -1
- package/dist/components/floating/dropdown.js +25 -17
- package/dist/components/floating/dropdown.js.map +1 -1
- package/dist/components/floating/expand.js +7 -7
- package/dist/components/floating/expand.js.map +1 -1
- package/dist/components/floating/menu.js +10 -10
- package/dist/components/floating/menu.js.map +1 -1
- package/dist/components/floating/modal.js +106 -102
- package/dist/components/floating/modal.js.map +1 -1
- package/dist/components/floating/tooltip.js +14 -14
- package/dist/components/floating/tooltip.js.map +1 -1
- package/dist/components/form/autocomplete.js +6 -6
- package/dist/components/form/checkbox.js +1 -1
- package/dist/components/form/date-picker.js +5 -5
- package/dist/components/form/file-upload.js +2 -2
- package/dist/components/form/form.js.map +1 -1
- package/dist/components/form/input.js +1 -1
- package/dist/components/form/radiobox.js +1 -1
- package/dist/components/form/select.js +3 -3
- package/dist/components/form/switch.js +2 -2
- package/dist/components/form/switch.js.map +1 -1
- package/dist/components/table/table.js +3 -3
- 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/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 +2826 -2765
- 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/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/{context-BFXNJVn2.js → use-translations-DSltA7H_.js} +38 -30
- package/dist/use-translations-DSltA7H_.js.map +1 -0
- package/package.json +101 -88
- package/dist/ai/SKILL.md +0 -266
- package/dist/ai/docs/Alert.md +0 -167
- package/dist/ai/docs/AnimatedList.md +0 -205
- package/dist/ai/docs/Autocomplete.md +0 -225
- package/dist/ai/docs/Button.md +0 -182
- package/dist/ai/docs/Calendar.md +0 -219
- package/dist/ai/docs/Card.md +0 -174
- package/dist/ai/docs/Checkbox.md +0 -199
- package/dist/ai/docs/CommandPalette.md +0 -293
- package/dist/ai/docs/DatePicker.md +0 -171
- package/dist/ai/docs/Dropdown.md +0 -223
- package/dist/ai/docs/FileUpload.md +0 -225
- package/dist/ai/docs/Input.md +0 -237
- package/dist/ai/docs/InputField.md +0 -170
- package/dist/ai/docs/List.md +0 -205
- package/dist/ai/docs/Menu.md +0 -166
- package/dist/ai/docs/Modal.md +0 -280
- package/dist/ai/docs/MultiSelect.md +0 -196
- package/dist/ai/docs/Notifications.md +0 -231
- package/dist/ai/docs/PageCalendar.md +0 -271
- package/dist/ai/docs/Select.md +0 -284
- package/dist/ai/docs/Step.md +0 -159
- package/dist/ai/docs/Table.md +0 -298
- package/dist/ai/docs/Tabs.md +0 -191
- package/dist/ai/docs/Tag.md +0 -224
- package/dist/ai/docs/Textarea.md +0 -167
- package/dist/ai/docs/Timeline.md +0 -210
- package/dist/ai/docs/Tooltip.md +0 -231
- package/dist/ai/docs/TransferList.md +0 -142
- package/dist/ai/docs/Typography.md +0 -187
- package/dist/ai/docs/Wizard.md +0 -213
- package/dist/ai/docs/index.md +0 -183
- 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/core/button.d.ts +0 -77
- package/dist/components/core/button.d.ts.map +0 -1
- package/dist/components/core/heading.d.ts +0 -3
- package/dist/components/core/heading.d.ts.map +0 -1
- package/dist/components/core/polymorph.d.ts +0 -10
- package/dist/components/core/polymorph.d.ts.map +0 -1
- package/dist/components/core/render-on-view.d.ts +0 -7
- package/dist/components/core/render-on-view.d.ts.map +0 -1
- package/dist/components/core/resizable.d.ts +0 -3
- package/dist/components/core/resizable.d.ts.map +0 -1
- package/dist/components/core/slot.d.ts +0 -16
- package/dist/components/core/slot.d.ts.map +0 -1
- package/dist/components/core/tag.d.ts +0 -35
- package/dist/components/core/tag.d.ts.map +0 -1
- package/dist/components/core/typography.d.ts +0 -24
- package/dist/components/core/typography.d.ts.map +0 -1
- package/dist/components/display/alert.d.ts +0 -28
- package/dist/components/display/alert.d.ts.map +0 -1
- package/dist/components/display/calendar.d.ts +0 -42
- package/dist/components/display/calendar.d.ts.map +0 -1
- package/dist/components/display/card.d.ts +0 -29
- package/dist/components/display/card.d.ts.map +0 -1
- package/dist/components/display/empty.d.ts +0 -8
- package/dist/components/display/empty.d.ts.map +0 -1
- package/dist/components/display/list.d.ts +0 -16
- package/dist/components/display/list.d.ts.map +0 -1
- package/dist/components/display/notifications.d.ts +0 -27
- package/dist/components/display/notifications.d.ts.map +0 -1
- package/dist/components/display/progress.d.ts +0 -13
- package/dist/components/display/progress.d.ts.map +0 -1
- package/dist/components/display/shortcut.d.ts +0 -4
- package/dist/components/display/shortcut.d.ts.map +0 -1
- package/dist/components/display/skeleton.d.ts +0 -12
- package/dist/components/display/skeleton.d.ts.map +0 -1
- package/dist/components/display/spinner.d.ts +0 -5
- package/dist/components/display/spinner.d.ts.map +0 -1
- package/dist/components/display/stats.d.ts +0 -12
- package/dist/components/display/stats.d.ts.map +0 -1
- package/dist/components/display/step.d.ts +0 -24
- package/dist/components/display/step.d.ts.map +0 -1
- package/dist/components/display/tabs.d.ts +0 -24
- package/dist/components/display/tabs.d.ts.map +0 -1
- package/dist/components/display/timeline.d.ts +0 -10
- package/dist/components/display/timeline.d.ts.map +0 -1
- package/dist/components/floating/command-palette.d.ts +0 -49
- package/dist/components/floating/command-palette.d.ts.map +0 -1
- package/dist/components/floating/dropdown.d.ts +0 -15
- package/dist/components/floating/dropdown.d.ts.map +0 -1
- package/dist/components/floating/expand.d.ts +0 -11
- package/dist/components/floating/expand.d.ts.map +0 -1
- package/dist/components/floating/menu.d.ts +0 -52
- package/dist/components/floating/menu.d.ts.map +0 -1
- package/dist/components/floating/modal.d.ts +0 -60
- package/dist/components/floating/modal.d.ts.map +0 -1
- package/dist/components/floating/toolbar.d.ts +0 -6
- package/dist/components/floating/toolbar.d.ts.map +0 -1
- package/dist/components/floating/tooltip.d.ts +0 -17
- package/dist/components/floating/tooltip.d.ts.map +0 -1
- package/dist/components/floating/wizard.d.ts +0 -26
- package/dist/components/floating/wizard.d.ts.map +0 -1
- package/dist/components/form/autocomplete.d.ts +0 -16
- package/dist/components/form/autocomplete.d.ts.map +0 -1
- package/dist/components/form/checkbox.d.ts +0 -12
- package/dist/components/form/checkbox.d.ts.map +0 -1
- package/dist/components/form/date-picker.d.ts +0 -10
- package/dist/components/form/date-picker.d.ts.map +0 -1
- package/dist/components/form/file-upload.d.ts +0 -15
- package/dist/components/form/file-upload.d.ts.map +0 -1
- package/dist/components/form/form.d.ts +0 -3
- package/dist/components/form/form.d.ts.map +0 -1
- package/dist/components/form/formReset.d.ts +0 -2
- package/dist/components/form/formReset.d.ts.map +0 -1
- package/dist/components/form/free-text.d.ts +0 -11
- package/dist/components/form/free-text.d.ts.map +0 -1
- package/dist/components/form/input-field.d.ts +0 -34
- package/dist/components/form/input-field.d.ts.map +0 -1
- package/dist/components/form/input.d.ts +0 -52
- package/dist/components/form/input.d.ts.map +0 -1
- package/dist/components/form/multi-select.d.ts +0 -19
- package/dist/components/form/multi-select.d.ts.map +0 -1
- package/dist/components/form/radiobox.d.ts +0 -7
- package/dist/components/form/radiobox.d.ts.map +0 -1
- package/dist/components/form/select.d.ts +0 -13
- package/dist/components/form/select.d.ts.map +0 -1
- package/dist/components/form/slider.d.ts +0 -7
- package/dist/components/form/slider.d.ts.map +0 -1
- package/dist/components/form/switch.d.ts +0 -9
- package/dist/components/form/switch.d.ts.map +0 -1
- package/dist/components/form/task-list.d.ts +0 -3
- package/dist/components/form/task-list.d.ts.map +0 -1
- package/dist/components/form/textarea.d.ts +0 -6
- package/dist/components/form/textarea.d.ts.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/components/index.d.ts +0 -46
- package/dist/components/index.d.ts.map +0 -1
- package/dist/components/page-calendar/calendar-header.d.ts +0 -16
- package/dist/components/page-calendar/calendar-header.d.ts.map +0 -1
- package/dist/components/page-calendar/day-view.d.ts +0 -12
- package/dist/components/page-calendar/day-view.d.ts.map +0 -1
- package/dist/components/page-calendar/event-pill.d.ts +0 -9
- package/dist/components/page-calendar/event-pill.d.ts.map +0 -1
- package/dist/components/page-calendar/index.d.ts +0 -4
- package/dist/components/page-calendar/index.d.ts.map +0 -1
- package/dist/components/page-calendar/month-view.d.ts +0 -11
- package/dist/components/page-calendar/month-view.d.ts.map +0 -1
- package/dist/components/page-calendar/page-calendar.d.ts +0 -18
- package/dist/components/page-calendar/page-calendar.d.ts.map +0 -1
- package/dist/components/page-calendar/page-calendar.types.d.ts +0 -18
- package/dist/components/page-calendar/page-calendar.types.d.ts.map +0 -1
- package/dist/components/page-calendar/page-calendar.utils.d.ts +0 -24
- package/dist/components/page-calendar/page-calendar.utils.d.ts.map +0 -1
- package/dist/components/page-calendar/week-view.d.ts +0 -11
- package/dist/components/page-calendar/week-view.d.ts.map +0 -1
- package/dist/components/table/filter.d.ts +0 -42
- package/dist/components/table/filter.d.ts.map +0 -1
- package/dist/components/table/group.d.ts +0 -17
- package/dist/components/table/group.d.ts.map +0 -1
- package/dist/components/table/index.d.ts +0 -20
- package/dist/components/table/index.d.ts.map +0 -1
- package/dist/components/table/inner-table.d.ts +0 -29
- package/dist/components/table/inner-table.d.ts.map +0 -1
- package/dist/components/table/metadata.d.ts +0 -4
- package/dist/components/table/metadata.d.ts.map +0 -1
- package/dist/components/table/pagination.d.ts +0 -3
- package/dist/components/table/pagination.d.ts.map +0 -1
- package/dist/components/table/row.d.ts +0 -12
- package/dist/components/table/row.d.ts.map +0 -1
- package/dist/components/table/sort.d.ts +0 -28
- package/dist/components/table/sort.d.ts.map +0 -1
- package/dist/components/table/table-lib.d.ts +0 -135
- package/dist/components/table/table-lib.d.ts.map +0 -1
- package/dist/components/table/table.context.d.ts +0 -10
- package/dist/components/table/table.context.d.ts.map +0 -1
- package/dist/components/table/thead.d.ts +0 -9
- package/dist/components/table/thead.d.ts.map +0 -1
- package/dist/config/context.d.ts +0 -21
- package/dist/config/context.d.ts.map +0 -1
- package/dist/config/default-translations.d.ts +0 -90
- package/dist/config/default-translations.d.ts.map +0 -1
- package/dist/config/default-tweaks.d.ts +0 -13
- package/dist/config/default-tweaks.d.ts.map +0 -1
- package/dist/constants.d.ts +0 -3
- package/dist/constants.d.ts.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/hooks/use-click-outside.d.ts +0 -3
- package/dist/hooks/use-click-outside.d.ts.map +0 -1
- package/dist/hooks/use-color-parser.d.ts +0 -2
- package/dist/hooks/use-color-parser.d.ts.map +0 -1
- package/dist/hooks/use-components-provider.d.ts +0 -15
- package/dist/hooks/use-components-provider.d.ts.map +0 -1
- package/dist/hooks/use-debounce.d.ts +0 -5
- package/dist/hooks/use-debounce.d.ts.map +0 -1
- package/dist/hooks/use-floating-ref.d.ts +0 -2
- package/dist/hooks/use-floating-ref.d.ts.map +0 -1
- package/dist/hooks/use-form.d.ts +0 -394
- package/dist/hooks/use-form.d.ts.map +0 -1
- package/dist/hooks/use-hover.d.ts +0 -3
- package/dist/hooks/use-hover.d.ts.map +0 -1
- package/dist/hooks/use-input-id.d.ts +0 -4
- package/dist/hooks/use-input-id.d.ts.map +0 -1
- package/dist/hooks/use-is-coarse-device.d.ts +0 -2
- package/dist/hooks/use-is-coarse-device.d.ts.map +0 -1
- package/dist/hooks/use-locale.d.ts +0 -3
- package/dist/hooks/use-locale.d.ts.map +0 -1
- package/dist/hooks/use-media-query.d.ts +0 -2
- package/dist/hooks/use-media-query.d.ts.map +0 -1
- package/dist/hooks/use-on-event.d.ts +0 -4
- package/dist/hooks/use-on-event.d.ts.map +0 -1
- package/dist/hooks/use-parent.d.ts +0 -3
- package/dist/hooks/use-parent.d.ts.map +0 -1
- package/dist/hooks/use-preferences.d.ts +0 -2
- package/dist/hooks/use-preferences.d.ts.map +0 -1
- package/dist/hooks/use-previous.d.ts +0 -2
- package/dist/hooks/use-previous.d.ts.map +0 -1
- package/dist/hooks/use-reactive.d.ts +0 -2
- package/dist/hooks/use-reactive.d.ts.map +0 -1
- package/dist/hooks/use-remove-scroll.d.ts +0 -4
- package/dist/hooks/use-remove-scroll.d.ts.map +0 -1
- package/dist/hooks/use-resize-observer.d.ts +0 -2
- package/dist/hooks/use-resize-observer.d.ts.map +0 -1
- package/dist/hooks/use-stable-ref.d.ts +0 -2
- package/dist/hooks/use-stable-ref.d.ts.map +0 -1
- package/dist/hooks/use-swipe.d.ts +0 -8
- package/dist/hooks/use-swipe.d.ts.map +0 -1
- package/dist/hooks/use-translations.d.ts +0 -88
- package/dist/hooks/use-translations.d.ts.map +0 -1
- package/dist/hooks/use-tweaks.d.ts +0 -3
- package/dist/hooks/use-tweaks.d.ts.map +0 -1
- package/dist/hooks/use-window-size.d.ts +0 -5
- package/dist/hooks/use-window-size.d.ts.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/index.d.ts +0 -22
- package/dist/index.d.ts.map +0 -1
- package/dist/input-CrGrSnUt.js.map +0 -1
- package/dist/input-field-5vYcz5tT.js.map +0 -1
- package/dist/lib/combi-keys.d.ts +0 -15
- package/dist/lib/combi-keys.d.ts.map +0 -1
- package/dist/lib/dict.d.ts +0 -12
- package/dist/lib/dict.d.ts.map +0 -1
- package/dist/lib/dom.d.ts +0 -19
- package/dist/lib/dom.d.ts.map +0 -1
- package/dist/lib/fns.d.ts +0 -11
- package/dist/lib/fns.d.ts.map +0 -1
- package/dist/lib/fzf.d.ts +0 -16
- package/dist/lib/fzf.d.ts.map +0 -1
- package/dist/lib/keyboard-area.d.ts +0 -16
- package/dist/lib/keyboard-area.d.ts.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/types.d.ts +0 -26
- package/dist/types.d.ts.map +0 -1
- package/dist/use-translations-BwLKTrZv.js +0 -10
- package/dist/use-translations-BwLKTrZv.js.map +0 -1
package/dist/ai/docs/Tooltip.md
DELETED
|
@@ -1,231 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Tooltip
|
|
3
|
-
description: Polymorphic tooltip with hover, focus, and click triggers; supports cursor-following and rich content.
|
|
4
|
-
package: "@g4rcez/components"
|
|
5
|
-
export: "{ Tooltip }"
|
|
6
|
-
import: "import { Tooltip } from '@g4rcez/components/tooltip'"
|
|
7
|
-
category: floating
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Tooltip
|
|
11
|
-
|
|
12
|
-
Polymorphic tooltip with hover, focus, and click triggers; supports cursor-following and rich content.
|
|
13
|
-
|
|
14
|
-
## Import
|
|
15
|
-
|
|
16
|
-
```tsx
|
|
17
|
-
import { Tooltip } from "@g4rcez/components/tooltip";
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
## Props
|
|
21
|
-
|
|
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
|
-
|
|
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
|
-
|
|
38
|
-
## Design Tokens
|
|
39
|
-
|
|
40
|
-
Tokens this component reads. Customize by overriding these CSS variables in your theme.
|
|
41
|
-
|
|
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
|
-
|
|
51
|
-
## Placement Options
|
|
52
|
-
|
|
53
|
-
Supports all Floating UI placements: `"top"`, `"top-start"`, `"top-end"`, `"bottom"`, `"bottom-start"`, `"bottom-end"`, `"left"`, `"left-start"`, `"left-end"`, `"right"`, `"right-start"`, `"right-end"`. When `placement` is omitted, `autoPlacement` picks the best available side.
|
|
54
|
-
|
|
55
|
-
## Examples
|
|
56
|
-
|
|
57
|
-
### Basic Hover Tooltip
|
|
58
|
-
|
|
59
|
-
```tsx
|
|
60
|
-
import { Tooltip } from "@g4rcez/components/tooltip";
|
|
61
|
-
|
|
62
|
-
<Tooltip title={<button className="px-4 py-2 bg-primary text-primary-foreground rounded-button">Hover me</button>}>
|
|
63
|
-
This is a helpful tooltip
|
|
64
|
-
</Tooltip>
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
### Icon Button with Label
|
|
68
|
-
|
|
69
|
-
```tsx
|
|
70
|
-
import { FloppyDiskIcon } from "@phosphor-icons/react";
|
|
71
|
-
import { Tooltip } from "@g4rcez/components/tooltip";
|
|
72
|
-
import { Button } from "@g4rcez/components/button";
|
|
73
|
-
|
|
74
|
-
<Tooltip title={<Button size="icon" theme="ghost-neutral"><FloppyDiskIcon size={16} /></Button>}>
|
|
75
|
-
Save (Ctrl+S)
|
|
76
|
-
</Tooltip>
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
### Interaction Modes
|
|
80
|
-
|
|
81
|
-
```tsx
|
|
82
|
-
import { Tooltip } from "@g4rcez/components/tooltip";
|
|
83
|
-
|
|
84
|
-
{/* Hover only */}
|
|
85
|
-
<Tooltip
|
|
86
|
-
title={<button className="px-4 py-2 rounded-button border border-border text-foreground">Hover Only</button>}
|
|
87
|
-
focus={false}
|
|
88
|
-
popover={false}
|
|
89
|
-
>
|
|
90
|
-
Shown on hover
|
|
91
|
-
</Tooltip>
|
|
92
|
-
|
|
93
|
-
{/* Focus only — keyboard accessible */}
|
|
94
|
-
<Tooltip
|
|
95
|
-
title={<input placeholder="Focus me with tab" className="px-3 py-2 rounded-button border border-border bg-background text-foreground" />}
|
|
96
|
-
hover={false}
|
|
97
|
-
popover={false}
|
|
98
|
-
>
|
|
99
|
-
Shown on focus
|
|
100
|
-
</Tooltip>
|
|
101
|
-
|
|
102
|
-
{/* Click only — acts like a popover */}
|
|
103
|
-
<Tooltip
|
|
104
|
-
title={<button className="px-4 py-2 bg-primary text-primary-foreground rounded-button">Click me</button>}
|
|
105
|
-
hover={false}
|
|
106
|
-
focus={false}
|
|
107
|
-
>
|
|
108
|
-
Shown on click
|
|
109
|
-
</Tooltip>
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
### Cursor-Following Tooltip
|
|
113
|
-
|
|
114
|
-
```tsx
|
|
115
|
-
import { Tooltip } from "@g4rcez/components/tooltip";
|
|
116
|
-
|
|
117
|
-
<Tooltip
|
|
118
|
-
followCursor
|
|
119
|
-
placement="top-start"
|
|
120
|
-
title={
|
|
121
|
-
<div className="w-full h-32 rounded-card border border-border bg-muted flex items-center justify-center">
|
|
122
|
-
<span className="text-muted-foreground">Move your mouse over this area</span>
|
|
123
|
-
</div>
|
|
124
|
-
}
|
|
125
|
-
>
|
|
126
|
-
Follows your cursor
|
|
127
|
-
</Tooltip>
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
### Controlled Tooltip
|
|
131
|
-
|
|
132
|
-
```tsx
|
|
133
|
-
import { useState } from "react";
|
|
134
|
-
import { Tooltip } from "@g4rcez/components/tooltip";
|
|
135
|
-
|
|
136
|
-
function ControlledTooltip() {
|
|
137
|
-
const [isOpen, setIsOpen] = useState(false);
|
|
138
|
-
|
|
139
|
-
return (
|
|
140
|
-
<>
|
|
141
|
-
<Tooltip
|
|
142
|
-
title={<button className="px-4 py-2 rounded-button border border-border text-foreground">Target</button>}
|
|
143
|
-
open={isOpen}
|
|
144
|
-
onChange={setIsOpen}
|
|
145
|
-
hover={false}
|
|
146
|
-
focus={false}
|
|
147
|
-
popover={false}
|
|
148
|
-
>
|
|
149
|
-
Externally controlled
|
|
150
|
-
</Tooltip>
|
|
151
|
-
|
|
152
|
-
<div className="mt-4 flex gap-2">
|
|
153
|
-
<button onClick={() => setIsOpen(true)} className="px-3 py-1 bg-primary text-primary-foreground rounded-button text-sm">
|
|
154
|
-
Show
|
|
155
|
-
</button>
|
|
156
|
-
<button onClick={() => setIsOpen(false)} className="px-3 py-1 bg-muted text-foreground rounded-button text-sm">
|
|
157
|
-
Hide
|
|
158
|
-
</button>
|
|
159
|
-
</div>
|
|
160
|
-
</>
|
|
161
|
-
);
|
|
162
|
-
}
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
### Polymorphic — Render as Different Elements
|
|
166
|
-
|
|
167
|
-
```tsx
|
|
168
|
-
import { Tooltip } from "@g4rcez/components/tooltip";
|
|
169
|
-
|
|
170
|
-
{/* Render as <div> */}
|
|
171
|
-
<Tooltip
|
|
172
|
-
as="div"
|
|
173
|
-
title={<span className="p-3 bg-muted rounded-button inline-block text-foreground">Div with tooltip</span>}
|
|
174
|
-
>
|
|
175
|
-
Tooltip on a div
|
|
176
|
-
</Tooltip>
|
|
177
|
-
|
|
178
|
-
{/* Wrap a paragraph */}
|
|
179
|
-
<Tooltip
|
|
180
|
-
as="p"
|
|
181
|
-
title={<span className="text-primary cursor-pointer">Hover this paragraph</span>}
|
|
182
|
-
>
|
|
183
|
-
Paragraph tooltip
|
|
184
|
-
</Tooltip>
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
### Form Field Help Tooltip
|
|
188
|
-
|
|
189
|
-
```tsx
|
|
190
|
-
import { InfoIcon } from "@phosphor-icons/react";
|
|
191
|
-
import { Tooltip } from "@g4rcez/components/tooltip";
|
|
192
|
-
|
|
193
|
-
<label className="block text-sm font-medium text-foreground mb-1">
|
|
194
|
-
Username
|
|
195
|
-
<Tooltip
|
|
196
|
-
title={<InfoIcon className="inline ml-1 text-muted-foreground cursor-help" size={14} />}
|
|
197
|
-
>
|
|
198
|
-
3–20 characters; letters, numbers, and underscores only
|
|
199
|
-
</Tooltip>
|
|
200
|
-
</label>
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
## Do
|
|
204
|
-
|
|
205
|
-
- Always keep `focus={true}` (default) so keyboard users can access tooltips via Tab navigation.
|
|
206
|
-
- Keep tooltip content short — one or two sentences at most.
|
|
207
|
-
- Use `followCursor` for large interactive areas (charts, canvases) to keep the tip near the pointer.
|
|
208
|
-
- Use design-token classes for any custom elements inside the tooltip popup (`text-tooltip-foreground`, `bg-muted`, etc.).
|
|
209
|
-
|
|
210
|
-
## Don't
|
|
211
|
-
|
|
212
|
-
- Don't put essential information only in a tooltip — users on touch devices may never see it.
|
|
213
|
-
- Don't use tooltips for long text or complex layouts — use `Modal` or `Dropdown` instead.
|
|
214
|
-
- Don't pass raw Tailwind color classes (`bg-gray-900`, `text-white`) inside tooltip content — use design-token classes.
|
|
215
|
-
- Don't use arbitrary Tailwind values (`bg-[#abc]`, `z-[9999]`) — override CSS variables in your `@theme` block.
|
|
216
|
-
- Don't use tooltips on elements that are already self-explanatory.
|
|
217
|
-
|
|
218
|
-
## Accessibility
|
|
219
|
-
|
|
220
|
-
- By default all three triggers are active (`hover`, `focus`, `popover`); disable `focus` only when the trigger itself provides equivalent keyboard affordance.
|
|
221
|
-
- The tooltip popup receives `role="tooltip"` via Floating UI's `useRole`.
|
|
222
|
-
- `useDismiss` closes the tooltip when focus moves away or `Escape` is pressed.
|
|
223
|
-
- Safe-polygon hover handling keeps the tooltip open while the pointer moves toward interactive content (`popover={true}` enables this).
|
|
224
|
-
- The `as` prop lets you place the reference on a semantically correct element without extra wrapper divs.
|
|
225
|
-
|
|
226
|
-
## Notes
|
|
227
|
-
|
|
228
|
-
- The `open` prop syncs to internal state via `useEffect`; when provided, external changes override internal toggle state.
|
|
229
|
-
- `autoPlacement` middleware runs alongside `flip` — placement is fully automatic when `placement` is omitted.
|
|
230
|
-
- Hover delay is controlled by the shared `FLOATING_DELAY` constant; there is no per-instance delay prop.
|
|
231
|
-
- The component is polymorphic via the `Polymorph` core component for the popup and `as` for the trigger wrapper.
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: TransferList
|
|
3
|
-
description: Two-panel component for moving items between a source list and a target list.
|
|
4
|
-
package: "@g4rcez/components"
|
|
5
|
-
export: "{ TransferList }"
|
|
6
|
-
import: "import { TransferList } from '@g4rcez/components/transfer-list'"
|
|
7
|
-
category: form
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# TransferList
|
|
11
|
-
|
|
12
|
-
Two-panel component for moving items between a source list and a target list.
|
|
13
|
-
|
|
14
|
-
## Import
|
|
15
|
-
|
|
16
|
-
```tsx
|
|
17
|
-
import { TransferList } from "@g4rcez/components/transfer-list";
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
## Props
|
|
21
|
-
|
|
22
|
-
| Prop | Type | Default | Description |
|
|
23
|
-
|------|------|---------|-------------|
|
|
24
|
-
| `source` | `T[]` | — | Items in the left (available) list. |
|
|
25
|
-
| `target` | `T[]` | — | Items in the right (selected) list. |
|
|
26
|
-
| `Item` | `React.FC<{ data: T }>` | — | Component used to render each list row. |
|
|
27
|
-
| `reference` | `keyof T` | — | Unique key used to identify and compare items (e.g., `"id"`). |
|
|
28
|
-
| `setSource` | `Dispatch<SetStateAction<T[]>>` | — | State setter for the source list. |
|
|
29
|
-
| `setTarget` | `Dispatch<SetStateAction<T[]>>` | — | State setter for the target list. |
|
|
30
|
-
|
|
31
|
-
## Design Tokens
|
|
32
|
-
|
|
33
|
-
Tokens this component reads. Customize by overriding these CSS variables in your theme.
|
|
34
|
-
|
|
35
|
-
| Token | CSS Variable | Purpose |
|
|
36
|
-
|-------|-------------|---------|
|
|
37
|
-
| `border-card-border` | `--card-border` | Border around each list panel |
|
|
38
|
-
| `bg-background` | `--background` | Panel background (inherited) |
|
|
39
|
-
| `text-foreground` | `--foreground` | Item text color (inherited) |
|
|
40
|
-
| `border-border` | `--border` | Section divider inside the panel header |
|
|
41
|
-
|
|
42
|
-
## Examples
|
|
43
|
-
|
|
44
|
-
### Basic transfer list
|
|
45
|
-
|
|
46
|
-
```tsx
|
|
47
|
-
import { useState } from "react";
|
|
48
|
-
import { TransferList } from "@g4rcez/components/transfer-list";
|
|
49
|
-
|
|
50
|
-
type Role = { id: string; name: string };
|
|
51
|
-
|
|
52
|
-
const allRoles: Role[] = [
|
|
53
|
-
{ id: "admin", name: "Administrator" },
|
|
54
|
-
{ id: "editor", name: "Editor" },
|
|
55
|
-
{ id: "viewer", name: "Viewer" },
|
|
56
|
-
{ id: "auditor", name: "Auditor" },
|
|
57
|
-
];
|
|
58
|
-
|
|
59
|
-
const RoleItem: React.FC<{ data: Role }> = ({ data }) => (
|
|
60
|
-
<span className="text-sm text-foreground">{data.name}</span>
|
|
61
|
-
);
|
|
62
|
-
|
|
63
|
-
export default function RoleAssignment() {
|
|
64
|
-
const [available, setAvailable] = useState(allRoles);
|
|
65
|
-
const [assigned, setAssigned] = useState<Role[]>([]);
|
|
66
|
-
|
|
67
|
-
return (
|
|
68
|
-
<TransferList
|
|
69
|
-
source={available}
|
|
70
|
-
target={assigned}
|
|
71
|
-
setSource={setAvailable}
|
|
72
|
-
setTarget={setAssigned}
|
|
73
|
-
reference="id"
|
|
74
|
-
Item={RoleItem}
|
|
75
|
-
/>
|
|
76
|
-
);
|
|
77
|
-
}
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
### With custom item rendering
|
|
81
|
-
|
|
82
|
-
```tsx
|
|
83
|
-
import { ShieldIcon } from "@phosphor-icons/react";
|
|
84
|
-
import { TransferList } from "@g4rcez/components/transfer-list";
|
|
85
|
-
|
|
86
|
-
type Permission = { id: string; label: string; scope: string };
|
|
87
|
-
|
|
88
|
-
const PermissionItem: React.FC<{ data: Permission }> = ({ data }) => (
|
|
89
|
-
<span className="flex items-center gap-base">
|
|
90
|
-
<ShieldIcon size={14} className="text-primary" />
|
|
91
|
-
<span className="text-sm text-foreground">{data.label}</span>
|
|
92
|
-
<span className="ml-auto text-xs text-muted-foreground">{data.scope}</span>
|
|
93
|
-
</span>
|
|
94
|
-
);
|
|
95
|
-
|
|
96
|
-
export default function PermissionManager() {
|
|
97
|
-
const [source, setSource] = useState(allPermissions);
|
|
98
|
-
const [target, setTarget] = useState<Permission[]>([]);
|
|
99
|
-
|
|
100
|
-
return (
|
|
101
|
-
<TransferList
|
|
102
|
-
source={source}
|
|
103
|
-
target={target}
|
|
104
|
-
setSource={setSource}
|
|
105
|
-
setTarget={setTarget}
|
|
106
|
-
reference="id"
|
|
107
|
-
Item={PermissionItem}
|
|
108
|
-
/>
|
|
109
|
-
);
|
|
110
|
-
}
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
## Do
|
|
114
|
-
|
|
115
|
-
- Provide a unique, stable `reference` key for each item (typically the primary key from your data model).
|
|
116
|
-
- Use `TransferList` when users need to pick a significant number of items from a large pool.
|
|
117
|
-
- Keep the `Item` component focused on displaying — handle mutations via `setSource` / `setTarget`.
|
|
118
|
-
- Use design-token classes inside `Item` for text and icon colors (`text-foreground`, `text-primary`, `text-muted-foreground`).
|
|
119
|
-
|
|
120
|
-
## Don't
|
|
121
|
-
|
|
122
|
-
- Don't use `TransferList` for very small lists (3–5 items) where `MultiSelect` or a `Checkbox` group would be faster.
|
|
123
|
-
- Don't perform expensive side effects inside the `Item` component — keep it purely presentational.
|
|
124
|
-
- Don't pass raw Tailwind color classes (`bg-blue-500`, `text-white`, `border-gray-300`) — use design tokens instead.
|
|
125
|
-
- Don't use arbitrary Tailwind values (`bg-[#abc]`) — override CSS variables in your `@theme` block instead.
|
|
126
|
-
|
|
127
|
-
## Accessibility
|
|
128
|
-
|
|
129
|
-
- Each item is rendered with a `Checkbox` for selection, giving it full keyboard and screen-reader support.
|
|
130
|
-
- Lists are virtualized using `react-virtuoso` for performance with large datasets.
|
|
131
|
-
- Transfer buttons use `CaretRightIcon` from `@phosphor-icons/react` and should have descriptive `aria-label` attributes when used.
|
|
132
|
-
|
|
133
|
-
## Data Attributes
|
|
134
|
-
|
|
135
|
-
The `TransferList` component does not set component-specific `data-*` attributes directly. Individual list items inherit `data-component` and accessibility attributes from the embedded `Checkbox` components.
|
|
136
|
-
|
|
137
|
-
## Notes
|
|
138
|
-
|
|
139
|
-
- Uses `react-virtuoso` with a `useWindowScroll` strategy — the list height adapts to the parent container via `useParentHeight`.
|
|
140
|
-
- The source panel includes a built-in `Input` search field for quick filtering.
|
|
141
|
-
- The component is a generic `<T extends POJO>` — TypeScript will infer `T` from `source` and `target` props.
|
|
142
|
-
- Only the source-to-target transfer button (`ChevronRightIcon`) is currently wired in the implementation; bidirectional transfer requires wiring additional buttons if needed.
|
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Typography
|
|
3
|
-
description: A set of text and page-structure components for consistent typographic styling.
|
|
4
|
-
package: "@g4rcez/components"
|
|
5
|
-
export: "{ Paragraph, Description, Info, PageTitle, PageHeader }"
|
|
6
|
-
import: "import { Paragraph, Description, Info, PageTitle, PageHeader } from '@g4rcez/components'"
|
|
7
|
-
category: core
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Typography
|
|
11
|
-
|
|
12
|
-
A set of text and page-structure components for consistent typographic styling across the application. Exports `Paragraph`, `Description`, `Info`, `PageTitle`, and `PageHeader`.
|
|
13
|
-
|
|
14
|
-
## Import
|
|
15
|
-
|
|
16
|
-
```tsx
|
|
17
|
-
import {
|
|
18
|
-
Paragraph,
|
|
19
|
-
Description,
|
|
20
|
-
Info,
|
|
21
|
-
PageTitle,
|
|
22
|
-
PageHeader,
|
|
23
|
-
} from "@g4rcez/components";
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
## Props
|
|
27
|
-
|
|
28
|
-
### Paragraph
|
|
29
|
-
|
|
30
|
-
Renders a `<p>` element with `text-base leading-snug`.
|
|
31
|
-
|
|
32
|
-
| Prop | Type | Default | Description |
|
|
33
|
-
|------|------|---------|-------------|
|
|
34
|
-
| `children` | `React.ReactNode` | - | Paragraph content |
|
|
35
|
-
| `className` | `string` | - | Additional CSS classes |
|
|
36
|
-
| `...props` | `React.ComponentProps<"p">` | - | All standard `<p>` attributes |
|
|
37
|
-
|
|
38
|
-
### Description
|
|
39
|
-
|
|
40
|
-
Renders a `<p>` element with `text-sm text-secondary mb-kilo`.
|
|
41
|
-
|
|
42
|
-
| Prop | Type | Default | Description |
|
|
43
|
-
|------|------|---------|-------------|
|
|
44
|
-
| `children` | `React.ReactNode` | - | Description content |
|
|
45
|
-
| `className` | `string` | - | Additional CSS classes |
|
|
46
|
-
| `...props` | `React.ComponentProps<"p">` | - | All standard `<p>` attributes |
|
|
47
|
-
|
|
48
|
-
### Info
|
|
49
|
-
|
|
50
|
-
Renders a labeled key-value pair in a flex container.
|
|
51
|
-
|
|
52
|
-
| Prop | Type | Default | Description |
|
|
53
|
-
|------|------|---------|-------------|
|
|
54
|
-
| `label` | `Label` | - | The label text (required) |
|
|
55
|
-
| `children` | `React.ReactNode` | - | The value content |
|
|
56
|
-
| `row` | `boolean` | `false` | Renders label and value side-by-side instead of stacked |
|
|
57
|
-
| `disabled` | `Label` | - | When set, applies `text-disabled` to the value |
|
|
58
|
-
| `className` | `string` | - | Additional classes for the container |
|
|
59
|
-
| `info` | `Label` | - | Reserved field (available in type, not currently rendered) |
|
|
60
|
-
| `infoDescription` | `string` | - | Reserved field (available in type, not currently rendered) |
|
|
61
|
-
|
|
62
|
-
### PageTitle
|
|
63
|
-
|
|
64
|
-
Renders an `<h2>` title with a paragraph subtitle.
|
|
65
|
-
|
|
66
|
-
| Prop | Type | Default | Description |
|
|
67
|
-
|------|------|---------|-------------|
|
|
68
|
-
| `title` | `string` | - | Main title text (required) |
|
|
69
|
-
| `children` | `React.ReactNode` | - | Subtitle or description beneath the title |
|
|
70
|
-
|
|
71
|
-
### PageHeader
|
|
72
|
-
|
|
73
|
-
Renders a `<header>` element with title/description on the left and action slots on the right.
|
|
74
|
-
|
|
75
|
-
| Prop | Type | Default | Description |
|
|
76
|
-
|------|------|---------|-------------|
|
|
77
|
-
| `title` | `string` | - | Page title (required) |
|
|
78
|
-
| `description` | `Label` | - | Short description beneath the title (required) |
|
|
79
|
-
| `children` | `React.ReactNode` | - | Action buttons or other right-aligned content |
|
|
80
|
-
|
|
81
|
-
## Design Tokens
|
|
82
|
-
|
|
83
|
-
Tokens these components read. Customize by overriding these CSS variables in your theme.
|
|
84
|
-
|
|
85
|
-
| Token | CSS Variable | Purpose |
|
|
86
|
-
|-------|-------------|---------|
|
|
87
|
-
| `text-secondary` | `--secondary` | Description and subtitle text color |
|
|
88
|
-
| `text-disabled` | `--disabled` | Disabled value text in `Info` |
|
|
89
|
-
| `mb-kilo` | `--spacing-kilo` | Bottom margin on `Description` |
|
|
90
|
-
| `gap-mega` | `--spacing-mega` | Gap in `PageHeader` between sections |
|
|
91
|
-
| `gap-kilo` | `--spacing-kilo` | Gap between action items in `PageHeader` |
|
|
92
|
-
|
|
93
|
-
## Examples
|
|
94
|
-
|
|
95
|
-
### Page Header with Actions
|
|
96
|
-
|
|
97
|
-
```tsx
|
|
98
|
-
import { Button } from "@g4rcez/components/button";
|
|
99
|
-
|
|
100
|
-
<PageHeader title="Orders" description="List of all orders from your shop">
|
|
101
|
-
<Button size="small">Export CSV</Button>
|
|
102
|
-
<Button theme="primary" size="small">Create Order</Button>
|
|
103
|
-
</PageHeader>
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
### Standalone Page Title
|
|
107
|
-
|
|
108
|
-
```tsx
|
|
109
|
-
<PageTitle title="Dashboard">
|
|
110
|
-
Overview of your application metrics
|
|
111
|
-
</PageTitle>
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
### Paragraph and Description
|
|
115
|
-
|
|
116
|
-
```tsx
|
|
117
|
-
<Paragraph>
|
|
118
|
-
This is a standard paragraph with base font size and snug line height.
|
|
119
|
-
</Paragraph>
|
|
120
|
-
|
|
121
|
-
<Description>
|
|
122
|
-
Secondary description text, typically used beneath form fields or titles.
|
|
123
|
-
</Description>
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
### Info — Stacked (default)
|
|
127
|
-
|
|
128
|
-
```tsx
|
|
129
|
-
<Info label="Full Name">John Doe</Info>
|
|
130
|
-
<Info label="Email">john@example.com</Info>
|
|
131
|
-
<Info label="Role">Administrator</Info>
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
### Info — Row Layout
|
|
135
|
-
|
|
136
|
-
```tsx
|
|
137
|
-
<Info label="Status" row>Active</Info>
|
|
138
|
-
<Info label="Plan" row>Pro</Info>
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
### Info — Disabled Value
|
|
142
|
-
|
|
143
|
-
```tsx
|
|
144
|
-
<Info label="API Key" disabled="true">
|
|
145
|
-
sk-••••••••••••••••
|
|
146
|
-
</Info>
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
### Profile Card
|
|
150
|
-
|
|
151
|
-
```tsx
|
|
152
|
-
<div className="flex flex-col gap-base rounded-card border border-border bg-card-background p-4">
|
|
153
|
-
<PageTitle title="John Doe">Software Engineer</PageTitle>
|
|
154
|
-
<div className="flex flex-col gap-sm">
|
|
155
|
-
<Info label="Email" row>john@example.com</Info>
|
|
156
|
-
<Info label="Team" row>Platform</Info>
|
|
157
|
-
<Info label="Joined" row>March 2024</Info>
|
|
158
|
-
</div>
|
|
159
|
-
</div>
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
## Do
|
|
163
|
-
|
|
164
|
-
- Use `PageHeader` at the top of every page for consistent title + action layout
|
|
165
|
-
- Use `Paragraph` instead of raw `<p>` to inherit consistent base styling
|
|
166
|
-
- Use `Description` for secondary/supporting text — it signals lower visual hierarchy
|
|
167
|
-
- Use design-token classes for any additional styling (`text-foreground`, `bg-background`)
|
|
168
|
-
|
|
169
|
-
## Don't
|
|
170
|
-
|
|
171
|
-
- Don't use `PageTitle` more than once per page — it represents the page's main topic
|
|
172
|
-
- Don't pass raw Tailwind color classes (`text-gray-500`, `text-black`) — use `text-secondary` or `text-foreground`
|
|
173
|
-
- Don't use arbitrary Tailwind values (`text-[#555]`) — override CSS variables in your `@theme` block
|
|
174
|
-
- Don't use `Info` for long-form content — it is designed for short labeled values
|
|
175
|
-
|
|
176
|
-
## Accessibility
|
|
177
|
-
|
|
178
|
-
- `PageTitle` renders an `<h2>` — ensure there is an `<h1>` elsewhere on the page
|
|
179
|
-
- `PageHeader` wraps content in a semantic `<header>` element
|
|
180
|
-
- `Info` labels are `<span>` elements; if the label identifies a form field, prefer a `<label>` with `htmlFor` instead
|
|
181
|
-
- `Description` text should be concise and supplementary — do not place critical content only in `Description`
|
|
182
|
-
|
|
183
|
-
## Notes
|
|
184
|
-
|
|
185
|
-
- All components accept standard HTML props for their root element and merge `className` correctly
|
|
186
|
-
- `PageHeader` uses `gap-mega` and `gap-kilo` spacing tokens — override these in `@theme` to adjust layout rhythm
|
|
187
|
-
- `Info` with `disabled` prop applies `text-disabled` to the value span only, not the label
|