@solibo/solibo-ui 0.3.38 → 0.3.40
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/index11.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 +1 -1
- package/dist/assets/index20.css +1 -1
- package/dist/assets/index21.css +1 -1
- package/dist/assets/index22.css +1 -1
- package/dist/assets/index33.css +1 -1
- package/dist/assets/index4.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 -0
- package/dist/assets/index5.css +1 -1
- package/dist/assets/index6.css +1 -1
- package/dist/assets/index7.css +0 -1
- package/dist/assets/index8.css +1 -0
- package/dist/assets/index9.css +1 -1
- package/dist/components/_avatar/index.cjs +1 -1
- package/dist/components/_avatar/index.js +1 -1
- package/dist/components/_card/index.cjs +1 -1
- package/dist/components/_card/index.js +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 +19 -15
- package/dist/components/_collapsible/index.js.map +1 -1
- package/dist/components/_croppable/index.cjs +1 -1
- package/dist/components/_croppable/index.js +1 -1
- package/dist/components/_dropdown/index.cjs +2 -0
- package/dist/components/_dropdown/index.cjs.map +1 -0
- package/dist/components/_dropdown/index.js +188 -0
- package/dist/components/_dropdown/index.js.map +1 -0
- package/dist/components/app-link/index.cjs +1 -1
- package/dist/components/app-link/index.js +1 -1
- package/dist/components/badge/index.cjs +1 -1
- package/dist/components/badge/index.js +1 -1
- package/dist/components/banner/index.cjs +1 -1
- package/dist/components/banner/index.js +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 +18 -17
- package/dist/components/button/index.js.map +1 -1
- package/dist/components/checkbox/index.cjs +1 -1
- package/dist/components/checkbox/index.js +2 -2
- package/dist/components/controls/index.cjs +1 -1
- package/dist/components/controls/index.js +1 -1
- package/dist/components/dialog/index.cjs +1 -1
- package/dist/components/dialog/index.js +1 -1
- package/dist/components/file/index.cjs +1 -1
- package/dist/components/file/index.js +1 -1
- package/dist/components/footer/index.cjs +1 -1
- package/dist/components/footer/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.js +1 -1
- package/dist/components/icon/index.cjs +1 -1
- package/dist/components/icon/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 +2 -2
- package/dist/components/layout/index.cjs +1 -1
- package/dist/components/layout/index.js +1 -1
- package/dist/components/loading/index.cjs +1 -1
- package/dist/components/loading/index.js +1 -1
- package/dist/components/nav/index.cjs +1 -1
- package/dist/components/nav/index.js +1 -1
- package/dist/components/select/index.cjs +1 -1
- package/dist/components/select/index.cjs.map +1 -1
- package/dist/components/select/index.js +6 -26
- package/dist/components/select/index.js.map +1 -1
- package/dist/components/table/index.cjs +1 -1
- package/dist/components/table/index.cjs.map +1 -1
- package/dist/components/table/index.js +10 -10
- package/dist/components/table/index.js.map +1 -1
- package/dist/components/textarea/index.cjs +1 -1
- package/dist/components/textarea/index.js +2 -2
- package/dist/components/toast/index.cjs +1 -1
- package/dist/components/toast/index.js +1 -1
- package/dist/components/toolbar/index.cjs +1 -1
- package/dist/components/toolbar/index.js +1 -1
- package/dist/{icons-CMoejLkL.cjs → icons-C_cX1FYp.cjs} +2 -2
- package/dist/{icons-CMoejLkL.cjs.map → icons-C_cX1FYp.cjs.map} +1 -1
- package/dist/{icons-BqQRUUWn.js → icons-DfmpRbxE.js} +2 -2
- package/dist/{icons-BqQRUUWn.js.map → icons-DfmpRbxE.js.map} +1 -1
- package/dist/index-C_OgUYu-.js +41 -0
- package/dist/index-C_OgUYu-.js.map +1 -0
- package/dist/index-CfK1ATlt.cjs +2 -0
- package/dist/index-CfK1ATlt.cjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +29 -10
- package/dist/index.js +76 -74
- package/dist/index.js.map +1 -1
- package/dist/utils-BFlnRYx7.js +34 -0
- package/dist/utils-BFlnRYx7.js.map +1 -0
- package/dist/utils-DqVa4K58.cjs +2 -0
- package/dist/utils-DqVa4K58.cjs.map +1 -0
- package/package.json +1 -1
- package/dist/utils-DXIJVVzz.js +0 -14
- package/dist/utils-DXIJVVzz.js.map +0 -1
- package/dist/utils-D_TJ8wDc.cjs +0 -2
- package/dist/utils-D_TJ8wDc.cjs.map +0 -1
package/dist/assets/index10.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
._file_4xr4l_1{align-items:center;background-color:var(--color-white);border-radius:var(--unit);border:var(--border-width-heavy) solid var(--color-white);box-shadow:var(--shadow);display:inline-flex;gap:calc(3 * var(--border-width));max-width:100%}._file_4xr4l_1 a{color:var(--color-primary);padding:var(--unit);transition:background-color var(--transition-duration) var(--transition-timing-function) var(--transition-delay)}._file_4xr4l_1 a:first-of-type{border-radius:var(--unit);cursor:default;display:inline-block;font-weight:var(--font-weight-semibold);overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}._file_4xr4l_1 a:first-of-type[role=document]:hover{background-color:var(--color-highlight);cursor:pointer}._file_4xr4l_1 a:first-of-type:has(+a){border-radius:var(--unit) 0 0 var(--unit)}._file_4xr4l_1 a:first-of-type:visited{opacity:var(--opacity-visited)}._file_4xr4l_1 a:first-of-type span{margin-right:var(--unit-small)}._file_4xr4l_1 ._delete_4xr4l_46{border-radius:0 var(--unit) var(--unit) 0;cursor:pointer;position:relative}._file_4xr4l_1 ._delete_4xr4l_46:before{content:"";position:absolute;left:calc(-1 * var(--unit-micro));top:0;width:var(--border-width);height:100%;background-color:var(--color-border)}._file_4xr4l_1 ._delete_4xr4l_46:hover{background-color:var(--color-red-light)}
|
package/dist/assets/index11.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
._dialog_1dwjg_1{background-color:var(--color-white);border-radius:var(--border-radius);border:none;box-shadow:var(--shadow-big);justify-self:center;max-height:85vh;max-width:75vw;min-width:25vw;opacity:0;overflow-y:auto;text-align:center;transition:opacity var(--transition-duration) var(--transition-timing-function) var(--transition-delay),visibility var(--transition-duration) var(--transition-timing-function) var(--transition-delay);visibility:hidden}._dialog_1dwjg_1[open]{opacity:1;visibility:visible}._dialog_1dwjg_1 button{margin-right:var(--unit)}._dialog_1dwjg_1 button:last-child{margin-right:0}._wrapper_1dwjg_32{align-items:center;-webkit-backdrop-filter:blur(var(--unit-tiny));backdrop-filter:blur(var(--unit-tiny));display:flex;height:100%;left:0;opacity:0;position:fixed;top:0;transition:opacity var(--transition-duration) var(--transition-timing-function) var(--transition-delay),visibility var(--transition-duration) var(--transition-timing-function) var(--transition-delay),-webkit-backdrop-filter var(--transition-duration) var(--transition-timing-function);transition:backdrop-filter var(--transition-duration) var(--transition-timing-function),opacity var(--transition-duration) var(--transition-timing-function) var(--transition-delay),visibility var(--transition-duration) var(--transition-timing-function) var(--transition-delay);transition:backdrop-filter var(--transition-duration) var(--transition-timing-function),opacity var(--transition-duration) var(--transition-timing-function) var(--transition-delay),visibility var(--transition-duration) var(--transition-timing-function) var(--transition-delay),-webkit-backdrop-filter var(--transition-duration) var(--transition-timing-function);visibility:hidden;width:100%;z-index:5}._wrapper_1dwjg_32:has(dialog[open]){opacity:1;visibility:visible}@media (width <= 960px){._dialog_1dwjg_1{max-width:90vw}}
|
package/dist/assets/index12.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
@keyframes _reveal_u02jm_1{0%{-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);opacity:0;transform:translateY(100%)}to{-webkit-backdrop-filter:blur(var(--unit-tiny));backdrop-filter:blur(var(--unit-tiny));opacity:1;transform:translateY(0)}}._controls_u02jm_15{display:flex;justify-content:center}._controls_u02jm_15 menu{align-items:center;display:flex;gap:var(--unit);list-style:none;margin:0;padding:0}._wrapper_u02jm_29{animation:_reveal_u02jm_1 var(--transition-duration-long) var(--transition-timing-function) var(--transition-delay) both;bottom:0;left:0;-webkit-mask:linear-gradient(transparent,black var(--unit));mask:linear-gradient(transparent,black var(--unit));position:fixed;right:0;will-change:filter,mask,opacity,transform;z-index:4}
|
package/dist/assets/index13.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
._checkbox_16skt_1{align-items:center;cursor:pointer;display:inline-flex;gap:var(--unit)}._checkbox_16skt_1 input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:solid 1px var(--color-neutral);border-radius:calc(var(--border-radius) / 2);height:calc(var(--unit) * 1.25);width:calc(var(--unit) * 1.25)}._checkbox_16skt_1 input[type=checkbox]:checked{background-color:var(--color-primary)}._checkbox_16skt_1 input[type=checkbox]:checked:after{background-color:var(--color-white);content:"";display:block;height:100%;-webkit-mask-image:var(--icon-svg);mask-image:var(--icon-svg);width:100%}._checkbox_16skt_1 input[type=checkbox]:disabled{cursor:not-allowed}._checkbox_16skt_1 input[type=checkbox]:disabled:after{background-color:var(--color-icon)}
|
package/dist/assets/index14.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
@keyframes _ping_1ytlq_39{0%{opacity:1;transform:scale(0)}to{opacity:0;transform:scale(1)}}@keyframes _spin_1ytlq_1{0%{transform:rotate(0)}to{transform:rotate(360deg)}}._loading_1ytlq_23{display:inline-block;overflow:hidden}._default_1ytlq_28{animation:_spin_1ytlq_1 1s linear infinite;border:var(--border-size, var(--unit-tiny)) solid var(--color-neutral);border-bottom-color:var(--color-primary);border-radius:50%;box-sizing:border-box;display:inline-block;height:var(--size, calc(var(--unit) * 2));width:var(--size, calc(var(--unit) * 2))}._ping_1ytlq_39{display:inline-block;height:var(--size, calc(var(--unit) * 2));position:relative;width:var(--size, calc(var(--unit) * 2))}._ping_1ytlq_39:after,._ping_1ytlq_39:before{animation:_ping_1ytlq_39 2s linear infinite;border-radius:50%;border:var(--border-size, var(--unit-tiny)) solid var(--color-primary);box-sizing:border-box;content:"";height:var(--size, calc(var(--unit) * 2));left:0;position:absolute;top:0;width:var(--size, calc(var(--unit) * 2))}._ping_1ytlq_39:after{animation-delay:1s;opacity:0}._sticky_1ytlq_65{position:absolute;top:0}
|
package/dist/assets/index15.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@keyframes
|
|
1
|
+
@keyframes _slide-down_vu5j6_1{0%{opacity:0;transform:translateY(calc(-100% - 2 * var(--unit)))}to{opacity:1;transform:translateY(0)}}._banner_vu5j6_13{align-items:center;background-color:var(--color-primary);color:var(--color-white);display:flex;font-family:var(--font-family);opacity:0;padding:var(--unit);transform:translateY(calc(-100% - 2 * var(--unit)));position:fixed;top:0;left:0;right:0;z-index:1337}._banner_vu5j6_13 button{margin-left:auto}._banner_vu5j6_13._visible_vu5j6_34{animation:_slide-down_vu5j6_1 var(--transition-duration) var(--transition-timing-function);opacity:1;transform:translateY(0)}
|
package/dist/assets/index16.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
._badge_7j4yg_1{border-radius:var(--border-radius);display:inline-block;margin:var(--unit) 0;padding:0 var(--unit-small);width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}._badge_7j4yg_1._primary_7j4yg_8{background-color:var(--color-purple-light);color:var(--color-purple-heart)}._badge_7j4yg_1._info_7j4yg_13{background-color:var(--color-green-light);color:var(--color-green-dark)}
|
package/dist/assets/index17.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
._app-link_1m7d3_1{align-items:center;border-radius:6px;border:1px solid black;color:#000;display:flex;gap:6px;height:40px;text-decoration:none!important;width:120px}._app-link_1m7d3_1 div{display:flex;flex-direction:column}._app-link_1m7d3_1._apple_1m7d3_17{padding:6.5px}._app-link_1m7d3_1._apple_1m7d3_17 img{height:24px;margin:.5px;width:20px}._app-link_1m7d3_1._apple_1m7d3_17 div{font-weight:500;margin-top:1px}._app-link_1m7d3_1._apple_1m7d3_17 div span:first-of-type{font-family:-apple-system,BlinkMacSystemFont,system-ui,Segoe UI,Roboto,Arial,sans-serif;font-size:9px;letter-spacing:0;line-height:10px}._app-link_1m7d3_1._apple_1m7d3_17 div span:nth-of-type(2){font-family:-apple-system,BlinkMacSystemFont,system-ui,Segoe UI,Roboto,Arial,sans-serif;font-size:18px;letter-spacing:-.47px;line-height:100%;white-space:nowrap}._app-link_1m7d3_1._google_1m7d3_49{padding:4px 8px}._app-link_1m7d3_1._google_1m7d3_49 img{height:23px;width:20px}._app-link_1m7d3_1._google_1m7d3_49 div{font-weight:400;gap:3px}._app-link_1m7d3_1._google_1m7d3_49 div span:first-of-type{display:inline-block;font-family:Google Sans,Roboto,Arial,Segoe UI,Fira Sans,system-ui,sans-serif;font-size:7px;letter-spacing:.2px;line-height:100%;margin-top:4px;text-transform:uppercase}._app-link_1m7d3_1._google_1m7d3_49 div span:nth-of-type(2) img{height:15px;width:74px}@media (prefers-color-scheme: dark){._app-link_1m7d3_1{background-color:#000;border-color:#a6a6a6;color:#fff}._app-link_1m7d3_1._apple_1m7d3_17 img{filter:invert()}._app-link_1m7d3_1._google_1m7d3_49 span img{filter:invert()}}
|
package/dist/assets/index18.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
:root{--size: calc(var(--unit) * 2)}._avatar_2x0un_5{background-color:var(--color-fallback);border-radius:var(--size);display:inline-block;margin:0 var(--unit-tiny);overflow:hidden;height:var(--size);width:var(--size)}._avatar_2x0un_5 span{margin:var(--unit-tiny)}
|
package/dist/assets/index19.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:
|
|
1
|
+
._card_gtmcl_1{background-color:var(--color-white);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius);cursor:pointer;box-shadow:var(--shadow-big);max-width:100%!important;overflow:hidden!important;padding:var(--padding-box);position:relative;text-overflow:ellipsis;transition:width var(--transition-duration) var(--transition-timing-function)}._card_gtmcl_1._draft_gtmcl_14{background-color:var(--color-draft)}._card_gtmcl_1._scheduled_gtmcl_18{opacity:.5}._card_gtmcl_1 ._image_gtmcl_22{margin:0 var(--negative-unit);width:100%}._card_gtmcl_1 ._image_gtmcl_22 img{height:calc(12 * var(--unit));width:calc(100% + calc(2 * var(--unit)))}._card_gtmcl_1 ._image_gtmcl_22>*{border-bottom-left-radius:0;border-bottom-right-radius:0}._card_gtmcl_1 [data-component=croppable]{margin:var(--negative-unit);width:calc(100% + calc(2 * var(--unit)))}
|
package/dist/assets/index20.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
._collapsible_1duzf_1 summary{background-image:var(--icon-svg);background-position:right center;background-repeat:no-repeat;background-size:var(--icon-size);color:var(--color-primary);cursor:pointer;list-style:none;padding-right:calc(var(--unit-large) + var(--unit-small));-webkit-user-select:none;-moz-user-select:none;user-select:none}._collapsible_1duzf_1[open]>summary{background-image:var(--icon-svg-open, var(--icon-svg))}
|
package/dist/assets/index21.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
._croppable_1ykk4_1{align-items:center;background-color:var(--color-neutral);display:flex;justify-content:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}._croppable_1ykk4_1 input[type=file]{display:none}._empty_1ykk4_14{align-items:center;display:flex;flex-direction:column;gap:var(--unit);text-align:center}._media_1ykk4_22{align-items:center;display:flex;height:100%;top:0;right:0;bottom:0;left:0;justify-content:center;position:absolute;transform:translate(var(--croppable-x, 0),var(--croppable-y, 0));width:100%}._overlay_1ykk4_33{align-items:center;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;position:absolute}._viewport_1ykk4_41{align-items:center;display:flex;height:var(--croppable-height, calc(12 * var(--unit)));justify-content:center;overflow:hidden;overscroll-behavior:none;position:relative;touch-action:none;width:100%}._draggable_1ykk4_53{cursor:grab}._dragging_1ykk4_57{cursor:grabbing}._inner_1ykk4_61{height:var(--croppable-image-height, 100%);transform:scale(var(--croppable-zoom, 1));transform-origin:center;width:var(--croppable-image-width, 100%)}._inner_1ykk4_61 img,._inner_1ykk4_61 picture,._inner_1ykk4_61 video{height:100%;user-drag:none;width:100%;-webkit-user-drag:none}._standalone_1ykk4_77{border-radius:var(--border-radius)}
|
package/dist/assets/index22.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
._dropdown_k2w7p_1{position:relative}._dropdown_k2w7p_1 ._empty_k2w7p_4,._dropdown_k2w7p_1 ._group_k2w7p_5,._dropdown_k2w7p_1 ._placeholder_k2w7p_6{color:var(--color-text-secondary)}._dropdown_k2w7p_1 ._empty_k2w7p_4{padding:var(--unit-tiny) var(--unit-small)}._dropdown_k2w7p_1 ._filter_k2w7p_14{margin:var(--unit-small);margin-bottom:var(--unit);margin-top:var(--unit-tiny);width:calc(100% - var(--unit))}._dropdown_k2w7p_1 ._group_k2w7p_5{flex-shrink:0}._dropdown_k2w7p_1 ._native_k2w7p_25{height:1px;left:0;opacity:0;pointer-events:none;position:absolute;top:0;width:1px}._dropdown_k2w7p_1 ._option_k2w7p_35{align-items:center;background-color:transparent;border:0;border-radius:var(--border-radius);color:inherit;display:flex;font-weight:400;gap:var(--unit-small);justify-content:space-between;overflow:hidden;padding:var(--unit-tiny) var(--unit-small);text-align:left;white-space:nowrap;width:100%}._dropdown_k2w7p_1 ._option_k2w7p_35:disabled{color:var(--color-fallback);cursor:not-allowed}._dropdown_k2w7p_1 ._options_k2w7p_57{margin:0;max-height:calc(var(--unit-large) * 8);overflow-y:auto;padding-right:var(--unit-tiny)}._dropdown_k2w7p_1 ._panel_k2w7p_64{background-color:var(--color-white);border:var(--border);border-radius:var(--border-radius);box-shadow:var(--shadow-big);display:grid;left:0;margin-top:var(--unit-small);max-height:80vh;overflow:hidden;padding:var(--unit-small) var(--unit-tiny);position:absolute;right:0;z-index:2}._dropdown_k2w7p_1 ._placeholder_k2w7p_6{color:var(--color-text);font-weight:400}._dropdown_k2w7p_1 ._selected_k2w7p_85{font-weight:600}._dropdown_k2w7p_1 ._text_k2w7p_89{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._dropdown_k2w7p_1 ._trigger_k2w7p_97{align-items:center;background-color:var(--color-white);background-image:var(--icon-svg);background-position:right var(--unit-small) center;background-repeat:no-repeat;background-size:var(--icon-size);display:flex;font-weight:400;min-height:calc(var(--unit-large) + var(--unit-small));overflow:hidden;padding-right:var(--unit-large);text-align:left;width:100%}._dropdown_k2w7p_1._minimal_k2w7p_113{--dropdown-muted: rgb(255 255 255 / 65%);--dropdown-panel: rgb(0 0 0 / 85%);--dropdown-placeholder: rgb(255 255 255 / 65%)}._dropdown_k2w7p_1._minimal_k2w7p_113 ._empty_k2w7p_4,._dropdown_k2w7p_1._minimal_k2w7p_113 ._group_k2w7p_5{color:var(--dropdown-muted)}._dropdown_k2w7p_1._minimal_k2w7p_113 ._filter_k2w7p_14{border:0;box-shadow:none;padding:var(--unit-tiny);padding-left:calc(var(--unit-large) - var(--unit-tiny))}._dropdown_k2w7p_1._minimal_k2w7p_113 ._option_k2w7p_35{color:var(--color-white)}._dropdown_k2w7p_1._minimal_k2w7p_113 ._option_k2w7p_35:disabled{color:#ffffff73}._dropdown_k2w7p_1._minimal_k2w7p_113 ._options_k2w7p_57{scrollbar-color:var(--color-white) transparent;scrollbar-width:thin}._dropdown_k2w7p_1._minimal_k2w7p_113 ._options_k2w7p_57::-webkit-scrollbar{width:var(--unit-small)}._dropdown_k2w7p_1._minimal_k2w7p_113 ._options_k2w7p_57::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:var(--color-white);border:2px solid transparent;border-radius:var(--border-radius)}._dropdown_k2w7p_1._minimal_k2w7p_113 ._options_k2w7p_57::-webkit-scrollbar-track{background:transparent}._dropdown_k2w7p_1._minimal_k2w7p_113 ._panel_k2w7p_64{background-color:var(--dropdown-panel);border:none;color:var(--color-white);margin-top:var(--negative-unit-small)}._dropdown_k2w7p_1._minimal_k2w7p_113 ._panel_k2w7p_64 input{background-color:#00000059;border-color:var(--color-fallback);color:var(--color-white)}._dropdown_k2w7p_1._minimal_k2w7p_113 ._panel_k2w7p_64 input::-moz-placeholder{color:var(--dropdown-muted)}._dropdown_k2w7p_1._minimal_k2w7p_113 ._panel_k2w7p_64 input::placeholder{color:var(--dropdown-muted)}._dropdown_k2w7p_1._minimal_k2w7p_113 ._placeholder_k2w7p_6{color:var(--dropdown-placeholder)}._dropdown_k2w7p_1._minimal_k2w7p_113 ._trigger_k2w7p_97{background-color:#0000008c;border:none;color:var(--color-white);margin-bottom:var(--unit);padding:var(--unit-tiny) var(--unit-large) var(--unit-tiny) var(--unit)}
|
package/dist/assets/index33.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
._button_1cw1v_1{align-items:center;background-color:var(--color-neutral-light);border-radius:var(--border-radius);border:none;box-shadow:var(--shadow);color:var(--color-outer-space);display:inline;font-weight:var(--font-weight-semibold);padding:calc(var(--unit) - 2px);transition:all var(--transition-duration) var(--transition-timing-function)}._button_1cw1v_1:disabled{cursor:not-allowed;opacity:.5}._danger_1cw1v_19{background-color:var(--color-red);color:var(--color-white)}._danger_1cw1v_19:not([disabled]):hover{background-color:var(--color-mahogany)}._danger_1cw1v_19 span{margin-left:var(--unit-small)}._minimal_1cw1v_32{background-color:transparent;border-radius:var(--border-radius);border:none;box-shadow:none}._primary_1cw1v_39{background-color:var(--color-primary);color:var(--color-white)}._primary_1cw1v_39:not([disabled]):hover{background-color:var(--color-primary-dark)}
|
package/dist/assets/index4.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
@view-transition{navigation: auto;}body,html{background-color:var(--color-wild-sand);box-sizing:border-box;align-items:center;margin:0;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}._layout_3jh9m_16{margin:0 auto;opacity:1;transition:opacity var(--transition-duration) var(--transition-timing-function),width var(--transition-duration) var(--transition-timing-function);width:100%}@media (width >= 960px){._layout_3jh9m_16[data-public]{padding:0 0 0 var(--unit-large)}}._layout_3jh9m_16._dashboard_3jh9m_30{padding-right:var(--unit)}._layout_3jh9m_16._home_3jh9m_34{-moz-column-gap:var(--unit-large);column-gap:var(--unit-large);display:grid;grid-template-columns:1fr calc(20 * var(--unit));position:relative;width:calc(96 * var(--unit));z-index:0}._layout_3jh9m_16._home_3jh9m_34:after{background:#fff;bottom:0;content:"";pointer-events:none;position:fixed;right:0;top:0;width:max(0px,calc((100vw - calc(96 * var(--unit))) / 2));z-index:-1}._layout_3jh9m_16._home_3jh9m_34>div{width:100%}._layout_3jh9m_16._home_3jh9m_34>div>article{margin:calc(3 * var(--unit)) auto;max-width:calc(40 * var(--unit));width:100%}._layout_3jh9m_16._home_3jh9m_34>div>article nav{margin:var(--unit) 0}._layout_3jh9m_16 form{max-width:calc(40 * var(--unit))}@media (width > 1280px){._layout_3jh9m_16._home_3jh9m_34{-moz-column-gap:calc(4 * var(--unit));column-gap:calc(4 * var(--unit))}}@media (width <= 960px){body{background:var(--color-wild-sand)}._layout_3jh9m_16{padding-left:var(--unit);padding-right:var(--unit);padding-top:calc(var(--unit) * 4)}._layout_3jh9m_16>div>nav{left:50%;transform:translate(-50%);position:fixed;top:var(--unit)}._layout_3jh9m_16._home_3jh9m_34{grid-template-columns:1fr;grid-template-rows:auto auto;row-gap:var(--unit)}._layout_3jh9m_16._home_3jh9m_34>aside{background-color:transparent;margin-top:calc(-1 * calc(var(--unit) * 3));min-height:auto;padding-top:0;padding-bottom:calc(6 * var(--unit))}._layout_3jh9m_16._home_3jh9m_34>aside figure{display:none}._layout_3jh9m_16._home_3jh9m_34>article{margin-bottom:calc(var(--unit) * 3);margin-top:calc(var(--unit) * 3);max-width:100vw}}
|
package/dist/assets/index41.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
._select_1gu7m_1{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--color-white);background-image:var(--icon-svg);background-position:right var(--unit-small) center;background-repeat:no-repeat;background-size:var(--icon-size);border:var(--border);border-radius:var(--border-radius);box-shadow:var(--shadow);padding:var(--unit);padding-right:var(--unit-large);text-overflow:ellipsis}._select_1gu7m_1:has(option[value=""]:checked){color:var(--color-placeholder-text)}._select_1gu7m_1 option{padding-right:var(--unit-large)}._label_1gu7m_24{display:block}._required_1gu7m_28:after{content:"*";color:var(--color-mahogany);font-size:calc(var(--unit) * 1.5);left:var(--unit-tiny);position:relative;top:var(--unit-tiny)}
|
package/dist/assets/index42.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
._label_b5yys_1{display:block}._textarea_b5yys_5{field-sizing:content;font-size:var(--font-size);height:auto;min-height:calc((var(--min-rows) * var(--unit) * 1.25) + (2 * var(--unit)));max-height:calc((var(--max-rows) * var(--unit) * 1.25) + (2 * var(--unit)));overflow-y:auto;resize:none;transition:height var(--transition-duration) var(--transition-timing-function);width:100%;word-break:break-word}
|
package/dist/assets/index43.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
._toast_tav58_1{align-items:center;border-radius:var(--border-radius);box-shadow:var(--shadow);cursor:pointer;display:flex;gap:var(--unit);margin:var(--unit);margin-bottom:0;opacity:0;overflow:hidden;padding:var(--unit);transform:translateY(var(--negative-unit-large));transition:all var(--transition-duration-long) var(--transition-timing-function);-webkit-user-select:none;-moz-user-select:none;user-select:none}._active_tav58_18{opacity:1;padding:var(--unit);transform:translateY(0)}._error_tav58_24{background-color:var(--color-red)}._info_tav58_28{background-color:var(--color-neutral);color:var(--color-text-secondary)}._success_tav58_33{background-color:var(--color-green)}._error_tav58_24,._success_tav58_33{color:var(--color-white)}._error_tav58_24>span,._success_tav58_33>span{background-color:var(--color-white)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
._toolbar_104fz_1{-webkit-backdrop-filter:blur(var(--unit-tiny));backdrop-filter:blur(var(--unit-tiny));background-color:var(--color-translucent);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius);position:absolute;right:var(--unit-tiny);top:var(--unit-tiny)}._toolbar_104fz_1 [data-component=button][data-active=true]{background-color:var(--color-surface-active);box-shadow:inset 0 0 2px var(--color-primary-dark)}._toolbar_104fz_1 [data-component=button][data-active=true] [data-component=icon]{background-color:var(--color-primary-dark)}._toolbar_104fz_1 [data-component=button]:not([disabled]):hover{background-color:var(--color-surface-active)}._default_104fz_26 button{border-radius:var(--border-radius);display:inline-block}._editor_104fz_33{background-color:var(--color-neutral-light);border:none;border-bottom:var(--border-width) solid var(--color-border);border-radius:var(--border-radius) var(--border-radius) 0 0;overflow:hidden;position:initial;right:0;top:0}._editor_104fz_33 button{display:inline-block}._editor_104fz_33 button:first-child{border-top-left-radius:var(--border-radius)}
|
package/dist/assets/index5.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
._image_nnuov_1{opacity:0;transition:opacity var(--duration-override, var(--transition-duration)) var(--transition-timing-function);will-change:opacity}
|
package/dist/assets/index6.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
._header_1tfsg_1{color:var(--color-text-primary);font-weight:var(--font-weight-bold)}._header_1tfsg_1>*{display:block}._header_1tfsg_1 h1{font-size:var(--font-size-h1);letter-spacing:-1.2px}._header_1tfsg_1 h2,._header_1tfsg_1 sup{font-size:var(--font-size-h2)}._header_1tfsg_1 h3{font-size:var(--font-size-h3)}._header_1tfsg_1 sub{font-weight:var(--font-weight-normal);margin-top:var(--negative-unit)}._header_1tfsg_1 sub[data-clipboard]{align-items:center;cursor:copy;display:flex;gap:var(--unit-small);padding:var(--unit-small) 0}._header_1tfsg_1 sup{margin-bottom:var(--negative-unit)}._header_1tfsg_1 sub,._header_1tfsg_1 sup{color:var(--color-text-secondary)}._header_1tfsg_1 [data-component=badge]{float:right;font-size:var(--font-size);font-weight:var(--font-weight-normal);margin:0}._header_1tfsg_1 [data-component=toggle]{float:right}@media (width >= 960px){._jumbo_1tfsg_58{margin:calc(var(--unit) * 3) 0}._jumbo_1tfsg_58 h1{font-size:calc(var(--unit) * 4);letter-spacing:-2.4px;line-height:1.2em}}
|
package/dist/assets/index7.css
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
._header_1tfsg_1{color:var(--color-text-primary);font-weight:var(--font-weight-bold)}._header_1tfsg_1>*{display:block}._header_1tfsg_1 h1{font-size:var(--font-size-h1);letter-spacing:-1.2px}._header_1tfsg_1 h2,._header_1tfsg_1 sup{font-size:var(--font-size-h2)}._header_1tfsg_1 h3{font-size:var(--font-size-h3)}._header_1tfsg_1 sub{font-weight:var(--font-weight-normal);margin-top:var(--negative-unit)}._header_1tfsg_1 sub[data-clipboard]{align-items:center;cursor:copy;display:flex;gap:var(--unit-small);padding:var(--unit-small) 0}._header_1tfsg_1 sup{margin-bottom:var(--negative-unit)}._header_1tfsg_1 sub,._header_1tfsg_1 sup{color:var(--color-text-secondary)}._header_1tfsg_1 [data-component=badge]{float:right;font-size:var(--font-size);font-weight:var(--font-weight-normal);margin:0}._header_1tfsg_1 [data-component=toggle]{float:right}@media (width >= 960px){._jumbo_1tfsg_58{margin:calc(var(--unit) * 3) 0}._jumbo_1tfsg_58 h1{font-size:calc(var(--unit) * 4);letter-spacing:-2.4px;line-height:1.2em}}
|
package/dist/assets/index8.css
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@keyframes _bar-grow_18yw9_1{0%{transform:scaleY(0)}to{transform:scaleY(1)}}._graph_18yw9_11{--graph-columns: 1;--graph-height: calc(var(--unit) * 16);display:grid;gap:var(--unit-small);overflow-x:auto}._plot_18yw9_20{align-items:end;display:grid;gap:var(--unit-small);grid-template-columns:repeat(var(--graph-columns),minmax(var(--unit-large),1fr));list-style:none;min-height:calc(var(--graph-height) + var(--unit-large));width:max(100%,calc(var(--graph-columns) * var(--unit-large)))}._item_18yw9_30{display:grid;gap:var(--unit-tiny);min-width:0}._column_18yw9_36{align-items:end;display:grid;gap:var(--unit-tiny);grid-template-rows:auto var(--graph-height);min-height:0}._value_18yw9_44{color:var(--color-text-secondary);font-size:var(--font-size-small);margin-bottom:var(--unit);overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}._track_18yw9_54{border-radius:var(--border-radius);height:100%;overflow:hidden;position:relative}._bar_18yw9_61{--bar-color: var(--color-electric-violet);--bar-delay: 0ms;--bar-height: 0%;animation:_bar-grow_18yw9_1 calc(var(--transition-duration) * 2) var(--transition-timing-function) var(--bar-delay) forwards;background:linear-gradient(180deg,transparent,rgb(255 255 255 / 15%)),var(--bar-color);border-radius:inherit;bottom:0;display:block;height:var(--bar-height);left:0;max-height:100%;position:absolute;transform:scaleY(0);transform-origin:bottom center;transition:height var(--transition-duration) var(--transition-timing-function);width:100%}._label_18yw9_82{color:var(--color-text-secondary);font-size:var(--font-size-small);overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}._is-loading_18yw9_91{display:grid;min-height:var(--graph-height);place-items:center}
|
package/dist/assets/index9.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
._footer_uv5cc_1{bottom:0;margin:var(--unit) 0;position:fixed}
|
|
@@ -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/index18.css');const a=require("react/jsx-runtime"),o=require("../figure/index.cjs"),c=require("../icon/index.cjs"),i=require("../link/index.cjs"),u="_avatar_2x0un_5",v={avatar:u},l=({imageUrl:t,label:s,link:e})=>{const n=s||"User Avatar",r=a.jsx("span",{className:v.avatar,children:a.jsx(o.Figure,{label:n,children:t?a.jsx("img",{src:t,alt:n}):a.jsx(c.Icon,{name:"user",variant:e?"white":"default"})})});return e?a.jsx(i.Link,{to:e,"data-component":"avatar",children:r}):r};exports.Avatar=l;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -2,7 +2,7 @@ import { jsx as a } from "react/jsx-runtime";
|
|
|
2
2
|
import { Figure as s } from "../figure/index.js";
|
|
3
3
|
import { Icon as c } from "../icon/index.js";
|
|
4
4
|
import { Link as m } from "../link/index.js";
|
|
5
|
-
import '../../assets/
|
|
5
|
+
import '../../assets/index18.css';const i = "_avatar_2x0un_5", v = {
|
|
6
6
|
avatar: i
|
|
7
7
|
}, f = ({
|
|
8
8
|
imageUrl: t,
|
|
@@ -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/index19.css');const t=require("react/jsx-runtime"),n=require("../../classix-5H4IWnMA.cjs"),l=require("../figure/index.cjs"),i="_card_gtmcl_1",o="_draft_gtmcl_14",u="_scheduled_gtmcl_18",_="_image_gtmcl_22",e={card:i,draft:o,scheduled:u,image:_},m=({children:r,draft:s,image:c,onClick:d,scheduled:a})=>t.jsxs("article",{className:n.t(e.card,s&&e.draft,a&&e.scheduled),onClick:d,"data-component":"card",children:[c&&t.jsx(l.Figure,{className:e.image,children:c}),r]});exports.Card=m;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs as s, jsx as m } from "react/jsx-runtime";
|
|
2
2
|
import { t as o } from "../../classix-DG18itHa.js";
|
|
3
3
|
import { Figure as l } from "../figure/index.js";
|
|
4
|
-
import '../../assets/
|
|
4
|
+
import '../../assets/index19.css';const _ = "_card_gtmcl_1", n = "_draft_gtmcl_14", i = "_scheduled_gtmcl_18", g = "_image_gtmcl_22", c = {
|
|
5
5
|
card: _,
|
|
6
6
|
draft: n,
|
|
7
7
|
scheduled: i,
|
|
@@ -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/index20.css');const r=require("react/jsx-runtime"),s=require("../../icons-C_cX1FYp.cjs"),n=require("../../utils-DqVa4K58.cjs"),i="_collapsible_1duzf_1",a={collapsible:i},p=({children:c,disabled:o,label:e})=>{const l=n.resolveColor("--color-primary"),t=o?void 0:{"--icon-svg":s.iconSVG("chevron").replace("currentColor",l),"--icon-svg-open":s.iconSVG("chevron").replace("%3Cpath","%3Cpath transform='rotate(180 12 12)'").replace("currentColor",l)};return r.jsxs("details",{className:a.collapsible,open:o||void 0,"data-component":"collapsible",children:[r.jsx("summary",{style:t,children:e&&e}),c]})};exports.Collapsible=p;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../src/components/_collapsible/index.tsx"],"sourcesContent":["import React from 'react';\n\nimport {
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../src/components/_collapsible/index.tsx"],"sourcesContent":["import React from 'react';\n\nimport { iconSVG } from '@/components/icon/icons';\nimport { resolveColor } from '@/utils';\n\nimport styles from './styles.module.css';\n\nexport type CollapsibleProps = {\n children: React.ReactNode;\n disabled?: boolean;\n label?: React.ReactNode;\n};\n\ntype withVars = React.CSSProperties & {\n '--icon-svg'?: string;\n '--icon-svg-open'?: string;\n};\n\nexport const Collapsible = ({ children, disabled, label }: CollapsibleProps) => {\n const iconColor = resolveColor('--color-primary');\n const withVars: withVars | undefined = disabled\n ? undefined\n : {\n '--icon-svg': iconSVG('chevron').replace('currentColor', iconColor),\n '--icon-svg-open': iconSVG('chevron')\n .replace('%3Cpath', \"%3Cpath transform='rotate(180 12 12)'\")\n .replace('currentColor', iconColor),\n };\n\n return (\n <details\n className={styles.collapsible}\n open={disabled || undefined}\n >\n <summary style={withVars}>{label && label}</summary>\n\n {children}\n </details>\n );\n};\n"],"names":["Collapsible","children","disabled","label","iconColor","resolveColor","withVars","undefined","iconSVG","replace","jsxs","styles","collapsible","jsx"],"mappings":"4OAkBaA,EAAcA,CAAC,CAAEC,SAAAA,EAAUC,SAAAA,EAAUC,MAAAA,CAAwB,IAAM,CAC9E,MAAMC,EAAYC,EAAAA,aAAa,iBAAiB,EAC1CC,EAAiCJ,EACnCK,OACA,CACE,aAAcC,EAAAA,QAAQ,SAAS,EAAEC,QAAQ,eAAgBL,CAAS,EAClE,kBAAmBI,EAAAA,QAAQ,SAAS,EACjCC,QAAQ,UAAW,uCAAuC,EAC1DA,QAAQ,eAAgBL,CAAS,CAAA,EAG1C,OACEM,OAAC,WACC,UAAWC,EAAOC,YAClB,KAAMV,GAAYK,OAAU,iBAAA,cAE5B,SAAA,CAAAM,EAAAA,IAAC,UAAA,CAAQ,MAAOP,EAAWH,SAAAA,GAASA,EAAM,EAEzCF,CAAAA,EACH,CAEJ"}
|
|
@@ -1,19 +1,23 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
1
|
+
import { jsxs as t, jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import { i as e } from "../../icons-DfmpRbxE.js";
|
|
3
|
+
import { r as n } from "../../utils-BFlnRYx7.js";
|
|
4
|
+
import '../../assets/index20.css';const i = "_collapsible_1duzf_1", p = {
|
|
4
5
|
collapsible: i
|
|
5
|
-
},
|
|
6
|
-
children:
|
|
7
|
-
disabled:
|
|
8
|
-
label:
|
|
9
|
-
}) =>
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
6
|
+
}, C = ({
|
|
7
|
+
children: s,
|
|
8
|
+
disabled: o,
|
|
9
|
+
label: r
|
|
10
|
+
}) => {
|
|
11
|
+
const l = n("--color-primary"), c = o ? void 0 : {
|
|
12
|
+
"--icon-svg": e("chevron").replace("currentColor", l),
|
|
13
|
+
"--icon-svg-open": e("chevron").replace("%3Cpath", "%3Cpath transform='rotate(180 12 12)'").replace("currentColor", l)
|
|
14
|
+
};
|
|
15
|
+
return /* @__PURE__ */ t("details", { className: p.collapsible, open: o || void 0, "data-component": "collapsible", children: [
|
|
16
|
+
/* @__PURE__ */ a("summary", { style: c, children: r && r }),
|
|
17
|
+
s
|
|
18
|
+
] });
|
|
19
|
+
};
|
|
16
20
|
export {
|
|
17
|
-
|
|
21
|
+
C as Collapsible
|
|
18
22
|
};
|
|
19
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/_collapsible/index.tsx"],"sourcesContent":["import React from 'react';\n\nimport {
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/_collapsible/index.tsx"],"sourcesContent":["import React from 'react';\n\nimport { iconSVG } from '@/components/icon/icons';\nimport { resolveColor } from '@/utils';\n\nimport styles from './styles.module.css';\n\nexport type CollapsibleProps = {\n children: React.ReactNode;\n disabled?: boolean;\n label?: React.ReactNode;\n};\n\ntype withVars = React.CSSProperties & {\n '--icon-svg'?: string;\n '--icon-svg-open'?: string;\n};\n\nexport const Collapsible = ({ children, disabled, label }: CollapsibleProps) => {\n const iconColor = resolveColor('--color-primary');\n const withVars: withVars | undefined = disabled\n ? undefined\n : {\n '--icon-svg': iconSVG('chevron').replace('currentColor', iconColor),\n '--icon-svg-open': iconSVG('chevron')\n .replace('%3Cpath', \"%3Cpath transform='rotate(180 12 12)'\")\n .replace('currentColor', iconColor),\n };\n\n return (\n <details\n className={styles.collapsible}\n open={disabled || undefined}\n >\n <summary style={withVars}>{label && label}</summary>\n\n {children}\n </details>\n );\n};\n"],"names":["Collapsible","children","disabled","label","iconColor","resolveColor","withVars","undefined","iconSVG","replace","jsxs","styles","collapsible","jsx"],"mappings":";;;;;GAkBaA,IAAcA,CAAC;AAAA,EAAEC,UAAAA;AAAAA,EAAUC,UAAAA;AAAAA,EAAUC,OAAAA;AAAwB,MAAM;AAC9E,QAAMC,IAAYC,EAAa,iBAAiB,GAC1CC,IAAiCJ,IACnCK,SACA;AAAA,IACE,cAAcC,EAAQ,SAAS,EAAEC,QAAQ,gBAAgBL,CAAS;AAAA,IAClE,mBAAmBI,EAAQ,SAAS,EACjCC,QAAQ,WAAW,uCAAuC,EAC1DA,QAAQ,gBAAgBL,CAAS;AAAA,EAAA;AAG1C,SACE,gBAAAM,EAAC,aACC,WAAWC,EAAOC,aAClB,MAAMV,KAAYK,QAAU,kBAAA,eAE5B,UAAA;AAAA,IAAA,gBAAAM,EAAC,WAAA,EAAQ,OAAOP,GAAWH,UAAAA,KAASA,GAAM;AAAA,IAEzCF;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/index21.css');const d=require("react/jsx-runtime"),tt=require("../../classix-5H4IWnMA.cjs"),c=require("react"),mt=require("../button/index.cjs"),pt=require("../figure/index.cjs"),gt=require("../icon/index.cjs"),vt="_croppable_1ykk4_1",Ot="_empty_1ykk4_14",St="_media_1ykk4_22",Ut="_overlay_1ykk4_33",It="_viewport_1ykk4_41",Pt="_draggable_1ykk4_53",Yt="_dragging_1ykk4_57",Xt="_inner_1ykk4_61",At="_standalone_1ykk4_77",z={croppable:vt,empty:Ot,media:St,overlay:Ut,viewport:It,draggable:Pt,dragging:Yt,inner:Xt,standalone:At},Dt=192,B={offset:{x:0,y:0},zoom:1},xt="Select image",O=10,D=.1,Wt=.92,m=(h,x,R)=>Math.min(R,Math.max(x,h)),Ht=h=>new Promise((x,R)=>{const f=URL.createObjectURL(h),a=new globalThis.Image;a.onload=()=>{URL.revokeObjectURL(f),x(a)},a.onerror=()=>{URL.revokeObjectURL(f),R(new Error("croppable-image-load-failed"))},a.src=f}),Zt=async({file:h,fill:x,transform:R,viewport:f})=>{const a=await Ht(h),S=f.width/a.naturalWidth,M=f.height/a.naturalHeight,y=Math.max(S,M),W=a.naturalWidth*y,k=a.naturalHeight*y,Q=x==="width"?Math.max(D,S/y):x==="height"?Math.max(D,M/y):D,E=m(R.zoom,Q,O),w=y*E,b=W*E,N=k*E,p=(f.width-b)/2+R.offset.x,j=(f.height-N)/2+R.offset.y,U=m((0-p)/w,0,a.naturalWidth),L=m((0-j)/w,0,a.naturalHeight),T=m(f.width/w,1,Math.max(1,a.naturalWidth-U)),s=m(f.height/w,1,Math.max(1,a.naturalHeight-L)),_=document.createElement("canvas"),u=_.getContext("2d");if(!u)throw new Error("croppable-image-context-missing");_.width=Math.max(1,Math.round(T)),_.height=Math.max(1,Math.round(s)),u.drawImage(a,U,L,T,s,0,0,_.width,_.height);const I=h.type.startsWith("image/")?h.type:"image/jpeg",P=await new Promise(q=>{_.toBlob(q,I,Wt)});if(!P)throw new Error("croppable-image-export-failed");return new globalThis.File([P],h.name,{lastModified:Date.now(),type:P.type||I})},Bt=({children:h,fill:x="none",height:R,image:f,label:a,onCroppableChange:S,onFileChange:M,onImageChange:y,onTransformChange:W,transform:k,standalone:Q})=>{const E=c.useRef(null),w=c.useRef(null),b=c.useRef(null),N=c.useRef(null),p=c.useRef(y),j=c.useRef(null),U=c.useRef(null),L=c.useRef(null),T=c.useRef(new Map),s=c.useRef(B),_=c.useRef(null),[u,I]=c.useState(null),[P,q]=c.useState(null),[et,V]=c.useState(!1),[wt,nt]=c.useState(B),[F,rt]=c.useState(null),[g,yt]=c.useState({width:0,height:0}),H=(()=>{const t=g.width,n=g.height;if(!t||!n)return{width:0,height:0,minZoom:D};if(!u)return{width:t,height:n,minZoom:D};const r=t/u.width,e=n/u.height,o=Math.max(r,e),i=x==="width"?r/o:x==="height"?e/o:0;return{width:u.width*o,height:u.height*o,minZoom:Math.max(D,i)}})(),Y=H.minZoom,Z=k??wt,X=m(Z.zoom,Y,O),$=P??f??null,ot=!h&&!!f&&!P&&!F,G=!ot,ct=h??($?d.jsx("img",{alt:"",draggable:!1,onLoad:t=>{const n=t.currentTarget;n.naturalWidth&&n.naturalHeight&&I({width:n.naturalWidth,height:n.naturalHeight})},src:$}):null),A=ct==null,J=(t,n)=>{const{maxX:r,maxY:e}=it(n);return{x:m(t.x,-r,r),y:m(t.y,-e,e)}},st=(t,n)=>{const r=_.current;if(!r)return null;const e=r.getBoundingClientRect(),o=t-e.left-e.width/2,i=n-e.top-e.height/2;return{x:o,y:i}},bt=(t,n,r,e)=>{const o=m(n,Y,O),i=m(r,Y,O);if(o===0)return t;const l=i/o;return{x:(1-l)*e.x+l*t.x,y:(1-l)*e.y+l*t.y}},_t=(t,n,r)=>{const e=s.current.zoom,o=m(t,Y,O),i=s.current.offset,l=r?bt(i,e,o,r):n,v=J(l,o);s.current={zoom:o,offset:v},k||nt({zoom:o,offset:v}),W==null||W({zoom:o,offset:v})},K=(t,n,r)=>{U.current={zoom:t,offset:n,anchor:r??null},w.current==null&&(w.current=window.requestAnimationFrame(()=>{w.current=null;const e=U.current;U.current=null;const o=(e==null?void 0:e.zoom)??s.current.zoom,i=(e==null?void 0:e.offset)??s.current.offset,l=(e==null?void 0:e.anchor)??null;_t(o,i,l)}))},zt=t=>{if(A||!G)return;const n=t.ctrlKey?.001:25e-5,r=s.current.zoom*Math.exp(-t.deltaY*n),e=st(t.clientX,t.clientY);K(r,s.current.offset,e)},it=t=>{const n=g.width,r=g.height;if(!n||!r)return{maxX:0,maxY:0};const e=m(t,Y,O),o=H.width*e,i=H.height*e,l=Math.max(0,(o-n)/2),v=Math.max(0,(i-r)/2);return{maxX:l,maxY:v}},Rt=t=>{var o;const n=t.target,r=((o=n.files)==null?void 0:o[0])??null;if(j.current&&(URL.revokeObjectURL(j.current),j.current=null),!r){q(null),rt(null),M==null||M(null),n.value="";return}const e=URL.createObjectURL(r);j.current=e,q(e),I(null),rt(r),K(B.zoom,B.offset),s.current=B,M==null||M(r),n.value=""},Mt=t=>{if(!(A||!G||t.pointerType==="mouse"&&t.button!==0)){if(t.currentTarget.setPointerCapture(t.pointerId),t.pointerType==="touch"){const n=T.current;if(n.set(t.pointerId,{x:t.clientX,y:t.clientY}),n.size===2){b.current=null,E.current=null,V(!1);const[r,e]=Array.from(n.values());L.current=Math.hypot(r.x-e.x,r.y-e.y);return}}E.current=t.pointerId,b.current={x:t.clientX,y:t.clientY,originX:s.current.offset.x,originY:s.current.offset.y}}},kt=t=>{if(A||!G)return;if(t.pointerType==="touch"){const o=T.current;if(!o.has(t.pointerId))return;if(o.set(t.pointerId,{x:t.clientX,y:t.clientY}),o.size===2){const[i,l]=Array.from(o.values()),v=i.x-l.x,Et=i.y-l.y,ht=Math.hypot(v,Et),ft={x:(i.x+l.x)/2,y:(i.y+l.y)/2};if(L.current){const jt=ht/L.current,Lt=s.current.zoom*jt,Tt=st(ft.x,ft.y);K(Lt,s.current.offset,Tt)}L.current=ht;return}}if(E.current!==t.pointerId||!b.current||!C)return;const n=t.clientX-b.current.x,r=t.clientY-b.current.y,e=Math.abs(n)+Math.abs(r);!et&&e>2&&V(!0),!(e<=1)&&K(s.current.zoom,{x:b.current.originX+n,y:b.current.originY+r})},at=t=>{t.pointerType==="touch"&&(T.current.delete(t.pointerId),T.current.size<2&&(L.current=null)),E.current===t.pointerId&&(E.current=null,b.current=null,V(!1))};c.useEffect(()=>{if(!k)return;const t=m(k.zoom,Y,O);s.current={zoom:t,offset:J(k.offset,t)}},[k,g.width,g.height,u==null?void 0:u.width,u==null?void 0:u.height]),c.useEffect(()=>()=>{j.current&&URL.revokeObjectURL(j.current)},[]),c.useEffect(()=>{const t=_.current;if(!t)return;const n=()=>{const o=t.getBoundingClientRect();yt(i=>i.width===o.width&&i.height===o.height?i:{width:o.width,height:o.height}),S&&S(o)};n();const r=()=>n();if(window.addEventListener("scroll",r,!0),typeof ResizeObserver>"u"){const o=()=>n();return window.addEventListener("resize",o),()=>{window.removeEventListener("resize",o),window.removeEventListener("scroll",r,!0)}}const e=new ResizeObserver(()=>n());return e.observe(t),()=>{e.disconnect(),window.removeEventListener("scroll",r,!0)}},[S]),c.useEffect(()=>{if(k)return;const t=s.current.offset,n=J(t,X);t.x===n.x&&t.y===n.y||(s.current={zoom:s.current.zoom,offset:n},nt(r=>({...r,offset:n})))},[X,u,g.width,g.height]),c.useEffect(()=>{$||I(null)},[$]),c.useEffect(()=>{p.current=y},[y]),c.useEffect(()=>{var r;if(!y)return;if(!F||!g.width||!g.height||h){(r=p.current)==null||r.call(p,null);return}let t=!0;const n=window.setTimeout(()=>{Zt({file:F,fill:x,transform:{zoom:X,offset:Z.offset},viewport:g}).then(e=>{var o;t&&((o=p.current)==null||o.call(p,e))}).catch(()=>{var e;t&&((e=p.current)==null||e.call(p,null))})},75);return()=>{t=!1,window.clearTimeout(n)}},[h,X,Z.offset,x,F,g]),c.useEffect(()=>()=>{w.current!=null&&(window.cancelAnimationFrame(w.current),w.current=null)},[]);const ut=it(X),C=!A&&G&&(ut.maxX>0||ut.maxY>0),lt=()=>{var t;return(t=N.current)==null?void 0:t.click()},dt=t=>{t.preventDefault(),t.stopPropagation(),lt()};return d.jsxs("div",{className:tt.t(z.croppable,Q&&z.standalone),onClick:()=>{A&<()},"data-component":"croppable",children:[d.jsx("input",{accept:"image/*",onChange:Rt,ref:N,type:"file"}),d.jsx("div",{className:z.viewport,ref:_,onDragStart:t=>t.preventDefault(),onPointerDown:Mt,onPointerMove:kt,onPointerUp:at,onPointerCancel:at,onWheel:zt,style:{"--croppable-height":`${R??Dt}px`,"--croppable-zoom":X,"--croppable-x":`${Z.offset.x}px`,"--croppable-y":`${Z.offset.y}px`,...u?{"--croppable-image-width":`${H.width}px`,"--croppable-image-height":`${H.height}px`}:null},children:A?d.jsxs("div",{className:z.empty,children:[d.jsx(pt.Figure,{children:d.jsx(gt.Icon,{name:"image",size:"large"})}),d.jsx(mt.Button,{onClick:dt,children:a??xt})]}):d.jsxs("div",{className:tt.t(z.media,C&&z.draggable,C&&et&&z.dragging),children:[d.jsx("div",{className:tt.t(z.inner),children:ct}),ot&&d.jsx("div",{className:z.overlay,children:d.jsxs("div",{className:z.empty,children:[d.jsx(pt.Figure,{children:d.jsx(gt.Icon,{name:"image",size:"large"})}),d.jsx(mt.Button,{onClick:dt,children:a??xt})]})})]})})]})};exports.Croppable=Bt;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -4,7 +4,7 @@ import { useRef as y, useState as S, useEffect as E } from "react";
|
|
|
4
4
|
import { Button as wt } from "../button/index.js";
|
|
5
5
|
import { Figure as yt } from "../figure/index.js";
|
|
6
6
|
import { Icon as xt } from "../icon/index.js";
|
|
7
|
-
import '../../assets/
|
|
7
|
+
import '../../assets/index21.css';const Pt = "_croppable_1ykk4_1", Yt = "_empty_1ykk4_14", Xt = "_media_1ykk4_22", At = "_overlay_1ykk4_33", Dt = "_viewport_1ykk4_41", Wt = "_draggable_1ykk4_53", Ht = "_dragging_1ykk4_57", St = "_inner_1ykk4_61", Zt = "_standalone_1ykk4_77", M = {
|
|
8
8
|
croppable: Pt,
|
|
9
9
|
empty: Yt,
|
|
10
10
|
media: Xt,
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index22.css');const i=require("react/jsx-runtime"),E=require("../../classix-5H4IWnMA.cjs"),o=require("react"),F=require("../button/index.cjs"),U=require("../../icons-C_cX1FYp.cjs"),X=require("../input/index.cjs"),Y=require("../../styles.module-CwroCNAt.cjs"),Z=require("../list/index.cjs"),Q=require("../../index-CfK1ATlt.cjs"),W=require("../../utils-DqVa4K58.cjs"),ee="_dropdown_k2w7p_1",te="_empty_k2w7p_4",ne="_group_k2w7p_5",re="_placeholder_k2w7p_6",se="_filter_k2w7p_14",oe="_native_k2w7p_25",le="_option_k2w7p_35",ie="_options_k2w7p_57",ce="_panel_k2w7p_64",ae="_selected_k2w7p_85",ue="_text_k2w7p_89",pe="_trigger_k2w7p_97",de="_minimal_k2w7p_113",c={dropdown:ee,empty:te,group:ne,placeholder:re,filter:se,native:oe,option:le,options:ie,panel:ce,selected:ae,text:ue,trigger:pe,minimal:de};function M(e,r){return{"--icon-svg":U.iconSVG(e).replace("currentColor",r)}}function k(e){return typeof e=="string"||typeof e=="number"?String(e):Array.isArray(e)?e.map(k).join(" "):o.isValidElement(e)?k(e.props.children):""}function fe(e){return o.isValidElement(e)&&e.type==="option"}function me(e){return o.isValidElement(e)&&e.type==="optgroup"}function he(e){return o.isValidElement(e)&&e.type===o.Fragment}function _e(e){return o.isValidElement(e)&&e.type===Q.Select}function N(e,r,s=!1){const l=[];return o.Children.forEach(e,t=>{if(he(t)){l.push(...N(t.props.children,r,s));return}if(fe(t)){const p=k(t.props.children).trim(),d=t.props.value!=null?String(t.props.value):p;l.push({disabled:s||!!t.props.disabled,groupLabel:r,hidden:!!t.props.hidden,isPlaceholder:!!(t.props.hidden&&d===""),label:t.props.children,selected:!!t.props.selected,text:p,value:d});return}me(t)&&l.push(...N(t.props.children,t.props.label,s||!!t.props.disabled))}),l}function ge(e){const r=e.trim();if(!r)return null;const l=[.../[*?]/.test(r)?r:`*${r}*`].map(t=>t==="*"?".*":t==="?"?".":t.replace(/[|\\{}()[\]^$+.,]/g,"\\$&")).join("");return new RegExp(`^${l}$`,"i")}function we(e,r){const s=ge(r),l=e.filter(t=>!t.hidden&&!t.isPlaceholder);return s?l.filter(t=>s.test([t.groupLabel,t.text,t.value].filter(Boolean).join(" "))):l}function ve(e,r){return e.find(s=>s.value===r)??e.find(s=>s.isPlaceholder)??e[0]}function xe(e,r,s){var t;if(r!=null)return String(r);if(s!=null)return String(s);const l=e.find(p=>p.selected);return l?l.value:((t=e[0])==null?void 0:t.value)??""}function ye(e){if(_e(e)){const{children:r,placeholder:s,...l}=e.props;return{children:i.jsxs(i.Fragment,{children:[s&&i.jsx("option",{hidden:!0,value:"",children:s}),r]}),props:l}}return{children:e.props.children,props:e.props}}const be=({children:e,className:r,emptyLabel:s="No matches found",searchPlaceholder:l="Filter",variant:t="default",...p})=>{const d=ye(e),{defaultValue:z,onChange:g,value:w,...T}=d.props,V=Q.sanitizeSelectProps(T),q=o.useRef(null),C=o.useRef(null),R=o.useRef(null),O=o.useRef(null),h=N(d.children),_=w!=null,v=xe(h,w,z),[x,y]=o.useState(()=>v),[u,b]=o.useState(!1),[P,B]=o.useState(""),S=_?String(w):x,$={default:W.resolveColor("--color-icon"),white:W.resolveColor("--color-white","white")},I=t==="minimal"?$.white:$.default,f=ve(h,S),A=M("chevron",I),G=M("search",I),L=we(h,P);o.useEffect(()=>{!_&&!h.some(n=>n.value===x)&&y(v)},[v,x,_,h]),o.useEffect(()=>{var n;if(!u){B("");return}(n=O.current)==null||n.focus()},[u]),o.useEffect(()=>{if(!u)return;const n=a=>{var m;(m=C.current)!=null&&m.contains(a.target)||b(!1)};return document.addEventListener("mousedown",n),()=>{document.removeEventListener("mousedown",n)}},[u]);const K=n=>{_||y(n.target.value),g==null||g(n)},j=()=>{var n;b(!1),(n=q.current)==null||n.focus()},H=n=>{var D;_||y(n);const a=R.current;if(!a){j();return}const m=(D=Object.getOwnPropertyDescriptor(HTMLSelectElement.prototype,"value"))==null?void 0:D.set;m==null||m.call(a,n),a.dispatchEvent(new Event("change",{bubbles:!0})),j()},J=n=>{n.key==="Escape"&&j()};return i.jsxs("div",{className:E.t(c.dropdown,t==="minimal"&&c.minimal,r),onKeyDown:J,ref:C,...p,"data-component":"dropdown",children:[i.jsx("select",{...V,"aria-hidden":"true",className:c.native,onChange:K,ref:R,tabIndex:-1,value:S,children:d.children}),i.jsx(F.Button,{"aria-expanded":u,"aria-haspopup":"dialog",className:E.t(t==="default"&&Y.inputStyles.input,c.trigger,(f==null?void 0:f.isPlaceholder)&&c.placeholder),"data-open":u?"true":void 0,disabled:V.disabled,onClick:()=>b(n=>!n),ref:q,style:A,variant:"minimal",children:i.jsx("span",{className:c.text,children:(f==null?void 0:f.label)??"Select an option"})}),u&&i.jsxs("div",{className:c.panel,children:[i.jsx(X.Input,{"aria-label":"Filter",className:c.filter,icon:"search",onChange:n=>B(n.target.value),placeholder:l,ref:O,style:G,type:"search",value:P}),i.jsx(Z.List,{"aria-label":"Dropdown",className:c.options,children:L.length>0?L.map(n=>{const a=n.value===S;return i.jsx("li",{"data-component":"dropdown",children:i.jsxs(F.Button,{"aria-label":a?`${n.text}, selected`:n.text,className:E.t(c.option,a&&c.selected),disabled:n.disabled,onClick:()=>H(n.value),variant:"minimal",children:[i.jsx("span",{className:c.text,children:n.label}),n.groupLabel&&i.jsx("small",{className:c.group,children:n.groupLabel})]})},`${n.groupLabel??"root"}-${n.value}`)}):i.jsx("li",{className:c.empty,children:s})})]})]})};exports.Dropdown=be;
|
|
2
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../src/components/_dropdown/index.tsx"],"sourcesContent":["import cx from 'classix';\nimport React, { Children, isValidElement, useEffect, useRef, useState } from 'react';\n\nimport { Button } from '@/components/button';\nimport { type IconName, iconSVG } from '@/components/icon/icons';\nimport { Input } from '@/components/input';\nimport inputStyles from '@/components/input/styles.module.css';\nimport { List } from '@/components/list';\nimport { Select, type SelectProps } from '@/components/select';\nimport { sanitizeSelectProps } from '@/components/select/sanitizeSelectProps';\nimport { resolveColor } from '@/utils';\n\nimport styles from './styles.module.css';\n\ntype NativeSelectProps = Omit<React.ComponentPropsWithoutRef<'select'>, 'children' | 'multiple'> & {\n children: React.ReactNode;\n multiple?: false;\n};\n\ntype NativeSelectElement = React.ReactElement<NativeSelectProps, 'select'>;\ntype WrappedSelectElement = React.ReactElement<SelectProps, typeof Select>;\ntype DropdownSelectElement = NativeSelectElement | WrappedSelectElement;\n\ntype DropdownOption = {\n disabled: boolean;\n groupLabel?: string;\n hidden: boolean;\n isPlaceholder: boolean;\n label: React.ReactNode;\n selected: boolean;\n text: string;\n value: string;\n};\n\nexport type DropdownProps = Omit<React.ComponentPropsWithoutRef<'div'>, 'children'> & {\n children: DropdownSelectElement;\n emptyLabel?: string;\n searchPlaceholder?: string;\n variant?: 'default' | 'minimal';\n};\n\ntype withVars = React.CSSProperties & {\n '--icon-svg'?: string;\n};\n\nfunction getIconWithVars(icon: IconName, color: string): withVars {\n return {\n '--icon-svg': iconSVG(icon).replace('currentColor', color),\n };\n}\n\nfunction getNodeText(node: React.ReactNode): string {\n if (typeof node === 'string' || typeof node === 'number') {\n return String(node);\n }\n\n if (Array.isArray(node)) {\n return node.map(getNodeText).join(' ');\n }\n\n if (isValidElement<{ children?: React.ReactNode }>(node)) {\n return getNodeText(node.props.children);\n }\n\n return '';\n}\n\nfunction isOptionElement(\n node: React.ReactNode\n): node is React.ReactElement<React.ComponentPropsWithoutRef<'option'>, 'option'> {\n return isValidElement(node) && node.type === 'option';\n}\n\nfunction isOptGroupElement(\n node: React.ReactNode\n): node is React.ReactElement<React.ComponentPropsWithoutRef<'optgroup'>, 'optgroup'> {\n return isValidElement(node) && node.type === 'optgroup';\n}\n\nfunction isFragmentElement(\n node: React.ReactNode\n): node is React.ReactElement<{ children?: React.ReactNode }, typeof React.Fragment> {\n return isValidElement(node) && node.type === React.Fragment;\n}\n\nfunction isWrappedSelectElement(node: React.ReactNode): node is WrappedSelectElement {\n return isValidElement(node) && node.type === Select;\n}\n\nfunction extractOptions(\n children: React.ReactNode,\n groupLabel?: string,\n groupDisabled = false\n): DropdownOption[] {\n const options: DropdownOption[] = [];\n\n Children.forEach(children, (child) => {\n if (isFragmentElement(child)) {\n options.push(...extractOptions(child.props.children, groupLabel, groupDisabled));\n return;\n }\n\n if (isOptionElement(child)) {\n const text = getNodeText(child.props.children).trim();\n const value = child.props.value != null ? String(child.props.value) : text;\n\n options.push({\n disabled: groupDisabled || Boolean(child.props.disabled),\n groupLabel,\n hidden: Boolean(child.props.hidden),\n isPlaceholder: Boolean(child.props.hidden && value === ''),\n label: child.props.children,\n selected: Boolean(child.props.selected),\n text,\n value,\n });\n\n return;\n }\n\n if (isOptGroupElement(child)) {\n options.push(\n ...extractOptions(\n child.props.children,\n child.props.label,\n groupDisabled || Boolean(child.props.disabled)\n )\n );\n }\n });\n\n return options;\n}\n\nfunction buildWildcardMatcher(query: string) {\n const trimmedQuery = query.trim();\n\n if (!trimmedQuery) {\n return null;\n }\n\n const wildcardQuery = /[*?]/.test(trimmedQuery) ? trimmedQuery : `*${trimmedQuery}*`;\n const expression = [...wildcardQuery]\n .map((character) => {\n if (character === '*') {\n return '.*';\n }\n\n if (character === '?') {\n return '.';\n }\n\n return character.replace(/[|\\\\{}()[\\]^$+.,]/g, '\\\\$&');\n })\n .join('');\n\n return new RegExp(`^${expression}$`, 'i');\n}\n\nfunction filterOptions(options: DropdownOption[], query: string) {\n const matcher = buildWildcardMatcher(query);\n const selectableOptions = options.filter((option) => !option.hidden && !option.isPlaceholder);\n\n if (!matcher) {\n return selectableOptions;\n }\n\n return selectableOptions.filter((option) =>\n matcher.test([option.groupLabel, option.text, option.value].filter(Boolean).join(' '))\n );\n}\n\nfunction getDisplayOption(options: DropdownOption[], selectedValue: string) {\n return (\n options.find((option) => option.value === selectedValue) ??\n options.find((option) => option.isPlaceholder) ??\n options[0]\n );\n}\n\nfunction getInitialValue(\n options: DropdownOption[],\n value?: NativeSelectProps['value'],\n defaultValue?: NativeSelectProps['defaultValue']\n) {\n if (value != null) {\n return String(value);\n }\n\n if (defaultValue != null) {\n return String(defaultValue);\n }\n\n const selectedOption = options.find((option) => option.selected);\n\n if (selectedOption) {\n return selectedOption.value;\n }\n\n return options[0]?.value ?? '';\n}\n\nfunction normalizeSelectElement(selectElement: DropdownSelectElement) {\n if (isWrappedSelectElement(selectElement)) {\n const { children, placeholder, ...props } = selectElement.props;\n\n return {\n children: (\n <>\n {placeholder && (\n <option\n hidden\n value=''\n >\n {placeholder}\n </option>\n )}\n {children}\n </>\n ),\n props,\n };\n }\n\n return {\n children: selectElement.props.children,\n props: selectElement.props,\n };\n}\n\nexport const Dropdown = ({\n children: selectElement,\n className,\n emptyLabel = 'No matches found',\n searchPlaceholder = 'Filter',\n variant = 'default',\n ...props\n}: DropdownProps) => {\n const normalizedSelect = normalizeSelectElement(selectElement);\n const { defaultValue, onChange, value, ...restSelectProps } = normalizedSelect.props;\n const selectProps = sanitizeSelectProps(restSelectProps);\n const buttonRef = useRef<HTMLButtonElement>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n const nativeSelectRef = useRef<HTMLSelectElement>(null);\n const searchRef = useRef<HTMLInputElement>(null);\n const options = extractOptions(normalizedSelect.children);\n const isControlled = value != null;\n const initialValue = getInitialValue(options, value, defaultValue);\n const [internalValue, setInternalValue] = useState(() => initialValue);\n const [isOpen, setIsOpen] = useState(false);\n const [query, setQuery] = useState('');\n const selectedValue = isControlled ? String(value) : internalValue;\n const iconColors = {\n default: resolveColor('--color-icon'),\n white: resolveColor('--color-white', 'white'),\n };\n const dropdownIconColor = variant === 'minimal' ? iconColors.white : iconColors.default;\n const displayOption = getDisplayOption(options, selectedValue);\n const triggerWithVars = getIconWithVars('chevron', dropdownIconColor);\n const filterWithVars = getIconWithVars('search', dropdownIconColor);\n const filteredOptions = filterOptions(options, query);\n\n useEffect(() => {\n if (!isControlled && !options.some((option) => option.value === internalValue)) {\n setInternalValue(initialValue);\n }\n }, [initialValue, internalValue, isControlled, options]);\n\n useEffect(() => {\n if (!isOpen) {\n setQuery('');\n return;\n }\n\n searchRef.current?.focus();\n }, [isOpen]);\n\n useEffect(() => {\n if (!isOpen) {\n return;\n }\n\n const handlePointerDown = (event: MouseEvent) => {\n if (!containerRef.current?.contains(event.target as Node)) {\n setIsOpen(false);\n }\n };\n\n document.addEventListener('mousedown', handlePointerDown);\n\n return () => {\n document.removeEventListener('mousedown', handlePointerDown);\n };\n }, [isOpen]);\n\n const handleNativeChange = (event: React.ChangeEvent<HTMLSelectElement>) => {\n if (!isControlled) {\n setInternalValue(event.target.value);\n }\n\n onChange?.(event);\n };\n\n const closeMenu = () => {\n setIsOpen(false);\n buttonRef.current?.focus();\n };\n\n const commitValue = (nextValue: string) => {\n if (!isControlled) {\n setInternalValue(nextValue);\n }\n\n const nativeSelect = nativeSelectRef.current;\n\n if (!nativeSelect) {\n closeMenu();\n return;\n }\n\n const valueSetter = Object.getOwnPropertyDescriptor(HTMLSelectElement.prototype, 'value')?.set;\n\n valueSetter?.call(nativeSelect, nextValue);\n nativeSelect.dispatchEvent(new Event('change', { bubbles: true }));\n closeMenu();\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'Escape') {\n closeMenu();\n }\n };\n\n return (\n <div\n className={cx(styles.dropdown, variant === 'minimal' && styles.minimal, className)}\n onKeyDown={handleKeyDown}\n ref={containerRef}\n {...props}\n >\n <select\n {...selectProps}\n aria-hidden='true'\n className={styles.native}\n onChange={handleNativeChange}\n ref={nativeSelectRef}\n tabIndex={-1}\n value={selectedValue}\n >\n {normalizedSelect.children}\n </select>\n <Button\n aria-expanded={isOpen}\n aria-haspopup='dialog'\n className={cx(\n variant === 'default' && inputStyles.input,\n styles.trigger,\n displayOption?.isPlaceholder && styles.placeholder\n )}\n data-open={isOpen ? 'true' : undefined}\n disabled={selectProps.disabled}\n onClick={() => setIsOpen((currentValue) => !currentValue)}\n ref={buttonRef}\n style={triggerWithVars}\n variant='minimal'\n >\n <span className={styles.text}>{displayOption?.label ?? 'Select an option'}</span>\n </Button>\n {isOpen && (\n <div className={styles.panel}>\n <Input\n aria-label='Filter'\n className={styles.filter}\n icon='search'\n onChange={(event) => setQuery(event.target.value)}\n placeholder={searchPlaceholder}\n ref={searchRef}\n style={filterWithVars}\n type='search'\n value={query}\n />\n <List\n aria-label='Dropdown'\n className={styles.options}\n >\n {filteredOptions.length > 0 ? (\n filteredOptions.map((option) => {\n const isSelected = option.value === selectedValue;\n\n return (\n <li key={`${option.groupLabel ?? 'root'}-${option.value}`}>\n <Button\n aria-label={isSelected ? `${option.text}, selected` : option.text}\n className={cx(styles.option, isSelected && styles.selected)}\n disabled={option.disabled}\n onClick={() => commitValue(option.value)}\n variant='minimal'\n >\n <span className={styles.text}>{option.label}</span>\n {option.groupLabel && (\n <small className={styles.group}>{option.groupLabel}</small>\n )}\n </Button>\n </li>\n );\n })\n ) : (\n <li className={styles.empty}>{emptyLabel}</li>\n )}\n </List>\n </div>\n )}\n </div>\n );\n};\n"],"names":["getIconWithVars","icon","color","iconSVG","replace","getNodeText","node","String","Array","isArray","map","join","isValidElement","props","children","isOptionElement","type","isOptGroupElement","isFragmentElement","React","Fragment","isWrappedSelectElement","Select","extractOptions","groupLabel","groupDisabled","options","Children","forEach","child","push","text","trim","value","disabled","Boolean","hidden","isPlaceholder","label","selected","buildWildcardMatcher","query","trimmedQuery","expression","test","character","RegExp","filterOptions","matcher","selectableOptions","filter","option","getDisplayOption","selectedValue","find","getInitialValue","defaultValue","selectedOption","normalizeSelectElement","selectElement","placeholder","jsxs","Dropdown","className","emptyLabel","searchPlaceholder","variant","normalizedSelect","onChange","restSelectProps","selectProps","sanitizeSelectProps","buttonRef","useRef","containerRef","nativeSelectRef","searchRef","isControlled","initialValue","internalValue","setInternalValue","useState","isOpen","setIsOpen","setQuery","iconColors","default","resolveColor","white","dropdownIconColor","displayOption","triggerWithVars","filterWithVars","filteredOptions","useEffect","some","current","focus","handlePointerDown","event","contains","target","document","addEventListener","removeEventListener","handleNativeChange","closeMenu","commitValue","nextValue","nativeSelect","valueSetter","Object","getOwnPropertyDescriptor","HTMLSelectElement","prototype","set","call","dispatchEvent","Event","bubbles","handleKeyDown","key","cx","styles","dropdown","minimal","jsx","native","Button","inputStyles","input","trigger","undefined","currentValue","panel","Input","List","length","isSelected","group","empty"],"mappings":"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"}
|