@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.
Files changed (64) hide show
  1. package/dist/assets/index15.css +1 -1
  2. package/dist/assets/index19.css +1 -1
  3. package/dist/assets/index31.css +1 -1
  4. package/dist/assets/index36.css +1 -1
  5. package/dist/assets/index38.css +1 -1
  6. package/dist/assets/index9.css +1 -1
  7. package/dist/components/button/index.cjs +1 -1
  8. package/dist/components/button/index.cjs.map +1 -1
  9. package/dist/components/button/index.js +25 -22
  10. package/dist/components/button/index.js.map +1 -1
  11. package/dist/components/checkbox/index.cjs +1 -1
  12. package/dist/components/checkbox/index.js +1 -1
  13. package/dist/components/controls/index.cjs +1 -1
  14. package/dist/components/controls/index.cjs.map +1 -1
  15. package/dist/components/controls/index.js +15 -14
  16. package/dist/components/controls/index.js.map +1 -1
  17. package/dist/components/dialog/index.cjs +1 -1
  18. package/dist/components/dialog/index.cjs.map +1 -1
  19. package/dist/components/dialog/index.js +56 -24
  20. package/dist/components/dialog/index.js.map +1 -1
  21. package/dist/components/dropdown/index.cjs +1 -1
  22. package/dist/components/dropdown/index.js +3 -3
  23. package/dist/components/editor/index.cjs +1 -1
  24. package/dist/components/editor/index.js +1 -1
  25. package/dist/components/icon/index.cjs +1 -1
  26. package/dist/components/icon/index.js +1 -1
  27. package/dist/components/iframe/index.cjs +1 -1
  28. package/dist/components/iframe/index.cjs.map +1 -1
  29. package/dist/components/iframe/index.js +56 -58
  30. package/dist/components/iframe/index.js.map +1 -1
  31. package/dist/components/input/index.cjs +1 -1
  32. package/dist/components/input/index.js +2 -2
  33. package/dist/components/message/index.cjs +1 -1
  34. package/dist/components/message/index.cjs.map +1 -1
  35. package/dist/components/message/index.js +31 -30
  36. package/dist/components/message/index.js.map +1 -1
  37. package/dist/components/nav/index.cjs +1 -1
  38. package/dist/components/nav/index.js +1 -1
  39. package/dist/components/search/index.cjs +1 -1
  40. package/dist/components/search/index.cjs.map +1 -1
  41. package/dist/components/search/index.js +43 -49
  42. package/dist/components/search/index.js.map +1 -1
  43. package/dist/components/select/index.cjs +1 -1
  44. package/dist/components/select/index.js +2 -2
  45. package/dist/{icons-Dhj9mAkR.js → icons-BFgf_lJN.js} +10 -1
  46. package/dist/icons-BFgf_lJN.js.map +1 -0
  47. package/dist/icons-Dx0NQYLH.cjs +2 -0
  48. package/dist/icons-Dx0NQYLH.cjs.map +1 -0
  49. package/dist/{index-D4LZQ-JF.js → index-BHgGZxsR.js} +2 -2
  50. package/dist/{index-D4LZQ-JF.js.map → index-BHgGZxsR.js.map} +1 -1
  51. package/dist/{index-D9Hq7ewF.cjs → index-CEzqxRIu.cjs} +2 -2
  52. package/dist/{index-D9Hq7ewF.cjs.map → index-CEzqxRIu.cjs.map} +1 -1
  53. package/dist/{index-uQRsVtP-.js → index-CMfR_USP.js} +2 -2
  54. package/dist/{index-uQRsVtP-.js.map → index-CMfR_USP.js.map} +1 -1
  55. package/dist/{index-Ct0mJ-KK.cjs → index-oL8GYbhj.cjs} +2 -2
  56. package/dist/{index-Ct0mJ-KK.cjs.map → index-oL8GYbhj.cjs.map} +1 -1
  57. package/dist/index.cjs +1 -1
  58. package/dist/index.d.ts +15 -2
  59. package/dist/index.js +2 -2
  60. package/dist/tokens.json +1 -1
  61. package/package.json +1 -1
  62. package/dist/icons-BoBeAmLe.cjs +0 -2
  63. package/dist/icons-BoBeAmLe.cjs.map +0 -1
  64. package/dist/icons-Dhj9mAkR.js.map +0 -1
