entasis 0.4.1 → 0.5.0

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 (164) hide show
  1. package/README.md +1 -0
  2. package/dist/attachments/spinnerOverlay.theme.d.ts +2 -36
  3. package/dist/components/AIAskUserQuestion/aiAskUserQuestion.theme.d.ts +2 -30
  4. package/dist/components/AIChat/aiChat.theme.d.ts +2 -14
  5. package/dist/components/AIComposer/aiComposer.theme.d.ts +2 -50
  6. package/dist/components/AIContext/aiContext.theme.d.ts +2 -37
  7. package/dist/components/AIConversation/aiConversation.theme.d.ts +2 -4
  8. package/dist/components/AIFilePreview/aiFilePreview.theme.d.ts +2 -17
  9. package/dist/components/AIMarker/aiMarker.theme.d.ts +2 -18
  10. package/dist/components/AIMessage/aiMessage.theme.d.ts +2 -72
  11. package/dist/components/AIMessageActions/aiMessageActions.theme.d.ts +2 -29
  12. package/dist/components/AIModelSelector/aiModelSelector.theme.d.ts +2 -25
  13. package/dist/components/AIReasoning/aiReasoning.theme.d.ts +2 -9
  14. package/dist/components/AISuggestion/aiSuggestion.theme.d.ts +2 -6
  15. package/dist/components/AIThread/aiThread.theme.d.ts +2 -35
  16. package/dist/components/AIThreadToc/aiThreadToc.theme.d.ts +2 -44
  17. package/dist/components/AITool/aiTool.mcp.d.ts +1 -1
  18. package/dist/components/AITool/aiTool.mcp.js +1 -1
  19. package/dist/components/AITool/aiTool.theme.d.ts +2 -170
  20. package/dist/components/AITool/aiTool.theme.js +14 -12
  21. package/dist/components/Accordion/accordion.theme.d.ts +2 -135
  22. package/dist/components/Alert/alert.theme.d.ts +2 -88
  23. package/dist/components/AppShell/appShell.theme.d.ts +2 -34
  24. package/dist/components/AspectRatio/aspectRatio.theme.d.ts +2 -5
  25. package/dist/components/AudioPlayer/audioPlayer.theme.d.ts +2 -179
  26. package/dist/components/Avatar/avatar.theme.d.ts +2 -38
  27. package/dist/components/Avatar/avatarGroup.theme.d.ts +2 -17
  28. package/dist/components/Breadcrumbs/breadcrumbs.theme.d.ts +2 -33
  29. package/dist/components/Button/Button.svelte +15 -13
  30. package/dist/components/Button/button.theme.d.ts +2 -55
  31. package/dist/components/ButtonGroup/buttonGroup.theme.d.ts +2 -4
  32. package/dist/components/Card/card.theme.d.ts +2 -119
  33. package/dist/components/Carousel/carousel.theme.d.ts +2 -73
  34. package/dist/components/Chart/chart.theme.d.ts +2 -24
  35. package/dist/components/Chip/chip.theme.d.ts +2 -56
  36. package/dist/components/Code/code.theme.d.ts +2 -9
  37. package/dist/components/Collapsible/collapsible.theme.d.ts +2 -44
  38. package/dist/components/Command/command.theme.d.ts +2 -103
  39. package/dist/components/Confirmation/confirmation.theme.d.ts +2 -10
  40. package/dist/components/ContextMenu/contextMenu.theme.d.ts +2 -10
  41. package/dist/components/DataTable/dataTable.theme.d.ts +2 -160
  42. package/dist/components/Dialog/Dialog.svelte +16 -0
  43. package/dist/components/Dialog/dialog.mcp.d.ts +1 -1
  44. package/dist/components/Dialog/dialog.mcp.js +2 -1
  45. package/dist/components/Dialog/dialog.props.d.ts +5 -0
  46. package/dist/components/Dialog/dialog.theme.d.ts +2 -137
  47. package/dist/components/Dialog/dialog.theme.js +12 -8
  48. package/dist/components/Diff/diff.theme.d.ts +2 -6
  49. package/dist/components/DocumentViewer/documentViewer.theme.d.ts +2 -87
  50. package/dist/components/Empty/empty.theme.d.ts +2 -71
  51. package/dist/components/EventCalendar/eventCalendar.theme.d.ts +2 -3171
  52. package/dist/components/FloatingWindow/floatingWindow.theme.d.ts +2 -96
  53. package/dist/components/Form/Calendar/CalendarPrimitive.svelte.d.ts +2 -63
  54. package/dist/components/Form/Calendar/calendar.theme.d.ts +2 -63
  55. package/dist/components/Form/CheckboxesInput/checkboxesInput.theme.d.ts +2 -100
  56. package/dist/components/Form/ColorInput/colorInput.theme.d.ts +2 -32
  57. package/dist/components/Form/ColorPicker/colorPicker.theme.d.ts +2 -127
  58. package/dist/components/Form/Combobox/combobox.theme.d.ts +2 -50
  59. package/dist/components/Form/DateInput/dateInput.theme.d.ts +2 -26
  60. package/dist/components/Form/DateSelector/dateSelector.theme.d.ts +2 -17
  61. package/dist/components/Form/Field/field.theme.d.ts +2 -146
  62. package/dist/components/Form/File/fileInput.theme.d.ts +2 -41
  63. package/dist/components/Form/Form/form.theme.d.ts +2 -129
  64. package/dist/components/Form/KeyValueInput/keyValueInput.theme.d.ts +2 -50
  65. package/dist/components/Form/MultiStepForm/multiStepForm.theme.d.ts +2 -25
  66. package/dist/components/Form/NumberInput/numberInput.theme.d.ts +2 -25
  67. package/dist/components/Form/PasswordInput/passwordInput.theme.d.ts +2 -25
  68. package/dist/components/Form/PhoneInput/phoneInput.theme.d.ts +2 -112
  69. package/dist/components/Form/PinInput/pinInput.theme.d.ts +2 -38
  70. package/dist/components/Form/RadioInput/radioInput.theme.d.ts +2 -94
  71. package/dist/components/Form/Select/select.theme.d.ts +2 -71
  72. package/dist/components/Form/Slider/slider.theme.d.ts +2 -266
  73. package/dist/components/Form/Switch/switch.theme.d.ts +2 -40
  74. package/dist/components/Form/TagGroup/tagGroup.theme.d.ts +2 -19
  75. package/dist/components/Form/TagsInput/tagsInput.theme.d.ts +2 -53
  76. package/dist/components/Form/TextArea/textArea.theme.d.ts +2 -25
  77. package/dist/components/Form/TextInput/textInput.theme.d.ts +2 -25
  78. package/dist/components/Form/TimeInput/timeInput.theme.d.ts +2 -47
  79. package/dist/components/Form/VoiceInput/voiceInput.theme.d.ts +2 -155
  80. package/dist/components/GanttChart/ganttChart.theme.d.ts +2 -2478
  81. package/dist/components/Globe/globe.theme.d.ts +2 -13
  82. package/dist/components/Grid/grid.theme.d.ts +2 -18
  83. package/dist/components/Grid/gridSpan.theme.d.ts +2 -4
  84. package/dist/components/Heading/heading.theme.d.ts +2 -41
  85. package/dist/components/Hitbox/hitbox.theme.d.ts +2 -10
  86. package/dist/components/HoverCard/hoverCard.theme.d.ts +11 -27
  87. package/dist/components/HoverCard/hoverCard.theme.js +9 -4
  88. package/dist/components/ImageGallery/imageGallery.theme.d.ts +2 -6
  89. package/dist/components/ImageZoom/imageZoom.theme.d.ts +2 -16
  90. package/dist/components/Kanban/kanban.theme.d.ts +2 -60
  91. package/dist/components/Kbd/kbd.theme.d.ts +2 -33
  92. package/dist/components/Layout/layoutSpacing.d.ts +1 -1
  93. package/dist/components/LinkPreview/linkPreview.theme.d.ts +2 -58
  94. package/dist/components/Map/map.theme.d.ts +2 -14
  95. package/dist/components/Markdown/markdown.theme.d.ts +2 -10
  96. package/dist/components/Marquee/marquee.theme.d.ts +2 -37
  97. package/dist/components/MediaVolume/mediaVolumeControl.theme.d.ts +2 -22
  98. package/dist/components/Menu/menu.theme.d.ts +2 -12
  99. package/dist/components/MenuBar/menuBar.theme.d.ts +2 -16
  100. package/dist/components/MenuOption/menuOption.theme.d.ts +2 -75
  101. package/dist/components/Mermaid/mermaid.theme.d.ts +2 -15
  102. package/dist/components/MetadataList/metadataList.theme.d.ts +2 -97
  103. package/dist/components/Meter/meter.theme.d.ts +2 -111
  104. package/dist/components/MiniCalendar/miniCalendar.theme.d.ts +2 -71
  105. package/dist/components/NetworkIndicator/networkIndicator.theme.d.ts +2 -41
  106. package/dist/components/Overlay/overlay.theme.d.ts +2 -92
  107. package/dist/components/PageShell/pageShell.theme.d.ts +2 -36
  108. package/dist/components/Pagination/pagination.theme.d.ts +2 -108
  109. package/dist/components/Popover/popover.theme.d.ts +2 -40
  110. package/dist/components/PopupMenu/popupMenu.theme.d.ts +2 -4
  111. package/dist/components/ProgressCircle/progressCircle.theme.d.ts +2 -22
  112. package/dist/components/QRCode/qrCode.theme.d.ts +2 -19
  113. package/dist/components/Rating/rating.theme.d.ts +2 -37
  114. package/dist/components/Resizable/resizable.theme.d.ts +2 -65
  115. package/dist/components/RichTextInput/richTextInput.theme.d.ts +2 -167
  116. package/dist/components/ScrollArea/scrollArea.theme.d.ts +2 -15
  117. package/dist/components/SegmentedControl/segmentedControl.theme.d.ts +2 -76
  118. package/dist/components/SelectionMenu/selectionMenu.theme.d.ts +2 -5
  119. package/dist/components/Separator/separator.theme.d.ts +2 -33
  120. package/dist/components/Sidebar/SidebarAction.svelte +2 -2
  121. package/dist/components/Sidebar/SidebarActivityBar.svelte +3 -3
  122. package/dist/components/Sidebar/SidebarGroup.svelte +6 -6
  123. package/dist/components/Sidebar/SidebarMenuButton.svelte +15 -18
  124. package/dist/components/Sidebar/SidebarMenuItem.svelte +15 -21
  125. package/dist/components/Sidebar/SidebarMenuSubItem.svelte +5 -6
  126. package/dist/components/Sidebar/SidebarPanel.svelte +3 -6
  127. package/dist/components/Sidebar/SidebarTreeNode.svelte +2 -2
  128. package/dist/components/Sidebar/sidebar.theme.d.ts +86 -540
  129. package/dist/components/Sidebar/sidebar.theme.js +69 -67
  130. package/dist/components/Skeleton/skeleton.theme.d.ts +2 -14
  131. package/dist/components/SortableList/sortableList.theme.d.ts +2 -43
  132. package/dist/components/Spinner/spinner.theme.d.ts +2 -41
  133. package/dist/components/SpinnerText/spinnerText.theme.d.ts +2 -49
  134. package/dist/components/Stack/stack.theme.d.ts +2 -12
  135. package/dist/components/Stat/stat.theme.d.ts +2 -132
  136. package/dist/components/Stepper/stepper.theme.d.ts +2 -22
  137. package/dist/components/Tabbar/tabbar.theme.d.ts +2 -110
  138. package/dist/components/Table/table.theme.d.ts +2 -42
  139. package/dist/components/TableOfContents/tableOfContents.theme.d.ts +2 -28
  140. package/dist/components/Tabs/tabs.theme.d.ts +2 -20
  141. package/dist/components/Theme/Theme.svelte +4 -4
  142. package/dist/components/Theme/theme.designTokens.d.ts +10 -0
  143. package/dist/components/Theme/theme.designTokens.js +14 -1
  144. package/dist/components/Theme/theme.state.svelte.js +3 -3
  145. package/dist/components/Timeline/timeline.theme.d.ts +2 -226
  146. package/dist/components/Toast/toast.theme.d.ts +2 -236
  147. package/dist/components/ToggleButton/toggleButton.theme.d.ts +2 -57
  148. package/dist/components/ToggleButtonGroup/toggleButtonGroup.theme.d.ts +2 -9
  149. package/dist/components/ToggleMenu/toggleMenu.theme.d.ts +2 -7
  150. package/dist/components/Tooltip/tooltip.theme.d.ts +2 -25
  151. package/dist/components/Tree/tree.theme.d.ts +2 -7
  152. package/dist/components/VideoPlayer/videoPlayer.theme.d.ts +2 -145
  153. package/dist/generated/componentContract.d.ts +1 -1
  154. package/dist/generated/componentContract.js +2 -0
  155. package/dist/generated/componentMcpRegistry.d.ts +3 -3
  156. package/dist/tailwind/colors.js +7 -1
  157. package/dist/tailwind/spacing.d.ts +13 -0
  158. package/dist/tailwind/spacing.js +5 -2
  159. package/dist/utils/cva/cva.mcp.d.ts +1 -1
  160. package/dist/utils/cva/cva.mcp.js +1 -1
  161. package/dist/utils/cva/index.d.ts +1 -1
  162. package/dist/utils/cva/theme.d.ts +36 -1
  163. package/dist/utils/cva/theme.js +25 -2
  164. package/package.json +1 -1
