@salmexio/ui 0.1.1 → 0.3.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.
Files changed (76) hide show
  1. package/dist/dialogs/ContextMenu/ContextMenu.svelte +521 -0
  2. package/dist/dialogs/ContextMenu/ContextMenu.svelte.d.ts +53 -0
  3. package/dist/dialogs/ContextMenu/ContextMenu.svelte.d.ts.map +1 -0
  4. package/dist/dialogs/ContextMenu/index.d.ts +3 -0
  5. package/dist/dialogs/ContextMenu/index.d.ts.map +1 -0
  6. package/dist/dialogs/ContextMenu/index.js +1 -0
  7. package/dist/dialogs/Modal/Modal.svelte +140 -140
  8. package/dist/dialogs/Modal/Modal.svelte.d.ts.map +1 -1
  9. package/dist/dialogs/index.d.ts +2 -0
  10. package/dist/dialogs/index.d.ts.map +1 -1
  11. package/dist/dialogs/index.js +1 -0
  12. package/dist/feedback/Alert/Alert.svelte +63 -124
  13. package/dist/feedback/Alert/Alert.svelte.d.ts +1 -1
  14. package/dist/feedback/Alert/Alert.svelte.d.ts.map +1 -1
  15. package/dist/feedback/Spinner/Spinner.svelte +55 -55
  16. package/dist/feedback/Spinner/Spinner.svelte.d.ts.map +1 -1
  17. package/dist/forms/Checkbox/Checkbox.svelte +64 -64
  18. package/dist/forms/Checkbox/Checkbox.svelte.d.ts.map +1 -1
  19. package/dist/forms/Select/Select.svelte +883 -0
  20. package/dist/forms/Select/Select.svelte.d.ts +68 -0
  21. package/dist/forms/Select/Select.svelte.d.ts.map +1 -0
  22. package/dist/forms/Select/index.d.ts +3 -0
  23. package/dist/forms/Select/index.d.ts.map +1 -0
  24. package/dist/forms/Select/index.js +1 -0
  25. package/dist/forms/TextInput/TextInput.svelte +141 -141
  26. package/dist/forms/TextInput/TextInput.svelte.d.ts.map +1 -1
  27. package/dist/forms/index.d.ts +2 -0
  28. package/dist/forms/index.d.ts.map +1 -1
  29. package/dist/forms/index.js +1 -0
  30. package/dist/index.d.ts +1 -0
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +1 -0
  33. package/dist/layout/Card/Card.svelte +67 -207
  34. package/dist/layout/Card/Card.svelte.d.ts +3 -9
  35. package/dist/layout/Card/Card.svelte.d.ts.map +1 -1
  36. package/dist/layout/Container/Container.svelte +34 -34
  37. package/dist/layout/Container/Container.svelte.d.ts.map +1 -1
  38. package/dist/navigation/CommandPalette/CommandPalette.svelte +574 -0
  39. package/dist/navigation/CommandPalette/CommandPalette.svelte.d.ts +47 -0
  40. package/dist/navigation/CommandPalette/CommandPalette.svelte.d.ts.map +1 -0
  41. package/dist/navigation/CommandPalette/index.d.ts +3 -0
  42. package/dist/navigation/CommandPalette/index.d.ts.map +1 -0
  43. package/dist/navigation/CommandPalette/index.js +1 -0
  44. package/dist/navigation/Tabs/Tabs.svelte +100 -101
  45. package/dist/navigation/Tabs/Tabs.svelte.d.ts.map +1 -1
  46. package/dist/navigation/index.d.ts +2 -0
  47. package/dist/navigation/index.d.ts.map +1 -1
  48. package/dist/navigation/index.js +1 -0
  49. package/dist/primitives/Badge/Badge.svelte +77 -48
  50. package/dist/primitives/Badge/Badge.svelte.d.ts +0 -2
  51. package/dist/primitives/Badge/Badge.svelte.d.ts.map +1 -1
  52. package/dist/primitives/Button/Button.svelte +86 -60
  53. package/dist/primitives/Button/Button.svelte.d.ts +1 -1
  54. package/dist/primitives/Button/Button.svelte.d.ts.map +1 -1
  55. package/dist/routes/+layout.svelte +1 -1
  56. package/dist/styles/tokens.css +96 -90
  57. package/dist/utils/keyboard.js +3 -3
  58. package/dist/windowing/Window/Window.svelte +602 -0
  59. package/dist/windowing/Window/Window.svelte.d.ts +65 -0
  60. package/dist/windowing/Window/Window.svelte.d.ts.map +1 -0
  61. package/dist/windowing/Window/index.d.ts +2 -0
  62. package/dist/windowing/Window/index.d.ts.map +1 -0
  63. package/dist/windowing/Window/index.js +1 -0
  64. package/dist/windowing/WindowManager/WindowManager.svelte +410 -0
  65. package/dist/windowing/WindowManager/WindowManager.svelte.d.ts +38 -0
  66. package/dist/windowing/WindowManager/WindowManager.svelte.d.ts.map +1 -0
  67. package/dist/windowing/WindowManager/index.d.ts +2 -0
  68. package/dist/windowing/WindowManager/index.d.ts.map +1 -0
  69. package/dist/windowing/WindowManager/index.js +1 -0
  70. package/dist/windowing/index.d.ts +5 -0
  71. package/dist/windowing/index.d.ts.map +1 -0
  72. package/dist/windowing/index.js +3 -0
  73. package/dist/windowing/windowStore.svelte.d.ts +49 -0
  74. package/dist/windowing/windowStore.svelte.d.ts.map +1 -0
  75. package/dist/windowing/windowStore.svelte.js +170 -0
  76. package/package.json +1 -1
