@accelint/design-toolkit 10.0.0 → 10.1.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/catalog-info.yaml +1 -1
- package/dist/components/accordion/context.d.ts +2 -2
- package/dist/components/accordion/group.d.ts +2 -2
- package/dist/components/accordion/header.d.ts +2 -2
- package/dist/components/accordion/index.d.ts +2 -2
- package/dist/components/accordion/panel.d.ts +2 -2
- package/dist/components/accordion/trigger.d.ts +2 -2
- package/dist/components/action-bar/index.d.ts +2 -2
- package/dist/components/audio/index.d.ts +2 -2
- package/dist/components/avatar/context.d.ts +4 -4
- package/dist/components/avatar/index.d.ts +2 -2
- package/dist/components/badge/context.d.ts +4 -4
- package/dist/components/badge/index.d.ts +2 -2
- package/dist/components/breadcrumbs/index.d.ts +2 -2
- package/dist/components/breadcrumbs/item.d.ts +2 -2
- package/dist/components/button/context.d.ts +8 -8
- package/dist/components/button/index.d.ts +2 -2
- package/dist/components/button/link.d.ts +2 -2
- package/dist/components/button/toggle.d.ts +2 -2
- package/dist/components/carousel/context.d.ts +4 -4
- package/dist/components/carousel/gallery.d.ts +2 -2
- package/dist/components/carousel/index.d.ts +2 -2
- package/dist/components/carousel/navigation.d.ts +3 -3
- package/dist/components/carousel/position.d.ts +2 -2
- package/dist/components/carousel/select.d.ts +2 -2
- package/dist/components/carousel/viewer.d.ts +2 -2
- package/dist/components/checkbox/context.d.ts +3 -3
- package/dist/components/checkbox/group.d.ts +2 -2
- package/dist/components/checkbox/index.d.ts +2 -2
- package/dist/components/chip/context.d.ts +4 -4
- package/dist/components/chip/deletable.d.ts +2 -2
- package/dist/components/chip/index.d.ts +2 -2
- package/dist/components/chip/list.d.ts +4 -4
- package/dist/components/chip/selectable.d.ts +2 -2
- package/dist/components/classification-badge/context.d.ts +4 -4
- package/dist/components/classification-badge/index.d.ts +2 -2
- package/dist/components/classification-banner/context.d.ts +4 -4
- package/dist/components/classification-banner/index.d.ts +2 -2
- package/dist/components/clock/index.d.ts +2 -2
- package/dist/components/color-picker/index.d.ts +2 -2
- package/dist/components/combobox-field/context.d.ts +4 -4
- package/dist/components/combobox-field/index.d.ts +2 -2
- package/dist/components/coordinate-field/context.d.ts +6 -6
- package/dist/components/coordinate-field/index.d.ts +2 -2
- package/dist/components/coordinate-field/segment.d.ts +2 -2
- package/dist/components/date-field/index.d.ts +2 -2
- package/dist/components/date-field/index.js.map +1 -1
- package/dist/components/deferred-collection/index.d.ts +2 -2
- package/dist/components/details-list/context.d.ts +4 -4
- package/dist/components/details-list/index.d.ts +2 -2
- package/dist/components/details-list/label.d.ts +2 -2
- package/dist/components/details-list/value.d.ts +2 -2
- package/dist/components/dialog/content.d.ts +2 -2
- package/dist/components/dialog/footer.d.ts +2 -2
- package/dist/components/dialog/index.d.ts +2 -2
- package/dist/components/dialog/title.d.ts +2 -2
- package/dist/components/divider/context.d.ts +4 -4
- package/dist/components/divider/index.d.ts +2 -2
- package/dist/components/drawer/back.d.ts +2 -2
- package/dist/components/drawer/close.d.ts +2 -2
- package/dist/components/drawer/content.d.ts +2 -2
- package/dist/components/drawer/context.d.ts +2 -2
- package/dist/components/drawer/footer.d.ts +2 -2
- package/dist/components/drawer/header-title.d.ts +2 -2
- package/dist/components/drawer/header.d.ts +2 -2
- package/dist/components/drawer/index.d.ts +2 -2
- package/dist/components/drawer/layout-main.d.ts +2 -2
- package/dist/components/drawer/layout.d.ts +2 -2
- package/dist/components/drawer/menu-item.d.ts +2 -2
- package/dist/components/drawer/menu.d.ts +2 -2
- package/dist/components/drawer/panel.d.ts +2 -2
- package/dist/components/drawer/trigger.d.ts +2 -2
- package/dist/components/drawer/view.d.ts +2 -2
- package/dist/components/flashcard/index.d.ts +9 -9
- package/dist/components/floating-card/context.d.ts +3 -3
- package/dist/components/floating-card/index.d.ts +2 -2
- package/dist/components/floating-card/panel.d.ts +2 -2
- package/dist/components/floating-card/provider.d.ts +2 -2
- package/dist/components/gantt/components/base-elements/point.d.ts +2 -2
- package/dist/components/gantt/components/base-elements/range.d.ts +2 -2
- package/dist/components/gantt/components/containers/external/gantt-content-container/index.d.ts +2 -2
- package/dist/components/gantt/components/containers/external/gantt-panel-container/index.d.ts +2 -2
- package/dist/components/gantt/components/containers/internal/index.d.ts +2 -2
- package/dist/components/gantt/components/containers/internal/layout-container/index.d.ts +2 -2
- package/dist/components/gantt/components/content-row/block.d.ts +2 -2
- package/dist/components/gantt/components/content-row/bracket.d.ts +3 -3
- package/dist/components/gantt/components/content-row/icon-marker.d.ts +2 -2
- package/dist/components/gantt/components/content-row/index.d.ts +2 -2
- package/dist/components/gantt/components/content-row/marker.d.ts +2 -2
- package/dist/components/gantt/components/content-row/spacer.d.ts +2 -2
- package/dist/components/gantt/components/current-time/index.d.ts +2 -2
- package/dist/components/gantt/components/header/index.d.ts +3 -3
- package/dist/components/gantt/components/panel-row/index.d.ts +2 -2
- package/dist/components/gantt/components/rows-virtualizer/index.d.ts +3 -3
- package/dist/components/gantt/components/timeline/index.d.ts +2 -2
- package/dist/components/gantt/components/timeline-chunk/index.d.ts +3 -3
- package/dist/components/gantt/context/index.d.ts +4 -4
- package/dist/components/gantt/context/store/index.d.ts +4 -4
- package/dist/components/gantt/context/temporal-data/index.d.ts +4 -4
- package/dist/components/hero/context.d.ts +2 -2
- package/dist/components/hero/index.d.ts +2 -2
- package/dist/components/hero/subtitle.d.ts +3 -3
- package/dist/components/hero/title.d.ts +2 -2
- package/dist/components/hotkey/context.d.ts +4 -4
- package/dist/components/hotkey/index.d.ts +2 -2
- package/dist/components/hotkey/set.d.ts +2 -2
- package/dist/components/icon/context.d.ts +4 -4
- package/dist/components/icon/index.d.ts +2 -2
- package/dist/components/input/context.d.ts +2 -2
- package/dist/components/input/index.d.ts +2 -2
- package/dist/components/kanban/card-body.d.ts +2 -2
- package/dist/components/kanban/card-header-actions.d.ts +2 -2
- package/dist/components/kanban/card-header-title.d.ts +2 -2
- package/dist/components/kanban/card-header.d.ts +2 -2
- package/dist/components/kanban/card.d.ts +2 -2
- package/dist/components/kanban/column-actions.d.ts +2 -2
- package/dist/components/kanban/column-container.d.ts +2 -2
- package/dist/components/kanban/column-content.d.ts +2 -2
- package/dist/components/kanban/column-header-actions.d.ts +2 -2
- package/dist/components/kanban/column-header-drag-handle.d.ts +2 -2
- package/dist/components/kanban/column-header-title.d.ts +2 -2
- package/dist/components/kanban/column-header.d.ts +2 -2
- package/dist/components/kanban/column.d.ts +2 -2
- package/dist/components/kanban/context.d.ts +2 -2
- package/dist/components/kanban/header-actions.d.ts +2 -2
- package/dist/components/kanban/header-search.d.ts +2 -2
- package/dist/components/kanban/header-title.d.ts +2 -2
- package/dist/components/kanban/header.d.ts +2 -2
- package/dist/components/kanban/kanban.d.ts +4 -4
- package/dist/components/label/context.d.ts +4 -4
- package/dist/components/label/index.d.ts +2 -2
- package/dist/components/lines/index.d.ts +2 -2
- package/dist/components/link/context.d.ts +2 -2
- package/dist/components/link/index.d.ts +2 -2
- package/dist/components/list/context.d.ts +2 -2
- package/dist/components/list/index.d.ts +2 -2
- package/dist/components/list/item-content.d.ts +2 -2
- package/dist/components/list/item-description.d.ts +2 -2
- package/dist/components/list/item-title.d.ts +2 -2
- package/dist/components/list/item.d.ts +2 -2
- package/dist/components/media-controls/context.d.ts +4 -4
- package/dist/components/media-controls/fullscreen-button.d.ts +2 -2
- package/dist/components/media-controls/index.d.ts +2 -2
- package/dist/components/media-controls/mute-button.d.ts +2 -2
- package/dist/components/media-controls/play-button.d.ts +2 -2
- package/dist/components/media-controls/playback-rate.d.ts +2 -2
- package/dist/components/media-controls/seek-button.d.ts +2 -2
- package/dist/components/media-controls/time-display.d.ts +2 -2
- package/dist/components/media-controls/time-range.d.ts +2 -2
- package/dist/components/media-controls/volume-slider.d.ts +2 -2
- package/dist/components/menu/context.d.ts +2 -2
- package/dist/components/menu/index.d.ts +2 -2
- package/dist/components/menu/item-description.d.ts +2 -2
- package/dist/components/menu/item-label.d.ts +2 -2
- package/dist/components/menu/item.d.ts +2 -2
- package/dist/components/menu/section.d.ts +2 -2
- package/dist/components/menu/separator.d.ts +2 -2
- package/dist/components/menu/submenu.d.ts +2 -2
- package/dist/components/notice/index.d.ts +2 -2
- package/dist/components/notice/list.d.ts +2 -2
- package/dist/components/notice/notice-icon.d.ts +2 -2
- package/dist/components/options/context.d.ts +2 -2
- package/dist/components/options/index.d.ts +2 -2
- package/dist/components/options/item-content.d.ts +2 -2
- package/dist/components/options/item-description.d.ts +2 -2
- package/dist/components/options/item-label.d.ts +2 -2
- package/dist/components/options/item.d.ts +2 -2
- package/dist/components/options/section.d.ts +2 -2
- package/dist/components/pagination/context.d.ts +2 -2
- package/dist/components/pagination/index.d.ts +2 -2
- package/dist/components/pagination/next.d.ts +2 -2
- package/dist/components/pagination/pages.d.ts +2 -2
- package/dist/components/pagination/prev.d.ts +2 -2
- package/dist/components/popover/content.d.ts +2 -2
- package/dist/components/popover/footer.d.ts +2 -2
- package/dist/components/popover/index.d.ts +2 -2
- package/dist/components/popover/title.d.ts +2 -2
- package/dist/components/popover/trigger.d.ts +2 -2
- package/dist/components/query-builder/action-element.d.ts +2 -2
- package/dist/components/query-builder/actions.d.ts +4 -4
- package/dist/components/query-builder/combinator-selector.d.ts +2 -2
- package/dist/components/query-builder/index.d.ts +2 -2
- package/dist/components/query-builder/rule-group.d.ts +4 -4
- package/dist/components/query-builder/rule.d.ts +2 -2
- package/dist/components/query-builder/value-editor.d.ts +2 -2
- package/dist/components/query-builder/value-selector.d.ts +2 -2
- package/dist/components/radio/context.d.ts +3 -3
- package/dist/components/radio/group.d.ts +2 -2
- package/dist/components/radio/index.d.ts +2 -2
- package/dist/components/search-field/context.d.ts +4 -4
- package/dist/components/search-field/index.d.ts +2 -2
- package/dist/components/select-field/context.d.ts +4 -4
- package/dist/components/select-field/index.d.ts +2 -2
- package/dist/components/sidenav/avatar.d.ts +2 -2
- package/dist/components/sidenav/content.d.ts +2 -2
- package/dist/components/sidenav/context.d.ts +2 -2
- package/dist/components/sidenav/footer.d.ts +2 -2
- package/dist/components/sidenav/header.d.ts +2 -2
- package/dist/components/sidenav/index.d.ts +2 -2
- package/dist/components/sidenav/item.d.ts +2 -2
- package/dist/components/sidenav/link.d.ts +2 -2
- package/dist/components/sidenav/menu-item.d.ts +2 -2
- package/dist/components/sidenav/menu.d.ts +2 -2
- package/dist/components/sidenav/trigger.d.ts +2 -2
- package/dist/components/skeleton/index.d.ts +2 -2
- package/dist/components/slider/index.d.ts +2 -2
- package/dist/components/status-indicator/index.d.ts +2 -2
- package/dist/components/stepper/back.d.ts +71 -0
- package/dist/components/stepper/back.js +82 -0
- package/dist/components/stepper/back.js.map +1 -0
- package/dist/components/stepper/context.d.ts +49 -0
- package/dist/components/stepper/context.js +56 -0
- package/dist/components/stepper/context.js.map +1 -0
- package/dist/components/stepper/index.d.ts +22 -0
- package/dist/components/stepper/index.js +23 -0
- package/dist/components/stepper/list.d.ts +65 -0
- package/dist/components/stepper/list.js +121 -0
- package/dist/components/stepper/list.js.map +1 -0
- package/dist/components/stepper/next.d.ts +80 -0
- package/dist/components/stepper/next.js +91 -0
- package/dist/components/stepper/next.js.map +1 -0
- package/dist/components/stepper/panel.d.ts +66 -0
- package/dist/components/stepper/panel.js +77 -0
- package/dist/components/stepper/panel.js.map +1 -0
- package/dist/components/stepper/step.d.ts +49 -0
- package/dist/components/stepper/step.js +89 -0
- package/dist/components/stepper/step.js.map +1 -0
- package/dist/components/stepper/stepper.d.ts +130 -0
- package/dist/components/stepper/stepper.js +154 -0
- package/dist/components/stepper/stepper.js.map +1 -0
- package/dist/components/stepper/styles.module.css +126 -0
- package/dist/components/stepper/types.d.ts +205 -0
- package/dist/components/stepper/types.js +12 -0
- package/dist/components/stepper/use-stepper-state.d.ts +175 -0
- package/dist/components/stepper/use-stepper-state.js +225 -0
- package/dist/components/stepper/use-stepper-state.js.map +1 -0
- package/dist/components/switch/context.d.ts +4 -4
- package/dist/components/switch/index.d.ts +2 -2
- package/dist/components/table/body.d.ts +2 -2
- package/dist/components/table/cell.d.ts +2 -2
- package/dist/components/table/context.d.ts +2 -2
- package/dist/components/table/header-cell.d.ts +2 -2
- package/dist/components/table/header.d.ts +2 -2
- package/dist/components/table/index.d.ts +2 -2
- package/dist/components/table/row.d.ts +2 -2
- package/dist/components/tabs/context.d.ts +6 -6
- package/dist/components/tabs/index.d.ts +2 -2
- package/dist/components/tabs/list.d.ts +2 -2
- package/dist/components/tabs/panel.d.ts +2 -2
- package/dist/components/tabs/tab.d.ts +2 -2
- package/dist/components/text-area-field/context.d.ts +4 -4
- package/dist/components/text-area-field/index.d.ts +2 -2
- package/dist/components/text-field/context.d.ts +4 -4
- package/dist/components/text-field/index.d.ts +2 -2
- package/dist/components/time-field/index.d.ts +2 -2
- package/dist/components/tooltip/context.d.ts +2 -2
- package/dist/components/tooltip/index.d.ts +2 -2
- package/dist/components/tooltip/trigger.d.ts +2 -2
- package/dist/components/tree/context.d.ts +3 -3
- package/dist/components/tree/index.d.ts +2 -2
- package/dist/components/tree/item-actions.d.ts +2 -2
- package/dist/components/tree/item-content.d.ts +2 -2
- package/dist/components/tree/item-description.d.ts +2 -2
- package/dist/components/tree/item-label.d.ts +2 -2
- package/dist/components/tree/item-prefix-icon.d.ts +2 -2
- package/dist/components/tree/item.d.ts +2 -2
- package/dist/components/tree/lines.d.ts +2 -2
- package/dist/components/video/index.d.ts +2 -2
- package/dist/components/view-stack/context.d.ts +2 -2
- package/dist/components/view-stack/index.d.ts +2 -2
- package/dist/components/view-stack/trigger.d.ts +2 -2
- package/dist/components/view-stack/view.d.ts +2 -2
- package/dist/index.d.ts +10 -1
- package/dist/index.js +9 -1
- package/dist/providers/portal.d.ts +2 -2
- package/dist/providers/theme-provider.d.ts +2 -2
- package/package.json +20 -10
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at https://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
'use client';
|
|
15
|
+
|
|
16
|
+
import { useStepperContext } from "./context.js";
|
|
17
|
+
import "client-only";
|
|
18
|
+
import { useEffect } from "react";
|
|
19
|
+
import { jsx } from "react/jsx-runtime";
|
|
20
|
+
|
|
21
|
+
//#region src/components/stepper/step.tsx
|
|
22
|
+
/**
|
|
23
|
+
* Interactive step button rendered inside a {@link StepperList}.
|
|
24
|
+
*
|
|
25
|
+
* Registers itself with the parent stepper on mount, unregisters on unmount,
|
|
26
|
+
* and exposes current, visited, and disabled state through data attributes for styling.
|
|
27
|
+
*
|
|
28
|
+
* @param props - The step props.
|
|
29
|
+
* @param props.id - Unique step key that must match the corresponding panel id.
|
|
30
|
+
* @param props.children - Visible content rendered inside the step button.
|
|
31
|
+
* @param props.className - CSS class applied to the step button.
|
|
32
|
+
* @param props.isDisabled - Whether this step is disabled locally in addition to shared disabled keys.
|
|
33
|
+
* @returns The rendered step button.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* Basic step with text label:
|
|
37
|
+
* ```tsx
|
|
38
|
+
* <StepperStep id="personal-info">Personal Information</StepperStep>
|
|
39
|
+
* ```
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* Disabled step:
|
|
43
|
+
* ```tsx
|
|
44
|
+
* <StepperStep id="payment" isDisabled={!hasCompletedProfile}>
|
|
45
|
+
* Payment Details
|
|
46
|
+
* </StepperStep>
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
function StepperStep(props) {
|
|
50
|
+
const { id, children, className, isDisabled = false, ...restProps } = props;
|
|
51
|
+
const { currentStep, completedSteps, steps, register, unregister, goToStep, disabledKeys } = useStepperContext();
|
|
52
|
+
useEffect(() => {
|
|
53
|
+
register(id);
|
|
54
|
+
return () => {
|
|
55
|
+
unregister(id);
|
|
56
|
+
};
|
|
57
|
+
}, [
|
|
58
|
+
id,
|
|
59
|
+
register,
|
|
60
|
+
unregister
|
|
61
|
+
]);
|
|
62
|
+
const isCurrent = currentStep === id;
|
|
63
|
+
const isCompleted = completedSteps.has(id);
|
|
64
|
+
const isStepDisabled = isDisabled || disabledKeys.has(id);
|
|
65
|
+
const stepNumber = steps.indexOf(id) + 1;
|
|
66
|
+
const totalSteps = steps.length;
|
|
67
|
+
const handleClick = () => {
|
|
68
|
+
if (isStepDisabled) return;
|
|
69
|
+
goToStep(id);
|
|
70
|
+
};
|
|
71
|
+
return /* @__PURE__ */ jsx("button", {
|
|
72
|
+
...restProps,
|
|
73
|
+
type: "button",
|
|
74
|
+
className,
|
|
75
|
+
"aria-current": isCurrent ? "step" : void 0,
|
|
76
|
+
"aria-disabled": isStepDisabled,
|
|
77
|
+
"aria-label": `Step ${stepNumber} of ${totalSteps}`,
|
|
78
|
+
"data-current": isCurrent || void 0,
|
|
79
|
+
"data-visited": isCompleted || void 0,
|
|
80
|
+
"data-disabled": isStepDisabled || void 0,
|
|
81
|
+
disabled: isStepDisabled,
|
|
82
|
+
onClick: handleClick,
|
|
83
|
+
children
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
//#endregion
|
|
88
|
+
export { StepperStep };
|
|
89
|
+
//# sourceMappingURL=step.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"step.js","names":[],"sources":["../../../src/components/stepper/step.tsx"],"sourcesContent":["/*\n * Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n'use client';\n\nimport 'client-only';\nimport { useEffect } from 'react';\nimport { useStepperContext } from './context';\nimport type { StepperStepProps } from './types';\n\n/**\n * Interactive step button rendered inside a {@link StepperList}.\n *\n * Registers itself with the parent stepper on mount, unregisters on unmount,\n * and exposes current, visited, and disabled state through data attributes for styling.\n *\n * @param props - The step props.\n * @param props.id - Unique step key that must match the corresponding panel id.\n * @param props.children - Visible content rendered inside the step button.\n * @param props.className - CSS class applied to the step button.\n * @param props.isDisabled - Whether this step is disabled locally in addition to shared disabled keys.\n * @returns The rendered step button.\n *\n * @example\n * Basic step with text label:\n * ```tsx\n * <StepperStep id=\"personal-info\">Personal Information</StepperStep>\n * ```\n *\n * @example\n * Disabled step:\n * ```tsx\n * <StepperStep id=\"payment\" isDisabled={!hasCompletedProfile}>\n * Payment Details\n * </StepperStep>\n * ```\n */\nexport function StepperStep(props: StepperStepProps) {\n const { id, children, className, isDisabled = false, ...restProps } = props;\n\n const {\n currentStep,\n completedSteps,\n steps,\n register,\n unregister,\n goToStep,\n disabledKeys,\n } = useStepperContext();\n\n // Register/unregister step on mount/unmount\n useEffect(() => {\n register(id);\n return () => {\n unregister(id);\n };\n }, [id, register, unregister]);\n\n const isCurrent = currentStep === id;\n const isCompleted = completedSteps.has(id);\n const isStepDisabled = isDisabled || disabledKeys.has(id);\n const stepNumber = steps.indexOf(id) + 1;\n const totalSteps = steps.length;\n\n const handleClick = () => {\n if (isStepDisabled) {\n return;\n }\n goToStep(id);\n };\n\n return (\n <button\n {...restProps}\n type='button'\n className={className}\n aria-current={isCurrent ? 'step' : undefined}\n aria-disabled={isStepDisabled}\n aria-label={`Step ${stepNumber} of ${totalSteps}`}\n data-current={isCurrent || undefined}\n data-visited={isCompleted || undefined}\n data-disabled={isStepDisabled || undefined}\n disabled={isStepDisabled}\n onClick={handleClick}\n >\n {children}\n </button>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CA,SAAgB,YAAY,OAAyB;CACnD,MAAM,EAAE,IAAI,UAAU,WAAW,aAAa,OAAO,GAAG,cAAc;CAEtE,MAAM,EACJ,aACA,gBACA,OACA,UACA,YACA,UACA,iBACE,mBAAmB;AAGvB,iBAAgB;AACd,WAAS,GAAG;AACZ,eAAa;AACX,cAAW,GAAG;;IAEf;EAAC;EAAI;EAAU;EAAW,CAAC;CAE9B,MAAM,YAAY,gBAAgB;CAClC,MAAM,cAAc,eAAe,IAAI,GAAG;CAC1C,MAAM,iBAAiB,cAAc,aAAa,IAAI,GAAG;CACzD,MAAM,aAAa,MAAM,QAAQ,GAAG,GAAG;CACvC,MAAM,aAAa,MAAM;CAEzB,MAAM,oBAAoB;AACxB,MAAI,eACF;AAEF,WAAS,GAAG;;AAGd,QACE,oBAAC;EACC,GAAI;EACJ,MAAK;EACM;EACX,gBAAc,YAAY,SAAS;EACnC,iBAAe;EACf,cAAY,QAAQ,WAAW,MAAM;EACrC,gBAAc,aAAa;EAC3B,gBAAc,eAAe;EAC7B,iBAAe,kBAAkB;EACjC,UAAU;EACV,SAAS;EAER;GACM"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at https://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import { StepperProps } from "./types.js";
|
|
14
|
+
import "client-only";
|
|
15
|
+
import * as react_jsx_runtime207 from "react/jsx-runtime";
|
|
16
|
+
|
|
17
|
+
//#region src/components/stepper/stepper.d.ts
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Root Stepper component for building multi-step workflows.
|
|
21
|
+
*
|
|
22
|
+
* Manages step registration, navigation state, completion tracking, and
|
|
23
|
+
* disabled-step behavior for the stepper component family. Supports both
|
|
24
|
+
* controlled and uncontrolled current-step management.
|
|
25
|
+
*
|
|
26
|
+
* @param props - The stepper props.
|
|
27
|
+
* @param props.children - Step list, step panels, and optional navigation controls.
|
|
28
|
+
* @param props.className - CSS class applied to the root container.
|
|
29
|
+
* @param props.currentStep - Controlled current step key.
|
|
30
|
+
* @param props.defaultStep - Initial current step key for uncontrolled usage.
|
|
31
|
+
* @param props.onStepChange - Called when navigation changes the current step.
|
|
32
|
+
* @param props.onBeforeStepChange - Called before navigation; return `false` to block the move.
|
|
33
|
+
* @param props.orientation - Layout orientation for the step list.
|
|
34
|
+
* @param props.completedSteps - Controlled set of completed step keys.
|
|
35
|
+
* @param props.defaultCompletedSteps - Initial completed step keys for uncontrolled usage.
|
|
36
|
+
* @param props.disabledKeys - Step keys that cannot be navigated to.
|
|
37
|
+
* @returns The rendered stepper root.
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* Uncontrolled stepper with default step:
|
|
41
|
+
* ```tsx
|
|
42
|
+
* <Stepper defaultStep="step-1" orientation="horizontal">
|
|
43
|
+
* <StepperList>
|
|
44
|
+
* <StepperStep id="step-1">Personal Info</StepperStep>
|
|
45
|
+
* <StepperStep id="step-2">Payment</StepperStep>
|
|
46
|
+
* <StepperStep id="step-3">Confirmation</StepperStep>
|
|
47
|
+
* </StepperList>
|
|
48
|
+
* <StepperPanel id="step-1">
|
|
49
|
+
* <h2>Personal Information</h2>
|
|
50
|
+
* <StepperNext>Next</StepperNext>
|
|
51
|
+
* </StepperPanel>
|
|
52
|
+
* <StepperPanel id="step-2">
|
|
53
|
+
* <h2>Payment Details</h2>
|
|
54
|
+
* <StepperBack>Back</StepperBack>
|
|
55
|
+
* <StepperNext>Next</StepperNext>
|
|
56
|
+
* </StepperPanel>
|
|
57
|
+
* <StepperPanel id="step-3">
|
|
58
|
+
* <h2>Confirmation</h2>
|
|
59
|
+
* <StepperBack>Back</StepperBack>
|
|
60
|
+
* </StepperPanel>
|
|
61
|
+
* </Stepper>
|
|
62
|
+
* ```
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* Controlled stepper with validation:
|
|
66
|
+
* ```tsx
|
|
67
|
+
* const [currentStep, setCurrentStep] = useState<Key>('step-1');
|
|
68
|
+
* const [formData, setFormData] = useState({});
|
|
69
|
+
*
|
|
70
|
+
* const handleBeforeStepChange = (fromKey: Key, toKey: Key) => {
|
|
71
|
+
* // Validate form data before allowing navigation
|
|
72
|
+
* if (fromKey === 'step-1' && !formData.name) {
|
|
73
|
+
* alert('Please enter your name');
|
|
74
|
+
* return false;
|
|
75
|
+
* }
|
|
76
|
+
* return true;
|
|
77
|
+
* };
|
|
78
|
+
*
|
|
79
|
+
* <Stepper
|
|
80
|
+
* currentStep={currentStep}
|
|
81
|
+
* onStepChange={setCurrentStep}
|
|
82
|
+
* onBeforeStepChange={handleBeforeStepChange}
|
|
83
|
+
* >
|
|
84
|
+
* <StepperList>
|
|
85
|
+
* <StepperStep id="step-1">Step 1</StepperStep>
|
|
86
|
+
* <StepperStep id="step-2">Step 2</StepperStep>
|
|
87
|
+
* </StepperList>
|
|
88
|
+
* <StepperPanel id="step-1">
|
|
89
|
+
* <input onChange={(e) => setFormData({ name: e.target.value })} />
|
|
90
|
+
* <StepperNext>Next</StepperNext>
|
|
91
|
+
* </StepperPanel>
|
|
92
|
+
* <StepperPanel id="step-2">
|
|
93
|
+
* <StepperBack>Back</StepperBack>
|
|
94
|
+
* </StepperPanel>
|
|
95
|
+
* </Stepper>
|
|
96
|
+
* ```
|
|
97
|
+
*
|
|
98
|
+
* @example
|
|
99
|
+
* Stepper with disabled steps:
|
|
100
|
+
* ```tsx
|
|
101
|
+
* const [completedSteps, setCompletedSteps] = useState(new Set<Key>());
|
|
102
|
+
* const disabledKeys = useMemo(() => {
|
|
103
|
+
* const disabled = new Set<Key>();
|
|
104
|
+
* if (!completedSteps.has('step-1')) {
|
|
105
|
+
* disabled.add('step-2');
|
|
106
|
+
* disabled.add('step-3');
|
|
107
|
+
* }
|
|
108
|
+
* if (!completedSteps.has('step-2')) {
|
|
109
|
+
* disabled.add('step-3');
|
|
110
|
+
* }
|
|
111
|
+
* return disabled;
|
|
112
|
+
* }, [completedSteps]);
|
|
113
|
+
*
|
|
114
|
+
* <Stepper
|
|
115
|
+
* defaultStep="step-1"
|
|
116
|
+
* completedSteps={completedSteps}
|
|
117
|
+
* disabledKeys={disabledKeys}
|
|
118
|
+
* >
|
|
119
|
+
* <StepperList>
|
|
120
|
+
* <StepperStep id="step-1">Step 1</StepperStep>
|
|
121
|
+
* <StepperStep id="step-2">Step 2</StepperStep>
|
|
122
|
+
* <StepperStep id="step-3">Step 3</StepperStep>
|
|
123
|
+
* </StepperList>
|
|
124
|
+
* </Stepper>
|
|
125
|
+
* ```
|
|
126
|
+
*/
|
|
127
|
+
declare function Stepper(props: StepperProps): react_jsx_runtime207.JSX.Element;
|
|
128
|
+
//#endregion
|
|
129
|
+
export { Stepper };
|
|
130
|
+
//# sourceMappingURL=stepper.d.ts.map
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at https://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
'use client';
|
|
15
|
+
|
|
16
|
+
import { StepperContext } from "./context.js";
|
|
17
|
+
import { useStepperState } from "./use-stepper-state.js";
|
|
18
|
+
import "client-only";
|
|
19
|
+
import { jsx } from "react/jsx-runtime";
|
|
20
|
+
|
|
21
|
+
//#region src/components/stepper/stepper.tsx
|
|
22
|
+
/**
|
|
23
|
+
* Root Stepper component for building multi-step workflows.
|
|
24
|
+
*
|
|
25
|
+
* Manages step registration, navigation state, completion tracking, and
|
|
26
|
+
* disabled-step behavior for the stepper component family. Supports both
|
|
27
|
+
* controlled and uncontrolled current-step management.
|
|
28
|
+
*
|
|
29
|
+
* @param props - The stepper props.
|
|
30
|
+
* @param props.children - Step list, step panels, and optional navigation controls.
|
|
31
|
+
* @param props.className - CSS class applied to the root container.
|
|
32
|
+
* @param props.currentStep - Controlled current step key.
|
|
33
|
+
* @param props.defaultStep - Initial current step key for uncontrolled usage.
|
|
34
|
+
* @param props.onStepChange - Called when navigation changes the current step.
|
|
35
|
+
* @param props.onBeforeStepChange - Called before navigation; return `false` to block the move.
|
|
36
|
+
* @param props.orientation - Layout orientation for the step list.
|
|
37
|
+
* @param props.completedSteps - Controlled set of completed step keys.
|
|
38
|
+
* @param props.defaultCompletedSteps - Initial completed step keys for uncontrolled usage.
|
|
39
|
+
* @param props.disabledKeys - Step keys that cannot be navigated to.
|
|
40
|
+
* @returns The rendered stepper root.
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* Uncontrolled stepper with default step:
|
|
44
|
+
* ```tsx
|
|
45
|
+
* <Stepper defaultStep="step-1" orientation="horizontal">
|
|
46
|
+
* <StepperList>
|
|
47
|
+
* <StepperStep id="step-1">Personal Info</StepperStep>
|
|
48
|
+
* <StepperStep id="step-2">Payment</StepperStep>
|
|
49
|
+
* <StepperStep id="step-3">Confirmation</StepperStep>
|
|
50
|
+
* </StepperList>
|
|
51
|
+
* <StepperPanel id="step-1">
|
|
52
|
+
* <h2>Personal Information</h2>
|
|
53
|
+
* <StepperNext>Next</StepperNext>
|
|
54
|
+
* </StepperPanel>
|
|
55
|
+
* <StepperPanel id="step-2">
|
|
56
|
+
* <h2>Payment Details</h2>
|
|
57
|
+
* <StepperBack>Back</StepperBack>
|
|
58
|
+
* <StepperNext>Next</StepperNext>
|
|
59
|
+
* </StepperPanel>
|
|
60
|
+
* <StepperPanel id="step-3">
|
|
61
|
+
* <h2>Confirmation</h2>
|
|
62
|
+
* <StepperBack>Back</StepperBack>
|
|
63
|
+
* </StepperPanel>
|
|
64
|
+
* </Stepper>
|
|
65
|
+
* ```
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* Controlled stepper with validation:
|
|
69
|
+
* ```tsx
|
|
70
|
+
* const [currentStep, setCurrentStep] = useState<Key>('step-1');
|
|
71
|
+
* const [formData, setFormData] = useState({});
|
|
72
|
+
*
|
|
73
|
+
* const handleBeforeStepChange = (fromKey: Key, toKey: Key) => {
|
|
74
|
+
* // Validate form data before allowing navigation
|
|
75
|
+
* if (fromKey === 'step-1' && !formData.name) {
|
|
76
|
+
* alert('Please enter your name');
|
|
77
|
+
* return false;
|
|
78
|
+
* }
|
|
79
|
+
* return true;
|
|
80
|
+
* };
|
|
81
|
+
*
|
|
82
|
+
* <Stepper
|
|
83
|
+
* currentStep={currentStep}
|
|
84
|
+
* onStepChange={setCurrentStep}
|
|
85
|
+
* onBeforeStepChange={handleBeforeStepChange}
|
|
86
|
+
* >
|
|
87
|
+
* <StepperList>
|
|
88
|
+
* <StepperStep id="step-1">Step 1</StepperStep>
|
|
89
|
+
* <StepperStep id="step-2">Step 2</StepperStep>
|
|
90
|
+
* </StepperList>
|
|
91
|
+
* <StepperPanel id="step-1">
|
|
92
|
+
* <input onChange={(e) => setFormData({ name: e.target.value })} />
|
|
93
|
+
* <StepperNext>Next</StepperNext>
|
|
94
|
+
* </StepperPanel>
|
|
95
|
+
* <StepperPanel id="step-2">
|
|
96
|
+
* <StepperBack>Back</StepperBack>
|
|
97
|
+
* </StepperPanel>
|
|
98
|
+
* </Stepper>
|
|
99
|
+
* ```
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* Stepper with disabled steps:
|
|
103
|
+
* ```tsx
|
|
104
|
+
* const [completedSteps, setCompletedSteps] = useState(new Set<Key>());
|
|
105
|
+
* const disabledKeys = useMemo(() => {
|
|
106
|
+
* const disabled = new Set<Key>();
|
|
107
|
+
* if (!completedSteps.has('step-1')) {
|
|
108
|
+
* disabled.add('step-2');
|
|
109
|
+
* disabled.add('step-3');
|
|
110
|
+
* }
|
|
111
|
+
* if (!completedSteps.has('step-2')) {
|
|
112
|
+
* disabled.add('step-3');
|
|
113
|
+
* }
|
|
114
|
+
* return disabled;
|
|
115
|
+
* }, [completedSteps]);
|
|
116
|
+
*
|
|
117
|
+
* <Stepper
|
|
118
|
+
* defaultStep="step-1"
|
|
119
|
+
* completedSteps={completedSteps}
|
|
120
|
+
* disabledKeys={disabledKeys}
|
|
121
|
+
* >
|
|
122
|
+
* <StepperList>
|
|
123
|
+
* <StepperStep id="step-1">Step 1</StepperStep>
|
|
124
|
+
* <StepperStep id="step-2">Step 2</StepperStep>
|
|
125
|
+
* <StepperStep id="step-3">Step 3</StepperStep>
|
|
126
|
+
* </StepperList>
|
|
127
|
+
* </Stepper>
|
|
128
|
+
* ```
|
|
129
|
+
*/
|
|
130
|
+
function Stepper(props) {
|
|
131
|
+
const { children, className, currentStep, defaultStep, onStepChange, onBeforeStepChange, orientation = "horizontal", completedSteps, defaultCompletedSteps, disabledKeys, ...restProps } = props;
|
|
132
|
+
const state = useStepperState({
|
|
133
|
+
currentStep,
|
|
134
|
+
defaultStep,
|
|
135
|
+
onStepChange,
|
|
136
|
+
onBeforeStepChange,
|
|
137
|
+
completedSteps,
|
|
138
|
+
defaultCompletedSteps,
|
|
139
|
+
disabledKeys,
|
|
140
|
+
orientation
|
|
141
|
+
});
|
|
142
|
+
return /* @__PURE__ */ jsx(StepperContext.Provider, {
|
|
143
|
+
value: state,
|
|
144
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
145
|
+
...restProps,
|
|
146
|
+
className,
|
|
147
|
+
children
|
|
148
|
+
})
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
//#endregion
|
|
153
|
+
export { Stepper };
|
|
154
|
+
//# sourceMappingURL=stepper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stepper.js","names":[],"sources":["../../../src/components/stepper/stepper.tsx"],"sourcesContent":["/*\n * Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n'use client';\n\nimport 'client-only';\nimport { StepperContext } from './context';\nimport { useStepperState } from './use-stepper-state';\nimport type { StepperProps } from './types';\n\n/**\n * Root Stepper component for building multi-step workflows.\n *\n * Manages step registration, navigation state, completion tracking, and\n * disabled-step behavior for the stepper component family. Supports both\n * controlled and uncontrolled current-step management.\n *\n * @param props - The stepper props.\n * @param props.children - Step list, step panels, and optional navigation controls.\n * @param props.className - CSS class applied to the root container.\n * @param props.currentStep - Controlled current step key.\n * @param props.defaultStep - Initial current step key for uncontrolled usage.\n * @param props.onStepChange - Called when navigation changes the current step.\n * @param props.onBeforeStepChange - Called before navigation; return `false` to block the move.\n * @param props.orientation - Layout orientation for the step list.\n * @param props.completedSteps - Controlled set of completed step keys.\n * @param props.defaultCompletedSteps - Initial completed step keys for uncontrolled usage.\n * @param props.disabledKeys - Step keys that cannot be navigated to.\n * @returns The rendered stepper root.\n *\n * @example\n * Uncontrolled stepper with default step:\n * ```tsx\n * <Stepper defaultStep=\"step-1\" orientation=\"horizontal\">\n * <StepperList>\n * <StepperStep id=\"step-1\">Personal Info</StepperStep>\n * <StepperStep id=\"step-2\">Payment</StepperStep>\n * <StepperStep id=\"step-3\">Confirmation</StepperStep>\n * </StepperList>\n * <StepperPanel id=\"step-1\">\n * <h2>Personal Information</h2>\n * <StepperNext>Next</StepperNext>\n * </StepperPanel>\n * <StepperPanel id=\"step-2\">\n * <h2>Payment Details</h2>\n * <StepperBack>Back</StepperBack>\n * <StepperNext>Next</StepperNext>\n * </StepperPanel>\n * <StepperPanel id=\"step-3\">\n * <h2>Confirmation</h2>\n * <StepperBack>Back</StepperBack>\n * </StepperPanel>\n * </Stepper>\n * ```\n *\n * @example\n * Controlled stepper with validation:\n * ```tsx\n * const [currentStep, setCurrentStep] = useState<Key>('step-1');\n * const [formData, setFormData] = useState({});\n *\n * const handleBeforeStepChange = (fromKey: Key, toKey: Key) => {\n * // Validate form data before allowing navigation\n * if (fromKey === 'step-1' && !formData.name) {\n * alert('Please enter your name');\n * return false;\n * }\n * return true;\n * };\n *\n * <Stepper\n * currentStep={currentStep}\n * onStepChange={setCurrentStep}\n * onBeforeStepChange={handleBeforeStepChange}\n * >\n * <StepperList>\n * <StepperStep id=\"step-1\">Step 1</StepperStep>\n * <StepperStep id=\"step-2\">Step 2</StepperStep>\n * </StepperList>\n * <StepperPanel id=\"step-1\">\n * <input onChange={(e) => setFormData({ name: e.target.value })} />\n * <StepperNext>Next</StepperNext>\n * </StepperPanel>\n * <StepperPanel id=\"step-2\">\n * <StepperBack>Back</StepperBack>\n * </StepperPanel>\n * </Stepper>\n * ```\n *\n * @example\n * Stepper with disabled steps:\n * ```tsx\n * const [completedSteps, setCompletedSteps] = useState(new Set<Key>());\n * const disabledKeys = useMemo(() => {\n * const disabled = new Set<Key>();\n * if (!completedSteps.has('step-1')) {\n * disabled.add('step-2');\n * disabled.add('step-3');\n * }\n * if (!completedSteps.has('step-2')) {\n * disabled.add('step-3');\n * }\n * return disabled;\n * }, [completedSteps]);\n *\n * <Stepper\n * defaultStep=\"step-1\"\n * completedSteps={completedSteps}\n * disabledKeys={disabledKeys}\n * >\n * <StepperList>\n * <StepperStep id=\"step-1\">Step 1</StepperStep>\n * <StepperStep id=\"step-2\">Step 2</StepperStep>\n * <StepperStep id=\"step-3\">Step 3</StepperStep>\n * </StepperList>\n * </Stepper>\n * ```\n */\nexport function Stepper(props: StepperProps) {\n const {\n children,\n className,\n currentStep,\n defaultStep,\n onStepChange,\n onBeforeStepChange,\n orientation = 'horizontal',\n completedSteps,\n defaultCompletedSteps,\n disabledKeys,\n ...restProps\n } = props;\n\n const state = useStepperState({\n currentStep,\n defaultStep,\n onStepChange,\n onBeforeStepChange,\n completedSteps,\n defaultCompletedSteps,\n disabledKeys,\n orientation,\n });\n\n return (\n <StepperContext.Provider value={state}>\n <div {...restProps} className={className}>\n {children}\n </div>\n </StepperContext.Provider>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+HA,SAAgB,QAAQ,OAAqB;CAC3C,MAAM,EACJ,UACA,WACA,aACA,aACA,cACA,oBACA,cAAc,cACd,gBACA,uBACA,cACA,GAAG,cACD;CAEJ,MAAM,QAAQ,gBAAgB;EAC5B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CAAC;AAEF,QACE,oBAAC,eAAe;EAAS,OAAO;YAC9B,oBAAC;GAAI,GAAI;GAAsB;GAC5B;IACG;GACkB"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at https://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
@reference '@accelint/design-foundation/styles';
|
|
14
|
+
|
|
15
|
+
@layer components.l1 {
|
|
16
|
+
.stepper {
|
|
17
|
+
@apply flex;
|
|
18
|
+
|
|
19
|
+
@variant orientation-horizontal {
|
|
20
|
+
@apply flex-col;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
@variant orientation-vertical {
|
|
24
|
+
@apply h-full flex-row;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.list {
|
|
29
|
+
@apply gap-xs flex;
|
|
30
|
+
|
|
31
|
+
@variant orientation-horizontal {
|
|
32
|
+
@apply relative w-full flex-row;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
@variant orientation-vertical {
|
|
36
|
+
@apply h-full flex-col;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.step {
|
|
41
|
+
@apply gap-xs fg-primary-muted rounded-small relative flex cursor-pointer items-center;
|
|
42
|
+
min-width: 100px;
|
|
43
|
+
|
|
44
|
+
@variant hover {
|
|
45
|
+
@apply fg-primary-bold;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
@variant focus-visible {
|
|
49
|
+
@apply fg-primary-bold outline outline-2 outline-offset-2 outline-(--outline-accent-primary-bold);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
@variant pressed {
|
|
53
|
+
@apply fg-pressed;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
@variant current {
|
|
57
|
+
@apply fg-accent-primary-bold bg-accent-primary-muted;
|
|
58
|
+
|
|
59
|
+
@variant hover {
|
|
60
|
+
@apply fg-accent-primary-hover bg-accent-primary-hover;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
@variant focus-visible {
|
|
64
|
+
@apply fg-accent-primary-hover bg-accent-primary-hover;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
@variant pressed {
|
|
68
|
+
@apply fg-accent-primary-pressed bg-interactive-muted-pressed;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
@variant visited {
|
|
73
|
+
@apply fg-normal-bold bg-normal-muted;
|
|
74
|
+
|
|
75
|
+
@variant hover {
|
|
76
|
+
@apply fg-normal-hover bg-normal-hover;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
@variant focus-visible {
|
|
80
|
+
@apply fg-normal-hover bg-normal-hover;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
@variant disabled {
|
|
85
|
+
@apply fg-disabled bg-interactive-disabled cursor-not-allowed;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/* Connectors for horizontal orientation */
|
|
89
|
+
@variant group-orientation-horizontal/stepper {
|
|
90
|
+
&:not(:last-child)::after {
|
|
91
|
+
@apply absolute top-1/2 left-full block h-px bg-(--outline-static);
|
|
92
|
+
content: '';
|
|
93
|
+
width: var(--connector-width, 1rem);
|
|
94
|
+
transform: translateY(-50%);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
@variant visited {
|
|
98
|
+
&:not(:last-child)::after {
|
|
99
|
+
@apply bg-(--outline-normal-bold);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/* Connectors for vertical orientation */
|
|
105
|
+
@variant group-orientation-vertical/stepper {
|
|
106
|
+
@apply w-full;
|
|
107
|
+
|
|
108
|
+
&:not(:last-child)::after {
|
|
109
|
+
@apply absolute top-full left-1/2 block w-px bg-(--outline-static);
|
|
110
|
+
content: '';
|
|
111
|
+
height: var(--connector-height, 1rem);
|
|
112
|
+
transform: translateX(-50%);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
@variant visited {
|
|
116
|
+
&:not(:last-child)::after {
|
|
117
|
+
@apply bg-(--outline-normal-bold);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.panel {
|
|
124
|
+
@apply fg-primary-bold p-m;
|
|
125
|
+
}
|
|
126
|
+
}
|