@tomorrowevening/theatre-studio 1.0.5 → 1.0.6

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 (274) hide show
  1. package/dist/index.js +105 -56
  2. package/package.json +1 -1
  3. package/dist/IDBStorage.js +0 -19
  4. package/dist/PaneManager.js +0 -112
  5. package/dist/Scrub.js +0 -134
  6. package/dist/Studio.js +0 -405
  7. package/dist/StudioBundle.js +0 -21
  8. package/dist/StudioStore/StudioStore.js +0 -163
  9. package/dist/StudioStore/createTransactionPrivateApi.js +0 -204
  10. package/dist/StudioStore/generateDiskStateRevision.js +0 -4
  11. package/dist/StudioStore/persistStateOfStudio.js +0 -61
  12. package/dist/TheatreStudio.js +0 -154
  13. package/dist/UI/UI.js +0 -65
  14. package/dist/UI/UINonSSRBits.js +0 -60
  15. package/dist/UIRoot/PanelsRoot.js +0 -19
  16. package/dist/UIRoot/PointerCapturing.js +0 -96
  17. package/dist/UIRoot/ProvideTheme.js +0 -9
  18. package/dist/UIRoot/UIRoot.js +0 -79
  19. package/dist/UIRoot/useKeyboardShortcuts.js +0 -158
  20. package/dist/checkForUpdates.js +0 -86
  21. package/dist/css.js +0 -116
  22. package/dist/getStudio.js +0 -10
  23. package/dist/notify.js +0 -328
  24. package/dist/panels/BasePanel/BasePanel.js +0 -74
  25. package/dist/panels/BasePanel/ExtensionPaneWrapper.js +0 -138
  26. package/dist/panels/BasePanel/PanelDragZone.js +0 -88
  27. package/dist/panels/BasePanel/PanelResizeHandle.js +0 -184
  28. package/dist/panels/BasePanel/PanelResizers.js +0 -14
  29. package/dist/panels/BasePanel/PanelWrapper.js +0 -34
  30. package/dist/panels/BasePanel/common.js +0 -52
  31. package/dist/panels/DetailPanel/DetailPanel.js +0 -146
  32. package/dist/panels/DetailPanel/DeterminePropEditorForDetail/DetailCompoundPropEditor.js +0 -169
  33. package/dist/panels/DetailPanel/DeterminePropEditorForDetail/DetailSimplePropEditor.js +0 -22
  34. package/dist/panels/DetailPanel/DeterminePropEditorForDetail/SingleRowPropEditor.js +0 -89
  35. package/dist/panels/DetailPanel/DeterminePropEditorForDetail/getDetailRowHighlightBackground.js +0 -7
  36. package/dist/panels/DetailPanel/DeterminePropEditorForDetail/rowIndentationFormulaCSS.js +0 -1
  37. package/dist/panels/DetailPanel/DeterminePropEditorForDetail.js +0 -28
  38. package/dist/panels/DetailPanel/EmptyState.js +0 -36
  39. package/dist/panels/DetailPanel/ObjectDetails.js +0 -52
  40. package/dist/panels/DetailPanel/ProjectDetails/StateConflictRow.js +0 -86
  41. package/dist/panels/DetailPanel/ProjectDetails.js +0 -98
  42. package/dist/panels/OutlinePanel/BaseItem.js +0 -136
  43. package/dist/panels/OutlinePanel/ObjectsList/ObjectItem.js +0 -14
  44. package/dist/panels/OutlinePanel/ObjectsList/ObjectsList.js +0 -85
  45. package/dist/panels/OutlinePanel/OutlinePanel.js +0 -73
  46. package/dist/panels/OutlinePanel/ProjectsList/ProjectListItem.js +0 -38
  47. package/dist/panels/OutlinePanel/ProjectsList/ProjectsList.js +0 -22
  48. package/dist/panels/OutlinePanel/SheetsList/SheetInstanceItem.js +0 -36
  49. package/dist/panels/OutlinePanel/SheetsList/SheetItem.js +0 -23
  50. package/dist/panels/OutlinePanel/SheetsList/SheetsList.js +0 -15
  51. package/dist/panels/OutlinePanel/outlinePanelUtils.js +0 -23
  52. package/dist/panels/SequenceEditorPanel/DopeSheet/DopeSheet.js +0 -21
  53. package/dist/panels/SequenceEditorPanel/DopeSheet/Left/AnyCompositeRow.js +0 -74
  54. package/dist/panels/SequenceEditorPanel/DopeSheet/Left/Left.js +0 -25
  55. package/dist/panels/SequenceEditorPanel/DopeSheet/Left/PrimitivePropRow.js +0 -97
  56. package/dist/panels/SequenceEditorPanel/DopeSheet/Left/PropWithChildrenRow.js +0 -15
  57. package/dist/panels/SequenceEditorPanel/DopeSheet/Left/SheetObjectRow.js +0 -19
  58. package/dist/panels/SequenceEditorPanel/DopeSheet/Left/SheetRow.js +0 -20
  59. package/dist/panels/SequenceEditorPanel/DopeSheet/Left/usePropHighlightMouseEnter.js +0 -33
  60. package/dist/panels/SequenceEditorPanel/DopeSheet/Right/AggregatedKeyframeTrack/AggregateKeyframeEditor/AggregateKeyframeConnector.js +0 -187
  61. package/dist/panels/SequenceEditorPanel/DopeSheet/Right/AggregatedKeyframeTrack/AggregateKeyframeEditor/AggregateKeyframeDot.js +0 -158
  62. package/dist/panels/SequenceEditorPanel/DopeSheet/Right/AggregatedKeyframeTrack/AggregateKeyframeEditor/AggregateKeyframeEditor.js +0 -32
  63. package/dist/panels/SequenceEditorPanel/DopeSheet/Right/AggregatedKeyframeTrack/AggregateKeyframeEditor/AggregateKeyframeVisualDot.js +0 -61
  64. package/dist/panels/SequenceEditorPanel/DopeSheet/Right/AggregatedKeyframeTrack/AggregateKeyframeEditor/iif.js +0 -3
  65. package/dist/panels/SequenceEditorPanel/DopeSheet/Right/AggregatedKeyframeTrack/AggregateKeyframeEditor/useAggregateKeyframeEditorUtils.js +0 -73
  66. package/dist/panels/SequenceEditorPanel/DopeSheet/Right/AggregatedKeyframeTrack/AggregatedKeyframeTrack.js +0 -407
  67. package/dist/panels/SequenceEditorPanel/DopeSheet/Right/BasicKeyframedTrack/BasicKeyframedTrack.js +0 -108
  68. package/dist/panels/SequenceEditorPanel/DopeSheet/Right/BasicKeyframedTrack/KeyframeEditor/BasicKeyframeConnector.js +0 -185
  69. package/dist/panels/SequenceEditorPanel/DopeSheet/Right/BasicKeyframedTrack/KeyframeEditor/CurveEditorPopover/CurveEditorPopover.js +0 -397
  70. package/dist/panels/SequenceEditorPanel/DopeSheet/Right/BasicKeyframedTrack/KeyframeEditor/CurveEditorPopover/CurveSegmentEditor.js +0 -136
  71. package/dist/panels/SequenceEditorPanel/DopeSheet/Right/BasicKeyframedTrack/KeyframeEditor/CurveEditorPopover/EasingOption.js +0 -52
  72. package/dist/panels/SequenceEditorPanel/DopeSheet/Right/BasicKeyframedTrack/KeyframeEditor/CurveEditorPopover/SVGCurveSegment.js +0 -43
  73. package/dist/panels/SequenceEditorPanel/DopeSheet/Right/BasicKeyframedTrack/KeyframeEditor/CurveEditorPopover/colors.js +0 -3
  74. package/dist/panels/SequenceEditorPanel/DopeSheet/Right/BasicKeyframedTrack/KeyframeEditor/CurveEditorPopover/shared.js +0 -84
  75. package/dist/panels/SequenceEditorPanel/DopeSheet/Right/BasicKeyframedTrack/KeyframeEditor/CurveEditorPopover/useFreezableMemo.js +0 -16
  76. package/dist/panels/SequenceEditorPanel/DopeSheet/Right/BasicKeyframedTrack/KeyframeEditor/CurveEditorPopover/useUIOptionGrid.js +0 -82
  77. package/dist/panels/SequenceEditorPanel/DopeSheet/Right/BasicKeyframedTrack/KeyframeEditor/DeterminePropEditorForSingleKeyframe.js +0 -93
  78. package/dist/panels/SequenceEditorPanel/DopeSheet/Right/BasicKeyframedTrack/KeyframeEditor/SingleKeyframeDot.js +0 -254
  79. package/dist/panels/SequenceEditorPanel/DopeSheet/Right/BasicKeyframedTrack/KeyframeEditor/SingleKeyframeEditor.js +0 -22
  80. package/dist/panels/SequenceEditorPanel/DopeSheet/Right/BasicKeyframedTrack/KeyframeEditor/useSingleKeyframeInlineEditorPopover.js +0 -11
  81. package/dist/panels/SequenceEditorPanel/DopeSheet/Right/BasicKeyframedTrack/KeyframeEditor/useTempTransactionEditingTools.js +0 -43
  82. package/dist/panels/SequenceEditorPanel/DopeSheet/Right/DopeSheetBackground.js +0 -24
  83. package/dist/panels/SequenceEditorPanel/DopeSheet/Right/DopeSheetSelectionView.js +0 -272
  84. package/dist/panels/SequenceEditorPanel/DopeSheet/Right/FocusRangeCurtains.js +0 -88
  85. package/dist/panels/SequenceEditorPanel/DopeSheet/Right/HorizontallyScrollableArea.js +0 -215
  86. package/dist/panels/SequenceEditorPanel/DopeSheet/Right/KeyframeSnapTarget.js +0 -55
  87. package/dist/panels/SequenceEditorPanel/DopeSheet/Right/LengthIndicator/LengthEditorPopover.js +0 -69
  88. package/dist/panels/SequenceEditorPanel/DopeSheet/Right/LengthIndicator/LengthIndicator.js +0 -217
  89. package/dist/panels/SequenceEditorPanel/DopeSheet/Right/PrimitivePropRow.js +0 -25
  90. package/dist/panels/SequenceEditorPanel/DopeSheet/Right/PropWithChildrenRow.js +0 -18
  91. package/dist/panels/SequenceEditorPanel/DopeSheet/Right/Right.js +0 -30
  92. package/dist/panels/SequenceEditorPanel/DopeSheet/Right/Row.js +0 -50
  93. package/dist/panels/SequenceEditorPanel/DopeSheet/Right/SheetObjectRow.js +0 -14
  94. package/dist/panels/SequenceEditorPanel/DopeSheet/Right/SheetRow.js +0 -14
  95. package/dist/panels/SequenceEditorPanel/DopeSheet/Right/collectAggregateKeyframes.js +0 -92
  96. package/dist/panels/SequenceEditorPanel/DopeSheet/Right/keyframeRowUI/ConnectorLine.js +0 -62
  97. package/dist/panels/SequenceEditorPanel/DopeSheet/selections.js +0 -149
  98. package/dist/panels/SequenceEditorPanel/DopeSheet/setCollapsedSheetObjectOrCompoundProp.js +0 -10
  99. package/dist/panels/SequenceEditorPanel/FrameGrid/FrameGrid.js +0 -92
  100. package/dist/panels/SequenceEditorPanel/FrameGrid/StampsGrid.js +0 -99
  101. package/dist/panels/SequenceEditorPanel/FrameGrid/createGrid.js +0 -49
  102. package/dist/panels/SequenceEditorPanel/FrameStampPositionProvider.js +0 -189
  103. package/dist/panels/SequenceEditorPanel/GraphEditor/BasicKeyframedTrack/BasicKeyframedTrack.js +0 -91
  104. package/dist/panels/SequenceEditorPanel/GraphEditor/BasicKeyframedTrack/KeyframeEditor/Curve.js +0 -87
  105. package/dist/panels/SequenceEditorPanel/GraphEditor/BasicKeyframedTrack/KeyframeEditor/CurveHandle.js +0 -186
  106. package/dist/panels/SequenceEditorPanel/GraphEditor/BasicKeyframedTrack/KeyframeEditor/GraphEditorDotNonScalar.js +0 -162
  107. package/dist/panels/SequenceEditorPanel/GraphEditor/BasicKeyframedTrack/KeyframeEditor/GraphEditorDotScalar.js +0 -209
  108. package/dist/panels/SequenceEditorPanel/GraphEditor/BasicKeyframedTrack/KeyframeEditor/GraphEditorNonScalarDash.js +0 -23
  109. package/dist/panels/SequenceEditorPanel/GraphEditor/BasicKeyframedTrack/KeyframeEditor/KeyframeEditor.js +0 -30
  110. package/dist/panels/SequenceEditorPanel/GraphEditor/GraphEditor.js +0 -73
  111. package/dist/panels/SequenceEditorPanel/GraphEditor/PrimitivePropGraph.js +0 -20
  112. package/dist/panels/SequenceEditorPanel/GraphEditorToggle.js +0 -59
  113. package/dist/panels/SequenceEditorPanel/RightOverlay/DopeSnap.js +0 -36
  114. package/dist/panels/SequenceEditorPanel/RightOverlay/DopeSnapHitZoneUI.js +0 -57
  115. package/dist/panels/SequenceEditorPanel/RightOverlay/FocusRangeZone/FocusRangeStrip.js +0 -233
  116. package/dist/panels/SequenceEditorPanel/RightOverlay/FocusRangeZone/FocusRangeThumb.js +0 -217
  117. package/dist/panels/SequenceEditorPanel/RightOverlay/FocusRangeZone/FocusRangeZone.js +0 -181
  118. package/dist/panels/SequenceEditorPanel/RightOverlay/FrameStamp.js +0 -65
  119. package/dist/panels/SequenceEditorPanel/RightOverlay/HorizontalScrollbar.js +0 -235
  120. package/dist/panels/SequenceEditorPanel/RightOverlay/Markers/MarkerDot.js +0 -184
  121. package/dist/panels/SequenceEditorPanel/RightOverlay/Markers/MarkerEditorPopover.js +0 -65
  122. package/dist/panels/SequenceEditorPanel/RightOverlay/Markers/Markers.js +0 -13
  123. package/dist/panels/SequenceEditorPanel/RightOverlay/Playhead.js +0 -265
  124. package/dist/panels/SequenceEditorPanel/RightOverlay/PlayheadPositionPopover.js +0 -64
  125. package/dist/panels/SequenceEditorPanel/RightOverlay/RightOverlay.js +0 -35
  126. package/dist/panels/SequenceEditorPanel/RightOverlay/TopStrip.js +0 -31
  127. package/dist/panels/SequenceEditorPanel/SequenceEditorPanel.js +0 -179
  128. package/dist/panels/SequenceEditorPanel/VerticalScrollContainer.js +0 -42
  129. package/dist/panels/SequenceEditorPanel/layout/layout.js +0 -166
  130. package/dist/panels/SequenceEditorPanel/layout/tree.js +0 -139
  131. package/dist/panels/SequenceEditorPanel/whatPropIsHighlighted.js +0 -58
  132. package/dist/propEditors/DefaultValueIndicator.js +0 -64
  133. package/dist/propEditors/NextPrevKeyframeCursors.js +0 -135
  134. package/dist/propEditors/getNearbyKeyframesOfTrack.js +0 -46
  135. package/dist/propEditors/simpleEditors/BooleanPropEditor.js +0 -17
  136. package/dist/propEditors/simpleEditors/FilePropEditor.js +0 -118
  137. package/dist/propEditors/simpleEditors/ISimplePropEditorReactProps.js +0 -1
  138. package/dist/propEditors/simpleEditors/ImagePropEditor.js +0 -126
  139. package/dist/propEditors/simpleEditors/NumberPropEditor.js +0 -9
  140. package/dist/propEditors/simpleEditors/RgbaPropEditor.js +0 -73
  141. package/dist/propEditors/simpleEditors/StringLiteralPropEditor.js +0 -10
  142. package/dist/propEditors/simpleEditors/StringPropEditor.js +0 -6
  143. package/dist/propEditors/simpleEditors/simplePropEditorByPropType.js +0 -16
  144. package/dist/propEditors/useEditingToolsForCompoundProp.js +0 -228
  145. package/dist/propEditors/useEditingToolsForSimpleProp.js +0 -229
  146. package/dist/propEditors/utils/IEditingTools.js +0 -1
  147. package/dist/propEditors/utils/PropConfigForType.js +0 -1
  148. package/dist/propEditors/utils/getPropTypeByPointer.js +0 -48
  149. package/dist/propEditors/utils/propNameTextCSS.js +0 -7
  150. package/dist/selectors.js +0 -63
  151. package/dist/store/index.js +0 -184
  152. package/dist/store/stateEditors.js +0 -774
  153. package/dist/store/types/ahistoric.js +0 -1
  154. package/dist/store/types/ephemeral.js +0 -1
  155. package/dist/store/types/historic.js +0 -1
  156. package/dist/store/types/index.js +0 -3
  157. package/dist/toolbars/ExtensionToolbar/ExtensionToolbar.js +0 -51
  158. package/dist/toolbars/ExtensionToolbar/Toolset.js +0 -27
  159. package/dist/toolbars/ExtensionToolbar/tools/ExtensionFlyoutMenu.js +0 -51
  160. package/dist/toolbars/ExtensionToolbar/tools/IconButton.js +0 -16
  161. package/dist/toolbars/ExtensionToolbar/tools/Switch.js +0 -20
  162. package/dist/toolbars/GlobalToolbar.js +0 -142
  163. package/dist/toolbars/MoreMenu/MoreMenu.js +0 -133
  164. package/dist/toolbars/PinButton.js +0 -26
  165. package/dist/uiComponents/DetailPanelButton.js +0 -21
  166. package/dist/uiComponents/PointerEventsHandler.js +0 -80
  167. package/dist/uiComponents/Popover/ArrowContext.js +0 -3
  168. package/dist/uiComponents/Popover/BasicPopover.js +0 -35
  169. package/dist/uiComponents/Popover/BasicTooltip.js +0 -10
  170. package/dist/uiComponents/Popover/ErrorTooltip.js +0 -9
  171. package/dist/uiComponents/Popover/MinimalTooltip.js +0 -6
  172. package/dist/uiComponents/Popover/PopoverArrow.js +0 -38
  173. package/dist/uiComponents/Popover/TooltipContext.js +0 -46
  174. package/dist/uiComponents/Popover/TooltipWrapper.js +0 -103
  175. package/dist/uiComponents/Popover/usePopover.js +0 -132
  176. package/dist/uiComponents/Popover/useTooltip.js +0 -33
  177. package/dist/uiComponents/RoomToClick.js +0 -10
  178. package/dist/uiComponents/SVGIcon.js +0 -19
  179. package/dist/uiComponents/ShowMousePosition.js +0 -30
  180. package/dist/uiComponents/colorPicker/components/EditingProvider.js +0 -15
  181. package/dist/uiComponents/colorPicker/components/RgbaColorPicker.js +0 -31
  182. package/dist/uiComponents/colorPicker/components/common/Alpha.js +0 -54
  183. package/dist/uiComponents/colorPicker/components/common/AlphaColorPicker.js +0 -28
  184. package/dist/uiComponents/colorPicker/components/common/Hue.js +0 -41
  185. package/dist/uiComponents/colorPicker/components/common/Interactive.js +0 -142
  186. package/dist/uiComponents/colorPicker/components/common/Pointer.js +0 -39
  187. package/dist/uiComponents/colorPicker/components/common/Saturation.js +0 -44
  188. package/dist/uiComponents/colorPicker/hooks/useColorManipulation.js +0 -77
  189. package/dist/uiComponents/colorPicker/hooks/useEventCallback.js +0 -10
  190. package/dist/uiComponents/colorPicker/hooks/useIsomorphicLayoutEffect.js +0 -5
  191. package/dist/uiComponents/colorPicker/index.js +0 -1
  192. package/dist/uiComponents/colorPicker/types.js +0 -1
  193. package/dist/uiComponents/colorPicker/utils/clamp.js +0 -6
  194. package/dist/uiComponents/colorPicker/utils/compare.js +0 -25
  195. package/dist/uiComponents/colorPicker/utils/convert.js +0 -165
  196. package/dist/uiComponents/colorPicker/utils/round.js +0 -3
  197. package/dist/uiComponents/colorPicker/utils/validate.js +0 -10
  198. package/dist/uiComponents/createCursorLock.js +0 -2
  199. package/dist/uiComponents/form/BasicCheckbox.js +0 -5
  200. package/dist/uiComponents/form/BasicNumberInput.js +0 -261
  201. package/dist/uiComponents/form/BasicSelect.js +0 -58
  202. package/dist/uiComponents/form/BasicStringInput.js +0 -151
  203. package/dist/uiComponents/form/BasicSwitch.js +0 -60
  204. package/dist/uiComponents/icons/AddImage.js +0 -6
  205. package/dist/uiComponents/icons/ArrowClockwise.js +0 -6
  206. package/dist/uiComponents/icons/ArrowsOutCardinal.js +0 -6
  207. package/dist/uiComponents/icons/Bell.js +0 -6
  208. package/dist/uiComponents/icons/Camera.js +0 -7
  209. package/dist/uiComponents/icons/ChevronDown.js +0 -6
  210. package/dist/uiComponents/icons/ChevronLeft.js +0 -6
  211. package/dist/uiComponents/icons/ChevronRight.js +0 -6
  212. package/dist/uiComponents/icons/Cube.js +0 -6
  213. package/dist/uiComponents/icons/CubeFull.js +0 -6
  214. package/dist/uiComponents/icons/CubeHalf.js +0 -6
  215. package/dist/uiComponents/icons/CubeRendered.js +0 -7
  216. package/dist/uiComponents/icons/Details.js +0 -6
  217. package/dist/uiComponents/icons/DoubleChevronLeft.js +0 -6
  218. package/dist/uiComponents/icons/DoubleChevronRight.js +0 -6
  219. package/dist/uiComponents/icons/Ellipsis.js +0 -6
  220. package/dist/uiComponents/icons/EllipsisFill.js +0 -6
  221. package/dist/uiComponents/icons/GlobeSimple.js +0 -6
  222. package/dist/uiComponents/icons/Outline.js +0 -6
  223. package/dist/uiComponents/icons/Package.js +0 -6
  224. package/dist/uiComponents/icons/Resize.js +0 -7
  225. package/dist/uiComponents/icons/Trash.js +0 -6
  226. package/dist/uiComponents/icons/index.js +0 -20
  227. package/dist/uiComponents/isSafari.js +0 -2
  228. package/dist/uiComponents/onPointerOutside.js +0 -19
  229. package/dist/uiComponents/selects/BasicSelect.js +0 -24
  230. package/dist/uiComponents/simpleContextMenu/ContextMenu/BaseMenu.js +0 -40
  231. package/dist/uiComponents/simpleContextMenu/ContextMenu/ContextMenu.js +0 -87
  232. package/dist/uiComponents/simpleContextMenu/ContextMenu/Item.js +0 -37
  233. package/dist/uiComponents/simpleContextMenu/useContextMenu.js +0 -20
  234. package/dist/uiComponents/simpleContextMenu/useRequestContextMenu.js +0 -22
  235. package/dist/uiComponents/toolbar/ToolbarDropdownSelect.js +0 -7
  236. package/dist/uiComponents/toolbar/ToolbarIconButton.js +0 -74
  237. package/dist/uiComponents/toolbar/ToolbarSwitchSelect.js +0 -12
  238. package/dist/uiComponents/toolbar/ToolbarSwitchSelectContainer.js +0 -9
  239. package/dist/uiComponents/useBoundingClientRect.js +0 -13
  240. package/dist/uiComponents/useDebugRefreshEvery.js +0 -19
  241. package/dist/uiComponents/useDrag.js +0 -199
  242. package/dist/uiComponents/useHotspot.js +0 -30
  243. package/dist/uiComponents/useHover.js +0 -23
  244. package/dist/uiComponents/useHoverWithoutDescendants.js +0 -33
  245. package/dist/uiComponents/useKeyDown.js +0 -9
  246. package/dist/uiComponents/useKeyDownCallback.js +0 -28
  247. package/dist/uiComponents/useLockSet.js +0 -17
  248. package/dist/uiComponents/useLogger.js +0 -16
  249. package/dist/uiComponents/useOnClickOutside.js +0 -25
  250. package/dist/uiComponents/useOnKeyDown.js +0 -12
  251. package/dist/uiComponents/usePresence.js +0 -156
  252. package/dist/uiComponents/useValToAtom.js +0 -11
  253. package/dist/utils/absoluteDims.js +0 -7
  254. package/dist/utils/contextualWebComponents.js +0 -44
  255. package/dist/utils/copyToClipboard.js +0 -28
  256. package/dist/utils/derive-utils.js +0 -61
  257. package/dist/utils/devStringify.js +0 -20
  258. package/dist/utils/invariant.js +0 -79
  259. package/dist/utils/isMac.js +0 -2
  260. package/dist/utils/keyboardUtils.js +0 -23
  261. package/dist/utils/mousePositionD.js +0 -18
  262. package/dist/utils/redux/actionCreator.js +0 -15
  263. package/dist/utils/redux/actionCreator.test.js +0 -35
  264. package/dist/utils/redux/actionReducersBundle.js +0 -18
  265. package/dist/utils/redux/atomFromReduxStore.js +0 -11
  266. package/dist/utils/redux/configureStore.js +0 -18
  267. package/dist/utils/redux/pointerFriendlySelector.js +0 -8
  268. package/dist/utils/redux/withHistory/withBatchActions.js +0 -13
  269. package/dist/utils/redux/withHistory/withHistory.js +0 -157
  270. package/dist/utils/renderInPortalInContext.js +0 -38
  271. package/dist/utils/selectClosestHTMLAncestor.js +0 -13
  272. package/dist/utils/tightJsonStringify.js +0 -27
  273. package/dist/utils/tightJsonStringify.test.js +0 -25
  274. package/dist/utils/useRefAndState.js +0 -32
