@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/Modal.md
CHANGED
|
@@ -19,36 +19,36 @@ import { Modal, ModalConfirmProvider, useConfirm } from "@g4rcez/components/moda
|
|
|
19
19
|
|
|
20
20
|
## Props
|
|
21
21
|
|
|
22
|
-
| Prop
|
|
23
|
-
|
|
24
|
-
| `open`
|
|
25
|
-
| `onChange`
|
|
26
|
-
| `title`
|
|
27
|
-
| `ariaTitle`
|
|
28
|
-
| `footer`
|
|
29
|
-
| `type`
|
|
30
|
-
| `position`
|
|
31
|
-
| `animated`
|
|
32
|
-
| `closable`
|
|
33
|
-
| `resizer`
|
|
34
|
-
| `forceType`
|
|
35
|
-
| `overlayClickClose` | `boolean`
|
|
36
|
-
| `trigger`
|
|
37
|
-
| `asChild`
|
|
38
|
-
| `className`
|
|
39
|
-
| `bodyClassName`
|
|
40
|
-
| `overlayClassName`
|
|
41
|
-
| `layoutId`
|
|
42
|
-
| `role`
|
|
43
|
-
| `interactions`
|
|
22
|
+
| Prop | Type | Default | Description |
|
|
23
|
+
| ------------------- | --------------------------------- | ---------- | ------------------------------------------------------------- |
|
|
24
|
+
| `open` | `boolean` | — | Controls modal visibility |
|
|
25
|
+
| `onChange` | `(nextState: boolean) => void` | — | Callback when modal state changes |
|
|
26
|
+
| `title` | `React.ReactNode` | — | Modal title; creates a `<h2>` header |
|
|
27
|
+
| `ariaTitle` | `string` | — | ARIA label used when no visible `title` is provided |
|
|
28
|
+
| `footer` | `React.ReactNode` | — | Footer content |
|
|
29
|
+
| `type` | `"dialog" \| "drawer" \| "sheet"` | `"dialog"` | Modal display variant |
|
|
30
|
+
| `position` | `"left" \| "right"` | `"right"` | Drawer slide-in side (drawer type only) |
|
|
31
|
+
| `animated` | `boolean` | `true` | Enable enter/exit animations |
|
|
32
|
+
| `closable` | `boolean` | `true` | Show the close button |
|
|
33
|
+
| `resizer` | `boolean` | `true` | Show the drag-to-resize handle (drawer and sheet) |
|
|
34
|
+
| `forceType` | `boolean` | `false` | Disable responsive behavior — keep `type` on all screen sizes |
|
|
35
|
+
| `overlayClickClose` | `boolean` | `false` | Close when clicking the backdrop |
|
|
36
|
+
| `trigger` | `React.ReactNode \| React.FC` | — | Element that toggles the modal when clicked |
|
|
37
|
+
| `asChild` | `boolean` | `false` | Merge trigger props onto the child element via `Slot` |
|
|
38
|
+
| `className` | `string` | — | Additional classes for the modal surface |
|
|
39
|
+
| `bodyClassName` | `string` | — | Additional classes for the scrollable body |
|
|
40
|
+
| `overlayClassName` | `string` | — | Additional classes for the backdrop overlay |
|
|
41
|
+
| `layoutId` | `string` | — | Framer Motion layout ID for shared-element transitions |
|
|
42
|
+
| `role` | `"dialog"` | `"dialog"` | ARIA role |
|
|
43
|
+
| `interactions` | `ElementProps[]` | `[]` | Extra Floating UI interaction hooks |
|
|
44
44
|
|
|
45
45
|
## Modal Types
|
|
46
46
|
|
|
47
|
-
| Type
|
|
48
|
-
|
|
49
|
-
| `dialog` | Centered overlay with backdrop
|
|
47
|
+
| Type | Behavior | Best for |
|
|
48
|
+
| -------- | ----------------------------------------- | ------------------------- |
|
|
49
|
+
| `dialog` | Centered overlay with backdrop | Confirmations, forms |
|
|
50
50
|
| `drawer` | Slides in from left or right; full height | Navigation, detail panels |
|
|
51
|
-
| `sheet`
|
|
51
|
+
| `sheet` | Slides up from bottom; full width | Mobile action sheets |
|
|
52
52
|
|
|
53
53
|
On mobile (`< 64 rem`) drawers automatically become sheets unless `forceType` is set.
|
|
54
54
|
|
|
@@ -56,16 +56,16 @@ On mobile (`< 64 rem`) drawers automatically become sheets unless `forceType` is
|
|
|
56
56
|
|
|
57
57
|
Tokens this component reads. Customize by overriding these CSS variables in your theme.
|
|
58
58
|
|
|
59
|
-
| Token
|
|
60
|
-
|
|
61
|
-
| `bg-floating-background` | `--floating-background` | Modal surface background
|
|
62
|
-
| `border-floating-border` | `--floating-border`
|
|
63
|
-
| `bg-floating-overlay`
|
|
64
|
-
| `z-overlay`
|
|
65
|
-
| `z-floating`
|
|
66
|
-
| `w-dialog`
|
|
67
|
-
| `text-foreground`
|
|
68
|
-
| `text-danger`
|
|
59
|
+
| Token | CSS Variable | Purpose |
|
|
60
|
+
| ------------------------ | ----------------------- | -------------------------------------------------- |
|
|
61
|
+
| `bg-floating-background` | `--floating-background` | Modal surface background |
|
|
62
|
+
| `border-floating-border` | `--floating-border` | Modal border, header/footer dividers, resizer |
|
|
63
|
+
| `bg-floating-overlay` | `--floating-overlay` | Backdrop color (with `/70` opacity) |
|
|
64
|
+
| `z-overlay` | `--z-overlay` | Z-index of the backdrop |
|
|
65
|
+
| `z-floating` | `--z-floating` | Z-index of the modal surface and close button |
|
|
66
|
+
| `w-dialog` | `--dialog` | Default max-width for dialog type (`max-w-dialog`) |
|
|
67
|
+
| `text-foreground` | `--foreground` | Body text color |
|
|
68
|
+
| `text-danger` | `--danger` | Close button hover color |
|
|
69
69
|
|
|
70
70
|
## Examples
|
|
71
71
|
|
|
@@ -77,25 +77,25 @@ import { Modal } from "@g4rcez/components/modal";
|
|
|
77
77
|
import { Button } from "@g4rcez/components/button";
|
|
78
78
|
|
|
79
79
|
function BasicDialog() {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
80
|
+
const [open, setOpen] = useState(false);
|
|
81
|
+
|
|
82
|
+
return (
|
|
83
|
+
<>
|
|
84
|
+
<Button onClick={() => setOpen(true)}>Open Dialog</Button>
|
|
85
|
+
|
|
86
|
+
<Modal open={open} onChange={setOpen} title="Confirm Action">
|
|
87
|
+
<p className="text-foreground">Are you sure you want to proceed?</p>
|
|
88
|
+
<div className="flex gap-2 mt-4">
|
|
89
|
+
<Button theme="ghost-muted" onClick={() => setOpen(false)}>
|
|
90
|
+
Cancel
|
|
91
|
+
</Button>
|
|
92
|
+
<Button theme="danger" onClick={() => setOpen(false)}>
|
|
93
|
+
Confirm
|
|
94
|
+
</Button>
|
|
95
|
+
</div>
|
|
96
|
+
</Modal>
|
|
97
|
+
</>
|
|
98
|
+
);
|
|
99
99
|
}
|
|
100
100
|
```
|
|
101
101
|
|
|
@@ -103,48 +103,42 @@ function BasicDialog() {
|
|
|
103
103
|
|
|
104
104
|
```tsx
|
|
105
105
|
<Modal
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
106
|
+
open={open}
|
|
107
|
+
onChange={setOpen}
|
|
108
|
+
title="User Profile"
|
|
109
|
+
footer={
|
|
110
|
+
<div className="flex justify-end gap-2">
|
|
111
|
+
<Button theme="ghost-muted" onClick={() => setOpen(false)}>
|
|
112
|
+
Cancel
|
|
113
|
+
</Button>
|
|
114
|
+
<Button theme="primary">Save Changes</Button>
|
|
115
|
+
</div>
|
|
116
|
+
}
|
|
117
117
|
>
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
118
|
+
<form className="space-y-4">
|
|
119
|
+
<div>
|
|
120
|
+
<label className="text-sm font-medium text-foreground">Name</label>
|
|
121
|
+
<input type="text" className="w-full p-2 rounded-button border border-border bg-background text-foreground" />
|
|
122
|
+
</div>
|
|
123
|
+
</form>
|
|
124
124
|
</Modal>
|
|
125
125
|
```
|
|
126
126
|
|
|
127
127
|
### Drawer
|
|
128
128
|
|
|
129
129
|
```tsx
|
|
130
|
-
<Modal
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
Profile
|
|
143
|
-
</a>
|
|
144
|
-
<a href="/settings" className="block rounded-button p-2 text-foreground hover:bg-muted">
|
|
145
|
-
Settings
|
|
146
|
-
</a>
|
|
147
|
-
</nav>
|
|
130
|
+
<Modal open={open} onChange={setOpen} type="drawer" position="right" title="Navigation">
|
|
131
|
+
<nav className="space-y-2">
|
|
132
|
+
<a href="/dashboard" className="block rounded-button p-2 text-foreground hover:bg-muted">
|
|
133
|
+
Dashboard
|
|
134
|
+
</a>
|
|
135
|
+
<a href="/profile" className="block rounded-button p-2 text-foreground hover:bg-muted">
|
|
136
|
+
Profile
|
|
137
|
+
</a>
|
|
138
|
+
<a href="/settings" className="block rounded-button p-2 text-foreground hover:bg-muted">
|
|
139
|
+
Settings
|
|
140
|
+
</a>
|
|
141
|
+
</nav>
|
|
148
142
|
</Modal>
|
|
149
143
|
```
|
|
150
144
|
|
|
@@ -152,27 +146,22 @@ function BasicDialog() {
|
|
|
152
146
|
|
|
153
147
|
```tsx
|
|
154
148
|
<Modal open={open} onChange={setOpen} type="sheet" title="Quick Actions">
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
149
|
+
<div className="grid grid-cols-2 gap-4">
|
|
150
|
+
<Button theme="ghost-neutral" className="flex-col h-24">
|
|
151
|
+
Analytics
|
|
152
|
+
</Button>
|
|
153
|
+
<Button theme="ghost-neutral" className="flex-col h-24">
|
|
154
|
+
Revenue
|
|
155
|
+
</Button>
|
|
156
|
+
</div>
|
|
163
157
|
</Modal>
|
|
164
158
|
```
|
|
165
159
|
|
|
166
160
|
### Modal with Built-in Trigger
|
|
167
161
|
|
|
168
162
|
```tsx
|
|
169
|
-
<Modal
|
|
170
|
-
|
|
171
|
-
onChange={setOpen}
|
|
172
|
-
title="Settings"
|
|
173
|
-
trigger={<Button theme="primary">Open Settings</Button>}
|
|
174
|
-
>
|
|
175
|
-
<p className="text-foreground">Settings content here.</p>
|
|
163
|
+
<Modal open={open} onChange={setOpen} title="Settings" trigger={<Button theme="primary">Open Settings</Button>}>
|
|
164
|
+
<p className="text-foreground">Settings content here.</p>
|
|
176
165
|
</Modal>
|
|
177
166
|
```
|
|
178
167
|
|
|
@@ -180,10 +169,10 @@ function BasicDialog() {
|
|
|
180
169
|
|
|
181
170
|
```tsx
|
|
182
171
|
<Modal open={open} onChange={setOpen} title="Processing..." closable={false}>
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
172
|
+
<div className="text-center text-foreground">
|
|
173
|
+
<div className="animate-spin w-8 h-8 border-4 border-primary border-t-transparent rounded-full mx-auto mb-4" />
|
|
174
|
+
<p>Please wait while we process your request.</p>
|
|
175
|
+
</div>
|
|
187
176
|
</Modal>
|
|
188
177
|
```
|
|
189
178
|
|
|
@@ -195,7 +184,7 @@ Wrap your app with `ModalConfirmProvider` once:
|
|
|
195
184
|
import { ModalConfirmProvider } from "@g4rcez/components/modal";
|
|
196
185
|
|
|
197
186
|
export default function App({ children }) {
|
|
198
|
-
|
|
187
|
+
return <ModalConfirmProvider>{children}</ModalConfirmProvider>;
|
|
199
188
|
}
|
|
200
189
|
```
|
|
201
190
|
|
|
@@ -205,16 +194,16 @@ Then call `Modal.confirm` anywhere:
|
|
|
205
194
|
import { Modal } from "@g4rcez/components/modal";
|
|
206
195
|
|
|
207
196
|
async function handleDelete() {
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
197
|
+
const confirmed = await Modal.confirm({
|
|
198
|
+
title: "Delete item",
|
|
199
|
+
description: "This action cannot be undone.",
|
|
200
|
+
confirm: { text: "Delete", theme: "danger" },
|
|
201
|
+
cancel: { text: "Cancel" },
|
|
202
|
+
});
|
|
203
|
+
|
|
204
|
+
if (confirmed) {
|
|
205
|
+
// proceed with deletion
|
|
206
|
+
}
|
|
218
207
|
}
|
|
219
208
|
```
|
|
220
209
|
|
|
@@ -224,19 +213,23 @@ Or use the `useConfirm` hook inside a `ModalConfirmProvider` subtree:
|
|
|
224
213
|
import { useConfirm } from "@g4rcez/components/modal";
|
|
225
214
|
|
|
226
215
|
function DeleteButton() {
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
216
|
+
const confirm = useConfirm();
|
|
217
|
+
|
|
218
|
+
const handleClick = async () => {
|
|
219
|
+
const ok = await confirm({
|
|
220
|
+
title: "Delete item",
|
|
221
|
+
description: "Are you sure?",
|
|
222
|
+
});
|
|
223
|
+
if (ok) {
|
|
224
|
+
// delete
|
|
225
|
+
}
|
|
226
|
+
};
|
|
227
|
+
|
|
228
|
+
return (
|
|
229
|
+
<Button theme="danger" onClick={handleClick}>
|
|
230
|
+
Delete
|
|
231
|
+
</Button>
|
|
232
|
+
);
|
|
240
233
|
}
|
|
241
234
|
```
|
|
242
235
|
|
|
@@ -266,9 +259,9 @@ function DeleteButton() {
|
|
|
266
259
|
|
|
267
260
|
## Data Attributes
|
|
268
261
|
|
|
269
|
-
| Attribute
|
|
270
|
-
|
|
271
|
-
| `data-component="modal"`
|
|
262
|
+
| Attribute | Applied to | Description |
|
|
263
|
+
| ----------------------------- | --------------------------- | --------------------------- |
|
|
264
|
+
| `data-component="modal"` | Modal surface `<div>` | Identifies the modal root |
|
|
272
265
|
| `data-component="modal-body"` | Scrollable body `<section>` | Identifies the content area |
|
|
273
266
|
|
|
274
267
|
## Notes
|
package/ai/docs/MultiSelect.md
CHANGED
|
@@ -21,46 +21,46 @@ import { MultiSelect } from "@g4rcez/components";
|
|
|
21
21
|
|
|
22
22
|
The `MultiSelect` component inherits all props from `InputField`, plus:
|
|
23
23
|
|
|
24
|
-
| Prop
|
|
25
|
-
|
|
26
|
-
| `options`
|
|
27
|
-
| `value`
|
|
28
|
-
| `defaultValue`
|
|
29
|
-
| `onChangeOptions` | `(options: string[]) => void` | —
|
|
30
|
-
| `dynamicOption`
|
|
31
|
-
| `emptyMessage`
|
|
32
|
-
| `selectedLabel`
|
|
24
|
+
| Prop | Type | Default | Description |
|
|
25
|
+
| ----------------- | ----------------------------- | ------- | ---------------------------------------------------------- |
|
|
26
|
+
| `options` | `MultiSelectItemProps[]` | — | Array of `{ value, label, Render? }` option objects. |
|
|
27
|
+
| `value` | `string[]` | — | Controlled selected values. |
|
|
28
|
+
| `defaultValue` | `string[]` | `[]` | Initial selected values for uncontrolled usage. |
|
|
29
|
+
| `onChangeOptions` | `(options: string[]) => void` | — | Called when the selection changes. |
|
|
30
|
+
| `dynamicOption` | `boolean` | `false` | Allows users to select their search query as a new option. |
|
|
31
|
+
| `emptyMessage` | `Label` | — | Message shown when no options match the search. |
|
|
32
|
+
| `selectedLabel` | `string` | — | Text shown in the overflow counter (e.g., "selected"). |
|
|
33
33
|
|
|
34
34
|
### MultiSelectItemProps
|
|
35
35
|
|
|
36
36
|
Extends `OptionProps` with an optional custom renderer:
|
|
37
37
|
|
|
38
|
-
| Field
|
|
39
|
-
|
|
40
|
-
| `value`
|
|
41
|
-
| `label`
|
|
38
|
+
| Field | Type | Description |
|
|
39
|
+
| -------- | ----------------------- | --------------------------------------------- |
|
|
40
|
+
| `value` | `string` | Option value. |
|
|
41
|
+
| `label` | `string` | Option display text. |
|
|
42
42
|
| `Render` | `React.FC<OptionProps>` | Custom render component for the dropdown row. |
|
|
43
|
-
| `hidden` | `boolean`
|
|
43
|
+
| `hidden` | `boolean` | Hides the option from the list. |
|
|
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
|
-
| `placeholder-input-mask`
|
|
52
|
-
| `placeholder-input-mask-error` | `--input-mask-error`
|
|
53
|
-
| `border-input-border`
|
|
54
|
-
| `bg-floating-background`
|
|
55
|
-
| `border-floating-border`
|
|
56
|
-
| `bg-floating-hover`
|
|
57
|
-
| `text-foreground`
|
|
58
|
-
| `text-input-placeholder`
|
|
59
|
-
| `text-disabled`
|
|
60
|
-
| `focus:ring-primary`
|
|
61
|
-
| `h-input-height`
|
|
62
|
-
| `px-input-x`
|
|
63
|
-
| `py-input-y`
|
|
49
|
+
| Token | CSS Variable | Purpose |
|
|
50
|
+
| ------------------------------ | ----------------------- | -------------------------------------- |
|
|
51
|
+
| `placeholder-input-mask` | `--input-mask` | Placeholder text color |
|
|
52
|
+
| `placeholder-input-mask-error` | `--input-mask-error` | Placeholder color in error state |
|
|
53
|
+
| `border-input-border` | `--input-border` | Search input bottom border in dropdown |
|
|
54
|
+
| `bg-floating-background` | `--floating-background` | Dropdown panel background |
|
|
55
|
+
| `border-floating-border` | `--floating-border` | Dropdown panel border |
|
|
56
|
+
| `bg-floating-hover` | `--floating-hover` | Option row hover/active background |
|
|
57
|
+
| `text-foreground` | `--foreground` | Option text color |
|
|
58
|
+
| `text-input-placeholder` | `--input-placeholder` | Placeholder li color |
|
|
59
|
+
| `text-disabled` | `--disabled` | Empty-state text color |
|
|
60
|
+
| `focus:ring-primary` | `--primary` | Keyboard focus ring |
|
|
61
|
+
| `h-input-height` | `--input-height` | Trigger element height (2.5 rem) |
|
|
62
|
+
| `px-input-x` | `--input-x` | Horizontal padding |
|
|
63
|
+
| `py-input-y` | `--input-y` | Vertical padding |
|
|
64
64
|
|
|
65
65
|
## Examples
|
|
66
66
|
|
|
@@ -70,19 +70,13 @@ Tokens this component reads. Customize by overriding these CSS variables in your
|
|
|
70
70
|
import { MultiSelect } from "@g4rcez/components";
|
|
71
71
|
|
|
72
72
|
const options = [
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
73
|
+
{ value: "react", label: "React" },
|
|
74
|
+
{ value: "vue", label: "Vue" },
|
|
75
|
+
{ value: "angular", label: "Angular" },
|
|
76
76
|
];
|
|
77
77
|
|
|
78
78
|
export default function FrameworkPicker() {
|
|
79
|
-
|
|
80
|
-
<MultiSelect
|
|
81
|
-
title="Frameworks"
|
|
82
|
-
options={options}
|
|
83
|
-
onChangeOptions={(values) => console.log(values)}
|
|
84
|
-
/>
|
|
85
|
-
);
|
|
79
|
+
return <MultiSelect title="Frameworks" options={options} onChangeOptions={(values) => console.log(values)} />;
|
|
86
80
|
}
|
|
87
81
|
```
|
|
88
82
|
|
|
@@ -93,20 +87,20 @@ import { useState } from "react";
|
|
|
93
87
|
import { MultiSelect } from "@g4rcez/components";
|
|
94
88
|
|
|
95
89
|
export default function ControlledMultiSelect() {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
90
|
+
const [selected, setSelected] = useState<string[]>(["react"]);
|
|
91
|
+
|
|
92
|
+
return (
|
|
93
|
+
<MultiSelect
|
|
94
|
+
title="Frameworks"
|
|
95
|
+
options={[
|
|
96
|
+
{ value: "react", label: "React" },
|
|
97
|
+
{ value: "vue", label: "Vue" },
|
|
98
|
+
{ value: "angular", label: "Angular" },
|
|
99
|
+
]}
|
|
100
|
+
value={selected}
|
|
101
|
+
onChangeOptions={setSelected}
|
|
102
|
+
/>
|
|
103
|
+
);
|
|
110
104
|
}
|
|
111
105
|
```
|
|
112
106
|
|
|
@@ -117,24 +111,18 @@ import { ShieldIcon } from "@phosphor-icons/react";
|
|
|
117
111
|
import { MultiSelect } from "@g4rcez/components";
|
|
118
112
|
|
|
119
113
|
const roleOptions = roles.map((r) => ({
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
114
|
+
value: r.id,
|
|
115
|
+
label: r.name,
|
|
116
|
+
Render: () => (
|
|
117
|
+
<span className="flex items-center gap-base">
|
|
118
|
+
<ShieldIcon size={14} className="text-primary" />
|
|
119
|
+
{r.name}
|
|
120
|
+
</span>
|
|
121
|
+
),
|
|
128
122
|
}));
|
|
129
123
|
|
|
130
124
|
export default function RolePicker() {
|
|
131
|
-
|
|
132
|
-
<MultiSelect
|
|
133
|
-
title="Roles"
|
|
134
|
-
options={roleOptions}
|
|
135
|
-
onChangeOptions={(ids) => console.log(ids)}
|
|
136
|
-
/>
|
|
137
|
-
);
|
|
125
|
+
return <MultiSelect title="Roles" options={roleOptions} onChangeOptions={(ids) => console.log(ids)} />;
|
|
138
126
|
}
|
|
139
127
|
```
|
|
140
128
|
|
|
@@ -144,14 +132,7 @@ export default function RolePicker() {
|
|
|
144
132
|
import { MultiSelect } from "@g4rcez/components";
|
|
145
133
|
|
|
146
134
|
export default function TagInput() {
|
|
147
|
-
|
|
148
|
-
<MultiSelect
|
|
149
|
-
title="Tags"
|
|
150
|
-
dynamicOption
|
|
151
|
-
options={existingTags}
|
|
152
|
-
onChangeOptions={(tags) => console.log(tags)}
|
|
153
|
-
/>
|
|
154
|
-
);
|
|
135
|
+
return <MultiSelect title="Tags" dynamicOption options={existingTags} onChangeOptions={(tags) => console.log(tags)} />;
|
|
155
136
|
}
|
|
156
137
|
```
|
|
157
138
|
|
|
@@ -178,14 +159,14 @@ export default function TagInput() {
|
|
|
178
159
|
|
|
179
160
|
## Data Attributes
|
|
180
161
|
|
|
181
|
-
| Attribute
|
|
182
|
-
|
|
183
|
-
| `data-component` | trigger `ul`
|
|
184
|
-
| `data-shadow`
|
|
185
|
-
| `data-value`
|
|
186
|
-
| `data-floating`
|
|
187
|
-
| `data-dynamic`
|
|
188
|
-
| `data-error`
|
|
162
|
+
| Attribute | Element | Value | Description |
|
|
163
|
+
| ---------------- | ------------- | ---------------- | ------------------------------------------- |
|
|
164
|
+
| `data-component` | trigger `ul` | `"autocomplete"` | Identifies the component type. |
|
|
165
|
+
| `data-shadow` | trigger `ul` | `"true"` | Marks the visual shadow trigger. |
|
|
166
|
+
| `data-value` | trigger `ul` | JSON string | Currently selected values as a JSON array. |
|
|
167
|
+
| `data-floating` | dropdown root | `"true"` | Marks the floating panel. |
|
|
168
|
+
| `data-dynamic` | option button | `"true"` | Marks options injected via `dynamicOption`. |
|
|
169
|
+
| `data-error` | trigger `ul` | boolean string | Reflects the error state. |
|
|
189
170
|
|
|
190
171
|
## Notes
|
|
191
172
|
|