@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
@@ -6,6 +6,11 @@ import { ExpBubble } from '../ExpBubble/ExpBubble';
6
6
  import { ExpCollapseToggle } from '../ExpCollapseToggle/ExpCollapseToggle';
7
7
  import { ExpMascot } from '../ExpMascot/ExpMascot';
8
8
  import { useExpScopeOptions } from '../ExpScope/ExpScope';
9
+ /** Poses whose face sits lower in the drawing show more of it over the edge, so the eyes clear it. */
10
+ const peekHeight = {
11
+ 'oculus-02-investigando': 'h-12',
12
+ 'bugi-02-investigando': 'h-12',
13
+ };
9
14
  /**
10
15
  * Page header for the top of a screen, meant for the `heading` slot of
11
16
  * `DashboardTemplate`: an eyebrow, the title, a description, optional content
@@ -13,9 +18,13 @@ import { useExpScopeOptions } from '../ExpScope/ExpScope';
13
18
  *
14
19
  * On wide screens it draws a band with a dotted lavender background. With
15
20
  * `collapse`, a corner button tucks it down to the title, and the mascot hangs
16
- * from a thread instead; the consumer keeps the state. On small screens it is
17
- * a plain title row without eyebrow, description, mascot or bubble, and
18
- * `collapse` has no effect. Children still show there.
21
+ * from a thread instead; the consumer keeps the state. On small screens it
22
+ * drops the eyebrow, description, mascot and bubble, and `collapse` has no
23
+ * effect. With `narrowLayout="row"` (default) it is a plain title row and the
24
+ * children still show; with `narrowLayout="band"` it keeps the band around the
25
+ * title and the actions, and hides the children too; with `"framed"` the band
26
+ * holds the title, the children and the actions. In both, `peek` shows the top
27
+ * of a mascot over the band's top right edge, as if hiding behind it.
19
28
  *
20
29
  * Outside an `ExpScope` it renders the core title row of `DashboardTemplate`:
21
30
  * title, adornment, description, children and actions.
@@ -52,17 +61,21 @@ import { useExpScopeOptions } from '../ExpScope/ExpScope';
52
61
  * @param {ReactNode} [props.children] - Content under the description, such as stat chips; hidden while collapsed.
53
62
  * @param {ReactNode} [props.actions] - Content on the right, such as buttons; it moves under the title on small screens.
54
63
  * @param {ExpMascotName} [props.mascot] - Mascot on the right, 104px; 56px and hanging while collapsed.
55
- * @param {ExpPageHeroBubble} [props.bubble] - Speech bubble next to the mascot: `title`, `text` and `badge`.
64
+ * @param {ExpPageHeroBubble} [props.bubble] - Speech bubble next to the mascot: `title`, `text`, `badge` and `display` (larger title in the display font).
56
65
  * @param {ExpPageHeroCollapse} [props.collapse] - Makes the header collapsible: `collapsed`, `onToggle`, `expandLabel` and `collapseLabel`.
66
+ * @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.
67
+ * @param {ExpMascotName} [props.peek] - Mascot whose top peeks over the band's top right edge, below `lg` and only with `band` or `framed`.
57
68
  *
58
69
  * @returns {ReactNode} The page header.
59
70
  */
