@vireo-ai/trellis-ui 0.1.42 → 0.1.46

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 (167) hide show
  1. package/package.json +2 -2
  2. package/packages/client/src/components/field/styles.css +7 -4
  3. package/packages/client/src/components/toast/styles.css +0 -1
  4. package/packages/client/src/styles/generated/theme-fonts.css +1 -1
  5. package/packages/client/src/styles/generated/theme-palette.css +99 -99
  6. package/packages/client/src/styles/generated/theme-runtime.css +229 -128
  7. package/packages/client/src/styles/generated-sources.css +1 -1
  8. package/packages/client/src/styles/motion.css +26 -0
  9. package/packages/client/src/styles/recipes/option.css +4 -2
  10. package/packages/client/src/styles/recipes/selection.css +4 -0
  11. package/packages/client/src/styles/static.css +1 -0
  12. package/packages/client/src/styles/theme.css +0 -4
  13. package/packages/client/types/capabilities/motion.d.ts +2 -1
  14. package/packages/client/types/components/app/contract.d.ts +5 -5
  15. package/packages/client/types/components/box/contract.d.ts +2 -2
  16. package/packages/client/types/components/card/contract.d.ts +3 -3
  17. package/packages/client/types/components/checkbox/contract.d.ts +5 -5
  18. package/packages/client/types/components/checkbox/machine.d.ts +1 -0
  19. package/packages/client/types/components/common.d.ts +1 -1
  20. package/packages/client/types/components/container/contract.d.ts +1 -1
  21. package/packages/client/types/components/date-picker/contract.d.ts +1 -1
  22. package/packages/client/types/components/date-picker/machine.d.ts +2 -2
  23. package/packages/client/types/components/dropdown/machine.d.ts +4 -1
  24. package/packages/client/types/components/dropdown/safe-area.d.ts +19 -0
  25. package/packages/client/types/components/field/contract.d.ts +1 -1
  26. package/packages/client/types/components/file-upload/contract.d.ts +1 -1
  27. package/packages/client/types/components/file-upload/machine.d.ts +1 -1
  28. package/packages/client/types/components/flex/contract.d.ts +2 -2
  29. package/packages/client/types/components/frame/contract.d.ts +2 -2
  30. package/packages/client/types/components/grid/contract.d.ts +3 -3
  31. package/packages/client/types/components/input/contract.d.ts +3 -3
  32. package/packages/client/types/components/layout.d.ts +2 -2
  33. package/packages/client/types/components/menu/contract.d.ts +10 -3
  34. package/packages/client/types/components/modal/contract.d.ts +1 -1
  35. package/packages/client/types/components/radio/contract.d.ts +4 -4
  36. package/packages/client/types/components/section/contract.d.ts +1 -1
  37. package/packages/client/types/components/select/contract.d.ts +4 -4
  38. package/packages/client/types/components/select/machine.d.ts +6 -6
  39. package/packages/client/types/components/sidebar/contract.d.ts +2 -2
  40. package/packages/client/types/components/stack/contract.d.ts +2 -2
  41. package/packages/client/types/components/textarea/contract.d.ts +1 -1
  42. package/packages/client/types/components/tooltip/contract.d.ts +2 -2
  43. package/packages/client/types/directives/bounds.d.ts +4 -0
  44. package/packages/client/types/directives/index.d.ts +1 -0
  45. package/packages/client/types/motion/bounds.d.ts +20 -0
  46. package/packages/client/types/motion/index.d.ts +58 -4
  47. package/packages/client/types/motion/plan.d.ts +7 -1
  48. package/packages/client/types/motion/recipe.d.ts +64 -7
  49. package/packages/client/types/motion/resize.d.ts +3 -1
  50. package/packages/client/types/runtime/collection-navigation.d.ts +2 -1
  51. package/packages/client/types/runtime/identity.d.ts +2 -1
  52. package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.css +298 -182
  53. package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.min.css +1 -1
  54. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/build-metadata.json +346 -323
  55. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/motion.js +1 -1
  56. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/motion.js.map +1 -1
  57. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/sortable.js +1 -1
  58. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-motion-LgqzTNla.js +2 -0
  59. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-motion-LgqzTNla.js.map +1 -0
  60. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-DhIaUo4k.js +3 -0
  61. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-DhIaUo4k.js.map +1 -0
  62. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/collection-navigation-CfTZUJrL.js +2 -0
  63. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/collection-navigation-CfTZUJrL.js.map +1 -0
  64. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/common-Dfj6NCjU.js +2 -0
  65. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/common-Dfj6NCjU.js.map +1 -0
  66. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{core-Bmzg6DLB.js → core-DFCT8LQq.js} +2 -2
  67. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{core-Bmzg6DLB.js.map → core-DFCT8LQq.js.map} +1 -1
  68. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-MnVr6QxG.js → entry.generated-B-PuCg-D.js} +2 -2
  69. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-MnVr6QxG.js.map → entry.generated-B-PuCg-D.js.map} +1 -1
  70. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-B8aXTJK6.js +2 -0
  71. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-B8aXTJK6.js.map +1 -0
  72. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-B956G6Cz.js +2 -0
  73. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-B956G6Cz.js.map +1 -0
  74. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BTe_Q79G.js +2 -0
  75. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BTe_Q79G.js.map +1 -0
  76. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DYBALnuF.js → entry.generated-B_e0djHK.js} +2 -2
  77. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DYBALnuF.js.map → entry.generated-B_e0djHK.js.map} +1 -1
  78. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CSgqcIg6.js +2 -0
  79. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CSgqcIg6.js.map +1 -0
  80. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DIPrCNjK.js → entry.generated-Cekl4pYo.js} +2 -2
  81. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DIPrCNjK.js.map → entry.generated-Cekl4pYo.js.map} +1 -1
  82. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry2.generated-Dgrr543E.js → entry.generated-Cj1CmH13.js} +2 -2
  83. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Cj1CmH13.js.map +1 -0
  84. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DVQC6yVd.js +2 -0
  85. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DVQC6yVd.js.map +1 -0
  86. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DnQY2zaY.js +2 -0
  87. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DnQY2zaY.js.map +1 -0
  88. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-B7ROYMLZ.js → entry.generated-DpIBgUZ3.js} +2 -2
  89. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-B7ROYMLZ.js.map → entry.generated-DpIBgUZ3.js.map} +1 -1
  90. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-RnJw-Qs4.js +2 -0
  91. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-RnJw-Qs4.js.map +1 -0
  92. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BO0EDjBb.js → entry.generated-XfwHguip.js} +2 -2
  93. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BO0EDjBb.js.map → entry.generated-XfwHguip.js.map} +1 -1
  94. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BC8JUf6f.js → entry.generated-f6HGqvQY.js} +2 -2
  95. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BC8JUf6f.js.map → entry.generated-f6HGqvQY.js.map} +1 -1
  96. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-C8pt5QeK.js → entry.generated-ifMDOEy_.js} +2 -2
  97. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-ifMDOEy_.js.map +1 -0
  98. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-pap9Z0I-.js +2 -0
  99. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BPZeXRC3.js.map → entry.generated-pap9Z0I-.js.map} +1 -1
  100. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-CB866C3K.js +2 -0
  101. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-CB866C3K.js.map +1 -0
  102. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-QspMEPHx.js → entry2.generated-QspMEPHx.js} +1 -1
  103. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-QspMEPHx.js.map +1 -0
  104. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/motion-D2EM1olE.js +3 -0
  105. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/motion-D2EM1olE.js.map +1 -0
  106. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/styles-CpTCQjY5.js +2 -0
  107. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/styles-CpTCQjY5.js.map +1 -0
  108. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-CV0dnUFY.js +4 -0
  109. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-CV0dnUFY.js.map +1 -0
  110. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/accordion.js +1 -1
  111. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/checkbox.js +1 -1
  112. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/data-grid.js +1 -1
  113. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/date-picker.js +1 -1
  114. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/dropdown.js +1 -1
  115. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/field.js +1 -1
  116. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index.js +1 -1
  117. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index.js.map +1 -1
  118. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/input.js +1 -1
  119. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/modal.js +1 -1
  120. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/panels.js +1 -1
  121. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/radio.js +1 -1
  122. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/select.js +1 -1
  123. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/sidebar.js +1 -1
  124. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/slider.js +1 -1
  125. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/switch.js +1 -1
  126. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/table.js +1 -1
  127. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tabs.js +1 -1
  128. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/toast.js +1 -1
  129. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tooltip.js +1 -1
  130. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/core.js +1 -1
  131. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index.js +1 -1
  132. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index.js.map +1 -1
  133. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/logical-entry-manifest.json +137 -130
  134. package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.js +9 -9
  135. package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.min.js +9 -9
  136. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-motion-C_8mc71v.js +0 -2
  137. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-motion-C_8mc71v.js.map +0 -1
  138. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-Ds2wQEQq.js +0 -3
  139. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-Ds2wQEQq.js.map +0 -1
  140. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/collection-navigation-CtNDGKcQ.js +0 -2
  141. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/collection-navigation-CtNDGKcQ.js.map +0 -1
  142. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/common-BOd_thC-.js +0 -2
  143. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/common-BOd_thC-.js.map +0 -1
  144. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-51hjJ_lu.js +0 -2
  145. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-51hjJ_lu.js.map +0 -1
  146. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BLloDlP5.js +0 -2
  147. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BLloDlP5.js.map +0 -1
  148. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BPZeXRC3.js +0 -2
  149. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BoOsILKj.js +0 -2
  150. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BoOsILKj.js.map +0 -1
  151. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-C1JdfrdC.js +0 -2
  152. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-C1JdfrdC.js.map +0 -1
  153. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-C8pt5QeK.js.map +0 -1
  154. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-D5gXHQl_.js +0 -2
  155. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-D5gXHQl_.js.map +0 -1
  156. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DJMDdEtO.js +0 -2
  157. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DJMDdEtO.js.map +0 -1
  158. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DfuZKFMG.js +0 -2
  159. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DfuZKFMG.js.map +0 -1
  160. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DjMJNzy1.js +0 -2
  161. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DjMJNzy1.js.map +0 -1
  162. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-QspMEPHx.js.map +0 -1
  163. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-Dgrr543E.js.map +0 -1
  164. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/motion-BhADgUVd.js +0 -3
  165. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/motion-BhADgUVd.js.map +0 -1
  166. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-egQWc4ws.js +0 -4
  167. package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-egQWc4ws.js.map +0 -1