@@ -48,7 +48,7 @@ export declare const setChartTheme: (theme: InferComponentTheme<{
48
48
  legendSwatch: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
49
49
  tooltip: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
50
50
  }>) => void;
51
- export declare const useChartTheme: (theme?: InferComponentTheme<{
51
+ export declare const useChartTheme: import("../../utils/cva/theme.js").UseComponentTheme<{
52
52
  motion: import("../../utils/motion/index.js").MotionResolver<import("../../utils/motion/index.js").MotionVariantShape>;
53
53
  root: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
54
54
  plot: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
@@ -70,27 +70,5 @@ export declare const useChartTheme: (theme?: InferComponentTheme<{
70
70
  legendItem: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
71
71
  legendSwatch: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
72
72
  tooltip: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
73
- }> | undefined) => {
74
- motion: import("../../utils/motion/index.js").MotionResolver<import("../../utils/motion/index.js").MotionVariantShape>;
75
- root: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
76
- plot: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
77
- legend: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
78
- placement: {
79
- top: string;
80
- bottom: string;
81
- };
82
- align: {
83
- left: string;
84
- center: string;
85
- right: string;
86
- };
87
- orientation: {
88
- horizontal: string;
89
- vertical: string;
90
- };
91
- }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
92
- legendItem: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
93
- legendSwatch: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
94
- tooltip: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
95
- };
73
+ }>;
96
74
  export declare const useChartMotion: () => import("../../utils/motion/index.js").ComponentMotion<import("../../utils/motion/index.js").MotionVariantShape>;
@@ -111,7 +111,7 @@ export declare const setChipTheme: (theme: InferComponentTheme<{
111
111
  };
112
112
  }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
113
113
  }>) => void;
