@rubin-epo/epo-widget-lib 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/README.MD +86 -0
  2. package/dist/assets/locales/index.d.ts +115 -0
  3. package/dist/atomic/Blinker/Blinker.d.ts +14 -0
  4. package/dist/atomic/Blinker/Controls/Controls.d.ts +11 -0
  5. package/dist/atomic/Blinker/Controls/styles.d.ts +1 -0
  6. package/dist/atomic/Blinker/Image/Image.d.ts +9 -0
  7. package/dist/atomic/Blinker/Image/styles.d.ts +3 -0
  8. package/dist/atomic/Blinker/Images/Images.d.ts +8 -0
  9. package/dist/atomic/Blinker/Images/styles.d.ts +4 -0
  10. package/dist/atomic/Blinker/index.d.ts +1 -0
  11. package/dist/atomic/Blinker/styles.d.ts +10 -0
  12. package/dist/atomic/ElapsedTime/ElapsedTime.d.ts +10 -0
  13. package/dist/atomic/ElapsedTime/index.d.ts +1 -0
  14. package/dist/atomic/ElapsedTime/styles.d.ts +6 -0
  15. package/dist/atomic/PlaybackControl/PlaybackControl.d.ts +9 -0
  16. package/dist/atomic/PlaybackControl/index.d.ts +1 -0
  17. package/dist/atomic/PlaybackControl/styles.d.ts +2 -0
  18. package/dist/epo-widget-lib.es.js +3434 -0
  19. package/dist/epo-widget-lib.umd.js +459 -0
  20. package/dist/hooks/useInterval.d.ts +1 -0
  21. package/dist/index.d.ts +6 -0
  22. package/dist/lib/utils.d.ts +13 -0
  23. package/dist/styles/svg.d.ts +1 -0
  24. package/dist/types/astro.d.ts +35 -0
  25. package/dist/vite-env.d.ts +1 -0
  26. package/dist/widgets/CameraFilter/CameraFilter.d.ts +3 -0
  27. package/dist/widgets/CameraFilter/CondensedFilterRanges/CondensedFilterRanges.d.ts +9 -0
  28. package/dist/widgets/CameraFilter/CondensedFilterRanges/index.d.ts +1 -0
  29. package/dist/widgets/CameraFilter/SpectrumDisplay/ColorLabels/ColorLabels.d.ts +10 -0
  30. package/dist/widgets/CameraFilter/SpectrumDisplay/ColorLabels/index.d.ts +1 -0
  31. package/dist/widgets/CameraFilter/SpectrumDisplay/SpectrumDisplay.d.ts +11 -0
  32. package/dist/widgets/CameraFilter/SpectrumDisplay/SpectrumLabels/SpectrumLabels.d.ts +14 -0
  33. package/dist/widgets/CameraFilter/SpectrumDisplay/SpectrumLabels/index.d.ts +1 -0
  34. package/dist/widgets/CameraFilter/SpectrumDisplay/index.d.ts +1 -0
  35. package/dist/widgets/CameraFilter/data.d.ts +39 -0
  36. package/dist/widgets/CameraFilter/index.d.ts +1 -0
  37. package/dist/widgets/CameraFilter/styles.d.ts +22 -0
  38. package/dist/widgets/ColorTool/ColorTool.d.ts +39 -0
  39. package/dist/widgets/ColorTool/FilterControls/FilterControls.d.ts +14 -0
  40. package/dist/widgets/ColorTool/FilterControls/index.d.ts +1 -0
  41. package/dist/widgets/ColorTool/FilterImage/FilterImage.d.ts +11 -0
  42. package/dist/widgets/ColorTool/FilterImage/index.d.ts +1 -0
  43. package/dist/widgets/ColorTool/ImageComposite/ImageComposite.d.ts +7 -0
  44. package/dist/widgets/ColorTool/ImageComposite/index.d.ts +1 -0
  45. package/dist/widgets/ColorTool/index.d.ts +1 -0
  46. package/dist/widgets/ColorTool/styles.d.ts +23 -0
  47. package/dist/widgets/ColorTool/utilities.d.ts +21 -0
  48. package/dist/widgets/FilterTool/FilterTool.d.ts +9 -0
  49. package/dist/widgets/FilterTool/index.d.ts +1 -0
  50. package/dist/widgets/FilterTool/styles.d.ts +15 -0
  51. package/dist/widgets/SourceSelector/Message/Message.d.ts +10 -0
  52. package/dist/widgets/SourceSelector/Message/index.d.ts +1 -0
  53. package/dist/widgets/SourceSelector/Point/Point.d.ts +15 -0
  54. package/dist/widgets/SourceSelector/Point/index.d.ts +1 -0
  55. package/dist/widgets/SourceSelector/Point/styles.d.ts +3 -0
  56. package/dist/widgets/SourceSelector/Points/Points.d.ts +13 -0
  57. package/dist/widgets/SourceSelector/Points/index.d.ts +1 -0
  58. package/dist/widgets/SourceSelector/SourceSelector.d.ts +22 -0
  59. package/dist/widgets/SourceSelector/index.d.ts +1 -0
  60. package/dist/widgets/SourceSelector/styles.d.ts +10 -0
  61. package/dist/widgets/SourceSelector/utilities.d.ts +1 -0
  62. package/package.json +45 -0
