@starci/grammar 0.4.9 → 0.4.11

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.
@@ -349,10 +349,20 @@
349
349
  }
350
350
  }
351
351
 
352
+ /*
353
+ * One scrolling axis, drawn by the family's own sheet.
354
+ *
355
+ * The vendor's `.scroll-shadow--horizontal` sets `overflow-x: auto` alone, and a computed
356
+ * `overflow-x: auto` forces `overflow-y` to compute to `auto` as well, so the region rendered
357
+ * `overflow: auto auto` - two scrolling axes under an OVERFLOW-3 claim that promises one. Naming
358
+ * both axes here keeps the render at the one axis the claim describes.
359
+ */
352
360
  .starci-core-horizontal-scroll-region {
353
361
  width: 100%;
354
362
  min-width: 0;
355
363
  padding-block: 0.25rem;
364
+ overflow-x: auto;
365
+ overflow-y: hidden;
356
366
  overscroll-behavior-inline: contain;
357
367
  }
358
368
 
@@ -2384,10 +2394,22 @@
2384
2394
  .starci-core-text[data-loading="true"][data-size="metric-lead"] { width: 10rem; }
2385
2395
 
2386
2396
  /* --- Text action: one recipe, eight appearances, selected by data attributes. --- */
2397
+ /*
2398
+ * A TextAction is a BUTTON however text-shaped it looks, so the family's pressable floor belongs
2399
+ * to the recipe rather than to one appearance. `route` carried it alone until 0.4.10, which left
2400
+ * the padding-less appearances - inline, muted, disclosure, plain - collapsing to their line box:
2401
+ * a rail action measured 86 x 20 CSS px against a 44px floor. The floor moves up to the recipe
2402
+ * here and `route` keeps its own row, now redundant but harmless, so no appearance can lose it
2403
+ * again. `min-block-size` rather than `padding-block` for the reason `route` already states:
2404
+ * these appearances draw no background at rest, so the extra block size is invisible chrome
2405
+ * around unchanged FONT-2/PADDING-2 typography and never a bigger pill. `align-items: center`
2406
+ * above keeps the glyph and label centred inside the taller box.
2407
+ */
2387
2408
  .starci-core-text-action {
2388
2409
  display: inline-flex;
2389
2410
  width: fit-content;
2390
2411
  min-width: 0;
2412
+ min-block-size: var(--starci-core-control-min-size, 2.75rem);
2391
2413
  flex: none;
2392
2414
  align-items: center;
2393
2415
  gap: 0.5rem;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/SurfaceCard/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAS,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAC7C,OAAO,EAAyC,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAG9F,OAAO,EAOH,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EAC1B,MAAM,iBAAiB,CAAA;AAExB,MAAM,MAAM,eAAe,GACrB;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACzB,GACC;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACzB,CAAA;AAEL,KAAK,mBAAmB,GAAG;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED,KAAK,oBAAoB,GAAG;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAA;IAC1B,8FAA8F;IAC9F,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,mBAAmB,GAAG,oBAAoB,CAAC,GAAG;IAC1E,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,+FAA+F;IAC/F,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAA;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAA;IAClC,QAAQ,CAAC,WAAW,CAAC,EAAE,eAAe,CAAA;IACtC,kGAAkG;IAClG,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,WAAW,CAAA;IACxC,+DAA+D;IAC/D,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,CAAA;IACtC,sFAAsF;IACtF,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;IAC/B,kFAAkF;IAClF,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC1C,kFAAkF;IAClF,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAA;IACrC,kGAAkG;IAClG,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAA;IACnC,wFAAwF;IACxF,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,OAAO,gBAAgB,gCA+GlD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/SurfaceCard/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAS,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAC7C,OAAO,EAAyC,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAG9F,OAAO,EAOH,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EAC1B,MAAM,iBAAiB,CAAA;AAExB,MAAM,MAAM,eAAe,GACrB;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACzB,GACC;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACzB,CAAA;AAEL,KAAK,mBAAmB,GAAG;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED,KAAK,oBAAoB,GAAG;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAA;IAC1B,8FAA8F;IAC9F,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,mBAAmB,GAAG,oBAAoB,CAAC,GAAG;IAC1E,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,+FAA+F;IAC/F,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAA;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAA;IAClC,QAAQ,CAAC,WAAW,CAAC,EAAE,eAAe,CAAA;IACtC,kGAAkG;IAClG,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,WAAW,CAAA;IACxC,+DAA+D;IAC/D,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,CAAA;IACtC,sFAAsF;IACtF,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;IAC/B,kFAAkF;IAClF,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC1C,kFAAkF;IAClF,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAA;IACrC,kGAAkG;IAClG,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAA;IACnC,wFAAwF;IACxF,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,OAAO,gBAAgB,gCA6HlD,CAAA"}
@@ -17,11 +17,25 @@ export const SurfaceCard = (props) => {
17
17
  * The inset is drawn on the CONTENT REGION, not on the surface shell, so its claim rides the
18
18
  * element whose shipped rule backs it. The shell keeps what it actually paints: its ground, its
19
19
  * clipping and its boundary.
20
+ *
21
+ * A frameless surface takes NO inset, and says so. `frame="frameless"` means the content already
22
+ * owns its visible boundaries, so Core must not draw another shell - and the shipped sheet drops
23
+ * the inset with the frame (`.starci-core-frameless-surface > .starci-core-surface-content {
24
+ * padding: 0 }`). PADDING-0 is how the family answers "no inset" everywhere else: on this same
25
+ * body under `composition="joined"`, on SurfaceListCard's root and on SurfaceAccordionCard's
26
+ * panel. The render is unchanged; only the promise now matches it.
27
+ */
28
+ const compositionContract = composition === "joined"
29
+ ? "GAP-0 PADDING-0"
30
+ : frame === "frameless" ? "PADDING-0" : "PADDING-4";
31
+ /*
32
+ * One node, one overflow answer. The frameless shell paints `overflow: visible` and the bounded
33
+ * shell paints `overflow: hidden`; a node that claimed both said the surface clips and does not
34
+ * clip at once, and an audit measuring it could only ever find one of the two true.
20
35
  */
21
- const compositionContract = composition === "joined" ? "GAP-0 PADDING-0" : "PADDING-4";
22
36
  const contentContract = [
23
37
  frame === "frameless" ? "SURFACE-1" : "SURFACE-2",
24
- frame === "frameless" ? "OVERFLOW-1 OVERFLOW-2" : "OVERFLOW-2",
38
+ frame === "frameless" ? "OVERFLOW-1" : "OVERFLOW-2",
25
39
  depth === "nested" ? "BOUNDARY-5" : "BOUNDARY-6",
26
40
  ].join(" ");
27
41
  const rootContract = wholeAction === undefined ? undefined : "SURFACE-4";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/SurfaceCard/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/SurfaceCard/index.tsx"],"names":[],"mappings":"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"}
@@ -5,7 +5,14 @@ export type TabItem = {
5
5
  readonly label: string;
6
6
  readonly leading?: ReactNode;
7
7
  };
8
- /** Business-neutral controlled peer tabs with one declared overflow owner. */
8
+ /**
9
+ * Business-neutral controlled peer tabs with one declared overflow owner.
10
+ *
11
+ * The strip's scroll owner is `HorizontalScrollRegion`, and that region stamps its own
12
+ * `data-contract`: a `data-contract` passed into it was silently replaced and never reached the DOM.
13
+ * The strip asks for its answer with the region's `overflow` prop instead, so the id the node carries
14
+ * is the id the node renders - one axis, scrolling only where the destinations overflow.
15
+ */
9
16
  export type TabsProps = {
10
17
  readonly label: string;
11
18
  readonly selectedKey: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/Tabs/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAgD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAUpF,mEAAmE;AACnE,MAAM,MAAM,OAAO,GAAG;IAClB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAA;CAC/B,CAAA;AAED,8EAA8E;AAC9E,MAAM,MAAM,SAAS,GAAG;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;IAC1C,4FAA4F;IAC5F,QAAQ,CAAC,eAAe,CAAC,EAAE,YAAY,GAAG,QAAQ,CAAA;IAClD,+EAA+E;IAC/E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACnC,CAAA;AAED,qFAAqF;AACrF,eAAO,MAAM,IAAI,GAAI,OAAO,SAAS,gCAwEpC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/Tabs/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAgD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAUpF,mEAAmE;AACnE,MAAM,MAAM,OAAO,GAAG;IAClB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAA;CAC/B,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,SAAS,GAAG;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;IAC1C,4FAA4F;IAC5F,QAAQ,CAAC,eAAe,CAAC,EAAE,YAAY,GAAG,QAAQ,CAAA;IAClD,+EAA+E;IAC/E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACnC,CAAA;AAED,qFAAqF;AACrF,eAAO,MAAM,IAAI,GAAI,OAAO,SAAS,gCAwEpC,CAAA"}
@@ -51,6 +51,6 @@ export const Tabs = (props) => {
51
51
  const frameContract = inset === "page" ? "PADDING-5" : undefined;
52
52
  if (!isClientReady)
53
53
  return _jsx("div", { "aria-hidden": "true", className: tabsFrameClassName, "data-contract": frameContract, "data-grammar-tabs": "true", "data-grammar-tabs-client": "pending", "data-grammar-tabs-inset": inset, style: { minHeight: "3rem" } });
54
- return _jsx("div", { ref: frameRef, className: tabsFrameClassName, "data-contract": frameContract, "data-grammar-tabs": "true", "data-grammar-tabs-client": "ready", "data-grammar-tabs-inset": inset, "data-grammar-tab-labels": props.labelVisibility ?? "responsive", children: _jsx(HorizontalScrollRegion, { className: tabsScrollClassName, "data-contract": "OVERFLOW-4", "data-grammar-tabs-overflow": "scroll", hideScrollBar: true, children: _jsx(HeroTabs, { variant: "secondary", selectedKey: props.selectedKey, onSelectionChange: (key) => props.onSelect?.(String(key)), className: tabsClassName ?? "", "data-contract": "FLOW-2", children: _jsx(HeroTabs.ListContainer, { children: _jsx(HeroTabs.List, { "aria-label": props.label, children: props.items.map((item) => (_jsxs(HeroTabs.Tab, { id: item.id, "aria-label": item.label, "data-contract": "PADDING-3", children: [_jsxs("span", { className: tabContentClassName, "data-contract": "GAP-2", "data-grammar-tab-id": item.id, children: [item.leading, _jsx("span", { className: tabLabelClassName, style: props.labelVisibility === "always" ? { display: "inline" } : undefined, children: item.label })] }), _jsx(HeroTabs.Indicator, {})] }, item.id))) }) }) }) }) });
54
+ return _jsx("div", { ref: frameRef, className: tabsFrameClassName, "data-contract": frameContract, "data-grammar-tabs": "true", "data-grammar-tabs-client": "ready", "data-grammar-tabs-inset": inset, "data-grammar-tab-labels": props.labelVisibility ?? "responsive", children: _jsx(HorizontalScrollRegion, { className: tabsScrollClassName, overflow: "needed", "data-grammar-tabs-overflow": "scroll", hideScrollBar: true, children: _jsx(HeroTabs, { variant: "secondary", selectedKey: props.selectedKey, onSelectionChange: (key) => props.onSelect?.(String(key)), className: tabsClassName ?? "", "data-contract": "FLOW-2", children: _jsx(HeroTabs.ListContainer, { children: _jsx(HeroTabs.List, { "aria-label": props.label, children: props.items.map((item) => (_jsxs(HeroTabs.Tab, { id: item.id, "aria-label": item.label, "data-contract": "PADDING-3", children: [_jsxs("span", { className: tabContentClassName, "data-contract": "GAP-2", "data-grammar-tab-id": item.id, children: [item.leading, _jsx("span", { className: tabLabelClassName, style: props.labelVisibility === "always" ? { display: "inline" } : undefined, children: item.label })] }), _jsx(HeroTabs.Indicator, {})] }, item.id))) }) }) }) }) });
55
55
  };
56
56
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/Tabs/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/Tabs/index.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +1,19 @@
1
1
  import { type ComponentProps, type ReactNode } from "react";
2
+ /**
3
+ * Which overflow answer this region gives for its one axis.
4
+ *
5
+ * `always` is the region standing on its own: the axis scrolls, full stop (OVERFLOW-3). `needed` is
6
+ * the same one axis scrolling only where the content actually overflows (OVERFLOW-4) - the answer a
7
+ * peer strip gives. The region is the node that carries the stamp, so the owner has to be able to
8
+ * say which of the two it is; passing `data-contract` in was silently replaced by this element's own.
9
+ */
10
+ export type HorizontalScrollRegionOverflow = "always" | "needed";
2
11
  export type HorizontalScrollRegionProps = Omit<ComponentProps<"div">, "children"> & {
3
12
  readonly children: ReactNode;
4
13
  /** Uses the ScrollShadow-owned no-chrome treatment while retaining horizontal reachability. */
5
14
  readonly hideScrollBar?: boolean;
15
+ /** The region's own overflow answer; the stamp and the render both follow it. */
16
+ readonly overflow?: HorizontalScrollRegionOverflow;
6
17
  };
7
18
  /** Preserve intrinsic inline content and expose HeroUI's horizontal overflow affordance. */
8
19
  export declare const HorizontalScrollRegion: import("react").ForwardRefExoticComponent<Omit<HorizontalScrollRegionProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/HorizontalScrollRegion/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAGvE,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,GAAG;IAChF,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,+FAA+F;IAC/F,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CACnC,CAAA;AAED,4FAA4F;AAC5F,eAAO,MAAM,sBAAsB,qIAYjC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/HorizontalScrollRegion/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAGvE;;;;;;;GAOG;AACH,MAAM,MAAM,8BAA8B,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAEhE,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,GAAG;IAChF,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,+FAA+F;IAC/F,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,iFAAiF;IACjF,QAAQ,CAAC,QAAQ,CAAC,EAAE,8BAA8B,CAAA;CACrD,CAAA;AAED,4FAA4F;AAC5F,eAAO,MAAM,sBAAsB,qIAgBjC,CAAA"}
@@ -3,8 +3,11 @@ import { forwardRef } from "react";
3
3
  import { ScrollShadow, cn } from "@heroui/react";
4
4
  /** Preserve intrinsic inline content and expose HeroUI's horizontal overflow affordance. */
5
5
  export const HorizontalScrollRegion = forwardRef((props, ref) => {
6
- const { hideScrollBar = true, className, ...regionProps } = props;
7
- return (_jsx(ScrollShadow, { ...regionProps, ref: ref, className: cn("starci-core-horizontal-scroll-region", className), "data-contract": "PADDING-1 MEASURE-3 OVERFLOW-3 OVERFLOW-5", hideScrollBar: hideScrollBar, orientation: "horizontal" }));
6
+ const { hideScrollBar = true, overflow = "always", className, ...regionProps } = props;
7
+ const contract = overflow === "needed"
8
+ ? "PADDING-1 MEASURE-3 OVERFLOW-4 OVERFLOW-5"
9
+ : "PADDING-1 MEASURE-3 OVERFLOW-3 OVERFLOW-5";
10
+ return (_jsx(ScrollShadow, { ...regionProps, ref: ref, className: cn("starci-core-horizontal-scroll-region", className), "data-contract": contract, "data-grammar-overflow": overflow, hideScrollBar: hideScrollBar, orientation: "horizontal" }));
8
11
  });
9
12
  HorizontalScrollRegion.displayName = "HorizontalScrollRegion";
10
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/HorizontalScrollRegion/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAuC,MAAM,OAAO,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAQhD,4FAA4F;AAC5F,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAA8C,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACzG,MAAM,EAAE,aAAa,GAAG,IAAI,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,GAAG,KAAK,CAAA;IACjE,OAAO,CACH,KAAC,YAAY,OACL,WAAW,EACf,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,sCAAsC,EAAE,SAAS,CAAC,mBAClD,2CAA2C,EACzD,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAC,YAAY,GAC1B,CACL,CAAA;AACL,CAAC,CAAC,CAAA;AAEF,sBAAsB,CAAC,WAAW,GAAG,wBAAwB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/HorizontalScrollRegion/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAuC,MAAM,OAAO,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAoBhD,4FAA4F;AAC5F,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAA8C,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACzG,MAAM,EAAE,aAAa,GAAG,IAAI,EAAE,QAAQ,GAAG,QAAQ,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,GAAG,KAAK,CAAA;IACtF,MAAM,QAAQ,GAAG,QAAQ,KAAK,QAAQ;QAClC,CAAC,CAAC,2CAA2C;QAC7C,CAAC,CAAC,2CAA2C,CAAA;IACjD,OAAO,CACH,KAAC,YAAY,OACL,WAAW,EACf,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,sCAAsC,EAAE,SAAS,CAAC,mBACjD,QAAQ,2BACA,QAAQ,EAC/B,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAC,YAAY,GAC1B,CACL,CAAA;AACL,CAAC,CAAC,CAAA;AAEF,sBAAsB,CAAC,WAAW,GAAG,wBAAwB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@starci/grammar",
3
- "version": "0.4.9",
3
+ "version": "0.4.11",
4
4
  "description": "Reusable StarCi React components, compositions, and packaged visual DNA.",
5
5
  "keywords": [
6
6
  "starci",