@looker/embed-components 23.8.1
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/CHANGELOG.md +21 -0
- package/LICENSE +21 -0
- package/lib/GlobalStore/index.d.ts +2 -0
- package/lib/GlobalStore/index.js +28 -0
- package/lib/GlobalStore/index.js.map +1 -0
- package/lib/GlobalStore/sagas.d.ts +1 -0
- package/lib/GlobalStore/sagas.js +30 -0
- package/lib/GlobalStore/sagas.js.map +1 -0
- package/lib/GlobalStore/slice.d.ts +26 -0
- package/lib/GlobalStore/slice.js +39 -0
- package/lib/GlobalStore/slice.js.map +1 -0
- package/lib/GlobalStore/store.d.ts +10 -0
- package/lib/GlobalStore/store.js +21 -0
- package/lib/GlobalStore/store.js.map +1 -0
- package/lib/QuickEmbed/QuickEmbed.d.ts +6 -0
- package/lib/QuickEmbed/QuickEmbed.js +89 -0
- package/lib/QuickEmbed/QuickEmbed.js.map +1 -0
- package/lib/QuickEmbed/index.d.ts +1 -0
- package/lib/QuickEmbed/index.js +17 -0
- package/lib/QuickEmbed/index.js.map +1 -0
- package/lib/Theme/SelectTheme.d.ts +2 -0
- package/lib/Theme/SelectTheme.js +61 -0
- package/lib/Theme/SelectTheme.js.map +1 -0
- package/lib/Theme/index.d.ts +2 -0
- package/lib/Theme/index.js +28 -0
- package/lib/Theme/index.js.map +1 -0
- package/lib/Theme/state/index.d.ts +1 -0
- package/lib/Theme/state/index.js +17 -0
- package/lib/Theme/state/index.js.map +1 -0
- package/lib/Theme/state/sagas.d.ts +1 -0
- package/lib/Theme/state/sagas.js +83 -0
- package/lib/Theme/state/sagas.js.map +1 -0
- package/lib/Theme/state/slice.d.ts +36 -0
- package/lib/Theme/state/slice.js +59 -0
- package/lib/Theme/state/slice.js.map +1 -0
- package/lib/esm/GlobalStore/index.js +28 -0
- package/lib/esm/GlobalStore/index.js.map +1 -0
- package/lib/esm/GlobalStore/sagas.js +30 -0
- package/lib/esm/GlobalStore/sagas.js.map +1 -0
- package/lib/esm/GlobalStore/slice.js +39 -0
- package/lib/esm/GlobalStore/slice.js.map +1 -0
- package/lib/esm/GlobalStore/store.js +21 -0
- package/lib/esm/GlobalStore/store.js.map +1 -0
- package/lib/esm/QuickEmbed/QuickEmbed.js +89 -0
- package/lib/esm/QuickEmbed/QuickEmbed.js.map +1 -0
- package/lib/esm/QuickEmbed/index.js +17 -0
- package/lib/esm/QuickEmbed/index.js.map +1 -0
- package/lib/esm/Theme/SelectTheme.js +61 -0
- package/lib/esm/Theme/SelectTheme.js.map +1 -0
- package/lib/esm/Theme/index.js +28 -0
- package/lib/esm/Theme/index.js.map +1 -0
- package/lib/esm/Theme/state/index.js +17 -0
- package/lib/esm/Theme/state/index.js.map +1 -0
- package/lib/esm/Theme/state/sagas.js +83 -0
- package/lib/esm/Theme/state/sagas.js.map +1 -0
- package/lib/esm/Theme/state/slice.js +59 -0
- package/lib/esm/Theme/state/slice.js.map +1 -0
- package/lib/esm/index.js +39 -0
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/test-utils/index.js +28 -0
- package/lib/esm/test-utils/index.js.map +1 -0
- package/lib/esm/test-utils/store.js +26 -0
- package/lib/esm/test-utils/store.js.map +1 -0
- package/lib/esm/test-utils/utils.js +38 -0
- package/lib/esm/test-utils/utils.js.map +1 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.js +39 -0
- package/lib/index.js.map +1 -0
- package/lib/test-utils/index.d.ts +2 -0
- package/lib/test-utils/index.js +28 -0
- package/lib/test-utils/index.js.map +1 -0
- package/lib/test-utils/store.d.ts +10 -0
- package/lib/test-utils/store.js +26 -0
- package/lib/test-utils/store.js.map +1 -0
- package/lib/test-utils/utils.d.ts +10 -0
- package/lib/test-utils/utils.js +38 -0
- package/lib/test-utils/utils.js.map +1 -0
- package/package.json +63 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sagas.js","names":["_typedReduxSaga","require","_embedServices","_slice","initSaga","initSuccessAction","setFailureAction","themeActions","registerThemeService","put","error","message","loadThemeDataSaga","loadThemeDataSuccessAction","_urlTheme","service","getThemeService","call","searchParams","EmbedUrl","urlThemeName","theme","urlTheme","find","themes","items","defaultTheme","selectedTheme","selectThemeSaga","action","selectThemeSuccessAction","_item","key","payload","item","indexedItems","concat","saga","initAction","loadThemeDataAction","selectThemeAction","takeEvery"],"sources":["../../../src/Theme/state/sagas.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2023 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\nimport { takeEvery, put, call } from 'typed-redux-saga'\nimport type { PayloadAction } from '@reduxjs/toolkit'\nimport type { ITheme } from '@looker/sdk'\nimport {\n registerThemeService,\n getThemeService,\n EmbedUrl,\n} from '@looker/embed-services'\nimport { themeActions } from './slice'\nimport type { SelectThemeAction } from './slice'\n\n/**\n * Registers theme service with factory\n */\nfunction* initSaga() {\n const { initSuccessAction, setFailureAction } = themeActions\n try {\n registerThemeService()\n yield* put(initSuccessAction())\n } catch (error: any) {\n yield* put(setFailureAction({ error: error.message }))\n }\n}\n\n/**\n * Gets all themes, default and url themes, and sets the selected theme\n */\nfunction* loadThemeDataSaga() {\n const { loadThemeDataSuccessAction, setFailureAction } = themeActions\n try {\n const service = getThemeService()\n yield* call([service, 'load'])\n const searchParams = new EmbedUrl().searchParams\n const urlThemeName = searchParams.theme\n let urlTheme: ITheme | undefined\n if (urlThemeName) {\n urlTheme = service.find('name', urlThemeName)\n }\n yield* put(\n loadThemeDataSuccessAction({\n themes: service.items,\n defaultTheme: service.defaultTheme!,\n selectedTheme: (urlTheme ?? service.defaultTheme!)!,\n })\n )\n } catch (error: any) {\n yield* put(setFailureAction({ error: error.message }))\n }\n}\n\n/**\n * Sets the selected theme by id or name\n * @param action containing id or name of theme to select\n */\nfunction* selectThemeSaga(action: PayloadAction<SelectThemeAction>) {\n const { selectThemeSuccessAction, setFailureAction } = themeActions\n try {\n const service = getThemeService()\n yield* call([service, 'getAll'])\n const key = action.payload.key\n let item: ITheme | undefined = service.indexedItems[key]\n if (!item) {\n item = service.find(['id', 'name'], `^${key}$`)\n }\n yield* put(\n selectThemeSuccessAction({ selectedTheme: item ?? service.defaultTheme! })\n )\n } catch (error: any) {\n yield* put(\n setFailureAction({\n error: error.message,\n })\n )\n }\n}\n\nexport function* saga() {\n const { initAction, loadThemeDataAction, selectThemeAction } = themeActions\n yield* takeEvery(initAction, initSaga)\n yield* takeEvery(loadThemeDataAction, loadThemeDataSaga)\n yield* takeEvery(selectThemeAction, selectThemeSaga)\n}\n"],"mappings":";;;;;;AAyBA,IAAAA,eAAA,GAAAC,OAAA;AAGA,IAAAC,cAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AAMA,UAAUG,QAAQA,CAAA,EAAG;EACnB,IAAM;IAAEC,iBAAiB;IAAEC;EAAiB,CAAC,GAAGC,mBAAY;EAC5D,IAAI;IACF,IAAAC,mCAAoB,GAAE;IACtB,OAAO,IAAAC,mBAAG,EAACJ,iBAAiB,EAAE,CAAC;EACjC,CAAC,CAAC,OAAOK,KAAU,EAAE;IACnB,OAAO,IAAAD,mBAAG,EAACH,gBAAgB,CAAC;MAAEI,KAAK,EAAEA,KAAK,CAACC;IAAQ,CAAC,CAAC,CAAC;EACxD;AACF;AAKA,UAAUC,iBAAiBA,CAAA,EAAG;EAC5B,IAAM;IAAEC,0BAA0B;IAAEP;EAAiB,CAAC,GAAGC,mBAAY;EACrE,IAAI;IAAA,IAAAO,SAAA;IACF,IAAMC,OAAO,GAAG,IAAAC,8BAAe,GAAE;IACjC,OAAO,IAAAC,oBAAI,EAAC,CAACF,OAAO,EAAE,MAAM,CAAC,CAAC;IAC9B,IAAMG,YAAY,GAAG,IAAIC,uBAAQ,EAAE,CAACD,YAAY;IAChD,IAAME,YAAY,GAAGF,YAAY,CAACG,KAAK;IACvC,IAAIC,QAA4B;IAChC,IAAIF,YAAY,EAAE;MAChBE,QAAQ,GAAGP,OAAO,CAACQ,IAAI,CAAC,MAAM,EAAEH,YAAY,CAAC;IAC/C;IACA,OAAO,IAAAX,mBAAG,EACRI,0BAA0B,CAAC;MACzBW,MAAM,EAAET,OAAO,CAACU,KAAK;MACrBC,YAAY,EAAEX,OAAO,CAACW,YAAa;MACnCC,aAAa,GAAAb,SAAA,GAAGQ,QAAQ,cAAAR,SAAA,cAAAA,SAAA,GAAIC,OAAO,CAACW;IACtC,CAAC,CAAC,CACH;EACH,CAAC,CAAC,OAAOhB,KAAU,EAAE;IACnB,OAAO,IAAAD,mBAAG,EAACH,gBAAgB,CAAC;MAAEI,KAAK,EAAEA,KAAK,CAACC;IAAQ,CAAC,CAAC,CAAC;EACxD;AACF;AAMA,UAAUiB,eAAeA,CAACC,MAAwC,EAAE;EAClE,IAAM;IAAEC,wBAAwB;IAAExB;EAAiB,CAAC,GAAGC,mBAAY;EACnE,IAAI;IAAA,IAAAwB,KAAA;IACF,IAAMhB,OAAO,GAAG,IAAAC,8BAAe,GAAE;IACjC,OAAO,IAAAC,oBAAI,EAAC,CAACF,OAAO,EAAE,QAAQ,CAAC,CAAC;IAChC,IAAMiB,GAAG,GAAGH,MAAM,CAACI,OAAO,CAACD,GAAG;IAC9B,IAAIE,IAAwB,GAAGnB,OAAO,CAACoB,YAAY,CAACH,GAAG,CAAC;IACxD,IAAI,CAACE,IAAI,EAAE;MACTA,IAAI,GAAGnB,OAAO,CAACQ,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,MAAAa,MAAA,CAAMJ,GAAG,OAAI;IACjD;IACA,OAAO,IAAAvB,mBAAG,EACRqB,wBAAwB,CAAC;MAAEH,aAAa,GAAAI,KAAA,GAAEG,IAAI,cAAAH,KAAA,cAAAA,KAAA,GAAIhB,OAAO,CAACW;IAAc,CAAC,CAAC,CAC3E;EACH,CAAC,CAAC,OAAOhB,KAAU,EAAE;IACnB,OAAO,IAAAD,mBAAG,EACRH,gBAAgB,CAAC;MACfI,KAAK,EAAEA,KAAK,CAACC;IACf,CAAC,CAAC,CACH;EACH;AACF;AAEO,UAAU0B,IAAIA,CAAA,EAAG;EACtB,IAAM;IAAEC,UAAU;IAAEC,mBAAmB;IAAEC;EAAkB,CAAC,GAAGjC,mBAAY;EAC3E,OAAO,IAAAkC,yBAAS,EAACH,UAAU,EAAElC,QAAQ,CAAC;EACtC,OAAO,IAAAqC,yBAAS,EAACF,mBAAmB,EAAE3B,iBAAiB,CAAC;EACxD,OAAO,IAAA6B,yBAAS,EAACD,iBAAiB,EAAEZ,eAAe,CAAC;AACtD"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { PayloadAction } from '@reduxjs/toolkit';
|
|
2
|
+
import type { ITheme } from '@looker/sdk';
|
|
3
|
+
export interface ThemesState {
|
|
4
|
+
defaultTheme: ITheme;
|
|
5
|
+
themes: ITheme[];
|
|
6
|
+
selectedTheme: ITheme;
|
|
7
|
+
initialized: boolean;
|
|
8
|
+
error?: string;
|
|
9
|
+
working: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare const defaultThemesState: ThemesState;
|
|
12
|
+
export declare type SelectThemeAction = Record<'key', string>;
|
|
13
|
+
declare type SelectThemeSuccessAction = Pick<ThemesState, 'selectedTheme'>;
|
|
14
|
+
declare type SetFailureAction = Record<'error', string>;
|
|
15
|
+
declare type LoadThemeDataSuccessAction = Pick<ThemesState, 'defaultTheme' | 'themes' | 'selectedTheme'>;
|
|
16
|
+
export declare const THEMES_SLICE_NAME = "themes";
|
|
17
|
+
export declare const themesSlice: import("@reduxjs/toolkit").Slice<ThemesState, {
|
|
18
|
+
initAction(): void;
|
|
19
|
+
initSuccessAction(state: import("immer/dist/internal").WritableDraft<ThemesState>): void;
|
|
20
|
+
loadThemeDataAction(state: import("immer/dist/internal").WritableDraft<ThemesState>): void;
|
|
21
|
+
loadThemeDataSuccessAction(state: import("immer/dist/internal").WritableDraft<ThemesState>, action: PayloadAction<LoadThemeDataSuccessAction>): void;
|
|
22
|
+
selectThemeAction(state: import("immer/dist/internal").WritableDraft<ThemesState>, _action: PayloadAction<SelectThemeAction>): void;
|
|
23
|
+
selectThemeSuccessAction(state: import("immer/dist/internal").WritableDraft<ThemesState>, action: PayloadAction<SelectThemeSuccessAction>): void;
|
|
24
|
+
setFailureAction(state: import("immer/dist/internal").WritableDraft<ThemesState>, action: PayloadAction<SetFailureAction>): void;
|
|
25
|
+
}, "themes">;
|
|
26
|
+
export declare const themeActions: import("@reduxjs/toolkit").CaseReducerActions<{
|
|
27
|
+
initAction(): void;
|
|
28
|
+
initSuccessAction(state: import("immer/dist/internal").WritableDraft<ThemesState>): void;
|
|
29
|
+
loadThemeDataAction(state: import("immer/dist/internal").WritableDraft<ThemesState>): void;
|
|
30
|
+
loadThemeDataSuccessAction(state: import("immer/dist/internal").WritableDraft<ThemesState>, action: PayloadAction<LoadThemeDataSuccessAction>): void;
|
|
31
|
+
selectThemeAction(state: import("immer/dist/internal").WritableDraft<ThemesState>, _action: PayloadAction<SelectThemeAction>): void;
|
|
32
|
+
selectThemeSuccessAction(state: import("immer/dist/internal").WritableDraft<ThemesState>, action: PayloadAction<SelectThemeSuccessAction>): void;
|
|
33
|
+
setFailureAction(state: import("immer/dist/internal").WritableDraft<ThemesState>, action: PayloadAction<SetFailureAction>): void;
|
|
34
|
+
}, "themes">;
|
|
35
|
+
export declare const useThemeActions: () => any, useThemesStoreState: () => ThemesState;
|
|
36
|
+
export {};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useThemesStoreState = exports.useThemeActions = exports.themesSlice = exports.themeActions = exports.defaultThemesState = exports.THEMES_SLICE_NAME = void 0;
|
|
7
|
+
var _toolkit = require("@reduxjs/toolkit");
|
|
8
|
+
var _redux = require("@looker/redux");
|
|
9
|
+
var _sagas = require("./sagas");
|
|
10
|
+
var defaultThemesState = {
|
|
11
|
+
initialized: false,
|
|
12
|
+
defaultTheme: {},
|
|
13
|
+
selectedTheme: {},
|
|
14
|
+
themes: [],
|
|
15
|
+
working: false
|
|
16
|
+
};
|
|
17
|
+
exports.defaultThemesState = defaultThemesState;
|
|
18
|
+
var THEMES_SLICE_NAME = 'themes';
|
|
19
|
+
exports.THEMES_SLICE_NAME = THEMES_SLICE_NAME;
|
|
20
|
+
var themesSlice = (0, _toolkit.createSlice)({
|
|
21
|
+
name: THEMES_SLICE_NAME,
|
|
22
|
+
initialState: defaultThemesState,
|
|
23
|
+
reducers: {
|
|
24
|
+
initAction() {},
|
|
25
|
+
initSuccessAction(state) {
|
|
26
|
+
state.initialized = true;
|
|
27
|
+
},
|
|
28
|
+
loadThemeDataAction(state) {
|
|
29
|
+
state.working = true;
|
|
30
|
+
},
|
|
31
|
+
loadThemeDataSuccessAction(state, action) {
|
|
32
|
+
state.themes = action.payload.themes;
|
|
33
|
+
state.defaultTheme = action.payload.defaultTheme;
|
|
34
|
+
state.selectedTheme = action.payload.selectedTheme;
|
|
35
|
+
state.working = false;
|
|
36
|
+
},
|
|
37
|
+
selectThemeAction(state, _action) {
|
|
38
|
+
state.working = true;
|
|
39
|
+
},
|
|
40
|
+
selectThemeSuccessAction(state, action) {
|
|
41
|
+
state.selectedTheme = action.payload.selectedTheme;
|
|
42
|
+
state.working = false;
|
|
43
|
+
},
|
|
44
|
+
setFailureAction(state, action) {
|
|
45
|
+
state.error = action.payload.error;
|
|
46
|
+
state.working = false;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
exports.themesSlice = themesSlice;
|
|
51
|
+
var themeActions = themesSlice.actions;
|
|
52
|
+
exports.themeActions = themeActions;
|
|
53
|
+
var {
|
|
54
|
+
useActions: useThemeActions,
|
|
55
|
+
useStoreState: useThemesStoreState
|
|
56
|
+
} = (0, _redux.createSliceHooks)(themesSlice, _sagas.saga);
|
|
57
|
+
exports.useThemesStoreState = useThemesStoreState;
|
|
58
|
+
exports.useThemeActions = useThemeActions;
|
|
59
|
+
//# sourceMappingURL=slice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slice.js","names":["_toolkit","require","_redux","_sagas","defaultThemesState","initialized","defaultTheme","selectedTheme","themes","working","exports","THEMES_SLICE_NAME","themesSlice","createSlice","name","initialState","reducers","initAction","initSuccessAction","state","loadThemeDataAction","loadThemeDataSuccessAction","action","payload","selectThemeAction","_action","selectThemeSuccessAction","setFailureAction","error","themeActions","actions","useActions","useThemeActions","useStoreState","useThemesStoreState","createSliceHooks","saga"],"sources":["../../../src/Theme/state/slice.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2023 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport { createSlice } from '@reduxjs/toolkit'\nimport type { PayloadAction } from '@reduxjs/toolkit'\nimport { createSliceHooks } from '@looker/redux'\nimport type { ITheme } from '@looker/sdk'\nimport { saga } from './sagas'\n\nexport interface ThemesState {\n defaultTheme: ITheme\n themes: ITheme[]\n selectedTheme: ITheme\n initialized: boolean\n error?: string\n working: boolean\n}\n\nexport const defaultThemesState: ThemesState = {\n initialized: false,\n defaultTheme: {} as ITheme,\n selectedTheme: {} as ITheme,\n themes: [],\n working: false,\n}\n\nexport type SelectThemeAction = Record<'key', string>\n\ntype SelectThemeSuccessAction = Pick<ThemesState, 'selectedTheme'>\n\ntype SetFailureAction = Record<'error', string>\n\ntype LoadThemeDataSuccessAction = Pick<\n ThemesState,\n 'defaultTheme' | 'themes' | 'selectedTheme'\n>\n\nexport const THEMES_SLICE_NAME = 'themes'\n\nexport const themesSlice = createSlice({\n name: THEMES_SLICE_NAME,\n initialState: defaultThemesState,\n reducers: {\n initAction() {\n // noop\n },\n initSuccessAction(state) {\n state.initialized = true\n },\n loadThemeDataAction(state) {\n state.working = true\n },\n loadThemeDataSuccessAction(\n state,\n action: PayloadAction<LoadThemeDataSuccessAction>\n ) {\n state.themes = action.payload.themes\n state.defaultTheme = action.payload.defaultTheme\n state.selectedTheme = action.payload.selectedTheme\n state.working = false\n },\n selectThemeAction(state, _action: PayloadAction<SelectThemeAction>) {\n state.working = true\n },\n selectThemeSuccessAction(\n state,\n action: PayloadAction<SelectThemeSuccessAction>\n ) {\n state.selectedTheme = action.payload.selectedTheme\n state.working = false\n },\n setFailureAction(state, action: PayloadAction<SetFailureAction>) {\n state.error = action.payload.error\n state.working = false\n },\n },\n})\n\nexport const themeActions = themesSlice.actions\nexport const {\n useActions: useThemeActions,\n useStoreState: useThemesStoreState,\n} = createSliceHooks(themesSlice, saga)\n"],"mappings":";;;;;;AA0BA,IAAAA,QAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AAEA,IAAAE,MAAA,GAAAF,OAAA;AAWO,IAAMG,kBAA+B,GAAG;EAC7CC,WAAW,EAAE,KAAK;EAClBC,YAAY,EAAE,CAAC,CAAW;EAC1BC,aAAa,EAAE,CAAC,CAAW;EAC3BC,MAAM,EAAE,EAAE;EACVC,OAAO,EAAE;AACX,CAAC;AAAAC,OAAA,CAAAN,kBAAA,GAAAA,kBAAA;AAaM,IAAMO,iBAAiB,GAAG,QAAQ;AAAAD,OAAA,CAAAC,iBAAA,GAAAA,iBAAA;AAElC,IAAMC,WAAW,GAAG,IAAAC,oBAAW,EAAC;EACrCC,IAAI,EAAEH,iBAAiB;EACvBI,YAAY,EAAEX,kBAAkB;EAChCY,QAAQ,EAAE;IACRC,UAAUA,CAAA,EAAG,CAEb,CAAC;IACDC,iBAAiBA,CAACC,KAAK,EAAE;MACvBA,KAAK,CAACd,WAAW,GAAG,IAAI;IAC1B,CAAC;IACDe,mBAAmBA,CAACD,KAAK,EAAE;MACzBA,KAAK,CAACV,OAAO,GAAG,IAAI;IACtB,CAAC;IACDY,0BAA0BA,CACxBF,KAAK,EACLG,MAAiD,EACjD;MACAH,KAAK,CAACX,MAAM,GAAGc,MAAM,CAACC,OAAO,CAACf,MAAM;MACpCW,KAAK,CAACb,YAAY,GAAGgB,MAAM,CAACC,OAAO,CAACjB,YAAY;MAChDa,KAAK,CAACZ,aAAa,GAAGe,MAAM,CAACC,OAAO,CAAChB,aAAa;MAClDY,KAAK,CAACV,OAAO,GAAG,KAAK;IACvB,CAAC;IACDe,iBAAiBA,CAACL,KAAK,EAAEM,OAAyC,EAAE;MAClEN,KAAK,CAACV,OAAO,GAAG,IAAI;IACtB,CAAC;IACDiB,wBAAwBA,CACtBP,KAAK,EACLG,MAA+C,EAC/C;MACAH,KAAK,CAACZ,aAAa,GAAGe,MAAM,CAACC,OAAO,CAAChB,aAAa;MAClDY,KAAK,CAACV,OAAO,GAAG,KAAK;IACvB,CAAC;IACDkB,gBAAgBA,CAACR,KAAK,EAAEG,MAAuC,EAAE;MAC/DH,KAAK,CAACS,KAAK,GAAGN,MAAM,CAACC,OAAO,CAACK,KAAK;MAClCT,KAAK,CAACV,OAAO,GAAG,KAAK;IACvB;EACF;AACF,CAAC,CAAC;AAAAC,OAAA,CAAAE,WAAA,GAAAA,WAAA;AAEK,IAAMiB,YAAY,GAAGjB,WAAW,CAACkB,OAAO;AAAApB,OAAA,CAAAmB,YAAA,GAAAA,YAAA;AACxC,IAAM;EACXE,UAAU,EAAEC,eAAe;EAC3BC,aAAa,EAAEC;AACjB,CAAC,GAAG,IAAAC,uBAAgB,EAACvB,WAAW,EAAEwB,WAAI,CAAC;AAAA1B,OAAA,CAAAwB,mBAAA,GAAAA,mBAAA;AAAAxB,OAAA,CAAAsB,eAAA,GAAAA,eAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _slice = require("./slice");
|
|
7
|
+
Object.keys(_slice).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _slice[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function get() {
|
|
13
|
+
return _slice[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
var _store = require("./store");
|
|
18
|
+
Object.keys(_store).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (key in exports && exports[key] === _store[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function get() {
|
|
24
|
+
return _store[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_slice","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_store"],"sources":["../../../src/GlobalStore/index.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2023 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\nexport * from './slice'\nexport * from './store'\n"],"mappings":";;;;;AAyBA,IAAAA,MAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,MAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,MAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,MAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,MAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,MAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,MAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAC,MAAA,CAAAL,GAAA;IAAA;EAAA;AAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.saga = saga;
|
|
7
|
+
var _typedReduxSaga = require("typed-redux-saga");
|
|
8
|
+
var _embedServices = require("@looker/embed-services");
|
|
9
|
+
var _slice = require("./slice");
|
|
10
|
+
function* initSaga(action) {
|
|
11
|
+
var {
|
|
12
|
+
initFactorySuccessAction,
|
|
13
|
+
setFailureAction
|
|
14
|
+
} = _slice.factoryActions;
|
|
15
|
+
try {
|
|
16
|
+
(0, _embedServices.createFactory)(action.payload.sdk);
|
|
17
|
+
yield* (0, _typedReduxSaga.put)(initFactorySuccessAction());
|
|
18
|
+
} catch (error) {
|
|
19
|
+
yield* (0, _typedReduxSaga.put)(setFailureAction({
|
|
20
|
+
error: error.message
|
|
21
|
+
}));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
function* saga() {
|
|
25
|
+
var {
|
|
26
|
+
initFactoryAction
|
|
27
|
+
} = _slice.factoryActions;
|
|
28
|
+
yield* (0, _typedReduxSaga.takeEvery)(initFactoryAction, initSaga);
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=sagas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sagas.js","names":["_typedReduxSaga","require","_embedServices","_slice","initSaga","action","initFactorySuccessAction","setFailureAction","factoryActions","createFactory","payload","sdk","put","error","message","saga","initFactoryAction","takeEvery"],"sources":["../../../src/GlobalStore/sagas.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2023 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\nimport { takeEvery, put } from 'typed-redux-saga'\nimport { createFactory } from '@looker/embed-services'\nimport type { PayloadAction } from '@reduxjs/toolkit'\n\nimport { factoryActions } from './slice'\nimport type { InitFactoryAction } from './slice'\n\nfunction* initSaga(action: PayloadAction<InitFactoryAction>) {\n const { initFactorySuccessAction, setFailureAction } = factoryActions\n try {\n createFactory(action.payload.sdk)\n yield* put(initFactorySuccessAction())\n } catch (error: any) {\n yield* put(setFailureAction({ error: error.message }))\n }\n}\n\nexport function* saga() {\n const { initFactoryAction } = factoryActions\n yield* takeEvery(initFactoryAction, initSaga)\n}\n"],"mappings":";;;;;;AAyBA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AAGA,IAAAE,MAAA,GAAAF,OAAA;AAGA,UAAUG,QAAQA,CAACC,MAAwC,EAAE;EAC3D,IAAM;IAAEC,wBAAwB;IAAEC;EAAiB,CAAC,GAAGC,qBAAc;EACrE,IAAI;IACF,IAAAC,4BAAa,EAACJ,MAAM,CAACK,OAAO,CAACC,GAAG,CAAC;IACjC,OAAO,IAAAC,mBAAG,EAACN,wBAAwB,EAAE,CAAC;EACxC,CAAC,CAAC,OAAOO,KAAU,EAAE;IACnB,OAAO,IAAAD,mBAAG,EAACL,gBAAgB,CAAC;MAAEM,KAAK,EAAEA,KAAK,CAACC;IAAQ,CAAC,CAAC,CAAC;EACxD;AACF;AAEO,UAAUC,IAAIA,CAAA,EAAG;EACtB,IAAM;IAAEC;EAAkB,CAAC,GAAGR,qBAAc;EAC5C,OAAO,IAAAS,yBAAS,EAACD,iBAAiB,EAAEZ,QAAQ,CAAC;AAC/C"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useFactoryStoreState = exports.useFactoryActions = exports.factorySlice = exports.factoryActions = exports.defaultFactoryState = exports.FACTORY_SLICE_NAME = void 0;
|
|
7
|
+
var _toolkit = require("@reduxjs/toolkit");
|
|
8
|
+
var _redux = require("@looker/redux");
|
|
9
|
+
var _sagas = require("./sagas");
|
|
10
|
+
var defaultFactoryState = {
|
|
11
|
+
initialized: false
|
|
12
|
+
};
|
|
13
|
+
exports.defaultFactoryState = defaultFactoryState;
|
|
14
|
+
var FACTORY_SLICE_NAME = 'factory';
|
|
15
|
+
exports.FACTORY_SLICE_NAME = FACTORY_SLICE_NAME;
|
|
16
|
+
var factorySlice = (0, _toolkit.createSlice)({
|
|
17
|
+
name: FACTORY_SLICE_NAME,
|
|
18
|
+
initialState: defaultFactoryState,
|
|
19
|
+
reducers: {
|
|
20
|
+
initFactoryAction(_state, _action) {},
|
|
21
|
+
initFactorySuccessAction(state) {
|
|
22
|
+
state.initialized = true;
|
|
23
|
+
},
|
|
24
|
+
destroyFactoryAction() {},
|
|
25
|
+
setFailureAction(state, action) {
|
|
26
|
+
state.error = action.payload.error;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
exports.factorySlice = factorySlice;
|
|
31
|
+
var factoryActions = factorySlice.actions;
|
|
32
|
+
exports.factoryActions = factoryActions;
|
|
33
|
+
var {
|
|
34
|
+
useActions: useFactoryActions,
|
|
35
|
+
useStoreState: useFactoryStoreState
|
|
36
|
+
} = (0, _redux.createSliceHooks)(factorySlice, _sagas.saga);
|
|
37
|
+
exports.useFactoryStoreState = useFactoryStoreState;
|
|
38
|
+
exports.useFactoryActions = useFactoryActions;
|
|
39
|
+
//# sourceMappingURL=slice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slice.js","names":["_toolkit","require","_redux","_sagas","defaultFactoryState","initialized","exports","FACTORY_SLICE_NAME","factorySlice","createSlice","name","initialState","reducers","initFactoryAction","_state","_action","initFactorySuccessAction","state","destroyFactoryAction","setFailureAction","action","error","payload","factoryActions","actions","useActions","useFactoryActions","useStoreState","useFactoryStoreState","createSliceHooks","saga"],"sources":["../../../src/GlobalStore/slice.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2023 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\nimport { createSlice } from '@reduxjs/toolkit'\nimport { createSliceHooks } from '@looker/redux'\nimport type { IAPIMethods } from '@looker/sdk-rtl'\nimport type { PayloadAction } from '@reduxjs/toolkit'\nimport { saga } from './sagas'\n\nexport interface FactoryState {\n initialized: boolean\n error?: string\n}\n\nexport const defaultFactoryState: FactoryState = {\n initialized: false,\n}\n\nexport interface InitFactoryAction {\n sdk: IAPIMethods\n}\n\ntype SetFailureAction = Record<'error', string>\n\nexport const FACTORY_SLICE_NAME = 'factory'\n\nexport const factorySlice = createSlice({\n name: FACTORY_SLICE_NAME,\n initialState: defaultFactoryState,\n reducers: {\n initFactoryAction(_state, _action: PayloadAction<InitFactoryAction>) {\n // noop\n },\n initFactorySuccessAction(state) {\n state.initialized = true\n },\n destroyFactoryAction() {\n // noop\n },\n setFailureAction(state, action: PayloadAction<SetFailureAction>) {\n state.error = action.payload.error\n },\n },\n})\n\nexport const factoryActions = factorySlice.actions\nexport const {\n useActions: useFactoryActions,\n useStoreState: useFactoryStoreState,\n} = createSliceHooks(factorySlice, saga)\n"],"mappings":";;;;;;AAyBA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAGA,IAAAE,MAAA,GAAAF,OAAA;AAOO,IAAMG,mBAAiC,GAAG;EAC/CC,WAAW,EAAE;AACf,CAAC;AAAAC,OAAA,CAAAF,mBAAA,GAAAA,mBAAA;AAQM,IAAMG,kBAAkB,GAAG,SAAS;AAAAD,OAAA,CAAAC,kBAAA,GAAAA,kBAAA;AAEpC,IAAMC,YAAY,GAAG,IAAAC,oBAAW,EAAC;EACtCC,IAAI,EAAEH,kBAAkB;EACxBI,YAAY,EAAEP,mBAAmB;EACjCQ,QAAQ,EAAE;IACRC,iBAAiBA,CAACC,MAAM,EAAEC,OAAyC,EAAE,CAErE,CAAC;IACDC,wBAAwBA,CAACC,KAAK,EAAE;MAC9BA,KAAK,CAACZ,WAAW,GAAG,IAAI;IAC1B,CAAC;IACDa,oBAAoBA,CAAA,EAAG,CAEvB,CAAC;IACDC,gBAAgBA,CAACF,KAAK,EAAEG,MAAuC,EAAE;MAC/DH,KAAK,CAACI,KAAK,GAAGD,MAAM,CAACE,OAAO,CAACD,KAAK;IACpC;EACF;AACF,CAAC,CAAC;AAAAf,OAAA,CAAAE,YAAA,GAAAA,YAAA;AAEK,IAAMe,cAAc,GAAGf,YAAY,CAACgB,OAAO;AAAAlB,OAAA,CAAAiB,cAAA,GAAAA,cAAA;AAC3C,IAAM;EACXE,UAAU,EAAEC,iBAAiB;EAC7BC,aAAa,EAAEC;AACjB,CAAC,GAAG,IAAAC,uBAAgB,EAACrB,YAAY,EAAEsB,WAAI,CAAC;AAAAxB,OAAA,CAAAsB,oBAAA,GAAAA,oBAAA;AAAAtB,OAAA,CAAAoB,iBAAA,GAAAA,iBAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.store = void 0;
|
|
7
|
+
var _redux = require("@looker/redux");
|
|
8
|
+
var _Theme = require("../Theme");
|
|
9
|
+
var _slice = require("./slice");
|
|
10
|
+
var store = (0, _redux.createStore)({
|
|
11
|
+
preloadedState: {
|
|
12
|
+
factory: _slice.defaultFactoryState,
|
|
13
|
+
themes: _Theme.defaultThemesState
|
|
14
|
+
},
|
|
15
|
+
reducer: {
|
|
16
|
+
factory: _slice.factorySlice.reducer,
|
|
17
|
+
themes: _Theme.themesSlice.reducer
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
exports.store = store;
|
|
21
|
+
//# sourceMappingURL=store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.js","names":["_redux","require","_Theme","_slice","store","createStore","preloadedState","factory","defaultFactoryState","themes","defaultThemesState","reducer","factorySlice","themesSlice","exports"],"sources":["../../../src/GlobalStore/store.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2023 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\nimport { createStore } from '@looker/redux'\nimport { defaultThemesState, themesSlice } from '../Theme'\nimport type { ThemesState } from '../Theme'\nimport { defaultFactoryState, factorySlice } from './slice'\nimport type { FactoryState } from './slice'\n\nexport const store = createStore({\n preloadedState: {\n factory: defaultFactoryState,\n themes: defaultThemesState,\n },\n reducer: {\n factory: factorySlice.reducer,\n themes: themesSlice.reducer,\n },\n})\n\nexport interface RootState {\n factory: FactoryState\n themes?: ThemesState\n}\n"],"mappings":";;;;;;AAyBA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA,IAAAE,MAAA,GAAAF,OAAA;AAGO,IAAMG,KAAK,GAAG,IAAAC,kBAAW,EAAC;EAC/BC,cAAc,EAAE;IACdC,OAAO,EAAEC,0BAAmB;IAC5BC,MAAM,EAAEC;EACV,CAAC;EACDC,OAAO,EAAE;IACPJ,OAAO,EAAEK,mBAAY,CAACD,OAAO;IAC7BF,MAAM,EAAEI,kBAAW,CAACF;EACtB;AACF,CAAC,CAAC;AAAAG,OAAA,CAAAV,KAAA,GAAAA,KAAA"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.QuickEmbed = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _components = require("@looker/components");
|
|
9
|
+
var _materialOutlined = require("@styled-icons/material-outlined");
|
|
10
|
+
var _embedServices = require("@looker/embed-services");
|
|
11
|
+
var _Theme = require("../Theme");
|
|
12
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
13
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
14
|
+
var QuickEmbed = _ref => {
|
|
15
|
+
var {
|
|
16
|
+
onClose
|
|
17
|
+
} = _ref;
|
|
18
|
+
var service = new _embedServices.EmbedUrl();
|
|
19
|
+
var [toggleValue, setToggle] = (0, _react.useState)(false);
|
|
20
|
+
var [embedUrl, setEmbedUrl] = (0, _react.useState)(service.embedUrl(false));
|
|
21
|
+
var {
|
|
22
|
+
selectedTheme
|
|
23
|
+
} = (0, _Theme.useThemesStoreState)();
|
|
24
|
+
var {
|
|
25
|
+
selectThemeAction
|
|
26
|
+
} = (0, _Theme.useThemeActions)();
|
|
27
|
+
var handleToggle = () => {
|
|
28
|
+
var newToggleValue = !toggleValue;
|
|
29
|
+
if (newToggleValue) {
|
|
30
|
+
var urlThemeName = service.searchParams.theme;
|
|
31
|
+
if (urlThemeName) {
|
|
32
|
+
selectThemeAction({
|
|
33
|
+
key: urlThemeName
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
setToggle(newToggleValue);
|
|
38
|
+
};
|
|
39
|
+
(0, _react.useEffect)(() => {
|
|
40
|
+
var overrides;
|
|
41
|
+
if (service.isThemable) {
|
|
42
|
+
overrides = {
|
|
43
|
+
theme: selectedTheme.name
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
var newUrl = service.embedUrl(toggleValue, overrides);
|
|
47
|
+
setEmbedUrl(newUrl);
|
|
48
|
+
}, [toggleValue, selectedTheme]);
|
|
49
|
+
return _react.default.createElement(_components.Section, {
|
|
50
|
+
padding: "large"
|
|
51
|
+
}, _react.default.createElement(_components.Heading, {
|
|
52
|
+
as: "h3",
|
|
53
|
+
fontWeight: "medium"
|
|
54
|
+
}, "Get embed url"), _react.default.createElement(_components.SpaceVertical, {
|
|
55
|
+
pt: "medium",
|
|
56
|
+
pb: "medium",
|
|
57
|
+
gap: "xsmall"
|
|
58
|
+
}, service.isThemable && _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_components.Span, {
|
|
59
|
+
fontWeight: "normal",
|
|
60
|
+
fontSize: "xsmall"
|
|
61
|
+
}, "Apply theme to ", service.contentType.toLocaleLowerCase(), " URL"), _react.default.createElement(_Theme.SelectTheme, null)), _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_components.Label, {
|
|
62
|
+
htmlFor: "embed-url",
|
|
63
|
+
fontWeight: "normal",
|
|
64
|
+
fontSize: "xsmall"
|
|
65
|
+
}, "Embed URL"), _react.default.createElement(_components.InputText, {
|
|
66
|
+
id: "embed-url",
|
|
67
|
+
iconBefore: _react.default.createElement(_materialOutlined.Link, null),
|
|
68
|
+
readOnly: true,
|
|
69
|
+
value: embedUrl
|
|
70
|
+
}))), _react.default.createElement(_components.Space, {
|
|
71
|
+
gap: "xxsmall",
|
|
72
|
+
fontWeight: "normal",
|
|
73
|
+
fontSize: "small"
|
|
74
|
+
}, _react.default.createElement(_components.ToggleSwitch, {
|
|
75
|
+
onChange: handleToggle,
|
|
76
|
+
on: toggleValue
|
|
77
|
+
}), "Include current params in URL"), _react.default.createElement(_components.Space, {
|
|
78
|
+
mt: "large",
|
|
79
|
+
between: true
|
|
80
|
+
}, _react.default.createElement(_components.CopyToClipboard, {
|
|
81
|
+
content: embedUrl
|
|
82
|
+
}, _react.default.createElement(_components.ButtonOutline, {
|
|
83
|
+
iconBefore: _react.default.createElement(_materialOutlined.Link, null)
|
|
84
|
+
}, "Copy Link")), _react.default.createElement(_components.Button, {
|
|
85
|
+
onClick: onClose
|
|
86
|
+
}, "Cancel")));
|
|
87
|
+
};
|
|
88
|
+
exports.QuickEmbed = QuickEmbed;
|
|
89
|
+
//# sourceMappingURL=QuickEmbed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QuickEmbed.js","names":["_react","_interopRequireWildcard","require","_components","_materialOutlined","_embedServices","_Theme","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","QuickEmbed","_ref","onClose","service","EmbedUrl","toggleValue","setToggle","useState","embedUrl","setEmbedUrl","selectedTheme","useThemesStoreState","selectThemeAction","useThemeActions","handleToggle","newToggleValue","urlThemeName","searchParams","theme","useEffect","overrides","isThemable","name","newUrl","createElement","Section","padding","Heading","as","fontWeight","SpaceVertical","pt","pb","gap","Fragment","Span","fontSize","contentType","toLocaleLowerCase","SelectTheme","Label","htmlFor","InputText","id","iconBefore","Link","readOnly","value","Space","ToggleSwitch","onChange","on","mt","between","CopyToClipboard","content","ButtonOutline","Button","onClick","exports"],"sources":["../../../src/QuickEmbed/QuickEmbed.tsx"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2023 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport React, { useEffect, useState } from 'react'\nimport {\n InputText,\n CopyToClipboard,\n Space,\n SpaceVertical,\n Button,\n Heading,\n Label,\n Span,\n Section,\n ButtonOutline,\n ToggleSwitch,\n} from '@looker/components'\nimport { Link } from '@styled-icons/material-outlined'\nimport { EmbedUrl } from '@looker/embed-services'\nimport { useThemesStoreState, SelectTheme, useThemeActions } from '../Theme'\n\ninterface QuickEmbedProps {\n onClose: () => void\n}\n\nexport const QuickEmbed = ({ onClose }: QuickEmbedProps) => {\n const service = new EmbedUrl()\n const [toggleValue, setToggle] = useState(false)\n const [embedUrl, setEmbedUrl] = useState<string>(service.embedUrl(false))\n const { selectedTheme } = useThemesStoreState()\n const { selectThemeAction } = useThemeActions()\n\n const handleToggle = () => {\n const newToggleValue = !toggleValue\n if (newToggleValue) {\n // Change the selected theme if there's a theme param in the url\n const urlThemeName = service.searchParams.theme\n if (urlThemeName) {\n selectThemeAction({ key: urlThemeName })\n }\n }\n setToggle(newToggleValue)\n }\n\n useEffect(() => {\n let overrides\n if (service.isThemable) {\n overrides = { theme: selectedTheme.name }\n }\n const newUrl = service.embedUrl(toggleValue, overrides)\n setEmbedUrl(newUrl)\n }, [toggleValue, selectedTheme])\n\n return (\n <Section padding=\"large\">\n <Heading as=\"h3\" fontWeight=\"medium\">\n Get embed url\n </Heading>\n\n <SpaceVertical pt=\"medium\" pb=\"medium\" gap=\"xsmall\">\n {service.isThemable && (\n <>\n <Span fontWeight=\"normal\" fontSize=\"xsmall\">\n Apply theme to {service.contentType.toLocaleLowerCase()} URL\n </Span>\n <SelectTheme />\n </>\n )}\n <>\n <Label htmlFor=\"embed-url\" fontWeight=\"normal\" fontSize=\"xsmall\">\n Embed URL\n </Label>\n <InputText\n id=\"embed-url\"\n iconBefore={<Link />}\n readOnly\n value={embedUrl}\n />\n </>\n </SpaceVertical>\n\n <Space gap=\"xxsmall\" fontWeight=\"normal\" fontSize=\"small\">\n <ToggleSwitch onChange={handleToggle} on={toggleValue} />\n Include current params in URL\n </Space>\n\n <Space mt=\"large\" between>\n <CopyToClipboard content={embedUrl}>\n <ButtonOutline iconBefore={<Link />}>Copy Link</ButtonOutline>\n </CopyToClipboard>\n <Button onClick={onClose}>Cancel</Button>\n </Space>\n </Section>\n )\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _QuickEmbed = require("./QuickEmbed");
|
|
7
|
+
Object.keys(_QuickEmbed).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _QuickEmbed[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function get() {
|
|
13
|
+
return _QuickEmbed[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_QuickEmbed","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../src/QuickEmbed/index.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2023 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\nexport * from './QuickEmbed'\n"],"mappings":";;;;;AAyBA,IAAAA,WAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,WAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,WAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,WAAA,CAAAK,GAAA;IAAA;EAAA;AAAA"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.SelectTheme = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _components = require("@looker/components");
|
|
9
|
+
var _state = require("./state");
|
|
10
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
11
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
12
|
+
var SelectTheme = () => {
|
|
13
|
+
var {
|
|
14
|
+
initialized,
|
|
15
|
+
themes,
|
|
16
|
+
selectedTheme,
|
|
17
|
+
error,
|
|
18
|
+
working
|
|
19
|
+
} = (0, _state.useThemesStoreState)();
|
|
20
|
+
var {
|
|
21
|
+
initAction,
|
|
22
|
+
loadThemeDataAction,
|
|
23
|
+
selectThemeAction
|
|
24
|
+
} = (0, _state.useThemeActions)();
|
|
25
|
+
var [options, setOptions] = (0, _react.useState)([]);
|
|
26
|
+
(0, _react.useEffect)(() => {
|
|
27
|
+
initAction();
|
|
28
|
+
}, []);
|
|
29
|
+
(0, _react.useEffect)(() => {
|
|
30
|
+
if (initialized) {
|
|
31
|
+
loadThemeDataAction();
|
|
32
|
+
}
|
|
33
|
+
}, [initialized]);
|
|
34
|
+
(0, _react.useEffect)(() => {
|
|
35
|
+
var themeOptions = themes.map(theme => ({
|
|
36
|
+
value: theme.id,
|
|
37
|
+
label: theme.name
|
|
38
|
+
})).sort((x, y) => x.label.localeCompare(y.label));
|
|
39
|
+
setOptions(themeOptions);
|
|
40
|
+
}, [themes]);
|
|
41
|
+
var handleChange = key => {
|
|
42
|
+
selectThemeAction({
|
|
43
|
+
key
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
return _react.default.createElement(_components.SpaceVertical, {
|
|
47
|
+
gap: "xxxsmall"
|
|
48
|
+
}, _react.default.createElement(_components.Select, {
|
|
49
|
+
disabled: themes.length <= 1,
|
|
50
|
+
isLoading: !initialized || working,
|
|
51
|
+
validationType: error ? 'error' : undefined,
|
|
52
|
+
value: selectedTheme.name,
|
|
53
|
+
options: options,
|
|
54
|
+
onChange: handleChange
|
|
55
|
+
}), error && _react.default.createElement(_components.ValidationMessage, {
|
|
56
|
+
type: "error",
|
|
57
|
+
message: error
|
|
58
|
+
}));
|
|
59
|
+
};
|
|
60
|
+
exports.SelectTheme = SelectTheme;
|
|
61
|
+
//# sourceMappingURL=SelectTheme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectTheme.js","names":["_react","_interopRequireWildcard","require","_components","_state","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","SelectTheme","initialized","themes","selectedTheme","error","working","useThemesStoreState","initAction","loadThemeDataAction","selectThemeAction","useThemeActions","options","setOptions","useState","useEffect","themeOptions","map","theme","value","id","label","name","sort","x","y","localeCompare","handleChange","createElement","SpaceVertical","gap","Select","disabled","length","isLoading","validationType","undefined","onChange","ValidationMessage","type","message","exports"],"sources":["../../../src/Theme/SelectTheme.tsx"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2023 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\nimport React, { useState, useEffect } from 'react'\nimport { Select, SpaceVertical, ValidationMessage } from '@looker/components'\nimport type { SelectOptionObject } from '@looker/components'\nimport { useThemeActions, useThemesStoreState } from './state'\n\nexport const SelectTheme = () => {\n const { initialized, themes, selectedTheme, error, working } =\n useThemesStoreState()\n const { initAction, loadThemeDataAction, selectThemeAction } =\n useThemeActions()\n const [options, setOptions] = useState<SelectOptionObject[]>([])\n\n useEffect(() => {\n /** initialize theme service */\n initAction()\n }, [])\n\n useEffect(() => {\n if (initialized) {\n /** If theme service is initialized, load all theme data */\n loadThemeDataAction()\n }\n }, [initialized])\n\n useEffect(() => {\n const themeOptions: SelectOptionObject[] = themes\n .map((theme) => ({\n value: theme.id!,\n label: theme.name,\n }))\n .sort((x, y) => x.label!.localeCompare(y.label!))\n setOptions(themeOptions)\n }, [themes])\n\n const handleChange = (key: string) => {\n selectThemeAction({ key })\n }\n\n return (\n <SpaceVertical gap=\"xxxsmall\">\n <Select\n disabled={themes.length <= 1}\n isLoading={!initialized || working}\n validationType={error ? 'error' : undefined}\n value={selectedTheme.name}\n options={options}\n onChange={handleChange}\n />\n {error && <ValidationMessage type=\"error\" message={error} />}\n </SpaceVertical>\n )\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _exportNames = {
|
|
7
|
+
SelectTheme: true
|
|
8
|
+
};
|
|
9
|
+
Object.defineProperty(exports, "SelectTheme", {
|
|
10
|
+
enumerable: true,
|
|
11
|
+
get: function get() {
|
|
12
|
+
return _SelectTheme.SelectTheme;
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
var _SelectTheme = require("./SelectTheme");
|
|
16
|
+
var _state = require("./state");
|
|
17
|
+
Object.keys(_state).forEach(function (key) {
|
|
18
|
+
if (key === "default" || key === "__esModule") return;
|
|
19
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
20
|
+
if (key in exports && exports[key] === _state[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function get() {
|
|
24
|
+
return _state[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_SelectTheme","require","_state","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get"],"sources":["../../../src/Theme/index.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2023 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\nexport { SelectTheme } from './SelectTheme'\nexport * from './state'\n"],"mappings":";;;;;;;;;;;;;;AAyBA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,MAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,MAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAZ,MAAA,CAAAI,GAAA;IAAA;EAAA;AAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _slice = require("./slice");
|
|
7
|
+
Object.keys(_slice).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _slice[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function get() {
|
|
13
|
+
return _slice[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_slice","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../../src/Theme/state/index.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2023 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\nexport * from './slice'\n"],"mappings":";;;;;AAyBA,IAAAA,MAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,MAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,MAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,MAAA,CAAAK,GAAA;IAAA;EAAA;AAAA"}
|