@uniformdev/context-devtools 12.2.1-alpha.183 → 14.2.1-alpha.128

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 (31) hide show
  1. package/dist/esm/index.js +768 -0
  2. package/dist/index.d.ts +55 -0
  3. package/dist/index.js +735 -4
  4. package/package.json +13 -32
  5. package/dist/index.mjs +0 -997
  6. package/dist/modules.d.ts +0 -9
  7. package/dist/src/components/Accordion/Accordion.d.ts +0 -7
  8. package/dist/src/components/Buttons/Button.d.ts +0 -5
  9. package/dist/src/components/Buttons/EmbedToggleButton.d.ts +0 -2
  10. package/dist/src/components/CallToAction/ConnectApiKey.d.ts +0 -3
  11. package/dist/src/components/CallToAction/NoActiveDimensions.d.ts +0 -8
  12. package/dist/src/components/CallToAction/index.d.ts +0 -2
  13. package/dist/src/components/ContextDevTools.d.ts +0 -22
  14. package/dist/src/components/EmbeddedContextDevTools.d.ts +0 -18
  15. package/dist/src/components/Form/Fieldset.d.ts +0 -5
  16. package/dist/src/components/Form/Legend.d.ts +0 -2
  17. package/dist/src/components/Form/index.d.ts +0 -3
  18. package/dist/src/components/Inputs/InputText.d.ts +0 -7
  19. package/dist/src/components/Inputs/SelectInput.d.ts +0 -11
  20. package/dist/src/components/Inputs/SwitchInput.d.ts +0 -5
  21. package/dist/src/components/Navigation/Menu.d.ts +0 -4
  22. package/dist/src/components/NotFound/NotFound.d.ts +0 -2
  23. package/dist/src/components/Personalization/Dimensions.d.ts +0 -3
  24. package/dist/src/components/Personalization/Quirks.d.ts +0 -3
  25. package/dist/src/components/Personalization/Settings.d.ts +0 -3
  26. package/dist/src/components/Personalization/index.d.ts +0 -4
  27. package/dist/src/components/Table/Table.d.ts +0 -17
  28. package/dist/src/components/Table/index.d.ts +0 -2
  29. package/dist/src/hooks/useDimensionIndex.d.ts +0 -12
  30. package/dist/src/index.d.ts +0 -2
  31. package/dist/style.css +0 -1