@@ -1,60 +0,0 @@
1
- import UIRoot from '@tomorrowevening/theatre-studio/UIRoot/UIRoot';
2
- import React from 'react';
3
- import ReactDOM from 'react-dom/client';
4
- import { getMounter } from '@tomorrowevening/theatre-studio/utils/renderInPortalInContext';
5
- import { withStyledShadow } from '@tomorrowevening/theatre-studio/css';
6
- import ExtensionToolbar from '@tomorrowevening/theatre-studio/toolbars/ExtensionToolbar/ExtensionToolbar';
7
- export default class UINonSSRBits {
8
- containerEl = document.createElement('div');
9
- _renderTimeout = undefined;
10
- _documentBodyUIIsRenderedIn = undefined;
11
- containerShadow;
12
- constructor() {
13
- // @todo we can't bootstrap Theatre.js (as in, to design Theatre.js using theatre), if we rely on IDed elements
14
- this.containerEl.id = 'theatrejs-studio-root';
15
- this.containerEl.style.cssText = `
16
- position: fixed;
17
- top: 0;
18
- right: 0;
19
- bottom: 0;
20
- left: 0;
21
- pointer-events: none;
22
- z-index: 100;
23
- `;
24
- const createShadowRoot = () => {
25
- if (window.__IS_VISUAL_REGRESSION_TESTING === true) {
26
- const fauxRoot = document.createElement('div');
27
- fauxRoot.id = 'theatrejs-faux-shadow-root';
28
- document.body.appendChild(fauxRoot);
29
- return fauxRoot;
30
- }
31
- else {
32
- return this.containerEl.attachShadow({
33
- mode: 'open',
34
- // To see why I had to cast this value to HTMLElement, take a look at its
35
- // references of this prop. There are a few functions that actually work
36
- // with a ShadowRoot but are typed to accept HTMLElement
37
- });
38
- }
39
- };
40
- this.containerShadow = createShadowRoot();
41
- }
42
- render() {
43
- const renderCallback = () => {
44
- if (!document.body) {
45
- this._renderTimeout = setTimeout(renderCallback, 5);
46
- return;
47
- }
48
- this._renderTimeout = undefined;
49
- this._documentBodyUIIsRenderedIn = document.body;
50
- this._documentBodyUIIsRenderedIn.appendChild(this.containerEl);
51
- ReactDOM.createRoot(this.containerShadow).render(React.createElement(UIRoot, { containerShadow: this.containerShadow }));
52
- };
53
- this._renderTimeout = setTimeout(renderCallback, 10);
54
- }
55
- renderToolset(toolsetId, htmlNode) {
56
- const s = getMounter();
57
- s.mountOrRender(withStyledShadow(ExtensionToolbar), { toolbarId: toolsetId }, htmlNode);
58
- return s.unmount;
59
- }
60
- }
@@ -1,19 +0,0 @@
1
- import OutlinePanel from '@tomorrowevening/theatre-studio/panels/OutlinePanel/OutlinePanel';
2
- import DetailPanel from '@tomorrowevening/theatre-studio/panels/DetailPanel/DetailPanel';
3
- import React from 'react';
4
- import getStudio from '@tomorrowevening/theatre-studio/getStudio';
5
- import { useVal } from '@tomorrowevening/theatre-react';
6
- import ExtensionPaneWrapper from '@tomorrowevening/theatre-studio/panels/BasePanel/ExtensionPaneWrapper';
7
- import SequenceEditorPanel from '@tomorrowevening/theatre-studio/panels/SequenceEditorPanel/SequenceEditorPanel';
8
- const PanelsRoot = () => {
9
- const panes = useVal(getStudio().paneManager.allPanesD);
10
- const paneEls = Object.entries(panes).map(([instanceId, paneInstance]) => {
11
- return (React.createElement(ExtensionPaneWrapper, { key: `pane-${instanceId}`, paneInstance: paneInstance }));
12
- });
13
- return (React.createElement(React.Fragment, null,
14
- paneEls,
15
- React.createElement(OutlinePanel, null),
16
- React.createElement(DetailPanel, null),
17
- React.createElement(SequenceEditorPanel, null)));
18
- };
19
- export default PanelsRoot;
@@ -1,96 +0,0 @@
1
- import React, { useContext, useEffect, useMemo } from 'react';
2
- import { useLogger } from '@tomorrowevening/theatre-studio/uiComponents/useLogger';
3
- function _usePointerCapturingContext() {
4
- const logger = useLogger('PointerCapturing');
5
- let currentCaptureRef = React.useRef(null);
6
- const isPointerBeingCaptured = () => currentCaptureRef.current != null;
7
- return (forDebugName) => {
8
- /** keep track of the captures being made by this user of {@link usePointerCapturing} */
9
- let localCapture;
10
- const updateCapture = (to) => {
11
- localCapture = to;
12
- currentCaptureRef.current = to;
13
- return to;
14
- };
15
- const capturing = {
16
- capturePointer(reason) {
17
- logger._debug('Capturing pointer', { forDebugName, reason });
18
- if (currentCaptureRef.current != null) {
19
- throw new Error(`"${forDebugName}" attempted capturing pointer for "${reason}" while already captured by "${currentCaptureRef.current.debugOwnerName}" for "${currentCaptureRef.current.debugReason}"`);
20
- }
21
- const releaseCapture = updateCapture({
22
- debugOwnerName: forDebugName,
23
- debugReason: reason,
24
- });
25
- return {
26
- isCapturing() {
27
- return releaseCapture === currentCaptureRef.current;
28
- },
29
- release() {
30
- if (releaseCapture === currentCaptureRef.current) {
31
- logger._debug('Releasing pointer', {
32
- forDebugName,
33
- reason,
34
- });
35
- updateCapture(null);
36
- return true;
37
- }
38
- return false;
39
- },
40
- };
41
- },
42
- isPointerBeingCaptured,
43
- };
44
- return {
45
- capturing,
46
- forceRelease() {
47
- if (localCapture && currentCaptureRef.current === localCapture) {
48
- logger._debug('Force releasing pointer', { localCapture });
49
- updateCapture(null);
50
- }
51
- },
52
- };
53
- };
54
- }
55
- const PointerCapturingContext = React.createContext(null);
56
- const ProviderChildrenMemo = React.memo(({ children }) => React.createElement(React.Fragment, null, children));
57
- /**
58
- * See {@link PointerCapturing}.
59
- *
60
- * This should likely live towards the root of the application.
61
- *
62
- * Uncertain about whether nesting pointer capturing providers should be cognizant of each other.
63
- */
64
- export function ProvidePointerCapturing(props) {
65
- const ctx = _usePointerCapturingContext();
66
- // Consider whether we want to manage multiple providers nested (e.g. embedding Theatre.js in Theatre.js or studio into whatever else)
67
- // This may not be necessary to consider due to the design of allowing a default value for contexts...
68
- // 1/10 importance to think about, now.
69
- // const parentCapturing = useContext(PointerCapturingContext)
70
- return (React.createElement(PointerCapturingContext.Provider, { value: ctx },
71
- React.createElement(ProviderChildrenMemo, { children: props.children })));
72
- }
73
- /**
74
- * Used to ensure we're locking drag and pointer events to a single place in the UI logic.
75
- * Without this, we can much more easily accidentally create multiple drag handlers on
76
- * child / parent dom elements which both `useDrag`, for example.
77
- *
78
- * An example of this helping us was when we first started building the Curve editor popover.
79
- * In that activity, we were experiencing a weird issue where the popover would unmount while
80
- * dragging away from the popover, and the drag end listener would not be called.
81
- * By having "Pointer Capturing" we're able to identify that the pointer was not being properly
82
- * released, because there would be a lock contention when trying to drag something else.
83
- */
84
- export function usePointerCapturing(forDebugName) {
85
- const pointerCapturingFn = useContext(PointerCapturingContext);
86
- const control = useMemo(() => {
87
- return pointerCapturingFn(forDebugName);
88
- }, [forDebugName, pointerCapturingFn]);
89
- useEffect(() => {
90
- return () => {
91
- // force release on unmount
92
- control.forceRelease();
93
- };
94
- }, [control]);
95
- return control.capturing;
96
- }
@@ -1,9 +0,0 @@
1
- import React from 'react';
2
- import styled from 'styled-components';
3
- const Container = styled.div `
4
- --colors-panel-1: red;
5
- `;
6
- const ProvideTheme = (props) => {
7
- return React.createElement(Container, null, props.children);
8
- };
9
- export default ProvideTheme;
@@ -1,79 +0,0 @@
1
- import getStudio from '@tomorrowevening/theatre-studio/getStudio';
2
- import { usePrism, useVal } from '@tomorrowevening/theatre-react';
3
- import { val } from '@tomorrowevening/theatre-dataverse';
4
- import React, { useEffect } from 'react';
5
- import styled, { createGlobalStyle } from 'styled-components';
6
- import PanelsRoot from './PanelsRoot';
7
- import GlobalToolbar from '@tomorrowevening/theatre-studio/toolbars/GlobalToolbar';
8
- import useRefAndState from '@tomorrowevening/theatre-studio/utils/useRefAndState';
9
- import { PortalContext } from 'reakit';
10
- import useKeyboardShortcuts from './useKeyboardShortcuts';
11
- import PointerEventsHandler from '@tomorrowevening/theatre-studio/uiComponents/PointerEventsHandler';
12
- import TooltipContext from '@tomorrowevening/theatre-studio/uiComponents/Popover/TooltipContext';
13
- import { ProvidePointerCapturing } from './PointerCapturing';
14
- import { MountAll } from '@tomorrowevening/theatre-studio/utils/renderInPortalInContext';
15
- import { PortalLayer, ProvideStyles } from '@tomorrowevening/theatre-studio/css';
16
- import { createTheatreInternalLogger, TheatreLoggerLevel, } from '@tomorrowevening/theatre-shared/logger';
17
- import { ProvideLogger } from '@tomorrowevening/theatre-studio/uiComponents/useLogger';
18
- import { Notifier } from '@tomorrowevening/theatre-studio/notify';
19
- const MakeRootHostContainStatic = typeof window !== 'undefined'
20
- ? createGlobalStyle `
21
- :host {
22
- contain: strict;
23
- }
24
- `
25
- : {};
26
- const Container = styled(PointerEventsHandler) `
27
- z-index: 50;
28
- position: fixed;
29
- inset: 0;
30
-
31
- &.invisible {
32
- pointer-events: none !important;
33
- opacity: 0;
34
- transform: translateX(1000000px);
35
- }
36
- `;
37
- const INTERNAL_LOGGING = /Playground.+Theatre\.js/.test((typeof document !== 'undefined' ? document?.title : null) ?? '');
38
- export default function UIRoot(props) {
39
- const studio = getStudio();
40
- const [portalLayerRef, portalLayer] = useRefAndState(undefined);
41
- const uiRootLogger = createTheatreInternalLogger();
42
- uiRootLogger.configureLogging({
43
- min: TheatreLoggerLevel.DEBUG,
44
- dev: INTERNAL_LOGGING,
45
- internal: INTERNAL_LOGGING,
46
- });
47
- const logger = uiRootLogger.getLogger().named('Theatre.js UIRoot');
48
- useKeyboardShortcuts();
49
- const visiblityState = useVal(studio.atomP.ahistoric.visibilityState);
50
- useEffect(() => {
51
- if (visiblityState === 'everythingIsHidden') {
52
- console.warn(`Theatre.js Studio is hidden. Use the keyboard shortcut 'alt + \\' to restore the studio, or call studio.ui.restore().`);
53
- }
54
- return () => { };
55
- }, [visiblityState]);
56
- const inside = usePrism(() => {
57
- const visiblityState = val(studio.atomP.ahistoric.visibilityState);
58
- const initialised = val(studio.atomP.ephemeral.initialised);
59
- return !initialised ? null : (React.createElement(ProvideLogger, { logger: logger },
60
- React.createElement(TooltipContext, null,
61
- React.createElement(ProvidePointerCapturing, null,
62
- React.createElement(MountExtensionComponents, null),
63
- React.createElement(PortalContext.Provider, { value: portalLayer },
64
- React.createElement(ProvideStyles, { target: window.__IS_VISUAL_REGRESSION_TESTING === true
65
- ? undefined
66
- : props.containerShadow },
67
- React.createElement(React.Fragment, null,
68
- React.createElement(MakeRootHostContainStatic, null),
69
- React.createElement(Container, { className: visiblityState === 'everythingIsHidden' ? 'invisible' : '' },
70
- React.createElement(PortalLayer, { ref: portalLayerRef }),
71
- React.createElement(GlobalToolbar, null),
72
- React.createElement(PanelsRoot, null),
73
- React.createElement(Notifier, null)))))))));
74
- }, [studio, portalLayerRef, portalLayer]);
75
- return inside;
76
- }
77
- const MountExtensionComponents = () => {
78
- return React.createElement(MountAll, null);
79
- };
@@ -1,158 +0,0 @@
1
- import { useEffect } from 'react';
2
- import getStudio from '@tomorrowevening/theatre-studio/getStudio';
3
- import { cmdIsDown } from '@tomorrowevening/theatre-studio/utils/keyboardUtils';
4
- import { getSelectedSequence } from '@tomorrowevening/theatre-studio/selectors';
5
- import { Atom, prism, val } from '@tomorrowevening/theatre-dataverse';
6
- import memoizeFn from '@tomorrowevening/theatre-shared/utils/memoizeFn';
7
- let playPauseKeyboardShortcutIsEnabled = true;
8
- export function __experimental_disblePlayPauseKeyboardShortcut() {
9
- playPauseKeyboardShortcutIsEnabled = false;
10
- }
11
- export function __experimental_enablePlayPauseKeyboardShortcut() {
12
- playPauseKeyboardShortcutIsEnabled = true;
13
- }
14
- export default function useKeyboardShortcuts() {
15
- const studio = getStudio();
16
- useEffect(() => {
17
- const handleKeyDown = (e) => {
18
- const target = e.composedPath()[0];
19
- if (target &&
20
- (target.tagName === 'INPUT' || target.tagName === 'TEXTAREA')) {
21
- return;
22
- }
23
- if (e.key === 'z' || e.key === 'Z' || e.code === 'KeyZ') {
24
- if (cmdIsDown(e)) {
25
- if (e.shiftKey === true) {
26
- studio.redo();
27
- }
28
- else {
29
- studio.undo();
30
- }
31
- }
32
- else {
33
- return;
34
- }
35
- }
36
- else if (e.code === 'Space' &&
37
- !e.shiftKey &&
38
- !e.metaKey &&
39
- !e.altKey &&
40
- !e.ctrlKey) {
41
- if (!playPauseKeyboardShortcutIsEnabled)
42
- return;
43
- // Control the playback using the `Space` key
44
- const seq = getSelectedSequence();
45
- if (seq) {
46
- if (seq.playing) {
47
- seq.pause();
48
- }
49
- else {
50
- /*
51
- * The sequence will be played in its whole length unless all of the
52
- * following conditions are met:
53
- * 1. the focus range is set and enabled
54
- * 2. the playback starts within the focus range.
55
- */
56
- const { projectId, sheetId } = seq.address;
57
- /*
58
- * The value of this prism is an array that contains the
59
- * range of the playback (start and end), and a boolean that is
60
- * `true` if the playback should be played within that range.
61
- */
62
- const controlledPlaybackStateD = prism(() => {
63
- const focusRange = val(getStudio().atomP.ahistoric.projects.stateByProjectId[projectId].stateBySheetId[sheetId].sequence.focusRange);
64
- // Determines whether the playback should be played
65
- // within the focus range.
66
- const shouldFollowFocusRange = prism.memo('shouldFollowFocusRange', () => {
67
- const posBeforePlay = seq.position;
68
- if (focusRange) {
69
- const withinRange = posBeforePlay >= focusRange.range.start &&
70
- posBeforePlay <= focusRange.range.end;
71
- if (focusRange.enabled) {
72
- if (withinRange) {
73
- return true;
74
- }
75
- else {
76
- return false;
77
- }
78
- }
79
- else {
80
- return true;
81
- }
82
- }
83
- else {
84
- return true;
85
- }
86
- }, []);
87
- if (shouldFollowFocusRange &&
88
- focusRange &&
89
- focusRange.enabled) {
90
- return {
91
- range: [focusRange.range.start, focusRange.range.end],
92
- isFollowingARange: true,
93
- };
94
- }
95
- else {
96
- const sequenceLength = val(seq.pointer.length);
97
- return { range: [0, sequenceLength], isFollowingARange: false };
98
- }
99
- });
100
- const playbackPromise = seq.playDynamicRange(prism(() => val(controlledPlaybackStateD).range), getStudio().ticker);
101
- const playbackStateBox = getPlaybackStateBox(seq);
102
- void playbackPromise.finally(() => {
103
- playbackStateBox.set(undefined);
104
- });
105
- playbackStateBox.set(controlledPlaybackStateD);
106
- }
107
- }
108
- else {
109
- return;
110
- }
111
- }
112
- // alt + \
113
- else if (e.altKey &&
114
- (e.key === '\\' || e.code === 'Backslash' || e.code === 'IntlBackslash')) {
115
- studio.transaction(({ stateEditors, drafts }) => {
116
- stateEditors.studio.ahistoric.setVisibilityState(drafts.ahistoric.visibilityState === 'everythingIsHidden'
117
- ? 'everythingIsVisible'
118
- : 'everythingIsHidden');
119
- });
120
- }
121
- else {
122
- return;
123
- }
124
- e.preventDefault();
125
- e.stopPropagation();
126
- };
127
- window.addEventListener('keydown', handleKeyDown);
128
- return () => {
129
- window.removeEventListener('keydown', handleKeyDown);
130
- };
131
- }, []);
132
- }
133
- const getPlaybackStateBox = memoizeFn((sequence) => {
134
- const box = new Atom(undefined);
135
- return box;
136
- });
137
- /*
138
- * A memoized function that returns a prism with a boolean value.
139
- * This value is set to `true` if:
140
- * 1. the playback is playing and using the focus range instead of the whole sequence
141
- * 2. the playback is stopped, but would use the focus range if it were started.
142
- */
143
- export const getIsPlayheadAttachedToFocusRange = memoizeFn((sequence) => prism(() => {
144
- const controlledPlaybackState = getPlaybackStateBox(sequence).prism.getValue();
145
- if (controlledPlaybackState) {
146
- return controlledPlaybackState.getValue().isFollowingARange;
147
- }
148
- else {
149
- const { projectId, sheetId } = sequence.address;
150
- const focusRange = val(getStudio().atomP.ahistoric.projects.stateByProjectId[projectId]
151
- .stateBySheetId[sheetId].sequence.focusRange);
152
- if (!focusRange || !focusRange.enabled)
153
- return false;
154
- const pos = val(sequence.pointer.position);
155
- const withinRange = pos >= focusRange.range.start && pos <= focusRange.range.end;
156
- return withinRange;
157
- }
158
- }));
@@ -1,86 +0,0 @@
1
- import { pointerToPrism, val } from '@tomorrowevening/theatre-dataverse';
2
- import { defer } from '@tomorrowevening/theatre-shared/utils/defer';
3
- import getStudio from './getStudio';
4
- const UPDATE_CHECK_INTERVAL = 30 * 60 * 1000; // check for updates every 30 minutes
5
- const TIME_TO_WAIT_ON_ERROR = 1000 * 60 * 60; // an hour
6
- /**
7
- * Returns a promise that will resolve when the UI is visible. If the UI is hidden, it'll
8
- * wait for it to become visible.
9
- */
10
- async function waitTilUIIsVisible() {
11
- const visibilityStatePt = getStudio().atomP.ahistoric.visibilityState;
12
- if (val(visibilityStatePt) === 'everythingIsVisible')
13
- return;
14
- const deferred = defer();
15
- const unsub = pointerToPrism(visibilityStatePt).onStale(() => {
16
- const newVal = val(visibilityStatePt);
17
- if (newVal === 'everythingIsVisible') {
18
- unsub();
19
- deferred.resolve(undefined);
20
- }
21
- });
22
- return deferred.promise;
23
- }
24
- export default async function checkForUpdates() {
25
- if (process.env.BUILT_FOR_PLAYGROUND === 'true') {
26
- // Build for playground. Skipping update check
27
- return;
28
- }
29
- if (process.env.THEATRE_VERSION?.match(/COMPAT/)) {
30
- // Built for compat tests. Skipping update check
31
- return;
32
- }
33
- // let's wait a bit in case the user has called for the UI to be hidden.
34
- await wait(500);
35
- await waitTilUIIsVisible();
36
- while (true) {
37
- const state = val(getStudio().atomP.ahistoric.updateChecker);
38
- if (state) {
39
- if (state.result !== 'error') {
40
- const lastChecked = state.lastChecked;
41
- const now = Date.now();
42
- const timeElapsedSinceLastCheckedForUpdate = Math.abs(now - lastChecked);
43
- // doing Math.max in case the clock has shifted
44
- if (timeElapsedSinceLastCheckedForUpdate < UPDATE_CHECK_INTERVAL) {
45
- await wait(UPDATE_CHECK_INTERVAL - timeElapsedSinceLastCheckedForUpdate);
46
- }
47
- }
48
- }
49
- try {
50
- const response = await fetch(new Request(`https://updates.theatrejs.com/updates/${process.env.THEATRE_VERSION}`));
51
- if (response.ok) {
52
- const json = await response.json();
53
- if (!isValidUpdateCheckerResponse(json)) {
54
- throw new Error(`Bad response`);
55
- }
56
- getStudio().transaction(({ drafts }) => {
57
- drafts.ahistoric.updateChecker = {
58
- lastChecked: Date.now(),
59
- result: { ...json },
60
- };
61
- });
62
- await wait(1000);
63
- }
64
- else {
65
- throw new Error(`HTTP Error ${response.statusText}`);
66
- }
67
- }
68
- catch (error) {
69
- // TODO log an error here
70
- await wait(TIME_TO_WAIT_ON_ERROR);
71
- }
72
- }
73
- }
74
- const wait = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
75
- function isValidUpdateCheckerResponse(json) {
76
- if (typeof json !== 'object')
77
- return false;
78
- const obj = json;
79
- if (typeof obj['hasUpdates'] !== 'boolean')
80
- return false;
81
- // could use a runtime type checker but not important yet
82
- return ((obj.hasUpdates === true &&
83
- typeof obj.newVersion === 'string' &&
84
- typeof obj.releasePage === 'string') ||
85
- obj.hasUpdates === false);
86
- }
package/dist/css.js DELETED
@@ -1,116 +0,0 @@
1
- import { lighten } from 'polished';
2
- import { css } from 'styled-components';
3
- import styled, { createGlobalStyle, StyleSheetManager } from 'styled-components';
4
- import React, { useLayoutEffect, useState } from 'react';
5
- import ReactDOM from 'react-dom';
6
- import { PortalContext } from 'reakit';
7
- import useRefAndState from './utils/useRefAndState';
8
- /**
9
- * This CSS string is used to correctly set pointer-events on an element
10
- * when the pointer is dragging something.
11
- * Naming explanation: "NormalMode" as opposed to dragging mode.
12
- *
13
- * @see PointerEventsHandler - the place that sets `.normal` on #pointer-root
14
- */
15
- export const pointerEventsAutoInNormalMode = css `
16
- #pointer-root & {
17
- pointer-events: none;
18
- }
19
- #pointer-root.normal & {
20
- pointer-events: auto;
21
- }
22
- `;
23
- export const theme = {
24
- panel: {
25
- bg: `#282b2f`,
26
- head: {
27
- title: {
28
- color: `#bbb`,
29
- },
30
- punctuation: {
31
- color: `#808080`,
32
- },
33
- },
34
- body: {
35
- compoudThing: {
36
- label: {
37
- get color() {
38
- return lighten(0.6, theme.panel.bg);
39
- },
40
- },
41
- },
42
- },
43
- },
44
- };
45
- export const panelUtils = {
46
- panelBorder: `2px solid #1f1f1f`,
47
- };
48
- const GlobalStyle = typeof window !== 'undefined'
49
- ? createGlobalStyle `
50
- :host {
51
- all: initial;
52
- color: white;
53
- font: 11px -apple-system, BlinkMacSystemFont, Segoe WPC, Segoe Editor,
54
- HelveticaNeue-Light, Ubuntu, Droid Sans, sans-serif;
55
- }
56
-
57
- * {
58
- padding: 0;
59
- margin: 0;
60
- font-size: 100%;
61
- font: inherit;
62
- vertical-align: baseline;
63
- list-style: none;
64
- }
65
- `
66
- : {};
67
- export const PortalLayer = styled.div `
68
- z-index: 51;
69
- position: fixed;
70
- top: 0px;
71
- right: 0px;
72
- bottom: 0px;
73
- left: 0px;
74
- pointer-events: none;
75
- `;
76
- export const ProvideStyles = (props) => {
77
- return (React.createElement(StyleSheetManager, { disableVendorPrefixes: true, target: props.target },
78
- React.createElement(React.Fragment, null,
79
- React.createElement(GlobalStyle, null),
80
- props.children)));
81
- };
82
- export function withStyledShadow(Comp) {
83
- return (props) => (React.createElement(ProvideStyledShadow, null,
84
- React.createElement(Comp, { ...props })));
85
- }
86
- const ProvideStyledShadow = (props) => {
87
- const [template, ref] = useState(null);
88
- const [shadowRoot, setShadowRoot] = useState(null);
89
- useLayoutEffect(() => {
90
- if (!template)
91
- return;
92
- const { parentNode } = template;
93
- if (!parentNode)
94
- return;
95
- const hadShadowRoot =
96
- // @ts-ignore
97
- !!parentNode.shadowRoot;
98
- const shadowRoot = hadShadowRoot
99
- ? // @ts-ignore
100
- parent.shadowRoot
101
- : parentNode.attachShadow({
102
- mode: 'open',
103
- });
104
- setShadowRoot(shadowRoot);
105
- // no need to cleanup. The parent will be removed anyway if cleanup
106
- // is needed.
107
- }, [template]);
108
- const [portalLayerRef, portalLayer] = useRefAndState(undefined);
109
- if (!shadowRoot) {
110
- return (React.createElement("template", { ref: ref, "shadow-root": 'open' }, props.children));
111
- }
112
- return ReactDOM.createPortal(React.createElement(ProvideStyles, { target: shadowRoot },
113
- React.createElement(React.Fragment, null,
114
- React.createElement(PortalLayer, { ref: portalLayerRef }),
115
- React.createElement(PortalContext.Provider, { value: portalLayer }, props.children))), shadowRoot);
116
- };
package/dist/getStudio.js DELETED
@@ -1,10 +0,0 @@
1
- let studio;
2
- export function setStudio(s) {
3
- studio = s;
4
- }
5
- /**
6
- * This may only be called from modules inside the studio bundle.
7
- */
8
- export default function getStudio() {
9
- return studio;
10
- }