@latty-ds/web 0.2.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/LICENSE +21 -0
- package/README.md +106 -0
- package/custom-elements.json +8785 -0
- package/dist/base/index.d.ts +1 -0
- package/dist/base/index.js +35 -0
- package/dist/base/themeable-element.d.ts +20 -0
- package/dist/components/accordion/accordion.d.ts +82 -0
- package/dist/components/accordion/accordion.styles.d.ts +1 -0
- package/dist/components/accordion/accordion.types.d.ts +10 -0
- package/dist/components/accordion/index.d.ts +8 -0
- package/dist/components/accordion/index.js +468 -0
- package/dist/components/alert/alert.d.ts +51 -0
- package/dist/components/alert/alert.styles.d.ts +1 -0
- package/dist/components/alert/alert.types.d.ts +2 -0
- package/dist/components/alert/index.d.ts +2 -0
- package/dist/components/alert/index.js +746 -0
- package/dist/components/avatar/avatar.d.ts +27 -0
- package/dist/components/avatar/avatar.styles.d.ts +1 -0
- package/dist/components/avatar/avatar.types.d.ts +3 -0
- package/dist/components/avatar/index.d.ts +2 -0
- package/dist/components/avatar/index.js +222 -0
- package/dist/components/badge/badge.d.ts +29 -0
- package/dist/components/badge/badge.styles.d.ts +1 -0
- package/dist/components/badge/badge.types.d.ts +3 -0
- package/dist/components/badge/index.d.ts +2 -0
- package/dist/components/badge/index.js +277 -0
- package/dist/components/breadcrumb/breadcrumb.d.ts +53 -0
- package/dist/components/breadcrumb/breadcrumb.styles.d.ts +2 -0
- package/dist/components/breadcrumb/breadcrumb.types.d.ts +1 -0
- package/dist/components/breadcrumb/index.d.ts +2 -0
- package/dist/components/breadcrumb/index.js +166 -0
- package/dist/components/button/button.d.ts +111 -0
- package/dist/components/button/button.styles.d.ts +1 -0
- package/dist/components/button/button.types.d.ts +38 -0
- package/dist/components/button/index.d.ts +8 -0
- package/dist/components/button/index.js +466 -0
- package/dist/components/calendar/calendar.d.ts +84 -0
- package/dist/components/calendar/calendar.styles.d.ts +1 -0
- package/dist/components/calendar/calendar.types.d.ts +15 -0
- package/dist/components/calendar/index.d.ts +1 -0
- package/dist/components/calendar/index.js +958 -0
- package/dist/components/checkbox/checkbox.d.ts +113 -0
- package/dist/components/checkbox/checkbox.styles.d.ts +1 -0
- package/dist/components/checkbox/checkbox.types.d.ts +21 -0
- package/dist/components/checkbox/index.d.ts +8 -0
- package/dist/components/checkbox/index.js +320 -0
- package/dist/components/chip/chip.d.ts +35 -0
- package/dist/components/chip/chip.styles.d.ts +1 -0
- package/dist/components/chip/chip.types.d.ts +3 -0
- package/dist/components/chip/index.d.ts +2 -0
- package/dist/components/chip/index.js +282 -0
- package/dist/components/color-input/color-input.d.ts +55 -0
- package/dist/components/color-input/color-input.styles.d.ts +1 -0
- package/dist/components/color-input/color-input.types.d.ts +2 -0
- package/dist/components/color-input/index.d.ts +1 -0
- package/dist/components/color-input/index.js +489 -0
- package/dist/components/combobox/combobox.d.ts +59 -0
- package/dist/components/combobox/combobox.styles.d.ts +1 -0
- package/dist/components/combobox/combobox.types.d.ts +7 -0
- package/dist/components/combobox/index.d.ts +2 -0
- package/dist/components/combobox/index.js +1988 -0
- package/dist/components/date-input/date-input.d.ts +66 -0
- package/dist/components/date-input/date-input.styles.d.ts +1 -0
- package/dist/components/date-input/date-input.types.d.ts +3 -0
- package/dist/components/date-input/index.d.ts +2 -0
- package/dist/components/date-input/index.js +2863 -0
- package/dist/components/datepicker/datepicker.d.ts +52 -0
- package/dist/components/datepicker/datepicker.styles.d.ts +1 -0
- package/dist/components/datepicker/datepicker.types.d.ts +3 -0
- package/dist/components/datepicker/index.d.ts +2 -0
- package/dist/components/datepicker/index.js +416 -0
- package/dist/components/dialog/dialog.d.ts +114 -0
- package/dist/components/dialog/dialog.styles.d.ts +1 -0
- package/dist/components/dialog/dialog.types.d.ts +11 -0
- package/dist/components/dialog/index.d.ts +2 -0
- package/dist/components/dialog/index.js +920 -0
- package/dist/components/divider/divider.d.ts +35 -0
- package/dist/components/divider/divider.styles.d.ts +1 -0
- package/dist/components/divider/divider.types.d.ts +2 -0
- package/dist/components/divider/index.d.ts +2 -0
- package/dist/components/divider/index.js +149 -0
- package/dist/components/dropdown/dropdown-item.d.ts +24 -0
- package/dist/components/dropdown/dropdown-item.styles.d.ts +1 -0
- package/dist/components/dropdown/dropdown.d.ts +30 -0
- package/dist/components/dropdown/dropdown.styles.d.ts +1 -0
- package/dist/components/dropdown/dropdown.types.d.ts +1 -0
- package/dist/components/dropdown/index.d.ts +3 -0
- package/dist/components/dropdown/index.js +1791 -0
- package/dist/components/header/header.d.ts +19 -0
- package/dist/components/header/header.styles.d.ts +1 -0
- package/dist/components/header/header.types.d.ts +1 -0
- package/dist/components/header/index.d.ts +2 -0
- package/dist/components/header/index.js +104 -0
- package/dist/components/icon-button/icon-button.d.ts +52 -0
- package/dist/components/icon-button/icon-button.styles.d.ts +1 -0
- package/dist/components/icon-button/icon-button.types.d.ts +8 -0
- package/dist/components/icon-button/index.d.ts +1 -0
- package/dist/components/icon-button/index.js +342 -0
- package/dist/components/image/image.d.ts +26 -0
- package/dist/components/image/image.styles.d.ts +1 -0
- package/dist/components/image/image.types.d.ts +0 -0
- package/dist/components/image/index.d.ts +1 -0
- package/dist/components/image/index.js +105 -0
- package/dist/components/link/index.d.ts +1 -0
- package/dist/components/link/index.js +108 -0
- package/dist/components/link/link.d.ts +22 -0
- package/dist/components/link/link.styles.d.ts +1 -0
- package/dist/components/link/link.types.d.ts +1 -0
- package/dist/components/list/index.d.ts +9 -0
- package/dist/components/list/index.js +254 -0
- package/dist/components/list/list-item.d.ts +41 -0
- package/dist/components/list/list-item.styles.d.ts +1 -0
- package/dist/components/list/list.d.ts +85 -0
- package/dist/components/list/list.styles.d.ts +1 -0
- package/dist/components/list/list.types.d.ts +16 -0
- package/dist/components/nav/index.d.ts +3 -0
- package/dist/components/nav/index.js +345 -0
- package/dist/components/nav/nav-item.d.ts +73 -0
- package/dist/components/nav/nav.d.ts +49 -0
- package/dist/components/nav/nav.styles.d.ts +2 -0
- package/dist/components/nav/nav.types.d.ts +1 -0
- package/dist/components/pagination/index.d.ts +2 -0
- package/dist/components/pagination/index.js +210 -0
- package/dist/components/pagination/pagination.d.ts +34 -0
- package/dist/components/pagination/pagination.styles.d.ts +1 -0
- package/dist/components/pagination/pagination.types.d.ts +1 -0
- package/dist/components/progress/index.d.ts +2 -0
- package/dist/components/progress/index.js +167 -0
- package/dist/components/progress/progress.d.ts +44 -0
- package/dist/components/progress/progress.styles.d.ts +1 -0
- package/dist/components/progress/progress.types.d.ts +2 -0
- package/dist/components/radio/index.d.ts +8 -0
- package/dist/components/radio/index.js +294 -0
- package/dist/components/radio/radio.d.ts +96 -0
- package/dist/components/radio/radio.styles.d.ts +1 -0
- package/dist/components/radio/radio.types.d.ts +21 -0
- package/dist/components/radio-group/index.d.ts +8 -0
- package/dist/components/radio-group/index.js +384 -0
- package/dist/components/radio-group/radio-group.d.ts +100 -0
- package/dist/components/radio-group/radio-group.styles.d.ts +1 -0
- package/dist/components/radio-group/radio-group.types.d.ts +8 -0
- package/dist/components/select/index.d.ts +8 -0
- package/dist/components/select/index.js +2123 -0
- package/dist/components/select/select.d.ts +129 -0
- package/dist/components/select/select.styles.d.ts +1 -0
- package/dist/components/select/select.types.d.ts +37 -0
- package/dist/components/shared/backdrop.styles.d.ts +1 -0
- package/dist/components/shared/floating.d.ts +10 -0
- package/dist/components/sidepanel/index.d.ts +1 -0
- package/dist/components/sidepanel/index.js +768 -0
- package/dist/components/sidepanel/sidepanel.d.ts +48 -0
- package/dist/components/sidepanel/sidepanel.styles.d.ts +1 -0
- package/dist/components/sidepanel/sidepanel.types.d.ts +1 -0
- package/dist/components/skeleton/index.d.ts +2 -0
- package/dist/components/skeleton/index.js +129 -0
- package/dist/components/skeleton/skeleton.d.ts +39 -0
- package/dist/components/skeleton/skeleton.styles.d.ts +1 -0
- package/dist/components/skeleton/skeleton.types.d.ts +1 -0
- package/dist/components/slider/index.d.ts +2 -0
- package/dist/components/slider/index.js +635 -0
- package/dist/components/slider/slider.d.ts +33 -0
- package/dist/components/slider/slider.styles.d.ts +1 -0
- package/dist/components/slider/slider.types.d.ts +1 -0
- package/dist/components/snackbar/index.d.ts +2 -0
- package/dist/components/snackbar/index.js +358 -0
- package/dist/components/snackbar/snackbar.d.ts +63 -0
- package/dist/components/snackbar/snackbar.styles.d.ts +1 -0
- package/dist/components/snackbar/snackbar.types.d.ts +1 -0
- package/dist/components/spinner/index.d.ts +8 -0
- package/dist/components/spinner/index.js +131 -0
- package/dist/components/spinner/spineer.styles.d.ts +1 -0
- package/dist/components/spinner/spinner.d.ts +52 -0
- package/dist/components/spinner/spinner.types.d.ts +18 -0
- package/dist/components/surface/index.d.ts +8 -0
- package/dist/components/surface/index.js +128 -0
- package/dist/components/surface/surface.d.ts +48 -0
- package/dist/components/surface/surface.styles.d.ts +1 -0
- package/dist/components/surface/surface.types.d.ts +20 -0
- package/dist/components/switch/index.d.ts +8 -0
- package/dist/components/switch/index.js +293 -0
- package/dist/components/switch/switch.d.ts +90 -0
- package/dist/components/switch/switch.styles.d.ts +1 -0
- package/dist/components/switch/switch.types.d.ts +21 -0
- package/dist/components/tab/index.d.ts +9 -0
- package/dist/components/tab/index.js +252 -0
- package/dist/components/tab/tab-panel.d.ts +28 -0
- package/dist/components/tab/tab-panel.styles.d.ts +1 -0
- package/dist/components/tab/tab.d.ts +59 -0
- package/dist/components/tab/tab.styles.d.ts +1 -0
- package/dist/components/tab/tab.types.d.ts +7 -0
- package/dist/components/tab-group/index.d.ts +8 -0
- package/dist/components/tab-group/index.js +441 -0
- package/dist/components/tab-group/tab-group.d.ts +99 -0
- package/dist/components/tab-group/tab-group.styles.d.ts +1 -0
- package/dist/components/tab-group/tab-group.types.d.ts +11 -0
- package/dist/components/table/index.d.ts +2 -0
- package/dist/components/table/index.js +582 -0
- package/dist/components/table/table.d.ts +160 -0
- package/dist/components/table/table.styles.d.ts +1 -0
- package/dist/components/table/table.types.d.ts +106 -0
- package/dist/components/text/index.d.ts +1 -0
- package/dist/components/text/index.js +207 -0
- package/dist/components/text/text.d.ts +32 -0
- package/dist/components/text/text.styles.d.ts +1 -0
- package/dist/components/text/text.types.d.ts +2 -0
- package/dist/components/textfield/index.d.ts +8 -0
- package/dist/components/textfield/index.js +718 -0
- package/dist/components/textfield/textfield.d.ts +168 -0
- package/dist/components/textfield/textfield.styles.d.ts +1 -0
- package/dist/components/textfield/textfield.types.d.ts +40 -0
- package/dist/components/tooltip/index.d.ts +2 -0
- package/dist/components/tooltip/index.js +379 -0
- package/dist/components/tooltip/tooltip.d.ts +42 -0
- package/dist/components/tooltip/tooltip.styles.d.ts +1 -0
- package/dist/components/tooltip/tooltip.types.d.ts +1 -0
- package/dist/css/font-face.css +22 -0
- package/dist/css/latty.css +57 -0
- package/dist/fonts/HankenGrotesk-Variable.woff2 +0 -0
- package/dist/fonts/HankenGrotesk-VariableItalic.woff2 +0 -0
- package/dist/index.cjs +12739 -0
- package/dist/index.d.ts +101 -0
- package/dist/index.js +11406 -0
- package/dist/manifest.json +2396 -0
- package/dist/utils/click-outside.d.ts +22 -0
- package/dist/utils/color.d.ts +14 -0
- package/dist/utils/dispatch.d.ts +18 -0
- package/dist/utils/index.d.ts +3 -0
- package/package.json +231 -0
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { ThemeableElement } from '../../base';
|
|
2
|
+
import { SelectOption, SelectSize, SelectVariant } from './select.types';
|
|
3
|
+
import '@latty-ds/icons';
|
|
4
|
+
import '../surface/';
|
|
5
|
+
import '../text/text';
|
|
6
|
+
/**
|
|
7
|
+
* A customizable select dropdown component with support for multiple variants and sizes.
|
|
8
|
+
*
|
|
9
|
+
* @element lt-select
|
|
10
|
+
*
|
|
11
|
+
* @fires {CustomEvent<{value: string}>} change - Dispatched when the selected value changes
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```html
|
|
15
|
+
* <lt-select
|
|
16
|
+
* label="Country"
|
|
17
|
+
* placeholder="Select a country"
|
|
18
|
+
* .options=${[
|
|
19
|
+
* { value: 'us', label: 'United States' },
|
|
20
|
+
* { value: 'ca', label: 'Canada' },
|
|
21
|
+
* { value: 'mx', label: 'Mexico' }
|
|
22
|
+
* ]}
|
|
23
|
+
* ></lt-select>
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```html
|
|
28
|
+
* <lt-select
|
|
29
|
+
* variant="error"
|
|
30
|
+
* label="Language"
|
|
31
|
+
* helper-text="Please select a language"
|
|
32
|
+
* required
|
|
33
|
+
* .options=${languages}
|
|
34
|
+
* ></lt-select>
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export declare class Select extends ThemeableElement {
|
|
38
|
+
static styles: import("lit").CSSResult[];
|
|
39
|
+
/**
|
|
40
|
+
* Visual variant that determines styling.
|
|
41
|
+
* @default 'default'
|
|
42
|
+
*/
|
|
43
|
+
variant: SelectVariant;
|
|
44
|
+
/**
|
|
45
|
+
* Size of the select (affects height, font size, and padding).
|
|
46
|
+
* @default 'md'
|
|
47
|
+
*/
|
|
48
|
+
size: SelectSize;
|
|
49
|
+
/**
|
|
50
|
+
* Current selected value.
|
|
51
|
+
* @default ''
|
|
52
|
+
*/
|
|
53
|
+
value: string;
|
|
54
|
+
/**
|
|
55
|
+
* Placeholder text shown when no option is selected.
|
|
56
|
+
* @default 'Select an option'
|
|
57
|
+
*/
|
|
58
|
+
placeholder: string;
|
|
59
|
+
/**
|
|
60
|
+
* Label text displayed above the select.
|
|
61
|
+
* @default ''
|
|
62
|
+
*/
|
|
63
|
+
label: string;
|
|
64
|
+
/**
|
|
65
|
+
* Helper text displayed below the select. Color changes based on variant.
|
|
66
|
+
* @default ''
|
|
67
|
+
*/
|
|
68
|
+
helperText: string;
|
|
69
|
+
/**
|
|
70
|
+
* Whether the select is disabled.
|
|
71
|
+
* @default false
|
|
72
|
+
*/
|
|
73
|
+
disabled: boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Whether the select is required. Shows asterisk in label when true.
|
|
76
|
+
* @default false
|
|
77
|
+
*/
|
|
78
|
+
required: boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Array of options to display in the dropdown.
|
|
81
|
+
* @default []
|
|
82
|
+
*/
|
|
83
|
+
options: SelectOption[];
|
|
84
|
+
/**
|
|
85
|
+
* Internal state tracking whether the dropdown is open.
|
|
86
|
+
* @private
|
|
87
|
+
*/
|
|
88
|
+
private isOpen;
|
|
89
|
+
private _cleanupClickOutside;
|
|
90
|
+
private _floatingCleanup;
|
|
91
|
+
/**
|
|
92
|
+
* Toggles the dropdown open/closed state.
|
|
93
|
+
* @private
|
|
94
|
+
*/
|
|
95
|
+
private toggleDropdown;
|
|
96
|
+
/**
|
|
97
|
+
* Closes the dropdown.
|
|
98
|
+
* @private
|
|
99
|
+
*/
|
|
100
|
+
private closeDropdown;
|
|
101
|
+
/**
|
|
102
|
+
* Handles option selection.
|
|
103
|
+
* Updates the value, dispatches change event, and closes dropdown.
|
|
104
|
+
*
|
|
105
|
+
* @param option - The selected option
|
|
106
|
+
* @private
|
|
107
|
+
*/
|
|
108
|
+
private selectOption;
|
|
109
|
+
/**
|
|
110
|
+
* Handles keyboard navigation in the dropdown.
|
|
111
|
+
* Supports Arrow Up/Down for navigation, Enter/Space for selection, and Escape to close.
|
|
112
|
+
*
|
|
113
|
+
* @param e - The keyboard event
|
|
114
|
+
* @private
|
|
115
|
+
*/
|
|
116
|
+
private handleKeydown;
|
|
117
|
+
connectedCallback(): void;
|
|
118
|
+
disconnectedCallback(): void;
|
|
119
|
+
/**
|
|
120
|
+
* Gets the display label for the currently selected value.
|
|
121
|
+
* @private
|
|
122
|
+
*/
|
|
123
|
+
private getSelectedLabel;
|
|
124
|
+
/**
|
|
125
|
+
* Reflects the open state as an attribute for CSS styling.
|
|
126
|
+
*/
|
|
127
|
+
updated(changedProperties: Map<string, unknown>): void;
|
|
128
|
+
render(): import("lit").TemplateResult<1>;
|
|
129
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const selectStyles: import("lit").CSSResult[];
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Size variant of the select component.
|
|
3
|
+
* Affects height, font size, and padding.
|
|
4
|
+
*
|
|
5
|
+
* - `sm`: 32px height, 0.875rem font size
|
|
6
|
+
* - `md`: 40px height, 1rem font size (default)
|
|
7
|
+
* - `lg`: 48px height, 1.0625rem font size
|
|
8
|
+
*/
|
|
9
|
+
export type SelectSize = 'sm' | 'md' | 'lg';
|
|
10
|
+
/**
|
|
11
|
+
* Visual variant of the select component.
|
|
12
|
+
* Determines the styling and indicates the select's state.
|
|
13
|
+
*
|
|
14
|
+
* - `default`: Standard appearance
|
|
15
|
+
* - `success`: Green styling for successful state
|
|
16
|
+
* - `warning`: Yellow/orange styling for warning state
|
|
17
|
+
* - `error`: Red styling for error state
|
|
18
|
+
*/
|
|
19
|
+
export type SelectVariant = 'default' | 'success' | 'warning' | 'error';
|
|
20
|
+
/**
|
|
21
|
+
* Represents a single option in the select dropdown.
|
|
22
|
+
*/
|
|
23
|
+
export interface SelectOption {
|
|
24
|
+
/**
|
|
25
|
+
* The unique value for this option (used in form submission)
|
|
26
|
+
*/
|
|
27
|
+
value: string;
|
|
28
|
+
/**
|
|
29
|
+
* The display text shown to the user
|
|
30
|
+
*/
|
|
31
|
+
label: string;
|
|
32
|
+
/**
|
|
33
|
+
* Whether this option is disabled and cannot be selected
|
|
34
|
+
* @default false
|
|
35
|
+
*/
|
|
36
|
+
disabled?: boolean;
|
|
37
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const backdropFeatureStyles: import("lit").CSSResult;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type Placement } from '@floating-ui/dom';
|
|
2
|
+
import { type CSSResult } from 'lit';
|
|
3
|
+
export interface FloatingOptions {
|
|
4
|
+
placement?: Placement;
|
|
5
|
+
offsetPx?: number;
|
|
6
|
+
matchWidth?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare function openFloating(reference: Element, floating: HTMLElement, opts?: FloatingOptions): Promise<() => void>;
|
|
9
|
+
export declare function closeFloating(floating: HTMLElement, cleanup: (() => void) | null): void;
|
|
10
|
+
export declare const floatingPanelReset: CSSResult;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SidePanel } from './sidepanel';
|