@clicoh/orion-library 1.2.0-beta.23 → 1.2.0-beta.25

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 (112) hide show
  1. package/assets/css/expresivo.css +136 -11
  2. package/dist/components/00-base/RootLayout/RootLayout.d.ts.map +1 -1
  3. package/dist/components/00-base/RootLayout/RootLayout.jsx +1 -0
  4. package/dist/components/00-base/RootLayout/RootLayout.jsx.map +1 -1
  5. package/dist/components/01-atoms/ChipButton/ChipButton.d.ts +24 -0
  6. package/dist/components/01-atoms/ChipButton/ChipButton.d.ts.map +1 -0
  7. package/dist/components/01-atoms/ChipButton/ChipButton.jsx +26 -0
  8. package/dist/components/01-atoms/ChipButton/ChipButton.jsx.map +1 -0
  9. package/dist/components/01-atoms/ChipButton/index.d.ts +2 -0
  10. package/dist/components/01-atoms/ChipButton/index.d.ts.map +1 -0
  11. package/dist/components/01-atoms/ChipButton/index.js +2 -0
  12. package/dist/components/01-atoms/ChipButton/index.js.map +1 -0
  13. package/dist/components/01-atoms/CodeBlock/CodeBlock.d.ts +19 -5
  14. package/dist/components/01-atoms/CodeBlock/CodeBlock.d.ts.map +1 -1
  15. package/dist/components/01-atoms/CodeBlock/CodeBlock.jsx +41 -9
  16. package/dist/components/01-atoms/CodeBlock/CodeBlock.jsx.map +1 -1
  17. package/dist/components/01-atoms/MultiSelect/MultiSelect.d.ts.map +1 -1
  18. package/dist/components/01-atoms/MultiSelect/MultiSelect.jsx +12 -8
  19. package/dist/components/01-atoms/MultiSelect/MultiSelect.jsx.map +1 -1
  20. package/dist/components/01-atoms/Radio/Radio.d.ts.map +1 -1
  21. package/dist/components/01-atoms/Radio/Radio.jsx +2 -0
  22. package/dist/components/01-atoms/Radio/Radio.jsx.map +1 -1
  23. package/dist/components/01-atoms/Select/SelectList.d.ts.map +1 -1
  24. package/dist/components/01-atoms/Select/SelectList.jsx +1 -0
  25. package/dist/components/01-atoms/Select/SelectList.jsx.map +1 -1
  26. package/dist/components/01-atoms/Switch/Switch.d.ts.map +1 -1
  27. package/dist/components/01-atoms/Switch/Switch.jsx +11 -7
  28. package/dist/components/01-atoms/Switch/Switch.jsx.map +1 -1
  29. package/dist/components/01-atoms/index.d.ts +1 -0
  30. package/dist/components/01-atoms/index.d.ts.map +1 -1
  31. package/dist/components/01-atoms/index.js +1 -0
  32. package/dist/components/01-atoms/index.js.map +1 -1
  33. package/dist/components/02-molecules/Autocomplete/Autocomplete.d.ts.map +1 -1
  34. package/dist/components/02-molecules/Autocomplete/Autocomplete.jsx +52 -47
  35. package/dist/components/02-molecules/Autocomplete/Autocomplete.jsx.map +1 -1
  36. package/dist/components/02-molecules/DatePicker/DatePicker.d.ts.map +1 -1
  37. package/dist/components/02-molecules/DatePicker/DatePicker.jsx +11 -6
  38. package/dist/components/02-molecules/DatePicker/DatePicker.jsx.map +1 -1
  39. package/dist/components/02-molecules/Dropdown/Dropdown.jsx +6 -6
  40. package/dist/components/02-molecules/Dropdown/Dropdown.jsx.map +1 -1
  41. package/dist/components/02-molecules/Filter/Filter.d.ts.map +1 -1
  42. package/dist/components/02-molecules/Filter/Filter.jsx +17 -8
  43. package/dist/components/02-molecules/Filter/Filter.jsx.map +1 -1
  44. package/dist/components/02-molecules/Menu/MenuList.d.ts.map +1 -1
  45. package/dist/components/02-molecules/Menu/MenuList.jsx +8 -5
  46. package/dist/components/02-molecules/Menu/MenuList.jsx.map +1 -1
  47. package/dist/components/02-molecules/Table/Table.d.ts +28 -1
  48. package/dist/components/02-molecules/Table/Table.d.ts.map +1 -1
  49. package/dist/components/02-molecules/Table/Table.jsx +126 -76
  50. package/dist/components/02-molecules/Table/Table.jsx.map +1 -1
  51. package/dist/components/02-molecules/Table/index.d.ts +1 -1
  52. package/dist/components/02-molecules/Table/index.d.ts.map +1 -1
  53. package/dist/components/02-molecules/TimePicker/TimePicker.d.ts.map +1 -1
  54. package/dist/components/02-molecules/TimePicker/TimePicker.jsx +8 -6
  55. package/dist/components/02-molecules/TimePicker/TimePicker.jsx.map +1 -1
  56. package/dist/components/04-templates/DashboardTemplate/DashboardTemplate.d.ts +3 -1
  57. package/dist/components/04-templates/DashboardTemplate/DashboardTemplate.d.ts.map +1 -1
  58. package/dist/components/04-templates/DashboardTemplate/DashboardTemplate.jsx +7 -3
  59. package/dist/components/04-templates/DashboardTemplate/DashboardTemplate.jsx.map +1 -1
  60. package/dist/components/04-templates/LoginTemplate/LoginForm.d.ts +5 -2
  61. package/dist/components/04-templates/LoginTemplate/LoginForm.d.ts.map +1 -1
  62. package/dist/components/04-templates/LoginTemplate/LoginForm.jsx +10 -5
  63. package/dist/components/04-templates/LoginTemplate/LoginForm.jsx.map +1 -1
  64. package/expresivo/ExpCollapseToggle/ExpCollapseToggle.d.ts +6 -2
  65. package/expresivo/ExpCollapseToggle/ExpCollapseToggle.d.ts.map +1 -1
  66. package/expresivo/ExpCollapseToggle/ExpCollapseToggle.jsx +5 -3
  67. package/expresivo/ExpCollapseToggle/ExpCollapseToggle.jsx.map +1 -1
  68. package/expresivo/ExpJourneyTrack/ExpJourneyTrack.d.ts.map +1 -1
  69. package/expresivo/ExpJourneyTrack/ExpJourneyTrack.jsx +23 -9
  70. package/expresivo/ExpJourneyTrack/ExpJourneyTrack.jsx.map +1 -1
  71. package/expresivo/ExpLadder/ExpLadder.d.ts +2 -1
  72. package/expresivo/ExpLadder/ExpLadder.d.ts.map +1 -1
  73. package/expresivo/ExpLadder/ExpLadder.jsx +7 -4
  74. package/expresivo/ExpLadder/ExpLadder.jsx.map +1 -1
  75. package/expresivo/ExpLogo/ExpLogo.d.ts.map +1 -1
  76. package/expresivo/ExpLogo/ExpLogo.jsx +3 -0
  77. package/expresivo/ExpLogo/ExpLogo.jsx.map +1 -1
  78. package/expresivo/ExpMascot/ExpMascot.d.ts +6 -2
  79. package/expresivo/ExpMascot/ExpMascot.d.ts.map +1 -1
  80. package/expresivo/ExpMascot/ExpMascot.jsx +7 -3
  81. package/expresivo/ExpMascot/ExpMascot.jsx.map +1 -1
  82. package/expresivo/ExpPageHero/ExpPageHero.d.ts +21 -5
  83. package/expresivo/ExpPageHero/ExpPageHero.d.ts.map +1 -1
  84. package/expresivo/ExpPageHero/ExpPageHero.jsx +28 -8
  85. package/expresivo/ExpPageHero/ExpPageHero.jsx.map +1 -1
  86. package/expresivo/ExpPageHero/index.d.ts +1 -1
  87. package/expresivo/ExpPageHero/index.d.ts.map +1 -1
  88. package/expresivo/ExpPillButton/ExpPillButton.d.ts +8 -4
  89. package/expresivo/ExpPillButton/ExpPillButton.d.ts.map +1 -1
  90. package/expresivo/ExpPillButton/ExpPillButton.jsx +42 -12
  91. package/expresivo/ExpPillButton/ExpPillButton.jsx.map +1 -1
  92. package/expresivo/ExpPillButton/index.d.ts +1 -1
  93. package/expresivo/ExpPillButton/index.d.ts.map +1 -1
  94. package/expresivo/ExpRepoAvatar/ExpRepoAvatar.d.ts.map +1 -1
  95. package/expresivo/ExpRepoAvatar/ExpRepoAvatar.jsx +1 -0
  96. package/expresivo/ExpRepoAvatar/ExpRepoAvatar.jsx.map +1 -1
  97. package/expresivo/ExpStatIcon/ExpStatIcon.d.ts.map +1 -1
  98. package/expresivo/ExpStatIcon/ExpStatIcon.jsx +1 -0
  99. package/expresivo/ExpStatIcon/ExpStatIcon.jsx.map +1 -1
  100. package/expresivo/ExpTabs/ExpTabs.d.ts +52 -0
  101. package/expresivo/ExpTabs/ExpTabs.d.ts.map +1 -0
  102. package/expresivo/ExpTabs/ExpTabs.jsx +105 -0
  103. package/expresivo/ExpTabs/ExpTabs.jsx.map +1 -0
  104. package/expresivo/ExpTabs/index.d.ts +3 -0
  105. package/expresivo/ExpTabs/index.d.ts.map +1 -0
  106. package/expresivo/ExpTabs/index.js +2 -0
  107. package/expresivo/ExpTabs/index.js.map +1 -0
  108. package/expresivo/index.d.ts +1 -0
  109. package/expresivo/index.d.ts.map +1 -1
  110. package/expresivo/index.js +1 -0
  111. package/expresivo/index.js.map +1 -1
  112. package/package.json +1 -1