@@ -0,0 +1,9 @@
1
+ import { FunctionComponent } from "react";
2
+ import { Filter } from "../data";
3
+ interface FilterRangesProps {
4
+ filters: Array<Required<Filter>>;
5
+ min: number;
6
+ spectrumRange: number;
7
+ }
8
+ declare const CondensedFilterRanges: FunctionComponent<FilterRangesProps>;
9
+ export default CondensedFilterRanges;
@@ -0,0 +1 @@
1
+ export { default } from "./CondensedFilterRanges";
@@ -0,0 +1,10 @@
1
+ import { FunctionComponent } from "react";
2
+ import { VisibleColor } from "../../data";
3
+ interface ColorLabelsProps {
4
+ colors: VisibleColor[];
5
+ activeRange: number[];
6
+ isBandSelected: boolean;
7
+ isCondensed: boolean;
8
+ }
9
+ declare const ColorLabels: FunctionComponent<ColorLabelsProps>;
10
+ export default ColorLabels;
@@ -0,0 +1 @@
1
+ export { default } from "./ColorLabels";
@@ -0,0 +1,11 @@
1
+ import { FunctionComponent } from "react";
2
+ import { Filter } from "../data";
3
+ interface SpectrumDisplayProps {
4
+ min: number;
5
+ max: number;
6
+ range: number;
7
+ isCondensed: boolean;
8
+ activeFilter?: Filter;
9
+ }
10
+ declare const SpectrumDisplay: FunctionComponent<SpectrumDisplayProps>;
11
+ export default SpectrumDisplay;
@@ -0,0 +1,14 @@
1
+ import { FunctionComponent } from "react";
2
+ import { Band } from '../../../../types/astro';
3
+ import { Spectrum } from "../../data";
4
+ interface SpectrumLabelsProps {
5
+ spectrums: Spectrum[];
6
+ activeBand?: Band;
7
+ min: number;
8
+ max: number;
9
+ activeMin?: number;
10
+ activeMax?: number;
11
+ isCondensed: boolean;
12
+ }
13
+ declare const SpectrumLabels: FunctionComponent<SpectrumLabelsProps>;
14
+ export default SpectrumLabels;
@@ -0,0 +1 @@
1
+ export { default } from "./SpectrumLabels";
@@ -0,0 +1 @@
1
+ export { default } from "./SpectrumDisplay";
@@ -0,0 +1,39 @@
1
+ import { Band } from '../../types/astro';
2
+ export type Range<T, N extends number, R extends T[] = []> = R["length"] extends N ? R : Range<T, N, [T, ...R]>;
3
+ export interface Filter {
4
+ band?: Band;
5
+ range: Range<number, 2>;
6
+ }
7
+ interface GradientStop {
8
+ stopColor: string;
9
+ offset: number;
10
+ id?: string;
11
+ }
12
+ export interface VisibleColor {
13
+ name: string;
14
+ range: Range<number, 2>;
15
+ color: string;
16
+ }
17
+ export interface Spectrum {
18
+ name: string;
19
+ upper?: number;
20
+ lower?: number;
21
+ stops: GradientStop[];
22
+ colors?: VisibleColor[];
23
+ }
24
+ export declare const filters: Filter[];
25
+ export declare const colors: VisibleColor[];
26
+ export declare const spectrums: Spectrum[];
27
+ export declare const rangeConfig: {
28
+ condensed: {
29
+ min: number;
30
+ max: number;
31
+ range: number;
32
+ };
33
+ default: {
34
+ min: number;
35
+ max: number;
36
+ range: number;
37
+ };
38
+ };
39
+ export {};
@@ -0,0 +1 @@
1
+ export { default } from "./CameraFilter";
@@ -0,0 +1,22 @@
1
+ import { Band } from '../../types/astro';
2
+ export declare const FilterContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
3
+ export declare const FilterTable: import("styled-components").StyledComponent<"table", any, {
4
+ range: number;
5
+ offset: number;
6
+ }, never>;
7
+ export declare const FilterRanges: import("styled-components").StyledComponent<"tbody", any, {}, never>;
8
+ export declare const FilterNames: import("styled-components").StyledComponent<"thead", any, {}, never>;
9
+ export declare const FilterRange: import("styled-components").StyledComponent<"td", any, {}, never>;
10
+ export declare const Wavelength: import("styled-components").StyledComponent<"span", any, {}, never>;
11
+ export declare const FilterName: import("styled-components").StyledComponent<"th", any, {
12
+ band?: Band | undefined;
13
+ isCondensed: boolean;
14
+ }, never>;
15
+ export declare const SelectContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
16
+ export declare const SelectLabel: import("styled-components").StyledComponent<"label", any, {}, never>;
17
+ export declare const SpectrumLabel: import("styled-components").StyledComponent<"text", any, {}, never>;
18
+ export declare const ColorName: import("styled-components").StyledComponent<"tspan", any, {}, never>;
19
+ export declare const ColorSpectrum: import("styled-components").StyledComponent<"tspan", any, {}, never>;
20
+ export declare const ColorSpectrumUnit: import("styled-components").StyledComponent<"tspan", any, {}, never>;
21
+ export declare const CondensedRangeRow: import("styled-components").StyledComponent<"ul", any, {}, never>;
22
+ export declare const CondensedRange: import("styled-components").StyledComponent<"li", any, {}, never>;
@@ -0,0 +1,39 @@
1
+ import { FunctionComponent } from "react";
2
+ import { Option } from "@rubin-epo/epo-react-lib/dist/types/select";
3
+ import { ListboxOption } from "@rubin-epo/epo-react-lib/dist/types/select-listbox";
4
+ export interface ImageFilter {
5
+ label: string;
6
+ defaultColor?: string;
7
+ color?: string;
8
+ active: boolean;
9
+ image: string;
10
+ isDisabled: boolean;
11
+ value: number;
12
+ defaultValue?: number;
13
+ min: number;
14
+ max: number;
15
+ brightness?: number;
16
+ }
17
+ export interface AstroObject {
18
+ name: string;
19
+ caption?: string;
20
+ filters: ImageFilter[];
21
+ }
22
+ export interface AstroCategory {
23
+ type: string;
24
+ objects: AstroObject[];
25
+ }
26
+ interface ColorToolProps {
27
+ selectionCallback: (selectedData: AstroObject) => void;
28
+ data: AstroCategory[];
29
+ selectedData: AstroObject;
30
+ title?: string;
31
+ objectOptions?: Option[];
32
+ colorOptions?: ListboxOption[];
33
+ isDisabled?: boolean;
34
+ isDisplayOnly?: boolean;
35
+ hideImage?: boolean;
36
+ hideSubtitle?: boolean;
37
+ }
38
+ declare const ColorTool: FunctionComponent<ColorToolProps>;
39
+ export default ColorTool;
@@ -0,0 +1,14 @@
1
+ import { ListboxOption } from "@rubin-epo/epo-react-lib/dist/types/select-listbox";
2
+ import { FunctionComponent } from "react";
3
+ import { ImageFilter } from "../ColorTool";
4
+ interface FilterControlProps {
5
+ filter: ImageFilter;
6
+ colorOptions: ListboxOption[];
7
+ isDisabled: boolean;
8
+ onChangeFilterCallback: (filter: ImageFilter) => void;
9
+ buttonLabelledById: string;
10
+ selectLabelledById: string;
11
+ sliderLabelledById: string;
12
+ }
13
+ declare const FilterControls: FunctionComponent<FilterControlProps>;
14
+ export default FilterControls;
@@ -0,0 +1 @@
1
+ export { default } from "./FilterControls";
@@ -0,0 +1,11 @@
1
+ import { FunctionComponent } from "react";
2
+ export interface FilterImageProps {
3
+ className?: string;
4
+ height?: number;
5
+ width?: number;
6
+ image: string;
7
+ color?: string;
8
+ brightness?: number;
9
+ }
10
+ declare const FilterImage: FunctionComponent<FilterImageProps>;
11
+ export default FilterImage;
@@ -0,0 +1 @@
1
+ export { default } from "./FilterImage";
@@ -0,0 +1,7 @@
1
+ import { FunctionComponent } from "react";
2
+ import { ImageFilter } from "../ColorTool";
3
+ interface ImageCompositeProps {
4
+ filters: ImageFilter[];
5
+ }
6
+ declare const ImageComposite: FunctionComponent<ImageCompositeProps>;
7
+ export default ImageComposite;
@@ -0,0 +1 @@
1
+ export { default } from "./ImageComposite";
@@ -0,0 +1 @@
1
+ export { default } from "./ColorTool";
@@ -0,0 +1,23 @@
1
+ /// <reference types="react" />
2
+ export declare const WidgetContainer: import("styled-components").StyledComponent<"section", any, {
3
+ isCondensed: boolean;
4
+ hideControls: boolean;
5
+ }, never>;
6
+ export declare const Title: import("styled-components").StyledComponent<"h2", any, {}, never>;
7
+ export declare const Subtitle: import("styled-components").StyledComponent<"dl", any, {}, never>;
8
+ export declare const ControlsContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
9
+ export declare const Slider: import("styled-components").StyledComponent<import("react").FunctionComponent<import("@rubin-epo/epo-react-lib/dist/form/HorizontalSlider/HorizontalSlider").HorizontalSliderProps>, any, {}, never>;
10
+ export declare const ImageContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
11
+ export declare const BackgroundImage: import("styled-components").StyledComponent<"img", any, {
12
+ filtersActive: boolean;
13
+ }, never>;
14
+ export declare const FilteredImage: import("styled-components").StyledComponent<import("react").FunctionComponent<import("./FilterImage/FilterImage").FilterImageProps>, any, {
15
+ active: boolean;
16
+ }, never>;
17
+ export declare const SelectionContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
18
+ export declare const ToolsHeader: import("styled-components").StyledComponent<"div", any, {}, never>;
19
+ export declare const Caption: import("styled-components").StyledComponent<"footer", any, {}, never>;
20
+ export declare const ResetButton: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<Pick<import("@rubin-epo/epo-react-lib/dist/atomic/Button").ButtonProps, "cite" | "data" | "form" | "label" | "slot" | "span" | "style" | "summary" | "title" | "pattern" | "default" | "type" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "nonce" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "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-label" | "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" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "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" | "onClick" | "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" | "onSelect" | "onSelectCapture" | "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" | "loop" | "width" | "name" | "as" | "dateTime" | "icon" | "accept" | "acceptCharset" | "action" | "allowFullScreen" | "allowTransparency" | "alt" | "async" | "autoComplete" | "autoFocus" | "autoPlay" | "capture" | "cellPadding" | "cellSpacing" | "charSet" | "challenge" | "checked" | "classID" | "cols" | "colSpan" | "content" | "controls" | "coords" | "crossOrigin" | "defer" | "disabled" | "download" | "encType" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "frameBorder" | "headers" | "height" | "high" | "href" | "hrefLang" | "htmlFor" | "httpEquiv" | "integrity" | "keyParams" | "keyType" | "kind" | "list" | "low" | "manifest" | "marginHeight" | "marginWidth" | "max" | "maxLength" | "media" | "mediaGroup" | "method" | "min" | "minLength" | "multiple" | "muted" | "noValidate" | "open" | "optimum" | "playsInline" | "poster" | "preload" | "readOnly" | "rel" | "required" | "reversed" | "rows" | "rowSpan" | "sandbox" | "scope" | "scoped" | "scrolling" | "seamless" | "selected" | "shape" | "size" | "sizes" | "src" | "srcDoc" | "srcLang" | "srcSet" | "start" | "step" | "target" | "useMap" | "value" | "wmode" | "wrap" | "iconSize" | "isBlock" | "styleAs" | "isInactive"> & import("react").RefAttributes<HTMLButtonElement>>, any, {}, never>;
21
+ export declare const FilterToggleButton: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<Pick<import("@rubin-epo/epo-react-lib/dist/atomic/Button").ButtonProps, "cite" | "data" | "form" | "label" | "slot" | "span" | "style" | "summary" | "title" | "pattern" | "default" | "type" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "nonce" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "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-label" | "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" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "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" | "onClick" | "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" | "onSelect" | "onSelectCapture" | "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" | "loop" | "width" | "name" | "as" | "dateTime" | "icon" | "accept" | "acceptCharset" | "action" | "allowFullScreen" | "allowTransparency" | "alt" | "async" | "autoComplete" | "autoFocus" | "autoPlay" | "capture" | "cellPadding" | "cellSpacing" | "charSet" | "challenge" | "checked" | "classID" | "cols" | "colSpan" | "content" | "controls" | "coords" | "crossOrigin" | "defer" | "disabled" | "download" | "encType" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "frameBorder" | "headers" | "height" | "high" | "href" | "hrefLang" | "htmlFor" | "httpEquiv" | "integrity" | "keyParams" | "keyType" | "kind" | "list" | "low" | "manifest" | "marginHeight" | "marginWidth" | "max" | "maxLength" | "media" | "mediaGroup" | "method" | "min" | "minLength" | "multiple" | "muted" | "noValidate" | "open" | "optimum" | "playsInline" | "poster" | "preload" | "readOnly" | "rel" | "required" | "reversed" | "rows" | "rowSpan" | "sandbox" | "scope" | "scoped" | "scrolling" | "seamless" | "selected" | "shape" | "size" | "sizes" | "src" | "srcDoc" | "srcLang" | "srcSet" | "start" | "step" | "target" | "useMap" | "value" | "wmode" | "wrap" | "iconSize" | "isBlock" | "styleAs" | "isInactive"> & import("react").RefAttributes<HTMLButtonElement>>, any, {
22
+ active: boolean;
23
+ }, never>;
@@ -0,0 +1,21 @@
1
+ import { AstroCategory, AstroObject, ImageFilter } from "./ColorTool";
2
+ export declare const getBrightnessValue: (min: number, max: number, value: number) => number;
3
+ export declare const isFilterActive: (filters: ImageFilter[]) => boolean;
4
+ export declare const isResetButtonActive: (data: AstroObject) => boolean;
5
+ export declare const updateFilters: (datum: AstroObject) => {
6
+ brightness: number;
7
+ color: string | undefined;
8
+ label: string;
9
+ defaultColor?: string | undefined;
10
+ active: boolean;
11
+ image: string;
12
+ isDisabled: boolean;
13
+ value: number;
14
+ defaultValue?: number | undefined;
15
+ min: number;
16
+ max: number;
17
+ }[];
18
+ export declare const prepareData: (data: AstroObject) => AstroObject;
19
+ export declare const getDataFiltersByName: (data: AstroCategory[], name: string) => ImageFilter[];
20
+ export declare const getCategoryName: (data: AstroCategory[], objectName: string) => string | null;
21
+ export declare const resetFilters: (filters: ImageFilter[]) => ImageFilter[];
@@ -0,0 +1,9 @@
1
+ import { FunctionComponent } from "react";
2
+ interface FilterToolProps {
3
+ selectionCallback?: (color: FilterColor) => void;
4
+ selectedColor?: FilterColor;
5
+ isReadOnly?: boolean;
6
+ }
7
+ type FilterColor = "violet" | "blue" | "green" | "yellow" | "orange" | "red" | "none";
8
+ declare const FilterTool: FunctionComponent<FilterToolProps>;
9
+ export default FilterTool;
@@ -0,0 +1 @@
1
+ export { default } from "./FilterTool";
@@ -0,0 +1,15 @@
1
+ export declare const Wrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
2
+ export declare const SelectContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
3
+ export declare const SelectLabel: import("styled-components").StyledComponent<"label", any, {}, never>;
4
+ export declare const PrismSVG: import("styled-components").StyledComponent<"svg", any, {}, never>;
5
+ export declare const WhiteLine: import("styled-components").StyledComponent<"line", any, {}, never>;
6
+ export declare const Ray: import("styled-components").StyledComponent<"path", any, {
7
+ rayColor: string;
8
+ isHidden: boolean;
9
+ }, never>;
10
+ export declare const Arrow: import("styled-components").StyledComponent<"polygon", any, {
11
+ arrowColor: string;
12
+ isHidden: boolean;
13
+ }, never>;
14
+ export declare const PrismOutline: import("styled-components").StyledComponent<"polygon", any, {}, never>;
15
+ export declare const Filter: import("styled-components").StyledComponent<"line", any, {}, never>;
@@ -0,0 +1,10 @@
1
+ import { FunctionComponent, ReactNode } from "react";
2
+ export interface MessageProps {
3
+ children?: ReactNode;
4
+ isVisible?: boolean;
5
+ onMessageChangeCallback: () => void;
6
+ /** list of ID's that contributed to this status message eg. if clicking on \<svg id="mySvg"/> created a message, pass ['mySvg'] */
7
+ forIds?: string[];
8
+ }
9
+ declare const Message: FunctionComponent<MessageProps>;
10
+ export default Message;
@@ -0,0 +1 @@
1
+ export { default } from "./Message";
@@ -0,0 +1,15 @@
1
+ import { SourceType } from '../../../types/astro';
2
+ import { FunctionComponent } from "react";
3
+ export interface PointProps {
4
+ type: SourceType;
5
+ id: string;
6
+ isSelected: boolean;
7
+ isActive: boolean;
8
+ x: number;
9
+ y: number;
10
+ radius?: number;
11
+ className?: string;
12
+ color: string;
13
+ }
14
+ declare const Point: FunctionComponent<PointProps>;
15
+ export default Point;
@@ -0,0 +1 @@
1
+ export { default } from "./Point";
@@ -0,0 +1,3 @@
1
+ export declare const Point: import("styled-components").StyledComponent<"circle", any, {
2
+ isSelected: boolean;
3
+ }, never>;
@@ -0,0 +1,13 @@
1
+ import { FunctionComponent } from "react";
2
+ import { Source, SourceType } from '../../../types/astro';
3
+ interface PointsProps {
4
+ sources?: Source[];
5
+ selectedSource?: Source[];
6
+ activeType?: SourceType;
7
+ xScale: (value: number) => number;
8
+ yScale: (value: number) => number;
9
+ className?: string;
10
+ color?: string;
11
+ }
12
+ declare const Points: FunctionComponent<PointsProps>;
13
+ export default Points;
@@ -0,0 +1 @@
1
+ export { default } from "./Points";
@@ -0,0 +1,22 @@
1
+ import { FunctionComponent } from "react";
2
+ import { Alert, Source } from '../../types/astro';
3
+ import { Image } from "@rubin-epo/epo-react-lib/dist/types/image";
4
+ interface BlinkConfig {
5
+ autoplay?: boolean;
6
+ loop?: boolean;
7
+ duration?: number;
8
+ }
9
+ interface SourceSelectorProps {
10
+ width?: number;
11
+ height?: number;
12
+ sources: Source[];
13
+ alerts?: Alert[];
14
+ selectedSource?: Source[];
15
+ images: Image[];
16
+ selectionCallback?: (data: Source[]) => void;
17
+ blinkConfig?: BlinkConfig;
18
+ color?: string;
19
+ isDisplayOnly?: boolean;
20
+ }
21
+ declare const SourceSelector: FunctionComponent<SourceSelectorProps>;
22
+ export default SourceSelector;
@@ -0,0 +1 @@
1
+ export { default } from "./SourceSelector";
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ export declare const SourceSelectorContainer: import("styled-components").StyledComponent<"div", any, {
3
+ width: number;
4
+ height: number;
5
+ }, never>;
6
+ export declare const SVG: import("styled-components").StyledComponent<"svg", any, {
7
+ isDisplayOnly: boolean;
8
+ }, never>;
9
+ export declare const BackgroundBlinker: import("styled-components").StyledComponent<import("react").FunctionComponent<import("../../atomic/Blinker/Blinker").BlinkerProps>, any, {}, never>;
10
+ export declare const ElapsedDisplay: import("styled-components").StyledComponent<import("react").FunctionComponent<import("../../atomic/ElapsedTime/ElapsedTime").TimeStepProps>, any, {}, never>;
@@ -0,0 +1 @@
1
+ export declare const getLinearScale: (domain: number[], range: number[]) => (value: number) => number;
package/package.json ADDED
@@ -0,0 +1,45 @@
1
+ {
2
+ "name": "@rubin-epo/epo-widget-lib",
3
+ "version": "0.2.0",
4
+ "description": "Rubin Observatory Education & Public Outreach team React scientific and educational widgets.",
5
+ "author": "Rubin EPO",
6
+ "license": "MIT",
7
+ "homepage": "https://lsst-epo.github.io/epo-react-lib",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "https://github.com/lsst-epo/epo-react-lib"
11
+ },
12
+ "supportedLocales": [
13
+ "en",
14
+ "es"
15
+ ],
16
+ "files": [
17
+ "README.md",
18
+ "dist"
19
+ ],
20
+ "main": "./dist/epo-widget-lib.umd.js",
21
+ "module": "./dist/epo-widget-lib.es.js",
22
+ "types": "./dist/index.d.ts",
23
+ "exports": {
24
+ ".": {
25
+ "import": "./dist/epo-widget-lib.es.js",
26
+ "require": "./dist/epo-widget-lib.umd.js"
27
+ }
28
+ },
29
+ "publishConfig": {
30
+ "access": "public",
31
+ "registry": "https://registry.npmjs.org/"
32
+ },
33
+ "peerDependencies": {
34
+ "i18next": "^22.4.10",
35
+ "next": "^13.0.5",
36
+ "react": "^18.2.0",
37
+ "react-dom": "^18.2.0",
38
+ "react-i18next": "^12.2.0"
39
+ },
40
+ "dependencies": {
41
+ "@rubin-epo/epo-react-lib": "^1.1.5",
42
+ "styled-components": "^5.3.9",
43
+ "use-resize-observer": "^9.1.0"
44
+ }
45
+ }