114
- export declare const useChipTheme: (theme?: InferComponentTheme<{
114
+ export declare const useChipTheme: import("../../utils/cva/theme.js").UseComponentTheme<{
115
115
  root: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
116
116
  isLink: {
117
117
  true: string;
@@ -165,58 +165,4 @@ export declare const useChipTheme: (theme?: InferComponentTheme<{
165
165
  small: string;
166
166
  };
167
167
  }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
168
- }> | undefined) => {
169
- root: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
170
- isLink: {
171
- true: string;
172
- false: null;
173
- };
174
- isEmpty: {
175
- true: string;
176
- false: null;
177
- };
178
- size: {
179
- small: string;
180
- normal: string;
181
- large: string;
182
- };
183
- color: {
184
- primary: string;
185
- secondary: string;
186
- neutral: string;
187
- danger: string;
188
- success: string;
189
- warning: string;
190
- info: string;
191
- };
192
- variant: {
193
- solid: string;
194
- outline: string;
195
- soft: string;
196
- };
197
- selected: {
198
- true: string;
199
- false: null;
200
- };
201
- position: {
202
- 'top-right': string;
203
- 'top-left': string;
204
- 'bottom-right': string;
205
- 'bottom-left': string;
206
- };
207
- }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
208
- prefix: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
209
- size: {
210
- normal: string;
211
- large: string;
212
- small: string;
213
- };
214
- }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
215
- suffix: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
216
- size: {
217
- normal: string;
218
- large: string;
219
- small: string;
220
- };
221
- }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
222
- };
168
+ }>;
@@ -17,18 +17,11 @@ export declare const setCodeTheme: (theme: InferComponentTheme<{
17
17
  footer: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
18
18
  floatingCopy: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
19
19
  }>) => void;
20
- export declare const useCodeTheme: (theme?: InferComponentTheme<{
20
+ export declare const useCodeTheme: import("../../utils/cva/theme.js").UseComponentTheme<{
21
21
  root: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
22
22
  header: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
23
23
  title: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
24
24
  container: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
25
25
  footer: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
26
26
  floatingCopy: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
27
- }> | undefined) => {
28
- root: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
29
- header: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
30
- title: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
31
- container: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
32
- footer: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
33
- floatingCopy: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
34
- };
27
+ }>;
@@ -96,7 +96,7 @@ export declare const setCollapsibleTheme: (theme: InferComponentTheme<{
96
96
  };
97
97
  }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
98
98
  }>) => void;
99
- export declare const useCollapsibleTheme: (theme?: InferComponentTheme<{
99
+ export declare const useCollapsibleTheme: import("../../utils/cva/theme.js").UseComponentTheme<{
100
100
  motion: import("../../utils/motion/index.js").MotionResolver<{
101
101
  readonly variant: {
102
102
  readonly default: {};
@@ -138,49 +138,7 @@ export declare const useCollapsibleTheme: (theme?: InferComponentTheme<{
138
138
  large: string;
139
139
  };
140
140
  }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
141
- }> | undefined) => {
142
- motion: import("../../utils/motion/index.js").MotionResolver<{
143
- readonly variant: {
144
- readonly default: {};
145
- readonly peek: {
146
- readonly duration: "slow";
147
- readonly easing: "enter";
148
- };
149
- };
150
- }>;
151
- root: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
152
- size: {
153
- small: string;
154
- normal: string;
155
- large: string;
156
- };
157
- }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
158
- trigger: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
159
- size: {
160
- small: string;
161
- normal: string;
162
- large: string;
163
- };
164
- disabled: {
165
- true: string;
166
- false: null;
167
- };
168
- }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
169
- content: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
170
- size: {
171
- small: string;
172
- normal: string;
173
- large: string;
174
- };
175
- }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
176
- icon: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
177
- size: {
178
- small: string;
179
- normal: string;
180
- large: string;
181
- };
182
- }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
183
- };
141
+ }>;
184
142
  export declare const useCollapsibleMotion: () => import("../../utils/motion/index.js").ComponentMotion<{
185
143
  readonly variant: {
186
144
  readonly default: {};
@@ -205,7 +205,7 @@ export declare const setCommandTheme: (theme: InferComponentTheme<{
205
205
  }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
206
206
  trigger: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
207
207
  }>) => void;
208
- export declare const useCommandTheme: (theme?: InferComponentTheme<{
208
+ export declare const useCommandTheme: import("../../utils/cva/theme.js").UseComponentTheme<{
209
209
  root: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
210
210
  size: {
211
211
  small: string;
@@ -306,105 +306,4 @@ export declare const useCommandTheme: (theme?: InferComponentTheme<{
306
306
  };
307
307
  }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
308
308
  trigger: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
309
- }> | undefined) => {
310
- root: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
311
- size: {
312
- small: string;
313
- normal: string;
314
- large: string;
315
- };
316
- }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
317
- inputWrapper: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
318
- size: {
319
- small: string;
320
- normal: string;
321
- large: string;
322
- };
323
- }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
324
- inputGroup: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
325
- size: {
326
- small: string;
327
- normal: string;
328
- large: string;
329
- };
330
- }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
331
- inputIcon: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
332
- size: {
333
- small: string;
334
- normal: string;
335
- large: string;
336
- };
337
- }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
338
- input: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
339
- size: {
340
- small: string;
341
- normal: string;
342
- large: string;
343
- };
344
- }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
345
- list: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
346
- size: {
347
- small: string;
348
- normal: string;
349
- large: string;
350
- };
351
- }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
352
- empty: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
353
- size: {
354
- small: string;
355
- normal: string;
356
- large: string;
357
- };
358
- }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
359
- group: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
360
- size: {
361
- small: string;
362
- normal: string;
363
- large: string;
364
- };
365
- }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
366
- groupHeading: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
367
- size: {
368
- small: string;
369
- normal: string;
370
- large: string;
371
- };
372
- }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
373
- separator: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
374
- size: {
375
- small: string;
376
- normal: string;
377
- large: string;
378
- };
379
- }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
380
- item: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
381
- size: {
382
- small: string;
383
- normal: string;
384
- large: string;
385
- };
386
- highlighted: {
387
- true: string;
388
- false: string;
389
- };
390
- }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
391
- shortcut: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
392
- size: {
393
- small: string;
394
- normal: string;
395
- large: string;
396
- };
397
- highlighted: {
398
- true: string;
399
- false: string;
400
- };
401
- }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
402
- footer: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
403
- size: {
404
- small: string;
405
- normal: string;
406
- large: string;
407
- };
408
- }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
409
- trigger: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
410
- };
309
+ }>;
@@ -19,7 +19,7 @@ export declare const setConfirmationTheme: (theme: InferComponentTheme<{
19
19
  };
20
20
  }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
21
21
  }>) => void;