@@ -1 +1 @@
1
- ._message-group_q630z_1{align-items:flex-start;display:flex;flex-direction:column}._message-group_q630z_1[data-message-type=system]{align-items:center}._message-group_q630z_1[data-message-type=user]{align-items:flex-end}._message-group_q630z_1>div:first-child,._message-group_q630z_1>time{margin-left:var(--scale-16)}._message-group_q630z_1>time{max-width:min(90%,var(--shape-width-max-lg));margin-right:var(--scale-16);text-align:right;width:100%}._message_q630z_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_q630z_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_q630z_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_q630z_1:is([data-type=minimal],[data-type=system]){border:none}._message_q630z_1[data-type=minimal]{margin:var(--scale-8) 0 0 0;padding:0}._message_q630z_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_q630z_1[data-type=system]{color:var(--colors-semantic-content-secondary);text-align:center}._message_q630z_1[data-appearance=file]{--message-edge-gap: var(--scale-16);background-color:transparent;border:0;padding:0}._message_q630z_1[data-appearance=document]{max-width:min(90%,var(--shape-width-max-lg));width:100%}._timestamp_q630z_81{color:var(--colors-semantic-content-secondary);font-size:var(--typography-font-sizes-caption)}._attachments_q630z_86{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_q630z_1[data-message-type=default]>._attachments_q630z_86{margin-left:var(--scale-16)}._message-group_q630z_1[data-message-type=user]>._attachments_q630z_86{align-items:flex-end;margin-right:var(--scale-16)}._preview_q630z_105{display:-webkit-box;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2}
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}
@@ -1 +1 @@
1
- ._wrapper_2h6kn_1{display:grid;min-width:0}._toolbar_2h6kn_6,._fullscreen-toolbar_2h6kn_7{display:flex;justify-content:flex-end}._toolbar_2h6kn_6{margin-bottom:var(--scale-4)}._iframe_2h6kn_16{border:0;display:block;width:100%}._fullscreen-dialog_2h6kn_22{box-sizing:border-box;display:flex;flex-direction:column;height:calc(100dvh - var(--scale-32));max-height:none;max-width:none;overflow:hidden;padding:var(--scale-8);width:calc(100vw - var(--scale-32))}._fullscreen-toolbar_2h6kn_7{flex:0 0 auto;padding-bottom:var(--scale-8)}._fullscreen-iframe_2h6kn_39{flex:1 1 auto;height:100%;min-height:0}
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}
@@ -1 +1 @@
1
- ._button_c8tzo_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:inherit;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_c8tzo_1 [data-component=badge]{margin-left:var(--shape-spacing-xs)}._button_c8tzo_1:disabled{cursor:not-allowed;opacity:var(--utils-tokens-opacity-minimal)}._danger_c8tzo_29{background-color:var(--colors-semantic-interactive-destructive-bg);color:var(--colors-semantic-bg-surface)}._danger_c8tzo_29:not([disabled]):hover{background-color:var(--colors-semantic-interactive-destructive-hover)}._tertiary_c8tzo_38{background-color:transparent;border-radius:var(--shape-border-radius-radius-md);border:none;box-shadow:none}._primary_c8tzo_45{background-color:var(--colors-semantic-primary-primary);color:var(--colors-semantic-bg-surface)}._primary_c8tzo_45:not([disabled]):hover{background-color:var(--colors-semantic-primary-primary-active)!important}._secondary_c8tzo_54{background-color:var(--colors-semantic-interactive-secondary-bg)}._secondary_c8tzo_54:not([disabled]):hover{background-color:var(--colors-semantic-interactive-secondary-hover)}
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}}
@@ -1 +1 @@
1
- @keyframes _reveal_nwzp9_1{0%{opacity:0;transform:translateY(100%) translate(-50%)}to{opacity:1;transform:translateY(0) translate(-50%)}}._controls_nwzp9_13{align-items:center;display:flex;flex-wrap:wrap;gap:var(--shape-spacing-md)}._default_nwzp9_20{margin-top:var(--shape-spacing-md);justify-content:flex-end;width:100%}@media (width < 960px){._default_nwzp9_20{flex-direction:column}._default_nwzp9_20 [data-component=button]{width:100%}}._inline_nwzp9_34{justify-content:flex-end;margin-left:auto}._fixed_nwzp9_39{animation:_reveal_nwzp9_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_nwzp9_39 [data-component=button]{background-color:transparent;border:none;box-shadow:none;color:var(--colors-semantic-content-secondary)}._fixed_nwzp9_39 [data-component=button]:hover{background-color:var(--colors-semantic-interactive-hover-subtle)}._fixed_nwzp9_39>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_nwzp9_39>span [data-component=link]{margin-right:var(--shape-spacing-xs)}
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)}
@@ -1 +1 @@
1
- ._dialog_mvo05_1{background-color:var(--colors-semantic-bg-surface);border-radius:var(--shape-border-radius-radius-md);border:none;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);justify-self:center;max-height:85vh;max-width:75vw;min-width:25vw;opacity:0;overflow:hidden auto;position:relative;transition:opacity var(--utils-tokens-transition-duration) var(--utils-tokens-transition-timing-function) var(--utils-tokens-transition-delay),visibility var(--utils-tokens-transition-duration) var(--utils-tokens-transition-timing-function) var(--utils-tokens-transition-delay);visibility:hidden}._dialog_mvo05_1>section:not(:first-of-type){border-top:var(--shape-border-width-default) solid var(--colors-semantic-border-default)}._dialog_mvo05_1 [data-tag=close-dialog]{position:absolute;right:0;top:0}._dialog_mvo05_1[open]{opacity:1;visibility:visible}._wrapper_mvo05_38{align-items:center;-webkit-backdrop-filter:blur(var(--scale-4)) brightness(.8);backdrop-filter:blur(var(--scale-4)) brightness(.8);display:flex;height:100%;left:0;opacity:0;position:fixed;top:0;transition:opacity var(--utils-tokens-transition-duration) var(--utils-tokens-transition-timing-function) var(--utils-tokens-transition-delay),visibility var(--utils-tokens-transition-duration) var(--utils-tokens-transition-timing-function) var(--utils-tokens-transition-delay),-webkit-backdrop-filter var(--utils-tokens-transition-duration) var(--utils-tokens-transition-timing-function);transition:backdrop-filter var(--utils-tokens-transition-duration) var(--utils-tokens-transition-timing-function),opacity var(--utils-tokens-transition-duration) var(--utils-tokens-transition-timing-function) var(--utils-tokens-transition-delay),visibility var(--utils-tokens-transition-duration) var(--utils-tokens-transition-timing-function) var(--utils-tokens-transition-delay);transition:backdrop-filter var(--utils-tokens-transition-duration) var(--utils-tokens-transition-timing-function),opacity var(--utils-tokens-transition-duration) var(--utils-tokens-transition-timing-function) var(--utils-tokens-transition-delay),visibility var(--utils-tokens-transition-duration) var(--utils-tokens-transition-timing-function) var(--utils-tokens-transition-delay),-webkit-backdrop-filter var(--utils-tokens-transition-duration) var(--utils-tokens-transition-timing-function);visibility:hidden;width:100%;z-index:5}._wrapper_mvo05_38:has(dialog[open]){opacity:1;visibility:visible}@media (width <= 960px){._dialog_mvo05_1{max-width:90vw}}
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}}
@@ -1 +1 @@
1
- ._search_1tuej_3{display:flex;flex-direction:column;gap:var(--shape-spacing-xs);margin-bottom:var(--shape-spacing-lg);width:100%}._search_1tuej_3 [data-component=input]{max-width:var(--shape-width-max)}._controls_1tuej_15{align-items:stretch;display:flex;gap:var(--shape-spacing-xs)}._controls_1tuej_15 label{flex:1}._controls_1tuej_15 button{white-space:nowrap}._chips_1tuej_29{align-items:center;display:flex;flex-wrap:wrap;gap:var(--shape-spacing-xs)}._dialog-content_1tuej_36{min-width:min(24rem,75vw);padding:var(--shape-spacing-xl)}._dialog-content_1tuej_36 h2{margin-top:0}._filter-groups_1tuej_45{display:flex;flex-direction:column;gap:var(--shape-spacing-lg)}._filter-group_1tuej_45{border:0;display:flex;flex-direction:column;gap:var(--shape-spacing-sm);margin:0;padding:0}._filter-group_1tuej_45 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_1tuej_15{align-items:stretch;flex-direction:column}}
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 n=require("react/jsx-runtime"),y=require("../../classix-5H4IWnMA.cjs"),_=require("../badge/index.cjs"),g=require("../icon/index.cjs"),l="_button_c8tzo_1",m="_danger_c8tzo_29",p="_tertiary_c8tzo_38",b="_primary_c8tzo_45",x="_secondary_c8tzo_54",t={button:l,danger:m,tertiary:p,primary:b,secondary:x},z={danger:t.danger,primary:t.primary,secondary:t.secondary,tertiary:t.tertiary};function h({badge:o,children:r,className:a,disabled:s=!1,icon:e,onClick:c,ref:i,variant:d="secondary",...u}){return n.jsxs("button",{className:y.t(t.button,z[d],a),disabled:s,onClick:c,ref:i,type:"button",...u,"data-component":"button",children:[e&&n.jsx(g.Icon,{fill:!0,gap:r?"right":void 0,name:e,size:"small"}),r,n.jsx(_.Badge,{variant:"highlight",children:o})]})}exports.Button=h;
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='small'\n />\n )}\n {children}\n <Badge variant='highlight'>{badge}</Badge>\n </button>\n );\n}\n"],"names":["variants","danger","styles","primary","secondary","tertiary","Button","badge","children","className","disabled","icon","onClick","ref","variant","props","cx","button","jsx","Icon","undefined","Badge"],"mappings":"iYAOMA,EAAW,CACfC,OAAQC,EAAOD,OACfE,QAASD,EAAOC,QAChBC,UAAWF,EAAOE,UAClBC,SAAUH,EAAOG,QACnB,EAYO,SAASC,EAAO,CACrBC,MAAAA,EACAC,SAAAA,EACAC,UAAAA,EACAC,SAAAA,EAAW,GACXC,KAAAA,EACAC,QAAAA,EACAC,IAAAA,EACAC,QAAAA,EAAU,YACV,GAAGC,CACQ,EAAG,CACd,cACG,SAAA,CACC,UAAWC,EAAAA,EAAGd,EAAOe,OAAQjB,EAASc,CAAO,EAAGL,CAAS,EACzD,SAAAC,EACA,QAAAE,EACA,IAAAC,EACA,KAAK,SACL,GAAIE,EAAM,iBAAA,SAETJ,SAAAA,CAAAA,GACCO,EAAAA,IAACC,EAAAA,KAAA,CACC,KAAI,GACJ,IAAKX,EAAW,QAAUY,OAC1B,KAAMT,EACN,KAAK,OAAA,CAAO,EAGfH,EACDU,EAAAA,IAACG,EAAAA,MAAA,CAAM,QAAQ,YAAad,SAAAA,CAAAA,CAAM,CAAA,EACpC,CAEJ"}
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 d, jsx as n } from "react/jsx-runtime";
2
- import { t as _ } from "../../classix-DG18itHa.js";
3
- import { Badge as p } from "../badge/index.js";
4
- import { Icon as u } from "../icon/index.js";
5
- import '../../assets/index31.css';const g = "_button_c8tzo_1", l = "_danger_c8tzo_29", b = "_tertiary_c8tzo_38", f = "_primary_c8tzo_45", z = "_secondary_c8tzo_54", t = {
6
- button: g,
7
- danger: l,
8
- tertiary: b,
9
- primary: f,
10
- secondary: z
11
- }, h = {
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 I({
18
- badge: a,
19
+ function N({
20
+ badge: o,
19
21
  children: r,
20
- className: e,
22
+ className: a,
21
23
  disabled: s = !1,
22
- icon: o,
23
- onClick: i,
24
+ icon: e,
25
+ iconSize: i = "small",
26
+ onClick: m,
24
27
  ref: c,
25
- variant: y = "secondary",
26
- ...m
28
+ variant: p = "secondary",
29
+ ...y
27
30
  }) {
28
- return /* @__PURE__ */ d("button", { className: _(t.button, h[y], e), disabled: s, onClick: i, ref: c, type: "button", ...m, "data-component": "button", children: [
29
- o && /* @__PURE__ */ n(u, { fill: !0, gap: r ? "right" : void 0, name: o, size: "small" }),
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(p, { variant: "highlight", children: a })
34
+ /* @__PURE__ */ n(l, { variant: "highlight", children: o })
32
35
  ] });
33
36
  }
34
37
  export {
35
- I as Button
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='small'\n />\n )}\n {children}\n <Badge variant='highlight'>{badge}</Badge>\n </button>\n );\n}\n"],"names":["variants","danger","styles","primary","secondary","tertiary","Button","badge","children","className","disabled","icon","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,UAAUH,EAAOG;AACnB;AAYO,SAASC,EAAO;AAAA,EACrBC,OAAAA;AAAAA,EACAC,UAAAA;AAAAA,EACAC,WAAAA;AAAAA,EACAC,UAAAA,IAAW;AAAA,EACXC,MAAAA;AAAAA,EACAC,SAAAA;AAAAA,EACAC,KAAAA;AAAAA,EACAC,SAAAA,IAAU;AAAA,EACV,GAAGC;AACQ,GAAG;AACd,2BACG,UAAA,EACC,WAAWC,EAAGd,EAAOe,QAAQjB,EAASc,CAAO,GAAGL,CAAS,GACzD,UAAAC,GACA,SAAAE,GACA,KAAAC,GACA,MAAK,UACL,GAAIE,GAAM,kBAAA,UAETJ,UAAAA;AAAAA,IAAAA,KACC,gBAAAO,EAACC,GAAA,EACC,MAAI,IACJ,KAAKX,IAAW,UAAUY,QAC1B,MAAMT,GACN,MAAK,QAAA,CAAO;AAAA,IAGfH;AAAAA,IACD,gBAAAU,EAACG,GAAA,EAAM,SAAQ,aAAad,UAAAA,EAAAA,CAAM;AAAA,EAAA,GACpC;AAEJ;"}
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-BoBeAmLe.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;
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-Dhj9mAkR.js";
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 c=require("react/jsx-runtime"),f=require("../../classix-5H4IWnMA.cjs"),r=require("react"),_=require("../button/index.cjs"),x="_controls_nwzp9_13",y="_inline_nwzp9_34",m="_fixed_nwzp9_39",e={controls:x,default:"_default_nwzp9_20",inline:y,fixed:m},k={primary:3,danger:2,secondary:1,tertiary:0},g={default:e.default,fixed:e.fixed,inline:e.inline},h=o=>k[o.props.variant??"secondary"],j=({children:o,className:l,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:c.jsxs("div",{className:f.t(e.controls,g[d],l),...u,"data-component":"controls",children:[s&&c.jsx("span",{children:s}),p]})};exports.Controls=j;
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,CACZ,EAEMC,EAAW,CACfC,QAASC,EAAOD,QAChBE,MAAOD,EAAOC,MACdC,OAAQF,EAAOE,MACjB,EAOMC,EAAiBC,GACrBX,EAAmBW,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"}
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 = "_controls_nwzp9_13", h = "_inline_nwzp9_34", w = "_fixed_nwzp9_39", o = {
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: "_default_nwzp9_20",
7
+ default: "_default_1p251_20",
8
8
  inline: h,
9
- fixed: w
10
- }, z = {
9
+ fixed: B
10
+ }, g = {
11
11
  primary: 3,
12
12
  danger: 2,
13
13
  secondary: 1,
14
- tertiary: 0
15
- }, B = {
14
+ tertiary: 0,
15
+ simple: 0
16
+ }, v = {
16
17
  default: o.default,
17
18
  fixed: o.fixed,
18
19
  inline: o.inline
19
- }, g = (r) => z[r.props.variant ?? "secondary"], C = ({
20
- children: r,
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(r), i = [], e = [];
26
+ const s = u.toArray(e), i = [], r = [];
26
27
  s.forEach((n) => {
27
- _(n) && n.type === y ? i.push(n) : e.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: g(n)
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, B[l], a), ...c, "data-component": "controls", children: [
40
- e && /* @__PURE__ */ f("span", { children: e }),
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
- C as Controls
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;AACZ,GAEMC,IAAW;AAAA,EACfC,SAASC,EAAOD;AAAAA,EAChBE,OAAOD,EAAOC;AAAAA,EACdC,QAAQF,EAAOE;AACjB,GAOMC,IAAgBA,CAACC,MACrBX,EAAmBW,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
+ {"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 a=require("react/jsx-runtime"),c=require("../../classix-5H4IWnMA.cjs"),s=require("react"),d=require("../button/index.cjs"),u=require("../icon/index.cjs"),g="_dialog_mvo05_1",w="_wrapper_mvo05_38",i={dialog:g,wrapper:w},m=({children:n,className:t,setOpen:o,...l})=>(s.useEffect(()=>{if(!o)return;const e=r=>{r.key==="Escape"&&(r.preventDefault(),o(!1))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[o]),a.jsx("div",{className:i.wrapper,"data-wrapper":!0,onClick:()=>o==null?void 0:o(!1),"data-component":"dialog",children:a.jsxs("dialog",{className:c.t(i.dialog,t),onClick:e=>e.stopPropagation(),...l,children:[o&&a.jsx(d.Button,{"aria-label":"Close dialog","data-tag":"close-dialog",onClick:()=>o(!1),variant:"tertiary",children:a.jsx(u.Icon,{name:"x"})}),n]})}));exports.Dialog=m;
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 = ({ children, className, setOpen, ...props }: DialogProps) => {\n useEffect(() => {\n if (!setOpen) return undefined;\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key !== 'Escape') return;\n\n event.preventDefault();\n setOpen(false);\n };\n\n window.addEventListener('keydown', handleKeyDown);\n\n return () => window.removeEventListener('keydown', handleKeyDown);\n }, [setOpen]);\n\n return (\n <div\n className={styles.wrapper}\n data-wrapper\n onClick={() => setOpen?.(false)}\n >\n <dialog\n className={cx(styles.dialog, className)}\n onClick={(e) => e.stopPropagation()}\n {...props}\n >\n {setOpen && (\n <Button\n aria-label='Close dialog'\n data-tag='close-dialog'\n onClick={() => setOpen(false)}\n variant='tertiary'\n >\n <Icon name='x' />\n </Button>\n )}\n {children}\n </dialog>\n </div>\n );\n};\n"],"names":["Dialog","children","className","setOpen","props","useEffect","handleKeyDown","event","key","preventDefault","window","addEventListener","removeEventListener","jsx","styles","wrapper","jsxs","cx","dialog","e","stopPropagation","Button","Icon"],"mappings":"iTAaaA,EAASA,CAAC,CAAEC,SAAAA,EAAUC,UAAAA,EAAWC,QAAAA,EAAS,GAAGC,CAAmB,KAC3EC,EAAAA,UAAU,IAAM,CACd,GAAI,CAACF,EAAS,OAEd,MAAMG,EAAiBC,GAAyB,CAC1CA,EAAMC,MAAQ,WAElBD,EAAME,eAAAA,EACNN,EAAQ,EAAK,EACf,EAEAO,cAAOC,iBAAiB,UAAWL,CAAa,EAEzC,IAAMI,OAAOE,oBAAoB,UAAWN,CAAa,CAClE,EAAG,CAACH,CAAO,CAAC,EAGVU,EAAAA,IAAC,MAAA,CACC,UAAWC,EAAOC,QAClB,eAAY,GACZ,QAAS,IAAMZ,GAAAA,YAAAA,EAAU,IAAO,iBAAA,SAEhC,SAAAa,EAAAA,KAAC,SAAA,CACC,UAAWC,EAAAA,EAAGH,EAAOI,OAAQhB,CAAS,EACtC,QAAUiB,GAAMA,EAAEC,gBAAAA,EAClB,GAAIhB,EAEHD,SAAAA,CAAAA,SACEkB,EAAAA,OAAA,CACC,aAAW,eACX,WAAS,eACT,QAAS,IAAMlB,EAAQ,EAAK,EAC5B,QAAQ,WAER,eAACmB,EAAAA,KAAA,CAAK,KAAK,IAAG,EAChB,EAEDrB,CAAAA,CAAAA,CACH,CAAA,CACF"}
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 a, jsxs as n } from "react/jsx-runtime";
2
- import { t as c } from "../../classix-DG18itHa.js";
3
- import { useEffect as m } from "react";
4
- import { Button as s } from "../button/index.js";
5
- import { Icon as f } from "../icon/index.js";
6
- import '../../assets/index38.css';const p = "_dialog_mvo05_1", w = "_wrapper_mvo05_38", l = {
7
- dialog: p,
8
- wrapper: w
9
- }, _ = ({
10
- children: t,
11
- className: e,
12
- setOpen: o,
13
- ...d
14
- }) => (m(() => {
15
- if (!o) return;
16
- const r = (i) => {
17
- i.key === "Escape" && (i.preventDefault(), o(!1));
18
- };
19
- return window.addEventListener("keydown", r), () => window.removeEventListener("keydown", r);
20
- }, [o]), /* @__PURE__ */ a("div", { className: l.wrapper, "data-wrapper": !0, onClick: () => o == null ? void 0 : o(!1), "data-component": "dialog", children: /* @__PURE__ */ n("dialog", { className: c(l.dialog, e), onClick: (r) => r.stopPropagation(), ...d, children: [
21
- o && /* @__PURE__ */ a(s, { "aria-label": "Close dialog", "data-tag": "close-dialog", onClick: () => o(!1), variant: "tertiary", children: /* @__PURE__ */ a(f, { name: "x" }) }),
22
- t
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
- _ as Dialog
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 = ({ children, className, setOpen, ...props }: DialogProps) => {\n useEffect(() => {\n if (!setOpen) return undefined;\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key !== 'Escape') return;\n\n event.preventDefault();\n setOpen(false);\n };\n\n window.addEventListener('keydown', handleKeyDown);\n\n return () => window.removeEventListener('keydown', handleKeyDown);\n }, [setOpen]);\n\n return (\n <div\n className={styles.wrapper}\n data-wrapper\n onClick={() => setOpen?.(false)}\n >\n <dialog\n className={cx(styles.dialog, className)}\n onClick={(e) => e.stopPropagation()}\n {...props}\n >\n {setOpen && (\n <Button\n aria-label='Close dialog'\n data-tag='close-dialog'\n onClick={() => setOpen(false)}\n variant='tertiary'\n >\n <Icon name='x' />\n </Button>\n )}\n {children}\n </dialog>\n </div>\n );\n};\n"],"names":["Dialog","children","className","setOpen","props","useEffect","handleKeyDown","event","key","preventDefault","window","addEventListener","removeEventListener","jsx","styles","wrapper","jsxs","cx","dialog","e","stopPropagation","Button","Icon"],"mappings":";;;;;;;;GAaaA,IAASA,CAAC;AAAA,EAAEC,UAAAA;AAAAA,EAAUC,WAAAA;AAAAA,EAAWC,SAAAA;AAAAA,EAAS,GAAGC;AAAmB,OAC3EC,EAAU,MAAM;AACd,MAAI,CAACF,EAAS;AAEd,QAAMG,IAAgBA,CAACC,MAAyB;AAC9C,IAAIA,EAAMC,QAAQ,aAElBD,EAAME,eAAAA,GACNN,EAAQ,EAAK;AAAA,EACf;AAEAO,gBAAOC,iBAAiB,WAAWL,CAAa,GAEzC,MAAMI,OAAOE,oBAAoB,WAAWN,CAAa;AAClE,GAAG,CAACH,CAAO,CAAC,GAGV,gBAAAU,EAAC,OAAA,EACC,WAAWC,EAAOC,SAClB,gBAAY,IACZ,SAAS,MAAMZ,KAAAA,gBAAAA,EAAU,KAAO,kBAAA,UAEhC,UAAA,gBAAAa,EAAC,UAAA,EACC,WAAWC,EAAGH,EAAOI,QAAQhB,CAAS,GACtC,SAAUiB,CAAAA,MAAMA,EAAEC,gBAAAA,GAClB,GAAIhB,GAEHD,UAAAA;AAAAA,EAAAA,uBACEkB,GAAA,EACC,cAAW,gBACX,YAAS,gBACT,SAAS,MAAMlB,EAAQ,EAAK,GAC5B,SAAQ,YAER,4BAACmB,GAAA,EAAK,MAAK,KAAG,GAChB;AAAA,EAEDrB;AAAAA,EAAAA,CACH,EAAA,CACF;"}
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-BoBeAmLe.cjs"),X=require("../../index-D9Hq7ewF.cjs"),ue=require("../list/index.cjs"),V=require("../../index-Ct0mJ-KK.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;
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-Dhj9mAkR.js";
6
- import { f as _e, I as be } from "../../index-D4LZQ-JF.js";
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-uQRsVtP-.js";
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
  }