@vireo-ai/trellis-ui 0.1.17 → 0.1.19

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 (46) hide show
  1. package/THIRD_PARTY_NOTICES.md +40 -0
  2. package/package.json +2 -2
  3. package/packages/client/src/components/panels/styles.css +103 -2
  4. package/packages/client/src/components/select/styles.css +4 -0
  5. package/packages/client/src/styles/generated/theme-runtime.css +74 -24
  6. package/packages/client/src/styles/generated-sources.css +1 -1
  7. package/packages/client/types/components/app/contract.d.ts +4 -4
  8. package/packages/client/types/components/box/contract.d.ts +10 -10
  9. package/packages/client/types/components/card/contract.d.ts +10 -10
  10. package/packages/client/types/components/common.d.ts +9 -9
  11. package/packages/client/types/components/container/contract.d.ts +8 -8
  12. package/packages/client/types/components/date-picker/contract.d.ts +1 -1
  13. package/packages/client/types/components/date-picker/machine.d.ts +8 -8
  14. package/packages/client/types/components/flex/contract.d.ts +10 -10
  15. package/packages/client/types/components/frame/contract.d.ts +25 -25
  16. package/packages/client/types/components/grid/contract.d.ts +10 -10
  17. package/packages/client/types/components/layout.d.ts +19 -19
  18. package/packages/client/types/components/menu/contract.d.ts +1 -1
  19. package/packages/client/types/components/modal/contract.d.ts +1 -1
  20. package/packages/client/types/components/modal/machine.d.ts +4 -4
  21. package/packages/client/types/components/panels/contract.d.ts +1 -1
  22. package/packages/client/types/components/panels/index.d.ts +9 -2
  23. package/packages/client/types/components/panels/machine.d.ts +46 -1
  24. package/packages/client/types/components/section/contract.d.ts +8 -8
  25. package/packages/client/types/components/select/contract.d.ts +2 -1
  26. package/packages/client/types/components/select/machine.d.ts +19 -8
  27. package/packages/client/types/components/sidebar/contract.d.ts +2 -2
  28. package/packages/client/types/components/sidebar/index.d.ts +1 -1
  29. package/packages/client/types/components/stack/contract.d.ts +10 -10
  30. package/packages/client/types/components/tabs/contract.d.ts +1 -1
  31. package/packages/client/types/components/tabs/machine.d.ts +2 -2
  32. package/packages/client/types/runtime/dom-invalidation.d.ts +7 -0
  33. package/packages/client/types/runtime/drag-and-drop/sortable/index.d.ts +1 -1
  34. package/packages/client/types/runtime/drag-and-drop/sortable/registry.d.ts +6 -3
  35. package/packages/client/types/runtime/drag-and-drop/sortable/source-machine.d.ts +1 -0
  36. package/packages/client/types/runtime/engine/stream.d.ts +1 -0
  37. package/packages/client/types/runtime/index.d.ts +1 -0
  38. package/packages/client/types/runtime/morph-engine.d.ts +22 -0
  39. package/packages/client/types/runtime/morph.d.ts +4 -0
  40. package/packages/client/types/runtime/shell-breakpoint.d.ts +2 -0
  41. package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.css +149 -3
  42. package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.min.css +1 -1
  43. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index.js +5334 -4987
  44. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index.js.map +1 -1
  45. package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.js +9 -9
  46. package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.min.js +9 -9
@@ -2,13 +2,13 @@ import { type SchemaToProps } from '../../runtime';
2
2
  import { type LayoutAlign, type LayoutAs, type LayoutJustify, type LayoutSpace } from '../layout';
3
3
  declare const STACK_DISPLAYS: readonly ["grid", "inline-grid", "none"];