@@ -10,7 +10,7 @@ declare const menuSchema: {
10
10
  keepOpen: import("../../runtime/codecs").BoolCodec;
11
11
  loop: import("../../runtime/codecs").BoolCodec;
12
12
  surface: import("../../runtime/codecs").OneOfCodec<"inherit" | "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "+1" | "+2" | "+3" | "+4" | "+5" | "+6" | "+7" | "+8">;
13
- elevation: import("../../runtime/codecs").OneOfCodec<"match" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "none">;
13
+ elevation: import("../../runtime/codecs").OneOfCodec<"match" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "none" | "8">;
14
14
  class: import("../../runtime/codecs").StringCodec;
15
15
  };
16
16
  declare const menuItemSchema: {
@@ -27,14 +27,21 @@ declare const menuItemSchema: {
27
27
  suffix: import("../../runtime/codecs").StringCodec;
28
28
  class: import("../../runtime/codecs").StringCodec;
29
29
  };
30
+ declare const menuSubmenuSchema: {
31
+ heading: import("../../runtime/codecs").StringCodec;
32
+ disabled: import("../../runtime/codecs").BoolCodec;
33
+ class: import("../../runtime/codecs").StringCodec;
34
+ panelClass: import("../../runtime/codecs").StringCodec;
35
+ };
30
36
  type MenuProps = SchemaToProps<typeof menuSchema>;
31
37
  type MenuSurface = SurfaceReference;
32
38
  type MenuElevation = ElevationReference;
33
39
  type MenuItemProps = SchemaToProps<typeof menuItemSchema>;
40
+ type MenuSubmenuProps = SchemaToProps<typeof menuSubmenuSchema>;
34
41
  type MenuItemAs = typeof MENU_ITEM_AS_VALUES[number];
35
42
  type MenuItemType = CommonButtonType;
36
43
  type MenuItemVariant = typeof MENU_ITEM_VARIANTS[number];
37
44
  type MenuItemColor = typeof MENU_ITEM_COLORS[number];
38
45
  type MenuIconVariant = IconVariant;
39
- export { MENU_ICON_VARIANTS, MENU_ITEM_AS_VALUES, MENU_ITEM_COLORS, MENU_ITEM_VARIANTS, MENU_ELEVATIONS, MENU_SURFACES, BUTTON_TYPES, menuItemSchema, menuSchema, };
40
- export type { MenuElevation, MenuIconVariant, MenuItemAs, MenuItemColor, MenuItemProps, MenuItemType, MenuItemVariant, MenuProps, MenuSurface, };
46
+ export { MENU_ICON_VARIANTS, MENU_ITEM_AS_VALUES, MENU_ITEM_COLORS, MENU_ITEM_VARIANTS, MENU_ELEVATIONS, MENU_SURFACES, BUTTON_TYPES, menuItemSchema, menuSubmenuSchema, menuSchema, };
47
+ export type { MenuElevation, MenuIconVariant, MenuItemAs, MenuItemColor, MenuItemProps, MenuItemType, MenuItemVariant, MenuProps, MenuSubmenuProps, MenuSurface, };
@@ -19,7 +19,7 @@ declare const modalSchema: {
19
19
  side: import("../../runtime/codecs").OneOfCodec<"bottom" | "left" | "right" | "top">;
20
20
  size: import("../../runtime/codecs").OneOfCodec<"sm" | "md" | "lg" | "full" | "xl">;
21
21
  surface: import("../../runtime/codecs").OneOfCodec<"inherit" | "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "+1" | "+2" | "+3" | "+4" | "+5" | "+6" | "+7" | "+8">;
22
- elevation: import("../../runtime/codecs").OneOfCodec<"match" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "none">;
22
+ elevation: import("../../runtime/codecs").OneOfCodec<"match" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "none" | "8">;
23
23
  dismissible: import("../../runtime/codecs").BoolCodec;
24
24
  closable: import("../../runtime/codecs").BoolCodec;
25
25
  disabled: import("../../runtime/codecs").BoolCodec;
@@ -1,10 +1,10 @@
1
1
  import { type SchemaToProps } from '../../runtime';
2
2
  import { type ControlSize, type IndicatorPlacement, type Orientation } from '../common';
3
3
  declare const RADIO_GROUP_ORIENTATIONS: readonly ["vertical", "horizontal"];
4
- declare const RADIO_GROUP_VARIANTS: readonly ["default", "cards", "pills"];
4
+ declare const RADIO_GROUP_VARIANTS: readonly ["default", "cards", "pills", "menu"];
5
5
  declare const RADIO_PLACEMENTS: readonly ["leading", "trailing", "center", "top-leading", "top-trailing", "bottom-leading", "bottom-trailing"];
6
6
  declare const RADIO_SIZES: readonly ["xs", "sm", "md", "lg", "xlg"];
7
- declare const RADIO_VARIANTS: readonly ["default", "cards", "pills"];
7
+ declare const RADIO_VARIANTS: readonly ["default", "cards", "pills", "menu"];
8
8
  declare const RADIO_COLORS: readonly ["neutral", "accent"];
9
9
  declare const RADIO_INTERACTIONS: readonly ["tonal", "edge", "combined"];
10
10
  type RadioGroupOrientation = Orientation;
@@ -18,7 +18,7 @@ declare const radioGroupSchema: {
18
18
  name: import("../../runtime/codecs").StringCodec;
19
19
  value: import("../..").CodecFn<string>;
20
20
  orientation: import("../../runtime/codecs").OneOfCodec<"vertical" | "horizontal">;
21
- variant: import("../../runtime/codecs").OneOfCodec<"default" | "cards" | "pills">;
21
+ variant: import("../../runtime/codecs").OneOfCodec<"menu" | "default" | "cards" | "pills">;
22
22
  color: import("../../runtime/codecs").OneOfCodec<"neutral" | "accent">;
23
23
  interaction: import("../../runtime/codecs").OneOfCodec<"tonal" | "edge" | "combined">;
24
24
  indicator: import("../../runtime/codecs").BoolCodec;
@@ -41,7 +41,7 @@ declare const radioSchema: {
41
41
  indicator: import("../../runtime/codecs").BoolCodec;
42
42
  placement: import("../../runtime/codecs").OneOfCodec<"center" | "leading" | "trailing" | "top-leading" | "top-trailing" | "bottom-leading" | "bottom-trailing">;
43
43
  icon: import("../../runtime/codecs").StringCodec;
44
- variant: import("../../runtime/codecs").OneOfCodec<"default" | "cards" | "pills">;
44
+ variant: import("../../runtime/codecs").OneOfCodec<"menu" | "default" | "cards" | "pills">;
45
45
  color: import("../../runtime/codecs").OneOfCodec<"neutral" | "accent">;
46
46
  interaction: import("../../runtime/codecs").OneOfCodec<"tonal" | "edge" | "combined">;
47
47
  size: import("../../runtime/codecs").OneOfCodec<"xs" | "sm" | "md" | "lg" | "xlg">;
@@ -11,7 +11,7 @@ declare const sectionSchema: {
11
11
  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">;
12
12
  surface: import("../../runtime/codecs").OneOfCodec<"inherit" | "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "+1" | "+2" | "+3" | "+4" | "+5" | "+6" | "+7" | "+8">;
13
13
  radius: import("../../runtime/codecs").OneOfCodec<"none" | "xs" | "sm" | "md" | "lg" | "full">;
14
- elevation: import("../../runtime/codecs").OneOfCodec<"match" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "none">;
14
+ elevation: import("../../runtime/codecs").OneOfCodec<"match" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "none" | "8">;
15
15
  width: import("../../runtime/codecs").OneOfCodec<"auto" | "xs" | "sm" | "md" | "lg" | "full" | "xl" | "prose">;
16
16
  height: import("../../runtime/codecs").OneOfCodec<"auto" | "xs" | "sm" | "md" | "lg" | "full" | "xl">;
17
17
  class: import("../../runtime/codecs").StringCodec;
@@ -2,7 +2,7 @@ import { type SchemaToProps } from '../../runtime';
2
2
  import { type Alignment, type ComponentRadius, type ControlSize, type ControlVariant, type ElevationReference, type IconVariant, type Position, type SurfaceReference } from '../common';
3
3
  import { BADGE_COLORS, BADGE_VARIANTS, type BadgeColor, type BadgeVariant } from '../badge/contract';
4
4
  declare const SELECT_MODES: readonly ["listbox", "combobox", "pillbox", "native"];
5
- declare const SELECT_VARIANTS: readonly ["outline", "filled"];
5
+ declare const SELECT_VARIANTS: readonly ["outline", "filled", "plain"];
6
6
  declare const SELECT_SIZES: readonly ["xs", "sm", "md", "lg", "xlg"];
7
7
  declare const SELECT_RADII: readonly ["none", "xs", "sm", "md", "lg", "full"];
8
8
  declare const SELECT_SIDES: readonly ["bottom", "top", "left", "right"];
@@ -48,7 +48,7 @@ declare const selectSchema: {
48
48
  clearable: import("../../runtime/codecs").BoolCodec;
49
49
  clear: import("../../runtime/codecs").OneOfCodec<"close" | "stay">;
50
50
  suffix: import("../../runtime/codecs").StringCodec;
51
- mark: import("../../runtime/codecs").OneOfCodec<"none" | "check" | "checkbox">;
51
+ mark: import("../../runtime/codecs").OneOfCodec<"none" | "checkbox" | "check">;
52
52
  open: import("../../runtime/codecs").BoolCodec;
53
53
  disabled: import("../../runtime/codecs").BoolCodec;
54
54
  readonly: import("../../runtime/codecs").BoolCodec;
@@ -58,10 +58,10 @@ declare const selectSchema: {
58
58
  loop: import("../../runtime/codecs").BoolCodec;
59
59
  path: import("../../runtime/codecs").StringCodec;
60
60
  size: import("../../runtime/codecs").OneOfCodec<"xs" | "sm" | "md" | "lg" | "xlg">;
61
- variant: import("../../runtime/codecs").OneOfCodec<"outline" | "filled">;
61
+ variant: import("../../runtime/codecs").OneOfCodec<"outline" | "filled" | "plain">;
62
62
  radius: import("../../runtime/codecs").OneOfCodec<"none" | "xs" | "sm" | "md" | "lg" | "full">;
63
63
  surface: import("../../runtime/codecs").OneOfCodec<"inherit" | "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "+1" | "+2" | "+3" | "+4" | "+5" | "+6" | "+7" | "+8">;
64
- elevation: import("../../runtime/codecs").OneOfCodec<"match" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "none">;
64
+ elevation: import("../../runtime/codecs").OneOfCodec<"match" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "none" | "8">;
65
65
  side: import("../../runtime/codecs").OneOfCodec<"bottom" | "left" | "right" | "top">;
66
66
  align: import("../../runtime/codecs").OneOfCodec<"end" | "center" | "start">;
67
67
  offset: import("../../runtime/codecs").NumberCodec;
@@ -85,7 +85,7 @@ declare const selectHooks: readonly [{
85
85
  clearable: import("../../runtime/codecs").BoolCodec;
86
86
  clear: import("../../runtime/codecs").OneOfCodec<"close" | "stay">;
87
87
  suffix: import("../../runtime/codecs").StringCodec;
88
- mark: import("../../runtime/codecs").OneOfCodec<"none" | "check" | "checkbox">;
88
+ mark: import("../../runtime/codecs").OneOfCodec<"none" | "checkbox" | "check">;
89
89
  open: import("../../runtime/codecs").BoolCodec;
90
90
  disabled: import("../../runtime/codecs").BoolCodec;
91
91
  readonly: import("../../runtime/codecs").BoolCodec;
@@ -95,10 +95,10 @@ declare const selectHooks: readonly [{
95
95
  loop: import("../../runtime/codecs").BoolCodec;
96
96
  path: import("../../runtime/codecs").StringCodec;
97
97
  size: import("../../runtime/codecs").OneOfCodec<"xs" | "sm" | "md" | "lg" | "xlg">;
98
- variant: import("../../runtime/codecs").OneOfCodec<"outline" | "filled">;
98
+ variant: import("../../runtime/codecs").OneOfCodec<"outline" | "filled" | "plain">;
99
99
  radius: import("../../runtime/codecs").OneOfCodec<"none" | "xs" | "sm" | "md" | "lg" | "full">;
100
100
  surface: import("../../runtime/codecs").OneOfCodec<"inherit" | "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "+1" | "+2" | "+3" | "+4" | "+5" | "+6" | "+7" | "+8">;
101
- elevation: import("../../runtime/codecs").OneOfCodec<"match" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "none">;
101
+ elevation: import("../../runtime/codecs").OneOfCodec<"match" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "none" | "8">;
102
102
  side: import("../../runtime/codecs").OneOfCodec<"bottom" | "left" | "right" | "top">;
103
103
  align: import("../../runtime/codecs").OneOfCodec<"end" | "center" | "start">;
104
104
  offset: import("../../runtime/codecs").NumberCodec;
@@ -162,7 +162,7 @@ declare const selectHooks: readonly [{
162
162
  clearable: import("../../runtime/codecs").BoolCodec;
163
163
  clear: import("../../runtime/codecs").OneOfCodec<"close" | "stay">;
164
164
  suffix: import("../../runtime/codecs").StringCodec;
165
- mark: import("../../runtime/codecs").OneOfCodec<"none" | "check" | "checkbox">;
165
+ mark: import("../../runtime/codecs").OneOfCodec<"none" | "checkbox" | "check">;
166
166
  open: import("../../runtime/codecs").BoolCodec;
167
167
  disabled: import("../../runtime/codecs").BoolCodec;
168
168
  readonly: import("../../runtime/codecs").BoolCodec;
@@ -172,10 +172,10 @@ declare const selectHooks: readonly [{
172
172
  loop: import("../../runtime/codecs").BoolCodec;
173
173
  path: import("../../runtime/codecs").StringCodec;
174
174
  size: import("../../runtime/codecs").OneOfCodec<"xs" | "sm" | "md" | "lg" | "xlg">;
175
- variant: import("../../runtime/codecs").OneOfCodec<"outline" | "filled">;
175
+ variant: import("../../runtime/codecs").OneOfCodec<"outline" | "filled" | "plain">;
176
176
  radius: import("../../runtime/codecs").OneOfCodec<"none" | "xs" | "sm" | "md" | "lg" | "full">;
177
177
  surface: import("../../runtime/codecs").OneOfCodec<"inherit" | "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "+1" | "+2" | "+3" | "+4" | "+5" | "+6" | "+7" | "+8">;
178
- elevation: import("../../runtime/codecs").OneOfCodec<"match" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "none">;
178
+ elevation: import("../../runtime/codecs").OneOfCodec<"match" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "none" | "8">;
179
179
  side: import("../../runtime/codecs").OneOfCodec<"bottom" | "left" | "right" | "top">;
180
180
  align: import("../../runtime/codecs").OneOfCodec<"end" | "center" | "start">;
181
181
  offset: import("../../runtime/codecs").NumberCodec;
@@ -14,8 +14,8 @@ declare const sidebarSchema: {
14
14
  placement: import("../../runtime/codecs").OneOfCodec<"top" | "side">;
15
15
  side: import("../../runtime/codecs").OneOfCodec<"left" | "right">;
16
16
  surface: import("../../runtime/codecs").OneOfCodec<"inherit" | "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "+1" | "+2" | "+3" | "+4" | "+5" | "+6" | "+7" | "+8">;
17
- elevation: import("../../runtime/codecs").OneOfCodec<"match" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "none">;
18
- drawerElevation: import("../../runtime/codecs").OneOfCodec<"match" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "none">;
17
+ elevation: import("../../runtime/codecs").OneOfCodec<"match" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "none" | "8">;
18
+ drawerElevation: import("../../runtime/codecs").OneOfCodec<"match" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "none" | "8">;
19
19
  divider: import("../../runtime/codecs").BoolCodec;
20
20
  sticky: import("../../runtime/codecs").BoolCodec;
21
21
  collapse: import("../../runtime/codecs").OneOfCodec<"none" | "mobile" | "both" | "desktop">;
@@ -10,11 +10,11 @@ declare const stackSchema: {
10
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
11
  surface: import("../../runtime/codecs").OneOfCodec<"inherit" | "0" | "1" | "2" | "3" | "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
- elevation: import("../../runtime/codecs").OneOfCodec<"match" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "none">;
13
+ elevation: import("../../runtime/codecs").OneOfCodec<"match" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "none" | "8">;
14
14
  width: import("../../runtime/codecs").OneOfCodec<"auto" | "xs" | "sm" | "md" | "lg" | "full" | "xl" | "prose">;
15
15
  height: import("../../runtime/codecs").OneOfCodec<"auto" | "xs" | "sm" | "md" | "lg" | "full" | "xl">;
16
16
  class: import("../../runtime/codecs").StringCodec;
17
- align: import("../../runtime/codecs").OneOfCodec<"end" | "center" | "start" | "baseline" | "stretch">;
17
+ align: import("../../runtime/codecs").OneOfCodec<"end" | "center" | "start" | "stretch" | "baseline">;
18
18
  justify: import("../../runtime/codecs").OneOfCodec<"end" | "center" | "start" | "between">;
19
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
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">;
@@ -6,7 +6,7 @@ declare const textareaSchema: {
6
6
  value: import("../../runtime/codecs").StringCodec;
7
7
  placeholder: import("../../runtime/codecs").StringCodec;
8
8
  size: import("../../runtime/codecs").OneOfCodec<"xs" | "sm" | "md" | "lg" | "xlg">;
9
- variant: import("../../runtime/codecs").OneOfCodec<"outline" | "filled">;
9
+ variant: import("../../runtime/codecs").OneOfCodec<"outline" | "filled" | "plain">;
10
10
  radius: import("../../runtime/codecs").OneOfCodec<"none" | "xs" | "sm" | "md" | "lg" | "full">;
11
11
  rows: import("../../runtime/codecs").NumberCodec;
12
12
  resize: import("../../runtime/codecs").OneOfCodec<"none" | "vertical" | "horizontal" | "both">;
@@ -11,7 +11,7 @@ declare const tooltipSchema: {
11
11
  color: import("../../runtime/codecs").OneOfCodec<"neutral" | "accent" | "danger" | "success" | "warning">;
12
12
  variant: import("../../runtime/codecs").OneOfCodec<"solid" | "soft" | "surface">;
13
13
  surface: import("../../runtime/codecs").OneOfCodec<"inherit" | "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "+1" | "+2" | "+3" | "+4" | "+5" | "+6" | "+7" | "+8">;
14
- elevation: import("../../runtime/codecs").OneOfCodec<"match" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "none">;
14
+ elevation: import("../../runtime/codecs").OneOfCodec<"match" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "none" | "8">;
15
15
  disabled: import("../../runtime/codecs").BoolCodec;
16
16
  class: import("../../runtime/codecs").StringCodec;
17
17
  };
@@ -25,7 +25,7 @@ declare const tooltipDirectiveSchema: {
25
25
  color: import("../..").CodecFn<"neutral" | "accent" | "danger" | "success" | "warning">;
26
26
  variant: import("../..").CodecFn<"solid" | "soft" | "surface">;
27
27
  surface: import("../..").CodecFn<"inherit" | "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "+1" | "+2" | "+3" | "+4" | "+5" | "+6" | "+7" | "+8">;
28
- elevation: import("../..").CodecFn<"match" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "none">;
28
+ elevation: import("../..").CodecFn<"match" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "none" | "8">;
29
29
  disabled: import("../..").CodecFn<boolean>;
30
30
  };
31
31
  type TooltipProps = SchemaToProps<typeof tooltipSchema>;
@@ -0,0 +1,4 @@
1
+ import type Alpine from 'alpinejs';
2
+ declare const BOUNDS_ATTR = "data-ui-bounds";
3
+ declare const registerBoundsDirective: (Alpine: Alpine.Alpine) => void;
4
+ export { BOUNDS_ATTR, registerBoundsDirective };
@@ -1,3 +1,4 @@
1
+ export { registerBoundsDirective } from './bounds';
1
2
  export { registerLayoutDirective } from './layout';
2
3
  export { registerRequestDirective } from './request';
3
4
  export { registerTransitionDirective } from './transition';
@@ -0,0 +1,20 @@
1
+ import type { MotionHandle } from './animate';
2
+ import { type MotionRoleName } from './recipe';
3
+ type BoundsProperty = 'height' | 'width' | 'maxHeight' | 'maxWidth';
4
+ type BoundsMotionOptions = Readonly<{
5
+ properties?: readonly BoundsProperty[];
6
+ role?: MotionRoleName;
7
+ }>;
8
+ type BoundsUpdateOptions = Readonly<{
9
+ animate?: boolean;
10
+ /** Stable identity for an animated destination, used to coalesce duplicate syncs. */
11
+ key?: string;
12
+ }>;
13
+ type BoundsMotion = Readonly<{
14
+ update(mutate?: () => void, options?: BoundsUpdateOptions): MotionHandle | null;
15
+ refresh(options?: BoundsUpdateOptions): MotionHandle | null;
16
+ destroy(): void;
17
+ }>;
18
+ declare const createBoundsMotion: (element: HTMLElement, options?: BoundsMotionOptions) => BoundsMotion;
19
+ export { createBoundsMotion };
20
+ export type { BoundsMotion, BoundsMotionOptions, BoundsProperty, BoundsUpdateOptions };
@@ -16,19 +16,72 @@ declare const motion: ((subject: import("./subject").MotionSubject) => import(".
16
16
  in: import("./recipe").MotionKeyframePreset;
17
17
  out: import("./recipe").MotionKeyframePreset;
18
18
  }>;
19
+ sheet: Readonly<{
20
+ left: Readonly<{
21
+ in: import("./recipe").MotionKeyframePreset;
22
+ out: import("./recipe").MotionKeyframePreset;
23
+ }>;
24
+ right: Readonly<{
25
+ in: import("./recipe").MotionKeyframePreset;
26
+ out: import("./recipe").MotionKeyframePreset;
27
+ }>;
28
+ top: Readonly<{
29
+ in: import("./recipe").MotionKeyframePreset;
30
+ out: import("./recipe").MotionKeyframePreset;
31
+ }>;
32
+ bottom: Readonly<{
33
+ in: import("./recipe").MotionKeyframePreset;
34
+ out: import("./recipe").MotionKeyframePreset;
35
+ }>;
36
+ }>;
37
+ }>;
38
+ readonly roles: Readonly<{
39
+ feedback: Readonly<{
40
+ duration: 0.08;
41
+ ease: readonly [0.23, 1, 0.32, 1];
42
+ }>;
43
+ presence: Readonly<{
44
+ duration: 0.16;
45
+ ease: readonly [0.23, 1, 0.32, 1];
46
+ }>;
47
+ presenceEmphasized: Readonly<{
48
+ duration: 0.24;
49
+ ease: readonly [0.23, 1, 0.32, 1];
50
+ }>;
51
+ layout: Readonly<{
52
+ duration: 0.16;
53
+ ease: readonly [0.77, 0, 0.175, 1];
54
+ }>;
55
+ layoutQuick: Readonly<{
56
+ duration: 0.08;
57
+ ease: readonly [0.77, 0, 0.175, 1];
58
+ }>;
59
+ layoutSpring: Readonly<{
60
+ visualDuration: 0.16;
61
+ bounce: 0;
62
+ }>;
63
+ resize: Readonly<{
64
+ visualDuration: 0.16;
65
+ bounce: 0;
66
+ }>;
67
+ gestureExit: Readonly<{
68
+ duration: 0.16;
69
+ ease: readonly [0.23, 1, 0.32, 1];
70
+ }>;
71
+ gestureSettle: Readonly<{
72
+ visualDuration: 0.24;
73
+ bounce: 0;
74
+ }>;
19
75
  }>;
20
76
  readonly speeds: Readonly<{
21
77
  fast: Readonly<{
22
78
  duration: 0.08;
23
- bounce: 0;
24
79
  }>;
25
80
  moderate: Readonly<{
26
81
  duration: 0.16;
27
- bounce: 0;
28
82
  }>;
29
83
  slow: Readonly<{
30
84
  duration: 0.24;
31
- bounce: 0;
32
85
  }>;
33
86
  }>;
34
87
  readonly easings: {
@@ -41,10 +94,11 @@ declare const motion: ((subject: import("./subject").MotionSubject) => import(".
41
94
  };
42
95
  export { motion };
43
96
  export { type MotionHandle } from './animate';
97
+ export { createBoundsMotion, type BoundsMotion, type BoundsMotionOptions, type BoundsProperty, type BoundsUpdateOptions, } from './bounds';
44
98
  export { createController, type Controller, type ControllerDefinitions, type ControllerOptions, type ControllerScalar, type ControllerState, type ControllerValueDefinition, type ControllerValues, type StyleProjection, } from './controller';
45
99
  export { prefersReducedMotion, reducedMotionQuery, shouldReduceMotion, withReducedMotion, type MotionPreference, } from './reduced-motion';
46
100
  export { createMotionPlan, MotionPlan, type MotionDefaults, type MotionPlanOptions, type MotionSegment, type MotionStage, } from './plan';
47
- export { presets, easings, speeds, type DurationSpeed, type MotionKeyframePreset, type MotionKeyframes, type MotionSpeed, type MotionSpeedName, type MotionTransition, type PhysicsSpeed, } from './recipe';
101
+ export { presets, isSpringRole, resolveMiniMotionRole, resolveMotionRole, roles, easings, speeds, type DurationSpeed, type MotionKeyframePreset, type MotionKeyframes, type MotionRoleName, type MotionSpeed, type MotionSpeedName, type MotionTransition, type PhysicsSpeed, } from './recipe';
48
102
  export { resize, type ResizeDestination, type ResizeOptions } from './resize';
49
103
  export { type MotionSubject, type MotionTransitionSubject } from './subject';
50
104
  export type { MotionTarget, ViewScope } from './targets';
@@ -1,6 +1,6 @@
1
1
  import { type DOMKeyframesDefinition } from 'motion';
2
2
  import { type MotionHandle } from './animate';
3
- import { type MotionSpeed, type MotionTransition } from './recipe';
3
+ import { type MotionRoleName, type MotionSpeed, type MotionTransition } from './recipe';
4
4
  import { type ResizeOptions } from './resize';
5
5
  import { type MotionSubject } from './subject';
6
6
  type MotionTarget = Element | string;
@@ -9,21 +9,26 @@ type AnimateSegment = Readonly<{
9
9
  target?: MotionTarget;
10
10
  keyframes: Readonly<DOMKeyframesDefinition>;
11
11
  speed?: MotionSpeed;
12
+ role?: MotionRoleName;
12
13
  transition?: MotionTransition;
13
14
  }>;
14
15
  type ResizeSegment = Readonly<{
15
16
  kind: 'resize';
16
17
  options: ResizeOptions;
17
18
  speed?: MotionSpeed;
19
+ role?: MotionRoleName;
20
+ transition?: MotionTransition;
18
21
  }>;
19
22
  type MotionSegment = AnimateSegment | ResizeSegment;
20
23
  type MotionStage = readonly MotionSegment[];
21
24
  type MotionDefaults = Readonly<{
22
25
  speed?: MotionSpeed;
26
+ role?: MotionRoleName;
23
27
  transition?: MotionTransition;
24
28
  }>;
25
29
  type MotionPlanOptions = Readonly<{
26
30
  speed?: MotionSpeed;
31
+ role?: MotionRoleName;
27
32
  transition?: MotionTransition;
28
33
  }>;
29
34
  declare class MotionPlan {
@@ -37,6 +42,7 @@ declare class MotionPlan {
37
42
  then(target: MotionTarget, keyframes: Readonly<DOMKeyframesDefinition>): MotionPlan;
38
43
  resize(options: ResizeOptions): MotionPlan;
39
44
  speed(speed: MotionSpeed): MotionPlan;
45
+ role(role: MotionRoleName): MotionPlan;
40
46
  transition(transition: MotionTransition): MotionPlan;
41
47
  defaults(options: MotionPlanOptions): MotionPlan;
42
48
  play(): MotionHandle;
@@ -1,8 +1,8 @@
1
1
  import type { AnimationOptions, DOMKeyframesDefinition } from 'motion';
2
2
  type MotionSpeedName = 'fast' | 'moderate' | 'slow';
3
+ type MotionRoleName = 'feedback' | 'presence' | 'presenceEmphasized' | 'layout' | 'layoutQuick' | 'layoutSpring' | 'resize' | 'gestureExit' | 'gestureSettle';
3
4
  type DurationSpeed = Readonly<{
4
5
  duration: number;
5
- bounce?: number;
6
6
  }>;
7
7
  type PhysicsSpeed = Readonly<{
8
8
  stiffness: number;
@@ -16,21 +16,60 @@ type MotionTransition = Readonly<AnimationOptions>;
16
16
  declare const speeds: Readonly<{
17
17
  fast: Readonly<{
18
18
  duration: 0.08;
19
- bounce: 0;
20
19
  }>;
21
20
  moderate: Readonly<{
22
21
  duration: 0.16;
23
- bounce: 0;
24
22
  }>;
25
23
  slow: Readonly<{
26
24
  duration: 0.24;
27
- bounce: 0;
28
25
  }>;
29
26
  }>;
30
27
  declare const easings: {
31
28
  readonly out: readonly [0.23, 1, 0.32, 1];
32
29
  readonly inOut: readonly [0.77, 0, 0.175, 1];
33
30
  };
31
+ declare const roles: Readonly<{
32
+ feedback: Readonly<{
33
+ duration: 0.08;
34
+ ease: readonly [0.23, 1, 0.32, 1];
35
+ }>;
36
+ presence: Readonly<{
37
+ duration: 0.16;
38
+ ease: readonly [0.23, 1, 0.32, 1];
39
+ }>;
40
+ presenceEmphasized: Readonly<{
41
+ duration: 0.24;
42
+ ease: readonly [0.23, 1, 0.32, 1];
43
+ }>;
44
+ layout: Readonly<{
45
+ duration: 0.16;
46
+ ease: readonly [0.77, 0, 0.175, 1];
47
+ }>;
48
+ layoutQuick: Readonly<{
49
+ duration: 0.08;
50
+ ease: readonly [0.77, 0, 0.175, 1];
51
+ }>;
52
+ layoutSpring: Readonly<{
53
+ visualDuration: 0.16;
54
+ bounce: 0;
55
+ }>;
56
+ resize: Readonly<{
57
+ visualDuration: 0.16;
58
+ bounce: 0;
59
+ }>;
60
+ gestureExit: Readonly<{
61
+ duration: 0.16;
62
+ ease: readonly [0.23, 1, 0.32, 1];
63
+ }>;
64
+ gestureSettle: Readonly<{
65
+ visualDuration: 0.24;
66
+ bounce: 0;
67
+ }>;
68
+ }>;
69
+ declare const resolveMotionRole: (target: Element, role: MotionRoleName) => MotionTransition;
70
+ declare const isSpringRole: (role: MotionRoleName, target?: Element) => boolean;
71
+ /** Resolve semantic timing for Motion's WAAPI-backed mini animator. */
72
+ declare const resolveMiniMotionRole: (target: Element, role: MotionRoleName) => MotionTransition;
34
73
  declare const presets: Readonly<{
35
74
  opacity: Readonly<{
36
75
  in: MotionKeyframePreset;
@@ -48,9 +87,27 @@ declare const presets: Readonly<{
48
87
  in: MotionKeyframePreset;
49
88
  out: MotionKeyframePreset;
50
89
  }>;
90
+ sheet: Readonly<{
91
+ left: Readonly<{
92
+ in: MotionKeyframePreset;
93
+ out: MotionKeyframePreset;
94
+ }>;
95
+ right: Readonly<{
96
+ in: MotionKeyframePreset;
97
+ out: MotionKeyframePreset;
98
+ }>;
99
+ top: Readonly<{
100
+ in: MotionKeyframePreset;
101
+ out: MotionKeyframePreset;
102
+ }>;
103
+ bottom: Readonly<{
104
+ in: MotionKeyframePreset;
105
+ out: MotionKeyframePreset;
106
+ }>;
107
+ }>;
51
108
  }>;
52
- declare const speedOptions: (speed?: MotionSpeed) => DurationSpeed | PhysicsSpeed;
109
+ declare const speedOptions: (speed?: MotionSpeed, target?: Element) => DurationSpeed | PhysicsSpeed;
53
110
  declare const finalKeyframe: <T>(keyframes: MotionKeyframes<T>) => T;
54
111
  declare const mutableKeyframes: <T>(keyframes: MotionKeyframes<T>) => T | T[];
55
- export { easings, finalKeyframe, mutableKeyframes, presets, speedOptions, speeds };
56
- export type { DurationSpeed, MotionKeyframePreset, MotionKeyframes, MotionSpeed, MotionSpeedName, MotionTransition, PhysicsSpeed, };
112
+ export { easings, finalKeyframe, isSpringRole, mutableKeyframes, presets, resolveMiniMotionRole, resolveMotionRole, roles, speedOptions, speeds, };
113
+ export type { DurationSpeed, MotionKeyframePreset, MotionKeyframes, MotionRoleName, MotionSpeed, MotionSpeedName, MotionTransition, PhysicsSpeed, };
@@ -1,14 +1,16 @@
1
1
  import { type MotionHandle } from './animate';
2
- import { type MotionKeyframes, type MotionSpeed } from './recipe';
2
+ import { type MotionRoleName, type MotionKeyframes, type MotionSpeed, type MotionTransition } from './recipe';
3
3
  import { type MotionSubject } from './subject';
4
4
  type ResizeDestination = 'content' | 'collapsed';
5
5
  type ResizeOptions = Readonly<{
6
6
  from: ResizeDestination;
7
7
  measure?: Element | string;
8
8
  opacity?: MotionKeyframes<number>;
9
+ role?: MotionRoleName;
9
10
  speed?: MotionSpeed;
10
11
  target?: Element | string;
11
12
  to: ResizeDestination;
13
+ transition?: MotionTransition;
12
14
  }>;
13
15
  declare const resize: (subject: MotionSubject, options: ResizeOptions) => MotionHandle;
14
16
  export { resize };
@@ -2,6 +2,7 @@ type CollectionRoot = HTMLElement | null;
2
2
  type CollectionNavigationOptions = {
3
3
  root: () => CollectionRoot;
4
4
  itemSelector: string;
5
+ ownsItem?: (el: HTMLElement) => boolean;
5
6
  activeAttribute?: string;
6
7
  isDisabled?: (el: HTMLElement) => boolean;
7
8
  loop?: boolean | (() => boolean);
@@ -28,6 +29,6 @@ type CollectionNavigation = {
28
29
  focusLast(): void;
29
30
  handleKeydown(options: CollectionKeydownOptions): boolean;
30
31
  };
31
- declare const createCollectionNavigation: ({ root: getRoot, itemSelector, activeAttribute, isDisabled, loop, }: CollectionNavigationOptions) => CollectionNavigation;
32
+ declare const createCollectionNavigation: ({ root: getRoot, itemSelector, ownsItem, activeAttribute, isDisabled, loop, }: CollectionNavigationOptions) => CollectionNavigation;
32
33
  export { createCollectionNavigation };
33
34
  export type { CollectionElementOptions, CollectionItemsOptions, CollectionKeydownOptions, CollectionNavigation, CollectionNavigationOptions, };
@@ -1,3 +1,4 @@
1
1
  declare const STABLE_KEY_ATTR = "data-ui-key";
2
+ declare const STABLE_KEY_SCOPE_ATTR = "data-ui-key-scope";
2
3
  declare const stableIdentity: (element: Element, explicit?: unknown) => string | null;
3
- export { STABLE_KEY_ATTR, stableIdentity };
4
+ export { STABLE_KEY_ATTR, STABLE_KEY_SCOPE_ATTR, stableIdentity };