@synthaxai/ui 1.0.0 → 1.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.
Files changed (36) hide show
  1. package/LICENSE +9 -0
  2. package/README.md +40 -220
  3. package/dist/data-display/DataTable/DataTable.svelte +14 -8
  4. package/dist/data-display/DataTable/DataTable.svelte.d.ts +64 -61
  5. package/dist/data-display/DataTable/DataTable.svelte.d.ts.map +1 -1
  6. package/dist/forms/DatePicker/DatePicker.svelte +1564 -0
  7. package/dist/forms/DatePicker/DatePicker.svelte.d.ts +129 -0
  8. package/dist/forms/DatePicker/DatePicker.svelte.d.ts.map +1 -0
  9. package/dist/forms/DatePicker/index.d.ts +8 -0
  10. package/dist/forms/DatePicker/index.d.ts.map +1 -0
  11. package/dist/forms/DatePicker/index.js +7 -0
  12. package/dist/forms/MultiSelect/MultiSelect.svelte +1651 -0
  13. package/dist/forms/MultiSelect/MultiSelect.svelte.d.ts +127 -0
  14. package/dist/forms/MultiSelect/MultiSelect.svelte.d.ts.map +1 -0
  15. package/dist/forms/MultiSelect/index.d.ts +9 -0
  16. package/dist/forms/MultiSelect/index.d.ts.map +1 -0
  17. package/dist/forms/MultiSelect/index.js +7 -0
  18. package/dist/forms/SearchInput/SearchInput.svelte +1319 -0
  19. package/dist/forms/SearchInput/SearchInput.svelte.d.ts +148 -0
  20. package/dist/forms/SearchInput/SearchInput.svelte.d.ts.map +1 -0
  21. package/dist/forms/SearchInput/index.d.ts +9 -0
  22. package/dist/forms/SearchInput/index.d.ts.map +1 -0
  23. package/dist/forms/SearchInput/index.js +7 -0
  24. package/dist/forms/TextInput/TextInput.svelte +763 -122
  25. package/dist/forms/TextInput/TextInput.svelte.d.ts +98 -13
  26. package/dist/forms/TextInput/TextInput.svelte.d.ts.map +1 -1
  27. package/dist/forms/TextInput/index.d.ts +7 -1
  28. package/dist/forms/TextInput/index.d.ts.map +1 -1
  29. package/dist/forms/TextInput/index.js +7 -1
  30. package/dist/forms/index.d.ts +3 -0
  31. package/dist/forms/index.d.ts.map +1 -1
  32. package/dist/forms/index.js +3 -0
  33. package/dist/index.d.ts +5 -1
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +5 -1
  36. package/package.json +7 -7
@@ -1,3 +1,36 @@
1
+ /**
2
+ * Healthcare-specific input mask presets.
3
+ * Use these with the `mask` prop for consistent formatting.
4
+ */
5
+ export declare const INPUT_MASKS: {
6
+ /** US Phone: (555) 555-5555 */
7
+ readonly PHONE_US: "(###) ###-####";
8
+ /** US Phone with country code: +1 (555) 555-5555 */
9
+ readonly PHONE_US_INTL: "+1 (###) ###-####";
10
+ /** Social Security Number: 123-45-6789 */
11
+ readonly SSN: "###-##-####";
12
+ /** Date (US format): 01/15/1990 */
13
+ readonly DATE_US: "##/##/####";
14
+ /** Date (ISO format): 1990-01-15 */
15
+ readonly DATE_ISO: "####-##-##";
16
+ /** ZIP Code: 12345 */
17
+ readonly ZIP: "#####";
18
+ /** ZIP+4: 12345-6789 */
19
+ readonly ZIP_PLUS4: "#####-####";
20
+ /** National Provider Identifier: 1234567890 */
21
+ readonly NPI: "##########";
22
+ /** 12-digit Member ID */
23
+ readonly MEMBER_ID_12: "############";
24
+ /** Credit Card: 4111-1111-1111-1111 */
25
+ readonly CREDIT_CARD: "####-####-####-####";
26
+ /** CVV: 123 */
27
+ readonly CVV: "###";
28
+ /** Time 12hr: 12:30 */
29
+ readonly TIME_12: "##:##";
30
+ /** Time 24hr: 14:30 */
31
+ readonly TIME_24: "##:##";
32
+ };
33
+ export type InputMask = (typeof INPUT_MASKS)[keyof typeof INPUT_MASKS] | string;
1
34
  import type { Snippet } from 'svelte';
2
35
  import type { HTMLInputAttributes } from 'svelte/elements';
3
36
  import type { InputMode, AutoComplete } from '../../types/index.js';
