torch-glare 2.5.6 → 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 -403
- package/apps/lib/components/Breadcrumb.tsx +0 -280
- package/apps/lib/components/Button.tsx +0 -325
- 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 -395
- 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 -88
- 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 -72
- package/apps/lib/components/DataViews/states.tsx +0 -73
- 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 -451
- package/apps/lib/components/DropdownMenu.tsx +0 -554
- package/apps/lib/components/FieldHint.tsx +0 -69
- package/apps/lib/components/Form.tsx +0 -182
- package/apps/lib/components/FormBuilder/context.ts +0 -85
- 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 -168
- 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 -114
- 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 -67
- package/apps/lib/components/FormBuilder/types.ts +0 -316
- package/apps/lib/components/FormRenderer/FormDrawer.tsx +0 -250
- package/apps/lib/components/FormRenderer/detail.tsx +0 -256
- package/apps/lib/components/FormRenderer/form-renderer.tsx +0 -358
- package/apps/lib/components/FormRenderer/header.tsx +0 -88
- package/apps/lib/components/FormRenderer/index.ts +0 -17
- package/apps/lib/components/FormRenderer/notch-action.tsx +0 -64
- package/apps/lib/components/FormRenderer/section.tsx +0 -39
- package/apps/lib/components/FormRenderer/stepper.tsx +0 -393
- package/apps/lib/components/FormRenderer/types.ts +0 -115
- 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 -168
- 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 -255
- 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 -597
- 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 -61
- package/apps/lib/hooks/useClickOutside.ts +0 -27
- package/apps/lib/hooks/useDragDrop.tsx +0 -365
- package/apps/lib/hooks/useHtmlDir.ts +0 -31
- 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 -300
- 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 -1217
- 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/scroller.ts +0 -26
- 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 -738
- 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 -1521
- package/docs/components/data-views/migration.md +0 -81
- 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 -284
- package/docs/components/form-renderer.md +0 -396
- 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 -483
- 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 -60
- 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 -1523
- 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 -726
- 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,254 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Timeline
|
|
3
|
-
description: Vertical or horizontal timeline for activity logs, audit trails, and history. Composed of indicator, separator, content, heading, and description parts with five semantic variants.
|
|
4
|
-
component: true
|
|
5
|
-
group: Data Display
|
|
6
|
-
keywords: [timeline, activity, history, audit, log, events, vertical, horizontal]
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Timeline
|
|
10
|
-
|
|
11
|
-
A composable timeline for activity logs, change history, audit trails, and event sequences. Each item has an indicator, a connecting separator, and a content block. The indicator supports five variants — `default`, `active`, `completed`, `error`, `warning` — each with built-in icons and color tokens.
|
|
12
|
-
|
|
13
|
-
The component is composed of `Timeline`, `TimelineItem`, `TimelineIndicator`, `TimelineSeparator`, `TimelineConnector`, `TimelineContent`, `TimelineHeading`, and `TimelineDescription`. Unlike [`Stepper`](./stepper.md), Timeline doesn't track an `activeStep` — each item's variant is set explicitly.
|
|
14
|
-
|
|
15
|
-
## Installation
|
|
16
|
-
|
|
17
|
-
TORCH Glare is a copy-in library: the CLI copies this component's source into your project
|
|
18
|
-
(you do **not** install it from the npm package). Run `init` once, then `add`:
|
|
19
|
-
|
|
20
|
-
```bash
|
|
21
|
-
npx torch-glare@latest init
|
|
22
|
-
npx torch-glare@latest add Timeline
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
`add` also copies any components, hooks, and utilities that `Timeline` depends on.
|
|
26
|
-
|
|
27
|
-
## Imports
|
|
28
|
-
|
|
29
|
-
```typescript
|
|
30
|
-
import {
|
|
31
|
-
Timeline,
|
|
32
|
-
TimelineItem,
|
|
33
|
-
TimelineIndicator,
|
|
34
|
-
TimelineSeparator,
|
|
35
|
-
TimelineConnector,
|
|
36
|
-
TimelineContent,
|
|
37
|
-
TimelineHeading,
|
|
38
|
-
TimelineDescription,
|
|
39
|
-
} from '@/components/Timeline'
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
## Basic Usage
|
|
43
|
-
|
|
44
|
-
```tsx
|
|
45
|
-
import {
|
|
46
|
-
Timeline,
|
|
47
|
-
TimelineItem,
|
|
48
|
-
TimelineIndicator,
|
|
49
|
-
TimelineSeparator,
|
|
50
|
-
TimelineConnector,
|
|
51
|
-
TimelineContent,
|
|
52
|
-
TimelineHeading,
|
|
53
|
-
TimelineDescription,
|
|
54
|
-
} from '@/components/Timeline'
|
|
55
|
-
|
|
56
|
-
export function BasicTimeline() {
|
|
57
|
-
return (
|
|
58
|
-
<Timeline>
|
|
59
|
-
<TimelineItem>
|
|
60
|
-
<TimelineConnector>
|
|
61
|
-
<TimelineIndicator variant="completed" />
|
|
62
|
-
<TimelineSeparator />
|
|
63
|
-
</TimelineConnector>
|
|
64
|
-
<TimelineContent>
|
|
65
|
-
<TimelineHeading>Account created</TimelineHeading>
|
|
66
|
-
<TimelineDescription>March 5, 2026 · 9:14 AM</TimelineDescription>
|
|
67
|
-
</TimelineContent>
|
|
68
|
-
</TimelineItem>
|
|
69
|
-
|
|
70
|
-
<TimelineItem>
|
|
71
|
-
<TimelineConnector>
|
|
72
|
-
<TimelineIndicator variant="active" />
|
|
73
|
-
<TimelineSeparator active />
|
|
74
|
-
</TimelineConnector>
|
|
75
|
-
<TimelineContent>
|
|
76
|
-
<TimelineHeading>Email verified</TimelineHeading>
|
|
77
|
-
<TimelineDescription>March 5, 2026 · 9:32 AM</TimelineDescription>
|
|
78
|
-
</TimelineContent>
|
|
79
|
-
</TimelineItem>
|
|
80
|
-
|
|
81
|
-
<TimelineItem>
|
|
82
|
-
<TimelineConnector>
|
|
83
|
-
<TimelineIndicator variant="default" />
|
|
84
|
-
</TimelineConnector>
|
|
85
|
-
<TimelineContent>
|
|
86
|
-
<TimelineHeading>Profile setup</TimelineHeading>
|
|
87
|
-
<TimelineDescription>Pending</TimelineDescription>
|
|
88
|
-
</TimelineContent>
|
|
89
|
-
</TimelineItem>
|
|
90
|
-
</Timeline>
|
|
91
|
-
)
|
|
92
|
-
}
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
The last `TimelineItem` should typically omit `TimelineSeparator` so the line ends at the final indicator. `TimelineContent` auto-removes its bottom padding on the last item via `group-last/item:pb-0`.
|
|
96
|
-
|
|
97
|
-
## Examples
|
|
98
|
-
|
|
99
|
-
### Indicator variants
|
|
100
|
-
|
|
101
|
-
`completed` renders a check icon, `error` renders a close icon, `warning` renders an alert icon. `default` and `active` render a `6×6` filled dot. Pass `icon` or `children` to override.
|
|
102
|
-
|
|
103
|
-
```tsx
|
|
104
|
-
<TimelineIndicator variant="default" />
|
|
105
|
-
<TimelineIndicator variant="active" />
|
|
106
|
-
<TimelineIndicator variant="completed" />
|
|
107
|
-
<TimelineIndicator variant="error" />
|
|
108
|
-
<TimelineIndicator variant="warning" />
|
|
109
|
-
<TimelineIndicator variant="active" icon={<i className="ri-flashlight-line" />} />
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
### Sizes
|
|
113
|
-
|
|
114
|
-
Indicators support `S` (`22px`), `M` (`28px`, default), and `L` (`34px`).
|
|
115
|
-
|
|
116
|
-
```tsx
|
|
117
|
-
<TimelineIndicator size="S" variant="completed" />
|
|
118
|
-
<TimelineIndicator size="M" variant="completed" />
|
|
119
|
-
<TimelineIndicator size="L" variant="completed" />
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
### Horizontal orientation
|
|
123
|
-
|
|
124
|
-
```tsx
|
|
125
|
-
<Timeline orientation="horizontal">
|
|
126
|
-
<TimelineItem>
|
|
127
|
-
<TimelineConnector orientation="horizontal">
|
|
128
|
-
<TimelineIndicator variant="completed" />
|
|
129
|
-
<TimelineSeparator orientation="horizontal" active />
|
|
130
|
-
</TimelineConnector>
|
|
131
|
-
<TimelineContent>
|
|
132
|
-
<TimelineHeading>Submitted</TimelineHeading>
|
|
133
|
-
<TimelineDescription>2:14 PM</TimelineDescription>
|
|
134
|
-
</TimelineContent>
|
|
135
|
-
</TimelineItem>
|
|
136
|
-
|
|
137
|
-
<TimelineItem>
|
|
138
|
-
<TimelineConnector orientation="horizontal">
|
|
139
|
-
<TimelineIndicator variant="active" />
|
|
140
|
-
</TimelineConnector>
|
|
141
|
-
<TimelineContent>
|
|
142
|
-
<TimelineHeading>Reviewing</TimelineHeading>
|
|
143
|
-
<TimelineDescription>Now</TimelineDescription>
|
|
144
|
-
</TimelineContent>
|
|
145
|
-
</TimelineItem>
|
|
146
|
-
</Timeline>
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
Pass `orientation="horizontal"` on `Timeline`, `TimelineItem`, `TimelineConnector`, and `TimelineSeparator` — the orientation isn't propagated through context.
|
|
150
|
-
|
|
151
|
-
### Activity log
|
|
152
|
-
|
|
153
|
-
```tsx
|
|
154
|
-
const events = [
|
|
155
|
-
{ id: 1, variant: 'completed', heading: 'Order placed', when: 'Mar 5 · 9:14 AM' },
|
|
156
|
-
{ id: 2, variant: 'completed', heading: 'Payment received', when: 'Mar 5 · 9:15 AM' },
|
|
157
|
-
{ id: 3, variant: 'active', heading: 'Preparing order', when: 'Mar 5 · 10:02 AM' },
|
|
158
|
-
{ id: 4, variant: 'default', heading: 'Shipped', when: 'Pending' },
|
|
159
|
-
{ id: 5, variant: 'default', heading: 'Delivered', when: 'Pending' },
|
|
160
|
-
] as const
|
|
161
|
-
|
|
162
|
-
export function OrderTimeline() {
|
|
163
|
-
return (
|
|
164
|
-
<Timeline>
|
|
165
|
-
{events.map((e, i) => (
|
|
166
|
-
<TimelineItem key={e.id}>
|
|
167
|
-
<TimelineConnector>
|
|
168
|
-
<TimelineIndicator variant={e.variant} />
|
|
169
|
-
{i < events.length - 1 && (
|
|
170
|
-
<TimelineSeparator active={e.variant === 'completed' || e.variant === 'active'} />
|
|
171
|
-
)}
|
|
172
|
-
</TimelineConnector>
|
|
173
|
-
<TimelineContent>
|
|
174
|
-
<TimelineHeading>{e.heading}</TimelineHeading>
|
|
175
|
-
<TimelineDescription>{e.when}</TimelineDescription>
|
|
176
|
-
</TimelineContent>
|
|
177
|
-
</TimelineItem>
|
|
178
|
-
))}
|
|
179
|
-
</Timeline>
|
|
180
|
-
)
|
|
181
|
-
}
|
|
182
|
-
```
|
|
183
|
-
|
|
184
|
-
## API Reference
|
|
185
|
-
|
|
186
|
-
### Timeline
|
|
187
|
-
|
|
188
|
-
| Prop | Type | Default | Description |
|
|
189
|
-
| ------------- | ------------------------------- | ------------ | ---------------------------------------- |
|
|
190
|
-
| `orientation` | `'vertical' \| 'horizontal'` | `'vertical'` | Layout direction. |
|
|
191
|
-
| `theme` | `'dark' \| 'light' \| 'default'` | — | Theme override applied via `data-theme`. |
|
|
192
|
-
|
|
193
|
-
### TimelineItem
|
|
194
|
-
|
|
195
|
-
| Prop | Type | Default | Description |
|
|
196
|
-
| ------------- | ---------------------------- | ------------ | ---------------------------------------------- |
|
|
197
|
-
| `orientation` | `'vertical' \| 'horizontal'` | `'vertical'` | Should match the parent `Timeline`. |
|
|
198
|
-
|
|
199
|
-
### TimelineIndicator
|
|
200
|
-
|
|
201
|
-
| Prop | Type | Default | Description |
|
|
202
|
-
| --------- | --------------------------------------------------------------- | ----------- | ---------------------------------------------------------------------- |
|
|
203
|
-
| `variant` | `'default' \| 'active' \| 'completed' \| 'error' \| 'warning'` | `'default'` | Visual state. Drives both color tokens and the auto-rendered icon. |
|
|
204
|
-
| `size` | `'S' \| 'M' \| 'L'` | `'M'` | Indicator diameter (`22 / 28 / 34px`). |
|
|
205
|
-
| `icon` | `ReactNode` | — | Custom icon — overrides the variant's default. |
|
|
206
|
-
| `children`| `ReactNode` | — | Custom content — used when `icon` is not set. |
|
|
207
|
-
|
|
208
|
-
### TimelineSeparator
|
|
209
|
-
|
|
210
|
-
| Prop | Type | Default | Description |
|
|
211
|
-
| ------------- | ---------------------------- | ------------ | ---------------------------------------------------------- |
|
|
212
|
-
| `orientation` | `'vertical' \| 'horizontal'` | `'vertical'` | Line direction. |
|
|
213
|
-
| `active` | `boolean` | `false` | Render the line in focus blue (use after completed steps). |
|
|
214
|
-
|
|
215
|
-
### TimelineConnector
|
|
216
|
-
|
|
217
|
-
Wraps the indicator and separator. Pass `orientation` to switch between column (vertical) and row (horizontal) layout.
|
|
218
|
-
|
|
219
|
-
### TimelineContent / TimelineHeading / TimelineDescription
|
|
220
|
-
|
|
221
|
-
Forward `HTMLAttributes<HTMLDivElement>`. `TimelineContent` removes its bottom padding on the last item; `TimelineHeading` uses `typography-body-medium-medium`; `TimelineDescription` uses `typography-body-small-regular` with secondary text color.
|
|
222
|
-
|
|
223
|
-
## Styling
|
|
224
|
-
|
|
225
|
-
- Indicators use the standard state token set: `state-information-primary`, `state-success-primary`, `state-negative-primary`, `state-warning-primary`.
|
|
226
|
-
- Separator: `1px` neutral line by default, focus-blue when `active`.
|
|
227
|
-
- Vertical content: `pb-6 pt-[2px]` — gives breathing room between items.
|
|
228
|
-
- Horizontal content: aligned under the indicator with `gap-3`.
|
|
229
|
-
|
|
230
|
-
## TypeScript Types
|
|
231
|
-
|
|
232
|
-
```typescript
|
|
233
|
-
import type { VariantProps } from 'class-variance-authority'
|
|
234
|
-
import type { timelineStyles, indicatorStyles, separatorStyles } from '@/components/Timeline'
|
|
235
|
-
|
|
236
|
-
type TimelineVariants = VariantProps<typeof timelineStyles>
|
|
237
|
-
type IndicatorVariants = VariantProps<typeof indicatorStyles>
|
|
238
|
-
// { variant?: 'default' | 'active' | 'completed' | 'error' | 'warning'; size?: 'S' | 'M' | 'L' }
|
|
239
|
-
type SeparatorVariants = VariantProps<typeof separatorStyles>
|
|
240
|
-
// { orientation?: 'vertical' | 'horizontal'; active?: boolean }
|
|
241
|
-
```
|
|
242
|
-
|
|
243
|
-
## Accessibility
|
|
244
|
-
|
|
245
|
-
- Use `<ol>` semantics when the order matters (audit logs, order tracking) — wrap `Timeline` in `<ol>` and each `TimelineItem` in `<li>`.
|
|
246
|
-
- Variants like `error` and `warning` should be paired with text in `TimelineDescription` — color is never the sole signal.
|
|
247
|
-
- Decorative icons inside indicators don't need labels; the heading carries the meaning.
|
|
248
|
-
|
|
249
|
-
## Best Practices
|
|
250
|
-
|
|
251
|
-
1. Reach for Timeline when items are events at points in time. Reach for Stepper when items are tasks the user has to complete.
|
|
252
|
-
2. Always omit `TimelineSeparator` on the last item so the line doesn't dangle.
|
|
253
|
-
3. Use `active` on the separator after a `completed` indicator to color the connecting segment blue — it visually links progress.
|
|
254
|
-
4. Cap visible items at 5–7 in vertical mode; collapse the rest behind a "show earlier" affordance for long histories.
|