@tinybigui/react 0.15.0 → 0.16.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.css CHANGED
@@ -49,5 +49,13 @@
49
49
  stroke-dashoffset: -124px;
50
50
  }
51
51
  }
52
- @theme { --animate-progress-linear-indeterminate-1: progress-linear-indeterminate-1 var(--md-sys-motion-duration-long2) var(--md-sys-motion-easing-standard) infinite; --animate-progress-linear-indeterminate-2: progress-linear-indeterminate-2 var(--md-sys-motion-duration-long2) var(--md-sys-motion-easing-standard) infinite; --animate-progress-circular-rotate: progress-circular-rotate var(--md-sys-motion-duration-long4) linear infinite; --animate-progress-circular-dash: progress-circular-dash var(--md-sys-motion-duration-long4) var(--md-sys-motion-easing-standard) infinite; }
52
+ @keyframes progress-wave-translate {
53
+ 0% {
54
+ transform: translateX(0);
55
+ }
56
+ 100% {
57
+ transform: translateX(var(--progress-wave-wavelength, -40px));
58
+ }
59
+ }
60
+ @theme { --animate-progress-linear-indeterminate-1: progress-linear-indeterminate-1 var(--md-sys-motion-duration-long2) var(--md-sys-motion-easing-standard) infinite; --animate-progress-linear-indeterminate-2: progress-linear-indeterminate-2 var(--md-sys-motion-duration-long2) var(--md-sys-motion-easing-standard) infinite; --animate-progress-circular-rotate: progress-circular-rotate var(--md-sys-motion-duration-long4) linear infinite; --animate-progress-circular-dash: progress-circular-dash var(--md-sys-motion-duration-long4) var(--md-sys-motion-easing-standard) infinite; --animate-progress-wave-translate: progress-wave-translate var(--md-sys-motion-duration-extra-long4) linear infinite; }
53
61
  /*# sourceMappingURL=index.css.map */
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Progress/Progress.css"],"sourcesContent":["/*\n * Progress Indicator Animations\n * Material Design 3 motion tokens for indeterminate progress states.\n *\n * Keyframes are defined here (co-located with the component) per project\n * convention — they are NOT added to the global tokens.css.\n *\n * Motion tokens referenced (from packages/tokens/src/tokens.css):\n * --md-sys-motion-duration-medium4 : 400ms (determinate transitions — applied via Tailwind)\n * --md-sys-motion-duration-long2 : 500ms (linear indeterminate cycle)\n * --md-sys-motion-duration-long4 : 600ms (circular indeterminate rotation)\n * --md-sys-motion-easing-standard : cubic-bezier(0.2, 0, 0, 1)\n */\n\n/* ---------------------------------------------------------------------------\n LINEAR INDETERMINATE\n Two-segment bar animation per MD3 spec.\n First segment: starts narrow at left, expands, then slides off right.\n Second segment: follows the first with a short delay.\n Duration: long2 = 500ms per cycle (repeating).\n --------------------------------------------------------------------------- */\n\n@keyframes progress-linear-indeterminate-1 {\n 0% {\n left: -35%;\n right: 100%;\n }\n 60% {\n left: 100%;\n right: -90%;\n }\n 100% {\n left: 100%;\n right: -90%;\n }\n}\n\n@keyframes progress-linear-indeterminate-2 {\n 0% {\n left: -200%;\n right: 100%;\n }\n 60% {\n left: 107%;\n right: -8%;\n }\n 100% {\n left: 107%;\n right: -8%;\n }\n}\n\n/* ---------------------------------------------------------------------------\n CIRCULAR INDETERMINATE\n Two-part animation per MD3 spec:\n 1. Container rotation: continuous 360° spin.\n 2. Dash animation: stroke-dasharray pulses between a short and long arc.\n Rotation duration: long4 = 600ms per cycle (repeating).\n --------------------------------------------------------------------------- */\n\n@keyframes progress-circular-rotate {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n\n@keyframes progress-circular-dash {\n 0% {\n stroke-dasharray: 1, 200;\n stroke-dashoffset: 0;\n }\n 50% {\n stroke-dasharray: 89, 200;\n stroke-dashoffset: -35px;\n }\n 100% {\n stroke-dasharray: 89, 200;\n stroke-dashoffset: -124px;\n }\n}\n\n/* ---------------------------------------------------------------------------\n TAILWIND @theme INTEGRATION\n Register animations so they can be used as Tailwind utilities:\n animate-progress-linear-indeterminate-1\n animate-progress-linear-indeterminate-2\n animate-progress-circular-rotate\n animate-progress-circular-dash\n --------------------------------------------------------------------------- */\n\n@theme {\n --animate-progress-linear-indeterminate-1: progress-linear-indeterminate-1\n var(--md-sys-motion-duration-long2) var(--md-sys-motion-easing-standard) infinite;\n\n --animate-progress-linear-indeterminate-2: progress-linear-indeterminate-2\n var(--md-sys-motion-duration-long2) var(--md-sys-motion-easing-standard) infinite;\n\n --animate-progress-circular-rotate: progress-circular-rotate var(--md-sys-motion-duration-long4)\n linear infinite;\n\n --animate-progress-circular-dash: progress-circular-dash var(--md-sys-motion-duration-long4)\n var(--md-sys-motion-easing-standard) infinite;\n}\n"],"mappings":";AAsBA,WAAW;AACT;AACE,UAAM;AACN,WAAO;AACT;AACA;AACE,UAAM;AACN,WAAO;AACT;AACA;AACE,UAAM;AACN,WAAO;AACT;AACF;AAEA,WAAW;AACT;AACE,UAAM;AACN,WAAO;AACT;AACA;AACE,UAAM;AACN,WAAO;AACT;AACA;AACE,UAAM;AACN,WAAO;AACT;AACF;AAUA,WAAW;AACT;AACE,eAAW,OAAO;AACpB;AACA;AACE,eAAW,OAAO;AACpB;AACF;AAEA,WAAW;AACT;AACE,sBAAkB,CAAC,EAAE;AACrB,uBAAmB;AACrB;AACA;AACE,sBAAkB,EAAE,EAAE;AACtB,uBAAmB;AACrB;AACA;AACE,sBAAkB,EAAE,EAAE;AACtB,uBAAmB;AACrB;AACF;AAWA,OAAO,EACL,yCAAyC,EAAE,gCACzC,IAAI,gCAAgC,IAAI,iCAAiC,QAAQ,EAEnF,yCAAyC,EAAE,gCACzC,IAAI,gCAAgC,IAAI,iCAAiC,QAAQ,EAEnF,kCAAkC,EAAE,yBAAyB,IAAI,gCAC/D,OAAO,QAAQ,EAEjB,gCAAgC,EAAE,uBAAuB,IAAI,gCAC3D,IAAI,iCAAiC,QAAQ;","names":[]}
1
+ {"version":3,"sources":["../src/components/Progress/Progress.css"],"sourcesContent":["/*\n * Progress Indicator Animations\n * Material Design 3 motion tokens for indeterminate and wavy progress states.\n *\n * Keyframes are defined here (co-located with the component) per project\n * convention — they are NOT added to the global tokens.css.\n *\n * All timing values reference MD3 motion token CSS custom properties.\n * Hardcoded durations are forbidden — use the token vars below.\n *\n * Motion tokens referenced (from packages/tokens/src/tokens.css):\n * --md-sys-motion-duration-long2 : 500ms (linear indeterminate cycle)\n * --md-sys-motion-duration-long4 : 600ms (circular indeterminate rotation)\n * --md-sys-motion-duration-extra-long4 : 1000ms (wave horizontal translation)\n * --md-sys-motion-easing-standard : cubic-bezier(0.2, 0, 0, 1)\n */\n\n/* ---------------------------------------------------------------------------\n LINEAR INDETERMINATE\n Two-segment bar animation per MD3 spec.\n First segment: starts narrow at left, expands, then slides off right.\n Second segment: follows the first with a short delay.\n Duration: long2 = 500ms per cycle (repeating).\n --------------------------------------------------------------------------- */\n\n@keyframes progress-linear-indeterminate-1 {\n 0% {\n left: -35%;\n right: 100%;\n }\n 60% {\n left: 100%;\n right: -90%;\n }\n 100% {\n left: 100%;\n right: -90%;\n }\n}\n\n@keyframes progress-linear-indeterminate-2 {\n 0% {\n left: -200%;\n right: 100%;\n }\n 60% {\n left: 107%;\n right: -8%;\n }\n 100% {\n left: 107%;\n right: -8%;\n }\n}\n\n/* ---------------------------------------------------------------------------\n CIRCULAR INDETERMINATE\n Two-part animation per MD3 spec:\n 1. Container rotation: continuous 360° spin.\n 2. Dash animation: stroke-dasharray pulses between a short and long arc.\n Rotation duration: long4 = 600ms per cycle (repeating).\n --------------------------------------------------------------------------- */\n\n@keyframes progress-circular-rotate {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n\n@keyframes progress-circular-dash {\n 0% {\n stroke-dasharray: 1, 200;\n stroke-dashoffset: 0;\n }\n 50% {\n stroke-dasharray: 89, 200;\n stroke-dashoffset: -35px;\n }\n 100% {\n stroke-dasharray: 89, 200;\n stroke-dashoffset: -124px;\n }\n}\n\n/* ---------------------------------------------------------------------------\n WAVY TRANSLATION\n Horizontal wave motion: the wavy path translates one full wavelength so\n the wave appears to flow continuously.\n Duration: extra-long4 = 1000ms per cycle (repeating).\n --------------------------------------------------------------------------- */\n\n@keyframes progress-wave-translate {\n 0% {\n transform: translateX(0);\n }\n 100% {\n /* Translate exactly one wavelength. The wavelength is baked into the SVG\n path so the visual loop is seamless. The actual translate distance is\n set via --progress-wave-wavelength CSS custom property on the element. */\n transform: translateX(var(--progress-wave-wavelength, -40px));\n }\n}\n\n/* ---------------------------------------------------------------------------\n TAILWIND @theme INTEGRATION\n Register animations so they can be used as Tailwind utilities.\n --------------------------------------------------------------------------- */\n\n@theme {\n --animate-progress-linear-indeterminate-1: progress-linear-indeterminate-1\n var(--md-sys-motion-duration-long2) var(--md-sys-motion-easing-standard) infinite;\n\n --animate-progress-linear-indeterminate-2: progress-linear-indeterminate-2\n var(--md-sys-motion-duration-long2) var(--md-sys-motion-easing-standard) infinite;\n\n --animate-progress-circular-rotate: progress-circular-rotate var(--md-sys-motion-duration-long4)\n linear infinite;\n\n --animate-progress-circular-dash: progress-circular-dash var(--md-sys-motion-duration-long4)\n var(--md-sys-motion-easing-standard) infinite;\n\n --animate-progress-wave-translate: progress-wave-translate\n var(--md-sys-motion-duration-extra-long4) linear infinite;\n}\n"],"mappings":";AAyBA,WAAW;AACT;AACE,UAAM;AACN,WAAO;AACT;AACA;AACE,UAAM;AACN,WAAO;AACT;AACA;AACE,UAAM;AACN,WAAO;AACT;AACF;AAEA,WAAW;AACT;AACE,UAAM;AACN,WAAO;AACT;AACA;AACE,UAAM;AACN,WAAO;AACT;AACA;AACE,UAAM;AACN,WAAO;AACT;AACF;AAUA,WAAW;AACT;AACE,eAAW,OAAO;AACpB;AACA;AACE,eAAW,OAAO;AACpB;AACF;AAEA,WAAW;AACT;AACE,sBAAkB,CAAC,EAAE;AACrB,uBAAmB;AACrB;AACA;AACE,sBAAkB,EAAE,EAAE;AACtB,uBAAmB;AACrB;AACA;AACE,sBAAkB,EAAE,EAAE;AACtB,uBAAmB;AACrB;AACF;AASA,WAAW;AACT;AACE,eAAW,WAAW;AACxB;AACA;AAIE,eAAW,WAAW,IAAI,0BAA0B,EAAE;AACxD;AACF;AAOA,OAAO,EACL,yCAAyC,EAAE,gCACzC,IAAI,gCAAgC,IAAI,iCAAiC,QAAQ,EAEnF,yCAAyC,EAAE,gCACzC,IAAI,gCAAgC,IAAI,iCAAiC,QAAQ,EAEnF,kCAAkC,EAAE,yBAAyB,IAAI,gCAC/D,OAAO,QAAQ,EAEjB,gCAAgC,EAAE,uBAAuB,IAAI,gCAC3D,IAAI,iCAAiC,QAAQ,EAE/C,iCAAiC,EAAE,wBACjC,IAAI,sCAAsC,OAAO,QAAQ;","names":[]}
package/dist/index.d.cts CHANGED
@@ -4150,7 +4150,9 @@ declare const HeadlessDrawerItem: React__default.ForwardRefExoticComponent<Headl
4150
4150
  * Built on React Aria for world-class accessibility.
4151
4151
  * Supports four variants: Linear Determinate, Linear Indeterminate,
4152
4152
  * Circular Determinate, and Circular Indeterminate.
4153
- * Implementation uses CVA + Tailwind CSS classes mapped to MD3 tokens.
4153
+ * Implements MD3 Expressive styling: colorful primary-container track,
4154
+ * 4dp indicator-track gap, fully-rounded segments, thick track option,
4155
+ * and optional wavy shape.
4154
4156
  *
4155
4157
  * @example
4156
4158
  * ```tsx
@@ -4169,6 +4171,9 @@ declare const HeadlessDrawerItem: React__default.ForwardRefExoticComponent<Headl
4169
4171
  * // Circular with size
4170
4172
  * <Progress type="circular" indeterminate size="small" aria-label="Loading" />
4171
4173
  *
4174
+ * // Thick wavy linear (MD3 Expressive)
4175
+ * <Progress type="linear" indeterminate shape="wavy" thickness="thick" aria-label="Loading" />
4176
+ *
4172
4177
  * // Custom range
4173
4178
  * <Progress type="linear" minValue={0} maxValue={200} value={150} label="Progress" />
4174
4179
  * ```
@@ -4191,6 +4196,22 @@ interface ProgressProps extends AriaProgressBarProps {
4191
4196
  * @default "medium"
4192
4197
  */
4193
4198
  size?: "small" | "medium" | "large";
4199
+ /**
4200
+ * Visual shape of the progress indicator.
4201
+ * - `"flat"` — standard rounded rectangular/circular track.
4202
+ * - `"wavy"` — MD3 Expressive sine-wave active indicator.
4203
+ * Increases linear container height to accommodate wave amplitude.
4204
+ * Reduced-motion users receive a flat fallback automatically.
4205
+ * @default "flat"
4206
+ */
4207
+ shape?: "flat" | "wavy";
4208
+ /**
4209
+ * Track thickness.
4210
+ * - `"default"` — 4dp per MD3 baseline spec.
4211
+ * - `"thick"` — 8dp MD3 Expressive variant (fully rounded, `trackCornerRadius` = 4dp).
4212
+ * @default "default"
4213
+ */
4214
+ thickness?: "default" | "thick";
4194
4215
  /**
4195
4216
  * Additional CSS classes (Tailwind).
4196
4217
  */
@@ -4206,7 +4227,7 @@ interface ProgressProps extends AriaProgressBarProps {
4206
4227
  * type="linear"
4207
4228
  * value={50}
4208
4229
  * label="Upload"
4209
- * renderProgress={({ percentage }) => (
4230
+ * renderProgress={({ percentage, shape, thickness }) => (
4210
4231
  * <div style={{ width: `${percentage}%` }} />
4211
4232
  * )}
4212
4233
  * />
@@ -4228,6 +4249,16 @@ interface ProgressHeadlessProps extends AriaProgressBarProps {
4228
4249
  * @default "medium"
4229
4250
  */
4230
4251
  size?: "small" | "medium" | "large";
4252
+ /**
4253
+ * Visual shape of the progress indicator.
4254
+ * @default "flat"
4255
+ */
4256
+ shape?: "flat" | "wavy";
4257
+ /**
4258
+ * Track thickness.
4259
+ * @default "default"
4260
+ */
4261
+ thickness?: "default" | "thick";
4231
4262
  /**
4232
4263
  * Additional CSS classes.
4233
4264
  */
@@ -4245,6 +4276,8 @@ interface ProgressHeadlessProps extends AriaProgressBarProps {
4245
4276
  isIndeterminate: boolean;
4246
4277
  type: "linear" | "circular";
4247
4278
  size: "small" | "medium" | "large";
4279
+ shape: "flat" | "wavy";
4280
+ thickness: "default" | "thick";
4248
4281
  }) => React__default.ReactNode;
4249
4282
  }
4250
4283
 
@@ -4252,23 +4285,20 @@ interface ProgressHeadlessProps extends AriaProgressBarProps {
4252
4285
  * Material Design 3 Progress Indicator (Layer 3: Styled)
4253
4286
  *
4254
4287
  * Built on React Aria for world-class accessibility.
4255
- * Supports four variants driven by `type` + `indeterminate` props:
4288
+ * Implements MD3 Expressive spec:
4289
+ * - Colorful track: primary-container (inactive), primary (active)
4290
+ * - 4dp indicator-track gap (linear + circular)
4291
+ * - Fully-rounded segments
4292
+ * - Optional thick (8dp) track
4293
+ * - Optional wavy shape with amplitude ramp
4294
+ * - useReducedMotion guard: wavy falls back to flat when reduced-motion is set
4295
+ *
4296
+ * Four variants driven by `type` × `indeterminate`:
4256
4297
  * - Linear Determinate
4257
4298
  * - Linear Indeterminate
4258
4299
  * - Circular Determinate
4259
4300
  * - Circular Indeterminate
4260
4301
  *
4261
- * MD3 Specifications:
4262
- * - Linear track height: 4dp (h-1)
4263
- * - Linear track shape: rounded-full
4264
- * - Circular default size: 48dp (medium)
4265
- * - Circular stroke width: 4dp (SVG attribute)
4266
- * - Active track: primary
4267
- * - Inactive track: surface-container-highest
4268
- * - Determinate transitions: duration-medium4 + ease-standard
4269
- * - Indeterminate linear cycle: duration-long2
4270
- * - Indeterminate circular rotation: duration-long4
4271
- *
4272
4302
  * @example
4273
4303
  * ```tsx
4274
4304
  * // Linear determinate
@@ -4283,8 +4313,8 @@ interface ProgressHeadlessProps extends AriaProgressBarProps {
4283
4313
  * // Circular indeterminate
4284
4314
  * <Progress type="circular" indeterminate aria-label="Loading" />
4285
4315
  *
4286
- * // Circular small spinner
4287
- * <Progress type="circular" indeterminate size="small" aria-label="Loading" />
4316
+ * // Thick wavy (MD3 Expressive)
4317
+ * <Progress type="linear" indeterminate shape="wavy" thickness="thick" aria-label="Loading" />
4288
4318
  * ```
4289
4319
  */
4290
4320
  declare const Progress: React__default.ForwardRefExoticComponent<ProgressProps & React__default.RefAttributes<HTMLDivElement>>;
@@ -4300,7 +4330,7 @@ declare const Progress: React__default.ForwardRefExoticComponent<ProgressProps &
4300
4330
  * - Determinate and indeterminate progress support
4301
4331
  * - Internationalized value label formatting via React Aria
4302
4332
  * - Label linkage via aria-labelledby / aria-label
4303
- * - Render prop for custom visual rendering
4333
+ * - Render prop for custom visual rendering (receives shape + thickness)
4304
4334
  *
4305
4335
  * @example
4306
4336
  * ```tsx
@@ -4308,7 +4338,7 @@ declare const Progress: React__default.ForwardRefExoticComponent<ProgressProps &
4308
4338
  * <ProgressHeadless
4309
4339
  * value={50}
4310
4340
  * label="Upload"
4311
- * renderProgress={({ percentage }) => (
4341
+ * renderProgress={({ percentage, shape, thickness }) => (
4312
4342
  * <div style={{ width: `${percentage}%` }} />
4313
4343
  * )}
4314
4344
  * />
package/dist/index.d.ts CHANGED
@@ -4150,7 +4150,9 @@ declare const HeadlessDrawerItem: React__default.ForwardRefExoticComponent<Headl
4150
4150
  * Built on React Aria for world-class accessibility.
4151
4151
  * Supports four variants: Linear Determinate, Linear Indeterminate,
4152
4152
  * Circular Determinate, and Circular Indeterminate.
4153
- * Implementation uses CVA + Tailwind CSS classes mapped to MD3 tokens.
4153
+ * Implements MD3 Expressive styling: colorful primary-container track,
4154
+ * 4dp indicator-track gap, fully-rounded segments, thick track option,
4155
+ * and optional wavy shape.
4154
4156
  *
4155
4157
  * @example
4156
4158
  * ```tsx
@@ -4169,6 +4171,9 @@ declare const HeadlessDrawerItem: React__default.ForwardRefExoticComponent<Headl
4169
4171
  * // Circular with size
4170
4172
  * <Progress type="circular" indeterminate size="small" aria-label="Loading" />
4171
4173
  *
4174
+ * // Thick wavy linear (MD3 Expressive)
4175
+ * <Progress type="linear" indeterminate shape="wavy" thickness="thick" aria-label="Loading" />
4176
+ *
4172
4177
  * // Custom range
4173
4178
  * <Progress type="linear" minValue={0} maxValue={200} value={150} label="Progress" />
4174
4179
  * ```
@@ -4191,6 +4196,22 @@ interface ProgressProps extends AriaProgressBarProps {
4191
4196
  * @default "medium"
4192
4197
  */
4193
4198
  size?: "small" | "medium" | "large";
4199
+ /**
4200
+ * Visual shape of the progress indicator.
4201
+ * - `"flat"` — standard rounded rectangular/circular track.
4202
+ * - `"wavy"` — MD3 Expressive sine-wave active indicator.
4203
+ * Increases linear container height to accommodate wave amplitude.
4204
+ * Reduced-motion users receive a flat fallback automatically.
4205
+ * @default "flat"
4206
+ */
4207
+ shape?: "flat" | "wavy";
4208
+ /**
4209
+ * Track thickness.
4210
+ * - `"default"` — 4dp per MD3 baseline spec.
4211
+ * - `"thick"` — 8dp MD3 Expressive variant (fully rounded, `trackCornerRadius` = 4dp).
4212
+ * @default "default"
4213
+ */
4214
+ thickness?: "default" | "thick";
4194
4215
  /**
4195
4216
  * Additional CSS classes (Tailwind).
4196
4217
  */
@@ -4206,7 +4227,7 @@ interface ProgressProps extends AriaProgressBarProps {
4206
4227
  * type="linear"
4207
4228
  * value={50}
4208
4229
  * label="Upload"
4209
- * renderProgress={({ percentage }) => (
4230
+ * renderProgress={({ percentage, shape, thickness }) => (
4210
4231
  * <div style={{ width: `${percentage}%` }} />
4211
4232
  * )}
4212
4233
  * />
@@ -4228,6 +4249,16 @@ interface ProgressHeadlessProps extends AriaProgressBarProps {
4228
4249
  * @default "medium"
4229
4250
  */
4230
4251
  size?: "small" | "medium" | "large";
4252
+ /**
4253
+ * Visual shape of the progress indicator.
4254
+ * @default "flat"
4255
+ */
4256
+ shape?: "flat" | "wavy";
4257
+ /**
4258
+ * Track thickness.
4259
+ * @default "default"
4260
+ */
4261
+ thickness?: "default" | "thick";
4231
4262
  /**
4232
4263
  * Additional CSS classes.
4233
4264
  */
@@ -4245,6 +4276,8 @@ interface ProgressHeadlessProps extends AriaProgressBarProps {
4245
4276
  isIndeterminate: boolean;
4246
4277
  type: "linear" | "circular";
4247
4278
  size: "small" | "medium" | "large";
4279
+ shape: "flat" | "wavy";
4280
+ thickness: "default" | "thick";
4248
4281
  }) => React__default.ReactNode;
4249
4282
  }
4250
4283
 
@@ -4252,23 +4285,20 @@ interface ProgressHeadlessProps extends AriaProgressBarProps {
4252
4285
  * Material Design 3 Progress Indicator (Layer 3: Styled)
4253
4286
  *
4254
4287
  * Built on React Aria for world-class accessibility.
4255
- * Supports four variants driven by `type` + `indeterminate` props:
4288
+ * Implements MD3 Expressive spec:
4289
+ * - Colorful track: primary-container (inactive), primary (active)
4290
+ * - 4dp indicator-track gap (linear + circular)
4291
+ * - Fully-rounded segments
4292
+ * - Optional thick (8dp) track
4293
+ * - Optional wavy shape with amplitude ramp
4294
+ * - useReducedMotion guard: wavy falls back to flat when reduced-motion is set
4295
+ *
4296
+ * Four variants driven by `type` × `indeterminate`:
4256
4297
  * - Linear Determinate
4257
4298
  * - Linear Indeterminate
4258
4299
  * - Circular Determinate
4259
4300
  * - Circular Indeterminate
4260
4301
  *
4261
- * MD3 Specifications:
4262
- * - Linear track height: 4dp (h-1)
4263
- * - Linear track shape: rounded-full
4264
- * - Circular default size: 48dp (medium)
4265
- * - Circular stroke width: 4dp (SVG attribute)
4266
- * - Active track: primary
4267
- * - Inactive track: surface-container-highest
4268
- * - Determinate transitions: duration-medium4 + ease-standard
4269
- * - Indeterminate linear cycle: duration-long2
4270
- * - Indeterminate circular rotation: duration-long4
4271
- *
4272
4302
  * @example
4273
4303
  * ```tsx
4274
4304
  * // Linear determinate
@@ -4283,8 +4313,8 @@ interface ProgressHeadlessProps extends AriaProgressBarProps {
4283
4313
  * // Circular indeterminate
4284
4314
  * <Progress type="circular" indeterminate aria-label="Loading" />
4285
4315
  *
4286
- * // Circular small spinner
4287
- * <Progress type="circular" indeterminate size="small" aria-label="Loading" />
4316
+ * // Thick wavy (MD3 Expressive)
4317
+ * <Progress type="linear" indeterminate shape="wavy" thickness="thick" aria-label="Loading" />
4288
4318
  * ```
4289
4319
  */
4290
4320
  declare const Progress: React__default.ForwardRefExoticComponent<ProgressProps & React__default.RefAttributes<HTMLDivElement>>;
@@ -4300,7 +4330,7 @@ declare const Progress: React__default.ForwardRefExoticComponent<ProgressProps &
4300
4330
  * - Determinate and indeterminate progress support
4301
4331
  * - Internationalized value label formatting via React Aria
4302
4332
  * - Label linkage via aria-labelledby / aria-label
4303
- * - Render prop for custom visual rendering
4333
+ * - Render prop for custom visual rendering (receives shape + thickness)
4304
4334
  *
4305
4335
  * @example
4306
4336
  * ```tsx
@@ -4308,7 +4338,7 @@ declare const Progress: React__default.ForwardRefExoticComponent<ProgressProps &
4308
4338
  * <ProgressHeadless
4309
4339
  * value={50}
4310
4340
  * label="Upload"
4311
- * renderProgress={({ percentage }) => (
4341
+ * renderProgress={({ percentage, shape, thickness }) => (
4312
4342
  * <div style={{ width: `${percentage}%` }} />
4313
4343
  * )}
4314
4344
  * />