@revikornmann/muka-ui 0.28.0 → 0.29.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.
Files changed (51) hide show
  1. package/dist/cjs/components/Alert/Alert.css +4 -3
  2. package/dist/cjs/components/Alert/Alert.js +1 -1
  3. package/dist/cjs/components/Alert/Alert.js.map +1 -1
  4. package/dist/cjs/components/Badge/Badge.css +27 -0
  5. package/dist/cjs/components/Badge/Badge.js +14 -5
  6. package/dist/cjs/components/Badge/Badge.js.map +1 -1
  7. package/dist/cjs/components/MediaViewer/MediaViewer.css +4 -1
  8. package/dist/cjs/components/MediaViewer/MediaViewer.js +2 -0
  9. package/dist/cjs/components/MediaViewer/MediaViewer.js.map +1 -1
  10. package/dist/cjs/components/PhotoUploader/PhotoUploader.css +6 -18
  11. package/dist/cjs/components/PhotoUploader/PhotoUploader.js +15 -16
  12. package/dist/cjs/components/PhotoUploader/PhotoUploader.js.map +1 -1
  13. package/dist/cjs/components/ProgressAccordeon/ProgressAccordeon.css +26 -12
  14. package/dist/cjs/components/ProgressAccordeon/ProgressAccordeon.js +49 -40
  15. package/dist/cjs/components/ProgressAccordeon/ProgressAccordeon.js.map +1 -1
  16. package/dist/esm/components/Alert/Alert.css +4 -3
  17. package/dist/esm/components/Alert/Alert.js +1 -1
  18. package/dist/esm/components/Alert/Alert.js.map +1 -1
  19. package/dist/esm/components/Badge/Badge.css +27 -0
  20. package/dist/esm/components/Badge/Badge.js +14 -5
  21. package/dist/esm/components/Badge/Badge.js.map +1 -1
  22. package/dist/esm/components/MediaViewer/MediaViewer.css +4 -1
  23. package/dist/esm/components/MediaViewer/MediaViewer.js +2 -0
  24. package/dist/esm/components/MediaViewer/MediaViewer.js.map +1 -1
  25. package/dist/esm/components/PhotoUploader/PhotoUploader.css +6 -18
  26. package/dist/esm/components/PhotoUploader/PhotoUploader.js +15 -16
  27. package/dist/esm/components/PhotoUploader/PhotoUploader.js.map +1 -1
  28. package/dist/esm/components/ProgressAccordeon/ProgressAccordeon.css +26 -12
  29. package/dist/esm/components/ProgressAccordeon/ProgressAccordeon.js +49 -40
  30. package/dist/esm/components/ProgressAccordeon/ProgressAccordeon.js.map +1 -1
  31. package/dist/styles/components/Alert.css +4 -3
  32. package/dist/styles/components/Badge.css +27 -0
  33. package/dist/styles/components/MediaViewer.css +4 -1
  34. package/dist/styles/components/PhotoUploader.css +6 -18
  35. package/dist/styles/components/ProgressAccordeon.css +26 -12
  36. package/dist/styles/index.css +1549 -1516
  37. package/dist/styles/muka-dark.css +1549 -1516
  38. package/dist/styles/muka-light.css +1549 -1516
  39. package/dist/styles/wireframe-dark.css +1549 -1516
  40. package/dist/styles/wireframe-light.css +1549 -1516
  41. package/dist/types/components/Alert/Alert.d.ts +1 -1
  42. package/dist/types/components/Alert/Alert.d.ts.map +1 -1
  43. package/dist/types/components/Badge/Badge.d.ts +7 -5
  44. package/dist/types/components/Badge/Badge.d.ts.map +1 -1
  45. package/dist/types/components/MediaViewer/MediaViewer.d.ts +2 -0
  46. package/dist/types/components/MediaViewer/MediaViewer.d.ts.map +1 -1
  47. package/dist/types/components/PhotoUploader/PhotoUploader.d.ts +8 -8
  48. package/dist/types/components/PhotoUploader/PhotoUploader.d.ts.map +1 -1
  49. package/dist/types/components/ProgressAccordeon/ProgressAccordeon.d.ts +36 -29
  50. package/dist/types/components/ProgressAccordeon/ProgressAccordeon.d.ts.map +1 -1
  51. package/package.json +1 -1
