@bioturing/components 0.45.0 → 0.46.1

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 (57) hide show
  1. package/dist/components/base-menu/index.d.ts.map +1 -1
  2. package/dist/components/base-menu/item.d.ts.map +1 -1
  3. package/dist/components/base-menu/item.js +6 -13
  4. package/dist/components/base-menu/item.js.map +1 -1
  5. package/dist/components/button/style.css +1 -1
  6. package/dist/components/code-block/component.js +58 -58
  7. package/dist/components/code-block/component.js.map +1 -1
  8. package/dist/components/collapse/component.js +6 -6
  9. package/dist/components/collapse/component.js.map +1 -1
  10. package/dist/components/combobox/component.d.ts +32 -1
  11. package/dist/components/combobox/component.d.ts.map +1 -1
  12. package/dist/components/combobox/component.js +286 -261
  13. package/dist/components/combobox/component.js.map +1 -1
  14. package/dist/components/combobox/style.css +1 -1
  15. package/dist/components/combobox/utils.d.ts +2 -0
  16. package/dist/components/combobox/utils.d.ts.map +1 -0
  17. package/dist/components/combobox/utils.js +10 -0
  18. package/dist/components/combobox/utils.js.map +1 -0
  19. package/dist/components/command-palette/component.d.ts.map +1 -1
  20. package/dist/components/command-palette/component.js +30 -24
  21. package/dist/components/command-palette/component.js.map +1 -1
  22. package/dist/components/drag-drop/droppable.d.ts.map +1 -1
  23. package/dist/components/drag-drop/droppable.js +72 -68
  24. package/dist/components/drag-drop/droppable.js.map +1 -1
  25. package/dist/components/drag-drop/index.d.ts.map +1 -1
  26. package/dist/components/drag-drop/value.d.ts.map +1 -1
  27. package/dist/components/drag-drop/value.js +40 -56
  28. package/dist/components/drag-drop/value.js.map +1 -1
  29. package/dist/components/hooks/useDraggable.d.ts.map +1 -1
  30. package/dist/components/hooks/useDraggable.js +34 -27
  31. package/dist/components/hooks/useDraggable.js.map +1 -1
  32. package/dist/components/popup-panel/component.d.ts +1 -1
  33. package/dist/components/popup-panel/component.d.ts.map +1 -1
  34. package/dist/components/popup-panel/component.js +217 -233
  35. package/dist/components/popup-panel/component.js.map +1 -1
  36. package/dist/components/popup-panel/constants.d.ts +5 -1
  37. package/dist/components/popup-panel/constants.d.ts.map +1 -1
  38. package/dist/components/popup-panel/constants.js +8 -4
  39. package/dist/components/popup-panel/constants.js.map +1 -1
  40. package/dist/components/popup-panel/style.css +1 -1
  41. package/dist/components/popup-panel/types.d.ts +14 -1
  42. package/dist/components/popup-panel/types.d.ts.map +1 -1
  43. package/dist/components/select-trigger/style.css +1 -1
  44. package/dist/components/theme-provider/style.css +1 -1
  45. package/dist/components/toast/component.d.ts.map +1 -1
  46. package/dist/components/toast/component.js +37 -35
  47. package/dist/components/toast/component.js.map +1 -1
  48. package/dist/components/truncate/helpers.d.ts +13 -7
  49. package/dist/components/truncate/helpers.d.ts.map +1 -1
  50. package/dist/components/truncate/helpers.js +102 -85
  51. package/dist/components/truncate/helpers.js.map +1 -1
  52. package/dist/stats.html +1 -1
  53. package/dist/tailwind.css +16 -0
  54. package/dist/tokens/and-theme/tokens.d.ts.map +1 -1
  55. package/dist/tokens/and-theme/tokens.js +4 -1
  56. package/dist/tokens/and-theme/tokens.js.map +1 -1
  57. package/package.json +3 -3
@@ -1,7 +1,11 @@
1
- const m = 4;
2
- var r = /* @__PURE__ */ ((x) => (x.xsmall = "320px", x.small = "400px", x.medium = "480px", x.large = "640px", x.xlarge = "840px", x))(r || {});
1
+ const E = 4;
2
+ var t = /* @__PURE__ */ ((_) => (_.xsmall = "320px", _.small = "400px", _.medium = "480px", _.large = "640px", _.xlarge = "840px", _.fit = "fit-content", _))(t || {});
3
+ const x = 20, O = 10, A = 8;
3
4
  export {
4
- m as DEFAULT_SIDE_OFFSET,
5
- r as PopupPanelSize
5
+ E as DEFAULT_SIDE_OFFSET,
6
+ O as POPUP_PANEL_ARROW_HEIGHT,
7
+ A as POPUP_PANEL_ARROW_SIDE_OFFSET,
8
+ x as POPUP_PANEL_ARROW_WIDTH,
9
+ t as PopupPanelSize
6
10
  };
7
11
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["../../../src/components/popup-panel/constants.ts"],"sourcesContent":["export const DEFAULT_SIDE_OFFSET = 4;\n\n// Size map for predefined modal sizes\nexport enum PopupPanelSize {\n xsmall = \"320px\",\n small = \"400px\",\n medium = \"480px\",\n large = \"640px\",\n xlarge = \"840px\",\n}\n"],"names":["DEFAULT_SIDE_OFFSET","PopupPanelSize"],"mappings":"AAAO,MAAMA,IAAsB;AAG5B,IAAKC,sBAAAA,OACVA,EAAA,SAAS,SACTA,EAAA,QAAQ,SACRA,EAAA,SAAS,SACTA,EAAA,QAAQ,SACRA,EAAA,SAAS,SALCA,IAAAA,KAAA,CAAA,CAAA;"}
1
+ {"version":3,"file":"constants.js","sources":["../../../src/components/popup-panel/constants.ts"],"sourcesContent":["export const DEFAULT_SIDE_OFFSET = 4;\n\n// Size map for predefined modal sizes\nexport enum PopupPanelSize {\n xsmall = \"320px\",\n small = \"400px\",\n medium = \"480px\",\n large = \"640px\",\n xlarge = \"840px\",\n fit = \"fit-content\",\n}\n\nexport const POPUP_PANEL_ARROW_WIDTH = 20;\nexport const POPUP_PANEL_ARROW_HEIGHT = 10;\nexport const POPUP_PANEL_ARROW_SIDE_OFFSET = 8;\n"],"names":["DEFAULT_SIDE_OFFSET","PopupPanelSize","POPUP_PANEL_ARROW_WIDTH","POPUP_PANEL_ARROW_HEIGHT","POPUP_PANEL_ARROW_SIDE_OFFSET"],"mappings":"AAAO,MAAMA,IAAsB;AAG5B,IAAKC,sBAAAA,OACVA,EAAA,SAAS,SACTA,EAAA,QAAQ,SACRA,EAAA,SAAS,SACTA,EAAA,QAAQ,SACRA,EAAA,SAAS,SACTA,EAAA,MAAM,eANIA,IAAAA,KAAA,CAAA,CAAA;AASL,MAAMC,IAA0B,IAC1BC,IAA2B,IAC3BC,IAAgC;"}
@@ -1 +1 @@
1
- @layer components{.ds-popup-panel-root{z-index:var(--ds-z-index-popover)}.ds-popup-panel{box-shadow:var(--ds-box-shadow-secondary);border-radius:var(--ds-border-radius);background:var(--ds-color-bg-elevated);list-style:none;color:var(--ds-color-text);font-size:var(--ds-font-size);font-family:var(--ds-font-family);transition-property:transform,scale,opacity;transition-duration:.2s;transition-timing-function:var(--ds-motion-ease-out);transform-origin:var(--transform-origin);width:min(var(--size-width),var(--available-width));max-width:var(--available-width);max-height:var(--available-height);height:max-content;display:flex;flex-direction:column}.ds-popup-panel[data-ending-style],.ds-popup-panel[data-starting-style]{transform:scale(.9);opacity:0}.ds-popup-panel:focus{outline:none}.ds-popup-panel-header{border-bottom:1px solid var(--ds-color-split);margin-bottom:0;padding:calc(var(--ds-popup-panel-padding) / 2) var(--ds-popup-panel-padding);flex:0}.ds-popup-panel-title-wrapper{font-weight:500;font-size:var(--ds-font-size);line-height:var(--ds-line-height);color:var(--ds-color-text)}.ds-popup-panel-footer{border-top:1px solid var(--ds-color-split);margin-top:0;padding:calc(var(--ds-popup-panel-padding) / 2) var(--ds-popup-panel-padding);flex:0}.ds-popup-panel-content{display:flex;flex-direction:column;flex:1;overflow:auto}.ds-popup-panel-content .ds-popup-panel-content-inner{flex:1;padding:var(--ds-popup-panel-padding)}}
1
+ @layer components{.ds-popup-panel-root{z-index:var(--ds-z-index-popover)}.ds-popup-panel-root.ds-popup-panel-z-index-panel{z-index:var(--ds-z-index-panel)}.ds-popup-panel{position:relative;box-shadow:var(--ds-box-shadow-secondary);border-radius:var(--ds-border-radius);background:var(--ds-color-bg-elevated);list-style:none;color:var(--ds-color-text);font-size:var(--ds-font-size);font-family:var(--ds-font-family);transition-property:transform,scale,opacity;transition-duration:.2s;transition-timing-function:var(--ds-motion-ease-out);transform-origin:var(--transform-origin);width:min(var(--size-width),var(--available-width));max-width:var(--available-width);max-height:var(--available-height);height:max-content;display:flex;flex-direction:column}.ds-popup-panel[data-ending-style],.ds-popup-panel[data-starting-style]{transform:scale(.9);opacity:0}.ds-popup-panel:focus{outline:none}.ds-popup-panel[data-dragging],.ds-popup-panel[data-resizing]{transition:none}.ds-popup-panel-arrow{display:flex;width:var(--popup-panel-arrow-width);height:var(--popup-panel-arrow-height);color:var(--ds-color-bg-elevated)}.ds-popup-panel-arrow[data-side=top]{bottom:-8px;rotate:180deg}.ds-popup-panel-arrow[data-side=bottom]{top:-8px;rotate:0deg}.ds-popup-panel-arrow[data-side=left]{right:-13px;rotate:90deg}.ds-popup-panel-arrow[data-side=right]{left:-13px;rotate:-90deg}.ds-popup-panel-arrow-svg{display:block}.ds-popup-panel-arrow-fill{fill:var(--ds-color-bg-elevated)}.ds-popup-panel-arrow-outer-stroke{fill:var(--ds-modal-color-border)}.ds-popup-panel-arrow-inner-stroke,.dark .ds-popup-panel-arrow-outer-stroke{fill:none}.dark .ds-popup-panel-arrow-inner-stroke{fill:var(--ds-modal-color-border)}.ds-popup-panel-header{border-bottom:1px solid var(--ds-color-split);margin-bottom:0;padding:calc(var(--ds-popup-panel-padding) / 2) var(--ds-popup-panel-padding);flex:0}.ds-popup-panel-title-wrapper{font-weight:500;font-size:var(--ds-font-size);line-height:var(--ds-line-height);color:var(--ds-color-text)}.ds-popup-panel-footer{border-top:1px solid var(--ds-color-split);margin-top:0;padding:calc(var(--ds-popup-panel-padding) / 2) var(--ds-popup-panel-padding);flex:0}.ds-popup-panel-content{flex:1;min-height:0;overflow:auto;padding:var(--ds-popup-panel-padding)}}
@@ -30,6 +30,11 @@ export interface PopupPanelProps extends Omit<React.ComponentPropsWithRef<"div">
30
30
  afterCloseButton?: React.ReactNode;
