@walkeros/explorer 1.0.1 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +2 -2
- package/dist/{chunk-VWWAIDNX.mjs → chunk-YKT4D7MG.mjs} +201 -53
- package/dist/chunk-YKT4D7MG.mjs.map +1 -0
- package/dist/components/atoms/alert.d.ts +29 -0
- package/dist/components/atoms/alert.d.ts.map +1 -0
- package/dist/components/atoms/alert.js +19 -0
- package/dist/components/atoms/alert.js.map +1 -0
- package/dist/components/atoms/alert.stories.d.ts +7 -0
- package/dist/components/atoms/alert.stories.d.ts.map +1 -0
- package/dist/components/atoms/alert.stories.js +14 -0
- package/dist/components/atoms/alert.stories.js.map +1 -0
- package/dist/components/atoms/button.stories.d.ts +14 -0
- package/dist/components/atoms/button.stories.d.ts.map +1 -0
- package/dist/components/atoms/button.stories.js +25 -0
- package/dist/components/atoms/button.stories.js.map +1 -0
- package/dist/components/atoms/code.d.ts.map +1 -1
- package/dist/components/atoms/code.js +14 -2
- package/dist/components/atoms/code.js.map +1 -1
- package/dist/components/atoms/footer.stories.d.ts +14 -0
- package/dist/components/atoms/footer.stories.d.ts.map +1 -0
- package/dist/components/atoms/footer.stories.js +29 -0
- package/dist/components/atoms/footer.stories.js.map +1 -0
- package/dist/components/atoms/form-field.d.ts +28 -0
- package/dist/components/atoms/form-field.d.ts.map +1 -0
- package/dist/components/atoms/form-field.js +16 -0
- package/dist/components/atoms/form-field.js.map +1 -0
- package/dist/components/atoms/form-field.stories.d.ts +7 -0
- package/dist/components/atoms/form-field.stories.d.ts.map +1 -0
- package/dist/components/atoms/form-field.stories.js +16 -0
- package/dist/components/atoms/form-field.stories.js.map +1 -0
- package/dist/components/atoms/form-input.d.ts +43 -0
- package/dist/components/atoms/form-input.d.ts.map +1 -0
- package/dist/components/atoms/form-input.js +26 -0
- package/dist/components/atoms/form-input.js.map +1 -0
- package/dist/components/atoms/form-input.stories.d.ts +7 -0
- package/dist/components/atoms/form-input.stories.d.ts.map +1 -0
- package/dist/components/atoms/form-input.stories.js +17 -0
- package/dist/components/atoms/form-input.stories.js.map +1 -0
- package/dist/components/atoms/form-textarea.d.ts +41 -0
- package/dist/components/atoms/form-textarea.d.ts.map +1 -0
- package/dist/components/atoms/form-textarea.js +26 -0
- package/dist/components/atoms/form-textarea.js.map +1 -0
- package/dist/components/atoms/form-textarea.stories.d.ts +7 -0
- package/dist/components/atoms/form-textarea.stories.d.ts.map +1 -0
- package/dist/components/atoms/form-textarea.stories.js +17 -0
- package/dist/components/atoms/form-textarea.stories.js.map +1 -0
- package/dist/components/atoms/grid.stories.d.ts +18 -0
- package/dist/components/atoms/grid.stories.d.ts.map +1 -0
- package/dist/components/atoms/grid.stories.js +60 -0
- package/dist/components/atoms/grid.stories.js.map +1 -0
- package/dist/components/atoms/header.stories.d.ts +15 -0
- package/dist/components/atoms/header.stories.d.ts.map +1 -0
- package/dist/components/atoms/header.stories.js +37 -0
- package/dist/components/atoms/header.stories.js.map +1 -0
- package/dist/components/atoms/icons/icon.stories.d.ts +18 -0
- package/dist/components/atoms/icons/icon.stories.d.ts.map +1 -0
- package/dist/components/atoms/icons/icon.stories.js +37 -0
- package/dist/components/atoms/icons/icon.stories.js.map +1 -0
- package/dist/components/atoms/panel-hints.stories.d.ts +14 -0
- package/dist/components/atoms/panel-hints.stories.d.ts.map +1 -0
- package/dist/components/atoms/panel-hints.stories.js +35 -0
- package/dist/components/atoms/panel-hints.stories.js.map +1 -0
- package/dist/components/atoms/spinner.d.ts +17 -0
- package/dist/components/atoms/spinner.d.ts.map +1 -0
- package/dist/components/atoms/spinner.js +14 -0
- package/dist/components/atoms/spinner.js.map +1 -0
- package/dist/components/atoms/spinner.stories.d.ts +7 -0
- package/dist/components/atoms/spinner.stories.d.ts.map +1 -0
- package/dist/components/atoms/spinner.stories.js +9 -0
- package/dist/components/atoms/spinner.stories.js.map +1 -0
- package/dist/components/atoms/submit-button.d.ts +34 -0
- package/dist/components/atoms/submit-button.d.ts.map +1 -0
- package/dist/components/atoms/submit-button.js +18 -0
- package/dist/components/atoms/submit-button.js.map +1 -0
- package/dist/components/atoms/submit-button.stories.d.ts +7 -0
- package/dist/components/atoms/submit-button.stories.d.ts.map +1 -0
- package/dist/components/atoms/submit-button.stories.js +13 -0
- package/dist/components/atoms/submit-button.stories.js.map +1 -0
- package/dist/components/molecules/architecture-flow/ArchitectureFlow.stories.js +1 -1
- package/dist/components/molecules/architecture-flow/ArchitectureFlow.stories.js.map +1 -1
- package/dist/components/molecules/code-box.stories.d.ts +8 -0
- package/dist/components/molecules/code-box.stories.d.ts.map +1 -1
- package/dist/components/molecules/code-box.stories.js +36 -0
- package/dist/components/molecules/code-box.stories.js.map +1 -1
- package/dist/components/molecules/config-form-card.d.ts +50 -0
- package/dist/components/molecules/config-form-card.d.ts.map +1 -0
- package/dist/components/molecules/config-form-card.js +30 -0
- package/dist/components/molecules/config-form-card.js.map +1 -0
- package/dist/components/molecules/config-form-card.stories.d.ts +7 -0
- package/dist/components/molecules/config-form-card.stories.d.ts.map +1 -0
- package/dist/components/molecules/config-form-card.stories.js +21 -0
- package/dist/components/molecules/config-form-card.stories.js.map +1 -0
- package/dist/components/molecules/dropdown.d.ts +68 -0
- package/dist/components/molecules/dropdown.d.ts.map +1 -0
- package/dist/components/molecules/dropdown.js +47 -0
- package/dist/components/molecules/dropdown.js.map +1 -0
- package/dist/components/molecules/dropdown.stories.d.ts +7 -0
- package/dist/components/molecules/dropdown.stories.d.ts.map +1 -0
- package/dist/components/molecules/dropdown.stories.js +18 -0
- package/dist/components/molecules/dropdown.stories.js.map +1 -0
- package/dist/components/molecules/flow-deploy-panel.d.ts +31 -0
- package/dist/components/molecules/flow-deploy-panel.d.ts.map +1 -0
- package/dist/components/molecules/flow-deploy-panel.js +72 -0
- package/dist/components/molecules/flow-deploy-panel.js.map +1 -0
- package/dist/components/molecules/flow-deploy-panel.stories.d.ts +40 -0
- package/dist/components/molecules/flow-deploy-panel.stories.d.ts.map +1 -0
- package/dist/components/molecules/flow-deploy-panel.stories.js +145 -0
- package/dist/components/molecules/flow-deploy-panel.stories.js.map +1 -0
- package/dist/components/molecules/flow-map/FlowMap.stories.d.ts.map +1 -1
- package/dist/components/molecules/flow-map/FlowMap.stories.js +7 -1
- package/dist/components/molecules/flow-map/FlowMap.stories.js.map +1 -1
- package/dist/components/molecules/flow-selector.d.ts +19 -0
- package/dist/components/molecules/flow-selector.d.ts.map +1 -0
- package/dist/components/molecules/flow-selector.js +26 -0
- package/dist/components/molecules/flow-selector.js.map +1 -0
- package/dist/components/molecules/flow-selector.stories.d.ts +28 -0
- package/dist/components/molecules/flow-selector.stories.d.ts.map +1 -0
- package/dist/components/molecules/flow-selector.stories.js +66 -0
- package/dist/components/molecules/flow-selector.stories.js.map +1 -0
- package/dist/components/molecules/form-card.d.ts +28 -0
- package/dist/components/molecules/form-card.d.ts.map +1 -0
- package/dist/components/molecules/form-card.js +16 -0
- package/dist/components/molecules/form-card.js.map +1 -0
- package/dist/components/molecules/form-card.stories.d.ts +7 -0
- package/dist/components/molecules/form-card.stories.d.ts.map +1 -0
- package/dist/components/molecules/form-card.stories.js +16 -0
- package/dist/components/molecules/form-card.stories.js.map +1 -0
- package/dist/components/molecules/preview.d.ts.map +1 -1
- package/dist/components/molecules/preview.js +0 -1
- package/dist/components/molecules/preview.js.map +1 -1
- package/dist/components/molecules/split-button.d.ts +25 -0
- package/dist/components/molecules/split-button.d.ts.map +1 -0
- package/dist/components/molecules/split-button.js +37 -0
- package/dist/components/molecules/split-button.js.map +1 -0
- package/dist/components/molecules/split-button.stories.d.ts +32 -0
- package/dist/components/molecules/split-button.stories.d.ts.map +1 -0
- package/dist/components/molecules/split-button.stories.js +88 -0
- package/dist/components/molecules/split-button.stories.js.map +1 -0
- package/dist/hooks/useDropdown.d.ts +34 -0
- package/dist/hooks/useDropdown.d.ts.map +1 -0
- package/dist/hooks/useDropdown.js +66 -0
- package/dist/hooks/useDropdown.js.map +1 -0
- package/dist/index.d.cts +441 -2
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +663 -28
- package/dist/index.mjs.map +1 -1
- package/dist/{monaco-types-4FIH5OVX.mjs → monaco-types-OLSF6MIE.mjs} +2 -2
- package/dist/styles.css +579 -0
- package/package.json +5 -14
- package/dist/chunk-VWWAIDNX.mjs.map +0 -1
- /package/dist/{monaco-types-4FIH5OVX.mjs.map → monaco-types-OLSF6MIE.mjs.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spinner.d.ts","sourceRoot":"","sources":["../../../src/components/atoms/spinner.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,0BAA0B;IAC1B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CAAC,EAAE,IAAW,EAAE,SAAc,EAAE,EAAE,YAAY,2CAQpE"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Spinner - Loading indicator
|
|
4
|
+
*
|
|
5
|
+
* Pure UI component for showing loading state.
|
|
6
|
+
* No internal state - controlled via parent.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* <Spinner size="md" />
|
|
10
|
+
*/
|
|
11
|
+
export function Spinner({ size = 'md', className = '' }) {
|
|
12
|
+
return (_jsx("span", { className: `elb-spinner elb-spinner--${size} ${className}`.trim(), role: "status", "aria-label": "Loading" }));
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=spinner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../../src/components/atoms/spinner.tsx"],"names":[],"mappings":";AASA;;;;;;;;GAQG;AACH,MAAM,UAAU,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,SAAS,GAAG,EAAE,EAAgB;IACnE,OAAO,CACL,eACE,SAAS,EAAE,4BAA4B,IAAI,IAAI,SAAS,EAAE,CAAC,IAAI,EAAE,EACjE,IAAI,EAAC,QAAQ,gBACF,SAAS,GACpB,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react-vite';
|
|
2
|
+
import { Spinner } from './spinner';
|
|
3
|
+
declare const meta: Meta<typeof Spinner>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof Spinner>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
//# sourceMappingURL=spinner.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spinner.stories.d.ts","sourceRoot":"","sources":["../../../src/components/atoms/spinner.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,OAAO,CAI9B,CAAC;AACF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,OAAO,CAAC,CAAC;AAEtC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spinner.stories.js","sourceRoot":"","sources":["../../../src/components/atoms/spinner.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,IAAI,GAAyB;IACjC,KAAK,EAAE,eAAe;IACtB,SAAS,EAAE,OAAO;IAClB,IAAI,EAAE,CAAC,UAAU,CAAC;CACnB,CAAC;AACF,eAAe,IAAI,CAAC;AAIpB,MAAM,CAAC,MAAM,OAAO,GAAU,EAAE,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface SubmitButtonProps {
|
|
3
|
+
/** Button content */
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
/** Text to show when loading */
|
|
6
|
+
loadingText?: string;
|
|
7
|
+
/** Loading state */
|
|
8
|
+
loading?: boolean;
|
|
9
|
+
/** Disabled state */
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
/** Visual variant */
|
|
12
|
+
variant?: 'primary' | 'default' | 'danger';
|
|
13
|
+
/** Full width button */
|
|
14
|
+
fullWidth?: boolean;
|
|
15
|
+
/** Button type */
|
|
16
|
+
type?: 'submit' | 'button';
|
|
17
|
+
/** Click handler (for type="button") */
|
|
18
|
+
onClick?: () => void;
|
|
19
|
+
/** Additional CSS class */
|
|
20
|
+
className?: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* SubmitButton - Form submit button with loading state
|
|
24
|
+
*
|
|
25
|
+
* Pure UI component for form submissions.
|
|
26
|
+
* Shows spinner and loading text when loading=true.
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* <SubmitButton loading={isSubmitting} loadingText="Saving...">
|
|
30
|
+
* Save
|
|
31
|
+
* </SubmitButton>
|
|
32
|
+
*/
|
|
33
|
+
export declare function SubmitButton({ children, loadingText, loading, disabled, variant, fullWidth, type, onClick, className, }: SubmitButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
34
|
+
//# sourceMappingURL=submit-button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"submit-button.d.ts","sourceRoot":"","sources":["../../../src/components/atoms/submit-button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,iBAAiB;IAChC,qBAAqB;IACrB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qBAAqB;IACrB,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC3C,wBAAwB;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kBAAkB;IAClB,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC3B,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,WAAW,EACX,OAAe,EACf,QAAgB,EAChB,OAAmB,EACnB,SAAiB,EACjB,IAAe,EACf,OAAO,EACP,SAAc,GACf,EAAE,iBAAiB,2CAoBnB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Spinner } from './spinner';
|
|
3
|
+
/**
|
|
4
|
+
* SubmitButton - Form submit button with loading state
|
|
5
|
+
*
|
|
6
|
+
* Pure UI component for form submissions.
|
|
7
|
+
* Shows spinner and loading text when loading=true.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* <SubmitButton loading={isSubmitting} loadingText="Saving...">
|
|
11
|
+
* Save
|
|
12
|
+
* </SubmitButton>
|
|
13
|
+
*/
|
|
14
|
+
export function SubmitButton({ children, loadingText, loading = false, disabled = false, variant = 'primary', fullWidth = false, type = 'submit', onClick, className = '', }) {
|
|
15
|
+
const isDisabled = disabled || loading;
|
|
16
|
+
return (_jsx("button", { type: type, disabled: isDisabled, onClick: onClick, className: `elb-submit-button elb-submit-button--${variant} ${fullWidth ? 'elb-submit-button--full-width' : ''} ${loading ? 'elb-submit-button--loading' : ''} ${className}`.trim(), children: loading ? (_jsxs(_Fragment, { children: [_jsx(Spinner, { size: "sm", className: "elb-submit-button__spinner" }), _jsx("span", { children: loadingText ?? children })] })) : (children) }));
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=submit-button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"submit-button.js","sourceRoot":"","sources":["../../../src/components/atoms/submit-button.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBpC;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAAC,EAC3B,QAAQ,EACR,WAAW,EACX,OAAO,GAAG,KAAK,EACf,QAAQ,GAAG,KAAK,EAChB,OAAO,GAAG,SAAS,EACnB,SAAS,GAAG,KAAK,EACjB,IAAI,GAAG,QAAQ,EACf,OAAO,EACP,SAAS,GAAG,EAAE,GACI;IAClB,MAAM,UAAU,GAAG,QAAQ,IAAI,OAAO,CAAC;IAEvC,OAAO,CACL,iBACE,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,UAAU,EACpB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,wCAAwC,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,EAAE,IAAI,SAAS,EAAE,CAAC,IAAI,EAAE,YAElL,OAAO,CAAC,CAAC,CAAC,CACT,8BACE,KAAC,OAAO,IAAC,IAAI,EAAC,IAAI,EAAC,SAAS,EAAC,4BAA4B,GAAG,EAC5D,yBAAO,WAAW,IAAI,QAAQ,GAAQ,IACrC,CACJ,CAAC,CAAC,CAAC,CACF,QAAQ,CACT,GACM,CACV,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react-vite';
|
|
2
|
+
import { SubmitButton } from './submit-button';
|
|
3
|
+
declare const meta: Meta<typeof SubmitButton>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof SubmitButton>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
//# sourceMappingURL=submit-button.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"submit-button.stories.d.ts","sourceRoot":"","sources":["../../../src/components/atoms/submit-button.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,YAAY,CAInC,CAAC;AACF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,YAAY,CAAC,CAAC;AAE3C,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { SubmitButton } from './submit-button';
|
|
2
|
+
const meta = {
|
|
3
|
+
title: 'Atoms/SubmitButton',
|
|
4
|
+
component: SubmitButton,
|
|
5
|
+
tags: ['autodocs'],
|
|
6
|
+
};
|
|
7
|
+
export default meta;
|
|
8
|
+
export const Default = {
|
|
9
|
+
args: {
|
|
10
|
+
children: 'Submit',
|
|
11
|
+
},
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=submit-button.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"submit-button.stories.js","sourceRoot":"","sources":["../../../src/components/atoms/submit-button.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,IAAI,GAA8B;IACtC,KAAK,EAAE,oBAAoB;IAC3B,SAAS,EAAE,YAAY;IACvB,IAAI,EAAE,CAAC,UAAU,CAAC;CACnB,CAAC;AACF,eAAe,IAAI,CAAC;AAIpB,MAAM,CAAC,MAAM,OAAO,GAAU;IAC5B,IAAI,EAAE;QACJ,QAAQ,EAAE,QAAQ;KACnB;CACF,CAAC"}
|
|
@@ -64,7 +64,7 @@ export const Default = {
|
|
|
64
64
|
args: {
|
|
65
65
|
sources: walkerOSSources,
|
|
66
66
|
centerTitle: 'Collector',
|
|
67
|
-
center: (_jsx("img", { src: "/
|
|
67
|
+
center: (_jsx("img", { src: "/walkerOS_logo.svg", alt: "walkerOS", style: { width: '128px', height: '128px' } })),
|
|
68
68
|
destinations: walkerOSDestinations,
|
|
69
69
|
},
|
|
70
70
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArchitectureFlow.stories.js","sourceRoot":"","sources":["../../../../src/components/molecules/architecture-flow/ArchitectureFlow.stories.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ArchitectureFlow.stories.js","sourceRoot":"","sources":["../../../../src/components/molecules/architecture-flow/ArchitectureFlow.stories.tsx"],"names":[],"mappings":"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"}
|
|
@@ -27,4 +27,12 @@ export declare const WithTabs: Story;
|
|
|
27
27
|
* CodeBox with traffic lights, tabs, and footer
|
|
28
28
|
*/
|
|
29
29
|
export declare const FullFeatured: Story;
|
|
30
|
+
/**
|
|
31
|
+
* Image Preview - Mac-style code window with gradient background
|
|
32
|
+
*
|
|
33
|
+
* This story shows what a code image will look like when exported.
|
|
34
|
+
* The gradient uses elbwalker brand colors for consistent CI.
|
|
35
|
+
* Use for creating shareable code images (like ray.so) for LinkedIn, etc.
|
|
36
|
+
*/
|
|
37
|
+
export declare const ImagePreview: Story;
|
|
30
38
|
//# sourceMappingURL=code-box.stories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-box.stories.d.ts","sourceRoot":"","sources":["../../../src/components/molecules/code-box.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC;;;;;GAKG;AACH,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,OAAO,CAI9B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,OAAO,CAAC,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,KAkBrB,CAAC;AAuBF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAS/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,KAqCtB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,KAc1B,CAAC"}
|
|
1
|
+
{"version":3,"file":"code-box.stories.d.ts","sourceRoot":"","sources":["../../../src/components/molecules/code-box.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC;;;;;GAKG;AACH,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,OAAO,CAI9B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,OAAO,CAAC,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,KAkBrB,CAAC;AAuBF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAS/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,KAqCtB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,KAc1B,CAAC;AAaF;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,EAAE,KA4B1B,CAAC"}
|
|
@@ -124,4 +124,40 @@ export const FullFeatured = {
|
|
|
124
124
|
height: 450,
|
|
125
125
|
},
|
|
126
126
|
};
|
|
127
|
+
const imagePreviewCode = `interface User {
|
|
128
|
+
id: string;
|
|
129
|
+
name: string;
|
|
130
|
+
email: string;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
const getUser = async (id: string): Promise<User> => {
|
|
134
|
+
const response = await fetch(\`/api/users/\${id}\`);
|
|
135
|
+
return response.json();
|
|
136
|
+
};`;
|
|
137
|
+
/**
|
|
138
|
+
* Image Preview - Mac-style code window with gradient background
|
|
139
|
+
*
|
|
140
|
+
* This story shows what a code image will look like when exported.
|
|
141
|
+
* The gradient uses elbwalker brand colors for consistent CI.
|
|
142
|
+
* Use for creating shareable code images (like ray.so) for LinkedIn, etc.
|
|
143
|
+
*/
|
|
144
|
+
export const ImagePreview = {
|
|
145
|
+
decorators: [
|
|
146
|
+
(Story) => (_jsx("div", { className: "elb-explorer", "data-theme": "dark", style: {
|
|
147
|
+
background: '#1F2937',
|
|
148
|
+
padding: 32,
|
|
149
|
+
width: 'fit-content',
|
|
150
|
+
}, children: _jsx("div", { style: { width: 500 }, children: _jsx(Story, {}) }) })),
|
|
151
|
+
],
|
|
152
|
+
args: {
|
|
153
|
+
code: imagePreviewCode,
|
|
154
|
+
language: 'typescript',
|
|
155
|
+
showTrafficLights: true,
|
|
156
|
+
showHeader: true,
|
|
157
|
+
label: 'user.ts',
|
|
158
|
+
showCopy: false,
|
|
159
|
+
autoHeight: true,
|
|
160
|
+
fontSize: 15,
|
|
161
|
+
},
|
|
162
|
+
};
|
|
127
163
|
//# sourceMappingURL=code-box.stories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-box.stories.js","sourceRoot":"","sources":["../../../src/components/molecules/code-box.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC;;;;;GAKG;AACH,MAAM,IAAI,GAAyB;IACjC,SAAS,EAAE,OAAO;IAClB,KAAK,EAAE,mBAAmB;IAC1B,IAAI,EAAE,CAAC,UAAU,CAAC;CACnB,CAAC;AAEF,eAAe,IAAI,CAAC;AAGpB;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAU;IAC5B,IAAI,EAAE;QACJ,IAAI,EAAE;;;;;;;;;;8BAUoB;QAC1B,QAAQ,EAAE,YAAY;QACtB,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,KAAK;KAClB;CACF,CAAC;AAEF,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;EAmBnB,CAAC;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAU;IACtC,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,MAAM;QAChB,iBAAiB,EAAE,IAAI;QACvB,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;QAC9D,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,GAAG;KACZ;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAU;IAC7B,IAAI,EAAE;QACJ,IAAI,EAAE;YACJ;gBACE,EAAE,EAAE,QAAQ;gBACZ,KAAK,EAAE,WAAW;gBAClB,IAAI,EAAE;;;;GAIX;gBACK,QAAQ,EAAE,YAAY;aACvB;YACD;gBACE,EAAE,EAAE,OAAO;gBACX,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE;;;2BAGa;gBACnB,QAAQ,EAAE,YAAY;aACvB;YACD;gBACE,EAAE,EAAE,OAAO;gBACX,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE;;;;EAIZ;gBACM,QAAQ,EAAE,YAAY;aACvB;SACF;QACD,UAAU,EAAE,QAAQ;QACpB,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,GAAG;KACZ;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAU;IACjC,IAAI,EAAE;QACJ,IAAI,EAAE;YACJ,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE;SACzE;QACD,iBAAiB,EAAE,IAAI;QACvB,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,CACN,cAAK,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,qCAEzD,CACP;QACD,MAAM,EAAE,GAAG;KACZ;CACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"code-box.stories.js","sourceRoot":"","sources":["../../../src/components/molecules/code-box.stories.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { FormEvent } from 'react';
|
|
2
|
+
export interface ConfigFormCardProps {
|
|
3
|
+
/** Current config value (JSON/code string) */
|
|
4
|
+
config: string;
|
|
5
|
+
/** Config change handler */
|
|
6
|
+
onConfigChange: (value: string) => void;
|
|
7
|
+
/** Form submit handler */
|
|
8
|
+
onSubmit: (e: FormEvent) => void;
|
|
9
|
+
/** Loading state */
|
|
10
|
+
loading?: boolean;
|
|
11
|
+
/** Error message (null if no error) */
|
|
12
|
+
error?: string | null;
|
|
13
|
+
/** Card title (default: "Configuration") */
|
|
14
|
+
title?: string;
|
|
15
|
+
/** Textarea label (default: "Configuration (JSON)") */
|
|
16
|
+
label?: string;
|
|
17
|
+
/** Submit button text (default: "Submit") */
|
|
18
|
+
submitText?: string;
|
|
19
|
+
/** Loading button text (default: "Processing...") */
|
|
20
|
+
loadingText?: string;
|
|
21
|
+
/** Number of textarea rows (default: 20) */
|
|
22
|
+
rows?: number;
|
|
23
|
+
/** Card max width */
|
|
24
|
+
maxWidth?: 'sm' | 'md' | 'lg' | 'full';
|
|
25
|
+
/** Additional CSS class */
|
|
26
|
+
className?: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* ConfigFormCard - Form for JSON/code configuration input (pure UI)
|
|
30
|
+
*
|
|
31
|
+
* Displays a textarea for entering configuration with submit button.
|
|
32
|
+
* Business logic (validation, API calls) is handled via callbacks.
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* const { config, setConfig, loading, error, handleSubmit } = useBundleForm(); // App hook
|
|
36
|
+
*
|
|
37
|
+
* <ConfigFormCard
|
|
38
|
+
* config={config}
|
|
39
|
+
* onConfigChange={setConfig}
|
|
40
|
+
* onSubmit={handleSubmit}
|
|
41
|
+
* loading={loading}
|
|
42
|
+
* error={error}
|
|
43
|
+
* title="Bundle Configuration"
|
|
44
|
+
* label="Flow Configuration (JSON)"
|
|
45
|
+
* submitText="Bundle"
|
|
46
|
+
* loadingText="Bundling..."
|
|
47
|
+
* />
|
|
48
|
+
*/
|
|
49
|
+
export declare function ConfigFormCard({ config, onConfigChange, onSubmit, loading, error, title, label, submitText, loadingText, rows, maxWidth, className, }: ConfigFormCardProps): import("react/jsx-runtime").JSX.Element;
|
|
50
|
+
//# sourceMappingURL=config-form-card.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-form-card.d.ts","sourceRoot":"","sources":["../../../src/components/molecules/config-form-card.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvC,MAAM,WAAW,mBAAmB;IAClC,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,0BAA0B;IAC1B,QAAQ,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;IACjC,oBAAoB;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;IACvC,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,cAAc,EACd,QAAQ,EACR,OAAe,EACf,KAAY,EACZ,KAAuB,EACvB,KAA8B,EAC9B,UAAqB,EACrB,WAA6B,EAC7B,IAAS,EACT,QAAe,EACf,SAAc,GACf,EAAE,mBAAmB,2CAsBrB"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { FormCard } from './form-card';
|
|
3
|
+
import { FormTextarea } from '../atoms/form-textarea';
|
|
4
|
+
import { SubmitButton } from '../atoms/submit-button';
|
|
5
|
+
import { Alert } from '../atoms/alert';
|
|
6
|
+
/**
|
|
7
|
+
* ConfigFormCard - Form for JSON/code configuration input (pure UI)
|
|
8
|
+
*
|
|
9
|
+
* Displays a textarea for entering configuration with submit button.
|
|
10
|
+
* Business logic (validation, API calls) is handled via callbacks.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* const { config, setConfig, loading, error, handleSubmit } = useBundleForm(); // App hook
|
|
14
|
+
*
|
|
15
|
+
* <ConfigFormCard
|
|
16
|
+
* config={config}
|
|
17
|
+
* onConfigChange={setConfig}
|
|
18
|
+
* onSubmit={handleSubmit}
|
|
19
|
+
* loading={loading}
|
|
20
|
+
* error={error}
|
|
21
|
+
* title="Bundle Configuration"
|
|
22
|
+
* label="Flow Configuration (JSON)"
|
|
23
|
+
* submitText="Bundle"
|
|
24
|
+
* loadingText="Bundling..."
|
|
25
|
+
* />
|
|
26
|
+
*/
|
|
27
|
+
export function ConfigFormCard({ config, onConfigChange, onSubmit, loading = false, error = null, title = 'Configuration', label = 'Configuration (JSON)', submitText = 'Submit', loadingText = 'Processing...', rows = 20, maxWidth = 'lg', className = '', }) {
|
|
28
|
+
return (_jsx(FormCard, { title: title, maxWidth: maxWidth, className: className, children: _jsxs("form", { onSubmit: onSubmit, children: [_jsx(FormTextarea, { label: label, value: config, onChange: onConfigChange, rows: rows, disabled: loading, spellCheck: false, error: !!error }), error && _jsx(Alert, { variant: "error", children: error }), _jsx(SubmitButton, { loading: loading, loadingText: loadingText, fullWidth: true, children: submitText })] }) }));
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=config-form-card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-form-card.js","sourceRoot":"","sources":["../../../src/components/molecules/config-form-card.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AA6BvC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,cAAc,CAAC,EAC7B,MAAM,EACN,cAAc,EACd,QAAQ,EACR,OAAO,GAAG,KAAK,EACf,KAAK,GAAG,IAAI,EACZ,KAAK,GAAG,eAAe,EACvB,KAAK,GAAG,sBAAsB,EAC9B,UAAU,GAAG,QAAQ,EACrB,WAAW,GAAG,eAAe,EAC7B,IAAI,GAAG,EAAE,EACT,QAAQ,GAAG,IAAI,EACf,SAAS,GAAG,EAAE,GACM;IACpB,OAAO,CACL,KAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,YAC9D,gBAAM,QAAQ,EAAE,QAAQ,aACtB,KAAC,YAAY,IACX,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,OAAO,EACjB,UAAU,EAAE,KAAK,EACjB,KAAK,EAAE,CAAC,CAAC,KAAK,GACd,EAED,KAAK,IAAI,KAAC,KAAK,IAAC,OAAO,EAAC,OAAO,YAAE,KAAK,GAAS,EAEhD,KAAC,YAAY,IAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,kBAChE,UAAU,GACE,IACV,GACE,CACZ,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react-vite';
|
|
2
|
+
import { ConfigFormCard } from './config-form-card';
|
|
3
|
+
declare const meta: Meta<typeof ConfigFormCard>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof ConfigFormCard>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
//# sourceMappingURL=config-form-card.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-form-card.stories.d.ts","sourceRoot":"","sources":["../../../src/components/molecules/config-form-card.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,cAAc,CAIrC,CAAC;AACF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,cAAc,CAAC,CAAC;AAE7C,eAAO,MAAM,OAAO,EAAE,KAYrB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ConfigFormCard } from './config-form-card';
|
|
2
|
+
const meta = {
|
|
3
|
+
title: 'Molecules/ConfigFormCard',
|
|
4
|
+
component: ConfigFormCard,
|
|
5
|
+
tags: ['autodocs'],
|
|
6
|
+
};
|
|
7
|
+
export default meta;
|
|
8
|
+
export const Default = {
|
|
9
|
+
args: {
|
|
10
|
+
config: '{\n "key": "value"\n}',
|
|
11
|
+
onConfigChange: () => { },
|
|
12
|
+
onSubmit: (e) => e.preventDefault(),
|
|
13
|
+
loading: false,
|
|
14
|
+
error: null,
|
|
15
|
+
title: 'Bundle Configuration',
|
|
16
|
+
label: 'Flow Configuration (JSON)',
|
|
17
|
+
submitText: 'Bundle',
|
|
18
|
+
loadingText: 'Bundling...',
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=config-form-card.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-form-card.stories.js","sourceRoot":"","sources":["../../../src/components/molecules/config-form-card.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,IAAI,GAAgC;IACxC,KAAK,EAAE,0BAA0B;IACjC,SAAS,EAAE,cAAc;IACzB,IAAI,EAAE,CAAC,UAAU,CAAC;CACnB,CAAC;AACF,eAAe,IAAI,CAAC;AAIpB,MAAM,CAAC,MAAM,OAAO,GAAU;IAC5B,IAAI,EAAE;QACJ,MAAM,EAAE,wBAAwB;QAChC,cAAc,EAAE,GAAG,EAAE,GAAE,CAAC;QACxB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE;QACnC,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,sBAAsB;QAC7B,KAAK,EAAE,2BAA2B;QAClC,UAAU,EAAE,QAAQ;QACpB,WAAW,EAAE,aAAa;KAC3B;CACF,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface DropdownProps {
|
|
3
|
+
/** Trigger element (button, link, etc.) */
|
|
4
|
+
trigger: React.ReactNode;
|
|
5
|
+
/** Whether dropdown is open (controlled) */
|
|
6
|
+
isOpen: boolean;
|
|
7
|
+
/** Toggle handler */
|
|
8
|
+
onToggle: () => void;
|
|
9
|
+
/** Dropdown content */
|
|
10
|
+
children: React.ReactNode;
|
|
11
|
+
/** Alignment of dropdown panel */
|
|
12
|
+
align?: 'left' | 'right';
|
|
13
|
+
/** ARIA label for accessibility */
|
|
14
|
+
ariaLabel?: string;
|
|
15
|
+
/** Additional CSS class */
|
|
16
|
+
className?: string;
|
|
17
|
+
}
|
|
18
|
+
export interface DropdownItemProps {
|
|
19
|
+
/** Item content */
|
|
20
|
+
children: React.ReactNode;
|
|
21
|
+
/** Click handler */
|
|
22
|
+
onClick?: () => void;
|
|
23
|
+
/** Disabled state */
|
|
24
|
+
disabled?: boolean;
|
|
25
|
+
/** Visual variant */
|
|
26
|
+
variant?: 'default' | 'danger';
|
|
27
|
+
/** Additional CSS class */
|
|
28
|
+
className?: string;
|
|
29
|
+
}
|
|
30
|
+
export interface DropdownDividerProps {
|
|
31
|
+
/** Additional CSS class */
|
|
32
|
+
className?: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Dropdown - Generic dropdown container (UI only)
|
|
36
|
+
*
|
|
37
|
+
* Pure UI component for dropdown menus.
|
|
38
|
+
* Click-outside and keyboard handling should be implemented in the parent
|
|
39
|
+
* via hooks like useDropdown.
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* <Dropdown
|
|
43
|
+
* trigger={<button>Menu</button>}
|
|
44
|
+
* isOpen={isOpen}
|
|
45
|
+
* onToggle={toggle}
|
|
46
|
+
* align="right"
|
|
47
|
+
* >
|
|
48
|
+
* <DropdownItem onClick={handleAction}>Action</DropdownItem>
|
|
49
|
+
* <DropdownDivider />
|
|
50
|
+
* <DropdownItem onClick={handleLogout} variant="danger">Logout</DropdownItem>
|
|
51
|
+
* </Dropdown>
|
|
52
|
+
*/
|
|
53
|
+
export declare function Dropdown({ trigger, isOpen, onToggle, children, align, ariaLabel, className, }: DropdownProps): import("react/jsx-runtime").JSX.Element;
|
|
54
|
+
/**
|
|
55
|
+
* DropdownItem - Menu item within a dropdown
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* <DropdownItem onClick={handleClick}>Action</DropdownItem>
|
|
59
|
+
*/
|
|
60
|
+
export declare function DropdownItem({ children, onClick, disabled, variant, className, }: DropdownItemProps): import("react/jsx-runtime").JSX.Element;
|
|
61
|
+
/**
|
|
62
|
+
* DropdownDivider - Visual separator between menu items
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* <DropdownDivider />
|
|
66
|
+
*/
|
|
67
|
+
export declare function DropdownDivider({ className }: DropdownDividerProps): import("react/jsx-runtime").JSX.Element;
|
|
68
|
+
//# sourceMappingURL=dropdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dropdown.d.ts","sourceRoot":"","sources":["../../../src/components/molecules/dropdown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,aAAa;IAC5B,2CAA2C;IAC3C,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,4CAA4C;IAC5C,MAAM,EAAE,OAAO,CAAC;IAChB,qBAAqB;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,uBAAuB;IACvB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,mBAAmB;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,oBAAoB;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qBAAqB;IACrB,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC/B,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,QAAQ,CAAC,EACvB,OAAO,EACP,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,KAAc,EACd,SAAS,EACT,SAAc,GACf,EAAE,aAAa,2CA8Bf;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,OAAO,EACP,QAAgB,EAChB,OAAmB,EACnB,SAAc,GACf,EAAE,iBAAiB,2CAYnB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,EAAE,SAAc,EAAE,EAAE,oBAAoB,2CAOvE"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Dropdown - Generic dropdown container (UI only)
|
|
4
|
+
*
|
|
5
|
+
* Pure UI component for dropdown menus.
|
|
6
|
+
* Click-outside and keyboard handling should be implemented in the parent
|
|
7
|
+
* via hooks like useDropdown.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* <Dropdown
|
|
11
|
+
* trigger={<button>Menu</button>}
|
|
12
|
+
* isOpen={isOpen}
|
|
13
|
+
* onToggle={toggle}
|
|
14
|
+
* align="right"
|
|
15
|
+
* >
|
|
16
|
+
* <DropdownItem onClick={handleAction}>Action</DropdownItem>
|
|
17
|
+
* <DropdownDivider />
|
|
18
|
+
* <DropdownItem onClick={handleLogout} variant="danger">Logout</DropdownItem>
|
|
19
|
+
* </Dropdown>
|
|
20
|
+
*/
|
|
21
|
+
export function Dropdown({ trigger, isOpen, onToggle, children, align = 'left', ariaLabel, className = '', }) {
|
|
22
|
+
return (_jsxs("div", { className: `elb-dropdown ${className}`.trim(), children: [_jsx("div", { className: "elb-dropdown__trigger", onClick: onToggle, role: "button", tabIndex: 0, "aria-haspopup": "menu", "aria-expanded": isOpen, "aria-label": ariaLabel, onKeyDown: (e) => {
|
|
23
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
24
|
+
e.preventDefault();
|
|
25
|
+
onToggle();
|
|
26
|
+
}
|
|
27
|
+
}, children: trigger }), isOpen && (_jsx("div", { className: `elb-dropdown__panel elb-dropdown__panel--${align}`, role: "menu", children: children }))] }));
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* DropdownItem - Menu item within a dropdown
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* <DropdownItem onClick={handleClick}>Action</DropdownItem>
|
|
34
|
+
*/
|
|
35
|
+
export function DropdownItem({ children, onClick, disabled = false, variant = 'default', className = '', }) {
|
|
36
|
+
return (_jsx("button", { type: "button", role: "menuitem", className: `elb-dropdown__item elb-dropdown__item--${variant} ${disabled ? 'elb-dropdown__item--disabled' : ''} ${className}`.trim(), onClick: onClick, disabled: disabled, children: children }));
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* DropdownDivider - Visual separator between menu items
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* <DropdownDivider />
|
|
43
|
+
*/
|
|
44
|
+
export function DropdownDivider({ className = '' }) {
|
|
45
|
+
return (_jsx("div", { className: `elb-dropdown__divider ${className}`.trim(), role: "separator" }));
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=dropdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dropdown.js","sourceRoot":"","sources":["../../../src/components/molecules/dropdown.tsx"],"names":[],"mappings":";AAqCA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,QAAQ,CAAC,EACvB,OAAO,EACP,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,KAAK,GAAG,MAAM,EACd,SAAS,EACT,SAAS,GAAG,EAAE,GACA;IACd,OAAO,CACL,eAAK,SAAS,EAAE,gBAAgB,SAAS,EAAE,CAAC,IAAI,EAAE,aAChD,cACE,SAAS,EAAC,uBAAuB,EACjC,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,CAAC,mBACG,MAAM,mBACL,MAAM,gBACT,SAAS,EACrB,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;oBACf,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;wBACvC,CAAC,CAAC,cAAc,EAAE,CAAC;wBACnB,QAAQ,EAAE,CAAC;oBACb,CAAC;gBACH,CAAC,YAEA,OAAO,GACJ,EACL,MAAM,IAAI,CACT,cACE,SAAS,EAAE,4CAA4C,KAAK,EAAE,EAC9D,IAAI,EAAC,MAAM,YAEV,QAAQ,GACL,CACP,IACG,CACP,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,EAC3B,QAAQ,EACR,OAAO,EACP,QAAQ,GAAG,KAAK,EAChB,OAAO,GAAG,SAAS,EACnB,SAAS,GAAG,EAAE,GACI;IAClB,OAAO,CACL,iBACE,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,UAAU,EACf,SAAS,EAAE,0CAA0C,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,EAAE,IAAI,SAAS,EAAE,CAAC,IAAI,EAAE,EACpI,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,YAEjB,QAAQ,GACF,CACV,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,EAAE,SAAS,GAAG,EAAE,EAAwB;IACtE,OAAO,CACL,cACE,SAAS,EAAE,yBAAyB,SAAS,EAAE,CAAC,IAAI,EAAE,EACtD,IAAI,EAAC,WAAW,GAChB,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react-vite';
|
|
2
|
+
import { Dropdown } from './dropdown';
|
|
3
|
+
declare const meta: Meta<typeof Dropdown>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof Dropdown>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
//# sourceMappingURL=dropdown.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dropdown.stories.d.ts","sourceRoot":"","sources":["../../../src/components/molecules/dropdown.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAiC,MAAM,YAAY,CAAC;AAErE,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,QAAQ,CAI/B,CAAC;AACF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,QAAQ,CAAC,CAAC;AAEvC,eAAO,MAAM,OAAO,EAAE,KAiBrB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Dropdown, DropdownItem, DropdownDivider } from './dropdown';
|
|
3
|
+
const meta = {
|
|
4
|
+
title: 'Molecules/Dropdown',
|
|
5
|
+
component: Dropdown,
|
|
6
|
+
tags: ['autodocs'],
|
|
7
|
+
};
|
|
8
|
+
export default meta;
|
|
9
|
+
export const Default = {
|
|
10
|
+
args: {
|
|
11
|
+
trigger: _jsx("button", { children: "Open Menu" }),
|
|
12
|
+
isOpen: true,
|
|
13
|
+
onToggle: () => { },
|
|
14
|
+
align: 'left',
|
|
15
|
+
children: (_jsxs(_Fragment, { children: [_jsx(DropdownItem, { onClick: () => { }, children: "Action 1" }), _jsx(DropdownItem, { onClick: () => { }, children: "Action 2" }), _jsx(DropdownDivider, {}), _jsx(DropdownItem, { onClick: () => { }, variant: "danger", children: "Delete" })] })),
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=dropdown.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dropdown.stories.js","sourceRoot":"","sources":["../../../src/components/molecules/dropdown.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAErE,MAAM,IAAI,GAA0B;IAClC,KAAK,EAAE,oBAAoB;IAC3B,SAAS,EAAE,QAAQ;IACnB,IAAI,EAAE,CAAC,UAAU,CAAC;CACnB,CAAC;AACF,eAAe,IAAI,CAAC;AAIpB,MAAM,CAAC,MAAM,OAAO,GAAU;IAC5B,IAAI,EAAE;QACJ,OAAO,EAAE,yCAA0B;QACnC,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;QAClB,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,CACR,8BACE,KAAC,YAAY,IAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,yBAAyB,EACxD,KAAC,YAAY,IAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,yBAAyB,EACxD,KAAC,eAAe,KAAG,EACnB,KAAC,YAAY,IAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,OAAO,EAAC,QAAQ,uBAElC,IACd,CACJ;KACF;CACF,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export interface DeploymentInfo {
|
|
2
|
+
id: string;
|
|
3
|
+
status: 'bundling' | 'deploying' | 'active' | 'published' | 'failed';
|
|
4
|
+
type: 'web' | 'server';
|
|
5
|
+
containerUrl?: string | null;
|
|
6
|
+
publicUrl?: string | null;
|
|
7
|
+
errorMessage?: string | null;
|
|
8
|
+
createdAt: string;
|
|
9
|
+
}
|
|
10
|
+
export interface FlowDeployPanelProps {
|
|
11
|
+
flowName: string;
|
|
12
|
+
platform?: 'web' | 'server';
|
|
13
|
+
deployment: DeploymentInfo | null;
|
|
14
|
+
deploying?: boolean;
|
|
15
|
+
error?: string | null;
|
|
16
|
+
hasUnsavedChanges?: boolean;
|
|
17
|
+
multipleFlows?: boolean;
|
|
18
|
+
onDeploy: () => void;
|
|
19
|
+
onDeleteDeployment: () => void;
|
|
20
|
+
onDownloadFlow: () => void;
|
|
21
|
+
onBundle: () => void;
|
|
22
|
+
className?: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* FlowDeployPanel - Deployment controls for a named flow
|
|
26
|
+
*
|
|
27
|
+
* Replaces DeploySection. Shows deployment status, endpoint info,
|
|
28
|
+
* and a SplitButton with deploy/download/bundle actions.
|
|
29
|
+
*/
|
|
30
|
+
export declare function FlowDeployPanel({ flowName, platform, deployment, deploying, error, hasUnsavedChanges, multipleFlows, onDeploy, onDeleteDeployment, onDownloadFlow, onBundle, className, }: FlowDeployPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
//# sourceMappingURL=flow-deploy-panel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flow-deploy-panel.d.ts","sourceRoot":"","sources":["../../../src/components/molecules/flow-deploy-panel.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAC;IACrE,IAAI,EAAE,KAAK,GAAG,QAAQ,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC5B,UAAU,EAAE,cAAc,GAAG,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAmDD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,SAAiB,EACjB,KAAK,EACL,iBAAyB,EACzB,aAAqB,EACrB,QAAQ,EACR,kBAAkB,EAClB,cAAc,EACd,QAAQ,EACR,SAAc,GACf,EAAE,oBAAoB,2CAuGtB"}
|