@stacksjs/components 0.2.571 → 0.2.573

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 (172) hide show
  1. package/dist/components/CodeBlock.d.ts +35 -0
  2. package/dist/components/Footer.d.ts +12 -0
  3. package/dist/components/Hero.d.ts +7 -0
  4. package/dist/components/Installation.d.ts +9 -0
  5. package/dist/components/index.d.ts +4 -4
  6. package/dist/index.d.ts +4 -4
  7. package/dist/ui/accordion/Accordion.d.ts +22 -0
  8. package/dist/ui/accordion/AccordionItem.d.ts +11 -0
  9. package/dist/ui/accordion/index.d.ts +2 -2
  10. package/dist/ui/audio/Audio.d.ts +4 -0
  11. package/dist/ui/audio/index.d.ts +1 -1
  12. package/dist/ui/auth/Login.d.ts +30 -0
  13. package/dist/ui/auth/Signup.d.ts +18 -0
  14. package/dist/ui/auth/TwoFactorChallenge.d.ts +24 -0
  15. package/dist/ui/auth/index.d.ts +3 -3
  16. package/dist/ui/avatar/Avatar.d.ts +17 -0
  17. package/dist/ui/avatar/index.d.ts +1 -1
  18. package/dist/ui/badge/Badge.d.ts +42 -0
  19. package/dist/ui/badge/index.d.ts +1 -1
  20. package/dist/ui/breadcrumb/Breadcrumb.d.ts +13 -0
  21. package/dist/ui/breadcrumb/index.d.ts +1 -1
  22. package/dist/ui/button/Button.d.ts +103 -0
  23. package/dist/ui/button/index.d.ts +1 -1
  24. package/dist/ui/calendar/Calendar.d.ts +67 -0
  25. package/dist/ui/calendar/index.d.ts +1 -1
  26. package/dist/ui/card/Card.d.ts +14 -0
  27. package/dist/ui/card/index.d.ts +1 -1
  28. package/dist/ui/chat/ChatInbox.d.ts +15 -0
  29. package/dist/ui/chat/ChatLauncher.d.ts +8 -0
  30. package/dist/ui/chat/ChatMessage.d.ts +9 -0
  31. package/dist/ui/chat/ChatUnreadBadge.d.ts +5 -0
  32. package/dist/ui/chat/index.d.ts +4 -4
  33. package/dist/ui/checkbox/Checkbox.d.ts +53 -0
  34. package/dist/ui/checkbox/index.d.ts +1 -1
  35. package/dist/ui/combobox/Combobox.d.ts +40 -0
  36. package/dist/ui/combobox/ComboboxButton.d.ts +13 -0
  37. package/dist/ui/combobox/ComboboxInput.d.ts +9 -0
  38. package/dist/ui/combobox/ComboboxOption.d.ts +10 -0
  39. package/dist/ui/combobox/ComboboxOptions.d.ts +7 -0
  40. package/dist/ui/combobox/index.d.ts +5 -5
  41. package/dist/ui/command-palette/CommandPalette.d.ts +13 -0
  42. package/dist/ui/command-palette/CommandPaletteItem.d.ts +8 -0
  43. package/dist/ui/command-palette/index.d.ts +2 -2
  44. package/dist/ui/date-range-picker/DateRangePicker.d.ts +59 -0
  45. package/dist/ui/date-range-picker/index.d.ts +1 -1
  46. package/dist/ui/dialog/Dialog.d.ts +31 -0
  47. package/dist/ui/dialog/DialogBackdrop.d.ts +6 -0
  48. package/dist/ui/dialog/DialogDescription.d.ts +6 -0
  49. package/dist/ui/dialog/DialogPanel.d.ts +6 -0
  50. package/dist/ui/dialog/DialogTitle.d.ts +6 -0
  51. package/dist/ui/dialog/index.d.ts +5 -5
  52. package/dist/ui/drawer/Drawer.d.ts +90 -0
  53. package/dist/ui/drawer/index.d.ts +1 -1
  54. package/dist/ui/dropdown/Dropdown.d.ts +12 -0
  55. package/dist/ui/dropdown/DropdownButton.d.ts +8 -0
  56. package/dist/ui/dropdown/DropdownItem.d.ts +10 -0
  57. package/dist/ui/dropdown/DropdownItems.d.ts +7 -0
  58. package/dist/ui/dropdown/index.d.ts +4 -4
  59. package/dist/ui/empty-state/EmptyState.d.ts +33 -0
  60. package/dist/ui/empty-state/index.d.ts +1 -1
  61. package/dist/ui/form/Form.d.ts +31 -0
  62. package/dist/ui/form/index.d.ts +1 -1
  63. package/dist/ui/image/Image.d.ts +104 -0
  64. package/dist/ui/image/index.d.ts +1 -1
  65. package/dist/ui/input/EmailInput.d.ts +28 -0
  66. package/dist/ui/input/NumberInput.d.ts +83 -0
  67. package/dist/ui/input/PasswordInput.d.ts +84 -0
  68. package/dist/ui/input/SearchInput.d.ts +29 -0
  69. package/dist/ui/input/TextInput.d.ts +145 -0
  70. package/dist/ui/input/index.d.ts +17 -5
  71. package/dist/ui/listbox/Listbox.d.ts +30 -0
  72. package/dist/ui/listbox/ListboxButton.d.ts +8 -0
  73. package/dist/ui/listbox/ListboxLabel.d.ts +6 -0
  74. package/dist/ui/listbox/ListboxOption.d.ts +10 -0
  75. package/dist/ui/listbox/ListboxOptions.d.ts +7 -0
  76. package/dist/ui/listbox/index.d.ts +5 -5
  77. package/dist/ui/mobile/FilterChip.d.ts +35 -0
  78. package/dist/ui/mobile/FilterChips.d.ts +26 -0
  79. package/dist/ui/mobile/ListRow.d.ts +35 -0
  80. package/dist/ui/mobile/NavBar.d.ts +47 -0
  81. package/dist/ui/mobile/SectionCard.d.ts +38 -0
  82. package/dist/ui/mobile/TabBar.d.ts +31 -0
  83. package/dist/ui/mobile/TabBarItem.d.ts +41 -0
  84. package/dist/ui/mobile/index.d.ts +7 -7
  85. package/dist/ui/navigator/Navigator.d.ts +14 -0
  86. package/dist/ui/navigator/index.d.ts +1 -1
  87. package/dist/ui/notification/Notification.d.ts +22 -0
  88. package/dist/ui/notification/index.d.ts +1 -1
  89. package/dist/ui/pager/Pager.d.ts +48 -0
  90. package/dist/ui/pager/PagerDots.d.ts +22 -0
  91. package/dist/ui/pager/index.d.ts +2 -2
  92. package/dist/ui/pagination/Pagination.d.ts +19 -0
  93. package/dist/ui/pagination/index.d.ts +1 -1
  94. package/dist/ui/payment/Checkout.d.ts +13 -0
  95. package/dist/ui/payment/DefaultPaymentMethod.d.ts +8 -0
  96. package/dist/ui/payment/PaymentMethods.d.ts +23 -0
  97. package/dist/ui/payment/SubscriptionCheckout.d.ts +28 -0
  98. package/dist/ui/payment/index.d.ts +4 -4
  99. package/dist/ui/popover/Popover.d.ts +12 -0
  100. package/dist/ui/popover/PopoverButton.d.ts +8 -0
  101. package/dist/ui/popover/PopoverPanel.d.ts +8 -0
  102. package/dist/ui/popover/index.d.ts +3 -3
  103. package/dist/ui/portal/Portal.d.ts +7 -0
  104. package/dist/ui/portal/index.d.ts +1 -1
  105. package/dist/ui/progress/Progress.d.ts +32 -0
  106. package/dist/ui/progress/index.d.ts +1 -1
  107. package/dist/ui/radio/Radio.d.ts +51 -0
  108. package/dist/ui/radio/index.d.ts +1 -1
  109. package/dist/ui/radio-group/RadioGroup.d.ts +47 -0
  110. package/dist/ui/radio-group/RadioGroupDescription.d.ts +6 -0
  111. package/dist/ui/radio-group/RadioGroupLabel.d.ts +6 -0
  112. package/dist/ui/radio-group/RadioGroupOption.d.ts +10 -0
  113. package/dist/ui/radio-group/index.d.ts +4 -4
  114. package/dist/ui/select/Select.d.ts +93 -0
  115. package/dist/ui/select/index.d.ts +1 -1
  116. package/dist/ui/sidebar/Sidebar.d.ts +70 -0
  117. package/dist/ui/sidebar/SidebarFooter.d.ts +21 -0
  118. package/dist/ui/sidebar/SidebarHeader.d.ts +114 -0
  119. package/dist/ui/sidebar/SidebarItem.d.ts +37 -0
  120. package/dist/ui/sidebar/SidebarPinned.d.ts +27 -0
  121. package/dist/ui/sidebar/SidebarSection.d.ts +35 -0
  122. package/dist/ui/sidebar/SidebarSpace.d.ts +44 -0
  123. package/dist/ui/sidebar/SidebarSpaceSwitcher.d.ts +30 -0
  124. package/dist/ui/sidebar/SidebarSpaces.d.ts +38 -0
  125. package/dist/ui/sidebar/index.d.ts +9 -9
  126. package/dist/ui/sidebar/themes.d.ts +39 -5
  127. package/dist/ui/skeleton/Skeleton.d.ts +13 -0
  128. package/dist/ui/skeleton/index.d.ts +1 -1
  129. package/dist/ui/spinner/Spinner.d.ts +13 -0
  130. package/dist/ui/spinner/index.d.ts +1 -1
  131. package/dist/ui/stepper/Stepper.d.ts +8 -0
  132. package/dist/ui/stepper/StepperStep.d.ts +17 -0
  133. package/dist/ui/stepper/index.d.ts +2 -2
  134. package/dist/ui/switch/Switch.d.ts +75 -0
  135. package/dist/ui/switch/index.d.ts +1 -1
  136. package/dist/ui/table/Table.d.ts +20 -0
  137. package/dist/ui/table/TableBody.d.ts +5 -0
  138. package/dist/ui/table/TableCell.d.ts +5 -0
  139. package/dist/ui/table/TableHead.d.ts +5 -0
  140. package/dist/ui/table/TableHeader.d.ts +45 -0
  141. package/dist/ui/table/TableRow.d.ts +6 -0
  142. package/dist/ui/table/index.d.ts +6 -6
  143. package/dist/ui/tabs/Tab.d.ts +19 -0
  144. package/dist/ui/tabs/TabList.d.ts +34 -0
  145. package/dist/ui/tabs/TabPanel.d.ts +13 -0
  146. package/dist/ui/tabs/Tabs.d.ts +30 -0
  147. package/dist/ui/tabs/index.d.ts +4 -4
  148. package/dist/ui/teleport/Teleport.d.ts +8 -0
  149. package/dist/ui/teleport/index.d.ts +1 -1
  150. package/dist/ui/textarea/Textarea.d.ts +75 -0
  151. package/dist/ui/textarea/index.d.ts +1 -1
  152. package/dist/ui/theme-toggle/ThemeToggle.d.ts +53 -0
  153. package/dist/ui/theme-toggle/index.d.ts +1 -1
  154. package/dist/ui/tooltip/Tooltip.d.ts +39 -0
  155. package/dist/ui/tooltip/index.d.ts +1 -1
  156. package/dist/ui/transition/Transition.d.ts +191 -0
  157. package/dist/ui/transition/index.d.ts +1 -1
  158. package/dist/ui/video/Video.d.ts +61 -0
  159. package/dist/ui/video/index.d.ts +1 -1
  160. package/dist/ui/virtual-list/VirtualList.d.ts +12 -0
  161. package/dist/ui/virtual-list/index.d.ts +1 -1
  162. package/dist/ui/virtual-table/VirtualTable.d.ts +21 -0
  163. package/dist/ui/virtual-table/index.d.ts +1 -1
  164. package/dist/utils/accessibility.d.ts +15 -0
  165. package/dist/utils/error-handling.d.ts +15 -2
  166. package/dist/utils/i18n.d.ts +48 -65
  167. package/dist/utils/keep-alive.d.ts +27 -3
  168. package/dist/utils/lazy-loading.d.ts +5 -1
  169. package/dist/utils/prop-validation.d.ts +3 -3
  170. package/dist/utils/tooltip-position.d.ts +7 -1
  171. package/package.json +4 -7
  172. package/src/utils/animation/helpers.ts +5 -5
