@sudobility/workflow-components 1.0.8
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/dist/blockquote.d.ts +35 -0
- package/dist/blockquote.d.ts.map +1 -0
- package/dist/checklist-progress.d.ts +33 -0
- package/dist/checklist-progress.d.ts.map +1 -0
- package/dist/form-builder.d.ts +33 -0
- package/dist/form-builder.d.ts.map +1 -0
- package/dist/form-template.d.ts +33 -0
- package/dist/form-template.d.ts.map +1 -0
- package/dist/form-validator.d.ts +33 -0
- package/dist/form-validator.d.ts.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.esm.js +654 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/index.umd.js +7 -0
- package/dist/index.umd.js.map +1 -0
- package/dist/network-status.d.ts +33 -0
- package/dist/network-status.d.ts.map +1 -0
- package/dist/process-diagram.d.ts +33 -0
- package/dist/process-diagram.d.ts.map +1 -0
- package/dist/quote-generator.d.ts +18 -0
- package/dist/quote-generator.d.ts.map +1 -0
- package/dist/safety-checklist.d.ts +18 -0
- package/dist/safety-checklist.d.ts.map +1 -0
- package/dist/status-badge.d.ts +17 -0
- package/dist/status-badge.d.ts.map +1 -0
- package/dist/sticky-note.d.ts +33 -0
- package/dist/sticky-note.d.ts.map +1 -0
- package/dist/system-status.d.ts +33 -0
- package/dist/system-status.d.ts.map +1 -0
- package/package.json +53 -0
- package/src/blockquote.tsx +89 -0
- package/src/checklist-progress.tsx +60 -0
- package/src/form-builder.tsx +60 -0
- package/src/form-template.tsx +60 -0
- package/src/form-validator.tsx +60 -0
- package/src/index.ts +20 -0
- package/src/network-status.tsx +60 -0
- package/src/process-diagram.tsx +60 -0
- package/src/quote-generator.tsx +41 -0
- package/src/safety-checklist.tsx +41 -0
- package/src/status-badge.tsx +140 -0
- package/src/sticky-note.tsx +60 -0
- package/src/system-status.tsx +60 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UnetworkUstatus Component
|
|
3
|
+
*
|
|
4
|
+
* A reusable UnetworkUstatus component with full dark mode support.
|
|
5
|
+
* Optimized for accessibility and AI-assisted development.
|
|
6
|
+
*
|
|
7
|
+
* @component
|
|
8
|
+
* @example
|
|
9
|
+
* ```tsx
|
|
10
|
+
* <UnetworkUstatus className="custom-class" />
|
|
11
|
+
* ```
|
|
12
|
+
*
|
|
13
|
+
* @remarks
|
|
14
|
+
* This component supports:
|
|
15
|
+
* - Light and dark themes automatically
|
|
16
|
+
* - Responsive design
|
|
17
|
+
* - Accessibility features
|
|
18
|
+
* - TypeScript type safety
|
|
19
|
+
*
|
|
20
|
+
* @see {@link https://docs.example.com/components/network-status}
|
|
21
|
+
*/
|
|
22
|
+
export interface UnetworkUstatusProps {
|
|
23
|
+
/** Additional CSS classes */
|
|
24
|
+
className?: string;
|
|
25
|
+
/** Component children */
|
|
26
|
+
children?: React.ReactNode;
|
|
27
|
+
/** Disabled state */
|
|
28
|
+
disabled?: boolean;
|
|
29
|
+
/** Callback when component is interacted with */
|
|
30
|
+
onClick?: () => void;
|
|
31
|
+
}
|
|
32
|
+
export declare const UnetworkUstatus: ({ className, children, disabled, onClick, }: UnetworkUstatusProps) => import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
//# sourceMappingURL=network-status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network-status.d.ts","sourceRoot":"","sources":["../src/network-status.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,WAAW,oBAAoB;IACnC,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,eAAe,GAAI,6CAK7B,oBAAoB,4CAmBtB,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UprocessUdiagram Component
|
|
3
|
+
*
|
|
4
|
+
* A reusable UprocessUdiagram component with full dark mode support.
|
|
5
|
+
* Optimized for accessibility and AI-assisted development.
|
|
6
|
+
*
|
|
7
|
+
* @component
|
|
8
|
+
* @example
|
|
9
|
+
* ```tsx
|
|
10
|
+
* <UprocessUdiagram className="custom-class" />
|
|
11
|
+
* ```
|
|
12
|
+
*
|
|
13
|
+
* @remarks
|
|
14
|
+
* This component supports:
|
|
15
|
+
* - Light and dark themes automatically
|
|
16
|
+
* - Responsive design
|
|
17
|
+
* - Accessibility features
|
|
18
|
+
* - TypeScript type safety
|
|
19
|
+
*
|
|
20
|
+
* @see {@link https://docs.example.com/components/process-diagram}
|
|
21
|
+
*/
|
|
22
|
+
export interface UprocessUdiagramProps {
|
|
23
|
+
/** Additional CSS classes */
|
|
24
|
+
className?: string;
|
|
25
|
+
/** Component children */
|
|
26
|
+
children?: React.ReactNode;
|
|
27
|
+
/** Disabled state */
|
|
28
|
+
disabled?: boolean;
|
|
29
|
+
/** Callback when component is interacted with */
|
|
30
|
+
onClick?: () => void;
|
|
31
|
+
}
|
|
32
|
+
export declare const UprocessUdiagram: ({ className, children, disabled, onClick, }: UprocessUdiagramProps) => import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
//# sourceMappingURL=process-diagram.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-diagram.d.ts","sourceRoot":"","sources":["../src/process-diagram.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,WAAW,qBAAqB;IACpC,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,gBAAgB,GAAI,6CAK9B,qBAAqB,4CAmBvB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* QuoteGenerator Component
|
|
3
|
+
*
|
|
4
|
+
* Insurance component with full dark mode support.
|
|
5
|
+
*
|
|
6
|
+
* @component
|
|
7
|
+
* @example
|
|
8
|
+
* ```tsx
|
|
9
|
+
* <QuoteGenerator className="custom-class" />
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
export interface QuoteGeneratorProps {
|
|
13
|
+
className?: string;
|
|
14
|
+
children?: React.ReactNode;
|
|
15
|
+
disabled?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export declare const QuoteGenerator: ({ className, children, disabled, }: QuoteGeneratorProps) => import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
//# sourceMappingURL=quote-generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quote-generator.d.ts","sourceRoot":"","sources":["../src/quote-generator.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,cAAc,GAAI,oCAI5B,mBAAmB,4CAiBrB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SafetyChecklist Component
|
|
3
|
+
*
|
|
4
|
+
* Construction component with full dark mode support.
|
|
5
|
+
*
|
|
6
|
+
* @component
|
|
7
|
+
* @example
|
|
8
|
+
* ```tsx
|
|
9
|
+
* <SafetyChecklist className="custom-class" />
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
export interface SafetyChecklistProps {
|
|
13
|
+
className?: string;
|
|
14
|
+
children?: React.ReactNode;
|
|
15
|
+
disabled?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export declare const SafetyChecklist: ({ className, children, disabled, }: SafetyChecklistProps) => import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
//# sourceMappingURL=safety-checklist.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safety-checklist.d.ts","sourceRoot":"","sources":["../src/safety-checklist.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,eAAe,GAAI,oCAI7B,oBAAoB,4CAiBtB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export type StatusType = 'verified' | 'connected' | 'disconnected' | 'pending' | 'error' | 'success' | 'warning';
|
|
3
|
+
export type ChainType = 'evm' | 'solana' | 'unknown';
|
|
4
|
+
interface StatusBadgeProps {
|
|
5
|
+
status: StatusType;
|
|
6
|
+
label?: string;
|
|
7
|
+
showDot?: boolean;
|
|
8
|
+
size?: 'sm' | 'md' | 'lg';
|
|
9
|
+
}
|
|
10
|
+
interface ChainBadgeProps {
|
|
11
|
+
chainType: ChainType;
|
|
12
|
+
size?: 'sm' | 'md' | 'lg';
|
|
13
|
+
}
|
|
14
|
+
export declare const StatusBadge: React.FC<StatusBadgeProps>;
|
|
15
|
+
export declare const ChainBadge: React.FC<ChainBadgeProps>;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=status-badge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status-badge.d.ts","sourceRoot":"","sources":["../src/status-badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,MAAM,UAAU,GAClB,UAAU,GACV,WAAW,GACX,cAAc,GACd,SAAS,GACT,OAAO,GACP,SAAS,GACT,SAAS,CAAC;AAGd,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;AAErD,UAAU,gBAAgB;IACxB,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;CAC3B;AAED,UAAU,eAAe;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;CAC3B;AAiCD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA0DlD,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAqBhD,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UstickyUnote Component
|
|
3
|
+
*
|
|
4
|
+
* A reusable UstickyUnote component with full dark mode support.
|
|
5
|
+
* Optimized for accessibility and AI-assisted development.
|
|
6
|
+
*
|
|
7
|
+
* @component
|
|
8
|
+
* @example
|
|
9
|
+
* ```tsx
|
|
10
|
+
* <UstickyUnote className="custom-class" />
|
|
11
|
+
* ```
|
|
12
|
+
*
|
|
13
|
+
* @remarks
|
|
14
|
+
* This component supports:
|
|
15
|
+
* - Light and dark themes automatically
|
|
16
|
+
* - Responsive design
|
|
17
|
+
* - Accessibility features
|
|
18
|
+
* - TypeScript type safety
|
|
19
|
+
*
|
|
20
|
+
* @see {@link https://docs.example.com/components/sticky-note}
|
|
21
|
+
*/
|
|
22
|
+
export interface UstickyUnoteProps {
|
|
23
|
+
/** Additional CSS classes */
|
|
24
|
+
className?: string;
|
|
25
|
+
/** Component children */
|
|
26
|
+
children?: React.ReactNode;
|
|
27
|
+
/** Disabled state */
|
|
28
|
+
disabled?: boolean;
|
|
29
|
+
/** Callback when component is interacted with */
|
|
30
|
+
onClick?: () => void;
|
|
31
|
+
}
|
|
32
|
+
export declare const UstickyUnote: ({ className, children, disabled, onClick, }: UstickyUnoteProps) => import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
//# sourceMappingURL=sticky-note.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sticky-note.d.ts","sourceRoot":"","sources":["../src/sticky-note.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,WAAW,iBAAiB;IAChC,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,YAAY,GAAI,6CAK1B,iBAAiB,4CAmBnB,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UsystemUstatus Component
|
|
3
|
+
*
|
|
4
|
+
* A reusable UsystemUstatus component with full dark mode support.
|
|
5
|
+
* Optimized for accessibility and AI-assisted development.
|
|
6
|
+
*
|
|
7
|
+
* @component
|
|
8
|
+
* @example
|
|
9
|
+
* ```tsx
|
|
10
|
+
* <UsystemUstatus className="custom-class" />
|
|
11
|
+
* ```
|
|
12
|
+
*
|
|
13
|
+
* @remarks
|
|
14
|
+
* This component supports:
|
|
15
|
+
* - Light and dark themes automatically
|
|
16
|
+
* - Responsive design
|
|
17
|
+
* - Accessibility features
|
|
18
|
+
* - TypeScript type safety
|
|
19
|
+
*
|
|
20
|
+
* @see {@link https://docs.example.com/components/system-status}
|
|
21
|
+
*/
|
|
22
|
+
export interface UsystemUstatusProps {
|
|
23
|
+
/** Additional CSS classes */
|
|
24
|
+
className?: string;
|
|
25
|
+
/** Component children */
|
|
26
|
+
children?: React.ReactNode;
|
|
27
|
+
/** Disabled state */
|
|
28
|
+
disabled?: boolean;
|
|
29
|
+
/** Callback when component is interacted with */
|
|
30
|
+
onClick?: () => void;
|
|
31
|
+
}
|
|
32
|
+
export declare const UsystemUstatus: ({ className, children, disabled, onClick, }: UsystemUstatusProps) => import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
//# sourceMappingURL=system-status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system-status.d.ts","sourceRoot":"","sources":["../src/system-status.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,WAAW,mBAAmB;IAClC,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,cAAc,GAAI,6CAK5B,mBAAmB,4CAmBrB,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@sudobility/workflow-components",
|
|
3
|
+
"version": "1.0.8",
|
|
4
|
+
"description": "Business workflow components for checklists, status tracking, and process management",
|
|
5
|
+
"main": "./dist/index.umd.js",
|
|
6
|
+
"module": "./dist/index.esm.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.esm.js",
|
|
12
|
+
"require": "./dist/index.umd.js"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"files": [
|
|
16
|
+
"dist",
|
|
17
|
+
"src"
|
|
18
|
+
],
|
|
19
|
+
"scripts": {
|
|
20
|
+
"build": "tsc && vite build",
|
|
21
|
+
"dev": "vite build --watch",
|
|
22
|
+
"type-check": "tsc --noEmit"
|
|
23
|
+
},
|
|
24
|
+
"peerDependencies": {
|
|
25
|
+
"@sudobility/components": "^3.0.0",
|
|
26
|
+
"react": "^18.0.0 || ^19.0.0",
|
|
27
|
+
"react-dom": "^18.0.0 || ^19.0.0"
|
|
28
|
+
},
|
|
29
|
+
"devDependencies": {
|
|
30
|
+
"@sudobility/components": "^3.0.0",
|
|
31
|
+
"@sudobility/design": "^1.1.10",
|
|
32
|
+
"@types/node": "^24.7.1",
|
|
33
|
+
"@types/react": "^19.2.2",
|
|
34
|
+
"@types/react-dom": "^19.2.2",
|
|
35
|
+
"@vitejs/plugin-react": "^5.1.0",
|
|
36
|
+
"class-variance-authority": "^0.7.1",
|
|
37
|
+
"clsx": "^2.1.1",
|
|
38
|
+
"react": "^19.2.0",
|
|
39
|
+
"react-dom": "^19.2.0",
|
|
40
|
+
"tailwind-merge": "^3.3.1",
|
|
41
|
+
"typescript": "^5.9.3",
|
|
42
|
+
"vite": "^7.1.12",
|
|
43
|
+
"vite-plugin-dts": "^4.5.4"
|
|
44
|
+
},
|
|
45
|
+
"keywords": [
|
|
46
|
+
"react",
|
|
47
|
+
"components",
|
|
48
|
+
"ui",
|
|
49
|
+
"typescript"
|
|
50
|
+
],
|
|
51
|
+
"author": "",
|
|
52
|
+
"license": "MIT"
|
|
53
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { cn } from '@sudobility/components';
|
|
3
|
+
|
|
4
|
+
export interface BlockquoteProps {
|
|
5
|
+
/** Quote content */
|
|
6
|
+
children: React.ReactNode;
|
|
7
|
+
/** Citation/author */
|
|
8
|
+
cite?: string;
|
|
9
|
+
/** Variant style */
|
|
10
|
+
variant?: 'default' | 'bordered' | 'accent';
|
|
11
|
+
/** Size variant */
|
|
12
|
+
size?: 'sm' | 'md' | 'lg';
|
|
13
|
+
/** Additional className */
|
|
14
|
+
className?: string;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Blockquote Component
|
|
19
|
+
*
|
|
20
|
+
* Displays quoted text with optional citation and various styling options.
|
|
21
|
+
* Uses semantic HTML for proper document structure.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```tsx
|
|
25
|
+
* <Blockquote cite="John Doe">
|
|
26
|
+
* This is a great quote about something important.
|
|
27
|
+
* </Blockquote>
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```tsx
|
|
32
|
+
* <Blockquote variant="accent" size="lg">
|
|
33
|
+
* Innovation distinguishes between a leader and a follower.
|
|
34
|
+
* </Blockquote>
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export const Blockquote: React.FC<BlockquoteProps> = ({
|
|
38
|
+
children,
|
|
39
|
+
cite,
|
|
40
|
+
variant = 'default',
|
|
41
|
+
size = 'md',
|
|
42
|
+
className,
|
|
43
|
+
}) => {
|
|
44
|
+
// Size configurations
|
|
45
|
+
const sizeClasses = {
|
|
46
|
+
sm: 'text-sm p-3',
|
|
47
|
+
md: 'text-base p-4',
|
|
48
|
+
lg: 'text-lg p-6',
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
const citeSize = {
|
|
52
|
+
sm: 'text-xs',
|
|
53
|
+
md: 'text-sm',
|
|
54
|
+
lg: 'text-base',
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
// Variant configurations
|
|
58
|
+
const variantClasses = {
|
|
59
|
+
default:
|
|
60
|
+
'border-l-4 border-gray-300 dark:border-gray-600 bg-gray-50 dark:bg-gray-800/50',
|
|
61
|
+
bordered:
|
|
62
|
+
'border border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-800',
|
|
63
|
+
accent:
|
|
64
|
+
'border-l-4 border-blue-500 dark:border-blue-400 bg-blue-50 dark:bg-blue-900/20',
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
return (
|
|
68
|
+
<blockquote
|
|
69
|
+
className={cn(
|
|
70
|
+
'rounded-r-lg',
|
|
71
|
+
sizeClasses[size],
|
|
72
|
+
variantClasses[variant],
|
|
73
|
+
className
|
|
74
|
+
)}
|
|
75
|
+
>
|
|
76
|
+
<p className='text-gray-800 dark:text-gray-200 italic'>{children}</p>
|
|
77
|
+
{cite && (
|
|
78
|
+
<footer
|
|
79
|
+
className={cn(
|
|
80
|
+
'mt-2 text-gray-600 dark:text-gray-400',
|
|
81
|
+
citeSize[size]
|
|
82
|
+
)}
|
|
83
|
+
>
|
|
84
|
+
— <cite className='not-italic font-medium'>{cite}</cite>
|
|
85
|
+
</footer>
|
|
86
|
+
)}
|
|
87
|
+
</blockquote>
|
|
88
|
+
);
|
|
89
|
+
};
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { cn } from '@sudobility/components';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* UchecklistUprogress Component
|
|
5
|
+
*
|
|
6
|
+
* A reusable UchecklistUprogress component with full dark mode support.
|
|
7
|
+
* Optimized for accessibility and AI-assisted development.
|
|
8
|
+
*
|
|
9
|
+
* @component
|
|
10
|
+
* @example
|
|
11
|
+
* ```tsx
|
|
12
|
+
* <UchecklistUprogress className="custom-class" />
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* @remarks
|
|
16
|
+
* This component supports:
|
|
17
|
+
* - Light and dark themes automatically
|
|
18
|
+
* - Responsive design
|
|
19
|
+
* - Accessibility features
|
|
20
|
+
* - TypeScript type safety
|
|
21
|
+
*
|
|
22
|
+
* @see {@link https://docs.example.com/components/checklist-progress}
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
export interface UchecklistUprogressProps {
|
|
26
|
+
/** Additional CSS classes */
|
|
27
|
+
className?: string;
|
|
28
|
+
/** Component children */
|
|
29
|
+
children?: React.ReactNode;
|
|
30
|
+
/** Disabled state */
|
|
31
|
+
disabled?: boolean;
|
|
32
|
+
/** Callback when component is interacted with */
|
|
33
|
+
onClick?: () => void;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export const UchecklistUprogress = ({
|
|
37
|
+
className,
|
|
38
|
+
children,
|
|
39
|
+
disabled = false,
|
|
40
|
+
onClick,
|
|
41
|
+
}: UchecklistUprogressProps) => {
|
|
42
|
+
return (
|
|
43
|
+
<div
|
|
44
|
+
className={cn(
|
|
45
|
+
'p-4 rounded-lg border transition-colors',
|
|
46
|
+
'bg-white dark:bg-gray-900',
|
|
47
|
+
'border-gray-200 dark:border-gray-700',
|
|
48
|
+
'text-gray-900 dark:text-white',
|
|
49
|
+
disabled && 'opacity-50 cursor-not-allowed',
|
|
50
|
+
'hover:bg-gray-50 dark:hover:bg-gray-800',
|
|
51
|
+
className
|
|
52
|
+
)}
|
|
53
|
+
onClick={disabled ? undefined : onClick}
|
|
54
|
+
role='region'
|
|
55
|
+
aria-label='UchecklistUprogress'
|
|
56
|
+
>
|
|
57
|
+
{children || 'UchecklistUprogress Component'}
|
|
58
|
+
</div>
|
|
59
|
+
);
|
|
60
|
+
};
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { cn } from '@sudobility/components';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* UformUbuilder Component
|
|
5
|
+
*
|
|
6
|
+
* A reusable UformUbuilder component with full dark mode support.
|
|
7
|
+
* Optimized for accessibility and AI-assisted development.
|
|
8
|
+
*
|
|
9
|
+
* @component
|
|
10
|
+
* @example
|
|
11
|
+
* ```tsx
|
|
12
|
+
* <UformUbuilder className="custom-class" />
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* @remarks
|
|
16
|
+
* This component supports:
|
|
17
|
+
* - Light and dark themes automatically
|
|
18
|
+
* - Responsive design
|
|
19
|
+
* - Accessibility features
|
|
20
|
+
* - TypeScript type safety
|
|
21
|
+
*
|
|
22
|
+
* @see {@link https://docs.example.com/components/form-builder}
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
export interface UformUbuilderProps {
|
|
26
|
+
/** Additional CSS classes */
|
|
27
|
+
className?: string;
|
|
28
|
+
/** Component children */
|
|
29
|
+
children?: React.ReactNode;
|
|
30
|
+
/** Disabled state */
|
|
31
|
+
disabled?: boolean;
|
|
32
|
+
/** Callback when component is interacted with */
|
|
33
|
+
onClick?: () => void;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export const UformUbuilder = ({
|
|
37
|
+
className,
|
|
38
|
+
children,
|
|
39
|
+
disabled = false,
|
|
40
|
+
onClick,
|
|
41
|
+
}: UformUbuilderProps) => {
|
|
42
|
+
return (
|
|
43
|
+
<div
|
|
44
|
+
className={cn(
|
|
45
|
+
'p-4 rounded-lg border transition-colors',
|
|
46
|
+
'bg-white dark:bg-gray-900',
|
|
47
|
+
'border-gray-200 dark:border-gray-700',
|
|
48
|
+
'text-gray-900 dark:text-white',
|
|
49
|
+
disabled && 'opacity-50 cursor-not-allowed',
|
|
50
|
+
'hover:bg-gray-50 dark:hover:bg-gray-800',
|
|
51
|
+
className
|
|
52
|
+
)}
|
|
53
|
+
onClick={disabled ? undefined : onClick}
|
|
54
|
+
role='region'
|
|
55
|
+
aria-label='UformUbuilder'
|
|
56
|
+
>
|
|
57
|
+
{children || 'UformUbuilder Component'}
|
|
58
|
+
</div>
|
|
59
|
+
);
|
|
60
|
+
};
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { cn } from '@sudobility/components';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* UformUtemplate Component
|
|
5
|
+
*
|
|
6
|
+
* A reusable UformUtemplate component with full dark mode support.
|
|
7
|
+
* Optimized for accessibility and AI-assisted development.
|
|
8
|
+
*
|
|
9
|
+
* @component
|
|
10
|
+
* @example
|
|
11
|
+
* ```tsx
|
|
12
|
+
* <UformUtemplate className="custom-class" />
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* @remarks
|
|
16
|
+
* This component supports:
|
|
17
|
+
* - Light and dark themes automatically
|
|
18
|
+
* - Responsive design
|
|
19
|
+
* - Accessibility features
|
|
20
|
+
* - TypeScript type safety
|
|
21
|
+
*
|
|
22
|
+
* @see {@link https://docs.example.com/components/form-template}
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
export interface UformUtemplateProps {
|
|
26
|
+
/** Additional CSS classes */
|
|
27
|
+
className?: string;
|
|
28
|
+
/** Component children */
|
|
29
|
+
children?: React.ReactNode;
|
|
30
|
+
/** Disabled state */
|
|
31
|
+
disabled?: boolean;
|
|
32
|
+
/** Callback when component is interacted with */
|
|
33
|
+
onClick?: () => void;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export const UformUtemplate = ({
|
|
37
|
+
className,
|
|
38
|
+
children,
|
|
39
|
+
disabled = false,
|
|
40
|
+
onClick,
|
|
41
|
+
}: UformUtemplateProps) => {
|
|
42
|
+
return (
|
|
43
|
+
<div
|
|
44
|
+
className={cn(
|
|
45
|
+
'p-4 rounded-lg border transition-colors',
|
|
46
|
+
'bg-white dark:bg-gray-900',
|
|
47
|
+
'border-gray-200 dark:border-gray-700',
|
|
48
|
+
'text-gray-900 dark:text-white',
|
|
49
|
+
disabled && 'opacity-50 cursor-not-allowed',
|
|
50
|
+
'hover:bg-gray-50 dark:hover:bg-gray-800',
|
|
51
|
+
className
|
|
52
|
+
)}
|
|
53
|
+
onClick={disabled ? undefined : onClick}
|
|
54
|
+
role='region'
|
|
55
|
+
aria-label='UformUtemplate'
|
|
56
|
+
>
|
|
57
|
+
{children || 'UformUtemplate Component'}
|
|
58
|
+
</div>
|
|
59
|
+
);
|
|
60
|
+
};
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { cn } from '@sudobility/components';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* UformUvalidator Component
|
|
5
|
+
*
|
|
6
|
+
* A reusable UformUvalidator component with full dark mode support.
|
|
7
|
+
* Optimized for accessibility and AI-assisted development.
|
|
8
|
+
*
|
|
9
|
+
* @component
|
|
10
|
+
* @example
|
|
11
|
+
* ```tsx
|
|
12
|
+
* <UformUvalidator className="custom-class" />
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* @remarks
|
|
16
|
+
* This component supports:
|
|
17
|
+
* - Light and dark themes automatically
|
|
18
|
+
* - Responsive design
|
|
19
|
+
* - Accessibility features
|
|
20
|
+
* - TypeScript type safety
|
|
21
|
+
*
|
|
22
|
+
* @see {@link https://docs.example.com/components/form-validator}
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
export interface UformUvalidatorProps {
|
|
26
|
+
/** Additional CSS classes */
|
|
27
|
+
className?: string;
|
|
28
|
+
/** Component children */
|
|
29
|
+
children?: React.ReactNode;
|
|
30
|
+
/** Disabled state */
|
|
31
|
+
disabled?: boolean;
|
|
32
|
+
/** Callback when component is interacted with */
|
|
33
|
+
onClick?: () => void;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export const UformUvalidator = ({
|
|
37
|
+
className,
|
|
38
|
+
children,
|
|
39
|
+
disabled = false,
|
|
40
|
+
onClick,
|
|
41
|
+
}: UformUvalidatorProps) => {
|
|
42
|
+
return (
|
|
43
|
+
<div
|
|
44
|
+
className={cn(
|
|
45
|
+
'p-4 rounded-lg border transition-colors',
|
|
46
|
+
'bg-white dark:bg-gray-900',
|
|
47
|
+
'border-gray-200 dark:border-gray-700',
|
|
48
|
+
'text-gray-900 dark:text-white',
|
|
49
|
+
disabled && 'opacity-50 cursor-not-allowed',
|
|
50
|
+
'hover:bg-gray-50 dark:hover:bg-gray-800',
|
|
51
|
+
className
|
|
52
|
+
)}
|
|
53
|
+
onClick={disabled ? undefined : onClick}
|
|
54
|
+
role='region'
|
|
55
|
+
aria-label='UformUvalidator'
|
|
56
|
+
>
|
|
57
|
+
{children || 'UformUvalidator Component'}
|
|
58
|
+
</div>
|
|
59
|
+
);
|
|
60
|
+
};
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* workflow-components
|
|
3
|
+
*
|
|
4
|
+
* Specialized components for the workflow domain
|
|
5
|
+
*
|
|
6
|
+
* @package @sudobility/workflow-components
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
export * from './blockquote';
|
|
10
|
+
export * from './checklist-progress';
|
|
11
|
+
export * from './form-builder';
|
|
12
|
+
export * from './form-template';
|
|
13
|
+
export * from './form-validator';
|
|
14
|
+
export * from './network-status';
|
|
15
|
+
export * from './process-diagram';
|
|
16
|
+
export * from './quote-generator';
|
|
17
|
+
export * from './safety-checklist';
|
|
18
|
+
export * from './status-badge';
|
|
19
|
+
export * from './sticky-note';
|
|
20
|
+
export * from './system-status';
|