@orioncactuscorp/ui 1.13.0 → 1.15.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 (158) hide show
  1. package/CHANGELOG.md +155 -0
  2. package/README.md +133 -36
  3. package/dist/components/BackgroundIconButton/BackgroundIconButton.css +1 -1
  4. package/dist/components/Button/Button.css +1 -1
  5. package/dist/components/CheckMark/CheckMark.js +19 -17
  6. package/dist/components/Checkbox/Checkbox.css +1 -1
  7. package/dist/components/Checkbox/Checkbox.js +38 -36
  8. package/dist/components/FloatingWindow/FloatingWindow.css +1 -0
  9. package/dist/components/FloatingWindow/FloatingWindow.js +693 -0
  10. package/dist/components/FloatingWindow/FloatingWindow.module.scss.js +17 -0
  11. package/dist/components/FloatingWindow/FloatingWindowManager.js +36 -0
  12. package/dist/components/FloatingWindow/contexts.js +25 -0
  13. package/dist/components/FloatingWindow/geometry.js +222 -0
  14. package/dist/components/FloatingWindow/stack.js +31 -0
  15. package/dist/components/FloatingWindow.d.ts +6 -0
  16. package/dist/components/FloatingWindow.js +18 -0
  17. package/dist/components/Interaction/Interaction.css +1 -1
  18. package/dist/components/Menu/Menu.css +1 -1
  19. package/dist/components/Menu/Menu.js +95 -87
  20. package/dist/components/Modal/Modal.css +1 -1
  21. package/dist/components/Modal/Modal.js +558 -723
  22. package/dist/components/Modal/Modal.module.scss.js +69 -60
  23. package/dist/components/Modal/initialFocus.js +11 -0
  24. package/dist/components/Modal/keyboardSession.js +104 -0
  25. package/dist/components/Modal/snapPoints.js +95 -82
  26. package/dist/components/Modal/useModalDrag.js +730 -762
  27. package/dist/components/Modal/useModalKeyboardAvoidance.js +159 -0
  28. package/dist/components/Modal/useModalViewportGeometry.js +36 -0
  29. package/dist/components/PositionSnap/PositionSnap.css +1 -0
  30. package/dist/components/PositionSnap/PositionSnap.js +330 -0
  31. package/dist/components/PositionSnap/PositionSnap.module.scss.js +9 -0
  32. package/dist/components/PositionSnap/contexts.js +12 -0
  33. package/dist/components/PositionSnap/geometry.js +75 -0
  34. package/dist/components/PositionSnap/gesture.js +7 -0
  35. package/dist/components/PositionSnap/policy.js +60 -0
  36. package/dist/components/PositionSnap.d.ts +6 -0
  37. package/dist/components/PositionSnap.js +7 -0
  38. package/dist/components/ProgressIndicator/ProgressIndicator.css +1 -0
  39. package/dist/components/ProgressIndicator/ProgressIndicator.js +45 -0
  40. package/dist/components/ProgressIndicator/ProgressIndicator.module.scss.js +13 -0
  41. package/dist/components/ProgressIndicator.d.ts +6 -0
  42. package/dist/components/ProgressIndicator.js +4 -0
  43. package/dist/components/Radio/Radio.css +1 -1
  44. package/dist/components/Radio/Radio.js +26 -24
  45. package/dist/components/Switch/Switch.css +1 -1
  46. package/dist/components/Switch/Switch.js +18 -16
  47. package/dist/components/Tabs/Tabs.css +1 -1
  48. package/dist/components/Tooltip/Tooltip.css +1 -1
  49. package/dist/components/Tooltip/Tooltip.js +59 -56
  50. package/dist/components/Tooltip/Tooltip.module.scss.js +6 -4
  51. package/dist/components/internal/ModalPresentation.js +361 -0
  52. package/dist/components/internal/OverlayPortalContext.js +20 -0
  53. package/dist/index.js +135 -112
  54. package/dist/styles.css +13 -10
  55. package/dist/ui/src/components/CheckMark/CheckMark.d.ts +1 -1
  56. package/dist/ui/src/components/CheckMark/CheckMark.d.ts.map +1 -1
  57. package/dist/ui/src/components/CheckMark/types.d.ts +2 -1
  58. package/dist/ui/src/components/CheckMark/types.d.ts.map +1 -1
  59. package/dist/ui/src/components/Checkbox/Checkbox.d.ts +1 -1
  60. package/dist/ui/src/components/Checkbox/Checkbox.d.ts.map +1 -1
  61. package/dist/ui/src/components/Checkbox/types.d.ts +2 -1
  62. package/dist/ui/src/components/Checkbox/types.d.ts.map +1 -1
  63. package/dist/ui/src/components/FloatingWindow/FloatingWindow.d.ts +32 -0
  64. package/dist/ui/src/components/FloatingWindow/FloatingWindow.d.ts.map +1 -0
  65. package/dist/ui/src/components/FloatingWindow/FloatingWindowManager.d.ts +4 -0
  66. package/dist/ui/src/components/FloatingWindow/FloatingWindowManager.d.ts.map +1 -0
  67. package/dist/ui/src/components/FloatingWindow/contexts.d.ts +36 -0
  68. package/dist/ui/src/components/FloatingWindow/contexts.d.ts.map +1 -0
  69. package/dist/ui/src/components/FloatingWindow/geometry.d.ts +31 -0
  70. package/dist/ui/src/components/FloatingWindow/geometry.d.ts.map +1 -0
  71. package/dist/ui/src/components/FloatingWindow/index.d.ts +4 -0
  72. package/dist/ui/src/components/FloatingWindow/index.d.ts.map +1 -0
  73. package/dist/ui/src/components/FloatingWindow/stack.d.ts +9 -0
  74. package/dist/ui/src/components/FloatingWindow/stack.d.ts.map +1 -0
  75. package/dist/ui/src/components/FloatingWindow/types.d.ts +121 -0
  76. package/dist/ui/src/components/FloatingWindow/types.d.ts.map +1 -0
  77. package/dist/ui/src/components/Interaction/index.d.ts +1 -1
  78. package/dist/ui/src/components/Interaction/index.d.ts.map +1 -1
  79. package/dist/ui/src/components/Interaction/types.d.ts +9 -1
  80. package/dist/ui/src/components/Interaction/types.d.ts.map +1 -1
  81. package/dist/ui/src/components/Menu/Menu.d.ts +2 -2
  82. package/dist/ui/src/components/Menu/Menu.d.ts.map +1 -1
  83. package/dist/ui/src/components/Menu/types.d.ts +9 -2
  84. package/dist/ui/src/components/Menu/types.d.ts.map +1 -1
  85. package/dist/ui/src/components/Modal/Modal.d.ts +2 -2
  86. package/dist/ui/src/components/Modal/Modal.d.ts.map +1 -1
  87. package/dist/ui/src/components/Modal/contexts.d.ts +3 -0
  88. package/dist/ui/src/components/Modal/contexts.d.ts.map +1 -1
  89. package/dist/ui/src/components/Modal/initialFocus.d.ts +18 -0
  90. package/dist/ui/src/components/Modal/initialFocus.d.ts.map +1 -0
  91. package/dist/ui/src/components/Modal/keyboardSession.d.ts +46 -0
  92. package/dist/ui/src/components/Modal/keyboardSession.d.ts.map +1 -0
  93. package/dist/ui/src/components/Modal/snapPoints.d.ts.map +1 -1
  94. package/dist/ui/src/components/Modal/types.d.ts +17 -2
  95. package/dist/ui/src/components/Modal/types.d.ts.map +1 -1
  96. package/dist/ui/src/components/Modal/useModalDrag.d.ts.map +1 -1
  97. package/dist/ui/src/components/Modal/useModalKeyboardAvoidance.d.ts +17 -0
  98. package/dist/ui/src/components/Modal/useModalKeyboardAvoidance.d.ts.map +1 -0
  99. package/dist/ui/src/components/Modal/useModalViewportGeometry.d.ts +9 -0
  100. package/dist/ui/src/components/Modal/useModalViewportGeometry.d.ts.map +1 -0
  101. package/dist/ui/src/components/PositionSnap/PositionSnap.d.ts +11 -0
  102. package/dist/ui/src/components/PositionSnap/PositionSnap.d.ts.map +1 -0
  103. package/dist/ui/src/components/PositionSnap/contexts.d.ts +17 -0
  104. package/dist/ui/src/components/PositionSnap/contexts.d.ts.map +1 -0
  105. package/dist/ui/src/components/PositionSnap/geometry.d.ts +31 -0
  106. package/dist/ui/src/components/PositionSnap/geometry.d.ts.map +1 -0
  107. package/dist/ui/src/components/PositionSnap/gesture.d.ts +2 -0
  108. package/dist/ui/src/components/PositionSnap/gesture.d.ts.map +1 -0
  109. package/dist/ui/src/components/PositionSnap/index.d.ts +3 -0
  110. package/dist/ui/src/components/PositionSnap/index.d.ts.map +1 -0
  111. package/dist/ui/src/components/PositionSnap/policy.d.ts +24 -0
  112. package/dist/ui/src/components/PositionSnap/policy.d.ts.map +1 -0
  113. package/dist/ui/src/components/PositionSnap/types.d.ts +31 -0
  114. package/dist/ui/src/components/PositionSnap/types.d.ts.map +1 -0
  115. package/dist/ui/src/components/ProgressIndicator/ProgressIndicator.d.ts +4 -0
  116. package/dist/ui/src/components/ProgressIndicator/ProgressIndicator.d.ts.map +1 -0
  117. package/dist/ui/src/components/ProgressIndicator/index.d.ts +3 -0
  118. package/dist/ui/src/components/ProgressIndicator/index.d.ts.map +1 -0
  119. package/dist/ui/src/components/ProgressIndicator/types.d.ts +17 -0
  120. package/dist/ui/src/components/ProgressIndicator/types.d.ts.map +1 -0
  121. package/dist/ui/src/components/Radio/Radio.d.ts +1 -1
  122. package/dist/ui/src/components/Radio/Radio.d.ts.map +1 -1
  123. package/dist/ui/src/components/Radio/types.d.ts +2 -1
  124. package/dist/ui/src/components/Radio/types.d.ts.map +1 -1
  125. package/dist/ui/src/components/Switch/Switch.d.ts +1 -1
  126. package/dist/ui/src/components/Switch/Switch.d.ts.map +1 -1
  127. package/dist/ui/src/components/Switch/types.d.ts +2 -1
  128. package/dist/ui/src/components/Switch/types.d.ts.map +1 -1
  129. package/dist/ui/src/components/Tooltip/Tooltip.d.ts +1 -1
  130. package/dist/ui/src/components/Tooltip/Tooltip.d.ts.map +1 -1
  131. package/dist/ui/src/components/Tooltip/types.d.ts +6 -0
  132. package/dist/ui/src/components/Tooltip/types.d.ts.map +1 -1
  133. package/dist/ui/src/components/internal/ModalPresentation.d.ts +62 -0
  134. package/dist/ui/src/components/internal/ModalPresentation.d.ts.map +1 -0
  135. package/dist/ui/src/components/internal/OverlayPortalContext.d.ts +10 -0
  136. package/dist/ui/src/components/internal/OverlayPortalContext.d.ts.map +1 -0
  137. package/dist/ui/src/index.d.ts +7 -1
  138. package/dist/ui/src/index.d.ts.map +1 -1
  139. package/dist/ui/src/utils/motion.d.ts.map +1 -1
  140. package/dist/utils/motion.js +194 -135
  141. package/docs/api-conventions.md +4 -0
  142. package/docs/motion.md +4 -0
  143. package/docs/overlay-stacking.md +48 -0
  144. package/docs/responsive-foundation-profile.md +1 -1
  145. package/docs/scss-helpers.md +110 -5
  146. package/docs/selector-contract.md +126 -2
  147. package/docs/tokens.md +2 -0
  148. package/package.json +1 -1
  149. package/src/scss/foundations/atomic.scss +9 -8
  150. package/src/scss/index.scss +2 -0
  151. package/src/scss/mixins/_fluid.scss +57 -0
  152. package/src/scss/mixins/_fluid.test.ts +87 -0
  153. package/src/scss/mixins/_gradient.scss +99 -0
  154. package/src/scss/mixins/_gradient.test.ts +111 -0
  155. package/src/scss/mixins/_responsive.scss +2 -1
  156. package/src/scss/mixins/_typo.scss +2 -1
  157. package/src/scss/mixins/_units.scss +14 -0
  158. package/src/scss/mixins/_utils.scss +3 -22
