@zerodep-dev/vue-tsx-pro-ui 0.2.0 → 0.3.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 (416) hide show
  1. package/dist/base/Badge.js +3 -3
  2. package/dist/base/Badge.js.map +1 -1
  3. package/dist/base/Can.d.ts +12 -0
  4. package/dist/base/Can.js +20 -0
  5. package/dist/base/Can.js.map +1 -0
  6. package/dist/base/ClientOnly.d.ts +10 -0
  7. package/dist/base/ClientOnly.js +18 -0
  8. package/dist/base/ClientOnly.js.map +1 -0
  9. package/dist/base/CloseButton.js +3 -3
  10. package/dist/base/CloseButton.js.map +1 -1
  11. package/dist/base/CodeBlock.js +5 -5
  12. package/dist/base/CodeBlock.js.map +1 -1
  13. package/dist/base/CopyButton.js +3 -3
  14. package/dist/base/CopyButton.js.map +1 -1
  15. package/dist/base/Icon.js +3 -3
  16. package/dist/base/Icon.js.map +1 -1
  17. package/dist/base/Indicator.js +3 -3
  18. package/dist/base/Indicator.js.map +1 -1
  19. package/dist/base/StatusDot.js +3 -3
  20. package/dist/base/StatusDot.js.map +1 -1
  21. package/dist/base/Tag.js +5 -5
  22. package/dist/base/Tag.js.map +1 -1
  23. package/dist/base/button-core.js +4 -4
  24. package/dist/base/button-core.js.map +1 -1
  25. package/dist/charts/AreaChart.js +3 -3
  26. package/dist/charts/AreaChart.js.map +1 -1
  27. package/dist/charts/BarChart.js +3 -3
  28. package/dist/charts/BarChart.js.map +1 -1
  29. package/dist/charts/ChordChart.js +3 -3
  30. package/dist/charts/ChordChart.js.map +1 -1
  31. package/dist/charts/ComboChart.js +3 -3
  32. package/dist/charts/ComboChart.js.map +1 -1
  33. package/dist/charts/DonutChart.js +3 -3
  34. package/dist/charts/DonutChart.js.map +1 -1
  35. package/dist/charts/FunnelChart.js +5 -5
  36. package/dist/charts/FunnelChart.js.map +1 -1
  37. package/dist/charts/GraphChart.js +3 -3
  38. package/dist/charts/GraphChart.js.map +1 -1
  39. package/dist/charts/LineChart.js +3 -3
  40. package/dist/charts/LineChart.js.map +1 -1
  41. package/dist/charts/MapChart.js +7 -7
  42. package/dist/charts/MapChart.js.map +1 -1
  43. package/dist/charts/RadarChart.js +16 -15
  44. package/dist/charts/RadarChart.js.map +1 -1
  45. package/dist/charts/SankeyChart.js +3 -3
  46. package/dist/charts/SankeyChart.js.map +1 -1
  47. package/dist/charts/ScatterChart.js +3 -3
  48. package/dist/charts/ScatterChart.js.map +1 -1
  49. package/dist/charts/TimelineChart.js +6 -5
  50. package/dist/charts/TimelineChart.js.map +1 -1
  51. package/dist/charts/TreemapChart.js +3 -3
  52. package/dist/charts/TreemapChart.js.map +1 -1
  53. package/dist/charts/WaterfallChart.js +3 -3
  54. package/dist/charts/WaterfallChart.js.map +1 -1
  55. package/dist/charts/XYChart.js +9 -7
  56. package/dist/charts/XYChart.js.map +1 -1
  57. package/dist/charts/frame.js +10 -8
  58. package/dist/charts/frame.js.map +1 -1
  59. package/dist/charts/single.js +4 -3
  60. package/dist/charts/single.js.map +1 -1
  61. package/dist/config/Provider.d.ts +3 -1
  62. package/dist/config/Provider.js +9 -4
  63. package/dist/config/Provider.js.map +1 -1
  64. package/dist/config/context.d.ts +18 -0
  65. package/dist/config/context.js +16 -1
  66. package/dist/config/context.js.map +1 -1
  67. package/dist/config/createUi.d.ts +20 -3
  68. package/dist/config/createUi.js +80 -49
  69. package/dist/config/createUi.js.map +1 -1
  70. package/dist/config/layout/preference.d.ts +43 -0
  71. package/dist/config/layout/preference.js +108 -0
  72. package/dist/config/layout/preference.js.map +1 -0
  73. package/dist/date/Calendar.js +3 -3
  74. package/dist/date/Calendar.js.map +1 -1
  75. package/dist/date/CalendarBoard.js +9 -9
  76. package/dist/date/CalendarBoard.js.map +1 -1
  77. package/dist/date/CalendarView.js +7 -7
  78. package/dist/date/CalendarView.js.map +1 -1
  79. package/dist/date/DateField.js +3 -3
  80. package/dist/date/DateField.js.map +1 -1
  81. package/dist/date/DatePicker.js +5 -5
  82. package/dist/date/DatePicker.js.map +1 -1
  83. package/dist/date/DateRangePicker.js +5 -5
  84. package/dist/date/DateRangePicker.js.map +1 -1
  85. package/dist/date/DateSegmentGroup.js +5 -5
  86. package/dist/date/DateSegmentGroup.js.map +1 -1
  87. package/dist/date/QuarterCalendar.js +6 -6
  88. package/dist/date/QuarterCalendar.js.map +1 -1
  89. package/dist/date/RangeCalendar.js +3 -3
  90. package/dist/date/RangeCalendar.js.map +1 -1
  91. package/dist/date/SegmentedField.js +3 -3
  92. package/dist/date/SegmentedField.js.map +1 -1
  93. package/dist/date/TimeField.js +3 -3
  94. package/dist/date/TimeField.js.map +1 -1
  95. package/dist/date/TimePicker.js +4 -4
  96. package/dist/date/TimePicker.js.map +1 -1
  97. package/dist/date/date-segments.js +1 -1
  98. package/dist/date/date-segments.js.map +1 -1
  99. package/dist/date/picker-popover.js +3 -2
  100. package/dist/date/picker-popover.js.map +1 -1
  101. package/dist/diagram/Diagram.js +12 -12
  102. package/dist/diagram/Diagram.js.map +1 -1
  103. package/dist/diagram/DiagramLanes.js +3 -3
  104. package/dist/diagram/DiagramLanes.js.map +1 -1
  105. package/dist/diagram/DiagramMinimap.js +4 -4
  106. package/dist/diagram/DiagramMinimap.js.map +1 -1
  107. package/dist/display/Accordion.js +6 -6
  108. package/dist/display/Accordion.js.map +1 -1
  109. package/dist/display/AnimatedNumber.js +4 -4
  110. package/dist/display/AnimatedNumber.js.map +1 -1
  111. package/dist/display/Avatar.js +4 -4
  112. package/dist/display/Avatar.js.map +1 -1
  113. package/dist/display/Checklist.js +7 -7
  114. package/dist/display/Checklist.js.map +1 -1
  115. package/dist/display/Collapse.js +8 -5
  116. package/dist/display/Collapse.js.map +1 -1
  117. package/dist/display/Collapsible.js +3 -3
  118. package/dist/display/Collapsible.js.map +1 -1
  119. package/dist/display/Descriptions.js +5 -5
  120. package/dist/display/Descriptions.js.map +1 -1
  121. package/dist/display/Ellipsis.js +3 -3
  122. package/dist/display/Ellipsis.js.map +1 -1
  123. package/dist/display/FieldCompare.js +4 -4
  124. package/dist/display/FieldCompare.js.map +1 -1
  125. package/dist/display/Gauge.js +11 -11
  126. package/dist/display/Gauge.js.map +1 -1
  127. package/dist/display/Image.js +4 -4
  128. package/dist/display/Image.js.map +1 -1
  129. package/dist/display/Marquee.js +3 -3
  130. package/dist/display/Marquee.js.map +1 -1
  131. package/dist/display/ProportionBar.js +4 -4
  132. package/dist/display/ProportionBar.js.map +1 -1
  133. package/dist/display/Sortable.js +4 -4
  134. package/dist/display/Sortable.js.map +1 -1
  135. package/dist/display/Sparkline.js +6 -6
  136. package/dist/display/Sparkline.js.map +1 -1
  137. package/dist/display/Stat.js +3 -3
  138. package/dist/display/Stat.js.map +1 -1
  139. package/dist/display/Timeline.js +7 -7
  140. package/dist/display/Timeline.js.map +1 -1
  141. package/dist/display/Tree.js +10 -10
  142. package/dist/display/Tree.js.map +1 -1
  143. package/dist/display/VirtualList.js +7 -7
  144. package/dist/display/VirtualList.js.map +1 -1
  145. package/dist/display/Watermark.js +3 -3
  146. package/dist/display/Watermark.js.map +1 -1
  147. package/dist/docs-kit/CodeGroup.js +5 -5
  148. package/dist/docs-kit/CodeGroup.js.map +1 -1
  149. package/dist/docs-kit/CodePreview.js +6 -6
  150. package/dist/docs-kit/CodePreview.js.map +1 -1
  151. package/dist/docs-kit/PropsTable.js +4 -4
  152. package/dist/docs-kit/PropsTable.js.map +1 -1
  153. package/dist/feedback/Alert.js +5 -5
  154. package/dist/feedback/Alert.js.map +1 -1
  155. package/dist/feedback/Banner.js +5 -5
  156. package/dist/feedback/Banner.js.map +1 -1
  157. package/dist/feedback/Empty.js +4 -4
  158. package/dist/feedback/Empty.js.map +1 -1
  159. package/dist/feedback/LoadingBar.js +20 -13
  160. package/dist/feedback/LoadingBar.js.map +1 -1
  161. package/dist/feedback/LoadingOverlay.js +3 -3
  162. package/dist/feedback/LoadingOverlay.js.map +1 -1
  163. package/dist/feedback/Progress.js +14 -14
  164. package/dist/feedback/Progress.js.map +1 -1
  165. package/dist/feedback/Result.js +4 -4
  166. package/dist/feedback/Result.js.map +1 -1
  167. package/dist/feedback/SkeletonText.js +3 -3
  168. package/dist/feedback/SkeletonText.js.map +1 -1
  169. package/dist/feedback/Toast.js +6 -6
  170. package/dist/feedback/Toast.js.map +1 -1
  171. package/dist/form/Field.js +7 -7
  172. package/dist/form/Field.js.map +1 -1
  173. package/dist/form/Form.js +3 -3
  174. package/dist/form/Form.js.map +1 -1
  175. package/dist/form/FormErrorSummary.js +3 -3
  176. package/dist/form/FormErrorSummary.js.map +1 -1
  177. package/dist/form/FormSection.js +6 -6
  178. package/dist/form/FormSection.js.map +1 -1
  179. package/dist/index.d.ts +11 -6
  180. package/dist/index.js +10 -5
  181. package/dist/input/Autocomplete.js +3 -3
  182. package/dist/input/Autocomplete.js.map +1 -1
  183. package/dist/input/Cascader.js +7 -7
  184. package/dist/input/Cascader.js.map +1 -1
  185. package/dist/input/CharacterCount.js +3 -3
  186. package/dist/input/CharacterCount.js.map +1 -1
  187. package/dist/input/Checkbox.js +5 -5
  188. package/dist/input/Checkbox.js.map +1 -1
  189. package/dist/input/ColorField.js +4 -4
  190. package/dist/input/ColorField.js.map +1 -1
  191. package/dist/input/Combobox.js +4 -4
  192. package/dist/input/Combobox.js.map +1 -1
  193. package/dist/input/ConditionBuilder.js +15 -14
  194. package/dist/input/ConditionBuilder.js.map +1 -1
  195. package/dist/input/FileDrop.js +3 -3
  196. package/dist/input/FileDrop.js.map +1 -1
  197. package/dist/input/Listbox.js +9 -9
  198. package/dist/input/Listbox.js.map +1 -1
  199. package/dist/input/Mentions.js +3 -3
  200. package/dist/input/Mentions.js.map +1 -1
  201. package/dist/input/NumberField.js +3 -3
  202. package/dist/input/NumberField.js.map +1 -1
  203. package/dist/input/NumberRangeField.js +5 -5
  204. package/dist/input/NumberRangeField.js.map +1 -1
  205. package/dist/input/OtpField.js +5 -5
  206. package/dist/input/OtpField.js.map +1 -1
  207. package/dist/input/PeoplePicker.js +6 -6
  208. package/dist/input/PeoplePicker.js.map +1 -1
  209. package/dist/input/PeoplePickerPanel.js +4 -4
  210. package/dist/input/PeoplePickerPanel.js.map +1 -1
  211. package/dist/input/Radio.js +4 -4
  212. package/dist/input/Radio.js.map +1 -1
  213. package/dist/input/Rating.js +5 -5
  214. package/dist/input/Rating.js.map +1 -1
  215. package/dist/input/Select.js +4 -4
  216. package/dist/input/Select.js.map +1 -1
  217. package/dist/input/SelectedTags.js +4 -4
  218. package/dist/input/SelectedTags.js.map +1 -1
  219. package/dist/input/Slider.js +6 -6
  220. package/dist/input/Slider.js.map +1 -1
  221. package/dist/input/Switch.js +3 -3
  222. package/dist/input/Switch.js.map +1 -1
  223. package/dist/input/TagsInput.js +5 -5
  224. package/dist/input/TagsInput.js.map +1 -1
  225. package/dist/input/TextField.js +5 -5
  226. package/dist/input/TextField.js.map +1 -1
  227. package/dist/input/Textarea.js +4 -4
  228. package/dist/input/Textarea.js.map +1 -1
  229. package/dist/input/ToggleGroup.js +4 -4
  230. package/dist/input/ToggleGroup.js.map +1 -1
  231. package/dist/input/Transfer.js +8 -8
  232. package/dist/input/Transfer.js.map +1 -1
  233. package/dist/input/TreeSelect.js +6 -6
  234. package/dist/input/TreeSelect.js.map +1 -1
  235. package/dist/input/Upload.js +8 -8
  236. package/dist/input/Upload.js.map +1 -1
  237. package/dist/layout/Affix.js +4 -4
  238. package/dist/layout/Affix.js.map +1 -1
  239. package/dist/layout/ResizeHandle.d.ts +6 -2
  240. package/dist/layout/ResizeHandle.js +32 -9
  241. package/dist/layout/ResizeHandle.js.map +1 -1
  242. package/dist/layout/ScrollArea.js +3 -3
  243. package/dist/layout/ScrollArea.js.map +1 -1
  244. package/dist/layout/Separator.js +3 -3
  245. package/dist/layout/Separator.js.map +1 -1
  246. package/dist/layout/Splitter.js +3 -3
  247. package/dist/layout/Splitter.js.map +1 -1
  248. package/dist/layout/ViewportFill.d.ts +2 -2
  249. package/dist/layout/ViewportFill.js +4 -4
  250. package/dist/layout/ViewportFill.js.map +1 -1
  251. package/dist/navigation/Breadcrumbs.js +4 -4
  252. package/dist/navigation/Breadcrumbs.js.map +1 -1
  253. package/dist/navigation/NavBar.js +6 -6
  254. package/dist/navigation/NavBar.js.map +1 -1
  255. package/dist/navigation/NavList.d.ts +1 -0
  256. package/dist/navigation/NavList.js +20 -12
  257. package/dist/navigation/NavList.js.map +1 -1
  258. package/dist/navigation/NavMenu.d.ts +27 -0
  259. package/dist/navigation/NavMenu.js +54 -0
  260. package/dist/navigation/NavMenu.js.map +1 -0
  261. package/dist/navigation/PageJump.js +3 -3
  262. package/dist/navigation/PageJump.js.map +1 -1
  263. package/dist/navigation/PageSizeSelect.js +4 -4
  264. package/dist/navigation/PageSizeSelect.js.map +1 -1
  265. package/dist/navigation/Pagination.js +6 -6
  266. package/dist/navigation/Pagination.js.map +1 -1
  267. package/dist/navigation/PaginationBar.js +5 -5
  268. package/dist/navigation/PaginationBar.js.map +1 -1
  269. package/dist/navigation/Steps.js +4 -4
  270. package/dist/navigation/Steps.js.map +1 -1
  271. package/dist/navigation/TableOfContents.js +5 -5
  272. package/dist/navigation/TableOfContents.js.map +1 -1
  273. package/dist/navigation/Tabs.js +7 -7
  274. package/dist/navigation/Tabs.js.map +1 -1
  275. package/dist/navigation/Toolbar.js +3 -3
  276. package/dist/navigation/Toolbar.js.map +1 -1
  277. package/dist/overlay/AlertDialog.js +4 -4
  278. package/dist/overlay/AlertDialog.js.map +1 -1
  279. package/dist/overlay/CommandPalette.js +4 -4
  280. package/dist/overlay/CommandPalette.js.map +1 -1
  281. package/dist/overlay/ContextMenu.js +3 -3
  282. package/dist/overlay/ContextMenu.js.map +1 -1
  283. package/dist/overlay/Dialog.js +4 -4
  284. package/dist/overlay/Dialog.js.map +1 -1
  285. package/dist/overlay/Drawer.js +5 -5
  286. package/dist/overlay/Drawer.js.map +1 -1
  287. package/dist/overlay/HoverCard.js +5 -3
  288. package/dist/overlay/HoverCard.js.map +1 -1
  289. package/dist/overlay/Lightbox.js +5 -5
  290. package/dist/overlay/Lightbox.js.map +1 -1
  291. package/dist/overlay/Menu.js +7 -7
  292. package/dist/overlay/Menu.js.map +1 -1
  293. package/dist/overlay/ModalCore.js +9 -9
  294. package/dist/overlay/ModalCore.js.map +1 -1
  295. package/dist/overlay/Popconfirm.js +6 -6
  296. package/dist/overlay/Popconfirm.js.map +1 -1
  297. package/dist/overlay/Popover.js +5 -3
  298. package/dist/overlay/Popover.js.map +1 -1
  299. package/dist/overlay/Tooltip.js +5 -3
  300. package/dist/overlay/Tooltip.js.map +1 -1
  301. package/dist/overlay/Tour.js +8 -8
  302. package/dist/overlay/Tour.js.map +1 -1
  303. package/dist/overlay/detached.d.ts +2 -0
  304. package/dist/overlay/detached.js +73 -42
  305. package/dist/overlay/detached.js.map +1 -1
  306. package/dist/patterns/ActionBar.js +3 -3
  307. package/dist/patterns/ActionBar.js.map +1 -1
  308. package/dist/patterns/AppShell.d.ts +28 -1
  309. package/dist/patterns/AppShell.js +158 -52
  310. package/dist/patterns/AppShell.js.map +1 -1
  311. package/dist/patterns/AuthLayout.d.ts +28 -0
  312. package/dist/patterns/AuthLayout.js +77 -0
  313. package/dist/patterns/AuthLayout.js.map +1 -0
  314. package/dist/patterns/CommentThread.js +9 -9
  315. package/dist/patterns/CommentThread.js.map +1 -1
  316. package/dist/patterns/DataImport.js +4 -4
  317. package/dist/patterns/DataImport.js.map +1 -1
  318. package/dist/patterns/DeadlineBadge.js +3 -3
  319. package/dist/patterns/DeadlineBadge.js.map +1 -1
  320. package/dist/patterns/FilterBar.d.ts +11 -1
  321. package/dist/patterns/FilterBar.js +39 -10
  322. package/dist/patterns/FilterBar.js.map +1 -1
  323. package/dist/patterns/FormDialog.d.ts +18 -0
  324. package/dist/patterns/FormDialog.js +46 -0
  325. package/dist/patterns/FormDialog.js.map +1 -0
  326. package/dist/patterns/KanbanBoard.js +8 -8
  327. package/dist/patterns/KanbanBoard.js.map +1 -1
  328. package/dist/patterns/LayoutSwitcher.d.ts +12 -0
  329. package/dist/patterns/LayoutSwitcher.js +79 -0
  330. package/dist/patterns/LayoutSwitcher.js.map +1 -0
  331. package/dist/patterns/NotificationCenter.js +8 -8
  332. package/dist/patterns/NotificationCenter.js.map +1 -1
  333. package/dist/patterns/PageTabs.d.ts +12 -7
  334. package/dist/patterns/PageTabs.js +41 -29
  335. package/dist/patterns/PageTabs.js.map +1 -1
  336. package/dist/patterns/QueryTable.d.ts +7 -1
  337. package/dist/patterns/QueryTable.js +116 -81
  338. package/dist/patterns/QueryTable.js.map +1 -1
  339. package/dist/patterns/SlideCaptcha.d.ts +80 -0
  340. package/dist/patterns/SlideCaptcha.js +354 -0
  341. package/dist/patterns/SlideCaptcha.js.map +1 -0
  342. package/dist/patterns/StepsForm.js +7 -7
  343. package/dist/patterns/StepsForm.js.map +1 -1
  344. package/dist/patterns/ThemeSwitcher.js +3 -3
  345. package/dist/patterns/ThemeSwitcher.js.map +1 -1
  346. package/dist/patterns/index.d.ts +7 -3
  347. package/dist/patterns/index.js +5 -1
  348. package/dist/patterns/messages.d.ts +37 -1
  349. package/dist/patterns/messages.js +38 -2
  350. package/dist/patterns/messages.js.map +1 -1
  351. package/dist/table/ColumnHeaderActions.js +3 -3
  352. package/dist/table/ColumnHeaderActions.js.map +1 -1
  353. package/dist/table/ColumnResizer.js +3 -3
  354. package/dist/table/ColumnResizer.js.map +1 -1
  355. package/dist/table/ColumnSettings.js +5 -5
  356. package/dist/table/ColumnSettings.js.map +1 -1
  357. package/dist/table/ColumnTable.js +8 -8
  358. package/dist/table/ColumnTable.js.map +1 -1
  359. package/dist/table/DataTable.js +8 -8
  360. package/dist/table/DataTable.js.map +1 -1
  361. package/dist/table/DataTableView.js +21 -21
  362. package/dist/table/DataTableView.js.map +1 -1
  363. package/dist/table/PivotTable.js +3 -3
  364. package/dist/table/PivotTable.js.map +1 -1
  365. package/dist/table/SelectionBar.js +4 -4
  366. package/dist/table/SelectionBar.js.map +1 -1
  367. package/dist/table/TreeDataTable.js +5 -5
  368. package/dist/table/TreeDataTable.js.map +1 -1
  369. package/dist/theme-customize/ThemeCustomizer.js +7 -6
  370. package/dist/theme-customize/ThemeCustomizer.js.map +1 -1
  371. package/dist/theme-customize/ThemeThumbnail.js +3 -3
  372. package/dist/theme-customize/ThemeThumbnail.js.map +1 -1
  373. package/dist/three/background/AuroraBackground.js +3 -3
  374. package/dist/three/background/AuroraBackground.js.map +1 -1
  375. package/dist/three/background/MeshGradient.js +3 -3
  376. package/dist/three/background/MeshGradient.js.map +1 -1
  377. package/dist/three/background/ShaderBackground.js +3 -3
  378. package/dist/three/background/ShaderBackground.js.map +1 -1
  379. package/dist/three/core/EffectSurface.js +3 -3
  380. package/dist/three/core/EffectSurface.js.map +1 -1
  381. package/dist/three/core/ThreeCanvas.js +4 -4
  382. package/dist/three/core/ThreeCanvas.js.map +1 -1
  383. package/dist/three/effects/Confetti.js +3 -3
  384. package/dist/three/effects/Confetti.js.map +1 -1
  385. package/dist/three/effects/ParticleField.js +3 -3
  386. package/dist/three/effects/ParticleField.js.map +1 -1
  387. package/dist/three/effects/WaveGrid.js +3 -3
  388. package/dist/three/effects/WaveGrid.js.map +1 -1
  389. package/dist/three/globe/Globe.js +3 -3
  390. package/dist/three/globe/Globe.js.map +1 -1
  391. package/dist/three/model/ModelViewer.js +3 -3
  392. package/dist/three/model/ModelViewer.js.map +1 -1
  393. package/dist/utils/data/number.d.ts +5 -0
  394. package/dist/utils/data/number.js +8 -1
  395. package/dist/utils/data/number.js.map +1 -1
  396. package/dist/utils/dom/element.d.ts +3 -1
  397. package/dist/utils/dom/element.js +8 -4
  398. package/dist/utils/dom/element.js.map +1 -1
  399. package/dist/utils/dom/fullscreen.d.ts +1 -1
  400. package/dist/utils/dom/fullscreen.js +12 -8
  401. package/dist/utils/dom/fullscreen.js.map +1 -1
  402. package/dist/utils/dom/mounted.d.ts +7 -0
  403. package/dist/utils/dom/mounted.js +16 -0
  404. package/dist/utils/dom/mounted.js.map +1 -0
  405. package/dist/utils/dom/overflow.js +2 -1
  406. package/dist/utils/dom/overflow.js.map +1 -1
  407. package/dist/utils/dom/pan-zoom.js +2 -1
  408. package/dist/utils/dom/pan-zoom.js.map +1 -1
  409. package/dist/utils/props.js +3 -13
  410. package/dist/utils/props.js.map +1 -1
  411. package/dist/utils/request/http.d.ts +12 -0
  412. package/dist/utils/request/http.js +6 -2
  413. package/dist/utils/request/http.js.map +1 -1
  414. package/dist/utils/request/use-request.js +4 -2
  415. package/dist/utils/request/use-request.js.map +1 -1
  416. package/package.json +2 -2