4
4
  declare const stackSchema: {
5
- padding: import("../../runtime/codecs").OneOfCodec<"1" | "0" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "0.5" | "1.5" | "2.5" | "3.5" | "4.5" | "5.5" | "6.5" | "7.5" | "8.5" | "9.5" | "10.5" | "11.5">;
6
- paddingX: import("../../runtime/codecs").OneOfCodec<"1" | "0" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "0.5" | "1.5" | "2.5" | "3.5" | "4.5" | "5.5" | "6.5" | "7.5" | "8.5" | "9.5" | "10.5" | "11.5">;
7
- paddingY: import("../../runtime/codecs").OneOfCodec<"1" | "0" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "0.5" | "1.5" | "2.5" | "3.5" | "4.5" | "5.5" | "6.5" | "7.5" | "8.5" | "9.5" | "10.5" | "11.5">;
8
- margin: import("../../runtime/codecs").OneOfCodec<"1" | "0" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "0.5" | "1.5" | "2.5" | "3.5" | "4.5" | "5.5" | "6.5" | "7.5" | "8.5" | "9.5" | "10.5" | "11.5">;
9
- marginX: import("../../runtime/codecs").OneOfCodec<"1" | "0" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "0.5" | "1.5" | "2.5" | "3.5" | "4.5" | "5.5" | "6.5" | "7.5" | "8.5" | "9.5" | "10.5" | "11.5">;
10
- marginY: import("../../runtime/codecs").OneOfCodec<"1" | "0" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "0.5" | "1.5" | "2.5" | "3.5" | "4.5" | "5.5" | "6.5" | "7.5" | "8.5" | "9.5" | "10.5" | "11.5">;
11
- surface: import("../../runtime/codecs").OneOfCodec<"1" | "0" | "2" | "3" | "inherit" | "4" | "5" | "6" | "7" | "8" | "+1" | "+2" | "+3" | "+4" | "+5" | "+6" | "+7" | "+8">;
5
+ padding: import("../../runtime/codecs").OneOfCodec<"0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "0.5" | "1.5" | "2.5" | "3.5" | "4.5" | "5.5" | "6.5" | "7.5" | "8.5" | "9.5" | "10.5" | "11.5">;
6
+ paddingX: import("../../runtime/codecs").OneOfCodec<"0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "0.5" | "1.5" | "2.5" | "3.5" | "4.5" | "5.5" | "6.5" | "7.5" | "8.5" | "9.5" | "10.5" | "11.5">;
7
+ paddingY: import("../../runtime/codecs").OneOfCodec<"0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "0.5" | "1.5" | "2.5" | "3.5" | "4.5" | "5.5" | "6.5" | "7.5" | "8.5" | "9.5" | "10.5" | "11.5">;
8
+ margin: import("../../runtime/codecs").OneOfCodec<"0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "0.5" | "1.5" | "2.5" | "3.5" | "4.5" | "5.5" | "6.5" | "7.5" | "8.5" | "9.5" | "10.5" | "11.5">;
9
+ marginX: import("../../runtime/codecs").OneOfCodec<"0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "0.5" | "1.5" | "2.5" | "3.5" | "4.5" | "5.5" | "6.5" | "7.5" | "8.5" | "9.5" | "10.5" | "11.5">;
10
+ marginY: import("../../runtime/codecs").OneOfCodec<"0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "0.5" | "1.5" | "2.5" | "3.5" | "4.5" | "5.5" | "6.5" | "7.5" | "8.5" | "9.5" | "10.5" | "11.5">;
11
+ surface: import("../../runtime/codecs").OneOfCodec<"0" | "1" | "2" | "3" | "inherit" | "4" | "5" | "6" | "7" | "8" | "+1" | "+2" | "+3" | "+4" | "+5" | "+6" | "+7" | "+8">;
12
12
  radius: import("../../runtime/codecs").OneOfCodec<"none" | "xs" | "sm" | "md" | "lg" | "full">;
13
13
  elevation: import("../../runtime/codecs").OneOfCodec<"1" | "match" | "2" | "3" | "none" | "4" | "5" | "6" | "7" | "8">;
14
14
  width: import("../../runtime/codecs").OneOfCodec<"xs" | "sm" | "md" | "lg" | "full" | "auto" | "xl" | "prose">;
@@ -16,9 +16,9 @@ declare const stackSchema: {
16
16
  class: import("../../runtime/codecs").StringCodec;
17
17
  align: import("../../runtime/codecs").OneOfCodec<"start" | "center" | "end" | "baseline" | "stretch">;
18
18
  justify: import("../../runtime/codecs").OneOfCodec<"start" | "center" | "end" | "between">;
19
- gap: import("../../runtime/codecs").OneOfCodec<"1" | "0" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "0.5" | "1.5" | "2.5" | "3.5" | "4.5" | "5.5" | "6.5" | "7.5" | "8.5" | "9.5" | "10.5" | "11.5">;
20
- gapX: import("../../runtime/codecs").OneOfCodec<"1" | "0" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "0.5" | "1.5" | "2.5" | "3.5" | "4.5" | "5.5" | "6.5" | "7.5" | "8.5" | "9.5" | "10.5" | "11.5">;
21
- gapY: import("../../runtime/codecs").OneOfCodec<"1" | "0" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "0.5" | "1.5" | "2.5" | "3.5" | "4.5" | "5.5" | "6.5" | "7.5" | "8.5" | "9.5" | "10.5" | "11.5">;
19
+ gap: import("../../runtime/codecs").OneOfCodec<"0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "0.5" | "1.5" | "2.5" | "3.5" | "4.5" | "5.5" | "6.5" | "7.5" | "8.5" | "9.5" | "10.5" | "11.5">;
20
+ gapX: import("../../runtime/codecs").OneOfCodec<"0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "0.5" | "1.5" | "2.5" | "3.5" | "4.5" | "5.5" | "6.5" | "7.5" | "8.5" | "9.5" | "10.5" | "11.5">;
21
+ gapY: import("../../runtime/codecs").OneOfCodec<"0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "0.5" | "1.5" | "2.5" | "3.5" | "4.5" | "5.5" | "6.5" | "7.5" | "8.5" | "9.5" | "10.5" | "11.5">;
22
22
  as: import("../../runtime/codecs").OneOfCodec<"article" | "aside" | "div" | "footer" | "form" | "header" | "li" | "main" | "nav" | "ol" | "section" | "span" | "ul">;
23
23
  display: import("../../runtime/codecs").OneOfCodec<"none" | "grid" | "inline-grid">;
24
24
  };
@@ -13,7 +13,7 @@ declare const tabsSchema: {
13
13
  value: import("../../runtime/codecs").StringCodec;
14
14
  activation: import("../../runtime/codecs").OneOfCodec<"manual" | "automatic">;
15
15
  orientation: import("../../runtime/codecs").OneOfCodec<"vertical" | "horizontal">;
16
- gap: import("../../runtime/codecs").OneOfCodec<"1" | "0" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "0.5" | "1.5" | "2.5" | "3.5" | "4.5" | "5.5" | "6.5" | "7.5" | "8.5" | "9.5" | "10.5" | "11.5" | "auto">;
16
+ gap: import("../../runtime/codecs").OneOfCodec<"0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "0.5" | "1.5" | "2.5" | "3.5" | "4.5" | "5.5" | "6.5" | "7.5" | "8.5" | "9.5" | "10.5" | "11.5" | "auto">;
17
17
  loop: import("../../runtime/codecs").BoolCodec;
18
18
  panels: import("../../runtime/codecs").StringCodec;
19
19
  class: import("../../runtime/codecs").StringCodec;
@@ -46,7 +46,7 @@ declare const tabsHooks: readonly [Readonly<{
46
46
  value: import("../../runtime/codecs").StringCodec;
47
47
  activation: import("../../runtime/codecs").OneOfCodec<"manual" | "automatic">;
48
48
  orientation: import("../../runtime/codecs").OneOfCodec<"vertical" | "horizontal">;
49
- gap: import("../../runtime/codecs").OneOfCodec<"1" | "0" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "0.5" | "1.5" | "2.5" | "3.5" | "4.5" | "5.5" | "6.5" | "7.5" | "8.5" | "9.5" | "10.5" | "11.5" | "auto">;
49
+ gap: import("../../runtime/codecs").OneOfCodec<"0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "0.5" | "1.5" | "2.5" | "3.5" | "4.5" | "5.5" | "6.5" | "7.5" | "8.5" | "9.5" | "10.5" | "11.5" | "auto">;
50
50
  loop: import("../../runtime/codecs").BoolCodec;
51
51
  panels: import("../../runtime/codecs").StringCodec;
52
52
  class: import("../../runtime/codecs").StringCodec;
@@ -68,7 +68,7 @@ declare const tabsHooks: readonly [Readonly<{
68
68
  value: import("../../runtime/codecs").StringCodec;
69
69
  activation: import("../../runtime/codecs").OneOfCodec<"manual" | "automatic">;
70
70
  orientation: import("../../runtime/codecs").OneOfCodec<"vertical" | "horizontal">;
71
- gap: import("../../runtime/codecs").OneOfCodec<"1" | "0" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "0.5" | "1.5" | "2.5" | "3.5" | "4.5" | "5.5" | "6.5" | "7.5" | "8.5" | "9.5" | "10.5" | "11.5" | "auto">;
71
+ gap: import("../../runtime/codecs").OneOfCodec<"0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "0.5" | "1.5" | "2.5" | "3.5" | "4.5" | "5.5" | "6.5" | "7.5" | "8.5" | "9.5" | "10.5" | "11.5" | "auto">;
72
72
  loop: import("../../runtime/codecs").BoolCodec;
73
73
  panels: import("../../runtime/codecs").StringCodec;
74
74
  class: import("../../runtime/codecs").StringCodec;
@@ -0,0 +1,7 @@
1
+ type DomInvalidationOwner = Readonly<{
2
+ invalidateDom(): void;
3
+ }>;
4
+ declare const registerDomInvalidationOwner: (element: Element, owner: DomInvalidationOwner) => (() => void);
5
+ declare const findClosestDomInvalidationOwners: (element: Element) => readonly DomInvalidationOwner[];
6
+ export { findClosestDomInvalidationOwners, registerDomInvalidationOwner };
7
+ export type { DomInvalidationOwner };
@@ -9,5 +9,5 @@ export { createSortableRegistry, sortable } from './registry';
9
9
  export { activateSortableCursor } from './cursor';
10
10
  export { createSortableSourceMachine } from './source-machine';
11
11
  export type { SortablePointerSnapshot, SortableSourceMachineContext, SortableSourceMachineEffects, } from './source-machine';
12
- export type { GroupRecord, SortableRegistry, SourceRecord } from './registry';
12
+ export type { GroupRecord, SortableRegistration, SortableRegistry, SourceRecord } from './registry';
13
13
  export type { ResolveSortablePlacementOptions, SortableAnchor, SortableCancelReason, SortableCanDropContext, SortableDirection, SortableDragDetail, SortableEdge, SortableFeedback, SortableFrame, SortableGroup, SortableDropDetail, SortableInput, SortableInsertSource, SortableItemGeometry, SortableOperation, SortableOrientation, SortablePlacement, SortableMoveSource, SortableSource, UiSortableService, } from './contract';
@@ -10,9 +10,12 @@ type SourceRecord = Readonly<{
10
10
  getSource(): SortableSource;
11
11
  isDisabled(): boolean;
12
12
  }>;
13
+ type SortableRegistration = (() => void) & Readonly<{
14
+ refresh(): void;
15
+ }>;
13
16
  type SortableRegistry = UiSortableService & Readonly<{
14
- registerGroup(record: GroupRecord): () => void;
15
- registerSource(record: SourceRecord): () => void;
17
+ registerGroup(record: GroupRecord): SortableRegistration;
18
+ registerSource(record: SourceRecord): SortableRegistration;
16
19
  group(scopeId: string, groupId: string): GroupRecord | null;
17
20
  source(scopeId: string, sourceId: string): SourceRecord | null;
18
21
  canDrop(source: SortableSource, destinationGroupId: string, input?: SortableInput | null): boolean;
@@ -22,4 +25,4 @@ type SortableRegistry = UiSortableService & Readonly<{
22
25
  declare const createSortableRegistry: () => SortableRegistry;
23
26
  declare const sortable: SortableRegistry;
24
27
  export { createSortableRegistry, sortable };
25
- export type { GroupRecord, SortableRegistry, SourceRecord };
28
+ export type { GroupRecord, SortableRegistration, SortableRegistry, SourceRecord };
@@ -14,6 +14,7 @@ type SortableSourceMachineEffects<TProps> = Readonly<{
14
14
  resolvePlacement(scope: MachineScope<SortableSourceMachineContext, TProps>): void;
15
15
  synced(scope: MachineScope<SortableSourceMachineContext, TProps>): void;
16
16
  complete(scope: MachineScope<SortableSourceMachineContext, TProps>): void;
17
+ reconcile(scope: MachineScope<SortableSourceMachineContext, TProps>): void;
17
18
  }>;
18
19
  declare const createSortableSourceMachine: <TProps>({ props, effects }: {
19
20
  props: TProps;
@@ -37,6 +37,7 @@ type StreamLifecycle = {
37
37
  };
38
38
  type MorphOptions = {
39
39
  key?(el: HTMLElement): string | null;
40
+ updating?(from: Node, to: Node): void;
40
41
  updated?(from: Node, to: Node): void;
41
42
  };
42
43
  type StreamAlpine = Pick<Alpine.Alpine, 'initTree'> & Partial<Pick<Alpine.Alpine, 'findClosest'>> & {
@@ -3,6 +3,7 @@ export { createAlpineMachine, findAlpineMachineOwner, type AlpineMachine, type A
3
3
  export { createAnchoredPopover, createAnchoredPopoverSurface, type AnchoredPopover, type AnchoredPopoverOptions, type AnchoredPopoverSurface, type PopoverAlign, type PopoverSide, } from './anchored-popover';
4
4
  export { createCollectionNavigation, type CollectionElementOptions, type CollectionItemsOptions, type CollectionKeydownOptions, type CollectionNavigation, type CollectionNavigationOptions, } from './collection-navigation';
5
5
  export { registerConfirm, unregisterConfirm, type ConfirmEventDetail, type ConfirmRuntimeOptions } from './confirm';
6
+ export { findClosestDomInvalidationOwners, registerDomInvalidationOwner, type DomInvalidationOwner, } from './dom-invalidation';
6
7
  export { mergeBindings, type BindingInput, type BindingObject, type MergeBindingsOptions } from './merge-bindings';
7
8
  export { attribute, boundNumber, clampNumber, dataAttributeForProp, dataAttributeForSchemaProp, decodeProps, defineProps, snapNumber, string, number, bool, json, oneOf, type CodecFn, type DecodePropsOptions, type PropState, type SchemaToProps, } from './codecs';
8
9
  export { createMachine, type Machine, type MachineConfig, type MachineEffect, type MachineEffectList, type MachineEffectRef, type MachineEntry, type MachineEvent, type MachineEventObject, type MachineGuard, type MachineOptions, type MachineReducer, type MachineReducerList, type MachineReducerRef, type MachineScope, type MachineSnapshot, type MachineStateConfig, type MachineStateValue, type MachineTransition, type MachineTransitionDefinition, type MachineUpdate, } from './state-machine';
@@ -0,0 +1,22 @@
1
+ import type Alpine from 'alpinejs';
2
+ type Skip = () => void;
3
+ type ChildrenOnly = () => void;
4
+ type SkipChildren = () => void;
5
+ type SkipUntil = (predicate: (node: Node) => boolean) => void;
6
+ type UpdatingHook = (from: Node, to: Node, childrenOnly: ChildrenOnly, skip: Skip, skipChildren: SkipChildren, skipUntil: SkipUntil) => void;
7
+ type SkippableNodeHook = (node: Node, skip: Skip) => void;
8
+ type MorphOptions = {
9
+ key?: (element: Element) => unknown;
10
+ lookahead?: boolean;
11
+ updating?: UpdatingHook;
12
+ updated?: (from: Node, to: Node) => void;
13
+ removing?: SkippableNodeHook;
14
+ removed?: (node: Node) => void;
15
+ adding?: SkippableNodeHook;
16
+ added?: (node: Node) => void;
17
+ };
18
+ declare const morph: (from: Element, toHtml: Element | string, options?: MorphOptions) => Element;
19
+ declare const morphBetween: (startMarker: Comment, endMarker: Comment, toHtml: Element | string, options?: MorphOptions) => void;
20
+ declare const trellisMorph: (AlpineInstance: Alpine.Alpine) => void;
21
+ export { morph, morphBetween };
22
+ export default trellisMorph;
@@ -0,0 +1,4 @@
1
+ declare const PRESERVE_MORPH_ATTRIBUTES = "data-ui-preserve-attr";
2
+ declare const declareMorphAttributes: (element: Element, ...names: string[]) => void;
3
+ declare const preserveDeclaredMorphAttributes: (from: Node, to: Node) => void;
4
+ export { PRESERVE_MORPH_ATTRIBUTES, declareMorphAttributes, preserveDeclaredMorphAttributes, };
@@ -0,0 +1,2 @@
1
+ declare const shellBreakpointPixels: (reference: HTMLElement) => number;
2
+ export { shellBreakpointPixels };
@@ -351,6 +351,7 @@
351
351
  --spacing-scrollbar-inset: 2px;
352
352
  --spacing-menu-item: var(--spacing-control-lg);
353
353
  --spacing-select-listbox: 256px;
354
+ --spacing-panel-collapsed: 48px;
354
355
  --spacing-panel-resize-handle: 8px;
355
356
  --spacing-panel-resize-handle-coarse: 24px;
356
357
  --spacing-sidebar-width: 256px;
@@ -359,6 +360,24 @@
359
360
  --container-modal-md: 512px;
360
361
  --container-modal-lg: 672px;
361
362
  --container-modal-xl: 896px;
363
+ --spacing-panel-1-min: 160px;
364
+ --spacing-panel-1: 192px;
365
+ --spacing-panel-1-max: 240px;
366
+ --spacing-panel-2-min: 192px;
367
+ --spacing-panel-2: 240px;
368
+ --spacing-panel-2-max: 288px;
369
+ --spacing-panel-3-min: 240px;
370
+ --spacing-panel-3: 320px;
371
+ --spacing-panel-3-max: 384px;
372
+ --spacing-panel-4-min: 288px;
373
+ --spacing-panel-4: 384px;
374
+ --spacing-panel-4-max: 480px;
375
+ --spacing-panel-5-min: 320px;
376
+ --spacing-panel-5: 480px;
377
+ --spacing-panel-5-max: 640px;
378
+ --spacing-panel-6-min: 384px;
379
+ --spacing-panel-6: 640px;
380
+ --spacing-panel-6-max: 768px;
362
381
  --spacing-icon: var(--spacing-icon-md);
363
382
  --color-separator: transparent;
364
383
  --color-separator-muted: transparent;
@@ -9812,8 +9831,10 @@
9812
9831
  grid-template-columns: repeat(6, minmax(0, 1fr));
9813
9832
  }
9814
9833
  }
9815
- :where(:root, .light, .dark) [data-ui-app] {
9834
+ :where(:root, .light, .dark) {
9816
9835
  --ui-shell-sidebar-breakpoint: 1024px;
9836
+ }
9837
+ :where(:root, .light, .dark) [data-ui-app] {
9817
9838
  grid-template-areas: "header" "main" "footer";
9818
9839
  }
9819
9840
  :where(:root, .light, .dark) [data-ui-app]:has(> [data-ui-sidebar][data-responsive-mode="mobile"]) {
@@ -9916,6 +9937,46 @@
9916
9937
  grid-template-columns: minmax(0, 1fr);
9917
9938
  }
9918
9939
  }
9940
+ @media (max-width: 1023.98px) {
9941
+ :where(:root, .light, .dark) [data-ui-panels][data-orientation="horizontal"]:not([data-responsive-mode]) {
9942
+ flex-direction: column;
9943
+ overflow-x: hidden;
9944
+ overflow-y: auto;
9945
+ }
9946
+ :where(:root, .light, .dark) [data-ui-panels][data-orientation="horizontal"]:not([data-responsive-mode]) > [data-ui-panel][data-size="fill"] {
9947
+ flex: 1 1 0;
9948
+ width: 100%;
9949
+ min-width: 0;
9950
+ max-width: none;
9951
+ min-height: 100%;
9952
+ max-height: none;
9953
+ }
9954
+ :where(:root, .light, .dark) [data-ui-panels][data-orientation="horizontal"]:not([data-responsive-mode]) > [data-ui-panel]:not([data-size="fill"]) {
9955
+ flex: 0 1 var(--ui-panel-authored-size);
9956
+ width: 100%;
9957
+ min-width: 0;
9958
+ max-width: none;
9959
+ min-height: var(--ui-panel-authored-min);
9960
+ max-height: var(--ui-panel-authored-max);
9961
+ }
9962
+ :where(:root, .light, .dark) [data-ui-panels][data-orientation="horizontal"]:not([data-responsive-mode]) > [data-ui-panel][data-state="collapsed"] {
9963
+ flex: 0 0 0;
9964
+ min-height: 0;
9965
+ max-height: 0;
9966
+ }
9967
+ :where(:root, .light, .dark) [data-ui-panels][data-orientation="horizontal"]:not([data-responsive-mode]) > [data-ui-panel][data-state="collapsed"][data-has-collapsed] {
9968
+ flex-basis: var(--spacing-panel-collapsed);
9969
+ min-height: var(--spacing-panel-collapsed);
9970
+ max-height: var(--spacing-panel-collapsed);
9971
+ }
9972
+ :where(:root, .light, .dark) [data-ui-panels][data-orientation="horizontal"]:not([data-responsive-mode]) > [data-ui-panel][data-divider]:not(:last-child) {
9973
+ border-inline-end: 0;
9974
+ border-block-end: var(--border-width-edge-divider) solid var(--color-separator);
9975
+ }
9976
+ :where(:root, .light, .dark) [data-ui-panels][data-orientation="horizontal"]:not([data-responsive-mode]) > [data-ui-panel] > [data-ui-panel-resize-handle] {
9977
+ display: none;
9978
+ }
9979
+ }
9919
9980
  @layer components {
9920
9981
  [data-ui-brand-logo] svg {
9921
9982
  display: block;
@@ -10000,6 +10061,8 @@
10000
10061
  [data-ui-select-popover][data-presentation="dialog"] [data-ui-select-viewport], [data-ui-select-popover][data-presentation="fullscreen"] [data-ui-select-viewport] {
10001
10062
  height: 100%;
10002
10063
  max-height: none;
10064
+ }
10065
+ [data-ui-select-popover][data-presentation="dialog"] [data-ui-select-viewport] [data-ui-scroll-area-viewport], [data-ui-select-popover][data-presentation="fullscreen"] [data-ui-select-viewport] [data-ui-scroll-area-viewport] {
10003
10066
  overscroll-behavior: contain;
10004
10067
  }
10005
10068
  [data-ui-select-option-label]:has(>*+*) {
@@ -10568,10 +10631,93 @@
10568
10631
  }
10569
10632
  }
10570
10633
  @layer components {
10571
- [data-ui-panels][data-orientation="horizontal"] > [data-ui-panel][data-divider]:not(:last-child) {
10634
+ [data-ui-panels] {
10635
+ overflow: hidden;
10636
+ }
10637
+ [data-ui-panels][data-responsive-mode="stacked"] {
10638
+ overflow-x: hidden;
10639
+ overflow-y: auto;
10640
+ }
10641
+ [data-ui-panel] {
10642
+ min-height: 0;
10643
+ }
10644
+ [data-ui-panel][data-size="1"] {
10645
+ --ui-panel-authored-min: var(--spacing-panel-1-min);
10646
+ --ui-panel-authored-size: var(--spacing-panel-1);
10647
+ --ui-panel-authored-max: var(--spacing-panel-1-max);
10648
+ }
10649
+ [data-ui-panel][data-size="2"] {
10650
+ --ui-panel-authored-min: var(--spacing-panel-2-min);
10651
+ --ui-panel-authored-size: var(--spacing-panel-2);
10652
+ --ui-panel-authored-max: var(--spacing-panel-2-max);
10653
+ }
10654
+ [data-ui-panel][data-size="3"] {
10655
+ --ui-panel-authored-min: var(--spacing-panel-3-min);
10656
+ --ui-panel-authored-size: var(--spacing-panel-3);
10657
+ --ui-panel-authored-max: var(--spacing-panel-3-max);
10658
+ }
10659
+ [data-ui-panel][data-size="4"] {
10660
+ --ui-panel-authored-min: var(--spacing-panel-4-min);
10661
+ --ui-panel-authored-size: var(--spacing-panel-4);
10662
+ --ui-panel-authored-max: var(--spacing-panel-4-max);
10663
+ }
10664
+ [data-ui-panel][data-size="5"] {
10665
+ --ui-panel-authored-min: var(--spacing-panel-5-min);
10666
+ --ui-panel-authored-size: var(--spacing-panel-5);
10667
+ --ui-panel-authored-max: var(--spacing-panel-5-max);
10668
+ }
10669
+ [data-ui-panel][data-size="6"] {
10670
+ --ui-panel-authored-min: var(--spacing-panel-6-min);
10671
+ --ui-panel-authored-size: var(--spacing-panel-6);
10672
+ --ui-panel-authored-max: var(--spacing-panel-6-max);
10673
+ }
10674
+ [data-ui-panels]:is([data-orientation="horizontal"]:not([data-layout-orientation]), [data-layout-orientation="horizontal"]) > [data-ui-panel][data-size="fill"] {
10675
+ flex: 1 1 0;
10676
+ min-width: 0;
10677
+ max-width: none;
10678
+ }
10679
+ [data-ui-panels]:is([data-orientation="horizontal"]:not([data-layout-orientation]), [data-layout-orientation="horizontal"]) > [data-ui-panel]:not([data-size="fill"]) {
10680
+ flex: 0 1 var(--ui-panel-authored-size);
10681
+ min-width: var(--ui-panel-authored-min);
10682
+ max-width: var(--ui-panel-authored-max);
10683
+ }
10684
+ [data-ui-panels]:is([data-orientation="vertical"]:not([data-layout-orientation]), [data-layout-orientation="vertical"]) > [data-ui-panel][data-size="fill"] {
10685
+ flex: 1 1 0;
10686
+ min-height: 0;
10687
+ max-height: none;
10688
+ }
10689
+ [data-ui-panels]:is([data-orientation="vertical"]:not([data-layout-orientation]), [data-layout-orientation="vertical"]) > [data-ui-panel]:not([data-size="fill"]) {
10690
+ flex: 0 1 var(--ui-panel-authored-size);
10691
+ min-height: var(--ui-panel-authored-min);
10692
+ max-height: var(--ui-panel-authored-max);
10693
+ }
10694
+ [data-ui-panels][data-responsive-mode="stacked"] > [data-ui-panel][data-size="fill"]:not([data-state="collapsed"]) {
10695
+ min-height: 100%;
10696
+ }
10697
+ [data-ui-panels]:is([data-orientation="horizontal"]:not([data-layout-orientation]), [data-layout-orientation="horizontal"]) > [data-ui-panel][data-state="collapsed"] {
10698
+ flex: 0 0 0;
10699
+ min-width: 0;
10700
+ max-width: 0;
10701
+ }
10702
+ [data-ui-panels]:is([data-orientation="horizontal"]:not([data-layout-orientation]), [data-layout-orientation="horizontal"]) > [data-ui-panel][data-state="collapsed"][data-has-collapsed] {
10703
+ flex-basis: var(--spacing-panel-collapsed);
10704
+ min-width: var(--spacing-panel-collapsed);
10705
+ max-width: var(--spacing-panel-collapsed);
10706
+ }
10707
+ [data-ui-panels]:is([data-orientation="vertical"]:not([data-layout-orientation]), [data-layout-orientation="vertical"]) > [data-ui-panel][data-state="collapsed"] {
10708
+ flex: 0 0 0;
10709
+ min-height: 0;
10710
+ max-height: 0;
10711
+ }
10712
+ [data-ui-panels]:is([data-orientation="vertical"]:not([data-layout-orientation]), [data-layout-orientation="vertical"]) > [data-ui-panel][data-state="collapsed"][data-has-collapsed] {
10713
+ flex-basis: var(--spacing-panel-collapsed);
10714
+ min-height: var(--spacing-panel-collapsed);
10715
+ max-height: var(--spacing-panel-collapsed);
10716
+ }
10717
+ [data-ui-panels]:is([data-orientation="horizontal"]:not([data-layout-orientation]), [data-layout-orientation="horizontal"]) > [data-ui-panel][data-divider]:not(:last-child) {
10572
10718
  border-inline-end: var(--border-width-edge-divider) solid var(--color-separator);
10573
10719
  }
10574
- [data-ui-panels][data-orientation="vertical"] > [data-ui-panel][data-divider]:not(:last-child) {
10720
+ [data-ui-panels]:is([data-orientation="vertical"]:not([data-layout-orientation]), [data-layout-orientation="vertical"]) > [data-ui-panel][data-divider]:not(:last-child) {
10575
10721
  border-block-end: var(--border-width-edge-divider) solid var(--color-separator);
10576
10722
  }
10577
10723
  [data-ui-panel-resize-handle][data-orientation="horizontal"][data-resize-edge="start"] {