@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.
- package/assets/css/expresivo.css +136 -11
- package/dist/components/00-base/RootLayout/RootLayout.d.ts.map +1 -1
- package/dist/components/00-base/RootLayout/RootLayout.jsx +1 -0
- package/dist/components/00-base/RootLayout/RootLayout.jsx.map +1 -1
- package/dist/components/01-atoms/ChipButton/ChipButton.d.ts +24 -0
- package/dist/components/01-atoms/ChipButton/ChipButton.d.ts.map +1 -0
- package/dist/components/01-atoms/ChipButton/ChipButton.jsx +26 -0
- package/dist/components/01-atoms/ChipButton/ChipButton.jsx.map +1 -0
- package/dist/components/01-atoms/ChipButton/index.d.ts +2 -0
- package/dist/components/01-atoms/ChipButton/index.d.ts.map +1 -0
- package/dist/components/01-atoms/ChipButton/index.js +2 -0
- package/dist/components/01-atoms/ChipButton/index.js.map +1 -0
- package/dist/components/01-atoms/CodeBlock/CodeBlock.d.ts +19 -5
- package/dist/components/01-atoms/CodeBlock/CodeBlock.d.ts.map +1 -1
- package/dist/components/01-atoms/CodeBlock/CodeBlock.jsx +41 -9
- package/dist/components/01-atoms/CodeBlock/CodeBlock.jsx.map +1 -1
- package/dist/components/01-atoms/MultiSelect/MultiSelect.d.ts.map +1 -1
- package/dist/components/01-atoms/MultiSelect/MultiSelect.jsx +12 -8
- package/dist/components/01-atoms/MultiSelect/MultiSelect.jsx.map +1 -1
- package/dist/components/01-atoms/Radio/Radio.d.ts.map +1 -1
- package/dist/components/01-atoms/Radio/Radio.jsx +2 -0
- package/dist/components/01-atoms/Radio/Radio.jsx.map +1 -1
- package/dist/components/01-atoms/Select/SelectList.d.ts.map +1 -1
- package/dist/components/01-atoms/Select/SelectList.jsx +1 -0
- package/dist/components/01-atoms/Select/SelectList.jsx.map +1 -1
- package/dist/components/01-atoms/Switch/Switch.d.ts.map +1 -1
- package/dist/components/01-atoms/Switch/Switch.jsx +11 -7
- package/dist/components/01-atoms/Switch/Switch.jsx.map +1 -1
- package/dist/components/01-atoms/index.d.ts +1 -0
- package/dist/components/01-atoms/index.d.ts.map +1 -1
- package/dist/components/01-atoms/index.js +1 -0
- package/dist/components/01-atoms/index.js.map +1 -1
- package/dist/components/02-molecules/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/dist/components/02-molecules/Autocomplete/Autocomplete.jsx +52 -47
- package/dist/components/02-molecules/Autocomplete/Autocomplete.jsx.map +1 -1
- package/dist/components/02-molecules/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/components/02-molecules/DatePicker/DatePicker.jsx +11 -6
- package/dist/components/02-molecules/DatePicker/DatePicker.jsx.map +1 -1
- package/dist/components/02-molecules/Dropdown/Dropdown.jsx +6 -6
- package/dist/components/02-molecules/Dropdown/Dropdown.jsx.map +1 -1
- package/dist/components/02-molecules/Filter/Filter.d.ts.map +1 -1
- package/dist/components/02-molecules/Filter/Filter.jsx +17 -8
- package/dist/components/02-molecules/Filter/Filter.jsx.map +1 -1
- package/dist/components/02-molecules/Menu/MenuList.d.ts.map +1 -1
- package/dist/components/02-molecules/Menu/MenuList.jsx +8 -5
- package/dist/components/02-molecules/Menu/MenuList.jsx.map +1 -1
- package/dist/components/02-molecules/Table/Table.d.ts +28 -1
- package/dist/components/02-molecules/Table/Table.d.ts.map +1 -1
- package/dist/components/02-molecules/Table/Table.jsx +126 -76
- package/dist/components/02-molecules/Table/Table.jsx.map +1 -1
- package/dist/components/02-molecules/Table/index.d.ts +1 -1
- package/dist/components/02-molecules/Table/index.d.ts.map +1 -1
- package/dist/components/02-molecules/TimePicker/TimePicker.d.ts.map +1 -1
- package/dist/components/02-molecules/TimePicker/TimePicker.jsx +8 -6
- package/dist/components/02-molecules/TimePicker/TimePicker.jsx.map +1 -1
- package/dist/components/04-templates/DashboardTemplate/DashboardTemplate.d.ts +3 -1
- package/dist/components/04-templates/DashboardTemplate/DashboardTemplate.d.ts.map +1 -1
- package/dist/components/04-templates/DashboardTemplate/DashboardTemplate.jsx +7 -3
- package/dist/components/04-templates/DashboardTemplate/DashboardTemplate.jsx.map +1 -1
- package/dist/components/04-templates/LoginTemplate/LoginForm.d.ts +5 -2
- package/dist/components/04-templates/LoginTemplate/LoginForm.d.ts.map +1 -1
- package/dist/components/04-templates/LoginTemplate/LoginForm.jsx +10 -5
- package/dist/components/04-templates/LoginTemplate/LoginForm.jsx.map +1 -1
- package/expresivo/ExpCollapseToggle/ExpCollapseToggle.d.ts +6 -2
- package/expresivo/ExpCollapseToggle/ExpCollapseToggle.d.ts.map +1 -1
- package/expresivo/ExpCollapseToggle/ExpCollapseToggle.jsx +5 -3
- package/expresivo/ExpCollapseToggle/ExpCollapseToggle.jsx.map +1 -1
- package/expresivo/ExpJourneyTrack/ExpJourneyTrack.d.ts.map +1 -1
- package/expresivo/ExpJourneyTrack/ExpJourneyTrack.jsx +23 -9
- package/expresivo/ExpJourneyTrack/ExpJourneyTrack.jsx.map +1 -1
- package/expresivo/ExpLadder/ExpLadder.d.ts +2 -1
- package/expresivo/ExpLadder/ExpLadder.d.ts.map +1 -1
- package/expresivo/ExpLadder/ExpLadder.jsx +7 -4
- package/expresivo/ExpLadder/ExpLadder.jsx.map +1 -1
- package/expresivo/ExpLogo/ExpLogo.d.ts.map +1 -1
- package/expresivo/ExpLogo/ExpLogo.jsx +3 -0
- package/expresivo/ExpLogo/ExpLogo.jsx.map +1 -1
- package/expresivo/ExpMascot/ExpMascot.d.ts +6 -2
- package/expresivo/ExpMascot/ExpMascot.d.ts.map +1 -1
- package/expresivo/ExpMascot/ExpMascot.jsx +7 -3
- package/expresivo/ExpMascot/ExpMascot.jsx.map +1 -1
- package/expresivo/ExpPageHero/ExpPageHero.d.ts +21 -5
- package/expresivo/ExpPageHero/ExpPageHero.d.ts.map +1 -1
- package/expresivo/ExpPageHero/ExpPageHero.jsx +28 -8
- package/expresivo/ExpPageHero/ExpPageHero.jsx.map +1 -1
- package/expresivo/ExpPageHero/index.d.ts +1 -1
- package/expresivo/ExpPageHero/index.d.ts.map +1 -1
- package/expresivo/ExpPillButton/ExpPillButton.d.ts +8 -4
- package/expresivo/ExpPillButton/ExpPillButton.d.ts.map +1 -1
- package/expresivo/ExpPillButton/ExpPillButton.jsx +42 -12
- package/expresivo/ExpPillButton/ExpPillButton.jsx.map +1 -1
- package/expresivo/ExpPillButton/index.d.ts +1 -1
- package/expresivo/ExpPillButton/index.d.ts.map +1 -1
- package/expresivo/ExpRepoAvatar/ExpRepoAvatar.d.ts.map +1 -1
- package/expresivo/ExpRepoAvatar/ExpRepoAvatar.jsx +1 -0
- package/expresivo/ExpRepoAvatar/ExpRepoAvatar.jsx.map +1 -1
- package/expresivo/ExpStatIcon/ExpStatIcon.d.ts.map +1 -1
- package/expresivo/ExpStatIcon/ExpStatIcon.jsx +1 -0
- package/expresivo/ExpStatIcon/ExpStatIcon.jsx.map +1 -1
- package/expresivo/ExpTabs/ExpTabs.d.ts +52 -0
- package/expresivo/ExpTabs/ExpTabs.d.ts.map +1 -0
- package/expresivo/ExpTabs/ExpTabs.jsx +105 -0
- package/expresivo/ExpTabs/ExpTabs.jsx.map +1 -0
- package/expresivo/ExpTabs/index.d.ts +3 -0
- package/expresivo/ExpTabs/index.d.ts.map +1 -0
- package/expresivo/ExpTabs/index.js +2 -0
- package/expresivo/ExpTabs/index.js.map +1 -0
- package/expresivo/index.d.ts +1 -0
- package/expresivo/index.d.ts.map +1 -1
- package/expresivo/index.js +1 -0
- package/expresivo/index.js.map +1 -1
- 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
|
|
17
|
-
*
|
|
18
|
-
* `
|
|
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 `
|
|
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
|
|
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":"AAAA,YAAY,CAAC;AAEb,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAuC,KAAK,EAAE,MAAM,OAAO,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;
|
|
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
|
|
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;
|
|
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
|
|
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
|
|
67
|
-
{tone === 'brand' && icon === 'lens' && (<span aria-hidden="true" className={clsx('flex
|
|
68
|
-
<LensGlyph size={
|
|
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={
|
|
71
|
-
{tone === 'soft' && icon === 'lens' && (<LensGlyph size={
|
|
72
|
-
{tone === 'soft' && icon === 'sync' && (<SyncGlyph size={
|
|
73
|
-
{icon === 'enter' && (<EnterGlyph size={
|
|
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":"AAAA,YAAY,CAAC;AAEb,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;
|
|
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,
|
|
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,
|
|
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 @@
|
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/expresivo/ExpTabs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC"}
|
package/expresivo/index.d.ts
CHANGED
package/expresivo/index.d.ts.map
CHANGED
|
@@ -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"}
|
package/expresivo/index.js
CHANGED
package/expresivo/index.js.map
CHANGED
|
@@ -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"}
|