@spectric/ui 0.0.4 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/dist/assets/Banner-CZ3qKIQC.js +172 -0
  2. package/dist/assets/Banner.stories-BMf4MBpI.js +19 -0
  3. package/dist/assets/BitDisplay.stories-wztXxpxe.js +18 -0
  4. package/dist/assets/Bits-C_TSTjST.js +1 -0
  5. package/dist/assets/Button.stories-gHxjWwVf.js +142 -0
  6. package/dist/assets/Color-F6OSRLHC-AjFOL-zN.js +1 -0
  7. package/dist/assets/DocsRenderer-CFRXHY34-CvW79YxE.js +761 -0
  8. package/dist/assets/Header.stories-Bc09U6g1.js +25 -0
  9. package/dist/assets/Page.stories-DNJKhAFs.js +114 -0
  10. package/dist/assets/QueryBar.stories-Da5C-SV4.js +17 -0
  11. package/dist/assets/_commonjsHelpers-Cpj98o6Y.js +1 -0
  12. package/dist/assets/chunk-L4EGOTBX-AI5g0G5Z.js +2 -0
  13. package/dist/assets/data-CwENMT7L.js +3 -0
  14. package/dist/assets/dialog-CFHXbUTQ.js +611 -0
  15. package/dist/assets/directive-helpers-IbK5tOA8.js +5 -0
  16. package/dist/assets/entry-preview-Di-j0SPB.js +4 -0
  17. package/dist/assets/entry-preview-docs-CUBRpM7y.js +1 -0
  18. package/dist/assets/iframe-BQFuVTVZ.js +2 -0
  19. package/dist/assets/index-BCiKWbv6.js +1 -0
  20. package/dist/assets/index-BHYIh-Xd.js +8 -0
  21. package/dist/assets/index-DBGhiA-l.js +1 -0
  22. package/dist/assets/index-DrFu-skq.js +6 -0
  23. package/dist/assets/index-oFsFREWh.js +9 -0
  24. package/dist/assets/input.stories-Cgdv-5bN.js +58 -0
  25. package/dist/assets/lit-element-UdLzEcH-.js +19 -0
  26. package/dist/assets/preview-BWzBA1C2.js +396 -0
  27. package/dist/assets/preview-CGiTbRot.js +2 -0
  28. package/dist/assets/preview-D77C14du.js +34 -0
  29. package/dist/assets/preview-DEMzn_yN.js +1 -0
  30. package/dist/assets/preview-DFmD0pui.js +1 -0
  31. package/dist/assets/preview-DGUiP6tS.js +7 -0
  32. package/dist/assets/preview-DQVTHjv1.js +182 -0
  33. package/dist/assets/preview-aVwhiz9X.js +1 -0
  34. package/dist/assets/tiny-invariant-CopsF_GD.js +1 -0
  35. package/dist/classes/BitArray.d.ts +11 -0
  36. package/dist/classes/DisposibleElement.d.ts +21 -0
  37. package/dist/components/Banner.d.ts +51 -0
  38. package/dist/components/Bitdisplay.d.ts +91 -0
  39. package/dist/components/Button.d.ts +65 -0
  40. package/dist/components/Header.d.ts +70 -0
  41. package/dist/components/Page.d.ts +93 -0
  42. package/dist/components/Panel.d.ts +14 -0
  43. package/dist/components/ThemeProvider.d.ts +99 -0
  44. package/dist/components/button.css.d.ts +2 -0
  45. package/dist/components/configurations/classifications.d.ts +29 -0
  46. package/dist/components/dialog/dialog.css.d.ts +1 -0
  47. package/dist/components/dialog/dialog.d.ts +60 -0
  48. package/dist/components/dialog/index.d.ts +1 -0
  49. package/dist/components/header.css.d.ts +2 -0
  50. package/dist/components/index.d.ts +10 -0
  51. package/dist/components/input.css.d.ts +2 -0
  52. package/dist/components/input.d.ts +156 -0
  53. package/dist/components/page.css.d.ts +2 -0
  54. package/dist/components/panel.css.d.ts +2 -0
  55. package/dist/components/query_bar/QueryBar.d.ts +113 -0
  56. package/dist/components/query_bar/index.d.ts +2 -0
  57. package/dist/components/query_bar/querylanguage/kuery/ast/ast.d.ts +13 -0
  58. package/dist/components/query_bar/querylanguage/kuery/ast/index.d.ts +1 -0
  59. package/dist/components/query_bar/querylanguage/kuery/functions/and.d.ts +9 -0
  60. package/dist/components/query_bar/querylanguage/kuery/functions/exists.d.ts +10 -0
  61. package/dist/components/query_bar/querylanguage/kuery/functions/index.d.ts +1 -0
  62. package/dist/components/query_bar/querylanguage/kuery/functions/is.d.ts +34 -0
  63. package/dist/components/query_bar/querylanguage/kuery/functions/nested.d.ts +11 -0
  64. package/dist/components/query_bar/querylanguage/kuery/functions/not.d.ts +9 -0
  65. package/dist/components/query_bar/querylanguage/kuery/functions/or.d.ts +10 -0
  66. package/dist/components/query_bar/querylanguage/kuery/functions/range.d.ts +10 -0
  67. package/dist/components/query_bar/querylanguage/kuery/functions/utils/get_fields.d.ts +2 -0
  68. package/dist/components/query_bar/querylanguage/kuery/functions/utils/get_full_field_name_node.d.ts +2 -0
  69. package/dist/components/query_bar/querylanguage/kuery/index.d.ts +7 -0
  70. package/dist/components/query_bar/querylanguage/kuery/kuery_syntax_error.d.ts +13 -0
  71. package/dist/components/query_bar/querylanguage/kuery/node_types/function.d.ts +5 -0
  72. package/dist/components/query_bar/querylanguage/kuery/node_types/index.d.ts +3 -0
  73. package/dist/components/query_bar/querylanguage/kuery/node_types/literal.d.ts +3 -0
  74. package/dist/components/query_bar/querylanguage/kuery/node_types/named_arg.d.ts +4 -0
  75. package/dist/components/query_bar/querylanguage/kuery/node_types/types.d.ts +49 -0
  76. package/dist/components/query_bar/querylanguage/kuery/node_types/wildcard.d.ts +8 -0
  77. package/dist/components/query_bar/querylanguage/kuery/types.d.ts +18 -0
  78. package/dist/components/query_bar/querylanguage/outputTypes/toCQL.d.ts +14 -0
  79. package/dist/components/query_bar/querylanguage/outputTypes/toMongo.d.ts +20 -0
  80. package/dist/components/query_bar/querylanguage/utils.d.ts +1 -0
  81. package/dist/components/query_bar/types.d.ts +56 -0
  82. package/dist/components/splitview/index.d.ts +1 -0
  83. package/dist/components/splitview/splitview.css.d.ts +1 -0
  84. package/dist/components/splitview/splitview.d.ts +73 -0
  85. package/dist/components/types.d.ts +21 -0
  86. package/dist/custom-elements.json +1919 -0
  87. package/dist/favicon.svg +1 -0
  88. package/dist/iframe.html +639 -0
  89. package/dist/index.d.ts +1 -0
  90. package/dist/index.es.js +4139 -0
  91. package/dist/index.es.js.map +1 -0
  92. package/dist/index.html +190 -0
  93. package/dist/index.json +1 -0
  94. package/dist/index.umd.js +945 -0
  95. package/dist/index.umd.js.map +1 -0
  96. package/dist/nunito-sans-bold-italic.woff2 +0 -0
  97. package/dist/nunito-sans-bold.woff2 +0 -0
  98. package/dist/nunito-sans-italic.woff2 +0 -0
  99. package/dist/nunito-sans-regular.woff2 +0 -0
  100. package/dist/project.json +1 -0
  101. package/dist/sb-addons/chromatic-com-storybook-8/manager-bundle.js +333 -0
  102. package/dist/sb-addons/chromatic-com-storybook-8/manager-bundle.js.LEGAL.txt +40 -0
  103. package/dist/sb-addons/essentials-actions-2/manager-bundle.js +3 -0
  104. package/dist/sb-addons/essentials-actions-2/manager-bundle.js.LEGAL.txt +0 -0
  105. package/dist/sb-addons/essentials-backgrounds-3/manager-bundle.js +12 -0
  106. package/dist/sb-addons/essentials-backgrounds-3/manager-bundle.js.LEGAL.txt +0 -0
  107. package/dist/sb-addons/essentials-controls-1/manager-bundle.js +391 -0
  108. package/dist/sb-addons/essentials-controls-1/manager-bundle.js.LEGAL.txt +0 -0
  109. package/dist/sb-addons/essentials-measure-6/manager-bundle.js +3 -0
  110. package/dist/sb-addons/essentials-measure-6/manager-bundle.js.LEGAL.txt +0 -0
  111. package/dist/sb-addons/essentials-outline-7/manager-bundle.js +3 -0
  112. package/dist/sb-addons/essentials-outline-7/manager-bundle.js.LEGAL.txt +0 -0
  113. package/dist/sb-addons/essentials-toolbars-5/manager-bundle.js +3 -0
  114. package/dist/sb-addons/essentials-toolbars-5/manager-bundle.js.LEGAL.txt +0 -0
  115. package/dist/sb-addons/essentials-viewport-4/manager-bundle.js +3 -0
  116. package/dist/sb-addons/essentials-viewport-4/manager-bundle.js.LEGAL.txt +0 -0
  117. package/dist/sb-addons/storybook-core-core-server-presets-0/common-manager-bundle.js +3 -0
  118. package/dist/sb-addons/storybook-core-core-server-presets-0/common-manager-bundle.js.LEGAL.txt +0 -0
  119. package/dist/sb-common-assets/favicon.svg +1 -0
  120. package/dist/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
  121. package/dist/sb-common-assets/nunito-sans-bold.woff2 +0 -0
  122. package/dist/sb-common-assets/nunito-sans-italic.woff2 +0 -0
  123. package/dist/sb-common-assets/nunito-sans-regular.woff2 +0 -0
  124. package/dist/sb-manager/globals-module-info.js +1028 -0
  125. package/dist/sb-manager/globals-runtime.js +40861 -0
  126. package/dist/sb-manager/globals.js +48 -0
  127. package/dist/sb-manager/runtime.js +13338 -0
  128. package/dist/sb-preview/globals.js +33 -0
  129. package/dist/sb-preview/runtime.js +7174 -0
  130. package/dist/style.css +1 -0
  131. package/dist/utils/debounce.d.ts +2 -0
  132. package/dist/utils/spread.d.ts +32 -0
  133. package/package.json +6 -1
  134. package/src/components/query_bar/QueryBar.ts +15 -2
  135. package/.gitlab-ci.yml +0 -28
  136. package/.nvmrc +0 -1
  137. package/.storybook/analyze.sh +0 -4
  138. package/.storybook/main.ts +0 -55
  139. package/.storybook/preview.ts +0 -42
  140. package/.vscode/extensions.json +0 -5
  141. package/.vscode/settings.json +0 -41
  142. package/html-include.png +0 -0
  143. package/test/__init__.py +0 -9
  144. package/test/elastic.py +0 -9
  145. package/test/interface.py +0 -16
  146. package/tsconfig.json +0 -29
  147. package/vite.config.js +0 -34
  148. package/vue-example.png +0 -0
  149. package/vue-include.png +0 -0