22
- export declare const useConfirmationTheme: (theme?: InferComponentTheme<{
22
+ export declare const useConfirmationTheme: import("../../utils/cva/theme.js").UseComponentTheme<{
23
23
  root: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
24
24
  footer: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
25
25
  layout: {
@@ -27,12 +27,4 @@ export declare const useConfirmationTheme: (theme?: InferComponentTheme<{
27
27
  inline: string;
28
28
  };
29
29
  }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
30
- }> | undefined) => {
31
- root: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
32
- footer: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
33
- layout: {
34
- stacked: string;
35
- inline: string;
36
- };
37
- }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
38
- };
30
+ }>;
@@ -19,7 +19,7 @@ export declare const setContextMenuTheme: (theme: InferComponentTheme<{
19
19
  }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
20
20
  panel: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
21
21
  }>) => void;
22
- export declare const useContextMenuTheme: (theme?: InferComponentTheme<{
22
+ export declare const useContextMenuTheme: import("../../utils/cva/theme.js").UseComponentTheme<{
23
23
  root: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
24
24
  disabled: {
25
25
  true: string;
@@ -27,12 +27,4 @@ export declare const useContextMenuTheme: (theme?: InferComponentTheme<{
27
27
  };
28
28
  }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
29
29
  panel: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
30
- }> | undefined) => {
31
- root: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
32
- disabled: {
33
- true: string;
34
- false: null;
35
- };
36
- }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
37
- panel: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
38
- };
30
+ }>;
@@ -319,7 +319,7 @@ export declare const setDataTableTheme: (theme: InferComponentTheme<{
319
319
  footer: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
320
320
  summary: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
321
321
  }>) => void;
322
- export declare const useDataTableTheme: (theme?: InferComponentTheme<{
322
+ export declare const useDataTableTheme: import("../../utils/cva/theme.js").UseComponentTheme<{
323
323
  root: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
324
324
  fill: {
325
325
  true: string;
@@ -477,163 +477,5 @@ export declare const useDataTableTheme: (theme?: InferComponentTheme<{
477
477
  skeletonBar: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
478
478
  footer: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
479
479
  summary: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
480
- }> | undefined) => {
481
- root: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
482
- fill: {
483
- true: string;
484
- false: string;
485
- };
486
- }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
487
- toolbar: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
488
- toolbarGroup: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
489
- search: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
490
- viewport: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
491
- fill: {
492
- true: string;
493
- false: string;
494
- };
495
- }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
496
- savingIndicator: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
497
- scrollArea: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
498
- virtualTable: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
499
- caption: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
500
- density: {
501
- compact: string;
502
- normal: string;
503
- comfortable: string;
504
- };
505
- }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
506
- header: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
507
- headerRow: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
508
- headerCell: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
509
- density: {
510
- compact: string;
511
- normal: string;
512
- comfortable: string;
513
- };
514
- align: {
515
- start: string;
516
- center: string;
517
- end: string;
518
- };
519
- pinned: {
520
- true: string;
521
- false: string;
522
- };
523
- }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
524
- headerContent: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
525
- headerButton: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
526
- headerLabel: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
527
- headerActions: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
528
- headerMenuPanel: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
529
- sheet: {
530
- true: string;
531
- false: string;
532
- };
533
- }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
534
- headerMenuButton: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
535
- active: {
536
- true: string;
537
- false: string;
538
- };
539
- }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
540
- dragHandle: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
541
- dragThumb: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
542
- resizeHandle: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
543
- body: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
544
- row: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
545
- density: {
546
- compact: string;
547
- normal: string;
548
- comfortable: string;
549
- };
550
- grouped: {
551
- true: string;
552
- false: string;
553
- };
554
- }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
555
- cell: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
556
- density: {
557
- compact: string;
558
- normal: string;
559
- comfortable: string;
560
- };
561
- align: {
562
- start: string;
563
- center: string;
564
- end: string;
565
- };
566
- pinned: {
567
- true: string;
568
- false: string;
569
- };
570
- focused: {
571
- true: string;
572
- false: string;
573
- };
574
- editing: {
575
- true: string;
576
- false: string;
577
- };
578
- }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
579
- cellContent: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
580
- selectionCell: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
581
- selectionCheckboxRoot: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
582
- selectionCheckboxContainer: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
583
- selectionCheckboxControl: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
584
- selectionCheckboxIndicator: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
585
- actionsCell: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
586
- detailRow: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
587
- detailCell: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
588
- density: {
589
- compact: string;
590
- normal: string;
591
- comfortable: string;
592
- };
593
- }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
594
- spacer: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
595
- expander: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
596
- groupValue: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
597
- groupCount: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
598
- pinnedBoundary: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
599
- side: {
600
- left: string;
601
- right: string;
602
- none: string;
603
- };
604
- }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
605
- editor: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
606
- editorField: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
607
- editorInput: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
608
- editorInputContainer: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
609
- density: {
610
- compact: string;
611
- normal: string;
612
- comfortable: string;
613
- };
614
- }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
615
- editorSwitchContainer: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
616
- editorFieldLabel: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
617
- editorError: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
618
- filterPanel: (props?: (import("../../utils/cva/types.js").CVAVariantSchema<{
619
- separated: {
620
- true: string;
621
- false: string;
622
- };
623
- }> & import("../../utils/cva/types.js").CVAClassProp) | undefined) => string;
624
- filterHeader: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
625
- filterLabel: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
626
- filterFields: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
627
- filterCheckboxGroup: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
628
- filterCheckboxContainer: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
629
- filterCheckboxItem: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
630
- filterCheckboxIndicator: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
631
- stateRow: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
632
- stateCell: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
633
- stateContent: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
634
- skeletonList: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
635
- skeletonBar: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
636
- footer: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
637
- summary: (props?: import("../../utils/cva/types.js").CVAClassProp | undefined) => string;
638
- };
480
+ }>;
639
481
  export type DataTableClasses = ReturnType<typeof useDataTableTheme>;
@@ -8,6 +8,7 @@
8
8
  import Button from '../Button/Button.svelte';
9
9
  import { fso } from '../../transitions/transition.js';
10
10
  import { portal } from '../../attachments/portal.js';
11
+ import { drawerInsetValue } from '../Theme/theme.designTokens.js';
11
12
 