@@ -0,0 +1,68 @@
1
+ export interface SelectOption {
2
+ value: string;
3
+ label: string;
4
+ disabled?: boolean;
5
+ }
6
+ export interface SelectGroup {
7
+ label: string;
8
+ options: SelectOption[];
9
+ }
10
+ type SelectSize = 'sm' | 'md' | 'lg';
11
+ interface Props {
12
+ /** Visible label (required for a11y) */
13
+ label: string;
14
+ /** Flat list of options */
15
+ options?: SelectOption[];
16
+ /** Grouped options (mutually exclusive with options) */
17
+ groups?: SelectGroup[];
18
+ /** Selected value (single mode) */
19
+ value?: string;
20
+ /** Selected values (multi mode) */
21
+ values?: string[];
22
+ /** Enable multi-select with checkboxes */
23
+ multiple?: boolean;
24
+ /** Placeholder when nothing selected */
25
+ placeholder?: string;
26
+ /** Error message */
27
+ error?: string;
28
+ /** Hint text */
29
+ hint?: string;
30
+ /** Size variant */
31
+ size?: SelectSize;
32
+ /** Disabled state */
33
+ disabled?: boolean;
34
+ /** Required field */
35
+ required?: boolean;
36
+ /** Hide label visually (still accessible) */
37
+ hideLabel?: boolean;
38
+ /** Additional CSS class */
39
+ class?: string;
40
+ /** Called when value changes (single mode) */
41
+ onchange?: (value: string) => void;
42
+ /** Called when values change (multi mode) */
43
+ onchangemulti?: (values: string[]) => void;
44
+ /** Test ID */
45
+ testId?: string;
46
+ }
47
+ /**
48
+ * Select
49
+ *
50
+ * Win2K × Basquiat — Dropdown select with sunken trigger field, raised panel,
51
+ * keyboard-first navigation, type-ahead search, option groups, and multi-select.
52
+ *
53
+ * Follows WAI-ARIA APG Select-Only Combobox pattern: DOM focus stays on
54
+ * the trigger button; visual focus in the listbox is communicated via
55
+ * aria-activedescendant. The dropdown is portaled to document.body via
56
+ * $effect to escape transforms/overflow on ancestor elements.
57
+ *
58
+ * @example
59
+ * <Select
60
+ * label="Country"
61
+ * options={[{ value: 'us', label: 'United States' }, { value: 'uk', label: 'United Kingdom' }]}
62
+ * bind:value={selectedCountry}
63
+ * />
64
+ */
65
+ declare const Select: import("svelte").Component<Props, {}, "value" | "values">;
66
+ type Select = ReturnType<typeof Select>;
67
+ export default Select;
68
+ //# sourceMappingURL=Select.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select.svelte.d.ts","sourceRoot":"","sources":["../../../src/forms/Select/Select.svelte.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,YAAY;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,YAAY,EAAE,CAAC;CACxB;AAQD,KAAK,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAErC,UAAU,KAAK;IACd,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,wDAAwD;IACxD,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mBAAmB;IACnB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,6CAA6C;IAC7C,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC3C,cAAc;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAudD;;;;;;;;;;;;;;;;;GAiBG;AACH,QAAA,MAAM,MAAM,2DAAwC,CAAC;AACrD,KAAK,MAAM,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC;AACxC,eAAe,MAAM,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { default as Select } from './Select.svelte';
2
+ export type { SelectOption, SelectGroup } from './Select.svelte';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/forms/Select/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpD,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1 @@
1
+ export { default as Select } from './Select.svelte';
@@ -5,148 +5,148 @@
5
5
  Label, error, hint, prefix/suffix, clearable, password toggle. Full a11y.