@@ -0,0 +1 @@
1
+ let l;const S=new Uint8Array(16);function A(){if(!l&&(l=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!l))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return l(S)}const o=[];for(let e=0;e<256;++e)o.push((e+256).toString(16).slice(1));function D(e,t=0){return o[e[t+0]]+o[e[t+1]]+o[e[t+2]]+o[e[t+3]]+"-"+o[e[t+4]]+o[e[t+5]]+"-"+o[e[t+6]]+o[e[t+7]]+"-"+o[e[t+8]]+o[e[t+9]]+"-"+o[e[t+10]]+o[e[t+11]]+o[e[t+12]]+o[e[t+13]]+o[e[t+14]]+o[e[t+15]]}const I=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),m={randomUUID:I};function v(e,t,r){if(m.randomUUID&&!t&&!e)return m.randomUUID();e=e||{};const n=e.random||(e.rng||A)();return n[6]=n[6]&15|64,n[8]=n[8]&63|128,D(n)}const{addons:w}=__STORYBOOK_MODULE_PREVIEW_API__,{ImplicitActionsDuringRendering:U}=__STORYBOOK_MODULE_CORE_EVENTS_PREVIEW_ERRORS__,{global:p}=__STORYBOOK_MODULE_GLOBAL__;var f="storybook/actions",j=`${f}/action-event`,V={depth:10,clearOnStoryChange:!0,limit:50},E=(e,t)=>{let r=Object.getPrototypeOf(e);return!r||t(r)?r:E(r,t)},C=e=>!!(typeof e=="object"&&e&&E(e,t=>/^Synthetic(?:Base)?Event$/.test(t.constructor.name))&&typeof e.persist=="function"),K=e=>{if(C(e)){let t=Object.create(e.constructor.prototype,Object.getOwnPropertyDescriptors(e));t.persist();let r=Object.getOwnPropertyDescriptor(t,"view"),n=r==null?void 0:r.value;return typeof n=="object"&&(n==null?void 0:n.constructor.name)==="Window"&&Object.defineProperty(t,"view",{...r,value:Object.create(n.constructor.prototype)}),t}return e},L=()=>typeof crypto=="object"&&typeof crypto.getRandomValues=="function"?v():Date.now().toString(36)+Math.random().toString(36).substring(2);function u(e,t={}){let r={...V,...t},n=function(...c){var g,O;if(t.implicit){let y=(g="__STORYBOOK_PREVIEW__"in p?p.__STORYBOOK_PREVIEW__:void 0)==null?void 0:g.storyRenders.find(d=>d.phase==="playing"||d.phase==="rendering");if(y){let d=!((O=window==null?void 0:window.FEATURES)!=null&&O.disallowImplicitActionsInRenderV8),R=new U({phase:y.phase,name:e,deprecated:d});if(d)console.warn(R);else throw R}}let i=w.getChannel(),s=L(),a=5,_=c.map(K),b=c.length>1?_:_[0],x={id:s,count:0,data:{name:e,args:b},options:{...r,maxDepth:a+(r.depth||3),allowFunction:r.allowFunction||!1}};i.emit(j,x)};return n.isAction=!0,n.implicit=t.implicit,n}var T=(e,t)=>typeof t[e]>"u"&&!(e in t),B=e=>{let{initialArgs:t,argTypes:r,id:n,parameters:{actions:c}}=e;if(!c||c.disable||!c.argTypesRegex||!r)return{};let i=new RegExp(c.argTypesRegex);return Object.entries(r).filter(([s])=>!!i.test(s)).reduce((s,[a,_])=>(T(a,t)&&(s[a]=u(a,{implicit:!0,id:n})),s),{})},M=e=>{let{initialArgs:t,argTypes:r,parameters:{actions:n}}=e;return n!=null&&n.disable||!r?{}:Object.entries(r).filter(([c,i])=>!!i.action).reduce((c,[i,s])=>(T(i,t)&&(c[i]=u(typeof s.action=="string"?s.action:i)),c),{})},Y=[M,B],h=!1,P=e=>{let{parameters:{actions:t}}=e;if(!(t!=null&&t.disable)&&!h&&"__STORYBOOK_TEST_ON_MOCK_CALL__"in p&&typeof p.__STORYBOOK_TEST_ON_MOCK_CALL__=="function"){let r=p.__STORYBOOK_TEST_ON_MOCK_CALL__;r((n,c)=>{let i=n.getMockName();i!=="spy"&&(!/^next\/.*::/.test(i)||["next/router::useRouter()","next/navigation::useRouter()","next/navigation::redirect","next/cache::","next/headers::cookies().set","next/headers::cookies().delete","next/headers::headers().set","next/headers::headers().delete"].some(s=>i.startsWith(s)))&&u(i)(c)}),h=!0}},N=[P];export{Y as argsEnhancers,N as loaders};
@@ -0,0 +1 @@
1
+ var a="Invariant failed";function n(r,i){if(!r)throw new Error(a)}export{n as i};
@@ -0,0 +1,11 @@
1
+ export declare const BitArray: {
2
+ new (buf: ArrayBuffer): {
3
+ buffer: ArrayBuffer;
4
+ u8: Uint8Array;
5
+ getBit(idx: number): number;
6
+ setBit(idx: number, val: any): void;
7
+ readonly length: number;
8
+ set(array: string | any[], start: number): void;
9
+ subarray(start: number, stop: number): number[];
10
+ };
11
+ };
@@ -0,0 +1,21 @@
1
+ import { LitElement } from 'lit-element/lit-element.js';
2
+ export interface IDisposable {
3
+ dispose(): void;
4
+ }
5
+ export declare class DisposableElement extends LitElement {
6
+ private readonly _disposables;
7
+ private _isDisposed;
8
+ private _disposableListeners;
9
+ private _connected;
10
+ /**
11
+ * Creates listeners on a target that will automatically get cleaned up when the element is removed from the DOM. This prevents memory leaks.
12
+ * @param target The element| promise<element> we plan to attach the listener to
13
+ * @param event The event name
14
+ * @param handler The event handler
15
+ */
16
+ addDisposableListener<K extends keyof GlobalEventHandlersEventMap>(target: HTMLElement | Promise<HTMLElement>, event: K, handler: (event: GlobalEventHandlersEventMap[K]) => void): void;
17
+ addDisposableListener<K extends keyof SpectricGlobalEvents>(target: HTMLElement | Promise<HTMLElement>, event: K, handler: SpectricGlobalEvents[K]): void;
18
+ registerDisposable<T extends IDisposable>(o: T): T;
19
+ connectedCallback(): void;
20
+ disconnectedCallback(): void;
21
+ }
@@ -0,0 +1,51 @@
1
+ import { LitElement } from 'lit';
2
+ import { StyleInfo } from 'lit/directives/style-map.js';
3
+ import { HTMLElementTagWithEvents, ReactElementWithPropsAndEvents } from './types';
4
+ export interface BannerProps {
5
+ /**What is returned in the event details when a banner is dismissed */
6
+ bannerId?: any;
7
+ /** Banner Text to display */
8
+ text?: string;
9
+ /** What background color to use */
10
+ headerStyle?: StyleInfo;
11
+ /** Can be dismissed */
12
+ dismissable?: boolean;
13
+ }
14
+ /**
15
+ * @slot text - Banner Text content
16
+ */
17
+ export declare class SpectricBanner extends LitElement implements BannerProps {
18
+ dismissable: boolean;
19
+ text?: string;
20
+ bannerId?: string;
21
+ headerStyle?: StyleInfo;
22
+ private _dismissed;
23
+ private onDismiss;
24
+ protected render(): unknown;
25
+ }
26
+ export interface BannerEventMap {
27
+ 'bannerDismissed': (event: CustomEvent<BannerProps>) => void;
28
+ }
29
+ declare global {
30
+ interface HTMLElementTagNameMap {
31
+ "spectric-banner": HTMLElementTagWithEvents<SpectricBanner, BannerEventMap>;
32
+ }
33
+ namespace JSX {
34
+ interface IntrinsicElements {
35
+ /**
36
+ * {@link SpectricBanner}
37
+ */
38
+ "spectric-banner": ReactElementWithPropsAndEvents<SpectricBanner, BannerProps, BannerEventMap>;
39
+ }
40
+ }
41
+ namespace React {
42
+ namespace JSX {
43
+ interface IntrinsicElements {
44
+ /**
45
+ * {@link SpectricBanner}
46
+ */
47
+ "spectric-banner": ReactElementWithPropsAndEvents<SpectricBanner, BannerProps, BannerEventMap>;
48
+ }
49
+ }
50
+ }
51
+ }
@@ -0,0 +1,91 @@
1
+ import { PropertyValues } from 'lit';
2
+ import { DisposableElement } from '../classes/DisposibleElement';
3
+ import { HTMLElementTagWithEvents, ReactElementWithPropsAndEvents } from './types';
4
+ export interface BitDisplayProps {
5
+ /** Array buffer to display */
6
+ arrayBuffer: ArrayBuffer;
7
+ /** Bits per line */
8
+ frameWidth: number;
9
+ /** How many pixels per bit */
10
+ scale: number;
11
+ /** Width of the display canvas */
12
+ width: number;
13
+ /** Height of the display canvas */
14
+ height: number;
15
+ }
16
+ type Position = {
17
+ x: number;
18
+ y: number;
19
+ };
20
+ export type BitDisplayMouseEvent = {
21
+ position: Position;
22
+ nativeEvent: MouseEvent;
23
+ bitIndex: number;
24
+ };
25
+ declare const events: readonly ["mousemove", "click", "dblclick", "mousedown", "mouseup", "contextmenu"];
26
+ type BitEventHandler = (event: CustomEvent<BitDisplayMouseEvent>) => void;
27
+ type AllEvents = typeof events;
28
+ export interface BitDisplayEventMap extends Record<`bit${Capitalize<AllEvents[number]>}`, BitEventHandler> {
29
+ }
30
+ /**
31
+ * @fires bitMousemove - emits BitDisplayMouseEvent on mousemove over the canvas
32
+ * @fires bitClick - emits BitDisplayMouseEvent on mouse click on the canvas
33
+ * @fires bitDblclick - emits BitDisplayMouseEvent on mouse double click on the canvas
34
+ * @fires bitMousedown - emits BitDisplayMouseEvent on mouse down onthe canvas
35
+ * @fires bitMouseup - emits BitDisplayMouseEvent on mouse up on the canvas
36
+ * @fires bitContextmenu - emits BitDisplayMouseEvent on mouse right click on the canvas
37
+ */
38
+ export declare class BitDisplayCanvas extends DisposableElement implements BitDisplayProps {
39
+ arrayBuffer: ArrayBuffer;
40
+ frameWidth: number;
41
+ scale: number;
42
+ width: number;
43
+ height: number;
44
+ static styles: import('lit').CSSResult;
45
+ private state;
46
+ private yStart;
47
+ private xStart;
48
+ private _canvas;
49
+ private refs;
50
+ private _bitArray?;
51
+ private resizeObserver;
52
+ private color;
53
+ constructor();
54
+ private onThemeChange;
55
+ connectedCallback(): void;
56
+ protected updated(changedProperties: PropertyValues): void;
57
+ private onResize;
58
+ canvasPositionToBit(position: {
59
+ x: number;
60
+ y: number;
61
+ }): number;
62
+ paint(): void;
63
+ private handleScroll;
64
+ getPxPerBit(): number;
65
+ calculateViewport(): void;
66
+ protected render(): unknown;
67
+ }
68
+ declare global {
69
+ interface HTMLElementTagNameMap {
70
+ "spectric-bit-display": HTMLElementTagWithEvents<BitDisplayCanvas, BitDisplayEventMap>;
71
+ }
72
+ namespace JSX {
73
+ interface IntrinsicElements {
74
+ /**
75
+ * {@link BitDisplayCanvas}
76
+ */
77
+ "spectric-bit-display": ReactElementWithPropsAndEvents<BitDisplayCanvas, BitDisplayProps, BitDisplayEventMap>;
78
+ }
79
+ }
80
+ namespace React {
81
+ namespace JSX {
82
+ interface IntrinsicElements {
83
+ /**
84
+ * {@link BitDisplayCanvas}
85
+ */
86
+ "spectric-bit-display": ReactElementWithPropsAndEvents<BitDisplayCanvas, BitDisplayProps, BitDisplayEventMap>;
87
+ }
88
+ }
89
+ }
90
+ }
91
+ export {};
@@ -0,0 +1,65 @@
1
+ import { CSSResultGroup, LitElement } from 'lit';
2
+ import { HTMLElementTagWithEvents, ReactElementWithPropsAndEvents } from './types';
3
+ export declare enum ButtonSizes {
4
+ large = "large",
5
+ medium = "medium",
6
+ small = "small"
7
+ }
8
+ type ButtonSizesTypes = `${ButtonSizes}`;
9
+ export declare enum ButtonVariants {
10
+ primary = "primary",
11
+ secondary = "secondary",
12
+ text = "text"
13
+ }
14
+ type ButtonVariantsTypes = `${ButtonVariants}`;
15
+ export interface ButtonProps {
16
+ /** Is this the principal call to action on the page? */
17
+ variant: ButtonVariantsTypes;
18
+ /** What background color to use */
19
+ backgroundColor?: string;
20
+ /** How large should the button be? */
21
+ size: ButtonSizesTypes;
22
+ label?: string;
23
+ disabled: boolean;
24
+ danger?: boolean;
25
+ }
26
+ export declare class SpectricButton extends LitElement implements ButtonProps {
27
+ static styles?: CSSResultGroup | undefined;
28
+ variant: 'primary' | 'secondary' | 'text';
29
+ disabled: boolean;
30
+ backgroundColor?: string | undefined;
31
+ size: 'small' | 'medium' | 'large';
32
+ label?: string;
33
+ danger: boolean;
34
+ connectedCallback(): void;
35
+ disconnectedCallback(): void;
36
+ private _onClick;
37
+ protected render(): unknown;
38
+ }
39
+ export interface ButtonEventMap {
40
+ "click": (event: CustomEvent<MouseEvent>) => void;
41
+ }
42
+ declare global {
43
+ interface HTMLElementTagNameMap {
44
+ "spectric-button": HTMLElementTagWithEvents<SpectricButton, ButtonEventMap>;
45
+ }
46
+ namespace JSX {
47
+ interface IntrinsicElements {
48
+ /**
49
+ * {@link SpectricButton}
50
+ */
51
+ "spectric-button": ReactElementWithPropsAndEvents<SpectricButton, ButtonProps, ButtonEventMap>;
52
+ }
53
+ }
54
+ namespace React {
55
+ namespace JSX {
56
+ interface IntrinsicElements {
57
+ /**
58
+ * {@link SpectricButton}
59
+ */
60
+ "spectric-button": ReactElementWithPropsAndEvents<SpectricButton, ButtonProps, ButtonEventMap>;
61
+ }
62
+ }
63
+ }
64
+ }
65
+ export {};
@@ -0,0 +1,70 @@
1
+ import { LitElement, TemplateResult } from 'lit';
2
+ import { HTMLElementTagWithEvents, ReactElementWithPropsAndEvents } from './types';
3
+ /**
4
+ * Properties defining
5
+ */
6
+ export interface HeaderProps {
7
+ username: string;
8
+ /**
9
+ * Shows the login Button
10
+ */
11
+ showLoginButton?: boolean;
12
+ /**
13
+ * Shows the create account Button when not logged in
14
+ */
15
+ showCreateAccount?: boolean;
16
+ }
17
+ export interface HeaderSlots {
18
+ /** Main name of the application */
19
+ name?: string | Node | TemplateResult;
20
+ /** Slot to the left of the title typically used for app icons, and/or dropdown navigation menus.*/
21
+ branding?: string | Node | TemplateResult;
22
+ /** Slot in the center of the header.*/
23
+ center?: string | Node | TemplateResult;
24
+ /** slot right of login/out buttons*/
25
+ end?: string | Node | TemplateResult;
26
+ }
27
+ export interface HeaderEventMap {
28
+ "login": (event: CustomEvent<void>) => void;
29
+ "logout": (event: CustomEvent<void>) => void;
30
+ "createAccount": (event: CustomEvent<void>) => void;
31
+ }
32
+ /**
33
+ * @slot name - Main name of the application
34
+ * @slot branding - Slot to the left of the title typically used for app icons, and/or dropdown navigation menus.
35
+ * @slot center - Slot in the center of the header.
36
+ * @slot end - slot right of login/out buttons
37
+ */
38
+ export declare class Header extends LitElement implements HeaderProps {
39
+ static styles: import('lit').CSSResult;
40
+ showCreateAccount: boolean;
41
+ showLoginButton: boolean;
42
+ username: string;
43
+ onLogout: () => void;
44
+ onLogin: () => void;
45
+ onCreateAccount: () => void;
46
+ protected render(): TemplateResult<1>;
47
+ }
48
+ declare global {
49
+ interface HTMLElementTagNameMap {
50
+ "spectric-header": HTMLElementTagWithEvents<Header, HeaderEventMap>;
51
+ }
52
+ namespace JSX {
53
+ interface IntrinsicElements {
54
+ /**
55
+ * {@link Header}
56
+ */
57
+ "spectric-header": ReactElementWithPropsAndEvents<Header, HeaderProps, HeaderEventMap>;
58
+ }
59
+ }
60
+ namespace React {
61
+ namespace JSX {
62
+ interface IntrinsicElements {
63
+ /**
64
+ * {@link Header}
65
+ */
66
+ "spectric-header": ReactElementWithPropsAndEvents<Header, HeaderProps, HeaderEventMap>;
67
+ }
68
+ }
69
+ }
70
+ }
@@ -0,0 +1,93 @@
1
+ import { CSSResultGroup, LitElement } from 'lit';
2
+ import { HeaderEventMap, HeaderProps, HeaderSlots } from './Header';
3
+ import { BannerEventMap, BannerProps } from './Banner';
4
+ import { Classifications } from './configurations/classifications';
5
+ import { KnownThemes, ThemeEventMap } from './ThemeProvider';
6
+ import { HTMLElementTagWithEvents, ReactElementWithPropsAndEvents } from './types';
7
+ export interface PageBanners {
8
+ classification?: {
9
+ type: Classifications;
10
+ text: string;
11
+ };
12
+ notifications?: BannerProps[];
13
+ }
14
+ export interface PageProps extends HeaderProps {
15
+ theme?: KnownThemes;
16
+ showHeader?: boolean;
17
+ /** Will control if the top navbar will stay at the top or scroll with the main content */
18
+ headerSticky?: boolean;
19
+ classificationLevel?: Classifications;
20
+ /** Overrides the default classification banner text */
21
+ classificationText: string;
22
+ notifications?: BannerProps[];
23
+ }
24
+ export interface PageSlots extends HeaderSlots {
25
+ /** @description Application Main Conent */
26
+ content?: Node | TemplateStringsArray | string;
27
+ }
28
+ /**
29
+ * Spectric page is a basic component that will put all content into an area that expands to fill the whole screen. It calculates the size of the banners and headers for you.
30
+ *
31
+ * It exposes css properties to style all the spectric compenents contained within
32
+ *
33
+ * This component does not fire any events directly but sub components do. See HeaderEventMap & ThemeEventMap & BannerEventMap for full list of events
34
+ * @slot - Main content
35
+ * @slot content - Main content
36
+ * @slot name - Main name of the application
37
+ * @slot branding - Slot to the left of the title typically used for app icons, and/or dropdown navigation menus.
38
+ * @slot center - Slot in the center of the header.
39
+ * @slot end - slot right of login/out buttons
40
+ * @cssprop [--primary=#1ea7fd] - primary color
41
+ * @cssprop [--secondary=#1ea7fd] - secondary color
42
+ * @cssprop [--tertiary=#1ea7fd] - tertiary color
43
+ * @cssprop [--disabled=#1ea7fd] - disabled color
44
+ * @cssprop [--text-primary=#1ea7fd] - text colors
45
+ * @cssprop [--text-secondary=#1ea7fd] - text colors
46
+ * @cssprop [--text-on-color=#ffffff] - color of text on color
47
+ * @cssprop [--background=#1ea7fd] - background color
48
+ * @cssprop [--background-inverse=#f4f4f4] - Even Panel colors
49
+ * @cssprop [--border-radius=0.4em] - sets global border radius
50
+ * @see Events {@link SpectricEventsMaps}
51
+ */
52
+ export declare class SpectricPage extends LitElement implements PageProps {
53
+ static styles?: CSSResultGroup | undefined;
54
+ showHeader: boolean;
55
+ headerSticky: boolean;
56
+ classificationLevel?: Classifications;
57
+ classificationText: string;
58
+ notifications: BannerProps[];
59
+ showCreateAccount: boolean;
60
+ showLoginButton: boolean;
61
+ username: string;
62
+ /** If a theme other than light is provided that will be used ad css properties will be ignored */
63
+ theme?: KnownThemes;
64
+ protected render(): import('lit-html').TemplateResult<1>;
65
+ }
66
+ type SpectricEventsMaps = HeaderEventMap & ThemeEventMap & BannerEventMap;
67
+ declare global {
68
+ interface HTMLElementTagNameMap {
69
+ /**
70
+ * {@link SpectricPage}
71
+ */
72
+ "spectric-page": HTMLElementTagWithEvents<SpectricPage, SpectricEventsMaps>;
73
+ }
74
+ namespace JSX {
75
+ interface IntrinsicElements {
76
+ /**
77
+ * {@link SpectricPage}
78
+ */
79
+ "spectric-page": ReactElementWithPropsAndEvents<SpectricPage, PageProps, SpectricEventsMaps>;
80
+ }
81
+ }
82
+ namespace React {
83
+ namespace JSX {
84
+ interface IntrinsicElements {
85
+ /**
86
+ * {@link SpectricPage}
87
+ */
88
+ "spectric-page": ReactElementWithPropsAndEvents<SpectricPage, PageProps, SpectricEventsMaps>;
89
+ }
90
+ }
91
+ }
92
+ }
93
+ export {};
@@ -0,0 +1,14 @@
1
+ import { CSSResultGroup, LitElement } from 'lit';
2
+ /**
3
+ * Spectric Panel visually seperates content areas and automatically adjusts the component colors that are nested inside.
4
+ * */
5
+ export declare class SpectricPanel extends LitElement {
6
+ static styles?: CSSResultGroup | undefined;
7
+ /**
8
+ * Specify the layer level and override any existing levels based on hierarchy
9
+ */
10
+ level: number;
11
+ layers?: NodeListOf<SpectricPanel>;
12
+ updated(): void;
13
+ render(): import('lit-html').TemplateResult<1>;
14
+ }
@@ -0,0 +1,99 @@
1
+ import { CSSResultGroup, LitElement, PropertyValues } from 'lit';
2
+ import { HTMLElementTagWithEvents, ReactElementWithPropsAndEvents } from './types';
3
+ export interface CSSProps {
4
+ "--primary": string;
5
+ "--secondary": string;
6
+ "--tertiary": string;
7
+ "--disabled": string;
8
+ "--background": string;
9
+ "--background-inverse": string;
10
+ "--text-primary": string;
11
+ "--text-secondary": string;
12
+ "--text-on-color": string;
13
+ "--border-radius": string;
14
+ }
15
+ type InputType = {
16
+ control: "color" | "text";
17
+ };
18
+ export declare const CSSPropsControls: Record<keyof CSSProps, InputType>;
19
+ declare const Themes: {
20
+ readonly undefined: {};
21
+ readonly light: {};
22
+ readonly dark: {
23
+ "--secondary": string;
24
+ "--tertiary": string;
25
+ "--disabled": string;
26
+ "--text-primary": string;
27
+ "--text-secondary": string;
28
+ "--text-on-color": string;
29
+ "--background": string;
30
+ "--background-inverse": string;
31
+ };
32
+ readonly spectric: {
33
+ "--primary": string;
34
+ "--text-on-color": string;
35
+ "--secondary": string;
36
+ "--tertiary": string;
37
+ "--disabled": string;
38
+ "--text-primary": string;
39
+ "--text-secondary": string;
40
+ "--background": string;
41
+ "--background-inverse": string;
42
+ };
43
+ readonly spectricFlat: {
44
+ readonly "--border-radius": "1px";
45
+ readonly "--primary": string;
46
+ readonly "--text-on-color": string;
47
+ readonly "--secondary": string;
48
+ readonly "--tertiary": string;
49
+ readonly "--disabled": string;
50
+ readonly "--text-primary": string;
51
+ readonly "--text-secondary": string;
52
+ readonly "--background": string;
53
+ readonly "--background-inverse": string;
54
+ };
55
+ };
56
+ export type KnownThemes = keyof typeof Themes;
57
+ export declare const ThemeSelections: { [k in keyof typeof Themes]: k; };
58
+ type ThemeProps = {
59
+ theme?: KnownThemes;
60
+ };
61
+ export interface ThemeChangeEvent {
62
+ old?: string;
63
+ new?: string;
64
+ }
65
+ export interface ThemeEventMap {
66
+ "theme-change": (event: CustomEvent<ThemeChangeEvent>) => void;
67
+ }
68
+ export declare class SpectricThemeProvider extends LitElement {
69
+ static styles?: CSSResultGroup | undefined;
70
+ theme: KnownThemes;
71
+ protected updated(_changedProperties: PropertyValues): void;
72
+ protected render(): import('lit-html').TemplateResult<1>;
73
+ }
74
+ declare global {
75
+ interface SpectricGlobalEvents extends ThemeEventMap {
76
+ }
77
+ interface HTMLElementTagNameMap {
78
+ "spectric-theme": HTMLElementTagWithEvents<SpectricThemeProvider, ThemeEventMap>;
79
+ }
80
+ namespace JSX {
81
+ interface IntrinsicElements {
82
+ /**
83
+ * {@link SpectricThemeProvider}
84
+ */
85
+ "spectric-theme": ReactElementWithPropsAndEvents<SpectricThemeProvider, ThemeProps, ThemeEventMap>;
86
+ }
87
+ }
88
+ namespace React {
89
+ namespace JSX {
90
+ interface IntrinsicElements {
91
+ /**
92
+ * {@link SpectricThemeProvider}
93
+ */
94
+ "spectric-theme": ReactElementWithPropsAndEvents<SpectricThemeProvider, ThemeProps, ThemeEventMap>;
95
+ }
96
+ }
97
+ }
98
+ }
99
+ export {};
@@ -0,0 +1,2 @@
1
+ declare const _default: import('lit').CSSResult;
2
+ export default _default;
@@ -0,0 +1,29 @@
1
+ import { StyleInfo } from 'lit/directives/style-map.js';
2
+ export declare enum ClassificationVariants {
3
+ None = "none",
4
+ Uscui = "us.cui",
5
+ Usclassified = "us.classified",
6
+ Usunclassified = "us.unclassified",
7
+ Usconfidential = "us.confidential",
8
+ Ussecret = "us.secret",
9
+ Ustopsecret = "us.topsecret",
10
+ UstopsecretSi = "us.topsecret.si",
11
+ Uknotset = "uk.notset",
12
+ Ukofficial = "uk.official",
13
+ Uksecret = "uk.secret",
14
+ Uktopsecret = "uk.topsecret",
15
+ Caprotected_a = "ca.protected_a",
16
+ Caprotected_b = "ca.protected_b",
17
+ Caprotected_c = "ca.protected_c",
18
+ Caconfidential = "ca.confidential",
19
+ Casecret = "ca.secret",
20
+ Catopsecret = "ca.topsecret",
21
+ Auunofficial = "au.unofficial",
22
+ Auofficial = "au.official",
23
+ Auofficialsensitive = "au.officialsensitive",
24
+ Auconfidential = "au.confidential",
25
+ Ausecret = "au.secret",
26
+ Autopsecret = "au.topsecret"
27
+ }
28
+ export type Classifications = `${ClassificationVariants}`;
29
+ export declare const ClassificationStyles: Record<Classifications, StyleInfo>;
@@ -0,0 +1 @@
1
+ export declare const style: import('lit').CSSResult;
@@ -0,0 +1,60 @@
1
+ import { CSSResultGroup, LitElement, PropertyValues } from 'lit';
2
+ import { HTMLElementTagWithEvents, ReactElementWithPropsAndEvents } from '../types';
3
+ export declare const DialogElementTag = "spectric-dialog";
4
+ export type { DialogProps as Props, DialogEvents };
5
+ interface DialogProps {
6
+ open?: boolean;
7
+ dismissable?: boolean;
8
+ hideBackdrop?: boolean;
9
+ title?: string;
10
+ closeOnEscape?: boolean;
11
+ closeOnOutsideClick?: boolean;
12
+ }
13
+ /**
14
+ * Dialog Element
15
+ * @slot title - sets the title of the dialog attribute/property can also be use for setting the title to a string
16
+ */
17
+ export declare class DialogElement extends LitElement implements DialogProps {
18
+ static styles: CSSResultGroup;
19
+ static display(props: DialogProps, body: any): HTMLElementTagWithEvents<DialogElement, DialogEvents>;
20
+ open: boolean;
21
+ dismissable: boolean;
22
+ hideBackdrop: boolean;
23
+ title: string;
24
+ closeOnEscape: boolean;
25
+ closeOnOutsideClick: boolean;
26
+ dialogElement: Promise<HTMLDialogElement>;
27
+ connectedCallback(): void;
28
+ disconnectedCallback(): void;
29
+ protected updated(_changedProperties: PropertyValues): void;
30
+ private clickHandler;
31
+ private _handleKeyDown;
32
+ private _onClose;
33
+ protected render(): unknown;
34
+ }
35
+ interface DialogEvents {
36
+ 'close': (event: CustomEvent) => void;
37
+ }
38
+ declare global {
39
+ interface HTMLElementTagNameMap {
40
+ [DialogElementTag]: HTMLElementTagWithEvents<DialogElement, DialogEvents>;
41
+ }
42
+ namespace JSX {
43
+ interface IntrinsicElements {
44
+ /**
45
+ * @see {@link DialogElement}
46
+ */
47
+ [DialogElementTag]: ReactElementWithPropsAndEvents<DialogElement, DialogProps, DialogEvents>;
48
+ }
49
+ }
50
+ namespace React {
51
+ namespace JSX {
52
+ interface IntrinsicElements {
53
+ /**
54
+ * @see {@link DialogElement}
55
+ */
56
+ [DialogElementTag]: ReactElementWithPropsAndEvents<DialogElement, DialogProps, DialogEvents>;
57
+ }
58
+ }
59
+ }
60
+ }
@@ -0,0 +1 @@
1
+ export * from './dialog';
@@ -0,0 +1,2 @@
1
+ declare const _default: import('lit').CSSResult;
2
+ export default _default;
@@ -0,0 +1,10 @@
1
+ export * from './Button';
2
+ export * from './Bitdisplay';
3
+ export * from './Header';
4
+ export * from './Page';
5
+ export * from './input';
6
+ export * from './query_bar';
7
+ export * from './Panel';
8
+ export * from './ThemeProvider';
9
+ export * from './dialog';
10
+ export * from './splitview';
@@ -0,0 +1,2 @@
1
+ declare const _default: import('lit').CSSResult;
2
+ export default _default;