@clicoh/orion-library 1.2.0-beta.20 → 1.2.0-beta.22

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 (93) hide show
  1. package/assets/avatares/caja-chispa.png +0 -0
  2. package/assets/avatares/caja.png +0 -0
  3. package/assets/avatares/cohete.png +0 -0
  4. package/assets/avatares/dino.png +0 -0
  5. package/assets/avatares/pulpo-lentes.png +0 -0
  6. package/assets/avatares/pulpo-verde.png +0 -0
  7. package/assets/avatares/pulpo.png +0 -0
  8. package/assets/cifras/alerta.png +0 -0
  9. package/assets/cifras/duda.png +0 -0
  10. package/assets/cifras/error.png +0 -0
  11. package/assets/cifras/monedas.png +0 -0
  12. package/assets/cifras/reloj.png +0 -0
  13. package/assets/cifras/visto.png +0 -0
  14. package/assets/css/expresivo.css +111 -10
  15. package/dist/components/02-molecules/ImageViewer/ImageViewer.d.ts +35 -3
  16. package/dist/components/02-molecules/ImageViewer/ImageViewer.d.ts.map +1 -1
  17. package/dist/components/02-molecules/ImageViewer/ImageViewer.jsx +193 -31
  18. package/dist/components/02-molecules/ImageViewer/ImageViewer.jsx.map +1 -1
  19. package/dist/components/02-molecules/ImageViewer/ImageViewerDocument.d.ts +52 -0
  20. package/dist/components/02-molecules/ImageViewer/ImageViewerDocument.d.ts.map +1 -0
  21. package/dist/components/02-molecules/ImageViewer/ImageViewerDocument.jsx +78 -0
  22. package/dist/components/02-molecules/ImageViewer/ImageViewerDocument.jsx.map +1 -0
  23. package/dist/components/02-molecules/ImageViewer/ImageViewerImage.d.ts +8 -2
  24. package/dist/components/02-molecules/ImageViewer/ImageViewerImage.d.ts.map +1 -1
  25. package/dist/components/02-molecules/ImageViewer/ImageViewerImage.jsx +10 -4
  26. package/dist/components/02-molecules/ImageViewer/ImageViewerImage.jsx.map +1 -1
  27. package/dist/components/02-molecules/ImageViewer/usePdfPages.d.ts +20 -0
  28. package/dist/components/02-molecules/ImageViewer/usePdfPages.d.ts.map +1 -0
  29. package/dist/components/02-molecules/ImageViewer/usePdfPages.js +113 -0
  30. package/dist/components/02-molecules/ImageViewer/usePdfPages.js.map +1 -0
  31. package/dist/components/03-organisms/DataTable/DataTable.d.ts.map +1 -1
  32. package/dist/components/03-organisms/DataTable/DataTable.jsx +1 -1
  33. package/dist/components/03-organisms/DataTable/DataTable.jsx.map +1 -1
  34. package/expresivo/ExpChip/ExpChip.d.ts +15 -5
  35. package/expresivo/ExpChip/ExpChip.d.ts.map +1 -1
  36. package/expresivo/ExpChip/ExpChip.jsx +25 -4
  37. package/expresivo/ExpChip/ExpChip.jsx.map +1 -1
  38. package/expresivo/ExpJourneyTrack/ExpJourneyTrack.d.ts +4 -0
  39. package/expresivo/ExpJourneyTrack/ExpJourneyTrack.d.ts.map +1 -1
  40. package/expresivo/ExpJourneyTrack/ExpJourneyTrack.jsx +6 -2
  41. package/expresivo/ExpJourneyTrack/ExpJourneyTrack.jsx.map +1 -1
  42. package/expresivo/ExpLadder/ExpLadder.d.ts +42 -0
  43. package/expresivo/ExpLadder/ExpLadder.d.ts.map +1 -0
  44. package/expresivo/ExpLadder/ExpLadder.jsx +82 -0
  45. package/expresivo/ExpLadder/ExpLadder.jsx.map +1 -0
  46. package/expresivo/ExpLadder/index.d.ts +3 -0
  47. package/expresivo/ExpLadder/index.d.ts.map +1 -0
  48. package/expresivo/ExpLadder/index.js +2 -0
  49. package/expresivo/ExpLadder/index.js.map +1 -0
  50. package/expresivo/ExpPageHero/ExpPageHero.d.ts +3 -3
  51. package/expresivo/ExpPageHero/ExpPageHero.jsx +4 -4
  52. package/expresivo/ExpPageHero/ExpPageHero.jsx.map +1 -1
  53. package/expresivo/ExpPillButton/ExpPillButton.d.ts +4 -1
  54. package/expresivo/ExpPillButton/ExpPillButton.d.ts.map +1 -1
  55. package/expresivo/ExpPillButton/ExpPillButton.jsx +6 -4
  56. package/expresivo/ExpPillButton/ExpPillButton.jsx.map +1 -1
  57. package/expresivo/ExpRepoAvatar/ExpRepoAvatar.d.ts +28 -0
  58. package/expresivo/ExpRepoAvatar/ExpRepoAvatar.d.ts.map +1 -0
  59. package/expresivo/ExpRepoAvatar/ExpRepoAvatar.jsx +32 -0
  60. package/expresivo/ExpRepoAvatar/ExpRepoAvatar.jsx.map +1 -0
  61. package/expresivo/ExpRepoAvatar/catalog.d.ts +6 -0
  62. package/expresivo/ExpRepoAvatar/catalog.d.ts.map +1 -0
  63. package/expresivo/ExpRepoAvatar/catalog.js +18 -0
  64. package/expresivo/ExpRepoAvatar/catalog.js.map +1 -0
  65. package/expresivo/ExpRepoAvatar/index.d.ts +4 -0
  66. package/expresivo/ExpRepoAvatar/index.d.ts.map +1 -0
  67. package/expresivo/ExpRepoAvatar/index.js +2 -0
  68. package/expresivo/ExpRepoAvatar/index.js.map +1 -0
  69. package/expresivo/ExpSearchField/ExpSearchField.d.ts +49 -0
  70. package/expresivo/ExpSearchField/ExpSearchField.d.ts.map +1 -0
  71. package/expresivo/ExpSearchField/ExpSearchField.jsx +81 -0
  72. package/expresivo/ExpSearchField/ExpSearchField.jsx.map +1 -0
  73. package/expresivo/ExpSearchField/index.d.ts +3 -0
  74. package/expresivo/ExpSearchField/index.d.ts.map +1 -0
  75. package/expresivo/ExpSearchField/index.js +2 -0
  76. package/expresivo/ExpSearchField/index.js.map +1 -0
  77. package/expresivo/ExpStatIcon/ExpStatIcon.d.ts +25 -0
  78. package/expresivo/ExpStatIcon/ExpStatIcon.d.ts.map +1 -0
  79. package/expresivo/ExpStatIcon/ExpStatIcon.jsx +29 -0
  80. package/expresivo/ExpStatIcon/ExpStatIcon.jsx.map +1 -0
  81. package/expresivo/ExpStatIcon/catalog.d.ts +6 -0
  82. package/expresivo/ExpStatIcon/catalog.d.ts.map +1 -0
  83. package/expresivo/ExpStatIcon/catalog.js +16 -0
  84. package/expresivo/ExpStatIcon/catalog.js.map +1 -0
  85. package/expresivo/ExpStatIcon/index.d.ts +4 -0
  86. package/expresivo/ExpStatIcon/index.d.ts.map +1 -0
  87. package/expresivo/ExpStatIcon/index.js +2 -0
  88. package/expresivo/ExpStatIcon/index.js.map +1 -0
  89. package/expresivo/index.d.ts +4 -0
  90. package/expresivo/index.d.ts.map +1 -1
  91. package/expresivo/index.js +4 -0
  92. package/expresivo/index.js.map +1 -1
  93. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ExpJourneyTrack.d.ts","sourceRoot":"","sources":["../../src/expresivo/ExpJourneyTrack/ExpJourneyTrack.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,SAAS,EAGf,MAAM,OAAO,CAAC;AAEf,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7D,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,MAAM,EAAE,aAAa,CAAC;IACtB,kEAAkE;IAClE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,IAAI,CACtC,YAAY,CAAC,aAAa,CAAC,EAC3B,MAAM,GAAG,SAAS,GAAG,SAAS,CAC/B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,uBAAuB;IACvB,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,WAAW,EAAE,qBAAqB,CAAC;IACnC,iDAAiD;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC;AA+BrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,OAAO,EACP,SAAS,EACT,WAAW,EACX,UAAe,EACf,QAAgB,EAChB,GAAG,SAAS,EACb,EAAE,oBAAoB,GAAG,SAAS,CAsLlC"}