@@ -1,11 +1,12 @@
1
1
  'use client';
2
2
  import { jsx as t, jsxs as R } from "react/jsx-runtime";
3
- import v from "react";
3
+ import C from "react";
4
4
  import { Menu as r } from "@base-ui-components/react/menu";
5
- import j from "../Background/Background.js";
6
- import B, { CellItem as I } from "../Cell/Cell.js";
5
+ import B from "../Background/Background.js";
6
+ import E, { CellItem as T } from "../Cell/Cell.js";
7
+ import { useOverlayPortalContainer as G } from "../internal/OverlayPortalContext.js";
7
8
  import e from "./Menu.module.scss.js";
8
- const E = {
9
+ const z = {
9
10
  topLeft: { side: "top", alignment: "start" },
10
11
  top: { side: "top", alignment: "center" },
11
12
  topRight: { side: "top", alignment: "end" },
@@ -19,17 +20,17 @@ const E = {
19
20
  left: { side: "left", alignment: "center" },
20
21
  leftBottom: { side: "left", alignment: "end" }
21
22
  };
22
- function F(i) {
23
+ function Q(i) {
23
24
  return /* @__PURE__ */ t(r.Root, { ...i });
24
25
  }
25
- function J({
26
+ function U({
26
27
  className: i = "",
27
28
  children: o,
28
29
  render: a,
29
30
  nativeButton: n,
30
- openOnHover: m,
31
+ openOnHover: c,
31
32
  delay: s,
32
- closeDelay: c
33
+ closeDelay: l
33
34
  }) {
34
35
  return a ? /* @__PURE__ */ t(
35
36
  r.Trigger,
@@ -37,9 +38,9 @@ function J({
37
38
  className: e.renderTrigger,
38
39
  render: a,
39
40
  nativeButton: n,
40
- openOnHover: m,
41
+ openOnHover: c,
41
42
  delay: s,
42
- closeDelay: c,
43
+ closeDelay: l,
43
44
  "data-oc-component": "menu-trigger",
44
45
  children: o
45
46
  }
@@ -48,53 +49,56 @@ function J({
48
49
  {
49
50
  className: `${e.trigger} ${i}`.trim(),
50
51
  nativeButton: n,
51
- openOnHover: m,
52
+ openOnHover: c,
52
53
  delay: s,
53
- closeDelay: c,
54
+ closeDelay: l,
54
55
  "data-oc-component": "menu-trigger",
55
56
  children: o
56
57
  }
57
58
  );
58
59
  }
59
- function K({
60
+ function X({
60
61
  className: i = "",
61
62
  size: o = "medium",
62
63
  placement: a,
63
64
  sideOffset: n = 12,
64
- alignOffset: m = 0,
65
- alignment: s = "center",
66
- side: c = "bottom",
67
- children: d
65
+ alignOffset: c = 0,
66
+ container: s,
67
+ alignment: l = "center",
68
+ side: p = "bottom",
69
+ children: u,
70
+ "data-oc-interaction-variant": N
68
71
  }) {
69
- const p = a ? E[a] : void 0, g = p?.side ?? c, f = p?.alignment ?? s;
70
- return /* @__PURE__ */ t(r.Portal, { children: /* @__PURE__ */ t(
72
+ const b = G(s), g = a ? z[a] : void 0, m = g?.side ?? p, f = g?.alignment ?? l;
73
+ return /* @__PURE__ */ t(r.Portal, { container: b, children: /* @__PURE__ */ t(
71
74
  r.Positioner,
72
75
  {
73
76
  sideOffset: n,
74
- alignOffset: m,
77
+ alignOffset: c,
75
78
  align: f,
76
- side: g,
79
+ side: m,
77
80
  className: `${e.positioner} ${i}`.trim(),
78
81
  children: /* @__PURE__ */ t(
79
82
  r.Popup,
80
83
  {
81
- render: (u) => /* @__PURE__ */ t(
82
- j,
84
+ render: (d) => /* @__PURE__ */ t(
85
+ B,
83
86
  {
84
- ...u,
85
- className: `${e.content} ${e[o]} ${u.className || ""}`.trim(),
87
+ ...d,
88
+ className: `${e.content} ${e[o]} ${d.className || ""}`.trim(),
86
89
  "data-oc-part": "content",
87
90
  "data-oc-component": "menu-content",
88
- "data-oc-size": o
91
+ "data-oc-size": o,
92
+ "data-oc-interaction-variant": N
89
93
  }
90
94
  ),
91
95
  children: /* @__PURE__ */ t(
92
- B,
96
+ E,
93
97
  {
94
98
  className: e.container,
95
99
  divider: "neutral",
96
100
  "data-oc-part": "container",
97
- children: d
101
+ children: u
98
102
  }
99
103
  )
100
104
  }
@@ -102,97 +106,100 @@ function K({
102
106
  }
103
107
  ) });
104
108
  }
105
- function Q({
109
+ function Y({
106
110
  className: i = "",
107
111
  children: o,
108
112
  content: a,
109
113
  divider: n,
110
- fillWidth: m = !1,
114
+ fillWidth: c = !1,
111
115
  icon: s,
112
- leading: c,
113
- trailing: d,
114
- href: p,
115
- target: g,
116
- rel: f,
117
- linkProps: u,
118
- render: l,
119
- onClick: T,
120
- closeOnClick: N = !0,
121
- verticalAlign: b = "center"
116
+ leading: l,
117
+ trailing: p,
118
+ href: u,
119
+ target: N,
120
+ rel: b,
121
+ linkProps: g,
122
+ render: m,
123
+ onClick: f,
124
+ closeOnClick: d = !0,
125
+ verticalAlign: $ = "center",
126
+ "data-oc-interaction-variant": h
122
127
  }) {
123
- const $ = `${e.item} ${i}`.trim(), h = c ?? (s ? /* @__PURE__ */ t("span", { className: e.icon, "data-oc-part": "icon", "aria-hidden": "true", children: /* @__PURE__ */ t(s, { size: "custom" }) }) : null), C = a ?? /* @__PURE__ */ R("span", { className: e.labelGroup, children: [
124
- h,
128
+ const v = `${e.item} ${i}`.trim(), k = l ?? (s ? /* @__PURE__ */ t("span", { className: e.icon, "data-oc-part": "icon", "aria-hidden": "true", children: /* @__PURE__ */ t(s, { size: "custom" }) }) : null), P = a ?? /* @__PURE__ */ R("span", { className: e.labelGroup, children: [
129
+ k,
125
130
  /* @__PURE__ */ t("span", { className: e.label, "data-oc-part": "label", children: o }),
126
- d
131
+ p
127
132
  ] });
128
- if (p) {
133
+ if (u) {
129
134
  const {
130
- className: k,
135
+ className: I,
131
136
  rel: S,
132
137
  target: L,
133
138
  ...x
134
- } = u ?? {}, M = L ?? g, P = S || f || (M === "_blank" ? "noopener noreferrer" : void 0);
139
+ } = g ?? {}, M = L ?? N, j = S || b || (M === "_blank" ? "noopener noreferrer" : void 0);
135
140
  return /* @__PURE__ */ t(
136
141
  r.Item,
137
142
  {
138
- closeOnClick: N,
143
+ closeOnClick: d,
139
144
  render: /* @__PURE__ */ t(
140
- I,
145
+ T,
141
146
  {
142
- className: $,
147
+ className: v,
143
148
  content: /* @__PURE__ */ t(
144
149
  "a",
145
150
  {
146
151
  ...x,
147
- className: `${e.link} ${k || ""}`.trim(),
152
+ className: `${e.link} ${I || ""}`.trim(),
148
153
  "data-oc-cell-control": !0,
149
154
  "data-oc-part": "link",
150
- href: p,
155
+ href: u,
151
156
  target: M,
152
- rel: P,
157
+ rel: j,
153
158
  tabIndex: x.tabIndex ?? -1,
154
- children: C
159
+ children: P
155
160
  }
156
161
  ),
157
162
  divider: n,
158
- fillWidth: m,
163
+ fillWidth: c,
159
164
  interactive: !0,
160
- verticalAlign: b,
165
+ verticalAlign: $,
161
166
  "data-oc-part": "item",
162
- "data-oc-component": "menu-item"
167
+ "data-oc-component": "menu-item",
168
+ "data-oc-interaction-variant": h
163
169
  }
164
170
  )
165
171
  }
166
172
  );
167
173
  }
168
- if (l && v.isValidElement(l)) {
169
- const k = v.cloneElement(l, {
170
- className: `${e.link} ${l.props.className || ""}`.trim(),
174
+ if (m && C.isValidElement(m)) {
175
+ const I = C.cloneElement(m, {
176
+ className: `${e.link} ${m.props.className || ""}`.trim(),
171
177
  "data-oc-cell-control": !0,
172
178
  "data-oc-part": "link",
173
- tabIndex: l.props.tabIndex ?? -1,
179
+ tabIndex: m.props.tabIndex ?? -1,
174
180
  children: a ?? /* @__PURE__ */ R("span", { className: e.labelGroup, children: [
175
- h,
176
- /* @__PURE__ */ t("span", { className: e.label, "data-oc-part": "label", children: l.props.children }),
177
- d
181
+ k,
182
+ /* @__PURE__ */ t("span", { className: e.label, "data-oc-part": "label", children: m.props.children }),
183
+ p
178
184
  ] })
179
185
  });
180
186
  return /* @__PURE__ */ t(
181
187
  r.Item,
182
188
  {
183
- closeOnClick: N,
184
- onClick: T,
189
+ closeOnClick: d,
190
+ onClick: f,
185
191
  render: /* @__PURE__ */ t(
186
- I,
192
+ T,
187
193
  {
188
- className: $,
189
- content: k,
194
+ className: v,
195
+ content: I,
190
196
  divider: n,
191
- fillWidth: m,
197
+ fillWidth: c,
192
198
  interactive: !0,
193
- verticalAlign: b,
199
+ verticalAlign: $,
194
200
  "data-oc-part": "item",
195
- "data-oc-component": "menu-item"
201
+ "data-oc-component": "menu-item",
202
+ "data-oc-interaction-variant": h
196
203
  }
197
204
  )
198
205
  }
@@ -201,27 +208,28 @@ function Q({
201
208
  return /* @__PURE__ */ t(
202
209
  r.Item,
203
210
  {
204
- closeOnClick: N,
205
- onClick: T,
211
+ closeOnClick: d,
212
+ onClick: f,
206
213
  render: /* @__PURE__ */ t(
207
- I,
214
+ T,
208
215
  {
209
- className: $,
216
+ className: v,
210
217
  content: a ?? o,
211
218
  divider: n,
212
- fillWidth: m,
219
+ fillWidth: c,
213
220
  interactive: !0,
214
- leading: h,
215
- trailing: d,
216
- verticalAlign: b,
221
+ leading: k,
222
+ trailing: p,
223
+ verticalAlign: $,
217
224
  "data-oc-part": "item",
218
- "data-oc-component": "menu-item"
225
+ "data-oc-component": "menu-item",
226
+ "data-oc-interaction-variant": h
219
227
  }
220
228
  )
221
229
  }
222
230
  );
223
231
  }
224
- function U({
232
+ function Z({
225
233
  className: i = "",
226
234
  orientation: o,
227
235
  ...a
@@ -245,10 +253,10 @@ function U({
245
253
  );
246
254
  }
247
255
  export {
248
- K as MenuContent,
249
- Q as MenuItem,
250
- F as MenuRoot,
251
- U as MenuSeparator,
252
- J as MenuTrigger,
253
- F as default
256
+ X as MenuContent,
257
+ Y as MenuItem,
258
+ Q as MenuRoot,
259
+ Z as MenuSeparator,
260
+ U as MenuTrigger,
261
+ Q as default
254
262
  };