@@ -0,0 +1,51 @@
1
+ import type { DefineComponent } from '@stacksjs/stx';
2
+ declare const __dtsx_component__: __DtsxStxComponentType;
3
+ export declare const checked: ReturnType<typeof $bool>;
4
+ export declare const disabled: ReturnType<typeof $bool>;
5
+ export declare const size: unknown;
6
+ export declare const label: unknown;
7
+ export declare const description: unknown;
8
+ export declare const error: ReturnType<typeof $bool>;
9
+ export declare const required: ReturnType<typeof $bool>;
10
+ export declare const value: unknown;
11
+ export declare const name: unknown;
12
+ export declare const className: unknown;
13
+ /*
14
+ * The two halves of the validity state, exported so the CLIENT can swap them
15
+ * (stacksjs/stx#2047). Toggled per class rather than as a whole string,
16
+ * because a reactive class string MERGES with the static one and the element
17
+ * would carry both rings at once.
18
+ */
19
+ export declare const stateInvalidClasses: 'border-danger-line text-danger focus:ring-danger-focus';
20
+ export declare const radioClasses: unknown;
21
+ export declare const labelClasses: unknown;
22
+ export declare const descriptionClasses: unknown;
23
+ /*
24
+ * Ids unique to this instance.
25
+ *
26
+ * These were derived from the LABEL or hardcoded outright, so two of these on
27
+ * one page -- an ordinary form -- emitted the same id twice. `<label for>`
28
+ * then activated the FIRST field from every label, and `aria-describedby`
29
+ * pointed every field's description at the first one's helper text. A label
30
+ * containing a space also produced an invalid id, `input-First name`, which
31
+ * getElementById and querySelector cannot address at all.
32
+ *
33
+ * `$uid` is unique per instance and stable across renders, which is what an id
34
+ * has to be (utils.ts explains why a render that changes its own bytes is
35
+ * uncacheable). The `id` prop overrides it, for a caller that needs to point
36
+ * its own `for` or `aria-describedby` at this control.
37
+ */
38
+ export declare const inputId: unknown;
39
+ export declare const descriptionId: string;
40
+ /*
41
+ * `autocomplete` and `form`, alongside the `name` this already had
42
+ * (stacksjs/stx#2043). `autocomplete` is how the browser and a password
43
+ * manager identify a field; `form` lets a control live outside the <form>
44
+ * element it belongs to. Emitted only when given.
45
+ */
46
+ export declare const autocomplete: unknown;
47
+ export declare const form: unknown;
48
+ // Reactive prop binding — parent can drive `checked` via signals. See #1704.
49
+ declare const isChecked: unknown;
50
+ declare type __DtsxStxComponentType = DefineComponent<{ checked?: unknown, disabled?: unknown, size?: string, label?: string, description?: string, error?: unknown, required?: unknown, value?: string, name?: string, className?: string, id?: string, autocomplete?: unknown, autoComplete?: string, form?: string }> & { readonly __stxExposed?: { isChecked: typeof isChecked } }
51
+ export default __dtsx_component__;
@@ -11,4 +11,4 @@ export declare interface RadioProps {
11
11
  name?: string
12
12
  className?: string
13
13
  }
