@solibo/solibo-ui 1.0.14 → 1.0.16
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/assets/index.css +1 -1
- package/dist/assets/index10.css +1 -1
- package/dist/assets/index12.css +1 -1
- package/dist/assets/index13.css +1 -1
- package/dist/assets/index14.css +1 -1
- package/dist/assets/index15.css +1 -1
- package/dist/assets/index16.css +1 -1
- package/dist/assets/index17.css +1 -1
- package/dist/assets/index18.css +1 -1
- package/dist/assets/index19.css +0 -1
- package/dist/assets/index20.css +1 -1
- package/dist/assets/index21.css +1 -0
- package/dist/assets/index22.css +1 -1
- package/dist/assets/index23.css +1 -1
- package/dist/assets/index24.css +1 -1
- package/dist/assets/index25.css +1 -1
- package/dist/assets/index26.css +1 -1
- package/dist/assets/index27.css +1 -1
- package/dist/assets/index28.css +1 -1
- package/dist/assets/index29.css +1 -1
- package/dist/assets/index3.css +1 -1
- package/dist/assets/index30.css +1 -1
- package/dist/assets/index31.css +1 -1
- package/dist/assets/index32.css +1 -1
- package/dist/assets/index33.css +1 -1
- package/dist/assets/index34.css +1 -1
- package/dist/assets/index35.css +1 -1
- package/dist/assets/index36.css +1 -1
- package/dist/assets/index37.css +1 -1
- package/dist/assets/index38.css +1 -1
- package/dist/assets/index39.css +1 -1
- package/dist/assets/index4.css +1 -1
- package/dist/assets/index40.css +1 -1
- package/dist/assets/index41.css +1 -1
- package/dist/assets/index42.css +1 -1
- package/dist/assets/index43.css +1 -1
- package/dist/assets/index44.css +1 -1
- package/dist/assets/index45.css +1 -1
- package/dist/assets/index46.css +1 -1
- package/dist/assets/index47.css +1 -1
- package/dist/assets/index48.css +1 -1
- package/dist/assets/index49.css +1 -1
- package/dist/assets/index50.css +1 -1
- package/dist/assets/index51.css +1 -1
- package/dist/assets/index6.css +1 -1
- package/dist/assets/index8.css +1 -1
- package/dist/assets/index9.css +1 -1
- package/dist/assets/menu-popover.css +1 -0
- package/dist/components/app-link/index.cjs +1 -1
- package/dist/components/app-link/index.js +8 -8
- package/dist/components/aside/index.cjs +1 -1
- package/dist/components/aside/index.js +11 -11
- package/dist/components/avatar/index.cjs +1 -1
- package/dist/components/avatar/index.cjs.map +1 -1
- package/dist/components/avatar/index.js +58 -58
- package/dist/components/badge/index.cjs +1 -1
- package/dist/components/badge/index.js +27 -27
- package/dist/components/banner/index.cjs +1 -1
- package/dist/components/banner/index.js +14 -14
- package/dist/components/branding/index.cjs +1 -1
- package/dist/components/branding/index.js +1 -1
- package/dist/components/button/index.cjs +1 -1
- package/dist/components/button/index.js +18 -18
- package/dist/components/card/index.cjs +1 -1
- package/dist/components/card/index.js +46 -46
- package/dist/components/checkbox/index.cjs +1 -1
- package/dist/components/checkbox/index.js +7 -7
- package/dist/components/chip/index.cjs +1 -1
- package/dist/components/chip/index.cjs.map +1 -1
- package/dist/components/chip/index.js +27 -26
- package/dist/components/chip/index.js.map +1 -1
- package/dist/components/collapsible/index.cjs +1 -1
- package/dist/components/collapsible/index.cjs.map +1 -1
- package/dist/components/collapsible/index.js +18 -37
- package/dist/components/collapsible/index.js.map +1 -1
- package/dist/components/controls/index.cjs +1 -1
- package/dist/components/controls/index.cjs.map +1 -1
- package/dist/components/controls/index.js +128 -36
- package/dist/components/controls/index.js.map +1 -1
- package/dist/components/croppable/index.cjs +1 -1
- package/dist/components/croppable/index.js +181 -181
- package/dist/components/dialog/index.cjs +1 -1
- package/dist/components/dialog/index.js +31 -31
- package/dist/components/dropdown/index.cjs +1 -1
- package/dist/components/dropdown/index.cjs.map +1 -1
- package/dist/components/dropdown/index.js +113 -110
- package/dist/components/dropdown/index.js.map +1 -1
- package/dist/components/dropzone/index.cjs +1 -1
- package/dist/components/dropzone/index.js +1 -1
- package/dist/components/editor/index.cjs +16 -16
- package/dist/components/editor/index.cjs.map +1 -1
- package/dist/components/editor/index.js +197 -197
- package/dist/components/empty-state/index.cjs +1 -1
- package/dist/components/empty-state/index.js +1 -1
- package/dist/components/fieldset/index.cjs +1 -1
- package/dist/components/fieldset/index.js +1 -1
- package/dist/components/figure/index.cjs +1 -1
- package/dist/components/figure/index.js +1 -1
- package/dist/components/file/index.cjs +1 -1
- package/dist/components/file/index.cjs.map +1 -1
- package/dist/components/file/index.js +38 -34
- package/dist/components/file/index.js.map +1 -1
- package/dist/components/footer/index.cjs +1 -1
- package/dist/components/footer/index.js +1 -1
- package/dist/components/form/index.cjs +1 -1
- package/dist/components/form/index.js +1 -1
- package/dist/components/graph/index.cjs +1 -1
- package/dist/components/graph/index.js +1 -1
- package/dist/components/group/index.cjs +1 -1
- package/dist/components/group/index.js +1 -1
- package/dist/components/header/index.cjs +1 -1
- package/dist/components/header/index.cjs.map +1 -1
- package/dist/components/header/index.js +14 -14
- package/dist/components/icon/index.cjs +1 -1
- package/dist/components/icon/index.js +20 -20
- package/dist/components/iframe/index.cjs +1 -1
- package/dist/components/iframe/index.js +1 -1
- package/dist/components/image/index.cjs +1 -1
- package/dist/components/image/index.js +1 -1
- package/dist/components/input/index.cjs +1 -1
- package/dist/components/input/index.js +3 -3
- package/dist/components/link/index.cjs +1 -1
- package/dist/components/link/index.js +1 -1
- package/dist/components/list/index.cjs +1 -1
- package/dist/components/list/index.cjs.map +1 -1
- package/dist/components/list/index.js +39 -36
- package/dist/components/list/index.js.map +1 -1
- package/dist/components/loading/index.cjs +1 -1
- package/dist/components/loading/index.js +11 -11
- package/dist/components/menu/index.cjs +1 -1
- package/dist/components/menu/index.cjs.map +1 -1
- package/dist/components/menu/index.js +37 -87
- package/dist/components/menu/index.js.map +1 -1
- package/dist/components/message/index.cjs +1 -1
- package/dist/components/message/index.cjs.map +1 -1
- package/dist/components/message/index.js +26 -26
- package/dist/components/messages/index.cjs +1 -1
- package/dist/components/messages/index.js +20 -20
- package/dist/components/nav/index.cjs +1 -1
- package/dist/components/nav/index.js +25 -25
- package/dist/components/popover/index.cjs +1 -1
- package/dist/components/popover/index.cjs.map +1 -1
- package/dist/components/popover/index.js +56 -60
- package/dist/components/popover/index.js.map +1 -1
- package/dist/components/portal/index.cjs +1 -1
- package/dist/components/portal/index.js +7 -7
- package/dist/components/search/index.cjs +1 -1
- package/dist/components/search/index.cjs.map +1 -1
- package/dist/components/search/index.js +43 -45
- package/dist/components/search/index.js.map +1 -1
- package/dist/components/select/index.cjs +1 -1
- package/dist/components/select/index.js +3 -3
- package/dist/components/sortable/index.cjs +1 -1
- package/dist/components/sortable/index.js +74 -74
- package/dist/components/textarea/index.cjs +1 -1
- package/dist/components/textarea/index.cjs.map +1 -1
- package/dist/components/textarea/index.js +24 -20
- package/dist/components/textarea/index.js.map +1 -1
- package/dist/components/toasts/index.cjs +1 -1
- package/dist/components/toasts/index.js +4 -4
- package/dist/components/toggle/index.cjs +1 -1
- package/dist/components/toggle/index.js +6 -6
- package/dist/components/toolbar/index.cjs +1 -1
- package/dist/components/toolbar/index.js +1 -1
- package/dist/components/tooltip/index.cjs +1 -1
- package/dist/components/tooltip/index.js +1 -1
- package/dist/icons-DaZGJzI0.cjs +2 -0
- package/dist/icons-DaZGJzI0.cjs.map +1 -0
- package/dist/{icons-Bq3diTRm.js → icons-Dj0vEOCB.js} +2 -1
- package/dist/icons-Dj0vEOCB.js.map +1 -0
- package/dist/index-BIV5OwVJ.js +76 -0
- package/dist/index-BIV5OwVJ.js.map +1 -0
- package/dist/index-CQNlYa2P.cjs +2 -0
- package/dist/index-CQNlYa2P.cjs.map +1 -0
- package/dist/{index-DwzLUapm.js → index-CgA0NUMD.js} +35 -33
- package/dist/index-CgA0NUMD.js.map +1 -0
- package/dist/index-Dn1v0qm6.cjs +2 -0
- package/dist/index-Dn1v0qm6.cjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +32 -9
- package/dist/index.js +2 -2
- package/dist/menu-popover-D1ALaiV5.cjs +2 -0
- package/dist/menu-popover-D1ALaiV5.cjs.map +1 -0
- package/dist/menu-popover-DQHDIw-8.js +74 -0
- package/dist/menu-popover-DQHDIw-8.js.map +1 -0
- package/dist/tokens.json +1 -1
- package/dist/use-touched-B999bBr8.js +20 -0
- package/dist/use-touched-B999bBr8.js.map +1 -0
- package/dist/use-touched-Bq5Gjbpz.cjs +2 -0
- package/dist/use-touched-Bq5Gjbpz.cjs.map +1 -0
- package/package.json +1 -1
- package/dist/assets/index52.css +0 -1
- package/dist/icons-Bq3diTRm.js.map +0 -1
- package/dist/icons-ovA21Oao.cjs +0 -2
- package/dist/icons-ovA21Oao.cjs.map +0 -1
- package/dist/index-BcY9DZZ8.cjs +0 -2
- package/dist/index-BcY9DZZ8.cjs.map +0 -1
- package/dist/index-CjI8oRpS.cjs +0 -2
- package/dist/index-CjI8oRpS.cjs.map +0 -1
- package/dist/index-ClZkChEh.js +0 -73
- package/dist/index-ClZkChEh.js.map +0 -1
- package/dist/index-DwzLUapm.js.map +0 -1
- package/dist/use-touched-DXIJVVzz.js +0 -14
- package/dist/use-touched-DXIJVVzz.js.map +0 -1
- package/dist/use-touched-D_TJ8wDc.cjs +0 -2
- package/dist/use-touched-D_TJ8wDc.cjs.map +0 -1
|
@@ -1,52 +1,55 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { t as
|
|
1
|
+
import { jsx as u, jsxs as x, Fragment as z } from "react/jsx-runtime";
|
|
2
|
+
import { t as F } from "../../classix-DG18itHa.js";
|
|
3
3
|
import e from "react";
|
|
4
|
-
import '../../assets/
|
|
5
|
-
return e.isValidElement(
|
|
4
|
+
import '../../assets/index47.css';function V(t) {
|
|
5
|
+
return e.isValidElement(t) && t.type === e.Fragment;
|
|
6
6
|
}
|
|
7
|
-
function
|
|
8
|
-
return e.Children.forEach(
|
|
9
|
-
|
|
10
|
-
}),
|
|
7
|
+
function N(t, n = []) {
|
|
8
|
+
return e.Children.forEach(t, (s) => {
|
|
9
|
+
V(s) ? N(s.props.children, n) : n.push(s);
|
|
10
|
+
}), n;
|
|
11
11
|
}
|
|
12
|
-
function
|
|
13
|
-
wrapper:
|
|
12
|
+
function p(t, {
|
|
13
|
+
wrapper: n = "li"
|
|
14
14
|
} = {}) {
|
|
15
|
-
return
|
|
16
|
-
if (e.isValidElement(
|
|
17
|
-
return
|
|
18
|
-
const
|
|
19
|
-
return e.createElement(
|
|
20
|
-
key:
|
|
21
|
-
},
|
|
15
|
+
return N(t).filter((l) => l !== null).map((l, c) => {
|
|
16
|
+
if (e.isValidElement(l) && l.type === n)
|
|
17
|
+
return l;
|
|
18
|
+
const r = e.isValidElement(l) && l.key != null ? l.key : c;
|
|
19
|
+
return e.createElement(n, {
|
|
20
|
+
key: r
|
|
21
|
+
}, l);
|
|
22
22
|
});
|
|
23
23
|
}
|
|
24
|
-
const
|
|
25
|
-
controls:
|
|
26
|
-
horizontal:
|
|
27
|
-
list:
|
|
28
|
-
columns:
|
|
24
|
+
const d = "_controls_uq9c5_1", g = "_horizontal_uq9c5_6", k = "_list_uq9c5_17", C = "_columns_uq9c5_58", i = {
|
|
25
|
+
controls: d,
|
|
26
|
+
horizontal: g,
|
|
27
|
+
list: k,
|
|
28
|
+
columns: C
|
|
29
|
+
}, E = (t, n) => {
|
|
30
|
+
typeof t == "function" ? t(n) : t && (t.current = n);
|
|
29
31
|
};
|
|
30
|
-
function
|
|
31
|
-
children:
|
|
32
|
-
className:
|
|
32
|
+
function M({
|
|
33
|
+
children: t,
|
|
34
|
+
className: n,
|
|
33
35
|
columns: s = 1,
|
|
34
|
-
controls:
|
|
35
|
-
horizontal:
|
|
36
|
-
ordered:
|
|
37
|
-
|
|
36
|
+
controls: o,
|
|
37
|
+
horizontal: l,
|
|
38
|
+
ordered: c,
|
|
39
|
+
ref: r,
|
|
40
|
+
style: q,
|
|
38
41
|
...m
|
|
39
42
|
}) {
|
|
40
|
-
const
|
|
41
|
-
...
|
|
42
|
-
"--list-columns":
|
|
43
|
-
}, h =
|
|
44
|
-
return
|
|
45
|
-
/* @__PURE__ */
|
|
43
|
+
const f = Number.isFinite(s) ? Math.max(1, Math.floor(s)) : 1, _ = F(n, i.list, f > 1 && i.columns, l && i.horizontal), y = {
|
|
44
|
+
...q,
|
|
45
|
+
"--list-columns": f
|
|
46
|
+
}, h = c ? /* @__PURE__ */ u("ol", { className: _, ref: (a) => E(r, a), style: y, ...m, children: p(t) }) : /* @__PURE__ */ u("ul", { className: _, ref: (a) => E(r, a), style: y, ...m, children: p(t) });
|
|
47
|
+
return o == null ? h : /* @__PURE__ */ x(z, { children: [
|
|
48
|
+
/* @__PURE__ */ u("div", { className: i.controls, children: o }),
|
|
46
49
|
h
|
|
47
50
|
] });
|
|
48
51
|
}
|
|
49
52
|
export {
|
|
50
|
-
|
|
53
|
+
M as List
|
|
51
54
|
};
|
|
52
55
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/lib/wrap-children.tsx","../../../src/components/list/index.tsx"],"sourcesContent":["import React, { JSX } from 'react';\n\ntype WrapOptions<T extends keyof JSX.IntrinsicElements = 'li'> = {\n wrapper?: T;\n};\n\nfunction isFragmentElement(\n node: React.ReactNode\n): node is React.ReactElement<{ children?: React.ReactNode }> {\n return React.isValidElement(node) && node.type === React.Fragment;\n}\n\nfunction flattenChildren(children: React.ReactNode, out: React.ReactNode[] = []) {\n React.Children.forEach(children, (child) => {\n if (isFragmentElement(child)) {\n flattenChildren(child.props.children, out);\n } else {\n out.push(child);\n }\n });\n return out;\n}\n\nexport function wrapChildren<T extends keyof JSX.IntrinsicElements = 'li'>(\n children: React.ReactNode,\n { wrapper = 'li' as T }: WrapOptions<T> = {}\n) {\n const flat = flattenChildren(children);\n\n const filterNull = flat.filter((child) => child !== null);\n\n return filterNull.map((child, i) => {\n if (React.isValidElement(child) && child.type === wrapper) {\n return child;\n }\n\n const key = React.isValidElement(child) && child.key != null ? child.key : i;\n\n return React.createElement(wrapper, { key }, child);\n });\n}\n","import cx from 'classix';\n\nimport { wrapChildren } from '@/lib/wrap-children';\n\nimport styles from './styles.module.css';\n\nexport type ListProps = React.ComponentPropsWithoutRef<'ul'> & {\n columns?: number;\n controls?: React.ReactNode;\n horizontal?: boolean;\n ordered?: boolean;\n};\n\nexport function List({\n children,\n className,\n columns = 1,\n controls,\n horizontal,\n ordered,\n style,\n ...props\n}: ListProps) {\n const cols = Number.isFinite(columns) ? Math.max(1, Math.floor(columns)) : 1;\n\n const classes = cx(\n className,\n styles.list,\n cols > 1 && styles.columns,\n horizontal && styles.horizontal\n );\n\n type withVars = React.CSSProperties & {\n '--list-columns'?: number;\n };\n\n const withVars: withVars = {\n ...style,\n '--list-columns': cols,\n };\n\n const list = ordered ? (\n <ol\n className={classes}\n style={withVars}\n {...props}\n >\n {wrapChildren(children)}\n </ol>\n ) : (\n <ul\n className={classes}\n style={withVars}\n {...props}\n >\n {wrapChildren(children)}\n </ul>\n );\n\n if (controls === undefined || controls === null) return list;\n\n return (\n <>\n <div className={styles.controls}>{controls}</div>\n {list}\n </>\n );\n}\n"],"names":["isFragmentElement","node","React","isValidElement","type","Fragment","flattenChildren","children","out","Children","forEach","child","props","push","wrapChildren","wrapper","filter","map","i","key","createElement","List","className","columns","controls","horizontal","ordered","style","cols","Number","isFinite","Math","max","floor","classes","cx","styles","list","withVars","jsx","jsxs"],"mappings":";;;AAMA,SAASA,EACPC,GAC4D;AAC5D,SAAOC,EAAMC,eAAeF,CAAI,KAAKA,EAAKG,SAASF,EAAMG;AAC3D;AAEA,SAASC,EAAgBC,GAA2BC,IAAyB,IAAI;AAC/EN,SAAAA,EAAMO,SAASC,QAAQH,GAAWI,CAAAA,MAAU;AAC1C,IAAIX,EAAkBW,CAAK,IACzBL,EAAgBK,EAAMC,MAAML,UAAUC,CAAG,IAEzCA,EAAIK,KAAKF,CAAK;AAAA,EAElB,CAAC,GACMH;AACT;AAEO,SAASM,EACdP,GACA;AAAA,EAAEQ,SAAAA,IAAU;AAA0B,IAAI,IAC1C;AAKA,SAJaT,EAAgBC,CAAQ,EAEbS,OAAQL,CAAAA,MAAUA,MAAU,IAAI,EAEtCM,IAAI,CAACN,GAAOO,MAAM;AAClC,QAAIhB,EAAMC,eAAeQ,CAAK,KAAKA,EAAMP,SAASW;AAChD,aAAOJ;AAGT,UAAMQ,IAAMjB,EAAMC,eAAeQ,CAAK,KAAKA,EAAMQ,OAAO,OAAOR,EAAMQ,MAAMD;AAE3E,WAAOhB,EAAMkB,cAAcL,GAAS;AAAA,MAAEI,KAAAA;AAAAA,IAAAA,GAAOR,CAAK;AAAA,EACpD,CAAC;AACH
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/lib/wrap-children.tsx","../../../src/components/list/index.tsx"],"sourcesContent":["import React, { JSX } from 'react';\n\ntype WrapOptions<T extends keyof JSX.IntrinsicElements = 'li'> = {\n wrapper?: T;\n};\n\nfunction isFragmentElement(\n node: React.ReactNode\n): node is React.ReactElement<{ children?: React.ReactNode }> {\n return React.isValidElement(node) && node.type === React.Fragment;\n}\n\nfunction flattenChildren(children: React.ReactNode, out: React.ReactNode[] = []) {\n React.Children.forEach(children, (child) => {\n if (isFragmentElement(child)) {\n flattenChildren(child.props.children, out);\n } else {\n out.push(child);\n }\n });\n return out;\n}\n\nexport function wrapChildren<T extends keyof JSX.IntrinsicElements = 'li'>(\n children: React.ReactNode,\n { wrapper = 'li' as T }: WrapOptions<T> = {}\n) {\n const flat = flattenChildren(children);\n\n const filterNull = flat.filter((child) => child !== null);\n\n return filterNull.map((child, i) => {\n if (React.isValidElement(child) && child.type === wrapper) {\n return child;\n }\n\n const key = React.isValidElement(child) && child.key != null ? child.key : i;\n\n return React.createElement(wrapper, { key }, child);\n });\n}\n","import cx from 'classix';\n\nimport { wrapChildren } from '@/lib/wrap-children';\n\nimport styles from './styles.module.css';\n\ntype ListElement = HTMLUListElement | HTMLOListElement;\n\nconst setListRef = (ref: React.Ref<ListElement> | undefined, node: ListElement | null) => {\n if (typeof ref === 'function') ref(node);\n else if (ref) ref.current = node;\n};\n\nexport type ListProps = React.ComponentPropsWithoutRef<'ul'> & {\n columns?: number;\n controls?: React.ReactNode;\n horizontal?: boolean;\n ordered?: boolean;\n ref?: React.Ref<ListElement>;\n};\n\nexport function List({\n children,\n className,\n columns = 1,\n controls,\n horizontal,\n ordered,\n ref,\n style,\n ...props\n}: ListProps) {\n const cols = Number.isFinite(columns) ? Math.max(1, Math.floor(columns)) : 1;\n\n const classes = cx(\n className,\n styles.list,\n cols > 1 && styles.columns,\n horizontal && styles.horizontal\n );\n\n type withVars = React.CSSProperties & {\n '--list-columns'?: number;\n };\n\n const withVars: withVars = {\n ...style,\n '--list-columns': cols,\n };\n\n const list = ordered ? (\n <ol\n className={classes}\n ref={(node) => setListRef(ref, node)}\n style={withVars}\n {...props}\n >\n {wrapChildren(children)}\n </ol>\n ) : (\n <ul\n className={classes}\n ref={(node) => setListRef(ref, node)}\n style={withVars}\n {...props}\n >\n {wrapChildren(children)}\n </ul>\n );\n\n if (controls === undefined || controls === null) return list;\n\n return (\n <>\n <div className={styles.controls}>{controls}</div>\n {list}\n </>\n );\n}\n"],"names":["isFragmentElement","node","React","isValidElement","type","Fragment","flattenChildren","children","out","Children","forEach","child","props","push","wrapChildren","wrapper","filter","map","i","key","createElement","setListRef","ref","current","List","className","columns","controls","horizontal","ordered","style","cols","Number","isFinite","Math","max","floor","classes","cx","styles","list","withVars","jsx","jsxs"],"mappings":";;;AAMA,SAASA,EACPC,GAC4D;AAC5D,SAAOC,EAAMC,eAAeF,CAAI,KAAKA,EAAKG,SAASF,EAAMG;AAC3D;AAEA,SAASC,EAAgBC,GAA2BC,IAAyB,IAAI;AAC/EN,SAAAA,EAAMO,SAASC,QAAQH,GAAWI,CAAAA,MAAU;AAC1C,IAAIX,EAAkBW,CAAK,IACzBL,EAAgBK,EAAMC,MAAML,UAAUC,CAAG,IAEzCA,EAAIK,KAAKF,CAAK;AAAA,EAElB,CAAC,GACMH;AACT;AAEO,SAASM,EACdP,GACA;AAAA,EAAEQ,SAAAA,IAAU;AAA0B,IAAI,IAC1C;AAKA,SAJaT,EAAgBC,CAAQ,EAEbS,OAAQL,CAAAA,MAAUA,MAAU,IAAI,EAEtCM,IAAI,CAACN,GAAOO,MAAM;AAClC,QAAIhB,EAAMC,eAAeQ,CAAK,KAAKA,EAAMP,SAASW;AAChD,aAAOJ;AAGT,UAAMQ,IAAMjB,EAAMC,eAAeQ,CAAK,KAAKA,EAAMQ,OAAO,OAAOR,EAAMQ,MAAMD;AAE3E,WAAOhB,EAAMkB,cAAcL,GAAS;AAAA,MAAEI,KAAAA;AAAAA,IAAAA,GAAOR,CAAK;AAAA,EACpD,CAAC;AACH;;;;;;GChCMU,IAAaA,CAACC,GAAyCrB,MAA6B;AACxF,EAAI,OAAOqB,KAAQ,aAAYA,EAAIrB,CAAI,IAC9BqB,QAASC,UAAUtB;AAC9B;AAUO,SAASuB,EAAK;AAAA,EACnBjB,UAAAA;AAAAA,EACAkB,WAAAA;AAAAA,EACAC,SAAAA,IAAU;AAAA,EACVC,UAAAA;AAAAA,EACAC,YAAAA;AAAAA,EACAC,SAAAA;AAAAA,EACAP,KAAAA;AAAAA,EACAQ,OAAAA;AAAAA,EACA,GAAGlB;AACM,GAAG;AACZ,QAAMmB,IAAOC,OAAOC,SAASP,CAAO,IAAIQ,KAAKC,IAAI,GAAGD,KAAKE,MAAMV,CAAO,CAAC,IAAI,GAErEW,IAAUC,EACdb,GACAc,EAAOC,MACPT,IAAO,KAAKQ,EAAOb,SACnBE,KAAcW,EAAOX,UACvB,GAMMa,IAAqB;AAAA,IACzB,GAAGX;AAAAA,IACH,kBAAkBC;AAAAA,EAAAA,GAGdS,IAAOX,IACX,gBAAAa,EAAC,MAAA,EACC,WAAWL,GACX,KAAMpC,CAAAA,MAASoB,EAAWC,GAAKrB,CAAI,GACnC,OAAOwC,GACP,GAAI7B,GAEHE,UAAAA,EAAaP,CAAQ,EAAA,CACxB,sBAEC,MAAA,EACC,WAAW8B,GACX,KAAMpC,OAASoB,EAAWC,GAAKrB,CAAI,GACnC,OAAOwC,GACP,GAAI7B,GAEHE,UAAAA,EAAaP,CAAQ,GACxB;AAGF,SAA8BoB,KAAa,OAAaa,IAGtD,gBAAAG,EAAAtC,GAAA,EACE,UAAA;AAAA,IAAA,gBAAAqC,EAAC,OAAA,EAAI,WAAWH,EAAOZ,UAAWA,UAAAA,GAAS;AAAA,IAC1Ca;AAAAA,EAAAA,GACH;AAEJ;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index48.css');const t=require("react/jsx-runtime"),i=require("../../classix-5H4IWnMA.cjs"),e="_loading_1csd4_23",l="_spin_1csd4_1",_="_ping_1csd4_39",r="_sticky_1csd4_65",n={loading:e,default:"_default_1csd4_28",spin:l,ping:_,sticky:r},g=({variant:o="default",size:s,sticky:c=!1,...d})=>{const a={"--border-size":s?s/8+"px":void 0,"--size":s?s+"px":void 0};return t.jsx("div",{className:i.t(n.loading,c&&n.sticky),"data-component":"loading",children:t.jsx("span",{className:i.t(n.loading,n[o]),style:a,...d})})};exports.Loading=g;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { jsx as o } from "react/jsx-runtime";
|
|
2
|
-
import { t
|
|
3
|
-
import '../../assets/
|
|
2
|
+
import { t } from "../../classix-DG18itHa.js";
|
|
3
|
+
import '../../assets/index48.css';const l = "_loading_1csd4_23", _ = "_spin_1csd4_1", p = "_ping_1csd4_39", e = "_sticky_1csd4_65", n = {
|
|
4
4
|
loading: l,
|
|
5
|
-
default: "
|
|
5
|
+
default: "_default_1csd4_28",
|
|
6
6
|
spin: _,
|
|
7
7
|
ping: p,
|
|
8
8
|
sticky: e
|
|
9
9
|
}, m = ({
|
|
10
|
-
variant:
|
|
11
|
-
size:
|
|
12
|
-
sticky:
|
|
13
|
-
...
|
|
10
|
+
variant: i = "default",
|
|
11
|
+
size: s,
|
|
12
|
+
sticky: d = !1,
|
|
13
|
+
...c
|
|
14
14
|
}) => {
|
|
15
|
-
const
|
|
16
|
-
"--border-size":
|
|
17
|
-
"--size":
|
|
15
|
+
const a = {
|
|
16
|
+
"--border-size": s ? s / 8 + "px" : void 0,
|
|
17
|
+
"--size": s ? s + "px" : void 0
|
|
18
18
|
};
|
|
19
|
-
return /* @__PURE__ */ o("div", { className:
|
|
19
|
+
return /* @__PURE__ */ o("div", { className: t(n.loading, d && n.sticky), "data-component": "loading", children: /* @__PURE__ */ o("span", { className: t(n.loading, n[i]), style: a, ...c }) });
|
|
20
20
|
};
|
|
21
21
|
export {
|
|
22
22
|
m as Loading
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),x=require("../button/index.cjs"),j=require("../icon/index.cjs"),c=require("../../menu-popover-D1ALaiV5.cjs");function M(e){return[...e].sort((n,u)=>+!!n.isDanger-+!!u.isDanger)}const v=e=>M(e).map(n=>({button:r.jsxs(x.Button,{"aria-label":n.accessibleLabel,disabled:n.disabled,children:[n.icon&&r.jsx(j.Icon,{fill:!0,gap:"right",name:n.icon,size:"small"}),r.jsx("span",{children:n.label})]}),id:n.id,isActive:n.isActive,isDanger:n.isDanger,value:n})),f=({inline:e=!1,items:n,menuAccessibleLabel:u="Menu",onItemSelect:s,triggerAccessibleLabel:t="Open menu",triggerIcon:p="dots",triggerLabel:b,variant:g="popover"})=>{const d=v(n);return g==="simple"?r.jsx(c.MenuActionList,{actions:d,menuAccessibleLabel:u,onSelect:o=>{var a;(a=o.onSelect)==null||a.call(o),s==null||s(o)},"data-component":"menu"}):r.jsx(c.MenuPopover,{inline:e,triggerAccessibleLabel:t,triggerIcon:p,triggerLabel:b,"data-component":"menu",children:({close:o,initialFocus:a})=>r.jsx(c.MenuActionList,{actions:d,initialFocus:a,menuAccessibleLabel:u,onSelect:i=>{var l;(l=i.onSelect)==null||l.call(i),s==null||s(i),o()},usesMenuSemantics:!0})})};exports.Menu=f;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../src/components/menu/index.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../src/components/menu/index.tsx"],"sourcesContent":["import { Button } from '@/components/button';\nimport { Icon } from '@/components/icon';\nimport { type IconName } from '@/components/icon/icons';\n\nimport { type MenuAction, MenuActionList } from './action-list';\nimport { MenuPopover } from './menu-popover';\n\nexport type MenuItem = {\n accessibleLabel?: string;\n disabled?: boolean;\n icon?: IconName;\n id?: string;\n isActive?: boolean;\n isDanger?: boolean;\n label: React.ReactNode;\n onSelect?: () => void;\n};\n\ntype MenuSharedProps = {\n items: MenuItem[];\n menuAccessibleLabel?: string;\n onItemSelect?: (item: MenuItem) => void;\n};\n\ntype PopoverMenuProps = {\n inline?: boolean;\n triggerAccessibleLabel?: string;\n triggerIcon?: IconName;\n triggerLabel?: React.ReactNode;\n variant?: 'popover';\n};\n\ntype SimpleMenuProps = {\n inline?: never;\n triggerAccessibleLabel?: never;\n triggerIcon?: never;\n triggerLabel?: never;\n variant: 'simple';\n};\n\nexport type MenuProps = MenuSharedProps & (PopoverMenuProps | SimpleMenuProps);\n\nfunction sortDangerItemsLast(items: MenuItem[]) {\n return [...items].sort(\n (left, right) => Number(Boolean(left.isDanger)) - Number(Boolean(right.isDanger))\n );\n}\n\nconst getActions = (items: MenuItem[]): MenuAction<MenuItem>[] =>\n sortDangerItemsLast(items).map((item) => ({\n button: (\n <Button\n aria-label={item.accessibleLabel}\n disabled={item.disabled}\n >\n {item.icon && (\n <Icon\n fill\n gap='right'\n name={item.icon}\n size='small'\n />\n )}\n <span>{item.label}</span>\n </Button>\n ),\n id: item.id,\n isActive: item.isActive,\n isDanger: item.isDanger,\n value: item,\n }));\n\nexport const Menu = ({\n inline = false,\n items,\n menuAccessibleLabel = 'Menu',\n onItemSelect,\n triggerAccessibleLabel = 'Open menu',\n triggerIcon = 'dots',\n triggerLabel,\n variant = 'popover',\n}: MenuProps) => {\n const actions = getActions(items);\n\n if (variant === 'simple') {\n return (\n <MenuActionList\n actions={actions}\n menuAccessibleLabel={menuAccessibleLabel}\n onSelect={(item) => {\n item.onSelect?.();\n onItemSelect?.(item);\n }}\n />\n );\n }\n\n return (\n <MenuPopover\n inline={inline}\n triggerAccessibleLabel={triggerAccessibleLabel}\n triggerIcon={triggerIcon}\n triggerLabel={triggerLabel}\n >\n {({ close, initialFocus }) => (\n <MenuActionList\n actions={actions}\n initialFocus={initialFocus}\n menuAccessibleLabel={menuAccessibleLabel}\n onSelect={(item) => {\n item.onSelect?.();\n onItemSelect?.(item);\n close();\n }}\n usesMenuSemantics\n />\n )}\n </MenuPopover>\n );\n};\n"],"names":["sortDangerItemsLast","items","sort","left","right","Number","Boolean","isDanger","getActions","map","item","button","Button","accessibleLabel","disabled","icon","jsx","Icon","label","id","isActive","value","Menu","inline","menuAccessibleLabel","onItemSelect","triggerAccessibleLabel","triggerIcon","triggerLabel","variant","actions","MenuActionList","onSelect","MenuPopover","close","initialFocus"],"mappings":"kOA0CA,SAASA,EAAoBC,EAAmB,CAC9C,MAAO,CAAC,GAAGA,CAAK,EAAEC,KAChB,CAACC,EAAMC,IAAUC,CAAOC,EAAQH,EAAKI,SAAaF,CAAOC,EAAQF,EAAMG,QACzE,CACF,CAEA,MAAMC,EAAcP,GAClBD,EAAoBC,CAAK,EAAEQ,IAAKC,IAAU,CACxCC,cACGC,SAAA,CACC,aAAYF,EAAKG,gBACjB,SAAUH,EAAKI,SAEdJ,SAAAA,CAAAA,EAAKK,MACJC,EAAAA,IAACC,EAAAA,KAAA,CACC,KAAI,GACJ,IAAI,QACJ,KAAMP,EAAKK,KACX,KAAK,OAAA,CAAO,EAGhBC,EAAAA,IAAC,OAAA,CAAMN,SAAAA,EAAKQ,KAAAA,CAAM,CAAA,EACpB,EAEFC,GAAIT,EAAKS,GACTC,SAAUV,EAAKU,SACfb,SAAUG,EAAKH,SACfc,MAAOX,CACT,EAAE,EAESY,EAAOA,CAAC,CACnBC,OAAAA,EAAS,GACTtB,MAAAA,EACAuB,oBAAAA,EAAsB,OACtBC,aAAAA,EACAC,uBAAAA,EAAyB,YACzBC,YAAAA,EAAc,OACdC,aAAAA,EACAC,QAAAA,EAAU,SACD,IAAM,CACf,MAAMC,EAAUtB,EAAWP,CAAK,EAEhC,OAAI4B,IAAY,SAEZb,EAAAA,IAACe,EAAAA,eAAA,CACC,QAAAD,EACA,oBAAAN,EACA,SAAWd,GAAS,QAClBA,EAAAA,EAAKsB,WAALtB,MAAAA,EAAAA,KAAAA,GACAe,GAAAA,MAAAA,EAAef,EACjB,EAAE,iBAAA,OAAA,EAMNM,MAACiB,EAAAA,aACC,OAAAV,EACA,uBAAAG,EACA,YAAAC,EACA,aAAAC,EAA2B,iBAAA,OAE1B,SAAA,CAAC,CAAEM,MAAAA,EAAOC,aAAAA,CAAAA,IACTnB,EAAAA,IAACe,EAAAA,eAAA,CACC,QAAAD,EACA,aAAAK,EACA,oBAAAX,EACA,SAAWd,GAAS,QAClBA,EAAAA,EAAKsB,WAALtB,MAAAA,EAAAA,KAAAA,GACAe,GAAAA,MAAAA,EAAef,GACfwB,EAAAA,CACF,EACA,kBAAiB,EAAA,CAAA,EAGvB,CAEJ"}
|
|
@@ -1,92 +1,42 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
import { Popover as k } from "../popover/index.js";
|
|
8
|
-
import '../../assets/index16.css';const z = "_list_z7awx_3", B = "_item_z7awx_15", A = "_active_z7awx_38", N = "_danger_z7awx_47", d = {
|
|
9
|
-
list: z,
|
|
10
|
-
item: B,
|
|
11
|
-
active: A,
|
|
12
|
-
danger: N
|
|
13
|
-
};
|
|
14
|
-
function C(t) {
|
|
15
|
-
return [...t].sort((r, l) => +!!r.isDanger - +!!l.isDanger);
|
|
16
|
-
}
|
|
17
|
-
const g = ({
|
|
18
|
-
itemRefs: t,
|
|
19
|
-
items: r,
|
|
20
|
-
menuAccessibleLabel: l,
|
|
21
|
-
onKeyDown: i,
|
|
22
|
-
onSelect: u,
|
|
23
|
-
usesMenuSemantics: c = !1
|
|
24
|
-
}) => /* @__PURE__ */ s(y, { "aria-label": l, className: d.list, onKeyDown: i, role: c ? "menu" : void 0, "data-component": "menulist", children: C(r).map((e, a) => /* @__PURE__ */ s("li", { role: c ? "none" : void 0, children: /* @__PURE__ */ v(w, { "aria-current": e.isActive ? "true" : void 0, "aria-label": e.accessibleLabel, className: x(d.item, e.isActive && d.active, e.isDanger && d.danger), disabled: e.disabled, onClick: () => u(e), ref: (f) => {
|
|
25
|
-
t && (t.current[a] = f);
|
|
26
|
-
}, role: c ? "menuitem" : void 0, variant: "tertiary", children: [
|
|
27
|
-
e.icon && /* @__PURE__ */ s(m, { fill: !0, gap: "right", name: e.icon, size: "small" }),
|
|
28
|
-
/* @__PURE__ */ s("span", { children: e.label })
|
|
29
|
-
] }) }, e.id ?? a)) });
|
|
30
|
-
function E(t) {
|
|
31
|
-
return t.filter((r) => !!(r && !r.disabled));
|
|
1
|
+
import { jsx as o, jsxs as M } from "react/jsx-runtime";
|
|
2
|
+
import { Button as v } from "../button/index.js";
|
|
3
|
+
import { Icon as D } from "../icon/index.js";
|
|
4
|
+
import { M as d, a as h } from "../../menu-popover-DQHDIw-8.js";
|
|
5
|
+
function t(a) {
|
|
6
|
+
return [...a].sort((n, u) => +!!n.isDanger - +!!u.isDanger);
|
|
32
7
|
}
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
8
|
+
const x = (a) => t(a).map((n) => ({
|
|
9
|
+
button: /* @__PURE__ */ M(v, { "aria-label": n.accessibleLabel, disabled: n.disabled, children: [
|
|
10
|
+
n.icon && /* @__PURE__ */ o(D, { fill: !0, gap: "right", name: n.icon, size: "small" }),
|
|
11
|
+
/* @__PURE__ */ o("span", { children: n.label })
|
|
12
|
+
] }),
|
|
13
|
+
id: n.id,
|
|
14
|
+
isActive: n.isActive,
|
|
15
|
+
isDanger: n.isDanger,
|
|
16
|
+
value: n
|
|
17
|
+
})), N = ({
|
|
18
|
+
inline: a = !1,
|
|
19
|
+
items: n,
|
|
20
|
+
menuAccessibleLabel: u = "Menu",
|
|
21
|
+
onItemSelect: r,
|
|
22
|
+
triggerAccessibleLabel: e = "Open menu",
|
|
23
|
+
triggerIcon: f = "dots",
|
|
24
|
+
triggerLabel: g,
|
|
25
|
+
variant: b = "popover"
|
|
39
26
|
}) => {
|
|
40
|
-
const c =
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
const p = o.indexOf(document.activeElement), h = n === "next" ? (p + 1) % o.length : (p - 1 + o.length) % o.length;
|
|
53
|
-
o[h].focus();
|
|
54
|
-
}, []);
|
|
55
|
-
return b(() => {
|
|
56
|
-
e(r ?? "first");
|
|
57
|
-
}, [e, r]), /* @__PURE__ */ s(g, { itemRefs: c, items: l, menuAccessibleLabel: i, onKeyDown: (n) => {
|
|
58
|
-
if (n.key === "ArrowDown") {
|
|
59
|
-
n.preventDefault(), e("next");
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
if (n.key === "ArrowUp") {
|
|
63
|
-
n.preventDefault(), e("previous");
|
|
64
|
-
return;
|
|
65
|
-
}
|
|
66
|
-
if (n.key === "Home") {
|
|
67
|
-
n.preventDefault(), e("first");
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
n.key === "End" && (n.preventDefault(), e("last"));
|
|
71
|
-
}, onSelect: (n) => {
|
|
72
|
-
var o;
|
|
73
|
-
(o = n.onSelect) == null || o.call(n), u == null || u(n), t();
|
|
74
|
-
}, usesMenuSemantics: !0, "data-component": "menupanel" });
|
|
75
|
-
}, R = ({
|
|
76
|
-
inline: t = !1,
|
|
77
|
-
items: r,
|
|
78
|
-
menuAccessibleLabel: l = "Menu",
|
|
79
|
-
onItemSelect: i,
|
|
80
|
-
triggerAccessibleLabel: u = "Open menu",
|
|
81
|
-
variant: c = "popover"
|
|
82
|
-
}) => c === "simple" ? /* @__PURE__ */ s(g, { items: r, menuAccessibleLabel: l, onSelect: (a) => {
|
|
83
|
-
var f;
|
|
84
|
-
(f = a.onSelect) == null || f.call(a), i == null || i(a);
|
|
85
|
-
}, "data-component": "menu" }) : /* @__PURE__ */ s(k, { inline: t, triggerAccessibleLabel: u, triggerAriaHasPopup: "menu", triggerButtonContent: /* @__PURE__ */ s(m, { name: "dots", size: "medium" }), "data-component": "menu", children: ({
|
|
86
|
-
close: e,
|
|
87
|
-
initialFocus: a
|
|
88
|
-
}) => /* @__PURE__ */ s(K, { close: e, initialFocus: a, items: r, menuAccessibleLabel: l, onItemSelect: i }) });
|
|
27
|
+
const c = x(n);
|
|
28
|
+
return b === "simple" ? /* @__PURE__ */ o(d, { actions: c, menuAccessibleLabel: u, onSelect: (s) => {
|
|
29
|
+
var i;
|
|
30
|
+
(i = s.onSelect) == null || i.call(s), r == null || r(s);
|
|
31
|
+
}, "data-component": "menu" }) : /* @__PURE__ */ o(h, { inline: a, triggerAccessibleLabel: e, triggerIcon: f, triggerLabel: g, "data-component": "menu", children: ({
|
|
32
|
+
close: s,
|
|
33
|
+
initialFocus: i
|
|
34
|
+
}) => /* @__PURE__ */ o(d, { actions: c, initialFocus: i, menuAccessibleLabel: u, onSelect: (p) => {
|
|
35
|
+
var l;
|
|
36
|
+
(l = p.onSelect) == null || l.call(p), r == null || r(p), s();
|
|
37
|
+
}, usesMenuSemantics: !0 }) });
|
|
38
|
+
};
|
|
89
39
|
export {
|
|
90
|
-
|
|
40
|
+
N as Menu
|
|
91
41
|
};
|
|
92
42
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/menu/index.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/menu/index.tsx"],"sourcesContent":["import { Button } from '@/components/button';\nimport { Icon } from '@/components/icon';\nimport { type IconName } from '@/components/icon/icons';\n\nimport { type MenuAction, MenuActionList } from './action-list';\nimport { MenuPopover } from './menu-popover';\n\nexport type MenuItem = {\n accessibleLabel?: string;\n disabled?: boolean;\n icon?: IconName;\n id?: string;\n isActive?: boolean;\n isDanger?: boolean;\n label: React.ReactNode;\n onSelect?: () => void;\n};\n\ntype MenuSharedProps = {\n items: MenuItem[];\n menuAccessibleLabel?: string;\n onItemSelect?: (item: MenuItem) => void;\n};\n\ntype PopoverMenuProps = {\n inline?: boolean;\n triggerAccessibleLabel?: string;\n triggerIcon?: IconName;\n triggerLabel?: React.ReactNode;\n variant?: 'popover';\n};\n\ntype SimpleMenuProps = {\n inline?: never;\n triggerAccessibleLabel?: never;\n triggerIcon?: never;\n triggerLabel?: never;\n variant: 'simple';\n};\n\nexport type MenuProps = MenuSharedProps & (PopoverMenuProps | SimpleMenuProps);\n\nfunction sortDangerItemsLast(items: MenuItem[]) {\n return [...items].sort(\n (left, right) => Number(Boolean(left.isDanger)) - Number(Boolean(right.isDanger))\n );\n}\n\nconst getActions = (items: MenuItem[]): MenuAction<MenuItem>[] =>\n sortDangerItemsLast(items).map((item) => ({\n button: (\n <Button\n aria-label={item.accessibleLabel}\n disabled={item.disabled}\n >\n {item.icon && (\n <Icon\n fill\n gap='right'\n name={item.icon}\n size='small'\n />\n )}\n <span>{item.label}</span>\n </Button>\n ),\n id: item.id,\n isActive: item.isActive,\n isDanger: item.isDanger,\n value: item,\n }));\n\nexport const Menu = ({\n inline = false,\n items,\n menuAccessibleLabel = 'Menu',\n onItemSelect,\n triggerAccessibleLabel = 'Open menu',\n triggerIcon = 'dots',\n triggerLabel,\n variant = 'popover',\n}: MenuProps) => {\n const actions = getActions(items);\n\n if (variant === 'simple') {\n return (\n <MenuActionList\n actions={actions}\n menuAccessibleLabel={menuAccessibleLabel}\n onSelect={(item) => {\n item.onSelect?.();\n onItemSelect?.(item);\n }}\n />\n );\n }\n\n return (\n <MenuPopover\n inline={inline}\n triggerAccessibleLabel={triggerAccessibleLabel}\n triggerIcon={triggerIcon}\n triggerLabel={triggerLabel}\n >\n {({ close, initialFocus }) => (\n <MenuActionList\n actions={actions}\n initialFocus={initialFocus}\n menuAccessibleLabel={menuAccessibleLabel}\n onSelect={(item) => {\n item.onSelect?.();\n onItemSelect?.(item);\n close();\n }}\n usesMenuSemantics\n />\n )}\n </MenuPopover>\n );\n};\n"],"names":["sortDangerItemsLast","items","sort","left","right","Number","Boolean","isDanger","getActions","map","item","button","Button","accessibleLabel","disabled","icon","jsx","Icon","label","id","isActive","value","Menu","inline","menuAccessibleLabel","onItemSelect","triggerAccessibleLabel","triggerIcon","triggerLabel","variant","actions","MenuActionList","onSelect","MenuPopover","close","initialFocus"],"mappings":";;;;AA0CA,SAASA,EAAoBC,GAAmB;AAC9C,SAAO,CAAC,GAAGA,CAAK,EAAEC,KAChB,CAACC,GAAMC,MAAUC,CAAOC,EAAQH,EAAKI,WAAaF,CAAOC,EAAQF,EAAMG,QACzE;AACF;AAEA,MAAMC,IAAaA,CAACP,MAClBD,EAAoBC,CAAK,EAAEQ,IAAKC,CAAAA,OAAU;AAAA,EACxCC,0BACGC,GAAA,EACC,cAAYF,EAAKG,iBACjB,UAAUH,EAAKI,UAEdJ,UAAAA;AAAAA,IAAAA,EAAKK,QACJ,gBAAAC,EAACC,GAAA,EACC,MAAI,IACJ,KAAI,SACJ,MAAMP,EAAKK,MACX,MAAK,QAAA,CAAO;AAAA,IAGhB,gBAAAC,EAAC,QAAA,EAAMN,UAAAA,EAAKQ,MAAAA,CAAM;AAAA,EAAA,GACpB;AAAA,EAEFC,IAAIT,EAAKS;AAAAA,EACTC,UAAUV,EAAKU;AAAAA,EACfb,UAAUG,EAAKH;AAAAA,EACfc,OAAOX;AACT,EAAE,GAESY,IAAOA,CAAC;AAAA,EACnBC,QAAAA,IAAS;AAAA,EACTtB,OAAAA;AAAAA,EACAuB,qBAAAA,IAAsB;AAAA,EACtBC,cAAAA;AAAAA,EACAC,wBAAAA,IAAyB;AAAA,EACzBC,aAAAA,IAAc;AAAA,EACdC,cAAAA;AAAAA,EACAC,SAAAA,IAAU;AACD,MAAM;AACf,QAAMC,IAAUtB,EAAWP,CAAK;AAEhC,SAAI4B,MAAY,WAEZ,gBAAAb,EAACe,GAAA,EACC,SAAAD,GACA,qBAAAN,GACA,UAAWd,CAAAA,MAAS;;AAClBA,KAAAA,IAAAA,EAAKsB,aAALtB,QAAAA,EAAAA,KAAAA,IACAe,KAAAA,QAAAA,EAAef;AAAAA,EACjB,GAAE,kBAAA,QAAA,IAMN,gBAAAM,EAACiB,KACC,QAAAV,GACA,wBAAAG,GACA,aAAAC,GACA,cAAAC,GAA2B,kBAAA,QAE1B,UAAA,CAAC;AAAA,IAAEM,OAAAA;AAAAA,IAAOC,cAAAA;AAAAA,EAAAA,MACT,gBAAAnB,EAACe,GAAA,EACC,SAAAD,GACA,cAAAK,GACA,qBAAAX,GACA,UAAWd,CAAAA,MAAS;;AAClBA,KAAAA,IAAAA,EAAKsB,aAALtB,QAAAA,EAAAA,KAAAA,IACAe,KAAAA,QAAAA,EAAef,IACfwB,EAAAA;AAAAA,EACF,GACA,mBAAiB,GAAA,CAAA,GAGvB;AAEJ;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index15.css');const e=require("react/jsx-runtime"),v=require("../../classix-5H4IWnMA.cjs"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index15.css');const e=require("react/jsx-runtime"),v=require("../../classix-5H4IWnMA.cjs"),j=require("../avatar/index.cjs"),h=require("../icon/index.cjs"),f="_attachments_opxtp_1",w="_message_opxtp_11",S="_timestamp_opxtp_125",b="_preview_opxtp_130",t={attachments:f,"message-group":"_message-group_opxtp_11",message:w,timestamp:S,preview:b},q=({appearance:c="default",attachments:i,author:a,authorColor:r,authorImageUrl:l,authorRole:p,content:d,iconName:g="info",id:_,preview:x,timestamp:m,timestampText:u,type:s="default"})=>{const n=m?new Date(m):void 0,o=n?e.jsx("time",{className:t.timestamp,dateTime:n.toISOString(),children:u??n.toLocaleString()}):null;return e.jsxs("div",{className:t["message-group"],"data-message-type":s,"data-component":"message",children:[a&&e.jsx(j.Avatar,{accessibleLabel:a,color:r,imageUrl:l,name:a,role:p}),s==="system"&&o,e.jsxs("div",{className:v.t(t.message,x&&t.preview),"data-appearance":c,"data-id":_,"data-type":s,children:[s=="system"&&e.jsx(h.Icon,{fill:!0,gap:"right",name:g}),d]}),i&&e.jsx("div",{className:t.attachments,children:i}),s!=="system"&&o]})};exports.Message=q;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../src/components/message/index.tsx"],"sourcesContent":["import cx from 'classix';\n\nimport { IconName } from '@/components/icon/icons.ts';\n\nimport { Avatar, type AvatarColor } from '../avatar';\nimport { Icon } from '../icon';\nimport styles from './styles.module.css';\n\nexport type MessageOptions = {\n appearance?: 'default' | 'document' | 'file';\n attachments?: React.ReactNode;\n author?: string;\n authorColor?: AvatarColor;\n authorImageUrl?: string;\n authorRole?: string;\n content: React.ReactNode;\n iconName?: IconName;\n id: string;\n preview?: boolean;\n timestamp?: Date | string;\n timestampText?: React.ReactNode;\n type?: 'default' | 'minimal' | 'system' | 'user';\n};\n\nexport const Message = ({\n appearance = 'default',\n attachments,\n author,\n authorColor,\n authorImageUrl,\n authorRole,\n content,\n iconName = 'info',\n id,\n preview,\n timestamp,\n timestampText,\n type = 'default',\n}: MessageOptions) => {\n const date = timestamp ? new Date(timestamp) : undefined;\n const timestampElement = date ? (\n <time\n className={styles.timestamp}\n dateTime={date.toISOString()}\n >\n {timestampText ?? date.toLocaleString()}\n </time>\n ) : null;\n\n return (\n <div\n className={styles['message-group']}\n data-message-type={type}\n >\n {author && (\n <Avatar\n accessibleLabel={author}\n color={authorColor}\n imageUrl={authorImageUrl}\n name={author}\n role={authorRole}\n />\n )}\n {type === 'system' && timestampElement}\n <div\n className={cx(styles.message, preview && styles.preview)}\n data-appearance={appearance}\n data-id={id}\n data-type={type}\n >\n {type == 'system' && (\n <Icon\n fill\n gap='right'\n name={iconName}\n />\n )}\n {content}\n </div>\n {attachments && <div className={styles.attachments}>{attachments}</div>}\n {type !== 'system' && timestampElement}\n </div>\n );\n};\n"],"names":["Message","appearance","attachments","author","authorColor","authorImageUrl","authorRole","content","iconName","id","preview","timestamp","timestampText","type","date","Date","undefined","timestampElement","jsx","styles","toISOString","toLocaleString","jsxs","Avatar","cx","message","Icon"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../src/components/message/index.tsx"],"sourcesContent":["import cx from 'classix';\n\nimport { IconName } from '@/components/icon/icons.ts';\n\nimport { Avatar, type AvatarColor } from '../avatar';\nimport { Icon } from '../icon';\nimport styles from './styles.module.css';\n\nexport type MessageOptions = {\n appearance?: 'default' | 'document' | 'file';\n attachments?: React.ReactNode;\n author?: string;\n authorColor?: AvatarColor;\n authorImageUrl?: string;\n authorRole?: string;\n content: React.ReactNode;\n iconName?: IconName;\n id: string;\n preview?: boolean;\n timestamp?: Date | string;\n timestampText?: React.ReactNode;\n type?: 'default' | 'minimal' | 'system' | 'user';\n};\n\nexport const Message = ({\n appearance = 'default',\n attachments,\n author,\n authorColor,\n authorImageUrl,\n authorRole,\n content,\n iconName = 'info',\n id,\n preview,\n timestamp,\n timestampText,\n type = 'default',\n}: MessageOptions) => {\n const date = timestamp ? new Date(timestamp) : undefined;\n const timestampElement = date ? (\n <time\n className={styles.timestamp}\n dateTime={date.toISOString()}\n >\n {timestampText ?? date.toLocaleString()}\n </time>\n ) : null;\n\n return (\n <div\n className={styles['message-group']}\n data-message-type={type}\n >\n {author && (\n <Avatar\n accessibleLabel={author}\n color={authorColor}\n imageUrl={authorImageUrl}\n name={author}\n role={authorRole}\n />\n )}\n {type === 'system' && timestampElement}\n <div\n className={cx(styles.message, preview && styles.preview)}\n data-appearance={appearance}\n data-id={id}\n data-type={type}\n >\n {type == 'system' && (\n <Icon\n fill\n gap='right'\n name={iconName}\n />\n )}\n {content}\n </div>\n {attachments && <div className={styles.attachments}>{attachments}</div>}\n {type !== 'system' && timestampElement}\n </div>\n );\n};\n"],"names":["Message","appearance","attachments","author","authorColor","authorImageUrl","authorRole","content","iconName","id","preview","timestamp","timestampText","type","date","Date","undefined","timestampElement","jsx","styles","toISOString","toLocaleString","jsxs","Avatar","cx","message","Icon"],"mappings":"wZAwBaA,EAAUA,CAAC,CACtBC,WAAAA,EAAa,UACbC,YAAAA,EACAC,OAAAA,EACAC,YAAAA,EACAC,eAAAA,EACAC,WAAAA,EACAC,QAAAA,EACAC,SAAAA,EAAW,OACXC,GAAAA,EACAC,QAAAA,EACAC,UAAAA,EACAC,cAAAA,EACAC,KAAAA,EAAO,SACO,IAAM,CACpB,MAAMC,EAAOH,EAAY,IAAII,KAAKJ,CAAS,EAAIK,OACzCC,EAAmBH,EACvBI,EAAAA,IAAC,OAAA,CACC,UAAWC,EAAOR,UAClB,SAAUG,EAAKM,cAEdR,SAAAA,GAAiBE,EAAKO,eAAAA,EACzB,EACE,KAEJ,OACEC,OAAC,OACC,UAAWH,EAAO,eAAe,EACjC,oBAAmBN,EAAK,iBAAA,UAEvBV,SAAAA,CAAAA,GACCe,EAAAA,IAACK,EAAAA,OAAA,CACC,gBAAiBpB,EACjB,MAAOC,EACP,SAAUC,EACV,KAAMF,EACN,KAAMG,CAAAA,CAAW,EAGpBO,IAAS,UAAYI,EACtBK,EAAAA,KAAC,MAAA,CACC,UAAWE,EAAAA,EAAGL,EAAOM,QAASf,GAAWS,EAAOT,OAAO,EACvD,kBAAiBT,EACjB,UAASQ,EACT,YAAWI,EAEVA,SAAAA,CAAAA,GAAQ,gBACNa,EAAAA,KAAA,CACC,KAAI,GACJ,IAAI,QACJ,KAAMlB,CAAAA,CAAS,EAGlBD,CAAAA,EACH,EACCL,GAAegB,EAAAA,IAAC,MAAA,CAAI,UAAWC,EAAOjB,YAAcA,SAAAA,EAAY,EAChEW,IAAS,UAAYI,CAAAA,EACxB,CAEJ"}
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { t as
|
|
3
|
-
import { Avatar as
|
|
4
|
-
import { Icon as
|
|
5
|
-
import '../../assets/index15.css';const
|
|
6
|
-
|
|
7
|
-
message:
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import { jsx as s, jsxs as n } from "react/jsx-runtime";
|
|
2
|
+
import { t as h } from "../../classix-DG18itHa.js";
|
|
3
|
+
import { Avatar as u } from "../avatar/index.js";
|
|
4
|
+
import { Icon as w } from "../icon/index.js";
|
|
5
|
+
import '../../assets/index15.css';const N = "_attachments_opxtp_1", S = "_message_opxtp_11", b = "_timestamp_opxtp_125", j = "_preview_opxtp_130", t = {
|
|
6
|
+
attachments: N,
|
|
7
|
+
"message-group": "_message-group_opxtp_11",
|
|
8
|
+
message: S,
|
|
9
|
+
timestamp: b,
|
|
10
10
|
preview: j
|
|
11
11
|
}, D = ({
|
|
12
|
-
appearance:
|
|
13
|
-
attachments:
|
|
14
|
-
author:
|
|
15
|
-
authorColor:
|
|
16
|
-
authorImageUrl:
|
|
17
|
-
authorRole:
|
|
12
|
+
appearance: p = "default",
|
|
13
|
+
attachments: o,
|
|
14
|
+
author: a,
|
|
15
|
+
authorColor: c,
|
|
16
|
+
authorImageUrl: l,
|
|
17
|
+
authorRole: d,
|
|
18
18
|
content: g,
|
|
19
|
-
iconName:
|
|
20
|
-
id:
|
|
21
|
-
preview:
|
|
22
|
-
timestamp:
|
|
23
|
-
timestampText:
|
|
19
|
+
iconName: _ = "info",
|
|
20
|
+
id: v,
|
|
21
|
+
preview: f,
|
|
22
|
+
timestamp: i,
|
|
23
|
+
timestampText: x,
|
|
24
24
|
type: e = "default"
|
|
25
25
|
}) => {
|
|
26
|
-
const m =
|
|
27
|
-
return /* @__PURE__ */ n("div", { className:
|
|
28
|
-
|
|
26
|
+
const m = i ? new Date(i) : void 0, r = m ? /* @__PURE__ */ s("time", { className: t.timestamp, dateTime: m.toISOString(), children: x ?? m.toLocaleString() }) : null;
|
|
27
|
+
return /* @__PURE__ */ n("div", { className: t["message-group"], "data-message-type": e, "data-component": "message", children: [
|
|
28
|
+
a && /* @__PURE__ */ s(u, { accessibleLabel: a, color: c, imageUrl: l, name: a, role: d }),
|
|
29
29
|
e === "system" && r,
|
|
30
|
-
/* @__PURE__ */ n("div", { className:
|
|
31
|
-
e == "system" && /* @__PURE__ */
|
|
30
|
+
/* @__PURE__ */ n("div", { className: h(t.message, f && t.preview), "data-appearance": p, "data-id": v, "data-type": e, children: [
|
|
31
|
+
e == "system" && /* @__PURE__ */ s(w, { fill: !0, gap: "right", name: _ }),
|
|
32
32
|
g
|
|
33
33
|
] }),
|
|
34
|
-
|
|
34
|
+
o && /* @__PURE__ */ s("div", { className: t.attachments, children: o }),
|
|
35
35
|
e !== "system" && r
|
|
36
36
|
] });
|
|
37
37
|
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index13.css');const s=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index13.css');const s=require("react/jsx-runtime"),S=require("../../classix-5H4IWnMA.cjs"),o=require("react"),h=require("../editor/index.cjs"),w=require("../list/index.cjs"),E=require("../tooltip/index.cjs"),I=require("../message/index.cjs"),L="_messages_pqp89_1",T="_fill_pqp89_20",p={messages:L,fill:T},H=({fill:g=!1,files:i,handleUpload:f,maxEditorRows:_=5,message:r="",messages:t,minEditorRows:q=1,onChange:x,onFilesChange:n,onSubmit:j,placeholder:y,sending:R,tooltipLabel:c})=>{var d;const a=o.useRef(null),[b,v]=o.useState([]),l=i??b,u=(d=t[t.length-1])==null?void 0:d.id,M=r.replace(/<[^>]*>/g,"").replace(/ /g," ").trim()==="";return o.useLayoutEffect(()=>{var m;const e=(m=a.current)==null?void 0:m.querySelector("[data-message-list]");!e||u===void 0||(e.scrollTop=e.scrollHeight)},[u]),s.jsxs("div",{className:S.t(p.messages,g&&p.fill),"data-component":"messages",ref:a,children:[s.jsx(w.List,{"data-message-list":!0,children:t.map(e=>s.jsx(I.Message,{...e},e.id))}),c&&s.jsx(E.Tooltip,{variant:"static",children:c}),s.jsx(h.Editor,{autofocus:!0,content:r,disabled:R||M&&l.length===0,files:l,maxRows:_,minRows:q,onChange:x,onFilesChange:e=>{i===void 0&&v(e),n==null||n(e)},onSubmit:j,onUpload:f,placeholder:y,submitLabel:"Send message"})]})};exports.Messages=H;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { t as
|
|
3
|
-
import { useRef as
|
|
4
|
-
import { Editor as
|
|
5
|
-
import { List as
|
|
1
|
+
import { jsxs as x, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { t as E } from "../../classix-DG18itHa.js";
|
|
3
|
+
import { useRef as I, useState as L, useLayoutEffect as M } from "react";
|
|
4
|
+
import { Editor as S } from "../editor/index.js";
|
|
5
|
+
import { List as j } from "../list/index.js";
|
|
6
6
|
import { Tooltip as T } from "../tooltip/index.js";
|
|
7
7
|
import { Message as H } from "../message/index.js";
|
|
8
|
-
import '../../assets/index13.css';const N = "
|
|
8
|
+
import '../../assets/index13.css';const N = "_messages_pqp89_1", U = "_fill_pqp89_20", p = {
|
|
9
9
|
messages: N,
|
|
10
10
|
fill: U
|
|
11
11
|
}, K = ({
|
|
12
|
-
fill:
|
|
12
|
+
fill: d = !1,
|
|
13
13
|
files: r,
|
|
14
14
|
handleUpload: u,
|
|
15
15
|
maxEditorRows: g = 5,
|
|
16
16
|
message: i = "",
|
|
17
17
|
messages: t,
|
|
18
18
|
minEditorRows: _ = 1,
|
|
19
|
-
onChange:
|
|
19
|
+
onChange: q,
|
|
20
20
|
onFilesChange: o,
|
|
21
|
-
onSubmit:
|
|
22
|
-
placeholder:
|
|
23
|
-
sending:
|
|
21
|
+
onSubmit: v,
|
|
22
|
+
placeholder: y,
|
|
23
|
+
sending: R,
|
|
24
24
|
tooltipLabel: a
|
|
25
25
|
}) => {
|
|
26
26
|
var c;
|
|
27
|
-
const l =
|
|
28
|
-
return
|
|
29
|
-
var
|
|
30
|
-
const s = (
|
|
27
|
+
const l = I(null), [b, h] = L([]), m = r ?? b, n = (c = t[t.length - 1]) == null ? void 0 : c.id, w = i.replace(/<[^>]*>/g, "").replace(/ /g, " ").trim() === "";
|
|
28
|
+
return M(() => {
|
|
29
|
+
var f;
|
|
30
|
+
const s = (f = l.current) == null ? void 0 : f.querySelector("[data-message-list]");
|
|
31
31
|
!s || n === void 0 || (s.scrollTop = s.scrollHeight);
|
|
32
|
-
}, [n]), /* @__PURE__ */
|
|
33
|
-
/* @__PURE__ */ e(
|
|
32
|
+
}, [n]), /* @__PURE__ */ x("div", { className: E(p.messages, d && p.fill), "data-component": "messages", ref: l, children: [
|
|
33
|
+
/* @__PURE__ */ e(j, { "data-message-list": !0, children: t.map((s) => /* @__PURE__ */ e(H, { ...s }, s.id)) }),
|
|
34
34
|
a && /* @__PURE__ */ e(T, { variant: "static", children: a }),
|
|
35
|
-
/* @__PURE__ */ e(
|
|
36
|
-
r === void 0 &&
|
|
37
|
-
}, onSubmit:
|
|
35
|
+
/* @__PURE__ */ e(S, { autofocus: !0, content: i, disabled: R || w && m.length === 0, files: m, maxRows: g, minRows: _, onChange: q, onFilesChange: (s) => {
|
|
36
|
+
r === void 0 && h(s), o == null || o(s);
|
|
37
|
+
}, onSubmit: v, onUpload: u, placeholder: y, submitLabel: "Send message" })
|
|
38
38
|
] });
|
|
39
39
|
};
|
|
40
40
|
export {
|