@@ -1,3 +1,4 @@
1
+ import clsx from 'clsx';
1
2
  import { Suspense } from 'react';
2
3
  import { Container } from '../../02-molecules';
3
4
  import { BreadcrumbSkeleton } from '../../02-molecules/Breadcrumb/BreadcrumbSkeleton';
@@ -50,14 +51,17 @@ import { HeadingWithTitleSkeleton } from './HeadingWithTitleSkeleton';
50
51
  * @param {ReactNode} [props.titleDescription] - Content under the title, inside the title band.
51
52
  * @param {ReactNode} [props.titleChildren] - Content at the right of the title; it moves under the title on small screens.
52
53
  * @param {ReactNode} [props.heading] - Replaces the title row under the breadcrumb. With it, `headingTitles`, `headingLevel`, `titleAdornment`, `titleDescription` and `titleChildren` are ignored; the breadcrumb still uses `pageTitles`.
54
+ * @param {boolean} [props.stickyHeader=false] - Keeps the header and the rule under it at the top of the window while the page scrolls, on the page background and under overlays (`z-40`). Content that scrolls to an element (anchors, `focus()`) needs a `scroll-padding-top` the height of the header.
53
55
  * @param {ReactNode} props.children - The main content to be rendered within the dashboard.
54
56
  *
55
57
  * @returns {ReactNode} The rendered DashboardTemplate component.
56
58
  */
