@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/README.md +17 -17
- package/dist/index.cjs +214 -189
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +95 -64
- package/dist/index.d.ts +95 -64
- package/dist/index.js +214 -189
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
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
|
-
*
|
|
3089
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
3115
|
-
*
|
|
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
|
-
*
|
|
3118
|
-
*
|
|
3119
|
-
*
|
|
3120
|
-
* -
|
|
3121
|
-
*
|
|
3122
|
-
*
|
|
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
|
-
* -
|
|
3129
|
-
* -
|
|
3130
|
-
* -
|
|
3131
|
-
* -
|
|
3132
|
-
* -
|
|
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
|
|
4323
|
-
*
|
|
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
|
|
4332
|
-
*
|
|
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
|
|
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
|
-
* //
|
|
4346
|
-
* <Divider
|
|
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="
|
|
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
|
-
*
|
|
4396
|
-
* rendering is handled by the styled `Divider` layer.
|
|
4411
|
+
* Inline styles forwarded to the underlying element.
|
|
4397
4412
|
*/
|
|
4398
|
-
|
|
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
|
|
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
|
|
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
|
-
* //
|
|
4428
|
-
* <Divider
|
|
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`
|
|
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="
|
|
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
|
-
*
|
|
4459
|
-
*
|
|
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
|
-
*
|
|
4462
|
-
*
|
|
4463
|
-
*
|
|
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
|
-
*
|
|
4466
|
-
*
|
|
4467
|
-
*
|
|
4468
|
-
*
|
|
4487
|
+
* Orientation:
|
|
4488
|
+
* horizontal — full-width strip, height driven by --md-divider-thickness
|
|
4489
|
+
* vertical — self-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
|
-
*
|
|
3089
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
3115
|
-
*
|
|
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
|
-
*
|
|
3118
|
-
*
|
|
3119
|
-
*
|
|
3120
|
-
* -
|
|
3121
|
-
*
|
|
3122
|
-
*
|
|
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
|
-
* -
|
|
3129
|
-
* -
|
|
3130
|
-
* -
|
|
3131
|
-
* -
|
|
3132
|
-
* -
|
|
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
|
|
4323
|
-
*
|
|
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
|
|
4332
|
-
*
|
|
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
|
|
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
|
-
* //
|
|
4346
|
-
* <Divider
|
|
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="
|
|
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
|
-
*
|
|
4396
|
-
* rendering is handled by the styled `Divider` layer.
|
|
4411
|
+
* Inline styles forwarded to the underlying element.
|
|
4397
4412
|
*/
|
|
4398
|
-
|
|
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
|
|
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
|
|
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
|
-
* //
|
|
4428
|
-
* <Divider
|
|
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`
|
|
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="
|
|
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
|
-
*
|
|
4459
|
-
*
|
|
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
|
-
*
|
|
4462
|
-
*
|
|
4463
|
-
*
|
|
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
|
-
*
|
|
4466
|
-
*
|
|
4467
|
-
*
|
|
4468
|
-
*
|
|
4487
|
+
* Orientation:
|
|
4488
|
+
* horizontal — full-width strip, height driven by --md-divider-thickness
|
|
4489
|
+
* vertical — self-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;
|