package/dist/modules.d.ts DELETED
@@ -1,9 +0,0 @@
1
- declare module '*.module.css' {
2
- const classes: { [key: string]: string };
3
- export default classes;
4
- }
5
-
6
- declare module '*.module.scss' {
7
- const classes: { [key: string]: string };
8
- export default classes;
9
- }
@@ -1,7 +0,0 @@
1
- import * as React from 'react';
2
- export declare type AccordionItemProps = {
3
- title: string;
4
- children: React.ReactNode;
5
- };
6
- export declare const Accordion: React.FC;
7
- export declare const AccordionItem: ({ title, children }: AccordionItemProps) => JSX.Element;
@@ -1,5 +0,0 @@
1
- import * as React from 'react';
2
- export declare type ButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement> & {
3
- buttonType?: 'primary' | 'secondary' | 'unimportant' | 'ghost';
4
- };
5
- export declare const Button: ({ buttonType, children, className, ...props }: ButtonProps) => JSX.Element;
@@ -1,2 +0,0 @@
1
- import * as React from 'react';
2
- export declare const EmbedToggleButton: ({ ...props }: React.ButtonHTMLAttributes<HTMLButtonElement>) => JSX.Element;
@@ -1,3 +0,0 @@
1
- /// <reference types="react" />
2
- import { ContextDevToolsProps } from '../ContextDevTools';
3
- export declare const ConnectApiKey: ({ settings, saveSettings }: ContextDevToolsProps) => JSX.Element | null;
@@ -1,8 +0,0 @@
1
- import * as React from 'react';
2
- export declare type NoActiveDimensionsProps = {
3
- title: string;
4
- text: string;
5
- buttonGroup?: React.ReactNode;
6
- children?: React.ReactNode;
7
- };
8
- export declare const NoActiveDimensions: ({ title, text, buttonGroup, children }: NoActiveDimensionsProps) => JSX.Element;
@@ -1,2 +0,0 @@
1
- import { ConnectApiKey } from './ConnectApiKey';
2
- export { ConnectApiKey };
@@ -1,22 +0,0 @@
1
- /// <reference types="react" />
2
- import { type DevToolsState, type DevToolsActions, type OutputSeverity } from '@uniformdev/context';
3
- import { useDimensionIndex } from '../hooks/useDimensionIndex';
4
- export declare type DevToolsSettings = {
5
- apiKey?: string;
6
- projectId?: string;
7
- apiHost?: string;
8
- logLevel?: OutputSeverity;
9
- /** Current route the app is on */
10
- route?: string;
11
- ignoreApiKeyPrompt?: boolean;
12
- };
13
- export declare type ContextDevToolsProps = {
14
- state: DevToolsState;
15
- actions: DevToolsActions;
16
- settings: DevToolsSettings;
17
- saveSettings: (settings: DevToolsSettings) => void;
18
- };
19
- export declare type ContextDevToolsRouteProps = ContextDevToolsProps & {
20
- dimensionIndex: ReturnType<typeof useDimensionIndex>;
21
- };
22
- export declare function ContextDevTools(props: ContextDevToolsProps): JSX.Element;
@@ -1,18 +0,0 @@
1
- /// <reference types="react" />
2
- import { Context } from '@uniformdev/context';
3
- import { DevToolsSettings } from '..';
4
- export declare type EmbeddedContextDevToolsProps = {
5
- /**
6
- * Pass a Context instance to connect to DevTools.
7
- * This is optional, and defaults to a context instance registered in `window`
8
- * when the `enableContextDevTools()` plugin is activated so no direct contact is required.
9
- *
10
- * Using the window interface enables you to render the DevTools in an isolated React app easily,
11
- * or in non-React apps.
12
- */
13
- context?: Context;
14
- /** Initial settings for the devtools. */
15
- initialSettings?: DevToolsSettings;
16
- };
17
- /** Renders Uniform Context DevTools in an embedded state (as a React component that can be an island on a demo page, for example) */
18
- export declare function EmbeddedContextDevTools({ context, initialSettings }: EmbeddedContextDevToolsProps): JSX.Element;
@@ -1,5 +0,0 @@
1
- import * as React from 'react';
2
- export declare type FieldsetProps = React.FieldsetHTMLAttributes<HTMLFieldSetElement> & {
3
- children: React.ReactNode;
4
- };
5
- export declare const Fieldset: ({ children, ...props }: FieldsetProps) => JSX.Element;
@@ -1,2 +0,0 @@
1
- import * as React from 'react';
2
- export declare const Legend: React.FC;
@@ -1,3 +0,0 @@
1
- import { Fieldset } from './Fieldset';
2
- import { Legend } from './Legend';
3
- export { Fieldset, Legend };
@@ -1,7 +0,0 @@
1
- /// <reference types="react" />
2
- import { FieldProps } from 'formik';
3
- export declare type InputTextProps = {
4
- label: string;
5
- caption?: string;
6
- };
7
- export declare const InputText: ({ field, form, meta, ...rawProps }: FieldProps) => JSX.Element;
@@ -1,11 +0,0 @@
1
- /// <reference types="react" />
2
- import { FieldProps } from 'formik';
3
- export declare type SelectInputProps = {
4
- label: string;
5
- caption?: string;
6
- options: Array<{
7
- value: string;
8
- text: string;
9
- }>;
10
- };
11
- export declare const SelectInput: ({ field, form, meta, ...rawProps }: FieldProps) => JSX.Element;
@@ -1,5 +0,0 @@
1
- import * as React from 'react';
2
- export declare type SwitchInputProps = React.InputHTMLAttributes<HTMLInputElement> & {
3
- label: string;
4
- };
5
- export declare const SwitchInput: ({ label, ...props }: SwitchInputProps) => JSX.Element;
@@ -1,4 +0,0 @@
1
- /// <reference types="react" />
2
- export declare const Menu: ({ ...props }: {
3
- [x: string]: any;
4
- }) => JSX.Element;
@@ -1,2 +0,0 @@
1
- /// <reference types="react" />
2
- export declare const NotFound: () => JSX.Element;
@@ -1,3 +0,0 @@
1
- /// <reference types="react" />
2
- import { ContextDevToolsRouteProps } from '../ContextDevTools';
3
- export declare const Dimensions: ({ dimensionIndex: { index: dimensionIndex }, state: { scores, data }, actions, }: ContextDevToolsRouteProps) => JSX.Element;
@@ -1,3 +0,0 @@
1
- /// <reference types="react" />
2
- import { ContextDevToolsRouteProps } from '../ContextDevTools';
3
- export declare const Quirks: ({ ...props }: ContextDevToolsRouteProps) => JSX.Element;
@@ -1,3 +0,0 @@
1
- /// <reference types="react" />
2
- import { ContextDevToolsRouteProps } from '../ContextDevTools';
3
- export declare const Settings: ({ settings, saveSettings, dimensionIndex: { error, loading }, }: ContextDevToolsRouteProps) => JSX.Element;
@@ -1,4 +0,0 @@
1
- import { Dimensions } from './Dimensions';
2
- import { Quirks } from './Quirks';
3
- import { Settings } from './Settings';
4
- export { Dimensions, Quirks, Settings };
@@ -1,17 +0,0 @@
1
- import * as React from 'react';
2
- export declare const Table: React.FC;
3
- export declare const THead: React.FC;
4
- export declare const TBody: React.FC;
5
- export declare type TRowProps = {
6
- border?: 'bottom';
7
- children?: React.ReactNode;
8
- };
9
- export declare const TRow: ({ border, children }: TRowProps) => JSX.Element;
10
- export declare const THeading: React.FC;
11
- export declare type TDataProps = {
12
- alignment?: 'left' | 'right' | 'center';
13
- border?: 'left';
14
- color?: 'light' | 'dark';
15
- children: React.ReactNode;
16
- };
17
- export declare const TData: ({ alignment, border, color, children }: TDataProps) => JSX.Element;
@@ -1,2 +0,0 @@
1
- import { TBody, TData, THead, THeading, TRow, Table } from './Table';
2
- export { TBody, TData, THead, THeading, TRow, Table };
@@ -1,12 +0,0 @@
1
- import { DevToolsSettings } from '../components/ContextDevTools';
2
- import { DimensionDisplayData } from '@uniformdev/context/api';
3
- import { ManifestV2 } from '@uniformdev/context/*';
4
- /**
5
- * Fetches dimension data in an indexed object from Uniform API
6
- * If incomplete data is sent, returns empty index.
7
- */
8
- export declare function useDimensionIndex({ apiHost, apiKey, projectId }: DevToolsSettings, manifest?: ManifestV2): {
9
- loading: boolean;
10
- error: Error | undefined;
11
- index: Record<string, DimensionDisplayData>;
12
- };
@@ -1,2 +0,0 @@
1
- export * from './components/ContextDevTools';
2
- export * from './components/EmbeddedContextDevTools';
package/dist/style.css DELETED
@@ -1 +0,0 @@
1
- ._menu_6gnmz_1{background:var(--brand-secondary-1);padding:var(--spacing-base);min-width:200px}._logo_6gnmz_7{display:inline-block;margin:0 var(--spacing-base)}._logo__svg_6gnmz_12{display:block}._menu__list_6gnmz_16{display:flex;flex-flow:column nowrap;padding:0;margin:0;list-style-type:none;height:calc(100% - var(--spacing-base) * 2.5)}._menu__item_6gnmz_25{padding:0;margin:0;list-style-type:none}._menu__item_6gnmz_25:last-of-type{margin-top:auto}._menu__link_6gnmz_35{align-items:center;border-radius:var(--rounded-base);display:flex;color:var(--white);gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-base);text-decoration:none;transition:background-color .25s ease-in-out}._menu__link_6gnmz_35:hover,._menu__link--active_6gnmz_47{background:var(--gray-700)}._menu__icon_6gnmz_51{align-items:center;display:flex}._accordion_1y4mw_1,._accordion__content_1y4mw_2{will-change:height}._accordion__title_1y4mw_6{border-bottom:2px solid var(--brand-secondary-1);font-size:var(--font-base);margin:0}._accordion__btn_1y4mw_12{align-items:center;border:none;background:none;cursor:pointer;display:flex;width:100%;padding:var(--spacing-sm) 0;font-weight:var(--font-bold);justify-content:space-between}._accordion__icon_1y4mw_24{align-self:center}._accordion__icon--active_1y4mw_28{transform:rotate(-180deg)}._accordion__content_1y4mw_2{padding:var(--spacing-sm) 0}._btn_15bw2_1{align-items:center;border:1px solid transparent;cursor:pointer;display:inline-flex;padding:var(--spacing-sm) var(--spacing-base);transition:opacity .2s ease-in-out,border-color .2s ease-in-out;font-size:var(--font-sm)}._btn_15bw2_1:hover{opacity:.8}._btn--primary_15bw2_15{background:var(--brand-secondary-1)}._btn--secondary_15bw2_19{background:var(--brand-secondary-5)}._btn--unimportant_15bw2_22{background:var(--brand-secondary-3);color:var(--brand-secondary-1)}._btn--ghost_15bw2_26{background:transparent;color:var(--brand-secondary-5)}._btn--ghost_15bw2_26:hover{border:1px solid var(--brand-secondary-5)}._btn--primary_15bw2_15,._btn--secondary_15bw2_19{color:var(--white)}._btn--primary_15bw2_15,._btn--secondary_15bw2_19,._btn--unimportant_15bw2_22{font-weight:var(--font-bold)}._cta_ddty5_1{background-color:var(--gray-100);padding:var(--spacing-base) var(--spacing-md);margin:var(--spacing-base) 0;position:relative}._cta_ddty5_1:first-of-type{margin:0 0 var(--spacing-base)}._cta--with-icon_ddty5_12{background:var(--gray-100) url(data:image/svg+xml;base64,PHN2ZwogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKPgogIDxwYXRoCiAgICBmaWxsLXJ1bGU9ImV2ZW5vZGQiCiAgICBjbGlwLXJ1bGU9ImV2ZW5vZGQiCiAgICBkPSJNOSAyQzguNDQ3NzEgMiA4IDIuNDQ3NzIgOCAzVjVDOCA1LjU1MjI4IDguNDQ3NzEgNiA5IDZDOS41NTIyOSA2IDEwIDUuNTUyMjggMTAgNVYzQzEwIDIuNDQ3NzIgOS41NTIyOSAyIDkgMlpNOCA5SDE2VjExQzE2IDEzLjIwOTEgMTQuMjA5MSAxNSAxMiAxNUM5Ljc5MDg2IDE1IDggMTMuMjA5MSA4IDExVjlaTTEzIDE2LjkxN0MxNS44Mzc3IDE2LjQ0MSAxOCAxMy45NzMgMTggMTFWN0g2VjExQzYgMTMuOTczIDguMTYyMjkgMTYuNDQxIDExIDE2LjkxN1YyMkMxMSAyMi41NTIzIDExLjQ0NzcgMjMgMTIgMjNDMTIuNTUyMyAyMyAxMyAyMi41NTIzIDEzIDIyVjE2LjkxN1pNMTQgM0MxNCAyLjQ0NzcyIDE0LjQ0NzcgMiAxNSAyQzE1LjU1MjMgMiAxNiAyLjQ0NzcyIDE2IDNWNUMxNiA1LjU1MjI4IDE1LjU1MjMgNiAxNSA2QzE0LjQ0NzcgNiAxNCA1LjU1MjI4IDE0IDVWM1oiCiAgICBmaWxsPSIjMmVjZGI0IgogIC8+Cjwvc3ZnPg==) no-repeat var(--spacing-sm) var(--spacing-base);padding:var(--spacing-base) var(--spacing-xl)}._cta__title_ddty5_17{color:var(--brand-secondary-1);margin:0;font-size:var(--font-base);font-weight:var(--font-bold)}._cta__text_ddty5_24{color:var(--brand-secondary-1);margin:var(--spacing-xs) 0 0;font-size:var(--font-sm)}._cta__close_ddty5_30{align-items:center;border:none;background:transparent url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoCiAgICBkPSJNNi4yMjUzIDQuODExMDhDNS44MzQ3NyA0LjQyMDU2IDUuMjAxNjEgNC40MjA1NiA0LjgxMTA4IDQuODExMDhDNC40MjA1NiA1LjIwMTYxIDQuNDIwNTYgNS44MzQ3NyA0LjgxMTA4IDYuMjI1M0wxMC41ODU4IDEyTDQuODExMTQgMTcuNzc0N0M0LjQyMDYyIDE4LjE2NTIgNC40MjA2MiAxOC43OTg0IDQuODExMTQgMTkuMTg4OUM1LjIwMTY3IDE5LjU3OTQgNS44MzQ4MyAxOS41Nzk0IDYuMjI1MzUgMTkuMTg4OUwxMiAxMy40MTQyTDE3Ljc3NDcgMTkuMTg4OUMxOC4xNjUyIDE5LjU3OTQgMTguNzk4NCAxOS41Nzk0IDE5LjE4ODkgMTkuMTg4OUMxOS41Nzk0IDE4Ljc5ODQgMTkuNTc5NCAxOC4xNjUyIDE5LjE4ODkgMTcuNzc0N0wxMy40MTQyIDEyTDE5LjE4OSA2LjIyNTNDMTkuNTc5NSA1LjgzNDc3IDE5LjU3OTUgNS4yMDE2MSAxOS4xODkgNC44MTEwOEMxOC43OTg1IDQuNDIwNTYgMTguMTY1MyA0LjQyMDU2IDE3Ljc3NDggNC44MTEwOEwxMiAxMC41ODU4TDYuMjI1MyA0LjgxMTA4WiIKICAgIGZpbGw9IiMyZWNkYjQiCiAgICAvPgo8L3N2Zz4=) no-repeat center center;cursor:pointer;color:var(--brand-secondary-3);display:flex;padding:0;position:absolute;width:24px;height:24px;top:var(--spacing-base);right:var(--spacing-sm);transition:opacity .2s ease-in-out}._cta__close_ddty5_30:hover{opacity:.6}._cta__btn-group_ddty5_50{display:flex;margin:var(--spacing-sm) 0 0;gap:var(--spacing-base)}._input-switch_13lsn_1{align-items:center;cursor:pointer;display:flex;gap:var(--spacing-xs)}._input-switch__label_13lsn_8{color:var(--gray-500);font-size:var(--font-sm)}._input-switch__control_13lsn_13{background:var(--gray-600)}._input-switch__checkbox_13lsn_17{overflow:hidden;clip:rect(0,0,0,0);height:0;width:0;text-indent:-9999px}._input-switch__btn_13lsn_25{display:block;background:var(--gray-400);border-radius:var(--rounded-full);position:relative;height:16px;width:32px}._input-switch__btn_13lsn_25:before{border-radius:var(--rounded-full);background:var(--white);content:"";display:block;width:13px;height:13px;position:absolute;top:0;bottom:0;margin:auto 0;transform:translate(2px);transition:transform .2s ease-in-out,background-color .3s ease-in-out}._input-switch__checkbox_13lsn_17:checked~._input-switch__btn_13lsn_25:before{transform:translate(17px)}._input-switch__checkbox_13lsn_17:checked~._input-switch__btn_13lsn_25{background:var(--brand-secondary-5)}._table_fo951_1{border-collapse:collapse;display:table;width:100%;font-size:var(--font-sm)}._table__head_fo951_8{background:var(--gray-50);text-align:left}._table__heading_fo951_19{outline:none;padding:var(--spacing-sm)}._table__head_fo951_8>._table__row_fo951_16{border-bottom:1px solid var(--gray-200)}._table__row_fo951_16:where(:last-child){border:none}._table__data_fo951_32{padding:var(--spacing-base);max-width:180px;overflow-wrap:break-word;position:relative}._table__data--left_fo951_39{text-align:left}._table__data--right_fo951_43{text-align:right}._table__data--center_fo951_47{text-align:center}._table__data--light_fo951_51{color:var(--gray-400)}._table__data--dark_fo951_55{color:var(--brand-secondary-1)}._t-border-bottom_fo951_59{border-bottom:1px solid var(--gray-200)}._t-border-left_fo951_63{border-left:1px solid var(--gray-200)}._page_1ay01_1{color:var(--brand-secondary-1)}._page__text_1ay01_5{margin:var(--spacing-sm) 0}._page__title_1ay01_10{margin:0 0 var(--spacing-sm);font-size:var(--font-md)}._page__title_1ay01_10>small{display:block;font-size:var(--font-xs);font-weight:var(--font-regular);margin:var(--spacing-xxs) 0 0}._page__heading-group_1ay01_22{align-items:baseline;display:flex;justify-content:space-between}._divider_1ay01_29{background:var(--gray-300);display:block;width:1px;height:calc(100% - 1rem);position:absolute;inset:0 auto 0 0;margin:auto 0}@-webkit-keyframes _popIn_1ay01_1{0%{transform:scale(1)}to{transform:scale(1.2)}}@keyframes _popIn_1ay01_1{0%{transform:scale(1)}to{transform:scale(1.2)}}._submit-btn_1ay01_48{position:absolute;right:var(--spacing-base);bottom:var(--spacing-base);-webkit-animation:.5s 2 alternate _popIn_1ay01_1;animation:.5s 2 alternate _popIn_1ay01_1}._error_1ay01_55{color:var(--brand-secondary-5);font-size:var(--font-sm)}._text-input_1svz8_1{background:var(--white);border:1px solid var(--gray-500);border-radius:var(--rounded-base);color:var(--brand-secondary-1);padding:var(--spacing-base)}._select-input_1svz8_9:disabled,._text-input_1svz8_1:disabled{cursor:not-allowed;color:var(--gray-200)}._select-input_1svz8_9{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--white) url(data:image/svg+xml;base64,PHN2ZwogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKPgogIDxwYXRoCiAgICBkPSJNNi4zNDMxNyA3Ljc1NzMyTDQuOTI4OTYgOS4xNzE1NEwxMiAxNi4yNDI2TDE5LjA3MTEgOS4xNzE1N0wxNy42NTY5IDcuNzU3MzVMMTIgMTMuNDE0Mkw2LjM0MzE3IDcuNzU3MzJaIgogICAgZmlsbD0iIzgyODI4MiIKICAvPgo8L3N2Zz4=) no-repeat 98% 50%;border:1px solid var(--gray-500);border-radius:var(--rounded-base);color:var(--brand-secondary-1);padding:var(--spacing-base)}._input-wrapper_1svz8_24{margin:var(--spacing-base) 0}._input-label_1svz8_28{color:var(--brand-secondary-1);display:flex;flex-direction:column;margin:0 0 var(--spacing-sm)}._input-text_1svz8_35{color:var(--brand-secondary-1);display:block;font-weight:var(--font-bold);margin:0 0 var(--spacing-sm)}._input-caption_1svz8_42{color:var(--gray-600);font-size:var(--font-sm)}._error-msg_1svz8_47{color:var(--brand-secondary-5);display:block}._form_1dp40_1 p{color:red}._form__fieldset_1dp40_8{border:none;padding:0}._form__legend_1dp40_13{font-size:var(--font-base);font-weight:var(--font-bold)}/*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */*,:before,:after{box-sizing:border-box}html{-moz-tab-size:4;-o-tab-size:4;tab-size:4}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"}hr{height:0;color:inherit}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}[data-uniform-dev-tools-version="2"]{--brand-primary-1: #438fd5;--brand-primary-2: #f4220b;--brand-primary-3: #83c6e1;--brand-secondary-1: #1f2b34;--brand-secondary-2: #ecf1f1;--brand-secondary-3: #2ecdb4;--brand-secondary-4: #f6f1c3;--brand-secondary-5: #d9534f;--brand-secondary-6: #dbf6f2;--input-border: rgba(31, 43, 52, .5);--site-width: 700px;--min-height: 450px;--spacing-base: 1.15rem;--spacing-xs: calc(var(--spacing-base) - .75rem);--spacing-sm: calc(var(--spacing-base) - .5rem);--spacing-md: calc(var(--spacing-base) * 1.5);--spacing-lg: calc(var(--spacing-base) * 2);--spacing-xl: calc(var(--spacing-base) * 2.5);--font-base: 1rem;--font-xxs: calc(var(--font-base) - .5rem);--font-xs: calc(var(--font-base) - .25rem);--font-sm: calc(var(--font-base) - .125rem);--font-md: calc(var(--font-base) * 1.25);--font-lg: calc(var(--font-base) * 1.5);--font-regular: 400;--font-bold: 700;--shadow-base: rgba(50, 50, 93, .25) 0px 2px 5px -1px, rgba(0, 0, 0, .3) 0px 1px 3px -1px;--rounded-base: 6px;--rounded-full: 99999px;--white: #fff;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--z-10: 10}._layout_nno34_64{display:grid;grid-template-columns:200px auto;font-weight:var(--font-regular);font-size:var(--base-font-size);font-family:var(--base-font-family);line-height:var(--base-line-height);height:var(--min-height);min-width:var(--site-width)}._layout--browser-ext_nno34_75{box-shadow:var(--shadow-base);position:fixed;bottom:82px;right:var(--spacing-base);z-index:var(--z-10);max-width:var(--site-width)}._layout__main_nno34_84{background:var(--white);padding:var(--spacing-base);overflow-y:auto}@supports ((scrollbar-color: #d1d5db transparent) and (scrollbar-width: thin)){._scrollbar_nno34_91{scrollbar-color:#d1d5db transparent;scrollbar-width:thin}}._scrollbar_nno34_91::-webkit-scrollbar{width:8px;height:8px}._scrollbar_nno34_91::-webkit-scrollbar-track{background:transparent;border-radius:var(--rounded-base)}._scrollbar_nno34_91::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--rounded-base)}._scrollbar_nno34_91::-webkit-scrollbar-thumb:hover{background:var(--gray-500)}._embed-btn_1dhzs_1{align-items:center;border-radius:var(--rounded-full);background:var(--brand-secondary-5);border:none;box-shadow:var(--shadow-base);color:var(--white);cursor:pointer;display:flex;justify-content:center;position:fixed;bottom:var(--spacing-base);right:var(--spacing-base);z-index:20;width:52px;height:52px;transform:scale(.9);transition:transform .25s ease-in-out}._embed-btn_1dhzs_1:hover{transform:scale(1)}._embed-btn_1dhzs_1 svg{display:block;max-width:100%;height:auto}