@stack-spot/citric-react 0.27.2 → 0.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/citric.css +39 -10
- package/dist/components/AsyncContent.d.ts +1 -0
- package/dist/components/AsyncContent.d.ts.map +1 -1
- package/dist/components/AsyncContent.js +1 -0
- package/dist/components/AsyncContent.js.map +1 -1
- package/dist/components/Button.d.ts +5 -5
- package/dist/components/Button.d.ts.map +1 -1
- package/dist/components/Button.js +3 -3
- package/dist/components/Button.js.map +1 -1
- package/dist/components/ButtonLink.d.ts +2 -2
- package/dist/components/ButtonLink.d.ts.map +1 -1
- package/dist/components/ButtonLink.js +3 -3
- package/dist/components/ButtonLink.js.map +1 -1
- package/dist/components/IconBox.d.ts +6 -6
- package/dist/components/IconBox.d.ts.map +1 -1
- package/dist/components/IconBox.js +5 -5
- package/dist/components/IconBox.js.map +1 -1
- package/dist/components/ImageBox.d.ts +8 -6
- package/dist/components/ImageBox.d.ts.map +1 -1
- package/dist/components/ImageBox.js +7 -5
- package/dist/components/ImageBox.js.map +1 -1
- package/dist/components/Link.d.ts +5 -5
- package/dist/components/Link.d.ts.map +1 -1
- package/dist/components/Link.js +3 -3
- package/dist/components/Link.js.map +1 -1
- package/dist/components/Overlay/index.d.ts +1 -1
- package/dist/components/Overlay/index.d.ts.map +1 -1
- package/dist/components/Overlay/index.js +5 -4
- package/dist/components/Overlay/index.js.map +1 -1
- package/dist/components/Select/MultiSelect.d.ts.map +1 -1
- package/dist/components/Select/MultiSelect.js +1 -3
- package/dist/components/Select/MultiSelect.js.map +1 -1
- package/dist/components/Select/RichSelect.d.ts.map +1 -1
- package/dist/components/Select/RichSelect.js +1 -3
- package/dist/components/Select/RichSelect.js.map +1 -1
- package/dist/overlay.d.ts +1 -3
- package/dist/overlay.d.ts.map +1 -1
- package/dist/overlay.js +82 -24
- package/dist/overlay.js.map +1 -1
- package/dist/types.d.ts +4 -4
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/AsyncContent.tsx +1 -0
- package/src/components/Button.tsx +6 -6
- package/src/components/ButtonLink.tsx +3 -3
- package/src/components/IconBox.tsx +8 -8
- package/src/components/ImageBox.tsx +10 -8
- package/src/components/Link.tsx +6 -6
- package/src/components/Overlay/index.tsx +5 -3
- package/src/components/Select/MultiSelect.tsx +1 -2
- package/src/components/Select/RichSelect.tsx +1 -2
- package/src/overlay.ts +87 -25
- package/src/types.ts +4 -4
package/dist/citric.css
CHANGED
|
@@ -436,9 +436,7 @@
|
|
|
436
436
|
margin-right: 2px;
|
|
437
437
|
&:after {
|
|
438
438
|
transform: rotate(90deg);
|
|
439
|
-
top: 50%;
|
|
440
439
|
right: -5px;
|
|
441
|
-
margin-top: -1px;
|
|
442
440
|
}
|
|
443
441
|
}
|
|
444
442
|
|
|
@@ -446,10 +444,24 @@
|
|
|
446
444
|
margin-left: 2px;
|
|
447
445
|
&:after {
|
|
448
446
|
transform: rotate(270deg);
|
|
449
|
-
top: 50%;
|
|
450
447
|
left: -5px;
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
&.with-arrow.right,
|
|
452
|
+
&.with-arrow.left {
|
|
453
|
+
&.align-center:after {
|
|
454
|
+
top: 50%;
|
|
451
455
|
margin-top: -1px;
|
|
452
456
|
}
|
|
457
|
+
&.align-start:after {
|
|
458
|
+
top: 0;
|
|
459
|
+
margin-top: 5px;
|
|
460
|
+
}
|
|
461
|
+
&.align-end:after {
|
|
462
|
+
bottom: 0;
|
|
463
|
+
margin-bottom: 5px;
|
|
464
|
+
}
|
|
453
465
|
}
|
|
454
466
|
|
|
455
467
|
&.with-arrow.top {
|
|
@@ -457,17 +469,29 @@
|
|
|
457
469
|
&:after {
|
|
458
470
|
transform: rotate(180deg);
|
|
459
471
|
bottom: -2px;
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
&.with-arrow.top,
|
|
476
|
+
&.with-arrow.bottom {
|
|
477
|
+
&.align-center:after {
|
|
460
478
|
left: 50%;
|
|
461
479
|
margin-left: -4px;
|
|
462
480
|
}
|
|
481
|
+
&.align-start:after {
|
|
482
|
+
left: 0;
|
|
483
|
+
margin-left: 4px;
|
|
484
|
+
}
|
|
485
|
+
&.align-end:after {
|
|
486
|
+
right: 0;
|
|
487
|
+
margin-right: 4px;
|
|
488
|
+
}
|
|
463
489
|
}
|
|
464
490
|
|
|
465
491
|
&.with-arrow.bottom {
|
|
466
492
|
margin-top: 2px;
|
|
467
493
|
&:after {
|
|
468
494
|
top: -2px;
|
|
469
|
-
left: 50%;
|
|
470
|
-
margin-left: -4px;
|
|
471
495
|
}
|
|
472
496
|
}
|
|
473
497
|
}
|
|
@@ -1288,7 +1312,7 @@ input[type="range"][data-citric="slider"] {
|
|
|
1288
1312
|
.selection-panel {
|
|
1289
1313
|
max-height: var(--max-height, var(--default-max-height));
|
|
1290
1314
|
opacity: 1;
|
|
1291
|
-
|
|
1315
|
+
.options {
|
|
1292
1316
|
overflow: auto;
|
|
1293
1317
|
animation: var(--animation-duration) rich-select-delayed-overflow;
|
|
1294
1318
|
}
|
|
@@ -1589,7 +1613,6 @@ input[type="range"][data-citric="slider"] {
|
|
|
1589
1613
|
gap: 8px;
|
|
1590
1614
|
}
|
|
1591
1615
|
label {
|
|
1592
|
-
width: 100%;
|
|
1593
1616
|
cursor: pointer;
|
|
1594
1617
|
}
|
|
1595
1618
|
input[type="checkbox"] {
|
|
@@ -1826,12 +1849,13 @@ nav[data-citric="menu"].rounded-items, [data-citric="menu"].rounded-items nav {
|
|
|
1826
1849
|
--bg: var(--light-500);
|
|
1827
1850
|
--bg-hover: var(--light-600);
|
|
1828
1851
|
--fg: var(--light-contrastText);
|
|
1852
|
+
--radius: 50%;
|
|
1829
1853
|
|
|
1830
1854
|
/* General CSS */
|
|
1831
1855
|
|
|
1832
1856
|
box-sizing: border-box;
|
|
1833
1857
|
display: inline-flex;
|
|
1834
|
-
border-radius:
|
|
1858
|
+
border-radius: var(--radius);
|
|
1835
1859
|
align-items: center;
|
|
1836
1860
|
justify-content: center;
|
|
1837
1861
|
border: none;
|
|
@@ -1840,11 +1864,17 @@ nav[data-citric="menu"].rounded-items, [data-citric="menu"].rounded-items nav {
|
|
|
1840
1864
|
width: var(--size);
|
|
1841
1865
|
height: var(--size);
|
|
1842
1866
|
color: var(--fg);
|
|
1867
|
+
padding: 0;
|
|
1843
1868
|
|
|
1844
1869
|
&:not([data-feedback]) {
|
|
1845
1870
|
overflow: hidden;
|
|
1846
1871
|
}
|
|
1847
1872
|
|
|
1873
|
+
&[data-feedback] > * {
|
|
1874
|
+
overflow: hidden;
|
|
1875
|
+
border-radius: var(--radius);
|
|
1876
|
+
}
|
|
1877
|
+
|
|
1848
1878
|
/* Sizes */
|
|
1849
1879
|
|
|
1850
1880
|
&.xs {
|
|
@@ -1862,7 +1892,7 @@ nav[data-citric="menu"].rounded-items, [data-citric="menu"].rounded-items nav {
|
|
|
1862
1892
|
/* Appearances */
|
|
1863
1893
|
|
|
1864
1894
|
&.square {
|
|
1865
|
-
|
|
1895
|
+
--radius: var(--radius-xs);
|
|
1866
1896
|
}
|
|
1867
1897
|
|
|
1868
1898
|
&.text {
|
|
@@ -1874,7 +1904,6 @@ nav[data-citric="menu"].rounded-items, [data-citric="menu"].rounded-items nav {
|
|
|
1874
1904
|
--bg-hover: transparent;
|
|
1875
1905
|
--size: auto;
|
|
1876
1906
|
border-radius: 0;
|
|
1877
|
-
padding: 0;
|
|
1878
1907
|
}
|
|
1879
1908
|
|
|
1880
1909
|
/* Colors */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsyncContent.d.ts","sourceRoot":"","sources":["../../src/components/AsyncContent.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAA8B,MAAM,OAAO,CAAA;AAMpE,UAAU,KAAK;IACb;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACnD;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED
|
|
1
|
+
{"version":3,"file":"AsyncContent.d.ts","sourceRoot":"","sources":["../../src/components/AsyncContent.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAA8B,MAAM,OAAO,CAAA;AAMpE,UAAU,KAAK;IACb;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACnD;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,eAAO,MAAM,YAAY,4CAAqD,KAAK,iIAoBjF,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsyncContent.js","sourceRoot":"","sources":["../../src/components/AsyncContent.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAoB,SAAS,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAsB7C
|
|
1
|
+
{"version":3,"file":"AsyncContent.js","sourceRoot":"","sources":["../../src/components/AsyncContent.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAoB,SAAS,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAsB7C;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAS,EAAE,EAAE;IACrF,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAA;IAEpC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,CAAA;YACxB,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACtB,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEX,eAAe,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;YACvB,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAE,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAiB,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;QAC7H,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;IAEpB,IAAI,OAAO;QAAE,OAAO,KAAC,YAAY,KAAG,CAAA;IACpC,IAAI,KAAK;QAAE,OAAO,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAC,YAAY,IAAC,KAAK,EAAE,KAAK,GAAI,CAAA;IAClG,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAC,CAAA"}
|
|
@@ -29,26 +29,26 @@ export interface BaseButtonProps extends WithColorScheme {
|
|
|
29
29
|
*/
|
|
30
30
|
onClick?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => any;
|
|
31
31
|
/**
|
|
32
|
-
*
|
|
32
|
+
* Metadata for the general onClick event, set by the CitricController. Useful for creating analytics data.
|
|
33
33
|
*
|
|
34
|
-
* This only takes effect if there's a CitricController in React's context. The value of `
|
|
34
|
+
* This only takes effect if there's a CitricController in React's context. The value of `metadata` is passed to the function
|
|
35
35
|
* `onClickButton` of the controller.
|
|
36
36
|
*
|
|
37
37
|
* @default false
|
|
38
38
|
*/
|
|
39
|
-
|
|
39
|
+
metadata?: any;
|
|
40
40
|
}
|
|
41
41
|
export type ButtonProps = Omit<React.JSX.IntrinsicElements['button'], 'onClick'> & BaseButtonProps;
|
|
42
42
|
/**
|
|
43
43
|
* Renders a button. The type is "button" by default.
|
|
44
44
|
*
|
|
45
45
|
* Whenever a button is clicked, the function `onClickButton` of the nearest CitricController is called with the event and the value of the
|
|
46
|
-
* prop `
|
|
46
|
+
* prop `metadata`.
|
|
47
47
|
*
|
|
48
48
|
* @example
|
|
49
49
|
* ```
|
|
50
50
|
* <Button>My Button</Button>
|
|
51
51
|
* ```
|
|
52
52
|
*/
|
|
53
|
-
export declare const Button: ({ appearance, size, feedback, loading, disabled, onClick, className, children, type,
|
|
53
|
+
export declare const Button: ({ appearance, size, feedback, loading, disabled, onClick, className, children, type, metadata, ...props }: ButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
54
54
|
//# sourceMappingURL=Button.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/components/Button.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAK1C,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACtD;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IACxD;;;OAGG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,KAAK,GAAG,CAAC;IAC1E;;;;;;;OAOG;IACH,
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/components/Button.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAK1C,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACtD;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IACxD;;;OAGG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,KAAK,GAAG,CAAC;IAC1E;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB;AAED,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,GAAG,eAAe,CAAA;AAElG;;;;;;;;;;GAUG;AACH,eAAO,MAAM,MAAM,8GACqG,WAAW,4CA0CjI,CAAA"}
|
|
@@ -9,21 +9,21 @@ import { ProgressCircular } from './ProgressCircular.js';
|
|
|
9
9
|
* Renders a button. The type is "button" by default.
|
|
10
10
|
*
|
|
11
11
|
* Whenever a button is clicked, the function `onClickButton` of the nearest CitricController is called with the event and the value of the
|
|
12
|
-
* prop `
|
|
12
|
+
* prop `metadata`.
|
|
13
13
|
*
|
|
14
14
|
* @example
|
|
15
15
|
* ```
|
|
16
16
|
* <Button>My Button</Button>
|
|
17
17
|
* ```
|
|
18
18
|
*/
|
|
19
|
-
export const Button = withRef(({ appearance, size, feedback, loading, disabled, onClick, className, children, type = 'button',
|
|
19
|
+
export const Button = withRef(({ appearance, size, feedback, loading, disabled, onClick, className, children, type = 'button', metadata, ...props }) => {
|
|
20
20
|
const citric = useCitricController();
|
|
21
21
|
const [waiting, setWaiting] = useState(false);
|
|
22
22
|
const busy = loading || waiting;
|
|
23
23
|
const isAllLowercase = useMemo(() => !Children.toArray(children).some(c => typeof c === 'string' && c.toLocaleLowerCase() !== c), [children]);
|
|
24
24
|
async function handleClick(e) {
|
|
25
25
|
const result = onClick?.(e);
|
|
26
|
-
citric?.onClickButton?.(e,
|
|
26
|
+
citric?.onClickButton?.(e, metadata);
|
|
27
27
|
if (result instanceof Promise) {
|
|
28
28
|
setWaiting(true);
|
|
29
29
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../src/components/Button.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAEtD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AA4CrD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,CAC5B,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,GAAG,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../src/components/Button.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAEtD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AA4CrD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,CAC5B,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,GAAG,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAe,EACjI,EAAE;IACF,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAA;IACpC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC7C,MAAM,IAAI,GAAG,OAAO,IAAI,OAAO,CAAA;IAC/B,MAAM,cAAc,GAAG,OAAO,CAC5B,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,EACjG,CAAC,QAAQ,CAAC,CACX,CAAA;IAED,KAAK,UAAU,WAAW,CAAC,CAAkD;QAC3E,MAAM,MAAM,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;QAC3B,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;QACpC,IAAI,MAAM,YAAY,OAAO,EAAE,CAAC;YAC9B,UAAU,CAAC,IAAI,CAAC,CAAA;YAChB,IAAI,CAAC;gBACH,MAAM,MAAM,CAAA;YACd,CAAC;YAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC;YACvB,UAAU,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;IACH,CAAC;IAED,OAAO,CACL,MAAC,eAAe,IACd,GAAG,EAAC,QAAQ,EACZ,SAAS,EAAC,QAAQ,EAClB,SAAS,EAAE,WAAW,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,cAAc,IAAI,YAAY,EAAE,SAAS,CAAC,CAAC,mBACtE,QAAQ,IAAI,SAAS,EACpC,OAAO,EAAE,WAAW,eACT,IAAI,EACf,QAAQ,EAAE,QAAQ,IAAI,IAAI,EAC1B,IAAI,EAAE,IAAI,KACN,KAAK,aAER,IAAI,CAAC,CAAC,CAAC,wBAAM,QAAQ,GAAO,CAAC,CAAC,CAAC,QAAQ,EACvC,IAAI,IAAI,CACP,cAAK,SAAS,EAAC,QAAQ,YACrB,KAAC,gBAAgB,IAAC,IAAI,EAAC,IAAI,GAAG,GAC1B,CACP,IACe,CACnB,CAAA;AACH,CAAC,CAAC,CAAA"}
|
|
@@ -5,12 +5,12 @@ export type ButtonLinkProps = React.JSX.IntrinsicElements['a'] & BaseButtonLinkP
|
|
|
5
5
|
* Renders a link with the appearance of a button.
|
|
6
6
|
*
|
|
7
7
|
* Whenever a link is clicked, the function `onClickLink` of the nearest CitricController is called with the event and the value of the
|
|
8
|
-
* prop `
|
|
8
|
+
* prop `metadata`.
|
|
9
9
|
*
|
|
10
10
|
* @example
|
|
11
11
|
* ```
|
|
12
12
|
* <ButtonLink href="#">My Button Link</ButtonLink>
|
|
13
13
|
* ```
|
|
14
14
|
*/
|
|
15
|
-
export declare const ButtonLink: ({ appearance, size, feedback, onClick, className, children,
|
|
15
|
+
export declare const ButtonLink: ({ appearance, size, feedback, onClick, className, children, metadata, ...props }: ButtonLinkProps) => import("react/jsx-runtime").JSX.Element;
|
|
16
16
|
//# sourceMappingURL=ButtonLink.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonLink.d.ts","sourceRoot":"","sources":["../../src/components/ButtonLink.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAG1C,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,eAAe,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC,CAAA;AACvF,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAA;AAEpF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"ButtonLink.d.ts","sourceRoot":"","sources":["../../src/components/ButtonLink.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAG1C,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,eAAe,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC,CAAA;AACvF,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAA;AAEpF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,UAAU,qFAC6D,eAAe,4CAsBjG,CAAA"}
|
|
@@ -8,14 +8,14 @@ import { asCitricProps, CitricComponent } from './CitricComponent.js';
|
|
|
8
8
|
* Renders a link with the appearance of a button.
|
|
9
9
|
*
|
|
10
10
|
* Whenever a link is clicked, the function `onClickLink` of the nearest CitricController is called with the event and the value of the
|
|
11
|
-
* prop `
|
|
11
|
+
* prop `metadata`.
|
|
12
12
|
*
|
|
13
13
|
* @example
|
|
14
14
|
* ```
|
|
15
15
|
* <ButtonLink href="#">My Button Link</ButtonLink>
|
|
16
16
|
* ```
|
|
17
17
|
*/
|
|
18
|
-
export const ButtonLink = withRef(({ appearance, size, feedback, onClick, className, children,
|
|
18
|
+
export const ButtonLink = withRef(({ appearance, size, feedback, onClick, className, children, metadata, ...props }) => {
|
|
19
19
|
const citric = useCitricController();
|
|
20
20
|
const isAllLowercase = useMemo(() => !Children.toArray(children).some(c => typeof c === 'string' && c.toLocaleLowerCase() !== c), [children]);
|
|
21
21
|
const linkProps = {
|
|
@@ -23,7 +23,7 @@ export const ButtonLink = withRef(({ appearance, size, feedback, onClick, classN
|
|
|
23
23
|
className: listToClass([size, appearance, isAllLowercase && 'short-text', className]),
|
|
24
24
|
onClick: (e) => {
|
|
25
25
|
onClick?.(e);
|
|
26
|
-
citric?.onClickLink?.(e,
|
|
26
|
+
citric?.onClickLink?.(e, metadata);
|
|
27
27
|
},
|
|
28
28
|
'data-feedback': feedback || undefined,
|
|
29
29
|
...props,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonLink.js","sourceRoot":"","sources":["../../src/components/ButtonLink.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAExC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAKlE;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC,CAChC,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"ButtonLink.js","sourceRoot":"","sources":["../../src/components/ButtonLink.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAExC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAKlE;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC,CAChC,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAmB,EACjG,EAAE;IACF,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAA;IACpC,MAAM,cAAc,GAAG,OAAO,CAC5B,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,EACjG,CAAC,QAAQ,CAAC,CACX,CAAA;IAED,MAAM,SAAS,GAAG;QAChB,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,WAAW,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,cAAc,IAAI,YAAY,EAAE,SAAS,CAAC,CAAC;QACrF,OAAO,EAAE,CAAC,CAAsC,EAAE,EAAE;YAClD,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;YACZ,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;QACpC,CAAC;QACD,eAAe,EAAE,QAAQ,IAAI,SAAS;QACtC,GAAG,KAAK;KACA,CAAA;IAEV,OAAO,MAAM,EAAE,UAAU;QACvB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,GAAG,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC9D,CAAC,CAAC,KAAC,eAAe,IAAC,GAAG,EAAC,GAAG,KAAK,SAAS,YAAG,QAAQ,GAAmB,CAAA;AAC1E,CAAC,CAAC,CAAA"}
|
|
@@ -41,14 +41,14 @@ export interface BaseIconBoxProps<T extends IconBoxTag, G extends IconGroup> ext
|
|
|
41
41
|
/**
|
|
42
42
|
* Only valid if `tag` is "button" or "a".
|
|
43
43
|
*
|
|
44
|
-
*
|
|
44
|
+
* Metadata for the general onClick event, set by the CitricController. Useful for creating analytics data.
|
|
45
45
|
*
|
|
46
|
-
* This only takes effect if there's a CitricController in React's context. The value of `
|
|
46
|
+
* This only takes effect if there's a CitricController in React's context. The value of `metadata` is passed to the function
|
|
47
47
|
* `onClickButton/onClickLink` of the controller.
|
|
48
48
|
*
|
|
49
49
|
* @default false
|
|
50
50
|
*/
|
|
51
|
-
|
|
51
|
+
metadata?: any;
|
|
52
52
|
}
|
|
53
53
|
export type IconBoxProps<T extends IconBoxTag, G extends IconGroup> = Omit<HTMLTag[T], 'children'> & BaseIconBoxProps<T, G>;
|
|
54
54
|
/**
|
|
@@ -63,12 +63,12 @@ export type IconBoxProps<T extends IconBoxTag, G extends IconGroup> = Omit<HTMLT
|
|
|
63
63
|
* <IconBox icon="Search" colorScheme="primary" />
|
|
64
64
|
* ```
|
|
65
65
|
*/
|
|
66
|
-
export declare const IconBox: <T extends IconBoxTag = "i", G extends IconGroup = "outline">({ group, icon, tag, appearance, size, className,
|
|
66
|
+
export declare const IconBox: <T extends IconBoxTag = "i", G extends IconGroup = "outline">({ group, icon, tag, appearance, size, className, metadata, onClick, feedback, ...props }: IconBoxProps<T, G>) => import("react/jsx-runtime").JSX.Element;
|
|
67
67
|
/**
|
|
68
68
|
* A shortcut for `<IconBox tag="button">`.
|
|
69
69
|
*
|
|
70
70
|
* Whenever a button is clicked, the function `onClickButton` of the nearest CitricController is called with the event and the value of the
|
|
71
|
-
* prop `
|
|
71
|
+
* prop `metadata`.
|
|
72
72
|
*
|
|
73
73
|
* @example
|
|
74
74
|
* ```
|
|
@@ -80,7 +80,7 @@ export declare const IconButton: <G extends IconGroup = "outline">({ type, ...pr
|
|
|
80
80
|
* A shortcut for `<IconBox tag="a">`.
|
|
81
81
|
*
|
|
82
82
|
* Whenever a link is clicked, the function `onClickLink` of the nearest CitricController is called with the event and the value of the
|
|
83
|
-
* prop `
|
|
83
|
+
* prop `metadata`.
|
|
84
84
|
*
|
|
85
85
|
* @example
|
|
86
86
|
* ```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconBox.d.ts","sourceRoot":"","sources":["../../src/components/IconBox.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAGnE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAIrE,KAAK,UAAU,GAAG,GAAG,GAAG,QAAQ,GAAG,GAAG,GAAG,MAAM,GAAG,KAAK,CAAA;AAEvD,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,SAAS,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,gBAAgB;IACtI;;;;OAIG;IACH,GAAG,CAAC,EAAE,CAAC,CAAC;IACR;;;;;;;;;;;;;OAaG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IACnD;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACjC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;;OASG;IACH,
|
|
1
|
+
{"version":3,"file":"IconBox.d.ts","sourceRoot":"","sources":["../../src/components/IconBox.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAGnE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAIrE,KAAK,UAAU,GAAG,GAAG,GAAG,QAAQ,GAAG,GAAG,GAAG,MAAM,GAAG,KAAK,CAAA;AAEvD,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,SAAS,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,gBAAgB;IACtI;;;;OAIG;IACH,GAAG,CAAC,EAAE,CAAC,CAAC;IACR;;;;;;;;;;;;;OAaG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IACnD;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACjC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAE3H;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,OAAO,GACD,CAAC,SAAS,UAAU,QAAQ,CAAC,SAAS,SAAS,wGAC4B,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,4CAoB/G,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,UAAU,GACD,CAAC,SAAS,SAAS,kCAAkC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,4CAGhH,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,QAAQ,GACD,CAAC,SAAS,SAAS,qBAAqB,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,4CAG5F,CAAA"}
|
|
@@ -15,15 +15,15 @@ import { CitricComponent } from './CitricComponent.js';
|
|
|
15
15
|
* <IconBox icon="Search" colorScheme="primary" />
|
|
16
16
|
* ```
|
|
17
17
|
*/
|
|
18
|
-
export const IconBox = withRef(function IconBox({ group, icon, tag, appearance, size, className,
|
|
18
|
+
export const IconBox = withRef(function IconBox({ group, icon, tag, appearance, size, className, metadata, onClick, feedback, ...props }) {
|
|
19
19
|
props['aria-label'] ||= props.title; // accessibility
|
|
20
20
|
const citric = useCitricController();
|
|
21
21
|
function handleClick(e) {
|
|
22
22
|
onClick?.(e);
|
|
23
23
|
if (tag === 'button')
|
|
24
|
-
citric?.onClickButton?.(e,
|
|
24
|
+
citric?.onClickButton?.(e, metadata);
|
|
25
25
|
else if (tag === 'a')
|
|
26
|
-
citric?.onClickLink?.(e,
|
|
26
|
+
citric?.onClickLink?.(e, metadata);
|
|
27
27
|
}
|
|
28
28
|
return _jsx(CitricComponent, { tag: (tag || 'i'), component: "icon-box", className: listToClass(['citric-icon', group || 'outline', icon, appearance, size, className]), "data-feedback": feedback || undefined, onClick: ['button', 'a'].includes(tag ?? '') ? handleClick : onClick, ...props });
|
|
29
29
|
});
|
|
@@ -31,7 +31,7 @@ export const IconBox = withRef(function IconBox({ group, icon, tag, appearance,
|
|
|
31
31
|
* A shortcut for `<IconBox tag="button">`.
|
|
32
32
|
*
|
|
33
33
|
* Whenever a button is clicked, the function `onClickButton` of the nearest CitricController is called with the event and the value of the
|
|
34
|
-
* prop `
|
|
34
|
+
* prop `metadata`.
|
|
35
35
|
*
|
|
36
36
|
* @example
|
|
37
37
|
* ```
|
|
@@ -45,7 +45,7 @@ export const IconButton = withRef(function IconButton({ type, ...props }) {
|
|
|
45
45
|
* A shortcut for `<IconBox tag="a">`.
|
|
46
46
|
*
|
|
47
47
|
* Whenever a link is clicked, the function `onClickLink` of the nearest CitricController is called with the event and the value of the
|
|
48
|
-
* prop `
|
|
48
|
+
* prop `metadata`.
|
|
49
49
|
*
|
|
50
50
|
* @example
|
|
51
51
|
* ```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconBox.js","sourceRoot":"","sources":["../../src/components/IconBox.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAEtD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAwDnD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAC5B,SAAS,OAAO,CACd,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"IconBox.js","sourceRoot":"","sources":["../../src/components/IconBox.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAEtD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAwDnD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAC5B,SAAS,OAAO,CACd,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAsB;IAE5G,KAAK,CAAC,YAAY,CAAC,KAAK,KAAK,CAAC,KAAK,CAAA,CAAC,gBAAgB;IACpD,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAA;IAEpC,SAAS,WAAW,CAAC,CAAwB;QAC3C,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;QACZ,IAAI,GAAG,KAAK,QAAQ;YAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;aACrD,IAAI,GAAG,KAAK,GAAG;YAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;IAC1D,CAAC;IAED,OAAO,KAAC,eAAe,IACrB,GAAG,EAAE,CAAC,GAAG,IAAI,GAAG,CAAQ,EACxB,SAAS,EAAC,UAAU,EACpB,SAAS,EAAE,WAAW,CAAC,CAAC,aAAa,EAAE,KAAK,IAAI,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,mBAC/E,QAAQ,IAAI,SAAS,EACpC,OAAO,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,KAChE,KAAK,GACT,CAAA;AACJ,CAAC,CACF,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAC/B,SAAS,UAAU,CAAkC,EAAE,IAAI,EAAE,GAAG,KAAK,EAA0C;IAC7G,OAAO,KAAC,OAAO,OAAK,KAAK,EAAE,GAAG,EAAC,QAAQ,EAAC,IAAI,EAAE,IAAI,IAAI,QAAQ,GAAK,CAAA;AACrE,CAAC,CACF,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,CAC7B,SAAS,QAAQ,CAAkC,KAAwC;IACzF,OAAO,KAAC,OAAO,OAAK,KAAK,EAAE,GAAG,EAAC,GAAG,GAAG,CAAA;AACvC,CAAC,CACF,CAAA"}
|
|
@@ -31,14 +31,14 @@ export interface BaseImageBoxProps<T extends ImageBoxTag> extends WithColorPalet
|
|
|
31
31
|
/**
|
|
32
32
|
* Only valid if `tag` is "button" or "a".
|
|
33
33
|
*
|
|
34
|
-
*
|
|
34
|
+
* Metadata for the general onClick event, set by the CitricController. Useful for creating analytics data.
|
|
35
35
|
*
|
|
36
|
-
* This only takes effect if there's a CitricController in React's context. The value of `
|
|
36
|
+
* This only takes effect if there's a CitricController in React's context. The value of `metadata` is passed to the function
|
|
37
37
|
* `onClickButton/onClickLink` of the controller.
|
|
38
38
|
*
|
|
39
39
|
* @default false
|
|
40
40
|
*/
|
|
41
|
-
|
|
41
|
+
metadata?: any;
|
|
42
42
|
}
|
|
43
43
|
export type ImageBoxProps<T extends ImageBoxTag> = HTMLTag[T] & BaseImageBoxProps<T>;
|
|
44
44
|
/**
|
|
@@ -47,17 +47,19 @@ export type ImageBoxProps<T extends ImageBoxTag> = HTMLTag[T] & BaseImageBoxProp
|
|
|
47
47
|
*
|
|
48
48
|
* Hover and focus effects are applied if the ImageBox is focusable.
|
|
49
49
|
*
|
|
50
|
+
* This works exactly like an IconBox, but instead of an Icon, it can contain anything.
|
|
51
|
+
*
|
|
50
52
|
* @example
|
|
51
53
|
* ```
|
|
52
54
|
* <ImageBox><img src="https://images.com/myimage.png" /></ImageBox>
|
|
53
55
|
* ```
|
|
54
56
|
*/
|
|
55
|
-
export declare const ImageBox: <T extends ImageBoxTag = "div">({ tag, appearance, size, className,
|
|
57
|
+
export declare const ImageBox: <T extends ImageBoxTag = "div">({ tag, appearance, size, className, metadata, onClick, feedback, ...props }: ImageBoxProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
56
58
|
/**
|
|
57
59
|
* A shortcut for `<ImageBox tag="button">`.
|
|
58
60
|
*
|
|
59
61
|
* Whenever a button is clicked, the function `onClickButton` of the nearest CitricController is called with the event and the value of the
|
|
60
|
-
* prop `
|
|
62
|
+
* prop `metadata`.
|
|
61
63
|
*
|
|
62
64
|
* @example
|
|
63
65
|
* ```
|
|
@@ -69,7 +71,7 @@ export declare const ImageButton: (props: Omit<ImageBoxProps<"button">, "tag">)
|
|
|
69
71
|
* A shortcut for `<ImageBox tag="a">`.
|
|
70
72
|
*
|
|
71
73
|
* Whenever a link is clicked, the function `onClickLink` of the nearest CitricController is called with the event and the value of the
|
|
72
|
-
* prop `
|
|
74
|
+
* prop `metadata`.
|
|
73
75
|
*
|
|
74
76
|
* @example
|
|
75
77
|
* ```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageBox.d.ts","sourceRoot":"","sources":["../../src/components/ImageBox.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAIrE,KAAK,WAAW,GAAG,GAAG,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAA;AAElD,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,WAAW,CAAE,SAAQ,gBAAgB,EAAE,eAAe;IACjG;;;;OAIG;IACH,GAAG,CAAC,EAAE,CAAC,CAAC;IACR;;;;OAIG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACjC;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACjC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;;OASG;IACH,
|
|
1
|
+
{"version":3,"file":"ImageBox.d.ts","sourceRoot":"","sources":["../../src/components/ImageBox.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAIrE,KAAK,WAAW,GAAG,GAAG,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAA;AAElD,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,WAAW,CAAE,SAAQ,gBAAgB,EAAE,eAAe;IACjG;;;;OAIG;IACH,GAAG,CAAC,EAAE,CAAC,CAAC;IACR;;;;OAIG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACjC;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACjC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB;AAED,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,WAAW,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAA;AAEpF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,QAAQ,GACD,CAAC,SAAS,WAAW,uFACwC,aAAa,CAAC,CAAC,CAAC,4CAoBhG,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,WAAW,UACM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,4CAGjE,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,SAAS,UACM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,4CAG1D,CAAA"}
|
|
@@ -9,20 +9,22 @@ import { CitricComponent } from './CitricComponent.js';
|
|
|
9
9
|
*
|
|
10
10
|
* Hover and focus effects are applied if the ImageBox is focusable.
|
|
11
11
|
*
|
|
12
|
+
* This works exactly like an IconBox, but instead of an Icon, it can contain anything.
|
|
13
|
+
*
|
|
12
14
|
* @example
|
|
13
15
|
* ```
|
|
14
16
|
* <ImageBox><img src="https://images.com/myimage.png" /></ImageBox>
|
|
15
17
|
* ```
|
|
16
18
|
*/
|
|
17
|
-
export const ImageBox = withRef(function ImageBox({ tag, appearance, size, className,
|
|
19
|
+
export const ImageBox = withRef(function ImageBox({ tag, appearance, size, className, metadata, onClick, feedback, ...props }) {
|
|
18
20
|
props['aria-label'] ||= props.title; // accessibility
|
|
19
21
|
const citric = useCitricController();
|
|
20
22
|
function handleClick(e) {
|
|
21
23
|
onClick?.(e);
|
|
22
24
|
if (tag === 'button')
|
|
23
|
-
citric?.onClickButton?.(e,
|
|
25
|
+
citric?.onClickButton?.(e, metadata);
|
|
24
26
|
else if (tag === 'a')
|
|
25
|
-
citric?.onClickLink?.(e,
|
|
27
|
+
citric?.onClickLink?.(e, metadata);
|
|
26
28
|
}
|
|
27
29
|
return _jsx(CitricComponent, { tag: (tag || 'i'), component: "icon-box", className: listToClass([appearance, size, className]), "data-feedback": feedback || undefined, onClick: ['button', 'a'].includes(tag ?? '') ? handleClick : onClick, ...props });
|
|
28
30
|
});
|
|
@@ -30,7 +32,7 @@ export const ImageBox = withRef(function ImageBox({ tag, appearance, size, class
|
|
|
30
32
|
* A shortcut for `<ImageBox tag="button">`.
|
|
31
33
|
*
|
|
32
34
|
* Whenever a button is clicked, the function `onClickButton` of the nearest CitricController is called with the event and the value of the
|
|
33
|
-
* prop `
|
|
35
|
+
* prop `metadata`.
|
|
34
36
|
*
|
|
35
37
|
* @example
|
|
36
38
|
* ```
|
|
@@ -44,7 +46,7 @@ export const ImageButton = withRef(function ImageButton(props) {
|
|
|
44
46
|
* A shortcut for `<ImageBox tag="a">`.
|
|
45
47
|
*
|
|
46
48
|
* Whenever a link is clicked, the function `onClickLink` of the nearest CitricController is called with the event and the value of the
|
|
47
|
-
* prop `
|
|
49
|
+
* prop `metadata`.
|
|
48
50
|
*
|
|
49
51
|
* @example
|
|
50
52
|
* ```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageBox.js","sourceRoot":"","sources":["../../src/components/ImageBox.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAEtD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AA+CnD
|
|
1
|
+
{"version":3,"file":"ImageBox.js","sourceRoot":"","sources":["../../src/components/ImageBox.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAEtD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AA+CnD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,CAC7B,SAAS,QAAQ,CACf,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAoB;IAE7F,KAAK,CAAC,YAAY,CAAC,KAAK,KAAK,CAAC,KAAK,CAAA,CAAC,gBAAgB;IACpD,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAA;IAEpC,SAAS,WAAW,CAAC,CAAwB;QAC3C,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;QACZ,IAAI,GAAG,KAAK,QAAQ;YAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;aACrD,IAAI,GAAG,KAAK,GAAG;YAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;IAC1D,CAAC;IAED,OAAO,KAAC,eAAe,IACrB,GAAG,EAAE,CAAC,GAAG,IAAI,GAAG,CAAQ,EACxB,SAAS,EAAC,UAAU,EACpB,SAAS,EAAE,WAAW,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,mBACtC,QAAQ,IAAI,SAAS,EACpC,OAAO,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,KAChE,KAAK,GACT,CAAA;AACJ,CAAC,CACF,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAChC,SAAS,WAAW,CAAC,KAA2C;IAC9D,OAAO,KAAC,QAAQ,OAAK,KAAK,EAAE,GAAG,EAAC,QAAQ,EAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,QAAQ,GAAI,CAAA;AAC3E,CAAC,CACF,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAC9B,SAAS,SAAS,CAAC,KAAsC;IACvD,OAAO,KAAC,QAAQ,OAAK,KAAK,EAAE,GAAG,EAAC,GAAG,GAAG,CAAA;AACxC,CAAC,CACF,CAAA"}
|
|
@@ -6,21 +6,21 @@ export interface BaseLinkProps extends WithColor {
|
|
|
6
6
|
*/
|
|
7
7
|
appearance?: TextAppearance;
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
9
|
+
* Metadata for the general onClick event, set by the CitricController. Useful for creating analytics data.
|
|
10
10
|
*
|
|
11
|
-
* This only takes effect if there's a CitricController in React's context. The value of `
|
|
11
|
+
* This only takes effect if there's a CitricController in React's context. The value of `metadata` is passed to the function
|
|
12
12
|
* `onClickLink` of the controller.
|
|
13
13
|
*
|
|
14
14
|
* @default false
|
|
15
15
|
*/
|
|
16
|
-
|
|
16
|
+
metadata?: any;
|
|
17
17
|
}
|
|
18
18
|
export type LinkProps = React.JSX.IntrinsicElements['a'] & BaseLinkProps;
|
|
19
19
|
/**
|
|
20
20
|
* Renders an html anchor by default, the actual component to render may be set on a CitricController, through the function `renderLink`.
|
|
21
21
|
*
|
|
22
22
|
* Whenever a link is clicked, the function `onClickLink` of the nearest CitricController is called with the event and the value of the
|
|
23
|
-
* prop `
|
|
23
|
+
* prop `metadata`.
|
|
24
24
|
*/
|
|
25
|
-
export declare const Link: ({ appearance, color, style, className, children, onClick,
|
|
25
|
+
export declare const Link: ({ appearance, color, style, className, children, onClick, metadata, ...props }: LinkProps) => import("react/jsx-runtime").JSX.Element;
|
|
26
26
|
//# sourceMappingURL=Link.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../src/components/Link.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAKpD,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC9C;;;OAGG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B;;;;;;;OAOG;IACH,
|
|
1
|
+
{"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../src/components/Link.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAKpD,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC9C;;;OAGG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB;AAED,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,aAAa,CAAA;AAExE;;;;;GAKG;AACH,eAAO,MAAM,IAAI,mFAA4F,SAAS,4CAepH,CAAA"}
|
package/dist/components/Link.js
CHANGED
|
@@ -7,9 +7,9 @@ import { asCitricProps, CitricComponent } from './CitricComponent.js';
|
|
|
7
7
|
* Renders an html anchor by default, the actual component to render may be set on a CitricController, through the function `renderLink`.
|
|
8
8
|
*
|
|
9
9
|
* Whenever a link is clicked, the function `onClickLink` of the nearest CitricController is called with the event and the value of the
|
|
10
|
-
* prop `
|
|
10
|
+
* prop `metadata`.
|
|
11
11
|
*/
|
|
12
|
-
export const Link = withRef(({ appearance, color, style, className, children, onClick,
|
|
12
|
+
export const Link = withRef(({ appearance, color, style, className, children, onClick, metadata, ...props }) => {
|
|
13
13
|
const citric = useCitricController();
|
|
14
14
|
const linkProps = {
|
|
15
15
|
component: 'link',
|
|
@@ -17,7 +17,7 @@ export const Link = withRef(({ appearance, color, style, className, children, on
|
|
|
17
17
|
className: applyTextAppearance(className, appearance),
|
|
18
18
|
onClick: (e) => {
|
|
19
19
|
onClick?.(e);
|
|
20
|
-
citric?.onClickLink?.(e,
|
|
20
|
+
citric?.onClickLink?.(e, metadata ?? false);
|
|
21
21
|
},
|
|
22
22
|
...props,
|
|
23
23
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Link.js","sourceRoot":"","sources":["../../src/components/Link.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAEtD,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAqBlE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Link.js","sourceRoot":"","sources":["../../src/components/Link.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAEtD,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAqBlE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAa,EAAE,EAAE;IACxH,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAA;IACpC,MAAM,SAAS,GAAG;QAChB,SAAS,EAAE,MAAM;QACjB,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC;QAC/B,SAAS,EAAE,mBAAmB,CAAC,SAAS,EAAE,UAAU,CAAC;QACrD,OAAO,EAAE,CAAC,CAAsC,EAAE,EAAE;YAClD,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;YACZ,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,QAAQ,IAAI,KAAK,CAAC,CAAA;QAC7C,CAAC;QACD,GAAG,KAAK;KACA,CAAA;IACV,OAAO,MAAM,EAAE,UAAU;QACvB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,GAAG,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC9D,CAAC,CAAC,KAAC,eAAe,IAAC,GAAG,EAAC,GAAG,KAAK,SAAS,YAAG,QAAQ,GAAmB,CAAA;AAC1E,CAAC,CAAC,CAAA"}
|
|
@@ -27,5 +27,5 @@ import { OverlayProps } from './types.js';
|
|
|
27
27
|
* )
|
|
28
28
|
* ```
|
|
29
29
|
*/
|
|
30
|
-
export declare function Overlay<T extends keyof HTMLTag>({ tag, children, content, position, triggerOn, attributes, onRenderChild, autoFocusBehavior, ...props }: OverlayProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
30
|
+
export declare function Overlay<T extends keyof HTMLTag>({ tag, children, content, position, triggerOn, alignment, attributes, onRenderChild, autoFocusBehavior, ...props }: OverlayProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
31
31
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Overlay/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAGrC,OAAO,EAAqB,YAAY,EAAE,MAAM,SAAS,CAAA;AAOzD;;;;;;;;;;GAUG;AAEH;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,OAAO,EAAE,EAC/C,GAAG,EACH,QAAQ,EACR,OAAO,EACP,QAAgB,EAChB,SAAmB,EACnB,UAAU,EACV,aAAa,EACb,iBAA8B,EAC9B,GAAG,KAAK,EACT,EAAE,YAAY,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Overlay/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAGrC,OAAO,EAAqB,YAAY,EAAE,MAAM,SAAS,CAAA;AAOzD;;;;;;;;;;GAUG;AAEH;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,OAAO,EAAE,EAC/C,GAAG,EACH,QAAQ,EACR,OAAO,EACP,QAAgB,EAChB,SAAmB,EACnB,SAAoB,EACpB,UAAU,EACV,aAAa,EACb,iBAA8B,EAC9B,GAAG,KAAK,EACT,EAAE,YAAY,CAAC,CAAC,CAAC,2CAgHjB"}
|
|
@@ -34,14 +34,14 @@ const arbitraryRenderTime = 20;
|
|
|
34
34
|
* )
|
|
35
35
|
* ```
|
|
36
36
|
*/
|
|
37
|
-
export function Overlay({ tag, children, content, position = 'top', triggerOn = 'hover', attributes, onRenderChild, autoFocusBehavior = 'keyboard', ...props }) {
|
|
37
|
+
export function Overlay({ tag, children, content, position = 'top', triggerOn = 'hover', alignment = 'center', attributes, onRenderChild, autoFocusBehavior = 'keyboard', ...props }) {
|
|
38
38
|
const controller = useRef({ close: () => Promise.resolve() });
|
|
39
39
|
const wrapper = useRef(null);
|
|
40
40
|
// props that don't require removing and reattaching the event listeners
|
|
41
|
-
const dynamic = useRef({ tag, content, position, attributes });
|
|
41
|
+
const dynamic = useRef({ tag, content, position, alignment, attributes });
|
|
42
42
|
useEffect(() => {
|
|
43
|
-
dynamic.current = { tag, content, position, attributes };
|
|
44
|
-
}, [tag, content, position, attributes]);
|
|
43
|
+
dynamic.current = { tag, content, position, alignment, attributes };
|
|
44
|
+
}, [tag, content, position, alignment, attributes]);
|
|
45
45
|
useEffect(() => {
|
|
46
46
|
let visible = false;
|
|
47
47
|
let hideOnClickOutside;
|
|
@@ -71,6 +71,7 @@ export function Overlay({ tag, children, content, position = 'top', triggerOn =
|
|
|
71
71
|
: _jsx(OverlayProvider, { value: controller.current, children: dynamic.current.content }),
|
|
72
72
|
target,
|
|
73
73
|
position: dynamic.current.position,
|
|
74
|
+
alignment: dynamic.current.alignment,
|
|
74
75
|
attributes: dynamic.current.attributes,
|
|
75
76
|
});
|
|
76
77
|
hideOverlay = hideFn;
|