@tinybigui/react 0.11.1 → 0.12.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.
package/dist/index.d.cts CHANGED
@@ -3085,15 +3085,12 @@ declare const Tabs: React__default.ForwardRefExoticComponent<TabsProps & React__
3085
3085
  * Uses React Aria's useTabList for role="tablist", keyboard navigation,
3086
3086
  * and accessibility attributes.
3087
3087
  *
3088
- * The active indicator slides to the selected tab using CSS transitions
3089
- * with MD3 motion tokens (medium2 duration, emphasized easing).
3088
+ * Active indicator behavior (MD3 spec):
3089
+ * - Primary: indicator width = content (label/icon) width, centered under content.
3090
+ * Measured via the [data-tab-content] child span of the selected tab.
3091
+ * - Secondary: indicator spans the full tab button width.
3090
3092
  *
3091
- * MD3 Specifications:
3092
- * - Container background: bg-surface
3093
- * - Container height: 48dp
3094
- * - Bottom border: 1dp, outline-variant color
3095
- * - Fixed layout: tabs fill width equally
3096
- * - Scrollable layout: overflow-x, no wrapping
3093
+ * Motion: left and width are spatial properties → spring-standard-default-spatial.
3097
3094
  *
3098
3095
  * @example
3099
3096
  * ```tsx
@@ -3111,25 +3108,26 @@ declare const TabList: React__default.ForwardRefExoticComponent<TabListProps & R
3111
3108
  /**
3112
3109
  * Material Design 3 Tab Component (Layer 3: Styled)
3113
3110
  *
3114
- * Renders a single tab item inside a TabList.
3115
- * Supports three content modes: icon-only, label-only, icon + label (stacked).
3111
+ * Architecture: Variants-vs-States
3112
+ * - Design-time variants (primary/secondary, fixed/scrollable) live in CVA.
3113
+ * - All interaction states are expressed as data-* attributes on the root button
3114
+ * via getInteractionDataAttributes, consumed by slots using group-data-[x]/tab.
3115
+ * - Content flags (data-with-icon, data-with-label) describe structure, set explicitly.
3116
3116
  *
3117
- * Features:
3118
- * - Icon-only, label-only, icon + label (stacked) content modes
3119
- * - Ripple effect (Material Design)
3120
- * - MD3 state layers (hover 8%, pressed 12%)
3121
- * - Badge support (numeric, dot, 999+)
3122
- * - Disabled state (opacity-38, not focusable)
3123
- * - ✅ Full keyboard accessibility (via React Aria)
3124
- * - ✅ Primary/secondary variant colors
3117
+ * Slots:
3118
+ * root button — group/tab; typography, label color, disabled, content flags
3119
+ * state layer — absolute inset hover/focus/pressed overlay
3120
+ * content span — data-tab-content; measured by TabList for primary indicator width
3121
+ * icon wrapper — 24dp icon + badge anchor
3122
+ * label span — truncated text label
3125
3123
  *
3126
3124
  * MD3 Specifications:
3127
- * - Minimum height: 48dp
3128
- * - Minimum width: 90dp
3129
- * - Typography: Title Small (14px, weight 500, tracking 0.1px)
3130
- * - Icon: 24x24dp
3131
- * - Active indicator: 3dp primary / 2dp secondary
3132
- * - State layers: 8% hover, 12% pressed/focus
3125
+ * - Minimum height: 48dp (label/icon-only), 64dp (icon+label stacked)
3126
+ * - Typography: Title Small (text-title-small, weight 500, tracking 0.1px)
3127
+ * - Icon: 24×24dp
3128
+ * - Active indicator: 3dp primary / 2dp secondary — both bg-primary
3129
+ * - State layers: hover 8%, focus/pressed 10%
3130
+ * - Disabled: 38% opacity (not focusable)
3133
3131
  *
3134
3132
  * @example
3135
3133
  * ```tsx
@@ -4319,31 +4317,49 @@ declare const ProgressHeadless: React__default.ForwardRefExoticComponent<Progres
4319
4317
  */