14
- export { default as Radio } from './Radio.stx';
14
+ export { default as Radio } from './Radio';
@@ -0,0 +1,47 @@
1
+ import type { DefineComponent } from '@stacksjs/stx';
2
+ declare function selectValue(v: unknown): void;
3
+ declare const __dtsx_component__: __DtsxStxComponentType;
4
+ export declare const value: unknown;
5
+ export declare const valueJson: unknown;
6
+ export declare const className: unknown;
7
+ export declare const as: unknown;
8
+ /*
9
+ * Prop-array mode, alongside the slot API (stacksjs/stx#1930).
10
+ *
11
+ * `<RadioGroup :options="[{ label: 'A', value: 'a' }]" />` used to emit a
12
+ * hydration shell and nothing else: the labels reached the page only inside
13
+ * `data-stx-props`, so the choices were invisible without JavaScript and to a
14
+ * crawler. Every comparable component here — Tabs, Accordion, Select, Navigator,
15
+ * Breadcrumb — server-renders its content from a prop array, so this was the
16
+ * odd one out rather than a deliberate choice.
17
+ *
18
+ * The options are rendered here rather than delegated to <RadioGroupOption>
19
+ * because a loop variable cannot cross a component boundary as a `:` binding.
20
+ * Interpolating it would stringify the value — `1` and `"1"` would stop being
21
+ * distinguishable — and the group compares values by identity. Emitting the
22
+ * option markup directly keeps `data-option-value` exact JSON, which is what
23
+ * `syncOptionStates` already reads.
24
+ */
25
+ export declare const options: unknown;
26
+ export declare const hasPropOptions: boolean;
27
+ declare const optionBaseClasses: 'relative flex cursor-pointer rounded-panel px-5 py-4 shadow-md focus:outline-none transition-all bg-panel text-fg focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-panel';
28
+ export declare const optionClasses: unknown;
29
+ export declare const optionDisabledClasses: string;
30
+ export declare const groupClasses: unknown;
31
+ export declare const radioGroupInstanceId: unknown;
32
+ /*
33
+ * JSON built on the server and emitted raw, rather than a 'null' sentinel
34
+ * through an ordinary interpolation.
35
+ *
36
+ * A `value === undefined ? 'null' : value` ternary was meant to put the bare
37
+ * token null into the script. An interpolation QUOTES a string, so what it
38
+ * emitted was the four-character string "null" -- truthy, in the one place a
39
+ * value is meant to be absent. JSON.stringify produces the correct literal for
40
+ * every type, null included, and raw interpolation passes it through unquoted.
41
+ * Calendar and DateRangePicker already avoid this sentinel and say why
42
+ * (stacksjs/stx#1981).
43
+ */
44
+ declare const initialValue: {};
45
+ declare const selected: ReturnType<typeof state>;
46
+ declare type __DtsxStxComponentType = DefineComponent<{ value?: unknown, className?: string, as?: string, options?: unknown }> & { readonly __stxExposed?: { selected: typeof selected, selectValue: typeof selectValue } }
47
+ export default __dtsx_component__;
@@ -0,0 +1,6 @@
1
+ import type { DefineComponent } from '@stacksjs/stx';
2
+ declare const __dtsx_component__: __DtsxStxComponentType;
3
+ export declare const className: unknown;
4
+ export declare const as: unknown;
5
+ declare type __DtsxStxComponentType = DefineComponent<{ className?: string, as?: string }>;
6
+ export default __dtsx_component__;
@@ -0,0 +1,6 @@
1
+ import type { DefineComponent } from '@stacksjs/stx';
2
+ declare const __dtsx_component__: __DtsxStxComponentType;
3
+ export declare const className: unknown;
4
+ export declare const as: unknown;
5
+ declare type __DtsxStxComponentType = DefineComponent<{ className?: string, as?: string }>;
6
+ export default __dtsx_component__;
@@ -0,0 +1,10 @@
1
+ import type { DefineComponent } from '@stacksjs/stx';
2
+ declare const __dtsx_component__: __DtsxStxComponentType;
3
+ export declare const value: unknown;
4
+ export declare const disabled: ReturnType<typeof $bool>;
5
+ export declare const className: unknown;
6
+ export declare const as: unknown;
7
+ export declare const optionClasses: unknown;
8
+ export declare const valueJson: unknown;
9
+ declare type __DtsxStxComponentType = DefineComponent<{ value?: unknown, disabled?: unknown, className?: string, as?: string }>;
10
+ export default __dtsx_component__;
@@ -20,7 +20,7 @@ export declare interface RadioGroupDescriptionProps {
20
20
  className?: string
21
21
  as?: string
22
22
  }
