mirror of
https://github.com/carbon-design-system/carbon-components-svelte.git
synced 2025-09-15 02:11:05 +00:00
* refactor(search): resolve svelte file paths * docs(Search): add reactive example * refactor(tag): use class name directive for tag types, resolve svelte icon path * chore(button-skeleton): deprecate small prop * fix(breadcrumb-item): type default slot * refactor(breadcrumb-skeleton): omit unused index * refactor(aspect-ratio): use class name directive * refactor(accordion): use the class name directive, resolve svelte icon paths * refactor(code-snippet): use class name directive, resolve svelte icon paths * fix(code-snippet-skeleton): CodeSnippetSkeleton can only be single or multi * refactor(content-switcher): use class name directive * docs(content-switcher): add reactive example * docs(content-switcher): remove unused import * docs(toggle): add reactive example * refactor(tooltip-definition): use class name directive * refactor(tooltip-icon): use class name directive * refactor(tooltip): resolve svelte icon import * fix(select): type dispatched change event * refactor(select): resolve svelte icon import * feat(select-item): spread rest props, avoid $ variable name * fix(pagination-nav): type dispatched events * refactor(pagination): resolve svelte imports * fix(pagination): type dispatched update event * fix(overflow-menu): type dispatched close event * fix(number-input): type dispatched change event * refactor(modal): use class name directive, resolve svelte imports * refactor(inline-loading): use class name directive, resolve svelte imports * refactor(composed-modal): resolve svelte icon imports * refactor(combo-box): resolve svelte imports * fix(fluid-form): rest props should not override Form class * refactor(progress-step): resolve svelte icon imports
38 lines
773 B
Svelte
38 lines
773 B
Svelte
<script>
|
|
/** Specify the option value */
|
|
export let value = "";
|
|
|
|
/** Specify the option text */
|
|
export let text = "";
|
|
|
|
/** Set to `true` to hide the option */
|
|
export let hidden = false;
|
|
|
|
/** Set to `true` to disable the option */
|
|
export let disabled = false;
|
|
|
|
import { getContext, onDestroy } from "svelte";
|
|
|
|
const ctx = getContext("Select") || getContext("TimePickerSelect");
|
|
|
|
let selected = false;
|
|
|
|
const unsubscribe = ctx.selectedValue.subscribe((currentValue) => {
|
|
selected = currentValue === value;
|
|
});
|
|
|
|
onDestroy(() => {
|
|
unsubscribe();
|
|
});
|
|
</script>
|
|
|
|
<option
|
|
value="{value}"
|
|
disabled="{disabled}"
|
|
hidden="{hidden}"
|
|
selected="{selected}"
|
|
class:bx--select-option="{true}"
|
|
{...$$restProps}
|
|
>
|
|
{text || value}
|
|
</option>
|