4320
4318
  type DividerOrientation = "horizontal" | "vertical";
4321
4319
  /**
4322
- * Divider inset — controls which end(s) of the rule are inset by 16dp.
4323
- * Per MD3 spec: insets create visual association with list content.
4320
+ * Divider inset — controls which end(s) of the rule are offset by 16dp.
4321
+ *
4322
+ * Uses logical inline properties (inline-start / inline-end) so insets adapt
4323
+ * correctly to RTL writing modes.
4324
+ *
4324
4325
  * @default 'none'
4325
4326
  */
4326
4327
  type DividerInset = "none" | "start" | "end" | "both";
4328
+ /**
4329
+ * CSS custom properties supported by the Divider component.
4330
+ * Extends `React.CSSProperties` to allow the `--md-divider-thickness` variable.
4331
+ */
4332
+ interface DividerCSSProperties extends React__default.CSSProperties {
4333
+ /** Thickness of the divider rule. MD3 default: 1dp (1px). */
4334
+ "--md-divider-thickness"?: string;
4335
+ }
4327
4336
  /**
4328
4337
  * Material Design 3 Divider Component Props
4329
4338
  *
4330
4339
  * A thin line that groups content in lists and containers.
4331
- * Supports horizontal/vertical orientations, inset variants, and a
4332
- * subheader label variant.
4340
+ * Supports horizontal/vertical orientations and four inset variants.
4341
+ *
4342
+ * Thickness is controlled via the `--md-divider-thickness` CSS custom property
4343
+ * (default `1px`, matching the MD3 1dp specification). Override it with a style
4344
+ * prop or an arbitrary Tailwind property:
4345
+ *
4346
+ * ```tsx
4347
+ * <Divider style={{ "--md-divider-thickness": "2px" }} />
4348
+ * ```
4333
4349
  *
4334
4350
  * @example
4335
4351
  * ```tsx
4336
4352
  * // Full-bleed horizontal divider (default)
4337
4353
  * <Divider />
4338
4354
  *
4339
- * // Inset divider (16dp from start)
4355
+ * // Inset divider — logical 16dp from inline-start (RTL-aware)
4340
4356
  * <Divider inset="start" />
4341
4357
  *
4342
- * // Vertical divider
4358
+ * // Vertical divider inside a flex row
4343
4359
  * <Divider orientation="vertical" />
4344
4360
  *
4345
- * // Subheader / labeled divider
4346
- * <Divider label="Section Title" />
4361
+ * // Custom thickness
4362
+ * <Divider style={{ "--md-divider-thickness": "2px" }} />
4347
4363
  * ```
4348
4364
  */
