diff --git a/packages/core/package.json b/packages/core/package.json index 3a778d7e..bea2453b 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@viamrobotics/prime-core", - "version": "0.0.121", + "version": "0.0.122", "publishConfig": { "access": "public" }, diff --git a/packages/core/src/lib/select/searchable-select.svelte b/packages/core/src/lib/select/searchable-select.svelte index f267593b..24fca9b6 100644 --- a/packages/core/src/lib/select/searchable-select.svelte +++ b/packages/core/src/lib/select/searchable-select.svelte @@ -42,6 +42,9 @@ export let values: string[] = []; /** The placeholder of the input. */ export let placeholder = ''; +/** Optional id used in parent label `for` attribute */ +export let id: string | undefined = undefined; + /** * Whether value must be constrained to `options` on change. * - `false` (Default) - any value may be selected @@ -307,6 +310,7 @@ const handleKeydown = createHandleKey({ menuId={LIST_ID} isOpen={isExpanded} isFocused={menuState === FOCUS_ITEM ? false : undefined} + {id} cx={[{ 'caret-transparent': menuState === FOCUS_ITEM }, inputCx]} icon={selectedSearchOption?.icon} aria-autocomplete="list" diff --git a/packages/core/src/lib/select/select-input.svelte b/packages/core/src/lib/select/select-input.svelte index 705b34e3..ed26c480 100644 --- a/packages/core/src/lib/select/select-input.svelte +++ b/packages/core/src/lib/select/select-input.svelte @@ -12,6 +12,9 @@ export let state: InputState = InputStates.NONE; export let inputElement: HTMLInputElement | undefined = undefined; export let icon: IconName | undefined = undefined; +/** Optional id used in parent label `for` attribute */ +export let id: string | undefined = undefined; + /** Additional CSS classes to pass to the input. */ let extraClasses: cx.Argument = ''; export { extraClasses as cx }; @@ -61,6 +64,7 @@ $: errorClasses = { /> -