/Users/rob/code/scratchpad-api

We watch this folder for package.json changes during dev.

No certificate uploaded

Styled quick start

Copy this entrypoint first. It includes the imports required to get the component on screen.

svelte
<script lang="ts">
  import '@dryui/ui/themes/default.css';
  import '@dryui/ui/themes/dark.css';
  import { FileSelect, Field, Label } from '@dryui/ui';
</script>

<Field.Root>
  <Label>Project folder</Label>
  <FileSelect.Root>
    <FileSelect.Trigger>...</FileSelect.Trigger>
    <FileSelect.Value>...</FileSelect.Value>
    <FileSelect.Clear>...</FileSelect.Clear>
  </FileSelect.Root>
</Field.Root>

Import options

Root package

ts
import { FileSelect } from '@dryui/ui'

Per-component subpath

ts
import { FileSelect } from '@dryui/ui/file-select'

API

Props, CSS variables, and the public data attributes you can target when styling.

Prop Type Description Default Required Bindable

FileSelect.Root

value
null
Current controlled or bindable value. null — —
accept
string
— '' — —
directory
boolean
— true — —
onrequest
(() => Promise<string | null>)
— — — —
onchange
((value: string | null) => void)
— — — —
disabled
boolean
Prevents interaction and applies disabled styling. false — —
children
Snippet
Content rendered inside the component. — ✓ —

FileSelect.Trigger

size
smmdlg
Size preset affecting density, spacing, or typography. — — —
children
Snippet
Content rendered inside the component. — ✓ —

FileSelect.Value

placeholder
string
Hint text shown when no value is selected or entered. 'No file selected' — —

FileSelect.Clear

children
Snippet
Content rendered inside the component. — — —