23
- export { default as RadioGroup } from './RadioGroup.stx';
24
- export { default as RadioGroupDescription } from './RadioGroupDescription.stx';
25
- export { default as RadioGroupLabel } from './RadioGroupLabel.stx';
26
- export { default as RadioGroupOption } from './RadioGroupOption.stx';
23
+ export { default as RadioGroup } from './RadioGroup';
24
+ export { default as RadioGroupDescription } from './RadioGroupDescription';
25
+ export { default as RadioGroupLabel } from './RadioGroupLabel';
26
+ export { default as RadioGroupOption } from './RadioGroupOption';
@@ -0,0 +1,93 @@
1
+ import type { DefineComponent } from '@stacksjs/stx';
2
+ /*
3
+ * Two-way, like TextInput (stacksjs/stx#2059): `v-model:value="group"` keeps
4
+ * the page's signal in step, so a call site no longer pairs `:value` with an
5
+ * `@change` that writes it back. `change` is still emitted for the callers
6
+ * that listen for it.
7
+ */
8
+ declare function normaliseOptions(list: unknown): never[] | ReturnType<unknown.map>;
9
+ declare const __dtsx_component__: __DtsxStxComponentType;
10
+ /*
11
+ * `??`, not `||`: a select whose chosen option is the id 0 is ordinary, and
12
+ * `||` served it as nothing selected.
13
+ */
14
+ export declare const value: unknown;
15
+ export declare const options: ReturnType<typeof normaliseOptions>;
16
+ /*
17
+ * `??`: `placeholder=""` means no placeholder option at all, which a select
18
+ * whose options are its children usually wants. Unset keeps the default.
19
+ */
20
+ export declare const placeholder: unknown;
21
+ export declare const disabled: ReturnType<typeof $bool>;
22
+ export declare const size: unknown;
23
+ export declare const error: ReturnType<typeof $bool>;
24
+ export declare const label: unknown;
25
+ export declare const helperText: unknown;
26
+ export declare const required: ReturnType<typeof $bool>;
27
+ export declare const className: unknown;
28
+ /*
29
+ * Padding decides the height here too, with no `h-*` to override it: an app
30
+ * passing its own `py-1.5` got the padding it asked for and the height it did
31
+ * not, and `className` cannot beat `h-10` at equal specificity
32
+ * (stacksjs/stx#1993).
33
+ *
34
+ * `lg` also needed a padding step adjusted - py-3 around a 1.75rem line-height
35
+ * is 3.25rem of content inside a declared 3rem box - so py-2.5 lands on the
36
+ * 3rem it always claimed. sm and md were already exact.
37
+ */
38
+ /*
39
+ * md -- the size nearly every form uses -- reads the density roles, so an
40
+ * app sets its own field size with --stx-control-px, --stx-control-py,
41
+ * --stx-control-text and --stx-control-leading instead of a className
42
+ * that ties with py-2 on specificity. The fallbacks are px-4 / py-2 /
43
+ * text-base, so nothing moves by default (stacksjs/stx#1993).
44
+ */
45
+ /*
46
+ * The two halves of the validity state, exported so the CLIENT can swap them
47
+ * (stacksjs/stx#2047). Toggled per class rather than as a whole string,
48
+ * because a reactive class string MERGES with the static one and the element
49
+ * would carry both rings at once.
50
+ */
51
+ export declare const stateInvalidClasses: 'ring-danger-line text-danger-fg placeholder-danger focus:ring-danger-focus';
52
+ export declare const stateValidClasses: 'ring-line-strong text-fg placeholder-fg-soft focus:ring-accent';
53
+ export declare const selectClasses: unknown;
54
+ export declare const labelClasses: unknown;
55
+ export declare const helperClasses: unknown;
56
+ /*
57
+ * Ids unique to this instance.
58
+ *
59
+ * These were derived from the LABEL or hardcoded outright, so two of these on
60
+ * one page -- an ordinary form -- emitted the same id twice. `<label for>`
61
+ * then activated the FIRST field from every label, and `aria-describedby`
62
+ * pointed every field's description at the first one's helper text. A label
63
+ * containing a space also produced an invalid id, `input-First name`, which
64
+ * getElementById and querySelector cannot address at all.
65
+ *
66
+ * `$uid` is unique per instance and stable across renders, which is what an id
67
+ * has to be (utils.ts explains why a render that changes its own bytes is
68
+ * uncacheable). The `id` prop overrides it, for a caller that needs to point
69
+ * its own `for` or `aria-describedby` at this control.
70
+ */
71
+ export declare const selectId: unknown;
72
+ export declare const helperId: string;
73
+ /*
74
+ * The attributes that make this a form control (stacksjs/stx#2043).
75
+ *
76
+ * A control with no `name` is not a form control in the HTML sense: it is left
77
+ * out of FormData, out of form.elements.namedItem(), and out of an ordinary
78
+ * non-JS POST. A form built from these components submitted nothing for every
79
+ * field, silently -- which is how six apps read their forms.
80
+ *
81
+ * `autocomplete` is separate and just as load-bearing: it is how the browser
82
+ * and a password manager identify a field, so a password input without
83
+ * `autocomplete="current-password"` is never offered for autofill and is not
84
+ * recognised as part of a sign-in form at all.
85
+ *
86
+ * Emitted only when given, so a control that passes none of them renders
87
+ * exactly the markup it did before.
88
+ */
89
+ export declare const name: unknown;
90
+ export declare const autocomplete: unknown;
91
+ export declare const form: unknown;
92
+ declare type __DtsxStxComponentType = DefineComponent<{ value?: string, options?: unknown, placeholder?: string, disabled?: unknown, size?: string, error?: unknown, label?: string, helperText?: string, required?: unknown, className?: string, id?: string, name?: string, autocomplete?: unknown, autoComplete?: string, form?: string }> & { readonly __stxExposed?: { value: unknown, options: unknown } }
93
+ export default __dtsx_component__;
@@ -16,4 +16,4 @@ export declare interface SelectProps {
16
16
  required?: boolean
17
17
  className?: string
18
18
  }
