diff --git a/tests/TextInput.test.svelte b/tests/TextInput.test.svelte
index e9f77639..082b60e2 100644
--- a/tests/TextInput.test.svelte
+++ b/tests/TextInput.test.svelte
@@ -5,13 +5,13 @@
+
+
diff --git a/types/TextInput/TextInput.svelte.d.ts b/types/TextInput/TextInput.svelte.d.ts
index ef72dae0..9cbb422d 100644
--- a/types/TextInput/TextInput.svelte.d.ts
+++ b/types/TextInput/TextInput.svelte.d.ts
@@ -2,10 +2,38 @@ import type { SvelteComponentTyped } from "svelte";
export interface TextInputProps {
/**
- * Set to "char" to enable display the character counter or "word" to display the word count.
- * @default undefined
+ * Specify the input value
+ * `value` will be set to `null` if `typeof value === "number"` and `value` is empty
+ * @default ""
*/
- counter?: "char" | "word";
+ value?: null | number | string;
+
+ /**
+ * Obtain a reference to the input HTML element
+ * @default null
+ */
+ ref?: null | HTMLInputElement;
+
+ /**
+ * Set the size of the input
+ * @default "md"
+ */
+ size?: "sm" | "md" | "lg";
+
+ /**
+ * Specify the placeholder text
+ * @default ""
+ */
+ placeholder?: string;
+
+ /**
+ * Set to `true` to enable the light variant
+ * For use on $ui-01 backgrounds only. Don't use this to make tile background color same as container background color
+ * The light prop for `TextInput` has been deprecated in favor of the new `Layer` Layer component. It will be removed in the next major release
+ * @deprecated
+ * @default false
+ */
+ light?: boolean;
/**
* Set to `true` to disable the input
@@ -14,10 +42,10 @@ export interface TextInputProps {
disabled?: boolean;
/**
- * Specify the helper text
+ * Specify the label text
* @default ""
*/
- helperText?: string;
+ labelText?: string;
/**
* Set to `true` to visually hide the label text
@@ -26,16 +54,23 @@ export interface TextInputProps {
hideLabel?: boolean;
/**
- * Set an id for the input element
- * @default "ccs-" + Math.random().toString(36)
+ * Specify the helper text
+ * @default ""
*/
- id?: string;
+ helperText?: string;
/**
- * Set to `true` to use the inline variant
+ * Set to `true` to enable display the character counter. Requires `maxCount` to be set.
* @default false
*/
- inline?: boolean;
+ counter?: boolean;
+
+ /**
+ * Specify the maximum number of characters/words allowed
+ * This is needed in order for `counter` to display
+ * @default undefined
+ */
+ maxCount?: number;
/**
* Set to `true` to indicate an invalid state
@@ -49,71 +84,6 @@ export interface TextInputProps {
*/
invalidText?: string;
- /**
- * Specify the label text
- * @default ""
- */
- labelText?: string;
-
- /**
- * Set to `true` to enable the light variant
- * For use on $ui-01 backgrounds only. Don't use this to make tile background color same as container background color
- * The light prop for `TextInput` has been deprecated in favor of the new `Layer` Layer component. It will be removed in the next major release
- * @deprecated
- * @default false
- */
- light?: boolean;
-
- /**
- * Specify the maximum number of characters/words allowed
- * This is needed in order for `counter` to display
- * @default undefined
- */
- maxCount?: number;
-
- /**
- * Specify a name attribute for the input
- * @default undefined
- */
- name?: string;
-
- /**
- * Specify the placeholder text
- * @default ""
- */
- placeholder?: string;
-
- /**
- * Set to `true` to use the read-only variant
- * @default false
- */
- readonly?: boolean;
-
- /**
- * Obtain a reference to the input HTML element
- * @default null
- */
- ref?: null | HTMLInputElement;
-
- /**
- * Set to `true` to mark the field as required
- * @default false
- */
- required?: boolean;
-
- /**
- * Set the size of the input
- * @default undefined
- */
- size?: "sm" | "md" | "lg";
-
- /**
- * Specify the input value
- * `value` will be set to `null` if `type = "number"` and the value is empty
- * @default ""
- */
- value?: null | number | string;
-
/**
* Set to `true` to indicate an warning state
* @default false
@@ -126,29 +96,59 @@ export interface TextInputProps {
*/
warnText?: string;
+ /**
+ * Set an id for the input element
+ * @default "ccs-" + Math.random().toString(36)
+ */
+ id?: string;
+
+ /**
+ * Specify a name attribute for the input
+ * @default undefined
+ */
+ name?: string;
+
+ /**
+ * Set to `true` to use the inline variant
+ * @default false
+ */
+ inline?: boolean;
+
+ /**
+ * Set to `true` to mark the field as required
+ * @default false
+ */
+ required?: boolean;
+
+ /**
+ * Set to `true` to use the read-only variant
+ * @default false
+ */
+ readonly?: boolean;
+
/**
* Set HTML attributes on the `label` element
* @default {}
*/
- labelAttributes?: Record;
+ labelAttributes?: import("svelte/elements").HTMLLabelAttributes;
/**
* Set HTML attributes on the `input` element
* @default {}
*/
- inputAttributes?: Record;
+ inputAttributes?: import("svelte/elements").HTMLInputAttributes;
}
export default class TextInput extends SvelteComponentTyped<
TextInputProps,
{
- change: CustomEvent;
- input: CustomEvent;
click: WindowEventMap["click"];
pointerup: WindowEventMap["pointerup"];
pointerover: WindowEventMap["pointerover"];
pointerenter: WindowEventMap["pointerenter"];
pointerleave: WindowEventMap["pointerleave"];
+ change: WindowEventMap["change"];
+ input: WindowEventMap["input"];
keydown: WindowEventMap["keydown"];
keyup: WindowEventMap["keyup"];
focus: WindowEventMap["focus"];
diff --git a/types/TextInput/TextInputSkeleton.svelte.d.ts b/types/TextInput/TextInputSkeleton.svelte.d.ts
index 23e827a9..8bf70996 100644
--- a/types/TextInput/TextInputSkeleton.svelte.d.ts
+++ b/types/TextInput/TextInputSkeleton.svelte.d.ts
@@ -11,7 +11,7 @@ export interface TextInputSkeletonProps {
* Specify the div HTML attributes for the skeleton container
* @default {}
*/
- divAttributes?: Record;
+ divAttributes?: import("svelte/elements").HTMLDivAttributes;
}
export default class TextInputSkeleton extends SvelteComponentTyped<