1
+ {"version":3,"file":"ExpJourneyTrack.d.ts","sourceRoot":"","sources":["../../src/expresivo/ExpJourneyTrack/ExpJourneyTrack.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,SAAS,EAGf,MAAM,OAAO,CAAC;AAEf,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7D,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,MAAM,EAAE,aAAa,CAAC;IACtB,kEAAkE;IAClE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,IAAI,CACtC,YAAY,CAAC,aAAa,CAAC,EAC3B,MAAM,GAAG,SAAS,GAAG,SAAS,CAC/B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,uBAAuB;IACvB,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,WAAW,EAAE,qBAAqB,CAAC;IACnC,iDAAiD;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC;AA+BrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,OAAO,EACP,SAAS,EACT,WAAW,EACX,UAAe,EACf,QAAgB,EAChB,GAAG,SAAS,EACb,EAAE,oBAAoB,GAAG,SAAS,CAyLlC"}
@@ -39,6 +39,10 @@ const alignOf = (index, count) => {
39
39
  * The line and the mascot are decorative; the stages are an ordered list
40
40
  * whose current item carries `aria-current="step"`.
41
41
  *
42
+ * Labels sit under their dots, so the first and last columns are half as wide
43
+ * as the rest. When the track is narrower than 28rem every label gets the same
44
+ * width instead, so the end labels don't spill onto their neighbours.
45
+ *
42
46
  * Outside an `ExpScope` it falls back to the core `Stepper`. When the scope
43
47
  * hides mascots, the line renders without its traveller.
44
48
  *
@@ -99,7 +103,7 @@ export function ExpJourneyTrack({ stages, current, ariaLabel, stateLabels, masco
99
103
  const labelColumns = stages.length > 2
100
104
  ? `minmax(0, 1fr) repeat(${stages.length - 2}, minmax(0, 2fr)) minmax(0, 1fr)`
101
105
  : `repeat(${stages.length}, minmax(0, 1fr))`;
102
- return (<div {...restProps} className={clsx('relative', restProps.className)}>
106
+ return (<div {...restProps} className={clsx('@container relative', restProps.className)}>
103
107
  <div aria-hidden="true" className="relative" style={{ paddingTop: showMascot ? mascotSize + 8 : 0 }}>
104
108
  {!!showMascot && (<div className="exp-float absolute top-0 transition-[left] duration-900 ease-[cubic-bezier(.65,0,.35,1)] motion-reduce:transition-none" style={{
105
109
  width: mascotSize,
@@ -122,7 +126,7 @@ export function ExpJourneyTrack({ stages, current, ariaLabel, stateLabels, masco
122
126
  }}/>
123
127
  </div>
124
128
  </div>
125
- <ol aria-label={ariaLabel} className="mt-3.5 grid" style={{ gridTemplateColumns: labelColumns }}>
129
+ <ol aria-label={ariaLabel} className="mt-3.5 grid grid-cols-(--exp-track-columns) @max-md:auto-cols-fr @max-md:grid-flow-col @max-md:grid-cols-none @max-md:gap-x-1" style={{ '--exp-track-columns': labelColumns }}>
126
130
  <Each of={stages} render={(stage, index) => {
127
131
  const state = stateOf(index, current);
128
132
  const isReached = index <= current;
@@ -1 +1 @@
1
- {"version":3,"file":"ExpJourneyTrack.jsx","sourceRoot":"","sources":["../../src/expresivo/ExpJourneyTrack/ExpJourneyTrack.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExpJourneyTrack.jsx","sourceRoot":"","sources":["../../src/expresivo/ExpJourneyTrack/ExpJourneyTrack.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import { type StepperStep, type StepperStepState } from '@clicoh/orion-library';
2
+ import type { ReactNode } from 'react';
3
+ export type ExpLadderProps = {
4
+ /** Steps in order, with the same shape as the core `Stepper`. */
5
+ steps: StepperStep[];
6
+ /** Accessible name of the list. */
7
+ ariaLabel: string;
8
+ /** Word for each state, read after every label. A skipped step also shows it. */
9
+ stateLabels: Record<StepperStepState, string>;
10
+ className?: string;
11
+ };
12
+ /**
13
+ * Vertical progress drawn as a staircase: every step that was not skipped
14
+ * sits a little further in, with a diamond in place of the dot. The current
15
+ * step is tinted lavender; skipped steps are struck through and say so.
16
+ *
17
+ * Outside an `ExpScope` it falls back to the core `Stepper`, vertical and
18
+ * `sm`, with the same steps.
19
+ *
20
+ * @component
21
+ * @example
22
+ * <ExpLadder
23
+ * ariaLabel="Case lifecycle"
24
+ * stateLabels={{ done: 'done', current: 'current', pending: 'pending', skipped: 'skipped' }}
25
+ * steps={[
26
+ * { id: 'new', label: 'New', state: 'done' },
27
+ * { id: 'review', label: 'In review', state: 'skipped' },
28
+ * { id: 'fixed', label: 'Fixed', state: 'current' },
29
+ * { id: 'closed', label: 'Closed', state: 'pending' },
30
+ * ]}
31
+ * />
32
+ *
33
+ * @param {ExpLadderProps} props - The properties of the ExpLadder component.
34
+ * @param {StepperStep[]} props.steps - Steps in order: `id`, `label` and `state`.
35
+ * @param {string} props.ariaLabel - Accessible name of the list.
36
+ * @param {Record<StepperStepState, string>} props.stateLabels - Word for each state.
37
+ * @param {string} [props.className] - Classes for the list.
38
+ *
39
+ * @returns {ReactNode} The staircase, or a core `Stepper` outside an `ExpScope`.
40
+ */
41
+ export declare function ExpLadder({ steps, ariaLabel, stateLabels, className, }: ExpLadderProps): ReactNode;
42
+ //# sourceMappingURL=ExpLadder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpLadder.d.ts","sourceRoot":"","sources":["../../src/expresivo/ExpLadder/ExpLadder.tsx"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,MAAM,MAAM,cAAc,GAAG;IAC3B,iEAAiE;IACjE,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,WAAW,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAmCF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,SAAS,EACT,WAAW,EACX,SAAS,GACV,EAAE,cAAc,GAAG,SAAS,CA8D5B"}
@@ -0,0 +1,82 @@
1
+ 'use client';
2
+ import { Each, Stepper, } from '@clicoh/orion-library';
3
+ import clsx from 'clsx';
4
+ import { useExpScope } from '../ExpScope/ExpScope';
5
+ const INDENTS = [
6
+ 'ml-0',
7
+ 'ml-[7px]',
8
+ 'ml-[14px]',
9
+ 'ml-[21px]',
10
+ 'ml-[28px]',
11
+ 'ml-[35px]',
12
+ 'ml-[42px]',
13
+ ];
14
+ const rowMap = {
15
+ done: '',
16
+ current: 'bg-lavender-3 ring-1 ring-lavender-1 ring-inset dark:bg-lavender-dark-1 dark:ring-0',
17
+ pending: '',
18
+ skipped: 'opacity-60',
19
+ };
20
+ const diamondMap = {
21
+ done: 'size-3 bg-black dark:bg-white',
22
+ current: 'size-3.5 bg-linear-135 from-lavender to-violet shadow-[0_0_0_4px_rgba(106,93,249,0.18)] dark:from-lavender-dark dark:to-violet-dark',
23
+ pending: 'size-3 border border-gray-2',
24
+ skipped: 'size-3 border border-dashed border-gray-2',
25
+ };
26
+ const textMap = {
27
+ done: 'font-medium text-black dark:text-white',
28
+ current: 'font-semibold text-lavender dark:text-lavender-dark',
29
+ pending: 'text-gray-1 dark:text-gray-2',
30
+ skipped: 'text-gray-1 line-through dark:text-gray-2',
31
+ };
32
+ /**
33
+ * Vertical progress drawn as a staircase: every step that was not skipped
34
+ * sits a little further in, with a diamond in place of the dot. The current
35
+ * step is tinted lavender; skipped steps are struck through and say so.
36
+ *
37
+ * Outside an `ExpScope` it falls back to the core `Stepper`, vertical and
38
+ * `sm`, with the same steps.
39
+ *
40
+ * @component
41
+ * @example
42
+ * <ExpLadder
43
+ * ariaLabel="Case lifecycle"
44
+ * stateLabels={{ done: 'done', current: 'current', pending: 'pending', skipped: 'skipped' }}
45
+ * steps={[
46
+ * { id: 'new', label: 'New', state: 'done' },
47
+ * { id: 'review', label: 'In review', state: 'skipped' },
48
+ * { id: 'fixed', label: 'Fixed', state: 'current' },
49
+ * { id: 'closed', label: 'Closed', state: 'pending' },
50
+ * ]}
51
+ * />
52
+ *
53
+ * @param {ExpLadderProps} props - The properties of the ExpLadder component.
54
+ * @param {StepperStep[]} props.steps - Steps in order: `id`, `label` and `state`.
55
+ * @param {string} props.ariaLabel - Accessible name of the list.
56
+ * @param {Record<StepperStepState, string>} props.stateLabels - Word for each state.
57
+ * @param {string} [props.className] - Classes for the list.
58
+ *
59
+ * @returns {ReactNode} The staircase, or a core `Stepper` outside an `ExpScope`.
60
+ */
61
+ export function ExpLadder({ steps, ariaLabel, stateLabels, className, }) {
62
+ const inScope = useExpScope();
63
+ if (!inScope) {
64
+ return (<Stepper steps={steps} ariaLabel={ariaLabel} stateLabels={stateLabels} orientation="vertical" size="sm" className={className}/>);
65
+ }
66
+ const indents = steps.reduce((acc, step, index) => {
67
+ const before = index === 0 ? 0 : acc[index - 1];
68
+ const previous = steps[index - 1];
69
+ acc.push(index === 0 || previous.state === 'skipped' ? before : before + 1);
70
+ return acc;
71
+ }, []);
72
+ return (<ol aria-label={ariaLabel} className={clsx('flex flex-col', className)}>
73
+ <Each of={steps} render={(step, index) => (<li key={step.id} aria-current={step.state === 'current' ? 'step' : undefined} className={clsx('flex min-w-0 items-center gap-2.5 rounded-[10px] py-1.5 pr-2.5 pl-2', INDENTS[Math.min(indents[index], INDENTS.length - 1)], rowMap[step.state])}>
74
+ <span aria-hidden="true" className={clsx('flex-none rotate-45 rounded-[4px]', diamondMap[step.state])}/>
75
+ <span className={clsx('truncate text-[13px] leading-[18px]', textMap[step.state])}>
76
+ {step.label}
77
+ {step.state === 'skipped' ? (` · ${stateLabels.skipped}`) : (<span className="sr-only">{`, ${stateLabels[step.state]}`}</span>)}
78
+ </span>
79
+ </li>)}/>
80
+ </ol>);
81
+ }
82
+ //# sourceMappingURL=ExpLadder.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpLadder.jsx","sourceRoot":"","sources":["../../src/expresivo/ExpLadder/ExpLadder.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EACL,IAAI,EACJ,OAAO,GAGR,MAAM,uBAAuB,CAAC;AAC/B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAYnD,MAAM,OAAO,GAAG;IACd,MAAM;IACN,UAAU;IACV,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;CACZ,CAAC;AAEF,MAAM,MAAM,GAAqC;IAC/C,IAAI,EAAE,EAAE;IACR,OAAO,EACL,qFAAqF;IACvF,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,YAAY;CACtB,CAAC;AAEF,MAAM,UAAU,GAAqC;IACnD,IAAI,EAAE,+BAA+B;IACrC,OAAO,EACL,qIAAqI;IACvI,OAAO,EAAE,6BAA6B;IACtC,OAAO,EAAE,2CAA2C;CACrD,CAAC;AAEF,MAAM,OAAO,GAAqC;IAChD,IAAI,EAAE,wCAAwC;IAC9C,OAAO,EAAE,qDAAqD;IAC9D,OAAO,EAAE,8BAA8B;IACvC,OAAO,EAAE,2CAA2C;CACrD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,SAAS,CAAC,EACxB,KAAK,EACL,SAAS,EACT,WAAW,EACX,SAAS,GACM;IACf,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAE9B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CACL,CAAC,OAAO,CACN,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,SAAS,CAAC,CAAC,SAAS,CAAC,CACrB,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,WAAW,CAAC,UAAU,CACtB,IAAI,CAAC,IAAI,CACT,SAAS,CAAC,CAAC,SAAS,CAAC,EACrB,CACH,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAW,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QAC1D,MAAM,MAAM,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAClC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC5E,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,CACrE;MAAA,CAAC,IAAI,CACH,EAAE,CAAC,CAAC,KAAK,CAAC,CACV,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CACvB,CAAC,EAAE,CACD,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CACb,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAC5D,SAAS,CAAC,CAAC,IAAI,CACb,qEAAqE,EACrE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EACrD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CACnB,CAAC,CAEF;YAAA,CAAC,IAAI,CACH,WAAW,CAAC,MAAM,CAClB,SAAS,CAAC,CAAC,IAAI,CACb,mCAAmC,EACnC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CACvB,CAAC,EAEJ;YAAA,CAAC,IAAI,CACH,SAAS,CAAC,CAAC,IAAI,CACb,qCAAqC,EACrC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CACpB,CAAC,CAEF;cAAA,CAAC,IAAI,CAAC,KAAK,CACX;cAAA,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAC1B,MAAM,WAAW,CAAC,OAAO,EAAE,CAC5B,CAAC,CAAC,CAAC,CACF,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,KAAK,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAClE,CACH;YAAA,EAAE,IAAI,CACR;UAAA,EAAE,EAAE,CAAC,CACN,CAAC,EAEN;IAAA,EAAE,EAAE,CAAC,CACN,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { ExpLadder } from './ExpLadder';
2
+ export type { ExpLadderProps } from './ExpLadder';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/expresivo/ExpLadder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { ExpLadder } from './ExpLadder';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/expresivo/ExpLadder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
@@ -35,8 +35,8 @@ export type ExpPageHeroProps = {
35
35
  * On wide screens it draws a band with a dotted lavender background. With
36
36
  * `collapse`, a corner button tucks it down to the title, and the mascot hangs
37
37
  * from a thread instead; the consumer keeps the state. On small screens it is
38
- * a plain title row without eyebrow, mascot or bubble, and `collapse` has no
39
- * effect.
38
+ * a plain title row without eyebrow, description, mascot or bubble, and
39
+ * `collapse` has no effect. Children still show there.
40
40
  *
41
41
  * Outside an `ExpScope` it renders the core title row of `DashboardTemplate`:
42
42
  * title, adornment, description, children and actions.
@@ -69,7 +69,7 @@ export type ExpPageHeroProps = {
69
69
  * @param {ReactNode} [props.eyebrow] - Short uppercase line above the title, only on wide screens.
70
70
  * @param {'h3' | 'h4' | 'h5'} [props.headingLevel='h3'] - Heading level of the title.
71
71
  * @param {ReactNode} [props.titleAdornment] - Content next to the title, such as a `Badge`.
72
- * @param {ReactNode} [props.description] - Text under the title; hidden while collapsed.
72
+ * @param {ReactNode} [props.description] - Text under the title, only on wide screens; hidden while collapsed.
73
73
  * @param {ReactNode} [props.children] - Content under the description, such as stat chips; hidden while collapsed.
74
74
  * @param {ReactNode} [props.actions] - Content on the right, such as buttons; it moves under the title on small screens.
75
75
  * @param {ExpMascotName} [props.mascot] - Mascot on the right, 104px; 56px and hanging while collapsed.
@@ -14,8 +14,8 @@ import { useExpScopeOptions } from '../ExpScope/ExpScope';
14
14
  * On wide screens it draws a band with a dotted lavender background. With
15
15
  * `collapse`, a corner button tucks it down to the title, and the mascot hangs
16
16
  * from a thread instead; the consumer keeps the state. On small screens it is
17
- * a plain title row without eyebrow, mascot or bubble, and `collapse` has no
18
- * effect.
17
+ * a plain title row without eyebrow, description, mascot or bubble, and
18
+ * `collapse` has no effect. Children still show there.
19
19
  *
20
20
  * Outside an `ExpScope` it renders the core title row of `DashboardTemplate`:
21
21
  * title, adornment, description, children and actions.
@@ -48,7 +48,7 @@ import { useExpScopeOptions } from '../ExpScope/ExpScope';
48
48
  * @param {ReactNode} [props.eyebrow] - Short uppercase line above the title, only on wide screens.
49
49
  * @param {'h3' | 'h4' | 'h5'} [props.headingLevel='h3'] - Heading level of the title.
50
50
  * @param {ReactNode} [props.titleAdornment] - Content next to the title, such as a `Badge`.
51
- * @param {ReactNode} [props.description] - Text under the title; hidden while collapsed.
51
+ * @param {ReactNode} [props.description] - Text under the title, only on wide screens; hidden while collapsed.
52
52
  * @param {ReactNode} [props.children] - Content under the description, such as stat chips; hidden while collapsed.
53
53
  * @param {ReactNode} [props.actions] - Content on the right, such as buttons; it moves under the title on small screens.
54
54
  * @param {ExpMascotName} [props.mascot] - Mascot on the right, 104px; 56px and hanging while collapsed.
@@ -88,7 +88,7 @@ export function ExpPageHero({ title, eyebrow, headingLevel = 'h3', titleAdornmen
88
88
  {eyebrow}
89
89
  </p>)}
90
90
  {titleRow}
91
- {!!description && (<div className={clsx('text-gray-1 dark:text-gray-2 max-w-[680px] text-sm leading-[22px] text-pretty', collapsed && 'lg:hidden')}>
91
+ {!!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
92
  {description}
93
93
  </div>)}
94
94
  {!!children && (<div className={clsx('mt-2 w-full', collapsed && 'lg:hidden')}>
@@ -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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"}
@@ -10,6 +10,8 @@ export type ExpPillButtonProps = {
10
10
  busyLabel?: string;
11
11
  /** Takes the full width of its container. */
12
12
  block?: boolean;
13
+ /** Fills the height of its container and does not lift, for a button inside a field. */
14
+ flush?: boolean;
13
15
  } & ButtonHTMLAttributes<HTMLButtonElement>;
14
16
  /**
15
17
  * Light pill-shaped call to action, the same 44px height as the core
@@ -35,10 +37,11 @@ export type ExpPillButtonProps = {
35
37
  * @param {boolean} [props.busy=false] - Blocks the button and animates its glyph.
36
38
  * @param {string} [props.busyLabel] - Label shown while `busy`.
37
39
  * @param {boolean} [props.block=false] - Takes the full width of its container.
40
+ * @param {boolean} [props.flush=false] - Fills the height of its container and does not lift, for a button inside a field.
38
41
  * @param {ReactNode} props.children - Label of the action.
39
42
  * @param {ButtonHTMLAttributes<HTMLButtonElement>} restProps - Additional properties for the button element.
40
43
  *
41
44
  * @returns {ReactNode} The rendered pill, or a core `Button` outside an `ExpScope`.
42
45
  */
43
- export declare function ExpPillButton({ tone, icon, busy, busyLabel, block, disabled, children, ...restProps }: ExpPillButtonProps): ReactNode;
46
+ export declare function ExpPillButton({ tone, icon, busy, busyLabel, block, flush, disabled, children, ...restProps }: ExpPillButtonProps): ReactNode;
44
47
  //# 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;CACjB,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;AA+B5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,aAAa,CAAC,EAC5B,IAAc,EACd,IAAa,EACb,IAAY,EACZ,SAAS,EACT,KAAa,EACb,QAAgB,EAChB,QAAQ,EACR,GAAG,SAAS,EACb,EAAE,kBAAkB,GAAG,SAAS,CA+DhC"}
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"}
@@ -10,14 +10,15 @@ const fallbackIconMap = {
10
10
  enter: <FiLogIn />,
11
11
  none: undefined,
12
12
  };
13
+ const liftClass = 'hover:-translate-y-px active:translate-y-0 active:scale-[.98]';
13
14
  const toneMap = {
14
15
  brand: {
15
- 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)]', 'hover:-translate-y-px active:translate-y-0 active:scale-[.98]'),
16
+ 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)]'),
16
17
  busy: 'bg-lavender dark:bg-lavender-dark cursor-progress text-white shadow-[0_3px_10px_rgba(106,93,249,0.22)]',
17
18
  disabled: 'bg-gray-5 text-gray-2 dark:bg-gray-dark-1 cursor-not-allowed',
18
19
  },
19
20
  soft: {
20
- idle: clsx('bg-lavender-2 text-lavender dark:bg-lavender-dark-1 dark:text-lavender-dark', 'hover:bg-lavender-1 hover:-translate-y-px active:translate-y-0 active:scale-[.98]'),
21
+ idle: clsx('bg-lavender-2 text-lavender dark:bg-lavender-dark-1 dark:text-lavender-dark', 'hover:bg-lavender-1'),
21
22
  busy: 'bg-lavender-2 text-lavender dark:bg-lavender-dark-1 dark:text-lavender-dark cursor-progress',
22
23
  disabled: 'bg-gray-5 text-gray-2 dark:bg-gray-dark-1 cursor-not-allowed',
23
24
  },
@@ -46,12 +47,13 @@ const toneMap = {
46
47
  * @param {boolean} [props.busy=false] - Blocks the button and animates its glyph.
47
48
  * @param {string} [props.busyLabel] - Label shown while `busy`.
48
49
  * @param {boolean} [props.block=false] - Takes the full width of its container.
50
+ * @param {boolean} [props.flush=false] - Fills the height of its container and does not lift, for a button inside a field.
49
51
  * @param {ReactNode} props.children - Label of the action.
50
52
  * @param {ButtonHTMLAttributes<HTMLButtonElement>} restProps - Additional properties for the button element.
51
53
  *
52
54
  * @returns {ReactNode} The rendered pill, or a core `Button` outside an `ExpScope`.
53
55
  */
54
- export function ExpPillButton({ tone = 'brand', icon = 'lens', busy = false, busyLabel, block = false, disabled = false, children, ...restProps }) {
56
+ export function ExpPillButton({ tone = 'brand', icon = 'lens', busy = false, busyLabel, block = false, flush = false, disabled = false, children, ...restProps }) {
55
57
  const inScope = useExpScope();
56
58
  const label = busy && busyLabel ? busyLabel : children;
57
59
  if (!inScope) {
@@ -61,7 +63,7 @@ export function ExpPillButton({ tone = 'brand', icon = 'lens', busy = false, bus
61
63
  }
62
64
  const state = disabled ? 'disabled' : busy ? 'busy' : 'idle';
63
65
  const hasDisc = tone === 'brand' && (icon === 'lens' || icon === 'sync');
64
- return (<button {...restProps} disabled={disabled || busy} aria-busy={busy || undefined} className={clsx('h-11 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', 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)}>
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)}>
65
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')}>
66
68
  <LensGlyph size={22} busy={busy} disabled={disabled}/>
67
69
  </span>)}
@@ -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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"}
@@ -0,0 +1,28 @@
1
+ import type { HTMLAttributes, ReactNode } from 'react';
2
+ import { type ExpRepoAvatarName } from './catalog';
3
+ export type ExpRepoAvatarProps = {
4
+ name: ExpRepoAvatarName;
5
+ /** Width and height on screen, in pixels. */
6
+ size?: number;
7
+ } & Omit<HTMLAttributes<HTMLSpanElement>, 'children'>;
8
+ /**
9
+ * Little creature that stands for a repository next to its name. Decorative:
10
+ * always `aria-hidden`, so the repo name next to it carries the meaning.
11
+ *
12
+ * Outside an `ExpScope`, or with `mascots="hidden"`, it renders nothing.
13
+ *
14
+ * @component
15
+ * @example
16
+ * <span className="flex items-center gap-2">
17
+ * <ExpRepoAvatar name="pulpo-lentes" size={36} />
18
+ * core-logistics
19
+ * </span>
20
+ *
21
+ * @param {ExpRepoAvatarProps} props - The properties of the ExpRepoAvatar component.
22
+ * @param {ExpRepoAvatarName} props.name - Avatar from the catalog.
23
+ * @param {number} [props.size=32] - Width and height on screen, in pixels.
24
+ *
25
+ * @returns {ReactNode} The avatar, or nothing outside an `ExpScope`.
26
+ */
27
+ export declare function ExpRepoAvatar({ name, size, ...restProps }: ExpRepoAvatarProps): ReactNode;
28
+ //# sourceMappingURL=ExpRepoAvatar.d.ts.map
@@ -0,0 +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;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,IAAS,EACT,GAAG,SAAS,EACb,EAAE,kBAAkB,GAAG,SAAS,CAqBhC"}
@@ -0,0 +1,32 @@
1
+ 'use client';
2
+ import clsx from 'clsx';
3
+ import { useExpScopeOptions } from '../ExpScope/ExpScope';
4
+ import { repoAvatarCatalog } from './catalog';
5
+ /**
6
+ * Little creature that stands for a repository next to its name. Decorative:
7
+ * always `aria-hidden`, so the repo name next to it carries the meaning.
8
+ *
9
+ * Outside an `ExpScope`, or with `mascots="hidden"`, it renders nothing.
10
+ *
11
+ * @component
12
+ * @example
13
+ * <span className="flex items-center gap-2">
14
+ * <ExpRepoAvatar name="pulpo-lentes" size={36} />
15
+ * core-logistics
16
+ * </span>
17
+ *
18
+ * @param {ExpRepoAvatarProps} props - The properties of the ExpRepoAvatar component.
19
+ * @param {ExpRepoAvatarName} props.name - Avatar from the catalog.
20
+ * @param {number} [props.size=32] - Width and height on screen, in pixels.
21
+ *
22
+ * @returns {ReactNode} The avatar, or nothing outside an `ExpScope`.
23
+ */
24
+ export function ExpRepoAvatar({ name, size = 32, ...restProps }) {
25
+ const options = useExpScopeOptions();
26
+ if (!options || options.mascots === 'hidden')
27
+ return null;
28
+ return (<span {...restProps} aria-hidden="true" className={clsx('inline-flex shrink-0', restProps.className)}>
29
+ <img src={repoAvatarCatalog[name].src} alt="" width={size} height={size} draggable={false} className="block object-contain"/>
30
+ </span>);
31
+ }
32
+ //# sourceMappingURL=ExpRepoAvatar.jsx.map
@@ -0,0 +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;;;;;;;;;;;;;;;;;;GAkBG;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"}
@@ -0,0 +1,6 @@
1
+ import type { StaticImageData } from 'next/image';
2
+ /** Repo avatars, named after the drawing like their files. Which repo gets which one is the consumer's call. */
3
+ export type ExpRepoAvatarName = 'pulpo' | 'pulpo-lentes' | 'pulpo-verde' | 'cohete' | 'dino' | 'caja' | 'caja-chispa';
4
+ /** PNGs about 60px wide: sharp up to 30px on high-density screens. */
5
+ export declare const repoAvatarCatalog: Record<ExpRepoAvatarName, StaticImageData>;
6
+ //# sourceMappingURL=catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/expresivo/ExpRepoAvatar/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AASlD,gHAAgH;AAChH,MAAM,MAAM,iBAAiB,GACzB,OAAO,GACP,cAAc,GACd,aAAa,GACb,QAAQ,GACR,MAAM,GACN,MAAM,GACN,aAAa,CAAC;AAElB,sEAAsE;AACtE,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAAE,eAAe,CAQxE,CAAC"}
@@ -0,0 +1,18 @@
1
+ import cajaChispa from '@clicoh/orion-library/assets/avatares/caja-chispa.png';
2
+ import caja from '@clicoh/orion-library/assets/avatares/caja.png';
3
+ import cohete from '@clicoh/orion-library/assets/avatares/cohete.png';
4
+ import dino from '@clicoh/orion-library/assets/avatares/dino.png';
5
+ import pulpoLentes from '@clicoh/orion-library/assets/avatares/pulpo-lentes.png';
6
+ import pulpoVerde from '@clicoh/orion-library/assets/avatares/pulpo-verde.png';
7
+ import pulpo from '@clicoh/orion-library/assets/avatares/pulpo.png';
8
+ /** PNGs about 60px wide: sharp up to 30px on high-density screens. */
9
+ export const repoAvatarCatalog = {
10
+ pulpo,
11
+ 'pulpo-lentes': pulpoLentes,
12
+ 'pulpo-verde': pulpoVerde,
13
+ cohete,
14
+ dino,
15
+ caja,
16
+ 'caja-chispa': cajaChispa,
17
+ };
18
+ //# sourceMappingURL=catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/expresivo/ExpRepoAvatar/catalog.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,uDAAuD,CAAC;AAC/E,OAAO,IAAI,MAAM,gDAAgD,CAAC;AAClE,OAAO,MAAM,MAAM,kDAAkD,CAAC;AACtE,OAAO,IAAI,MAAM,gDAAgD,CAAC;AAClE,OAAO,WAAW,MAAM,wDAAwD,CAAC;AACjF,OAAO,UAAU,MAAM,uDAAuD,CAAC;AAC/E,OAAO,KAAK,MAAM,iDAAiD,CAAC;AAYpE,sEAAsE;AACtE,MAAM,CAAC,MAAM,iBAAiB,GAA+C;IAC3E,KAAK;IACL,cAAc,EAAE,WAAW;IAC3B,aAAa,EAAE,UAAU;IACzB,MAAM;IACN,IAAI;IACJ,IAAI;IACJ,aAAa,EAAE,UAAU;CAC1B,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { ExpRepoAvatar } from './ExpRepoAvatar';
2
+ export type { ExpRepoAvatarProps } from './ExpRepoAvatar';
3
+ export type { ExpRepoAvatarName } from './catalog';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/expresivo/ExpRepoAvatar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,YAAY,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { ExpRepoAvatar } from './ExpRepoAvatar';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/expresivo/ExpRepoAvatar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,49 @@
1
+ import { type InputHTMLAttributes, type ReactNode } from 'react';
2
+ export type ExpSearchFieldAction = {
3
+ label: string;
4
+ onClick: () => void;
5
+ /** Blocks the action and animates its lens while the search runs. */
6
+ busy?: boolean;
7
+ /** Label shown while `busy`. */
8
+ busyLabel?: string;
9
+ disabled?: boolean;
10
+ };
11
+ export type ExpSearchFieldProps = {
12
+ /** Accessible name of the field. Not shown: a heading next to it names it. */
13
+ label: string;
14
+ input: Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'placeholder'>;
15
+ placeholder?: string;
16
+ helperText?: string;
17
+ error?: string;
18
+ /** The action inside the field, on the right. Enter runs it too. */
19
+ action: ExpSearchFieldAction;
20
+ };
21
+ /**
22
+ * Search field drawn as a white pill with a soft relief, a lens on the left
23
+ * and its action inside, on the right. On hover it lifts with a lavender
24
+ * halo; on focus the ring turns lavender. Enter runs the action.
25
+ *
26
+ * Outside an `ExpScope` it falls back to the core `Input`, with a search
27
+ * icon, and a `Button` `second` next to it.
28
+ *
29
+ * @component
30
+ * @example
31
+ * <ExpSearchField
32
+ * label="Ticket number"
33
+ * placeholder="Search in Flow"
34
+ * input={{ value, onChange: (event) => setValue(event.target.value) }}
35
+ * action={{ label: 'Search', onClick: search, busy: isSearching }}
36
+ * />
37
+ *
38
+ * @param {ExpSearchFieldProps} props - The properties of the ExpSearchField component.
39
+ * @param {string} props.label - Accessible name of the field.
40
+ * @param {Object} props.input - Properties of the input element, except `type` and `placeholder`.
41
+ * @param {string} [props.placeholder] - Placeholder shown inside the field.
42
+ * @param {string} [props.helperText] - Text under the field.
43
+ * @param {string} [props.error] - Error under the field; marks the field invalid.
44
+ * @param {ExpSearchFieldAction} props.action - The action inside the field: `label`, `onClick`, `busy`, `busyLabel`, `disabled`.
45
+ *
46
+ * @returns {ReactNode} The search field, or a core `Input` and `Button` outside an `ExpScope`.
47
+ */
48
+ export declare function ExpSearchField({ label, input, placeholder, helperText, error, action, }: ExpSearchFieldProps): ReactNode;
49
+ //# sourceMappingURL=ExpSearchField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpSearchField.d.ts","sourceRoot":"","sources":["../../src/expresivo/ExpSearchField/ExpSearchField.tsx"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,mBAAmB,EAExB,KAAK,SAAS,EAEf,MAAM,OAAO,CAAC;AAKf,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,qEAAqE;IACrE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,8EAA8E;IAC9E,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC,CAAC;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oEAAoE;IACpE,MAAM,EAAE,oBAAoB,CAAC;CAC9B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,KAAK,EACL,WAAW,EACX,UAAU,EACV,KAAK,EACL,MAAM,GACP,EAAE,mBAAmB,GAAG,SAAS,CA0GjC"}