@jimka/typescript-ui 0.2.0 → 0.4.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.
- package/README.md +4 -0
- package/THIRD-PARTY-NOTICES.md +7 -3
- package/dist/lib/{AbstractBooleanInput-BGesvIZy.js → AbstractBooleanInput-DSwKBAic.js} +2 -2
- package/dist/lib/{AbstractBooleanInput-BGesvIZy.js.map → AbstractBooleanInput-DSwKBAic.js.map} +1 -1
- package/dist/lib/{AbstractInput-BxOtFrER.js → AbstractInput-BmWGJTs1.js} +2 -2
- package/dist/lib/{AbstractInput-BxOtFrER.js.map → AbstractInput-BmWGJTs1.js.map} +1 -1
- package/dist/lib/AnchorConstraints-CVrMP9rz.js +2 -0
- package/dist/lib/AnchorConstraints-CVrMP9rz.js.map +1 -0
- package/dist/lib/{AnimatedDropdown-CZQEqQi-.js → AnimatedDropdown-DKas40B-.js} +2 -2
- package/dist/lib/{AnimatedDropdown-CZQEqQi-.js.map → AnimatedDropdown-DKas40B-.js.map} +1 -1
- package/dist/lib/Border-Bz29z-_7.js +2 -0
- package/dist/lib/Border-Bz29z-_7.js.map +1 -0
- package/dist/lib/Button-bjpWruNc.js +2 -0
- package/dist/lib/{Button-U1rsP4v8.js.map → Button-bjpWruNc.js.map} +1 -1
- package/dist/lib/{Card-BVwOS8AG.js → Card-BdfbvOD_.js} +2 -2
- package/dist/lib/{Card-BVwOS8AG.js.map → Card-BdfbvOD_.js.map} +1 -1
- package/dist/lib/ComboBox-CBw2VLLN.js +2 -0
- package/dist/lib/ComboBox-CBw2VLLN.js.map +1 -0
- package/dist/lib/Component-DHqrPwAw.js +2 -0
- package/dist/lib/Component-DHqrPwAw.js.map +1 -0
- package/dist/lib/Container-CAQpj4yb.js +2 -0
- package/dist/lib/{Container-D5H8VxJK.js.map → Container-CAQpj4yb.js.map} +1 -1
- package/dist/lib/DOM-67StIm5G.js +2 -0
- package/dist/lib/DOM-67StIm5G.js.map +1 -0
- package/dist/lib/DragChain-CYGuT7OA.js +2 -0
- package/dist/lib/DragChain-CYGuT7OA.js.map +1 -0
- package/dist/lib/DragManager-CHWCe3-8.js +2 -0
- package/dist/lib/DragManager-CHWCe3-8.js.map +1 -0
- package/dist/lib/{FieldDecorator-CJs9gwqH.js → FieldDecorator-CgAGcqCk.js} +2 -2
- package/dist/lib/{FieldDecorator-CJs9gwqH.js.map → FieldDecorator-CgAGcqCk.js.map} +1 -1
- package/dist/lib/{Fit-DjRsiwlg.js → Fit-DIYt2aQB.js} +2 -2
- package/dist/lib/{Fit-DjRsiwlg.js.map → Fit-DIYt2aQB.js.map} +1 -1
- package/dist/lib/Glyph-CeAIWyPB.js +2 -0
- package/dist/lib/Glyph-CeAIWyPB.js.map +1 -0
- package/dist/lib/{Grid-DdL9TVeJ.js → Grid-ViA0joow.js} +2 -2
- package/dist/lib/{Grid-DdL9TVeJ.js.map → Grid-ViA0joow.js.map} +1 -1
- package/dist/lib/GridConstraints-B1rxCw9B.js +2 -0
- package/dist/lib/GridConstraints-B1rxCw9B.js.map +1 -0
- package/dist/lib/Header-mKaqgfat.js +2 -0
- package/dist/lib/Header-mKaqgfat.js.map +1 -0
- package/dist/lib/IconText-BqwXA82-.js +2 -0
- package/dist/lib/IconText-BqwXA82-.js.map +1 -0
- package/dist/lib/{LayoutSerialization-BT66TY83.js → LayoutSerialization-D82UtnDD.js} +2 -2
- package/dist/lib/{LayoutSerialization-BT66TY83.js.map → LayoutSerialization-D82UtnDD.js.map} +1 -1
- package/dist/lib/LayoutSizes-DG9aW9k6.js +2 -0
- package/dist/lib/LayoutSizes-DG9aW9k6.js.map +1 -0
- package/dist/lib/List-CUntS8ux.js +2 -0
- package/dist/lib/List-CUntS8ux.js.map +1 -0
- package/dist/lib/MemoryStore-DT6iWWco.js +2 -0
- package/dist/lib/MemoryStore-DT6iWWco.js.map +1 -0
- package/dist/lib/Menu-B_-SQj72.js +2 -0
- package/dist/lib/Menu-B_-SQj72.js.map +1 -0
- package/dist/lib/{MenuButton-VJ5uC3c1.js → MenuButton-C79l8Ysf.js} +2 -2
- package/dist/lib/{MenuButton-VJ5uC3c1.js.map → MenuButton-C79l8Ysf.js.map} +1 -1
- package/dist/lib/{Panel-DzWdYwq1.js → Panel-D2X33qR6.js} +2 -2
- package/dist/lib/{Panel-DzWdYwq1.js.map → Panel-D2X33qR6.js.map} +1 -1
- package/dist/lib/Position-Ck_KD4cR.js +2 -0
- package/dist/lib/Position-Ck_KD4cR.js.map +1 -0
- package/dist/lib/{ProgressSpinner-zJKtGyNJ.js → ProgressSpinner-DCyq02pd.js} +2 -2
- package/dist/lib/{ProgressSpinner-zJKtGyNJ.js.map → ProgressSpinner-DCyq02pd.js.map} +1 -1
- package/dist/lib/{RadioButton-CYSSv4nV.js → RadioButton-BJIAQkII.js} +2 -2
- package/dist/lib/{RadioButton-CYSSv4nV.js.map → RadioButton-BJIAQkII.js.map} +1 -1
- package/dist/lib/{RovingTabIndex-BSZ31Vp5.js → RovingTabIndex-DFJyoveq.js} +2 -2
- package/dist/lib/{RovingTabIndex-BSZ31Vp5.js.map → RovingTabIndex-DFJyoveq.js.map} +1 -1
- package/dist/lib/Scrollbar-CSFK-Y57.js +2 -0
- package/dist/lib/Scrollbar-CSFK-Y57.js.map +1 -0
- package/dist/lib/Slider-C-kQQYCj.js +2 -0
- package/dist/lib/Slider-C-kQQYCj.js.map +1 -0
- package/dist/lib/{Spacer-D9NGW4QG.js → Spacer-D159iJy9.js} +2 -2
- package/dist/lib/{Spacer-D9NGW4QG.js.map → Spacer-D159iJy9.js.map} +1 -1
- package/dist/lib/TabButton-CHkXBgCj.js +2 -0
- package/dist/lib/TabButton-CHkXBgCj.js.map +1 -0
- package/dist/lib/Text-D5pg7taZ.js +2 -0
- package/dist/lib/Text-D5pg7taZ.js.map +1 -0
- package/dist/lib/Tooltip-DzK6LxUt.js +3 -0
- package/dist/lib/{Tooltip-tkXDk5Bo.js.map → Tooltip-DzK6LxUt.js.map} +1 -1
- package/dist/lib/VBox-BNegDPs_.js +2 -0
- package/dist/lib/VBox-BNegDPs_.js.map +1 -0
- package/dist/lib/VirtualScroller-zQr-vKrO.js +2 -0
- package/dist/lib/VirtualScroller-zQr-vKrO.js.map +1 -0
- package/dist/lib/component/button.es.js +1 -1
- package/dist/lib/component/chart.es.js +1 -1
- package/dist/lib/component/chart.es.js.map +1 -1
- package/dist/lib/component/container.es.js +1 -1
- package/dist/lib/component/container.es.js.map +1 -1
- package/dist/lib/component/diagram.es.js +1 -1
- package/dist/lib/component/diagram.es.js.map +1 -1
- package/dist/lib/component/display.es.js +1 -1
- package/dist/lib/component/display.es.js.map +1 -1
- package/dist/lib/component/editor.es.js +3 -3
- package/dist/lib/component/editor.es.js.map +1 -1
- package/dist/lib/component/input.es.js +1 -1
- package/dist/lib/component/input.es.js.map +1 -1
- package/dist/lib/component/list.es.js +1 -1
- package/dist/lib/component/list.es.js.map +1 -1
- package/dist/lib/component/menubar.es.js +1 -1
- package/dist/lib/component/menubar.es.js.map +1 -1
- package/dist/lib/component/table.es.js +2 -2
- package/dist/lib/component/table.es.js.map +1 -1
- package/dist/lib/component/tree.es.js +1 -1
- package/dist/lib/component/tree.es.js.map +1 -1
- package/dist/lib/core.es.js +1 -1
- package/dist/lib/core.es.js.map +1 -1
- package/dist/lib/data.es.js +1 -1
- package/dist/lib/data.es.js.map +1 -1
- package/dist/lib/glyphs/solid/index.es.js +1 -1
- package/dist/lib/layout.es.js +1 -1
- package/dist/lib/layout.es.js.map +1 -1
- package/dist/lib/overlay.es.js +1 -1
- package/dist/lib/overlay.es.js.map +1 -1
- package/dist/lib/primitive.es.js +1 -1
- package/dist/lib/router.es.js +1 -1
- package/dist/lib/router.es.js.map +1 -1
- package/dist/lib/selectionsEqual-4r5R7pTK.js +2 -0
- package/dist/lib/selectionsEqual-4r5R7pTK.js.map +1 -0
- package/dist/lib/types/component/button/TabCloseButton.d.ts +1 -1
- package/dist/lib/types/component/container/CollapseButton.d.ts +1 -1
- package/dist/lib/types/component/container/DialogBackdrop.d.ts +1 -1
- package/dist/lib/types/component/container/MenuItem.d.ts +4 -0
- package/dist/lib/types/component/container/MenuSeparator.d.ts +1 -1
- package/dist/lib/types/component/container/Scrollbar.d.ts +1 -0
- package/dist/lib/types/component/container/SplitGutter.d.ts +2 -2
- package/dist/lib/types/component/container/StatusBar.d.ts +1 -1
- package/dist/lib/types/component/container/VirtualScroller.d.ts +1 -0
- package/dist/lib/types/component/container/WindowBorder.d.ts +1 -1
- package/dist/lib/types/component/diagram/DiagramEdgeLayer.d.ts +14 -1
- package/dist/lib/types/component/diagram/DiagramModel.d.ts +1 -0
- package/dist/lib/types/component/diagram/DiagramNode.d.ts +5 -1
- package/dist/lib/types/component/diagram/DiagramView.d.ts +76 -5
- package/dist/lib/types/component/diagram/ElkLayoutEngine.d.ts +14 -1
- package/dist/lib/types/component/diagram/index.d.ts +2 -2
- package/dist/lib/types/component/display/Canvas.d.ts +8 -2
- package/dist/lib/types/component/display/Glyph.d.ts +2 -1
- package/dist/lib/types/component/display/Header.d.ts +1 -1
- package/dist/lib/types/component/display/IconLabel.d.ts +1 -1
- package/dist/lib/types/component/display/IconText.d.ts +1 -1
- package/dist/lib/types/component/display/Image.d.ts +1 -1
- package/dist/lib/types/component/display/Video.d.ts +1 -1
- package/dist/lib/types/component/display/WebGLCanvas.d.ts +8 -2
- package/dist/lib/types/component/editor/CodeEditor.d.ts +4 -3
- package/dist/lib/types/component/input/AbstractPickerField.d.ts +1 -1
- package/dist/lib/types/component/input/AutoCompleteDropdown.d.ts +1 -1
- package/dist/lib/types/component/input/Link.d.ts +1 -1
- package/dist/lib/types/component/input/NumberSpinner.d.ts +1 -1
- package/dist/lib/types/component/input/PasswordField.d.ts +1 -1
- package/dist/lib/types/component/input/SpinButton.d.ts +1 -1
- package/dist/lib/types/component/input/Text.d.ts +3 -1
- package/dist/lib/types/component/input/TextArea.d.ts +1 -1
- package/dist/lib/types/component/input/TextField.d.ts +3 -1
- package/dist/lib/types/component/input/UsernameField.d.ts +1 -1
- package/dist/lib/types/component/list/AbstractMarkerList.d.ts +9 -1
- package/dist/lib/types/component/list/BulletedList.d.ts +1 -0
- package/dist/lib/types/component/list/ListItem.d.ts +10 -4
- package/dist/lib/types/component/list/NumberedList.d.ts +1 -0
- package/dist/lib/types/component/menubar/MenuBarButton.d.ts +1 -1
- package/dist/lib/types/component/menubar/ToolBar.d.ts +1 -1
- package/dist/lib/types/component/menubar/ToolBarSeparator.d.ts +1 -1
- package/dist/lib/types/component/shared/VirtualRowView.d.ts +13 -1
- package/dist/lib/types/component/shared/selectionsEqual.d.ts +1 -0
- package/dist/lib/types/component/table/Body.d.ts +15 -2
- package/dist/lib/types/component/table/CellGeometry.d.ts +6 -0
- package/dist/lib/types/component/table/Column.d.ts +6 -0
- package/dist/lib/types/component/table/ColumnConfig.d.ts +4 -0
- package/dist/lib/types/component/table/Header.d.ts +25 -2
- package/dist/lib/types/component/table/Row.d.ts +13 -2
- package/dist/lib/types/component/table/Table.d.ts +45 -4
- package/dist/lib/types/component/table/TableExporter.d.ts +1 -1
- package/dist/lib/types/component/table/TablePanel.d.ts +2 -1
- package/dist/lib/types/component/table/cell/Cell.d.ts +1 -1
- package/dist/lib/types/component/table/cell/Header.d.ts +4 -0
- package/dist/lib/types/component/table/index.d.ts +2 -2
- package/dist/lib/types/component/tree/Tree.d.ts +2 -0
- package/dist/lib/types/core/Aria.d.ts +1 -3
- package/dist/lib/types/core/Body.d.ts +9 -2
- package/dist/lib/types/core/ClassStyleRules.d.ts +17 -0
- package/dist/lib/types/core/Component.d.ts +16 -2
- package/dist/lib/types/core/ComponentDefaults.d.ts +1 -0
- package/dist/lib/types/core/DOM.d.ts +15 -2
- package/dist/lib/types/core/DragChain.d.ts +3 -0
- package/dist/lib/types/core/ElementAttributes.d.ts +15 -0
- package/dist/lib/types/core/Favicon.d.ts +7 -0
- package/dist/lib/types/core/FirstLayoutGate.d.ts +5 -0
- package/dist/lib/types/core/PendingTransitions.d.ts +4 -0
- package/dist/lib/types/core/StyleTarget.d.ts +1 -0
- package/dist/lib/types/core/Theme.d.ts +1 -0
- package/dist/lib/types/core/Util.d.ts +3 -0
- package/dist/lib/types/core/index.d.ts +3 -0
- package/dist/lib/types/layout/Accordion.d.ts +0 -1
- package/dist/lib/types/layout/Border.d.ts +1 -0
- package/dist/lib/types/layout/FlowLayout.d.ts +4 -0
- package/dist/lib/types/layout/HFlow.d.ts +3 -0
- package/dist/lib/types/layout/Tab.d.ts +4 -1
- package/dist/lib/types/layout/Table.d.ts +1 -0
- package/dist/lib/types/layout/VFlow.d.ts +1 -0
- package/dist/lib/types/overlay/AbstractWindow.d.ts +2 -1
- package/dist/lib/types/overlay/Dock.d.ts +1 -0
- package/dist/lib/types/overlay/DropZoneOverlay.d.ts +1 -0
- package/dist/lib/types/overlay/Popover.d.ts +1 -1
- package/dist/lib/types/router/RoutePattern.d.ts +7 -0
- package/dist/lib/types/router/Router.d.ts +13 -2
- package/dist/lib/types/router/index.d.ts +1 -1
- package/dist/lib/validation.es.js +1 -1
- package/llms.txt +2 -1
- package/package.json +5 -9
- package/dist/lib/Border-BgaZkc1R.js +0 -2
- package/dist/lib/Border-BgaZkc1R.js.map +0 -1
- package/dist/lib/BoxLayout-DrKGfsup.js +0 -2
- package/dist/lib/BoxLayout-DrKGfsup.js.map +0 -1
- package/dist/lib/Button-U1rsP4v8.js +0 -2
- package/dist/lib/ComboBox-B9EDPu6T.js +0 -2
- package/dist/lib/ComboBox-B9EDPu6T.js.map +0 -1
- package/dist/lib/Component-DXf5a3g0.js +0 -2
- package/dist/lib/Component-DXf5a3g0.js.map +0 -1
- package/dist/lib/Container-D5H8VxJK.js +0 -2
- package/dist/lib/DOM-CGn7xyTw.js +0 -2
- package/dist/lib/DOM-CGn7xyTw.js.map +0 -1
- package/dist/lib/DragManager-CI4mZQFy.js +0 -2
- package/dist/lib/DragManager-CI4mZQFy.js.map +0 -1
- package/dist/lib/Glyph-KEf4nIv2.js +0 -2
- package/dist/lib/Glyph-KEf4nIv2.js.map +0 -1
- package/dist/lib/GridConstraints-DkLueyrf.js +0 -2
- package/dist/lib/GridConstraints-DkLueyrf.js.map +0 -1
- package/dist/lib/HBox-Ce0GTCJP.js +0 -2
- package/dist/lib/HBox-Ce0GTCJP.js.map +0 -1
- package/dist/lib/Header-BQIVpBte.js +0 -2
- package/dist/lib/Header-BQIVpBte.js.map +0 -1
- package/dist/lib/IconText-Bo4Qcnot.js +0 -2
- package/dist/lib/IconText-Bo4Qcnot.js.map +0 -1
- package/dist/lib/LayoutSizes-DU3qSq0w.js +0 -2
- package/dist/lib/LayoutSizes-DU3qSq0w.js.map +0 -1
- package/dist/lib/List-DtTVTyWW.js +0 -2
- package/dist/lib/List-DtTVTyWW.js.map +0 -1
- package/dist/lib/Menu-Dz4L7EKJ.js +0 -2
- package/dist/lib/Menu-Dz4L7EKJ.js.map +0 -1
- package/dist/lib/Position-A39T7-_1.js +0 -2
- package/dist/lib/Position-A39T7-_1.js.map +0 -1
- package/dist/lib/Scrollbar-BhtOjqkG.js +0 -2
- package/dist/lib/Scrollbar-BhtOjqkG.js.map +0 -1
- package/dist/lib/Slider-CdXm7E64.js +0 -2
- package/dist/lib/Slider-CdXm7E64.js.map +0 -1
- package/dist/lib/TabButton-CThevdY_.js +0 -2
- package/dist/lib/TabButton-CThevdY_.js.map +0 -1
- package/dist/lib/Text-gz6qjFfP.js +0 -2
- package/dist/lib/Text-gz6qjFfP.js.map +0 -1
- package/dist/lib/Tooltip-tkXDk5Bo.js +0 -3
- package/dist/lib/VBox-EIqw85Rh.js +0 -2
- package/dist/lib/VBox-EIqw85Rh.js.map +0 -1
- package/dist/lib/VirtualRowView-BxpHQ_u8.js +0 -2
- package/dist/lib/VirtualRowView-BxpHQ_u8.js.map +0 -1
- package/dist/lib/VirtualScroller-DwEEJE1_.js +0 -2
- package/dist/lib/VirtualScroller-DwEEJE1_.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"../DOM-CGn7xyTw.js";import{l as t,n}from"../Position-A39T7-_1.js";import{_ as r,f as i,n as a,t as o,y as s}from"../Component-DXf5a3g0.js";import{t as c}from"../ListenerBag-WPdKuuds.js";import{t as l}from"../Glyph-KEf4nIv2.js";import{t as u}from"../Text-gz6qjFfP.js";import{t as d}from"../HBox-Ce0GTCJP.js";import{t as f}from"../Border-BgaZkc1R.js";import{t as ee}from"../ProgressSpinner-zJKtGyNJ.js";import{t as p}from"../Placement-7kqdaK4Z.js";import{t as te}from"../Header-BQIVpBte.js";import{t as m}from"../Button-U1rsP4v8.js";import{angle_left as h}from"../glyphs/solid/angle_left.es.js";import{angle_right as g}from"../glyphs/solid/angle_right.es.js";import{n as _,t as v}from"../Slider-CdXm7E64.js";import{t as y}from"../IconText-Bo4Qcnot.js";import{angles_left as b}from"../glyphs/solid/angles_left.es.js";import{angles_right as x}from"../glyphs/solid/angles_right.es.js";import{play as S}from"../glyphs/solid/play.es.js";import{pause as C}from"../glyphs/solid/pause.es.js";import{volume_high as w}from"../glyphs/solid/volume_high.es.js";import{volume_mute as T}from"../glyphs/solid/volume_mute.es.js";import{expand as E}from"../glyphs/solid/expand.es.js";import{compress as D}from"../glyphs/solid/compress.es.js";import{lexer as O}from"marked";var k={tag:`canvas`},A=-1,Canvas=class extends o{_ctx=null;_rafId=null;_animationRequested=!1;_syncedWidth=A;_syncedHeight=A;_syncedDpr=A;_dprToken=0;constructor(e){super(e,k),this.clearInsets()}applyOptions(e){return super.applyOptions(e),e.onDraw!==void 0&&this.setOnDraw(e.onDraw),e.animateWhenHidden!==void 0&&this.setAnimateWhenHidden(e.animateWhenHidden),this}getContext(){if(this._ctx)return this._ctx;let t=this.getElement();return t?(this._ctx=e.sink.getContext(t,`2d`),this._ctx):null}setOnDraw(e){return this._options.onDraw=e??void 0,this.redraw(),this}getOnDraw(){return this._options.onDraw??null}redraw(){let e=this.getContext();if(!e)return this;let t=this.getWidth(),n=this.getHeight();return e.clearRect(0,0,t,n),this._options.onDraw?.(e,t,n),this}startAnimation(){return this._animationRequested=!0,this.reconcileAnimation(),this}stopAnimation(){return this._animationRequested=!1,this.reconcileAnimation(),this}isAnimating(){return this._rafId!==null}setAnimateWhenHidden(e){return this._options.animateWhenHidden=e,this.reconcileAnimation(),this}getAnimateWhenHidden(){return this._options.animateWhenHidden??!1}syncBackingStore(){let t=this.getContext();if(!t)return;let n=this.getWidth(),r=this.getHeight(),i=e.source.getDevicePixelRatio();if(n===this._syncedWidth&&r===this._syncedHeight&&i===this._syncedDpr)return;let a=this.getElement();e.sink.apply(a,{setAttr:{width:String(Math.round(n*i)),height:String(Math.round(r*i))}}),t.setTransform(i,0,0,i,0,0),this._syncedWidth=n,this._syncedHeight=r,this._syncedDpr=i,this.redraw()}doLayout(){return super.doLayout(),this.syncBackingStore(),this}render(){let e=super.render();return this.watchDevicePixelRatio(),e}destructor(){this.stopAnimation(),super.destructor()}shouldAnimate(){return this._animationRequested&&(this.getAnimateWhenHidden()||this.isEffectivelyVisible())}reconcileAnimation(){this.shouldAnimate()?this._rafId===null&&(this._rafId=e.sink.requestAnimationFrame(this.animationStep)):this._rafId!=null&&(e.sink.cancelAnimationFrame(this._rafId),this._rafId=null)}animationStep=()=>{if(!this._animationRequested){this._rafId=null;return}this.redraw(),this._rafId=e.sink.requestAnimationFrame(this.animationStep)};onEffectiveVisibilityChange(e){super.onEffectiveVisibilityChange(e),this.reconcileAnimation()}watchDevicePixelRatio(){let t=++this._dprToken,n=e.source.getDevicePixelRatio();e.source.matchMedia(`(resolution: ${n}dppx)`).addChangeListener(()=>this.onDevicePixelRatioChange(t))}onDevicePixelRatioChange(e){e===this._dprToken&&this.getElement()&&(this.syncBackingStore(),this.watchDevicePixelRatio())}},ne=i(Canvas),re={tag:`canvas`},j=-1,WebGLCanvas=class extends o{_gl=null;_rafId=null;_animationRequested=!1;_contextLost=!1;_syncedWidth=j;_syncedHeight=j;_syncedDpr=j;_dprToken=0;constructor(e){super(e,re),this._contextInitialised=!1,this.clearInsets()}applyOptions(e){return super.applyOptions(e),e.onContextInit!==void 0&&this.setOnContextInit(e.onContextInit),e.onFrame!==void 0&&this.setOnFrame(e.onFrame),e.animateWhenHidden!==void 0&&this.setAnimateWhenHidden(e.animateWhenHidden),this}getContext(){if(this._gl)return this._gl;let t=this.getElement();return t?(this._gl=e.sink.getContext(t,`webgl2`),this._gl):null}setOnContextInit(e){return this._options.onContextInit=e??void 0,this._contextInitialised=!1,this}getOnContextInit(){return this._options.onContextInit??null}setOnFrame(e){return this._options.onFrame=e??void 0,this}getOnFrame(){return this._options.onFrame??null}startAnimation(){return this._animationRequested=!0,this.reconcileAnimation(),this}stopAnimation(){return this._animationRequested=!1,this.reconcileAnimation(),this}isAnimating(){return this._rafId!==null}setAnimateWhenHidden(e){return this._options.animateWhenHidden=e,this.reconcileAnimation(),this}getAnimateWhenHidden(){return this._options.animateWhenHidden??!1}syncBackingStore(){let t=this.getContext();if(!t)return;let n=this.getWidth(),r=this.getHeight(),i=e.source.getDevicePixelRatio();if(n===this._syncedWidth&&r===this._syncedHeight&&i===this._syncedDpr)return;let a=Math.round(n*i),o=Math.round(r*i);e.sink.apply(this.getElement(),{setAttr:{width:String(a),height:String(o)}}),t.viewport(0,0,a,o),this._syncedWidth=n,this._syncedHeight=r,this._syncedDpr=i,this.renderFrame()}doLayout(){return super.doLayout(),this.syncBackingStore(),this}render(){let e=super.render();return s.addListener(this,`webglcontextlost`,e=>{e.preventDefault(),this._contextLost=!0}),s.addListener(this,`webglcontextrestored`,()=>{this._contextLost=!1,this._contextInitialised=!1,this.syncBackingStore()}),this.watchDevicePixelRatio(),this.onFirstLayout(()=>this.startAnimation()),e}destructor(){this.stopAnimation(),super.destructor()}shouldAnimate(){return this._animationRequested&&(this.getAnimateWhenHidden()||this.isEffectivelyVisible())}reconcileAnimation(){this.shouldAnimate()?this._rafId===null&&(this._rafId=e.sink.requestAnimationFrame(this.animationStep)):this._rafId!=null&&(e.sink.cancelAnimationFrame(this._rafId),this._rafId=null)}animationStep=()=>{if(!this._animationRequested){this._rafId=null;return}this.renderFrame(),this._rafId=e.sink.requestAnimationFrame(this.animationStep)};onEffectiveVisibilityChange(e){super.onEffectiveVisibilityChange(e),this.reconcileAnimation()}renderFrame(){let e=this.getContext();!e||this._contextLost||(this._contextInitialised||=(this._options.onContextInit?.(e),!0),this._options.onFrame?.(e,this.getWidth(),this.getHeight()))}watchDevicePixelRatio(){let t=++this._dprToken,n=e.source.getDevicePixelRatio();e.source.matchMedia(`(resolution: ${n}dppx)`).addChangeListener(()=>this.onDevicePixelRatioChange(t))}onDevicePixelRatioChange(e){e===this._dprToken&&this.getElement()&&(this.syncBackingStore(),this.watchDevicePixelRatio())}},ie=i(WebGLCanvas),M=100,N={tag:`img`},Image=class extends o{_src;constructor(e,t){super(t,N),this._src=e,this.clearInsets()}getElement(e=!1){return super.getElement(e)}getPreferredSize(){let t=this.getElement(),n=e.source.getNaturalSize(t);return{width:n.width,height:n.height}}getMinSize(){let t=super.getMinSize();if(this._options.minSize)return t;let n=this.getElement();if(!n||!e.source.getNaturalSize(n).width)return{width:20,height:20};let r=e.source.getNaturalSize(n);return{width:Math.min(r.width,M),height:Math.min(r.height,M)}}render(){let t=super.render();return e.sink.apply(t,{setAttr:{src:this._src.valueOf()}}),t}},P=i(Image),F=`ts-ui-md-code`,I=`ts-ui-md-pre`,L=`ts-ui-md-quote`,R=`ts-ui-md-list`,z=`ts-ui-md-link`,B=`ts-ui-md-heading`,V=`ts-ui-md-table-wrap`,H=`ts-ui-md-table`,U=`ts-ui-md-th`,W=`ts-ui-md-td`,G=`ts-ui-md-align-left`,K=`ts-ui-md-align-center`,q=`ts-ui-md-align-right`,ae=1,J=6,Y=!1;function ensureMarkdownClassRules(){Y||(Y=!0,new r({scope:`class`,name:F,styles:{fontFamily:`var(--ts-ui-font-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace)`,background:`rgba(127, 127, 127, 0.16)`,borderRadius:`var(--ts-ui-border-radius, 3px)`,padding:`0.1em 0.3em`}}),new r({scope:`class`,name:I,styles:{fontFamily:`var(--ts-ui-font-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace)`,background:`rgba(127, 127, 127, 0.16)`,borderRadius:`var(--ts-ui-border-radius, 3px)`,padding:`0.6em 0.8em`,whiteSpace:`pre`,overflow:`auto`}}),new r({scope:`class`,name:L,styles:{borderLeft:`3px solid var(--ts-ui-border-color, rgba(127, 127, 127, 0.4))`,paddingLeft:`1em`,marginLeft:`0`}}),new r({scope:`class`,name:R,styles:{paddingLeft:`1.5em`}}),new r({scope:`class`,name:z,styles:{color:`var(--ts-ui-indicator-focus, #2563eb)`}}),new r({scope:`class`,name:B,styles:{fontWeight:`600`}}),new r({scope:`class`,name:V,styles:{maxWidth:`100%`,overflowX:`auto`}}),new r({scope:`class`,name:H,styles:{borderCollapse:`collapse`}}),new r({scope:`class`,name:U,styles:{border:`1px solid var(--ts-ui-border-color, rgba(127, 127, 127, 0.4))`,padding:`0.3em 0.6em`,fontWeight:`600`,textAlign:`left`}}),new r({scope:`class`,name:W,styles:{border:`1px solid var(--ts-ui-border-color, rgba(127, 127, 127, 0.4))`,padding:`0.3em 0.6em`}}),new r({scope:`class`,name:G,styles:{textAlign:`left`}}),new r({scope:`class`,name:K,styles:{textAlign:`center`}}),new r({scope:`class`,name:q,styles:{textAlign:`right`}}))}function alignmentClass(e){switch(e){case`left`:return G;case`center`:return K;case`right`:return q;default:return null}}function slugify(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``)}function defaultLinkResolver(e){return{href:e,external:!0}}var Markdown=class extends o{_contentHandles=[];_measuredHeight=null;_unsubscribeTheme;constructor(e,t){super(t),e!==void 0&&this._options.markdown===void 0&&(this._options.markdown=e),this.setWhiteSpace(`normal`),this.setElementCSSRule(`overflowWrap`,`break-word`),this._unsubscribeTheme=a.onThemeChange(()=>this.measureContentHeight()),this.onFirstLayout(()=>this.measureContentHeight())}applyOptions(e){return super.applyOptions(e),e.markdown!==void 0&&(this._options.markdown=e.markdown),e.linkResolver!==void 0&&(this._options.linkResolver=e.linkResolver),this}getMarkdown(){return this._options.markdown??``}setLinkResolver(e){return this._options.linkResolver=e,this}getLinkResolver(){return this._options.linkResolver??defaultLinkResolver}setMarkdown(e){this._options.markdown=e;let t=this.getElement();return t?(this.clearContent(),ensureMarkdownClassRules(),this.appendBlockTokens(t,O(e),new Map),this.measureContentHeight(),this):this}getMinSize(){let e=super.getMinSize();return this._measuredHeight===null?e:e?{width:e.width,height:Math.max(e.height,this._measuredHeight)}:{width:0,height:this._measuredHeight}}getPreferredSize(){let e=super.getPreferredSize();return this._measuredHeight===null||this.getPreferredSizeConstraint()!==null?e:e?{width:e.width,height:this._measuredHeight}:{width:0,height:this._measuredHeight}}setWidth(e){let t=e!==this.getWidth();return super.setWidth(e),t&&this.measureContentHeight(),this}destructor(){this._unsubscribeTheme(),super.destructor()}measureContentHeight(){let t=this.getElement();if(!t)return;let n=this.getHeight();this.setElementStyle(`height`,`auto`),this.commitElementStyle();let r=this.getBorderSize(),i=e.source.getScrollMetrics(t).scrollHeight+r.top+r.bottom;this.setElementStyle(`height`,n+`px`),this.commitElementStyle(),i!==this._measuredHeight&&(this._measuredHeight=i,(this.getParentComponent()??this).scheduleLayout())}render(){let e=super.render();return ensureMarkdownClassRules(),this.appendBlockTokens(e,O(this.getMarkdown()),new Map),e}create(t){let n=e.sink.createElement(t);return this.trackHandle(n),this._contentHandles.push(n),n}clearContent(){for(let t of this._contentHandles)e.sink.removeElement(t),this.untrackHandle(t),e.sink.release(t);this._contentHandles.length=0}appendBlockTokens(e,t,n){for(let r of t)this.appendBlockToken(e,r,n)}appendBlockToken(e,t,n){switch(t.type){case`heading`:this.appendHeading(e,t,n);break;case`paragraph`:this.appendParagraph(e,t);break;case`list`:this.appendList(e,t,n);break;case`blockquote`:this.appendBlockquote(e,t,n);break;case`code`:this.appendCode(e,t);break;case`table`:this.appendTable(e,t);break;case`space`:break;default:this.appendTextNode(e,t.raw??``);break}}appendHeading(t,n,r){let i=Math.min(Math.max(n.depth,ae),J),a=this.create(`h`+i),o=slugify(n.text),s=r.get(o)??0;r.set(o,s+1);let c=s===0?o:`${o}-${s}`;e.sink.apply(a,{addClass:[B],setAttr:{id:c}}),this.appendInlineTokens(a,n.tokens),e.sink.appendChild(t,a)}appendParagraph(t,n){let r=this.create(`p`);this.appendInlineTokens(r,n.tokens),e.sink.appendChild(t,r)}appendList(t,n,r){let i=this.create(n.ordered?`ol`:`ul`);e.sink.apply(i,{addClass:[R]});for(let e of n.items)this.appendListItem(i,e,r);e.sink.appendChild(t,i)}appendListItem(t,n,r){let i=this.create(`li`);for(let e of n.tokens)if(e.type===`text`){let t=e;t.tokens&&t.tokens.length>0?this.appendInlineTokens(i,t.tokens):this.appendInlineToken(i,t,n.tokens.length===1)}else this.appendBlockToken(i,e,r);e.sink.appendChild(t,i)}appendTable(t,n){let r=this.create(`div`);e.sink.apply(r,{addClass:[V]});let i=this.create(`table`);e.sink.apply(i,{addClass:[H]});let a=this.create(`thead`);this.appendTableRow(a,n.header,!0),e.sink.appendChild(i,a);let o=this.create(`tbody`);for(let e of n.rows)this.appendTableRow(o,e,!1);e.sink.appendChild(i,o),e.sink.appendChild(r,i),e.sink.appendChild(t,r)}appendTableRow(t,n,r){let i=this.create(`tr`);for(let t of n){let n=this.create(r?`th`:`td`),a=[r?U:W],o=alignmentClass(t.align);o&&a.push(o),e.sink.apply(n,{addClass:a}),this.appendInlineTokens(n,t.tokens),e.sink.appendChild(i,n)}e.sink.appendChild(t,i)}appendBlockquote(t,n,r){let i=this.create(`blockquote`);e.sink.apply(i,{addClass:[L]}),this.appendBlockTokens(i,n.tokens,r),e.sink.appendChild(t,i)}appendCode(t,n){let r=this.create(`pre`);e.sink.apply(r,{addClass:[I]});let i=this.create(`code`);e.sink.apply(i,{text:n.text}),e.sink.appendChild(r,i),e.sink.appendChild(t,r)}appendInlineTokens(e,t){let n=t.length===1;for(let r of t)this.appendInlineToken(e,r,n)}appendInlineToken(t,n,r){switch(n.type){case`text`:{let i=n;i.tokens&&i.tokens.length>0?this.appendInlineTokens(t,i.tokens):r?e.sink.apply(t,{text:i.text}):this.appendTextNode(t,i.text);break}case`strong`:this.appendInlineWrapper(t,`strong`,n.tokens);break;case`em`:this.appendInlineWrapper(t,`em`,n.tokens);break;case`codespan`:{let r=this.create(`code`);e.sink.apply(r,{addClass:[F],text:n.text}),e.sink.appendChild(t,r);break}case`link`:this.appendLink(t,n);break;default:this.appendTextNode(t,n.text??n.raw??``);break}}appendInlineWrapper(t,n,r){let i=this.create(n);this.appendInlineTokens(i,r),e.sink.appendChild(t,i)}appendLink(t,n){let r=this.create(`a`),i=this.getLinkResolver()(n.href),a={href:i.href};i.external&&(a.target=`_blank`,a.rel=`noopener noreferrer`),e.sink.apply(r,{addClass:[z],setAttr:a}),this.appendInlineTokens(r,n.tokens),e.sink.appendChild(t,r)}appendTextNode(t,n){let r=this.create(`span`);e.sink.apply(r,{text:n}),e.sink.appendChild(t,r)}},oe=i(Markdown),se={gap:2,insets:new n(0,0,0,0)},IconLabel=class extends o{_glyph;_label;constructor(e,t,n,r){super(r,se),this.setLayoutManager(new d({spacing:this.getGap()}));let i=this._options.glyph??e,a=this._options.text??t,o=this._options.forId??n;this._glyph=new l(i),this._label=new _(a,o),this.addComponent(this._glyph),this.addComponent(this._label),this._options.gap!==void 0&&this.getLayoutManager().setComponentSpacing(this._options.gap)}applyOptions(e){return super.applyOptions(e),e.gap!==void 0&&(this._options.gap=e.gap),e.glyph!==void 0&&(this._options.glyph=e.glyph),e.text!==void 0&&(this._options.text=e.text),e.forId!==void 0&&(this._options.forId=e.forId),this}setGlyph(e){return this.removeComponent(this._glyph),this._glyph=new l(e),this.insertComponent(this._glyph,0),this}setText(e){return this._label.setText(e),this}setForId(e){return this._label.setForId(e),this}setGap(e){return this._options.gap=e,this.getLayoutManager().setComponentSpacing(e),this}getGap(){return this._options.gap??this._defaultOptions.gap}getGlyphComponent(){return this._glyph}getLabelComponent(){return this._label}},ce=i(IconLabel);r.ensureKeyframes(`ts-ui-progress-indeterminate`,`0% { transform: translateX(-100%); } 100% { transform: translateX(400%); }`);var ProgressBar=class extends o{_track;_fill;_value;_indeterminate;constructor(e=0,n=!1,r){super(),this._value=t.clamp(e,0,100),this._indeterminate=n,this.setBackgroundColor(`var(--ts-ui-progress-track-bg, rgb(220, 220, 220))`),this.setBorderRadius(`var(--ts-ui-progress-track-radius, 4px)`),this._track=new o,this._track.setOverflow(`hidden`),this._track.setBorderRadius(`var(--ts-ui-progress-track-radius, 4px)`),this._fill=new o,this._fill.setBackgroundColor(`var(--ts-ui-progress-fill-bg, rgb(30, 100, 200))`),this._track.addComponent(this._fill),super.addComponent(this._track),this.getAria().setRole(`progressbar`),this.getAria().setValueMin(0),this.getAria().setValueMax(100),this.getAria().setValueNow(this._value),this._indeterminate&&this.applyIndeterminate(!0),r&&this.applyOptions(r)}applyOptions(e){return super.applyOptions(e),e.indeterminate!==void 0&&this.setIndeterminate(e.indeterminate),e.value!==void 0&&this.setValue(e.value),this}getBaseline(){let e=this.getPreferredSize();return e?e.height-2:null}getValue(){return this._indeterminate?0:this._value}setValue(e){let n=t.clamp(e,0,100);return n===this._value?this:(this._value=n,this.getAria().setValueNow(n),this._indeterminate||this.scheduleLayout(),this)}isIndeterminate(){return this._indeterminate}setIndeterminate(e){return this._indeterminate===e?this:(this._indeterminate=e,this.applyIndeterminate(e),this.flushLayout(),this)}doLayout(){let e=this.getInnerSize();if(!e)return super.doLayout(),this;if(this._track.setX(0),this._track.setY(0),this._track.setSize({width:e.width,height:e.height}),this._indeterminate){let t=Math.max(20,Math.round(e.width*.25));this._fill.setX(0),this._fill.setY(0),this._fill.setSize({width:t,height:e.height})}else{let t=Math.round(e.width*this._value/100);this._fill.setX(0),this._fill.setY(0),this._fill.setSize({width:t,height:e.height})}return super.doLayout(),this}applyIndeterminate(e){e?(this._fill.setBackgroundColor(`var(--ts-ui-progress-indeterminate-bg, rgb(30, 100, 200))`),this._fill.setAnimation(`ts-ui-progress-indeterminate 1.4s ease-in-out infinite`)):(this._fill.setBackgroundColor(`var(--ts-ui-progress-fill-bg, rgb(30, 100, 200))`),this._fill.clearAnimation())}},le=i(ProgressBar);l.register(b,h,g,x);var PaginationBar=class extends o{_store;_firstBtn;_prevBtn;_nextBtn;_lastBtn;_pageText;_onStoreUpdate=()=>this.refresh();constructor(e,t){super(),this._store=e;let n=new d;n.setComponentSpacing(4),this.setLayoutManager(n),this._firstBtn=new m({glyph:`angles-left`}),this._prevBtn=new m({glyph:`angle-left`}),this._pageText=new u(`Page x of y`),this._nextBtn=new m({glyph:`angle-right`}),this._lastBtn=new m({glyph:`angles-right`}),this._firstBtn.setPreferredSize({width:28,height:28}),this._prevBtn.setPreferredSize({width:28,height:28}),this._nextBtn.setPreferredSize({width:28,height:28}),this._lastBtn.setPreferredSize({width:28,height:28}),this._pageText.centerInHeight(28),this._firstBtn.on(`action`,()=>{this._store.goToPage(1)}),this._prevBtn.on(`action`,()=>this._store.prevPage()),this._nextBtn.on(`action`,()=>this._store.nextPage()),this._lastBtn.on(`action`,()=>{let e=this._store.getTotalPages();this._store.goToPage(e??this._store.getPage())}),this.addComponent(this._firstBtn),this.addComponent(this._prevBtn),this.addComponent(this._pageText),this.addComponent(this._nextBtn),this.addComponent(this._lastBtn),this._store.on(`pagechange`,this._onStoreUpdate),this._store.on(`load`,this._onStoreUpdate),this._store.on(`datachange`,this._onStoreUpdate),this._store.on(`add`,this._onStoreUpdate),this._store.on(`remove`,this._onStoreUpdate),this._store.on(`sync`,this._onStoreUpdate),this.refresh(),t&&this.applyOptions(t)}applyOptions(e){return super.applyOptions(e),e.pageSize!==void 0&&this._store.setPageSize(e.pageSize),e.pageIndex!==void 0&&this._store.goToPage(e.pageIndex),this}destructor(){this._store.off(`pagechange`,this._onStoreUpdate),this._store.off(`load`,this._onStoreUpdate),this._store.off(`datachange`,this._onStoreUpdate),this._store.off(`add`,this._onStoreUpdate),this._store.off(`remove`,this._onStoreUpdate),this._store.off(`sync`,this._onStoreUpdate),super.destructor()}refresh(){let e=this._store.getPage(),t=this._store.getTotalPages(),n=this._store.hasPendingChanges(),r=t==null?`Page ${e}`:`Page ${e} of ${t}`;this._pageText.setText(r),this._firstBtn.setEnabled(!n&&e>1),this._prevBtn.setEnabled(!n&&e>1),this._nextBtn.setEnabled(!n&&(t==null||e<t)),this._lastBtn.setEnabled(!n&&t!=null&&e<t)}},ue=i(PaginationBar),de=[`timeupdate`,`play`,`pause`,`ended`,`loadedmetadata`,`durationchange`,`volumechange`,`ratechange`],fe=1,pe=1,X={tag:`video`},Video=class extends o{_listeners=new c;_mediaHandlers=new Map;constructor(e){super(e,X),this.clearInsets(),this.getAria().setLabel(`Video`),this.buildMediaHandlers(),this.applyListeners(e?.listeners)}applyOptions(e){return super.applyOptions(e),e.src!==void 0&&this.setSrc(e.src),e.poster!==void 0&&this.setPoster(e.poster),e.autoplay!==void 0&&this.setAutoplay(e.autoplay),e.loop!==void 0&&this.setLoop(e.loop),e.preload!==void 0&&this.setPreload(e.preload),e.muted!==void 0&&this.setMuted(e.muted),e.volume!==void 0&&this.setVolume(e.volume),e.playbackRate!==void 0&&this.setPlaybackRate(e.playbackRate),this}getSrc(){return this._options.src??null}setSrc(e){return this._options.src=e,this.setElementAttribute(`src`,e),this}getPoster(){return this._options.poster??null}setPoster(e){return this._options.poster=e,this.setElementAttribute(`poster`,e),this}isAutoplay(){return this._options.autoplay??!1}setAutoplay(e){return this._options.autoplay=e,this.setElementAttribute(`autoplay`,e?``:null),this}isLoop(){return this._options.loop??!1}setLoop(e){return this._options.loop=e,this.setElementAttribute(`loop`,e?``:null),this}isMuted(){return this._options.muted??!1}setMuted(t){this._options.muted=t,this.setElementAttribute(`muted`,t?``:null);let n=this.getElement();return n&&e.sink.setMuted(n,t),this}getPreload(){return this._options.preload??null}setPreload(e){return this._options.preload=e,this.setElementAttribute(`preload`,e),this}getVolume(){return this._options.volume??fe}setVolume(t){let n=Math.max(0,Math.min(1,t));this._options.volume=n;let r=this.getElement();return r&&e.sink.setVolume(r,n),this}getPlaybackRate(){return this._options.playbackRate??pe}setPlaybackRate(t){this._options.playbackRate=t;let n=this.getElement();return n&&e.sink.setPlaybackRate(n,t),this}setCurrentTime(t){let n=this.getElement();return n&&e.sink.setCurrentTime(n,t),this}play(){let t=this.getElement();return t&&e.sink.mediaPlay(t),this}pause(){let t=this.getElement();return t&&e.sink.mediaPause(t),this}getMediaState(){let t=this.getElement();return t?e.source.getMediaState(t):{currentTime:0,duration:0,paused:!0,ended:!1,volume:this.getVolume(),muted:this.isMuted(),playbackRate:this.getPlaybackRate()}}on(e,t){return this._listeners.add(e,t),this}off(e,t){return this._listeners.remove(e,t),this}emit(e){this._listeners.fire(e)}init(e){super.init(e);let t=e??this.getElement();return t?(this.replayMediaOptions(t),this.attachMediaListeners(t),this):this}destructor(){let t=this.getElement();if(t)for(let[n,r]of this._mediaHandlers)e.sink.removeListener(t,n,r);super.destructor()}buildMediaHandlers(){for(let e of de)this._mediaHandlers.set(e,()=>this.emit(e))}replayMediaOptions(t){let n=this._options,r={};n.src!==void 0&&(r.src=n.src),n.poster!==void 0&&(r.poster=n.poster),n.preload!==void 0&&(r.preload=n.preload),n.autoplay&&(r.autoplay=``),n.loop&&(r.loop=``),n.muted&&(r.muted=``),Object.keys(r).length>0&&e.sink.apply(t,{setAttr:r}),n.muted!==void 0&&e.sink.setMuted(t,n.muted),n.volume!==void 0&&e.sink.setVolume(t,n.volume),n.playbackRate!==void 0&&e.sink.setPlaybackRate(t,n.playbackRate)}attachMediaListeners(t){for(let[n,r]of this._mediaHandlers)e.sink.addListener(t,n,r)}},Z=i(Video),ProgressiveEngine=class{load(e,t){e.setSrc(t)}destroy(){}};l.register(S,C,w,T,E,D);var Q=28,$=80,me=28,he=.05,ge=6;function formatMediaTime(e){if(!Number.isFinite(e)||e<0)return`0:00`;let t=Math.floor(e),n=t%60,r=Math.floor(t/60)%60,i=Math.floor(t/3600),a=String(n).padStart(2,`0`);return i>=1?`${i}:${String(r).padStart(2,`0`)}:${a}`:`${r}:${a}`}var VideoPlayer=class extends o{_video;_controls;_playBtn;_scrubber;_timeText;_muteBtn;_volume;_fullscreenBtn;_engine=new ProgressiveEngine;_playing=!1;_fullscreen=!1;_scrubbing=!1;_syncing=!1;_listeners=new c;_onPlayButton=()=>this.togglePlay();_onMuteButton=()=>this.setMuted(!this.isMuted());_onFullscreenButton=()=>this.toggleFullscreen();_onScrub=()=>this.beginScrub();_onVolumeChange=e=>this.onVolumeSlider(e);_onVideoPlay=()=>this.onVideoPlay();_onVideoPause=()=>this.onVideoPause();_onVideoEnded=()=>this.onVideoEnded();_onVideoTimeUpdate=()=>this.onVideoTimeUpdate();_onVideoSync=()=>this.syncFromVideo();_onFullscreenChange=()=>this.syncFullscreen();constructor(e){super(),this.setLayoutManager(new f),this.getAria().setRole(`region`),this.getAria().setLabel(`Video player`),this._video=new Z,this.buildControlBar(),this.wireControlListeners(),this.wireVideoListeners(),this.addComponent(this._video,{placement:p.CENTER}),this.addComponent(this._controls,{placement:p.SOUTH}),this.syncFromState(this._video.getMediaState()),e&&this.applyOptions(e),this.applyListeners(e?.listeners)}applyOptions(e){return super.applyOptions(e),e.engine!==void 0&&(this._engine=e.engine),e.src!==void 0&&this.setSrc(e.src),e.poster!==void 0&&this._video.setPoster(e.poster),e.autoplay!==void 0&&this._video.setAutoplay(e.autoplay),e.loop!==void 0&&this._video.setLoop(e.loop),e.muted!==void 0&&this._video.setMuted(e.muted),e.volume!==void 0&&this._video.setVolume(e.volume),e.playbackRate!==void 0&&this._video.setPlaybackRate(e.playbackRate),e.controls!==void 0&&this.setControlsVisible(e.controls),this}getSrc(){return this._video.getSrc()}setSrc(e){return this._engine.destroy(),this._engine.load(this._video,e),this}getVolume(){return this._video.getVolume()}setVolume(e){return this._video.setVolume(e),this.syncFromVideo(),this}isMuted(){return this._video.isMuted()}setMuted(e){return this._video.setMuted(e),this.syncFromVideo(),this}getPlaybackRate(){return this._video.getPlaybackRate()}setPlaybackRate(e){return this._video.setPlaybackRate(e),this}setCurrentTime(e){return this._video.setCurrentTime(e),this}getCurrentTime(){return this._video.getMediaState().currentTime}getDuration(){return this._video.getMediaState().duration}isPlaying(){return this._playing}play(){return this._video.play(),this}pause(){return this._video.pause(),this}togglePlay(){return this._playing?this.pause():this.play()}isControlsVisible(){return this._options.controls??!0}setControlsVisible(e){return this._options.controls=e,this._controls.setVisible(e),this}isFullscreen(){return this._fullscreen}enterFullscreen(){let t=this.getElement();return t&&e.sink.requestFullscreen(t),this}exitFullscreen(){return e.sink.exitFullscreen(),this}toggleFullscreen(){return this._fullscreen?this.exitFullscreen():this.enterFullscreen()}on(e,t){return this._listeners.add(e,t),this}off(e,t){return this._listeners.remove(e,t),this}emit(e){this._listeners.fire(e)}init(t){super.init(t);let n=t??this.getElement();return n?(e.sink.addListener(n,`fullscreenchange`,this._onFullscreenChange),this.syncFromVideo(),this):this}destructor(){let t=this.getElement();t&&e.sink.removeListener(t,`fullscreenchange`,this._onFullscreenChange),super.destructor()}syncFromState(e){this._syncing=!0;try{this._scrubbing||(this._scrubber.setMax(e.duration||0),this._scrubber.setValue(e.currentTime)),this._timeText.setText(`${formatMediaTime(e.currentTime)} / ${formatMediaTime(e.duration)}`),this._playBtn.setGlyph(e.paused?`play`:`pause`),this._muteBtn.setGlyph(e.muted||e.volume===0?`volume-mute`:`volume-high`),this._volume.setValue(e.muted?0:e.volume)}finally{this._syncing=!1}}syncFromVideo(){this.syncFromState(this._video.getMediaState())}buildControlBar(){this._playBtn=this.makeControlButton(`play`,`Play`),this._muteBtn=this.makeControlButton(`volume-high`,`Mute`),this._fullscreenBtn=this.makeControlButton(`expand`,`Fullscreen`),this._scrubber=new v({min:0,max:0,value:0}),this._scrubber.getAria().setLabel(`Seek`),this._volume=new v({min:0,max:1,step:he,value:1}),this._volume.getAria().setLabel(`Volume`),this._volume.setPreferredSize({width:$,height:this._volume.getPreferredSize().height}),this._volume.setMaxSize({width:$,height:this._volume.getPreferredSize().height}),this._timeText=new u(`0:00 / 0:00`),this._timeText.centerInHeight(me);let e=new d;e.setComponentSpacing(ge),this._controls=new o,this._controls.setLayoutManager(e),this._controls.setBackgroundColor(`var(--ts-ui-body-bg, rgb(255, 255, 255))`),this._controls.addComponent(this._playBtn),this._controls.addComponent(this._scrubber,{weight:1}),this._controls.addComponent(this._timeText),this._controls.addComponent(this._muteBtn),this._controls.addComponent(this._volume),this._controls.addComponent(this._fullscreenBtn)}makeControlButton(e,t){let n=new m({glyph:e,text:t,showText:!1});return n.setPreferredSize({width:Q,height:Q}),n}wireControlListeners(){this._playBtn.on(`action`,this._onPlayButton),this._muteBtn.on(`action`,this._onMuteButton),this._fullscreenBtn.on(`action`,this._onFullscreenButton),this._scrubber.on(`action`,this._onScrub),this._volume.on(`change`,this._onVolumeChange)}wireVideoListeners(){this._video.on(`play`,this._onVideoPlay),this._video.on(`pause`,this._onVideoPause),this._video.on(`ended`,this._onVideoEnded),this._video.on(`timeupdate`,this._onVideoTimeUpdate),this._video.on(`durationchange`,this._onVideoSync),this._video.on(`loadedmetadata`,this._onVideoSync),this._video.on(`volumechange`,this._onVideoSync),this._video.on(`ratechange`,this._onVideoSync)}beginScrub(){this._syncing||(this._scrubbing=!0,this._video.setCurrentTime(this._scrubber.getValue()))}onVolumeSlider(e){this._syncing||(this._video.setVolume(e),this.syncFromVideo())}onVideoPlay(){this._playing=!0,this.syncFromVideo(),this.emit(`play`)}onVideoPause(){this._playing=!1,this.syncFromVideo(),this.emit(`pause`)}onVideoEnded(){this._playing=!1,this.syncFromVideo(),this.emit(`ended`)}onVideoTimeUpdate(){this.syncFromVideo(),this._scrubbing=!1}syncFullscreen(){let t=e.source.getFullscreenElement(),n=this.getElement();this._fullscreen=n!=null&&t===n,this._fullscreenBtn.setGlyph(this._fullscreen?`compress`:`expand`),this.doLayout()}getInnerSize(){if(this._fullscreen&&this.getElement()){let t=e.source.getViewportSize(),n=this.getPerimeterSize();return{width:t.width-n.left-n.right,height:t.height-n.top-n.bottom}}return super.getInnerSize()}},_e=i(VideoPlayer);export{ne as Canvas,l as Glyph,te as Header,ce as IconLabel,y as IconText,P as Image,oe as Markdown,ue as PaginationBar,le as ProgressBar,ee as ProgressSpinner,ProgressiveEngine,Z as Video,_e as VideoPlayer,ie as WebGLCanvas};
|
|
1
|
+
import{t as e}from"../DOM-67StIm5G.js";import{l as t,n}from"../Position-Ck_KD4cR.js";import{S as r,b as i,h as a,r as o,t as s}from"../Component-DHqrPwAw.js";import{t as c}from"../ListenerBag-WPdKuuds.js";import{t as l}from"../Glyph-CeAIWyPB.js";import{t as u}from"../Text-D5pg7taZ.js";import{r as d}from"../VBox-BNegDPs_.js";import{t as f}from"../Border-Bz29z-_7.js";import{t as ee}from"../ProgressSpinner-DCyq02pd.js";import{t as p}from"../Placement-7kqdaK4Z.js";import{t as te}from"../Header-mKaqgfat.js";import{t as m}from"../Button-bjpWruNc.js";import{angle_left as h}from"../glyphs/solid/angle_left.es.js";import{angle_right as g}from"../glyphs/solid/angle_right.es.js";import{n as _,t as v}from"../Slider-C-kQQYCj.js";import{t as y}from"../IconText-BqwXA82-.js";import{angles_left as b}from"../glyphs/solid/angles_left.es.js";import{angles_right as x}from"../glyphs/solid/angles_right.es.js";import{play as S}from"../glyphs/solid/play.es.js";import{pause as C}from"../glyphs/solid/pause.es.js";import{volume_high as w}from"../glyphs/solid/volume_high.es.js";import{volume_mute as T}from"../glyphs/solid/volume_mute.es.js";import{expand as E}from"../glyphs/solid/expand.es.js";import{compress as D}from"../glyphs/solid/compress.es.js";import{lexer as O}from"marked";var k={tag:`canvas`,maxFps:30},A=-1,Canvas=class extends s{_ctx=null;_rafId=null;_animationStartMs=null;_lastDrawMs=null;_elapsedMs=0;_animationRequested=!1;_syncedWidth=A;_syncedHeight=A;_syncedDpr=A;_dprToken=0;constructor(e,t){super(e,{...k,...t??{}}),this.clearInsets()}applyOptions(e){return super.applyOptions(e),e.onDraw!==void 0&&this.setOnDraw(e.onDraw),e.animateWhenHidden!==void 0&&this.setAnimateWhenHidden(e.animateWhenHidden),e.maxFps!==void 0&&this.setMaxFps(e.maxFps),this}getContext(){if(this._ctx)return this._ctx;let t=this.getElement();return t?(this._ctx=e.sink.getContext(t,`2d`),this._ctx):null}setOnDraw(e){return this._options.onDraw=e??void 0,this.redraw(),this}getOnDraw(){return this._options.onDraw??this._defaultOptions.onDraw??null}redraw(){let e=this.getContext();if(!e)return this;let t=this.getWidth(),n=this.getHeight();return e.clearRect(0,0,t,n),this.getOnDraw()?.(e,t,n,this._elapsedMs),this}startAnimation(){return this._animationRequested=!0,this._animationStartMs=null,this._lastDrawMs=null,this._elapsedMs=0,this.reconcileAnimation(),this}stopAnimation(){return this._animationRequested=!1,this.reconcileAnimation(),this}isAnimating(){return this._rafId!==null}setAnimateWhenHidden(e){return this._options.animateWhenHidden=e,this.reconcileAnimation(),this}setMaxFps(e){return this._options.maxFps=Math.max(0,e),this}getMaxFps(){return this._options.maxFps??this._defaultOptions.maxFps??0}getAnimateWhenHidden(){return this._options.animateWhenHidden??this._defaultOptions.animateWhenHidden??!1}syncBackingStore(){let t=this.getContext();if(!t)return;let n=this.getWidth(),r=this.getHeight(),i=e.source.getDevicePixelRatio();if(n===this._syncedWidth&&r===this._syncedHeight&&i===this._syncedDpr)return;let a=this.getElement();e.sink.apply(a,{setAttr:{width:String(Math.round(n*i)),height:String(Math.round(r*i))}}),t.setTransform(i,0,0,i,0,0),this._syncedWidth=n,this._syncedHeight=r,this._syncedDpr=i,this.redraw()}doLayout(){return super.doLayout(),this.syncBackingStore(),this}render(){let e=super.render();return this.watchDevicePixelRatio(),e}destructor(){this.stopAnimation(),super.destructor()}shouldAnimate(){return this._animationRequested&&(this.getAnimateWhenHidden()||this.isEffectivelyVisible())}reconcileAnimation(){this.shouldAnimate()?this._rafId===null&&(this._rafId=e.sink.requestAnimationFrame(this.animationStep)):this._rafId!=null&&(e.sink.cancelAnimationFrame(this._rafId),this._rafId=null)}animationStep=t=>{if(!this._animationRequested){this._rafId=null;return}this._animationStartMs===null&&(this._animationStartMs=t);let n=this.getMaxFps(),r=n>0?1e3/n:0;(this._lastDrawMs===null||t-this._lastDrawMs>=r)&&(this._lastDrawMs=t,this._elapsedMs=t-this._animationStartMs,this.redraw()),this._rafId=e.sink.requestAnimationFrame(this.animationStep)};onEffectiveVisibilityChange(e){super.onEffectiveVisibilityChange(e),this.reconcileAnimation()}watchDevicePixelRatio(){let t=++this._dprToken,n=e.source.getDevicePixelRatio();e.source.matchMedia(`(resolution: ${n}dppx)`).addChangeListener(()=>this.onDevicePixelRatioChange(t))}onDevicePixelRatioChange(e){e===this._dprToken&&this.getElement()&&(this.syncBackingStore(),this.watchDevicePixelRatio())}},ne=a(Canvas),re={tag:`canvas`,maxFps:30},j=-1,WebGLCanvas=class extends s{_gl=null;_rafId=null;_animationStartMs=null;_lastDrawMs=null;_elapsedMs=0;_animationRequested=!1;_contextLost=!1;_syncedWidth=j;_syncedHeight=j;_syncedDpr=j;_dprToken=0;constructor(e,t){super(e,{...re,...t??{}}),this._contextInitialised=!1,this.clearInsets()}applyOptions(e){return super.applyOptions(e),e.onContextInit!==void 0&&this.setOnContextInit(e.onContextInit),e.onFrame!==void 0&&this.setOnFrame(e.onFrame),e.animateWhenHidden!==void 0&&this.setAnimateWhenHidden(e.animateWhenHidden),e.maxFps!==void 0&&this.setMaxFps(e.maxFps),this}getContext(){if(this._gl)return this._gl;let t=this.getElement();return t?(this._gl=e.sink.getContext(t,`webgl2`),this._gl):null}setOnContextInit(e){return this._options.onContextInit=e??void 0,this._contextInitialised=!1,this}getOnContextInit(){return this._options.onContextInit??this._defaultOptions.onContextInit??null}setOnFrame(e){return this._options.onFrame=e??void 0,this}getOnFrame(){return this._options.onFrame??this._defaultOptions.onFrame??null}startAnimation(){return this._animationRequested=!0,this._animationStartMs=null,this._lastDrawMs=null,this._elapsedMs=0,this.reconcileAnimation(),this}stopAnimation(){return this._animationRequested=!1,this.reconcileAnimation(),this}isAnimating(){return this._rafId!==null}setAnimateWhenHidden(e){return this._options.animateWhenHidden=e,this.reconcileAnimation(),this}getAnimateWhenHidden(){return this._options.animateWhenHidden??this._defaultOptions.animateWhenHidden??!1}setMaxFps(e){return this._options.maxFps=Math.max(0,e),this}getMaxFps(){return this._options.maxFps??this._defaultOptions.maxFps??0}syncBackingStore(){let t=this.getContext();if(!t)return;let n=this.getWidth(),r=this.getHeight(),i=e.source.getDevicePixelRatio();if(n===this._syncedWidth&&r===this._syncedHeight&&i===this._syncedDpr)return;let a=Math.round(n*i),o=Math.round(r*i);e.sink.apply(this.getElement(),{setAttr:{width:String(a),height:String(o)}}),t.viewport(0,0,a,o),this._syncedWidth=n,this._syncedHeight=r,this._syncedDpr=i,this.renderFrame()}doLayout(){return super.doLayout(),this.syncBackingStore(),this}render(){let e=super.render();return r.addListener(this,`webglcontextlost`,e=>{e.preventDefault(),this._contextLost=!0}),r.addListener(this,`webglcontextrestored`,()=>{this._contextLost=!1,this._contextInitialised=!1,this.syncBackingStore()}),this.watchDevicePixelRatio(),this.onFirstLayout(()=>this.startAnimation()),e}destructor(){this.stopAnimation(),super.destructor()}shouldAnimate(){return this._animationRequested&&(this.getAnimateWhenHidden()||this.isEffectivelyVisible())}reconcileAnimation(){this.shouldAnimate()?this._rafId===null&&(this._rafId=e.sink.requestAnimationFrame(this.animationStep)):this._rafId!=null&&(e.sink.cancelAnimationFrame(this._rafId),this._rafId=null)}animationStep=t=>{if(!this._animationRequested){this._rafId=null;return}this._animationStartMs===null&&(this._animationStartMs=t);let n=this.getMaxFps(),r=n>0?1e3/n:0;(this._lastDrawMs===null||t-this._lastDrawMs>=r)&&(this._lastDrawMs=t,this._elapsedMs=t-this._animationStartMs,this.renderFrame()),this._rafId=e.sink.requestAnimationFrame(this.animationStep)};onEffectiveVisibilityChange(e){super.onEffectiveVisibilityChange(e),this.reconcileAnimation()}renderFrame(){let e=this.getContext();!e||this._contextLost||(this._contextInitialised||=(this.getOnContextInit()?.(e),!0),this.getOnFrame()?.(e,this.getWidth(),this.getHeight(),this._elapsedMs))}watchDevicePixelRatio(){let t=++this._dprToken,n=e.source.getDevicePixelRatio();e.source.matchMedia(`(resolution: ${n}dppx)`).addChangeListener(()=>this.onDevicePixelRatioChange(t))}onDevicePixelRatioChange(e){e===this._dprToken&&this.getElement()&&(this.syncBackingStore(),this.watchDevicePixelRatio())}},ie=a(WebGLCanvas),M=100,N={tag:`img`},Image=class extends s{_src;constructor(e,t,n){super(t,{...N,...n??{}}),this._src=e,this.clearInsets()}getElement(e=!1){return super.getElement(e)}getPreferredSize(){let t=this.getElement(),n=e.source.getNaturalSize(t);return{width:n.width,height:n.height}}getMinSize(){let t=super.getMinSize();if(this._options.minSize)return t;let n=this.getElement();if(!n||!e.source.getNaturalSize(n).width)return{width:20,height:20};let r=e.source.getNaturalSize(n);return{width:Math.min(r.width,M),height:Math.min(r.height,M)}}render(){let t=super.render();return e.sink.apply(t,{setAttr:{src:this._src.valueOf()}}),t}},P=a(Image),F=`ts-ui-md-code`,I=`ts-ui-md-pre`,L=`ts-ui-md-quote`,R=`ts-ui-md-list`,z=`ts-ui-md-link`,B=`ts-ui-md-heading`,V=`ts-ui-md-table-wrap`,H=`ts-ui-md-table`,U=`ts-ui-md-th`,W=`ts-ui-md-td`,G=`ts-ui-md-align-left`,K=`ts-ui-md-align-center`,q=`ts-ui-md-align-right`,ae=1,J=6,Y=!1;function ensureMarkdownClassRules(){Y||(Y=!0,new i({scope:`class`,name:F,styles:{fontFamily:`var(--ts-ui-font-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace)`,background:`rgba(127, 127, 127, 0.16)`,borderRadius:`var(--ts-ui-border-radius, 3px)`,padding:`0.1em 0.3em`}}),new i({scope:`class`,name:I,styles:{fontFamily:`var(--ts-ui-font-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace)`,background:`rgba(127, 127, 127, 0.16)`,borderRadius:`var(--ts-ui-border-radius, 3px)`,padding:`0.6em 0.8em`,whiteSpace:`pre`,overflow:`auto`}}),new i({scope:`class`,name:L,styles:{borderLeft:`3px solid var(--ts-ui-border-color, rgba(127, 127, 127, 0.4))`,paddingLeft:`1em`,marginLeft:`0`}}),new i({scope:`class`,name:R,styles:{paddingLeft:`1.5em`}}),new i({scope:`class`,name:z,styles:{color:`var(--ts-ui-indicator-focus, #2563eb)`}}),new i({scope:`class`,name:B,styles:{fontWeight:`600`}}),new i({scope:`class`,name:V,styles:{maxWidth:`100%`,overflowX:`auto`}}),new i({scope:`class`,name:H,styles:{borderCollapse:`collapse`}}),new i({scope:`class`,name:U,styles:{border:`1px solid var(--ts-ui-border-color, rgba(127, 127, 127, 0.4))`,padding:`0.3em 0.6em`,fontWeight:`600`,textAlign:`left`}}),new i({scope:`class`,name:W,styles:{border:`1px solid var(--ts-ui-border-color, rgba(127, 127, 127, 0.4))`,padding:`0.3em 0.6em`}}),new i({scope:`class`,name:G,styles:{textAlign:`left`}}),new i({scope:`class`,name:K,styles:{textAlign:`center`}}),new i({scope:`class`,name:q,styles:{textAlign:`right`}}))}function alignmentClass(e){switch(e){case`left`:return G;case`center`:return K;case`right`:return q;default:return null}}function slugify(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``)}function defaultLinkResolver(e){return{href:e,external:!0}}var Markdown=class extends s{_contentHandles=[];_measuredHeight=null;_unsubscribeTheme;constructor(e,t){super(t),e!==void 0&&this._options.markdown===void 0&&(this._options.markdown=e),this.setWhiteSpace(`normal`),this.setElementCSSRule(`overflowWrap`,`break-word`),this._unsubscribeTheme=o.onThemeChange(()=>this.measureContentHeight()),this.onFirstLayout(()=>this.measureContentHeight())}applyOptions(e){return super.applyOptions(e),e.markdown!==void 0&&(this._options.markdown=e.markdown),e.linkResolver!==void 0&&(this._options.linkResolver=e.linkResolver),this}getMarkdown(){return this._options.markdown??``}setLinkResolver(e){return this._options.linkResolver=e,this}getLinkResolver(){return this._options.linkResolver??defaultLinkResolver}setMarkdown(e){this._options.markdown=e;let t=this.getElement();return t?(this.clearContent(),ensureMarkdownClassRules(),this.appendBlockTokens(t,O(e),new Map),this.measureContentHeight(),this):this}getMinSize(){let e=super.getMinSize();return this._measuredHeight===null?e:e?{width:e.width,height:Math.max(e.height,this._measuredHeight)}:{width:0,height:this._measuredHeight}}getPreferredSize(){let e=super.getPreferredSize();return this._measuredHeight===null||this.getPreferredSizeConstraint()!==null?e:e?{width:e.width,height:this._measuredHeight}:{width:0,height:this._measuredHeight}}setWidth(e){let t=e!==this.getWidth();return super.setWidth(e),t&&this.measureContentHeight(),this}destructor(){this._unsubscribeTheme(),super.destructor()}measureContentHeight(){let t=this.getElement();if(!t)return;let n=this.getHeight();this.setElementStyle(`height`,`auto`),this.commitElementStyle();let r=this.getBorderSize(),i=e.source.getScrollMetrics(t).scrollHeight+r.top+r.bottom;this.setElementStyle(`height`,n+`px`),this.commitElementStyle(),i!==this._measuredHeight&&(this._measuredHeight=i,(this.getParentComponent()??this).scheduleLayout())}render(){let e=super.render();return ensureMarkdownClassRules(),this.appendBlockTokens(e,O(this.getMarkdown()),new Map),e}create(t){let n=e.sink.createElement(t);return this.trackHandle(n),this._contentHandles.push(n),n}clearContent(){for(let t of this._contentHandles)e.sink.removeElement(t),this.untrackHandle(t),e.sink.release(t);this._contentHandles.length=0}appendBlockTokens(e,t,n){for(let r of t)this.appendBlockToken(e,r,n)}appendBlockToken(e,t,n){switch(t.type){case`heading`:this.appendHeading(e,t,n);break;case`paragraph`:this.appendParagraph(e,t);break;case`list`:this.appendList(e,t,n);break;case`blockquote`:this.appendBlockquote(e,t,n);break;case`code`:this.appendCode(e,t);break;case`table`:this.appendTable(e,t);break;case`space`:break;default:this.appendTextNode(e,t.raw??``);break}}appendHeading(t,n,r){let i=Math.min(Math.max(n.depth,ae),J),a=this.create(`h`+i),o=slugify(n.text),s=r.get(o)??0;r.set(o,s+1);let c=s===0?o:`${o}-${s}`;e.sink.apply(a,{addClass:[B],setAttr:{id:c}}),this.appendInlineTokens(a,n.tokens),e.sink.appendChild(t,a)}appendParagraph(t,n){let r=this.create(`p`);this.appendInlineTokens(r,n.tokens),e.sink.appendChild(t,r)}appendList(t,n,r){let i=this.create(n.ordered?`ol`:`ul`);e.sink.apply(i,{addClass:[R]});for(let e of n.items)this.appendListItem(i,e,r);e.sink.appendChild(t,i)}appendListItem(t,n,r){let i=this.create(`li`);for(let e of n.tokens)if(e.type===`text`){let t=e;t.tokens&&t.tokens.length>0?this.appendInlineTokens(i,t.tokens):this.appendInlineToken(i,t,n.tokens.length===1)}else this.appendBlockToken(i,e,r);e.sink.appendChild(t,i)}appendTable(t,n){let r=this.create(`div`);e.sink.apply(r,{addClass:[V]});let i=this.create(`table`);e.sink.apply(i,{addClass:[H]});let a=this.create(`thead`);this.appendTableRow(a,n.header,!0),e.sink.appendChild(i,a);let o=this.create(`tbody`);for(let e of n.rows)this.appendTableRow(o,e,!1);e.sink.appendChild(i,o),e.sink.appendChild(r,i),e.sink.appendChild(t,r)}appendTableRow(t,n,r){let i=this.create(`tr`);for(let t of n){let n=this.create(r?`th`:`td`),a=[r?U:W],o=alignmentClass(t.align);o&&a.push(o),e.sink.apply(n,{addClass:a}),this.appendInlineTokens(n,t.tokens),e.sink.appendChild(i,n)}e.sink.appendChild(t,i)}appendBlockquote(t,n,r){let i=this.create(`blockquote`);e.sink.apply(i,{addClass:[L]}),this.appendBlockTokens(i,n.tokens,r),e.sink.appendChild(t,i)}appendCode(t,n){let r=this.create(`pre`);e.sink.apply(r,{addClass:[I]});let i=this.create(`code`);e.sink.apply(i,{text:n.text}),e.sink.appendChild(r,i),e.sink.appendChild(t,r)}appendInlineTokens(e,t){let n=t.length===1;for(let r of t)this.appendInlineToken(e,r,n)}appendInlineToken(t,n,r){switch(n.type){case`text`:{let i=n;i.tokens&&i.tokens.length>0?this.appendInlineTokens(t,i.tokens):r?e.sink.apply(t,{text:i.text}):this.appendTextNode(t,i.text);break}case`strong`:this.appendInlineWrapper(t,`strong`,n.tokens);break;case`em`:this.appendInlineWrapper(t,`em`,n.tokens);break;case`codespan`:{let r=this.create(`code`);e.sink.apply(r,{addClass:[F],text:n.text}),e.sink.appendChild(t,r);break}case`link`:this.appendLink(t,n);break;default:this.appendTextNode(t,n.text??n.raw??``);break}}appendInlineWrapper(t,n,r){let i=this.create(n);this.appendInlineTokens(i,r),e.sink.appendChild(t,i)}appendLink(t,n){let r=this.create(`a`),i=this.getLinkResolver()(n.href),a={href:i.href};i.external&&(a.target=`_blank`,a.rel=`noopener noreferrer`),e.sink.apply(r,{addClass:[z],setAttr:a}),this.appendInlineTokens(r,n.tokens),e.sink.appendChild(t,r)}appendTextNode(t,n){let r=this.create(`span`);e.sink.apply(r,{text:n}),e.sink.appendChild(t,r)}},oe=a(Markdown),se={gap:2,insets:new n(0,0,0,0)},IconLabel=class extends s{_glyph;_label;constructor(e,t,n,r,i){super(r,{...se,...i??{}}),this.setLayoutManager(new d({spacing:this.getGap()}));let a=this._options.glyph??e,o=this._options.text??t,s=this._options.forId??n;this._glyph=new l(a),this._label=new _(o,s),this.addComponent(this._glyph),this.addComponent(this._label),this._options.gap!==void 0&&this.getLayoutManager().setComponentSpacing(this._options.gap)}applyOptions(e){return super.applyOptions(e),e.gap!==void 0&&(this._options.gap=e.gap),e.glyph!==void 0&&(this._options.glyph=e.glyph),e.text!==void 0&&(this._options.text=e.text),e.forId!==void 0&&(this._options.forId=e.forId),this}setGlyph(e){return this.removeComponent(this._glyph),this._glyph=new l(e),this.insertComponent(this._glyph,0),this}setText(e){return this._label.setText(e),this}setForId(e){return this._label.setForId(e),this}setGap(e){return this._options.gap=e,this.getLayoutManager().setComponentSpacing(e),this}getGap(){return this._options.gap??this._defaultOptions.gap}getGlyphComponent(){return this._glyph}getLabelComponent(){return this._label}},ce=a(IconLabel);i.ensureKeyframes(`ts-ui-progress-indeterminate`,`0% { transform: translateX(-100%); } 100% { transform: translateX(400%); }`);var ProgressBar=class extends s{_track;_fill;_value;_indeterminate;constructor(e=0,n=!1,r){super(),this._value=t.clamp(e,0,100),this._indeterminate=n,this.setBackgroundColor(`var(--ts-ui-progress-track-bg, rgb(220, 220, 220))`),this.setBorderRadius(`var(--ts-ui-progress-track-radius, 4px)`),this._track=new s,this._track.setOverflow(`hidden`),this._track.setBorderRadius(`var(--ts-ui-progress-track-radius, 4px)`),this._fill=new s,this._fill.setBackgroundColor(`var(--ts-ui-progress-fill-bg, rgb(30, 100, 200))`),this._track.addComponent(this._fill),super.addComponent(this._track),this.getAria().setRole(`progressbar`),this.getAria().setValueMin(0),this.getAria().setValueMax(100),this.getAria().setValueNow(this._value),this._indeterminate&&this.applyIndeterminate(!0),r&&this.applyOptions(r)}applyOptions(e){return super.applyOptions(e),e.indeterminate!==void 0&&this.setIndeterminate(e.indeterminate),e.value!==void 0&&this.setValue(e.value),this}getBaseline(){let e=this.getPreferredSize();return e?e.height-2:null}getValue(){return this._indeterminate?0:this._value}setValue(e){let n=t.clamp(e,0,100);return n===this._value?this:(this._value=n,this.getAria().setValueNow(n),this._indeterminate||this.scheduleLayout(),this)}isIndeterminate(){return this._indeterminate}setIndeterminate(e){return this._indeterminate===e?this:(this._indeterminate=e,this.applyIndeterminate(e),this.flushLayout(),this)}doLayout(){let e=this.getContentBounds();if(!e)return super.doLayout(),this;if(this._track.setX(e.x),this._track.setY(e.y),this._track.setSize({width:e.width,height:e.height}),this._indeterminate){let t=Math.max(20,Math.round(e.width*.25));this._fill.setX(0),this._fill.setY(0),this._fill.setSize({width:t,height:e.height})}else{let t=Math.round(e.width*this._value/100);this._fill.setX(0),this._fill.setY(0),this._fill.setSize({width:t,height:e.height})}return super.doLayout(),this}applyIndeterminate(e){e?(this._fill.setBackgroundColor(`var(--ts-ui-progress-indeterminate-bg, rgb(30, 100, 200))`),this._fill.setAnimation(`ts-ui-progress-indeterminate 1.4s ease-in-out infinite`)):(this._fill.setBackgroundColor(`var(--ts-ui-progress-fill-bg, rgb(30, 100, 200))`),this._fill.clearAnimation())}},le=a(ProgressBar);l.register(b,h,g,x);var PaginationBar=class extends s{_store;_firstBtn;_prevBtn;_nextBtn;_lastBtn;_pageText;_onStoreUpdate=()=>this.refresh();constructor(e,t){super(),this._store=e;let n=new d;n.setComponentSpacing(4),this.setLayoutManager(n),this._firstBtn=new m({glyph:`angles-left`}),this._prevBtn=new m({glyph:`angle-left`}),this._pageText=new u(`Page x of y`),this._nextBtn=new m({glyph:`angle-right`}),this._lastBtn=new m({glyph:`angles-right`}),this._firstBtn.setPreferredSize({width:28,height:28}),this._prevBtn.setPreferredSize({width:28,height:28}),this._nextBtn.setPreferredSize({width:28,height:28}),this._lastBtn.setPreferredSize({width:28,height:28}),this._pageText.centerInHeight(28),this._firstBtn.on(`action`,()=>{this._store.goToPage(1)}),this._prevBtn.on(`action`,()=>this._store.prevPage()),this._nextBtn.on(`action`,()=>this._store.nextPage()),this._lastBtn.on(`action`,()=>{let e=this._store.getTotalPages();this._store.goToPage(e??this._store.getPage())}),this.addComponent(this._firstBtn),this.addComponent(this._prevBtn),this.addComponent(this._pageText),this.addComponent(this._nextBtn),this.addComponent(this._lastBtn),this._store.on(`pagechange`,this._onStoreUpdate),this._store.on(`load`,this._onStoreUpdate),this._store.on(`datachange`,this._onStoreUpdate),this._store.on(`add`,this._onStoreUpdate),this._store.on(`remove`,this._onStoreUpdate),this._store.on(`sync`,this._onStoreUpdate),this.refresh(),t&&this.applyOptions(t)}applyOptions(e){return super.applyOptions(e),e.pageSize!==void 0&&this._store.setPageSize(e.pageSize),e.pageIndex!==void 0&&this._store.goToPage(e.pageIndex),this}destructor(){this._store.off(`pagechange`,this._onStoreUpdate),this._store.off(`load`,this._onStoreUpdate),this._store.off(`datachange`,this._onStoreUpdate),this._store.off(`add`,this._onStoreUpdate),this._store.off(`remove`,this._onStoreUpdate),this._store.off(`sync`,this._onStoreUpdate),super.destructor()}refresh(){let e=this._store.getPage(),t=this._store.getTotalPages(),n=this._store.hasPendingChanges(),r=t==null?`Page ${e}`:`Page ${e} of ${t}`;this._pageText.setText(r),this._firstBtn.setEnabled(!n&&e>1),this._prevBtn.setEnabled(!n&&e>1),this._nextBtn.setEnabled(!n&&(t==null||e<t)),this._lastBtn.setEnabled(!n&&t!=null&&e<t)}},ue=a(PaginationBar),de=[`timeupdate`,`play`,`pause`,`ended`,`loadedmetadata`,`durationchange`,`volumechange`,`ratechange`],fe=1,pe=1,X={tag:`video`},Video=class extends s{_listeners=new c;_mediaHandlers=new Map;constructor(e,t){super(e,{...X,...t??{}}),this.clearInsets(),this.getAria().setLabel(`Video`),this.buildMediaHandlers(),this.applyListeners(e?.listeners)}applyOptions(e){return super.applyOptions(e),e.src!==void 0&&this.setSrc(e.src),e.poster!==void 0&&this.setPoster(e.poster),e.autoplay!==void 0&&this.setAutoplay(e.autoplay),e.loop!==void 0&&this.setLoop(e.loop),e.preload!==void 0&&this.setPreload(e.preload),e.muted!==void 0&&this.setMuted(e.muted),e.volume!==void 0&&this.setVolume(e.volume),e.playbackRate!==void 0&&this.setPlaybackRate(e.playbackRate),this}getSrc(){return this._options.src??null}setSrc(e){return this._options.src=e,this.setElementAttribute(`src`,e),this}getPoster(){return this._options.poster??null}setPoster(e){return this._options.poster=e,this.setElementAttribute(`poster`,e),this}isAutoplay(){return this._options.autoplay??!1}setAutoplay(e){return this._options.autoplay=e,this.setElementAttribute(`autoplay`,e?``:null),this}isLoop(){return this._options.loop??!1}setLoop(e){return this._options.loop=e,this.setElementAttribute(`loop`,e?``:null),this}isMuted(){return this._options.muted??!1}setMuted(t){this._options.muted=t,this.setElementAttribute(`muted`,t?``:null);let n=this.getElement();return n&&e.sink.setMuted(n,t),this}getPreload(){return this._options.preload??null}setPreload(e){return this._options.preload=e,this.setElementAttribute(`preload`,e),this}getVolume(){return this._options.volume??fe}setVolume(t){let n=Math.max(0,Math.min(1,t));this._options.volume=n;let r=this.getElement();return r&&e.sink.setVolume(r,n),this}getPlaybackRate(){return this._options.playbackRate??pe}setPlaybackRate(t){this._options.playbackRate=t;let n=this.getElement();return n&&e.sink.setPlaybackRate(n,t),this}setCurrentTime(t){let n=this.getElement();return n&&e.sink.setCurrentTime(n,t),this}play(){let t=this.getElement();return t&&e.sink.mediaPlay(t),this}pause(){let t=this.getElement();return t&&e.sink.mediaPause(t),this}getMediaState(){let t=this.getElement();return t?e.source.getMediaState(t):{currentTime:0,duration:0,paused:!0,ended:!1,volume:this.getVolume(),muted:this.isMuted(),playbackRate:this.getPlaybackRate()}}on(e,t){return this._listeners.add(e,t),this}off(e,t){return this._listeners.remove(e,t),this}emit(e){this._listeners.fire(e)}init(e){super.init(e);let t=e??this.getElement();return t?(this.replayMediaOptions(t),this.attachMediaListeners(t),this):this}destructor(){let t=this.getElement();if(t)for(let[n,r]of this._mediaHandlers)e.sink.removeListener(t,n,r);super.destructor()}buildMediaHandlers(){for(let e of de)this._mediaHandlers.set(e,()=>this.emit(e))}replayMediaOptions(t){let n=this._options,r={};n.src!==void 0&&(r.src=n.src),n.poster!==void 0&&(r.poster=n.poster),n.preload!==void 0&&(r.preload=n.preload),n.autoplay&&(r.autoplay=``),n.loop&&(r.loop=``),n.muted&&(r.muted=``),Object.keys(r).length>0&&e.sink.apply(t,{setAttr:r}),n.muted!==void 0&&e.sink.setMuted(t,n.muted),n.volume!==void 0&&e.sink.setVolume(t,n.volume),n.playbackRate!==void 0&&e.sink.setPlaybackRate(t,n.playbackRate)}attachMediaListeners(t){for(let[n,r]of this._mediaHandlers)e.sink.addListener(t,n,r)}},Z=a(Video),ProgressiveEngine=class{load(e,t){e.setSrc(t)}destroy(){}};l.register(S,C,w,T,E,D);var Q=28,$=80,me=28,he=.05,ge=6;function formatMediaTime(e){if(!Number.isFinite(e)||e<0)return`0:00`;let t=Math.floor(e),n=t%60,r=Math.floor(t/60)%60,i=Math.floor(t/3600),a=String(n).padStart(2,`0`);return i>=1?`${i}:${String(r).padStart(2,`0`)}:${a}`:`${r}:${a}`}var VideoPlayer=class extends s{_video;_controls;_playBtn;_scrubber;_timeText;_muteBtn;_volume;_fullscreenBtn;_engine=new ProgressiveEngine;_playing=!1;_fullscreen=!1;_scrubbing=!1;_syncing=!1;_listeners=new c;_onPlayButton=()=>this.togglePlay();_onMuteButton=()=>this.setMuted(!this.isMuted());_onFullscreenButton=()=>this.toggleFullscreen();_onScrub=()=>this.beginScrub();_onVolumeChange=e=>this.onVolumeSlider(e);_onVideoPlay=()=>this.onVideoPlay();_onVideoPause=()=>this.onVideoPause();_onVideoEnded=()=>this.onVideoEnded();_onVideoTimeUpdate=()=>this.onVideoTimeUpdate();_onVideoSync=()=>this.syncFromVideo();_onFullscreenChange=()=>this.syncFullscreen();constructor(e){super(),this.setLayoutManager(new f),this.getAria().setRole(`region`),this.getAria().setLabel(`Video player`),this._video=new Z,this.buildControlBar(),this.wireControlListeners(),this.wireVideoListeners(),this.addComponent(this._video,{placement:p.CENTER}),this.addComponent(this._controls,{placement:p.SOUTH}),this.syncFromState(this._video.getMediaState()),e&&this.applyOptions(e),this.applyListeners(e?.listeners)}applyOptions(e){return super.applyOptions(e),e.engine!==void 0&&(this._engine=e.engine),e.src!==void 0&&this.setSrc(e.src),e.poster!==void 0&&this._video.setPoster(e.poster),e.autoplay!==void 0&&this._video.setAutoplay(e.autoplay),e.loop!==void 0&&this._video.setLoop(e.loop),e.muted!==void 0&&this._video.setMuted(e.muted),e.volume!==void 0&&this._video.setVolume(e.volume),e.playbackRate!==void 0&&this._video.setPlaybackRate(e.playbackRate),e.controls!==void 0&&this.setControlsVisible(e.controls),this}getSrc(){return this._video.getSrc()}setSrc(e){return this._engine.destroy(),this._engine.load(this._video,e),this}getVolume(){return this._video.getVolume()}setVolume(e){return this._video.setVolume(e),this.syncFromVideo(),this}isMuted(){return this._video.isMuted()}setMuted(e){return this._video.setMuted(e),this.syncFromVideo(),this}getPlaybackRate(){return this._video.getPlaybackRate()}setPlaybackRate(e){return this._video.setPlaybackRate(e),this}setCurrentTime(e){return this._video.setCurrentTime(e),this}getCurrentTime(){return this._video.getMediaState().currentTime}getDuration(){return this._video.getMediaState().duration}isPlaying(){return this._playing}play(){return this._video.play(),this}pause(){return this._video.pause(),this}togglePlay(){return this._playing?this.pause():this.play()}isControlsVisible(){return this._options.controls??!0}setControlsVisible(e){return this._options.controls=e,this._controls.setVisible(e),this}isFullscreen(){return this._fullscreen}enterFullscreen(){let t=this.getElement();return t&&e.sink.requestFullscreen(t),this}exitFullscreen(){return e.sink.exitFullscreen(),this}toggleFullscreen(){return this._fullscreen?this.exitFullscreen():this.enterFullscreen()}on(e,t){return this._listeners.add(e,t),this}off(e,t){return this._listeners.remove(e,t),this}emit(e){this._listeners.fire(e)}init(t){super.init(t);let n=t??this.getElement();return n?(e.sink.addListener(n,`fullscreenchange`,this._onFullscreenChange),this.syncFromVideo(),this):this}destructor(){let t=this.getElement();t&&e.sink.removeListener(t,`fullscreenchange`,this._onFullscreenChange),super.destructor()}syncFromState(e){this._syncing=!0;try{this._scrubbing||(this._scrubber.setMax(e.duration||0),this._scrubber.setValue(e.currentTime)),this._timeText.setText(`${formatMediaTime(e.currentTime)} / ${formatMediaTime(e.duration)}`),this._playBtn.setGlyph(e.paused?`play`:`pause`),this._muteBtn.setGlyph(e.muted||e.volume===0?`volume-mute`:`volume-high`),this._volume.setValue(e.muted?0:e.volume)}finally{this._syncing=!1}}syncFromVideo(){this.syncFromState(this._video.getMediaState())}buildControlBar(){this._playBtn=this.makeControlButton(`play`,`Play`),this._muteBtn=this.makeControlButton(`volume-high`,`Mute`),this._fullscreenBtn=this.makeControlButton(`expand`,`Fullscreen`),this._scrubber=new v({min:0,max:0,value:0}),this._scrubber.getAria().setLabel(`Seek`),this._volume=new v({min:0,max:1,step:he,value:1}),this._volume.getAria().setLabel(`Volume`),this._volume.setPreferredSize({width:$,height:this._volume.getPreferredSize().height}),this._volume.setMaxSize({width:$,height:this._volume.getPreferredSize().height}),this._timeText=new u(`0:00 / 0:00`),this._timeText.centerInHeight(me);let e=new d;e.setComponentSpacing(ge),this._controls=new s,this._controls.setLayoutManager(e),this._controls.setBackgroundColor(`var(--ts-ui-body-bg, rgb(255, 255, 255))`),this._controls.addComponent(this._playBtn),this._controls.addComponent(this._scrubber,{weight:1}),this._controls.addComponent(this._timeText),this._controls.addComponent(this._muteBtn),this._controls.addComponent(this._volume),this._controls.addComponent(this._fullscreenBtn)}makeControlButton(e,t){let n=new m({glyph:e,text:t,showText:!1});return n.setPreferredSize({width:Q,height:Q}),n}wireControlListeners(){this._playBtn.on(`action`,this._onPlayButton),this._muteBtn.on(`action`,this._onMuteButton),this._fullscreenBtn.on(`action`,this._onFullscreenButton),this._scrubber.on(`action`,this._onScrub),this._volume.on(`change`,this._onVolumeChange)}wireVideoListeners(){this._video.on(`play`,this._onVideoPlay),this._video.on(`pause`,this._onVideoPause),this._video.on(`ended`,this._onVideoEnded),this._video.on(`timeupdate`,this._onVideoTimeUpdate),this._video.on(`durationchange`,this._onVideoSync),this._video.on(`loadedmetadata`,this._onVideoSync),this._video.on(`volumechange`,this._onVideoSync),this._video.on(`ratechange`,this._onVideoSync)}beginScrub(){this._syncing||(this._scrubbing=!0,this._video.setCurrentTime(this._scrubber.getValue()))}onVolumeSlider(e){this._syncing||(this._video.setVolume(e),this.syncFromVideo())}onVideoPlay(){this._playing=!0,this.syncFromVideo(),this.emit(`play`)}onVideoPause(){this._playing=!1,this.syncFromVideo(),this.emit(`pause`)}onVideoEnded(){this._playing=!1,this.syncFromVideo(),this.emit(`ended`)}onVideoTimeUpdate(){this.syncFromVideo(),this._scrubbing=!1}syncFullscreen(){let t=e.source.getFullscreenElement(),n=this.getElement();this._fullscreen=n!=null&&t===n,this._fullscreenBtn.setGlyph(this._fullscreen?`compress`:`expand`),this.doLayout()}getInnerSize(){if(this._fullscreen&&this.getElement()){let t=e.source.getViewportSize(),n=this.getPerimeterSize();return{width:t.width-n.left-n.right,height:t.height-n.top-n.bottom}}return super.getInnerSize()}},_e=a(VideoPlayer);export{ne as Canvas,l as Glyph,te as Header,ce as IconLabel,y as IconText,P as Image,oe as Markdown,ue as PaginationBar,le as ProgressBar,ee as ProgressSpinner,ProgressiveEngine,Z as Video,_e as VideoPlayer,ie as WebGLCanvas};
|
|
2
2
|
//# sourceMappingURL=display.es.js.map
|