19
- export { default as Select } from './Select.stx';
19
+ export { default as Select } from './Select';
@@ -0,0 +1,70 @@
1
+ import type { DefineComponent } from '@stacksjs/stx';
2
+ declare function syncRouteSelection(url: unknown): void;
3
+ declare const __dtsx_component__: __DtsxStxComponentType;
4
+ // Data: [{ id, label, collapsible?, collapsed?, items: [{ id, label, icon,
5
+ // iconColor, image, href, count, active?, disabled?, expanded?, children? }] }]
6
+ export declare const sections: unknown;
7
+ // Arc-style spaces: [{ id, label, icon, tint, pinned, sections, action, clear }].
8
+ // Passing them turns the sidebar into a swipeable stack of scenes instead of
9
+ // one list. `theme` then defaults to `arc`, because spaces are that theme's
10
+ // idea — a macOS source list has no equivalent.
11
+ export declare const spaces: unknown;
12
+ export declare const hasSpaces: boolean;
13
+ export declare const activeSpace: unknown;
14
+ export declare const showSpaceSwitcher: unknown;
15
+ export declare const showSpaceAdd: ReturnType<typeof $bool>;
16
+ export declare const spaceAddLabel: unknown;
17
+ export declare const spacePersistKey: unknown;
18
+ // `theme` is the new name; `variant` is accepted for backwards compatibility.
19
+ export declare const theme: unknown;
20
+ export declare const width: unknown;
21
+ export declare const position: unknown;
22
+ export declare const placement: unknown;
23
+ export declare const bordered: ReturnType<typeof $bool>;
24
+ // Collapsing. macOS sidebars hide entirely (toolbar button / drag); legacy
25
+ // themes may collapse to a compact rail instead.
26
+ export declare const collapsed: ReturnType<typeof $bool>;
27
+ export declare const collapsible: unknown;
28
+ export declare const collapseMode: unknown;
29
+ export declare const minWidth: unknown;
30
+ export declare const persistKey: unknown;
31
+ export declare const shellSelector: unknown;
32
+ export declare const widthVar: unknown;
33
+ export declare const collapsedClass: unknown;
34
+ export declare const className: unknown;
35
+ // Mirror the OS light/dark preference onto the root element's `dark` class.
36
+ // A native sidebar follows the system appearance, and Css's `dark:`
37
+ // variants are class-based, so something has to write that class — but it is
38
+ // the document's business, not a navigation pane's. Left on by default so a
39
+ // sidebar dropped into a page with no theme controller still behaves; turn it
40
+ // off in any app that owns its own light/dark switch.
41
+ export declare const followSystemAppearance: unknown;
42
+ // Unique id so the client controller can find this pane even with several
43
+ // sidebars on the page.
44
+ export declare const sidebarUid: unknown;
45
+ declare const themeStyle: ReturnType<typeof resolveSidebarTheme>;
46
+ export declare const selectionModel: unknown;
47
+ export declare const hasShimmerRim: boolean;
48
+ export declare const tintClasses: unknown;
49
+ export declare const scrollAreaClasses: unknown;
50
+ declare const borderClasses: unknown;
51
+ /** @defaultValue `{ sticky: 'sticky top-0 h-screen', static: 'relative h-full' }` */
52
+ declare const placementClasses: {
53
+ fixed: string;
54
+ /** @defaultValue 'sticky top-0 h-screen' */
55
+ sticky: string;
56
+ /** @defaultValue 'relative h-full' */
57
+ static: string
58
+ };
59
+ export declare const paneClasses: unknown;
60
+ declare const normalizedSpaces: unknown;
61
+ declare const initialSpace: unknown;
62
+ export declare const paneStyle: unknown;
63
+ // Normalized ahead of the loop so template bindings stay simple accessors.
64
+ export declare const sectionList: ReturnType<typeof sections.map>;
65
+ // State classes the client controller swaps on rows. Kept as data attributes
66
+ // so all behavior lives in one place (the controller below) and themes stay
67
+ // pure data.
68
+ export declare const activeClasses: unknown;
69
+ declare type __DtsxStxComponentType = DefineComponent<{ sections?: unknown[], spaces?: unknown[], space?: unknown, activeSpace?: string, showSpaceSwitcher?: unknown, showSpaceAdd?: unknown, spaceAddLabel?: string, spacePersistKey?: string, theme?: unknown, variant?: unknown, width?: unknown, position?: string, placement?: string, bordered?: unknown, collapsed?: unknown, collapsible?: unknown, collapseMode?: unknown, minWidth?: unknown, persistKey?: string, shellSelector?: string, widthVar?: string, collapsedClass?: string, className?: string, followSystemAppearance?: unknown, id?: unknown }> & { readonly __stxExposed?: { collapsed: typeof collapsed, toggle: unknown, syncRouteSelection: typeof syncRouteSelection } }
70
+ export default __dtsx_component__;
@@ -0,0 +1,21 @@
1
+ import type { DefineComponent } from '@stacksjs/stx';
2
+ declare const __dtsx_component__: __DtsxStxComponentType;
3
+ // The bottom strip of a macOS sidebar — e.g. the account row in Music
4
+ // ("Chris Breuer" with an avatar) or custom actions.
5
+ export declare const theme: unknown;
6
+ export declare const avatar: unknown;
7
+ export declare const name: unknown;
8
+ export declare const detail: unknown;
9
+ export declare const actions: unknown;
10
+ export declare const isMacos: boolean;
11
+ export declare const profileClasses: unknown;
12
+ export declare const actionClasses: unknown;
13
+ // Arc keeps the footer to a quiet strip of ghost icons, tuned to the warm
14
+ // panel rather than the macOS neutral.
15
+ export declare const isArc: boolean;
16
+ // Like the rest of the Arc chrome, these take their color from the panel so
17
+ // they follow a space's ink instead of staying a fixed dark on top of it.
18
+ export declare const arcActionClasses: unknown;
19
+ export declare const arcProfileClasses: unknown;
20
+ declare type __DtsxStxComponentType = DefineComponent<{ theme?: unknown, variant?: string, avatar?: string, name?: string, detail?: string, actions?: unknown[] }>;
21
+ export default __dtsx_component__;
@@ -0,0 +1,114 @@
1
+ import type { DefineComponent } from '@stacksjs/stx';
2
+ declare const __dtsx_component__: __DtsxStxComponentType;
3
+ // The window-chrome strip at the top of a macOS sidebar: traffic lights on
4
+ // the left, floating "Liquid Glass" toolbar buttons on the right, and the
5
+ // whole strip acts as a window drag region inside a Craft window.
6
+ export declare const theme: unknown;
7
+ export declare const actions: unknown;
8
+ export declare const subtitle: unknown;
9
+ export declare const logo: unknown;
10
+ export declare const showSearch: ReturnType<typeof $bool>;
11
+ export declare const searchPlaceholder: unknown;
12
+ export declare const isMacos: boolean;
13
+ // Traffic lights: 13px circles, 7px apart, inset ~21px — measured on
14
+ // macOS Tahoe. Colors are Apple's exact stoplight values.
15
+ export declare const trafficLightClasses: 'h-[13px] w-[13px] rounded-full shadow-[inset_0_0_1px_rgba(0,0,0,0.2)]';
16
+ // Floating toolbar button: a 34px glass circle that brightens on hover.
17
+ export declare const toolbarButtonClasses: unknown;
18
+ // Arc's header is quieter than macOS'. No floating glass buttons — just a
19
+ // recessed search field and flat ghost icons, sized to sit on the panel
20
+ // without competing with the row cards below it.
21
+ export declare const isArc: boolean;
22
+ // Window chrome. A macOS sidebar owns the top-left corner, so it is on by
23
+ // default there. Arc's sidebar can go either way — a browser window puts the
24
+ // lights and the back/forward controls in the sidebar, while an app that only
25
+ // borrows the look wants a bare strip — so on this theme it is opt-in.
26
+ //
27
+ // `windowControls` says WHO DRAWS THEM, which `showWindowControls` could not
28
+ // express:
29
+ //
30
+ // 'auto' the default: replicas in a browser, the platform's own inside a
31
+ // Craft window, decided by the host rather than by the author.
32
+ // 'draw' replicas, always. For a web page imitating macOS — a marketing
33
+ // shot, a screenshot — that must look the same everywhere.
34
+ // 'native' the OS already drew them; reserve the room and keep out of it.
35
+ // 'none' no controls, no room.
36
+ //
37
+ // The distinction is not cosmetic. Inside a real window the platform draws its
38
+ // own controls whatever this component does, so replicas there put SIX circles
39
+ // in the corner — three live ones from the window server and three that only
40
+ // look like buttons. That was the old default's doing: the same markup renders
41
+ // on a docs page, where mock lights are the whole point, and in an app, where
42
+ // they are a bug, and a fixed choice cannot be right in both.
43
+ //
44
+ // So the host decides. Craft publishes, before the document is parsed:
45
+ //
46
+ // --craft-window-controls-replicas the `display` a replica should take —
47
+ // `none` where it drew real buttons
48
+ // --craft-window-controls-width the room they need inside the page: the
49
+ // far edge of the real buttons, measured
50
+ // on the window, and 0 whenever they are
51
+ // not over the page — a titlebar of their
52
+ // own, a native sidebar under them,
53
+ // fullscreen
54
+ //
55
+ // Both are read as fallbacks, so a browser — where neither is set — draws the
56
+ // replicas and reserves nothing, and no JavaScript is involved either way.
57
+ // `--stx-native-controls-width` stays the manual override for a host that
58
+ // publishes nothing: it is the room to leave AFTER this header's own left
59
+ // padding.
60
+ declare const controlsProp: unknown;
61
+ export declare const windowControls: unknown;
62
+ export declare const autoWindowControls: boolean;
63
+ export declare const showWindowControls: boolean;
64
+ export declare const reserveWindowControls: boolean;
65
+ export declare const showNavigation: ReturnType<typeof $bool>;
66
+ // A replica yields to the real thing — but only when it was the default that
67
+ // put it there. An author who asked for 'draw' gets replicas everywhere.
68
+ export declare const replicaStyle: unknown;
69
+ export declare const macosControlsReserve: string;
70
+ export declare const arcControlsReserve: string;
71
+ // No top padding when the platform's controls overlay this row — see the row
72
+ // itself for why 14pt is the number that matters. Expressed as arithmetic
73
+ // rather than a branch because only the host knows: a window that keeps its
74
+ // buttons in a titlebar publishes a width of 0 and keeps the padding.
75
+ export declare const arcChromePadding: string;
76
+ // A titled Arc header with window controls puts the two on one row, the way
77
+ // Arc and Dia do. A logo needs the wider second row to sit in, so its presence
78
+ // keeps the old two-row shape.
79
+ export declare const titleInChrome: unknown;
80
+ /**
81
+ * Back / forward / reload, as in Arc's URL strip. Flat and ghosted, not glass.
82
+ * @defaultValue `[ { id: 'back', icon: 'i-f7-arrow-left', label: 'Back' }, { id: 'forward', icon: 'i-f7-arrow-right', label: 'Forward' }, { id: 'reload', icon: 'i-f7-arrow-clockwise', label: 'Reload' }, ]`
83
+ */
84
+ export declare const navButtons: ({
85
+ /** @defaultValue 'back' */
86
+ id: string;
87
+ /** @defaultValue 'i-f7-arrow-left' */
88
+ icon: string;
89
+ /** @defaultValue 'Back' */
90
+ label: string
91
+ } | {
92
+ /** @defaultValue 'forward' */
93
+ id: string;
94
+ /** @defaultValue 'i-f7-arrow-right' */
95
+ icon: string;
96
+ /** @defaultValue 'Forward' */
97
+ label: string
98
+ } | {
99
+ /** @defaultValue 'reload' */
100
+ id: string;
101
+ /** @defaultValue 'i-f7-arrow-clockwise' */
102
+ icon: string;
103
+ /** @defaultValue 'Reload' */
104
+ label: string
105
+ })[];
106
+ // Arc's chrome takes its color from the panel rather than declaring its own.
107
+ // On a plain warm panel that resolves to the theme's ink; inside a space it
108
+ // follows `--stx-space-ink` and crossfades along with the panel on every
109
+ // swipe. A hardcoded `text-[#2c2a28]` would stay dark over a saturated space
110
+ // and would not move when the space changed.
111
+ export declare const arcSearchClasses: unknown;
112
+ export declare const arcActionClasses: unknown;
113
+ declare type __DtsxStxComponentType = DefineComponent<{ theme?: unknown, variant?: string, actions?: unknown[], title?: string, subtitle?: string, logo?: string, showSearch?: unknown, searchPlaceholder?: string, windowControls?: string, showWindowControls?: unknown, showNavigation?: unknown }>;
114
+ export default __dtsx_component__;
@@ -0,0 +1,37 @@
1
+ import type { DefineComponent } from '@stacksjs/stx';
2
+ declare const __dtsx_component__: __DtsxStxComponentType;
3
+ export declare const id: unknown;
4
+ export declare const label: unknown;
5
+ export declare const icon: unknown;
6
+ export declare const iconColor: unknown;
7
+ export declare const image: unknown;
8
+ export declare const href: unknown;
9
+ export declare const count: unknown;
10
+ export declare const active: ReturnType<typeof $bool>;
11
+ export declare const disabled: ReturnType<typeof $bool>;
12
+ export declare const expandable: ReturnType<typeof $bool>;
13
+ export declare const expanded: unknown;
14
+ export declare const depth: unknown;
15
+ export declare const parents: unknown;
16
+ export declare const theme: unknown;
17
+ declare const themeStyle: unknown;
18
+ export declare const rowClasses: unknown;
19
+ export declare const disclosureClasses: unknown;
20
+ export declare const chevronClasses: unknown;
21
+ export declare const iconSlotClasses: unknown;
22
+ export declare const iconClasses: string;
23
+ export declare const imageClasses: unknown;
24
+ export declare const labelClasses: unknown;
25
+ export declare const countClasses: unknown;
26
+ // Nested rows are indented; the icon tint accepts macOS system color names
27
+ // ("blue", "yellow", …) or any CSS color.
28
+ export declare const indentStyle: boolean;
29
+ // The tint is published as a custom property rather than `color:` directly.
30
+ // An inline `color` would outrank any stylesheet rule, so a selected row
31
+ // could never turn its icon white the way AppKit does, and toggling
32
+ // selection on the client could not restore the original tint afterwards.
33
+ declare const tint: ReturnType<typeof resolveIconColor>;
34
+ export declare const iconStyle: unknown;
35
+ export declare const isLink: unknown;
36
+ declare type __DtsxStxComponentType = DefineComponent<{ id?: string, label?: string, icon?: string, iconColor?: string, image?: string, href?: string, count?: unknown, badge?: string, active?: unknown, disabled?: unknown, expandable?: unknown, expanded?: unknown, depth?: number, parents?: string, theme?: unknown, variant?: string }>;
37
+ export default __dtsx_component__;
@@ -0,0 +1,27 @@
1
+ import type { DefineComponent } from '@stacksjs/stx';
2
+ declare const __dtsx_component__: __DtsxStxComponentType;
3
+ // Arc's favorites grid — the block of square tiles above a space's rows.
4
+ //
5
+ // These are deliberately NOT sidebar rows. They carry no `data-sidebar-item`,
6
+ // so the Sidebar controller's selection, arrow-key navigation and disclosure
7
+ // logic skip them entirely: a pinned tile is a shortcut, not a place in the
8
+ // list. Their own click handler emits `pinnedClick` and that is the whole
9
+ // contract.
10
+ export declare const items: unknown;
11
+ export declare const columns: unknown;
12
+ // A tile separates itself from the panel by moving AWAY from it, which is not
13
+ // the same as being lighter.
14
+ //
15
+ // Measured against Dia at 2x: on a pale panel its tiles sit about 9 units
16
+ // DARKER than the surface behind them, and on a dark panel about 23 units
17
+ // lighter. A white overlay does the right thing in dark appearance and the
18
+ // wrong one in light, where it lifted the tile off a surface it is meant to be
19
+ // recessed into. Each appearance now overlays the colour that increases the
20
+ // separation, plus a hairline, which is what gives the well its edge.
21
+ //
22
+ // Height is 41px rather than 46: Dia's tiles measure 50pt wide by 41pt tall,
23
+ // so they are slightly landscape, and 46 made them read as too square against
24
+ // the row rhythm underneath.
25
+ export declare const tileClasses: unknown;
26
+ declare type __DtsxStxComponentType = DefineComponent<{ items?: unknown[], columns?: number }>;
27
+ export default __dtsx_component__;
@@ -0,0 +1,35 @@
1
+ import type { DefineComponent } from '@stacksjs/stx';
2
+ // Components can't render themselves recursively, so the item tree is
3
+ // flattened into ready-to-render rows here. Each row remembers its depth
4
+ // and ancestor ids — the Sidebar controller uses those to collapse whole
5
+ // subtrees.
6
+ declare function flatten(list: unknown, depth?: number, parents?: unknown[]): ReturnType<unknown.flatMap>;
7
+ declare const __dtsx_component__: __DtsxStxComponentType;
8
+ export declare const id: unknown;
9
+ export declare const label: unknown;
10
+ export declare const items: unknown;
11
+ export declare const collapsible: unknown;
12
+ export declare const collapsed: ReturnType<typeof $bool>;
13
+ export declare const theme: unknown;
14
+ declare const themeStyle: ReturnType<typeof resolveSidebarTheme>;
15
+ export declare const headerClasses: unknown;
16
+ export declare const chevronClasses: unknown;
17
+ export declare const groupClasses: unknown;
18
+ // Precomputed rather than written as `{{ collapsed ? 'false' : 'true' }}` in
19
+ // the attribute itself.
20
+ //
21
+ // That inline form is served VERBATIM when this component is rendered inside a
22
+ // `<Sidebar>` — the marker reaches the browser unexpanded, so `data-expanded`
23
+ // carries a template string the controller cannot read and `aria-expanded`
24
+ // carries a value that is not `true` or `false`, which is an invalid ARIA
25
+ // state rather than a cosmetic problem. Rendering `<SidebarSection>` directly
26
+ // expands it correctly, and `{{ id }}` on the very same element expands in
27
+ // both cases, so the fault is in how a nested component's attributes are
28
+ // re-parsed, not in the expression.
29
+ //
30
+ // A bare identifier survives that path intact, and the component already
31
+ // precomputes everything else it interpolates.
32
+ export declare const expandedAttr: unknown;
33
+ export declare const rows: ReturnType<typeof flatten>;
34
+ declare type __DtsxStxComponentType = DefineComponent<{ id?: string, label?: string, items?: unknown[], collapsible?: unknown, collapsed?: unknown, theme?: unknown, variant?: string }>;
35
+ export default __dtsx_component__;
@@ -0,0 +1,44 @@
1
+ import type { DefineComponent } from '@stacksjs/stx';
2
+ declare const __dtsx_component__: __DtsxStxComponentType;
3
+ // One scene of a swipeable sidebar: a pinned grid, a title, the rows, and the
4
+ // space's own actions. Everything below the title is the ordinary Sidebar
5
+ // machinery — `<SidebarSection>` flattens the item tree and `<SidebarItem>`
6
+ // renders the rows — so a space inherits disclosure, counts, icon tints,
7
+ // route selection and keyboard navigation for free.
8
+ export declare const id: unknown;
9
+ export declare const label: unknown;
10
+ export declare const icon: unknown;
11
+ export declare const pinned: unknown;
12
+ export declare const sections: unknown;
13
+ export declare const action: unknown;
14
+ export declare const clear: unknown;
15
+ export declare const theme: unknown;
16
+ export declare const active: ReturnType<typeof $bool>;
17
+ // Render the shell without its contents.
18
+ //
19
+ // Every space's rows are rendered on the server even though the Arc design
20
+ // shows one at a time, and that cost is linear in the number of spaces: a host
21
+ // with fourteen projects pays for fourteen panels on every page load to display
22
+ // one. `deferred` keeps the panel — the track's geometry, the tab role and the
23
+ // swipe all depend on it existing — and drops what is inside it.
24
+ //
25
+ // The space still announces itself as a tabpanel, so the switcher and keyboard
26
+ // navigation are unchanged; `data-space-deferred` tells the controller this one
27
+ // has nothing yet, and `spaceChange` is where a host fills it or navigates.
28
+ export declare const deferred: ReturnType<typeof $bool>;
29
+ // Whether to draw `label` as a title above the rows. An app that names the
30
+ // space somewhere else — an Arc header with a title puts it beside the traffic
31
+ // lights, the way Dia does — turns this off rather than saying it twice.
32
+ // `label` is still needed: it is the panel's accessible name and the
33
+ // switcher's tooltip.
34
+ export declare const showTitle: unknown;
35
+ declare const themeStyle: ReturnType<typeof resolveSidebarTheme>;
36
+ export declare const scrollAreaClasses: unknown;
37
+ // The title takes the space's accent, which is how Arc signals which space you
38
+ // are looking at even before the panel color registers.
39
+ export declare const titleClasses: unknown;
40
+ // Actions read as quieter than rows: no card on hover, just a wash.
41
+ export declare const actionClasses: unknown;
42
+ export declare const clearClasses: unknown;
43
+ declare type __DtsxStxComponentType = DefineComponent<{ id?: string, label?: string, icon?: string, pinned?: unknown[], sections?: unknown[], action?: unknown, clear?: unknown, theme?: string, active?: unknown, deferred?: unknown, showTitle?: unknown }>;
44
+ export default __dtsx_component__;
@@ -0,0 +1,30 @@
1
+ import type { DefineComponent } from '@stacksjs/stx';
2
+ declare const __dtsx_component__: __DtsxStxComponentType;
3
+ // `cache` is a promise that what this renders is a function of its props and
4
+ // slots alone, and it is kept: everything below reads $props (plus $uid, which
5
+ // the cache keys on, so two instances never share an entry), and nothing here
6
+ // reads the clock, the request or the route. Adding a server-side read of
7
+ // anything else means dropping `cache` again.
8
+ // The indicator along the bottom of an Arc-style sidebar: one dot per space,
9
+ // plus an optional trailing "+".
10
+ //
11
+ // Dots rather than one icon per space, which is what Dia does and what this
12
+ // used to get wrong. An icon rail costs ~28px of width each, so it fits about
13
+ // eight spaces in a 280px sidebar and then overflows — and with every space
14
+ // showing the same default folder glyph, thirteen of them read as a broken
15
+ // progress bar rather than as a switcher. A dot is 6px, says only "which of
16
+ // how many", and leaves the identifying work to the space title and the tint,
17
+ // which is where it belongs.
18
+ //
19
+ // The buttons are markup only. `<SidebarSpaces>` owns the single click handler
20
+ // and flips `data-space-current`, so the rail never holds its own copy of
21
+ // which space is active — there is exactly one source of truth.
22
+ export declare const spaces: unknown;
23
+ export declare const active: unknown;
24
+ export declare const showAdd: ReturnType<typeof $bool>;
25
+ export declare const addLabel: unknown;
26
+ // A single space has nothing to indicate. Dia hides the row entirely rather
27
+ // than showing one lonely dot, and so does this — unless "+" needs a home.
28
+ export declare const showDots: boolean;
29
+ declare type __DtsxStxComponentType = DefineComponent<{ spaces?: unknown[], active?: unknown, showAdd?: unknown, addLabel?: string }>;
30
+ export default __dtsx_component__;