@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
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Textarea
|
|
3
|
+
description: Auto-growing multi-line text input built on the InputField foundation.
|
|
4
|
+
package: "@g4rcez/components"
|
|
5
|
+
export: "{ Textarea }"
|
|
6
|
+
import: "import { Textarea } from '@g4rcez/components'"
|
|
7
|
+
category: form
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Textarea
|
|
11
|
+
|
|
12
|
+
Auto-growing multi-line text input built on the InputField foundation.
|
|
13
|
+
|
|
14
|
+
## Import
|
|
15
|
+
|
|
16
|
+
```tsx
|
|
17
|
+
import { Textarea } from "@g4rcez/components";
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Props
|
|
21
|
+
|
|
22
|
+
Inherits all `InputField` props and standard HTML `<textarea>` attributes, plus:
|
|
23
|
+
|
|
24
|
+
| Prop | Type | Default | Description |
|
|
25
|
+
| ------------- | --------- | ------- | --------------------------------------------------------------------------------------- |
|
|
26
|
+
| `title` | `Label` | — | Label for the textarea. |
|
|
27
|
+
| `error` | `string` | — | Error message displayed below the field. |
|
|
28
|
+
| `loading` | `boolean` | `false` | Disables the field and signals a pending state. |
|
|
29
|
+
| `rows` | `number` | `2` | Initial number of visible text rows. |
|
|
30
|
+
| `next` | `string` | — | ID of the next element to focus when Enter is pressed (requires `enterKeyHint="next"`). |
|
|
31
|
+
| `placeholder` | `string` | — | Placeholder text. |
|
|
32
|
+
| `required` | `boolean` | — | Marks the field as required. |
|
|
33
|
+
| `className` | `string` | — | Additional CSS classes for the `<textarea>` element. |
|
|
34
|
+
|
|
35
|
+
## Design Tokens
|
|
36
|
+
|
|
37
|
+
Tokens this component reads. Customize by overriding these CSS variables in your theme.
|
|
38
|
+
|
|
39
|
+
| Token | CSS Variable | Purpose |
|
|
40
|
+
| -------------------------------------------------- | -------------------- | ---------------------------------------------------- |
|
|
41
|
+
| `placeholder-input-mask` | `--input-mask` | Placeholder text color |
|
|
42
|
+
| `placeholder-input-mask-error` (via `group-error`) | `--input-mask-error` | Placeholder tint in error state |
|
|
43
|
+
| `text-foreground` | `--foreground` | Input text color |
|
|
44
|
+
| `text-danger` (via `group-error`) | `--danger` | Text color in error state |
|
|
45
|
+
| `bg-transparent` | — | Input background (inherits from field wrapper) |
|
|
46
|
+
| `focus:ring-primary` | `--primary` | Focus ring |
|
|
47
|
+
| `group-focus-within:border-primary` | `--primary` | Border highlight on focus |
|
|
48
|
+
| `group-hover:border-primary` | `--primary` | Border highlight on hover |
|
|
49
|
+
| `h-input-height` | `--input-height` | Base height token (overridden by `rows` in practice) |
|
|
50
|
+
| `px-input-x` | `--input-x` | Horizontal padding |
|
|
51
|
+
| `py-input-y` | `--input-y` | Vertical padding |
|
|
52
|
+
|
|
53
|
+
## Examples
|
|
54
|
+
|
|
55
|
+
### Basic usage
|
|
56
|
+
|
|
57
|
+
```tsx
|
|
58
|
+
import { Textarea } from "@g4rcez/components";
|
|
59
|
+
|
|
60
|
+
export default function BioField() {
|
|
61
|
+
return <Textarea title="Bio" name="bio" placeholder="Tell us about yourself…" rows={4} onChange={(e) => console.log(e.target.value)} />;
|
|
62
|
+
}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### With validation error
|
|
66
|
+
|
|
67
|
+
```tsx
|
|
68
|
+
import { Textarea } from "@g4rcez/components";
|
|
69
|
+
|
|
70
|
+
export default function MessageField() {
|
|
71
|
+
return (
|
|
72
|
+
<Textarea
|
|
73
|
+
title="Message"
|
|
74
|
+
name="message"
|
|
75
|
+
required
|
|
76
|
+
error="Message is required and must be at least 10 characters."
|
|
77
|
+
placeholder="Enter your message…"
|
|
78
|
+
/>
|
|
79
|
+
);
|
|
80
|
+
}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Monospace styling for code
|
|
84
|
+
|
|
85
|
+
```tsx
|
|
86
|
+
import { Textarea } from "@g4rcez/components";
|
|
87
|
+
|
|
88
|
+
export default function CssSnippetField() {
|
|
89
|
+
return <Textarea title="CSS Snippet" name="css" className="font-mono text-sm" rows={6} placeholder="body { margin: 0; }" />;
|
|
90
|
+
}
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Focus-next navigation
|
|
94
|
+
|
|
95
|
+
```tsx
|
|
96
|
+
import { Textarea } from "@g4rcez/components";
|
|
97
|
+
import { Input } from "@g4rcez/components";
|
|
98
|
+
|
|
99
|
+
export default function MultiFieldForm() {
|
|
100
|
+
return (
|
|
101
|
+
<div className="flex flex-col gap-base">
|
|
102
|
+
<Textarea title="Description" name="description" enterKeyHint="next" next="submit-btn" rows={3} placeholder="Describe the issue…" />
|
|
103
|
+
<button id="submit-btn" type="submit" className="btn">
|
|
104
|
+
Submit
|
|
105
|
+
</button>
|
|
106
|
+
</div>
|
|
107
|
+
);
|
|
108
|
+
}
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## Do
|
|
112
|
+
|
|
113
|
+
- Provide a descriptive `title` to label the field.
|
|
114
|
+
- Set a sensible initial `rows` value based on the expected content length.
|
|
115
|
+
- Use `Textarea` whenever the user is expected to provide more than a single line of text.
|
|
116
|
+
- Use design-token classes on wrapper elements (`bg-background`, `text-foreground`, `border-border`).
|
|
117
|
+
|
|
118
|
+
## Don't
|
|
119
|
+
|
|
120
|
+
- Don't use `Textarea` for single-line inputs like names or emails — use `Input` instead.
|
|
121
|
+
- Don't fix the height with a `className` like `h-32` if you want the auto-resize behavior to work.
|
|
122
|
+
- Don't pass raw Tailwind color classes (`bg-gray-50`, `border-gray-300`) — use design tokens instead.
|
|
123
|
+
- Don't use arbitrary Tailwind values (`bg-[#abc]`) — override CSS variables in your `@theme` block instead.
|
|
124
|
+
|
|
125
|
+
## Accessibility
|
|
126
|
+
|
|
127
|
+
- Rendered inside an `InputField` which wraps the element with `<fieldset>` and a `<label>` linked via `id`/`for`.
|
|
128
|
+
- Supports `aria-required`, `aria-invalid`, `aria-disabled`, and `aria-readonly` via prop spread.
|
|
129
|
+
- Keyboard navigation follows standard `<textarea>` behavior (Tab to focus, Shift+Tab to leave).
|
|
130
|
+
- When `enterKeyHint="next"` and a `next` id is provided, pressing Enter moves focus to the target element.
|
|
131
|
+
|
|
132
|
+
## Data Attributes
|
|
133
|
+
|
|
134
|
+
| Attribute | Element | Value | Description |
|
|
135
|
+
| ---------------- | ----------------- | ------------- | ------------------------------------------------- |
|
|
136
|
+
| `data-component` | `InputField` root | `"textarea"` | Identifies the component. |
|
|
137
|
+
| `data-error` | `InputField` root | truthy string | Present when an error message is supplied. |
|
|
138
|
+
| `data-next` | `<textarea>` | element id | Target element id for Enter-key focus forwarding. |
|
|
139
|
+
|
|
140
|
+
## Notes
|
|
141
|
+
|
|
142
|
+
- Auto-resize is driven by a native `input` event listener that sets `style.height = "auto"` then `style.height = scrollHeight + "px"` — no JavaScript polling or ResizeObserver involved.
|
|
143
|
+
- The resize handle is set to `resize-y` by default; add `className="resize-none"` to disable it.
|
|
144
|
+
- Built via the shared `createFreeText` factory, which also powers the `Input` component — all `InputField` layout features (left/right slots, optional text, feedback, etc.) are available.
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Timeline
|
|
3
|
+
description: Vertical chronological event list with icon markers, body content, and optional right-side metadata.
|
|
4
|
+
package: "@g4rcez/components"
|
|
5
|
+
export: "{ Timeline }"
|
|
6
|
+
import: "import { Timeline, TimelineItem } from '@g4rcez/components/timeline'"
|
|
7
|
+
category: display
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Timeline
|
|
11
|
+
|
|
12
|
+
Vertical chronological event list with icon markers, body content, and optional right-side metadata.
|
|
13
|
+
|
|
14
|
+
## Import
|
|
15
|
+
|
|
16
|
+
```tsx
|
|
17
|
+
import { Timeline, TimelineItem } from "@g4rcez/components/timeline";
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Components
|
|
21
|
+
|
|
22
|
+
### Timeline
|
|
23
|
+
|
|
24
|
+
The root container. Renders as a `<ul>` with `role="list"`. The vertical connector line on the last item is hidden automatically.
|
|
25
|
+
|
|
26
|
+
### TimelineItem
|
|
27
|
+
|
|
28
|
+
A single event entry. Renders as a `<li>` with `role="listitem"` and `pb-12` vertical spacing for the connector line.
|
|
29
|
+
|
|
30
|
+
### TimelineItem.Icon
|
|
31
|
+
|
|
32
|
+
The visual marker — a rounded circle, typically containing an icon. Renders as a `<header>`.
|
|
33
|
+
|
|
34
|
+
| Prop | Type | Default | Description |
|
|
35
|
+
| ----------- | ----------------- | ------- | ---------------------------------- |
|
|
36
|
+
| `className` | `string` | — | Override icon container appearance |
|
|
37
|
+
| `children` | `React.ReactNode` | — | Icon element |
|
|
38
|
+
|
|
39
|
+
### TimelineItem.Body
|
|
40
|
+
|
|
41
|
+
The main content area. Polymorphic — defaults to `<section>`.
|
|
42
|
+
|
|
43
|
+
| Prop | Type | Default | Description |
|
|
44
|
+
| ----------- | ------------------- | ----------- | ------------------------- |
|
|
45
|
+
| `as` | `React.ElementType` | `"section"` | HTML element to render as |
|
|
46
|
+
| `className` | `string` | — | Additional classes |
|
|
47
|
+
| `children` | `React.ReactNode` | — | Event body content |
|
|
48
|
+
|
|
49
|
+
### TimelineItem.Right
|
|
50
|
+
|
|
51
|
+
Optional right-side slot for timestamps or auxiliary actions. Renders inside a `<footer>` wrapper. Polymorphic — defaults to `<button>`.
|
|
52
|
+
|
|
53
|
+
| Prop | Type | Default | Description |
|
|
54
|
+
| ---------- | ------------------- | ---------- | ------------------------- |
|
|
55
|
+
| `as` | `React.ElementType` | `"button"` | HTML element to render as |
|
|
56
|
+
| `children` | `React.ReactNode` | — | Right-side content |
|
|
57
|
+
|
|
58
|
+
## Design Tokens
|
|
59
|
+
|
|
60
|
+
Tokens this component reads. Customize by overriding these CSS variables in your theme.
|
|
61
|
+
|
|
62
|
+
| Token | CSS Variable | Purpose |
|
|
63
|
+
| ------------------------- | ---------------------- | --------------------------------- |
|
|
64
|
+
| `bg-card-border` | `--card-border` | Vertical connector line color |
|
|
65
|
+
| `bg-primary` | `--primary` | Icon container default background |
|
|
66
|
+
| `text-primary-foreground` | `--primary-foreground` | Icon default text/icon color |
|
|
67
|
+
|
|
68
|
+
## Examples
|
|
69
|
+
|
|
70
|
+
### Order Tracking Timeline
|
|
71
|
+
|
|
72
|
+
```tsx
|
|
73
|
+
import { CheckIcon, PackageIcon, TruckIcon } from "@phosphor-icons/react";
|
|
74
|
+
|
|
75
|
+
<Timeline>
|
|
76
|
+
<TimelineItem>
|
|
77
|
+
<TimelineItem.Icon>
|
|
78
|
+
<CheckIcon size={20} />
|
|
79
|
+
</TimelineItem.Icon>
|
|
80
|
+
<TimelineItem.Body>
|
|
81
|
+
<h4 className="font-bold">Order Placed</h4>
|
|
82
|
+
<p className="text-muted-foreground">Your order has been received and is being processed.</p>
|
|
83
|
+
</TimelineItem.Body>
|
|
84
|
+
<TimelineItem.Right as="time">10:00 AM</TimelineItem.Right>
|
|
85
|
+
</TimelineItem>
|
|
86
|
+
|
|
87
|
+
<TimelineItem>
|
|
88
|
+
<TimelineItem.Icon>
|
|
89
|
+
<PackageIcon size={20} />
|
|
90
|
+
</TimelineItem.Icon>
|
|
91
|
+
<TimelineItem.Body>
|
|
92
|
+
<h4 className="font-bold">Packed</h4>
|
|
93
|
+
<p className="text-muted-foreground">Your order has been packed and is ready for shipment.</p>
|
|
94
|
+
</TimelineItem.Body>
|
|
95
|
+
<TimelineItem.Right as="time">1:00 PM</TimelineItem.Right>
|
|
96
|
+
</TimelineItem>
|
|
97
|
+
|
|
98
|
+
<TimelineItem>
|
|
99
|
+
<TimelineItem.Icon>
|
|
100
|
+
<TruckIcon size={20} />
|
|
101
|
+
</TimelineItem.Icon>
|
|
102
|
+
<TimelineItem.Body>
|
|
103
|
+
<h4 className="font-bold">Shipped</h4>
|
|
104
|
+
<p className="text-muted-foreground">Your package is on its way.</p>
|
|
105
|
+
</TimelineItem.Body>
|
|
106
|
+
<TimelineItem.Right as="time">2:30 PM</TimelineItem.Right>
|
|
107
|
+
</TimelineItem>
|
|
108
|
+
</Timeline>;
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Simple Text Timeline
|
|
112
|
+
|
|
113
|
+
```tsx
|
|
114
|
+
<Timeline>
|
|
115
|
+
<TimelineItem>
|
|
116
|
+
<TimelineItem.Body>
|
|
117
|
+
<strong>Step 1:</strong> Initial setup completed.
|
|
118
|
+
</TimelineItem.Body>
|
|
119
|
+
</TimelineItem>
|
|
120
|
+
<TimelineItem>
|
|
121
|
+
<TimelineItem.Body>
|
|
122
|
+
<strong>Step 2:</strong> Data migration started.
|
|
123
|
+
</TimelineItem.Body>
|
|
124
|
+
</TimelineItem>
|
|
125
|
+
</Timeline>
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### Activity Feed
|
|
129
|
+
|
|
130
|
+
```tsx
|
|
131
|
+
import { UserIcon, PencilSimpleIcon, TrashIcon } from "@phosphor-icons/react";
|
|
132
|
+
|
|
133
|
+
function ActivityFeed({ events }: { events: ActivityEvent[] }) {
|
|
134
|
+
const iconMap = {
|
|
135
|
+
create: UserIcon,
|
|
136
|
+
update: PencilSimpleIcon,
|
|
137
|
+
delete: TrashIcon,
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
return (
|
|
141
|
+
<Timeline>
|
|
142
|
+
{events.map((event) => {
|
|
143
|
+
const Icon = iconMap[event.type];
|
|
144
|
+
return (
|
|
145
|
+
<TimelineItem key={event.id}>
|
|
146
|
+
<TimelineItem.Icon>
|
|
147
|
+
<Icon size={18} />
|
|
148
|
+
</TimelineItem.Icon>
|
|
149
|
+
<TimelineItem.Body>
|
|
150
|
+
<p className="font-medium">
|
|
151
|
+
{event.user} {event.action}
|
|
152
|
+
</p>
|
|
153
|
+
<p className="text-sm text-muted-foreground">{event.description}</p>
|
|
154
|
+
</TimelineItem.Body>
|
|
155
|
+
<TimelineItem.Right as="time" dateTime={event.iso}>
|
|
156
|
+
{event.relativeTime}
|
|
157
|
+
</TimelineItem.Right>
|
|
158
|
+
</TimelineItem>
|
|
159
|
+
);
|
|
160
|
+
})}
|
|
161
|
+
</Timeline>
|
|
162
|
+
);
|
|
163
|
+
}
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
### Custom Icon Background
|
|
167
|
+
|
|
168
|
+
```tsx
|
|
169
|
+
import { WarningCircleIcon } from "@phosphor-icons/react";
|
|
170
|
+
|
|
171
|
+
<TimelineItem>
|
|
172
|
+
<TimelineItem.Icon className="bg-danger text-danger-foreground">
|
|
173
|
+
<WarningCircleIcon size={20} />
|
|
174
|
+
</TimelineItem.Icon>
|
|
175
|
+
<TimelineItem.Body>
|
|
176
|
+
<h4 className="font-bold text-danger-foreground">Deployment Failed</h4>
|
|
177
|
+
<p className="text-muted-foreground">Build step exited with code 1.</p>
|
|
178
|
+
</TimelineItem.Body>
|
|
179
|
+
</TimelineItem>;
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
## Do
|
|
183
|
+
|
|
184
|
+
- Use icons that clearly represent the status or type of event.
|
|
185
|
+
- Keep body content concise; link to a detail view for lengthy information.
|
|
186
|
+
- Maintain consistent chronological order (ascending or descending) throughout the list.
|
|
187
|
+
- Use semantic elements for timestamps — `as="time"` with a `dateTime` attribute.
|
|
188
|
+
- Use design-token classes for icon background overrides (`bg-success`, `bg-danger`).
|
|
189
|
+
|
|
190
|
+
## Don't
|
|
191
|
+
|
|
192
|
+
- Don't pass raw Tailwind color classes (`bg-green-500`, `text-red-600`) for icon backgrounds — use design tokens instead.
|
|
193
|
+
- Don't use arbitrary Tailwind values (`bg-[#abc]`) — override CSS variables in your `@theme` block.
|
|
194
|
+
- Don't cram too much information into a single `TimelineItem`; link to detail pages.
|
|
195
|
+
- Don't use `Timeline` for non-sequential data — use `List` or `Table` for unordered collections.
|
|
196
|
+
|
|
197
|
+
## Accessibility
|
|
198
|
+
|
|
199
|
+
- `Timeline` uses `<ul role="list">` and each `TimelineItem` uses `<li role="listitem">` for semantic list structure.
|
|
200
|
+
- The vertical connector `<span>` between items carries `aria-hidden="true"` since it is purely decorative.
|
|
201
|
+
- The last item's connector line is hidden via a CSS selector (`[&>li:last-child>span[aria-hidden=true]]:hidden`), removing it from layout without JS.
|
|
202
|
+
|
|
203
|
+
## Data Attributes
|
|
204
|
+
|
|
205
|
+
- `data-component="timeline"` — applied to the `<ul>` container.
|
|
206
|
+
- `data-component="timeline-item"` — applied to each `<li>` entry.
|
|
207
|
+
|
|
208
|
+
## Notes
|
|
209
|
+
|
|
210
|
+
- `TimelineItem.Right` defaults to `as="button"` — change to `as="time"` or `as="span"` if the right slot is non-interactive.
|
|
211
|
+
- Vertical spacing between entries is controlled by `pb-12` on `TimelineItem`; the connector line fills this gap.
|
|
212
|
+
- `TimelineItem` can be used without `TimelineItem.Icon` — the connector line still renders from the left edge.
|
|
@@ -19,20 +19,20 @@ import { Toolbar } from "@g4rcez/components";
|
|
|
19
19
|
|
|
20
20
|
## Props
|
|
21
21
|
|
|
22
|
-
| Prop
|
|
23
|
-
|
|
24
|
-
| `children` | `React.ReactNode` | —
|
|
25
|
-
| `root`
|
|
22
|
+
| Prop | Type | Default | Description |
|
|
23
|
+
| ---------- | ----------------- | ------- | ----------------------------------------------------- |
|
|
24
|
+
| `children` | `React.ReactNode` | — | Items displayed inside the toolbar |
|
|
25
|
+
| `root` | `HTMLElement` | — | Optional root element reference for scrolling context |
|
|
26
26
|
|
|
27
27
|
## Design Tokens
|
|
28
28
|
|
|
29
29
|
Tokens this component reads. Customize by overriding these CSS variables in your theme.
|
|
30
30
|
|
|
31
|
-
| Token
|
|
32
|
-
|
|
33
|
-
| `bg-background`
|
|
34
|
-
| `border-card-border` | `--card-border` | Toolbar border
|
|
35
|
-
| `rounded-lg`
|
|
31
|
+
| Token | CSS Variable | Purpose |
|
|
32
|
+
| -------------------- | --------------- | -------------------------- |
|
|
33
|
+
| `bg-background` | `--background` | Toolbar surface background |
|
|
34
|
+
| `border-card-border` | `--card-border` | Toolbar border |
|
|
35
|
+
| `rounded-lg` | — | Toolbar corner radius |
|
|
36
36
|
|
|
37
37
|
## Examples
|
|
38
38
|
|
|
@@ -43,9 +43,9 @@ import { Toolbar } from "@g4rcez/components";
|
|
|
43
43
|
import { Button } from "@g4rcez/components/button";
|
|
44
44
|
|
|
45
45
|
<Toolbar>
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
</Toolbar
|
|
46
|
+
<Button theme="ghost-muted">Cancel</Button>
|
|
47
|
+
<Button theme="primary">Save Changes</Button>
|
|
48
|
+
</Toolbar>;
|
|
49
49
|
```
|
|
50
50
|
|
|
51
51
|
### Rich Text Editor Toolbar
|
|
@@ -57,24 +57,26 @@ import { Button } from "@g4rcez/components/button";
|
|
|
57
57
|
import { Tooltip } from "@g4rcez/components/tooltip";
|
|
58
58
|
|
|
59
59
|
<Toolbar>
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
60
|
+
<Tooltip title="Bold">
|
|
61
|
+
<Button size="icon" theme="ghost-neutral">
|
|
62
|
+
<BoldIcon size={16} />
|
|
63
|
+
</Button>
|
|
64
|
+
</Tooltip>
|
|
65
|
+
<Tooltip title="Italic">
|
|
66
|
+
<Button size="icon" theme="ghost-neutral">
|
|
67
|
+
<ItalicIcon size={16} />
|
|
68
|
+
</Button>
|
|
69
|
+
</Tooltip>
|
|
70
|
+
<Tooltip title="Underline">
|
|
71
|
+
<Button size="icon" theme="ghost-neutral">
|
|
72
|
+
<UnderlineIcon size={16} />
|
|
73
|
+
</Button>
|
|
74
|
+
</Tooltip>
|
|
75
|
+
<div className="mx-2 h-6 w-px bg-card-border" />
|
|
76
|
+
<Button theme="primary" size="small">
|
|
77
|
+
Publish
|
|
63
78
|
</Button>
|
|
64
|
-
|
|
65
|
-
<Tooltip title="Italic">
|
|
66
|
-
<Button size="icon" theme="ghost-neutral">
|
|
67
|
-
<ItalicIcon size={16} />
|
|
68
|
-
</Button>
|
|
69
|
-
</Tooltip>
|
|
70
|
-
<Tooltip title="Underline">
|
|
71
|
-
<Button size="icon" theme="ghost-neutral">
|
|
72
|
-
<UnderlineIcon size={16} />
|
|
73
|
-
</Button>
|
|
74
|
-
</Tooltip>
|
|
75
|
-
<div className="mx-2 h-6 w-px bg-card-border" />
|
|
76
|
-
<Button theme="primary" size="small">Publish</Button>
|
|
77
|
-
</Toolbar>
|
|
79
|
+
</Toolbar>;
|
|
78
80
|
```
|
|
79
81
|
|
|
80
82
|
### Batch Action Toolbar
|
|
@@ -85,23 +87,21 @@ import { Toolbar } from "@g4rcez/components";
|
|
|
85
87
|
import { Button } from "@g4rcez/components/button";
|
|
86
88
|
|
|
87
89
|
function BatchToolbar({ selectedCount }: { selectedCount: number }) {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
</Toolbar>
|
|
104
|
-
);
|
|
90
|
+
if (selectedCount === 0) return null;
|
|
91
|
+
|
|
92
|
+
return (
|
|
93
|
+
<Toolbar>
|
|
94
|
+
<span className="text-sm text-muted-foreground">{selectedCount} selected</span>
|
|
95
|
+
<Button theme="ghost-neutral" size="small">
|
|
96
|
+
<DownloadIcon size={16} />
|
|
97
|
+
Export
|
|
98
|
+
</Button>
|
|
99
|
+
<Button theme="danger" size="small">
|
|
100
|
+
<TrashIcon size={16} />
|
|
101
|
+
Delete
|
|
102
|
+
</Button>
|
|
103
|
+
</Toolbar>
|
|
104
|
+
);
|
|
105
105
|
}
|
|
106
106
|
```
|
|
107
107
|
|