57
- export function DashboardTemplate({ headerProps, pageTitles, headingTitles, headingLevel, titleAdornment, titleDescription, titleChildren, heading, children, breadcrumbLoadingLabel, headingLoadingLabel, }) {
59
+ export function DashboardTemplate({ headerProps, pageTitles, headingTitles, headingLevel, titleAdornment, titleDescription, titleChildren, heading, stickyHeader = false, children, breadcrumbLoadingLabel, headingLoadingLabel, }) {
58
60
  return (<>
59
- <Header {...headerProps}/>
60
- <hr className="border-gray-5 dark:border-gray-dark-1"/>
61
+ <div className={clsx(stickyHeader && 'sticky top-0 z-40 bg-(--body-bg-color)')}>
62
+ <Header {...headerProps}/>
63
+ <hr className="border-gray-5 dark:border-gray-dark-1"/>
64
+ </div>
61
65
  <Container className="grid gap-2 py-4">
62
66
  <Suspense fallback={<BreadcrumbSkeleton loadingLabel={breadcrumbLoadingLabel}/>}>
63
67
  <BreadcrumbWithPathname homeHref={headerProps.homeHref} pageTitles={pageTitles}/>
@@ -1 +1 @@
1
- {"version":3,"file":"DashboardTemplate.jsx","sourceRoot":"","sources":["../../../../src/components/04-templates/DashboardTemplate/DashboardTemplate.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAa,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AACtF,OAAO,EAAE,MAAM,EAAe,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAyB,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAgBtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAChC,WAAW,EACX,UAAU,EACV,aAAa,EACb,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,OAAO,EACP,QAAQ,EACR,sBAAsB,EACtB,mBAAmB,GACI;IACvB,OAAO,CACL,EACE;MAAA,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,EACxB;MAAA,CAAC,EAAE,CAAC,SAAS,CAAC,uCAAuC,EACrD;MAAA,CAAC,SAAS,CAAC,SAAS,CAAC,iBAAiB,CACpC;QAAA,CAAC,QAAQ,CACP,QAAQ,CAAC,CACP,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,sBAAsB,CAAC,EAC3D,CAAC,CAED;UAAA,CAAC,sBAAsB,CACrB,QAAQ,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAC/B,UAAU,CAAC,CAAC,UAAU,CAAC,EAE3B;QAAA,EAAE,QAAQ,CACV;QAAA,CAAC,OAAO,IAAI,CACV,CAAC,GAAG,CAAC,SAAS,CAAC,gEAAgE,CAC7E;YAAA,CAAC,GAAG,CAAC,SAAS,CAAC,6BAA6B,CAC1C;cAAA,CAAC,GAAG,CAAC,SAAS,CAAC,qDAAqD,CAClE;gBAAA,CAAC,QAAQ,CACP,QAAQ,CAAC,CACP,CAAC,wBAAwB,CACvB,YAAY,CAAC,CAAC,mBAAmB,CAAC,EAEtC,CAAC,CAED;kBAAA,CAAC,gBAAgB,CACf,UAAU,CAAC,CAAC,UAAU,CAAC,CACvB,aAAa,CAAC,CAAC,aAAa,CAAC,CAC7B,KAAK,CAAC,CAAC,YAAY,CAAC,EAExB;gBAAA,EAAE,QAAQ,CACV;gBAAA,CAAC,cAAc,CACjB;cAAA,EAAE,GAAG,CACL;cAAA,CAAC,CAAC,CAAC,gBAAgB,IAAI,CACrB,CAAC,GAAG,CAAC,SAAS,CAAC,sCAAsC,CACnD;kBAAA,CAAC,gBAAgB,CACnB;gBAAA,EAAE,GAAG,CAAC,CACP,CACH;YAAA,EAAE,GAAG,CACL;YAAA,CAAC,aAAa,CAChB;UAAA,EAAE,GAAG,CAAC,CACP,CACH;MAAA,EAAE,SAAS,CACX;MAAA,CAAC,EAAE,CAAC,SAAS,CAAC,uCAAuC,EACrD;MAAA,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CACnC;QAAA,CAAC,QAAQ,CACX;MAAA,EAAE,SAAS,CACb;IAAA,GAAG,CACJ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"DashboardTemplate.jsx","sourceRoot":"","sources":["../../../../src/components/04-templates/DashboardTemplate/DashboardTemplate.tsx"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAa,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AACtF,OAAO,EAAE,MAAM,EAAe,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAyB,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAiBtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAChC,WAAW,EACX,UAAU,EACV,aAAa,EACb,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,OAAO,EACP,YAAY,GAAG,KAAK,EACpB,QAAQ,EACR,sBAAsB,EACtB,mBAAmB,GACI;IACvB,OAAO,CACL,EACE;MAAA,CAAC,GAAG,CACF,SAAS,CAAC,CAAC,IAAI,CACb,YAAY,IAAI,wCAAwC,CACzD,CAAC,CAEF;QAAA,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,EACxB;QAAA,CAAC,EAAE,CAAC,SAAS,CAAC,uCAAuC,EACvD;MAAA,EAAE,GAAG,CACL;MAAA,CAAC,SAAS,CAAC,SAAS,CAAC,iBAAiB,CACpC;QAAA,CAAC,QAAQ,CACP,QAAQ,CAAC,CACP,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,sBAAsB,CAAC,EAC3D,CAAC,CAED;UAAA,CAAC,sBAAsB,CACrB,QAAQ,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAC/B,UAAU,CAAC,CAAC,UAAU,CAAC,EAE3B;QAAA,EAAE,QAAQ,CACV;QAAA,CAAC,OAAO,IAAI,CACV,CAAC,GAAG,CAAC,SAAS,CAAC,gEAAgE,CAC7E;YAAA,CAAC,GAAG,CAAC,SAAS,CAAC,6BAA6B,CAC1C;cAAA,CAAC,GAAG,CAAC,SAAS,CAAC,qDAAqD,CAClE;gBAAA,CAAC,QAAQ,CACP,QAAQ,CAAC,CACP,CAAC,wBAAwB,CACvB,YAAY,CAAC,CAAC,mBAAmB,CAAC,EAEtC,CAAC,CAED;kBAAA,CAAC,gBAAgB,CACf,UAAU,CAAC,CAAC,UAAU,CAAC,CACvB,aAAa,CAAC,CAAC,aAAa,CAAC,CAC7B,KAAK,CAAC,CAAC,YAAY,CAAC,EAExB;gBAAA,EAAE,QAAQ,CACV;gBAAA,CAAC,cAAc,CACjB;cAAA,EAAE,GAAG,CACL;cAAA,CAAC,CAAC,CAAC,gBAAgB,IAAI,CACrB,CAAC,GAAG,CAAC,SAAS,CAAC,sCAAsC,CACnD;kBAAA,CAAC,gBAAgB,CACnB;gBAAA,EAAE,GAAG,CAAC,CACP,CACH;YAAA,EAAE,GAAG,CACL;YAAA,CAAC,aAAa,CAChB;UAAA,EAAE,GAAG,CAAC,CACP,CACH;MAAA,EAAE,SAAS,CACX;MAAA,CAAC,EAAE,CAAC,SAAS,CAAC,uCAAuC,EACrD;MAAA,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CACnC;QAAA,CAAC,QAAQ,CACX;MAAA,EAAE,SAAS,CACb;IAAA,GAAG,CACJ,CAAC;AACJ,CAAC"}
@@ -1,4 +1,5 @@
1
- import { ReactNode } from 'react';
1
+ import { ComponentProps, ReactNode } from 'react';
2
+ import { Button } from '../../01-atoms';
2
3
  import { type SetupMfaAccessibilityLabels } from './SetupMfa';
3
4
  /** Copy of the form. Each one falls back to the original Spanish text. */
4
5
  export type LoginFormLabels = {
@@ -40,6 +41,7 @@ type LoginFormProps = {
40
41
  showSpinner?: boolean;
41
42
  codeLayout?: LoginFormCodeLayout;
42
43
  onBack?: () => void;
44
+ backModifier?: ComponentProps<typeof Button>['modifier'];
43
45
  };
44
46
  /**
45
47
  * LoginForm component for rendering a login form with email and password
@@ -92,9 +94,10 @@ type LoginFormProps = {
92
94
  * @param {boolean} [props.showSpinner=true] - Shows a spinner under the form while `login` runs. Turn it off when `renderSubmit` already shows the wait.
93
95
  * @param {'replace' | 'below'} [props.codeLayout='replace'] - `replace` swaps the email and password for the code step; `below` keeps them on screen, read-only, with the code under them, and leaves them read-only instead of disabled while `login` runs. With `below` the browser only takes the sign-in as done when the code is accepted, not when the code step shows up.
94
96
  * @param {Function} [props.onBack] - Called when the user leaves the code step or the MFA setup to edit the email and password.
97
+ * @param {'principal' | 'second' | 'text' | 'action'} [props.backModifier='principal'] - `Button` modifier of the back button on the code step, for when it should not weigh as much as the submit button.
95
98
  *
96
99
  * @returns {ReactNode} The rendered LoginForm component.
97
100
  */
98
- export declare function LoginForm({ login, callback, needCode, lengthCode, setupMfa, showPasswordAriaLabel, hidePasswordAriaLabel, getOtpDigitAriaLabel, loadingLabel, setupMfaAccessibilityLabels, title, description, labels, forgotPassword, footer, renderSubmit, errorStyle, toastErrors, showSpinner, codeLayout, onBack, }: LoginFormProps): ReactNode;
101
+ export declare function LoginForm({ login, callback, needCode, lengthCode, setupMfa, showPasswordAriaLabel, hidePasswordAriaLabel, getOtpDigitAriaLabel, loadingLabel, setupMfaAccessibilityLabels, title, description, labels, forgotPassword, footer, renderSubmit, errorStyle, toastErrors, showSpinner, codeLayout, onBack, backModifier, }: LoginFormProps): ReactNode;
99
102
  export {};
100
103
  //# sourceMappingURL=LoginForm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LoginForm.d.ts","sourceRoot":"","sources":["../../../../src/components/04-templates/LoginTemplate/LoginForm.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,SAAS,EAIV,MAAM,OAAO,CAAC;AAYf,OAAO,EAAY,KAAK,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAGxE,0EAA0E;AAC1E,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,kEAAkE;AAClE,MAAM,MAAM,oBAAoB,GAAG;IACjC,iCAAiC;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,SAAS,CAAC;AAErD,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,OAAO,CAAC;AAEtD,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC3D,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;IACzE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2BAA2B,CAAC,EAAE,2BAA2B,CAAC;IAC1D,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,SAAS,CAAC;IAC1D,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAaF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,QAAQ,EACR,QAAgB,EAChB,UAAc,EACd,QAAQ,EACR,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,2BAA2B,EAC3B,KAAqB,EACrB,WAAW,EACX,MAAM,EACN,cAAc,EACd,MAAM,EACN,YAAY,EACZ,UAAmB,EACnB,WAAkB,EAClB,WAAkB,EAClB,UAAsB,EACtB,MAAM,GACP,EAAE,cAAc,GAAG,SAAS,CAoL5B"}
1
+ {"version":3,"file":"LoginForm.d.ts","sourceRoot":"","sources":["../../../../src/components/04-templates/LoginTemplate/LoginForm.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,cAAc,EAEd,SAAS,EAIV,MAAM,OAAO,CAAC;AAEf,OAAO,EACL,MAAM,EAOP,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAY,KAAK,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAGxE,0EAA0E;AAC1E,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,kEAAkE;AAClE,MAAM,MAAM,oBAAoB,GAAG;IACjC,iCAAiC;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,SAAS,CAAC;AAErD,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,OAAO,CAAC;AAEtD,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC3D,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;IACzE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2BAA2B,CAAC,EAAE,2BAA2B,CAAC;IAC1D,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,SAAS,CAAC;IAC1D,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,CAAC,EAAE,cAAc,CAAC,OAAO,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;CAC1D,CAAC;AAaF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,QAAQ,EACR,QAAgB,EAChB,UAAc,EACd,QAAQ,EACR,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,2BAA2B,EAC3B,KAAqB,EACrB,WAAW,EACX,MAAM,EACN,cAAc,EACd,MAAM,EACN,YAAY,EACZ,UAAmB,EACnB,WAAkB,EAClB,WAAkB,EAClB,UAAsB,EACtB,MAAM,EACN,YAA0B,GAC3B,EAAE,cAAc,GAAG,SAAS,CA8L5B"}
@@ -65,16 +65,24 @@ const DEFAULT_LABELS = {
65
65
  * @param {boolean} [props.showSpinner=true] - Shows a spinner under the form while `login` runs. Turn it off when `renderSubmit` already shows the wait.
66
66
  * @param {'replace' | 'below'} [props.codeLayout='replace'] - `replace` swaps the email and password for the code step; `below` keeps them on screen, read-only, with the code under them, and leaves them read-only instead of disabled while `login` runs. With `below` the browser only takes the sign-in as done when the code is accepted, not when the code step shows up.
67
67
  * @param {Function} [props.onBack] - Called when the user leaves the code step or the MFA setup to edit the email and password.
68
+ * @param {'principal' | 'second' | 'text' | 'action'} [props.backModifier='principal'] - `Button` modifier of the back button on the code step, for when it should not weigh as much as the submit button.
68
69
  *
69
70
  * @returns {ReactNode} The rendered LoginForm component.
70
71
  */
71
- export function LoginForm({ login, callback, needCode = false, lengthCode = 6, setupMfa, showPasswordAriaLabel, hidePasswordAriaLabel, getOtpDigitAriaLabel, loadingLabel, setupMfaAccessibilityLabels, title = 'Bienvenido!', description, labels, forgotPassword, footer, renderSubmit, errorStyle = 'text', toastErrors = true, showSpinner = true, codeLayout = 'replace', onBack, }) {
72
+ export function LoginForm({ login, callback, needCode = false, lengthCode = 6, setupMfa, showPasswordAriaLabel, hidePasswordAriaLabel, getOtpDigitAriaLabel, loadingLabel, setupMfaAccessibilityLabels, title = 'Bienvenido!', description, labels, forgotPassword, footer, renderSubmit, errorStyle = 'text', toastErrors = true, showSpinner = true, codeLayout = 'replace', onBack, backModifier = 'principal', }) {
72
73
  const [errorMessage, setErrorMessage] = useState();
73
74
  const [otpCode, setOtpCode] = useState('');
74
75
  const [isPending, setIsPending] = useState(false);
75
76
  const [qr, setQr] = useState();
76
77
  const [showLogin, setShowLogin] = useState(!needCode);
78
+ const [previousNeedCode, setPreviousNeedCode] = useState(needCode);
77
79
  const codeRef = useRef(null);
80
+ // A new `needCode` picks the step; going back to the credentials changes it
81
+ // in between.
82
+ if (previousNeedCode !== needCode) {
83
+ setPreviousNeedCode(needCode);
84
+ setShowLogin(!needCode);
85
+ }
78
86
  const copy = { ...DEFAULT_LABELS, ...labels };
79
87
  const showCredentials = showLogin || codeLayout === 'below';
80
88
  // Chrome takes the sign-in as done when no field of the form can take focus once the request ends.
@@ -84,9 +92,6 @@ export function LoginForm({ login, callback, needCode = false, lengthCode = 6, s
84
92
  readOnly: lockedCredentials,
85
93
  className: lockedCredentials ? READ_ONLY_TEXT : undefined,
86
94
  };
87
- useEffect(() => {
88
- setShowLogin(!needCode);
89
- }, [needCode]);
90
95
  useEffect(() => {
91
96
  if (!showLogin && !qr)
92
97
  codeRef.current?.querySelector('input')?.focus();
@@ -166,7 +171,7 @@ export function LoginForm({ login, callback, needCode = false, lengthCode = 6, s
166
171
  {!!showLogin && forgotPassword}
167
172
 
168
173
  {submit}
169
- {!showLogin && (<Button className="w-56" type="button" onClick={onCancel}>
174
+ {!showLogin && (<Button modifier={backModifier} className="w-56" type="button" onClick={onCancel}>
170
175
  {copy.back}
171
176
  </Button>)}
172
177
  {errorStyle === 'text' && !!errorMessage && (<Paragraph role="alert" className="text-error dark:text-error-1 text-center" size="chips">
@@ -1 +1 @@
1
- {"version":3,"file":"LoginForm.jsx","sourceRoot":"","sources":["../../../../src/components/04-templates/LoginTemplate/LoginForm.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LoginForm.jsx","sourceRoot":"","sources":["../../../../src/components/04-templates/LoginTemplate/LoginForm.tsx"],"names":[],"mappings":"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"}
@@ -6,11 +6,14 @@ export type ExpCollapseToggleProps = {
6
6
  expandLabel: string;
7
7
  /** Accessible name while expanded, such as "Collapse header". */
8
8
  collapseLabel: string;
9
+ /** Pulses a ring around it while expanded. Turn it off where many toggles share a page. */
10
+ pulse?: boolean;
9
11
  } & Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children' | 'onClick' | 'aria-label' | 'aria-expanded'>;
10
12
  /**
11
13
  * Round corner button that collapses or expands a section, such as a page
12
14
  * header. While the section is expanded, a lavender ring pulses around it to
13
- * invite the user to tuck it away; the chevron flips when collapsed.
15
+ * invite the user to tuck it away; the chevron flips when collapsed. With
16
+ * `pulse={false}` there is no ring, for pages with many collapsible panels.
14
17
  *
15
18
  * Pass `aria-controls` with the id of the section it toggles. Outside an
16
19
  * `ExpScope` it falls back to the core `IconButton` with a chevron.
@@ -30,8 +33,9 @@ export type ExpCollapseToggleProps = {
30
33
  * @param {() => void} props.onToggle - Called on click.
31
34
  * @param {string} props.expandLabel - Accessible name while collapsed.
32
35
  * @param {string} props.collapseLabel - Accessible name while expanded.
36
+ * @param {boolean} [props.pulse=true] - Pulses the ring while expanded.
33
37
  *
34
38
  * @returns {ReactNode} The toggle, or an `IconButton` outside an `ExpScope`.
35
39
  */
36
- export declare function ExpCollapseToggle({ collapsed, onToggle, expandLabel, collapseLabel, ...restProps }: ExpCollapseToggleProps): ReactNode;
40
+ export declare function ExpCollapseToggle({ collapsed, onToggle, expandLabel, collapseLabel, pulse, ...restProps }: ExpCollapseToggleProps): ReactNode;
37
41
  //# sourceMappingURL=ExpCollapseToggle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExpCollapseToggle.d.ts","sourceRoot":"","sources":["../../src/expresivo/ExpCollapseToggle/ExpCollapseToggle.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAK7D,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,gEAAgE;IAChE,WAAW,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,IAAI,CACN,oBAAoB,CAAC,iBAAiB,CAAC,EACvC,UAAU,GAAG,SAAS,GAAG,YAAY,GAAG,eAAe,CACxD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,SAAS,EACT,QAAQ,EACR,WAAW,EACX,aAAa,EACb,GAAG,SAAS,EACb,EAAE,sBAAsB,GAAG,SAAS,CA6CpC"}
1
+ {"version":3,"file":"ExpCollapseToggle.d.ts","sourceRoot":"","sources":["../../src/expresivo/ExpCollapseToggle/ExpCollapseToggle.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAK7D,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,gEAAgE;IAChE,WAAW,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,aAAa,EAAE,MAAM,CAAC;IACtB,2FAA2F;IAC3F,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GAAG,IAAI,CACN,oBAAoB,CAAC,iBAAiB,CAAC,EACvC,UAAU,GAAG,SAAS,GAAG,YAAY,GAAG,eAAe,CACxD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,SAAS,EACT,QAAQ,EACR,WAAW,EACX,aAAa,EACb,KAAY,EACZ,GAAG,SAAS,EACb,EAAE,sBAAsB,GAAG,SAAS,CA6CpC"}
@@ -6,7 +6,8 @@ import { useExpScope } from '../ExpScope/ExpScope';
6
6
  /**
7
7
  * Round corner button that collapses or expands a section, such as a page
8
8
  * header. While the section is expanded, a lavender ring pulses around it to
9
- * invite the user to tuck it away; the chevron flips when collapsed.
9
+ * invite the user to tuck it away; the chevron flips when collapsed. With
10
+ * `pulse={false}` there is no ring, for pages with many collapsible panels.
10
11
  *
11
12
  * Pass `aria-controls` with the id of the section it toggles. Outside an
12
13
  * `ExpScope` it falls back to the core `IconButton` with a chevron.
@@ -26,17 +27,18 @@ import { useExpScope } from '../ExpScope/ExpScope';
26
27
  * @param {() => void} props.onToggle - Called on click.
27
28
  * @param {string} props.expandLabel - Accessible name while collapsed.
28
29
  * @param {string} props.collapseLabel - Accessible name while expanded.
30
+ * @param {boolean} [props.pulse=true] - Pulses the ring while expanded.
29
31
  *
30
32
  * @returns {ReactNode} The toggle, or an `IconButton` outside an `ExpScope`.
31
33
  */
32
- export function ExpCollapseToggle({ collapsed, onToggle, expandLabel, collapseLabel, ...restProps }) {
34
+ export function ExpCollapseToggle({ collapsed, onToggle, expandLabel, collapseLabel, pulse = true, ...restProps }) {
33
35
  const inScope = useExpScope();
34
36
  const label = collapsed ? expandLabel : collapseLabel;
35
37
  if (!inScope) {
36
38
  return (<IconButton {...restProps} icon={collapsed ? <FiChevronDown /> : <FiChevronUp />} label={label} aria-expanded={!collapsed} onClick={onToggle}/>);
37
39
  }
38
40
  return (<button type="button" {...restProps} aria-label={label} aria-expanded={!collapsed} onClick={onToggle} className={clsx('border-lavender-1 text-lavender hover:border-lavender focus-visible:ring-lavender relative flex size-8 shrink-0 cursor-pointer items-center justify-center rounded-full border bg-white transition-colors focus-visible:ring-2 focus-visible:outline-none', 'dark:border-lavender-dark-1 dark:text-lavender-dark dark:hover:border-lavender-dark dark:bg-black', restProps.className)}>
39
- {!collapsed && (<span aria-hidden="true" className="exp-hint-pulse border-lavender dark:border-lavender-dark pointer-events-none absolute -inset-px rounded-full border-2"/>)}
41
+ {!collapsed && !!pulse && (<span aria-hidden="true" className="exp-hint-pulse border-lavender dark:border-lavender-dark pointer-events-none absolute -inset-px rounded-full border-2"/>)}
40
42
  <FiChevronUp aria-hidden="true" strokeWidth={2.4} className={clsx('size-4 transition-transform duration-260 ease-(--exp-ease-spring) motion-reduce:transition-none', collapsed && 'rotate-180')}/>
41
43
  </button>);
42
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ExpCollapseToggle.jsx","sourceRoot":"","sources":["../../src/expresivo/ExpCollapseToggle/ExpCollapseToggle.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAcnD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAChC,SAAS,EACT,QAAQ,EACR,WAAW,EACX,aAAa,EACb,GAAG,SAAS,EACW;IACvB,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC;IAEtD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CACL,CAAC,UAAU,CACT,IAAI,SAAS,CAAC,CACd,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,AAAD,EAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,AAAD,EAAG,CAAC,CACtD,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAC1B,OAAO,CAAC,CAAC,QAAQ,CAAC,EAClB,CACH,CAAC;IACJ,CAAC;IAED,OAAO,CACL,CAAC,MAAM,CACL,IAAI,CAAC,QAAQ,CACb,IAAI,SAAS,CAAC,CACd,UAAU,CAAC,CAAC,KAAK,CAAC,CAClB,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAC1B,OAAO,CAAC,CAAC,QAAQ,CAAC,CAClB,SAAS,CAAC,CAAC,IAAI,CACb,2PAA2P,EAC3P,mGAAmG,EACnG,SAAS,CAAC,SAAS,CACpB,CAAC,CAEF;MAAA,CAAC,CAAC,SAAS,IAAI,CACb,CAAC,IAAI,CACH,WAAW,CAAC,MAAM,CAClB,SAAS,CAAC,uHAAuH,EACjI,CACH,CACD;MAAA,CAAC,WAAW,CACV,WAAW,CAAC,MAAM,CAClB,WAAW,CAAC,CAAC,GAAG,CAAC,CACjB,SAAS,CAAC,CAAC,IAAI,CACb,iGAAiG,EACjG,SAAS,IAAI,YAAY,CAC1B,CAAC,EAEN;IAAA,EAAE,MAAM,CAAC,CACV,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ExpCollapseToggle.jsx","sourceRoot":"","sources":["../../src/expresivo/ExpCollapseToggle/ExpCollapseToggle.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAgBnD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAChC,SAAS,EACT,QAAQ,EACR,WAAW,EACX,aAAa,EACb,KAAK,GAAG,IAAI,EACZ,GAAG,SAAS,EACW;IACvB,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC;IAEtD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CACL,CAAC,UAAU,CACT,IAAI,SAAS,CAAC,CACd,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,AAAD,EAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,AAAD,EAAG,CAAC,CACtD,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAC1B,OAAO,CAAC,CAAC,QAAQ,CAAC,EAClB,CACH,CAAC;IACJ,CAAC;IAED,OAAO,CACL,CAAC,MAAM,CACL,IAAI,CAAC,QAAQ,CACb,IAAI,SAAS,CAAC,CACd,UAAU,CAAC,CAAC,KAAK,CAAC,CAClB,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAC1B,OAAO,CAAC,CAAC,QAAQ,CAAC,CAClB,SAAS,CAAC,CAAC,IAAI,CACb,2PAA2P,EAC3P,mGAAmG,EACnG,SAAS,CAAC,SAAS,CACpB,CAAC,CAEF;MAAA,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,KAAK,IAAI,CACxB,CAAC,IAAI,CACH,WAAW,CAAC,MAAM,CAClB,SAAS,CAAC,uHAAuH,EACjI,CACH,CACD;MAAA,CAAC,WAAW,CACV,WAAW,CAAC,MAAM,CAClB,WAAW,CAAC,CAAC,GAAG,CAAC,CACjB,SAAS,CAAC,CAAC,IAAI,CACb,iGAAiG,EACjG,SAAS,IAAI,YAAY,CAC1B,CAAC,EAEN;IAAA,EAAE,MAAM,CAAC,CACV,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExpJourneyTrack.d.ts","sourceRoot":"","sources":["../../src/expresivo/ExpJourneyTrack/ExpJourneyTrack.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,SAAS,EAGf,MAAM,OAAO,CAAC;AAEf,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7D,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,MAAM,EAAE,aAAa,CAAC;IACtB,kEAAkE;IAClE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,IAAI,CACtC,YAAY,CAAC,aAAa,CAAC,EAC3B,MAAM,GAAG,SAAS,GAAG,SAAS,CAC/B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,uBAAuB;IACvB,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,WAAW,EAAE,qBAAqB,CAAC;IACnC,iDAAiD;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC;AA+BrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,OAAO,EACP,SAAS,EACT,WAAW,EACX,UAAe,EACf,QAAgB,EAChB,GAAG,SAAS,EACb,EAAE,oBAAoB,GAAG,SAAS,CAyLlC"}
1
+ {"version":3,"file":"ExpJourneyTrack.d.ts","sourceRoot":"","sources":["../../src/expresivo/ExpJourneyTrack/ExpJourneyTrack.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,SAAS,EAIf,MAAM,OAAO,CAAC;AAEf,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7D,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,MAAM,EAAE,aAAa,CAAC;IACtB,kEAAkE;IAClE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,IAAI,CACtC,YAAY,CAAC,aAAa,CAAC,EAC3B,MAAM,GAAG,SAAS,GAAG,SAAS,CAC/B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,uBAAuB;IACvB,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,WAAW,EAAE,qBAAqB,CAAC;IACnC,iDAAiD;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC;AA4CrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,OAAO,EACP,SAAS,EACT,WAAW,EACX,UAAe,EACf,QAAgB,EAChB,GAAG,SAAS,EACb,EAAE,oBAAoB,GAAG,SAAS,CAiMlC"}
@@ -1,11 +1,19 @@
1
1
  'use client';
2
2
  import clsx from 'clsx';
3
- import { useEffect, useState, } from 'react';
3
+ import { useEffect, useState, useSyncExternalStore, } from 'react';
4
4
  import { FiCheck } from 'react-icons/fi';
5
5
  import { Each, Show, Stepper } from '@clicoh/orion-library';
6
6
  import { ExpMascot } from '../ExpMascot';
7
7
  import { useExpScopeOptions } from '../ExpScope/ExpScope';
8
8
  const STEP_MS = 1100;
9
+ const REDUCED_MOTION_QUERY = '(prefers-reduced-motion: reduce)';
10
+ const subscribeReducedMotion = (onChange) => {
11
+ const query = window.matchMedia(REDUCED_MOTION_QUERY);
12
+ query.addEventListener('change', onChange);
13
+ return () => query.removeEventListener('change', onChange);
14
+ };
15
+ const readReducedMotion = () => window.matchMedia(REDUCED_MOTION_QUERY).matches;
16
+ const readServerReducedMotion = () => false;
9
17
  const stateOf = (index, current) => {
10
18
  if (index < current)
11
19
  return 'done';
@@ -71,23 +79,29 @@ const alignOf = (index, count) => {
71
79
  */
72
80
  export function ExpJourneyTrack({ stages, current, ariaLabel, stateLabels, mascotSize = 88, autoplay = false, ...restProps }) {
73
81
  const options = useExpScopeOptions();
74
- const [step, setStep] = useState(autoplay ? 0 : current);
82
+ const reduceMotion = useSyncExternalStore(subscribeReducedMotion, readReducedMotion, readServerReducedMotion);
83
+ const walks = autoplay && !reduceMotion;
84
+ const walkKey = `${walks}|${current}|${stages.length}`;
85
+ const [walked, setWalked] = useState(0);
86
+ const [walkedFor, setWalkedFor] = useState(walkKey);
87
+ // Every new walk starts again from the first stage.
88
+ if (walkedFor !== walkKey) {
89
+ setWalkedFor(walkKey);
90
+ setWalked(0);
91
+ }
92
+ const step = walks ? walked : current;
75
93
  useEffect(() => {
76
- const reduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
77
- if (!autoplay || reduceMotion) {
78
- setStep(current);
94
+ if (!walks)
79
95
  return;
80
- }
81
- setStep(0);
82
96
  let index = 0;
83
97
  const timer = setInterval(() => {
84
98
  index += 1;
85
- setStep(Math.min(index, current));
99
+ setWalked(Math.min(index, current));
86
100
  if (index >= current)
87
101
  clearInterval(timer);
88
102
  }, STEP_MS);
89
103
  return () => clearInterval(timer);
90
- }, [autoplay, current, stages.length]);
104
+ }, [walks, current, stages.length]);
91
105
  if (stages.length === 0)
92
106
  return null;
93
107
  if (!options) {
@@ -1 +1 @@
1
- {"version":3,"file":"ExpJourneyTrack.jsx","sourceRoot":"","sources":["../../src/expresivo/ExpJourneyTrack/ExpJourneyTrack.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExpJourneyTrack.jsx","sourceRoot":"","sources":["../../src/expresivo/ExpJourneyTrack/ExpJourneyTrack.tsx"],"names":[],"mappings":"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"}
@@ -12,7 +12,8 @@ export type ExpLadderProps = {
12
12
  /**
13
13
  * Vertical progress drawn as a staircase: every step that was not skipped
14
14
  * sits a little further in, with a diamond in place of the dot. The current
15
- * step is tinted lavender; skipped steps are struck through and say so.
15
+ * step is tinted lavender; skipped steps are struck through and say so. A
16
+ * label that does not fit continues on the next row instead of being cut.
16
17
  *
17
18
  * Outside an `ExpScope` it falls back to the core `Stepper`, vertical and
18
19
  * `sm`, with the same steps.
@@ -1 +1 @@
1
- {"version":3,"file":"ExpLadder.d.ts","sourceRoot":"","sources":["../../src/expresivo/ExpLadder/ExpLadder.tsx"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,MAAM,MAAM,cAAc,GAAG;IAC3B,iEAAiE;IACjE,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,WAAW,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAmCF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,SAAS,EACT,WAAW,EACX,SAAS,GACV,EAAE,cAAc,GAAG,SAAS,CA8D5B"}
1
+ {"version":3,"file":"ExpLadder.d.ts","sourceRoot":"","sources":["../../src/expresivo/ExpLadder/ExpLadder.tsx"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,MAAM,MAAM,cAAc,GAAG;IAC3B,iEAAiE;IACjE,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,WAAW,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAmCF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,SAAS,EACT,WAAW,EACX,SAAS,GACV,EAAE,cAAc,GAAG,SAAS,CAkE5B"}
@@ -32,7 +32,8 @@ const textMap = {
32
32
  /**
33
33
  * Vertical progress drawn as a staircase: every step that was not skipped
34
34
  * sits a little further in, with a diamond in place of the dot. The current
35
- * step is tinted lavender; skipped steps are struck through and say so.
35
+ * step is tinted lavender; skipped steps are struck through and say so. A
36
+ * label that does not fit continues on the next row instead of being cut.
36
37
  *
37
38
  * Outside an `ExpScope` it falls back to the core `Stepper`, vertical and
38
39
  * `sm`, with the same steps.
@@ -70,9 +71,11 @@ export function ExpLadder({ steps, ariaLabel, stateLabels, className, }) {
70
71
  return acc;
71
72
  }, []);
72
73
  return (<ol aria-label={ariaLabel} className={clsx('flex flex-col', className)}>
73
- <Each of={steps} render={(step, index) => (<li key={step.id} aria-current={step.state === 'current' ? 'step' : undefined} className={clsx('flex min-w-0 items-center gap-2.5 rounded-[10px] py-1.5 pr-2.5 pl-2', INDENTS[Math.min(indents[index], INDENTS.length - 1)], rowMap[step.state])}>
74
- <span aria-hidden="true" className={clsx('flex-none rotate-45 rounded-[4px]', diamondMap[step.state])}/>
75
- <span className={clsx('truncate text-[13px] leading-[18px]', textMap[step.state])}>
74
+ <Each of={steps} render={(step, index) => (<li key={step.id} aria-current={step.state === 'current' ? 'step' : undefined} className={clsx('flex min-w-0 items-start gap-2.5 rounded-[10px] py-1.5 pr-2.5 pl-2', INDENTS[Math.min(indents[index], INDENTS.length - 1)], rowMap[step.state])}>
75
+ <span aria-hidden="true" className="flex h-[18px] flex-none items-center">
76
+ <span className={clsx('rotate-45 rounded-[4px]', diamondMap[step.state])}/>
77
+ </span>
78
+ <span className={clsx('min-w-0 text-[13px] leading-[18px] break-words', textMap[step.state])}>
76
79
  {step.label}
77
80
  {step.state === 'skipped' ? (` · ${stateLabels.skipped}`) : (<span className="sr-only">{`, ${stateLabels[step.state]}`}</span>)}
78
81
  </span>
@@ -1 +1 @@
1
- {"version":3,"file":"ExpLadder.jsx","sourceRoot":"","sources":["../../src/expresivo/ExpLadder/ExpLadder.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExpLadder.jsx","sourceRoot":"","sources":["../../src/expresivo/ExpLadder/ExpLadder.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExpLogo.d.ts","sourceRoot":"","sources":["../../src/expresivo/ExpLogo/ExpLogo.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,KAAK,WAAW,EAAe,MAAM,WAAW,CAAC;AAE1D,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,WAAW,CAAC;IAClB,6DAA6D;IAC7D,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,YAAY,GAAG,SAAS,CAqCzE"}
1
+ {"version":3,"file":"ExpLogo.d.ts","sourceRoot":"","sources":["../../src/expresivo/ExpLogo/ExpLogo.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,KAAK,WAAW,EAAe,MAAM,WAAW,CAAC;AAE1D,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,WAAW,CAAC;IAClB,6DAA6D;IAC7D,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,YAAY,GAAG,SAAS,CAwCzE"}
@@ -33,9 +33,12 @@ export function ExpLogo({ name, alt, className }) {
33
33
  const { light, dark, icon } = logoCatalog[name];
34
34
  return (<span className={clsx('inline-flex shrink-0 items-center', className)}>
35
35
  <span className="hidden lg:block">
36
+ {/* eslint-disable-next-line @next/next/no-img-element -- fixed-size package asset: `next/image` would lazy-load it */}
36
37
  <img src={light.src} alt={alt} width={light.width} height={light.height} draggable={false} className="block dark:hidden"/>
38
+ {/* eslint-disable-next-line @next/next/no-img-element -- fixed-size package asset: `next/image` would lazy-load it */}
37
39
  <img src={dark.src} alt={alt} width={dark.width} height={dark.height} draggable={false} className="hidden dark:block"/>
38
40
  </span>
41
+ {/* eslint-disable-next-line @next/next/no-img-element -- fixed-size package asset: `next/image` would lazy-load it */}
39
42
  <img src={icon.src} alt={alt} width={icon.width} height={icon.height} draggable={false} className="block lg:hidden"/>
40
43
  </span>);
41
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ExpLogo.jsx","sourceRoot":"","sources":["../../src/expresivo/ExpLogo/ExpLogo.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAoB,WAAW,EAAE,MAAM,WAAW,CAAC;AAS1D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAgB;IAC5D,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAE9B,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,EAAG,CAAC;IAErE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAEhD,OAAO,CACL,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,mCAAmC,EAAE,SAAS,CAAC,CAAC,CACpE;MAAA,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAC/B;QAAA,CAAC,GAAG,CACF,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CACf,GAAG,CAAC,CAAC,GAAG,CAAC,CACT,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CACnB,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CACrB,SAAS,CAAC,CAAC,KAAK,CAAC,CACjB,SAAS,CAAC,mBAAmB,EAE/B;QAAA,CAAC,GAAG,CACF,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,GAAG,CAAC,CAAC,GAAG,CAAC,CACT,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAClB,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CACpB,SAAS,CAAC,CAAC,KAAK,CAAC,CACjB,SAAS,CAAC,mBAAmB,EAEjC;MAAA,EAAE,IAAI,CACN;MAAA,CAAC,GAAG,CACF,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,GAAG,CAAC,CAAC,GAAG,CAAC,CACT,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAClB,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CACpB,SAAS,CAAC,CAAC,KAAK,CAAC,CACjB,SAAS,CAAC,iBAAiB,EAE/B;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ExpLogo.jsx","sourceRoot":"","sources":["../../src/expresivo/ExpLogo/ExpLogo.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAoB,WAAW,EAAE,MAAM,WAAW,CAAC;AAS1D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAgB;IAC5D,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAE9B,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,EAAG,CAAC;IAErE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAEhD,OAAO,CACL,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,mCAAmC,EAAE,SAAS,CAAC,CAAC,CACpE;MAAA,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAC/B;QAAA,CAAC,qHAAqH,CACtH;QAAA,CAAC,GAAG,CACF,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CACf,GAAG,CAAC,CAAC,GAAG,CAAC,CACT,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CACnB,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CACrB,SAAS,CAAC,CAAC,KAAK,CAAC,CACjB,SAAS,CAAC,mBAAmB,EAE/B;QAAA,CAAC,qHAAqH,CACtH;QAAA,CAAC,GAAG,CACF,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,GAAG,CAAC,CAAC,GAAG,CAAC,CACT,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAClB,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CACpB,SAAS,CAAC,CAAC,KAAK,CAAC,CACjB,SAAS,CAAC,mBAAmB,EAEjC;MAAA,EAAE,IAAI,CACN;MAAA,CAAC,qHAAqH,CACtH;MAAA,CAAC,GAAG,CACF,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,GAAG,CAAC,CAAC,GAAG,CAAC,CACT,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAClB,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CACpB,SAAS,CAAC,CAAC,KAAK,CAAC,CACjB,SAAS,CAAC,iBAAiB,EAE/B;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC"}
@@ -6,6 +6,8 @@ export type ExpMascotProps = {
6
6
  /** Width and height on screen, in pixels. */
7
7
  size?: number;
8
8
  motion?: ExpMascotMotion;
9
+ /** The light disc behind Bugi in dark mode. Off where an edge would cut it. */
10
+ backdrop?: boolean;
9
11
  } & Omit<HTMLAttributes<HTMLSpanElement>, 'children'>;
10
12
  /**
11
13
  * One of the official clicOH mascots, drawn from its file as is: never
@@ -19,7 +21,8 @@ export type ExpMascotProps = {
19
21
  * states, 80px on small screens, 48–64px inside a message or a toast.
20
22
  *
21
23
  * In dark mode Bugi sits on a light disc so it reads on the dark background;
22
- * Oculus and Fixi need none.
24
+ * Oculus and Fixi need none. `backdrop={false}` drops the disc where an edge
25
+ * would cut it, such as a mascot peeking from behind something.
23
26
  *
24
27
  * Renders nothing outside an `ExpScope`, or when the scope hides mascots.
25
28
  *
@@ -35,8 +38,9 @@ export type ExpMascotProps = {
35
38
  * @param {ExpMascotName} props.name - Mascot and pose, as in `oculus-01-feliz`.
36
39
  * @param {number} [props.size=112] - Width and height on screen, in pixels.
37
40
  * @param {'still' | 'float' | 'hang'} [props.motion='still'] - `float` bobs up and down; `hang` hangs it from a thread and swings it. Both stop with reduced motion.
41
+ * @param {boolean} [props.backdrop=true] - Light disc behind Bugi in dark mode.
38
42
  *
39
43
  * @returns {ReactNode} The mascot, or `null` outside an `ExpScope`.
40
44
  */
41
- export declare function ExpMascot({ name, size, motion, ...restProps }: ExpMascotProps): ReactNode;
45
+ export declare function ExpMascot({ name, size, motion, backdrop, ...restProps }: ExpMascotProps): ReactNode;
42
46
  //# sourceMappingURL=ExpMascot.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExpMascot.d.ts","sourceRoot":"","sources":["../../src/expresivo/ExpMascot/ExpMascot.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvD,OAAO,EAAE,KAAK,aAAa,EAAiB,MAAM,WAAW,CAAC;AAE9D,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;AAEzD,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,aAAa,CAAC;IACpB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,IAAU,EACV,MAAgB,EAChB,GAAG,SAAS,EACb,EAAE,cAAc,GAAG,SAAS,CAiC5B"}
1
+ {"version":3,"file":"ExpMascot.d.ts","sourceRoot":"","sources":["../../src/expresivo/ExpMascot/ExpMascot.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvD,OAAO,EAAE,KAAK,aAAa,EAAiB,MAAM,WAAW,CAAC;AAE9D,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;AAEzD,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,aAAa,CAAC;IACpB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,IAAU,EACV,MAAgB,EAChB,QAAe,EACf,GAAG,SAAS,EACb,EAAE,cAAc,GAAG,SAAS,CAmC5B"}
@@ -14,7 +14,8 @@ import { mascotCatalog } from './catalog';
14
14
  * states, 80px on small screens, 48–64px inside a message or a toast.
15
15
  *
16
16
  * In dark mode Bugi sits on a light disc so it reads on the dark background;
17
- * Oculus and Fixi need none.
17
+ * Oculus and Fixi need none. `backdrop={false}` drops the disc where an edge
18
+ * would cut it, such as a mascot peeking from behind something.
18
19
  *
19
20
  * Renders nothing outside an `ExpScope`, or when the scope hides mascots.
20
21
  *
@@ -30,16 +31,19 @@ import { mascotCatalog } from './catalog';
30
31
  * @param {ExpMascotName} props.name - Mascot and pose, as in `oculus-01-feliz`.
31
32
  * @param {number} [props.size=112] - Width and height on screen, in pixels.
32
33
  * @param {'still' | 'float' | 'hang'} [props.motion='still'] - `float` bobs up and down; `hang` hangs it from a thread and swings it. Both stop with reduced motion.
34
+ * @param {boolean} [props.backdrop=true] - Light disc behind Bugi in dark mode.
33
35
  *
34
36
  * @returns {ReactNode} The mascot, or `null` outside an `ExpScope`.
35
37
  */
36
- export function ExpMascot({ name, size = 112, motion = 'still', ...restProps }) {
38
+ export function ExpMascot({ name, size = 112, motion = 'still', backdrop = true, ...restProps }) {
37
39
  const options = useExpScopeOptions();
38
40
  if (!options || options.mascots === 'hidden')
39
41
  return null;
40
42
  return (<span {...restProps} aria-hidden="true" className={clsx('inline-flex shrink-0 flex-col items-center', motion === 'float' && 'exp-float', motion === 'hang' && 'exp-hang', restProps.className)}>
41
43
  {motion === 'hang' && (<span className="bg-lavender-1 dark:bg-lavender-dark-1 h-3.5 w-[1.5px]"/>)}
42
- <img src={mascotCatalog[name].src} alt="" width={size} height={size} draggable={false} className={clsx('block object-contain', name.startsWith('bugi-') &&
44
+ {/* eslint-disable-next-line @next/next/no-img-element -- fixed-size package asset: `next/image` would lazy-load it */}
45
+ <img src={mascotCatalog[name].src} alt="" width={size} height={size} draggable={false} className={clsx('block object-contain', backdrop &&
46
+ name.startsWith('bugi-') &&
43
47
  'dark:bg-gray-6 dark:rounded-full dark:p-[8%]')}/>
44
48
  </span>);
45
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ExpMascot.jsx","sourceRoot":"","sources":["../../src/expresivo/ExpMascot/ExpMascot.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAsB,aAAa,EAAE,MAAM,WAAW,CAAC;AAW9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,SAAS,CAAC,EACxB,IAAI,EACJ,IAAI,GAAG,GAAG,EACV,MAAM,GAAG,OAAO,EAChB,GAAG,SAAS,EACG;IACf,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;IAErC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE1D,OAAO,CACL,CAAC,IAAI,CACH,IAAI,SAAS,CAAC,CACd,WAAW,CAAC,MAAM,CAClB,SAAS,CAAC,CAAC,IAAI,CACb,4CAA4C,EAC5C,MAAM,KAAK,OAAO,IAAI,WAAW,EACjC,MAAM,KAAK,MAAM,IAAI,UAAU,EAC/B,SAAS,CAAC,SAAS,CACpB,CAAC,CAEF;MAAA,CAAC,MAAM,KAAK,MAAM,IAAI,CACpB,CAAC,IAAI,CAAC,SAAS,CAAC,uDAAuD,EAAG,CAC3E,CACD;MAAA,CAAC,GAAG,CACF,GAAG,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAC7B,GAAG,CAAC,EAAE,CACN,KAAK,CAAC,CAAC,IAAI,CAAC,CACZ,MAAM,CAAC,CAAC,IAAI,CAAC,CACb,SAAS,CAAC,CAAC,KAAK,CAAC,CACjB,SAAS,CAAC,CAAC,IAAI,CACb,sBAAsB,EACtB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YACtB,8CAA8C,CACjD,CAAC,EAEN;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ExpMascot.jsx","sourceRoot":"","sources":["../../src/expresivo/ExpMascot/ExpMascot.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAsB,aAAa,EAAE,MAAM,WAAW,CAAC;AAa9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,UAAU,SAAS,CAAC,EACxB,IAAI,EACJ,IAAI,GAAG,GAAG,EACV,MAAM,GAAG,OAAO,EAChB,QAAQ,GAAG,IAAI,EACf,GAAG,SAAS,EACG;IACf,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;IAErC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE1D,OAAO,CACL,CAAC,IAAI,CACH,IAAI,SAAS,CAAC,CACd,WAAW,CAAC,MAAM,CAClB,SAAS,CAAC,CAAC,IAAI,CACb,4CAA4C,EAC5C,MAAM,KAAK,OAAO,IAAI,WAAW,EACjC,MAAM,KAAK,MAAM,IAAI,UAAU,EAC/B,SAAS,CAAC,SAAS,CACpB,CAAC,CAEF;MAAA,CAAC,MAAM,KAAK,MAAM,IAAI,CACpB,CAAC,IAAI,CAAC,SAAS,CAAC,uDAAuD,EAAG,CAC3E,CACD;MAAA,CAAC,qHAAqH,CACtH;MAAA,CAAC,GAAG,CACF,GAAG,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAC7B,GAAG,CAAC,EAAE,CACN,KAAK,CAAC,CAAC,IAAI,CAAC,CACZ,MAAM,CAAC,CAAC,IAAI,CAAC,CACb,SAAS,CAAC,CAAC,KAAK,CAAC,CACjB,SAAS,CAAC,CAAC,IAAI,CACb,sBAAsB,EACtB,QAAQ;YACN,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YACxB,8CAA8C,CACjD,CAAC,EAEN;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC"}
@@ -1,10 +1,13 @@
1
1
  import { type HTMLAttributes, type ReactNode } from 'react';
2
2
  import type { ExpMascotName } from '../ExpMascot/catalog';
3
3
  export type ExpPageHeroLevel = 'h3' | 'h4' | 'h5';
4
+ export type ExpPageHeroNarrowLayout = 'row' | 'band' | 'framed';
4
5
  export type ExpPageHeroBubble = {
5
6
  title?: ReactNode;
6
7
  text?: ReactNode;
7
8
  badge?: ReactNode;
9
+ /** Sets the title larger, in the display font, as `ExpBubble` does. */
10
+ display?: boolean;
8
11
  };
9
12
  export type ExpPageHeroCollapse = {
10
13
  collapsed: boolean;
@@ -26,6 +29,13 @@ export type ExpPageHeroProps = {
26
29
  mascot?: ExpMascotName;
27
30
  bubble?: ExpPageHeroBubble;
28
31
  collapse?: ExpPageHeroCollapse;
32
+ /**
33
+ * How it renders below `lg`: a plain title row with `children` (`row`), the band with only the title and
34
+ * `actions` (`band`), or the band around the title, `children` and `actions` (`framed`).
35
+ */
36
+ narrowLayout?: ExpPageHeroNarrowLayout;
37
+ /** Mascot peeking over the top right edge of the band, below `lg` and only with `band` or `framed`. Decorative. */
38
+ peek?: ExpMascotName;
29
39
  } & Omit<HTMLAttributes<HTMLDivElement>, 'title' | 'children'>;
30
40
  /**
31
41
  * Page header for the top of a screen, meant for the `heading` slot of
@@ -34,9 +44,13 @@ export type ExpPageHeroProps = {
34
44
  *
35
45
  * On wide screens it draws a band with a dotted lavender background. With
36
46
  * `collapse`, a corner button tucks it down to the title, and the mascot hangs
37
- * from a thread instead; the consumer keeps the state. On small screens it is
38
- * a plain title row without eyebrow, description, mascot or bubble, and
39
- * `collapse` has no effect. Children still show there.
47
+ * from a thread instead; the consumer keeps the state. On small screens it
48
+ * drops the eyebrow, description, mascot and bubble, and `collapse` has no
49
+ * effect. With `narrowLayout="row"` (default) it is a plain title row and the
50
+ * children still show; with `narrowLayout="band"` it keeps the band around the
51
+ * title and the actions, and hides the children too; with `"framed"` the band
52
+ * holds the title, the children and the actions. In both, `peek` shows the top
53
+ * of a mascot over the band's top right edge, as if hiding behind it.
40
54
  *
41
55
  * Outside an `ExpScope` it renders the core title row of `DashboardTemplate`:
42
56
  * title, adornment, description, children and actions.
@@ -73,10 +87,12 @@ export type ExpPageHeroProps = {
73
87
  * @param {ReactNode} [props.children] - Content under the description, such as stat chips; hidden while collapsed.
74
88
  * @param {ReactNode} [props.actions] - Content on the right, such as buttons; it moves under the title on small screens.
75
89
  * @param {ExpMascotName} [props.mascot] - Mascot on the right, 104px; 56px and hanging while collapsed.
76
- * @param {ExpPageHeroBubble} [props.bubble] - Speech bubble next to the mascot: `title`, `text` and `badge`.
90
+ * @param {ExpPageHeroBubble} [props.bubble] - Speech bubble next to the mascot: `title`, `text`, `badge` and `display` (larger title in the display font).
77
91
  * @param {ExpPageHeroCollapse} [props.collapse] - Makes the header collapsible: `collapsed`, `onToggle`, `expandLabel` and `collapseLabel`.
92
+ * @param {'row' | 'band' | 'framed'} [props.narrowLayout='row'] - Below `lg`: a plain title row with the children, the band with only the title and the actions, or the band around all three.
93
+ * @param {ExpMascotName} [props.peek] - Mascot whose top peeks over the band's top right edge, below `lg` and only with `band` or `framed`.
78
94
  *
79
95
  * @returns {ReactNode} The page header.
80
96
  */
81
- export declare function ExpPageHero({ title, eyebrow, headingLevel, titleAdornment, description, children, actions, mascot, bubble, collapse, ...restProps }: ExpPageHeroProps): ReactNode;
97
+ export declare function ExpPageHero({ title, eyebrow, headingLevel, titleAdornment, description, children, actions, mascot, bubble, collapse, narrowLayout, peek, ...restProps }: ExpPageHeroProps): ReactNode;
82
98
  //# sourceMappingURL=ExpPageHero.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExpPageHero.d.ts","sourceRoot":"","sources":["../../src/expresivo/ExpPageHero/ExpPageHero.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,SAAS,EAAS,MAAM,OAAO,CAAC;AAKnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAElD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,gEAAgE;IAChE,WAAW,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,QAAQ,CAAC,EAAE,mBAAmB,CAAC;CAChC,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,OAAO,EACP,YAAmB,EACnB,cAAc,EACd,WAAW,EACX,QAAQ,EACR,OAAO,EACP,MAAM,EACN,MAAM,EACN,QAAQ,EACR,GAAG,SAAS,EACb,EAAE,gBAAgB,GAAG,SAAS,CAmH9B"}
1
+ {"version":3,"file":"ExpPageHero.d.ts","sourceRoot":"","sources":["../../src/expresivo/ExpPageHero/ExpPageHero.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,SAAS,EAAS,MAAM,OAAO,CAAC;AAKnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAElD,MAAM,MAAM,uBAAuB,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEhE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,uEAAuE;IACvE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,gEAAgE;IAChE,WAAW,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B;;;OAGG;IACH,YAAY,CAAC,EAAE,uBAAuB,CAAC;IACvC,mHAAmH;IACnH,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC,CAAC;AAQ/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,OAAO,EACP,YAAmB,EACnB,cAAc,EACd,WAAW,EACX,QAAQ,EACR,OAAO,EACP,MAAM,EACN,MAAM,EACN,QAAQ,EACR,YAAoB,EACpB,IAAI,EACJ,GAAG,SAAS,EACb,EAAE,gBAAgB,GAAG,SAAS,CAmJ9B"}