@camstack/ui-library 1.2.48 → 1.2.49

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.
package/dist/index.cjs CHANGED
@@ -13119,6 +13119,10 @@ var contentVariants = cva("fixed left-1/2 top-1/2 -translate-x-1/2 -translate-y-
13119
13119
  * header, tab strip, footer — stays put at every height. The dialog
13120
13120
  * keeps its own padding either way, so `sheet-on-mobile`'s
13121
13121
  * safe-area bottom padding still applies to the footer.
13122
+ *
13123
+ * `body` also takes a DEFINITE height below `md` — see the
13124
+ * `scroll: 'body'` compound variants. That is not a style choice; the
13125
+ * flex chain does not resolve without it on iOS Safari.
13122
13126
  */
13123
13127
  scroll: {
13124
13128
  content: "overflow-y-auto",
@@ -13144,6 +13148,16 @@ var contentVariants = cva("fixed left-1/2 top-1/2 -translate-x-1/2 -translate-y-
13144
13148
  placement: "sheet-on-mobile",
13145
13149
  width: "lg",
13146
13150
  class: "md:w-[calc(100vw-2rem)] md:max-w-lg"
13151
+ },
13152
+ {
13153
+ scroll: "body",
13154
+ placement: "sheet-on-mobile",
13155
+ class: "h-[92dvh] md:h-auto"
13156
+ },
13157
+ {
13158
+ scroll: "body",
13159
+ placement: "center",
13160
+ class: "h-[calc(100dvh-2rem-2*max(env(safe-area-inset-top),env(safe-area-inset-bottom)))] md:h-auto"
13147
13161
  }
13148
13162
  ],
13149
13163
  defaultVariants: {
@@ -13197,6 +13211,12 @@ function DialogHeader({ className, ...props }) {
13197
13211
  * footer out of the dialog instead of scrolling — the exact failure this
13198
13212
  * variant exists to remove. Anything sticky INSIDE a dialog body pins against
13199
13213
  * this element, since it is the scroll container.
13214
+ *
13215
+ * It only bounds a scroll area if every ancestor up to the dialog has a
13216
+ * resolved height. `DialogContent` supplies the top of that chain (see the
13217
+ * `scroll: 'body'` compound variants); an intermediate wrapper between them —
13218
+ * a `<Tabs>` that owns the tab strip, say — must carry `flex-1 min-h-0` too,
13219
+ * or it collapses and takes the body with it.
13200
13220
  */
13201
13221
  function DialogBody({ className, ...props }) {
13202
13222
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
package/dist/index.js CHANGED
@@ -13095,6 +13095,10 @@ var contentVariants = cva("fixed left-1/2 top-1/2 -translate-x-1/2 -translate-y-
13095
13095
  * header, tab strip, footer — stays put at every height. The dialog
13096
13096
  * keeps its own padding either way, so `sheet-on-mobile`'s
13097
13097
  * safe-area bottom padding still applies to the footer.
13098
+ *
13099
+ * `body` also takes a DEFINITE height below `md` — see the
13100
+ * `scroll: 'body'` compound variants. That is not a style choice; the
13101
+ * flex chain does not resolve without it on iOS Safari.
13098
13102
  */
13099
13103
  scroll: {
13100
13104
  content: "overflow-y-auto",
@@ -13120,6 +13124,16 @@ var contentVariants = cva("fixed left-1/2 top-1/2 -translate-x-1/2 -translate-y-
13120
13124
  placement: "sheet-on-mobile",
13121
13125
  width: "lg",
13122
13126
  class: "md:w-[calc(100vw-2rem)] md:max-w-lg"
13127
+ },
13128
+ {
13129
+ scroll: "body",
13130
+ placement: "sheet-on-mobile",
13131
+ class: "h-[92dvh] md:h-auto"
13132
+ },
13133
+ {
13134
+ scroll: "body",
13135
+ placement: "center",
13136
+ class: "h-[calc(100dvh-2rem-2*max(env(safe-area-inset-top),env(safe-area-inset-bottom)))] md:h-auto"
13123
13137
  }
13124
13138
  ],
13125
13139
  defaultVariants: {
@@ -13173,6 +13187,12 @@ function DialogHeader({ className, ...props }) {
13173
13187
  * footer out of the dialog instead of scrolling — the exact failure this
13174
13188
  * variant exists to remove. Anything sticky INSIDE a dialog body pins against
13175
13189
  * this element, since it is the scroll container.
13190
+ *
13191
+ * It only bounds a scroll area if every ancestor up to the dialog has a
13192
+ * resolved height. `DialogContent` supplies the top of that chain (see the
13193
+ * `scroll: 'body'` compound variants); an intermediate wrapper between them —
13194
+ * a `<Tabs>` that owns the tab strip, say — must carry `flex-1 min-h-0` too,
13195
+ * or it collapses and takes the body with it.
13176
13196
  */
13177
13197
  function DialogBody({ className, ...props }) {
13178
13198
  return /* @__PURE__ */ jsx("div", {
@@ -51,6 +51,12 @@ export declare function DialogHeader({ className, ...props }: HTMLAttributes<HTM
51
51
  * footer out of the dialog instead of scrolling — the exact failure this
52
52
  * variant exists to remove. Anything sticky INSIDE a dialog body pins against
53
53
  * this element, since it is the scroll container.
54
+ *
55
+ * It only bounds a scroll area if every ancestor up to the dialog has a
56
+ * resolved height. `DialogContent` supplies the top of that chain (see the
57
+ * `scroll: 'body'` compound variants); an intermediate wrapper between them —
58
+ * a `<Tabs>` that owns the tab strip, say — must carry `flex-1 min-h-0` too,
59
+ * or it collapses and takes the body with it.
54
60
  */
55
61
  export declare function DialogBody({ className, ...props }: HTMLAttributes<HTMLDivElement>): import("react").JSX.Element;
56
62
  export declare function DialogFooter({ className, ...props }: HTMLAttributes<HTMLDivElement>): import("react").JSX.Element;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/ui-library",
3
- "version": "1.2.48",
3
+ "version": "1.2.49",
4
4
  "type": "module",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.js",