31
31
  /** Content to display after the title */
32
32
  afterTitle?: React.ReactNode;
33
+ /**
34
+ * Whether to show the popup arrow
35
+ * @default false
36
+ */
37
+ arrow?: boolean;
33
38
  /**
34
39
  * Predefined sizes for the popup panel
35
40
  * - xsmall: 320px
@@ -76,6 +81,7 @@ export interface PopupPanelProps extends Omit<React.ComponentPropsWithRef<"div">
76
81
  root?: string;
77
82
  trigger?: string;
78
83
  popup?: string;
84
+ arrow?: string;
79
85
  header?: string;
80
86
  title?: string;
81
87
  content?: string;
@@ -112,7 +118,7 @@ export interface PopupPanelProps extends Omit<React.ComponentPropsWithRef<"div">
112
118
  * Reference element to offset the popup panel from
113
119
  * If not provided, the panel will be positioned relative to the trigger element
114
120
  */
115
- offsetFrom?: RefObject<HTMLElement>;
121
+ offsetFrom?: RefObject<HTMLElement | null>;
116
122
  /**
117
123
  * Whether the trigger should act as a native button element.
118
124
  * Set to false when using non-button elements as trigger
@@ -120,5 +126,12 @@ export interface PopupPanelProps extends Omit<React.ComponentPropsWithRef<"div">
120
126
  * @default true
121
127
  */
122
128
  nativeButton?: boolean;
129
+ /**
130
+ * The z-index of the popup panel.
131
+ * - 'popup': higher z-index (default)
132
+ * - 'panel': lower z-index
133
+ * @default "popup"
134
+ */
135
+ zIndex?: "popup" | "panel";
123
136
  }