6
6
  -->
7
7
  <script lang="ts">
8
- import type { Snippet } from 'svelte';
9
- import type { HTMLInputAttributes } from 'svelte/elements';
10
- import { cn } from '../../utils/cn.js';
11
-
12
- type InputSize = 'sm' | 'md' | 'lg';
13
- type InputMode = 'none' | 'text' | 'search' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal';
14
-
15
- interface Props extends Omit<HTMLInputAttributes, 'class' | 'size' | 'inputmode' | 'autocomplete'> {
16
- id?: string;
17
- name?: string;
18
- type?: 'text' | 'email' | 'password' | 'tel' | 'url' | 'search' | 'number';
19
- label: string;
20
- value?: string;
21
- placeholder?: string;
22
- required?: boolean;
23
- disabled?: boolean;
24
- readonly?: boolean;
25
- error?: string;
26
- hint?: string;
27
- successMessage?: string;
28
- maxLength?: number;
29
- minLength?: number;
30
- showCharCount?: boolean;
31
- pattern?: string;
32
- inputMode?: InputMode;
33
- autocomplete?: string;
34
- size?: InputSize;
35
- iconLeft?: Snippet;
36
- iconRight?: Snippet;
37
- hideLabel?: boolean;
38
- class?: string;
39
- prefix?: string;
40
- suffix?: string;
41
- clearable?: boolean;
42
- showPasswordToggle?: boolean;
43
- loading?: boolean;
44
- oninput?: (event: Event) => void;
45
- onblur?: (event: FocusEvent) => void;
46
- onfocus?: (event: FocusEvent) => void;
47
- onclear?: () => void;
48
- testId?: string;
49
- validateOnMount?: boolean;
50
- }
51
-
52
- let {
53
- id = `input-${Math.random().toString(36).slice(2, 9)}`,
54
- name,
55
- type = 'text',
56
- label,
57
- value = $bindable(''),
58
- placeholder = '',
59
- required = false,
60
- disabled = false,
61
- readonly = false,
62
- error = '',
63
- hint = '',
64
- successMessage = '',
65
- maxLength,
66
- minLength,
67
- showCharCount = false,
68
- pattern,
69
- inputMode = 'text',
70
- autocomplete = 'off',
71
- size = 'md',
72
- iconLeft,
73
- iconRight,
74
- hideLabel = false,
75
- class: className = '',
76
- prefix,
77
- suffix,
78
- clearable = false,
79
- showPasswordToggle = false,
80
- loading = false,
81
- oninput,
82
- onblur,
83
- onfocus,
84
- onclear,
85
- testId,
86
- validateOnMount = false,
87
- ...restProps
88
- }: Props = $props();
89
-
90
- let inputRef = $state<HTMLInputElement | undefined>();
91
- let isFocused = $state(false);
92
- let hasInteracted = $state(false);
93
- let passwordVisible = $state(false);
94
-
95
- const shouldValidate = $derived(hasInteracted || validateOnMount);
96
- const showError = $derived(shouldValidate && !!error);
97
- const showSuccess = $derived(shouldValidate && !error && !!value && !!successMessage);
98
- const effectiveType = $derived(type === 'password' && passwordVisible ? 'text' : type);
99
- const errorId = $derived(`${id}-error`);
100
- const hintId = $derived(`${id}-hint`);
101
- const hasRightContent = $derived(
102
- loading ||
103
- showError ||
104
- showSuccess ||
105
- (clearable && value && !disabled && !readonly) ||
106
- (showPasswordToggle && type === 'password') ||
8
+ import type { Snippet } from 'svelte';
9
+ import type { HTMLInputAttributes } from 'svelte/elements';
10
+ import { cn } from '../../utils/cn.js';
11
+
12
+ type InputSize = 'sm' | 'md' | 'lg';
13
+ type InputMode = 'none' | 'text' | 'search' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal';
14
+
15
+ interface Props extends Omit<HTMLInputAttributes, 'class' | 'size' | 'inputmode' | 'autocomplete'> {
16
+ id?: string;
17
+ name?: string;
18
+ type?: 'text' | 'email' | 'password' | 'tel' | 'url' | 'search' | 'number';
19
+ label: string;
20
+ value?: string;
21
+ placeholder?: string;
22
+ required?: boolean;
23
+ disabled?: boolean;
24
+ readonly?: boolean;
25
+ error?: string;
26
+ hint?: string;
27
+ successMessage?: string;
28
+ maxLength?: number;
29
+ minLength?: number;
30
+ showCharCount?: boolean;
31
+ pattern?: string;
32
+ inputMode?: InputMode;
33
+ autocomplete?: string;
34
+ size?: InputSize;
35
+ iconLeft?: Snippet;
36
+ iconRight?: Snippet;
37
+ hideLabel?: boolean;
38
+ class?: string;
39
+ prefix?: string;
40
+ suffix?: string;
41
+ clearable?: boolean;
42
+ showPasswordToggle?: boolean;
43
+ loading?: boolean;
44
+ oninput?: (event: Event) => void;
45
+ onblur?: (event: FocusEvent) => void;
46
+ onfocus?: (event: FocusEvent) => void;
47
+ onclear?: () => void;
48
+ testId?: string;
49
+ validateOnMount?: boolean;
50
+ }
51
+
52
+ let {
53
+ id = `input-${Math.random().toString(36).slice(2, 9)}`,
54
+ name,
55
+ type = 'text',
56
+ label,
57
+ value = $bindable(''),
58
+ placeholder = '',
59
+ required = false,
60
+ disabled = false,
61
+ readonly = false,
62
+ error = '',
63
+ hint = '',
64
+ successMessage = '',
65
+ maxLength,
66
+ minLength,
67
+ showCharCount = false,
68
+ pattern,
69
+ inputMode = 'text',
70
+ autocomplete = 'off',
71
+ size = 'md',
72
+ iconLeft,
73
+ iconRight,
74
+ hideLabel = false,
75
+ class: className = '',
76
+ prefix,
77
+ suffix,
78
+ clearable = false,
79
+ showPasswordToggle = false,
80
+ loading = false,
81
+ oninput,
82
+ onblur,
83
+ onfocus,
84
+ onclear,
85
+ testId,
86
+ validateOnMount = false,
87
+ ...restProps
88
+ }: Props = $props();
89
+
90
+ let inputRef = $state<HTMLInputElement | undefined>();
91
+ let isFocused = $state(false);
92
+ let hasInteracted = $state(false);
93
+ let passwordVisible = $state(false);
94
+
95
+ const shouldValidate = $derived(hasInteracted || validateOnMount);
96
+ const showError = $derived(shouldValidate && !!error);
97
+ const showSuccess = $derived(shouldValidate && !error && !!value && !!successMessage);
98
+ const effectiveType = $derived(type === 'password' && passwordVisible ? 'text' : type);
99
+ const errorId = $derived(`${id}-error`);
100
+ const hintId = $derived(`${id}-hint`);
101
+ const hasRightContent = $derived(
102
+ loading ||
103
+ showError ||
104
+ showSuccess ||
105
+ (clearable && value && !disabled && !readonly) ||
106
+ (showPasswordToggle && type === 'password') ||
107
107
  !!iconRight
108
- );
109
- const ariaDescribedBy = $derived(
110
- [error && errorId, hint && hintId].filter(Boolean).join(' ') || undefined
111
- );
112
-
113
- function handleInput(e: Event) {
114
- const target = e.target as HTMLInputElement;
115
- value = target.value;
116
- oninput?.(e);
117
- }
118
-
119
- function handleBlur(e: FocusEvent) {
120
- isFocused = false;
121
- hasInteracted = true;
122
- onblur?.(e);
123
- }
124
-
125
- function handleFocus(e: FocusEvent) {
126
- isFocused = true;
127
- onfocus?.(e);
128
- }
129
-
130
- function handleClear() {
131
- value = '';
132
- if (inputRef) {
133
- inputRef.value = '';
134
- inputRef.focus();
135
- }
136
- onclear?.();
137
- }
138
-
139
- function togglePassword() {
140
- passwordVisible = !passwordVisible;
141
- inputRef?.focus();
142
- }
143
-
144
- function handleKeyDown(e: KeyboardEvent) {
145
- if (e.key === 'Escape' && clearable && value && !disabled && !readonly) {
146
- e.preventDefault();
147
- handleClear();
148
- }
149
- }
108
+ );
109
+ const ariaDescribedBy = $derived(
110
+ [error && errorId, hint && hintId].filter(Boolean).join(' ') || undefined
111
+ );
112
+
113
+ function handleInput(e: Event) {
114
+ const target = e.target as HTMLInputElement;
115
+ value = target.value;
116
+ oninput?.(e);
117
+ }
118
+
119
+ function handleBlur(e: FocusEvent) {
120
+ isFocused = false;
121
+ hasInteracted = true;
122
+ onblur?.(e);
123
+ }
124
+
125
+ function handleFocus(e: FocusEvent) {
126
+ isFocused = true;
127
+ onfocus?.(e);
128
+ }
129
+
130
+ function handleClear() {
131
+ value = '';
132
+ if (inputRef) {
133
+ inputRef.value = '';
134
+ inputRef.focus();
135
+ }
136
+ onclear?.();
137
+ }
138
+
139
+ function togglePassword() {
140
+ passwordVisible = !passwordVisible;
141
+ inputRef?.focus();
142
+ }
143
+
144
+ function handleKeyDown(e: KeyboardEvent) {
145
+ if (e.key === 'Escape' && clearable && value && !disabled && !readonly) {
146
+ e.preventDefault();
147
+ handleClear();
148
+ }
149
+ }
150
150
  </script>