60
- export function ExpPageHero({ title, eyebrow, headingLevel = 'h3', titleAdornment, description, children, actions, mascot, bubble, collapse, ...restProps }) {
71
+ export function ExpPageHero({ title, eyebrow, headingLevel = 'h3', titleAdornment, description, children, actions, mascot, bubble, collapse, narrowLayout = 'row', peek, ...restProps }) {
61
72
  const options = useExpScopeOptions();
62
73
  const generatedId = useId();
63
74
  const id = restProps.id ?? generatedId;
64
75
  const collapsed = !!collapse?.collapsed;
65
76
  const hasAside = !!mascot || !!bubble;
77
+ const band = narrowLayout === 'band';
78
+ const framed = narrowLayout === 'framed';
66
79
  const titleRow = (<div className="flex min-w-0 flex-wrap items-center gap-x-3 gap-y-1">
67
80
  <Heading level={headingLevel}>{title}</Heading>
68
81
  {titleAdornment}
@@ -79,7 +92,9 @@ export function ExpPageHero({ title, eyebrow, headingLevel = 'h3', titleAdornmen
79
92
  {actions}
80
93
  </div>);
81
94
  }
82
- return (<div {...restProps} id={id} data-state={collapsed ? 'collapsed' : 'expanded'} className={clsx('exp-hero relative flex flex-col items-start gap-3 sm:flex-row sm:items-center sm:justify-between lg:gap-6', collapsed
95
+ return (<div {...restProps} id={id} data-state={collapsed ? 'collapsed' : 'expanded'} data-narrow={narrowLayout} className={clsx('exp-hero relative flex gap-3 sm:flex-row sm:items-center sm:justify-between lg:gap-6', band
96
+ ? 'flex-row flex-wrap items-center justify-between px-4 py-3 lg:flex-nowrap'
97
+ : 'flex-col items-start', framed && 'px-4 py-4', collapsed
83
98
  ? 'lg:min-h-[72px] lg:py-3.5 lg:pr-30 lg:pl-6'
84
99
  : 'lg:px-8 lg:py-6', !collapsed && !!collapse && !hasAside && 'lg:pr-20', restProps.className)}>
85
100
  <div className="flex min-w-0 flex-col items-start gap-1 lg:flex-[1_1_420px]">
@@ -91,17 +106,22 @@ export function ExpPageHero({ title, eyebrow, headingLevel = 'h3', titleAdornmen
91
106
  {!!description && (<div className={clsx('text-gray-1 dark:text-gray-2 hidden max-w-[680px] text-sm leading-[22px] text-pretty', !collapsed && 'lg:block')}>
92
107
  {description}
93
108
  </div>)}
94
- {!!children && (<div className={clsx('mt-2 w-full', collapsed && 'lg:hidden')}>
109
+ {!!children && (<div className={clsx('mt-2 w-full', band && 'hidden', band && !collapsed && 'lg:block', !band && collapsed && 'lg:hidden')}>
95
110
  {children}
96
111
  </div>)}
97
112
  </div>
98
113
  {actions}
99
114
  {!!hasAside && (<div className={clsx('hidden shrink-0 items-center gap-4', !collapsed && 'lg:flex', !!collapse && 'lg:mr-7')}>
100
- {!!bubble && (<ExpBubble tail="right" title={bubble.title} badge={bubble.badge}>
115
+ {!!bubble && (<ExpBubble tail="right" title={bubble.title} badge={bubble.badge} display={!!bubble.display}>
101
116
  {bubble.text}
102
117
  </ExpBubble>)}
103
118
  {!!mascot && <ExpMascot name={mascot} size={104}/>}
104
119
  </div>)}
120
+ {!!(band || framed) && !!peek && (<span aria-hidden="true" className={clsx('pointer-events-none absolute right-5 bottom-full mb-px flex w-16 justify-center overflow-hidden lg:hidden', peekHeight[peek] ?? 'h-10')}>
121
+ <span className="shrink-0">
122
+ <ExpMascot name={peek} size={64} motion="still" backdrop={false}/>
123
+ </span>
124
+ </span>)}
105
125
  {!!collapsed && !!mascot && (<span className="absolute top-0 right-18 hidden lg:block">
106
126
  <ExpMascot name={mascot} size={56} motion="hang"/>
107
127
  </span>)}
@@ -1 +1 @@
1
- {"version":3,"file":"ExpPageHero.jsx","sourceRoot":"","sources":["../../src/expresivo/ExpPageHero/ExpPageHero.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExpPageHero.jsx","sourceRoot":"","sources":["../../src/expresivo/ExpPageHero/ExpPageHero.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  export { ExpPageHero } from './ExpPageHero';
2
- export type { ExpPageHeroBubble, ExpPageHeroCollapse, ExpPageHeroLevel, ExpPageHeroProps, } from './ExpPageHero';
2
+ export type { ExpPageHeroBubble, ExpPageHeroCollapse, ExpPageHeroLevel, ExpPageHeroNarrowLayout, ExpPageHeroProps, } from './ExpPageHero';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/expresivo/ExpPageHero/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EACV,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/expresivo/ExpPageHero/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EACV,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,eAAe,CAAC"}
@@ -1,9 +1,12 @@
1
1
  import type { ButtonHTMLAttributes, ReactNode } from 'react';
2
2
  export type ExpPillButtonTone = 'brand' | 'soft';
3
- export type ExpPillButtonIcon = 'lens' | 'sync' | 'enter' | 'none';
3
+ export type ExpPillButtonIcon = 'lens' | 'sync' | 'enter' | 'add' | 'none';
4
+ export type ExpPillButtonSize = 'md' | 'sm';
4
5
  export type ExpPillButtonProps = {
5
6
  tone?: ExpPillButtonTone;
6
7
  icon?: ExpPillButtonIcon;
8
+ /** `md` is 44px tall, like the core `Button`; `sm` is 32px, for a dense header or row. */
9
+ size?: ExpPillButtonSize;
7
10
  /** Blocks the button and animates its glyph while the action runs. */
8
11
  busy?: boolean;
9
12
  /** Label shown while `busy`. Defaults to `children`. */
@@ -15,7 +18,7 @@ export type ExpPillButtonProps = {
15
18
  } & ButtonHTMLAttributes<HTMLButtonElement>;
16
19
  /**
17
20
  * Light pill-shaped call to action, the same 44px height as the core
18
- * `Button`. `brand` is a filled lavender pill that turns into the clicOH
21
+ * `Button` (32px with `size="sm"`). `brand` is a filled lavender pill that turns into the clicOH
19
22
  * gradient on hover, with its glyph in a white disc; `soft` is a tinted pill
20
23
  * for secondary actions, such as a button inside a field.
21
24
  *
@@ -33,7 +36,8 @@ export type ExpPillButtonProps = {
33
36
  *
34
37
  * @param {Object} props - The properties of the ExpPillButton component.
35
38
  * @param {'brand' | 'soft'} [props.tone='brand'] - Filled lavender or tinted.
36
- * @param {'lens' | 'sync' | 'enter' | 'none'} [props.icon='lens'] - Glyph before the label.
39
+ * @param {'lens' | 'sync' | 'enter' | 'add' | 'none'} [props.icon='lens'] - Glyph before the label; `add` is a plus, for an action that creates something.
40
+ * @param {'md' | 'sm'} [props.size='md'] - 44px tall, or 32px with a smaller label and glyph; outside an `ExpScope` it maps to the core `Button` `md` or `sm`.
37
41
  * @param {boolean} [props.busy=false] - Blocks the button and animates its glyph.
38
42
  * @param {string} [props.busyLabel] - Label shown while `busy`.
39
43
  * @param {boolean} [props.block=false] - Takes the full width of its container.
@@ -43,5 +47,5 @@ export type ExpPillButtonProps = {
43
47
  *
44
48
  * @returns {ReactNode} The rendered pill, or a core `Button` outside an `ExpScope`.
45
49
  */
46
- export declare function ExpPillButton({ tone, icon, busy, busyLabel, block, flush, disabled, children, ...restProps }: ExpPillButtonProps): ReactNode;
50
+ export declare function ExpPillButton({ tone, icon, size, busy, busyLabel, block, flush, disabled, children, ...restProps }: ExpPillButtonProps): ReactNode;
47
51
  //# sourceMappingURL=ExpPillButton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExpPillButton.d.ts","sourceRoot":"","sources":["../../src/expresivo/ExpPillButton/ExpPillButton.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAW7D,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,MAAM,CAAC;AAEjD,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAEnE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,sEAAsE;IACtE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wFAAwF;IACxF,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;AAiC5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,aAAa,CAAC,EAC5B,IAAc,EACd,IAAa,EACb,IAAY,EACZ,SAAS,EACT,KAAa,EACb,KAAa,EACb,QAAgB,EAChB,QAAQ,EACR,GAAG,SAAS,EACb,EAAE,kBAAkB,GAAG,SAAS,CAiEhC"}
1
+ {"version":3,"file":"ExpPillButton.d.ts","sourceRoot":"","sources":["../../src/expresivo/ExpPillButton/ExpPillButton.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAW7D,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,MAAM,CAAC;AAEjD,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;AAE3E,MAAM,MAAM,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAAC;AAE5C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,0FAA0F;IAC1F,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,sEAAsE;IACtE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wFAAwF;IACxF,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;AA0E5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,aAAa,CAAC,EAC5B,IAAc,EACd,IAAa,EACb,IAAW,EACX,IAAY,EACZ,SAAS,EACT,KAAa,EACb,KAAa,EACb,QAAgB,EAChB,QAAQ,EACR,GAAG,SAAS,EACb,EAAE,kBAAkB,GAAG,SAAS,CAwEhC"}
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
  import clsx from 'clsx';
3
- import { FiLogIn, FiRefreshCw, FiSearch } from 'react-icons/fi';
3
+ import { FiLogIn, FiPlus, FiRefreshCw, FiSearch } from 'react-icons/fi';
4
4
  import { Button } from '@clicoh/orion-library';
5
5
  import { useExpScope } from '../ExpScope/ExpScope';
6
6
  import { EnterGlyph, LensGlyph, SyncBadgeGlyph, SyncGlyph, } from '../shared/glyphs';
@@ -8,9 +8,36 @@ const fallbackIconMap = {
8
8
  lens: <FiSearch />,
9
9
  sync: <FiRefreshCw />,
10
10
  enter: <FiLogIn />,
11
+ add: <FiPlus />,
11
12
  none: undefined,
12
13
  };
13
14
  const liftClass = 'hover:-translate-y-px active:translate-y-0 active:scale-[.98]';
15
+ const sizeMap = {
16
+ md: {
17
+ text: 'gap-2.5 text-sm leading-5',
18
+ height: 'h-11',
19
+ padBare: 'px-6',
20
+ padDisc: 'pr-[22px] pl-1.5',
21
+ padGlyph: 'pr-[18px] pl-3',
22
+ disc: 'size-8',
23
+ lens: 22,
24
+ badge: 32,
25
+ glyph: 20,
26
+ plus: 'size-5',
27
+ },
28
+ sm: {
29
+ text: 'gap-1.5 text-xs leading-4',
30
+ height: 'h-8',
31
+ padBare: 'px-4',
32
+ padDisc: 'pr-4 pl-1',
33
+ padGlyph: 'pr-3.5 pl-2.5',
34
+ disc: 'size-6',
35
+ lens: 16,
36
+ badge: 24,
37
+ glyph: 16,
38
+ plus: 'size-4',
39
+ },
40
+ };
14
41
  const toneMap = {
15
42
  brand: {
16
43
  idle: clsx('bg-lavender dark:bg-lavender-dark text-white shadow-[0_3px_10px_rgba(106,93,249,0.22)]', 'hover:from-lavender hover:to-violet hover:bg-linear-135 hover:shadow-[0_8px_20px_rgba(200,84,228,0.28)]'),
@@ -25,7 +52,7 @@ const toneMap = {
25
52
  };
26
53
  /**
27
54
  * Light pill-shaped call to action, the same 44px height as the core
28
- * `Button`. `brand` is a filled lavender pill that turns into the clicOH
55
+ * `Button` (32px with `size="sm"`). `brand` is a filled lavender pill that turns into the clicOH
29
56
  * gradient on hover, with its glyph in a white disc; `soft` is a tinted pill
30
57
  * for secondary actions, such as a button inside a field.
31
58
  *
@@ -43,7 +70,8 @@ const toneMap = {
43
70
  *
44
71
  * @param {Object} props - The properties of the ExpPillButton component.
45
72
  * @param {'brand' | 'soft'} [props.tone='brand'] - Filled lavender or tinted.
46
- * @param {'lens' | 'sync' | 'enter' | 'none'} [props.icon='lens'] - Glyph before the label.
73
+ * @param {'lens' | 'sync' | 'enter' | 'add' | 'none'} [props.icon='lens'] - Glyph before the label; `add` is a plus, for an action that creates something.
74
+ * @param {'md' | 'sm'} [props.size='md'] - 44px tall, or 32px with a smaller label and glyph; outside an `ExpScope` it maps to the core `Button` `md` or `sm`.
47
75
  * @param {boolean} [props.busy=false] - Blocks the button and animates its glyph.
48
76
  * @param {string} [props.busyLabel] - Label shown while `busy`.
49
77
  * @param {boolean} [props.block=false] - Takes the full width of its container.
@@ -53,24 +81,26 @@ const toneMap = {
53
81
  *
54
82
  * @returns {ReactNode} The rendered pill, or a core `Button` outside an `ExpScope`.
55
83
  */
56
- export function ExpPillButton({ tone = 'brand', icon = 'lens', busy = false, busyLabel, block = false, flush = false, disabled = false, children, ...restProps }) {
84
+ export function ExpPillButton({ tone = 'brand', icon = 'lens', size = 'md', busy = false, busyLabel, block = false, flush = false, disabled = false, children, ...restProps }) {
57
85
  const inScope = useExpScope();
58
86
  const label = busy && busyLabel ? busyLabel : children;
87
+ const sizing = sizeMap[size];
59
88
  if (!inScope) {
60
- return (<Button {...restProps} modifier={tone === 'brand' ? 'principal' : 'second'} iconL={fallbackIconMap[icon]} disabled={disabled || busy} aria-busy={busy || undefined} className={clsx(block && 'w-full', restProps.className)}>
89
+ return (<Button {...restProps} modifier={tone === 'brand' ? 'principal' : 'second'} size={size} iconL={fallbackIconMap[icon]} disabled={disabled || busy} aria-busy={busy || undefined} className={clsx(block && 'w-full', restProps.className)}>
61
90
  {label}
62
91
  </Button>);
63
92
  }
64
93
  const state = disabled ? 'disabled' : busy ? 'busy' : 'idle';
65
94
  const hasDisc = tone === 'brand' && (icon === 'lens' || icon === 'sync');
66
- return (<button {...restProps} disabled={disabled || busy} aria-busy={busy || undefined} className={clsx('items-center gap-2.5 rounded-full text-sm leading-5 font-semibold whitespace-nowrap', 'transition-[background-color,box-shadow,translate,scale] duration-200 motion-reduce:translate-none motion-reduce:scale-none motion-reduce:transition-none', flush ? 'h-full' : 'h-11', !flush && state === 'idle' && liftClass, block ? 'flex w-full justify-center' : 'inline-flex', icon === 'none' && 'px-6', icon !== 'none' && (hasDisc ? 'pr-[22px] pl-1.5' : 'pr-[18px] pl-3'), toneMap[tone][state], restProps.className)}>
67
- {tone === 'brand' && icon === 'lens' && (<span aria-hidden="true" className={clsx('flex size-8 shrink-0 items-center justify-center rounded-full', disabled ? 'bg-gray-6' : 'bg-white')}>
68
- <LensGlyph size={22} busy={busy} disabled={disabled}/>
95
+ return (<button {...restProps} disabled={disabled || busy} aria-busy={busy || undefined} className={clsx('items-center rounded-full font-semibold whitespace-nowrap', 'transition-[background-color,box-shadow,translate,scale] duration-200 motion-reduce:translate-none motion-reduce:scale-none motion-reduce:transition-none', sizing.text, flush ? 'h-full' : sizing.height, !flush && state === 'idle' && liftClass, block ? 'flex w-full justify-center' : 'inline-flex', icon === 'none' && sizing.padBare, icon !== 'none' && (hasDisc ? sizing.padDisc : sizing.padGlyph), toneMap[tone][state], restProps.className)}>
96
+ {tone === 'brand' && icon === 'lens' && (<span aria-hidden="true" className={clsx('flex shrink-0 items-center justify-center rounded-full', sizing.disc, disabled ? 'bg-gray-6' : 'bg-white')}>
97
+ <LensGlyph size={sizing.lens} busy={busy} disabled={disabled}/>
69
98
  </span>)}
70
- {tone === 'brand' && icon === 'sync' && (<SyncBadgeGlyph size={32} busy={busy} disabled={disabled}/>)}
71
- {tone === 'soft' && icon === 'lens' && (<LensGlyph size={20} busy={busy} disabled={disabled}/>)}
72
- {tone === 'soft' && icon === 'sync' && (<SyncGlyph size={20} busy={busy} disabled={disabled}/>)}
73
- {icon === 'enter' && (<EnterGlyph size={20} busy={busy} disabled={disabled}/>)}
99
+ {tone === 'brand' && icon === 'sync' && (<SyncBadgeGlyph size={sizing.badge} busy={busy} disabled={disabled}/>)}
100
+ {tone === 'soft' && icon === 'lens' && (<LensGlyph size={sizing.glyph} busy={busy} disabled={disabled}/>)}
101
+ {tone === 'soft' && icon === 'sync' && (<SyncGlyph size={sizing.glyph} busy={busy} disabled={disabled}/>)}
102
+ {icon === 'enter' && (<EnterGlyph size={sizing.glyph} busy={busy} disabled={disabled}/>)}
103
+ {icon === 'add' && (<FiPlus aria-hidden="true" className={clsx('shrink-0', sizing.plus)}/>)}
74
104
  {label}
75
105
  </button>);
76
106
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ExpPillButton.jsx","sourceRoot":"","sources":["../../src/expresivo/ExpPillButton/ExpPillButton.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExpPillButton.jsx","sourceRoot":"","sources":["../../src/expresivo/ExpPillButton/ExpPillButton.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  export { ExpPillButton } from './ExpPillButton';
2
- export type { ExpPillButtonIcon, ExpPillButtonProps, ExpPillButtonTone, } from './ExpPillButton';
2
+ export type { ExpPillButtonIcon, ExpPillButtonProps, ExpPillButtonSize, ExpPillButtonTone, } from './ExpPillButton';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/expresivo/ExpPillButton/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EACV,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/expresivo/ExpPillButton/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EACV,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExpRepoAvatar.d.ts","sourceRoot":"","sources":["../../src/expresivo/ExpRepoAvatar/ExpRepoAvatar.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvD,OAAO,EAAE,KAAK,iBAAiB,EAAqB,MAAM,WAAW,CAAC;AAEtE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,iBAAiB,CAAC;IACxB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,IAAS,EACT,GAAG,SAAS,EACb,EAAE,kBAAkB,GAAG,SAAS,CAqBhC"}
1
+ {"version":3,"file":"ExpRepoAvatar.d.ts","sourceRoot":"","sources":["../../src/expresivo/ExpRepoAvatar/ExpRepoAvatar.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvD,OAAO,EAAE,KAAK,iBAAiB,EAAqB,MAAM,WAAW,CAAC;AAEtE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,iBAAiB,CAAC;IACxB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,IAAS,EACT,GAAG,SAAS,EACb,EAAE,kBAAkB,GAAG,SAAS,CAsBhC"}
@@ -29,6 +29,7 @@ export function ExpRepoAvatar({ name, size = 32, ...restProps }) {
29
29
  if (!options || options.mascots === 'hidden')
30
30
  return null;
31
31
  return (<span {...restProps} aria-hidden="true" className={clsx('inline-flex shrink-0', restProps.className)}>
32
+ {/* eslint-disable-next-line @next/next/no-img-element -- fixed-size package asset: `next/image` would lazy-load it */}
32
33
  <img src={repoAvatarCatalog[name].src} alt="" width={size} height={size} draggable={false} className="block object-contain"/>
33
34
  </span>);
34
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ExpRepoAvatar.jsx","sourceRoot":"","sources":["../../src/expresivo/ExpRepoAvatar/ExpRepoAvatar.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAA0B,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAQtE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,aAAa,CAAC,EAC5B,IAAI,EACJ,IAAI,GAAG,EAAE,EACT,GAAG,SAAS,EACO;IACnB,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,CAAC,sBAAsB,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAE7D;MAAA,CAAC,GAAG,CACF,GAAG,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CACjC,GAAG,CAAC,EAAE,CACN,KAAK,CAAC,CAAC,IAAI,CAAC,CACZ,MAAM,CAAC,CAAC,IAAI,CAAC,CACb,SAAS,CAAC,CAAC,KAAK,CAAC,CACjB,SAAS,CAAC,sBAAsB,EAEpC;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ExpRepoAvatar.jsx","sourceRoot":"","sources":["../../src/expresivo/ExpRepoAvatar/ExpRepoAvatar.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAA0B,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAQtE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,aAAa,CAAC,EAC5B,IAAI,EACJ,IAAI,GAAG,EAAE,EACT,GAAG,SAAS,EACO;IACnB,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,CAAC,sBAAsB,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAE7D;MAAA,CAAC,qHAAqH,CACtH;MAAA,CAAC,GAAG,CACF,GAAG,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CACjC,GAAG,CAAC,EAAE,CACN,KAAK,CAAC,CAAC,IAAI,CAAC,CACZ,MAAM,CAAC,CAAC,IAAI,CAAC,CACb,SAAS,CAAC,CAAC,KAAK,CAAC,CACjB,SAAS,CAAC,sBAAsB,EAEpC;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExpStatIcon.d.ts","sourceRoot":"","sources":["../../src/expresivo/ExpStatIcon/ExpStatIcon.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvD,OAAO,EAAE,KAAK,eAAe,EAAmB,MAAM,WAAW,CAAC;AAElE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,eAAe,CAAC;IACtB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC,CAAC;AAEtD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,IAAS,EACT,GAAG,SAAS,EACb,EAAE,gBAAgB,GAAG,SAAS,CAqB9B"}
1
+ {"version":3,"file":"ExpStatIcon.d.ts","sourceRoot":"","sources":["../../src/expresivo/ExpStatIcon/ExpStatIcon.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvD,OAAO,EAAE,KAAK,eAAe,EAAmB,MAAM,WAAW,CAAC;AAElE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,eAAe,CAAC;IACtB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC,CAAC;AAEtD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,IAAS,EACT,GAAG,SAAS,EACb,EAAE,gBAAgB,GAAG,SAAS,CAsB9B"}
@@ -23,6 +23,7 @@ export function ExpStatIcon({ name, size = 28, ...restProps }) {
23
23
  if (!inScope)
24
24
  return null;
25
25
  return (<span {...restProps} aria-hidden="true" className={clsx('inline-flex shrink-0', restProps.className)}>
26
+ {/* eslint-disable-next-line @next/next/no-img-element -- fixed-size package asset: `next/image` would lazy-load it */}
26
27
  <img src={statIconCatalog[name].src} alt="" width={size} height={size} draggable={false} className="block object-contain"/>
27
28
  </span>);
28
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ExpStatIcon.jsx","sourceRoot":"","sources":["../../src/expresivo/ExpStatIcon/ExpStatIcon.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAwB,eAAe,EAAE,MAAM,WAAW,CAAC;AAQlE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,WAAW,CAAC,EAC1B,IAAI,EACJ,IAAI,GAAG,EAAE,EACT,GAAG,SAAS,EACK;IACjB,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAE9B,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,OAAO,CACL,CAAC,IAAI,CACH,IAAI,SAAS,CAAC,CACd,WAAW,CAAC,MAAM,CAClB,SAAS,CAAC,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAE7D;MAAA,CAAC,GAAG,CACF,GAAG,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAC/B,GAAG,CAAC,EAAE,CACN,KAAK,CAAC,CAAC,IAAI,CAAC,CACZ,MAAM,CAAC,CAAC,IAAI,CAAC,CACb,SAAS,CAAC,CAAC,KAAK,CAAC,CACjB,SAAS,CAAC,sBAAsB,EAEpC;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ExpStatIcon.jsx","sourceRoot":"","sources":["../../src/expresivo/ExpStatIcon/ExpStatIcon.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAwB,eAAe,EAAE,MAAM,WAAW,CAAC;AAQlE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,WAAW,CAAC,EAC1B,IAAI,EACJ,IAAI,GAAG,EAAE,EACT,GAAG,SAAS,EACK;IACjB,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAE9B,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,OAAO,CACL,CAAC,IAAI,CACH,IAAI,SAAS,CAAC,CACd,WAAW,CAAC,MAAM,CAClB,SAAS,CAAC,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAE7D;MAAA,CAAC,qHAAqH,CACtH;MAAA,CAAC,GAAG,CACF,GAAG,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAC/B,GAAG,CAAC,EAAE,CACN,KAAK,CAAC,CAAC,IAAI,CAAC,CACZ,MAAM,CAAC,CAAC,IAAI,CAAC,CACb,SAAS,CAAC,CAAC,KAAK,CAAC,CACjB,SAAS,CAAC,sBAAsB,EAEpC;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC"}
@@ -0,0 +1,52 @@
1
+ import { TabList } from '@clicoh/orion-library';
2
+ import { type ComponentProps, type ReactNode } from 'react';
3
+ import type { ExpMascotName } from '../ExpMascot/catalog';
4
+ export type ExpTabsProps = {
5
+ /** Same items as the core `TabList`: `title`, optional `icon` and `count`, and the panel as `children`. */
6
+ list: ComponentProps<typeof TabList>['list'];
7
+ /** Accessible name of the row of tabs. */
8
+ ariaLabel: string;
9
+ /** Called with the index of the tab the user opens. */
10
+ callback?: (index: number) => void;
11
+ /** Index of the tab open on mount. */
12
+ firstActiveTab?: number;
13
+ /** Mascot that peeks from behind the end of the row, from `lg` up. Decorative. */
14
+ peek?: ExpMascotName;
15
+ /** Shows the `peek` below `lg` too. Only when the tabs fit a phone's width: the rail scrolls otherwise. */
16
+ narrowPeek?: boolean;
17
+ className?: string;
18
+ };
19
+ /**
20
+ * Tabs as a pill rail: the open tab is a white pill that slides to the tab
21
+ * the user picks. Arrow keys, Home and End move between tabs. `peek` puts a
22
+ * mascot behind the end of the rail, from `lg` up, or at every width with
23
+ * `narrowPeek`.
24
+ *
25
+ * The panel of the open tab renders below the rail, as in the core
26
+ * `TabList`. Outside an `ExpScope` it falls back to `TabList` `second` with
27
+ * the same `list`.
28
+ *
29
+ * @component
30
+ * @example
31
+ * <ExpTabs
32
+ * ariaLabel="Search type"
33
+ * peek="bugi-05-sorprendido"
34
+ * list={[
35
+ * { title: 'Messages', children: <MessageSearch /> },
36
+ * { title: 'Routes', children: <RouteSearch /> },
37
+ * ]}
38
+ * />
39
+ *
40
+ * @param {ExpTabsProps} props - The properties of the ExpTabs component.
41
+ * @param {Array<Object>} props.list - Tabs with `title`, optional `icon` and `count`, and the panel as `children`.
42
+ * @param {string} props.ariaLabel - Accessible name of the row of tabs.
43
+ * @param {(index: number) => void} [props.callback] - Called with the index of the tab the user opens.
44
+ * @param {number} [props.firstActiveTab=0] - Index of the tab open on mount.
45
+ * @param {ExpMascotName} [props.peek] - Mascot behind the end of the rail, from `lg` up.
46
+ * @param {boolean} [props.narrowPeek=false] - Shows the `peek` below `lg` too.
47
+ * @param {string} [props.className] - Classes for the wrapper.
48
+ *
49
+ * @returns {ReactNode} The rail and the open panel, or a core `TabList` outside an `ExpScope`.
50
+ */
51
+ export declare function ExpTabs({ list, ariaLabel, callback, firstActiveTab, peek, narrowPeek, className, }: ExpTabsProps): ReactNode;
52
+ //# sourceMappingURL=ExpTabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpTabs.d.ts","sourceRoot":"","sources":["../../src/expresivo/ExpTabs/ExpTabs.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAQ,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,SAAS,EAKf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAK1D,MAAM,MAAM,YAAY,GAAG;IACzB,2GAA2G;IAC3G,IAAI,EAAE,cAAc,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;IAC7C,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,sCAAsC;IACtC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kFAAkF;IAClF,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,2GAA2G;IAC3G,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAKF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,OAAO,CAAC,EACtB,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,cAAkB,EAClB,IAAI,EACJ,UAAkB,EAClB,SAAS,GACV,EAAE,YAAY,GAAG,SAAS,CAoI1B"}
@@ -0,0 +1,105 @@
1
+ 'use client';
2
+ import { Each, TabList } from '@clicoh/orion-library';
3
+ import clsx from 'clsx';
4
+ import { useId, useLayoutEffect, useRef, useState, } from 'react';
5
+ import { ExpMascot } from '../ExpMascot/ExpMascot';
6
+ import { useExpScope } from '../ExpScope/ExpScope';
7
+ const validTab = (index, length) => index >= 0 && index < length ? index : 0;
8
+ /**
9
+ * Tabs as a pill rail: the open tab is a white pill that slides to the tab
10
+ * the user picks. Arrow keys, Home and End move between tabs. `peek` puts a
11
+ * mascot behind the end of the rail, from `lg` up, or at every width with
12
+ * `narrowPeek`.
13
+ *
14
+ * The panel of the open tab renders below the rail, as in the core
15
+ * `TabList`. Outside an `ExpScope` it falls back to `TabList` `second` with
16
+ * the same `list`.
17
+ *
18
+ * @component
19
+ * @example
20
+ * <ExpTabs
21
+ * ariaLabel="Search type"
22
+ * peek="bugi-05-sorprendido"
23
+ * list={[
24
+ * { title: 'Messages', children: <MessageSearch /> },
25
+ * { title: 'Routes', children: <RouteSearch /> },
26
+ * ]}
27
+ * />
28
+ *
29
+ * @param {ExpTabsProps} props - The properties of the ExpTabs component.
30
+ * @param {Array<Object>} props.list - Tabs with `title`, optional `icon` and `count`, and the panel as `children`.
31
+ * @param {string} props.ariaLabel - Accessible name of the row of tabs.
32
+ * @param {(index: number) => void} [props.callback] - Called with the index of the tab the user opens.
33
+ * @param {number} [props.firstActiveTab=0] - Index of the tab open on mount.
34
+ * @param {ExpMascotName} [props.peek] - Mascot behind the end of the rail, from `lg` up.
35
+ * @param {boolean} [props.narrowPeek=false] - Shows the `peek` below `lg` too.
36
+ * @param {string} [props.className] - Classes for the wrapper.
37
+ *
38
+ * @returns {ReactNode} The rail and the open panel, or a core `TabList` outside an `ExpScope`.
39
+ */
40
+ export function ExpTabs({ list, ariaLabel, callback, firstActiveTab = 0, peek, narrowPeek = false, className, }) {
41
+ const inScope = useExpScope();
42
+ const [active, setActive] = useState(() => validTab(firstActiveTab, list.length));
43
+ const [pill, setPill] = useState(null);
44
+ const tabs = useRef([]);
45
+ const id = useId();
46
+ const titles = list.map(({ title }) => title).join('\n');
47
+ // Titles key the buttons: a new title is a new element to measure.
48
+ useLayoutEffect(() => {
49
+ const tab = tabs.current[active];
50
+ if (!inScope || !tab)
51
+ return;
52
+ const observer = new ResizeObserver(() => setPill({ left: tab.offsetLeft, width: tab.offsetWidth }));
53
+ observer.observe(tab);
54
+ return () => observer.disconnect();
55
+ }, [inScope, active, titles]);
56
+ if (!inScope) {
57
+ return (<TabList list={list} callback={callback} firstActiveTab={firstActiveTab} modifier="second" className={className}/>);
58
+ }
59
+ const open = (index) => {
60
+ setActive(index);
61
+ callback?.(index);
62
+ };
63
+ const onKeyDown = (event) => {
64
+ const last = list.length - 1;
65
+ const next = {
66
+ ArrowRight: active === last ? 0 : active + 1,
67
+ ArrowLeft: active === 0 ? last : active - 1,
68
+ Home: 0,
69
+ End: last,
70
+ };
71
+ if (!(event.key in next))
72
+ return;
73
+ event.preventDefault();
74
+ open(next[event.key]);
75
+ tabs.current[next[event.key]]?.focus();
76
+ };
77
+ return (<div className={className}>
78
+ <div className="flex max-w-full items-center">
79
+ <div role="tablist" aria-label={ariaLabel} aria-orientation="horizontal" className="bg-gray-6 dark:bg-gray-dark-2 relative z-10 inline-flex max-w-full items-center gap-1 overflow-x-auto rounded-full p-1">
80
+ {pill !== null && (<span aria-hidden="true" style={{
81
+ width: pill.width,
82
+ transform: `translateX(${pill.left}px)`,
83
+ }} className="dark:bg-gray-dark-1 absolute inset-y-1 left-0 rounded-full bg-white shadow-[0_1px_2px_rgba(34,35,41,0.12),0_2px_8px_rgba(106,93,249,0.14)] transition-[transform,width] duration-[260ms] ease-[cubic-bezier(0.22,1,0.36,1)] motion-reduce:transition-none dark:shadow-none"/>)}
84
+ <Each of={list} render={({ title, icon, count }, index) => (<button key={title} ref={(element) => {
85
+ tabs.current[index] = element;
86
+ }} type="button" role="tab" id={`${id}-tab-${index}`} aria-controls={`${id}-panel-${index}`} aria-selected={index === active} tabIndex={index === active ? 0 : -1} onClick={() => open(index)} onKeyDown={onKeyDown} className={clsx('focus-visible:ring-lavender dark:focus-visible:ring-lavender-dark relative inline-flex h-9 shrink-0 cursor-pointer items-center gap-2 rounded-full px-4 text-sm leading-5 whitespace-nowrap transition-colors focus-visible:ring-2 focus-visible:outline-none sm:px-[18px]', index === active
87
+ ? 'font-semibold text-black dark:text-white'
88
+ : 'text-gray-1 dark:text-gray-2 hover:text-black dark:hover:text-white')}>
89
+ {!!icon && <span aria-hidden="true">{icon}</span>}
90
+ {title}
91
+ {count !== undefined && (<span className="font-semibold">{count}</span>)}
92
+ </button>)}/>
93
+ </div>
94
+ {!!peek && (<span aria-hidden="true" className={clsx('-ml-1.5 h-14 w-[46px] shrink-0 items-center overflow-hidden', narrowPeek ? 'flex' : 'hidden lg:flex')}>
95
+ <span className="-ml-5 w-16 shrink-0 rotate-[8deg]">
96
+ <ExpMascot name={peek} size={64} motion="still" backdrop={false}/>
97
+ </span>
98
+ </span>)}
99
+ </div>
100
+ <div id={`${id}-panel-${active}`} role="tabpanel" aria-labelledby={`${id}-tab-${active}`} tabIndex={0}>
101
+ {list[active].children}
102
+ </div>
103
+ </div>);
104
+ }
105
+ //# sourceMappingURL=ExpTabs.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpTabs.jsx","sourceRoot":"","sources":["../../src/expresivo/ExpTabs/ExpTabs.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { ExpTabs } from './ExpTabs';
2
+ export type { ExpTabsProps } from './ExpTabs';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/expresivo/ExpTabs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { ExpTabs } from './ExpTabs';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/expresivo/ExpTabs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC"}
@@ -24,4 +24,5 @@ export * from './ExpSplitCard';
24
24
  export * from './ExpStatusTag';
25
25
  export * from './ExpCodeHostIcon';
26
26
  export * from './ExpAccentNote';
27
+ export * from './ExpTabs';
27
28
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/expresivo/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/expresivo/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC"}
@@ -24,4 +24,5 @@ export * from './ExpSplitCard';
24
24
  export * from './ExpStatusTag';
25
25
  export * from './ExpCodeHostIcon';
26
26
  export * from './ExpAccentNote';
27
+ export * from './ExpTabs';
27
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/expresivo/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/expresivo/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clicoh/orion-library",
3
- "version": "1.2.0-beta.23",
3
+ "version": "1.2.0-beta.25",
4
4
  "main": "index.js",
5
5
  "dependencies": {
6
6
  "@floating-ui/react": "0.26.19",