@@ -12,7 +45,7 @@ interface Props extends Omit<HTMLInputAttributes, 'class' | 'size'> {
12
45
  type?: InputType;
13
46
  /** Label text for the input */
14
47
  label: string;
15
- /** Current value */
48
+ /** Current value (bindable) */
16
49
  value?: string;
17
50
  /** Placeholder text */
18
51
  placeholder?: string;
@@ -50,14 +83,39 @@ interface Props extends Omit<HTMLInputAttributes, 'class' | 'size'> {
50
83
  hideLabel?: boolean;
51
84
  /** Additional CSS classes for the wrapper */
52
85
  class?: string;
53
- /** Format function to transform input value */
86
+ /** Format function to transform input value (legacy, prefer mask) */
54
87
  formatFn?: (value: string) => string;
88
+ /**
89
+ * Input mask pattern. Use # for digits, A for letters, * for alphanumeric.
90
+ * Example: "###-##-####" for SSN, "(###) ###-####" for phone
91
+ */
92
+ mask?: InputMask;
93
+ /** Character to show for unfilled mask positions (default: none) */
94
+ maskPlaceholder?: string;
95
+ /** Whether to include mask literals in the value (default: false, returns only user input) */
96
+ maskIncludeLiterals?: boolean;
97
+ /** Show clear button when input has value */
98
+ clearable?: boolean;
99
+ /** Show password visibility toggle (only for type="password") */
100
+ showPasswordToggle?: boolean;
101
+ /** Static text to display before the input */
102
+ prefix?: string;
103
+ /** Static text to display after the input */
104
+ suffix?: string;
105
+ /** Show loading spinner */
106
+ loading?: boolean;
107
+ /** Debounce delay for oninput (in ms) */
108
+ debounce?: number;
109
+ /** Called with debounced value */
110
+ ondebounce?: (value: string) => void;
55
111
  /** Input handler */
56
112
  oninput?: (event: Event) => void;
57
113
  /** Blur handler */
58
114
  onblur?: (event: FocusEvent) => void;
59
115
  /** Focus handler */
60
116
  onfocus?: (event: FocusEvent) => void;
117
+ /** Called when clear button is clicked */
118
+ onclear?: () => void;
61
119
  /** Test ID for e2e testing (Playwright, Cypress) */
62
120
  testId?: string;
63
121
  /** Show validation state immediately without waiting for interaction */
@@ -66,13 +124,15 @@ interface Props extends Omit<HTMLInputAttributes, 'class' | 'size'> {
66
124
  /**
67
125
  * TextInput
68
126
  *
69
- * A fully accessible text input component with validation states,
70
- * icons, character counting, and comprehensive ARIA support.
127
+ * A fully accessible, enhanced text input component with validation states,
128
+ * input masking, clearable button, password toggle, prefix/suffix support,
129
+ * and comprehensive ARIA support.
71
130
  *
72
- * Designed for healthcare applications with proper error handling
73
- * and clear visual feedback.
131
+ * Designed for healthcare applications with proper error handling,
132
+ * clear visual feedback, and support for common healthcare data formats
133
+ * like SSN, phone numbers, dates, NPI, and member IDs.
74
134
  *
75
- * @example
135
+ * @example Basic usage
76
136
  * <TextInput
77
137
  * id="patient-name"
78
138
  * label="Patient Name"
@@ -81,17 +141,42 @@ interface Props extends Omit<HTMLInputAttributes, 'class' | 'size'> {
81
141
  * required
82
142
  * />
83
143
  *
84
- * @example
144
+ * @example With masking (phone number)
145
+ * <TextInput
146
+ * label="Phone Number"
147
+ * value={phone}
148
+ * mask="(###) ###-####"
149
+ * inputMode="tel"
150
+ * placeholder="(555) 555-5555"
151
+ * />
152
+ *
153
+ * @example Clearable with loading
85
154
  * <TextInput
86
- * id="member-id"
87
155
  * label="Member ID"
88
156
  * value={memberId}
89
- * error={memberIdError}
90
- * hint="Enter your insurance member ID"
91
- * oninput={(e) => handleInput(e)}
157
+ * clearable
158
+ * loading={isValidating}
159
+ * hint="Enter your 12-digit member ID"
160
+ * />
161
+ *
162
+ * @example Password with toggle
163
+ * <TextInput
164
+ * label="Password"
165
+ * type="password"
166
+ * value={password}
167
+ * showPasswordToggle
168
+ * />
169
+ *
170
+ * @example With prefix/suffix
171
+ * <TextInput
172
+ * label="Amount"
173
+ * value={amount}
174
+ * prefix="$"
175
+ * suffix=".00"
176
+ * inputMode="decimal"
92
177
  * />
93
178
  */
94
- declare const TextInput: import("svelte").Component<Props, {}, "">;
179
+ declare const TextInput: import("svelte").Component<Props, {}, "value">;
95
180
  type TextInput = ReturnType<typeof TextInput>;
96
181
  export default TextInput;
97
182
  //# sourceMappingURL=TextInput.svelte.d.ts.map
@@ -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;AAI3D,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGnE,KAAK,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AACpC,KAAK,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAErF,UAAU,KAAM,SAAQ,IAAI,CAAC,mBAAmB,EAAE,OAAO,GAAG,MAAM,CAAC;IAClE,sCAAsC;IACtC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,sBAAsB;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iBAAiB;IACjB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+BAA+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+BAA+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,yBAAyB;IACzB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,wBAAwB;IACxB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sDAAsD;IACtD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACrC,oBAAoB;IACpB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,mBAAmB;IACnB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACrC,oBAAoB;IACpB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC1B;AAoKF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,QAAA,MAAM,SAAS,2CAAwC,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":"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"}
@@ -1,2 +1,8 @@
1
- export { default as TextInput } from './TextInput.svelte';
1
+ /**
2
+ * @synthaxai/ui - TextInput Component
3
+ *
4
+ * An enhanced text input component with masking, clearable button,
5
+ * password toggle, prefix/suffix, loading state, and debounce support.
6
+ */
7
+ export { default as TextInput, INPUT_MASKS, type InputMask } from './TextInput.svelte';
2
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/forms/TextInput/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/forms/TextInput/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1 +1,7 @@
1
- export { default as TextInput } from './TextInput.svelte';
1
+ /**
2
+ * @synthaxai/ui - TextInput Component
3
+ *
4
+ * An enhanced text input component with masking, clearable button,
5
+ * password toggle, prefix/suffix, loading state, and debounce support.
6
+ */
7
+ export { default as TextInput, INPUT_MASKS } from './TextInput.svelte';
@@ -10,4 +10,7 @@ export { Select } from './Select/index.js';
10
10
  export { Checkbox } from './Checkbox/index.js';
11
11
  export { RadioGroup } from './RadioGroup/index.js';
12
12
  export { FormField } from './FormField/index.js';
13
+ export { SearchInput } from './SearchInput/index.js';
14
+ export { MultiSelect } from './MultiSelect/index.js';
15
+ export { DatePicker } from './DatePicker/index.js';
13
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/forms/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,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,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/forms/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,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,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC"}
@@ -10,3 +10,6 @@ export { Select } from './Select/index.js';
10
10
  export { Checkbox } from './Checkbox/index.js';
11
11
  export { RadioGroup } from './RadioGroup/index.js';
12
12
  export { FormField } from './FormField/index.js';
13
+ export { SearchInput } from './SearchInput/index.js';
14
+ export { MultiSelect } from './MultiSelect/index.js';
15
+ export { DatePicker } from './DatePicker/index.js';
package/dist/index.d.ts CHANGED
@@ -13,12 +13,16 @@
13
13
  */
14
14
  export { Button } from './primitives/Button/index.js';
15
15
  export { Badge } from './primitives/Badge/index.js';
16
- export { TextInput } from './forms/TextInput/index.js';
16
+ export { TextInput, INPUT_MASKS, type InputMask } from './forms/TextInput/index.js';
17
17
  export { Textarea } from './forms/Textarea/index.js';
18
18
  export { Select } from './forms/Select/index.js';
19
19
  export { Checkbox } from './forms/Checkbox/index.js';
20
20
  export { RadioGroup } from './forms/RadioGroup/index.js';
21
21
  export { FormField } from './forms/FormField/index.js';
22
+ export { SearchInput, type SearchOption, type SearchOptionGroup } from './forms/SearchInput/index.js';
23
+ export { MultiSelect, type MultiSelectOption, type MultiSelectOptionGroup } from './forms/MultiSelect/index.js';
24
+ export { DatePicker } from './forms/DatePicker/index.js';
25
+ export { parseDate, formatDate, calculateAge, formatAge, type DateFormat } from './forms/DatePicker/DatePicker.svelte';
22
26
  export { Spinner } from './feedback/Spinner/index.js';
23
27
  export { ProgressBar } from './feedback/ProgressBar/index.js';
24
28
  export { EmptyState } from './feedback/EmptyState/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAKpD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAKvD,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAKxD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAKxD,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAK9D,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAKpE,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAKjE,YAAY,EAEX,IAAI,EACJ,OAAO,EACP,MAAM,EACN,YAAY,EAEZ,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,SAAS,EACT,YAAY,EAEZ,IAAI,EACJ,SAAS,EAET,WAAW,EACX,aAAa,EACb,SAAS,EAET,aAAa,EACb,cAAc,EAEd,KAAK,IAAI,SAAS,EAElB,QAAQ,EACR,QAAQ,EAER,aAAa,EACb,YAAY,EACZ,aAAa,EACb,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EAEN,EAAE,EACF,cAAc,EACd,KAAK,UAAU,EACf,KAAK,aAAa,EAElB,IAAI,EACJ,KAAK,EACL,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,UAAU,EACV,KAAK,GAAG,EACR,KAAK,qBAAqB,EAC1B,KAAK,SAAS,EAEd,QAAQ,EACR,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAKpD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtG,OAAO,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAChH,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EACN,SAAS,EACT,UAAU,EACV,YAAY,EACZ,SAAS,EACT,KAAK,UAAU,EACf,MAAM,sCAAsC,CAAC;AAK9C,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAKxD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAKxD,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAK9D,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAKpE,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAKjE,YAAY,EAEX,IAAI,EACJ,OAAO,EACP,MAAM,EACN,YAAY,EAEZ,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,SAAS,EACT,YAAY,EAEZ,IAAI,EACJ,SAAS,EAET,WAAW,EACX,aAAa,EACb,SAAS,EAET,aAAa,EACb,cAAc,EAEd,KAAK,IAAI,SAAS,EAElB,QAAQ,EACR,QAAQ,EAER,aAAa,EACb,YAAY,EACZ,aAAa,EACb,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EAEN,EAAE,EACF,cAAc,EACd,KAAK,UAAU,EACf,KAAK,aAAa,EAElB,IAAI,EACJ,KAAK,EACL,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,UAAU,EACV,KAAK,GAAG,EACR,KAAK,qBAAqB,EAC1B,KAAK,SAAS,EAEd,QAAQ,EACR,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,MAAM,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -19,12 +19,16 @@ export { Badge } from './primitives/Badge/index.js';
19
19
  // ============================================================================
20
20
  // Form Components
21
21
  // ============================================================================
22
- export { TextInput } from './forms/TextInput/index.js';
22
+ export { TextInput, INPUT_MASKS } from './forms/TextInput/index.js';
23
23
  export { Textarea } from './forms/Textarea/index.js';
24
24
  export { Select } from './forms/Select/index.js';
25
25
  export { Checkbox } from './forms/Checkbox/index.js';
26
26
  export { RadioGroup } from './forms/RadioGroup/index.js';
27
27
  export { FormField } from './forms/FormField/index.js';
28
+ export { SearchInput } from './forms/SearchInput/index.js';
29
+ export { MultiSelect } from './forms/MultiSelect/index.js';
30
+ export { DatePicker } from './forms/DatePicker/index.js';
31
+ export { parseDate, formatDate, calculateAge, formatAge } from './forms/DatePicker/DatePicker.svelte';
28
32
  // ============================================================================
29
33
  // Feedback Components
30
34
  // ============================================================================
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@synthaxai/ui",
3
- "version": "1.0.0",
3
+ "version": "1.2.0",
4
4
  "description": "Production-quality UI component library for Synthax healthcare applications",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",
@@ -75,12 +75,12 @@
75
75
  ],
76
76
  "peerDependencies": {
77
77
  "svelte": "^5.0.0",
78
- "lucide-svelte": "^0.400.0"
78
+ "lucide-svelte": ">=0.460.0"
79
79
  },
80
80
  "devDependencies": {
81
81
  "@biomejs/biome": "^1.9.4",
82
82
  "@sveltejs/adapter-auto": "^6.0.0",
83
- "@sveltejs/kit": "^2.49.4",
83
+ "@sveltejs/kit": "^2.50.1",
84
84
  "@sveltejs/package": "^2.3.0",
85
85
  "@sveltejs/vite-plugin-svelte": "^6.2.3",
86
86
  "@tailwindcss/postcss": "^4.1.18",
@@ -89,14 +89,14 @@
89
89
  "@types/node": "^25.0.8",
90
90
  "@vitest/coverage-v8": "^4.0.0",
91
91
  "jsdom": "^26.1.0",
92
- "lucide-svelte": "^0.562.0",
92
+ "lucide-svelte": "^0.563.0",
93
93
  "postcss": "^8.4.45",
94
- "svelte": "^5.46.1",
94
+ "svelte": "^5.49.1",
95
95
  "svelte-check": "^4.3.5",
96
96
  "tailwindcss": "^4.1.18",
97
97
  "typescript": "^5.0.0",
98
98
  "vite": "^7.3.1",
99
- "vitest": "^4.0.17"
99
+ "vitest": "^4.0.18"
100
100
  },
101
101
  "keywords": [
102
102
  "svelte",
@@ -109,7 +109,7 @@
109
109
  ],
110
110
  "repository": {
111
111
  "type": "git",
112
- "url": "https://github.com/synthaxai/synthax"
112
+ "url": "https://github.com/synthaxorg/ui"
113
113
  },
114
114
  "engines": {
115
115
  "node": ">=22.0.0"