151
151
 
152
152
  <div
@@ -1 +1 @@
1
- {"version":3,"file":"TextInput.svelte.d.ts","sourceRoot":"","sources":["../../../src/forms/TextInput/TextInput.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAI1D,KAAK,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AACpC,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAE9F,UAAU,KAAM,SAAQ,IAAI,CAAC,mBAAmB,EAAE,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,cAAc,CAAC;IACjG,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC3E,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC1B;AAuNF;;;;;GAKG;AACH,QAAA,MAAM,SAAS,gDAAwC,CAAC;AACxD,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC;AAC9C,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"TextInput.svelte.d.ts","sourceRoot":"","sources":["../../../src/forms/TextInput/TextInput.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAI3D,KAAK,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AACpC,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAE9F,UAAU,KAAM,SAAQ,IAAI,CAAC,mBAAmB,EAAE,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,cAAc,CAAC;IACjG,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC3E,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC1B;AAuND;;;;;GAKG;AACH,QAAA,MAAM,SAAS,gDAAwC,CAAC;AACxD,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC;AAC9C,eAAe,SAAS,CAAC"}
@@ -1,3 +1,5 @@
1
1
  export { TextInput } from './TextInput/index.js';
2
2
  export { Checkbox } from './Checkbox/index.js';
3
+ export { Select } from './Select/index.js';
4
+ export type { SelectOption, SelectGroup } from './Select/index.js';
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/forms/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/forms/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export { TextInput } from './TextInput/index.js';
2
2
  export { Checkbox } from './Checkbox/index.js';
3
+ export { Select } from './Select/index.js';
package/dist/index.d.ts CHANGED
@@ -4,5 +4,6 @@ export * from './layout/index.js';
4
4
  export * from './feedback/index.js';
5
5
  export * from './forms/index.js';
6
6
  export * from './dialogs/index.js';
7
+ export * from './windowing/index.js';
7
8
  export * from './utils/index.js';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -4,4 +4,5 @@ export * from './layout/index.js';
4
4
  export * from './feedback/index.js';
5
5
  export * from './forms/index.js';
6
6
  export * from './dialogs/index.js';
7
+ export * from './windowing/index.js';
7
8
  export * from './utils/index.js';