@@ -17,7 +17,7 @@ export interface AlertProps {
17
17
  dismissible?: boolean;
18
18
  /** Callback when dismissed */
19
19
  onDismiss?: () => void;
20
- /** Action element (button/link) rendered on the right */
20
+ /** Action element (typically a TextLink) rendered below the message */
21
21
  action?: React.ReactNode;
22
22
  /** Additional CSS classes */
23
23
  className?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Alert.d.ts","sourceRoot":"","sources":["../../../../components/Alert/Alert.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,aAAa,CAAC;AAGrB,MAAM,WAAW,UAAU;IACzB,oBAAoB;IACpB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IAEnD,mBAAmB;IACnB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAE1B,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,kDAAkD;IAClD,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEvB,oBAAoB;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,0CAA0C;IAC1C,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IAEvB,yDAAyD;IACzD,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEzB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,2EAA2E;IAC3E,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;CACpC;AAUD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CA8DtC,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"Alert.d.ts","sourceRoot":"","sources":["../../../../components/Alert/Alert.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,aAAa,CAAC;AAGrB,MAAM,WAAW,UAAU;IACzB,oBAAoB;IACpB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IAEnD,mBAAmB;IACnB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAE1B,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,kDAAkD;IAClD,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEvB,oBAAoB;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,0CAA0C;IAC1C,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IAEvB,uEAAuE;IACvE,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEzB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,2EAA2E;IAC3E,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;CACpC;AAUD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CA6DtC,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -1,19 +1,21 @@
1
1
  import React from 'react';
2
2
  import './Badge.css';
3
3
  export interface BadgeProps {
4
- /** Badge label / content */
5
- children: React.ReactNode;
4
+ /** Badge label / content. Optional when `iconOnly` is true. */
5
+ children?: React.ReactNode;
6
6
  /** Color variant */
7
7
  variant?: 'neutral' | 'info' | 'success' | 'warning' | 'error';
8
8
  /** Size */
9
9
  size?: 'sm' | 'md' | 'lg';
10
- /** Optional leading icon */
10
+ /** Optional leading icon (or sole content when `iconOnly`) */
11
11
  icon?: React.ReactNode;
12
+ /** Hide the label and render a square icon-only badge */
13
+ iconOnly?: boolean;
12
14
  /** Show a dot indicator instead of icon */
13
15
  dot?: boolean;
14
16
  /** Additional CSS classes */
15
17
  className?: string;
16
- /** Accessible label for the badge */
18
+ /** Accessible label for the badge (required when `iconOnly`) */
17
19
  'aria-label'?: string;
18
20
  }
19
21
  /**
@@ -24,7 +26,7 @@ export interface BadgeProps {
24
26
  *
25
27
  * Variants: neutral, info, success, warning, error
26
28
  * Sizes: sm, md, lg
27
- * Features: optional leading icon or dot indicator
29
+ * Features: optional leading icon, icon-only, or dot indicator
28
30
  */
29
31
  export declare const Badge: React.FC<BadgeProps>;
30
32
  export default Badge;
@@ -1 +1 @@
1
- {"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../../../components/Badge/Badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,aAAa,CAAC;AAErB,MAAM,WAAW,UAAU;IACzB,4BAA4B;IAC5B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,oBAAoB;IACpB,OAAO,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IAE/D,WAAW;IACX,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAE1B,4BAA4B;IAC5B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEvB,2CAA2C;IAC3C,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,qCAAqC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CA+BtC,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../../../components/Badge/Badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,aAAa,CAAC;AAErB,MAAM,WAAW,UAAU;IACzB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B,oBAAoB;IACpB,OAAO,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IAE/D,WAAW;IACX,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAE1B,8DAA8D;IAC9D,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEvB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,2CAA2C;IAC3C,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,gEAAgE;IAChE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CA8CtC,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -64,6 +64,8 @@ export interface MediaViewerProps {
64
64
  * - **Desktop:** previous/next buttons on hover or focus, and ← / →.
65
65
  * - **Close:** the close button, Escape, or swiping down. A tap on the dark
66
66
  * stage does not close it, so a mis-aimed tap can't swallow an action.
67
+ * - **Saving:** a long press on the image opens the OS menu (save, share,
68
+ * copy), so the viewer needs no download or share button of its own.
67
69
  * - **Slots:** `caption`, `meta` (a `Badge`) and `actions` (buttons) render
68
70
  * under the image for the current `index`.
69
71
  * - **Pagination:** `onEndReached` fires near the end so more items can be
@@ -1 +1 @@
1
- {"version":3,"file":"MediaViewer.d.ts","sourceRoot":"","sources":["../../../../components/MediaViewer/MediaViewer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoE,MAAM,OAAO,CAAC;AAWzF,OAAO,mBAAmB,CAAC;AAE3B,MAAM,WAAW,eAAe;IAC9B,uBAAuB;IACvB,GAAG,EAAE,MAAM,CAAC;IAEZ,6BAA6B;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,gBAAgB;IAC/B,iCAAiC;IACjC,IAAI,EAAE,OAAO,CAAC;IAEd,2CAA2C;IAC3C,KAAK,EAAE,eAAe,EAAE,CAAC;IAEzB,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IAEd,6EAA6E;IAC7E,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEvC,8EAA8E;IAC9E,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB;;;OAGG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,2DAA2D;IAC3D,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEvB,qEAAqE;IACrE,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAE1B,oEAAoE;IACpE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,0DAA0D;IAC1D,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAExD,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,oEAAoE;IACpE,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,+DAA+D;IAC/D,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA0BD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAyVlD,CAAC;AAIF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"MediaViewer.d.ts","sourceRoot":"","sources":["../../../../components/MediaViewer/MediaViewer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoE,MAAM,OAAO,CAAC;AAWzF,OAAO,mBAAmB,CAAC;AAE3B,MAAM,WAAW,eAAe;IAC9B,uBAAuB;IACvB,GAAG,EAAE,MAAM,CAAC;IAEZ,6BAA6B;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,gBAAgB;IAC/B,iCAAiC;IACjC,IAAI,EAAE,OAAO,CAAC;IAEd,2CAA2C;IAC3C,KAAK,EAAE,eAAe,EAAE,CAAC;IAEzB,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IAEd,6EAA6E;IAC7E,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEvC,8EAA8E;IAC9E,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB;;;OAGG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,2DAA2D;IAC3D,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEvB,qEAAqE;IACrE,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAE1B,oEAAoE;IACpE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,0DAA0D;IAC1D,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAExD,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,oEAAoE;IACpE,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,+DAA+D;IAC/D,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA0BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAyVlD,CAAC;AAIF,eAAe,WAAW,CAAC"}
@@ -27,11 +27,11 @@ export interface PhotoUploaderProps extends Omit<React.HTMLAttributes<HTMLDivEle
27
27
  * preview regenerated. Throwing marks the photo as errored/corrupt.
28
28
  */
29
29
  processFile?: (file: File) => Promise<File>;
30
- /** Thumbnail shape / aspect ratio (default: "4:3") */
30
+ /** Thumbnail shape / aspect ratio (default: "1:1") */
31
31
  shape?: 'ellipse' | '1:1' | '4:3';
32
- /** Label for the "choose photos" button (default: "Choose photos") */
32
+ /** Label for the select-photos button (default: "Select photo’s") */
33
33
  chooseLabel?: string;
34
- /** Text shown in the drop zone (default: "Or drag photos here") */
34
+ /** Text shown under the button in the drop zone (default: "or drop here") */
35
35
  dropzoneLabel?: string;
36
36
  /** Title shown in the enlarged-photo dialog */
37
37
  dialogTitle?: string;
@@ -57,11 +57,11 @@ export interface PhotoUploaderProps extends Omit<React.HTMLAttributes<HTMLDivEle
57
57
  /**
58
58
  * PhotoUploader Component
59
59
  *
60
- * A photo-first uploader: a primary "choose photos" button, a grid of
61
- * `Thumbnail` tiles for the selected photos, and a drop-zone card. Each
62
- * thumbnail shows a progress donut while uploading, a remove (×) button once
63
- * loaded, and — when `enableDialog` is set — opens the photo full-size in a
64
- * `Dialog` (original aspect ratio preserved) on click.
60
+ * A photo-first uploader: a drop-zone card with a secondary "Select photo’s"
61
+ * button and "or drop here" hint, plus a wrapping grid of `Thumbnail` tiles
62
+ * above the card once photos are added. Each thumbnail shows a progress donut
63
+ * while uploading, a remove (×) button once loaded, and — when `enableDialog`
64
+ * is set — opens the photo full-size in a `Dialog` on click.
65
65
  *
66
66
  * Photos can be supplied controlled (`files` + `onFilesChange`) or left
67
67
  * uncontrolled. Provide `uploadFn` to drive per-photo upload progress.
@@ -1 +1 @@
1
- {"version":3,"file":"PhotoUploader.d.ts","sourceRoot":"","sources":["../../../../components/PhotoUploader/PhotoUploader.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA+D,MAAM,OAAO,CAAC;AAMpF,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,YAAY,EACb,MAAM,eAAe,CAAC;AACvB,OAAO,qBAAqB,CAAC;AAE7B,YAAY,EACV,cAAc,EACd,eAAe,EACf,YAAY,GACb,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,kBACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC1E,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,uCAAuC;IACvC,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IAEzB,8CAA8C;IAC9C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;IAElD,8CAA8C;IAC9C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAE3C,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAEzF;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5C,sDAAsD;IACtD,KAAK,CAAC,EAAE,SAAS,GAAG,KAAK,GAAG,KAAK,CAAC;IAElC,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,mEAAmE;IACnE,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,0DAA0D;IAC1D,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,oFAAoF;IACpF,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC,oFAAoF;IACpF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,sEAAsE;IACtE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,4EAA4E;IAC5E,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,+DAA+D;IAC/D,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAE5C,0FAA0F;IAC1F,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAUD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,2FAuczB,CAAC;AAIF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"PhotoUploader.d.ts","sourceRoot":"","sources":["../../../../components/PhotoUploader/PhotoUploader.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA+D,MAAM,OAAO,CAAC;AAMpF,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,YAAY,EACb,MAAM,eAAe,CAAC;AACvB,OAAO,qBAAqB,CAAC;AAE7B,YAAY,EACV,cAAc,EACd,eAAe,EACf,YAAY,GACb,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,kBACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC1E,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,uCAAuC;IACvC,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IAEzB,8CAA8C;IAC9C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;IAElD,8CAA8C;IAC9C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAE3C,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAEzF;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5C,sDAAsD;IACtD,KAAK,CAAC,EAAE,SAAS,GAAG,KAAK,GAAG,KAAK,CAAC;IAElC,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,6EAA6E;IAC7E,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,0DAA0D;IAC1D,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,oFAAoF;IACpF,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC,oFAAoF;IACpF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,sEAAsE;IACtE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,4EAA4E;IAC5E,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,+DAA+D;IAC/D,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAE5C,0FAA0F;IAC1F,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAUD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,2FA6bzB,CAAC;AAIF,eAAe,aAAa,CAAC"}
@@ -12,10 +12,9 @@ export interface ProgressAccordeonAction {
12
12
  export interface ProgressAccordeonProps {
13
13
  /**
14
14
  * Step state:
15
- * - `past` — completed step (check indicator, editable, collapsible content)
16
- * - `current` — active step (numbered accent indicator, content, actions)
17
- * - `upcoming` — future step (numbered muted indicator; optional collapsible
18
- * slot for empty-state instructions or independent step pickup)
15
+ * - `past` — completed step (check indicator, editable, optionally expandable)
16
+ * - `current` — active step (numbered accent indicator, content, optional actions)
17
+ * - `upcoming` — future step (numbered muted indicator; optionally expandable)
19
18
  */
20
19
  state: ProgressAccordeonState;
21
20
  /** Step number shown in the indicator for `current` and `upcoming` states (1-indexed) */
@@ -24,32 +23,49 @@ export interface ProgressAccordeonProps {
24
23
  heading: string;
25
24
  /**
26
25
  * Optional supporting description rendered below the heading (aligned under the
27
- * heading text). Hidden while a collapsible (`past` / `upcoming`) step is collapsed.
26
+ * heading text). Hidden by default — set `showDescription` to show it in both
27
+ * expanded and collapsed states.
28
28
  */
29
29
  description?: React.ReactNode;
30
30
  /**
31
- * Slot content — rendered for `past` and `upcoming` (when expanded) and for
32
- * `current`. Optional: supply your own `Card`, `EmptyState`, or any node.
31
+ * Show the description paragraph (default: false). When true, the paragraph is
32
+ * visible in both expanded and collapsed states.
33
+ */
34
+ showDescription?: boolean;
35
+ /**
36
+ * Slot content — rendered when expanded (and always for a non-collapsible
37
+ * `current` step). Optional: supply your own `Card`, `EmptyState`, or any node.
33
38
  */
34
39
  children?: React.ReactNode;
35
40
  /** Show the trailing divider (default: true) */
36
41
  divider?: boolean;
37
42
  /**
38
- * Collapsed state for collapsible steps (`past` and `upcoming`; default: false).
39
- * When collapsed the content slot is hidden and the toggle shows a down-chevron.
40
- * Ignored for `current`.
43
+ * Collapsed state (default: false). When collapsed the content slot (and
44
+ * current-state action footer) are hidden and the toggle shows a down-chevron.
45
+ * Applies to any state that is expandable (`onToggle` provided), and to `past`
46
+ * / `upcoming` even without a toggle so header-only spacing stays correct.
41
47
  */
42
48
  collapsed?: boolean;
43
49
  /**
44
- * Toggle handler for collapsible steps (`past` and `upcoming`). When provided,
45
- * renders a chevron button that expands/collapses the step (controlled via
46
- * `collapsed`).
50
+ * Toggle handler. When provided, renders the arrow button for **any** state
51
+ * (past, current, or upcoming) and makes the step expandable via `collapsed`.
47
52
  */
48
53
  onToggle?: () => void;
49
- /** Label for the edit button shown in the expanded `past` state (default: "Edit") */
54
+ /**
55
+ * Show the header action button (Edit) when the step is expanded (default: true
56
+ * when `onEdit` is set). Maps to Figma’s ProgressAccordeonHeader “Button header”.
57
+ * Hidden while collapsed.
58
+ */
59
+ showHeaderButton?: boolean;
60
+ /** Label for the header button shown when expanded (default: "Edit") */
50
61
  editLabel?: string;
51
- /** Edit handler — renders the edit button in the expanded `past` state when provided */
62
+ /** Header-button handler — typically used on expanded `past` steps to revisit them */
52
63
  onEdit?: () => void;
64
+ /**
65
+ * Show the current-state action footer when primary/secondary actions are set
66
+ * (default: true). Set to `false` to hide the footer while keeping action props.
67
+ */
68
+ showActions?: boolean;
53
69
  /** Primary action button shown below the content in the `current` state */
54
70
  primaryAction?: ProgressAccordeonAction;
55
71
  /** Secondary action button shown below the content in the `current` state */
@@ -65,27 +81,18 @@ export interface ProgressAccordeonProps {
65
81
  * content slot — visualising both progress and the work for a step.
66
82
  *
67
83
  * States:
68
- * - **past** — dark check indicator, heading, edit + chevron controls; the
69
- * content slot collapses/expands via `collapsed` + `onToggle`
70
- * - **current** — accent numbered indicator, heading, content slot, actions
84
+ * - **past** — dark check indicator, heading, optional header button + chevron;
85
+ * the content slot collapses/expands via `collapsed` + `onToggle`
86
+ * - **current** — accent numbered indicator, heading, content slot, optional
87
+ * actions; pass `onToggle` to make the active step expandable too
71
88
  * - **upcoming** — muted numbered indicator, heading; optional collapsible
72
- * content slot (same `collapsed` + `onToggle` as past) for empty-state
73
- * instructions or picking up a step out of order
89
+ * content slot for empty-state instructions or picking up a step out of order
74
90
  *
75
91
  * Content is passed as `children` (an optional slot) and rendered as-is — supply
76
92
  * your own `Card` or `EmptyState` when you want those surfaces. Composes the
77
93
  * Button, Icon and Divider primitives and is fully themed through the Muka
78
94
  * design token system.
79
95
  *
80
- * Tokens used:
81
- * - alias.color.accent.{default|contrast} — step indicator fills
82
- * - color.surface.sunken — upcoming indicator fill
83
- * - color.text.default.{default|inverse} — indicator glyphs
84
- * - text.heading.{md|sm} — step heading (responsive)
85
- * - text.body.base.regular — supporting description
86
- * - text.label.md.{bold|semibold} — indicator number
87
- * - spacing.{1|4|6|8} — vertical rhythm and gaps
88
- *
89
96
  * @accessibility
90
97
  * - Renders each step as a labelled group with `aria-current="step"` on the
91
98
  * active (current) step.
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressAccordeon.d.ts","sourceRoot":"","sources":["../../../../components/ProgressAccordeon/ProgressAccordeon.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,yBAAyB,CAAC;AAEjC,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;AAErE,MAAM,WAAW,uBAAuB;IACtC,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC;;;;;;OAMG;IACH,KAAK,EAAE,sBAAsB,CAAC;IAE9B,yFAAyF;IACzF,UAAU,EAAE,MAAM,CAAC;IAEnB,wBAAwB;IACxB,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE9B;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B,gDAAgD;IAChD,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAEtB,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,wFAAwF;IACxF,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAEpB,2EAA2E;IAC3E,aAAa,CAAC,EAAE,uBAAuB,CAAC;IAExC,6EAA6E;IAC7E,eAAe,CAAC,EAAE,uBAAuB,CAAC;IAE1C,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAiN9D,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"ProgressAccordeon.d.ts","sourceRoot":"","sources":["../../../../components/ProgressAccordeon/ProgressAccordeon.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,yBAAyB,CAAC;AAEjC,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;AAErE,MAAM,WAAW,uBAAuB;IACtC,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC;;;;;OAKG;IACH,KAAK,EAAE,sBAAsB,CAAC;IAE9B,yFAAyF;IACzF,UAAU,EAAE,MAAM,CAAC;IAEnB,wBAAwB;IACxB,OAAO,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE9B;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B,gDAAgD;IAChD,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAEtB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,sFAAsF;IACtF,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAEpB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,2EAA2E;IAC3E,aAAa,CAAC,EAAE,uBAAuB,CAAC;IAExC,6EAA6E;IAC7E,eAAe,CAAC,EAAE,uBAAuB,CAAC;IAE1C,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAgP9D,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@revikornmann/muka-ui",
3
- "version": "0.28.0",
3
+ "version": "0.29.0",
4
4
  "description": "Muka Design System - Multi-brand design tokens and React components",
5
5
  "main": "dist/cjs/components/index.js",
6
6
  "module": "dist/esm/components/index.js",