@g4rcez/components 4.0.2 → 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 +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.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 +2810 -2756
- 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 +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/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 -25
- 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/ai/docs/Select.md
CHANGED
|
@@ -19,44 +19,44 @@ import { Select } from "@g4rcez/components/select";
|
|
|
19
19
|
|
|
20
20
|
## Props
|
|
21
21
|
|
|
22
|
-
| Prop
|
|
23
|
-
|
|
24
|
-
| `options`
|
|
25
|
-
| `selectContainer`
|
|
26
|
-
| `required`
|
|
27
|
-
| `error`
|
|
28
|
-
| `loading`
|
|
29
|
-
| `disabled`
|
|
30
|
-
| `placeholder`
|
|
31
|
-
| `value`
|
|
32
|
-
| `onChange`
|
|
33
|
-
| `...inputFieldProps` | `InputFieldProps`
|
|
22
|
+
| Prop | Type | Default | Description |
|
|
23
|
+
| -------------------- | --------------------------------------------- | ------- | ------------------------------------------------------------ |
|
|
24
|
+
| `options` | `OptionProps[]` | — | Array of option objects. |
|
|
25
|
+
| `selectContainer` | `string` | `""` | Additional CSS classes for the select container. |
|
|
26
|
+
| `required` | `boolean` | `true` | Whether the field is required. |
|
|
27
|
+
| `error` | `string` | — | Error message to display. |
|
|
28
|
+
| `loading` | `boolean` | `false` | Shows a loading indicator and disables the field. |
|
|
29
|
+
| `disabled` | `boolean` | `false` | Disables the select. |
|
|
30
|
+
| `placeholder` | `string` | — | Placeholder shown as a disabled hidden option. |
|
|
31
|
+
| `value` | `string` | — | Controlled selected value. |
|
|
32
|
+
| `onChange` | `(e: ChangeEvent<HTMLSelectElement>) => void` | — | Change handler. |
|
|
33
|
+
| `...inputFieldProps` | `InputFieldProps` | — | All `InputField` props (title, left, right, feedback, etc.). |
|
|
34
34
|
|
|
35
35
|
### OptionProps
|
|
36
36
|
|
|
37
|
-
| Prop
|
|
38
|
-
|
|
39
|
-
| `value`
|
|
40
|
-
| `label`
|
|
41
|
-
| `disabled`
|
|
42
|
-
| `data-dynamic` | `string`
|
|
43
|
-
| `data-*`
|
|
37
|
+
| Prop | Type | Description |
|
|
38
|
+
| -------------- | --------- | ------------------------------------------------------- |
|
|
39
|
+
| `value` | `string` | Option value (required). |
|
|
40
|
+
| `label` | `string` | Display text (falls back to `value` if omitted). |
|
|
41
|
+
| `disabled` | `boolean` | Disables this individual option. |
|
|
42
|
+
| `data-dynamic` | `string` | Marks a dynamically generated option. |
|
|
43
|
+
| `data-*` | `string` | Any custom data attributes forwarded to the `<option>`. |
|
|
44
44
|
|
|
45
45
|
## Design Tokens
|
|
46
46
|
|
|
47
47
|
Tokens this component reads. Customize by overriding these CSS variables in your theme.
|
|
48
48
|
|
|
49
|
-
| Token
|
|
50
|
-
|
|
51
|
-
| `text-foreground`
|
|
52
|
-
| `text-input-placeholder`
|
|
53
|
-
| `placeholder-input-placeholder`
|
|
54
|
-
| `bg-input-mask-error` (via `group-error`) | `--input-mask-error`
|
|
55
|
-
| `text-danger` (via `group-error`)
|
|
56
|
-
| `hover:text-primary`
|
|
57
|
-
| `h-input-height`
|
|
58
|
-
| `px-input-x`
|
|
59
|
-
| `py-input-y`
|
|
49
|
+
| Token | CSS Variable | Purpose |
|
|
50
|
+
| ----------------------------------------- | --------------------- | -------------------------------- |
|
|
51
|
+
| `text-foreground` | `--foreground` | Selected option text color |
|
|
52
|
+
| `text-input-placeholder` | `--input-placeholder` | Color when no option is selected |
|
|
53
|
+
| `placeholder-input-placeholder` | `--input-placeholder` | Placeholder styling |
|
|
54
|
+
| `bg-input-mask-error` (via `group-error`) | `--input-mask-error` | Placeholder tint in error state |
|
|
55
|
+
| `text-danger` (via `group-error`) | `--danger` | Text color in error state |
|
|
56
|
+
| `hover:text-primary` | `--primary` | Caret icon hover color |
|
|
57
|
+
| `h-input-height` | `--input-height` | Control height (2.5 rem) |
|
|
58
|
+
| `px-input-x` | `--input-x` | Horizontal padding |
|
|
59
|
+
| `py-input-y` | `--input-y` | Vertical padding |
|
|
60
60
|
|
|
61
61
|
## Examples
|
|
62
62
|
|
|
@@ -67,21 +67,21 @@ import { useState } from "react";
|
|
|
67
67
|
import { Select } from "@g4rcez/components/select";
|
|
68
68
|
|
|
69
69
|
export default function FruitPicker() {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
70
|
+
const [value, setValue] = useState("");
|
|
71
|
+
|
|
72
|
+
return (
|
|
73
|
+
<Select
|
|
74
|
+
title="Fruit"
|
|
75
|
+
options={[
|
|
76
|
+
{ value: "apple", label: "Apple" },
|
|
77
|
+
{ value: "banana", label: "Banana" },
|
|
78
|
+
{ value: "orange", label: "Orange" },
|
|
79
|
+
]}
|
|
80
|
+
placeholder="Select a fruit"
|
|
81
|
+
value={value}
|
|
82
|
+
onChange={(e) => setValue(e.target.value)}
|
|
83
|
+
/>
|
|
84
|
+
);
|
|
85
85
|
}
|
|
86
86
|
```
|
|
87
87
|
|
|
@@ -92,27 +92,27 @@ import { useState } from "react";
|
|
|
92
92
|
import { Select } from "@g4rcez/components/select";
|
|
93
93
|
|
|
94
94
|
export default function CountrySelect() {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
95
|
+
const [country, setCountry] = useState("");
|
|
96
|
+
const [error, setError] = useState("");
|
|
97
|
+
|
|
98
|
+
return (
|
|
99
|
+
<Select
|
|
100
|
+
title="Country"
|
|
101
|
+
options={[
|
|
102
|
+
{ value: "us", label: "United States" },
|
|
103
|
+
{ value: "ca", label: "Canada" },
|
|
104
|
+
{ value: "uk", label: "United Kingdom" },
|
|
105
|
+
]}
|
|
106
|
+
placeholder="Select country"
|
|
107
|
+
value={country}
|
|
108
|
+
error={error}
|
|
109
|
+
required
|
|
110
|
+
onChange={(e) => {
|
|
111
|
+
setCountry(e.target.value);
|
|
112
|
+
setError(e.target.value ? "" : "Please select a country");
|
|
113
|
+
}}
|
|
114
|
+
/>
|
|
115
|
+
);
|
|
116
116
|
}
|
|
117
117
|
```
|
|
118
118
|
|
|
@@ -122,18 +122,18 @@ export default function CountrySelect() {
|
|
|
122
122
|
import { Select } from "@g4rcez/components/select";
|
|
123
123
|
|
|
124
124
|
export default function StatusSelect() {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
125
|
+
return (
|
|
126
|
+
<Select
|
|
127
|
+
title="Status"
|
|
128
|
+
options={[
|
|
129
|
+
{ value: "active", label: "Active" },
|
|
130
|
+
{ value: "pending", label: "Pending" },
|
|
131
|
+
{ value: "legacy", label: "Legacy (deprecated)", disabled: true },
|
|
132
|
+
{ value: "inactive", label: "Inactive" },
|
|
133
|
+
]}
|
|
134
|
+
placeholder="Select status"
|
|
135
|
+
/>
|
|
136
|
+
);
|
|
137
137
|
}
|
|
138
138
|
```
|
|
139
139
|
|
|
@@ -144,29 +144,29 @@ import { useEffect, useState } from "react";
|
|
|
144
144
|
import { Select } from "@g4rcez/components/select";
|
|
145
145
|
|
|
146
146
|
export default function AsyncSelect() {
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
147
|
+
const [options, setOptions] = useState<{ value: string; label: string }[]>([]);
|
|
148
|
+
const [loading, setLoading] = useState(false);
|
|
149
|
+
const [value, setValue] = useState("");
|
|
150
|
+
|
|
151
|
+
useEffect(() => {
|
|
152
|
+
setLoading(true);
|
|
153
|
+
fetchOptions().then((data) => {
|
|
154
|
+
setOptions(data);
|
|
155
|
+
setLoading(false);
|
|
156
|
+
});
|
|
157
|
+
}, []);
|
|
158
|
+
|
|
159
|
+
return (
|
|
160
|
+
<Select
|
|
161
|
+
title="Region"
|
|
162
|
+
options={options}
|
|
163
|
+
placeholder={loading ? "Loading..." : "Select a region"}
|
|
164
|
+
value={value}
|
|
165
|
+
loading={loading}
|
|
166
|
+
disabled={loading}
|
|
167
|
+
onChange={(e) => setValue(e.target.value)}
|
|
168
|
+
/>
|
|
169
|
+
);
|
|
170
170
|
}
|
|
171
171
|
```
|
|
172
172
|
|
|
@@ -177,21 +177,21 @@ import { Select } from "@g4rcez/components/select";
|
|
|
177
177
|
import { useForm } from "@g4rcez/components/form";
|
|
178
178
|
|
|
179
179
|
export default function UserForm() {
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
180
|
+
const form = useForm(schema, "userForm");
|
|
181
|
+
|
|
182
|
+
return (
|
|
183
|
+
<form {...form.props}>
|
|
184
|
+
<Select
|
|
185
|
+
{...form.select("role")}
|
|
186
|
+
options={[
|
|
187
|
+
{ value: "admin", label: "Administrator" },
|
|
188
|
+
{ value: "editor", label: "Editor" },
|
|
189
|
+
{ value: "viewer", label: "Viewer" },
|
|
190
|
+
]}
|
|
191
|
+
placeholder="Select role"
|
|
192
|
+
/>
|
|
193
|
+
</form>
|
|
194
|
+
);
|
|
195
195
|
}
|
|
196
196
|
```
|
|
197
197
|
|
|
@@ -202,47 +202,47 @@ import { useState } from "react";
|
|
|
202
202
|
import { Select } from "@g4rcez/components/select";
|
|
203
203
|
|
|
204
204
|
const subcategories: Record<string, { value: string; label: string }[]> = {
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
205
|
+
electronics: [
|
|
206
|
+
{ value: "phones", label: "Phones" },
|
|
207
|
+
{ value: "laptops", label: "Laptops" },
|
|
208
|
+
],
|
|
209
|
+
clothing: [
|
|
210
|
+
{ value: "shirts", label: "Shirts" },
|
|
211
|
+
{ value: "pants", label: "Pants" },
|
|
212
|
+
],
|
|
213
213
|
};
|
|
214
214
|
|
|
215
215
|
export default function CascadingSelect() {
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
216
|
+
const [category, setCategory] = useState("");
|
|
217
|
+
const [subcategory, setSubcategory] = useState("");
|
|
218
|
+
|
|
219
|
+
return (
|
|
220
|
+
<div className="flex flex-col gap-base">
|
|
221
|
+
<Select
|
|
222
|
+
title="Category"
|
|
223
|
+
options={[
|
|
224
|
+
{ value: "electronics", label: "Electronics" },
|
|
225
|
+
{ value: "clothing", label: "Clothing" },
|
|
226
|
+
]}
|
|
227
|
+
placeholder="Select category"
|
|
228
|
+
value={category}
|
|
229
|
+
onChange={(e) => {
|
|
230
|
+
setCategory(e.target.value);
|
|
231
|
+
setSubcategory("");
|
|
232
|
+
}}
|
|
233
|
+
/>
|
|
234
|
+
|
|
235
|
+
{category && (
|
|
236
|
+
<Select
|
|
237
|
+
title="Subcategory"
|
|
238
|
+
options={subcategories[category] ?? []}
|
|
239
|
+
placeholder="Select subcategory"
|
|
240
|
+
value={subcategory}
|
|
241
|
+
onChange={(e) => setSubcategory(e.target.value)}
|
|
242
|
+
/>
|
|
243
|
+
)}
|
|
244
|
+
</div>
|
|
245
|
+
);
|
|
246
246
|
}
|
|
247
247
|
```
|
|
248
248
|
|
|
@@ -271,10 +271,10 @@ export default function CascadingSelect() {
|
|
|
271
271
|
|
|
272
272
|
## Data Attributes
|
|
273
273
|
|
|
274
|
-
| Attribute
|
|
275
|
-
|
|
276
|
-
| `data-component` | `InputField` root | `"select"`
|
|
277
|
-
| `data-selected`
|
|
274
|
+
| Attribute | Element | Value | Description |
|
|
275
|
+
| ---------------- | ----------------- | ------------------- | --------------------------------------------- |
|
|
276
|
+
| `data-component` | `InputField` root | `"select"` | Identifies the component. |
|
|
277
|
+
| `data-selected` | `<select>` | `"true" \| "false"` | Whether a non-placeholder option is selected. |
|
|
278
278
|
|
|
279
279
|
## Notes
|
|
280
280
|
|
package/ai/docs/Shortcut.md
CHANGED
|
@@ -19,9 +19,9 @@ import { Shortcut } from "@g4rcez/components";
|
|
|
19
19
|
|
|
20
20
|
## Props
|
|
21
21
|
|
|
22
|
-
| Prop
|
|
23
|
-
|
|
24
|
-
| `value` | `string` | —
|
|
22
|
+
| Prop | Type | Default | Description |
|
|
23
|
+
| ------- | -------- | ------- | ------------------------------------------------------------------- |
|
|
24
|
+
| `value` | `string` | — | Shortcut string to display, e.g. `"Mod + K"` or `"Shift + Alt + P"` |
|
|
25
25
|
|
|
26
26
|
## Design Tokens
|
|
27
27
|
|
|
@@ -31,10 +31,10 @@ The `Shortcut` component inherits text color and size from its parent. No compon
|
|
|
31
31
|
|
|
32
32
|
The component automatically maps keys based on the user's operating system:
|
|
33
33
|
|
|
34
|
-
| Key token | macOS
|
|
35
|
-
|
|
36
|
-
| `Mod`
|
|
37
|
-
| `Alt`
|
|
34
|
+
| Key token | macOS | Other |
|
|
35
|
+
| --------- | ------------------------------ | ------ |
|
|
36
|
+
| `Mod` | `⌘` (CommandIcon, `size={12}`) | `Ctrl` |
|
|
37
|
+
| `Alt` | `⌥` (OptionIcon, `size={12}`) | `Alt` |
|
|
38
38
|
|
|
39
39
|
All other key tokens are rendered as-is.
|
|
40
40
|
|
|
@@ -50,9 +50,9 @@ All other key tokens are rendered as-is.
|
|
|
50
50
|
|
|
51
51
|
```tsx
|
|
52
52
|
<Tooltip title="Save changes">
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
53
|
+
<div className="flex gap-2 items-center">
|
|
54
|
+
Save <Shortcut value="Mod + S" />
|
|
55
|
+
</div>
|
|
56
56
|
</Tooltip>
|
|
57
57
|
```
|
|
58
58
|
|
|
@@ -60,8 +60,8 @@ All other key tokens are rendered as-is.
|
|
|
60
60
|
|
|
61
61
|
```tsx
|
|
62
62
|
<div className="flex items-center justify-between w-full">
|
|
63
|
-
|
|
64
|
-
|
|
63
|
+
<span>Open command palette</span>
|
|
64
|
+
<Shortcut value="Mod + K" />
|
|
65
65
|
</div>
|
|
66
66
|
```
|
|
67
67
|
|
|
@@ -76,8 +76,8 @@ All other key tokens are rendered as-is.
|
|
|
76
76
|
|
|
77
77
|
```tsx
|
|
78
78
|
<div className="flex items-center justify-between px-4 py-2">
|
|
79
|
-
|
|
80
|
-
|
|
79
|
+
<span className="text-foreground">New File</span>
|
|
80
|
+
<Shortcut value="Mod + N" />
|
|
81
81
|
</div>
|
|
82
82
|
```
|
|
83
83
|
|
package/ai/docs/Skeleton.md
CHANGED
|
@@ -27,11 +27,11 @@ A pre-built table-cell skeleton with `h-6 w-10/12 animate-pulse rounded bg-muted
|
|
|
27
27
|
|
|
28
28
|
A configurable block skeleton.
|
|
29
29
|
|
|
30
|
-
| Prop
|
|
31
|
-
|
|
32
|
-
| `className` | `string`
|
|
33
|
-
| `as`
|
|
34
|
-
| `style`
|
|
30
|
+
| Prop | Type | Default | Description |
|
|
31
|
+
| ----------- | ------------------- | -------- | --------------------------------------- |
|
|
32
|
+
| `className` | `string` | — | Override or extend dimensions and shape |
|
|
33
|
+
| `as` | `React.ElementType` | `"span"` | Polymorphic root element |
|
|
34
|
+
| `style` | `CSSProperties` | — | Inline styles (e.g. dynamic `width`) |
|
|
35
35
|
|
|
36
36
|
Default appearance: `block h-8 w-32 animate-pulse rounded bg-muted`.
|
|
37
37
|
|
|
@@ -39,18 +39,18 @@ Default appearance: `block h-8 w-32 animate-pulse rounded bg-muted`.
|
|
|
39
39
|
|
|
40
40
|
A vertical list of randomized-width `Skeleton` lines.
|
|
41
41
|
|
|
42
|
-
| Prop
|
|
43
|
-
|
|
44
|
-
| `rows`
|
|
45
|
-
| `className` | `string` | —
|
|
42
|
+
| Prop | Type | Default | Description |
|
|
43
|
+
| ----------- | -------- | ------- | ------------------------------------------- |
|
|
44
|
+
| `rows` | `number` | — | Number of skeleton lines to render |
|
|
45
|
+
| `className` | `string` | — | Additional classes for the `<ul>` container |
|
|
46
46
|
|
|
47
47
|
## Design Tokens
|
|
48
48
|
|
|
49
49
|
Tokens this component reads. Customize by overriding these CSS variables in your theme.
|
|
50
50
|
|
|
51
|
-
| Token
|
|
52
|
-
|
|
53
|
-
| `bg-muted` | `--muted`
|
|
51
|
+
| Token | CSS Variable | Purpose |
|
|
52
|
+
| ---------- | ------------ | ---------------------------------------------------- |
|
|
53
|
+
| `bg-muted` | `--muted` | Pulse animation background for all skeleton variants |
|
|
54
54
|
|
|
55
55
|
## Examples
|
|
56
56
|
|
|
@@ -58,19 +58,25 @@ Tokens this component reads. Customize by overriding these CSS variables in your
|
|
|
58
58
|
|
|
59
59
|
```tsx
|
|
60
60
|
function TableSkeleton() {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
61
|
+
return (
|
|
62
|
+
<table className="w-full">
|
|
63
|
+
<tbody>
|
|
64
|
+
{Array.from({ length: 5 }).map((_, index) => (
|
|
65
|
+
<tr key={index} className="border-b border-border">
|
|
66
|
+
<td className="py-3 px-4">
|
|
67
|
+
<SkeletonCell />
|
|
68
|
+
</td>
|
|
69
|
+
<td className="py-3 px-4">
|
|
70
|
+
<SkeletonCell />
|
|
71
|
+
</td>
|
|
72
|
+
<td className="py-3 px-4">
|
|
73
|
+
<SkeletonCell />
|
|
74
|
+
</td>
|
|
75
|
+
</tr>
|
|
76
|
+
))}
|
|
77
|
+
</tbody>
|
|
78
|
+
</table>
|
|
79
|
+
);
|
|
74
80
|
}
|
|
75
81
|
```
|
|
76
82
|
|
|
@@ -78,20 +84,20 @@ function TableSkeleton() {
|
|
|
78
84
|
|
|
79
85
|
```tsx
|
|
80
86
|
function CardSkeleton() {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
87
|
+
return (
|
|
88
|
+
<div className="rounded-card border border-card-border bg-card-background p-6 space-y-4">
|
|
89
|
+
<Skeleton className="h-4 w-3/4" />
|
|
90
|
+
<div className="space-y-2">
|
|
91
|
+
<SkeletonCell />
|
|
92
|
+
<SkeletonCell />
|
|
93
|
+
<Skeleton className="h-2 w-1/2" />
|
|
94
|
+
</div>
|
|
95
|
+
<div className="flex gap-2">
|
|
96
|
+
<Skeleton className="h-8 w-20" />
|
|
97
|
+
<Skeleton className="h-8 w-16" />
|
|
98
|
+
</div>
|
|
99
|
+
</div>
|
|
100
|
+
);
|
|
95
101
|
}
|
|
96
102
|
```
|
|
97
103
|
|
|
@@ -105,15 +111,7 @@ function CardSkeleton() {
|
|
|
105
111
|
|
|
106
112
|
```tsx
|
|
107
113
|
function DataSection({ data, loading }: { data?: Item; loading: boolean }) {
|
|
108
|
-
|
|
109
|
-
<div>
|
|
110
|
-
{loading ? (
|
|
111
|
-
<Skeleton className="h-6 w-full" />
|
|
112
|
-
) : (
|
|
113
|
-
<p>{data?.name}</p>
|
|
114
|
-
)}
|
|
115
|
-
</div>
|
|
116
|
-
);
|
|
114
|
+
return <div>{loading ? <Skeleton className="h-6 w-full" /> : <p>{data?.name}</p>}</div>;
|
|
117
115
|
}
|
|
118
116
|
```
|
|
119
117
|
|
|
@@ -121,15 +119,15 @@ function DataSection({ data, loading }: { data?: Item; loading: boolean }) {
|
|
|
121
119
|
|
|
122
120
|
```tsx
|
|
123
121
|
function UserRowSkeleton() {
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
122
|
+
return (
|
|
123
|
+
<div className="flex items-center gap-3">
|
|
124
|
+
<Skeleton className="size-10 rounded-full" />
|
|
125
|
+
<div className="flex-1 space-y-1">
|
|
126
|
+
<SkeletonCell />
|
|
127
|
+
<Skeleton className="h-2 w-1/3" />
|
|
128
|
+
</div>
|
|
129
|
+
</div>
|
|
130
|
+
);
|
|
133
131
|
}
|
|
134
132
|
```
|
|
135
133
|
|
|
@@ -155,9 +153,7 @@ function UserRowSkeleton() {
|
|
|
155
153
|
- Consider `aria-label="Loading content"` on the skeleton container for additional context.
|
|
156
154
|
|
|
157
155
|
```tsx
|
|
158
|
-
<div aria-live="polite">
|
|
159
|
-
{loading ? <SkeletonCell /> : <ActualContent />}
|
|
160
|
-
</div>
|
|
156
|
+
<div aria-live="polite">{loading ? <SkeletonCell /> : <ActualContent />}</div>
|
|
161
157
|
```
|
|
162
158
|
|
|
163
159
|
## Notes
|