@pstdio/ui 0.16.0 → 0.17.0

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 (150) hide show
  1. package/dist/chat-ui.js +1618 -1102
  2. package/dist/chat-ui.js.map +1 -1
  3. package/dist/{checkbox-D5AzFRlb.js → checkbox-B2zYVemL.js} +28 -28
  4. package/dist/checkbox-B2zYVemL.js.map +1 -0
  5. package/dist/components/chat-ui/components/chat-input-actions.d.ts +1 -0
  6. package/dist/components/chat-ui/components/chat-input.d.ts +8 -2
  7. package/dist/components/chat-ui/components/chat-panel.d.ts +11 -5
  8. package/dist/components/chat-ui/components/composer-constants.d.ts +1 -0
  9. package/dist/components/chat-ui/components/conversation-browse.d.ts +22 -0
  10. package/dist/components/chat-ui/components/message-types.d.ts +14 -0
  11. package/dist/components/chat-ui/components/queued-follow-up-list-state.d.ts +4 -0
  12. package/dist/components/chat-ui/components/queued-follow-up-list.d.ts +11 -0
  13. package/dist/components/chat-ui/components/timeline.d.ts +5 -0
  14. package/dist/components/chat-ui/components/working-indicator.d.ts +9 -0
  15. package/dist/components/chat-ui/components/workspace-hub.d.ts +8 -1
  16. package/dist/components/chat-ui/index.d.ts +4 -2
  17. package/dist/components/chat-ui/tool-rendering/build-timeline.d.ts +2 -2
  18. package/dist/components/chat-ui/tool-rendering/question-prompt.d.ts +9 -0
  19. package/dist/components/data-table/build-columns.d.ts +13 -2
  20. package/dist/components/data-table/categorical-color-cell.d.ts +8 -0
  21. package/dist/components/data-table/color-cell-style.d.ts +13 -0
  22. package/dist/components/data-table/color-scale-cell.d.ts +7 -0
  23. package/dist/components/data-table/data-table-column-menu.d.ts +12 -0
  24. package/dist/components/data-table/data-table-header.d.ts +18 -0
  25. package/dist/components/data-table/data-table-stat-chart.d.ts +21 -0
  26. package/dist/components/data-table/data-table-state.d.ts +27 -0
  27. package/dist/components/data-table/data-table-stats-row.d.ts +11 -0
  28. package/dist/components/data-table/data-table-stats.d.ts +19 -0
  29. package/dist/components/data-table/data-table-table-parts.d.ts +21 -0
  30. package/dist/components/data-table/data-table.story-descriptions.d.ts +6 -0
  31. package/dist/components/data-table/data-table.story-fixtures.d.ts +6 -0
  32. package/dist/components/data-table/friendly-json-display.d.ts +31 -0
  33. package/dist/components/data-table/index.d.ts +3 -1
  34. package/dist/components/data-table/json-cell.d.ts +6 -0
  35. package/dist/components/data-table/pagination-footer.d.ts +4 -1
  36. package/dist/components/data-table/selection-toolbar.d.ts +3 -1
  37. package/dist/components/data-table/types.d.ts +72 -0
  38. package/dist/components/{data-renderer → kanban-renderer}/display-menu.d.ts +4 -4
  39. package/dist/components/{data-renderer → kanban-renderer}/filter-menu.d.ts +3 -3
  40. package/dist/components/kanban-renderer/index.d.ts +19 -0
  41. package/dist/components/kanban-renderer/kanban-renderer-attribute-badge.d.ts +7 -0
  42. package/dist/components/{data-renderer/data-renderer-board-column-header.d.ts → kanban-renderer/kanban-renderer-board-column-header.d.ts} +2 -2
  43. package/dist/components/{data-renderer/data-renderer-board-group-section.d.ts → kanban-renderer/kanban-renderer-board-group-section.d.ts} +2 -2
  44. package/dist/components/{data-renderer/data-renderer-board-move.d.ts → kanban-renderer/kanban-renderer-board-move.d.ts} +3 -3
  45. package/dist/components/{data-renderer/data-renderer-board.d.ts → kanban-renderer/kanban-renderer-board.d.ts} +15 -14
  46. package/dist/components/{data-renderer/data-renderer-card.d.ts → kanban-renderer/kanban-renderer-card.d.ts} +4 -3
  47. package/dist/components/{data-renderer/data-renderer-content.d.ts → kanban-renderer/kanban-renderer-content.d.ts} +8 -8
  48. package/dist/components/kanban-renderer/kanban-renderer-create-dialog.d.ts +12 -0
  49. package/dist/components/kanban-renderer/kanban-renderer-create-field.d.ts +10 -0
  50. package/dist/components/kanban-renderer/kanban-renderer-grouping.d.ts +23 -0
  51. package/dist/components/{data-renderer/data-renderer-helpers.d.ts → kanban-renderer/kanban-renderer-helpers.d.ts} +15 -15
  52. package/dist/components/kanban-renderer/kanban-renderer-list-items.d.ts +25 -0
  53. package/dist/components/kanban-renderer/kanban-renderer-list.d.ts +43 -0
  54. package/dist/components/{data-renderer/data-renderer-story-fixtures.d.ts → kanban-renderer/kanban-renderer-story-fixtures.d.ts} +3 -2
  55. package/dist/components/kanban-renderer/kanban-renderer-toolbar.d.ts +15 -0
  56. package/dist/components/kanban-renderer/kanban-renderer-view-bar.d.ts +14 -0
  57. package/dist/components/kanban-renderer/kanban-renderer-views.d.ts +12 -0
  58. package/dist/components/{data-renderer/data-renderer.d.ts → kanban-renderer/kanban-renderer.d.ts} +11 -8
  59. package/dist/components/{data-renderer → kanban-renderer}/types.d.ts +51 -8
  60. package/dist/components/kanban-renderer/use-kanban-renderer-store.d.ts +78 -0
  61. package/dist/components/layout/index.d.ts +1 -0
  62. package/dist/components/layout/panel-header.constants.d.ts +2 -0
  63. package/dist/components/layout/resizable-split-layout.d.ts +3 -2
  64. package/dist/components/layout/resizable-split-layout.geometry.d.ts +56 -0
  65. package/dist/components/layout/resizable-split-layout.handle.d.ts +6 -2
  66. package/dist/components/layout/resizable-split-layout.panels.d.ts +25 -0
  67. package/dist/components/list-row/list-row-actions.d.ts +1 -0
  68. package/dist/components/list-row/list-row-content.d.ts +7 -0
  69. package/dist/components/list-row/list-row.types.d.ts +4 -1
  70. package/dist/components/overlays/attached-menu.d.ts +6 -0
  71. package/dist/components/overlays/attachment-chip.d.ts +13 -0
  72. package/dist/components/overlays/index.d.ts +6 -2
  73. package/dist/components/overlays/resource-context-menu.d.ts +13 -1
  74. package/dist/components/param-editor/index.d.ts +2 -1
  75. package/dist/components/param-editor/inputs/selection-input.d.ts +6 -6
  76. package/dist/components/param-editor/inputs/selection-menu.d.ts +29 -0
  77. package/dist/components/param-editor/param-editor-horizontal.d.ts +1 -0
  78. package/dist/components/param-editor/param-editor-read-only-field.d.ts +9 -0
  79. package/dist/components/param-editor/param-editor-section.d.ts +1 -0
  80. package/dist/components/param-editor/param-editor.d.ts +1 -0
  81. package/dist/components/param-editor/param-editor.types.d.ts +35 -6
  82. package/dist/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/ReferenceMenuPlugin.d.ts +2 -1
  83. package/dist/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/hooks/useContextLookup.d.ts +2 -1
  84. package/dist/components/rich-text/prompt-input/plugins/ReferencePlugin/ReferencePlugin.d.ts +2 -1
  85. package/dist/components/rich-text/prompt-input/prompt-input.d.ts +3 -2
  86. package/dist/components/rich-text/types.d.ts +1 -1
  87. package/dist/components/{sidebar/sidebar-footer.d.ts → sidenav/sidenav-footer.d.ts} +2 -2
  88. package/dist/components/{sidebar/sidebar-header.d.ts → sidenav/sidenav-header.d.ts} +2 -2
  89. package/dist/components/sidenav/sidenav.d.ts +2 -0
  90. package/dist/components/sidenav/sidenav.store.d.ts +49 -0
  91. package/dist/components/{sidebar/sidebar.types.d.ts → sidenav/sidenav.types.d.ts} +5 -5
  92. package/dist/components/tab-strip/tab-visibility-filter.d.ts +1 -0
  93. package/dist/components/terminal/terminal.d.ts +11 -0
  94. package/dist/components/tree-list/tree-list-visibility-filter.d.ts +0 -1
  95. package/dist/components/tree-list/tree-list.d.ts +1 -1
  96. package/dist/components/tree-list/tree-list.types.d.ts +4 -0
  97. package/dist/data-table.js +1271 -0
  98. package/dist/data-table.js.map +1 -0
  99. package/dist/diff.js +2 -2
  100. package/dist/index.d.ts +3 -3
  101. package/dist/index.js +1885 -3360
  102. package/dist/index.js.map +1 -1
  103. package/dist/kanban-renderer-toolbar-B9ro-9z1.js +1318 -0
  104. package/dist/kanban-renderer-toolbar-B9ro-9z1.js.map +1 -0
  105. package/dist/kanban-renderer.js +1087 -0
  106. package/dist/kanban-renderer.js.map +1 -0
  107. package/dist/list-row-YRUxEcy3.js +808 -0
  108. package/dist/list-row-YRUxEcy3.js.map +1 -0
  109. package/dist/param-editor-CYZJbmKu.js +933 -0
  110. package/dist/param-editor-CYZJbmKu.js.map +1 -0
  111. package/dist/param-editor-read-only-field-DgtLqcFa.js +925 -0
  112. package/dist/param-editor-read-only-field-DgtLqcFa.js.map +1 -0
  113. package/dist/prism-BXb57lxL.js +125 -0
  114. package/dist/prism-BXb57lxL.js.map +1 -0
  115. package/dist/rich-message-DBf_5YlW.js.map +1 -1
  116. package/dist/style.css +1 -1
  117. package/dist/terminal.js +197 -177
  118. package/dist/terminal.js.map +1 -1
  119. package/dist/theme/primitives/sizes.d.ts +23 -0
  120. package/dist/theme/recipes/button.d.ts +6 -0
  121. package/dist/theme/recipes/tabs.d.ts +4 -4
  122. package/dist/theme/tokens/colors.d.ts +18 -24
  123. package/dist/{theme-CJBYBJaA.js → theme-CNhnbvcE.js} +208 -162
  124. package/dist/theme-CNhnbvcE.js.map +1 -0
  125. package/dist/theme.js +1 -1
  126. package/dist/tree-list-CZHLAURU.js +1033 -0
  127. package/dist/tree-list-CZHLAURU.js.map +1 -0
  128. package/package.json +10 -4
  129. package/dist/checkbox-D5AzFRlb.js.map +0 -1
  130. package/dist/components/data-renderer/card-interaction-guard.d.ts +0 -2
  131. package/dist/components/data-renderer/data-renderer-attribute-badge.d.ts +0 -7
  132. package/dist/components/data-renderer/data-renderer-grouping.d.ts +0 -23
  133. package/dist/components/data-renderer/data-renderer-list.d.ts +0 -39
  134. package/dist/components/data-renderer/data-renderer-toolbar.d.ts +0 -12
  135. package/dist/components/data-renderer/index.d.ts +0 -18
  136. package/dist/components/data-renderer/use-data-renderer-store.d.ts +0 -59
  137. package/dist/components/sidebar/sidebar.d.ts +0 -2
  138. package/dist/components/sidebar/sidebar.store.d.ts +0 -49
  139. package/dist/data-renderer.js +0 -1669
  140. package/dist/data-renderer.js.map +0 -1
  141. package/dist/list-row-mi3Hn-Um.js +0 -740
  142. package/dist/list-row-mi3Hn-Um.js.map +0 -1
  143. package/dist/theme-CJBYBJaA.js.map +0 -1
  144. package/dist/tree-list-CcuZMLS5.js +0 -930
  145. package/dist/tree-list-CcuZMLS5.js.map +0 -1
  146. package/dist/workspace-badge-Fuo-1zPj.js +0 -314
  147. package/dist/workspace-badge-Fuo-1zPj.js.map +0 -1
  148. /package/dist/components/{data-renderer/data-renderer-badge-helpers.d.ts → kanban-renderer/kanban-renderer-badge-helpers.d.ts} +0 -0
  149. /package/dist/components/{data-renderer/data-renderer-enum-helpers.d.ts → kanban-renderer/kanban-renderer-enum-helpers.d.ts} +0 -0
  150. /package/dist/components/{data-renderer → kanban-renderer}/use-resolved-attributes.d.ts +0 -0
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- .pstdio-terminal .xterm-viewport{scrollbar-width:thin;scrollbar-color:rgba(128,128,128,.4) transparent}.pstdio-terminal .xterm-viewport::-webkit-scrollbar{width:10px}.pstdio-terminal .xterm-viewport::-webkit-scrollbar-track{background:transparent}.pstdio-terminal .xterm-viewport::-webkit-scrollbar-thumb{background-color:#80808066;border:3px solid transparent;background-clip:padding-box;border-radius:9999px}.pstdio-terminal .xterm-viewport::-webkit-scrollbar-thumb:hover{background-color:#80808099}.rich-text__ltr{text-align:left}.rich-text__rtl{text-align:right}.rich-text{--rich-text-font-scale: 1;--rich-text-list-indent: 1.5rem;font-size:calc(1rem * var(--rich-text-font-scale))}.rich-text[data-rich-message=true]{--rich-text-font-scale: .9}.rich-text[data-rich-message=true] .rich-text__p:last-child{margin-bottom:0}.rich-text__paragraph{margin:0;position:relative}.rich-text__quote{margin:0;margin-top:var(--chakra-spacing-xl, 1.5rem);margin-left:var(--chakra-spacing-sm, .75rem);margin-bottom:var(--chakra-spacing-xl, 1.5rem);font-size:calc(15px * var(--rich-text-font-scale));color:var(--chakra-colors-fg-muted);border-left:4px solid var(--chakra-colors-border);padding-left:16px}.rich-text__indent{--lexical-indent-base-value: 40px}.rich-text__textBold{font-weight:700}.rich-text__reference{font:inherit;border-bottom:1px dotted currentColor;opacity:.9;white-space:nowrap}.rich-text__textStrikethrough{text-decoration:line-through}.rich-text__textUnderlineStrikethrough{text-decoration:underline line-through}.rich-text__textSubscript{font-size:.8em;vertical-align:sub}.rich-text__textSuperscript{font-size:.8em;vertical-align:super}.rich-text__textCode{background-color:var(--chakra-colors-bg-code);padding:1px .25rem;font-family:var(--chakra-fonts-mono);font-size:.94em}.rich-text__link{color:var(--chakra-colors-blue-600);text-decoration:none;cursor:pointer}.rich-text__link:hover{text-decoration:underline}.rich-text__code{background-color:var(--chakra-colors-bg-code);font-family:var(--chakra-fonts-mono);display:block;padding:8px 8px 8px 52px;line-height:1.53;font-size:calc(13px * var(--rich-text-font-scale));margin:0;margin-top:var(--chakra-spacing-md, 1rem);margin-bottom:var(--chakra-spacing-md, 1rem);overflow-x:auto;position:relative;tab-size:2}.rich-text__code:before{content:attr(data-gutter);position:absolute;background-color:var(--chakra-colors-bg-subtle);left:0;top:0;bottom:0;border-right:1px solid var(--chakra-colors-border);padding:8px;color:var(--chakra-colors-fg-muted);white-space:pre-wrap;text-align:right;min-width:25px}.rich-text__table{border-collapse:collapse;border-spacing:0;color:var(--chakra-colors-fg);font-size:calc(var(--chakra-font-sizes-sm) * var(--rich-text-font-scale));line-height:21px;overflow-y:auto;overflow-x:auto;table-layout:fixed;width:max-content}.rich-text__tableSelection *::selection{background-color:transparent}.rich-text__tableSelected{outline:2px solid var(--chakra-colors-blue-500)}.rich-text__tableCell{border:1px solid var(--chakra-colors-border);vertical-align:top;text-align:start;padding:6px 8px;position:relative;outline:none}.rich-text__tableCellSortedIndicator{display:block;opacity:.5;position:absolute;bottom:0;left:0;width:100%;height:4px;background-color:var(--chakra-colors-bg)}.rich-text__tableCellResizer{position:absolute;right:-4px;height:100%;width:8px;cursor:ew-resize;z-index:10;top:0}.rich-text__tableCellHeader{background-color:var(--chakra-colors-bg-muted);font-weight:400;text-align:start}.rich-text__tableCellSelected{background-color:var(--chakra-colors-blue-100)}.rich-text__tableCellPrimarySelected{border:2px solid var(--chakra-colors-blue-500);display:block;height:calc(100% - 2px);position:absolute;width:calc(100% - 2px);left:-1px;top:-1px;z-index:2}.rich-text__tableCellEditing{outline:1px solid var(--chakra-colors-border-subtle);outline-offset:-1px;border-radius:3px}.rich-text__tableAddColumns,.rich-text__tableAddRows{position:absolute;background-color:var(--chakra-colors-bg-muted);animation:table-controls .2s ease;border:0;cursor:pointer}.rich-text__tableAddColumns{top:0;width:20px;height:100%;right:-25px}.rich-text__tableAddColumns:after{background-size:contain;background-position:center;background-repeat:no-repeat;display:block;content:" ";position:absolute;top:0;left:0;width:100%;height:100%;opacity:.4}.rich-text__tableAddRows{bottom:-25px;width:calc(100% - 25px);height:20px;left:0}.rich-text__tableAddRows:after{background-size:contain;background-position:center;background-repeat:no-repeat;display:block;content:" ";position:absolute;top:0;left:0;width:100%;height:100%;opacity:.4}.rich-text__tableAddColumns:hover,.rich-text__tableAddRows:hover{background-color:var(--chakra-colors-blue-100)}@keyframes table-controls{0%{opacity:0}to{opacity:1}}.rich-text__tableCellResizeRuler{display:block;position:absolute;width:1px;background-color:var(--chakra-colors-blue-500);height:100%;top:0}.rich-text__tableCellActionButtonContainer{display:block;right:5px;top:6px;position:absolute;z-index:4;width:20px;height:20px}.rich-text__tableCellActionButton{background-color:var(--chakra-colors-bg-muted);display:block;border:0;width:20px;height:20px;color:var(--chakra-colors-fg);cursor:pointer}.rich-text__tableCellActionButton:hover{background-color:var(--chakra-colors-bg-subtle)}.rich-text__characterLimit{display:inline;background-color:var(--chakra-colors-red-100)}ul.rich-text__ul,ul.rich-text__checklist,ol.rich-text__ol,ol.rich-text__ol1,ol.rich-text__ol2,ol.rich-text__ol3,ol.rich-text__ol4,ol.rich-text__ol5{list-style-position:outside;padding-inline-start:var(--rich-text-list-indent);margin-top:var(--chakra-spacing-3, .75rem);margin-bottom:var(--chakra-spacing-3, .75rem)}ul.rich-text__ul{list-style-type:disc}ol.rich-text__ol,ol.rich-text__ol1{list-style-type:decimal}ol.rich-text__ol2{list-style-type:upper-alpha}ol.rich-text__ol3{list-style-type:lower-alpha}ol.rich-text__ol4{list-style-type:upper-roman}ol.rich-text__ol5{list-style-type:lower-roman}li.rich-text__listItem{display:list-item;list-style-position:outside;padding-inline-start:var(--chakra-spacing-1, .25rem)}li.rich-text__listItemUnchecked,li.rich-text__listItemChecked{position:relative;list-style-type:none;padding-left:24px;outline:none}li.rich-text__listItemUnchecked:before,li.rich-text__listItemChecked:before{content:"";position:absolute;left:0;top:3px;width:16px;height:16px;border-radius:var(--chakra-radii-xs, 4px);cursor:pointer}li.rich-text__listItemUnchecked:before{border:1px solid var(--chakra-colors-border)}li.rich-text__listItemChecked:before{background:var(--chakra-colors-fg);border:1px solid var(--chakra-colors-fg)}li.rich-text__listItemChecked:after{content:"";position:absolute;left:0;top:3px;width:16px;height:16px;cursor:pointer;background-color:var(--chakra-colors-bg);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");-webkit-mask-size:10px 10px;mask-size:10px 10px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}ul.rich-text__ul :where(ul,ol),ul.rich-text__checklist :where(ul,ol),ol.rich-text__ol :where(ul,ol),ol.rich-text__ol1 :where(ul,ol),ol.rich-text__ol2 :where(ul,ol),ol.rich-text__ol3 :where(ul,ol),ol.rich-text__ol4 :where(ul,ol),ol.rich-text__ol5 :where(ul,ol){padding-inline-start:var(--rich-text-list-indent)}li.rich-text__nestedListItem{list-style-type:none;padding-inline-start:0}.rich-text__nestedListItem:before,.rich-text__nestedListItem:after{display:none}.rich-text__tokenComment{color:var(--chakra-colors-gray-500)}.rich-text__tokenPunctuation{color:var(--chakra-colors-gray-400)}.rich-text__tokenProperty{color:var(--chakra-colors-purple-600)}.rich-text__tokenSelector{color:var(--chakra-colors-green-600)}.rich-text__tokenOperator{color:var(--chakra-colors-orange-600)}.rich-text__tokenAttr{color:var(--chakra-colors-blue-600)}.rich-text__tokenVariable{color:var(--chakra-colors-yellow-600)}.rich-text__tokenFunction{color:var(--chakra-colors-pink-600)}.rich-text__mark{background:var(--chakra-colors-yellow-100);border-bottom:2px solid var(--chakra-colors-yellow-200);padding-bottom:2px}.rich-text__markOverlap{background:var(--chakra-colors-yellow-200);border-bottom:2px solid var(--chakra-colors-yellow-300)}.rich-text__mark.selected{background:var(--chakra-colors-yellow-300);border-bottom:2px solid var(--chakra-colors-yellow-400)}.rich-text__markOverlap.selected{background:var(--chakra-colors-yellow-400);border-bottom:2px solid var(--chakra-colors-yellow-400)}.rich-text__layoutContainer{display:grid;gap:var(--chakra-spacing-2, .5rem)}.rich-text__layoutItem{border-radius:var(--chakra-radii-sm)}.rich-text__layoutItem>:first-child{margin-top:0;margin-bottom:0}.draggable-block-demo__row{display:flex;gap:var(--chakra-spacing-3, .75rem);padding-block:var(--chakra-spacing-2, .5rem);padding-inline:var(--chakra-spacing-4, 1rem);position:relative;transition:outline-color .14s ease}.rich-text__row{border-radius:var(--chakra-radii-lg)}.draggable-block-demo__row:focus-within{outline:2px solid var(--chakra-colors-blue-200);outline-offset:2px}.draggable-block-demo__content,.rich-text__content{position:relative;flex:1 1 0;transition:border-color .14s ease,background .14s ease}.draggable-block-demo__content--empty{color:var(--chakra-colors-fg-muted);border-style:dashed;background:var(--chakra-colors-bg-subtle)}.draggable-block-demo__handle-slot{position:absolute;inset:0;width:0;height:0;pointer-events:none}.draggable-block-demo__handle-controls{position:absolute;pointer-events:none;opacity:0;transform:translate(-10000px,-10000px);z-index:11;display:flex;flex-direction:column;align-items:center;gap:8px}.draggable-block-demo__floating-handle,.draggable-block-demo__delete-button{pointer-events:auto}.draggable-block-demo__floating-handle{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--chakra-colors-border);background:var(--chakra-colors-bg);color:var(--chakra-colors-fg-muted);cursor:grab;transition:border-color .12s ease,transform .12s ease}.draggable-block-demo__floating-handle:active{cursor:grabbing}.draggable-block-demo__handle-icon{margin-left:-4px;display:inline-block;font-size:calc(12px * var(--rich-text-font-scale));letter-spacing:-4px;-webkit-user-select:none;user-select:none}.draggable-block-demo__delete-button{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--chakra-colors-red-200);background:var(--chakra-colors-red-50);color:var(--chakra-colors-red-600);cursor:pointer;transition:background .12s ease,border-color .12s ease}.draggable-block-demo__delete-button:hover{background:var(--chakra-colors-red-100);border-color:var(--chakra-colors-red-300)}.draggable-block-demo__delete-icon{font-size:calc(16px * var(--rich-text-font-scale));line-height:1;-webkit-user-select:none;user-select:none}.draggable-block-demo__gap{position:absolute;left:0;width:100%;height:28px;display:flex;justify-content:center;align-items:center;pointer-events:auto;opacity:0;transition:opacity .12s ease}.draggable-block-demo__gap-line{width:100%;border-top:1px dashed var(--chakra-colors-border);position:absolute;top:50%;transform:translateY(-50%)}.draggable-block-demo__gap-button{pointer-events:auto;border:1px solid var(--chakra-colors-border);background:var(--chakra-colors-bg);width:20px;height:20px;font-size:calc(18px * var(--rich-text-font-scale));line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--chakra-colors-fg-muted);transition:background .12s ease,color .12s ease}.draggable-block-demo__gap:hover,.draggable-block-demo__gap.is-active{opacity:1}.draggable-block-demo__gap-button:hover{background:var(--chakra-colors-bg-subtle);color:var(--chakra-colors-fg)}.draggable-block-demo__indicator{position:absolute;background:var(--chakra-colors-blue-500);pointer-events:none;border-radius:2px;z-index:12}.draggable-block-demo__indicator--horizontal{height:2px}.draggable-block-demo__indicator--vertical{width:2px}.rich-text__h1{font-family:var(--chakra-fonts-body);font-size:calc(var(--chakra-font-sizes-4xl) * var(--rich-text-font-scale));font-weight:var(--chakra-font-weights-medium);line-height:120%;color:var(--chakra-colors-fg);margin-top:2.5rem;margin-bottom:var(--chakra-spacing-md, 1rem)}.rich-text__h1:first-of-type{margin-top:0}.rich-text__h1_2{font-family:var(--chakra-fonts-body);font-size:calc(var(--chakra-font-sizes-3xl) * var(--rich-text-font-scale));font-weight:var(--chakra-font-weights-medium);line-height:120%;color:var(--chakra-colors-fg);margin-top:var(--chakra-spacing-3, .75rem);margin-bottom:var(--chakra-spacing-2, .5rem)}.rich-text__h2{font-family:var(--chakra-fonts-body);font-size:calc(var(--chakra-font-sizes-3xl) * var(--rich-text-font-scale));font-weight:var(--chakra-font-weights-medium);line-height:120%;color:var(--chakra-colors-fg, var(--chakra-colors-fg));margin-top:var(--chakra-spacing-lg, 1.5rem);margin-bottom:var(--chakra-spacing-md, 1rem)}.rich-text__h2_2{font-family:var(--chakra-fonts-body);font-size:calc(var(--chakra-font-sizes-2xl) * var(--rich-text-font-scale));font-weight:var(--chakra-font-weights-medium);line-height:120%;color:var(--chakra-colors-fg, var(--chakra-colors-fg));margin-top:var(--chakra-spacing-2, .5rem);margin-bottom:var(--chakra-spacing-1, .125rem)}.rich-text__h3{font-family:var(--chakra-fonts-body);font-size:calc(var(--chakra-font-sizes-lg) * var(--rich-text-font-scale));font-weight:var(--chakra-font-weights-medium);line-height:100%;color:var(--chakra-colors-fg, var(--chakra-colors-fg));margin-top:var(--chakra-spacing-lg, 1.5rem);margin-bottom:var(--chakra-spacing-md, 1rem)}.rich-text__h3_2{font-family:var(--chakra-fonts-body);font-size:calc(var(--chakra-font-sizes-lg) * var(--rich-text-font-scale));font-weight:var(--chakra-font-weights-medium);line-height:100%;color:var(--chakra-colors-fg, var(--chakra-colors-fg));margin-top:var(--chakra-spacing-2, .5rem)}.rich-text__p{font-family:var(--chakra-fonts-body);font-size:calc(var(--chakra-font-sizes-md) * var(--rich-text-font-scale));line-height:171%;letter-spacing:.14px;margin:0;margin-top:var(--chakra-spacing-3, .75rem);margin-bottom:var(--chakra-spacing-3, .75rem)}.rich-text__p:first-child{margin-top:0}.rich-text__p:only-child{margin-bottom:0}.rich-text[data-rich-message=true] .rich-text__quote{margin-top:var(--chakra-spacing-3, .75rem);margin-left:var(--chakra-spacing-3, .75rem);margin-bottom:var(--chakra-spacing-3, .75rem)}.rich-text[data-rich-message=true] .rich-text__code{margin-top:8px;margin-bottom:8px}.rich-text[data-rich-message=true] .rich-text__h1{font-size:calc(var(--chakra-font-sizes-3xl) * var(--rich-text-font-scale));margin-top:var(--chakra-spacing-5, 1.5rem);margin-bottom:var(--chakra-spacing-4, 1rem)}.rich-text[data-rich-message=true] .rich-text__h2{font-size:calc(var(--chakra-font-sizes-2xl) * var(--rich-text-font-scale));margin-top:var(--chakra-spacing-4, 1rem);margin-bottom:var(--chakra-spacing-3, .75rem)}.rich-text[data-rich-message=true] .rich-text__h3{margin-top:var(--chakra-spacing-4, 1rem);margin-bottom:var(--chakra-spacing-3, .75rem)}.rich-text__p2{font-family:var(--chakra-fonts-body);font-size:calc(var(--chakra-font-sizes-md) * var(--rich-text-font-scale));line-height:171%;letter-spacing:.14px;margin:0}.rich-text__textUnderline{text-decoration:underline}.rich-text__textItalic{font-style:italic}span.editor-equation{display:inline-block}.editor-equation span{cursor:inherit}.editor-equation{-webkit-user-select:none;user-select:none}.katex-display{overflow-x:auto;overflow-y:hidden}.rich-text__p--no-margin{margin:0}.code-block-actions{z-index:1001;opacity:.95}.code-block-actions button{border:1px solid var(--chakra-colors-border-subtle)}.floating-text-format-toolbar{display:flex;position:absolute;top:0;left:0;z-index:1000;opacity:0;pointer-events:none;background-color:var(--chakra-colors-bg);border-radius:8px;border:1px solid var(--chakra-colors-border-subtle);transition:opacity .2s;will-change:transform;padding:4px;gap:2px}.floating-text-format-toolbar.active{opacity:1;pointer-events:auto}.floating-text-format-toolbar button[data-active]{background-color:var(--chakra-colors-bg-accent-primary-medium);color:var(--chakra-colors-text-selectable-primary)}.link-editor{position:absolute;top:0;left:0;z-index:1001;width:320px;opacity:0;pointer-events:none;transition:opacity .2s;will-change:transform}.link-editor.active{opacity:1;pointer-events:auto;background-color:var(--chakra-colors-bg);border-radius:8px;border:1px solid var(--chakra-colors-border-subtle)}.link-editor-content{width:100%}.link-editor-url-field{flex:1;min-width:0}
1
+ .pstdio-terminal .xterm-viewport{scrollbar-width:thin;scrollbar-color:rgba(128,128,128,.4) transparent}.pstdio-terminal .xterm-viewport::-webkit-scrollbar{width:10px}.pstdio-terminal .xterm-viewport::-webkit-scrollbar-track{background:transparent}.pstdio-terminal .xterm-viewport::-webkit-scrollbar-thumb{background-color:#80808066;border:3px solid transparent;background-clip:padding-box;border-radius:9999px}.pstdio-terminal .xterm-viewport::-webkit-scrollbar-thumb:hover{background-color:#80808099}.data-table{table-layout:fixed}.data-table.full-width{width:100%;table-layout:auto}.data-table tr{width:fit-content}.data-table.full-width tr{width:100%}.data-table thead th{background-color:var(--chakra-colors-bg-subtle, rgba(13, 17, 23, .02));white-space:nowrap}.data-table .data-table-column-header-row{position:sticky;top:0;z-index:2;height:40px}.data-table .data-table-stats-row{position:sticky;top:40px;z-index:1;height:88px}.data-table thead th>*{max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table .data-table-stats-row th[data-stat-type=histogram],.data-table .data-table-stats-row th[data-stat-type=histogram]>*,.data-table .data-table-stats-row th[data-stat-type=top-values],.data-table .data-table-stats-row th[data-stat-type=top-values]>*{overflow:visible}.data-table tbody tr{height:40px}.data-table tbody td{height:40px;max-height:40px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table tbody td>*{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table tbody td[data-column-id=rowIndex]{background-color:var(--chakra-colors-bg-subtle, rgba(13, 17, 23, .02))}.data-table tbody tr[data-active=true]>td,.data-table tbody tr:hover>td{background-color:var(--chakra-colors-bg-hover, rgba(13, 17, 23, .04))}.data-table tbody tr[data-active=true]>td[data-column-id=rowIndex],.data-table tbody tr:hover>td[data-column-id=rowIndex]{background-color:var(--chakra-colors-bg-hover, rgba(13, 17, 23, .04))}.data-table .resizer{position:absolute;top:0;height:100%;right:0;width:5px;background-color:var(--chakra-colors-border-primary);opacity:.5;cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none}.data-table .resizer.isResizing{opacity:1}@media(hover:hover){.data-table .resizer{opacity:0}.data-table *:hover>.resizer{opacity:1}}.data-table .resizer.ltr{right:0}.data-table .resizer.rtl{left:0}.rich-text__ltr{text-align:left}.rich-text__rtl{text-align:right}.rich-text{--rich-text-font-scale: 1;--rich-text-list-indent: 1.5rem;font-size:calc(1rem * var(--rich-text-font-scale))}.rich-text[data-rich-message=true]{--rich-text-font-scale: .9}.rich-text[data-rich-message=true] .rich-text__p:last-child{margin-bottom:0}.rich-text__paragraph{margin:0;position:relative}.rich-text__quote{margin:0;margin-top:var(--chakra-spacing-xl, 1.5rem);margin-left:var(--chakra-spacing-sm, .75rem);margin-bottom:var(--chakra-spacing-xl, 1.5rem);font-size:calc(15px * var(--rich-text-font-scale));color:var(--chakra-colors-fg-muted);border-left:4px solid var(--chakra-colors-border);padding-left:16px}.rich-text__indent{--lexical-indent-base-value: 40px}.rich-text__textBold{font-weight:700}.rich-text__reference{font:inherit;border-bottom:1px dotted currentColor;opacity:.9;white-space:nowrap}.rich-text__textStrikethrough{text-decoration:line-through}.rich-text__textUnderlineStrikethrough{text-decoration:underline line-through}.rich-text__textSubscript{font-size:.8em;vertical-align:sub}.rich-text__textSuperscript{font-size:.8em;vertical-align:super}.rich-text__textCode{background-color:var(--chakra-colors-bg-code);padding:1px .25rem;font-family:var(--chakra-fonts-mono);font-size:.94em}.rich-text__link{color:var(--chakra-colors-blue-600);text-decoration:none;cursor:pointer}.rich-text__link:hover{text-decoration:underline}.rich-text__code{background-color:var(--chakra-colors-bg-code);font-family:var(--chakra-fonts-mono);display:block;padding:8px 8px 8px 52px;line-height:1.53;font-size:calc(13px * var(--rich-text-font-scale));margin:0;margin-top:var(--chakra-spacing-md, 1rem);margin-bottom:var(--chakra-spacing-md, 1rem);overflow-x:auto;position:relative;tab-size:2}.rich-text__code:before{content:attr(data-gutter);position:absolute;background-color:var(--chakra-colors-bg-subtle);left:0;top:0;bottom:0;border-right:1px solid var(--chakra-colors-border);padding:8px;color:var(--chakra-colors-fg-muted);white-space:pre-wrap;text-align:right;min-width:25px}.rich-text__table{border-collapse:collapse;border-spacing:0;color:var(--chakra-colors-fg);font-size:calc(var(--chakra-font-sizes-sm) * var(--rich-text-font-scale));line-height:21px;overflow-y:auto;overflow-x:auto;table-layout:fixed;width:max-content}.rich-text__tableSelection *::selection{background-color:transparent}.rich-text__tableSelected{outline:2px solid var(--chakra-colors-blue-500)}.rich-text__tableCell{border:1px solid var(--chakra-colors-border);vertical-align:top;text-align:start;padding:6px 8px;position:relative;outline:none}.rich-text__tableCellSortedIndicator{display:block;opacity:.5;position:absolute;bottom:0;left:0;width:100%;height:4px;background-color:var(--chakra-colors-bg)}.rich-text__tableCellResizer{position:absolute;right:-4px;height:100%;width:8px;cursor:ew-resize;z-index:10;top:0}.rich-text__tableCellHeader{background-color:var(--chakra-colors-bg-muted);font-weight:400;text-align:start}.rich-text__tableCellSelected{background-color:var(--chakra-colors-blue-100)}.rich-text__tableCellPrimarySelected{border:2px solid var(--chakra-colors-blue-500);display:block;height:calc(100% - 2px);position:absolute;width:calc(100% - 2px);left:-1px;top:-1px;z-index:2}.rich-text__tableCellEditing{outline:1px solid var(--chakra-colors-border-subtle);outline-offset:-1px;border-radius:3px}.rich-text__tableAddColumns,.rich-text__tableAddRows{position:absolute;background-color:var(--chakra-colors-bg-muted);animation:table-controls .2s ease;border:0;cursor:pointer}.rich-text__tableAddColumns{top:0;width:20px;height:100%;right:-25px}.rich-text__tableAddColumns:after{background-size:contain;background-position:center;background-repeat:no-repeat;display:block;content:" ";position:absolute;top:0;left:0;width:100%;height:100%;opacity:.4}.rich-text__tableAddRows{bottom:-25px;width:calc(100% - 25px);height:20px;left:0}.rich-text__tableAddRows:after{background-size:contain;background-position:center;background-repeat:no-repeat;display:block;content:" ";position:absolute;top:0;left:0;width:100%;height:100%;opacity:.4}.rich-text__tableAddColumns:hover,.rich-text__tableAddRows:hover{background-color:var(--chakra-colors-blue-100)}@keyframes table-controls{0%{opacity:0}to{opacity:1}}.rich-text__tableCellResizeRuler{display:block;position:absolute;width:1px;background-color:var(--chakra-colors-blue-500);height:100%;top:0}.rich-text__tableCellActionButtonContainer{display:block;right:5px;top:6px;position:absolute;z-index:4;width:20px;height:20px}.rich-text__tableCellActionButton{background-color:var(--chakra-colors-bg-muted);display:block;border:0;width:20px;height:20px;color:var(--chakra-colors-fg);cursor:pointer}.rich-text__tableCellActionButton:hover{background-color:var(--chakra-colors-bg-subtle)}.rich-text__characterLimit{display:inline;background-color:var(--chakra-colors-red-100)}ul.rich-text__ul,ul.rich-text__checklist,ol.rich-text__ol,ol.rich-text__ol1,ol.rich-text__ol2,ol.rich-text__ol3,ol.rich-text__ol4,ol.rich-text__ol5{list-style-position:outside;padding-inline-start:var(--rich-text-list-indent);margin-top:var(--chakra-spacing-3, .75rem);margin-bottom:var(--chakra-spacing-3, .75rem)}ul.rich-text__ul{list-style-type:disc}ol.rich-text__ol,ol.rich-text__ol1{list-style-type:decimal}ol.rich-text__ol2{list-style-type:upper-alpha}ol.rich-text__ol3{list-style-type:lower-alpha}ol.rich-text__ol4{list-style-type:upper-roman}ol.rich-text__ol5{list-style-type:lower-roman}li.rich-text__listItem{display:list-item;list-style-position:outside;padding-inline-start:var(--chakra-spacing-1, .25rem)}li.rich-text__listItemUnchecked,li.rich-text__listItemChecked{position:relative;list-style-type:none;padding-left:24px;outline:none}li.rich-text__listItemUnchecked:before,li.rich-text__listItemChecked:before{content:"";position:absolute;left:0;top:3px;width:16px;height:16px;border-radius:var(--chakra-radii-xs, 4px);cursor:pointer}li.rich-text__listItemUnchecked:before{border:1px solid var(--chakra-colors-border)}li.rich-text__listItemChecked:before{background:var(--chakra-colors-fg);border:1px solid var(--chakra-colors-fg)}li.rich-text__listItemChecked:after{content:"";position:absolute;left:0;top:3px;width:16px;height:16px;cursor:pointer;background-color:var(--chakra-colors-bg);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");-webkit-mask-size:10px 10px;mask-size:10px 10px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}ul.rich-text__ul :where(ul,ol),ul.rich-text__checklist :where(ul,ol),ol.rich-text__ol :where(ul,ol),ol.rich-text__ol1 :where(ul,ol),ol.rich-text__ol2 :where(ul,ol),ol.rich-text__ol3 :where(ul,ol),ol.rich-text__ol4 :where(ul,ol),ol.rich-text__ol5 :where(ul,ol){padding-inline-start:var(--rich-text-list-indent)}li.rich-text__nestedListItem{list-style-type:none;padding-inline-start:0}.rich-text__nestedListItem:before,.rich-text__nestedListItem:after{display:none}.rich-text__tokenComment{color:var(--chakra-colors-gray-500)}.rich-text__tokenPunctuation{color:var(--chakra-colors-gray-400)}.rich-text__tokenProperty{color:var(--chakra-colors-purple-600)}.rich-text__tokenSelector{color:var(--chakra-colors-green-600)}.rich-text__tokenOperator{color:var(--chakra-colors-orange-600)}.rich-text__tokenAttr{color:var(--chakra-colors-blue-600)}.rich-text__tokenVariable{color:var(--chakra-colors-yellow-600)}.rich-text__tokenFunction{color:var(--chakra-colors-pink-600)}.rich-text__mark{background:var(--chakra-colors-yellow-100);border-bottom:2px solid var(--chakra-colors-yellow-200);padding-bottom:2px}.rich-text__markOverlap{background:var(--chakra-colors-yellow-200);border-bottom:2px solid var(--chakra-colors-yellow-300)}.rich-text__mark.selected{background:var(--chakra-colors-yellow-300);border-bottom:2px solid var(--chakra-colors-yellow-400)}.rich-text__markOverlap.selected{background:var(--chakra-colors-yellow-400);border-bottom:2px solid var(--chakra-colors-yellow-400)}.rich-text__layoutContainer{display:grid;gap:var(--chakra-spacing-2, .5rem)}.rich-text__layoutItem{border-radius:var(--chakra-radii-sm)}.rich-text__layoutItem>:first-child{margin-top:0;margin-bottom:0}.draggable-block-demo__row{display:flex;gap:var(--chakra-spacing-3, .75rem);padding-block:var(--chakra-spacing-2, .5rem);padding-inline:var(--chakra-spacing-4, 1rem);position:relative;transition:outline-color .14s ease}.rich-text__row{border-radius:var(--chakra-radii-lg)}.draggable-block-demo__row:focus-within{outline:2px solid var(--chakra-colors-blue-200);outline-offset:2px}.draggable-block-demo__content,.rich-text__content{position:relative;flex:1 1 0;transition:border-color .14s ease,background .14s ease}.draggable-block-demo__content--empty{color:var(--chakra-colors-fg-muted);border-style:dashed;background:var(--chakra-colors-bg-subtle)}.draggable-block-demo__handle-slot{position:absolute;inset:0;width:0;height:0;pointer-events:none}.draggable-block-demo__handle-controls{position:absolute;pointer-events:none;opacity:0;transform:translate(-10000px,-10000px);z-index:11;display:flex;flex-direction:column;align-items:center;gap:8px}.draggable-block-demo__floating-handle,.draggable-block-demo__delete-button{pointer-events:auto}.draggable-block-demo__floating-handle{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--chakra-colors-border);background:var(--chakra-colors-bg);color:var(--chakra-colors-fg-muted);cursor:grab;transition:border-color .12s ease,transform .12s ease}.draggable-block-demo__floating-handle:active{cursor:grabbing}.draggable-block-demo__handle-icon{margin-left:-4px;display:inline-block;font-size:calc(12px * var(--rich-text-font-scale));letter-spacing:-4px;-webkit-user-select:none;user-select:none}.draggable-block-demo__delete-button{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--chakra-colors-red-200);background:var(--chakra-colors-red-50);color:var(--chakra-colors-red-600);cursor:pointer;transition:background .12s ease,border-color .12s ease}.draggable-block-demo__delete-button:hover{background:var(--chakra-colors-red-100);border-color:var(--chakra-colors-red-300)}.draggable-block-demo__delete-icon{font-size:calc(16px * var(--rich-text-font-scale));line-height:1;-webkit-user-select:none;user-select:none}.draggable-block-demo__gap{position:absolute;left:0;width:100%;height:28px;display:flex;justify-content:center;align-items:center;pointer-events:auto;opacity:0;transition:opacity .12s ease}.draggable-block-demo__gap-line{width:100%;border-top:1px dashed var(--chakra-colors-border);position:absolute;top:50%;transform:translateY(-50%)}.draggable-block-demo__gap-button{pointer-events:auto;border:1px solid var(--chakra-colors-border);background:var(--chakra-colors-bg);width:20px;height:20px;font-size:calc(18px * var(--rich-text-font-scale));line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--chakra-colors-fg-muted);transition:background .12s ease,color .12s ease}.draggable-block-demo__gap:hover,.draggable-block-demo__gap.is-active{opacity:1}.draggable-block-demo__gap-button:hover{background:var(--chakra-colors-bg-subtle);color:var(--chakra-colors-fg)}.draggable-block-demo__indicator{position:absolute;background:var(--chakra-colors-blue-500);pointer-events:none;border-radius:2px;z-index:12}.draggable-block-demo__indicator--horizontal{height:2px}.draggable-block-demo__indicator--vertical{width:2px}.rich-text__h1{font-family:var(--chakra-fonts-body);font-size:calc(var(--chakra-font-sizes-4xl) * var(--rich-text-font-scale));font-weight:var(--chakra-font-weights-medium);line-height:120%;color:var(--chakra-colors-fg);margin-top:2.5rem;margin-bottom:var(--chakra-spacing-md, 1rem)}.rich-text__h1:first-of-type{margin-top:0}.rich-text__h1_2{font-family:var(--chakra-fonts-body);font-size:calc(var(--chakra-font-sizes-3xl) * var(--rich-text-font-scale));font-weight:var(--chakra-font-weights-medium);line-height:120%;color:var(--chakra-colors-fg);margin-top:var(--chakra-spacing-3, .75rem);margin-bottom:var(--chakra-spacing-2, .5rem)}.rich-text__h2{font-family:var(--chakra-fonts-body);font-size:calc(var(--chakra-font-sizes-3xl) * var(--rich-text-font-scale));font-weight:var(--chakra-font-weights-medium);line-height:120%;color:var(--chakra-colors-fg, var(--chakra-colors-fg));margin-top:var(--chakra-spacing-lg, 1.5rem);margin-bottom:var(--chakra-spacing-md, 1rem)}.rich-text__h2_2{font-family:var(--chakra-fonts-body);font-size:calc(var(--chakra-font-sizes-2xl) * var(--rich-text-font-scale));font-weight:var(--chakra-font-weights-medium);line-height:120%;color:var(--chakra-colors-fg, var(--chakra-colors-fg));margin-top:var(--chakra-spacing-2, .5rem);margin-bottom:var(--chakra-spacing-1, .125rem)}.rich-text__h3{font-family:var(--chakra-fonts-body);font-size:calc(var(--chakra-font-sizes-lg) * var(--rich-text-font-scale));font-weight:var(--chakra-font-weights-medium);line-height:100%;color:var(--chakra-colors-fg, var(--chakra-colors-fg));margin-top:var(--chakra-spacing-lg, 1.5rem);margin-bottom:var(--chakra-spacing-md, 1rem)}.rich-text__h3_2{font-family:var(--chakra-fonts-body);font-size:calc(var(--chakra-font-sizes-lg) * var(--rich-text-font-scale));font-weight:var(--chakra-font-weights-medium);line-height:100%;color:var(--chakra-colors-fg, var(--chakra-colors-fg));margin-top:var(--chakra-spacing-2, .5rem)}.rich-text__p{font-family:var(--chakra-fonts-body);font-size:calc(var(--chakra-font-sizes-md) * var(--rich-text-font-scale));line-height:171%;letter-spacing:.14px;margin:0;margin-top:var(--chakra-spacing-3, .75rem);margin-bottom:var(--chakra-spacing-3, .75rem)}.rich-text__p:first-child{margin-top:0}.rich-text__p:only-child{margin-bottom:0}.rich-text[data-rich-message=true] .rich-text__quote{margin-top:var(--chakra-spacing-3, .75rem);margin-left:var(--chakra-spacing-3, .75rem);margin-bottom:var(--chakra-spacing-3, .75rem)}.rich-text[data-rich-message=true] .rich-text__code{margin-top:8px;margin-bottom:8px}.rich-text[data-rich-message=true] .rich-text__h1{font-size:calc(var(--chakra-font-sizes-3xl) * var(--rich-text-font-scale));margin-top:var(--chakra-spacing-5, 1.5rem);margin-bottom:var(--chakra-spacing-4, 1rem)}.rich-text[data-rich-message=true] .rich-text__h2{font-size:calc(var(--chakra-font-sizes-2xl) * var(--rich-text-font-scale));margin-top:var(--chakra-spacing-4, 1rem);margin-bottom:var(--chakra-spacing-3, .75rem)}.rich-text[data-rich-message=true] .rich-text__h3{margin-top:var(--chakra-spacing-4, 1rem);margin-bottom:var(--chakra-spacing-3, .75rem)}.rich-text__p2{font-family:var(--chakra-fonts-body);font-size:calc(var(--chakra-font-sizes-md) * var(--rich-text-font-scale));line-height:171%;letter-spacing:.14px;margin:0}.rich-text__textUnderline{text-decoration:underline}.rich-text__textItalic{font-style:italic}span.editor-equation{display:inline-block}.editor-equation span{cursor:inherit}.editor-equation{-webkit-user-select:none;user-select:none}.katex-display{overflow-x:auto;overflow-y:hidden}.rich-text__p--no-margin{margin:0}.code-block-actions{z-index:1001;opacity:.95}.code-block-actions button{border:1px solid var(--chakra-colors-border-subtle)}.floating-text-format-toolbar{display:flex;position:absolute;top:0;left:0;z-index:1000;opacity:0;pointer-events:none;background-color:var(--chakra-colors-bg);border-radius:8px;border:1px solid var(--chakra-colors-border-subtle);transition:opacity .2s;will-change:transform;padding:4px;gap:2px}.floating-text-format-toolbar.active{opacity:1;pointer-events:auto}.floating-text-format-toolbar button[data-active]{background-color:var(--chakra-colors-bg-accent-primary-medium);color:var(--chakra-colors-text-selectable-primary)}.link-editor{position:absolute;top:0;left:0;z-index:1001;width:320px;opacity:0;pointer-events:none;transition:opacity .2s;will-change:transform}.link-editor.active{opacity:1;pointer-events:auto;background-color:var(--chakra-colors-bg);border-radius:8px;border:1px solid var(--chakra-colors-border-subtle)}.link-editor-content{width:100%}.link-editor-url-field{flex:1;min-width:0}
package/dist/terminal.js CHANGED
@@ -1,106 +1,106 @@
1
- import { jsx as F } from "react/jsx-runtime";
2
- import { FitAddon as C } from "@xterm/addon-fit";
3
- import { Terminal as U } from "@xterm/xterm";
1
+ import { jsx as B } from "react/jsx-runtime";
2
+ import { FitAddon as K } from "@xterm/addon-fit";
3
+ import { Terminal as W } from "@xterm/xterm";
4
4
  import "@xterm/xterm/css/xterm.css";
5
- import { useState as L, useEffect as v, useRef as T } from "react";
6
- import { c as M } from "react/compiler-runtime";
7
- const N = (e, n, t = {}) => {
5
+ import { useState as q, useEffect as v, useRef as T } from "react";
6
+ import { c as j } from "react/compiler-runtime";
7
+ const G = (e, n, r = {}) => {
8
8
  const o = [];
9
- return o.push(n.onData((i) => e.write(i))), o.push(e.onInput((i) => {
10
- n.write(i), t.onInput?.(i);
9
+ return o.push(n.onData((t) => e.write(t))), o.push(e.onInput((t) => {
10
+ n.write(t), r.onInput?.(t);
11
11
  })), o.push(e.onResize(({
12
- cols: i,
13
- rows: a
12
+ cols: t,
13
+ rows: s
14
14
  }) => {
15
- n.resize(i, a);
16
- })), t.onExit && o.push(n.onExit(t.onExit)), t.onError && o.push(n.onError(t.onError)), () => {
15
+ n.resize(t, s);
16
+ })), r.onExit && o.push(n.onExit(r.onExit)), r.onError && o.push(n.onError(r.onError)), () => {
17
17
  for (; o.length > 0; ) {
18
- const i = o.pop();
18
+ const t = o.pop();
19
19
  try {
20
- i?.();
20
+ t?.();
21
21
  } catch {
22
22
  }
23
23
  }
24
24
  };
25
- }, q = new TextEncoder(), K = (e) => typeof e == "string" ? q.encode(e) : e, W = (e) => e > 0 ? new Promise((n) => setTimeout(n, e)) : Promise.resolve(), j = (e) => [{
25
+ }, J = new TextEncoder(), P = (e) => typeof e == "string" ? J.encode(e) : e, Y = (e) => e > 0 ? new Promise((n) => setTimeout(n, e)) : Promise.resolve(), $ = (e) => [{
26
26
  data: e.replace(/\r/g, `\r
27
27
  `)
28
- }], G = (e, n) => {
29
- n.data !== void 0 && e.emitData(K(n.data)), n.error !== void 0 && e.emitError({
28
+ }], Z = (e, n) => {
29
+ n.data !== void 0 && e.emitData(P(n.data)), n.error !== void 0 && e.emitError({
30
30
  message: n.error
31
31
  }), n.exit !== void 0 && e.emitExit({
32
32
  code: n.exit.code,
33
33
  signal: n.exit.signal ?? null
34
34
  });
35
- }, O = async (e, n) => {
36
- for (const t of n) {
37
- if (e.isExited() || (await W(t.delayMs ?? 0), e.isExited())) return;
38
- G(e, t);
35
+ }, C = async (e, n) => {
36
+ for (const r of n) {
37
+ if (e.isExited() || (await Y(r.delayMs ?? 0), e.isExited())) return;
38
+ Z(e, r);
39
39
  }
40
- }, H = (e, n) => {
41
- const t = /* @__PURE__ */ new Set(), o = /* @__PURE__ */ new Set(), i = /* @__PURE__ */ new Set();
42
- let a = !1, m = !1;
43
- const u = {
44
- isExited: () => a,
45
- emitData(r) {
46
- for (const s of t) s(r);
40
+ }, Q = (e, n) => {
41
+ const r = /* @__PURE__ */ new Set(), o = /* @__PURE__ */ new Set(), t = /* @__PURE__ */ new Set();
42
+ let s = !1, m = !1;
43
+ const l = {
44
+ isExited: () => s,
45
+ emitData(i) {
46
+ for (const a of r) a(i);
47
47
  },
48
- emitExit(r) {
49
- if (!a) {
50
- a = !0;
51
- for (const s of o) s(r);
48
+ emitExit(i) {
49
+ if (!s) {
50
+ s = !0;
51
+ for (const a of o) a(i);
52
52
  }
53
53
  },
54
- emitError(r) {
55
- for (const s of i) s(r);
54
+ emitError(i) {
55
+ for (const a of t) a(i);
56
56
  }
57
57
  };
58
58
  return {
59
59
  session: {
60
60
  id: crypto.randomUUID(),
61
- write(r) {
62
- if (a) return;
63
- const s = typeof r == "string" ? r : new TextDecoder().decode(r), d = n(s);
64
- d && O(u, d);
61
+ write(i) {
62
+ if (s) return;
63
+ const a = typeof i == "string" ? i : new TextDecoder().decode(i), d = n(a);
64
+ d && C(l, d);
65
65
  },
66
- resize(r, s) {
66
+ resize(i, a) {
67
67
  e.onResize?.({
68
- cols: r,
69
- rows: s
68
+ cols: i,
69
+ rows: a
70
70
  });
71
71
  },
72
- kill(r) {
73
- a || (e.onKill?.(r), u.emitExit({
72
+ kill(i) {
73
+ s || (e.onKill?.(i), l.emitExit({
74
74
  code: null,
75
- signal: r ?? null
75
+ signal: i ?? null
76
76
  }));
77
77
  },
78
- onData(r) {
79
- return t.add(r), !m && e.initial && (m = !0, O(u, e.initial)), () => t.delete(r);
78
+ onData(i) {
79
+ return r.add(i), !m && e.initial && (m = !0, C(l, e.initial)), () => r.delete(i);
80
80
  },
81
- onExit(r) {
82
- return o.add(r), () => o.delete(r);
81
+ onExit(i) {
82
+ return o.add(i), () => o.delete(i);
83
83
  },
84
- onError(r) {
85
- return i.add(r), () => i.delete(r);
84
+ onError(i) {
85
+ return t.add(i), () => t.delete(i);
86
86
  }
87
87
  }
88
88
  };
89
- }, de = (e = {}) => {
90
- const n = e.onInput ?? j;
89
+ }, we = (e = {}) => {
90
+ const n = e.onInput ?? $;
91
91
  return {
92
- async openSession(t) {
92
+ async openSession(r) {
93
93
  const {
94
94
  session: o
95
- } = H(e, n);
95
+ } = Q(e, n);
96
96
  return o;
97
97
  }
98
98
  };
99
- }, _ = {
99
+ }, L = {
100
100
  cursorAccent: "#000000",
101
101
  selectionForeground: void 0
102
- }, J = {
103
- ..._,
102
+ }, V = {
103
+ ...L,
104
104
  background: "#f4f4f5",
105
105
  foreground: "#171717",
106
106
  cursor: "#171717",
@@ -121,8 +121,8 @@ const N = (e, n, t = {}) => {
121
121
  brightMagenta: "#d946ef",
122
122
  brightCyan: "#06b6d4",
123
123
  brightWhite: "#fafafa"
124
- }, P = {
125
- ..._,
124
+ }, X = {
125
+ ...L,
126
126
  background: "#0a0a0a",
127
127
  foreground: "#fafafa",
128
128
  cursor: "#fafafa",
@@ -143,36 +143,36 @@ const N = (e, n, t = {}) => {
143
143
  brightMagenta: "#f0abfc",
144
144
  brightCyan: "#67e8f9",
145
145
  brightWhite: "#fafafa"
146
- }, A = {
147
- light: J,
148
- dark: P
149
- }, Y = (e) => e ? typeof e == "string" ? A[e] : e : A.dark, $ = (e) => JSON.stringify({
146
+ }, U = {
147
+ light: V,
148
+ dark: X
149
+ }, ee = (e) => e ? typeof e == "string" ? U[e] : e : U.dark, ne = (e) => JSON.stringify({
150
150
  command: e.command,
151
151
  cwd: e.cwd,
152
- env: e.env ? Object.fromEntries(Object.entries(e.env).sort(([n], [t]) => n.localeCompare(t))) : void 0,
152
+ env: e.env ? Object.fromEntries(Object.entries(e.env).sort(([n], [r]) => n.localeCompare(r))) : void 0,
153
153
  cols: e.cols,
154
154
  rows: e.rows
155
- }), Z = (e) => JSON.parse(e), Q = (e) => {
156
- const n = M(8), {
157
- bridge: t,
155
+ }), te = (e) => JSON.parse(e), re = (e) => {
156
+ const n = j(8), {
157
+ bridge: r,
158
158
  request: o,
159
- killOnUnmount: i
160
- } = e, a = i === void 0 ? !0 : i;
159
+ killOnUnmount: t
160
+ } = e, s = t === void 0 ? !0 : t;
161
161
  let m;
162
- n[0] !== o ? (m = $(o), n[0] = o, n[1] = m) : m = n[1];
163
- const u = m;
164
- let h;
165
- n[2] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (h = {
162
+ n[0] !== o ? (m = ne(o), n[0] = o, n[1] = m) : m = n[1];
163
+ const l = m;
164
+ let S;
165
+ n[2] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (S = {
166
166
  session: null,
167
167
  status: "idle",
168
168
  exit: null,
169
169
  error: null
170
- }, n[2] = h) : h = n[2];
171
- const [r, s] = L(h);
172
- let d, g;
173
- return n[3] !== t || n[4] !== a || n[5] !== u ? (d = () => {
174
- if (!t) {
175
- s({
170
+ }, n[2] = S) : S = n[2];
171
+ const [i, a] = q(S);
172
+ let d, x;
173
+ return n[3] !== r || n[4] !== s || n[5] !== l ? (d = () => {
174
+ if (!r) {
175
+ a({
176
176
  session: null,
177
177
  status: "idle",
178
178
  exit: null,
@@ -180,160 +180,180 @@ const N = (e, n, t = {}) => {
180
180
  });
181
181
  return;
182
182
  }
183
- let p = !1, S = null, b = "opening";
184
- const w = [];
185
- s({
183
+ let p = !1, g = null, h = "opening";
184
+ const f = [];
185
+ a({
186
186
  session: null,
187
187
  status: "opening",
188
188
  exit: null,
189
189
  error: null
190
190
  });
191
- const x = Z(u);
192
- return t.openSession(x).then((l) => {
191
+ const A = te(l);
192
+ return r.openSession(A).then((c) => {
193
193
  if (p) {
194
- l.kill();
194
+ c.kill();
195
195
  return;
196
196
  }
197
- S = l, w.push(l.onExit((c) => {
198
- b = "exited", s((f) => ({
199
- ...f,
197
+ g = c, f.push(c.onExit((b) => {
198
+ h = "exited", a((E) => ({
199
+ ...E,
200
200
  status: "exited",
201
- exit: c
201
+ exit: b
202
202
  }));
203
- }), l.onError((c) => {
204
- b = "error", s((f) => ({
205
- ...f,
203
+ }), c.onError((b) => {
204
+ h = "error", a((E) => ({
205
+ ...E,
206
206
  status: "error",
207
- error: c
207
+ error: b
208
208
  }));
209
- })), b = "open", s({
210
- session: l,
209
+ })), h = "open", a({
210
+ session: c,
211
211
  status: "open",
212
212
  exit: null,
213
213
  error: null
214
214
  });
215
- }).catch((l) => {
215
+ }).catch((c) => {
216
216
  if (p)
217
217
  return;
218
- const c = l instanceof Error ? l.message : String(l);
219
- b = "error", s({
218
+ const b = c instanceof Error ? c.message : String(c);
219
+ h = "error", a({
220
220
  session: null,
221
221
  status: "error",
222
222
  exit: null,
223
223
  error: {
224
- message: c
224
+ message: b
225
225
  }
226
226
  });
227
227
  }), () => {
228
- for (p = !0; w.length > 0; )
229
- w.pop()?.();
230
- a && S && b !== "exited" && S.kill();
228
+ for (p = !0; f.length > 0; )
229
+ f.pop()?.();
230
+ s && g && h !== "exited" && g.kill();
231
231
  };
232
- }, g = [t, u, a], n[3] = t, n[4] = a, n[5] = u, n[6] = d, n[7] = g) : (d = n[6], g = n[7]), v(d, g), r;
233
- }, V = '"JetBrains Mono", "Fira Code", Menlo, Consolas, monospace', X = 13, z = 80, D = 24, ee = (e) => ({
232
+ }, x = [r, l, s], n[3] = r, n[4] = s, n[5] = l, n[6] = d, n[7] = x) : (d = n[6], x = n[7]), v(d, x), i;
233
+ }, oe = '"JetBrains Mono", "Fira Code", Menlo, Consolas, monospace', ie = 13, M = 80, N = 24, se = (e) => ({
234
234
  ...e,
235
- cols: e?.cols ?? z,
236
- rows: e?.rows ?? D
237
- }), ne = (e) => ({
238
- write(n) {
239
- e.write(n);
240
- },
241
- onInput(n) {
242
- const t = e.onData(n);
243
- return () => t.dispose();
244
- },
245
- onResize(n) {
246
- const t = e.onResize(n);
247
- return () => t.dispose();
248
- }
249
- }), k = (e) => {
235
+ cols: e?.cols ?? M,
236
+ rows: e?.rows ?? N
237
+ }), ae = (e) => {
238
+ const n = /* @__PURE__ */ new Set(), r = [], o = e.onData((t) => {
239
+ if (n.size === 0) {
240
+ r.push(t);
241
+ return;
242
+ }
243
+ for (const s of n) s(t);
244
+ });
245
+ return {
246
+ write(t) {
247
+ e.write(t);
248
+ },
249
+ onInput(t) {
250
+ for (n.add(t); r.length > 0; ) t(r.shift());
251
+ return () => n.delete(t);
252
+ },
253
+ onResize(t) {
254
+ const s = e.onResize(t);
255
+ return () => s.dispose();
256
+ },
257
+ dispose() {
258
+ o.dispose(), n.clear(), r.length = 0;
259
+ }
260
+ };
261
+ }, O = (e) => {
250
262
  try {
251
263
  e?.fit();
252
264
  } catch {
253
265
  }
254
- }, te = (e, n) => {
266
+ }, ce = (e, n) => {
255
267
  n.resize(e.cols, e.rows);
256
- }, re = (e, n, t, o) => {
257
- const i = N(n, t, {
268
+ }, le = (e, n, r, o) => {
269
+ const t = G(n, r, {
258
270
  onExit: o.onSessionExit
259
271
  });
260
- return te(e, t), o.onSessionOpen?.(t.id), i;
261
- }, oe = (e, n, t, o) => re(e, n, t, {
262
- onSessionOpen: (i) => o.onSessionOpen.current?.(i),
263
- onSessionExit: (i) => o.onSessionExit.current?.(i)
264
- }), fe = (e) => {
272
+ return ce(e, r), o.onSessionOpen?.(r.id), t;
273
+ }, ue = (e, n, r, o) => le(e, n, r, {
274
+ onSessionOpen: (t) => o.onSessionOpen.current?.(t),
275
+ onSessionExit: (t) => o.onSessionExit.current?.(t)
276
+ }), be = (e) => {
265
277
  const {
266
278
  bridge: n,
267
- request: t,
279
+ request: r,
268
280
  theme: o,
269
- fontFamily: i = V,
270
- fontSize: a = X,
281
+ fontFamily: t = oe,
282
+ fontSize: s = ie,
271
283
  killOnUnmount: m = !0,
272
- className: u,
273
- style: h,
274
- onSessionOpen: r,
275
- onSessionExit: s
276
- } = e, d = T(null), g = T(null), p = T(null), S = T(null), b = T(r), w = T(s);
277
- b.current = r, w.current = s, S.current || (S.current = ee(t));
278
- const x = Y(o);
284
+ autoFocus: l = !0,
285
+ className: S,
286
+ style: i,
287
+ onSessionOpen: a,
288
+ onSessionExit: d
289
+ } = e, x = T(null), p = T(null), g = T(null), h = T(null), [f, A] = q(!1), c = T(null), b = T(a), E = T(d);
290
+ b.current = a, E.current = d, c.current || (c.current = se(r));
291
+ const F = ee(o);
279
292
  v(() => {
280
- const c = d.current;
281
- if (!c) return;
282
- const f = new U({
283
- cols: z,
284
- rows: D,
285
- cursorBlink: !0,
286
- convertEol: !0,
287
- allowProposedApi: !0
288
- }), y = new C();
289
- f.loadAddon(y), f.open(c), g.current = f, p.current = y;
290
- const E = () => k(y);
291
- E();
292
- const I = window.requestAnimationFrame(E), B = window.setTimeout(E, 50), R = new ResizeObserver(E);
293
- return R.observe(c), () => {
294
- window.cancelAnimationFrame(I), window.clearTimeout(B), R.disconnect(), f.dispose(), g.current = null, p.current = null;
293
+ const u = x.current;
294
+ if (!u) return;
295
+ let w, y, k, D, _;
296
+ const H = window.requestAnimationFrame(() => {
297
+ w = new W({
298
+ cols: M,
299
+ rows: N,
300
+ cursorBlink: !0,
301
+ convertEol: !0,
302
+ allowProposedApi: !0
303
+ });
304
+ const I = new K();
305
+ w.loadAddon(I), w.open(u), y = ae(w), p.current = w, g.current = I, h.current = y;
306
+ const R = () => O(I);
307
+ R(), k = window.requestAnimationFrame(R), D = window.setTimeout(R, 50), _ = new ResizeObserver(R), _.observe(u), A(!0);
308
+ });
309
+ return () => {
310
+ window.cancelAnimationFrame(H), k !== void 0 && window.cancelAnimationFrame(k), D !== void 0 && window.clearTimeout(D), _?.disconnect(), y?.dispose(), w?.dispose(), p.current = null, g.current = null, h.current = null;
295
311
  };
296
312
  }, []), v(() => {
297
- const c = g.current;
298
- c && (c.options.theme = x, c.options.fontFamily = i, c.options.fontSize = a, k(p.current));
299
- }, [x, i, a]);
313
+ if (!f) return;
314
+ const u = p.current;
315
+ u && (u.options.theme = F, u.options.fontFamily = t, u.options.fontSize = s, O(g.current));
316
+ }, [f, F, t, s]);
300
317
  const {
301
- session: l
302
- } = Q({
318
+ session: z
319
+ } = re({
303
320
  bridge: n,
304
- request: S.current,
321
+ request: c.current,
305
322
  killOnUnmount: m
306
323
  });
307
324
  return v(() => {
308
- const c = g.current;
309
- if (!c || !l) return;
310
- k(p.current);
311
- const f = window.requestAnimationFrame(() => k(p.current)), y = ne(c), E = oe(c, y, l, {
325
+ if (!f) return;
326
+ const u = p.current, w = h.current;
327
+ if (!u || !w || !z) return;
328
+ O(g.current);
329
+ const y = window.requestAnimationFrame(() => O(g.current)), k = ue(u, w, z, {
312
330
  onSessionOpen: b,
313
- onSessionExit: w
331
+ onSessionExit: E
314
332
  });
315
- return c.focus(), () => {
316
- window.cancelAnimationFrame(f), E();
333
+ return () => {
334
+ window.cancelAnimationFrame(y), k();
317
335
  };
318
- }, [l]), /* @__PURE__ */ F("div", { className: u, style: {
336
+ }, [z, f]), v(() => {
337
+ f && l && p.current?.focus();
338
+ }, [l, f]), /* @__PURE__ */ B("div", { className: S, style: {
319
339
  position: "relative",
320
340
  width: "100%",
321
341
  height: "100%",
322
- backgroundColor: typeof x.background == "string" ? x.background : void 0,
323
- ...h
324
- }, children: /* @__PURE__ */ F("div", { ref: d, className: "pstdio-terminal", style: {
342
+ backgroundColor: typeof F.background == "string" ? F.background : void 0,
343
+ ...i
344
+ }, children: /* @__PURE__ */ B("div", { ref: x, className: "pstdio-terminal", style: {
325
345
  position: "absolute",
326
346
  inset: 0
327
347
  } }) });
328
348
  };
329
349
  export {
330
- fe as Terminal,
331
- N as bindSessionToSink,
332
- de as createScriptedTerminalBridge,
333
- P as darkTerminalTheme,
334
- J as lightTerminalTheme,
335
- Y as resolveTerminalTheme,
336
- A as terminalThemes,
337
- Q as useTerminalSession
350
+ be as Terminal,
351
+ G as bindSessionToSink,
352
+ we as createScriptedTerminalBridge,
353
+ X as darkTerminalTheme,
354
+ V as lightTerminalTheme,
355
+ ee as resolveTerminalTheme,
356
+ U as terminalThemes,
357
+ re as useTerminalSession
338
358
  };
339
359
  //# sourceMappingURL=terminal.js.map