@strands.gg/accui 2.15.11 → 2.16.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/dist/StrandsUIPlugin-C9rrMU2i.cjs.js +1 -0
- package/dist/{StrandsUIPlugin-JP858JzQ.es.js → StrandsUIPlugin-tl7L52hZ.es.js} +15 -63
- package/dist/accui.css +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +149 -177
- package/dist/vite.cjs.js +1 -1
- package/dist/vite.es.js +1 -1
- package/dist/webcomponents/define-element.d.ts +24 -0
- package/dist/webcomponents/entries/strands-alert.d.ts +12 -0
- package/dist/webcomponents/entries/strands-button.d.ts +12 -0
- package/dist/webcomponents/entries/strands-card.d.ts +12 -0
- package/dist/webcomponents/entries/strands-checkbox-group.d.ts +11 -0
- package/dist/webcomponents/entries/strands-divider.d.ts +12 -0
- package/dist/webcomponents/entries/strands-input.d.ts +14 -0
- package/dist/webcomponents/entries/strands-link.d.ts +12 -0
- package/dist/webcomponents/entries/strands-loader-spinner.d.ts +10 -0
- package/dist/webcomponents/entries/strands-modal.d.ts +16 -0
- package/dist/webcomponents/entries/strands-pill.d.ts +11 -0
- package/dist/webcomponents/entries/strands-radio-group.d.ts +11 -0
- package/dist/webcomponents/entries/strands-slider.d.ts +10 -0
- package/dist/webcomponents/entries/strands-table.d.ts +13 -0
- package/dist/webcomponents/entries/strands-tabs.d.ts +12 -0
- package/dist/webcomponents/entries/strands-theme-toggle.d.ts +10 -0
- package/dist/webcomponents/entries/strands-toggle.d.ts +10 -0
- package/dist/webcomponents/entries/strands-tooltip.d.ts +12 -0
- package/dist/webcomponents/index.d.ts +8 -0
- package/dist/webcomponents/loader.d.ts +73 -0
- package/dist/webcomponents/registry.d.ts +41 -0
- package/package.json +3 -1
- package/dist/StrandsUIPlugin-DSCUXdBp.cjs.js +0 -1
package/dist/vite.es.js
CHANGED
|
@@ -86,7 +86,7 @@ ${code}`,
|
|
|
86
86
|
function createStrandsAuth(config = {}) {
|
|
87
87
|
return {
|
|
88
88
|
install(app) {
|
|
89
|
-
import("./StrandsUIPlugin-
|
|
89
|
+
import("./StrandsUIPlugin-tl7L52hZ.es.js").then((n) => n.n).then((module) => {
|
|
90
90
|
const StrandsUIPlugin = module.default;
|
|
91
91
|
app.use(StrandsUIPlugin);
|
|
92
92
|
});
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility for converting Vue components to Web Components
|
|
3
|
+
*
|
|
4
|
+
* This module provides helpers for registering Vue components as custom elements
|
|
5
|
+
* with proper style handling and Shadow DOM integration.
|
|
6
|
+
*/
|
|
7
|
+
import { type Component } from 'vue';
|
|
8
|
+
export declare const baseStyles = "\n :host {\n /* Typography */\n --accui-font-sans: 'Inter', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif;\n --accui-font-mono: \"Courier New\", Courier, ui-monospace, SFMono-Regular, \"SF Mono\", Consolas, \"Liberation Mono\", Menlo, monospace;\n\n /* Brand Colors - inherit from document or use defaults */\n --strands-accent: var(--strands-custom-accent, #EA00A8);\n --accui-strands-accent: var(--strands-custom-accent, #EA00A8);\n --accui-strands-50: var(--strands-custom-50, color-mix(in srgb, var(--strands-accent) 10%, white));\n --accui-strands-100: var(--strands-custom-100, color-mix(in srgb, var(--strands-accent) 20%, white));\n --accui-strands-200: var(--strands-custom-200, color-mix(in srgb, var(--strands-accent) 30%, white));\n --accui-strands-300: var(--strands-custom-300, color-mix(in srgb, var(--strands-accent) 40%, white));\n --accui-strands-400: var(--strands-custom-400, color-mix(in srgb, var(--strands-accent) 70%, white));\n --accui-strands-500: var(--strands-custom-500, var(--strands-accent));\n --accui-strands-600: var(--strands-custom-600, color-mix(in srgb, var(--strands-accent) 85%, black));\n --accui-strands-700: var(--strands-custom-700, color-mix(in srgb, var(--strands-accent) 70%, black));\n --accui-strands-800: var(--strands-custom-800, color-mix(in srgb, var(--strands-accent) 55%, black));\n --accui-strands-900: var(--strands-custom-900, color-mix(in srgb, var(--strands-accent) 40%, black));\n --accui-strands-950: var(--strands-custom-950, color-mix(in srgb, var(--strands-accent) 25%, black));\n\n /* Neutral Colors */\n --accui-neutral-50: #fafafa;\n --accui-neutral-100: #f5f5f5;\n --accui-neutral-200: #e5e5e5;\n --accui-neutral-300: #d4d4d4;\n --accui-neutral-400: #a3a3a3;\n --accui-neutral-500: #737373;\n --accui-neutral-600: #525252;\n --accui-neutral-700: #404040;\n --accui-neutral-800: #262626;\n --accui-neutral-900: #171717;\n --accui-neutral-950: #0a0a0a;\n\n /* Gray Colors */\n --accui-gray-50: #f9fafb;\n --accui-gray-100: #f3f4f6;\n --accui-gray-200: #e5e7eb;\n --accui-gray-300: #d1d5db;\n --accui-gray-400: #9ca3af;\n --accui-gray-500: #6b7280;\n --accui-gray-600: #4b5563;\n --accui-gray-700: #374151;\n --accui-gray-800: #1f2937;\n --accui-gray-900: #111827;\n --accui-gray-950: #030712;\n\n /* Status Colors */\n --accui-red-500: #ef4444;\n --accui-red-600: #dc2626;\n --accui-green-500: #22c55e;\n --accui-green-600: #16a34a;\n --accui-yellow-500: #f97316;\n --accui-yellow-600: #ea580c;\n\n /* Spacing Scale */\n --accui-space-0: 0;\n --accui-space-1: 0.25rem;\n --accui-space-2: 0.5rem;\n --accui-space-3: 0.75rem;\n --accui-space-4: 1rem;\n --accui-space-5: 1.25rem;\n --accui-space-6: 1.5rem;\n --accui-space-8: 2rem;\n\n /* Border Radius */\n --accui-radius-none: 0;\n --accui-radius-sm: 0.125rem;\n --accui-radius-md: 0.375rem;\n --accui-radius-lg: 0.5rem;\n --accui-radius-xl: 0.75rem;\n --accui-radius-2xl: 1rem;\n --accui-radius-full: 9999px;\n\n /* Transition Timings */\n --accui-transition-fast: 0.15s;\n --accui-transition-duration: 0.25s;\n --animation-duration: 0.25s;\n\n /* Theme Colors (Light Mode Default) */\n --accui-bg-primary: #ffffff;\n --accui-bg-secondary: #f9fafb;\n --accui-bg-tertiary: #f3f4f6;\n --accui-text-primary: #111827;\n --accui-text-secondary: #6b7280;\n --accui-text-tertiary: #9ca3af;\n --accui-border-primary: #e5e7eb;\n --accui-border-secondary: #d1d5db;\n --accui-border-tertiary: #9ca3af;\n\n /* Button Variables */\n --accui-button-primary-background: var(--accui-strands-500);\n --accui-button-primary-background-hover: var(--accui-strands-600);\n --accui-button-primary-text: #ffffff;\n --accui-button-primary-border: transparent;\n\n --accui-button-secondary-background: #f0f0f0;\n --accui-button-secondary-background-hover: #e2e2e2;\n --accui-button-secondary-text: #000000;\n --accui-button-secondary-border: #f0f0f0;\n\n --accui-button-ghost-background: transparent;\n --accui-button-ghost-background-hover: var(--accui-bg-secondary);\n --accui-button-ghost-text: var(--accui-text-primary);\n --accui-button-ghost-border: transparent;\n\n --accui-button-outline-background: transparent;\n --accui-button-outline-background-hover: var(--accui-strands-50);\n --accui-button-outline-text: var(--accui-strands-500);\n --accui-button-outline-border: var(--accui-strands-500);\n\n /* Input Variables */\n --accui-input-background: var(--accui-bg-primary);\n --accui-input-background-focus: var(--accui-bg-primary);\n --accui-input-text: var(--accui-text-primary);\n --accui-input-placeholder: var(--accui-text-tertiary);\n --accui-input-border: var(--accui-border-primary);\n --accui-input-border-focus: var(--strands-accent, #EA00A8);\n --accui-input-shadow-focus: 0 0 0 3px color-mix(in srgb, var(--strands-accent, #EA00A8) 10%, transparent);\n\n /* Card Variables */\n --accui-card-background: var(--accui-bg-primary);\n --accui-card-border: var(--accui-border-primary);\n --accui-card-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1);\n\n /* Alert Variables */\n --accui-alert-success-background: #f0fdf4;\n --accui-alert-success-text: #15803d;\n --accui-alert-success-border: #bbf7d0;\n\n --accui-alert-error-background: #fef2f2;\n --accui-alert-error-text: #dc2626;\n --accui-alert-error-border: #fecaca;\n\n --accui-alert-warning-background: #fefce8;\n --accui-alert-warning-text: #ca8a04;\n --accui-alert-warning-border: #fde047;\n\n --accui-alert-info-background: #eff6ff;\n --accui-alert-info-text: #2563eb;\n --accui-alert-info-border: #bfdbfe;\n\n /* Toggle Variables */\n --accui-toggle-background: var(--accui-border-secondary);\n --accui-toggle-background-active: var(--accui-strands-500);\n --accui-toggle-thumb: #ffffff;\n\n /* Tabs Variables */\n --accui-tabs-background: var(--accui-bg-secondary);\n --accui-tabs-border: var(--accui-border-primary);\n --accui-tabs-button-text: var(--accui-text-secondary);\n --accui-tabs-button-text-active: var(--accui-text-primary);\n --accui-tabs-button-background: var(--accui-bg-primary);\n --accui-tabs-button-background-hover: var(--accui-bg-secondary);\n --accui-tabs-indicator: var(--accui-strands-500);\n\n /* Divider Variables */\n --accui-divider-color: var(--accui-border-primary);\n --accui-divider-text: var(--accui-text-secondary);\n\n /* Display as inline-block by default */\n display: inline-block;\n }\n\n /* Dark mode support - detect from document */\n :host-context([data-theme=\"dark\"]) {\n --accui-bg-primary: #0f172a;\n --accui-bg-secondary: #1e293b;\n --accui-bg-tertiary: #334155;\n --accui-text-primary: #f8fafc;\n --accui-text-secondary: #cbd5e1;\n --accui-text-tertiary: #94a3b8;\n --accui-border-primary: #334155;\n --accui-border-secondary: #475569;\n --accui-border-tertiary: #64748b;\n\n --accui-button-secondary-background: var(--accui-bg-secondary);\n --accui-button-secondary-background-hover: var(--accui-bg-tertiary);\n --accui-button-secondary-text: var(--accui-text-primary);\n --accui-button-secondary-border: var(--accui-bg-secondary);\n\n --accui-button-ghost-background-hover: var(--accui-bg-tertiary);\n\n --accui-button-outline-background-hover: var(--accui-strands-950);\n --accui-button-outline-text: var(--accui-strands-400);\n --accui-button-outline-border: var(--accui-strands-400);\n\n --accui-alert-success-background: #0f2a1a;\n --accui-alert-success-text: #4ade80;\n --accui-alert-success-border: #16a34a;\n\n --accui-alert-error-background: #2a0f0f;\n --accui-alert-error-text: #f87171;\n --accui-alert-error-border: #dc2626;\n\n --accui-alert-warning-background: #2a2508;\n --accui-alert-warning-text: #fbbf24;\n --accui-alert-warning-border: #eab308;\n\n --accui-alert-info-background: #0f1a2a;\n --accui-alert-info-text: #60a5fa;\n --accui-alert-info-border: #3b82f6;\n\n --accui-toggle-background: var(--accui-border-tertiary);\n\n --accui-tabs-background: var(--accui-bg-tertiary);\n --accui-tabs-button-background: var(--accui-bg-secondary);\n --accui-tabs-button-background-hover: var(--accui-bg-primary);\n }\n\n /* Base reset for Shadow DOM content */\n *, *::before, *::after {\n box-sizing: border-box;\n }\n";
|
|
9
|
+
/**
|
|
10
|
+
* Creates and registers a custom element from a Vue component
|
|
11
|
+
*
|
|
12
|
+
* @param tagName - The custom element tag name (e.g., 'strands-button')
|
|
13
|
+
* @param component - The Vue component to convert
|
|
14
|
+
* @param additionalStyles - Optional additional CSS to inject
|
|
15
|
+
*/
|
|
16
|
+
export declare function registerCustomElement(tagName: string, component: Component, additionalStyles?: string): void;
|
|
17
|
+
/**
|
|
18
|
+
* Check if a custom element is already registered
|
|
19
|
+
*/
|
|
20
|
+
export declare function isElementRegistered(tagName: string): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Wait for a custom element to be defined
|
|
23
|
+
*/
|
|
24
|
+
export declare function whenDefined(tagName: string): Promise<CustomElementConstructor>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Strands Alert Web Component
|
|
3
|
+
*
|
|
4
|
+
* Usage:
|
|
5
|
+
* ```html
|
|
6
|
+
* <strands-alert variant="success" title="Success!">
|
|
7
|
+
* Operation completed successfully.
|
|
8
|
+
* </strands-alert>
|
|
9
|
+
* ```
|
|
10
|
+
*/
|
|
11
|
+
import UiAlert from '../../vue/ui/UiAlert.vue';
|
|
12
|
+
export { UiAlert };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Strands Checkbox Group Web Component
|
|
3
|
+
*
|
|
4
|
+
* Usage:
|
|
5
|
+
* ```html
|
|
6
|
+
* <strands-checkbox-group name="choices" options='[{"value":"a","label":"Option A"},{"value":"b","label":"Option B"}]'>
|
|
7
|
+
* </strands-checkbox-group>
|
|
8
|
+
* ```
|
|
9
|
+
*/
|
|
10
|
+
import UiCheckboxGroup from '../../vue/ui/UiCheckboxGroup.vue';
|
|
11
|
+
export { UiCheckboxGroup };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Strands Divider Web Component
|
|
3
|
+
*
|
|
4
|
+
* Usage:
|
|
5
|
+
* ```html
|
|
6
|
+
* <strands-divider></strands-divider>
|
|
7
|
+
* <strands-divider orientation="vertical"></strands-divider>
|
|
8
|
+
* <strands-divider>Or</strands-divider>
|
|
9
|
+
* ```
|
|
10
|
+
*/
|
|
11
|
+
import UiDivider from '../../vue/ui/UiDivider.vue';
|
|
12
|
+
export { UiDivider };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Strands Input Web Component
|
|
3
|
+
*
|
|
4
|
+
* Usage:
|
|
5
|
+
* ```html
|
|
6
|
+
* <strands-input
|
|
7
|
+
* type="email"
|
|
8
|
+
* label="Email"
|
|
9
|
+
* placeholder="Enter your email"
|
|
10
|
+
* ></strands-input>
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
import UiInput from '../../vue/ui/UiInput.vue';
|
|
14
|
+
export { UiInput };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Strands Modal Web Component
|
|
3
|
+
*
|
|
4
|
+
* Note: Modals in web components have limitations due to Shadow DOM.
|
|
5
|
+
* The modal will render within its shadow root, which may affect
|
|
6
|
+
* positioning and overlay behaviour.
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* ```html
|
|
10
|
+
* <strands-modal open title="Modal Title">
|
|
11
|
+
* Modal content here
|
|
12
|
+
* </strands-modal>
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
import UiModal from '../../vue/ui/UiModal.vue';
|
|
16
|
+
export { UiModal };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Strands Pill Web Component
|
|
3
|
+
*
|
|
4
|
+
* Usage:
|
|
5
|
+
* ```html
|
|
6
|
+
* <strands-pill variant="filled" color="primary">Badge</strands-pill>
|
|
7
|
+
* <strands-pill variant="dot" color="success">Active</strands-pill>
|
|
8
|
+
* ```
|
|
9
|
+
*/
|
|
10
|
+
import UiPill from '../../vue/ui/UiPill.vue';
|
|
11
|
+
export { UiPill };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Strands Radio Group Web Component
|
|
3
|
+
*
|
|
4
|
+
* Usage:
|
|
5
|
+
* ```html
|
|
6
|
+
* <strands-radio-group name="choice" options='[{"value":"a","label":"Option A"},{"value":"b","label":"Option B"}]'>
|
|
7
|
+
* </strands-radio-group>
|
|
8
|
+
* ```
|
|
9
|
+
*/
|
|
10
|
+
import UiRadioGroup from '../../vue/ui/UiRadioGroup.vue';
|
|
11
|
+
export { UiRadioGroup };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Strands Table Web Component
|
|
3
|
+
*
|
|
4
|
+
* Usage:
|
|
5
|
+
* ```html
|
|
6
|
+
* <strands-table
|
|
7
|
+
* columns='[{"key":"name","label":"Name"},{"key":"email","label":"Email"}]'
|
|
8
|
+
* data='[{"name":"John","email":"john@example.com"}]'
|
|
9
|
+
* ></strands-table>
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
import UiTable from '../../vue/ui/UiTable.vue';
|
|
13
|
+
export { UiTable };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Strands Tooltip Web Component
|
|
3
|
+
*
|
|
4
|
+
* Usage:
|
|
5
|
+
* ```html
|
|
6
|
+
* <strands-tooltip content="Helpful information" position="top">
|
|
7
|
+
* <button>Hover me</button>
|
|
8
|
+
* </strands-tooltip>
|
|
9
|
+
* ```
|
|
10
|
+
*/
|
|
11
|
+
import UiTooltip from '../../vue/ui/UiTooltip.vue';
|
|
12
|
+
export { UiTooltip };
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Strands UI Web Components Loader
|
|
3
|
+
*
|
|
4
|
+
* A custom element that lazy-loads Strands UI components on demand.
|
|
5
|
+
*
|
|
6
|
+
* Usage:
|
|
7
|
+
* ```html
|
|
8
|
+
* <script src="https://use.strandsui.com/loader.js"></script>
|
|
9
|
+
* <strands-loader components="button,alert,input"></strands-loader>
|
|
10
|
+
* ```
|
|
11
|
+
*
|
|
12
|
+
* Events:
|
|
13
|
+
* - 'strands:ready' - Dispatched when all requested components are loaded
|
|
14
|
+
* - 'strands:error' - Dispatched if any component fails to load
|
|
15
|
+
* - 'strands:progress' - Dispatched as each component loads
|
|
16
|
+
*/
|
|
17
|
+
import { type ComponentInfo } from './registry';
|
|
18
|
+
declare const loadedComponents: Set<string>;
|
|
19
|
+
/**
|
|
20
|
+
* Load a single component with deduplication
|
|
21
|
+
*/
|
|
22
|
+
declare function loadComponent(shortName: string): Promise<void>;
|
|
23
|
+
/**
|
|
24
|
+
* Load multiple components in parallel
|
|
25
|
+
*/
|
|
26
|
+
declare function loadComponents(shortNames: string[], onProgress?: (loaded: number, total: number, componentName: string) => void): Promise<{
|
|
27
|
+
loaded: string[];
|
|
28
|
+
failed: Array<{
|
|
29
|
+
name: string;
|
|
30
|
+
error: Error;
|
|
31
|
+
}>;
|
|
32
|
+
}>;
|
|
33
|
+
/**
|
|
34
|
+
* StrandsLoader Custom Element
|
|
35
|
+
*
|
|
36
|
+
* Attributes:
|
|
37
|
+
* - components: Comma-separated list of component names to load
|
|
38
|
+
* - base-url: Override the base URL for component files
|
|
39
|
+
* - show-loading: Show a loading indicator whilst components load
|
|
40
|
+
*/
|
|
41
|
+
declare class StrandsLoader extends HTMLElement {
|
|
42
|
+
private _connected;
|
|
43
|
+
private _loadPromise;
|
|
44
|
+
static get observedAttributes(): string[];
|
|
45
|
+
constructor();
|
|
46
|
+
connectedCallback(): void;
|
|
47
|
+
disconnectedCallback(): void;
|
|
48
|
+
attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
|
|
49
|
+
private _render;
|
|
50
|
+
private _updateStatus;
|
|
51
|
+
private _loadComponents;
|
|
52
|
+
private _dispatchEvent;
|
|
53
|
+
/**
|
|
54
|
+
* Programmatically load additional components
|
|
55
|
+
*/
|
|
56
|
+
load(componentNames: string | string[]): Promise<{
|
|
57
|
+
loaded: string[];
|
|
58
|
+
failed: string[];
|
|
59
|
+
}>;
|
|
60
|
+
/**
|
|
61
|
+
* Check if a component is loaded
|
|
62
|
+
*/
|
|
63
|
+
isLoaded(componentName: string): boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Get list of all available components
|
|
66
|
+
*/
|
|
67
|
+
static get availableComponents(): string[];
|
|
68
|
+
/**
|
|
69
|
+
* Get component info
|
|
70
|
+
*/
|
|
71
|
+
static getComponentInfo(name: string): ComponentInfo | undefined;
|
|
72
|
+
}
|
|
73
|
+
export { StrandsLoader, loadComponent, loadComponents, loadedComponents };
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Component Registry
|
|
3
|
+
*
|
|
4
|
+
* Maps component short names to their module paths for dynamic loading.
|
|
5
|
+
* This allows the loader to dynamically import only the requested components.
|
|
6
|
+
*/
|
|
7
|
+
export interface ComponentInfo {
|
|
8
|
+
/** The custom element tag name */
|
|
9
|
+
tagName: string;
|
|
10
|
+
/** The short name used in the loader (e.g., 'button' for strands-button) */
|
|
11
|
+
shortName: string;
|
|
12
|
+
/** Description of the component */
|
|
13
|
+
description: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Registry of all available components
|
|
17
|
+
*/
|
|
18
|
+
export declare const componentRegistry: Record<string, ComponentInfo>;
|
|
19
|
+
/**
|
|
20
|
+
* Get component info by short name
|
|
21
|
+
*/
|
|
22
|
+
export declare function getComponentInfo(shortName: string): ComponentInfo | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* Get all available component short names
|
|
25
|
+
*/
|
|
26
|
+
export declare function getAvailableComponents(): string[];
|
|
27
|
+
/**
|
|
28
|
+
* Check if a component exists in the registry
|
|
29
|
+
*/
|
|
30
|
+
export declare function isValidComponent(shortName: string): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Parse a comma-separated list of component names
|
|
33
|
+
*/
|
|
34
|
+
export declare function parseComponentList(componentString: string): string[];
|
|
35
|
+
/**
|
|
36
|
+
* Validate a list of component names and return invalid ones
|
|
37
|
+
*/
|
|
38
|
+
export declare function validateComponentList(components: string[]): {
|
|
39
|
+
valid: string[];
|
|
40
|
+
invalid: string[];
|
|
41
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@strands.gg/accui",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.16.0",
|
|
4
4
|
"description": "Strands Authentication UI Components",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs.js",
|
|
@@ -65,8 +65,10 @@
|
|
|
65
65
|
"scripts": {
|
|
66
66
|
"build": "vite build && tsc --emitDeclarationOnly",
|
|
67
67
|
"build-demo": "vite build --config vite.demo.config.ts",
|
|
68
|
+
"build-webcomponents": "vite build --config vite.webcomponents.config.ts",
|
|
68
69
|
"serve": "vite",
|
|
69
70
|
"serve-demo": "vite --config vite.demo.config.ts",
|
|
71
|
+
"serve-webcomponents": "serve -c serve.webcomponents.json -l 3002 dist-webcomponents",
|
|
70
72
|
"dev": "vite build --watch",
|
|
71
73
|
"preview": "vite preview",
|
|
72
74
|
"preview-demo": "vite preview --config vite.demo.config.ts",
|