12
13
  let {
13
14
  id: customId,
@@ -28,6 +29,7 @@
28
29
  swipeToDismiss,
29
30
  swipeFrom,
30
31
  thumb = true,
32
+ inset,
31
33
  class: className,
32
34
  header,
33
35
  footer,
@@ -132,6 +134,7 @@
132
134
  data-type={dialog.type}
133
135
  data-size={size}
134
136
  style:z-index={dialog.zIndex}
137
+ style:--drawer-inset={inset === undefined ? undefined : drawerInsetValue(inset)}
135
138
  >
136
139
  <div class={classes.align({ type: dialog.computedType, scroll: dialog.computedScroll })}>
137
140
  <div
@@ -220,3 +223,16 @@
220
223
  </Button>
221
224
  {/if}
222
225
  {/if}
226
+
227
+ <style>
228
+ /*
229
+ * A drawer's edge corners round only while it stands off the screen edge: 9999× the inset
230
+ * is 0 at `drawerInset: 'none'` and larger than any radius otherwise, so `min()` picks square
231
+ * or the panel's radius with no variant. Declared here, on the panel, so a scoped <Theme>
232
+ * that changes `--drawer-inset` is seen (a declaration on `html` would resolve the variable
233
+ * there instead).
234
+ */
235
+ [data-type^='drawer'] {
236
+ --drawer-edge-radius: min(var(--radius-xl), calc(var(--drawer-inset) * 9999));
237
+ }
238
+ </style>
@@ -1 +1 @@
1
- export declare const dialogDescription = "\n# Dialog Component\n\nThe Dialog component (also known as Modal) displays content in a layer above the page, blocking interaction with the rest of the application until dismissed.\n\n## Basic Usage\n\n```svelte\n<script>\n\timport { Dialog } from 'entasis/dialog';\n\timport { Button } from 'entasis/button';\n\t\t\n</script>\n// By default Dialog comes with a button that trigger them, no need to define a callback and a $state\n<Dialog title=\"Dialog Title\">\n\tDialog content goes here\n</Dialog>\n```\n\n## Props\n\n### Core Props\n- **open**: boolean (bindable) - Controls dialog visibility\n- **defaultOpen**: boolean (default: false) - Initial state when open is not provided\n- **id**: string - Unique identifier for the dialog\n- **type**: 'fullScreen' | 'drawerRight' | 'drawerLeft' | 'drawerBottom' | 'drawerTop' | 'alert' | 'modal' (default: 'modal')\n - fullScreen: Full screen dialog overlay\n - drawerRight: Drawer sliding in from the right\n - drawerLeft: Drawer sliding in from the left\n - drawerBottom: Drawer sliding in from the bottom\n - drawerTop: Drawer sliding in from the top\n - alert: Alert-style dialog\n - modal: Standard modal dialog\n - Supports responsive values: pass a `Partial<Record<Breakpoint, DialogType>>` record such as `{ xs: 'drawerBottom', md: 'modal' }` to vary the type per breakpoint (breakpoint is one of 'xs' | 'sm' | 'md' | 'lg' | 'xl', tracked live from the viewport; the nearest defined key at or below the active one wins)\n- **responsive**: boolean (default: true) - When the resolved type is `modal`, collapse it into a `drawerBottom` bottom sheet on mobile (viewport < 768px). The sheet inherits swipe-to-dismiss and the drag thumb. Set false to keep a centered modal on every screen size\n\n### Layout Props\n- **size**: 'small' | 'normal' | 'large' (default: 'normal')\n - small: Compact dialog size\n - normal: Standard dialog size\n - large: Larger dialog size\n\n### Event Props\n- **onOpenChange**: (open: boolean) => void - Called once for each library-requested state change\n- **onAfterOpen**: (payload: DialogState) => void - Called after the open transition finishes\n- **onAfterClose**: (payload: DialogState) => void - Called after the close transition finishes\n\n### Slot Props\n- **title**: string | Snippet<[DialogState]> - Dialog title\n- **description**: string | Snippet<[DialogState]> - Dialog description\n- **children**: Snippet<[DialogState]> - Main dialog content\n- **header**: Snippet - Custom header content\n- **footer**: Snippet - Custom footer content\n- **trigger**: Snippet | (ButtonProps & { content?: string }) - Custom trigger button\n- **closeButton**: Snippet - Custom close button\n\n### Behavior Props\n- **closeOnEscape**: boolean (default: true) - Close when Escape key is pressed\n- **closeOnClickOutside**: boolean (default: true) - Close when clicking outside dialog\n- **closable**: boolean (default: true) - Whether dialog can be closed\n- **swipeToDismiss**: boolean (default: true for drawer types) - Drag the drawer toward its edge to dismiss. Direction-aware (drawerRight drags right, drawerBottom drags down, etc.) and never hijacks inner scrolling; opt elements out with `data-no-swipe`\n- **thumb**: boolean (default: true) - Drag thumb bar shown on swipe-dismissable drawers (inner edge, orientation follows the drawer side, oversized hitbox); set false to hide. Themeable via the `thumb` theme part\n- **swipeFrom**: 'panel' | 'handle' (default: 'panel') - Where a swipe can start: anywhere on the panel, or only the drag handles (thumb and header)\n\n### Visual Props\n- **transition**: TransitionConfig - Custom transition animation\n\n### Styling Props\n- **class**: string - Additional CSS classes\n- **theme**: ComponentTheme - Custom theme overrides\n\n## Structure\n\n```\n<DialogOverlay>\n\t<DialogContent>\n\t\t<DialogHeader>\n\t\t\t<Title />\n\t\t\t<Description />\n\t\t\t<CloseButton />\n\t\t</DialogHeader>\n\t\t<DialogBody>\n\t\t\t<Children />\n\t\t</DialogBody>\n\t\t<DialogFooter />\n\t</DialogContent>\n</DialogOverlay>\n```\n\n## Examples\n\n### More Examples\n\n### A with a custom trigger \n```svelte\n\n<script>\n\timport { Dialog } from 'entasis/dialog';\n\timport { Button } from 'entasis/button';\n\t\n\tlet open = $state(false);\n</script>\n\n\n<Dialog bind:open title=\"Welcome\">\n\t<p>This is a basic dialog.</p>\n\t\n\t{#snippet trigger(dialog)}\n\t\t<Button onclick={() => dialog.open()}>Open</Button>\n\t{/snippet}\n</Dialog>\n```\n\n### A with a custom as button props \n```svelte\n\n<script>\n\timport { Dialog } from 'entasis/dialog';\n\timport { Button } from 'entasis/button';\n\t\n\tlet open = $state(false);\n</script>\n\n\n<Dialog bind:open title=\"Welcome\"\ntrigger={{\ncontent:\"Click me\",\ncolor:\"secondary\",\nsize:\"small\"\n}}\n>\n\t<p>This is a basic dialog.</p>\t\n</Dialog>\n```\n\n### With Description\n\n```svelte\n<script>\n\timport { Dialog } from 'entasis/dialog';\n\t\n</script>\n\n<Dialog \t\n\ttitle=\"Confirm Action\"\n\tdescription=\"Are you sure you want to continue?\"\n>\n\t<p>This action cannot be undone.</p>\n</Dialog>\n```\n\n### Different Sizes\n\n```svelte\n<script>\n\timport { Dialog } from 'entasis/dialog';\n\t\n\tlet open = $state(false);\n</script>\n\n```\n\n### Advanced Example\n\n```svelte\n<script>\n\timport { Dialog } from 'entasis/dialog';\n\timport { Button } from 'entasis/button';\n\t\n\tlet open = $state(false);\n\t\n\tfunction handleConfirm() {\n\t\tconsole.log('Confirmed!');\n\t\topen = false;\n\t}\n</script>\n\n<Dialog bind:open title=\"Confirm\">\n\tAre you sure?\n\t\n\t{#snippet footer()}\n\t\t<div class=\"flex gap-2 justify-end\">\n\t\t\t<Button variant=\"ghost\" onclick={() => open = false}>\n\t\t\t\tCancel\n\t\t\t</Button>\n\t\t\t<Button color=\"danger\" onclick={handleConfirm}>\n\t\t\t\tConfirm\n\t\t\t</Button>\n\t\t</div>\n\t{/snippet}\n</Dialog>\n```\n\n### Drawer Types\n\n```svelte\n<script>\n\timport { Dialog } from 'entasis/dialog';\n\t\n\t\n</script>\n\n<!-- Right drawer -->\n<Dialog type=\"drawerRight\" title=\"Side Drawer\">\n\tThis slides in from the right\n</Dialog>\n\n<!-- Left drawer -->\n<Dialog type=\"drawerLeft\" title=\"Left Drawer\">\n\tThis slides in from the left\n</Dialog>\n\n<!-- Bottom drawer -->\n<Dialog type=\"drawerBottom\" title=\"Bottom Drawer\">\n\tThis slides in from the bottom\n</Dialog>\n\n<!-- Full screen -->\n<Dialog type=\"fullScreen\" title=\"Full Screen\">\n\tFull screen dialog content\n</Dialog>\n```\n\n### Custom Header\n\n```svelte\n<script>\n\timport { Dialog } from 'entasis/dialog';\n\timport { warningIcon } from 'entasis/icons/warning';\n</script>\n\n<Dialog bind:open>\n\t{#snippet header()}\n\t\t<div class=\"flex items-center gap-2\">\n\t\t\t{@render warningIcon()}\n\t\t\t<h2>Warning</h2>\n\t\t</div>\n\t{/snippet}\n\t\n\tThis is important!\n</Dialog>\n```\n\n\n### With Lifecycle Hooks\n\n```svelte\n<script>\n\timport { Dialog } from 'entasis/dialog';\n\t\n\tlet open = $state(false);\n</script>\n\n<Dialog \n\tbind:open\n\ttitle=\"Lifecycle\"\n\tonAfterOpen={(payload) => console.log('Dialog opened', payload)}\n\tonAfterClose={(payload) => console.log('Dialog closed', payload)}\n>\n\tWatch the console\n</Dialog>\n```\n\n## State Management\n\nThe Dialog component uses a `DialogState` instance that is passed to all slot snippets. This state object provides:\n\n- **id**: string - Dialog identifier\n- **type**: DialogType - Current dialog type\n- **size**: Size - Current dialog size\n- **open()**: () => void - Method to open the dialog\n- **close()**: () => void - Method to close the dialog\n\n## Accessibility\n\n- Initial focus goes to an `[autofocus]` / `[data-autofocus]` element inside the dialog, else the first tabbable control (the close button is skipped), else the panel itself\n- Tab and Shift+Tab are contained inside the dialog, and the rest of the page is `inert` while a modal is open\n- Focus is restored to the opener after the close transition finishes, just before `onAfterClose`\n- `aria-labelledby` links the `title` and `aria-describedby` links the `description`\n- Escape closes only the topmost open layer and an outside press dismisses the layers above the one pressed; both honour `closeOnEscape` / `closable` / `closeOnClickOutside` through the shared layer stack\n- Body scroll is locked when dialog is open\n\n## Notes\n\n- Multiple dialogs can be stacked\n- Last opened dialog receives focus\n- Background overlay prevents interaction with page\n- Scroll locking prevents background scroll\n- Transitions are customizable\n\n## Theme Customization\n\nThe Dialog component uses a theme object that can be customized using the `theme` prop or by setting a global theme.\n\n### Theme Structure\n\nThe theme object contains the following parts:\n- **motion**: Open/close transition preset, keyed by `type` (drawers fly from their edge). Takes\n `in` / `out` FSO params plus a `duration` / `easing` motion token; the `transition` prop wins\n over it\n- **root**: Dialog overlay/backdrop styles\n- **content**: Dialog content container styles\n- **thumb**: Drag thumb bar styles (type variant controls per-side placement)\n- **header**: Dialog header section styles\n- **footer**: Dialog footer section styles\n- **closeButton**: Close button styles\n- **title**: Dialog title text styles\n- **description**: Dialog description text styles\n\n### Theme Type Definition\n\n```typescript\nimport type { DialogThemeProps } from 'entasis/dialog';\n\n// Example theme customization\nconst customTheme: DialogThemeProps = {\n root: {\n base: 'z-[+50] fixed inset-0 flex',\n scroll: {\n inner: 'overflow-hidden',\n outer: 'overflow-auto'\n }\n },\n align: {\n type: {\n fullScreen: 'justify-center items-center',\n drawerRight: 'justify-end',\n drawerLeft: 'justify-start',\n drawerBottom: 'justify-center items-end',\n drawerTop: 'justify-center items-start',\n modal: 'justify-center',\n alert: 'justify-center'\n }\n },\n content: {\n size: {\n small: 'max-w-md w-full',\n normal: 'max-w-xl w-full',\n large: 'max-w-3xl w-full'\n },\n type: {\n fullScreen: 'h-full w-full max-w-full',\n drawerRight: 'rounded-l-none h-full',\n modal: ''\n }\n },\n header: {\n size: {\n small: '',\n normal: '',\n large: ''\n }\n },\n title: {\n size: {\n small: '',\n normal: '',\n large: ''\n }\n },\n description: {\n size: {\n small: '',\n normal: '',\n large: ''\n }\n }\n};\n```\n\n### Available Variants\n\n**root**:\n- base: Base classes for dialog overlay/backdrop\n- Variants:\n - size: 'small' | 'normal' | 'large' - Size constraints\n - type: 'fullScreen' | 'drawerRight' | 'drawerLeft' | 'drawerBottom' | 'drawerTop' | 'modal' | 'alert' - Dialog type/layout\n\n**content**:\n- base: Base classes for dialog content container\n- Variants:\n - size: 'small' | 'normal' | 'large' - Content max-width\n - type: 'fullScreen' | 'drawerRight' | 'drawerLeft' | 'drawerBottom' | 'drawerTop' | 'modal' | 'alert' - Content styling based on type\n\n**header**:\n- base: Base classes for header section\n- Variants:\n - size: 'small' | 'normal' | 'large' - Size-based styling\n\n**footer**:\n- base: Base classes for footer section\n- Variants:\n - size: 'small' | 'normal' | 'large' - Size-based styling\n\n**closeButton**:\n- base: Base classes for close button\n- Variants:\n - size: 'small' | 'normal' | 'large' - Size-based styling\n\n**title**:\n- base: Base classes for title text\n- Variants:\n - size: 'small' | 'normal' | 'large' - Text size\n\n**description**:\n- base: Base classes for description text\n- Variants:\n - size: 'small' | 'normal' | 'large' - Text size\n\n### Usage Examples\n\n**Basic Theme Override**:\n```svelte\n<Dialog \n title=\"Custom Dialog\"\n theme={{\n content: {\n base: 'rounded-2xl raised-5',\n size: {\n normal: 'max-w-2xl'\n }\n },\n header: {\n base: 'border-b-2 border-primary'\n }\n }}\n>\n Custom styled dialog content\n</Dialog>\n```\n\n**Drawer Type Customization**:\n```svelte\n<Dialog \n type=\"drawerRight\"\n theme={{\n align: {\n type: {\n drawerRight: 'justify-end'\n }\n },\n backdrop: {\n base: 'bg-black/50'\n },\n content: {\n type: {\n drawerRight: 'rounded-l-xl raised-5'\n }\n }\n }}\n>\n Custom drawer styling\n</Dialog>\n```\n\n**Global Theme Setting**:\n```svelte\n<script>\n import { setDialogTheme } from './index.ts';\n \n setDialogTheme({\n root: {\n base: 'backdrop-blur-sm'\n },\n content: {\n base: 'lift-5 border-2',\n size: {\n normal: 'max-w-2xl'\n }\n },\n title: {\n base: 'text-2xl font-bold'\n }\n });\n</script>\n```\n";
1
+ export declare const dialogDescription = "\n# Dialog Component\n\nThe Dialog component (also known as Modal) displays content in a layer above the page, blocking interaction with the rest of the application until dismissed.\n\n## Basic Usage\n\n```svelte\n<script>\n\timport { Dialog } from 'entasis/dialog';\n\timport { Button } from 'entasis/button';\n\t\t\n</script>\n// By default Dialog comes with a button that trigger them, no need to define a callback and a $state\n<Dialog title=\"Dialog Title\">\n\tDialog content goes here\n</Dialog>\n```\n\n## Props\n\n### Core Props\n- **open**: boolean (bindable) - Controls dialog visibility\n- **defaultOpen**: boolean (default: false) - Initial state when open is not provided\n- **id**: string - Unique identifier for the dialog\n- **type**: 'fullScreen' | 'drawerRight' | 'drawerLeft' | 'drawerBottom' | 'drawerTop' | 'alert' | 'modal' (default: 'modal')\n - fullScreen: Full screen dialog overlay\n - drawerRight: Drawer sliding in from the right\n - drawerLeft: Drawer sliding in from the left\n - drawerBottom: Drawer sliding in from the bottom\n - drawerTop: Drawer sliding in from the top\n - alert: Alert-style dialog\n - modal: Standard modal dialog\n - Supports responsive values: pass a `Partial<Record<Breakpoint, DialogType>>` record such as `{ xs: 'drawerBottom', md: 'modal' }` to vary the type per breakpoint (breakpoint is one of 'xs' | 'sm' | 'md' | 'lg' | 'xl', tracked live from the viewport; the nearest defined key at or below the active one wins)\n- **responsive**: boolean (default: true) - When the resolved type is `modal`, collapse it into a `drawerBottom` bottom sheet on mobile (viewport < 768px). The sheet inherits swipe-to-dismiss and the drag thumb. Set false to keep a centered modal on every screen size\n\n### Layout Props\n- **size**: 'small' | 'normal' | 'large' (default: 'normal')\n - small: Compact dialog size\n - normal: Standard dialog size\n - large: Larger dialog size\n\n### Event Props\n- **onOpenChange**: (open: boolean) => void - Called once for each library-requested state change\n- **onAfterOpen**: (payload: DialogState) => void - Called after the open transition finishes\n- **onAfterClose**: (payload: DialogState) => void - Called after the close transition finishes\n\n### Slot Props\n- **title**: string | Snippet<[DialogState]> - Dialog title\n- **description**: string | Snippet<[DialogState]> - Dialog description\n- **children**: Snippet<[DialogState]> - Main dialog content\n- **header**: Snippet - Custom header content\n- **footer**: Snippet - Custom footer content\n- **trigger**: Snippet | (ButtonProps & { content?: string }) - Custom trigger button\n- **closeButton**: Snippet - Custom close button\n\n### Behavior Props\n- **closeOnEscape**: boolean (default: true) - Close when Escape key is pressed\n- **closeOnClickOutside**: boolean (default: true) - Close when clicking outside dialog\n- **closable**: boolean (default: true) - Whether dialog can be closed\n- **swipeToDismiss**: boolean (default: true for drawer types) - Drag the drawer toward its edge to dismiss. Direction-aware (drawerRight drags right, drawerBottom drags down, etc.) and never hijacks inner scrolling; opt elements out with `data-no-swipe`\n- **thumb**: boolean (default: true) - Drag thumb bar shown on swipe-dismissable drawers (inner edge, orientation follows the drawer side, oversized hitbox); set false to hide. Themeable via the `thumb` theme part\n- **inset**: a spacing step or `'none'` \u2014 how far a drawer stands off the screen edge for this dialog. Defaults to the theme's `designTokens.drawerInset` (`'layout-md'`). At `'none'` the drawer is edge to edge, its edge corners square off and only the corners facing the page stay rounded\n- **swipeFrom**: 'panel' | 'handle' (default: 'panel') - Where a swipe can start: anywhere on the panel, or only the drag handles (thumb and header)\n\n### Visual Props\n- **transition**: TransitionConfig - Custom transition animation\n\n### Styling Props\n- **class**: string - Additional CSS classes\n- **theme**: ComponentTheme - Custom theme overrides\n\n## Structure\n\n```\n<DialogOverlay>\n\t<DialogContent>\n\t\t<DialogHeader>\n\t\t\t<Title />\n\t\t\t<Description />\n\t\t\t<CloseButton />\n\t\t</DialogHeader>\n\t\t<DialogBody>\n\t\t\t<Children />\n\t\t</DialogBody>\n\t\t<DialogFooter />\n\t</DialogContent>\n</DialogOverlay>\n```\n\n## Examples\n\n### More Examples\n\n### A with a custom trigger \n```svelte\n\n<script>\n\timport { Dialog } from 'entasis/dialog';\n\timport { Button } from 'entasis/button';\n\t\n\tlet open = $state(false);\n</script>\n\n\n<Dialog bind:open title=\"Welcome\">\n\t<p>This is a basic dialog.</p>\n\t\n\t{#snippet trigger(dialog)}\n\t\t<Button onclick={() => dialog.open()}>Open</Button>\n\t{/snippet}\n</Dialog>\n```\n\n### A with a custom as button props \n```svelte\n\n<script>\n\timport { Dialog } from 'entasis/dialog';\n\timport { Button } from 'entasis/button';\n\t\n\tlet open = $state(false);\n</script>\n\n\n<Dialog bind:open title=\"Welcome\"\ntrigger={{\ncontent:\"Click me\",\ncolor:\"secondary\",\nsize:\"small\"\n}}\n>\n\t<p>This is a basic dialog.</p>\t\n</Dialog>\n```\n\n### With Description\n\n```svelte\n<script>\n\timport { Dialog } from 'entasis/dialog';\n\t\n</script>\n\n<Dialog \t\n\ttitle=\"Confirm Action\"\n\tdescription=\"Are you sure you want to continue?\"\n>\n\t<p>This action cannot be undone.</p>\n</Dialog>\n```\n\n### Different Sizes\n\n```svelte\n<script>\n\timport { Dialog } from 'entasis/dialog';\n\t\n\tlet open = $state(false);\n</script>\n\n```\n\n### Advanced Example\n\n```svelte\n<script>\n\timport { Dialog } from 'entasis/dialog';\n\timport { Button } from 'entasis/button';\n\t\n\tlet open = $state(false);\n\t\n\tfunction handleConfirm() {\n\t\tconsole.log('Confirmed!');\n\t\topen = false;\n\t}\n</script>\n\n<Dialog bind:open title=\"Confirm\">\n\tAre you sure?\n\t\n\t{#snippet footer()}\n\t\t<div class=\"flex gap-2 justify-end\">\n\t\t\t<Button variant=\"ghost\" onclick={() => open = false}>\n\t\t\t\tCancel\n\t\t\t</Button>\n\t\t\t<Button color=\"danger\" onclick={handleConfirm}>\n\t\t\t\tConfirm\n\t\t\t</Button>\n\t\t</div>\n\t{/snippet}\n</Dialog>\n```\n\n### Drawer Types\n\n```svelte\n<script>\n\timport { Dialog } from 'entasis/dialog';\n\t\n\t\n</script>\n\n<!-- Right drawer -->\n<Dialog type=\"drawerRight\" title=\"Side Drawer\">\n\tThis slides in from the right\n</Dialog>\n\n<!-- Left drawer -->\n<Dialog type=\"drawerLeft\" title=\"Left Drawer\">\n\tThis slides in from the left\n</Dialog>\n\n<!-- Bottom drawer -->\n<Dialog type=\"drawerBottom\" title=\"Bottom Drawer\">\n\tThis slides in from the bottom\n</Dialog>\n\n<!-- Full screen -->\n<Dialog type=\"fullScreen\" title=\"Full Screen\">\n\tFull screen dialog content\n</Dialog>\n```\n\n### Custom Header\n\n```svelte\n<script>\n\timport { Dialog } from 'entasis/dialog';\n\timport { warningIcon } from 'entasis/icons/warning';\n</script>\n\n<Dialog bind:open>\n\t{#snippet header()}\n\t\t<div class=\"flex items-center gap-2\">\n\t\t\t{@render warningIcon()}\n\t\t\t<h2>Warning</h2>\n\t\t</div>\n\t{/snippet}\n\t\n\tThis is important!\n</Dialog>\n```\n\n\n### With Lifecycle Hooks\n\n```svelte\n<script>\n\timport { Dialog } from 'entasis/dialog';\n\t\n\tlet open = $state(false);\n</script>\n\n<Dialog \n\tbind:open\n\ttitle=\"Lifecycle\"\n\tonAfterOpen={(payload) => console.log('Dialog opened', payload)}\n\tonAfterClose={(payload) => console.log('Dialog closed', payload)}\n>\n\tWatch the console\n</Dialog>\n```\n\n## State Management\n\nThe Dialog component uses a `DialogState` instance that is passed to all slot snippets. This state object provides:\n\n- **id**: string - Dialog identifier\n- **type**: DialogType - Current dialog type\n- **size**: Size - Current dialog size\n- **open()**: () => void - Method to open the dialog\n- **close()**: () => void - Method to close the dialog\n\n## Accessibility\n\n- Initial focus goes to an `[autofocus]` / `[data-autofocus]` element inside the dialog, else the first tabbable control (the close button is skipped), else the panel itself\n- Tab and Shift+Tab are contained inside the dialog, and the rest of the page is `inert` while a modal is open\n- Focus is restored to the opener after the close transition finishes, just before `onAfterClose`\n- `aria-labelledby` links the `title` and `aria-describedby` links the `description`\n- Escape closes only the topmost open layer and an outside press dismisses the layers above the one pressed; both honour `closeOnEscape` / `closable` / `closeOnClickOutside` through the shared layer stack\n- Body scroll is locked when dialog is open\n\n## Notes\n\n- Multiple dialogs can be stacked\n- Last opened dialog receives focus\n- Background overlay prevents interaction with page\n- Scroll locking prevents background scroll\n- Transitions are customizable\n\n## Theme Customization\n\nThe Dialog component uses a theme object that can be customized using the `theme` prop or by setting a global theme.\n\n### Theme Structure\n\nThe theme object contains the following parts:\n- **motion**: Open/close transition preset, keyed by `type` (drawers fly from their edge). Takes\n `in` / `out` FSO params plus a `duration` / `easing` motion token; the `transition` prop wins\n over it\n- **root**: Dialog overlay/backdrop styles\n- **content**: Dialog content container styles\n- **thumb**: Drag thumb bar styles (type variant controls per-side placement)\n- **header**: Dialog header section styles\n- **footer**: Dialog footer section styles\n- **closeButton**: Close button styles\n- **title**: Dialog title text styles\n- **description**: Dialog description text styles\n\n### Theme Type Definition\n\n```typescript\nimport type { DialogThemeProps } from 'entasis/dialog';\n\n// Example theme customization\nconst customTheme: DialogThemeProps = {\n root: {\n base: 'z-[+50] fixed inset-0 flex',\n scroll: {\n inner: 'overflow-hidden',\n outer: 'overflow-auto'\n }\n },\n align: {\n type: {\n fullScreen: 'justify-center items-center',\n drawerRight: 'justify-end',\n drawerLeft: 'justify-start',\n drawerBottom: 'justify-center items-end',\n drawerTop: 'justify-center items-start',\n modal: 'justify-center',\n alert: 'justify-center'\n }\n },\n content: {\n size: {\n small: 'max-w-md w-full',\n normal: 'max-w-xl w-full',\n large: 'max-w-3xl w-full'\n },\n type: {\n fullScreen: 'h-full w-full max-w-full',\n drawerRight: 'rounded-r-[var(--drawer-edge-radius)] h-full',\n modal: ''\n }\n },\n header: {\n size: {\n small: '',\n normal: '',\n large: ''\n }\n },\n title: {\n size: {\n small: '',\n normal: '',\n large: ''\n }\n },\n description: {\n size: {\n small: '',\n normal: '',\n large: ''\n }\n }\n};\n```\n\n### Available Variants\n\n**root**:\n- base: Base classes for dialog overlay/backdrop\n- Variants:\n - size: 'small' | 'normal' | 'large' - Size constraints\n - type: 'fullScreen' | 'drawerRight' | 'drawerLeft' | 'drawerBottom' | 'drawerTop' | 'modal' | 'alert' - Dialog type/layout\n\n**content**:\n- base: Base classes for dialog content container\n- Variants:\n - size: 'small' | 'normal' | 'large' - Content max-width\n - type: 'fullScreen' | 'drawerRight' | 'drawerLeft' | 'drawerBottom' | 'drawerTop' | 'modal' | 'alert' - Content styling based on type\n\n**header**:\n- base: Base classes for header section\n- Variants:\n - size: 'small' | 'normal' | 'large' - Size-based styling\n\n**footer**:\n- base: Base classes for footer section\n- Variants:\n - size: 'small' | 'normal' | 'large' - Size-based styling\n\n**closeButton**:\n- base: Base classes for close button\n- Variants:\n - size: 'small' | 'normal' | 'large' - Size-based styling\n\n**title**:\n- base: Base classes for title text\n- Variants:\n - size: 'small' | 'normal' | 'large' - Text size\n\n**description**:\n- base: Base classes for description text\n- Variants:\n - size: 'small' | 'normal' | 'large' - Text size\n\n### Usage Examples\n\n**Basic Theme Override**:\n```svelte\n<Dialog \n title=\"Custom Dialog\"\n theme={{\n content: {\n base: 'rounded-2xl raised-5',\n size: {\n normal: 'max-w-2xl'\n }\n },\n header: {\n base: 'border-b-2 border-primary'\n }\n }}\n>\n Custom styled dialog content\n</Dialog>\n```\n\n**Drawer Type Customization**:\n```svelte\n<Dialog \n type=\"drawerRight\"\n theme={{\n align: {\n type: {\n drawerRight: 'justify-end'\n }\n },\n backdrop: {\n base: 'bg-black/50'\n },\n content: {\n type: {\n drawerRight: 'rounded-l-xl raised-5'\n }\n }\n }}\n>\n Custom drawer styling\n</Dialog>\n```\n\n**Global Theme Setting**:\n```svelte\n<script>\n import { setDialogTheme } from './index.ts';\n \n setDialogTheme({\n root: {\n base: 'backdrop-blur-sm'\n },\n content: {\n base: 'lift-5 border-2',\n size: {\n normal: 'max-w-2xl'\n }\n },\n title: {\n base: 'text-2xl font-bold'\n }\n });\n</script>\n```\n";