@deephaven/components 0.108.1-beta.0 → 0.108.1-beta.12
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/dist/Button.d.ts +1 -1
- package/dist/Select.d.ts +1 -1
- package/dist/spectrum/TabPanels.d.ts +16 -0
- package/dist/spectrum/TabPanels.d.ts.map +1 -0
- package/dist/spectrum/TabPanels.js +90 -0
- package/dist/spectrum/TabPanels.js.map +1 -0
- package/dist/spectrum/navigation.d.ts +2 -1
- package/dist/spectrum/navigation.d.ts.map +1 -1
- package/dist/spectrum/navigation.js +2 -1
- package/dist/spectrum/navigation.js.map +1 -1
- package/dist/theme/ThemeModel.d.ts +12 -1
- package/dist/theme/ThemeModel.d.ts.map +1 -1
- package/dist/theme/ThemeModel.js +9 -0
- package/dist/theme/ThemeModel.js.map +1 -1
- package/dist/theme/ThemeProvider.d.ts +2 -1
- package/dist/theme/ThemeProvider.d.ts.map +1 -1
- package/dist/theme/ThemeProvider.js +4 -0
- package/dist/theme/ThemeProvider.js.map +1 -1
- package/dist/theme/ThemeUtils.d.ts +54 -7
- package/dist/theme/ThemeUtils.d.ts.map +1 -1
- package/dist/theme/ThemeUtils.js +130 -19
- package/dist/theme/ThemeUtils.js.map +1 -1
- package/dist/theme/index.d.ts +1 -0
- package/dist/theme/index.d.ts.map +1 -1
- package/dist/theme/index.js +1 -0
- package/dist/theme/index.js.map +1 -1
- package/dist/theme/theme-dark/theme-dark-semantic.css +1 -1
- package/dist/theme/theme-dark/theme-dark-semantic.css.map +1 -1
- package/dist/theme/useExternalTheme.d.ts +15 -0
- package/dist/theme/useExternalTheme.d.ts.map +1 -0
- package/dist/theme/useExternalTheme.js +68 -0
- package/dist/theme/useExternalTheme.js.map +1 -0
- package/package.json +9 -8
package/dist/Button.d.ts
CHANGED
|
@@ -30,6 +30,6 @@ type IconOnlyButtonJsxTooltip = BaseButtonProps & {
|
|
|
30
30
|
icon: IconDefinition | JSX.Element;
|
|
31
31
|
children?: undefined;
|
|
32
32
|
};
|
|
33
|
-
export declare const Button: React.ForwardRefExoticComponent<(Pick<ButtonWithChildren, "key" | "children" | "className" | "placeholder" | "value" | "onChange" | "onSelect" | "onSubmit" | "onFocus" | "onBlur" | "data-testid" | "form" | "slot" | "style" | "title" | "color" | "hidden" | "type" | "onKeyDown" | "onSelectCapture" | "aria-label" | "id" | "name" | "defaultChecked" | "defaultValue" | "disabled" | "formAction" | "formMethod" | "formNoValidate" | "formTarget" | "dir" | "tooltip" | "onClick" | "tabIndex" | "role" | "icon" | "active" | "lang" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocusCapture" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "autoFocus" | "variant" | "spellCheck" | "formEncType" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "translate" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "kind"> | Pick<IconOnlyButtonStringTooltip, "key" | "children" | "className" | "placeholder" | "value" | "onChange" | "onSelect" | "onSubmit" | "onFocus" | "onBlur" | "data-testid" | "form" | "slot" | "style" | "title" | "color" | "hidden" | "type" | "onKeyDown" | "onSelectCapture" | "aria-label" | "id" | "name" | "defaultChecked" | "defaultValue" | "disabled" | "formAction" | "formMethod" | "formNoValidate" | "formTarget" | "dir" | "tooltip" | "onClick" | "tabIndex" | "role" | "icon" | "active" | "lang" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocusCapture" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "autoFocus" | "variant" | "spellCheck" | "formEncType" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "translate" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "kind"> | Pick<IconOnlyButtonJsxTooltip, "key" | "children" | "className" | "placeholder" | "value" | "onChange" | "onSelect" | "onSubmit" | "onFocus" | "onBlur" | "data-testid" | "form" | "slot" | "style" | "title" | "color" | "hidden" | "type" | "onKeyDown" | "onSelectCapture" | "aria-label" | "id" | "name" | "defaultChecked" | "defaultValue" | "disabled" | "formAction" | "formMethod" | "formNoValidate" | "formTarget" | "dir" | "tooltip" | "onClick" | "tabIndex" | "role" | "icon" | "active" | "lang" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocusCapture" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "autoFocus" | "variant" | "spellCheck" | "formEncType" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "translate" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "kind">) & React.RefAttributes<HTMLButtonElement>>;
|
|
33
|
+
export declare const Button: React.ForwardRefExoticComponent<(Pick<ButtonWithChildren, "key" | "children" | "className" | "placeholder" | "value" | "onChange" | "onSelect" | "onSubmit" | "onFocus" | "onBlur" | "data-testid" | "form" | "slot" | "style" | "title" | "color" | "hidden" | "type" | "onKeyDown" | "onSelectCapture" | "id" | "aria-label" | "name" | "defaultChecked" | "defaultValue" | "disabled" | "formAction" | "formMethod" | "formNoValidate" | "formTarget" | "dir" | "tooltip" | "onClick" | "tabIndex" | "role" | "icon" | "active" | "lang" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocusCapture" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "autoFocus" | "variant" | "spellCheck" | "formEncType" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "translate" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "kind"> | Pick<IconOnlyButtonStringTooltip, "key" | "children" | "className" | "placeholder" | "value" | "onChange" | "onSelect" | "onSubmit" | "onFocus" | "onBlur" | "data-testid" | "form" | "slot" | "style" | "title" | "color" | "hidden" | "type" | "onKeyDown" | "onSelectCapture" | "id" | "aria-label" | "name" | "defaultChecked" | "defaultValue" | "disabled" | "formAction" | "formMethod" | "formNoValidate" | "formTarget" | "dir" | "tooltip" | "onClick" | "tabIndex" | "role" | "icon" | "active" | "lang" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocusCapture" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "autoFocus" | "variant" | "spellCheck" | "formEncType" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "translate" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "kind"> | Pick<IconOnlyButtonJsxTooltip, "key" | "children" | "className" | "placeholder" | "value" | "onChange" | "onSelect" | "onSubmit" | "onFocus" | "onBlur" | "data-testid" | "form" | "slot" | "style" | "title" | "color" | "hidden" | "type" | "onKeyDown" | "onSelectCapture" | "id" | "aria-label" | "name" | "defaultChecked" | "defaultValue" | "disabled" | "formAction" | "formMethod" | "formNoValidate" | "formTarget" | "dir" | "tooltip" | "onClick" | "tabIndex" | "role" | "icon" | "active" | "lang" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocusCapture" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "autoFocus" | "variant" | "spellCheck" | "formEncType" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "translate" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "kind">) & React.RefAttributes<HTMLButtonElement>>;
|
|
34
34
|
export default Button;
|
|
35
35
|
//# sourceMappingURL=Button.d.ts.map
|
package/dist/Select.d.ts
CHANGED
|
@@ -10,6 +10,6 @@ export type SelectProps = baseSelectProps & {
|
|
|
10
10
|
* native select element.
|
|
11
11
|
* @param props.onChange returns a string value and not the event
|
|
12
12
|
*/
|
|
13
|
-
declare const Select: React.ForwardRefExoticComponent<Pick<SelectProps, "key" | "children" | "className" | "pattern" | "placeholder" | "value" | "onChange" | "onSelect" | "onSubmit" | "onFocus" | "onBlur" | "data-testid" | "default" | "cite" | "data" | "form" | "label" | "slot" | "span" | "style" | "summary" | "title" | "color" | "hidden" | "type" | "onKeyDown" | "onSelectCapture" | "start" | "
|
|
13
|
+
declare const Select: React.ForwardRefExoticComponent<Pick<SelectProps, "key" | "children" | "className" | "pattern" | "placeholder" | "value" | "onChange" | "onSelect" | "onSubmit" | "onFocus" | "onBlur" | "data-testid" | "default" | "cite" | "data" | "form" | "label" | "slot" | "span" | "style" | "summary" | "title" | "color" | "hidden" | "type" | "onKeyDown" | "onSelectCapture" | "start" | "id" | "width" | "height" | "aria-label" | "accept" | "alt" | "name" | "capture" | "checked" | "defaultChecked" | "defaultValue" | "disabled" | "formAction" | "formMethod" | "formNoValidate" | "formTarget" | "list" | "max" | "maxLength" | "min" | "minLength" | "multiple" | "readOnly" | "required" | "size" | "src" | "step" | "useMap" | "dir" | "onClick" | "tabIndex" | "role" | "content" | "wrap" | "open" | "href" | "hrefLang" | "target" | "rel" | "download" | "lang" | "media" | "method" | "crossOrigin" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocusCapture" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "rows" | "autoFocus" | "autoComplete" | "isInvalid" | "spellCheck" | "formEncType" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "translate" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "kind" | "htmlFor" | "action" | "nonce" | "selected" | "acceptCharset" | "allowFullScreen" | "allowTransparency" | "as" | "async" | "autoPlay" | "cellPadding" | "cellSpacing" | "charSet" | "challenge" | "classID" | "cols" | "colSpan" | "controls" | "coords" | "dateTime" | "defer" | "encType" | "frameBorder" | "headers" | "high" | "httpEquiv" | "integrity" | "keyParams" | "keyType" | "loop" | "low" | "manifest" | "marginHeight" | "marginWidth" | "mediaGroup" | "muted" | "noValidate" | "optimum" | "playsInline" | "poster" | "preload" | "reversed" | "rowSpan" | "sandbox" | "scope" | "scoped" | "scrolling" | "seamless" | "shape" | "sizes" | "srcDoc" | "srcLang" | "srcSet" | "wmode"> & React.RefAttributes<HTMLSelectElement>>;
|
|
14
14
|
export default Select;
|
|
15
15
|
//# sourceMappingURL=Select.d.ts.map
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type SpectrumTabPanelsProps } from '@adobe/react-spectrum';
|
|
2
|
+
export interface DHCTabPanelsProps<T> extends SpectrumTabPanelsProps<T> {
|
|
3
|
+
/**
|
|
4
|
+
* If static panels with keys should stay mounted when not visible.
|
|
5
|
+
* This will not apply to dynamic panels created with a render function.
|
|
6
|
+
* Defaults to false.
|
|
7
|
+
*/
|
|
8
|
+
keepMounted?: boolean;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Wrapper for react-spectrum TabPanels that adds support for keeping panels mounted
|
|
12
|
+
* when not visible using the `keepMounted` prop.
|
|
13
|
+
* Panels created with a render function will not be kept mounted.
|
|
14
|
+
*/
|
|
15
|
+
export declare function DHCTabPanels<T extends object>(props: DHCTabPanelsProps<T>): JSX.Element;
|
|
16
|
+
//# sourceMappingURL=TabPanels.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabPanels.d.ts","sourceRoot":"","sources":["../../src/spectrum/TabPanels.tsx"],"names":[],"mappings":"AAOA,OAAO,EAGL,KAAK,sBAAsB,EAC5B,MAAM,uBAAuB,CAAC;AAG/B,MAAM,WAAW,iBAAiB,CAAC,CAAC,CAAE,SAAQ,sBAAsB,CAAC,CAAC,CAAC;IACrE;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAC3C,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC1B,GAAG,CAAC,OAAO,CAgFb"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
var _excluded = ["children", "keepMounted"];
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
6
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
|
+
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
8
|
+
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
9
|
+
import React, { useMemo, useRef } from 'react';
|
|
10
|
+
import { createHtmlPortalNode, InPortal, OutPortal } from 'react-reverse-portal';
|
|
11
|
+
import { Item, TabPanels } from '@adobe/react-spectrum';
|
|
12
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
|
+
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
14
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
|
+
/**
|
|
16
|
+
* Wrapper for react-spectrum TabPanels that adds support for keeping panels mounted
|
|
17
|
+
* when not visible using the `keepMounted` prop.
|
|
18
|
+
* Panels created with a render function will not be kept mounted.
|
|
19
|
+
*/
|
|
20
|
+
export function DHCTabPanels(props) {
|
|
21
|
+
var {
|
|
22
|
+
children,
|
|
23
|
+
keepMounted: keepMountedProp = false
|
|
24
|
+
} = props,
|
|
25
|
+
rest = _objectWithoutProperties(props, _excluded);
|
|
26
|
+
var keepMounted = keepMountedProp && typeof children !== 'function';
|
|
27
|
+
var portalNodeMap = useRef(new Map());
|
|
28
|
+
var portalNodes = useMemo(() => {
|
|
29
|
+
var nodes = [];
|
|
30
|
+
var nextNodeMap = new Map(); // Keep track of the portals we use so we can clean up stale portals
|
|
31
|
+
if (!keepMounted) {
|
|
32
|
+
portalNodeMap.current = nextNodeMap;
|
|
33
|
+
return nodes;
|
|
34
|
+
}
|
|
35
|
+
React.Children.forEach(children, child => {
|
|
36
|
+
// Spectrum would ignore these anyway because it uses Item key to determine if the panel mounts
|
|
37
|
+
if (child == null || child.key == null) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
var portal = portalNodeMap.current.get(child.key);
|
|
41
|
+
if (portal == null) {
|
|
42
|
+
portal = createHtmlPortalNode({
|
|
43
|
+
attributes: {
|
|
44
|
+
// Should make the placeholder div not affect layout and act as if children are mounted directly to the parent
|
|
45
|
+
style: 'display: contents'
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
nextNodeMap.set(child.key, portal);
|
|
50
|
+
nodes.push( /*#__PURE__*/_jsx(InPortal, {
|
|
51
|
+
node: portal,
|
|
52
|
+
children: child.props.children
|
|
53
|
+
}, child.key));
|
|
54
|
+
});
|
|
55
|
+
portalNodeMap.current = nextNodeMap;
|
|
56
|
+
return nodes;
|
|
57
|
+
}, [children, keepMounted]);
|
|
58
|
+
var mappedChildren = useMemo(() => {
|
|
59
|
+
var newChildren = [];
|
|
60
|
+
if (!keepMounted) {
|
|
61
|
+
return newChildren;
|
|
62
|
+
}
|
|
63
|
+
// Need to use forEach instead of map because map always changes the key of the returned elements
|
|
64
|
+
React.Children.forEach(children, child => {
|
|
65
|
+
if (child == null || child.key == null) {
|
|
66
|
+
newChildren.push(child);
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
var portal = portalNodeMap.current.get(child.key);
|
|
70
|
+
if (portal == null) {
|
|
71
|
+
newChildren.push(child);
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
newChildren.push( /*#__PURE__*/_jsx(Item, {
|
|
75
|
+
children: /*#__PURE__*/_jsx(OutPortal, {
|
|
76
|
+
node: portal
|
|
77
|
+
})
|
|
78
|
+
}, child.key));
|
|
79
|
+
});
|
|
80
|
+
return newChildren;
|
|
81
|
+
}, [children, keepMounted]);
|
|
82
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
83
|
+
children: [keepMounted && portalNodes, /*#__PURE__*/_jsx(TabPanels
|
|
84
|
+
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
85
|
+
, _objectSpread(_objectSpread({}, rest), {}, {
|
|
86
|
+
children: keepMounted ? mappedChildren : children
|
|
87
|
+
}))]
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=TabPanels.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabPanels.js","names":["React","useMemo","useRef","createHtmlPortalNode","InPortal","OutPortal","Item","TabPanels","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","DHCTabPanels","props","children","keepMounted","keepMountedProp","rest","_objectWithoutProperties","_excluded","portalNodeMap","Map","portalNodes","nodes","nextNodeMap","current","Children","forEach","child","key","portal","get","attributes","style","set","push","node","mappedChildren","newChildren","_objectSpread"],"sources":["../../src/spectrum/TabPanels.tsx"],"sourcesContent":["import React, { type Key, useMemo, useRef } from 'react';\nimport {\n createHtmlPortalNode,\n type HtmlPortalNode,\n InPortal,\n OutPortal,\n} from 'react-reverse-portal';\nimport {\n Item,\n TabPanels,\n type SpectrumTabPanelsProps,\n} from '@adobe/react-spectrum';\nimport { type CollectionChildren } from '@react-types/shared';\n\nexport interface DHCTabPanelsProps<T> extends SpectrumTabPanelsProps<T> {\n /**\n * If static panels with keys should stay mounted when not visible.\n * This will not apply to dynamic panels created with a render function.\n * Defaults to false.\n */\n keepMounted?: boolean;\n}\n\n/**\n * Wrapper for react-spectrum TabPanels that adds support for keeping panels mounted\n * when not visible using the `keepMounted` prop.\n * Panels created with a render function will not be kept mounted.\n */\nexport function DHCTabPanels<T extends object>(\n props: DHCTabPanelsProps<T>\n): JSX.Element {\n const { children, keepMounted: keepMountedProp = false, ...rest } = props;\n const keepMounted = keepMountedProp && typeof children !== 'function';\n\n const portalNodeMap = useRef(new Map<Key, HtmlPortalNode>());\n\n const portalNodes = useMemo(() => {\n const nodes: JSX.Element[] = [];\n const nextNodeMap = new Map<Key, HtmlPortalNode>(); // Keep track of the portals we use so we can clean up stale portals\n if (!keepMounted) {\n portalNodeMap.current = nextNodeMap;\n return nodes;\n }\n React.Children.forEach(children, child => {\n // Spectrum would ignore these anyway because it uses Item key to determine if the panel mounts\n if (child == null || child.key == null) {\n return;\n }\n\n let portal = portalNodeMap.current.get(child.key);\n if (portal == null) {\n portal = createHtmlPortalNode({\n attributes: {\n // Should make the placeholder div not affect layout and act as if children are mounted directly to the parent\n style: 'display: contents',\n },\n });\n }\n nextNodeMap.set(child.key, portal);\n nodes.push(\n <InPortal node={portal} key={child.key}>\n {child.props.children}\n </InPortal>\n );\n });\n\n portalNodeMap.current = nextNodeMap;\n\n return nodes;\n }, [children, keepMounted]);\n\n const mappedChildren: CollectionChildren<T> = useMemo(() => {\n const newChildren: CollectionChildren<T> = [];\n if (!keepMounted) {\n return newChildren;\n }\n // Need to use forEach instead of map because map always changes the key of the returned elements\n React.Children.forEach(children, child => {\n if (child == null || child.key == null) {\n newChildren.push(child);\n return;\n }\n\n const portal = portalNodeMap.current.get(child.key);\n if (portal == null) {\n newChildren.push(child);\n return;\n }\n\n newChildren.push(\n <Item key={child.key}>\n <OutPortal node={portal} />\n </Item>\n );\n });\n\n return newChildren;\n }, [children, keepMounted]);\n\n return (\n <>\n {keepMounted && portalNodes}\n <TabPanels\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...rest}\n >\n {keepMounted ? mappedChildren : children}\n </TabPanels>\n </>\n );\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
export { Accordion, type SpectrumAccordionProps as AccordionProps, Breadcrumbs, type SpectrumBreadcrumbsProps as BreadcrumbsProps, Disclosure, type SpectrumDisclosureProps as DisclosureProps, DisclosureTitle, type SpectrumDisclosureTitleProps as DisclosureTitleProps, DisclosurePanel, type SpectrumDisclosurePanelProps as DisclosurePanelProps, Link, type SpectrumLinkProps as LinkProps, TabList, type SpectrumTabListProps as TabListProps,
|
|
1
|
+
export { Accordion, type SpectrumAccordionProps as AccordionProps, Breadcrumbs, type SpectrumBreadcrumbsProps as BreadcrumbsProps, Disclosure, type SpectrumDisclosureProps as DisclosureProps, DisclosureTitle, type SpectrumDisclosureTitleProps as DisclosureTitleProps, DisclosurePanel, type SpectrumDisclosurePanelProps as DisclosurePanelProps, Link, type SpectrumLinkProps as LinkProps, TabList, type SpectrumTabListProps as TabListProps, Tabs, type SpectrumTabsProps as TabsProps, } from '@adobe/react-spectrum';
|
|
2
|
+
export { DHCTabPanels as TabPanels, type DHCTabPanelsProps as TabPanelsProps, } from './TabPanels';
|
|
2
3
|
//# sourceMappingURL=navigation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../src/spectrum/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,KAAK,sBAAsB,IAAI,cAAc,EAC7C,WAAW,EACX,KAAK,wBAAwB,IAAI,gBAAgB,EACjD,UAAU,EACV,KAAK,uBAAuB,IAAI,eAAe,EAC/C,eAAe,EACf,KAAK,4BAA4B,IAAI,oBAAoB,EACzD,eAAe,EACf,KAAK,4BAA4B,IAAI,oBAAoB,EACzD,IAAI,EACJ,KAAK,iBAAiB,IAAI,SAAS,EACnC,OAAO,EACP,KAAK,oBAAoB,IAAI,YAAY,EACzC,
|
|
1
|
+
{"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../src/spectrum/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,KAAK,sBAAsB,IAAI,cAAc,EAC7C,WAAW,EACX,KAAK,wBAAwB,IAAI,gBAAgB,EACjD,UAAU,EACV,KAAK,uBAAuB,IAAI,eAAe,EAC/C,eAAe,EACf,KAAK,4BAA4B,IAAI,oBAAoB,EACzD,eAAe,EACf,KAAK,4BAA4B,IAAI,oBAAoB,EACzD,IAAI,EACJ,KAAK,iBAAiB,IAAI,SAAS,EACnC,OAAO,EACP,KAAK,oBAAoB,IAAI,YAAY,EACzC,IAAI,EACJ,KAAK,iBAAiB,IAAI,SAAS,GACpC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,YAAY,IAAI,SAAS,EACzB,KAAK,iBAAiB,IAAI,cAAc,GACzC,MAAM,aAAa,CAAC"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
export { Accordion, Breadcrumbs, Disclosure, DisclosureTitle, DisclosurePanel, Link, TabList,
|
|
1
|
+
export { Accordion, Breadcrumbs, Disclosure, DisclosureTitle, DisclosurePanel, Link, TabList, Tabs } from '@adobe/react-spectrum';
|
|
2
|
+
export { DHCTabPanels as TabPanels } from "./TabPanels.js";
|
|
2
3
|
//# sourceMappingURL=navigation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation.js","names":["Accordion","Breadcrumbs","Disclosure","DisclosureTitle","DisclosurePanel","Link","TabList","
|
|
1
|
+
{"version":3,"file":"navigation.js","names":["Accordion","Breadcrumbs","Disclosure","DisclosureTitle","DisclosurePanel","Link","TabList","Tabs","DHCTabPanels","TabPanels"],"sources":["../../src/spectrum/navigation.ts"],"sourcesContent":["export {\n Accordion,\n type SpectrumAccordionProps as AccordionProps,\n Breadcrumbs,\n type SpectrumBreadcrumbsProps as BreadcrumbsProps,\n Disclosure,\n type SpectrumDisclosureProps as DisclosureProps,\n DisclosureTitle,\n type SpectrumDisclosureTitleProps as DisclosureTitleProps,\n DisclosurePanel,\n type SpectrumDisclosurePanelProps as DisclosurePanelProps,\n Link,\n type SpectrumLinkProps as LinkProps,\n TabList,\n type SpectrumTabListProps as TabListProps,\n Tabs,\n type SpectrumTabsProps as TabsProps,\n} from '@adobe/react-spectrum';\nexport {\n DHCTabPanels as TabPanels,\n type DHCTabPanelsProps as TabPanelsProps,\n} from './TabPanels';\n"],"mappings":"AAAA,SACEA,SAAS,EAETC,WAAW,EAEXC,UAAU,EAEVC,eAAe,EAEfC,eAAe,EAEfC,IAAI,EAEJC,OAAO,EAEPC,IAAI,QAEC,uBAAuB;AAAC,SAE7BC,YAAY,IAAIC,SAAS"}
|
|
@@ -2,11 +2,16 @@ export type BaseThemeType = 'dark' | 'light';
|
|
|
2
2
|
export type BaseThemeKey = `default-${BaseThemeType}`;
|
|
3
3
|
export type CssVariableStyleContent = `:root{${string}`;
|
|
4
4
|
export type ThemeCssVariableName = `--dh-${string}`;
|
|
5
|
+
export type ThemeCssColorVariableName = `--dh-color-${string}`;
|
|
5
6
|
export type ThemePreloadColorVariable = '--dh-color-accent-contrast' | '--dh-color-accent-bg' | '--dh-color-accent-hover-bg' | '--dh-color-accent-down-bg' | '--dh-color-accent-key-focus-bg' | '--dh-color-negative-bg' | '--dh-color-loading-spinner-primary' | '--dh-color-loading-spinner-secondary' | '--dh-color-bg' | '--dh-color-fg' | '--dh-color-input-bg' | '--dh-color-input-fg' | '--dh-color-input-disabled-bg' | '--dh-color-input-border' | '--dh-color-input-placeholder' | '--dh-color-input-focus-border' | '--dh-color-text-highlight' | '--dh-color-login-form-bg' | '--dh-color-login-status-message' | '--dh-color-login-logo-bg' | '--dh-color-login-footer-fg' | '--dh-color-random-area-plot-animation-fg-fill' | '--dh-color-random-area-plot-animation-fg-stroke' | '--dh-color-random-area-plot-animation-bg' | '--dh-color-random-area-plot-animation-grid';
|
|
6
7
|
export type ThemeIconsRequiringManualColorChanges = '--dh-svg-icon-select-indicator' | '--dh-svg-icon-select-indicator-hover' | '--dh-svg-icon-select-indicator-disabled' | '--dh-svg-icon-error';
|
|
7
8
|
export declare const DEFAULT_DARK_THEME_KEY = "default-dark";
|
|
8
9
|
export declare const DEFAULT_LIGHT_THEME_KEY = "default-light";
|
|
9
|
-
export declare const
|
|
10
|
+
export declare const EXTERNAL_THEME_KEY: "external-theme";
|
|
11
|
+
export declare const MSG_REQUEST_GET_THEME = "io.deephaven.message.ThemeModel.requestExternalTheme";
|
|
12
|
+
export declare const MSG_REQUEST_SET_THEME = "io.deephaven.message.ThemeModel.requestSetTheme";
|
|
13
|
+
export declare const PRELOAD_TRANSPARENT_THEME_QUERY_PARAM: "preloadTransparentTheme";
|
|
14
|
+
export declare const THEME_KEY_OVERRIDE_QUERY_PARAM: "theme";
|
|
10
15
|
export declare const DEFAULT_DARK_THEME_PALETTE: {
|
|
11
16
|
readonly blue: {
|
|
12
17
|
readonly 500: "#2f5bc0";
|
|
@@ -30,6 +35,7 @@ export declare const DEFAULT_DARK_THEME_PALETTE: {
|
|
|
30
35
|
};
|
|
31
36
|
};
|
|
32
37
|
export declare const DEFAULT_PRELOAD_DATA_VARIABLES: Record<ThemePreloadColorVariable, string>;
|
|
38
|
+
export declare const TRANSPARENT_PRELOAD_DATA_VARIABLES: Partial<Record<ThemePreloadColorVariable, string>>;
|
|
33
39
|
/**
|
|
34
40
|
* Some inline SVGs require manually updating their fill color via
|
|
35
41
|
* `updateSVGFillColors`. This object maps these variables to their respective
|
|
@@ -51,4 +57,9 @@ export interface ThemeRegistrationData {
|
|
|
51
57
|
base: ThemeData[];
|
|
52
58
|
custom: ThemeData[];
|
|
53
59
|
}
|
|
60
|
+
export interface ExternalThemeData {
|
|
61
|
+
baseThemeKey?: BaseThemeKey;
|
|
62
|
+
name: string;
|
|
63
|
+
cssVars: Record<ThemeCssColorVariableName, string>;
|
|
64
|
+
}
|
|
54
65
|
//# sourceMappingURL=ThemeModel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeModel.d.ts","sourceRoot":"","sources":["../../src/theme/ThemeModel.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,CAAC;AAC7C,MAAM,MAAM,YAAY,GAAG,WAAW,aAAa,EAAE,CAAC;AACtD,MAAM,MAAM,uBAAuB,GAAG,SAAS,MAAM,EAAE,CAAC;AACxD,MAAM,MAAM,oBAAoB,GAAG,QAAQ,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"ThemeModel.d.ts","sourceRoot":"","sources":["../../src/theme/ThemeModel.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,CAAC;AAC7C,MAAM,MAAM,YAAY,GAAG,WAAW,aAAa,EAAE,CAAC;AACtD,MAAM,MAAM,uBAAuB,GAAG,SAAS,MAAM,EAAE,CAAC;AACxD,MAAM,MAAM,oBAAoB,GAAG,QAAQ,MAAM,EAAE,CAAC;AACpD,MAAM,MAAM,yBAAyB,GAAG,cAAc,MAAM,EAAE,CAAC;AAO/D,MAAM,MAAM,yBAAyB,GACjC,4BAA4B,GAC5B,sBAAsB,GACtB,4BAA4B,GAC5B,2BAA2B,GAC3B,gCAAgC,GAChC,wBAAwB,GACxB,oCAAoC,GACpC,sCAAsC,GACtC,eAAe,GACf,eAAe,GACf,qBAAqB,GACrB,qBAAqB,GACrB,8BAA8B,GAC9B,yBAAyB,GACzB,8BAA8B,GAC9B,+BAA+B,GAC/B,2BAA2B,GAC3B,0BAA0B,GAC1B,iCAAiC,GACjC,0BAA0B,GAC1B,4BAA4B,GAC5B,+CAA+C,GAC/C,iDAAiD,GACjD,0CAA0C,GAC1C,4CAA4C,CAAC;AAEjD,MAAM,MAAM,qCAAqC,GAC7C,gCAAgC,GAChC,sCAAsC,GACtC,yCAAyC,GACzC,qBAAqB,CAAC;AAE1B,eAAO,MAAM,sBAAsB,iBAAwC,CAAC;AAC5E,eAAO,MAAM,uBAAuB,kBAAyC,CAAC;AAC9E,eAAO,MAAM,kBAAkB,kBAA4B,CAAC;AAC5D,eAAO,MAAM,qBAAqB,yDACsB,CAAC;AACzD,eAAO,MAAM,qBAAqB,oDACiB,CAAC;AACpD,eAAO,MAAM,qCAAqC,2BACd,CAAC;AACrC,eAAO,MAAM,8BAA8B,SAAmB,CAAC;AAI/D,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;CAqB7B,CAAC;AAQX,eAAO,MAAM,8BAA8B,EAAE,MAAM,CACjD,yBAAyB,EACzB,MAAM,CA6BP,CAAC;AAEF,eAAO,MAAM,kCAAkC,EAAE,OAAO,CACtD,MAAM,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAK1C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAC5C,qCAAqC,EACrC,MAAM,CAMP,CAAC;AAEF,eAAO,MAAM,6BAA6B,yBAAyB,CAAC;AAEpE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,uBAAuB,CAAC;CAC/C;AAED,MAAM,WAAW,SAAS;IACxB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAC;CACpD"}
|
package/dist/theme/ThemeModel.js
CHANGED
|
@@ -5,6 +5,10 @@
|
|
|
5
5
|
// codebase. To be addressed by #1679
|
|
6
6
|
export var DEFAULT_DARK_THEME_KEY = 'default-dark';
|
|
7
7
|
export var DEFAULT_LIGHT_THEME_KEY = 'default-light';
|
|
8
|
+
export var EXTERNAL_THEME_KEY = 'external-theme';
|
|
9
|
+
export var MSG_REQUEST_GET_THEME = 'io.deephaven.message.ThemeModel.requestExternalTheme';
|
|
10
|
+
export var MSG_REQUEST_SET_THEME = 'io.deephaven.message.ThemeModel.requestSetTheme';
|
|
11
|
+
export var PRELOAD_TRANSPARENT_THEME_QUERY_PARAM = 'preloadTransparentTheme';
|
|
8
12
|
export var THEME_KEY_OVERRIDE_QUERY_PARAM = 'theme';
|
|
9
13
|
|
|
10
14
|
// Hex versions of some of the default dark theme color palette needed for
|
|
@@ -71,6 +75,11 @@ export var DEFAULT_PRELOAD_DATA_VARIABLES = {
|
|
|
71
75
|
'--dh-color-random-area-plot-animation-bg': DEFAULT_DARK_THEME_PALETTE.gray[75],
|
|
72
76
|
'--dh-color-random-area-plot-animation-grid': DEFAULT_DARK_THEME_PALETTE.gray[300]
|
|
73
77
|
};
|
|
78
|
+
export var TRANSPARENT_PRELOAD_DATA_VARIABLES = {
|
|
79
|
+
'--dh-color-bg': 'transparent',
|
|
80
|
+
'--dh-color-loading-spinner-primary': 'transparent',
|
|
81
|
+
'--dh-color-loading-spinner-secondary': 'transparent'
|
|
82
|
+
};
|
|
74
83
|
|
|
75
84
|
/**
|
|
76
85
|
* Some inline SVGs require manually updating their fill color via
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeModel.js","names":["DEFAULT_DARK_THEME_KEY","DEFAULT_LIGHT_THEME_KEY","THEME_KEY_OVERRIDE_QUERY_PARAM","DEFAULT_DARK_THEME_PALETTE","blue","red","gray","DEFAULT_PRELOAD_DATA_VARIABLES","concat","SVG_ICON_MANUAL_COLOR_MAP","THEME_CACHE_LOCAL_STORAGE_KEY"],"sources":["../../src/theme/ThemeModel.ts"],"sourcesContent":["export type BaseThemeType = 'dark' | 'light';\nexport type BaseThemeKey = `default-${BaseThemeType}`;\nexport type CssVariableStyleContent = `:root{${string}`;\nexport type ThemeCssVariableName = `--dh-${string}`;\n\n// DHC should only need to preload variables that are required by the empty page\n// with loading spinner that shows while plugins are loading. The rest of the\n// preload variables defined here are required by DHE due to theme plugins\n// loading after login. We should consider moving most of these to the DHE\n// codebase. To be addressed by #1679\nexport type ThemePreloadColorVariable =\n | '--dh-color-accent-contrast'\n | '--dh-color-accent-bg'\n | '--dh-color-accent-hover-bg'\n | '--dh-color-accent-down-bg'\n | '--dh-color-accent-key-focus-bg'\n | '--dh-color-negative-bg'\n | '--dh-color-loading-spinner-primary'\n | '--dh-color-loading-spinner-secondary'\n | '--dh-color-bg'\n | '--dh-color-fg'\n | '--dh-color-input-bg'\n | '--dh-color-input-fg'\n | '--dh-color-input-disabled-bg'\n | '--dh-color-input-border'\n | '--dh-color-input-placeholder'\n | '--dh-color-input-focus-border'\n | '--dh-color-text-highlight'\n | '--dh-color-login-form-bg'\n | '--dh-color-login-status-message'\n | '--dh-color-login-logo-bg'\n | '--dh-color-login-footer-fg'\n | '--dh-color-random-area-plot-animation-fg-fill'\n | '--dh-color-random-area-plot-animation-fg-stroke'\n | '--dh-color-random-area-plot-animation-bg'\n | '--dh-color-random-area-plot-animation-grid';\n\nexport type ThemeIconsRequiringManualColorChanges =\n | '--dh-svg-icon-select-indicator'\n | '--dh-svg-icon-select-indicator-hover'\n | '--dh-svg-icon-select-indicator-disabled'\n | '--dh-svg-icon-error';\n\nexport const DEFAULT_DARK_THEME_KEY = 'default-dark' satisfies BaseThemeKey;\nexport const DEFAULT_LIGHT_THEME_KEY = 'default-light' satisfies BaseThemeKey;\nexport const THEME_KEY_OVERRIDE_QUERY_PARAM = 'theme';\n\n// Hex versions of some of the default dark theme color palette needed for\n// preload defaults.\nexport const DEFAULT_DARK_THEME_PALETTE = {\n blue: {\n 500: '#2f5bc0',\n 400: '#254ba4',\n 600: '#3b6bda', // accent color\n 700: '#4c7dee',\n },\n red: {\n 600: '#c73f61',\n },\n gray: {\n 50: '#1a171a',\n 75: '#211f22',\n 300: '#373438',\n 400: '#403e41',\n 500: '#5b5a5c',\n 600: '#929192',\n 700: '#c0bfbf',\n 800: '#f0f0ee',\n 900: '#fcfcfa',\n },\n} as const;\n\n// Css properties that are used in preload data with default values.\n// DHC should only need to preload variables that are required by the empty page\n// with loading spinner that shows while plugins are loading. The rest of the\n// preload variables defined here are required by DHE due to theme plugins\n// loading after login. We should consider moving most of these to the DHE\n// codebase. To be addressed by #1679\nexport const DEFAULT_PRELOAD_DATA_VARIABLES: Record<\n ThemePreloadColorVariable,\n string\n> = {\n '--dh-color-accent-contrast': DEFAULT_DARK_THEME_PALETTE.gray[900],\n '--dh-color-accent-bg': DEFAULT_DARK_THEME_PALETTE.blue[600],\n '--dh-color-accent-hover-bg': DEFAULT_DARK_THEME_PALETTE.blue[500],\n '--dh-color-accent-down-bg': DEFAULT_DARK_THEME_PALETTE.blue[400],\n '--dh-color-accent-key-focus-bg': DEFAULT_DARK_THEME_PALETTE.blue[500],\n '--dh-color-negative-bg': DEFAULT_DARK_THEME_PALETTE.red[600],\n '--dh-color-loading-spinner-primary': DEFAULT_DARK_THEME_PALETTE.blue[600],\n '--dh-color-loading-spinner-secondary': `${DEFAULT_DARK_THEME_PALETTE.gray[800]}80`, // 50% opacity\n '--dh-color-bg': DEFAULT_DARK_THEME_PALETTE.gray[50],\n '--dh-color-fg': DEFAULT_DARK_THEME_PALETTE.gray[800],\n '--dh-color-input-bg': DEFAULT_DARK_THEME_PALETTE.gray[500],\n '--dh-color-input-fg': DEFAULT_DARK_THEME_PALETTE.gray[800],\n '--dh-color-input-disabled-bg': DEFAULT_DARK_THEME_PALETTE.gray[300],\n '--dh-color-input-border': DEFAULT_DARK_THEME_PALETTE.gray[600],\n '--dh-color-input-placeholder': DEFAULT_DARK_THEME_PALETTE.gray[600],\n '--dh-color-input-focus-border': `${DEFAULT_DARK_THEME_PALETTE.blue[600]}d9`, // 85% opacity\n '--dh-color-text-highlight': `${DEFAULT_DARK_THEME_PALETTE.blue[700]}4d`, // 30% opacity\n '--dh-color-login-form-bg': DEFAULT_DARK_THEME_PALETTE.gray[400],\n '--dh-color-login-status-message': DEFAULT_DARK_THEME_PALETTE.gray[600],\n '--dh-color-login-logo-bg': DEFAULT_DARK_THEME_PALETTE.gray[900],\n '--dh-color-login-footer-fg': DEFAULT_DARK_THEME_PALETTE.gray[700],\n '--dh-color-random-area-plot-animation-fg-fill': `${DEFAULT_DARK_THEME_PALETTE.blue[600]}14`, // .08 opacity\n '--dh-color-random-area-plot-animation-fg-stroke': `${DEFAULT_DARK_THEME_PALETTE.blue[600]}33`, // .2 opacity\n '--dh-color-random-area-plot-animation-bg':\n DEFAULT_DARK_THEME_PALETTE.gray[75],\n '--dh-color-random-area-plot-animation-grid':\n DEFAULT_DARK_THEME_PALETTE.gray[300],\n};\n\n/**\n * Some inline SVGs require manually updating their fill color via\n * `updateSVGFillColors`. This object maps these variables to their respective\n * fill color variables.\n */\nexport const SVG_ICON_MANUAL_COLOR_MAP: Record<\n ThemeIconsRequiringManualColorChanges,\n string\n> = {\n '--dh-svg-icon-select-indicator': '--dh-color-selector-fg',\n '--dh-svg-icon-select-indicator-hover': '--dh-color-selector-hover-fg',\n '--dh-svg-icon-select-indicator-disabled': '--dh-color-selector-disabled-fg',\n '--dh-svg-icon-error': '--dh-color-form-control-error',\n};\n\nexport const THEME_CACHE_LOCAL_STORAGE_KEY = 'deephaven.themeCache';\n\nexport interface ThemePreloadData {\n themeKey: string;\n preloadStyleContent?: CssVariableStyleContent;\n}\n\nexport interface ThemeData {\n baseThemeKey?: BaseThemeKey;\n themeKey: string;\n name: string;\n styleContent: string;\n}\n\nexport interface ThemeRegistrationData {\n base: ThemeData[];\n custom: ThemeData[];\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ThemeModel.js","names":["DEFAULT_DARK_THEME_KEY","DEFAULT_LIGHT_THEME_KEY","EXTERNAL_THEME_KEY","MSG_REQUEST_GET_THEME","MSG_REQUEST_SET_THEME","PRELOAD_TRANSPARENT_THEME_QUERY_PARAM","THEME_KEY_OVERRIDE_QUERY_PARAM","DEFAULT_DARK_THEME_PALETTE","blue","red","gray","DEFAULT_PRELOAD_DATA_VARIABLES","concat","TRANSPARENT_PRELOAD_DATA_VARIABLES","SVG_ICON_MANUAL_COLOR_MAP","THEME_CACHE_LOCAL_STORAGE_KEY"],"sources":["../../src/theme/ThemeModel.ts"],"sourcesContent":["export type BaseThemeType = 'dark' | 'light';\nexport type BaseThemeKey = `default-${BaseThemeType}`;\nexport type CssVariableStyleContent = `:root{${string}`;\nexport type ThemeCssVariableName = `--dh-${string}`;\nexport type ThemeCssColorVariableName = `--dh-color-${string}`;\n\n// DHC should only need to preload variables that are required by the empty page\n// with loading spinner that shows while plugins are loading. The rest of the\n// preload variables defined here are required by DHE due to theme plugins\n// loading after login. We should consider moving most of these to the DHE\n// codebase. To be addressed by #1679\nexport type ThemePreloadColorVariable =\n | '--dh-color-accent-contrast'\n | '--dh-color-accent-bg'\n | '--dh-color-accent-hover-bg'\n | '--dh-color-accent-down-bg'\n | '--dh-color-accent-key-focus-bg'\n | '--dh-color-negative-bg'\n | '--dh-color-loading-spinner-primary'\n | '--dh-color-loading-spinner-secondary'\n | '--dh-color-bg'\n | '--dh-color-fg'\n | '--dh-color-input-bg'\n | '--dh-color-input-fg'\n | '--dh-color-input-disabled-bg'\n | '--dh-color-input-border'\n | '--dh-color-input-placeholder'\n | '--dh-color-input-focus-border'\n | '--dh-color-text-highlight'\n | '--dh-color-login-form-bg'\n | '--dh-color-login-status-message'\n | '--dh-color-login-logo-bg'\n | '--dh-color-login-footer-fg'\n | '--dh-color-random-area-plot-animation-fg-fill'\n | '--dh-color-random-area-plot-animation-fg-stroke'\n | '--dh-color-random-area-plot-animation-bg'\n | '--dh-color-random-area-plot-animation-grid';\n\nexport type ThemeIconsRequiringManualColorChanges =\n | '--dh-svg-icon-select-indicator'\n | '--dh-svg-icon-select-indicator-hover'\n | '--dh-svg-icon-select-indicator-disabled'\n | '--dh-svg-icon-error';\n\nexport const DEFAULT_DARK_THEME_KEY = 'default-dark' satisfies BaseThemeKey;\nexport const DEFAULT_LIGHT_THEME_KEY = 'default-light' satisfies BaseThemeKey;\nexport const EXTERNAL_THEME_KEY = 'external-theme' as const;\nexport const MSG_REQUEST_GET_THEME =\n 'io.deephaven.message.ThemeModel.requestExternalTheme';\nexport const MSG_REQUEST_SET_THEME =\n 'io.deephaven.message.ThemeModel.requestSetTheme';\nexport const PRELOAD_TRANSPARENT_THEME_QUERY_PARAM =\n 'preloadTransparentTheme' as const;\nexport const THEME_KEY_OVERRIDE_QUERY_PARAM = 'theme' as const;\n\n// Hex versions of some of the default dark theme color palette needed for\n// preload defaults.\nexport const DEFAULT_DARK_THEME_PALETTE = {\n blue: {\n 500: '#2f5bc0',\n 400: '#254ba4',\n 600: '#3b6bda', // accent color\n 700: '#4c7dee',\n },\n red: {\n 600: '#c73f61',\n },\n gray: {\n 50: '#1a171a',\n 75: '#211f22',\n 300: '#373438',\n 400: '#403e41',\n 500: '#5b5a5c',\n 600: '#929192',\n 700: '#c0bfbf',\n 800: '#f0f0ee',\n 900: '#fcfcfa',\n },\n} as const;\n\n// Css properties that are used in preload data with default values.\n// DHC should only need to preload variables that are required by the empty page\n// with loading spinner that shows while plugins are loading. The rest of the\n// preload variables defined here are required by DHE due to theme plugins\n// loading after login. We should consider moving most of these to the DHE\n// codebase. To be addressed by #1679\nexport const DEFAULT_PRELOAD_DATA_VARIABLES: Record<\n ThemePreloadColorVariable,\n string\n> = {\n '--dh-color-accent-contrast': DEFAULT_DARK_THEME_PALETTE.gray[900],\n '--dh-color-accent-bg': DEFAULT_DARK_THEME_PALETTE.blue[600],\n '--dh-color-accent-hover-bg': DEFAULT_DARK_THEME_PALETTE.blue[500],\n '--dh-color-accent-down-bg': DEFAULT_DARK_THEME_PALETTE.blue[400],\n '--dh-color-accent-key-focus-bg': DEFAULT_DARK_THEME_PALETTE.blue[500],\n '--dh-color-negative-bg': DEFAULT_DARK_THEME_PALETTE.red[600],\n '--dh-color-loading-spinner-primary': DEFAULT_DARK_THEME_PALETTE.blue[600],\n '--dh-color-loading-spinner-secondary': `${DEFAULT_DARK_THEME_PALETTE.gray[800]}80`, // 50% opacity\n '--dh-color-bg': DEFAULT_DARK_THEME_PALETTE.gray[50],\n '--dh-color-fg': DEFAULT_DARK_THEME_PALETTE.gray[800],\n '--dh-color-input-bg': DEFAULT_DARK_THEME_PALETTE.gray[500],\n '--dh-color-input-fg': DEFAULT_DARK_THEME_PALETTE.gray[800],\n '--dh-color-input-disabled-bg': DEFAULT_DARK_THEME_PALETTE.gray[300],\n '--dh-color-input-border': DEFAULT_DARK_THEME_PALETTE.gray[600],\n '--dh-color-input-placeholder': DEFAULT_DARK_THEME_PALETTE.gray[600],\n '--dh-color-input-focus-border': `${DEFAULT_DARK_THEME_PALETTE.blue[600]}d9`, // 85% opacity\n '--dh-color-text-highlight': `${DEFAULT_DARK_THEME_PALETTE.blue[700]}4d`, // 30% opacity\n '--dh-color-login-form-bg': DEFAULT_DARK_THEME_PALETTE.gray[400],\n '--dh-color-login-status-message': DEFAULT_DARK_THEME_PALETTE.gray[600],\n '--dh-color-login-logo-bg': DEFAULT_DARK_THEME_PALETTE.gray[900],\n '--dh-color-login-footer-fg': DEFAULT_DARK_THEME_PALETTE.gray[700],\n '--dh-color-random-area-plot-animation-fg-fill': `${DEFAULT_DARK_THEME_PALETTE.blue[600]}14`, // .08 opacity\n '--dh-color-random-area-plot-animation-fg-stroke': `${DEFAULT_DARK_THEME_PALETTE.blue[600]}33`, // .2 opacity\n '--dh-color-random-area-plot-animation-bg':\n DEFAULT_DARK_THEME_PALETTE.gray[75],\n '--dh-color-random-area-plot-animation-grid':\n DEFAULT_DARK_THEME_PALETTE.gray[300],\n};\n\nexport const TRANSPARENT_PRELOAD_DATA_VARIABLES: Partial<\n Record<ThemePreloadColorVariable, string>\n> = {\n '--dh-color-bg': 'transparent',\n '--dh-color-loading-spinner-primary': 'transparent',\n '--dh-color-loading-spinner-secondary': 'transparent',\n};\n\n/**\n * Some inline SVGs require manually updating their fill color via\n * `updateSVGFillColors`. This object maps these variables to their respective\n * fill color variables.\n */\nexport const SVG_ICON_MANUAL_COLOR_MAP: Record<\n ThemeIconsRequiringManualColorChanges,\n string\n> = {\n '--dh-svg-icon-select-indicator': '--dh-color-selector-fg',\n '--dh-svg-icon-select-indicator-hover': '--dh-color-selector-hover-fg',\n '--dh-svg-icon-select-indicator-disabled': '--dh-color-selector-disabled-fg',\n '--dh-svg-icon-error': '--dh-color-form-control-error',\n};\n\nexport const THEME_CACHE_LOCAL_STORAGE_KEY = 'deephaven.themeCache';\n\nexport interface ThemePreloadData {\n themeKey: string;\n preloadStyleContent?: CssVariableStyleContent;\n}\n\nexport interface ThemeData {\n baseThemeKey?: BaseThemeKey;\n themeKey: string;\n name: string;\n styleContent: string;\n}\n\nexport interface ThemeRegistrationData {\n base: ThemeData[];\n custom: ThemeData[];\n}\n\nexport interface ExternalThemeData {\n baseThemeKey?: BaseThemeKey;\n name: string;\n cssVars: Record<ThemeCssColorVariableName, string>;\n}\n"],"mappings":"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"}
|
|
@@ -10,9 +10,10 @@ export interface ThemeContextValue {
|
|
|
10
10
|
export declare const ThemeContext: import("react").Context<ThemeContextValue | null>;
|
|
11
11
|
export interface ThemeProviderProps {
|
|
12
12
|
themes: ThemeData[] | null;
|
|
13
|
+
waitForActivation?: boolean;
|
|
13
14
|
defaultPreloadValues?: Record<string, string>;
|
|
14
15
|
children: ReactNode;
|
|
15
16
|
}
|
|
16
|
-
export declare function ThemeProvider({ themes: customThemes, defaultPreloadValues, children, }: ThemeProviderProps): JSX.Element | null;
|
|
17
|
+
export declare function ThemeProvider({ themes: customThemes, waitForActivation, defaultPreloadValues, children, }: ThemeProviderProps): JSX.Element | null;
|
|
17
18
|
export default ThemeProvider;
|
|
18
19
|
//# sourceMappingURL=ThemeProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeProvider.d.ts","sourceRoot":"","sources":["../../src/theme/ThemeProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,SAAS,EAIf,MAAM,OAAO,CAAC;AAEf,OAAO,EAAkC,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAU9E,OAAO,kBAAkB,CAAC;AAE1B,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,mBAAmB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACjD;AAID,eAAO,MAAM,YAAY,mDAAgD,CAAC;AAE1E,MAAM,WAAW,kBAAkB;IAMjC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"ThemeProvider.d.ts","sourceRoot":"","sources":["../../src/theme/ThemeProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,SAAS,EAIf,MAAM,OAAO,CAAC;AAEf,OAAO,EAAkC,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAU9E,OAAO,kBAAkB,CAAC;AAE1B,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,mBAAmB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACjD;AAID,eAAO,MAAM,YAAY,mDAAgD,CAAC;AAE1E,MAAM,WAAW,kBAAkB;IAMjC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAU3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EAAE,YAAY,EACpB,iBAAyB,EACzB,oBAAqD,EACrD,QAAQ,GACT,EAAE,kBAAkB,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CAsFzC;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -12,6 +12,7 @@ export var ThemeContext = /*#__PURE__*/createContext(null);
|
|
|
12
12
|
export function ThemeProvider(_ref) {
|
|
13
13
|
var {
|
|
14
14
|
themes: customThemes,
|
|
15
|
+
waitForActivation = false,
|
|
15
16
|
defaultPreloadValues = DEFAULT_PRELOAD_DATA_VARIABLES,
|
|
16
17
|
children
|
|
17
18
|
} = _ref;
|
|
@@ -54,6 +55,9 @@ export function ThemeProvider(_ref) {
|
|
|
54
55
|
setSelectedThemeKey
|
|
55
56
|
});
|
|
56
57
|
}, [activeThemes, selectedThemeKey, themes]);
|
|
58
|
+
if (waitForActivation && activeThemes == null) {
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
57
61
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
58
62
|
children: [activeThemes == null ? null : /*#__PURE__*/_jsx(_Fragment, {
|
|
59
63
|
children: activeThemes.map(theme => /*#__PURE__*/_jsx("style", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeProvider.js","names":["createContext","useEffect","useMemo","useState","Log","DEFAULT_PRELOAD_DATA_VARIABLES","calculatePreloadStyleContent","getActiveThemes","getDefaultBaseThemes","setThemePreloadData","overrideSVGFillColors","getDefaultSelectedThemeKey","SpectrumThemeProvider","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","log","module","ThemeContext","ThemeProvider","_ref","themes","customThemes","defaultPreloadValues","children","baseThemes","value","setValue","selectedThemeKey","setSelectedThemeKey","activeThemes","base","custom","updateThemePreloadData","preloadStyleContent","debug2","active","map","theme","themeKey","styleContent","Provider"],"sources":["../../src/theme/ThemeProvider.tsx"],"sourcesContent":["import {\n createContext,\n type ReactNode,\n useEffect,\n useMemo,\n useState,\n} from 'react';\nimport Log from '@deephaven/log';\nimport { DEFAULT_PRELOAD_DATA_VARIABLES, type ThemeData } from './ThemeModel';\nimport {\n calculatePreloadStyleContent,\n getActiveThemes,\n getDefaultBaseThemes,\n setThemePreloadData,\n overrideSVGFillColors,\n getDefaultSelectedThemeKey,\n} from './ThemeUtils';\nimport { SpectrumThemeProvider } from './SpectrumThemeProvider';\nimport './theme-svg.scss';\n\nexport interface ThemeContextValue {\n activeThemes: ThemeData[] | null;\n selectedThemeKey: string;\n themes: ThemeData[];\n setSelectedThemeKey: (themeKey: string) => void;\n}\n\nconst log = Log.module('ThemeProvider');\n\nexport const ThemeContext = createContext<ThemeContextValue | null>(null);\n\nexport interface ThemeProviderProps {\n /*\n * Additional themes to load in addition to the base themes. If no additional\n * themes are to be loaded, this must be set to an empty array in order to\n * tell the provider to activate the base themes.\n */\n themes: ThemeData[] | null;\n defaultPreloadValues?: Record<string, string>;\n children: ReactNode;\n}\n\nexport function ThemeProvider({\n themes: customThemes,\n defaultPreloadValues = DEFAULT_PRELOAD_DATA_VARIABLES,\n children,\n}: ThemeProviderProps): JSX.Element | null {\n const baseThemes = useMemo(() => getDefaultBaseThemes(), []);\n\n const [value, setValue] = useState<ThemeContextValue | null>(null);\n\n const [selectedThemeKey, setSelectedThemeKey] = useState<string>(\n getDefaultSelectedThemeKey\n );\n\n // Calculate active themes once a non-null themes array is provided.\n const activeThemes = useMemo(\n () =>\n customThemes == null\n ? null\n : getActiveThemes(selectedThemeKey, {\n base: baseThemes,\n custom: customThemes ?? [],\n }),\n [baseThemes, selectedThemeKey, customThemes]\n );\n\n const themes = useMemo(\n () => [...baseThemes, ...(customThemes ?? [])],\n [baseThemes, customThemes]\n );\n\n useEffect(\n function updateThemePreloadData() {\n // Don't update preload data until themes have been loaded and activated\n if (activeThemes == null || customThemes == null) {\n return;\n }\n\n // Override fill color for certain inline SVGs (the originals are provided\n // by theme-svg.scss)\n overrideSVGFillColors(defaultPreloadValues);\n\n const preloadStyleContent =\n calculatePreloadStyleContent(defaultPreloadValues);\n\n log.debug2('updateThemePreloadData:', {\n active: activeThemes.map(theme => theme.themeKey),\n custom: customThemes.map(theme => theme.themeKey),\n preloadStyleContent,\n selectedThemeKey,\n });\n\n setThemePreloadData({\n themeKey: selectedThemeKey,\n preloadStyleContent,\n });\n },\n [activeThemes, selectedThemeKey, customThemes, defaultPreloadValues]\n );\n\n useEffect(() => {\n setValue({\n activeThemes,\n selectedThemeKey,\n themes,\n setSelectedThemeKey,\n });\n }, [activeThemes, selectedThemeKey, themes]);\n\n return (\n <>\n {activeThemes == null ? null : (\n <>\n {activeThemes.map(theme => (\n <style data-theme-key={theme.themeKey} key={theme.themeKey}>\n {theme.styleContent}\n </style>\n ))}\n </>\n )}\n {value == null ? null : (\n <ThemeContext.Provider value={value}>\n <SpectrumThemeProvider>{children}</SpectrumThemeProvider>\n </ThemeContext.Provider>\n )}\n </>\n );\n}\n\nexport default ThemeProvider;\n"],"mappings":"AAAA,SACEA,aAAa,EAEbC,SAAS,EACTC,OAAO,EACPC,QAAQ,QACH,OAAO;AACd,OAAOC,GAAG,MAAM,gBAAgB;AAAC,SACxBC,8BAA8B;AAAA,SAErCC,4BAA4B,EAC5BC,eAAe,EACfC,oBAAoB,EACpBC,mBAAmB,EACnBC,qBAAqB,EACrBC,0BAA0B;AAAA,SAEnBC,qBAAqB;AAAA;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAU9B,IAAMC,GAAG,GAAGf,GAAG,CAACgB,MAAM,CAAC,eAAe,CAAC;AAEvC,OAAO,IAAMC,YAAY,gBAAGrB,aAAa,CAA2B,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"ThemeProvider.js","names":["createContext","useEffect","useMemo","useState","Log","DEFAULT_PRELOAD_DATA_VARIABLES","calculatePreloadStyleContent","getActiveThemes","getDefaultBaseThemes","setThemePreloadData","overrideSVGFillColors","getDefaultSelectedThemeKey","SpectrumThemeProvider","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","log","module","ThemeContext","ThemeProvider","_ref","themes","customThemes","waitForActivation","defaultPreloadValues","children","baseThemes","value","setValue","selectedThemeKey","setSelectedThemeKey","activeThemes","base","custom","updateThemePreloadData","preloadStyleContent","debug2","active","map","theme","themeKey","styleContent","Provider"],"sources":["../../src/theme/ThemeProvider.tsx"],"sourcesContent":["import {\n createContext,\n type ReactNode,\n useEffect,\n useMemo,\n useState,\n} from 'react';\nimport Log from '@deephaven/log';\nimport { DEFAULT_PRELOAD_DATA_VARIABLES, type ThemeData } from './ThemeModel';\nimport {\n calculatePreloadStyleContent,\n getActiveThemes,\n getDefaultBaseThemes,\n setThemePreloadData,\n overrideSVGFillColors,\n getDefaultSelectedThemeKey,\n} from './ThemeUtils';\nimport { SpectrumThemeProvider } from './SpectrumThemeProvider';\nimport './theme-svg.scss';\n\nexport interface ThemeContextValue {\n activeThemes: ThemeData[] | null;\n selectedThemeKey: string;\n themes: ThemeData[];\n setSelectedThemeKey: (themeKey: string) => void;\n}\n\nconst log = Log.module('ThemeProvider');\n\nexport const ThemeContext = createContext<ThemeContextValue | null>(null);\n\nexport interface ThemeProviderProps {\n /*\n * Additional themes to load in addition to the base themes. If no additional\n * themes are to be loaded, this must be set to an empty array in order to\n * tell the provider to activate the base themes.\n */\n themes: ThemeData[] | null;\n // In DHC web, custom themes are typically loaded from plugins. Since these\n // get loaded after login, we have to be able to render the children containing\n // the `Login` component before themes are activated. This means that `children`\n // get loaded before all styles are available. In cases where themes don't require\n // children to be rendered such as external themes requested from a parent Window,\n // we can defer the rendering of children until the themes are activated which\n // is less likely to render initial content with the wrong theme. We can get\n // rid of this prop if we ever find a way to load themes without depending on\n // children. See https://deephaven.atlassian.net/browse/DH-19400\n waitForActivation?: boolean;\n defaultPreloadValues?: Record<string, string>;\n children: ReactNode;\n}\n\nexport function ThemeProvider({\n themes: customThemes,\n waitForActivation = false,\n defaultPreloadValues = DEFAULT_PRELOAD_DATA_VARIABLES,\n children,\n}: ThemeProviderProps): JSX.Element | null {\n const baseThemes = useMemo(() => getDefaultBaseThemes(), []);\n\n const [value, setValue] = useState<ThemeContextValue | null>(null);\n\n const [selectedThemeKey, setSelectedThemeKey] = useState<string>(\n getDefaultSelectedThemeKey\n );\n\n // Calculate active themes once a non-null themes array is provided.\n const activeThemes = useMemo(\n () =>\n customThemes == null\n ? null\n : getActiveThemes(selectedThemeKey, {\n base: baseThemes,\n custom: customThemes ?? [],\n }),\n [baseThemes, selectedThemeKey, customThemes]\n );\n\n const themes = useMemo(\n () => [...baseThemes, ...(customThemes ?? [])],\n [baseThemes, customThemes]\n );\n\n useEffect(\n function updateThemePreloadData() {\n // Don't update preload data until themes have been loaded and activated\n if (activeThemes == null || customThemes == null) {\n return;\n }\n\n // Override fill color for certain inline SVGs (the originals are provided\n // by theme-svg.scss)\n overrideSVGFillColors(defaultPreloadValues);\n\n const preloadStyleContent =\n calculatePreloadStyleContent(defaultPreloadValues);\n\n log.debug2('updateThemePreloadData:', {\n active: activeThemes.map(theme => theme.themeKey),\n custom: customThemes.map(theme => theme.themeKey),\n preloadStyleContent,\n selectedThemeKey,\n });\n\n setThemePreloadData({\n themeKey: selectedThemeKey,\n preloadStyleContent,\n });\n },\n [activeThemes, selectedThemeKey, customThemes, defaultPreloadValues]\n );\n\n useEffect(() => {\n setValue({\n activeThemes,\n selectedThemeKey,\n themes,\n setSelectedThemeKey,\n });\n }, [activeThemes, selectedThemeKey, themes]);\n\n if (waitForActivation && activeThemes == null) {\n return null;\n }\n\n return (\n <>\n {activeThemes == null ? null : (\n <>\n {activeThemes.map(theme => (\n <style data-theme-key={theme.themeKey} key={theme.themeKey}>\n {theme.styleContent}\n </style>\n ))}\n </>\n )}\n {value == null ? null : (\n <ThemeContext.Provider value={value}>\n <SpectrumThemeProvider>{children}</SpectrumThemeProvider>\n </ThemeContext.Provider>\n )}\n </>\n );\n}\n\nexport default ThemeProvider;\n"],"mappings":"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"}
|