@solibo/solibo-ui 1.0.6 → 1.0.7
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/index15.css +1 -1
- package/dist/assets/index19.css +1 -1
- package/dist/assets/index31.css +1 -1
- package/dist/assets/index36.css +1 -1
- package/dist/assets/index38.css +1 -1
- package/dist/assets/index9.css +1 -1
- package/dist/components/button/index.cjs +1 -1
- package/dist/components/button/index.cjs.map +1 -1
- package/dist/components/button/index.js +25 -22
- package/dist/components/button/index.js.map +1 -1
- package/dist/components/checkbox/index.cjs +1 -1
- package/dist/components/checkbox/index.js +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 +15 -14
- package/dist/components/controls/index.js.map +1 -1
- package/dist/components/dialog/index.cjs +1 -1
- package/dist/components/dialog/index.cjs.map +1 -1
- package/dist/components/dialog/index.js +56 -24
- package/dist/components/dialog/index.js.map +1 -1
- package/dist/components/dropdown/index.cjs +1 -1
- package/dist/components/dropdown/index.js +3 -3
- package/dist/components/editor/index.cjs +1 -1
- package/dist/components/editor/index.js +1 -1
- package/dist/components/icon/index.cjs +1 -1
- package/dist/components/icon/index.js +1 -1
- package/dist/components/iframe/index.cjs +1 -1
- package/dist/components/iframe/index.cjs.map +1 -1
- package/dist/components/iframe/index.js +56 -58
- package/dist/components/iframe/index.js.map +1 -1
- package/dist/components/input/index.cjs +1 -1
- package/dist/components/input/index.js +2 -2
- package/dist/components/message/index.cjs +1 -1
- package/dist/components/message/index.cjs.map +1 -1
- package/dist/components/message/index.js +31 -30
- package/dist/components/message/index.js.map +1 -1
- package/dist/components/nav/index.cjs +1 -1
- package/dist/components/nav/index.js +1 -1
- package/dist/components/search/index.cjs +1 -1
- package/dist/components/search/index.cjs.map +1 -1
- package/dist/components/search/index.js +43 -49
- package/dist/components/search/index.js.map +1 -1
- package/dist/components/select/index.cjs +1 -1
- package/dist/components/select/index.js +2 -2
- package/dist/{icons-Dhj9mAkR.js → icons-BFgf_lJN.js} +10 -1
- package/dist/icons-BFgf_lJN.js.map +1 -0
- package/dist/icons-Dx0NQYLH.cjs +2 -0
- package/dist/icons-Dx0NQYLH.cjs.map +1 -0
- package/dist/{index-D4LZQ-JF.js → index-BHgGZxsR.js} +2 -2
- package/dist/{index-D4LZQ-JF.js.map → index-BHgGZxsR.js.map} +1 -1
- package/dist/{index-D9Hq7ewF.cjs → index-CEzqxRIu.cjs} +2 -2
- package/dist/{index-D9Hq7ewF.cjs.map → index-CEzqxRIu.cjs.map} +1 -1
- package/dist/{index-uQRsVtP-.js → index-CMfR_USP.js} +2 -2
- package/dist/{index-uQRsVtP-.js.map → index-CMfR_USP.js.map} +1 -1
- package/dist/{index-Ct0mJ-KK.cjs → index-oL8GYbhj.cjs} +2 -2
- package/dist/{index-Ct0mJ-KK.cjs.map → index-oL8GYbhj.cjs.map} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +15 -2
- package/dist/index.js +2 -2
- package/dist/tokens.json +1 -1
- package/package.json +1 -1
- package/dist/icons-BoBeAmLe.cjs +0 -2
- package/dist/icons-BoBeAmLe.cjs.map +0 -1
- package/dist/icons-Dhj9mAkR.js.map +0 -1
package/dist/assets/index15.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
._message-
|
|
1
|
+
._message-group_1bnsh_1{align-items:flex-start;display:flex;flex-direction:column}._message-group_1bnsh_1[data-message-type=system]{align-items:center}._message-group_1bnsh_1[data-message-type=user]{align-items:flex-end}._message-group_1bnsh_1>div:first-child,._message-group_1bnsh_1>time{margin-left:var(--scale-16)}._message-group_1bnsh_1>time{color:var(--colors-semantic-content-tertiary);margin-right:var(--scale-16);max-width:min(90%,var(--shape-width-max-lg));text-align:right;width:100%}._message_1bnsh_1{border:solid var(--shape-border-width-default) var(--colors-semantic-border-default);margin:var(--scale-4) 0;padding:0 var(--utils-tokens-unit);white-space:pre-wrap;word-break:break-word}._message_1bnsh_1:is([data-type=default],[data-type=user],[data-appearance=file]){max-width:min(90%,var(--shape-width-max-lg));width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}._message_1bnsh_1[data-type=default]{background-color:var(--colors-semantic-bg-page);border-left:none;border-radius:0 var(--utils-tokens-unit) var(--utils-tokens-unit) 0;margin-inline:var(--message-edge-gap, 0) auto}._message_1bnsh_1:is([data-type=minimal],[data-type=system]){border:none}._message_1bnsh_1[data-type=minimal]{margin:var(--scale-8) 0 0 0;padding:0}._message_1bnsh_1[data-type=user]{background-color:var(--colors-semantic-primary-primary-subtle);border-radius:var(--utils-tokens-unit) 0 0 var(--utils-tokens-unit);border-right:none;margin-inline:auto var(--message-edge-gap, 0)}._message_1bnsh_1[data-type=system]{border-bottom:solid var(--shape-border-width-default) var(--colors-semantic-border-strong);color:var(--colors-semantic-content-secondary);padding:0;padding-bottom:var(--shape-spacing-xs);text-align:left}._message_1bnsh_1[data-type=system] [data-component=icon]{height:var(--scale-12);width:var(--scale-12)}._message_1bnsh_1[data-appearance=file]{--message-edge-gap: var(--scale-16);background-color:transparent;border:0;padding:0}._message_1bnsh_1[data-appearance=document]{max-width:min(90%,var(--shape-width-max-lg));width:100%}._timestamp_1bnsh_91{color:var(--colors-semantic-content-secondary);font-size:var(--typography-font-sizes-caption)}._attachments_1bnsh_96{align-items:flex-start;display:flex;flex-direction:column;gap:var(--scale-8);margin-bottom:var(--scale-4);margin-top:var(--scale-4);max-width:min(90%,var(--shape-width-max-lg))}._message-group_1bnsh_1[data-message-type=default]>._attachments_1bnsh_96{margin-left:var(--scale-16)}._message-group_1bnsh_1[data-message-type=user]>._attachments_1bnsh_96{align-items:flex-end;margin-right:var(--scale-16)}._preview_1bnsh_115{display:-webkit-box;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2}
|
package/dist/assets/index19.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
._wrapper_owo4o_1{display:grid;min-width:0}._toolbar_owo4o_6,._fullscreen-toolbar_owo4o_7{display:flex;justify-content:flex-end}._toolbar_owo4o_6{margin-bottom:var(--scale-4)}._iframe_owo4o_16{border:0;display:block;width:100%}._fullscreen-dialog_owo4o_22{box-sizing:border-box;display:flex;flex-direction:column;height:calc(100dvh - var(--scale-32));max-height:none;max-width:none;margin:auto;overflow:hidden;padding:var(--scale-8);width:calc(100vw - var(--scale-32))}._fullscreen-toolbar_owo4o_7{flex:0 0 auto;padding-bottom:var(--scale-8)}._fullscreen-iframe_owo4o_40{flex:1 1 auto;height:100%;min-height:0}
|
package/dist/assets/index31.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
._button_15qef_1{align-items:center;background-color:var(--colors-semantic-bg-page);border-radius:var(--shape-border-radius-radius-md);border:none;box-shadow:var(--shape-box-shadow-xs-position-x) var(--shape-box-shadow-xs-position-y) var(--shape-box-shadow-xs-blur) var(--shape-box-shadow-xs-spread) var(--shape-box-shadow-xs-color);color:var(--colors-semantic-content-secondary);cursor:pointer;display:inline-flex;font-family:var(--utils-tokens-font-family);font-size:var(--typography-font-sizes-body-md);font-weight:var(--font-font-weight-semibold);padding:calc(var(--utils-tokens-unit) - var(--scale-2));transition:all var(--utils-tokens-transition-duration) var(--utils-tokens-transition-timing-function)}._button_15qef_1 [data-component=badge]{margin-left:var(--shape-spacing-xs)}._button_15qef_1:disabled{cursor:not-allowed;opacity:var(--utils-tokens-opacity-minimal)}._simple_15qef_29{background-color:transparent;border:none;border-radius:0;box-shadow:none;margin:0;padding:0}._danger_15qef_38{background-color:var(--colors-semantic-interactive-destructive-bg);color:var(--colors-semantic-bg-surface)}._danger_15qef_38:not([disabled]):hover{background-color:var(--colors-semantic-interactive-destructive-hover)}._tertiary_15qef_47{background-color:transparent;border-radius:var(--shape-border-radius-radius-md);border:none;box-shadow:none}._primary_15qef_54{background-color:var(--colors-semantic-primary-primary);color:var(--colors-semantic-bg-surface)}._primary_15qef_54:not([disabled]):hover{background-color:var(--colors-semantic-primary-primary-active)!important}._secondary_15qef_63{background-color:var(--colors-semantic-interactive-secondary-bg)}._secondary_15qef_63:not([disabled]):hover{background-color:var(--colors-semantic-interactive-secondary-hover)}@media (width <= 768px){[data-component=button]{justify-content:center}}
|
package/dist/assets/index36.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@keyframes
|
|
1
|
+
@keyframes _reveal_1p251_1{0%{opacity:0;transform:translateY(100%) translate(-50%)}to{opacity:1;transform:translateY(0) translate(-50%)}}._controls_1p251_13{align-items:center;display:flex;flex-wrap:wrap;gap:var(--shape-spacing-md)}._default_1p251_20{margin-top:var(--shape-spacing-md);justify-content:flex-end;width:100%}@media (width <= 768px){._default_1p251_20{flex-direction:column}._default_1p251_20 [data-component=button]{width:100%}}._inline_1p251_35{justify-content:flex-end;margin-left:auto}._fixed_1p251_40{animation:_reveal_1p251_1 var(--utils-tokens-transition-duration) var(--utils-tokens-transition-timing-function) var(--utils-tokens-transition-delay) both;background-color:var(--colors-semantic-bg-surface);border-left:var(--shape-border-width-lg, 4px) solid var(--colors-semantic-border-focus);border-radius:var(--shape-border-radius-radius-lg);bottom:var(--shape-spacing-2xl);box-shadow:var(--shape-box-shadow-md-position-x) var(--shape-box-shadow-md-position-y) var(--shape-box-shadow-md-blur) var(--shape-box-shadow-md-spread) var(--colors-box-shadow-heavy, #0000002f);gap:0;justify-content:center;margin-left:240px;margin-right:-240px;left:50%;padding:var(--shape-spacing-2xs) var(--shape-spacing-xs);position:fixed;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;will-change:opacity,transform;z-index:4}._fixed_1p251_40 [data-component=button]{background-color:transparent;border:none;box-shadow:none;color:var(--colors-semantic-content-secondary)}._fixed_1p251_40 [data-component=button]:hover{background-color:var(--colors-semantic-interactive-hover-subtle)}._fixed_1p251_40>span{align-items:center;border-right:1px solid var(--colors-semantic-border-default);display:inline-flex;padding:var(--shape-spacing-2xs) var(--shape-spacing-md);padding-left:0}._fixed_1p251_40>span [data-component=link]{margin-right:var(--shape-spacing-xs)}
|
package/dist/assets/index38.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
._dialog_7bzcy_1{background-color:var(--colors-semantic-bg-surface);border-radius:var(--shape-border-radius-radius-md);border:none;box-sizing:border-box;box-shadow:var(--shape-box-shadow-sm-position-x) var(--shape-box-shadow-sm-position-y) var(--shape-box-shadow-sm-blur) var(--shape-box-shadow-sm-spread) var(--shape-box-shadow-sm-color);max-height:80vh;max-height:80dvh;max-width:640px;overflow:auto;padding:var(--shape-spacing-md) var(--shape-spacing-lg);width:100%}._dialog_7bzcy_1::backdrop{background:var(--colors-box-shadow);-webkit-backdrop-filter:blur(var(--shape-box-shadow-xs-blur));backdrop-filter:blur(var(--shape-box-shadow-xs-blur))}._dialog_7bzcy_1 ._close_7bzcy_21{position:absolute;right:0;top:0;z-index:1}._structured_7bzcy_29{display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;padding:0}._structured_7bzcy_29 ._header_7bzcy_35{align-items:start;display:grid;grid-template-columns:minmax(0,1fr) auto;padding:var(--shape-spacing-md) var(--shape-spacing-lg)}._structured_7bzcy_29 ._header_7bzcy_35>header{margin-block:0}._structured_7bzcy_29 ._content_7bzcy_46{min-height:0;overflow:auto;padding:var(--shape-spacing-md) var(--shape-spacing-lg)}._structured_7bzcy_29 ._controls_7bzcy_52{border-top:var(--shape-border-width-default) solid var(--colors-semantic-border-default);padding:var(--shape-spacing-md) var(--shape-spacing-lg)}._structured_7bzcy_29 ._controls_7bzcy_52>:first-child{margin-top:0}._structured_7bzcy_29 ._close_7bzcy_21{position:static}._dialog_7bzcy_1:not([open]){display:none}@media (width <= 768px){._dialog_7bzcy_1{border-radius:var(--shape-border-radius-radius-md) var(--shape-border-radius-radius-md) 0 0;margin:auto 0 0;max-width:none}._structured_7bzcy_29 ._controls_7bzcy_52{padding-top:0}}
|
package/dist/assets/index9.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
._search_lzc4l_3{display:flex;flex-direction:column;gap:var(--shape-spacing-xs);margin-bottom:var(--shape-spacing-lg);width:100%}._search_lzc4l_3 [data-component=input]{max-width:var(--shape-width-max)}._controls_lzc4l_15{align-items:stretch;display:flex;gap:var(--shape-spacing-xs)}._controls_lzc4l_15 label{flex:1}._controls_lzc4l_15 button{white-space:nowrap}._chips_lzc4l_29{align-items:center;display:flex;flex-wrap:wrap;gap:var(--shape-spacing-xs)}._filter-groups_lzc4l_36{display:flex;flex-direction:column;gap:var(--shape-spacing-lg);min-width:min(24rem,75vw)}._filter-group_lzc4l_36{border:0;display:flex;flex-direction:column;gap:var(--shape-spacing-sm);margin:0;padding:0}._filter-group_lzc4l_36 legend{font-size:var(--typography-font-sizes-label-md);font-weight:var(--font-font-weight-semibold);margin-bottom:var(--shape-spacing-sm);padding:0}@media (width < 480px){._controls_lzc4l_15{align-items:stretch;flex-direction:column}}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index31.css');const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index31.css');const e=require("react/jsx-runtime"),y=require("../../classix-5H4IWnMA.cjs"),l=require("../badge/index.cjs"),m=require("../icon/index.cjs"),p="_button_15qef_1",g="_simple_15qef_29",b="_danger_15qef_38",f="_tertiary_15qef_47",q="_primary_15qef_54",x="_secondary_15qef_63",t={button:p,simple:g,danger:b,tertiary:f,primary:q,secondary:x},h={danger:t.danger,primary:t.primary,secondary:t.secondary,simple:t.simple,tertiary:t.tertiary};function j({badge:s,children:n,className:o,disabled:a=!1,icon:r,iconSize:i="small",onClick:c,ref:_,variant:d="secondary",...u}){return e.jsxs("button",{className:y.t(t.button,h[d],o),disabled:a,onClick:c,ref:_,type:"button",...u,"data-component":"button",children:[r&&e.jsx(m.Icon,{fill:!0,gap:n?"right":void 0,name:r,size:i}),n,e.jsx(l.Badge,{variant:"highlight",children:s})]})}exports.Button=j;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../src/components/button/index.tsx"],"sourcesContent":["import cx from 'classix';\n\nimport { Badge, type BadgeProps } from '../badge';\nimport { Icon } from '../icon';\nimport { IconName } from '../icon/icons';\nimport styles from './styles.module.css';\n\nconst variants = {\n danger: styles.danger,\n primary: styles.primary,\n secondary: styles.secondary,\n tertiary: styles.tertiary,\n};\n\nexport type ButtonProps = React.ComponentPropsWithRef<'button'> & {\n badge?: BadgeProps['children'];\n children?: React.ReactNode;\n className?: string;\n disabled?: boolean;\n icon?: IconName;\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n variant?: keyof typeof variants;\n};\n\nexport function Button({\n badge,\n children,\n className,\n disabled = false,\n icon,\n onClick,\n ref,\n variant = 'secondary',\n ...props\n}: ButtonProps) {\n return (\n <button\n className={cx(styles.button, variants[variant], className)}\n disabled={disabled}\n onClick={onClick}\n ref={ref}\n type='button'\n {...props}\n >\n {icon && (\n <Icon\n fill\n gap={children ? 'right' : undefined}\n name={icon}\n size=
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../src/components/button/index.tsx"],"sourcesContent":["import cx from 'classix';\n\nimport { Badge, type BadgeProps } from '../badge';\nimport { Icon, type IconProps } from '../icon';\nimport { IconName } from '../icon/icons';\nimport styles from './styles.module.css';\n\nconst variants = {\n danger: styles.danger,\n primary: styles.primary,\n secondary: styles.secondary,\n simple: styles.simple,\n tertiary: styles.tertiary,\n};\n\nexport type ButtonProps = React.ComponentPropsWithRef<'button'> & {\n badge?: BadgeProps['children'];\n children?: React.ReactNode;\n className?: string;\n disabled?: boolean;\n icon?: IconName;\n iconSize?: IconProps['size'];\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n variant?: keyof typeof variants;\n};\n\nexport function Button({\n badge,\n children,\n className,\n disabled = false,\n icon,\n iconSize = 'small',\n onClick,\n ref,\n variant = 'secondary',\n ...props\n}: ButtonProps) {\n return (\n <button\n className={cx(styles.button, variants[variant], className)}\n disabled={disabled}\n onClick={onClick}\n ref={ref}\n type='button'\n {...props}\n >\n {icon && (\n <Icon\n fill\n gap={children ? 'right' : undefined}\n name={icon}\n size={iconSize}\n />\n )}\n {children}\n <Badge variant='highlight'>{badge}</Badge>\n </button>\n );\n}\n"],"names":["variants","danger","styles","primary","secondary","simple","tertiary","Button","badge","children","className","disabled","icon","iconSize","onClick","ref","variant","props","cx","button","jsx","Icon","undefined","Badge"],"mappings":"+ZAOMA,EAAW,CACfC,OAAQC,EAAOD,OACfE,QAASD,EAAOC,QAChBC,UAAWF,EAAOE,UAClBC,OAAQH,EAAOG,OACfC,SAAUJ,EAAOI,QACnB,EAaO,SAASC,EAAO,CACrBC,MAAAA,EACAC,SAAAA,EACAC,UAAAA,EACAC,SAAAA,EAAW,GACXC,KAAAA,EACAC,SAAAA,EAAW,QACXC,QAAAA,EACAC,IAAAA,EACAC,QAAAA,EAAU,YACV,GAAGC,CACQ,EAAG,CACd,cACG,SAAA,CACC,UAAWC,EAAAA,EAAGhB,EAAOiB,OAAQnB,EAASgB,CAAO,EAAGN,CAAS,EACzD,SAAAC,EACA,QAAAG,EACA,IAAAC,EACA,KAAK,SACL,GAAIE,EAAM,iBAAA,SAETL,SAAAA,CAAAA,GACCQ,EAAAA,IAACC,EAAAA,KAAA,CACC,KAAI,GACJ,IAAKZ,EAAW,QAAUa,OAC1B,KAAMV,EACN,KAAMC,CAAAA,CAAS,EAGlBJ,EACDW,EAAAA,IAACG,EAAAA,MAAA,CAAM,QAAQ,YAAaf,SAAAA,CAAAA,CAAM,CAAA,EACpC,CAEJ"}
|
|
@@ -1,37 +1,40 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { t as
|
|
3
|
-
import { Badge as
|
|
4
|
-
import { Icon as
|
|
5
|
-
import '../../assets/index31.css';const
|
|
6
|
-
button:
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
import { jsxs as _, jsx as n } from "react/jsx-runtime";
|
|
2
|
+
import { t as d } from "../../classix-DG18itHa.js";
|
|
3
|
+
import { Badge as l } from "../badge/index.js";
|
|
4
|
+
import { Icon as f } from "../icon/index.js";
|
|
5
|
+
import '../../assets/index31.css';const u = "_button_15qef_1", g = "_simple_15qef_29", b = "_danger_15qef_38", q = "_tertiary_15qef_47", h = "_primary_15qef_54", v = "_secondary_15qef_63", t = {
|
|
6
|
+
button: u,
|
|
7
|
+
simple: g,
|
|
8
|
+
danger: b,
|
|
9
|
+
tertiary: q,
|
|
10
|
+
primary: h,
|
|
11
|
+
secondary: v
|
|
12
|
+
}, x = {
|
|
12
13
|
danger: t.danger,
|
|
13
14
|
primary: t.primary,
|
|
14
15
|
secondary: t.secondary,
|
|
16
|
+
simple: t.simple,
|
|
15
17
|
tertiary: t.tertiary
|
|
16
18
|
};
|
|
17
|
-
function
|
|
18
|
-
badge:
|
|
19
|
+
function N({
|
|
20
|
+
badge: o,
|
|
19
21
|
children: r,
|
|
20
|
-
className:
|
|
22
|
+
className: a,
|
|
21
23
|
disabled: s = !1,
|
|
22
|
-
icon:
|
|
23
|
-
|
|
24
|
+
icon: e,
|
|
25
|
+
iconSize: i = "small",
|
|
26
|
+
onClick: m,
|
|
24
27
|
ref: c,
|
|
25
|
-
variant:
|
|
26
|
-
...
|
|
28
|
+
variant: p = "secondary",
|
|
29
|
+
...y
|
|
27
30
|
}) {
|
|
28
|
-
return /* @__PURE__ */
|
|
29
|
-
|
|
31
|
+
return /* @__PURE__ */ _("button", { className: d(t.button, x[p], a), disabled: s, onClick: m, ref: c, type: "button", ...y, "data-component": "button", children: [
|
|
32
|
+
e && /* @__PURE__ */ n(f, { fill: !0, gap: r ? "right" : void 0, name: e, size: i }),
|
|
30
33
|
r,
|
|
31
|
-
/* @__PURE__ */ n(
|
|
34
|
+
/* @__PURE__ */ n(l, { variant: "highlight", children: o })
|
|
32
35
|
] });
|
|
33
36
|
}
|
|
34
37
|
export {
|
|
35
|
-
|
|
38
|
+
N as Button
|
|
36
39
|
};
|
|
37
40
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/button/index.tsx"],"sourcesContent":["import cx from 'classix';\n\nimport { Badge, type BadgeProps } from '../badge';\nimport { Icon } from '../icon';\nimport { IconName } from '../icon/icons';\nimport styles from './styles.module.css';\n\nconst variants = {\n danger: styles.danger,\n primary: styles.primary,\n secondary: styles.secondary,\n tertiary: styles.tertiary,\n};\n\nexport type ButtonProps = React.ComponentPropsWithRef<'button'> & {\n badge?: BadgeProps['children'];\n children?: React.ReactNode;\n className?: string;\n disabled?: boolean;\n icon?: IconName;\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n variant?: keyof typeof variants;\n};\n\nexport function Button({\n badge,\n children,\n className,\n disabled = false,\n icon,\n onClick,\n ref,\n variant = 'secondary',\n ...props\n}: ButtonProps) {\n return (\n <button\n className={cx(styles.button, variants[variant], className)}\n disabled={disabled}\n onClick={onClick}\n ref={ref}\n type='button'\n {...props}\n >\n {icon && (\n <Icon\n fill\n gap={children ? 'right' : undefined}\n name={icon}\n size=
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/button/index.tsx"],"sourcesContent":["import cx from 'classix';\n\nimport { Badge, type BadgeProps } from '../badge';\nimport { Icon, type IconProps } from '../icon';\nimport { IconName } from '../icon/icons';\nimport styles from './styles.module.css';\n\nconst variants = {\n danger: styles.danger,\n primary: styles.primary,\n secondary: styles.secondary,\n simple: styles.simple,\n tertiary: styles.tertiary,\n};\n\nexport type ButtonProps = React.ComponentPropsWithRef<'button'> & {\n badge?: BadgeProps['children'];\n children?: React.ReactNode;\n className?: string;\n disabled?: boolean;\n icon?: IconName;\n iconSize?: IconProps['size'];\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n variant?: keyof typeof variants;\n};\n\nexport function Button({\n badge,\n children,\n className,\n disabled = false,\n icon,\n iconSize = 'small',\n onClick,\n ref,\n variant = 'secondary',\n ...props\n}: ButtonProps) {\n return (\n <button\n className={cx(styles.button, variants[variant], className)}\n disabled={disabled}\n onClick={onClick}\n ref={ref}\n type='button'\n {...props}\n >\n {icon && (\n <Icon\n fill\n gap={children ? 'right' : undefined}\n name={icon}\n size={iconSize}\n />\n )}\n {children}\n <Badge variant='highlight'>{badge}</Badge>\n </button>\n );\n}\n"],"names":["variants","danger","styles","primary","secondary","simple","tertiary","Button","badge","children","className","disabled","icon","iconSize","onClick","ref","variant","props","cx","button","jsx","Icon","undefined","Badge"],"mappings":";;;;;;;;;;;GAOMA,IAAW;AAAA,EACfC,QAAQC,EAAOD;AAAAA,EACfE,SAASD,EAAOC;AAAAA,EAChBC,WAAWF,EAAOE;AAAAA,EAClBC,QAAQH,EAAOG;AAAAA,EACfC,UAAUJ,EAAOI;AACnB;AAaO,SAASC,EAAO;AAAA,EACrBC,OAAAA;AAAAA,EACAC,UAAAA;AAAAA,EACAC,WAAAA;AAAAA,EACAC,UAAAA,IAAW;AAAA,EACXC,MAAAA;AAAAA,EACAC,UAAAA,IAAW;AAAA,EACXC,SAAAA;AAAAA,EACAC,KAAAA;AAAAA,EACAC,SAAAA,IAAU;AAAA,EACV,GAAGC;AACQ,GAAG;AACd,2BACG,UAAA,EACC,WAAWC,EAAGhB,EAAOiB,QAAQnB,EAASgB,CAAO,GAAGN,CAAS,GACzD,UAAAC,GACA,SAAAG,GACA,KAAAC,GACA,MAAK,UACL,GAAIE,GAAM,kBAAA,UAETL,UAAAA;AAAAA,IAAAA,KACC,gBAAAQ,EAACC,GAAA,EACC,MAAI,IACJ,KAAKZ,IAAW,UAAUa,QAC1B,MAAMV,GACN,MAAMC,EAAAA,CAAS;AAAA,IAGlBJ;AAAAA,IACD,gBAAAW,EAACG,GAAA,EAAM,SAAQ,aAAaf,UAAAA,EAAAA,CAAM;AAAA,EAAA,GACpC;AAEJ;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index33.css');const e=require("react/jsx-runtime"),x=require("../../icons-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index33.css');const e=require("react/jsx-runtime"),x=require("../../icons-Dx0NQYLH.cjs"),b=require("../loading/index.cjs"),h="_checkbox_1glqu_3",u={checkbox:h},k=({checked:s,disabled:t,isLoading:c,label:o,onChange:n,...i})=>{const r={"--icon-svg":x.iconSVG("check")};return e.jsxs("label",{className:u.checkbox,"data-component":"checkbox",children:[e.jsx("input",{checked:s,disabled:t||c,onChange:n,type:"checkbox",style:r,...i}),c&&e.jsx(b.Loading,{size:16,sticky:!0}),o&&o]})};exports.Checkbox=k;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsxs as h, jsx as e } from "react/jsx-runtime";
|
|
2
|
-
import { i as x } from "../../icons-
|
|
2
|
+
import { i as x } from "../../icons-BFgf_lJN.js";
|
|
3
3
|
import { Loading as k } from "../loading/index.js";
|
|
4
4
|
import '../../assets/index33.css';const b = "_checkbox_1glqu_3", m = {
|
|
5
5
|
checkbox: b
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index36.css');const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index36.css');const l=require("react/jsx-runtime"),f=require("../../classix-5H4IWnMA.cjs"),r=require("react"),_=require("../button/index.cjs"),x="_controls_1p251_13",y="_inline_1p251_35",m="_fixed_1p251_40",e={controls:x,default:"_default_1p251_20",inline:y,fixed:m},k={primary:3,danger:2,secondary:1,tertiary:0,simple:0},g={default:e.default,fixed:e.fixed,inline:e.inline},h=o=>k[o.props.variant??"secondary"],j=({children:o,className:c,variant:d="default",...u})=>{const i=r.Children.toArray(o),a=[],s=[];i.forEach(n=>{r.isValidElement(n)&&n.type===_.Button?a.push(n):s.push(n)});const p=a.map((n,t)=>({button:n,index:t,rank:h(n)})).sort((n,t)=>n.rank-t.rank||n.index-t.index).map(({button:n,index:t})=>r.cloneElement(n,{key:n.key??t}));return i.length===0?null:l.jsxs("div",{className:f.t(e.controls,g[d],c),...u,"data-component":"controls",children:[s&&l.jsx("span",{children:s}),p]})};exports.Controls=j;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../src/components/controls/index.tsx"],"sourcesContent":["import cx from 'classix';\nimport { Children, cloneElement, isValidElement } from 'react';\n\nimport { Button, type ButtonProps } from '../button';\nimport styles from './styles.module.css';\n\nconst buttonVariantOrder = {\n primary: 3,\n danger: 2,\n secondary: 1,\n tertiary: 0,\n} satisfies Record<NonNullable<ButtonProps['variant']>, number>;\n\nconst variants = {\n default: styles.default,\n fixed: styles.fixed,\n inline: styles.inline,\n};\n\nexport type ControlsProps = React.HTMLAttributes<HTMLDivElement> & {\n children?: React.ReactNode;\n variant?: keyof typeof variants;\n};\n\nconst getButtonRank = (button: React.ReactElement<ButtonProps>) =>\n buttonVariantOrder[button.props.variant ?? 'secondary'];\n\nexport const Controls = ({ children, className, variant = 'default', ...props }: ControlsProps) => {\n const childArray = Children.toArray(children);\n const buttons: React.ReactElement<ButtonProps>[] = [];\n const nonButtons: React.ReactNode[] = [];\n\n childArray.forEach((child) => {\n if (isValidElement<ButtonProps>(child) && child.type === Button) {\n buttons.push(child);\n } else {\n nonButtons.push(child);\n }\n });\n\n const sortedButtons = buttons\n .map((button, index) => ({ button, index, rank: getButtonRank(button) }))\n .sort((a, b) => a.rank - b.rank || a.index - b.index)\n .map(({ button, index }) =>\n cloneElement(button, {\n key: button.key ?? index,\n })\n );\n\n if (childArray.length === 0) {\n return null;\n }\n\n return (\n <div\n className={cx(styles.controls, variants[variant], className)}\n {...props}\n >\n {nonButtons && <span>{nonButtons}</span>}\n {sortedButtons}\n </div>\n );\n};\n"],"names":["buttonVariantOrder","primary","danger","secondary","tertiary","variants","default","styles","fixed","inline","getButtonRank","button","props","variant","Controls","children","className","childArray","Children","toArray","buttons","nonButtons","forEach","child","isValidElement","type","Button","push","sortedButtons","map","index","rank","sort","a","b","cloneElement","key","length","jsxs","cx","controls","jsx"],"mappings":"6UAMMA,EAAqB,CACzBC,QAAS,EACTC,OAAQ,EACRC,UAAW,EACXC,SAAU,
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../src/components/controls/index.tsx"],"sourcesContent":["import cx from 'classix';\nimport { Children, cloneElement, isValidElement } from 'react';\n\nimport { Button, type ButtonProps } from '../button';\nimport styles from './styles.module.css';\n\nconst buttonVariantOrder = {\n primary: 3,\n danger: 2,\n secondary: 1,\n tertiary: 0,\n simple: 0,\n} satisfies Record<NonNullable<ButtonProps['variant']>, number>;\n\nconst variants = {\n default: styles.default,\n fixed: styles.fixed,\n inline: styles.inline,\n};\n\nexport type ControlsProps = React.HTMLAttributes<HTMLDivElement> & {\n children?: React.ReactNode;\n variant?: keyof typeof variants;\n};\n\nconst getButtonRank = (button: React.ReactElement<ButtonProps>) =>\n buttonVariantOrder[button.props.variant ?? 'secondary'];\n\nexport const Controls = ({ children, className, variant = 'default', ...props }: ControlsProps) => {\n const childArray = Children.toArray(children);\n const buttons: React.ReactElement<ButtonProps>[] = [];\n const nonButtons: React.ReactNode[] = [];\n\n childArray.forEach((child) => {\n if (isValidElement<ButtonProps>(child) && child.type === Button) {\n buttons.push(child);\n } else {\n nonButtons.push(child);\n }\n });\n\n const sortedButtons = buttons\n .map((button, index) => ({ button, index, rank: getButtonRank(button) }))\n .sort((a, b) => a.rank - b.rank || a.index - b.index)\n .map(({ button, index }) =>\n cloneElement(button, {\n key: button.key ?? index,\n })\n );\n\n if (childArray.length === 0) {\n return null;\n }\n\n return (\n <div\n className={cx(styles.controls, variants[variant], className)}\n {...props}\n >\n {nonButtons && <span>{nonButtons}</span>}\n {sortedButtons}\n </div>\n );\n};\n"],"names":["buttonVariantOrder","primary","danger","secondary","tertiary","simple","variants","default","styles","fixed","inline","getButtonRank","button","props","variant","Controls","children","className","childArray","Children","toArray","buttons","nonButtons","forEach","child","isValidElement","type","Button","push","sortedButtons","map","index","rank","sort","a","b","cloneElement","key","length","jsxs","cx","controls","jsx"],"mappings":"6UAMMA,EAAqB,CACzBC,QAAS,EACTC,OAAQ,EACRC,UAAW,EACXC,SAAU,EACVC,OAAQ,CACV,EAEMC,EAAW,CACfC,QAASC,EAAOD,QAChBE,MAAOD,EAAOC,MACdC,OAAQF,EAAOE,MACjB,EAOMC,EAAiBC,GACrBZ,EAAmBY,EAAOC,MAAMC,SAAW,WAAW,EAE3CC,EAAWA,CAAC,CAAEC,SAAAA,EAAUC,UAAAA,EAAWH,QAAAA,EAAU,UAAW,GAAGD,CAAqB,IAAM,CACjG,MAAMK,EAAaC,EAAAA,SAASC,QAAQJ,CAAQ,EACtCK,EAA6C,CAAA,EAC7CC,EAAgC,CAAA,EAEtCJ,EAAWK,QAASC,GAAU,CACxBC,EAAAA,eAA4BD,CAAK,GAAKA,EAAME,OAASC,EAAAA,OACvDN,EAAQO,KAAKJ,CAAK,EAElBF,EAAWM,KAAKJ,CAAK,CAEzB,CAAC,EAED,MAAMK,EAAgBR,EACnBS,IAAI,CAAClB,EAAQmB,KAAW,CAAEnB,OAAAA,EAAQmB,MAAAA,EAAOC,KAAMrB,EAAcC,CAAM,CAAA,EAAI,EACvEqB,KAAK,CAACC,EAAGC,IAAMD,EAAEF,KAAOG,EAAEH,MAAQE,EAAEH,MAAQI,EAAEJ,KAAK,EACnDD,IAAI,CAAC,CAAElB,OAAAA,EAAQmB,MAAAA,CAAAA,IACdK,EAAAA,aAAaxB,EAAQ,CACnByB,IAAKzB,EAAOyB,KAAON,CAAAA,CACpB,CACH,EAEF,OAAIb,EAAWoB,SAAW,EACjB,KAIPC,EAAAA,KAAC,MAAA,CACC,UAAWC,EAAAA,EAAGhC,EAAOiC,SAAUnC,EAASQ,CAAO,EAAGG,CAAS,EAC3D,GAAIJ,EAAM,iBAAA,WAETS,SAAAA,CAAAA,GAAcoB,EAAAA,IAAC,QAAMpB,SAAAA,CAAAA,CAAW,EAChCO,CAAAA,EACH,CAEJ"}
|
|
@@ -2,46 +2,47 @@ import { jsxs as p, jsx as f } from "react/jsx-runtime";
|
|
|
2
2
|
import { t as m } from "../../classix-DG18itHa.js";
|
|
3
3
|
import { Children as u, isValidElement as _, cloneElement as x } from "react";
|
|
4
4
|
import { Button as y } from "../button/index.js";
|
|
5
|
-
import '../../assets/index36.css';const k = "
|
|
5
|
+
import '../../assets/index36.css';const k = "_controls_1p251_13", h = "_inline_1p251_35", B = "_fixed_1p251_40", o = {
|
|
6
6
|
controls: k,
|
|
7
|
-
default: "
|
|
7
|
+
default: "_default_1p251_20",
|
|
8
8
|
inline: h,
|
|
9
|
-
fixed:
|
|
10
|
-
},
|
|
9
|
+
fixed: B
|
|
10
|
+
}, g = {
|
|
11
11
|
primary: 3,
|
|
12
12
|
danger: 2,
|
|
13
13
|
secondary: 1,
|
|
14
|
-
tertiary: 0
|
|
15
|
-
|
|
14
|
+
tertiary: 0,
|
|
15
|
+
simple: 0
|
|
16
|
+
}, v = {
|
|
16
17
|
default: o.default,
|
|
17
18
|
fixed: o.fixed,
|
|
18
19
|
inline: o.inline
|
|
19
|
-
},
|
|
20
|
-
children:
|
|
20
|
+
}, E = (e) => g[e.props.variant ?? "secondary"], N = ({
|
|
21
|
+
children: e,
|
|
21
22
|
className: a,
|
|
22
23
|
variant: l = "default",
|
|
23
24
|
...c
|
|
24
25
|
}) => {
|
|
25
|
-
const s = u.toArray(
|
|
26
|
+
const s = u.toArray(e), i = [], r = [];
|
|
26
27
|
s.forEach((n) => {
|
|
27
|
-
_(n) && n.type === y ? i.push(n) :
|
|
28
|
+
_(n) && n.type === y ? i.push(n) : r.push(n);
|
|
28
29
|
});
|
|
29
30
|
const d = i.map((n, t) => ({
|
|
30
31
|
button: n,
|
|
31
32
|
index: t,
|
|
32
|
-
rank:
|
|
33
|
+
rank: E(n)
|
|
33
34
|
})).sort((n, t) => n.rank - t.rank || n.index - t.index).map(({
|
|
34
35
|
button: n,
|
|
35
36
|
index: t
|
|
36
37
|
}) => x(n, {
|
|
37
38
|
key: n.key ?? t
|
|
38
39
|
}));
|
|
39
|
-
return s.length === 0 ? null : /* @__PURE__ */ p("div", { className: m(o.controls,
|
|
40
|
-
|
|
40
|
+
return s.length === 0 ? null : /* @__PURE__ */ p("div", { className: m(o.controls, v[l], a), ...c, "data-component": "controls", children: [
|
|
41
|
+
r && /* @__PURE__ */ f("span", { children: r }),
|
|
41
42
|
d
|
|
42
43
|
] });
|
|
43
44
|
};
|
|
44
45
|
export {
|
|
45
|
-
|
|
46
|
+
N as Controls
|
|
46
47
|
};
|
|
47
48
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/controls/index.tsx"],"sourcesContent":["import cx from 'classix';\nimport { Children, cloneElement, isValidElement } from 'react';\n\nimport { Button, type ButtonProps } from '../button';\nimport styles from './styles.module.css';\n\nconst buttonVariantOrder = {\n primary: 3,\n danger: 2,\n secondary: 1,\n tertiary: 0,\n} satisfies Record<NonNullable<ButtonProps['variant']>, number>;\n\nconst variants = {\n default: styles.default,\n fixed: styles.fixed,\n inline: styles.inline,\n};\n\nexport type ControlsProps = React.HTMLAttributes<HTMLDivElement> & {\n children?: React.ReactNode;\n variant?: keyof typeof variants;\n};\n\nconst getButtonRank = (button: React.ReactElement<ButtonProps>) =>\n buttonVariantOrder[button.props.variant ?? 'secondary'];\n\nexport const Controls = ({ children, className, variant = 'default', ...props }: ControlsProps) => {\n const childArray = Children.toArray(children);\n const buttons: React.ReactElement<ButtonProps>[] = [];\n const nonButtons: React.ReactNode[] = [];\n\n childArray.forEach((child) => {\n if (isValidElement<ButtonProps>(child) && child.type === Button) {\n buttons.push(child);\n } else {\n nonButtons.push(child);\n }\n });\n\n const sortedButtons = buttons\n .map((button, index) => ({ button, index, rank: getButtonRank(button) }))\n .sort((a, b) => a.rank - b.rank || a.index - b.index)\n .map(({ button, index }) =>\n cloneElement(button, {\n key: button.key ?? index,\n })\n );\n\n if (childArray.length === 0) {\n return null;\n }\n\n return (\n <div\n className={cx(styles.controls, variants[variant], className)}\n {...props}\n >\n {nonButtons && <span>{nonButtons}</span>}\n {sortedButtons}\n </div>\n );\n};\n"],"names":["buttonVariantOrder","primary","danger","secondary","tertiary","variants","default","styles","fixed","inline","getButtonRank","button","props","variant","Controls","children","className","childArray","Children","toArray","buttons","nonButtons","forEach","child","isValidElement","type","Button","push","sortedButtons","map","index","rank","sort","a","b","cloneElement","key","length","jsxs","cx","controls","jsx"],"mappings":";;;;;;;;;GAMMA,IAAqB;AAAA,EACzBC,SAAS;AAAA,EACTC,QAAQ;AAAA,EACRC,WAAW;AAAA,EACXC,UAAU;
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/controls/index.tsx"],"sourcesContent":["import cx from 'classix';\nimport { Children, cloneElement, isValidElement } from 'react';\n\nimport { Button, type ButtonProps } from '../button';\nimport styles from './styles.module.css';\n\nconst buttonVariantOrder = {\n primary: 3,\n danger: 2,\n secondary: 1,\n tertiary: 0,\n simple: 0,\n} satisfies Record<NonNullable<ButtonProps['variant']>, number>;\n\nconst variants = {\n default: styles.default,\n fixed: styles.fixed,\n inline: styles.inline,\n};\n\nexport type ControlsProps = React.HTMLAttributes<HTMLDivElement> & {\n children?: React.ReactNode;\n variant?: keyof typeof variants;\n};\n\nconst getButtonRank = (button: React.ReactElement<ButtonProps>) =>\n buttonVariantOrder[button.props.variant ?? 'secondary'];\n\nexport const Controls = ({ children, className, variant = 'default', ...props }: ControlsProps) => {\n const childArray = Children.toArray(children);\n const buttons: React.ReactElement<ButtonProps>[] = [];\n const nonButtons: React.ReactNode[] = [];\n\n childArray.forEach((child) => {\n if (isValidElement<ButtonProps>(child) && child.type === Button) {\n buttons.push(child);\n } else {\n nonButtons.push(child);\n }\n });\n\n const sortedButtons = buttons\n .map((button, index) => ({ button, index, rank: getButtonRank(button) }))\n .sort((a, b) => a.rank - b.rank || a.index - b.index)\n .map(({ button, index }) =>\n cloneElement(button, {\n key: button.key ?? index,\n })\n );\n\n if (childArray.length === 0) {\n return null;\n }\n\n return (\n <div\n className={cx(styles.controls, variants[variant], className)}\n {...props}\n >\n {nonButtons && <span>{nonButtons}</span>}\n {sortedButtons}\n </div>\n );\n};\n"],"names":["buttonVariantOrder","primary","danger","secondary","tertiary","simple","variants","default","styles","fixed","inline","getButtonRank","button","props","variant","Controls","children","className","childArray","Children","toArray","buttons","nonButtons","forEach","child","isValidElement","type","Button","push","sortedButtons","map","index","rank","sort","a","b","cloneElement","key","length","jsxs","cx","controls","jsx"],"mappings":";;;;;;;;;GAMMA,IAAqB;AAAA,EACzBC,SAAS;AAAA,EACTC,QAAQ;AAAA,EACRC,WAAW;AAAA,EACXC,UAAU;AAAA,EACVC,QAAQ;AACV,GAEMC,IAAW;AAAA,EACfC,SAASC,EAAOD;AAAAA,EAChBE,OAAOD,EAAOC;AAAAA,EACdC,QAAQF,EAAOE;AACjB,GAOMC,IAAgBA,CAACC,MACrBZ,EAAmBY,EAAOC,MAAMC,WAAW,WAAW,GAE3CC,IAAWA,CAAC;AAAA,EAAEC,UAAAA;AAAAA,EAAUC,WAAAA;AAAAA,EAAWH,SAAAA,IAAU;AAAA,EAAW,GAAGD;AAAqB,MAAM;AACjG,QAAMK,IAAaC,EAASC,QAAQJ,CAAQ,GACtCK,IAA6C,CAAA,GAC7CC,IAAgC,CAAA;AAEtCJ,EAAAA,EAAWK,QAASC,CAAAA,MAAU;AAC5B,IAAIC,EAA4BD,CAAK,KAAKA,EAAME,SAASC,IACvDN,EAAQO,KAAKJ,CAAK,IAElBF,EAAWM,KAAKJ,CAAK;AAAA,EAEzB,CAAC;AAED,QAAMK,IAAgBR,EACnBS,IAAI,CAAClB,GAAQmB,OAAW;AAAA,IAAEnB,QAAAA;AAAAA,IAAQmB,OAAAA;AAAAA,IAAOC,MAAMrB,EAAcC,CAAM;AAAA,EAAA,EAAI,EACvEqB,KAAK,CAACC,GAAGC,MAAMD,EAAEF,OAAOG,EAAEH,QAAQE,EAAEH,QAAQI,EAAEJ,KAAK,EACnDD,IAAI,CAAC;AAAA,IAAElB,QAAAA;AAAAA,IAAQmB,OAAAA;AAAAA,EAAAA,MACdK,EAAaxB,GAAQ;AAAA,IACnByB,KAAKzB,EAAOyB,OAAON;AAAAA,EAAAA,CACpB,CACH;AAEF,SAAIb,EAAWoB,WAAW,IACjB,OAIP,gBAAAC,EAAC,OAAA,EACC,WAAWC,EAAGhC,EAAOiC,UAAUnC,EAASQ,CAAO,GAAGG,CAAS,GAC3D,GAAIJ,GAAM,kBAAA,YAETS,UAAAA;AAAAA,IAAAA,KAAc,gBAAAoB,EAAC,UAAMpB,UAAAA,EAAAA,CAAW;AAAA,IAChCO;AAAAA,EAAAA,GACH;AAEJ;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index38.css');const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index38.css');const e=require("react/jsx-runtime"),k=require("../../classix-5H4IWnMA.cjs"),a=require("react"),x=require("../button/index.cjs"),p=require("../icon/index.cjs"),P="_dialog_7bzcy_1",T="_close_7bzcy_21",E="_structured_7bzcy_29",F="_header_7bzcy_35",M="_content_7bzcy_46",S="_controls_7bzcy_52",s={dialog:P,close:T,structured:E,header:F,content:M,controls:S},b=o=>a.Children.toArray(o).some(c=>a.isValidElement(c)?c.type===x.Button&&c.props.variant==="danger"?!0:b(c.props.children):!1),X=({children:o,className:c,controls:l,header:f,onCancel:i,onClick:u,onClose:d,open:n=!1,setOpen:r,...y})=>{const g=a.useRef(null),_=b(l),m=f!=null||l!=null;a.useEffect(()=>{const t=g.current;t&&(n&&!t.open?t.showModal():!n&&t.open&&t.close())},[n]);const j=t=>{i==null||i(t),!(t.defaultPrevented||!r)&&(t.preventDefault(),r(!1))},z=t=>{if(u==null||u(t),_||t.defaultPrevented||t.target!==t.currentTarget||!r)return;const{bottom:q,left:N,right:R,top:D}=t.currentTarget.getBoundingClientRect();(t.clientX<N||t.clientX>R||t.clientY<D||t.clientY>q)&&r(!1)},B=t=>{d==null||d(t),n&&(r==null||r(!1))},h=r&&!_?e.jsx(x.Button,{"aria-label":"Close dialog",className:s.close,onClick:()=>r(!1),variant:"simple",children:e.jsx(p.Icon,{name:"x"})}):null;return e.jsx("dialog",{className:k.t(s.dialog,m&&s.structured,c),onCancel:j,onClick:z,onClose:B,ref:g,...y,"data-component":"dialog",children:m?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:s.header,children:[f,h]}),e.jsx("div",{className:s.content,children:o}),l!=null&&e.jsx("div",{className:s.controls,children:l})]}):e.jsxs(e.Fragment,{children:[h,o]})})};exports.Dialog=X;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../src/components/dialog/index.tsx"],"sourcesContent":["import cx from 'classix';\nimport React, { useEffect } from 'react';\n\nimport { Button } from '@/components/button';\nimport { Icon } from '@/components/icon';\n\nimport styles from './styles.module.css';\n\nexport type DialogProps = React.DialogHTMLAttributes<HTMLDialogElement> & {\n children: React.ReactNode;\n setOpen?: React.Dispatch<React.SetStateAction<boolean>>;\n};\n\nexport const Dialog = ({
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../src/components/dialog/index.tsx"],"sourcesContent":["import cx from 'classix';\nimport React, { useEffect, useRef } from 'react';\n\nimport { Button, type ButtonProps } from '@/components/button';\nimport { Icon } from '@/components/icon';\n\nimport styles from './styles.module.css';\n\ntype ControlElementProps = {\n children?: React.ReactNode;\n variant?: ButtonProps['variant'];\n};\n\nconst hasDangerControl = (node: React.ReactNode): boolean =>\n React.Children.toArray(node).some((child) => {\n if (!React.isValidElement<ControlElementProps>(child)) return false;\n if (child.type === Button && child.props.variant === 'danger') return true;\n\n return hasDangerControl(child.props.children);\n });\n\nexport type DialogProps = React.DialogHTMLAttributes<HTMLDialogElement> & {\n children: React.ReactNode;\n controls?: React.ReactNode;\n header?: React.ReactNode;\n setOpen?: React.Dispatch<React.SetStateAction<boolean>>;\n};\n\nexport const Dialog = ({\n children,\n className,\n controls,\n header,\n onCancel,\n onClick,\n onClose,\n open = false,\n setOpen,\n ...props\n}: DialogProps) => {\n const dialogRef = useRef<HTMLDialogElement>(null);\n const destructive = hasDangerControl(controls);\n const structured = header != null || controls != null;\n\n useEffect(() => {\n const dialog = dialogRef.current;\n if (!dialog) return;\n\n if (open && !dialog.open) {\n dialog.showModal();\n } else if (!open && dialog.open) {\n dialog.close();\n }\n }, [open]);\n\n const handleCancel = (event: React.SyntheticEvent<HTMLDialogElement>) => {\n onCancel?.(event);\n if (event.defaultPrevented || !setOpen) return;\n\n event.preventDefault();\n setOpen(false);\n };\n\n const handleClick = (event: React.MouseEvent<HTMLDialogElement>) => {\n onClick?.(event);\n if (\n destructive ||\n event.defaultPrevented ||\n event.target !== event.currentTarget ||\n !setOpen\n )\n return;\n\n const { bottom, left, right, top } = event.currentTarget.getBoundingClientRect();\n const clickedBackdrop =\n event.clientX < left ||\n event.clientX > right ||\n event.clientY < top ||\n event.clientY > bottom;\n\n if (clickedBackdrop) {\n setOpen(false);\n }\n };\n\n const handleClose = (event: React.SyntheticEvent<HTMLDialogElement>) => {\n onClose?.(event);\n if (open) setOpen?.(false);\n };\n\n const closeButton = setOpen && !destructive ? (\n <Button\n aria-label='Close dialog'\n className={styles.close}\n onClick={() => setOpen(false)}\n variant='simple'\n >\n <Icon name='x' />\n </Button>\n ) : null;\n\n return (\n <dialog\n className={cx(styles.dialog, structured && styles.structured, className)}\n onCancel={handleCancel}\n onClick={handleClick}\n onClose={handleClose}\n ref={dialogRef}\n {...props}\n >\n {structured ? (\n <>\n <div className={styles.header}>\n {header}\n {closeButton}\n </div>\n <div className={styles.content}>{children}</div>\n {controls != null && <div className={styles.controls}>{controls}</div>}\n </>\n ) : (\n <>\n {closeButton}\n {children}\n </>\n )}\n </dialog>\n );\n};\n"],"names":["hasDangerControl","node","React","Children","toArray","some","child","isValidElement","type","Button","props","variant","children","Dialog","className","controls","header","onCancel","onClick","onClose","open","setOpen","dialogRef","useRef","destructive","structured","useEffect","dialog","current","showModal","close","handleCancel","event","defaultPrevented","preventDefault","handleClick","target","currentTarget","bottom","left","right","top","getBoundingClientRect","clientX","clientY","handleClose","closeButton","styles","Icon","jsx","cx","jsxs","Fragment","content"],"mappings":"mbAaMA,EAAoBC,GACxBC,EAAMC,SAASC,QAAQH,CAAI,EAAEI,KAAMC,GAC5BJ,EAAMK,eAAoCD,CAAK,EAChDA,EAAME,OAASC,UAAUH,EAAMI,MAAMC,UAAY,SAAiB,GAE/DX,EAAiBM,EAAMI,MAAME,QAAQ,EAHkB,EAI/D,EASUC,EAASA,CAAC,CACrBD,SAAAA,EACAE,UAAAA,EACAC,SAAAA,EACAC,OAAAA,EACAC,SAAAA,EACAC,QAAAA,EACAC,QAAAA,EACAC,KAAAA,EAAO,GACPC,QAAAA,EACA,GAAGX,CACQ,IAAM,CACjB,MAAMY,EAAYC,EAAAA,OAA0B,IAAI,EAC1CC,EAAcxB,EAAiBe,CAAQ,EACvCU,EAAaT,GAAU,MAAQD,GAAY,KAEjDW,EAAAA,UAAU,IAAM,CACd,MAAMC,EAASL,EAAUM,QACpBD,IAEDP,GAAQ,CAACO,EAAOP,KAClBO,EAAOE,UAAAA,EACE,CAACT,GAAQO,EAAOP,MACzBO,EAAOG,MAAAA,EAEX,EAAG,CAACV,CAAI,CAAC,EAET,MAAMW,EAAgBC,GAAmD,CACvEf,GAAAA,MAAAA,EAAWe,GACPA,EAAAA,EAAMC,kBAAoB,CAACZ,KAE/BW,EAAME,eAAAA,EACNb,EAAQ,EAAK,EACf,EAEMc,EAAeH,GAA+C,CAElE,GADAd,GAAAA,MAAAA,EAAUc,GAERR,GACAQ,EAAMC,kBACND,EAAMI,SAAWJ,EAAMK,eACvB,CAAChB,EAED,OAEF,KAAM,CAAEiB,OAAAA,EAAQC,KAAAA,EAAMC,MAAAA,EAAOC,IAAAA,CAAAA,EAAQT,EAAMK,cAAcK,sBAAAA,GAEvDV,EAAMW,QAAUJ,GAChBP,EAAMW,QAAUH,GAChBR,EAAMY,QAAUH,GAChBT,EAAMY,QAAUN,IAGhBjB,EAAQ,EAAK,CAEjB,EAEMwB,EAAeb,GAAmD,CACtEb,GAAAA,MAAAA,EAAUa,GACNZ,eAAgB,IACtB,EAEM0B,EAAczB,GAAW,CAACG,QAC7Bf,EAAAA,OAAA,CACC,aAAW,eACX,UAAWsC,EAAOjB,MAClB,QAAS,IAAMT,EAAQ,EAAK,EAC5B,QAAQ,SAER,eAAC2B,EAAAA,KAAA,CAAK,KAAK,IAAG,CAAA,CAChB,EACE,KAEJ,OACEC,EAAAA,IAAC,SAAA,CACC,UAAWC,EAAAA,EAAGH,EAAOpB,OAAQF,GAAcsB,EAAOtB,WAAYX,CAAS,EACvE,SAAUiB,EACV,QAASI,EACT,QAASU,EACT,IAAKvB,EACL,GAAIZ,EAAM,iBAAA,SAETe,SAAAA,EACC0B,EAAAA,KAAAC,EAAAA,SAAA,CACE,SAAA,CAAAD,EAAAA,KAAC,MAAA,CAAI,UAAWJ,EAAO/B,OACpBA,SAAAA,CAAAA,EACA8B,CAAAA,EACH,EACAG,EAAAA,IAAC,MAAA,CAAI,UAAWF,EAAOM,QAAUzC,SAAAA,EAAS,EACzCG,GAAY,MAAQkC,EAAAA,IAAC,OAAI,UAAWF,EAAOhC,SAAWA,SAAAA,CAAAA,CAAS,CAAA,CAAA,CAClE,EAEAoC,EAAAA,KAAAC,EAAAA,SAAA,CACGN,SAAAA,CAAAA,EACAlC,CAAAA,CAAAA,CACH,CAAA,CAEJ,CAEJ"}
|
|
@@ -1,27 +1,59 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { t as
|
|
3
|
-
import { useEffect as
|
|
4
|
-
import { Button as
|
|
5
|
-
import { Icon as
|
|
6
|
-
import '../../assets/index38.css';const
|
|
7
|
-
dialog:
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
1
|
+
import { jsx as o, jsxs as u, Fragment as y } from "react/jsx-runtime";
|
|
2
|
+
import { t as P } from "../../classix-DG18itHa.js";
|
|
3
|
+
import b, { useRef as T, useEffect as X } from "react";
|
|
4
|
+
import { Button as p } from "../button/index.js";
|
|
5
|
+
import { Icon as Y } from "../icon/index.js";
|
|
6
|
+
import '../../assets/index38.css';const w = "_dialog_7bzcy_1", A = "_close_7bzcy_21", F = "_structured_7bzcy_29", I = "_header_7bzcy_35", M = "_content_7bzcy_46", V = "_controls_7bzcy_52", l = {
|
|
7
|
+
dialog: w,
|
|
8
|
+
close: A,
|
|
9
|
+
structured: F,
|
|
10
|
+
header: I,
|
|
11
|
+
content: M,
|
|
12
|
+
controls: V
|
|
13
|
+
}, z = (e) => b.Children.toArray(e).some((c) => b.isValidElement(c) ? c.type === p && c.props.variant === "danger" ? !0 : z(c.props.children) : !1), Q = ({
|
|
14
|
+
children: e,
|
|
15
|
+
className: c,
|
|
16
|
+
controls: a,
|
|
17
|
+
header: f,
|
|
18
|
+
onCancel: i,
|
|
19
|
+
onClick: n,
|
|
20
|
+
onClose: d,
|
|
21
|
+
open: s = !1,
|
|
22
|
+
setOpen: r,
|
|
23
|
+
...B
|
|
24
|
+
}) => {
|
|
25
|
+
const m = T(null), _ = z(a), g = f != null || a != null;
|
|
26
|
+
X(() => {
|
|
27
|
+
const t = m.current;
|
|
28
|
+
t && (s && !t.open ? t.showModal() : !s && t.open && t.close());
|
|
29
|
+
}, [s]);
|
|
30
|
+
const N = (t) => {
|
|
31
|
+
i == null || i(t), !(t.defaultPrevented || !r) && (t.preventDefault(), r(!1));
|
|
32
|
+
}, x = (t) => {
|
|
33
|
+
if (n == null || n(t), _ || t.defaultPrevented || t.target !== t.currentTarget || !r) return;
|
|
34
|
+
const {
|
|
35
|
+
bottom: k,
|
|
36
|
+
left: D,
|
|
37
|
+
right: j,
|
|
38
|
+
top: E
|
|
39
|
+
} = t.currentTarget.getBoundingClientRect();
|
|
40
|
+
(t.clientX < D || t.clientX > j || t.clientY < E || t.clientY > k) && r(!1);
|
|
41
|
+
}, R = (t) => {
|
|
42
|
+
d == null || d(t), s && (r == null || r(!1));
|
|
43
|
+
}, h = r && !_ ? /* @__PURE__ */ o(p, { "aria-label": "Close dialog", className: l.close, onClick: () => r(!1), variant: "simple", children: /* @__PURE__ */ o(Y, { name: "x" }) }) : null;
|
|
44
|
+
return /* @__PURE__ */ o("dialog", { className: P(l.dialog, g && l.structured, c), onCancel: N, onClick: x, onClose: R, ref: m, ...B, "data-component": "dialog", children: g ? /* @__PURE__ */ u(y, { children: [
|
|
45
|
+
/* @__PURE__ */ u("div", { className: l.header, children: [
|
|
46
|
+
f,
|
|
47
|
+
h
|
|
48
|
+
] }),
|
|
49
|
+
/* @__PURE__ */ o("div", { className: l.content, children: e }),
|
|
50
|
+
a != null && /* @__PURE__ */ o("div", { className: l.controls, children: a })
|
|
51
|
+
] }) : /* @__PURE__ */ u(y, { children: [
|
|
52
|
+
h,
|
|
53
|
+
e
|
|
54
|
+
] }) });
|
|
55
|
+
};
|
|
24
56
|
export {
|
|
25
|
-
|
|
57
|
+
Q as Dialog
|
|
26
58
|
};
|
|
27
59
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/dialog/index.tsx"],"sourcesContent":["import cx from 'classix';\nimport React, { useEffect } from 'react';\n\nimport { Button } from '@/components/button';\nimport { Icon } from '@/components/icon';\n\nimport styles from './styles.module.css';\n\nexport type DialogProps = React.DialogHTMLAttributes<HTMLDialogElement> & {\n children: React.ReactNode;\n setOpen?: React.Dispatch<React.SetStateAction<boolean>>;\n};\n\nexport const Dialog = ({
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/dialog/index.tsx"],"sourcesContent":["import cx from 'classix';\nimport React, { useEffect, useRef } from 'react';\n\nimport { Button, type ButtonProps } from '@/components/button';\nimport { Icon } from '@/components/icon';\n\nimport styles from './styles.module.css';\n\ntype ControlElementProps = {\n children?: React.ReactNode;\n variant?: ButtonProps['variant'];\n};\n\nconst hasDangerControl = (node: React.ReactNode): boolean =>\n React.Children.toArray(node).some((child) => {\n if (!React.isValidElement<ControlElementProps>(child)) return false;\n if (child.type === Button && child.props.variant === 'danger') return true;\n\n return hasDangerControl(child.props.children);\n });\n\nexport type DialogProps = React.DialogHTMLAttributes<HTMLDialogElement> & {\n children: React.ReactNode;\n controls?: React.ReactNode;\n header?: React.ReactNode;\n setOpen?: React.Dispatch<React.SetStateAction<boolean>>;\n};\n\nexport const Dialog = ({\n children,\n className,\n controls,\n header,\n onCancel,\n onClick,\n onClose,\n open = false,\n setOpen,\n ...props\n}: DialogProps) => {\n const dialogRef = useRef<HTMLDialogElement>(null);\n const destructive = hasDangerControl(controls);\n const structured = header != null || controls != null;\n\n useEffect(() => {\n const dialog = dialogRef.current;\n if (!dialog) return;\n\n if (open && !dialog.open) {\n dialog.showModal();\n } else if (!open && dialog.open) {\n dialog.close();\n }\n }, [open]);\n\n const handleCancel = (event: React.SyntheticEvent<HTMLDialogElement>) => {\n onCancel?.(event);\n if (event.defaultPrevented || !setOpen) return;\n\n event.preventDefault();\n setOpen(false);\n };\n\n const handleClick = (event: React.MouseEvent<HTMLDialogElement>) => {\n onClick?.(event);\n if (\n destructive ||\n event.defaultPrevented ||\n event.target !== event.currentTarget ||\n !setOpen\n )\n return;\n\n const { bottom, left, right, top } = event.currentTarget.getBoundingClientRect();\n const clickedBackdrop =\n event.clientX < left ||\n event.clientX > right ||\n event.clientY < top ||\n event.clientY > bottom;\n\n if (clickedBackdrop) {\n setOpen(false);\n }\n };\n\n const handleClose = (event: React.SyntheticEvent<HTMLDialogElement>) => {\n onClose?.(event);\n if (open) setOpen?.(false);\n };\n\n const closeButton = setOpen && !destructive ? (\n <Button\n aria-label='Close dialog'\n className={styles.close}\n onClick={() => setOpen(false)}\n variant='simple'\n >\n <Icon name='x' />\n </Button>\n ) : null;\n\n return (\n <dialog\n className={cx(styles.dialog, structured && styles.structured, className)}\n onCancel={handleCancel}\n onClick={handleClick}\n onClose={handleClose}\n ref={dialogRef}\n {...props}\n >\n {structured ? (\n <>\n <div className={styles.header}>\n {header}\n {closeButton}\n </div>\n <div className={styles.content}>{children}</div>\n {controls != null && <div className={styles.controls}>{controls}</div>}\n </>\n ) : (\n <>\n {closeButton}\n {children}\n </>\n )}\n </dialog>\n );\n};\n"],"names":["hasDangerControl","node","React","Children","toArray","some","child","isValidElement","type","Button","props","variant","children","Dialog","className","controls","header","onCancel","onClick","onClose","open","setOpen","dialogRef","useRef","destructive","structured","useEffect","dialog","current","showModal","close","handleCancel","event","defaultPrevented","preventDefault","handleClick","target","currentTarget","bottom","left","right","top","getBoundingClientRect","clientX","clientY","handleClose","closeButton","styles","Icon","jsx","cx","jsxs","Fragment","content"],"mappings":";;;;;;;;;;;;GAaMA,IAAmBA,CAACC,MACxBC,EAAMC,SAASC,QAAQH,CAAI,EAAEI,KAAMC,CAAAA,MAC5BJ,EAAMK,eAAoCD,CAAK,IAChDA,EAAME,SAASC,KAAUH,EAAMI,MAAMC,YAAY,WAAiB,KAE/DX,EAAiBM,EAAMI,MAAME,QAAQ,IAHkB,EAI/D,GASUC,IAASA,CAAC;AAAA,EACrBD,UAAAA;AAAAA,EACAE,WAAAA;AAAAA,EACAC,UAAAA;AAAAA,EACAC,QAAAA;AAAAA,EACAC,UAAAA;AAAAA,EACAC,SAAAA;AAAAA,EACAC,SAAAA;AAAAA,EACAC,MAAAA,IAAO;AAAA,EACPC,SAAAA;AAAAA,EACA,GAAGX;AACQ,MAAM;AACjB,QAAMY,IAAYC,EAA0B,IAAI,GAC1CC,IAAcxB,EAAiBe,CAAQ,GACvCU,IAAaT,KAAU,QAAQD,KAAY;AAEjDW,EAAAA,EAAU,MAAM;AACd,UAAMC,IAASL,EAAUM;AACzB,IAAKD,MAEDP,KAAQ,CAACO,EAAOP,OAClBO,EAAOE,UAAAA,IACE,CAACT,KAAQO,EAAOP,QACzBO,EAAOG,MAAAA;AAAAA,EAEX,GAAG,CAACV,CAAI,CAAC;AAET,QAAMW,IAAeA,CAACC,MAAmD;AAEvE,IADAf,KAAAA,QAAAA,EAAWe,IACPA,EAAAA,EAAMC,oBAAoB,CAACZ,OAE/BW,EAAME,eAAAA,GACNb,EAAQ,EAAK;AAAA,EACf,GAEMc,IAAcA,CAACH,MAA+C;AAElE,QADAd,KAAAA,QAAAA,EAAUc,IAERR,KACAQ,EAAMC,oBACND,EAAMI,WAAWJ,EAAMK,iBACvB,CAAChB,EAED;AAEF,UAAM;AAAA,MAAEiB,QAAAA;AAAAA,MAAQC,MAAAA;AAAAA,MAAMC,OAAAA;AAAAA,MAAOC,KAAAA;AAAAA,IAAAA,IAAQT,EAAMK,cAAcK,sBAAAA;AAOzD,KALEV,EAAMW,UAAUJ,KAChBP,EAAMW,UAAUH,KAChBR,EAAMY,UAAUH,KAChBT,EAAMY,UAAUN,MAGhBjB,EAAQ,EAAK;AAAA,EAEjB,GAEMwB,IAAcA,CAACb,MAAmD;AACtEb,IAAAA,KAAAA,QAAAA,EAAUa,IACNZ,qBAAgB;AAAA,EACtB,GAEM0B,IAAczB,KAAW,CAACG,sBAC7Bf,GAAA,EACC,cAAW,gBACX,WAAWsC,EAAOjB,OAClB,SAAS,MAAMT,EAAQ,EAAK,GAC5B,SAAQ,UAER,4BAAC2B,GAAA,EAAK,MAAK,KAAG,EAAA,CAChB,IACE;AAEJ,SACE,gBAAAC,EAAC,UAAA,EACC,WAAWC,EAAGH,EAAOpB,QAAQF,KAAcsB,EAAOtB,YAAYX,CAAS,GACvE,UAAUiB,GACV,SAASI,GACT,SAASU,GACT,KAAKvB,GACL,GAAIZ,GAAM,kBAAA,UAETe,UAAAA,IACC,gBAAA0B,EAAAC,GAAA,EACE,UAAA;AAAA,IAAA,gBAAAD,EAAC,OAAA,EAAI,WAAWJ,EAAO/B,QACpBA,UAAAA;AAAAA,MAAAA;AAAAA,MACA8B;AAAAA,IAAAA,GACH;AAAA,IACA,gBAAAG,EAAC,OAAA,EAAI,WAAWF,EAAOM,SAAUzC,UAAAA,GAAS;AAAA,IACzCG,KAAY,QAAQ,gBAAAkC,EAAC,SAAI,WAAWF,EAAOhC,UAAWA,UAAAA,EAAAA,CAAS;AAAA,EAAA,EAAA,CAClE,IAEA,gBAAAoC,EAAAC,GAAA,EACGN,UAAAA;AAAAA,IAAAA;AAAAA,IACAlC;AAAAA,EAAAA,EAAAA,CACH,EAAA,CAEJ;AAEJ;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index39.css');const s=require("react/jsx-runtime"),N=require("../../classix-5H4IWnMA.cjs"),a=require("react"),F=require("../button/index.cjs"),ce=require("../../icons-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index39.css');const s=require("react/jsx-runtime"),N=require("../../classix-5H4IWnMA.cjs"),a=require("react"),F=require("../button/index.cjs"),ce=require("../../icons-Dx0NQYLH.cjs"),X=require("../../index-CEzqxRIu.cjs"),ue=require("../list/index.cjs"),V=require("../../index-oL8GYbhj.cjs");function L(t){return typeof t=="string"||typeof t=="number"?String(t):Array.isArray(t)?t.map(L).join(" "):a.isValidElement(t)?L(t.props.children):""}function de(t){return a.isValidElement(t)&&t.type==="option"}function pe(t){return a.isValidElement(t)&&t.type==="optgroup"}function fe(t){return a.isValidElement(t)&&t.type===a.Fragment}function me(t){return a.isValidElement(t)&&t.type===V.Select}function W(t,i,r=!1){const l=[];return a.Children.forEach(t,n=>{if(fe(n))l.push(...W(n.props.children,i,r));else if(de(n)){const c=L(n.props.children).trim(),f=n.props.value!=null?String(n.props.value):c;l.push({disabled:r||!!n.props.disabled,groupLabel:i,hidden:!!n.props.hidden,isPlaceholder:!!(n.props.hidden&&f===""),label:n.props.children,selected:!!n.props.selected,text:c,value:f})}else pe(n)&&l.push(...W(n.props.children,n.props.label,r||!!n.props.disabled))}),l}function xe(t){const i=t.trim();if(!i)return null;const l=[.../[*?]/.test(i)?i:`*${i}*`].map(n=>n==="*"?".*":n==="?"?".":n.replace(/[|\\{}()[\]^$+.,]/g,"\\$&")).join("");return new RegExp(`^${l}$`,"i")}function ge(t,i){const r=xe(i),l=t.filter(n=>!n.hidden&&!n.isPlaceholder);return r?l.filter(n=>r.test([n.groupLabel,n.text,n.value].filter(Boolean).join(" "))):l}function _e(t,i){return t.find(r=>r.value===i)??t.find(r=>r.isPlaceholder)??t[0]}function he(t,i,r){var l,n;return i!=null?String(i):r!=null?String(r):((l=t.find(c=>c.selected))==null?void 0:l.value)??((n=t[0])==null?void 0:n.value)??""}function be(t){if(me(t)){const{children:i,placeholder:r,...l}=t.props;return{children:s.jsxs(s.Fragment,{children:[r&&s.jsx("option",{hidden:!0,value:"",children:r}),i]}),props:l}}return{children:t.props.children,props:t.props}}const ve="_combobox_1x1gr_3",ye="_dropdown_1x1gr_27",je="_empty_1x1gr_30",we="_group_1x1gr_31",Se="_placeholder_1x1gr_32",Ce="_filter_1x1gr_40",Ee="_native_1x1gr_52",Ne="_option_1x1gr_62",Ve="_options_1x1gr_84",Le="_panel_1x1gr_108",Re="_selected_1x1gr_132",$e="_text_1x1gr_136",Be="_trigger_1x1gr_145",Ie="_minimal_1x1gr_164",qe="_inline_1x1gr_219",De="_label_1x1gr_251",o={combobox:ve,"combobox-input":"_combobox-input_1x1gr_12",dropdown:ye,empty:je,group:we,placeholder:Se,filter:Ce,native:Ee,option:Ne,options:Ve,panel:Le,selected:Re,text:$e,trigger:Be,minimal:Ie,inline:qe,label:De,"inline-field":"_inline-field_1x1gr_257"};function Y(t,i){return{"--icon-svg":ce.iconSVG(t).replace("currentColor",i)}}const Pe=({children:t,className:i,combobox:r=!1,createOption:l,emptyLabel:n="No matches found",label:c,renderOption:f,searchPlaceholder:R="Filter",selectedItems:Z,variant:_="default",...ee})=>{const $=be(t),{defaultValue:te,onChange:B,value:I,...ne}=$.props,v=V.sanitizeSelectProps(ne),M=a.useRef(null),Q=a.useRef(null),y=a.useId(),z=a.useRef(null),m=a.useRef(null),h=W($.children),b=I!=null,q=he(h,I,te),[D,P]=a.useState(()=>q),[u,p]=a.useState(!1),[j,w]=a.useState(""),S=b?String(I):D,O={default:V.resolveColor("--colors-semantic-content-secondary"),white:V.resolveColor("--color-white","white")},T=_==="minimal"?O.white:O.default,C=_e(h,S),re=Y("chevron",T),le=Y("search",T),A=ge(h,j),x=j.trim(),E=!!(r&&l&&x&&l.isValid(x)),se=c&&_==="inline"?X.formatInlineLabel(c):c,G=e=>e?(f==null?void 0:f({groupLabel:e.groupLabel,isSelected:e.value===S,label:e.label,text:e.text,value:e.value}))??e.label:"Select an option";a.useEffect(()=>{!b&&!h.some(e=>e.value===D)&&P(q)},[q,D,b,h]),a.useEffect(()=>{var e;if(!u){w("");return}(e=m.current)==null||e.focus()},[u]),a.useEffect(()=>{if(!u)return;const e=d=>{var g;(g=Q.current)!=null&&g.contains(d.target)||p(!1)};return document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}},[u]);const oe=e=>{b||P(e.target.value),B==null||B(e)},k=()=>{var e;p(!1),r||(e=M.current)==null||e.focus()},K=()=>{var e;w(""),p(!0),(e=m.current)==null||e.focus()},H=()=>{!l||!E||(l.onCreate(x),K())},ie=e=>{var U;b||P(e);const d=z.current;if(!d){k();return}const g=(U=Object.getOwnPropertyDescriptor(HTMLSelectElement.prototype,"value"))==null?void 0:U.set;g==null||g.call(d,e),d.dispatchEvent(new Event("change",{bubbles:!0})),r?K():k()},ae=e=>{e.key==="Escape"&&k(),e.key==="Enter"&&e.target===m.current&&E&&(e.preventDefault(),H())},J=s.jsxs("div",{className:N.t(o.dropdown,_==="inline"&&o.inline,_==="minimal"&&o.minimal,i),onKeyDown:ae,ref:Q,...ee,children:[s.jsx("select",{...v,"aria-hidden":"true",className:o.native,onChange:oe,ref:z,tabIndex:-1,value:S,children:$.children}),r?s.jsxs("div",{className:o.combobox,onClick:()=>{var e;return(e=m.current)==null?void 0:e.focus()},children:[Z,s.jsx("input",{"aria-autocomplete":"list","aria-expanded":u,"aria-label":v["aria-label"]??c??R,className:o["combobox-input"],disabled:v.disabled,onChange:e=>{w(e.target.value),p(!0)},onClick:()=>p(!0),onFocus:()=>p(!0),placeholder:R||void 0,ref:m,role:"combobox",type:"text",value:j})]}):s.jsx(F.Button,{"aria-expanded":u,"aria-haspopup":"dialog","aria-labelledby":c?`${y} ${y}-value`:void 0,className:N.t(o.trigger,(C==null?void 0:C.isPlaceholder)&&o.placeholder),"data-open":u?"true":void 0,disabled:v.disabled,onClick:()=>p(e=>!e),ref:M,style:re,variant:"tertiary",children:s.jsx("span",{className:o.text,id:`${y}-value`,children:G(C)})}),u&&s.jsxs("div",{className:o.panel,children:[!r&&s.jsx(X.Input,{"aria-label":"Filter",className:o.filter,icon:"search",onChange:e=>w(e.target.value),placeholder:R,ref:m,style:le,type:"search",value:j}),s.jsxs(ue.List,{"aria-label":"Dropdown",className:o.options,children:[A.map(e=>{const d=e.value===S;return s.jsx("li",{"data-component":"dropdown",children:s.jsxs(F.Button,{"aria-label":d?`${e.text}, selected`:e.text,className:N.t(o.option,d&&o.selected),disabled:e.disabled,onClick:()=>ie(e.value),variant:"tertiary",children:[s.jsx("span",{className:o.text,children:G(e)}),e.groupLabel&&s.jsx("small",{className:o.group,children:e.groupLabel})]})},`${e.groupLabel??"root"}-${e.value}`)}),E&&l&&s.jsx("li",{children:s.jsx(F.Button,{"aria-label":L(l.render(x))||x,className:o.option,onClick:H,variant:"tertiary",children:s.jsx("span",{className:o.text,children:l.render(x)})})}),A.length===0&&!E&&s.jsx("li",{className:o.empty,children:n})]})]})]});return c?s.jsxs("div",{className:N.t(o.label,_==="inline"&&o["inline-field"]),"data-component":"dropdown",children:[s.jsx("span",{id:y,children:se}),J]}):J};exports.Dropdown=Pe;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -2,10 +2,10 @@ import { jsxs as p, Fragment as pe, jsx as s } from "react/jsx-runtime";
|
|
|
2
2
|
import { t as I } from "../../classix-DG18itHa.js";
|
|
3
3
|
import fe, { Children as me, isValidElement as v, useRef as L, useId as ge, useState as Q, useEffect as z } from "react";
|
|
4
4
|
import { Button as M } from "../button/index.js";
|
|
5
|
-
import { i as he } from "../../icons-
|
|
6
|
-
import { f as _e, I as be } from "../../index-
|
|
5
|
+
import { i as he } from "../../icons-BFgf_lJN.js";
|
|
6
|
+
import { f as _e, I as be } from "../../index-BHgGZxsR.js";
|
|
7
7
|
import { List as xe } from "../list/index.js";
|
|
8
|
-
import { S as ve, s as ye, r as ee } from "../../index-
|
|
8
|
+
import { S as ve, s as ye, r as ee } from "../../index-CMfR_USP.js";
|
|
9
9
|
import '../../assets/index39.css';function $(t) {
|
|
10
10
|
return typeof t == "string" || typeof t == "number" ? String(t) : Array.isArray(t) ? t.map($).join(" ") : v(t) ? $(t.props.children) : "";
|
|
11
11
|
}
|