@@ -7,6 +7,7 @@ import { type ResizeHandleProps } from '../layout/ResizeHandle';
7
7
  import { type ScrollAreaProps } from '../layout/ScrollArea';
8
8
  import { type DrawerProps } from '../overlay/Drawer';
9
9
  import { type PartProps } from '../utils/props';
10
+ import type { LayoutPreference } from '../config/layout/preference';
10
11
  /** 左侧栏的形式 */
11
12
  export interface AppShellSidebarModes {
12
13
  /** 宽屏时占一列、窄屏时收进抽屉(默认) */
@@ -14,6 +15,17 @@ export interface AppShellSidebarModes {
14
15
  /** 各宽度都是盖在页面上面的抽屉,不占正文的位置,可以收起、拖动宽度 */
15
16
  overlay: unknown;
16
17
  }
18
+ /** 抽屉式侧栏从哪一边滑出(sidebarMode="overlay") */
19
+ export interface AppShellSidebarSides {
20
+ /** 起始边(左,从右到左排版时是右):默认 */
21
+ start: unknown;
22
+ /** 结束边(右,从右到左排版时是左):“菜单”在顶栏结束边 */
23
+ end: unknown;
24
+ /** 顶栏下面,盖满宽度,导航的小节排成多列 */
25
+ top: unknown;
26
+ /** 窗口底部,盖满宽度,导航的小节排成多列 */
27
+ bottom: unknown;
28
+ }
17
29
  /** 未声明的属性落到外层 div 上 */
18
30
  export interface AppShellProps extends PartProps<'div'> {
19
31
  /** 顶栏起始边的品牌(标志与产品名):有侧栏时这一格与侧栏同宽,侧栏的竖线延伸到顶 */
@@ -36,6 +48,13 @@ export interface AppShellProps extends PartProps<'div'> {
36
48
  _sidebarCollapsed?: boolean;
37
49
  /** 左侧栏的形式,默认 docked */
38
50
  sidebarMode?: keyof AppShellSidebarModes;
51
+ /** 抽屉式侧栏从哪一边滑出,默认 start;只在 overlay 时有效 */
52
+ sidebarSide?: keyof AppShellSidebarSides;
53
+ /**
54
+ * 用户选的布局(createLayoutPreference 的结果):侧栏的形式、方向、开关与尺寸从它读、写回它并存盘,
55
+ * 写了它,sidebarMode、sidebarSide、_sidebarOpen、_sidebarWidth、_sidebarHeight、_sidebarCollapsed 就不再起作用
56
+ */
57
+ layout?: LayoutPreference;
39
58
  /** 侧栏抽屉是否打开(docked 时只在窄屏有抽屉):父级可以写 _sidebarOpen={x} */
40
59
  _sidebarOpen?: boolean;
41
60
  /**
@@ -43,6 +62,8 @@ export interface AppShellProps extends PartProps<'div'> {
43
62
  * 父级写 _sidebarWidth={x} 记住拖动后的宽度
44
63
  */
45
64
  _sidebarWidth?: number;
65
+ /** 上下两侧抽屉的高度(px),默认 320,范围 96–640:父级写 _sidebarHeight={x} 记住拖动后的高度 */
66
+ _sidebarHeight?: number;
46
67
  /** 页面最前面的“跳到正文”链接,默认 true */
47
68
  skipLink?: boolean;
48
69
  /** 整页用浮层滚动条(PageScrollbar:不占宽度,滚动时出现),默认 true */
@@ -117,8 +138,12 @@ export declare const appShellStyles: Readonly<{
117
138
  menuButton: css.CompiledStyles;
118
139
  nav: css.CompiledStyles;
119
140
  overlay: css.CompiledStyles;
141
+ overlayBottom: css.CompiledStyles;
142
+ overlayEnd: css.CompiledStyles;
120
143
  overlayOpen: css.CompiledStyles;
121
144
  overlayScroll: css.CompiledStyles;
145
+ overlayStart: css.CompiledStyles;
146
+ overlayTop: css.CompiledStyles;
122
147
  rail: css.CompiledStyles;
123
148
  railScroll: css.CompiledStyles;
124
149
  railViewport: css.CompiledStyles;
@@ -126,6 +151,7 @@ export declare const appShellStyles: Readonly<{
126
151
  sidebar: css.CompiledStyles;
127
152
  sidebarColumn: css.CompiledStyles;
128
153
  sidebarContent: css.CompiledStyles;
154
+ sidebarContentColumns: css.CompiledStyles;
129
155
  sidebarContentCompact: css.CompiledStyles;
130
156
  sidebarScroll: css.CompiledStyles;
131
157
  tabs: css.CompiledStyles;
@@ -136,9 +162,10 @@ export declare const appShellStyles: Readonly<{
136
162
  withSidebar: css.CompiledStyles;
137
163
  withSidebarCollapsed: css.CompiledStyles;
138
164
  }>;
139
- /** AppShell 的动态样式:抽屉的宽度、宽屏时品牌格的宽度(px) */
165
+ /** AppShell 的动态样式:抽屉的宽度与高度、宽屏时品牌格的宽度(px) */
140
166
  export declare const appShellDynamicStyles: Readonly<{
141
167
  readonly width: (px: number) => Readonly<[css.CompiledStyles, css.InlineStyles]>;
168
+ readonly height: (px: number) => Readonly<[css.CompiledStyles, css.InlineStyles]>;
142
169
  readonly brandWidth: (px: number) => Readonly<[css.CompiledStyles, css.InlineStyles]>;
143
170
  }>;
144
171
  /** 应用外壳:粘性顶栏、左侧栏、正文、右侧栏;窄屏时左侧栏收进抽屉 */
@@ -17,10 +17,10 @@ import { NavCompactContext } from "../navigation/NavList.js";
17
17
  import { SkipLink } from "../navigation/SkipLink.js";
18
18
  import { useMessages } from "../config/lang/messages.js";
19
19
  import { patternsMessages } from "./messages.js";
20
- import { createVNode, mergeProps, shallowRef, unref, useId, watch } from "vue";
21
- import { _component, bindable, childrenProp, createContext, readonlyProp, restProps, untrack } from "@zerodep-dev/vue-tsx-pro-tsx";
20
+ import { createVNode, shallowRef, unref, useId, watch } from "vue";
21
+ import { _component, bindable, childrenProp, createContext, mergeJsxProps, readonlyProp, restProps, untrack } from "@zerodep-dev/vue-tsx-pro-tsx";
22
22
  import * as css from "@zerodep-dev/vue-tsx-pro-tsx/styles";
23
- import { Menu, PanelLeftClose, PanelLeftOpen } from "@lucide/icons";
23
+ import { Menu, PanelBottomClose, PanelBottomOpen, PanelLeftClose, PanelLeftOpen, PanelRightClose, PanelRightOpen, PanelTopClose, PanelTopOpen } from "@lucide/icons";
24
24
  //#region src/patterns/AppShell.tsx
25
25
  /**
26
26
  * 应用外壳:粘性顶栏、左侧栏(导航)、正文、右侧栏(本页目录),文档站与后台的整页骨架。
@@ -49,6 +49,11 @@ import { Menu, PanelLeftClose, PanelLeftOpen } from "@lucide/icons";
49
49
  * 抽屉结束边可以拖动调整宽度(ResizeHandle,也能聚焦后用 ← / →,双击回到初始宽度),父级写 _sidebarWidth={x} 记住;
50
50
  * 顶栏的品牌格按初始宽度,拖动时不变。焦点在抽屉里时按 Esc 收起、焦点回到“菜单”;窄屏时点了链接也收起。
51
51
  * 拖到比 160px 窄时侧栏变紧凑:里面的 NavList 只显示图标(名称在提示里),小节标题只剩图标(NavCompactContext)。
52
+ * sidebarSide 选抽屉从哪一边滑出:start(默认)、end、top、bottom。start / end 是左右两侧抽屉(随排版方向,从右到左时互换),
53
+ * end 时“菜单”在顶栏结束边;top / bottom 是盖满宽度的上下抽屉,导航的小节排成多列,拖动贴着正文的那条边调整高度
54
+ * (_sidebarHeight 记住)。上下抽屉盖住的正文范围大,点了链接就收起(左右抽屉在宽屏时不收)。
55
+ * 想让用户自己选,用 layout:createLayoutPreference 的结果,侧栏的形式、方向、开关与尺寸都从它读、写回它并存盘,
56
+ * 配合顶栏里的 LayoutSwitcher;写了 layout 时 sidebarMode、sidebarSide、_sidebarOpen 等不再起作用。
52
57
  *
53
58
  * 品牌格里一般放 AppShellBrand:品牌色的标志与产品名,点了回首页;自己的标志图写在它的 logo 里。
54
59
  *
@@ -70,9 +75,13 @@ var RAIL_WIDTH = "3.5rem";
70
75
  var OVERLAY_WIDTH = 256;
71
76
  var OVERLAY_MIN_WIDTH = 16;
72
77
  var OVERLAY_MAX_WIDTH = 480;
78
+ var OVERLAY_HEIGHT = 320;
79
+ var OVERLAY_MIN_HEIGHT = 96;
80
+ var OVERLAY_MAX_HEIGHT = 640;
73
81
  var OVERLAY_COMPACT_WIDTH = 160;
74
82
  var WIDE_QUERY = breakpoints.lg.replace("@media ", "");
75
83
  /** 左侧栏的形式 */
84
+ /** 抽屉式侧栏从哪一边滑出(sidebarMode="overlay") */
76
85
  /** 未声明的属性落到外层 div 上 */
77
86
  /** AppShell 交给里面的部件的状态:侧栏收起时品牌只剩标志 */
78
87
  /** AppShell 的上下文:AppShellBrand 据此在侧栏收起时只显示标志;不在 AppShell 里时为 null */
@@ -220,26 +229,61 @@ var appShellStyles = css.create({
220
229
  },
221
230
  overlay: {
222
231
  position: "fixed",
223
- top: HEADER_HEIGHT,
224
- bottom: 0,
225
- insetInlineStart: 0,
226
232
  zIndex: 9,
227
233
  boxSizing: "border-box",
228
234
  display: "flex",
229
235
  flexDirection: "column",
230
- maxWidth: "calc(100vw - 3rem)",
231
236
  overflow: "hidden",
232
237
  backgroundColor: "_surface",
238
+ boxShadow: "_lg",
239
+ visibility: "hidden",
240
+ transition: `translate ${t.durations.md} ${t.easings.exit}, visibility 0s linear ${t.durations.md}`
241
+ },
242
+ overlayStart: {
243
+ top: HEADER_HEIGHT,
244
+ bottom: 0,
245
+ insetInlineStart: 0,
246
+ maxWidth: "calc(100vw - 3rem)",
233
247
  borderInlineEndWidth: "_xs",
234
248
  borderInlineEndStyle: "solid",
235
249
  borderInlineEndColor: "_border",
236
- boxShadow: "_lg",
237
- visibility: "hidden",
238
250
  translate: {
239
251
  default: "-100% 0",
240
252
  ":dir(rtl)": "100% 0"
241
- },
242
- transition: `translate ${t.durations.md} ${t.easings.exit}, visibility 0s linear ${t.durations.md}`
253
+ }
254
+ },
255
+ overlayEnd: {
256
+ top: HEADER_HEIGHT,
257
+ bottom: 0,
258
+ insetInlineEnd: 0,
259
+ maxWidth: "calc(100vw - 3rem)",
260
+ borderInlineStartWidth: "_xs",
261
+ borderInlineStartStyle: "solid",
262
+ borderInlineStartColor: "_border",
263
+ translate: {
264
+ default: "100% 0",
265
+ ":dir(rtl)": "-100% 0"
266
+ }
267
+ },
268
+ overlayTop: {
269
+ top: HEADER_HEIGHT,
270
+ insetInlineStart: 0,
271
+ insetInlineEnd: 0,
272
+ maxHeight: `calc(100dvh - ${HEADER_HEIGHT} - 3rem)`,
273
+ borderBlockEndWidth: "_xs",
274
+ borderBlockEndStyle: "solid",
275
+ borderBlockEndColor: "_border",
276
+ translate: "0 -100%"
277
+ },
278
+ overlayBottom: {
279
+ bottom: 0,
280
+ insetInlineStart: 0,
281
+ insetInlineEnd: 0,
282
+ maxHeight: `calc(100dvh - ${HEADER_HEIGHT} - 3rem)`,
283
+ borderBlockStartWidth: "_xs",
284
+ borderBlockStartStyle: "solid",
285
+ borderBlockStartColor: "_border",
286
+ translate: "0 100%"
243
287
  },
244
288
  overlayOpen: {
245
289
  visibility: "visible",
@@ -250,6 +294,10 @@ var appShellStyles = css.create({
250
294
  flexGrow: 1,
251
295
  minHeight: 0
252
296
  },
297
+ sidebarContentColumns: {
298
+ columnWidth: "14rem",
299
+ columnGap: "_xl"
300
+ },
253
301
  brandOverlay: {
254
302
  alignSelf: {
255
303
  default: null,
@@ -355,9 +403,10 @@ var appShellStyles = css.create({
355
403
  fontSize: "_sm"
356
404
  }
357
405
  });
358
- /** AppShell 的动态样式:抽屉的宽度、宽屏时品牌格的宽度(px) */
406
+ /** AppShell 的动态样式:抽屉的宽度与高度、宽屏时品牌格的宽度(px) */
359
407
  var appShellDynamicStyles = css.create({
360
408
  width: (px) => ({ width: px }),
409
+ height: (px) => ({ height: px }),
361
410
  brandWidth: (px) => ({ width: {
362
411
  default: null,
363
412
  [breakpoints.lg]: px
@@ -365,7 +414,6 @@ var appShellDynamicStyles = css.create({
365
414
  });
366
415
  /** 应用外壳:粘性顶栏、左侧栏、正文、右侧栏;窄屏时左侧栏收进抽屉 */
367
416
  var AppShell = /*#__PURE__*/ _component((_props, _ctx) => {
368
- const _cache = [];
369
417
  const brand = readonlyProp(_props, "brand");
370
418
  const header = readonlyProp(_props, "header");
371
419
  const sidebar = readonlyProp(_props, "sidebar");
@@ -374,8 +422,11 @@ var AppShell = /*#__PURE__*/ _component((_props, _ctx) => {
374
422
  const tabs = readonlyProp(_props, "tabs");
375
423
  const footer = readonlyProp(_props, "footer");
376
424
  const sidebarMode = readonlyProp(_props, "sidebarMode", "docked");
425
+ const sidebarSide = readonlyProp(_props, "sidebarSide", "start");
426
+ const layout = readonlyProp(_props, "layout");
377
427
  const sidebarOpen = bindable(_props, "_sidebarOpen", () => false, _ctx.emit);
378
428
  const sidebarWidth = bindable(_props, "_sidebarWidth", () => OVERLAY_WIDTH, _ctx.emit);
429
+ const sidebarHeight = bindable(_props, "_sidebarHeight", () => OVERLAY_HEIGHT, _ctx.emit);
379
430
  const sidebarCollapsible = readonlyProp(_props, "sidebarCollapsible", false);
380
431
  const sidebarCollapsed = bindable(_props, "_sidebarCollapsed", () => false, _ctx.emit);
381
432
  const skipLink = readonlyProp(_props, "skipLink", true);
@@ -403,42 +454,75 @@ var AppShell = /*#__PURE__*/ _component((_props, _ctx) => {
403
454
  const id = useId();
404
455
  const mainId = `${id}-main`;
405
456
  const sidebarId = `${id}-sidebar`;
406
- const overlay = () => sidebarMode.value === "overlay";
457
+ const mode = () => layout.value ? layout.value.mode : sidebarMode.value;
458
+ const side = () => layout.value ? layout.value.side : sidebarSide.value;
459
+ const isOpen = () => layout.value ? layout.value.open : sidebarOpen.value;
460
+ const setOpen = (value) => {
461
+ if (layout.value) layout.value.open = value;
462
+ else sidebarOpen.value = value;
463
+ };
464
+ const widthOf = () => layout.value ? layout.value.width : sidebarWidth.value;
465
+ const setWidth = (px) => {
466
+ if (layout.value) layout.value.width = px;
467
+ else sidebarWidth.value = px;
468
+ };
469
+ const heightOf = () => layout.value ? layout.value.height : sidebarHeight.value;
470
+ const setHeight = (px) => {
471
+ if (layout.value) layout.value.height = px;
472
+ else sidebarHeight.value = px;
473
+ };
474
+ const isCollapsed = () => layout.value ? layout.value.collapsed : sidebarCollapsed.value;
475
+ const setCollapsed = (value) => {
476
+ if (layout.value) layout.value.collapsed = value;
477
+ else sidebarCollapsed.value = value;
478
+ };
479
+ const overlay = () => mode() === "overlay";
407
480
  const docked = () => hasContent(sidebar.value) && !overlay();
481
+ const lateral = () => side() === "start" || side() === "end";
408
482
  const wide = useMediaQuery(WIDE_QUERY);
409
- const collapsed = () => docked() && sidebarCollapsible.value && sidebarCollapsed.value && wide.value;
410
- const compact = () => overlay() && sidebarWidth.value < OVERLAY_COMPACT_WIDTH || collapsed();
483
+ const collapsed = () => docked() && sidebarCollapsible.value && isCollapsed() && wide.value;
484
+ const compact = () => overlay() && lateral() && widthOf() < OVERLAY_COMPACT_WIDTH || collapsed();
411
485
  NavCompactContext.provide(compact);
412
486
  AppShellContext.provide({ collapsed });
413
487
  watch(wide, (isWide) => {
414
- if (isWide && !overlay()) sidebarOpen.value = false;
488
+ if (isWide && !overlay()) setOpen(false);
415
489
  });
416
490
  function closeOnNavigate(event) {
417
- if (overlay() && wide.value) return;
418
- if (event.target instanceof Element && event.target.closest("a[href]")) sidebarOpen.value = false;
491
+ if (overlay() && lateral() && wide.value) return;
492
+ if (event.target instanceof Element && event.target.closest("a[href]")) setOpen(false);
419
493
  }
420
- const remembered = untrack(() => sidebarWidth.value);
494
+ const remembered = untrack(() => widthOf());
421
495
  const initialWidth = remembered < OVERLAY_COMPACT_WIDTH ? OVERLAY_WIDTH : remembered;
422
496
  let toggleButton = shallowRef(null);
423
497
  function onOverlayKeydown(event) {
424
498
  if (event.key !== "Escape" || event.defaultPrevented) return;
425
499
  event.preventDefault();
426
- sidebarOpen.value = false;
500
+ setOpen(false);
427
501
  toggleButton.value?.focus();
428
502
  }
429
- /** overlay 的“菜单”:开关抽屉,图标随开关切换 */
430
- const sidebarToggle = () => createVNode(Button, mergePartProps({
503
+ const toggleAtEnd = () => overlay() && side() === "end";
504
+ const toggleIcon = () => {
505
+ const open = isOpen();
506
+ switch (side()) {
507
+ case "end": return open ? PanelRightClose : PanelRightOpen;
508
+ case "top": return open ? PanelTopClose : PanelTopOpen;
509
+ case "bottom": return open ? PanelBottomClose : PanelBottomOpen;
510
+ default: return open ? PanelLeftClose : PanelLeftOpen;
511
+ }
512
+ };
513
+ /** overlay 的“菜单”:开关抽屉,图标随开关和方向切换 */
514
+ const sidebarToggle = () => createVNode(Button, mergeJsxProps(mergePartProps({
431
515
  variant: "ghost",
432
516
  tone: "neutral",
433
517
  size: "sm",
434
- icon: sidebarOpen.value ? PanelLeftClose : PanelLeftOpen,
518
+ icon: toggleIcon(),
435
519
  sx: appShellStyles.toggle
436
520
  }, propsSidebarToggle.value, {
437
521
  ref: (element) => toggleButton.value = toElement(element),
438
- "aria-expanded": sidebarOpen.value,
522
+ "aria-expanded": isOpen(),
439
523
  "aria-controls": sidebarId,
440
- onClick: () => sidebarOpen.value = !sidebarOpen.value
441
- }), {
524
+ onClick: () => setOpen(!isOpen())
525
+ }), { "key": "__site0" }), {
442
526
  default: () => [messages.navigationMenu],
443
527
  $stable: true
444
528
  });
@@ -451,33 +535,34 @@ var AppShell = /*#__PURE__*/ _component((_props, _ctx) => {
451
535
  icon: Menu,
452
536
  "aria-label": messages.navigationOpen
453
537
  }, propsMenuButton.value, {
454
- "aria-expanded": sidebarOpen.value,
455
- onClick: () => sidebarOpen.value = true
538
+ "aria-expanded": isOpen(),
539
+ onClick: () => setOpen(true)
456
540
  }), null),
457
- hasContent(brand.value) && createVNode("div", mergeAttrs({ sx: [appShellStyles.brand, hasContent(sidebar.value) && (overlay() ? [appShellStyles.brandOverlay, css.bind(appShellDynamicStyles.brandWidth, () => [initialWidth], true)] : [appShellStyles.brandRail, collapsed() && appShellStyles.brandRailCollapsed])] }, propsBrand.value), [brand.value, hasContent(sidebar.value) && overlay() && sidebarToggle()]),
458
- !hasContent(brand.value) && hasContent(sidebar.value) && overlay() && sidebarToggle(),
541
+ hasContent(brand.value) && createVNode("div", mergeAttrs({ sx: [appShellStyles.brand, hasContent(sidebar.value) && (overlay() ? side() === "start" && [appShellStyles.brandOverlay, css.bind(appShellDynamicStyles.brandWidth, () => [initialWidth], true)] : [appShellStyles.brandRail, collapsed() && appShellStyles.brandRailCollapsed])] }, propsBrand.value), [brand.value, hasContent(sidebar.value) && overlay() && !toggleAtEnd() && sidebarToggle()]),
542
+ !hasContent(brand.value) && hasContent(sidebar.value) && overlay() && !toggleAtEnd() && sidebarToggle(),
459
543
  hasContent(nav.value) && createVNode("div", mergeAttrs({ sx: appShellStyles.nav }, propsNav.value), [nav.value]),
460
- createVNode("div", mergeAttrs({ sx: [appShellStyles.headerContent, hasContent(nav.value) && appShellStyles.headerContentAfterNav] }, propsHeaderContent.value), [header.value])
544
+ createVNode("div", mergeAttrs({ sx: [appShellStyles.headerContent, hasContent(nav.value) && appShellStyles.headerContentAfterNav] }, propsHeaderContent.value), [header.value]),
545
+ hasContent(sidebar.value) && toggleAtEnd() && sidebarToggle()
461
546
  ]),
462
547
  createVNode("div", mergeAttrs({ sx: [appShellStyles.body, docked() && hasContent(aside.value) ? collapsed() ? appShellStyles.withBothCollapsed : appShellStyles.withBoth : docked() ? collapsed() ? appShellStyles.withSidebarCollapsed : appShellStyles.withSidebar : hasContent(aside.value) && appShellStyles.withAside] }, propsBody.value), [
463
548
  docked() && createVNode("div", mergeAttrs({ sx: [
464
549
  appShellStyles.rail,
465
550
  appShellStyles.sidebar,
466
551
  sidebarCollapsible.value && appShellStyles.sidebarColumn
467
- ] }, propsSidebar.value), [createVNode(ScrollArea, mergeProps(mergePartProps({
552
+ ] }, propsSidebar.value), [createVNode(ScrollArea, mergeJsxProps(mergePartProps({
468
553
  sx: [appShellStyles.railScroll, sidebarCollapsible.value && appShellStyles.sidebarScroll],
469
554
  propsViewport: { sx: appShellStyles.railViewport },
470
555
  propsContent: { sx: [appShellStyles.sidebarContent, css.select(() => collapsed() && appShellStyles.sidebarContentCompact, true)] }
471
- }, propsSidebarScroll.value), { "key": "__site0" }), {
556
+ }, propsSidebarScroll.value), { "key": "__site1" }), {
472
557
  default: () => [unref(sidebar)],
473
558
  $stable: true
474
559
  }), sidebarCollapsible.value && createVNode("div", css.attrs(appShellStyles.collapseBar, css.select(() => collapsed() && appShellStyles.collapseBarCollapsed, true)), [createVNode(IconButton, mergePartProps({
475
- icon: sidebarCollapsed.value ? PanelLeftOpen : PanelLeftClose,
560
+ icon: isCollapsed() ? PanelLeftOpen : PanelLeftClose,
476
561
  size: "sm",
477
562
  variant: "ghost",
478
563
  propsIcon: { flipInRtl: true },
479
- "aria-label": sidebarCollapsed.value ? messages.sidebarExpand : messages.sidebarCollapse
480
- }, propsCollapse.value, { onClick: () => sidebarCollapsed.value = !sidebarCollapsed.value }), null)])]),
564
+ "aria-label": isCollapsed() ? messages.sidebarExpand : messages.sidebarCollapse
565
+ }, propsCollapse.value, { onClick: () => setCollapsed(!isCollapsed()) }), null)])]),
481
566
  createVNode("div", css.attrs(appShellStyles.column), [
482
567
  hasContent(tabs.value) && createVNode("div", mergeAttrs({ sx: appShellStyles.tabs }, propsTabs.value), [tabs.value]),
483
568
  createVNode("main", mergeAttrs({ sx: [appShellStyles.main, appShellStyles.mainGrow] }, propsMain.value, {
@@ -486,45 +571,62 @@ var AppShell = /*#__PURE__*/ _component((_props, _ctx) => {
486
571
  }), [children.value]),
487
572
  hasContent(footer.value) && createVNode("footer", mergeAttrs({ sx: appShellStyles.footer }, propsFooter.value), [footer.value])
488
573
  ]),
489
- hasContent(aside.value) && createVNode("aside", mergeAttrs({ sx: [appShellStyles.rail, appShellStyles.aside] }, propsAside.value), [createVNode(ScrollArea, mergeProps(mergePartProps({
574
+ hasContent(aside.value) && createVNode("aside", mergeAttrs({ sx: [appShellStyles.rail, appShellStyles.aside] }, propsAside.value), [createVNode(ScrollArea, mergeJsxProps(mergePartProps({
490
575
  sx: appShellStyles.railScroll,
491
576
  propsViewport: { sx: appShellStyles.railViewport },
492
577
  propsContent: { sx: appShellStyles.asideContent }
493
- }, propsAsideScroll.value), { "key": "__site1" }), {
578
+ }, propsAsideScroll.value), { "key": "__site2" }), {
494
579
  default: () => [unref(aside)],
495
580
  $stable: true
496
581
  })])
497
582
  ]),
498
583
  hasContent(sidebar.value) && overlay() && createVNode("div", mergeAttrs({ sx: [
499
584
  appShellStyles.overlay,
500
- sidebarOpen.value && appShellStyles.overlayOpen,
501
- css.bind(appShellDynamicStyles.width, () => [sidebarWidth.value], true)
585
+ side() === "start" && appShellStyles.overlayStart,
586
+ side() === "end" && appShellStyles.overlayEnd,
587
+ side() === "top" && appShellStyles.overlayTop,
588
+ side() === "bottom" && appShellStyles.overlayBottom,
589
+ isOpen() && appShellStyles.overlayOpen,
590
+ lateral() ? css.bind(appShellDynamicStyles.width, () => [widthOf()], true) : css.bind(appShellDynamicStyles.height, () => [heightOf()], true)
502
591
  ] }, propsSidebar.value, {
503
592
  id: sidebarId,
504
- inert: !sidebarOpen.value,
593
+ inert: !isOpen(),
505
594
  onKeydown: onOverlayKeydown,
506
595
  onClick: closeOnNavigate
507
- }), [createVNode(ScrollArea, mergeProps(mergePartProps({
596
+ }), [createVNode(ScrollArea, mergeJsxProps(mergePartProps({
508
597
  sx: appShellStyles.overlayScroll,
509
598
  propsViewport: { sx: appShellStyles.railViewport },
510
- propsContent: { sx: [appShellStyles.sidebarContent, css.select(() => compact() && appShellStyles.sidebarContentCompact, true)] }
511
- }, propsSidebarScroll.value), { "key": "__site2" }), {
599
+ propsContent: { sx: [
600
+ appShellStyles.sidebarContent,
601
+ css.select(() => compact() && appShellStyles.sidebarContentCompact, true),
602
+ !lateral() && appShellStyles.sidebarContentColumns
603
+ ] }
604
+ }, propsSidebarScroll.value), { "key": "__site3" }), {
512
605
  default: () => [unref(sidebar)],
513
606
  $stable: true
514
- }), createVNode(ResizeHandle, mergeProps({ "aria-label": messages.navigationResize }, propsResizeHandle.value, {
515
- "width": sidebarWidth.value,
607
+ }), lateral() ? createVNode(ResizeHandle, mergeJsxProps({ "aria-label": messages.navigationResize }, propsResizeHandle.value, {
608
+ "edge": side() === "end" ? "start" : "end",
609
+ "width": widthOf(),
516
610
  "minWidth": OVERLAY_MIN_WIDTH,
517
611
  "maxWidth": OVERLAY_MAX_WIDTH,
518
612
  "defaultWidth": initialWidth,
519
- "onWidthChange": _cache[0] || (_cache[0] = (px) => sidebarWidth.value = px)
613
+ "onWidthChange": setWidth
614
+ }), null) : createVNode(ResizeHandle, mergeJsxProps({ "aria-label": messages.navigationResizeHeight }, propsResizeHandle.value, {
615
+ "orientation": "horizontal",
616
+ "edge": side() === "top" ? "end" : "start",
617
+ "width": heightOf(),
618
+ "minWidth": OVERLAY_MIN_HEIGHT,
619
+ "maxWidth": OVERLAY_MAX_HEIGHT,
620
+ "defaultWidth": OVERLAY_HEIGHT,
621
+ "onWidthChange": setHeight
520
622
  }), null)]),
521
- docked() && createVNode(Drawer, mergeProps(mergePartProps({
623
+ docked() && createVNode(Drawer, mergeJsxProps(mergePartProps({
522
624
  title: messages.navigation,
523
625
  side: "start"
524
626
  }, propsDrawer.value, { onClick: closeOnNavigate }), {
525
- "_open": sidebarOpen.value,
526
- "onUpdate:_open": _cache[1] || (_cache[1] = ($event) => sidebarOpen.value = $event),
527
- "key": "__site3"
627
+ "_open": isOpen(),
628
+ "onUpdate:_open": setOpen,
629
+ "key": "__site4"
528
630
  }), {
529
631
  default: () => [unref(sidebar)],
530
632
  $stable: true
@@ -541,10 +643,14 @@ var AppShell = /*#__PURE__*/ _component((_props, _ctx) => {
541
643
  "tabs",
542
644
  "footer",
543
645
  "sidebarMode",
646
+ "sidebarSide",
647
+ "layout",
544
648
  "_sidebarOpen",
545
649
  "onUpdate:_sidebarOpen",
546
650
  "_sidebarWidth",
547
651
  "onUpdate:_sidebarWidth",
652
+ "_sidebarHeight",
653
+ "onUpdate:_sidebarHeight",
548
654
  "sidebarCollapsible",
549
655
  "_sidebarCollapsed",
550
656
  "onUpdate:_sidebarCollapsed",