124
137
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/popup-panel/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/popup-panel/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- @layer components{.ds-select-trigger{position:relative;display:inline-flex;align-items:center;cursor:pointer;width:100%;background-color:var(--ds-control-color-bg);border:1px solid var(--ds-control-color-border);border-radius:var(--ds-control-border-radius);transition:var(--ds-control-transition);text-align:left}.ds-select-trigger:focus,.ds-select-trigger:focus-visible{outline:none}.ds-select-trigger:hover:not(.ds-select-trigger-disabled){border-color:var(--ds-control-color-border-hover)}.ds-select-trigger:focus,.ds-select-trigger:focus-visible,.ds-select-trigger-focused{border:var(--ds-control-border-active);box-shadow:var(--ds-control-shadow-active)}.ds-select-trigger-open{border:var(--ds-control-border-active)}.ds-select-trigger-disabled{background-color:var(--ds-control-color-bg-disabled);cursor:not-allowed;color:var(--ds-control-color-text-disabled)}.ds-select-trigger-disabled .ds-select-trigger-text{cursor:not-allowed}.ds-select-trigger-error{border:var(--ds-control-border-error-active)}.ds-select-trigger-error:focus,.ds-select-trigger-error:focus-visible,.ds-select-trigger-error.ds-select-trigger-focused{border:var(--ds-control-border-error-active);box-shadow:var(--ds-control-shadow-error-active)}.ds-select-trigger-warning{border:var(--ds-control-border-warning-active)}.ds-select-trigger-warning:focus,.ds-select-trigger-warning:focus-visible,.ds-select-trigger-warning.ds-select-trigger-focused{border:var(--ds-control-border-warning-active);box-shadow:var(--ds-control-shadow-warning-active)}.ds-select-trigger-value{flex:1;color:var(--ds-control-color-text);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:left}.ds-select-trigger-value-with-prefix{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.ds-select-trigger-placeholder{flex:1;color:var(--ds-control-color-text-placeholder);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:left}.ds-select-trigger-suffix{display:flex;align-items:center;justify-content:center;width:var(--ds-control-icon-size);height:var(--ds-control-icon-size);position:relative;font-size:var(--ds-control-icon-size);flex-shrink:0}.ds-select-trigger-arrow,.ds-select-trigger-clear{position:absolute;top:50%;right:var(--ds-trigger-padding-inline);transform:translateY(-50%);display:flex;align-items:center;justify-content:center;color:var(--ds-control-color-icon);width:var(--ds-control-icon-size);height:var(--ds-control-icon-size)}.ds-select-trigger-arrow-icon{display:flex;align-items:center;justify-content:center;transition:transform .2s ease}.ds-select-trigger-open .ds-select-trigger-arrow-icon{transform:rotate(180deg)}.ds-select-trigger-clear{pointer-events:none;opacity:0;transition:opacity .2s ease}.ds-select-trigger-clear:hover{color:var(--ds-control-color-icon-hover)}.ds-select-trigger-clear-icon{display:flex;align-items:center;justify-content:center}.ds-select-trigger-allow-clear.ds-select-trigger-has-value:hover .ds-select-trigger-arrow{opacity:0;pointer-events:none}.ds-select-trigger-allow-clear.ds-select-trigger-has-value:hover .ds-select-trigger-clear{pointer-events:auto;opacity:1}.ds-select-trigger-small{--ds-trigger-padding: var(--ds-control-padding-small);--ds-trigger-padding-inline: var(--ds-control-padding-inline-small);--ds-trigger-padding-block: var(--ds-control-padding-block-small);min-height:var(--ds-control-min-height-small);line-height:var(--ds-control-line-height)}.ds-select-trigger-middle{--ds-trigger-padding: var(--ds-control-padding-middle);--ds-trigger-padding-inline: var(--ds-control-padding-inline-middle);--ds-trigger-padding-block: var(--ds-control-padding-block-middle);min-height:var(--ds-control-min-height-middle);line-height:var(--ds-control-line-height)}.ds-select-trigger-large{--ds-trigger-padding: var(--ds-control-padding-large);--ds-trigger-padding-inline: var(--ds-control-padding-inline-large);--ds-trigger-padding-block: var(--ds-control-padding-block-large);min-height:var(--ds-control-min-height-large);line-height:var(--ds-control-line-height)}.ds-select-trigger-content{display:flex;align-items:center;flex:1;min-width:0;overflow:hidden;padding:var(--ds-trigger-padding-block) calc(var(--ds-trigger-padding-inline) + 1rem) var(--ds-trigger-padding-block) var(--ds-trigger-padding-inline)}}
1
+ @layer components{.ds-select-trigger{position:relative;display:inline-flex;align-items:center;cursor:pointer;width:100%;background-color:var(--ds-control-color-bg);border:1px solid var(--ds-control-color-border);border-radius:var(--ds-control-border-radius);transition:var(--ds-control-transition);text-align:left}.ds-select-trigger:focus,.ds-select-trigger:focus-visible{outline:none}.ds-select-trigger:hover:not(.ds-select-trigger-disabled){border-color:var(--ds-control-color-border-hover)}.ds-select-trigger:focus,.ds-select-trigger:focus-visible,.ds-select-trigger-focused{border:var(--ds-control-border-active);box-shadow:var(--ds-control-shadow-active)}.ds-select-trigger-open{border:var(--ds-control-border-active)}.ds-select-trigger-disabled{background-color:var(--ds-control-color-bg-disabled);cursor:not-allowed;color:var(--ds-control-color-text-disabled)}.ds-select-trigger-disabled .ds-select-trigger-text{cursor:not-allowed}.ds-select-trigger-error{border:var(--ds-control-border-error-active)}.ds-select-trigger-error:focus,.ds-select-trigger-error:focus-visible,.ds-select-trigger-error.ds-select-trigger-focused{border:var(--ds-control-border-error-active);box-shadow:var(--ds-control-shadow-error-active)}.ds-select-trigger-warning{border:var(--ds-control-border-warning-active)}.ds-select-trigger-warning:focus,.ds-select-trigger-warning:focus-visible,.ds-select-trigger-warning.ds-select-trigger-focused{border:var(--ds-control-border-warning-active);box-shadow:var(--ds-control-shadow-warning-active)}.ds-select-trigger-value{flex:1;color:var(--ds-control-color-text);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:left}.ds-select-trigger-value-with-prefix{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.ds-select-trigger-placeholder{flex:1;color:var(--ds-control-color-text-placeholder);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:left}.ds-select-trigger-suffix{display:flex;align-items:center;justify-content:center;width:var(--ds-control-icon-size);height:var(--ds-control-icon-size);position:relative;font-size:var(--ds-control-icon-size);flex-shrink:0}.ds-select-trigger-arrow,.ds-select-trigger-clear{position:absolute;top:50%;right:var(--ds-trigger-padding-inline);transform:translateY(-50%);display:flex;align-items:center;justify-content:center;color:var(--ds-control-color-icon);width:var(--ds-control-icon-size);height:var(--ds-control-icon-size)}.ds-select-trigger-arrow-icon{display:flex;align-items:center;justify-content:center;transition:transform .2s ease}.ds-select-trigger-open .ds-select-trigger-arrow-icon{transform:rotate(180deg)}.ds-select-trigger-clear{pointer-events:none;opacity:0;transition:opacity .2s ease}.ds-select-trigger-clear:hover{color:var(--ds-control-color-icon-hover)}.ds-select-trigger-clear-icon{display:flex;align-items:center;justify-content:center}.ds-select-trigger-allow-clear.ds-select-trigger-has-value:hover .ds-select-trigger-arrow{opacity:0;pointer-events:none}.ds-select-trigger-allow-clear.ds-select-trigger-has-value:hover .ds-select-trigger-clear{pointer-events:auto;opacity:1}.ds-select-trigger-small{--ds-trigger-padding: var(--ds-control-padding-small);--ds-trigger-padding-inline: var(--ds-control-padding-inline-small);--ds-trigger-padding-block: var(--ds-control-padding-block-small);min-height:var(--ds-control-min-height-small);line-height:var(--ds-control-line-height)}.ds-select-trigger-middle{--ds-trigger-padding: var(--ds-control-padding-middle);--ds-trigger-padding-inline: var(--ds-control-padding-inline-middle);--ds-trigger-padding-block: var(--ds-control-padding-block-middle);min-height:var(--ds-control-min-height-middle);line-height:var(--ds-control-line-height)}.ds-select-trigger-large{--ds-trigger-padding: var(--ds-control-padding-large);--ds-trigger-padding-inline: var(--ds-control-padding-inline-large);--ds-trigger-padding-block: var(--ds-control-padding-block-large);min-height:var(--ds-control-min-height-large);line-height:var(--ds-control-line-height)}.ds-select-trigger-content{display:flex;align-items:center;flex:1;min-width:0;overflow:hidden;padding:var(--ds-trigger-padding-block) calc(var(--ds-trigger-padding-inline) + 1rem) var(--ds-trigger-padding-block) var(--ds-trigger-padding-inline);max-width:100%}.ds-select-trigger-text{min-width:0;max-width:100%}}
@@ -1 +1 @@
1
- @layer components{@keyframes ds-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ds-theme-provider{--ds-modal-padding: 24px;--ds-modal-edge-padding: 16px;--ds-popup-panel-padding: 16px;--ds-scrollbar-width: auto;--ds-scrollbar-width-legacy: 15;--ds-box-shadow-popover-arrow: 0px 0px 1px 0px var(--ds-modal-color-border), 2px 2px 5px rgba(0, 0, 0, .05);--ds-control-border-radius: 6px;--ds-control-transition: all .2s;--ds-control-padding-small: 1px 8px;--ds-control-padding-middle: 5px 12px;--ds-control-padding-large: 9px 12px;--ds-control-padding-inline-small: 8px;--ds-control-padding-block-small: 1px;--ds-control-padding-inline-middle: 12px;--ds-control-padding-block-middle: 5px;--ds-control-padding-inline-large: 12px;--ds-control-padding-block-large: 9px;--ds-control-min-height-small: 24px;--ds-control-min-height-middle: 32px;--ds-control-min-height-large: 40px;--ds-control-line-height: 20px;--ds-control-color-border-hover: var(--ds-color-primary-hover);--ds-control-color-border-focus: var(--ds-color-primary);--ds-control-color-bg-disabled: var(--ds-color-bg-container-disabled);--ds-control-color-text-disabled: var(--ds-color-text-disabled);--ds-control-icon-size: 12px;--ds-control-color-bg: var(--ds-color-bg-container);--ds-control-color-border: var(--ds-color-border);--ds-control-color-border-active: var(--ds-color-primary);--ds-control-color-border-error-active: var(--ds-color-error);--ds-control-color-border-warning-active: var(--ds-color-warning);--ds-control-color-icon: var(--ds-color-text-quaternary);--ds-control-color-icon-hover: var(--ds-color-icon-hover);--ds-control-border: 1px solid var(--ds-control-color-border);--ds-control-border-active: 1px solid var(--ds-control-color-border-active);--ds-control-border-error-active: 1px solid var(--ds-control-color-border-error-active);--ds-control-border-warning-active: 1px solid var(--ds-control-color-border-warning-active);--ds-control-shadow-active: 0 0 0 2px color-mix(in oklab, var(--ds-color-primary) 20%, transparent);--ds-form-label-required-mark-color: var(--ds-color-error);--ds-control-shadow-error-active: 0 0 0 2px color-mix(in oklab, var(--ds-color-error) 20%, transparent);--ds-control-shadow-warning-active: 0 0 0 2px color-mix(in oklab, var(--ds-color-warning) 20%, transparent);--ds-control-color-text-placeholder: var(--ds-color-text-placeholder);--ds-button-bg-secondary: #fafafa;--ds-button-bg-gradient-top: rgba(0, 0, 0, .02);--ds-button-bg-gradient-bottom: rgba(255, 255, 255, 0);--ds-button-bg-gradient-primary-top: rgba(255, 255, 255, .07);--ds-button-bg-gradient-primary-bottom: rgba(255, 255, 255, 0);--ds-button-shadow-default: 0 1px 1px 0 rgba(0, 0, 0, .05);--ds-button-shadow-default-inner: inset 0 1.5px 0 1px #ffffff;--ds-button-shadow-solid: 0 1px 1px 0 rgba(0, 0, 0, .12);--ds-button-shadow-solid-hover: 0 1px 1px 0 rgba(0, 0, 0, .12);--ds-button-shadow-solid-active: 0 1px 1px 0 rgba(0, 0, 0, .12);--ds-button-shadow-solid-inner: inset 0 1.5px 0 1px rgba(255, 255, 255, .12);--ds-inter: "Inter", Helvetica, Arial, sans-serif;--ds-roboto-mono: "Roboto Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--ds-animate-spin: ds-spin 1s linear infinite;--ds-z-index-base: 0;--ds-z-index-sticky-element: 520;--ds-z-index-scrollbar: 530;--ds-z-index-modal: 1000;--ds-z-index-modal-mask: 1000;--ds-z-index-message: 1010;--ds-z-index-notification: 1010;--ds-z-index-popover: 1030;--ds-z-index-dropdown: 1050;--ds-z-index-picker: 1050;--ds-z-index-popconfirm: 1060;--ds-z-index-tooltip: 1070;--ds-z-index-toast: 2000;--ds-segment-color-bg-active: #ffffff;--ds-scrollbar-color-thumb: rgba(0, 0, 0, .2);--ds-scrollbar-color-track: rgba(0, 0, 0, 0);--ds-color-base-solid: #000000;--ds-color-table-fixed-column-shadow: rgb(0 0 0 / 10%);--ds-modal-color-border: rgba(0, 0, 0, .24)}@supports (font-variation-settings: normal){.ds-theme-provider{--ds-inter: "InterVariable", Inter, Helvetica, Arial, sans-serif;--ds-roboto-mono: "Roboto Mono Variable", Roboto Mono, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;font-optical-sizing:auto}}.ds-theme-provider.dark{--ds-modal-color-border: rgba(255, 255, 255, .55);--ds-segment-color-bg-active: #424248;--ds-scrollbar-color-thumb: rgba(255, 255, 255, .2);--ds-scrollbar-color-track: rgba(0, 0, 0, 0);--ds-color-base-solid: #ffffff;--ds-color-table-fixed-column-shadow: rgb(0 0 0 / 20%);--ds-button-bg-secondary: hsl(240, 6.5%, 17%);--ds-button-bg-gradient-top: rgba(255, 255, 255, .06);--ds-button-bg-gradient-bottom: rgba(255, 255, 255, 0);--ds-button-bg-gradient-primary-top: rgba(255, 255, 255, .12);--ds-button-bg-gradient-primary-bottom: rgba(255, 255, 255, 0);--ds-button-shadow-default: 0 1px 1px 0 rgba(0, 0, 0, .05);--ds-button-shadow-default-inner: none;--ds-button-shadow-solid: 0 1px 1px 0 rgba(0, 0, 0, .12);--ds-button-shadow-solid-hover: 0 1px 1px 0 rgba(0, 0, 0, .12);--ds-button-shadow-solid-active: 0 1px 1px 0 rgba(0, 0, 0, .12);--ds-button-shadow-solid-inner: inset 0 1.5px 0 1px rgba(255, 255, 255, .16)}}
1
+ @layer components{@keyframes ds-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ds-theme-provider{--ds-modal-padding: 24px;--ds-modal-edge-padding: 16px;--ds-popup-panel-padding: 16px;--ds-scrollbar-width: auto;--ds-scrollbar-width-legacy: 15;--ds-box-shadow-popover-arrow: 0px 0px 1px 0px var(--ds-modal-color-border), 2px 2px 5px rgba(0, 0, 0, .05);--ds-control-border-radius: 6px;--ds-control-transition: all .2s;--ds-control-padding-small: 1px 8px;--ds-control-padding-middle: 5px 12px;--ds-control-padding-large: 9px 12px;--ds-control-padding-inline-small: 8px;--ds-control-padding-block-small: 1px;--ds-control-padding-inline-middle: 12px;--ds-control-padding-block-middle: 5px;--ds-control-padding-inline-large: 12px;--ds-control-padding-block-large: 9px;--ds-control-min-height-small: 24px;--ds-control-min-height-middle: 32px;--ds-control-min-height-large: 40px;--ds-control-line-height: 20px;--ds-control-color-border-hover: var(--ds-color-primary-hover);--ds-control-color-border-focus: var(--ds-color-primary);--ds-control-color-bg-disabled: var(--ds-color-bg-container-disabled);--ds-control-color-text-disabled: var(--ds-color-text-disabled);--ds-control-icon-size: 12px;--ds-control-color-bg: var(--ds-color-bg-container);--ds-control-color-border: var(--ds-color-border);--ds-control-color-border-active: var(--ds-color-primary);--ds-control-color-border-error-active: var(--ds-color-error);--ds-control-color-border-warning-active: var(--ds-color-warning);--ds-control-color-icon: var(--ds-color-text-quaternary);--ds-control-color-icon-hover: var(--ds-color-icon-hover);--ds-control-border: 1px solid var(--ds-control-color-border);--ds-control-border-active: 1px solid var(--ds-control-color-border-active);--ds-control-border-error-active: 1px solid var(--ds-control-color-border-error-active);--ds-control-border-warning-active: 1px solid var(--ds-control-color-border-warning-active);--ds-control-shadow-active: 0 0 0 2px color-mix(in oklab, var(--ds-color-primary) 20%, transparent);--ds-form-label-required-mark-color: var(--ds-color-error);--ds-control-shadow-error-active: 0 0 0 2px color-mix(in oklab, var(--ds-color-error) 20%, transparent);--ds-control-shadow-warning-active: 0 0 0 2px color-mix(in oklab, var(--ds-color-warning) 20%, transparent);--ds-control-color-text-placeholder: var(--ds-color-text-placeholder);--ds-button-bg-secondary: #fafafa;--ds-button-bg-gradient-top: rgba(0, 0, 0, .02);--ds-button-bg-gradient-bottom: rgba(255, 255, 255, 0);--ds-button-bg-gradient-primary-top: rgba(255, 255, 255, .07);--ds-button-bg-gradient-primary-bottom: rgba(255, 255, 255, 0);--ds-button-shadow-default: 0 0 0 0 transparent;--ds-button-shadow-default-inner: inset 0 1px 0 1px #ffffff;--ds-button-shadow-solid: 0 0 0 0 transparent;--ds-button-shadow-solid-hover: 0 0 0 0 transparent;--ds-button-shadow-solid-active: 0 0 0 0 transparent;--ds-button-shadow-solid-inner: inset 0 1px 0 1px rgba(255, 255, 255, .12);--ds-color-primary-fg: hsl(217 80% 40%);--ds-color-primary-fg-hover: hsl(217 80% 55%);--ds-color-primary-fg-active: hsl(217 80% 30%);--ds-color-error-fg: hsl(5 68% 45%);--ds-color-error-fg-hover: hsl(5 68% 50%);--ds-color-error-fg-active: hsl(5 68% 40%);--ds-inter: "Inter", Helvetica, Arial, sans-serif;--ds-roboto-mono: "Roboto Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--ds-animate-spin: ds-spin 1s linear infinite;--ds-z-index-base: 0;--ds-z-index-sticky-element: 520;--ds-z-index-scrollbar: 530;--ds-z-index-panel: 540;--ds-z-index-modal: 1000;--ds-z-index-modal-mask: 1000;--ds-z-index-message: 1010;--ds-z-index-notification: 1010;--ds-z-index-popover: 1030;--ds-z-index-popup: 1030;--ds-z-index-dropdown: 1050;--ds-z-index-picker: 1050;--ds-z-index-popconfirm: 1060;--ds-z-index-tooltip: 1070;--ds-z-index-toast: 2000;--ds-segment-color-bg-active: #ffffff;--ds-scrollbar-color-thumb: rgba(0, 0, 0, .2);--ds-scrollbar-color-track: rgba(0, 0, 0, 0);--ds-color-base-solid: #000000;--ds-color-table-fixed-column-shadow: rgb(0 0 0 / 10%);--ds-modal-color-border: rgba(0, 0, 0, .07)}@supports (font-variation-settings: normal){.ds-theme-provider{--ds-inter: "InterVariable", Inter, Helvetica, Arial, sans-serif;--ds-roboto-mono: "Roboto Mono Variable", Roboto Mono, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;font-optical-sizing:auto}}.ds-theme-provider.dark{--ds-modal-color-border: rgba(255, 255, 255, .1);--ds-segment-color-bg-active: #424248;--ds-scrollbar-color-thumb: rgba(255, 255, 255, .2);--ds-scrollbar-color-track: rgba(0, 0, 0, 0);--ds-color-base-solid: #ffffff;--ds-color-table-fixed-column-shadow: rgb(0 0 0 / 20%);--ds-button-bg-secondary: hsl(240, 6.5%, 17%);--ds-button-bg-gradient-top: rgba(255, 255, 255, .03);--ds-button-bg-gradient-bottom: rgba(255, 255, 255, 0);--ds-button-bg-gradient-primary-top: rgba(255, 255, 255, .12);--ds-button-bg-gradient-primary-bottom: rgba(255, 255, 255, 0);--ds-button-shadow-default: 0 0 0 0 transparent;--ds-button-shadow-default-inner: 0 0 0 0 transparent;--ds-button-shadow-solid: 0 0 0 0 transparent;--ds-button-shadow-solid-hover: 0 0 0 0 transparent;--ds-button-shadow-solid-active: 0 0 0 0 transparent;--ds-button-shadow-solid-inner: inset 0 1px 0 1px rgba(255, 255, 255, .14);--ds-color-primary-fg: hsl(211 95% 60%);--ds-color-primary-fg-hover: hsl(211 95% 65%);--ds-color-primary-fg-active: hsl(211 95% 58%);--ds-color-error-fg: hsl(4 72% 59%);--ds-color-error-fg-hover: hsl(4 72% 64%);--ds-color-error-fg-active: hsl(4 72% 56%)}}
@@ -1 +1 @@
1
- {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/components/toast/component.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,KAAK,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAS7D,OAAO,aAAa,CAAC;AAErB,iBAAS,UAAU,CAAC,EAClB,KAAK,GACN,EAAE;IACD,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;CAC9C,2CAiFA;AAED,iBAAS,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,2CAavD;AAED,iBAAS,aAAa,CAAC,KAAK,EAAE,kBAAkB,2CAE/C;AAED,eAAO,MAAM,KAAK;;;CAGhB,CAAC"}
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/components/toast/component.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,KAAK,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAS7D,OAAO,aAAa,CAAC;AAErB,iBAAS,UAAU,CAAC,EAClB,KAAK,GACN,EAAE;IACD,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;CAC9C,2CAmFA;AAED,iBAAS,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,2CAavD;AAED,iBAAS,aAAa,CAAC,KAAK,EAAE,kBAAkB,2CAE/C;AAED,eAAO,MAAM,KAAK;;;CAGhB,CAAC"}
@@ -1,41 +1,43 @@
1
1
  "use client";
2
2
  import { jsxs as c, jsx as r } from "react/jsx-runtime";
3
- import { XIcon as N, CircleNotchIcon as g, CheckCircleIcon as w, XCircleIcon as C, WarningCircleIcon as I, InfoIcon as T } from "@bioturing/assets";
3
+ import { XIcon as g, CircleNotchIcon as w, CheckCircleIcon as C, XCircleIcon as I, WarningCircleIcon as T, InfoIcon as k } from "@bioturing/assets";
4
4
  import { Toast as e } from "@base-ui/react";
5
5
  import { toastManager as a } from "./function.js";
6
- import { useEffect as k, useCallback as b } from "react";
7
- import { Button as v } from "../button/component.js";
8
- import { Modal as x } from "../modal/index.js";
6
+ import { useEffect as b, useCallback as v } from "react";
7
+ import { Button as x } from "../button/component.js";
8
+ import { Modal as P } from "../modal/index.js";
9
9
  import './style.css';/* empty css */
10
- import { isTracebackError as P } from "../utils/isTracebackError.js";
11
- import { CodeBlock as B } from "../code-block/component.js";
12
- import { useCls as p } from "../utils/antdUtils.js";
13
- import { IconButton as M } from "../icon-button/component.js";
14
- import { clsx as j } from "../utils/cn.js";
15
- function f({
10
+ import { isTracebackError as B } from "../utils/isTracebackError.js";
11
+ import { CodeBlock as M } from "../code-block/component.js";
12
+ import { useCls as f } from "../utils/antdUtils.js";
13
+ import { clsx as l } from "../utils/cn.js";
14
+ import { IconButton as j } from "../icon-button/component.js";
15
+ function u({
16
16
  toast: o
17
17
  }) {
18
- const t = p(), n = {
19
- info: /* @__PURE__ */ r(T, { weight: "fill" }),
20
- warning: /* @__PURE__ */ r(I, { weight: "fill" }),
21
- error: /* @__PURE__ */ r(C, { weight: "fill" }),
22
- success: /* @__PURE__ */ r(w, { weight: "fill" }),
23
- progress: /* @__PURE__ */ r(g, {})
24
- }, i = o.data?.type || "info", s = P(o?.description);
25
- k(() => {
18
+ const t = f(), n = {
19
+ info: /* @__PURE__ */ r(k, { weight: "fill" }),
20
+ warning: /* @__PURE__ */ r(T, { weight: "fill" }),
21
+ error: /* @__PURE__ */ r(I, { weight: "fill" }),
22
+ success: /* @__PURE__ */ r(C, { weight: "fill" }),
23
+ progress: /* @__PURE__ */ r(w, {})
24
+ }, i = o.data?.type || "info", s = B(o?.description);
25
+ b(() => {
26
26
  s && a.update(o.id, { timeout: 0 });
27
27
  }, [s, o.id]);
28
- const u = b(
29
- (h) => {
30
- const { children: l, className: d, ...m } = h;
28
+ const h = v(
29
+ (N) => {
30
+ const { children: d, className: m, ...p } = N;
31
31
  return s ? /* @__PURE__ */ c(
32
32
  "div",
33
33
  {
34
- ...m,
35
- className: t(
36
- "toast-description",
37
- s ? "toast-description-traceback" : "",
38
- d
34
+ ...p,
35
+ className: l(
36
+ t(
37
+ "toast-description",
38
+ s ? "toast-description-traceback" : ""
39
+ ),
40
+ m
39
41
  ),
40
42
  children: [
41
43
  /* @__PURE__ */ c("p", { children: [
@@ -44,13 +46,13 @@ function f({
44
46
  "Please contact us with error details for support."
45
47
  ] }),
46
48
  /* @__PURE__ */ r("p", { children: /* @__PURE__ */ r(
47
- v,
49
+ x,
48
50
  {
49
51
  size: "small",
50
52
  onClick: () => {
51
- x.open({
53
+ P.open({
52
54
  title: "Error details",
53
- content: /* @__PURE__ */ r(B, { children: l }),
55
+ content: /* @__PURE__ */ r(M, { children: d }),
54
56
  hideOkButton: !0
55
57
  }), a.close(o.id);
56
58
  },
@@ -59,7 +61,7 @@ function f({
59
61
  ) })
60
62
  ]
61
63
  }
62
- ) : /* @__PURE__ */ r("p", { ...m, className: t("toast-description", d), children: l });
64
+ ) : /* @__PURE__ */ r("p", { ...p, className: l(t("toast-description"), m), children: d });
63
65
  },
64
66
  [s, t, o.id]
65
67
  );
@@ -67,19 +69,19 @@ function f({
67
69
  /* @__PURE__ */ r("span", { className: t("toast-icon-wrap"), children: /* @__PURE__ */ r("span", { className: t("toast-icon", `toast-icon-${i}`), children: n[i] }) }),
68
70
  /* @__PURE__ */ c("div", { className: t("toast-content"), children: [
69
71
  /* @__PURE__ */ r(e.Title, { className: t("toast-title") }),
70
- /* @__PURE__ */ r(e.Description, { render: u })
72
+ /* @__PURE__ */ r(e.Description, { render: h })
71
73
  ] }),
72
- /* @__PURE__ */ r(e.Close, { className: t("toast-close"), children: /* @__PURE__ */ r(M, { as: "span", size: "small", children: /* @__PURE__ */ r(N, {}) }) })
74
+ /* @__PURE__ */ r(e.Close, { className: t("toast-close"), children: /* @__PURE__ */ r(j, { as: "span", size: "small", children: /* @__PURE__ */ r(g, {}) }) })
73
75
  ] });
74
76
  }
75
77
  function E({ className: o }) {
76
- const { toasts: t } = e.useToastManager(), n = p();
77
- return /* @__PURE__ */ r(e.Portal, { children: /* @__PURE__ */ r(e.Viewport, { className: j(n("toast-viewport"), o), children: t.map((i) => /* @__PURE__ */ r(f, { toast: i }, i.id)) }) });
78
+ const { toasts: t } = e.useToastManager(), n = f();
79
+ return /* @__PURE__ */ r(e.Portal, { children: /* @__PURE__ */ r(e.Viewport, { className: l(n("toast-viewport"), o), children: t.map((i) => /* @__PURE__ */ r(u, { toast: i }, i.id)) }) });
78
80
  }
79
81
  function y(o) {
80
82
  return /* @__PURE__ */ r(e.Provider, { toastManager: a, ...o });
81
83
  }
82
- const H = Object.assign(f, {
84
+ const H = Object.assign(u, {
83
85
  List: E,
84
86
  Provider: y
85
87
  });
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sources":["../../../src/components/toast/component.tsx"],"sourcesContent":["\"use client\";\nimport { useCls, clsx } from \"../utils\";\nimport {\n CheckCircleIcon,\n CircleNotchIcon,\n InfoIcon,\n WarningCircleIcon,\n XIcon,\n XCircleIcon,\n} from \"@bioturing/assets\";\nimport { Toast as BaseToast } from \"@base-ui/react\";\nimport { IconButton } from \"../icon-button\";\nimport { ToastData, type ToastProviderProps } from \"./types\";\nimport { toastManager } from \"./function\";\nimport { isTracebackError, type GenericHTMLProps } from \"../utils\";\nimport { useCallback, useEffect } from \"react\";\nimport { Button } from \"../button/component\";\nimport { Modal } from \"../modal\";\nimport { CodeBlock } from \"../code-block\";\n\n// Import component-specific styles\nimport \"./style.css\";\n\nfunction InnerToast({\n toast,\n}: {\n toast: BaseToast.Root.ToastObject<ToastData>;\n}) {\n const cls = useCls();\n const toastIconMap = {\n info: <InfoIcon weight=\"fill\" />,\n warning: <WarningCircleIcon weight=\"fill\" />,\n error: <XCircleIcon weight=\"fill\" />,\n success: <CheckCircleIcon weight=\"fill\" />,\n progress: <CircleNotchIcon />,\n };\n const type = toast.data?.type || \"info\";\n const isTraceback = isTracebackError(toast?.description);\n\n // Update manager timeout for traceback to disable auto-dismiss\n useEffect(() => {\n if (isTraceback) {\n toastManager.update(toast.id, { timeout: 0 });\n }\n }, [isTraceback, toast.id]);\n // console.log(toast);\n const renderDescription: BaseToast.Description.Props[\"render\"] = useCallback(\n (props: GenericHTMLProps) => {\n const { children, className, ...rest } = props;\n if (isTraceback) {\n return (\n <div\n {...rest}\n className={cls(\n \"toast-description\",\n isTraceback ? \"toast-description-traceback\" : \"\",\n className\n )}\n >\n <p>\n An unexpected error occurred.\n <br />\n Please contact us with error details for support.\n </p>\n <p>\n <Button\n size=\"small\"\n onClick={() => {\n Modal.open({\n title: \"Error details\",\n content: <CodeBlock>{children}</CodeBlock>,\n hideOkButton: true,\n });\n toastManager.close(toast.id);\n }}\n >\n View error details\n </Button>\n </p>\n </div>\n );\n }\n return (\n <p {...rest} className={cls(\"toast-description\", className)}>\n {children}\n </p>\n );\n },\n [isTraceback, cls, toast.id]\n );\n return (\n <BaseToast.Root toast={toast} className={cls(\"toast\")}>\n <span className={cls(\"toast-icon-wrap\")}>\n <span className={cls(\"toast-icon\", `toast-icon-${type}`)}>\n {toastIconMap[type]}\n </span>\n </span>\n <div className={cls(\"toast-content\")}>\n <BaseToast.Title className={cls(\"toast-title\")} />\n <BaseToast.Description render={renderDescription} />\n </div>\n <BaseToast.Close className={cls(\"toast-close\")}>\n <IconButton as=\"span\" size=\"small\">\n <XIcon />\n </IconButton>\n </BaseToast.Close>\n </BaseToast.Root>\n );\n}\n\nfunction ToastList({ className }: { className?: string }) {\n const { toasts } = BaseToast.useToastManager();\n const cls = useCls();\n\n return (\n <BaseToast.Portal>\n <BaseToast.Viewport className={clsx(cls(\"toast-viewport\"), className)}>\n {toasts.map((toast) => (\n <InnerToast key={toast.id} toast={toast} />\n ))}\n </BaseToast.Viewport>\n </BaseToast.Portal>\n );\n}\n\nfunction ToastProvider(props: ToastProviderProps) {\n return <BaseToast.Provider toastManager={toastManager} {...props} />;\n}\n\nexport const Toast = Object.assign(InnerToast, {\n List: ToastList,\n Provider: ToastProvider,\n});\n"],"names":["InnerToast","toast","cls","useCls","toastIconMap","jsx","InfoIcon","WarningCircleIcon","XCircleIcon","CheckCircleIcon","CircleNotchIcon","type","isTraceback","isTracebackError","useEffect","toastManager","renderDescription","useCallback","props","children","className","rest","jsxs","Button","Modal","CodeBlock","BaseToast","IconButton","XIcon","ToastList","toasts","clsx","ToastProvider","Toast"],"mappings":"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"}
1
+ {"version":3,"file":"component.js","sources":["../../../src/components/toast/component.tsx"],"sourcesContent":["\"use client\";\nimport { useCls, clsx } from \"../utils\";\nimport {\n CheckCircleIcon,\n CircleNotchIcon,\n InfoIcon,\n WarningCircleIcon,\n XIcon,\n XCircleIcon,\n} from \"@bioturing/assets\";\nimport { Toast as BaseToast } from \"@base-ui/react\";\nimport { IconButton } from \"../icon-button\";\nimport { ToastData, type ToastProviderProps } from \"./types\";\nimport { toastManager } from \"./function\";\nimport { isTracebackError, type GenericHTMLProps } from \"../utils\";\nimport { useCallback, useEffect } from \"react\";\nimport { Button } from \"../button/component\";\nimport { Modal } from \"../modal\";\nimport { CodeBlock } from \"../code-block\";\n\n// Import component-specific styles\nimport \"./style.css\";\n\nfunction InnerToast({\n toast,\n}: {\n toast: BaseToast.Root.ToastObject<ToastData>;\n}) {\n const cls = useCls();\n const toastIconMap = {\n info: <InfoIcon weight=\"fill\" />,\n warning: <WarningCircleIcon weight=\"fill\" />,\n error: <XCircleIcon weight=\"fill\" />,\n success: <CheckCircleIcon weight=\"fill\" />,\n progress: <CircleNotchIcon />,\n };\n const type = toast.data?.type || \"info\";\n const isTraceback = isTracebackError(toast?.description);\n\n // Update manager timeout for traceback to disable auto-dismiss\n useEffect(() => {\n if (isTraceback) {\n toastManager.update(toast.id, { timeout: 0 });\n }\n }, [isTraceback, toast.id]);\n // console.log(toast);\n const renderDescription: BaseToast.Description.Props[\"render\"] = useCallback(\n (props: GenericHTMLProps) => {\n const { children, className, ...rest } = props;\n if (isTraceback) {\n return (\n <div\n {...rest}\n className={clsx(\n cls(\n \"toast-description\",\n isTraceback ? \"toast-description-traceback\" : \"\"\n ),\n className\n )}\n >\n <p>\n An unexpected error occurred.\n <br />\n Please contact us with error details for support.\n </p>\n <p>\n <Button\n size=\"small\"\n onClick={() => {\n Modal.open({\n title: \"Error details\",\n content: <CodeBlock>{children}</CodeBlock>,\n hideOkButton: true,\n });\n toastManager.close(toast.id);\n }}\n >\n View error details\n </Button>\n </p>\n </div>\n );\n }\n return (\n <p {...rest} className={clsx(cls(\"toast-description\"), className)}>\n {children}\n </p>\n );\n },\n [isTraceback, cls, toast.id]\n );\n return (\n <BaseToast.Root toast={toast} className={cls(\"toast\")}>\n <span className={cls(\"toast-icon-wrap\")}>\n <span className={cls(\"toast-icon\", `toast-icon-${type}`)}>\n {toastIconMap[type]}\n </span>\n </span>\n <div className={cls(\"toast-content\")}>\n <BaseToast.Title className={cls(\"toast-title\")} />\n <BaseToast.Description render={renderDescription} />\n </div>\n <BaseToast.Close className={cls(\"toast-close\")}>\n <IconButton as=\"span\" size=\"small\">\n <XIcon />\n </IconButton>\n </BaseToast.Close>\n </BaseToast.Root>\n );\n}\n\nfunction ToastList({ className }: { className?: string }) {\n const { toasts } = BaseToast.useToastManager();\n const cls = useCls();\n\n return (\n <BaseToast.Portal>\n <BaseToast.Viewport className={clsx(cls(\"toast-viewport\"), className)}>\n {toasts.map((toast) => (\n <InnerToast key={toast.id} toast={toast} />\n ))}\n </BaseToast.Viewport>\n </BaseToast.Portal>\n );\n}\n\nfunction ToastProvider(props: ToastProviderProps) {\n return <BaseToast.Provider toastManager={toastManager} {...props} />;\n}\n\nexport const Toast = Object.assign(InnerToast, {\n List: ToastList,\n Provider: ToastProvider,\n});\n"],"names":["InnerToast","toast","cls","useCls","toastIconMap","jsx","InfoIcon","WarningCircleIcon","XCircleIcon","CheckCircleIcon","CircleNotchIcon","type","isTraceback","isTracebackError","useEffect","toastManager","renderDescription","useCallback","props","children","className","rest","jsxs","clsx","Button","Modal","CodeBlock","BaseToast","IconButton","XIcon","ToastList","toasts","ToastProvider","Toast"],"mappings":"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"}
@@ -7,14 +7,20 @@ import { default as React } from 'react';
7
7
  export declare function findClosestInlineFlexParent(element: HTMLElement): HTMLElement | null;
8
8
  export declare function getFlexRemainingSpace(flexContainer: HTMLElement, ignoreElement?: HTMLElement | ((e: HTMLElement) => boolean)): number;
9
9
  /**
10
- * Measures text width with optional render function for styled content
11
- * @param container - The container element to clone styles from
12
- * @param renderText - Optional render function to apply styling to text before measurement
10
+ * Computes a middle-truncated version of `text` that fits within
11
+ * `container.clientWidth` pixels.
12
+ *
13
+ * Uses a binary search over the total number of characters to keep.
14
+ * Plain text uses canvas measurement; custom `renderText` falls back to DOM
15
+ * measurement because styled markup can change the rendered width.
16
+ *
17
+ * @param text - The original string.
18
+ * @param ellipsis - Separator to insert at the truncation point (e.g. "…").
19
+ * @param container - The element whose `clientWidth` sets the budget and
20
+ * whose computed font is used for measurement.
21
+ * @param renderText - Optional custom renderer used for styled text measurement.
22
+ * @returns The original string if it fits, or a middle-truncated string.
13
23
  */
14
- export declare const measureText: (container: HTMLElement, renderText?: ((text: string) => React.ReactNode) | null) => {
15
- measure: (text: string) => number;
16
- destroy: () => void;
17
- };
18
24
  export declare const getMiddleTruncatedString: (text: string, ellipsis: string, container: HTMLElement, renderText?: ((text: string) => React.ReactNode) | null) => string;
19
25
  export declare const createMeasurementClone: (text: string, container: HTMLElement) => HTMLSpanElement;
20
26
  export declare const checkIfTextTruncated: (text: string, container: HTMLElement, availableHeight?: number) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/components/truncate/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,WAAW,GACnB,WAAW,GAAG,IAAI,CAqBpB;AAED,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,WAAW,EAC1B,aAAa,GAAE,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,WAAW,KAAK,OAAO,CAAQ,UA2ClE;AAKD;;;;GAIG;AACH,eAAO,MAAM,WAAW,GACtB,WAAW,WAAW,EACtB,aAAa,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI;oBAwBrC,MAAM;;CA0DzB,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,MAAM,MAAM,EACZ,UAAU,MAAM,EAChB,WAAW,WAAW,EACtB,aAAa,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI,KACtD,MAgEF,CAAC;AAGF,eAAO,MAAM,sBAAsB,GACjC,MAAM,MAAM,EACZ,WAAW,WAAW,oBAavB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,MAAM,MAAM,EACZ,WAAW,WAAW,EACtB,kBAAkB,MAAM,YAQzB,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,WAAW,WAAW,WAiB9D,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,WAAW,WAAW,WAiB7D,CAAC;AAGF,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,UAAU,GAAG,MAAM,CAAC;AAE9D,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,uBAAuB,GAAI,WAAW,WAAW,KAAG,OAEhE,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAChC,WAAW,WAAW,EACtB,kBAAkB,MAAM,KACvB,OAGF,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,WAAW,WAAW,EACtB,UAAS,oBAAyB,KACjC,OAyCF,CAAC"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/components/truncate/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,GAAG,IAAI,CAqBpF;AAED,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,WAAW,EAC1B,aAAa,GAAE,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,WAAW,KAAK,OAAO,CAAQ,UA6BlE;AAgJD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,wBAAwB,GACnC,MAAM,MAAM,EACZ,UAAU,MAAM,EAChB,WAAW,WAAW,EACtB,aAAa,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI,KACtD,MAmBF,CAAC;AAGF,eAAO,MAAM,sBAAsB,GAAI,MAAM,MAAM,EAAE,WAAW,WAAW,oBAY1E,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,MAAM,MAAM,EACZ,WAAW,WAAW,EACtB,kBAAkB,MAAM,YAQzB,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,WAAW,WAAW,WAW9D,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,WAAW,WAAW,WAW7D,CAAC;AAGF,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,UAAU,GAAG,MAAM,CAAC;AAE9D,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,uBAAuB,GAAI,WAAW,WAAW,KAAG,OAEhE,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAChC,WAAW,WAAW,EACtB,kBAAkB,MAAM,KACvB,OAGF,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,WAAW,WAAW,EACtB,UAAS,oBAAyB,KACjC,OA2CF,CAAC"}
@@ -1,111 +1,128 @@
1
- import v from "react";
2
- import { renderToStaticMarkup as w } from "react-dom/server";
3
- const d = /* @__PURE__ */ new Map(), W = (e, n) => {
4
- const t = document.createElement("span");
5
- t.style.opacity = "0", t.style.position = "absolute", t.style.top = "-1000px", t.style.left = "-1000px", t.style.whiteSpace = "nowrap", t.style.pointerEvents = "none";
6
- const o = e.getBoundingClientRect(), s = e.cloneNode(!0);
7
- return s.style.maxWidth = `${o.width}px`, s.style.position = "absolute", s.style.pointerEvents = "none", s.style.top = "-99px", s.style.left = "-99px", s.style.zIndex = "-1", e.parentElement?.appendChild(s), s.appendChild(t), {
8
- measure: (l) => {
9
- if (n) {
10
- const r = `${l}-styled`;
11
- if (d.has(r))
12
- return d.get(r);
13
- t.innerHTML = "";
14
- const c = n(l);
15
- if (typeof c == "string")
16
- t.innerHTML = c;
17
- else if (v.isValidElement(c))
18
- try {
19
- const i = w(c);
20
- t.innerHTML = i;
21
- } catch {
22
- t.innerText = l;
23
- }
24
- else
25
- t.innerText = l;
26
- const h = t.clientWidth;
27
- if (d.set(r, h), d.size > 100) {
28
- const i = d.keys().next().value;
29
- d.delete(i);
1
+ import f from "react";
2
+ import { renderToStaticMarkup as g } from "react-dom/server";
3
+ let d = null;
4
+ function m() {
5
+ if (!d) {
6
+ const n = document.createElement("canvas").getContext("2d");
7
+ if (!n) throw new Error("Failed to get 2d context from canvas");
8
+ d = n;
9
+ }
10
+ return d;
11
+ }
12
+ function y(t, n, e, o) {
13
+ const r = m();
14
+ return r.font = n, r.letterSpacing = e, r.wordSpacing = o, r.measureText(t).width;
15
+ }
16
+ function w(t) {
17
+ const n = window.getComputedStyle(t);
18
+ return {
19
+ font: `${n.fontStyle} ${n.fontVariant} ${n.fontWeight} ${n.fontSize} ${n.fontFamily}`,
20
+ letterSpacing: n.letterSpacing,
21
+ wordSpacing: n.wordSpacing
22
+ };
23
+ }
24
+ function S(t, n) {
25
+ const e = document.createElement("span");
26
+ e.style.opacity = "0", e.style.position = "absolute", e.style.top = "-1000px", e.style.left = "-1000px", e.style.whiteSpace = "nowrap", e.style.pointerEvents = "none";
27
+ const o = t.getBoundingClientRect(), r = t.cloneNode(!0);
28
+ return r.style.maxWidth = `${o.width}px`, r.style.position = "absolute", r.style.pointerEvents = "none", r.style.top = "-1000px", r.style.left = "-1000px", r.style.zIndex = "-1", t.parentElement?.appendChild(r), r.appendChild(e), {
29
+ measure: (i) => {
30
+ e.innerHTML = "";
31
+ const l = n(i);
32
+ if (typeof l == "string" || typeof l == "number")
33
+ e.textContent = String(l);
34
+ else if (f.isValidElement(l))
35
+ try {
36
+ e.innerHTML = g(l);
37
+ } catch {
38
+ e.textContent = i;
30
39
  }
31
- return h;
32
- }
33
- return t.innerText = l, t.clientWidth;
40
+ else
41
+ e.textContent = i;
42
+ return e.clientWidth;
34
43
  },
35
44
  destroy: () => {
36
- s.removeChild(t), e.parentElement?.removeChild(s);
45
+ e.remove(), r.remove();
37
46
  }
38
47
  };
39
- }, M = (e, n, t, o) => {
40
- if (!e) return e;
41
- const { measure: s, destroy: l } = W(t, o), r = s(e), c = t.clientWidth, h = Math.floor(
42
- c / r * e.length
43
- );
44
- if (r <= c)
45
- return l(), e;
46
- let i = h;
47
- const a = {}, g = 20, b = 4;
48
- for (; Object.values(a).length <= g && !a[i]; ) {
49
- if (i <= 1) {
50
- a[0] = [0, n];
51
- break;
52
- }
53
- const p = e.slice(0, Math.ceil((i - n.length) / 2 - 1)).trimEnd(), H = e.slice(Math.floor((i - n.length) / 2) - i).trimStart(), m = p + n + H, f = s(m);
54
- if (a[i] = [f, m], f >= c)
55
- i = i - 2;
56
- else {
57
- if (c - f < b) break;
58
- i = i + 2;
48
+ }
49
+ function p(t, n, e, o) {
50
+ if (o(t) <= e) return t;
51
+ const r = (s) => {
52
+ if (s === 0) return n;
53
+ const c = Math.floor(s / 2), a = Math.ceil(s / 2);
54
+ return t.slice(0, c).trimEnd() + n + t.slice(t.length - a).trimStart();
55
+ };
56
+ let i = 0, l = t.length;
57
+ for (; i < l; ) {
58
+ const s = Math.ceil((i + l) / 2), c = r(s);
59
+ o(c) <= e ? i = s : l = s - 1;
60
+ }
61
+ return r(i);
62
+ }
63
+ const v = (t, n, e, o) => {
64
+ if (!t) return t;
65
+ const { font: r, letterSpacing: i, wordSpacing: l } = w(e), s = e.clientWidth;
66
+ if (o) {
67
+ const { measure: c, destroy: a } = S(e, o);
68
+ try {
69
+ return p(t, n, s, c);
70
+ } finally {
71
+ a();
59
72
  }
60
73
  }
61
- return l(), Object.values(a).reverse().find(([p]) => p < c)?.[1] ?? Object.values(a)[0][1];
62
- }, C = (e, n) => {
63
- const t = window.getComputedStyle(n), o = document.createElement("span");
64
- return o.style.visibility = "hidden", o.style.position = "absolute", o.style.width = `${n.clientWidth}px`, o.style.fontSize = t.fontSize, o.style.fontFamily = t.fontFamily, o.style.lineHeight = t.lineHeight, o.textContent = e, document.body.appendChild(o), o;
65
- }, S = (e) => {
66
- const n = e.parentElement;
74
+ return p(
75
+ t,
76
+ n,
77
+ s,
78
+ (c) => y(c, r, i, l)
79
+ );
80
+ }, C = (t, n) => {
81
+ const e = window.getComputedStyle(n), o = document.createElement("span");
82
+ return o.style.visibility = "hidden", o.style.position = "absolute", o.style.width = `${n.clientWidth}px`, o.style.fontSize = e.fontSize, o.style.fontFamily = e.fontFamily, o.style.lineHeight = e.lineHeight, o.textContent = t, document.body.appendChild(o), o;
83
+ }, W = (t) => {
84
+ const n = t.parentElement;
67
85
  if (!n) return 0;
68
- const t = window.getComputedStyle(n), o = parseFloat(t.paddingTop) || 0, s = parseFloat(t.paddingBottom) || 0, l = parseFloat(t.borderTopWidth) || 0, r = parseFloat(t.borderBottomWidth) || 0;
69
- return n.clientHeight - o - s - l - r;
70
- }, u = (e) => e.scrollWidth > e.clientWidth, y = (e, n) => {
71
- const t = n ?? (e.clientHeight || e.offsetHeight);
72
- return e.scrollHeight > t;
73
- }, E = (e, n = {}) => {
74
- const { type: t = "horizontal", availableHeight: o, text: s } = n;
75
- if (s) {
76
- const l = C(s, e);
77
- let r = !1;
78
- switch (t) {
86
+ const e = window.getComputedStyle(n), o = parseFloat(e.paddingTop) || 0, r = parseFloat(e.paddingBottom) || 0, i = parseFloat(e.borderTopWidth) || 0, l = parseFloat(e.borderBottomWidth) || 0;
87
+ return n.clientHeight - o - r - i - l;
88
+ }, h = (t) => t.scrollWidth > t.clientWidth, u = (t, n) => {
89
+ const e = n ?? (t.clientHeight || t.offsetHeight);
90
+ return t.scrollHeight > e;
91
+ }, x = (t, n = {}) => {
92
+ const { type: e = "horizontal", availableHeight: o, text: r } = n;
93
+ if (r) {
94
+ const i = C(r, t);
95
+ let l = !1;
96
+ switch (e) {
79
97
  case "horizontal":
80
- r = l.scrollWidth > e.clientWidth;
98
+ l = i.scrollWidth > t.clientWidth;
81
99
  break;
82
100
  case "vertical":
83
- r = o ? l.scrollHeight > o : l.scrollHeight > (e.clientHeight || e.offsetHeight);
101
+ l = o ? i.scrollHeight > o : i.scrollHeight > (t.clientHeight || t.offsetHeight);
84
102
  break;
85
103
  case "both":
86
- r = l.scrollWidth > e.clientWidth || (o ? l.scrollHeight > o : l.scrollHeight > (e.clientHeight || e.offsetHeight));
104
+ l = i.scrollWidth > t.clientWidth || (o ? i.scrollHeight > o : i.scrollHeight > (t.clientHeight || t.offsetHeight));
87
105
  break;
88
106
  }
89
- return document.body.removeChild(l), r;
107
+ return document.body.removeChild(i), l;
90
108
  }
91
- switch (t) {
109
+ switch (e) {
92
110
  case "horizontal":
93
- return u(e);
111
+ return h(t);
94
112
  case "vertical":
95
- return y(e, o);
113
+ return u(t, o);
96
114
  case "both":
97
- return u(e) || y(e, o);
115
+ return h(t) || u(t, o);
98
116
  default:
99
- return u(e);
117
+ return h(t);
100
118
  }
101
119
  };
102
120
  export {
103
- S as calculateAvailableHeight,
104
- u as checkHorizontalOverflow,
105
- E as checkOverflow,
106
- y as checkVerticalOverflow,
121
+ W as calculateAvailableHeight,
122
+ h as checkHorizontalOverflow,
123
+ x as checkOverflow,
124
+ u as checkVerticalOverflow,
107
125
  C as createMeasurementClone,
108
- M as getMiddleTruncatedString,
109
- W as measureText
126
+ v as getMiddleTruncatedString
110
127
  };
111
128
  //# sourceMappingURL=helpers.js.map