torch-glare 2.5.5 → 2.6.0
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/README.md +4 -3
- package/dist/bin/index.js +9 -24
- package/dist/bin/index.js.map +1 -1
- package/dist/src/commands/add.d.ts +2 -2
- package/dist/src/commands/add.d.ts.map +1 -1
- package/dist/src/commands/add.js +4 -70
- package/dist/src/commands/add.js.map +1 -1
- package/dist/src/commands/hook.d.ts +5 -4
- package/dist/src/commands/hook.d.ts.map +1 -1
- package/dist/src/commands/hook.js +7 -75
- package/dist/src/commands/hook.js.map +1 -1
- package/dist/src/commands/init.js +1 -1
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/layout.d.ts +5 -4
- package/dist/src/commands/layout.d.ts.map +1 -1
- package/dist/src/commands/layout.js +7 -75
- package/dist/src/commands/layout.js.map +1 -1
- package/dist/src/commands/provider.d.ts +5 -4
- package/dist/src/commands/provider.d.ts.map +1 -1
- package/dist/src/commands/provider.js +7 -75
- package/dist/src/commands/provider.js.map +1 -1
- package/dist/src/commands/update.d.ts.map +1 -1
- package/dist/src/commands/update.js +78 -43
- package/dist/src/commands/update.js.map +1 -1
- package/dist/src/commands/utils.d.ts +5 -4
- package/dist/src/commands/utils.d.ts.map +1 -1
- package/dist/src/commands/utils.js +7 -80
- package/dist/src/commands/utils.js.map +1 -1
- package/dist/src/shared/addFromRegistry.d.ts +16 -0
- package/dist/src/shared/addFromRegistry.d.ts.map +1 -0
- package/dist/src/shared/addFromRegistry.js +88 -0
- package/dist/src/shared/addFromRegistry.js.map +1 -0
- package/dist/src/shared/getInstallCommand.d.ts.map +1 -1
- package/dist/src/shared/getInstallCommand.js +5 -0
- package/dist/src/shared/getInstallCommand.js.map +1 -1
- package/dist/src/shared/installDependencies.d.ts +0 -10
- package/dist/src/shared/installDependencies.d.ts.map +1 -1
- package/dist/src/shared/installDependencies.js +0 -17
- package/dist/src/shared/installDependencies.js.map +1 -1
- package/dist/src/shared/installFromPlan.d.ts +7 -5
- package/dist/src/shared/installFromPlan.d.ts.map +1 -1
- package/dist/src/shared/installFromPlan.js +103 -36
- package/dist/src/shared/installFromPlan.js.map +1 -1
- package/dist/src/shared/loadRegistry.d.ts +12 -3
- package/dist/src/shared/loadRegistry.d.ts.map +1 -1
- package/dist/src/shared/loadRegistry.js +19 -20
- package/dist/src/shared/loadRegistry.js.map +1 -1
- package/dist/src/shared/registryClient.d.ts +19 -0
- package/dist/src/shared/registryClient.d.ts.map +1 -0
- package/dist/src/shared/registryClient.js +128 -0
- package/dist/src/shared/registryClient.js.map +1 -0
- package/dist/src/shared/resolveEntry.d.ts +10 -7
- package/dist/src/shared/resolveEntry.d.ts.map +1 -1
- package/dist/src/shared/resolveEntry.js +18 -13
- package/dist/src/shared/resolveEntry.js.map +1 -1
- package/dist/src/shared/suggestOtherCommand.d.ts +7 -1
- package/dist/src/shared/suggestOtherCommand.d.ts.map +1 -1
- package/dist/src/shared/suggestOtherCommand.js +29 -23
- package/dist/src/shared/suggestOtherCommand.js.map +1 -1
- package/dist/src/types/main.d.ts +31 -2
- package/dist/src/types/main.d.ts.map +1 -1
- package/package.json +6 -11
- package/apps/lib/components/ActionButton.tsx +0 -93
- package/apps/lib/components/ActionsGroup.tsx +0 -27
- package/apps/lib/components/AlertDialog.tsx +0 -204
- package/apps/lib/components/Avatar.tsx +0 -46
- package/apps/lib/components/Badge.tsx +0 -250
- package/apps/lib/components/BadgeField.tsx +0 -338
- package/apps/lib/components/Breadcrumb.tsx +0 -280
- package/apps/lib/components/Button.tsx +0 -317
- package/apps/lib/components/ButtonGroup.tsx +0 -190
- package/apps/lib/components/Calendar.tsx +0 -115
- package/apps/lib/components/Card.tsx +0 -95
- package/apps/lib/components/Checkbox.tsx +0 -42
- package/apps/lib/components/ColorPicker.tsx +0 -441
- package/apps/lib/components/ConclusionHeader.tsx +0 -148
- package/apps/lib/components/ContextMenu.tsx +0 -571
- package/apps/lib/components/CountBadge.tsx +0 -52
- package/apps/lib/components/DataTable.tsx +0 -213
- package/apps/lib/components/DataViews/badge.ts +0 -49
- package/apps/lib/components/DataViews/cell.tsx +0 -324
- package/apps/lib/components/DataViews/context.ts +0 -144
- package/apps/lib/components/DataViews/data-views.tsx +0 -383
- package/apps/lib/components/DataViews/filters/children.tsx +0 -98
- package/apps/lib/components/DataViews/filters/custom.tsx +0 -34
- package/apps/lib/components/DataViews/filters/filters.tsx +0 -157
- package/apps/lib/components/DataViews/filters/index.ts +0 -4
- package/apps/lib/components/DataViews/filters/labelled.tsx +0 -20
- package/apps/lib/components/DataViews/filters/presets.tsx +0 -65
- package/apps/lib/components/DataViews/filters/sync.tsx +0 -35
- package/apps/lib/components/DataViews/filters/values.ts +0 -173
- package/apps/lib/components/DataViews/header.tsx +0 -220
- package/apps/lib/components/DataViews/hooks/index.ts +0 -5
- package/apps/lib/components/DataViews/hooks/useActiveRow.ts +0 -22
- package/apps/lib/components/DataViews/hooks/useControllable.ts +0 -52
- package/apps/lib/components/DataViews/index.ts +0 -84
- package/apps/lib/components/DataViews/panel/columns.tsx +0 -153
- package/apps/lib/components/DataViews/panel/controls.tsx +0 -106
- package/apps/lib/components/DataViews/panel/index.ts +0 -3
- package/apps/lib/components/DataViews/panel/panel.tsx +0 -164
- package/apps/lib/components/DataViews/panel/saved-views.tsx +0 -67
- package/apps/lib/components/DataViews/panel/section.tsx +0 -81
- package/apps/lib/components/DataViews/panel/sort.tsx +0 -42
- package/apps/lib/components/DataViews/panel/tab.tsx +0 -31
- package/apps/lib/components/DataViews/slots.ts +0 -63
- package/apps/lib/components/DataViews/states.tsx +0 -38
- package/apps/lib/components/DataViews/types.ts +0 -510
- package/apps/lib/components/DataViews/views/board-view.tsx +0 -381
- package/apps/lib/components/DataViews/views/card-rows.tsx +0 -36
- package/apps/lib/components/DataViews/views/inbox-view.tsx +0 -260
- package/apps/lib/components/DataViews/views/pane-views.tsx +0 -196
- package/apps/lib/components/DataViews/views/table-view.tsx +0 -493
- package/apps/lib/components/DataViews/views/tree-view.tsx +0 -367
- package/apps/lib/components/DatePicker.tsx +0 -232
- package/apps/lib/components/Dialog.tsx +0 -116
- package/apps/lib/components/Divider.tsx +0 -28
- package/apps/lib/components/Drawer.tsx +0 -420
- package/apps/lib/components/DropdownMenu.tsx +0 -540
- package/apps/lib/components/FieldHint.tsx +0 -69
- package/apps/lib/components/Form.tsx +0 -182
- package/apps/lib/components/FormBuilder/context.ts +0 -73
- package/apps/lib/components/FormBuilder/field-kind.ts +0 -28
- package/apps/lib/components/FormBuilder/fields/ChoiceFields.tsx +0 -60
- package/apps/lib/components/FormBuilder/fields/ColorField.tsx +0 -59
- package/apps/lib/components/FormBuilder/fields/CustomField.tsx +0 -11
- package/apps/lib/components/FormBuilder/fields/DateField.tsx +0 -32
- package/apps/lib/components/FormBuilder/fields/FieldArray.tsx +0 -74
- package/apps/lib/components/FormBuilder/fields/FieldShell.tsx +0 -163
- package/apps/lib/components/FormBuilder/fields/FileField.tsx +0 -39
- package/apps/lib/components/FormBuilder/fields/OptionListFields.tsx +0 -132
- package/apps/lib/components/FormBuilder/fields/OtpField.tsx +0 -31
- package/apps/lib/components/FormBuilder/fields/PhoneField.tsx +0 -109
- package/apps/lib/components/FormBuilder/fields/RichTextEditorField.tsx +0 -31
- package/apps/lib/components/FormBuilder/fields/SelectField.tsx +0 -91
- package/apps/lib/components/FormBuilder/fields/SignatureField.tsx +0 -157
- package/apps/lib/components/FormBuilder/fields/SliderField.tsx +0 -67
- package/apps/lib/components/FormBuilder/fields/SwitchBoxField.tsx +0 -41
- package/apps/lib/components/FormBuilder/fields/TableField.tsx +0 -336
- package/apps/lib/components/FormBuilder/fields/TextField.tsx +0 -213
- package/apps/lib/components/FormBuilder/fields/TreeSelectField.tsx +0 -43
- package/apps/lib/components/FormBuilder/fields/countries.ts +0 -303
- package/apps/lib/components/FormBuilder/fields/index.ts +0 -25
- package/apps/lib/components/FormBuilder/form-builder.tsx +0 -198
- package/apps/lib/components/FormBuilder/index.ts +0 -31
- package/apps/lib/components/FormBuilder/numberFormat.ts +0 -16
- package/apps/lib/components/FormBuilder/submit.tsx +0 -47
- package/apps/lib/components/FormBuilder/types.ts +0 -311
- package/apps/lib/components/FormRenderer/FormDrawer.tsx +0 -128
- package/apps/lib/components/FormRenderer/detail.tsx +0 -207
- package/apps/lib/components/FormRenderer/form-renderer.tsx +0 -297
- package/apps/lib/components/FormRenderer/header.tsx +0 -88
- package/apps/lib/components/FormRenderer/index.ts +0 -15
- package/apps/lib/components/FormRenderer/section.tsx +0 -39
- package/apps/lib/components/FormRenderer/stepper.tsx +0 -339
- package/apps/lib/components/FormRenderer/types.ts +0 -78
- package/apps/lib/components/FormSummary.tsx +0 -282
- package/apps/lib/components/HeaderBar.tsx +0 -117
- package/apps/lib/components/ImageAttachment.tsx +0 -209
- package/apps/lib/components/InnerLabelField.tsx +0 -154
- package/apps/lib/components/Input.tsx +0 -224
- package/apps/lib/components/InputField.tsx +0 -147
- package/apps/lib/components/InputOTP.tsx +0 -84
- package/apps/lib/components/Label.tsx +0 -129
- package/apps/lib/components/LabelField.tsx +0 -76
- package/apps/lib/components/LabeledCheckBox.tsx +0 -51
- package/apps/lib/components/LabeledRadio.tsx +0 -51
- package/apps/lib/components/LinkButton.tsx +0 -94
- package/apps/lib/components/LoginButton.tsx +0 -51
- package/apps/lib/components/PasswordLevel.tsx +0 -58
- package/apps/lib/components/Popover.tsx +0 -312
- package/apps/lib/components/ProfileMenu.tsx +0 -85
- package/apps/lib/components/Radio.tsx +0 -59
- package/apps/lib/components/RadioCard.tsx +0 -50
- package/apps/lib/components/ScrollArea.tsx +0 -54
- package/apps/lib/components/SearchField.tsx +0 -62
- package/apps/lib/components/SearchableSelect.tsx +0 -318
- package/apps/lib/components/SearchableTable.tsx +0 -344
- package/apps/lib/components/SearchableTree.tsx +0 -485
- package/apps/lib/components/SearchableTreeDialog.tsx +0 -502
- package/apps/lib/components/SectionBlock.tsx +0 -147
- package/apps/lib/components/Select.tsx +0 -347
- package/apps/lib/components/SimpleSelect.tsx +0 -225
- package/apps/lib/components/Skeleton.tsx +0 -12
- package/apps/lib/components/SlideDatePicker.tsx +0 -253
- package/apps/lib/components/SpinLoading.tsx +0 -174
- package/apps/lib/components/Stepper.tsx +0 -480
- package/apps/lib/components/Switch.tsx +0 -82
- package/apps/lib/components/TabFormItem.tsx +0 -153
- package/apps/lib/components/TabSwitch.tsx +0 -172
- package/apps/lib/components/Table.tsx +0 -610
- package/apps/lib/components/TextEditor/ChartBlockTool.ts +0 -676
- package/apps/lib/components/TextEditor/RichTextField.tsx +0 -46
- package/apps/lib/components/TextEditor/TableDnDWrapper.ts +0 -462
- package/apps/lib/components/TextEditor/TextEditor.tsx +0 -1164
- package/apps/lib/components/TextEditor/TextEditorToolbar.tsx +0 -429
- package/apps/lib/components/TextEditor/editor-tools/AlignmentTune.ts +0 -70
- package/apps/lib/components/TextEditor/editor-tools/ColorInlineTool.ts +0 -50
- package/apps/lib/components/TextEditor/editor-tools/StrikethroughInlineTool.ts +0 -48
- package/apps/lib/components/TextEditor/editor-tools/inlineFormat.ts +0 -98
- package/apps/lib/components/TextEditor/editorjs.d.ts +0 -60
- package/apps/lib/components/TextEditor/index.ts +0 -7
- package/apps/lib/components/TextEditor/markdownParser.ts +0 -346
- package/apps/lib/components/Textarea.tsx +0 -117
- package/apps/lib/components/Timeline.tsx +0 -263
- package/apps/lib/components/Toast.tsx +0 -87
- package/apps/lib/components/Toggle.tsx +0 -125
- package/apps/lib/components/ToggleButton.tsx +0 -140
- package/apps/lib/components/Tooltip.tsx +0 -116
- package/apps/lib/components/TransparentLabel.tsx +0 -71
- package/apps/lib/components/TreeDropDown.tsx +0 -115
- package/apps/lib/components/TreeFolder/TreeFolder.tsx +0 -380
- package/apps/lib/components/TreeFolder/TreeFolderBreadcrumb.tsx +0 -75
- package/apps/lib/components/TreeFolder/TreeFolderRow.tsx +0 -354
- package/apps/lib/components/TreeFolder/TreeFolderStyles.tsx +0 -60
- package/apps/lib/components/TreeFolder/icons.tsx +0 -60
- package/apps/lib/components/TreeFolder/index.ts +0 -24
- package/apps/lib/components/TreeFolder/treeFolderUtils.ts +0 -109
- package/apps/lib/components/TreeFolder/types.ts +0 -77
- package/apps/lib/components/TreeFolder/useTreeFolderDnD.ts +0 -118
- package/apps/lib/hooks/useActiveTreeItem.ts +0 -58
- package/apps/lib/hooks/useClickOutside.ts +0 -27
- package/apps/lib/hooks/useDragDrop.tsx +0 -365
- package/apps/lib/hooks/useInfiniteScroll.ts +0 -108
- package/apps/lib/hooks/useIsMobile.ts +0 -21
- package/apps/lib/hooks/useResize.ts +0 -67
- package/apps/lib/hooks/useTagSelection.ts +0 -214
- package/apps/lib/layouts/CNLayout.tsx +0 -372
- package/apps/lib/layouts/DataViewCard.tsx +0 -62
- package/apps/lib/layouts/FieldSection.tsx +0 -91
- package/apps/lib/layouts/TreeSubLayout.tsx +0 -173
- package/apps/lib/providers/ThemeProvider.tsx +0 -84
- package/apps/lib/registry.json +0 -1201
- package/apps/lib/tsconfig.json +0 -9
- package/apps/lib/tsconfig.tsbuildinfo +0 -1
- package/apps/lib/utils/cn.ts +0 -6
- package/apps/lib/utils/color.ts +0 -175
- package/apps/lib/utils/dataViews/path.ts +0 -67
- package/apps/lib/utils/dataViews/query.ts +0 -73
- package/apps/lib/utils/dataViews/types.ts +0 -187
- package/apps/lib/utils/dateFormat.ts +0 -108
- package/apps/lib/utils/resize.ts +0 -31
- package/apps/lib/utils/types.ts +0 -16
- package/docs/BLOCKS.md +0 -129
- package/docs/CHANGELOG-1.1.16.md +0 -108
- package/docs/Cover.png +0 -0
- package/docs/README.md +0 -215
- package/docs/components/action-button.md +0 -638
- package/docs/components/actions-group.md +0 -708
- package/docs/components/alert-dialog.md +0 -920
- package/docs/components/avatar.md +0 -709
- package/docs/components/badge-field.md +0 -712
- package/docs/components/badge.md +0 -301
- package/docs/components/breadcrumb.md +0 -930
- package/docs/components/button-group.md +0 -650
- package/docs/components/button.md +0 -639
- package/docs/components/calendar.md +0 -555
- package/docs/components/card.md +0 -622
- package/docs/components/chart-block-tool.md +0 -129
- package/docs/components/checkbox.md +0 -699
- package/docs/components/cn-layout.md +0 -854
- package/docs/components/color-picker.md +0 -101
- package/docs/components/conclusion-header.md +0 -80
- package/docs/components/context-menu.md +0 -483
- package/docs/components/count-badge.md +0 -560
- package/docs/components/data-table.md +0 -854
- package/docs/components/data-views/backend-response.md +0 -324
- package/docs/components/data-views/examples/a11y-rtl.md +0 -250
- package/docs/components/data-views/examples/api-orders-route.md +0 -130
- package/docs/components/data-views/examples/fields.md +0 -362
- package/docs/components/data-views/examples/filters.md +0 -307
- package/docs/components/data-views/examples/inbox-routing.md +0 -218
- package/docs/components/data-views/examples/index.md +0 -29
- package/docs/components/data-views/examples/overview.md +0 -244
- package/docs/components/data-views/examples/panel.md +0 -212
- package/docs/components/data-views/examples/scale.md +0 -231
- package/docs/components/data-views/examples/server-side.md +0 -210
- package/docs/components/data-views/examples/state.md +0 -250
- package/docs/components/data-views/examples/tree-custom.md +0 -388
- package/docs/components/data-views/examples/view-registry.md +0 -313
- package/docs/components/data-views/examples/views.md +0 -534
- package/docs/components/data-views/guide.md +0 -405
- package/docs/components/data-views/index.md +0 -1495
- package/docs/components/data-views/migration.md +0 -79
- package/docs/components/date-picker.md +0 -857
- package/docs/components/dialog.md +0 -929
- package/docs/components/divider.md +0 -766
- package/docs/components/drawer.md +0 -654
- package/docs/components/dropdown-menu.md +0 -668
- package/docs/components/field-hint.md +0 -898
- package/docs/components/field-section.md +0 -781
- package/docs/components/form-builder.md +0 -276
- package/docs/components/form-renderer.md +0 -326
- package/docs/components/form-summary.md +0 -138
- package/docs/components/form.md +0 -785
- package/docs/components/header-bar.md +0 -188
- package/docs/components/image-attachment.md +0 -906
- package/docs/components/inner-label-field.md +0 -819
- package/docs/components/input-field.md +0 -623
- package/docs/components/input-otp.md +0 -756
- package/docs/components/input.md +0 -634
- package/docs/components/label-field.md +0 -770
- package/docs/components/label.md +0 -761
- package/docs/components/labeled-check-box.md +0 -642
- package/docs/components/labeled-radio.md +0 -796
- package/docs/components/link-button.md +0 -685
- package/docs/components/login-button.md +0 -872
- package/docs/components/password-level.md +0 -803
- package/docs/components/popover.md +0 -649
- package/docs/components/profile-menu.md +0 -656
- package/docs/components/radio-card.md +0 -801
- package/docs/components/radio.md +0 -735
- package/docs/components/scroll-area.md +0 -691
- package/docs/components/search-field.md +0 -702
- package/docs/components/searchable-select.md +0 -368
- package/docs/components/searchable-table.md +0 -438
- package/docs/components/searchable-tree-dialog.md +0 -190
- package/docs/components/searchable-tree.md +0 -200
- package/docs/components/section-block.md +0 -477
- package/docs/components/select.md +0 -709
- package/docs/components/simple-select.md +0 -741
- package/docs/components/skeleton.md +0 -706
- package/docs/components/slide-date-picker.md +0 -837
- package/docs/components/spin-loading.md +0 -696
- package/docs/components/stepper.md +0 -316
- package/docs/components/switch.md +0 -770
- package/docs/components/tab-form-item.md +0 -773
- package/docs/components/tab-switch.md +0 -170
- package/docs/components/table-dnd-wrapper.md +0 -107
- package/docs/components/table.md +0 -1088
- package/docs/components/text-editor.md +0 -735
- package/docs/components/textarea.md +0 -681
- package/docs/components/timeline.md +0 -254
- package/docs/components/toast.md +0 -773
- package/docs/components/toggle-button.md +0 -643
- package/docs/components/toggle.md +0 -882
- package/docs/components/tooltip.md +0 -513
- package/docs/components/transparent-label.md +0 -721
- package/docs/components/tree-drop-down.md +0 -740
- package/docs/components/tree-folder.md +0 -110
- package/docs/components/tree-sub-layout.md +0 -707
- package/docs/explanation/architecture.md +0 -54
- package/docs/explanation/design-system.md +0 -52
- package/docs/how-to/form-and-list-recipes.md +0 -386
- package/docs/how-to/forms-with-form-builder.md +0 -472
- package/docs/how-to/guides.md +0 -1027
- package/docs/migration/changelog.md +0 -54
- package/docs/migration/form-builder-2.5.2.md +0 -113
- package/docs/reference/cli.md +0 -112
- package/docs/reference/components.md +0 -572
- package/docs/reference/hooks.md +0 -1500
- package/docs/reference/providers.md +0 -866
- package/docs/reference/tailwind-plugins.md +0 -942
- package/docs/reference/theme.md +0 -85
- package/docs/reference/types.md +0 -1016
- package/docs/reference/utilities.md +0 -704
- package/docs/tutorials/building-first-form.md +0 -846
- package/docs/tutorials/component-composition.md +0 -882
- package/docs/tutorials/getting-started.md +0 -302
- package/docs/tutorials/theming-basics.md +0 -785
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
|
|
3
|
-
import * as React from "react";
|
|
4
|
-
import * as DialogPrimitive from "@radix-ui/react-dialog";
|
|
5
|
-
|
|
6
|
-
import { cn } from "../utils/cn";
|
|
7
|
-
|
|
8
|
-
const Dialog = DialogPrimitive.Root;
|
|
9
|
-
|
|
10
|
-
const DialogTrigger = DialogPrimitive.Trigger;
|
|
11
|
-
|
|
12
|
-
const DialogPortal = DialogPrimitive.Portal;
|
|
13
|
-
|
|
14
|
-
const DialogClose = DialogPrimitive.Close;
|
|
15
|
-
|
|
16
|
-
const DialogOverlay = React.forwardRef<
|
|
17
|
-
React.ElementRef<typeof DialogPrimitive.Overlay>,
|
|
18
|
-
React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>
|
|
19
|
-
>(({ className, ...props }, ref) => (
|
|
20
|
-
<DialogPrimitive.Overlay
|
|
21
|
-
ref={ref}
|
|
22
|
-
className={cn(
|
|
23
|
-
"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
24
|
-
className,
|
|
25
|
-
)}
|
|
26
|
-
{...props}
|
|
27
|
-
/>
|
|
28
|
-
));
|
|
29
|
-
DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
|
|
30
|
-
|
|
31
|
-
const DialogContent = React.forwardRef<
|
|
32
|
-
React.ElementRef<typeof DialogPrimitive.Content>,
|
|
33
|
-
React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>
|
|
34
|
-
>(({ className, children, ...props }, ref) => (
|
|
35
|
-
<DialogPortal>
|
|
36
|
-
<DialogOverlay />
|
|
37
|
-
<DialogPrimitive.Content
|
|
38
|
-
ref={ref}
|
|
39
|
-
className={cn(
|
|
40
|
-
"fixed left-[50%] top-[50%] z-50 flex flex-col items-start w-fit translate-x-[-50%] translate-y-[-50%] shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]",
|
|
41
|
-
"flex justify-center items-center",
|
|
42
|
-
className,
|
|
43
|
-
)}
|
|
44
|
-
{...props}
|
|
45
|
-
>
|
|
46
|
-
{children}
|
|
47
|
-
</DialogPrimitive.Content>
|
|
48
|
-
</DialogPortal>
|
|
49
|
-
));
|
|
50
|
-
DialogContent.displayName = DialogPrimitive.Content.displayName;
|
|
51
|
-
|
|
52
|
-
const DialogCloseButton = React.forwardRef<
|
|
53
|
-
React.ElementRef<typeof DialogPrimitive.Close>,
|
|
54
|
-
React.ComponentPropsWithoutRef<typeof DialogPrimitive.Close>
|
|
55
|
-
>(({ className, children, ...props }, ref) => (
|
|
56
|
-
<DialogPrimitive.Close ref={ref} {...props} className={cn("m-0 p-0 h-fit", className)}>
|
|
57
|
-
{children}
|
|
58
|
-
</DialogPrimitive.Close>
|
|
59
|
-
));
|
|
60
|
-
DialogCloseButton.displayName = DialogPrimitive.Close.displayName;
|
|
61
|
-
const DialogHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (
|
|
62
|
-
<div className={cn("flex flex-col space-y-1.5 text-center sm:text-left", className)} {...props} />
|
|
63
|
-
);
|
|
64
|
-
DialogHeader.displayName = "DialogHeader";
|
|
65
|
-
|
|
66
|
-
const DialogFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (
|
|
67
|
-
<div
|
|
68
|
-
className={cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className)}
|
|
69
|
-
{...props}
|
|
70
|
-
/>
|
|
71
|
-
);
|
|
72
|
-
DialogFooter.displayName = "DialogFooter";
|
|
73
|
-
|
|
74
|
-
const DialogTitle = React.forwardRef<
|
|
75
|
-
React.ElementRef<typeof DialogPrimitive.Title>,
|
|
76
|
-
React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>
|
|
77
|
-
>(({ className, ...props }, ref) => (
|
|
78
|
-
<DialogPrimitive.Title
|
|
79
|
-
ref={ref}
|
|
80
|
-
className={cn(
|
|
81
|
-
"text-lg font-semibold leading-none tracking-tight text-content-presentation-global-primary",
|
|
82
|
-
className,
|
|
83
|
-
)}
|
|
84
|
-
{...props}
|
|
85
|
-
/>
|
|
86
|
-
));
|
|
87
|
-
DialogTitle.displayName = DialogPrimitive.Title.displayName;
|
|
88
|
-
|
|
89
|
-
const DialogDescription = React.forwardRef<
|
|
90
|
-
React.ElementRef<typeof DialogPrimitive.Description>,
|
|
91
|
-
React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>
|
|
92
|
-
>(({ className, ...props }, ref) => (
|
|
93
|
-
<DialogPrimitive.Description
|
|
94
|
-
ref={ref}
|
|
95
|
-
className={cn(
|
|
96
|
-
"text-sm text-muted-foreground text-content-presentation-global-primary",
|
|
97
|
-
className,
|
|
98
|
-
)}
|
|
99
|
-
{...props}
|
|
100
|
-
/>
|
|
101
|
-
));
|
|
102
|
-
DialogDescription.displayName = DialogPrimitive.Description.displayName;
|
|
103
|
-
|
|
104
|
-
export {
|
|
105
|
-
Dialog,
|
|
106
|
-
DialogPortal,
|
|
107
|
-
DialogOverlay,
|
|
108
|
-
DialogTrigger,
|
|
109
|
-
DialogClose,
|
|
110
|
-
DialogContent,
|
|
111
|
-
DialogHeader,
|
|
112
|
-
DialogFooter,
|
|
113
|
-
DialogTitle,
|
|
114
|
-
DialogDescription,
|
|
115
|
-
DialogCloseButton,
|
|
116
|
-
};
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
|
|
3
|
-
import * as React from "react";
|
|
4
|
-
import { cn } from "../utils/cn";
|
|
5
|
-
|
|
6
|
-
interface DividerProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
7
|
-
orientation?: "horizontal" | "vertical";
|
|
8
|
-
decorative?: boolean;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
const Divider = React.forwardRef<HTMLDivElement, DividerProps>(
|
|
12
|
-
({ className, orientation = "horizontal", decorative = true, ...props }, ref) => (
|
|
13
|
-
<div
|
|
14
|
-
ref={ref}
|
|
15
|
-
role={decorative ? "none" : "separator"}
|
|
16
|
-
aria-orientation={decorative ? undefined : orientation}
|
|
17
|
-
className={cn(
|
|
18
|
-
"bg-border-presentation-global-primary",
|
|
19
|
-
orientation === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]",
|
|
20
|
-
className,
|
|
21
|
-
)}
|
|
22
|
-
{...props}
|
|
23
|
-
/>
|
|
24
|
-
),
|
|
25
|
-
);
|
|
26
|
-
Divider.displayName = "Divider";
|
|
27
|
-
|
|
28
|
-
export { Divider };
|
|
@@ -1,420 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
|
|
3
|
-
import * as React from "react";
|
|
4
|
-
import { Drawer as DrawerPrimitive } from "vaul";
|
|
5
|
-
import { cva, type VariantProps } from "class-variance-authority";
|
|
6
|
-
|
|
7
|
-
import { cn } from "../utils/cn";
|
|
8
|
-
import { Button } from "./Button";
|
|
9
|
-
|
|
10
|
-
const Drawer = ({
|
|
11
|
-
shouldScaleBackground = true,
|
|
12
|
-
...props
|
|
13
|
-
}: React.ComponentProps<typeof DrawerPrimitive.Root>) => (
|
|
14
|
-
<DrawerPrimitive.Root shouldScaleBackground={shouldScaleBackground} {...props} />
|
|
15
|
-
);
|
|
16
|
-
Drawer.displayName = "Drawer";
|
|
17
|
-
|
|
18
|
-
const DrawerNested = (props: React.ComponentProps<typeof DrawerPrimitive.NestedRoot>) => (
|
|
19
|
-
<DrawerPrimitive.NestedRoot {...props} />
|
|
20
|
-
);
|
|
21
|
-
DrawerNested.displayName = "DrawerNested";
|
|
22
|
-
|
|
23
|
-
const DrawerTrigger = DrawerPrimitive.Trigger;
|
|
24
|
-
|
|
25
|
-
const DrawerPortal = DrawerPrimitive.Portal;
|
|
26
|
-
|
|
27
|
-
const DrawerClose = DrawerPrimitive.Close;
|
|
28
|
-
|
|
29
|
-
const DrawerOverlay = React.forwardRef<
|
|
30
|
-
React.ElementRef<typeof DrawerPrimitive.Overlay>,
|
|
31
|
-
React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Overlay>
|
|
32
|
-
>(({ className, ...props }, ref) => (
|
|
33
|
-
<DrawerPrimitive.Overlay ref={ref} className={cn("fixed inset-0 z-50 ", className)} {...props} />
|
|
34
|
-
));
|
|
35
|
-
DrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName;
|
|
36
|
-
|
|
37
|
-
interface DrawerContentProps extends React.ComponentPropsWithoutRef<
|
|
38
|
-
typeof DrawerPrimitive.Content
|
|
39
|
-
> {
|
|
40
|
-
/** @deprecated No effect here — the drag handle is `DrawerPanel`'s `showHandle`. */
|
|
41
|
-
showHandle?: boolean;
|
|
42
|
-
notch?: React.ReactNode;
|
|
43
|
-
notchSide?: "left" | "right";
|
|
44
|
-
/**
|
|
45
|
-
* Show the dark "tray" frame (and panel border + inset shadow) around the
|
|
46
|
-
* drawer panel. Defaults to `true`. Set to `false` for bottom-anchored
|
|
47
|
-
* drawers (slide up from below) where a surrounding frame would just look
|
|
48
|
-
* like a stray border at the top.
|
|
49
|
-
*/
|
|
50
|
-
framed?: boolean;
|
|
51
|
-
wrapperClassName?: string;
|
|
52
|
-
/**
|
|
53
|
-
* @deprecated Use `className` — it now targets the tray directly. Kept as an
|
|
54
|
-
* alias (merged last, so it still wins) for the pre-`DrawerPanel` API.
|
|
55
|
-
*/
|
|
56
|
-
trayClassName?: string;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
interface DrawerPanelProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
60
|
-
/** Panel border + inset shadow that pairs with the tray's frame. Default `true`. */
|
|
61
|
-
framed?: boolean;
|
|
62
|
-
/** Show the drag handle (bottom sheets). Default `false`. */
|
|
63
|
-
showHandle?: boolean;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* The light `#F0F0F0` content surface inside a `DrawerContent`.
|
|
68
|
-
*
|
|
69
|
-
* It is an ordinary child, not something the tray paints — so a drawer can hold a panel
|
|
70
|
-
* and something else beside it (e.g. a `FormSummary`), each bringing its own background.
|
|
71
|
-
* Give the tray a `gap-*` to space them.
|
|
72
|
-
*
|
|
73
|
-
* ```tsx
|
|
74
|
-
* <DrawerContent className="gap-[6px]">
|
|
75
|
-
* <DrawerPanel>…form…</DrawerPanel>
|
|
76
|
-
* <FormSummary … />
|
|
77
|
-
* </DrawerContent>
|
|
78
|
-
* ```
|
|
79
|
-
*/
|
|
80
|
-
const DrawerPanel = React.forwardRef<HTMLDivElement, DrawerPanelProps>(
|
|
81
|
-
({ className, framed = true, showHandle = false, children, ...props }, ref) => (
|
|
82
|
-
<div
|
|
83
|
-
ref={ref}
|
|
84
|
-
// The content surface is always light (#F0F0F0) regardless of the page
|
|
85
|
-
// theme, so pin a light theme here. This makes theme-aware content tokens
|
|
86
|
-
// (DrawerTitle/Description and any consumer content) resolve to their
|
|
87
|
-
// dark-on-light values instead of following a dark page theme (which
|
|
88
|
-
// would render white-on-light = invisible).
|
|
89
|
-
data-theme="light"
|
|
90
|
-
className={cn(
|
|
91
|
-
// `flex-col` is load-bearing: this panel stacks header / body / footer, and its own
|
|
92
|
-
// `showHandle` centres the drag handle with `mx-auto`, which only centres in a column.
|
|
93
|
-
// It was dropped in 37fddd5 alongside the tray's — on the tray that was deliberate (FormDrawer
|
|
94
|
-
// puts the panel and its summary side by side), here it was not, and every consumer that puts
|
|
95
|
-
// a header/body/footer straight into a panel rendered them in a row.
|
|
96
|
-
//
|
|
97
|
-
// `min-w-0` for the same reason, one axis over: the tray is a row now, so width is its
|
|
98
|
-
// main axis, and a flex item's default `min-width: auto` pins it to its content — a wide
|
|
99
|
-
// form pushed the panel straight out past the tray. `min-h-0` alone covered the old
|
|
100
|
-
// column tray; the row needs both.
|
|
101
|
-
"flex flex-1 flex-col gap-2 rounded-t-[16px] p-1 bg-[#F0F0F0] min-h-0 min-w-0",
|
|
102
|
-
framed && "border border-[#D4D4D4] shadow-[inset_0_-4px_16px_rgba(0,0,0,0.1)]",
|
|
103
|
-
className,
|
|
104
|
-
)}
|
|
105
|
-
{...props}
|
|
106
|
-
>
|
|
107
|
-
{showHandle && <div className="mx-auto h-2 w-[100px] rounded-full bg-[#D4D4D4]" />}
|
|
108
|
-
{children}
|
|
109
|
-
</div>
|
|
110
|
-
),
|
|
111
|
-
);
|
|
112
|
-
DrawerPanel.displayName = "DrawerPanel";
|
|
113
|
-
|
|
114
|
-
const DrawerContent = React.forwardRef<
|
|
115
|
-
React.ElementRef<typeof DrawerPrimitive.Content>,
|
|
116
|
-
DrawerContentProps
|
|
117
|
-
>(
|
|
118
|
-
(
|
|
119
|
-
{
|
|
120
|
-
className,
|
|
121
|
-
children,
|
|
122
|
-
notch,
|
|
123
|
-
notchSide = "left",
|
|
124
|
-
framed: framedProp,
|
|
125
|
-
wrapperClassName,
|
|
126
|
-
trayClassName,
|
|
127
|
-
// Destructured only to keep it out of `...props`. The handle belongs to `DrawerPanel` now, so
|
|
128
|
-
// this does nothing here — but it was never pulled out either, so it was being spread onto the
|
|
129
|
-
// DOM node and React warned "does not recognize the `showHandle` prop on a DOM element" every
|
|
130
|
-
// time a drawer opened. Kept in the props type rather than removed: consumers still pass it.
|
|
131
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
132
|
-
showHandle,
|
|
133
|
-
...props
|
|
134
|
-
},
|
|
135
|
-
ref,
|
|
136
|
-
) => {
|
|
137
|
-
const framed = framedProp ?? true;
|
|
138
|
-
return (
|
|
139
|
-
<DrawerPortal>
|
|
140
|
-
<DrawerOverlay />
|
|
141
|
-
<DrawerPrimitive.Content
|
|
142
|
-
ref={ref}
|
|
143
|
-
className={cn(
|
|
144
|
-
"fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col items-stretch m-1",
|
|
145
|
-
wrapperClassName,
|
|
146
|
-
)}
|
|
147
|
-
{...props}
|
|
148
|
-
>
|
|
149
|
-
{notch && (
|
|
150
|
-
<div className={notchSide === "right" ? "self-end" : "self-start"}>
|
|
151
|
-
{React.isValidElement(notch)
|
|
152
|
-
? React.cloneElement(notch as React.ReactElement<{ side?: "left" | "right" }>, {
|
|
153
|
-
side: notchSide,
|
|
154
|
-
})
|
|
155
|
-
: notch}
|
|
156
|
-
</div>
|
|
157
|
-
)}
|
|
158
|
-
{/* The tray. It frames and positions, but paints nothing over its children —
|
|
159
|
-
each child brings its own background (see `DrawerPanel`). Supply a `gap-*`
|
|
160
|
-
via `className` when the tray holds more than one. */}
|
|
161
|
-
<div
|
|
162
|
-
className={cn(
|
|
163
|
-
"flex flex-1 min-h-0",
|
|
164
|
-
framed
|
|
165
|
-
? "p-1.5 bg-black-400 shadow-[0_0_4px_rgba(0,0,0,0.2),0_0_30px_rgba(0,0,0,0.4)]"
|
|
166
|
-
: "p-0",
|
|
167
|
-
framed && notch
|
|
168
|
-
? notchSide === "right"
|
|
169
|
-
? "rounded-tr-none rounded-tl-[22px] rounded-b-[22px]"
|
|
170
|
-
: "rounded-tl-none rounded-tr-[22px] rounded-b-[22px]"
|
|
171
|
-
: framed
|
|
172
|
-
? "rounded-t-[22px]"
|
|
173
|
-
: "",
|
|
174
|
-
className,
|
|
175
|
-
trayClassName,
|
|
176
|
-
)}
|
|
177
|
-
>
|
|
178
|
-
{children}
|
|
179
|
-
</div>
|
|
180
|
-
</DrawerPrimitive.Content>
|
|
181
|
-
</DrawerPortal>
|
|
182
|
-
);
|
|
183
|
-
},
|
|
184
|
-
);
|
|
185
|
-
DrawerContent.displayName = "DrawerContent";
|
|
186
|
-
|
|
187
|
-
const DrawerHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (
|
|
188
|
-
<div
|
|
189
|
-
className={cn("flex flex-row justify-between items-stretch gap-2 px-1 pt-1", className)}
|
|
190
|
-
{...props}
|
|
191
|
-
/>
|
|
192
|
-
);
|
|
193
|
-
DrawerHeader.displayName = "DrawerHeader";
|
|
194
|
-
|
|
195
|
-
const drawerHeaderPane = cva(
|
|
196
|
-
// Dark pill. Force any DrawerTitle/Description inside it back to light text
|
|
197
|
-
// (their defaults are dark for the light content surface).
|
|
198
|
-
"flex items-center gap-2 rounded-[14px] border p-2 bg-[#131415] border-[#2C2D2E] shadow-[0_0_32px_2px_rgba(0,0,0,0.05)] [&_[data-slot=drawer-title]]:text-white [&_[data-slot=drawer-description]]:text-[#9FA0A1]",
|
|
199
|
-
);
|
|
200
|
-
|
|
201
|
-
const DrawerHeaderTitle = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (
|
|
202
|
-
// Dark surface — pin a dark theme so any buttons/content inside resolve their
|
|
203
|
-
// theme tokens for dark (the surrounding content surface is data-theme=light).
|
|
204
|
-
<div data-theme="dark" className={cn(drawerHeaderPane(), className)} {...props} />
|
|
205
|
-
);
|
|
206
|
-
DrawerHeaderTitle.displayName = "DrawerHeaderTitle";
|
|
207
|
-
|
|
208
|
-
const DrawerHeaderActions = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (
|
|
209
|
-
<div data-theme="dark" className={cn(drawerHeaderPane(), "justify-end", className)} {...props} />
|
|
210
|
-
);
|
|
211
|
-
DrawerHeaderActions.displayName = "DrawerHeaderActions";
|
|
212
|
-
|
|
213
|
-
const drawerBadge = cva(
|
|
214
|
-
"inline-flex items-center justify-center rounded-[8px] px-1 py-0.5 typography-display-medium-medium uppercase",
|
|
215
|
-
{
|
|
216
|
-
variants: {
|
|
217
|
-
color: {
|
|
218
|
-
Blue: "bg-[rgba(0,117,255,0.5)] text-[#CCE3FF]",
|
|
219
|
-
Green: "bg-[rgba(34,197,94,0.5)] text-[#D1FAE5]",
|
|
220
|
-
Red: "bg-[rgba(239,68,68,0.5)] text-[#FEE2E2]",
|
|
221
|
-
Yellow: "bg-[rgba(234,179,8,0.5)] text-[#FEF3C7]",
|
|
222
|
-
Purple: "bg-[rgba(139,92,246,0.5)] text-[#EDE9FE]",
|
|
223
|
-
Gray: "bg-[rgba(255,255,255,0.15)] text-[#E5E5E5]",
|
|
224
|
-
},
|
|
225
|
-
},
|
|
226
|
-
defaultVariants: { color: "Blue" },
|
|
227
|
-
},
|
|
228
|
-
);
|
|
229
|
-
|
|
230
|
-
interface DrawerBadgeProps
|
|
231
|
-
extends Omit<React.HTMLAttributes<HTMLSpanElement>, "color">, VariantProps<typeof drawerBadge> {}
|
|
232
|
-
|
|
233
|
-
const DrawerBadge = React.forwardRef<HTMLSpanElement, DrawerBadgeProps>(
|
|
234
|
-
({ className, color, ...props }, ref) => (
|
|
235
|
-
<span ref={ref} className={cn(drawerBadge({ color }), className)} {...props} />
|
|
236
|
-
),
|
|
237
|
-
);
|
|
238
|
-
DrawerBadge.displayName = "DrawerBadge";
|
|
239
|
-
|
|
240
|
-
const DrawerFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (
|
|
241
|
-
<div className={cn("mt-auto flex flex-col gap-2 p-4", className)} {...props} />
|
|
242
|
-
);
|
|
243
|
-
DrawerFooter.displayName = "DrawerFooter";
|
|
244
|
-
|
|
245
|
-
interface DrawerNotchProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
246
|
-
side?: "left" | "right";
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
const DrawerNotch = ({ className, children, side = "left", ...props }: DrawerNotchProps) => {
|
|
250
|
-
// Wedge bridges the notch's bottom-edge corner into the tray's top edge.
|
|
251
|
-
// For a left-attached notch (the default), the wedge sits at the notch's
|
|
252
|
-
// bottom-right; for a right-attached notch, mirror it to the bottom-left.
|
|
253
|
-
const wedge = (
|
|
254
|
-
<svg aria-hidden width="12" height="12" viewBox="0 0 12 12" className="block shrink-0 self-end">
|
|
255
|
-
<path
|
|
256
|
-
d={
|
|
257
|
-
side === "right"
|
|
258
|
-
? "M 12 0 L 12 12 L 0 12 A 12 12 0 0 0 12 0 Z"
|
|
259
|
-
: "M 0 0 L 0 12 L 12 12 A 12 12 0 0 1 0 0 Z"
|
|
260
|
-
}
|
|
261
|
-
fill="#434446"
|
|
262
|
-
/>
|
|
263
|
-
</svg>
|
|
264
|
-
);
|
|
265
|
-
|
|
266
|
-
return (
|
|
267
|
-
<div className="relative flex flex-row items-end">
|
|
268
|
-
{side === "right" && wedge}
|
|
269
|
-
<div
|
|
270
|
-
className={cn(
|
|
271
|
-
"flex items-center gap-1 rounded-t-[18px] bg-black-400 px-1.5 pt-1.5 pb-1.5",
|
|
272
|
-
side === "right" ? "flex-row-reverse" : "flex-row",
|
|
273
|
-
className,
|
|
274
|
-
)}
|
|
275
|
-
{...props}
|
|
276
|
-
>
|
|
277
|
-
{children}
|
|
278
|
-
</div>
|
|
279
|
-
{side === "left" && wedge}
|
|
280
|
-
</div>
|
|
281
|
-
);
|
|
282
|
-
};
|
|
283
|
-
DrawerNotch.displayName = "DrawerNotch";
|
|
284
|
-
|
|
285
|
-
const DrawerNotchClose = React.forwardRef<
|
|
286
|
-
HTMLButtonElement,
|
|
287
|
-
React.ButtonHTMLAttributes<HTMLButtonElement>
|
|
288
|
-
>(({ className, children, ...props }, ref) => (
|
|
289
|
-
<Button
|
|
290
|
-
ref={ref}
|
|
291
|
-
type="button"
|
|
292
|
-
aria-label="Close"
|
|
293
|
-
buttonType="icon"
|
|
294
|
-
size="S"
|
|
295
|
-
variant="PrimeContStyle"
|
|
296
|
-
className={cn(
|
|
297
|
-
// Glare Button (icon, S = 22×22) with the notch's own circular radius + translucent look
|
|
298
|
-
// (S is otherwise rounded-[4px]).
|
|
299
|
-
"!rounded-[13px] bg-white/15 text-white hover:bg-white/25 hover:text-white",
|
|
300
|
-
className,
|
|
301
|
-
)}
|
|
302
|
-
{...props}
|
|
303
|
-
>
|
|
304
|
-
{children ?? <i className="ri-close-fill !text-[14px]" />}
|
|
305
|
-
</Button>
|
|
306
|
-
));
|
|
307
|
-
DrawerNotchClose.displayName = "DrawerNotchClose";
|
|
308
|
-
|
|
309
|
-
const drawerNotchPill = cva(
|
|
310
|
-
"inline-flex items-center gap-1 rounded-[16px] px-1.5 py-0.5 typography-body-small-medium text-white transition-colors",
|
|
311
|
-
{
|
|
312
|
-
variants: {
|
|
313
|
-
color: {
|
|
314
|
-
Yellow: "bg-white/15 hover:bg-white/25",
|
|
315
|
-
Blue: "bg-[#005ECC] hover:bg-[#0070E0]",
|
|
316
|
-
Gray: "bg-white/10 hover:bg-white/20",
|
|
317
|
-
},
|
|
318
|
-
},
|
|
319
|
-
defaultVariants: { color: "Yellow" },
|
|
320
|
-
},
|
|
321
|
-
);
|
|
322
|
-
|
|
323
|
-
interface DrawerNotchPillProps
|
|
324
|
-
extends
|
|
325
|
-
Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "color">,
|
|
326
|
-
VariantProps<typeof drawerNotchPill> {}
|
|
327
|
-
|
|
328
|
-
const DrawerNotchPill = React.forwardRef<HTMLButtonElement, DrawerNotchPillProps>(
|
|
329
|
-
({ className, color, children, ...props }, ref) => (
|
|
330
|
-
<button
|
|
331
|
-
ref={ref}
|
|
332
|
-
type="button"
|
|
333
|
-
className={cn(drawerNotchPill({ color }), className)}
|
|
334
|
-
{...props}
|
|
335
|
-
>
|
|
336
|
-
{children}
|
|
337
|
-
</button>
|
|
338
|
-
),
|
|
339
|
-
);
|
|
340
|
-
DrawerNotchPill.displayName = "DrawerNotchPill";
|
|
341
|
-
|
|
342
|
-
const DrawerNotchDivider = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (
|
|
343
|
-
<div aria-hidden className={cn("h-[18px] w-px bg-white/20", className)} {...props} />
|
|
344
|
-
);
|
|
345
|
-
DrawerNotchDivider.displayName = "DrawerNotchDivider";
|
|
346
|
-
|
|
347
|
-
interface DrawerNotchAppProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
348
|
-
icon?: React.ReactNode;
|
|
349
|
-
name: React.ReactNode;
|
|
350
|
-
}
|
|
351
|
-
|
|
352
|
-
const DrawerNotchApp = ({ className, icon, name, ...props }: DrawerNotchAppProps) => (
|
|
353
|
-
<div className={cn("flex items-center gap-2.5 px-1", className)} {...props}>
|
|
354
|
-
{icon && (
|
|
355
|
-
<div className="flex h-[22px] w-[22px] items-center justify-center overflow-hidden rounded-[5.6px] bg-black shadow-[0_0_4.66px_rgba(0,0,0,0.3),0_0.75px_0.75px_rgba(0,0,0,0.2)]">
|
|
356
|
-
{icon}
|
|
357
|
-
</div>
|
|
358
|
-
)}
|
|
359
|
-
<span className="text-white text-[14px] leading-[1.475]">{name}</span>
|
|
360
|
-
</div>
|
|
361
|
-
);
|
|
362
|
-
DrawerNotchApp.displayName = "DrawerNotchApp";
|
|
363
|
-
|
|
364
|
-
const DrawerTitle = React.forwardRef<
|
|
365
|
-
React.ElementRef<typeof DrawerPrimitive.Title>,
|
|
366
|
-
React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Title>
|
|
367
|
-
>(({ className, ...props }, ref) => (
|
|
368
|
-
<DrawerPrimitive.Title
|
|
369
|
-
ref={ref}
|
|
370
|
-
data-slot="drawer-title"
|
|
371
|
-
// Dark text by default — the title usually sits on the light content
|
|
372
|
-
// surface. Inside the dark DrawerHeaderTitle pill it is flipped back to
|
|
373
|
-
// white via a descendant selector on `drawerHeaderPane`.
|
|
374
|
-
className={cn(
|
|
375
|
-
"typography-display-medium-medium uppercase text-content-presentation-global-primary leading-none",
|
|
376
|
-
className,
|
|
377
|
-
)}
|
|
378
|
-
{...props}
|
|
379
|
-
/>
|
|
380
|
-
));
|
|
381
|
-
DrawerTitle.displayName = DrawerPrimitive.Title.displayName;
|
|
382
|
-
|
|
383
|
-
const DrawerDescription = React.forwardRef<
|
|
384
|
-
React.ElementRef<typeof DrawerPrimitive.Description>,
|
|
385
|
-
React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Description>
|
|
386
|
-
>(({ className, ...props }, ref) => (
|
|
387
|
-
<DrawerPrimitive.Description
|
|
388
|
-
ref={ref}
|
|
389
|
-
data-slot="drawer-description"
|
|
390
|
-
className={cn(
|
|
391
|
-
"typography-body-small-regular text-content-presentation-action-light-secondary",
|
|
392
|
-
className,
|
|
393
|
-
)}
|
|
394
|
-
{...props}
|
|
395
|
-
/>
|
|
396
|
-
));
|
|
397
|
-
DrawerDescription.displayName = DrawerPrimitive.Description.displayName;
|
|
398
|
-
|
|
399
|
-
export {
|
|
400
|
-
Drawer,
|
|
401
|
-
DrawerNested,
|
|
402
|
-
DrawerPortal,
|
|
403
|
-
DrawerOverlay,
|
|
404
|
-
DrawerTrigger,
|
|
405
|
-
DrawerClose,
|
|
406
|
-
DrawerContent,
|
|
407
|
-
DrawerPanel,
|
|
408
|
-
DrawerHeader,
|
|
409
|
-
DrawerHeaderTitle,
|
|
410
|
-
DrawerHeaderActions,
|
|
411
|
-
DrawerBadge,
|
|
412
|
-
DrawerFooter,
|
|
413
|
-
DrawerTitle,
|
|
414
|
-
DrawerDescription,
|
|
415
|
-
DrawerNotch,
|
|
416
|
-
DrawerNotchClose,
|
|
417
|
-
DrawerNotchPill,
|
|
418
|
-
DrawerNotchDivider,
|
|
419
|
-
DrawerNotchApp,
|
|
420
|
-
};
|