4349
4365
  interface DividerProps {
@@ -4353,19 +4369,19 @@ interface DividerProps {
4353
4369
  */
4354
4370
  orientation?: DividerOrientation;
4355
4371
  /**
4356
- * Inset — shifts the start and/or end of the rule by 16dp.
4372
+ * Inset — shifts the start and/or end of the rule by 16dp (logical, RTL-aware).
4357
4373
  * @default 'none'
4358
4374
  */
4359
4375
  inset?: DividerInset;
4360
- /**
4361
- * When provided, renders a subheader (labeled) divider with the text
4362
- * centered between two rule lines.
4363
- */
4364
- label?: string;
4365
4376
  /**
4366
4377
  * Additional Tailwind CSS classes.
4367
4378
  */
4368
4379
  className?: string;
4380
+ /**
4381
+ * Inline styles. Supports the `--md-divider-thickness` CSS custom property
4382
+ * to override the default 1dp thickness.
4383
+ */
4384
+ style?: DividerCSSProperties;
4369
4385
  }
4370
4386
  /**
4371
4387
  * Props for the headless Divider primitive.
@@ -4377,7 +4393,7 @@ interface DividerProps {
4377
4393
  * ```tsx
4378
4394
  * <DividerHeadless
4379
4395
  * orientation="horizontal"
4380
- * className="border-t border-outline-variant w-full"
4396
+ * className="w-full h-px bg-outline-variant"
4381
4397
  * />
4382
4398
  * ```
4383
4399
  */
@@ -4392,40 +4408,40 @@ interface DividerHeadlessProps {
4392
4408
  */
4393
4409
  className?: string;
4394
4410
  /**
4395
- * Subheader label text. Declared for interface completeness;
4396
- * rendering is handled by the styled `Divider` layer.
4411
+ * Inline styles forwarded to the underlying element.
4397
4412
  */
4398
- label?: string;
4399
- /**
4400
- * Child content. Declared for interface extensibility;
4401
- * the headless primitive itself is a void/leaf element.
4402
- */
4403
- children?: React__default.ReactNode;
4413
+ style?: DividerCSSProperties;
4404
4414
  }
4405
4415
 
4406
4416
  /**
4407
4417
  * Divider — MD3 Styled Component (Layer 3)
4408
4418
  *
4409
4419
  * A thin rule that separates content in lists and containers.
4410
- * Supports horizontal/vertical orientations, inset variants, and an
4411
- * optional subheader label that renders the text centered between two rules.
4420
+ * Supports horizontal/vertical orientations and four inset variants.
4412
4421
  *
4413
4422
  * Built on `DividerHeadless` (React Aria `useSeparator`) for accessible
4414
4423
  * ARIA semantics. Uses CVA variants mapped to MD3 design tokens.
4415
4424
  *
4425
+ * Thickness is controlled via the `--md-divider-thickness` CSS custom property
4426
+ * (default `1px`, matching the MD3 1dp spec). Override with a `style` prop:
4427
+ *
4428
+ * ```tsx
4429
+ * <Divider style={{ "--md-divider-thickness": "2px" }} />
4430
+ * ```
4431
+ *
4416
4432
  * @example
4417
4433
  * ```tsx
4418
4434
  * // Full-bleed horizontal divider
4419
4435
  * <Divider />
4420
4436
  *
4421
- * // Inset from the start (16dp)
4437
+ * // Inset from inline-start (RTL-aware, 16dp)
4422
4438
  * <Divider inset="start" />
4423
4439
  *
4424
4440
  * // Vertical divider inside a flex row
4425
4441
  * <Divider orientation="vertical" />
4426
4442
  *
4427
- * // Subheader divider
4428
- * <Divider label="Section Title" />
4443
+ * // Custom thickness
4444
+ * <Divider style={{ "--md-divider-thickness": "2px" }} />
4429
4445
  * ```
4430
4446
  */
4431
4447
  declare const Divider: React$1.ForwardRefExoticComponent<DividerProps & React$1.RefAttributes<HTMLElement>>;
@@ -4439,14 +4455,13 @@ declare const Divider: React$1.ForwardRefExoticComponent<DividerProps & React$1.
4439
4455
  * - Horizontal → renders `<hr>` (implicit ARIA separator role)
4440
4456
  * - Vertical → renders `<div>` with explicit `role="separator"`
4441
4457
  *
4442
- * Bring your own styles via the `className` prop.
4458
+ * Bring your own styles via the `className` or `style` props.
4443
4459
  *
4444
4460
  * @example
4445
4461
  * ```tsx
4446
- * // Used inside the styled Divider, or directly for custom styling:
4447
4462
  * <DividerHeadless
4448
4463
  * orientation="horizontal"
4449
- * className="border-t border-outline-variant w-full"
4464
+ * className="w-full h-px bg-outline-variant"
4450
4465
  * />
4451
4466
  * ```
4452
4467
  */
@@ -4455,17 +4470,33 @@ declare const DividerHeadless: React$1.ForwardRefExoticComponent<DividerHeadless
4455
4470
  /**
4456
4471
  * Material Design 3 Divider Variants (CVA)
4457
4472
  *
4458
- * Defines orientation and inset variants for the Divider component.
4459
- * All classes use MD3 design token utilities — no arbitrary values.
4473
+ * Architecture: Variants only the Divider is a static, non-interactive element
4474
+ * (no hover/focus/pressed states) so there is no state-layer machinery.
4460
4475
  *
4461
- * Orientation:
4462
- * horizontal 1px top border, spans full width
4463
- * vertical — 1px left border, spans full height (self-stretch in flex)
4476
+ * Implementation strategy:
4477
+ * The border-* approach used previously required separate horizontal/vertical
4478
+ * logic and could not share a single thickness control. We now use a background
4479
+ * fill on a zero-border element, driven by a CSS custom property, which is the
4480
+ * same technique used by the official @material/web md-divider implementation.
4481
+ *
4482
+ * CSS variable:
4483
+ * --md-divider-thickness (default: 1px, MD3 spec: 1dp)
4484
+ * Override via style or a Tailwind arbitrary property:
4485
+ * <Divider style={{ "--md-divider-thickness": "2px" }} />
4464
4486
  *
4465
- * Inset (MD3 spec: 16dp offset):
4466
- * startml-4 (indented from the leading edge)
4467
- * endmr-4 (indented from the trailing edge)
4468
- * both — ml-4 mr-4 (indented from both edges)
4487
+ * Orientation:
4488
+ * horizontalfull-width strip, height driven by --md-divider-thickness
4489
+ * verticalself-stretches to container height, width driven by var
4490
+ *
4491
+ * Inset (MD3 spec: 16dp logical offset, RTL-aware):
4492
+ * start — ms-4 (inline-start, adapts to writing direction)
4493
+ * end — me-4 (inline-end)
4494
+ * both — ms-4 me-4
4495
+ *
4496
+ * MD3 Spec references:
4497
+ * Color: outline-variant (--md-sys-color-outline-variant)
4498
+ * Thickness: 1dp (no MD3 component token — exposed as a CSS var for parity with md-web)
4499
+ * Inset: 16dp (--md-comp-divider-leading-space / --md-comp-divider-trailing-space)
4469
4500
  */
4470
4501
  declare const dividerVariants: (props?: ({
4471
4502
  orientation?: "vertical" | "horizontal" | null | undefined;
package/dist/index.d.ts CHANGED
@@ -3085,15 +3085,12 @@ declare const Tabs: React__default.ForwardRefExoticComponent<TabsProps & React__
3085
3085
  * Uses React Aria's useTabList for role="tablist", keyboard navigation,
3086
3086
  * and accessibility attributes.
3087
3087
  *
3088
- * The active indicator slides to the selected tab using CSS transitions
3089
- * with MD3 motion tokens (medium2 duration, emphasized easing).
3088
+ * Active indicator behavior (MD3 spec):
3089
+ * - Primary: indicator width = content (label/icon) width, centered under content.
3090
+ * Measured via the [data-tab-content] child span of the selected tab.
3091
+ * - Secondary: indicator spans the full tab button width.
3090
3092
  *
3091
- * MD3 Specifications:
3092
- * - Container background: bg-surface
3093
- * - Container height: 48dp
3094
- * - Bottom border: 1dp, outline-variant color
3095
- * - Fixed layout: tabs fill width equally
3096
- * - Scrollable layout: overflow-x, no wrapping
3093
+ * Motion: left and width are spatial properties → spring-standard-default-spatial.
3097
3094
  *
3098
3095
  * @example
3099
3096
  * ```tsx
@@ -3111,25 +3108,26 @@ declare const TabList: React__default.ForwardRefExoticComponent<TabListProps & R
3111
3108
  /**
3112
3109
  * Material Design 3 Tab Component (Layer 3: Styled)
3113
3110
  *
3114
- * Renders a single tab item inside a TabList.
3115
- * Supports three content modes: icon-only, label-only, icon + label (stacked).
3111
+ * Architecture: Variants-vs-States
3112
+ * - Design-time variants (primary/secondary, fixed/scrollable) live in CVA.
3113
+ * - All interaction states are expressed as data-* attributes on the root button
3114
+ * via getInteractionDataAttributes, consumed by slots using group-data-[x]/tab.
3115
+ * - Content flags (data-with-icon, data-with-label) describe structure, set explicitly.
3116
3116
  *
3117
- * Features:
3118
- * - Icon-only, label-only, icon + label (stacked) content modes
3119
- * - Ripple effect (Material Design)
3120
- * - MD3 state layers (hover 8%, pressed 12%)
3121
- * - Badge support (numeric, dot, 999+)
3122
- * - Disabled state (opacity-38, not focusable)
3123
- * - ✅ Full keyboard accessibility (via React Aria)
3124
- * - ✅ Primary/secondary variant colors
3117
+ * Slots:
3118
+ * root button — group/tab; typography, label color, disabled, content flags
3119
+ * state layer — absolute inset hover/focus/pressed overlay
3120
+ * content span — data-tab-content; measured by TabList for primary indicator width
3121
+ * icon wrapper — 24dp icon + badge anchor
3122
+ * label span — truncated text label
3125
3123
  *
3126
3124
  * MD3 Specifications:
3127
- * - Minimum height: 48dp
3128
- * - Minimum width: 90dp
3129
- * - Typography: Title Small (14px, weight 500, tracking 0.1px)
3130
- * - Icon: 24x24dp
3131
- * - Active indicator: 3dp primary / 2dp secondary
3132
- * - State layers: 8% hover, 12% pressed/focus
3125
+ * - Minimum height: 48dp (label/icon-only), 64dp (icon+label stacked)
3126
+ * - Typography: Title Small (text-title-small, weight 500, tracking 0.1px)
3127
+ * - Icon: 24×24dp
3128
+ * - Active indicator: 3dp primary / 2dp secondary — both bg-primary
3129
+ * - State layers: hover 8%, focus/pressed 10%
3130
+ * - Disabled: 38% opacity (not focusable)
3133
3131
  *
3134
3132
  * @example
3135
3133
  * ```tsx
@@ -4319,31 +4317,49 @@ declare const ProgressHeadless: React__default.ForwardRefExoticComponent<Progres
4319
4317
  */
4320
4318
  type DividerOrientation = "horizontal" | "vertical";
4321
4319
  /**
4322
- * Divider inset — controls which end(s) of the rule are inset by 16dp.
4323
- * Per MD3 spec: insets create visual association with list content.
4320
+ * Divider inset — controls which end(s) of the rule are offset by 16dp.
4321
+ *
4322
+ * Uses logical inline properties (inline-start / inline-end) so insets adapt
4323
+ * correctly to RTL writing modes.
4324
+ *
4324
4325
  * @default 'none'
4325
4326
  */
4326
4327
  type DividerInset = "none" | "start" | "end" | "both";
4328
+ /**
4329
+ * CSS custom properties supported by the Divider component.
4330
+ * Extends `React.CSSProperties` to allow the `--md-divider-thickness` variable.
4331
+ */
4332
+ interface DividerCSSProperties extends React__default.CSSProperties {
4333
+ /** Thickness of the divider rule. MD3 default: 1dp (1px). */
4334
+ "--md-divider-thickness"?: string;
4335
+ }
4327
4336
  /**
4328
4337
  * Material Design 3 Divider Component Props
4329
4338
  *
4330
4339
  * A thin line that groups content in lists and containers.
4331
- * Supports horizontal/vertical orientations, inset variants, and a
4332
- * subheader label variant.
4340
+ * Supports horizontal/vertical orientations and four inset variants.
4341
+ *
4342
+ * Thickness is controlled via the `--md-divider-thickness` CSS custom property
4343
+ * (default `1px`, matching the MD3 1dp specification). Override it with a style
4344
+ * prop or an arbitrary Tailwind property:
4345
+ *
4346
+ * ```tsx
4347
+ * <Divider style={{ "--md-divider-thickness": "2px" }} />
4348
+ * ```
4333
4349
  *
4334
4350
  * @example
4335
4351
  * ```tsx
4336
4352
  * // Full-bleed horizontal divider (default)
4337
4353
  * <Divider />
4338
4354
  *
4339
- * // Inset divider (16dp from start)
4355
+ * // Inset divider — logical 16dp from inline-start (RTL-aware)
4340
4356
  * <Divider inset="start" />
4341
4357
  *
4342
- * // Vertical divider
4358
+ * // Vertical divider inside a flex row
4343
4359
  * <Divider orientation="vertical" />
4344
4360
  *
4345
- * // Subheader / labeled divider
4346
- * <Divider label="Section Title" />
4361
+ * // Custom thickness
4362
+ * <Divider style={{ "--md-divider-thickness": "2px" }} />
4347
4363
  * ```
4348
4364
  */
4349
4365
  interface DividerProps {
@@ -4353,19 +4369,19 @@ interface DividerProps {
4353
4369
  */
4354
4370
  orientation?: DividerOrientation;
4355
4371
  /**
4356
- * Inset — shifts the start and/or end of the rule by 16dp.
4372
+ * Inset — shifts the start and/or end of the rule by 16dp (logical, RTL-aware).
4357
4373
  * @default 'none'
4358
4374
  */
4359
4375
  inset?: DividerInset;
4360
- /**
4361
- * When provided, renders a subheader (labeled) divider with the text
4362
- * centered between two rule lines.
4363
- */
4364
- label?: string;
4365
4376
  /**
4366
4377
  * Additional Tailwind CSS classes.
4367
4378
  */
4368
4379
  className?: string;
4380
+ /**
4381
+ * Inline styles. Supports the `--md-divider-thickness` CSS custom property
4382
+ * to override the default 1dp thickness.
4383
+ */
4384
+ style?: DividerCSSProperties;
4369
4385
  }
4370
4386
  /**
4371
4387
  * Props for the headless Divider primitive.
@@ -4377,7 +4393,7 @@ interface DividerProps {
4377
4393
  * ```tsx
4378
4394
  * <DividerHeadless
4379
4395
  * orientation="horizontal"
4380
- * className="border-t border-outline-variant w-full"
4396
+ * className="w-full h-px bg-outline-variant"
4381
4397
  * />
4382
4398
  * ```
4383
4399
  */
@@ -4392,40 +4408,40 @@ interface DividerHeadlessProps {
4392
4408
  */
4393
4409
  className?: string;
4394
4410
  /**
4395
- * Subheader label text. Declared for interface completeness;
4396
- * rendering is handled by the styled `Divider` layer.
4411
+ * Inline styles forwarded to the underlying element.
4397
4412
  */
4398
- label?: string;
4399
- /**
4400
- * Child content. Declared for interface extensibility;
4401
- * the headless primitive itself is a void/leaf element.
4402
- */
4403
- children?: React__default.ReactNode;
4413
+ style?: DividerCSSProperties;
4404
4414
  }
4405
4415
 
4406
4416
  /**
4407
4417
  * Divider — MD3 Styled Component (Layer 3)
4408
4418
  *
4409
4419
  * A thin rule that separates content in lists and containers.
4410
- * Supports horizontal/vertical orientations, inset variants, and an
4411
- * optional subheader label that renders the text centered between two rules.
4420
+ * Supports horizontal/vertical orientations and four inset variants.
4412
4421
  *
4413
4422
  * Built on `DividerHeadless` (React Aria `useSeparator`) for accessible
4414
4423
  * ARIA semantics. Uses CVA variants mapped to MD3 design tokens.
4415
4424
  *
4425
+ * Thickness is controlled via the `--md-divider-thickness` CSS custom property
4426
+ * (default `1px`, matching the MD3 1dp spec). Override with a `style` prop:
4427
+ *
4428
+ * ```tsx
4429
+ * <Divider style={{ "--md-divider-thickness": "2px" }} />
4430
+ * ```
4431
+ *
4416
4432
  * @example
4417
4433
  * ```tsx
4418
4434
  * // Full-bleed horizontal divider
4419
4435
  * <Divider />
4420
4436
  *
4421
- * // Inset from the start (16dp)
4437
+ * // Inset from inline-start (RTL-aware, 16dp)
4422
4438
  * <Divider inset="start" />
4423
4439
  *
4424
4440
  * // Vertical divider inside a flex row
4425
4441
  * <Divider orientation="vertical" />
4426
4442
  *
4427
- * // Subheader divider
4428
- * <Divider label="Section Title" />
4443
+ * // Custom thickness
4444
+ * <Divider style={{ "--md-divider-thickness": "2px" }} />
4429
4445
  * ```
4430
4446
  */
4431
4447
  declare const Divider: React$1.ForwardRefExoticComponent<DividerProps & React$1.RefAttributes<HTMLElement>>;
@@ -4439,14 +4455,13 @@ declare const Divider: React$1.ForwardRefExoticComponent<DividerProps & React$1.
4439
4455
  * - Horizontal → renders `<hr>` (implicit ARIA separator role)
4440
4456
  * - Vertical → renders `<div>` with explicit `role="separator"`
4441
4457
  *
4442
- * Bring your own styles via the `className` prop.
4458
+ * Bring your own styles via the `className` or `style` props.
4443
4459
  *
4444
4460
  * @example
4445
4461
  * ```tsx
4446
- * // Used inside the styled Divider, or directly for custom styling:
4447
4462
  * <DividerHeadless
4448
4463
  * orientation="horizontal"
4449
- * className="border-t border-outline-variant w-full"
4464
+ * className="w-full h-px bg-outline-variant"
4450
4465
  * />
4451
4466
  * ```
4452
4467
  */
@@ -4455,17 +4470,33 @@ declare const DividerHeadless: React$1.ForwardRefExoticComponent<DividerHeadless
4455
4470
  /**
4456
4471
  * Material Design 3 Divider Variants (CVA)
4457
4472
  *
4458
- * Defines orientation and inset variants for the Divider component.
4459
- * All classes use MD3 design token utilities — no arbitrary values.
4473
+ * Architecture: Variants only the Divider is a static, non-interactive element
4474
+ * (no hover/focus/pressed states) so there is no state-layer machinery.
4460
4475
  *
4461
- * Orientation:
4462
- * horizontal 1px top border, spans full width
4463
- * vertical — 1px left border, spans full height (self-stretch in flex)
4476
+ * Implementation strategy:
4477
+ * The border-* approach used previously required separate horizontal/vertical
4478
+ * logic and could not share a single thickness control. We now use a background
4479
+ * fill on a zero-border element, driven by a CSS custom property, which is the
4480
+ * same technique used by the official @material/web md-divider implementation.
4481
+ *
4482
+ * CSS variable:
4483
+ * --md-divider-thickness (default: 1px, MD3 spec: 1dp)
4484
+ * Override via style or a Tailwind arbitrary property:
4485
+ * <Divider style={{ "--md-divider-thickness": "2px" }} />
4464
4486
  *
4465
- * Inset (MD3 spec: 16dp offset):
4466
- * startml-4 (indented from the leading edge)
4467
- * endmr-4 (indented from the trailing edge)
4468
- * both — ml-4 mr-4 (indented from both edges)
4487
+ * Orientation:
4488
+ * horizontalfull-width strip, height driven by --md-divider-thickness
4489
+ * verticalself-stretches to container height, width driven by var
4490
+ *
4491
+ * Inset (MD3 spec: 16dp logical offset, RTL-aware):
4492
+ * start — ms-4 (inline-start, adapts to writing direction)
4493
+ * end — me-4 (inline-end)
4494
+ * both — ms-4 me-4
4495
+ *
4496
+ * MD3 Spec references:
4497
+ * Color: outline-variant (--md-sys-color-outline-variant)
4498
+ * Thickness: 1dp (no MD3 component token — exposed as a CSS var for parity with md-web)
4499
+ * Inset: 16dp (--md-comp-divider-leading-space / --md-comp-divider-trailing-space)
4469
4500
  */
4470
4501
  declare const dividerVariants: (props?: ({
4471
4502
  orientation?: "vertical" | "horizontal" | null | undefined;