@sps-woodland/core 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/README.md +3 -0
  2. package/lib/components/app-root/AppRoot.css.d.ts +7 -0
  3. package/lib/components/app-root/AppRoot.d.ts +5 -0
  4. package/lib/components/box/Box.d.ts +13 -0
  5. package/lib/components/cap-content/CapContent.css.d.ts +4 -0
  6. package/lib/components/cap-content/CapContent.d.ts +3 -0
  7. package/lib/components/cap-content/CapContentTitle.d.ts +3 -0
  8. package/lib/components/content/Content.css.d.ts +1 -0
  9. package/lib/components/content/Content.d.ts +8 -0
  10. package/lib/components/icon/Icon.css.d.ts +12 -0
  11. package/lib/components/icon/Icon.d.ts +8 -0
  12. package/lib/components/spinner/Spinner.css.d.ts +22 -0
  13. package/lib/components/spinner/Spinner.d.ts +8 -0
  14. package/lib/components/spinner/Spinner.examples.d.ts +2 -0
  15. package/lib/components/vertical-rule/VerticalRule.css.d.ts +1 -0
  16. package/lib/components/vertical-rule/VerticalRule.d.ts +4 -0
  17. package/lib/examples.d.ts +42 -0
  18. package/lib/i18n/I18nContext.d.ts +6 -0
  19. package/lib/i18n/translations.d.ts +139 -0
  20. package/lib/index.cjs.js +25 -0
  21. package/lib/index.d.ts +35 -0
  22. package/lib/index.es.js +445 -0
  23. package/lib/manifest.d.ts +2 -0
  24. package/lib/metadata/metadata.d.ts +20 -0
  25. package/lib/style.css +1 -0
  26. package/lib/types/table.d.ts +12 -0
  27. package/lib/utils/ComponentProps.d.ts +4 -0
  28. package/lib/utils/Provide.d.ts +23 -0
  29. package/lib/utils/VariantDefinitions.d.ts +6 -0
  30. package/lib/utils/addClassName.d.ts +2 -0
  31. package/lib/utils/addProps.d.ts +2 -0
  32. package/lib/utils/bindProps.d.ts +33 -0
  33. package/lib/utils/cl.d.ts +1 -0
  34. package/lib/utils/contentOf.d.ts +2 -0
  35. package/lib/utils/modChildren.d.ts +4 -0
  36. package/lib/utils/selectChildren.d.ts +8 -0
  37. package/lib/utils/useChildTestIdAttrBuilder.d.ts +4 -0
  38. package/lib/utils/usePatchReducer.d.ts +2 -0
  39. package/lib/utils/usePortal.d.ts +6 -0
  40. package/package.json +40 -0
  41. package/vite.config.js +21 -0
package/README.md ADDED
@@ -0,0 +1,3 @@
1
+ ## [@sps-woodland/core](https://github.com/SPSCommerce/woodland/tree/master/packages/@sps-woodland/core#readme)
2
+
3
+ SPS Woodland Design System core library code
@@ -0,0 +1,7 @@
1
+ export declare const appRoot: import("@vanilla-extract/recipes/dist/declarations/src/types").RuntimeFn<{
2
+ fullWidth: {
3
+ true: {
4
+ maxWidth: "100%";
5
+ };
6
+ };
7
+ }>;
@@ -0,0 +1,5 @@
1
+ import * as React from "react";
2
+ import type { ProvideProps } from "../../utils/Provide";
3
+ export declare function AppRoot({ children, className, fullWidth, ...rest }: ProvideProps & {
4
+ fullWidth?: boolean;
5
+ }): React.ReactElement;
@@ -0,0 +1,13 @@
1
+ import type { Sprinkles } from "@sps-woodland/tokens";
2
+ import * as React from "react";
3
+ import type { ComponentProps } from "../../utils/ComponentProps";
4
+ declare const utilityCSSPropList: readonly ["alignItems", "display", "flex", "flexWrap", "justifyContent", "textAlign"];
5
+ declare type UtilityCSSProps = Pick<React.CSSProperties, typeof utilityCSSPropList[number]>;
6
+ declare type BoxRootElement = HTMLDivElement;
7
+ declare type BoxProps = ComponentProps<Sprinkles & UtilityCSSProps & {
8
+ inline?: boolean;
9
+ }, BoxRootElement>;
10
+ declare type BoxForwardRefType = BoxProps & React.RefAttributes<BoxRootElement>;
11
+ declare type BoxForwardRefExoticComponent = React.ForwardRefExoticComponent<BoxForwardRefType>;
12
+ export declare const Box: BoxForwardRefExoticComponent;
13
+ export {};
@@ -0,0 +1,4 @@
1
+ export declare const capContent: {
2
+ root: string;
3
+ title: string;
4
+ };
@@ -0,0 +1,3 @@
1
+ import * as React from "react";
2
+ import type { ComponentProps } from "../../utils/ComponentProps";
3
+ export declare function CapContent({ className, children, ...rest }: ComponentProps<unknown, HTMLElement>): React.ReactElement;
@@ -0,0 +1,3 @@
1
+ import * as React from "react";
2
+ import type { ComponentProps } from "../../utils/ComponentProps";
3
+ export declare function CapContentTitle({ className, children, ...rest }: ComponentProps<unknown, HTMLElement>): React.ReactElement;
@@ -0,0 +1 @@
1
+ export declare const content: string;
@@ -0,0 +1,8 @@
1
+ import * as React from "react";
2
+ import type { ComponentProps } from "../../utils/ComponentProps";
3
+ declare type ContentRootElement = HTMLDivElement;
4
+ declare type ContentProps = ComponentProps<unknown, ContentRootElement>;
5
+ declare type ContentForwardRefType = ContentProps & React.RefAttributes<ContentRootElement>;
6
+ declare type ContentForwardRefExoticComponent = React.ForwardRefExoticComponent<ContentForwardRefType>;
7
+ export declare const Content: ContentForwardRefExoticComponent;
8
+ export {};
@@ -0,0 +1,12 @@
1
+ import { Tokens } from "@sps-woodland/tokens";
2
+ declare type Icons = Record<keyof typeof Tokens.icon, string>;
3
+ export declare const icon: import("@vanilla-extract/recipes/dist/declarations/src/types").RuntimeFn<{
4
+ iconName: Icons;
5
+ size: {
6
+ xs: string;
7
+ sm: string;
8
+ md: string;
9
+ lg: string;
10
+ };
11
+ }>;
12
+ export {};
@@ -0,0 +1,8 @@
1
+ import type { IconName, IconSize, Color } from "@sps-woodland/tokens";
2
+ import * as React from "react";
3
+ import type { ComponentProps } from "../../utils/ComponentProps";
4
+ export declare function Icon({ className, color, icon: iconName, size, ...rest }: ComponentProps<{
5
+ icon: IconName;
6
+ size?: IconSize;
7
+ color?: Color;
8
+ }, HTMLElement>): React.ReactElement;
@@ -0,0 +1,22 @@
1
+ import type { RecipeVariants } from "@vanilla-extract/recipes";
2
+ export declare const spinnerRoot: string;
3
+ export declare const spinner: import("@vanilla-extract/recipes/dist/declarations/src/types").RuntimeFn<{
4
+ size: {
5
+ sm: {
6
+ borderWidth: string;
7
+ height: string;
8
+ width: string;
9
+ };
10
+ md: {
11
+ borderWidth: string;
12
+ height: string;
13
+ width: string;
14
+ };
15
+ lg: {
16
+ borderWidth: string;
17
+ height: string;
18
+ width: string;
19
+ };
20
+ };
21
+ }>;
22
+ export declare type SpinnerVariants = NonNullable<RecipeVariants<typeof spinner>>;
@@ -0,0 +1,8 @@
1
+ import * as React from "react";
2
+ import type { ComponentProps } from "../../utils/ComponentProps";
3
+ import type { SpinnerVariants } from "./Spinner.css";
4
+ export declare function Spinner({ alt, className, size, title, ...rest }: ComponentProps<{
5
+ alt?: string;
6
+ size?: SpinnerVariants["size"];
7
+ title?: string;
8
+ }, HTMLDivElement>): React.ReactElement;
@@ -0,0 +1,2 @@
1
+ import type { ComponentManifestEntry } from "../../examples";
2
+ export declare const SpinnerExamples: ComponentManifestEntry;
@@ -0,0 +1 @@
1
+ export declare const rootClass: string;
@@ -0,0 +1,4 @@
1
+ import * as React from "react";
2
+ import type { ComponentProps } from "../../utils/ComponentProps";
3
+ export declare function VerticalRule({ className, ...rest }: ComponentProps<unknown, HTMLDivElement>): React.ReactElement;
4
+ export declare function Vr(props: Parameters<typeof VerticalRule>[0]): JSX.Element;
@@ -0,0 +1,42 @@
1
+ import type { ReactElement } from "react";
2
+ export interface ExtraExampleRendererArgs {
3
+ naviagateTo: (selection: string) => void;
4
+ NavigateTo: (props: {
5
+ to: string;
6
+ children: ReactElement | string;
7
+ slugPrefix?: string;
8
+ }) => ReactElement;
9
+ Link: (props: {
10
+ to: string;
11
+ children: ReactElement | string;
12
+ }) => ReactElement;
13
+ }
14
+ declare type ReactChildOrRenderer = ReactElement | string | ((args: ExtraExampleRendererArgs) => ReactElement | string);
15
+ export interface DSExampleBase {
16
+ description?: ReactChildOrRenderer;
17
+ }
18
+ export interface DSReactExampleJSX {
19
+ jsx: string;
20
+ }
21
+ export interface DSReactExampleComponent {
22
+ react: string;
23
+ }
24
+ export declare type DSReactExample = DSExampleBase & (DSReactExampleComponent | DSReactExampleJSX);
25
+ export declare type DSExample = DSReactExample;
26
+ export declare function exampleIsReactComponentExample(example: DSExample): example is DSReactExampleComponent;
27
+ export declare function exampleIsReactJSXExample(example: DSExample): example is DSReactExampleJSX;
28
+ export interface DSExamplesTab<T extends DSExample = DSExample> {
29
+ label?: ReactChildOrRenderer;
30
+ description?: ReactChildOrRenderer;
31
+ customSection?: ReactChildOrRenderer;
32
+ examples?: Record<string, T>;
33
+ }
34
+ export declare type DSExamples<T extends DSExample = DSExample> = Record<string, DSExamplesTab<T>>;
35
+ export declare type DSReactExamples = DSExamples<DSReactExample>;
36
+ export interface ComponentManifestEntry {
37
+ description?: ReactChildOrRenderer;
38
+ components: unknown[];
39
+ examples: DSReactExamples;
40
+ }
41
+ export declare type ComponentManifest = Record<string, ComponentManifestEntry>;
42
+ export {};
@@ -0,0 +1,6 @@
1
+ import * as React from "react";
2
+ export interface I18nObject {
3
+ t: (key: string, interpolations?: any) => string;
4
+ }
5
+ export declare const noI18nI18n: I18nObject;
6
+ export declare const I18nContext: React.Context<I18nObject>;
@@ -0,0 +1,139 @@
1
+ declare const _default: {
2
+ advancedSearch: {
3
+ clear: string;
4
+ search: string;
5
+ };
6
+ button: {
7
+ spinningTitle: string;
8
+ };
9
+ columnChooser: {
10
+ removeButton: string;
11
+ };
12
+ contentRow: {
13
+ collapse: string;
14
+ expand: string;
15
+ };
16
+ datepicker: {
17
+ calendar: {
18
+ prevMonth: string;
19
+ nextMonth: string;
20
+ };
21
+ preset: {
22
+ custom: string;
23
+ today: string;
24
+ sevenDays: string;
25
+ thirtyDays: string;
26
+ sixtyDays: string;
27
+ ninetyDays: string;
28
+ oneYear: string;
29
+ };
30
+ presetsLabel: string;
31
+ };
32
+ fileUpload: {
33
+ acceptedTypes: string;
34
+ acceptedTypes_plural: string;
35
+ cancelled: string;
36
+ cancelled_plural: string;
37
+ close: string;
38
+ instructions: string;
39
+ instructions_plural: string;
40
+ maximumSize: string;
41
+ processing: string;
42
+ title: string;
43
+ };
44
+ filterPanel: {
45
+ clear: string;
46
+ title: string;
47
+ filterPlaceholder: string;
48
+ };
49
+ focusedTask: {
50
+ close: string;
51
+ };
52
+ growler: {
53
+ dismiss: string;
54
+ };
55
+ insightCard: {
56
+ all: string;
57
+ partnerCount: string;
58
+ partners: string;
59
+ };
60
+ insightTile: {
61
+ all: string;
62
+ partnerCount: string;
63
+ partners: string;
64
+ };
65
+ label: {
66
+ errors: {
67
+ dateConstraint: {
68
+ max: string;
69
+ min: string;
70
+ };
71
+ dateFormat: string;
72
+ dateRangeOrder: string;
73
+ dateValidity: string;
74
+ max: string;
75
+ maxLength: string;
76
+ min: string;
77
+ minLength: string;
78
+ required: string;
79
+ };
80
+ preventativeErrors: {
81
+ maxLength: string;
82
+ alpha: string;
83
+ numeric: string;
84
+ nonNumeric: string;
85
+ };
86
+ stronglySuggested: string;
87
+ };
88
+ listActionBar: {
89
+ clearSelected: string;
90
+ itemsSelected: string;
91
+ };
92
+ listToolbar: {
93
+ advancedSearchToggle: string;
94
+ };
95
+ modal: {
96
+ close: string;
97
+ defaultButtonLabel: string;
98
+ defaultTitle: {
99
+ general: string;
100
+ info: string;
101
+ success: string;
102
+ warning: string;
103
+ "serious-warning": string;
104
+ };
105
+ };
106
+ pagination: {
107
+ nextPage: string;
108
+ ofMany: string;
109
+ ofPageCount: string;
110
+ page: string;
111
+ prevPage: string;
112
+ };
113
+ progressBar: {
114
+ closeButtonTitle: string;
115
+ };
116
+ searchResultsBar: {
117
+ clear: string;
118
+ clearResults: string;
119
+ count: string;
120
+ matchingResults: string;
121
+ noAdvancedSearchSelections: string;
122
+ results: string;
123
+ };
124
+ select: {
125
+ defaultPlaceholder: string;
126
+ };
127
+ slackLink: {
128
+ label: string;
129
+ };
130
+ spinner: {
131
+ defaultAltText: string;
132
+ };
133
+ taskQueue: {
134
+ clearCompleted: string;
135
+ newTask: string;
136
+ noTasks: string;
137
+ };
138
+ };
139
+ export default _default;
@@ -0,0 +1,25 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const v=require("react"),g=require("@sps-woodland/tokens"),_=require("@spscommerce/utils"),D=require("react-dom");function B(e){if(e&&e.__esModule)return e;const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:()=>e[t]})}}return n.default=e,Object.freeze(n)}const l=B(v);const h=Symbol("WoodlandComponentMetadata"),p=Object.freeze({isWoodlandComponent(e){return typeof e=="function"&&e.hasOwnProperty(h)},get(e){return e[h]},set(e,n){Object.assign(e,{[h]:n})}});function u(...e){return e.filter(Boolean).map(String).join(" ")}const S=function({children:e,elements:n}){if(n.length===0)return l.createElement(l.Fragment,null,e);const[t,r]=Array.isArray(n[0])?n[0]:[n[0]];return l.createElement(t,{...r!=null?r:{}},l.createElement(S,{elements:n.slice(1)},e))};function E({children:e,providers:n=[],...t}){return l.createElement("div",{...t},l.createElement(S,{elements:n},e))}function F(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function P(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),t.push.apply(t,r)}return t}function w(e){for(var n=1;n<arguments.length;n++){var t=arguments[n]!=null?arguments[n]:{};n%2?P(Object(t),!0).forEach(function(r){F(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):P(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}var W=(e,n,t)=>{for(var r of Object.keys(e)){var a;if(e[r]!==((a=n[r])!==null&&a!==void 0?a:t[r]))return!1}return!0},y=e=>n=>{var t=e.defaultClassName,r=w(w({},e.defaultVariants),n);for(var a in r){var o,s=(o=r[a])!==null&&o!==void 0?o:e.defaultVariants[a];if(s!=null){var c=s;typeof c=="boolean"&&(c=c===!0?"true":"false");var i=e.variantClassNames[a][c];i&&(t+=" "+i)}}for(var[d,q]of e.compoundVariants)W(d,r,e.defaultVariants)&&(t+=" "+q);return t},U=y({defaultClassName:"g5vsg0",variantClassNames:{fullWidth:{true:"g5vsg1"}},defaultVariants:{},compoundVariants:[]});function k({children:e,className:n,fullWidth:t,...r}){return l.createElement(E,{className:u(U({fullWidth:t}),n),...r},e)}p.set(k,{name:"AppRoot",props:{fullWidth:{type:"boolean",default:"false"},providers:"React.ElementType[]"}});const G=["alignItems","display","flex","flexWrap","justifyContent","textAlign"],Y=new Set(G),A=l.forwardRef(({children:e,className:n,inline:t,style:r,...a},o)=>{const[s,c,i]=Object.keys(a).reduce(([d,q,f],m)=>g.sprinkles.properties.has(m)?[{...d,[m]:a[m]},q,f]:Y.has(m)?[d,{...q,[m]:a[m]},f]:[d,q,{...f,[m]:a[m]}],[{},{...t?{display:"inline"}:null,...r},{}]);return l.createElement("div",{ref:o,className:u(g.sprinkles(s),n),style:c,...i},e)});p.set(A,{name:"Box"});var T={root:"w9p2pg0",title:"w9p2pg1"};function R({className:e,children:n,...t}){return l.createElement("div",{className:u(T.root,e),...t},n)}p.set(R,{name:"CapContent"});function N({className:e,children:n,...t}){return l.createElement("div",{className:u(T.title,e),...t},n)}p.set(N,{name:"CapContentTitle"});var J="o0pwg0";const O=l.forwardRef(({children:e,className:n,...t},r)=>l.createElement("div",{ref:r,className:u(J,n),...t},e));p.set(O,{name:"Content"});var X=y({defaultClassName:"_6qnc0v53",variantClassNames:{iconName:{"angle-left":"_6qnc0v0","angle-right":"_6qnc0v1",archive:"_6qnc0v2","arrow-down":"_6qnc0v3","arrow-left-circle":"_6qnc0v4","arrow-left":"_6qnc0v5","arrow-right":"_6qnc0v6","arrow-up":"_6qnc0v7",asterisk:"_6qnc0v8",ban:"_6qnc0v9",barcode:"_6qnc0va",bell:"_6qnc0vb",bolt:"_6qnc0vc",book:"_6qnc0vd",building:"_6qnc0ve","burst-bolt":"_6qnc0vf",burst:"_6qnc0vg","calendar-blank":"_6qnc0vh",calendar:"_6qnc0vi",camera:"_6qnc0vj","chart-area":"_6qnc0vk","chart-bar":"_6qnc0vl","chart-line":"_6qnc0vm","chart-pie":"_6qnc0vn",checkmark:"_6qnc0vo","chevron-down":"_6qnc0vp","chevron-left":"_6qnc0vq","chevron-right":"_6qnc0vr","chevron-up":"_6qnc0vs","circle-outline":"_6qnc0vt",clock:"_6qnc0vu","code-fork":"_6qnc0vv","comment-bubble-question":"_6qnc0vw","comment-bubble":"_6qnc0vx",conversation:"_6qnc0vy","column-switcher":"_6qnc0vz","credit-card":"_6qnc0v10",dashboard:"_6qnc0v11",database:"_6qnc0v12",disk:"_6qnc0v13","dollar-sign":"_6qnc0v14","double-angle-left":"_6qnc0v15","double-angle-right":"_6qnc0v16","download-cloud":"_6qnc0v17",drill:"_6qnc0v18",duplicate:"_6qnc0v19",ellipses:"_6qnc0v1a",envelope:"_6qnc0v1b",exchange:"_6qnc0v1c","expand-collapse":"_6qnc0v1d",eye:"_6qnc0v1e","file-duplicate":"_6qnc0v1f","file-pdf":"_6qnc0v1g","file-presentation":"_6qnc0v1h","file-size":"_6qnc0v1i","file-solid-text":"_6qnc0v1j","file-solid":"_6qnc0v1k","file-spreadsheet":"_6qnc0v1l","file-text":"_6qnc0v1m",file:"_6qnc0v1n",filter:"_6qnc0v1o",flag:"_6qnc0v1p","folder-open":"_6qnc0v1q","folder-solid-open":"_6qnc0v1r","folder-solid":"_6qnc0v1s",folder:"_6qnc0v1t",gear:"_6qnc0v1u",globe:"_6qnc0v1v",grid:"_6qnc0v1w",group:"_6qnc0v1x","hand-stop":"_6qnc0v1y",handshake:"_6qnc0v1z",hat:"_6qnc0v20",heart:"_6qnc0v21",history:"_6qnc0v22",inbox:"_6qnc0v23",incoming:"_6qnc0v24","info-circle":"_6qnc0v25",intercom:"_6qnc0v26","item-tag":"_6qnc0v27",key:"_6qnc0v28","life-preserver":"_6qnc0v29",lightbulb:"_6qnc0v2a",link:"_6qnc0v2b",linkedin:"_6qnc0v2c","list-cards":"_6qnc0v2d","list-columns":"_6qnc0v2e","list-summary":"_6qnc0v2f","list-table":"_6qnc0v2g",list:"_6qnc0v2h",location:"_6qnc0v2i",locked:"_6qnc0v2j","map-marker":"_6qnc0v2k",map:"_6qnc0v2l",maximize:"_6qnc0v2m",minimize:"_6qnc0v2n","minus-circle":"_6qnc0v2o",minus:"_6qnc0v2p","new-file":"_6qnc0v2q","new-screen":"_6qnc0v2r",outgoing:"_6qnc0v2s","paper-plane":"_6qnc0v2t",pencil:"_6qnc0v2u",photo:"_6qnc0v2v",pinterest:"_6qnc0v2w",play:"_6qnc0v2x","plus-circle":"_6qnc0v2y","plus-sign":"_6qnc0v2z",presentation:"_6qnc0v30",printer:"_6qnc0v31","qr-code":"_6qnc0v32","question-circle":"_6qnc0v33","quote-left":"_6qnc0v34","quote-right":"_6qnc0v35",random:"_6qnc0v36",refresh:"_6qnc0v37",rocket:"_6qnc0v38","search-plus":"_6qnc0v39",search:"_6qnc0v3a",share:"_6qnc0v3b","shopping-cart":"_6qnc0v3c","sort-alpha-asc":"_6qnc0v3d","sort-alpha-desc":"_6qnc0v3e","sort-num-asc":"_6qnc0v3f","sort-num-desc":"_6qnc0v3g","star-outline":"_6qnc0v3h",star:"_6qnc0v3i","archive-circle":"_6qnc0v3j","x-circle":"_6qnc0v3k","exclamation-circle":"_6qnc0v3l","descending-ellipses-circle":"_6qnc0v3m","double-angle-right-circle":"_6qnc0v3n","locked-circle":"_6qnc0v3o","asterisk-circle":"_6qnc0v3p","checkmark-circle":"_6qnc0v3q","clock-circle":"_6qnc0v3r","calendar-blank-circle":"_6qnc0v3s","ban-circle":"_6qnc0v3t","disk-circle":"_6qnc0v3u","template-circle":"_6qnc0v3v","exclamation-triangle":"_6qnc0v3w",table:"_6qnc0v3x",tabs:"_6qnc0v3y","thumbs-down-outline":"_6qnc0v3z","thumbs-down":"_6qnc0v40","thumbs-up-outline":"_6qnc0v41","thumbs-up":"_6qnc0v42",trash:"_6qnc0v43","truck-shipping":"_6qnc0v44",twitter:"_6qnc0v45",undo:"_6qnc0v46",unlocked:"_6qnc0v47","upload-cloud":"_6qnc0v48",wrench:"_6qnc0v49",x:"_6qnc0v4a","arrow-right-circle":"_6qnc0v4b","calendar-select":"_6qnc0v4c",tag:"_6qnc0v4d",user:"_6qnc0v4e","eye-slash":"_6qnc0v4f","bell-filled":"_6qnc0v4g","nested-list":"_6qnc0v4h",pin:"_6qnc0v4i","user-impersonation":"_6qnc0v4j","status-archived":"_6qnc0v4k","status-cancelled":"_6qnc0v4l","status-error":"_6qnc0v4m","status-in-process":"_6qnc0v4n","status-in-transit":"_6qnc0v4o","status-locked":"_6qnc0v4p","status-new":"_6qnc0v4q","status-ok":"_6qnc0v4r","status-on-hold":"_6qnc0v4s","status-outdated":"_6qnc0v4t","status-rejected":"_6qnc0v4u","status-saved":"_6qnc0v4v","status-saving":"_6qnc0v4w","status-template":"_6qnc0v4x","status-warning":"_6qnc0v4y"},size:{xs:"_6qnc0v4z",sm:"_6qnc0v50",md:"_6qnc0v51",lg:"_6qnc0v52"}},defaultVariants:{size:"md"},compoundVariants:[]});function j({className:e,color:n,icon:t,size:r="md",...a}){return l.createElement("i",{className:u(X({iconName:t,size:r}),g.sprinkles({color:n}),e),"aria-hidden":"true",...a})}p.set(j,{name:"Icon",props:{icon:{type:"IconName",required:!0},size:{type:"IconSize",default:'"md"'},color:"Color"}});const K={advancedSearch:{clear:"Clear Fields",search:"Search"},button:{spinningTitle:"Loading\u2026"},columnChooser:{removeButton:"Remove {{elementName}}"},contentRow:{collapse:"Collapse",expand:"Expand"},datepicker:{calendar:{prevMonth:"View Previous Month",nextMonth:"View Next Month"},preset:{custom:"Custom",today:"Today",sevenDays:"Last 7 days",thirtyDays:"Last 30 days",sixtyDays:"Last 60 days",ninetyDays:"Last 90 days",oneYear:"Last year"},presetsLabel:"Ranges"},fileUpload:{acceptedTypes:"{{fileTypes}} format accepted",acceptedTypes_plural:"{{fileTypes}} formats accepted",cancelled:"File Upload Failed",cancelled_plural:"File Upload(s) Failed",close:"Close",instructions:"Drag and drop your file here or |browse for a file| on your desktop.",instructions_plural:"Drag and drop your files here or |browse for files| on your desktop.",maximumSize:"{{size}} maximum",processing:"Processing Upload\u2026",title:"Upload Your {{description}}"},filterPanel:{clear:"Clear Filters",title:"Filters",filterPlaceholder:"Filter options"},focusedTask:{close:"Close"},growler:{dismiss:"Dismiss"},insightCard:{all:"ALL",partnerCount:"{{count}} |of| {{total}}",partners:"PARTNERS"},insightTile:{all:"ALL",partnerCount:"{{count}} |of| {{total}}",partners:"PARTNERS"},label:{errors:{dateConstraint:{max:"Please enter a date on or prior to {{context.maxExceeded}}.",min:"Please enter a date on or after {{context.minExceeded}}."},dateFormat:"Please enter a date in the format {{context}}.",dateRangeOrder:"End date cannot be before start date.",dateValidity:"Please enter a valid date.",max:"Please enter a value no greater than {{context}}.",maxLength:"Please enter no more than {{context}} characters.",min:"Please enter a value no less than {{context}}.",minLength:"Please enter at least {{context}} characters.",required:"This field is required."},preventativeErrors:{maxLength:"This field accepts a maximum number of characters.",alpha:"This field accepts only alphabetic values.",numeric:"This field accepts only numerical values.",nonNumeric:"This field accepts only non-numerical values."},stronglySuggested:"This field is strongly suggested."},listActionBar:{clearSelected:"Clear Selected",itemsSelected:"Items Selected"},listToolbar:{advancedSearchToggle:"Advanced Search"},modal:{close:"Close modal",defaultButtonLabel:"Okay",defaultTitle:{general:"Action",info:"Info",success:"Success",warning:"Warning","serious-warning":"Warning"}},pagination:{nextPage:"Next Page",ofMany:"of many",ofPageCount:"of {{pageCount}}",page:"Page",prevPage:"Previous Page"},progressBar:{closeButtonTitle:"Close progress bar"},searchResultsBar:{clear:"Clear",clearResults:"Clear Results",count:"{{count}} of {{total}}",matchingResults:"Matching results",noAdvancedSearchSelections:"No Advanced Search Selections",results:"Results:"},select:{defaultPlaceholder:"Select one\u2026"},slackLink:{label:"Chat"},spinner:{defaultAltText:"Loading\u2026"},taskQueue:{clearCompleted:"Clear Completed",newTask:"You have a new task in your queue.",noTasks:"There are currently no tasks in your queue."}},I={t(e,n){const t=_.getPath(K,e.replace(/^design-system:/,""));return n?_.template(t)(n):t}},z=l.createContext(I);function L(e){const n=e["data-testid"];return v.useCallback(t=>n?{"data-testid":`${n}__${t}`}:{},[n])}var Q=y({defaultClassName:"_9gd2pg2",variantClassNames:{size:{sm:"_9gd2pg3",md:"_9gd2pg4",lg:"_9gd2pg5"}},defaultVariants:{size:"md"},compoundVariants:[]}),H="_9gd2pg1";function C({alt:e,className:n,size:t,title:r,...a}){const{t:o}=l.useContext(z),s=e||r||o("design-system:spinner.defaultAltText"),c=L(a);return l.createElement("div",{className:u(H,n),...a},l.createElement("i",{className:Q({size:t}),...c("icon"),title:s}))}p.set(C,{name:"Spinner",props:{alt:"string",size:{type:'"sm" | "md" | "lg"',default:'"md"'},title:"string"}});var Z="_17ntd80";function x({className:e,...n}){return l.createElement("div",{className:u(Z,e),...n})}function $(e){return l.createElement(x,{...e})}p.set(x,{name:"VerticalRule"});function ee(e,n){return v.cloneElement(e,{className:u(e.props.className,n)})}function ne(e,n){return v.cloneElement(e,n)}function te(e,n,t=[]){return l.useMemo(()=>{function r(a){return l.createElement(e,{...a,...n},a.children)}return r},t)}function re(e){return typeof e=="function"?e():e}function b(e,n,t=!0){if(Array.isArray(e))return e.map(d=>b(d,n));if(["boolean","string"].includes(typeof e))return e;const r=e,a=r.props.hasOwnProperty("children")?[].concat(r.props.children):[],[o,s]=n(r,a),c=Array.isArray(s)?s:a,i=t?c.map(d=>b(d,n)):c;return v.cloneElement(r,o,...i)}function ae(e,{type:n,props:t={},custom:r}){return r?r(e.type):e.type===n?Object.keys(t).every(a=>t[a]===e.props[a]):!1}function ce(e=[],n=[]){const t=Array.isArray(e)?_.flatten(e):[e],r=n.map(o=>Array.isArray(o)?o:[o]),a=new Array(r.length+1).fill(null).map(()=>[]);for(const o of t){let s=!1;for(let c=0;c<r.length;c+=1){for(const i of r[c])if(s=ae(o,i),s){a[c].push(o);break}if(s)break}s||a[a.length-1].push(o)}return a}function se(e,n){return{...e,...n}}function oe(e){return v.useReducer(se,e)}const V=v.createContext(null);function le(e,n=[]){const t=v.useContext(V);return v.useMemo(()=>r=>{const o=t&&t.parentElementRef&&t.parentElementRef.current||document.body;let s=null,c=o.lastElementChild;for(;c!==o.firstElementChild;){if(c&&c.hasAttribute("data-portalid")&&c.getAttribute("data-portalid")===e){s=c;break}c&&(c=c.previousElementSibling)}if(s)o.contains(s)||o.appendChild(s);else{s=document.createElement("div"),s.setAttribute("data-portalid",e);for(const i of n)s.classList.add(i);o.appendChild(s)}return D.createPortal(r,s)},[t])}var M=(e=>(e.ASCENDING="ascending",e.DESCENDING="descending",e))(M||{});function ie(e){return e.hasOwnProperty("react")}function ue(e){return e.hasOwnProperty("jsx")}const de={components:[C],examples:{basic:{examples:{small:{react:_.code`
2
+ import { Spinner } from "@sps-woodland/core";
3
+ function Component() {
4
+ return (
5
+ <Spinner size="sm" title="Please wait…" />
6
+ );
7
+ }
8
+ `},medium:{react:_.code`
9
+ import { Spinner } from "@sps-woodland/core";
10
+ function Component() {
11
+ return (
12
+ <>
13
+ <Spinner />
14
+ <Spinner size="md" title="Please wait…" />
15
+ </>
16
+ );
17
+ }
18
+ `},large:{react:_.code`
19
+ import { Spinner } from "@sps-woodland/core";
20
+ function Component() {
21
+ return (
22
+ <Spinner size="lg" alt="Loading content…" />
23
+ );
24
+ }
25
+ `}}}}},ve={Spinner:de};exports.AppRoot=k;exports.Box=A;exports.CapContent=R;exports.CapContentTitle=N;exports.Content=O;exports.I18nContext=z;exports.Icon=j;exports.MANIFEST=ve;exports.Metadata=p;exports.PortalContext=V;exports.Provide=E;exports.SortDirection=M;exports.Spinner=C;exports.VerticalRule=x;exports.Vr=$;exports.addClassName=ee;exports.addProps=ne;exports.bindProps=te;exports.cl=u;exports.contentOf=re;exports.exampleIsReactComponentExample=ie;exports.exampleIsReactJSXExample=ue;exports.modChildren=b;exports.noI18nI18n=I;exports.selectChildren=ce;exports.useChildTestIdAttrBuilder=L;exports.usePatchReducer=oe;exports.usePortal=le;
package/lib/index.d.ts ADDED
@@ -0,0 +1,35 @@
1
+ /**
2
+ * When we are able to fully deprecate ds-styles,
3
+ * uncomment these imports:
4
+ * import "normalize.css/normalize.css";
5
+ * import "the-new-css-reset/css/reset.css";
6
+ */
7
+ import "./root.css";
8
+ import "@sps-woodland/tokens/lib/font.css";
9
+ import "@sps-woodland/tokens/lib/vanilla-extract/style.css";
10
+ export * from "./components/app-root/AppRoot";
11
+ export * from "./components/box/Box";
12
+ export * from "./components/cap-content/CapContent";
13
+ export * from "./components/cap-content/CapContentTitle";
14
+ export * from "./components/content/Content";
15
+ export * from "./components/icon/Icon";
16
+ export * from "./components/spinner/Spinner";
17
+ export * from "./components/vertical-rule/VerticalRule";
18
+ export * from "./i18n/I18nContext";
19
+ export * from "./metadata/metadata";
20
+ export * from "./utils/addClassName";
21
+ export * from "./utils/addProps";
22
+ export * from "./utils/bindProps";
23
+ export * from "./utils/cl";
24
+ export * from "./utils/ComponentProps";
25
+ export * from "./utils/contentOf";
26
+ export * from "./utils/modChildren";
27
+ export * from "./utils/Provide";
28
+ export * from "./utils/selectChildren";
29
+ export * from "./utils/useChildTestIdAttrBuilder";
30
+ export * from "./utils/usePatchReducer";
31
+ export * from "./utils/usePortal";
32
+ export * from "./utils/VariantDefinitions";
33
+ export * from "./types/table";
34
+ export * from "./examples";
35
+ export * from "./manifest";
@@ -0,0 +1,445 @@
1
+ import * as l from "react";
2
+ import { useCallback as k, cloneElement as g, useReducer as A, createContext as N, useContext as T, useMemo as R } from "react";
3
+ import { sprinkles as h } from "@sps-woodland/tokens";
4
+ import { getPath as O, template as j, flatten as z, code as q } from "@spscommerce/utils";
5
+ import { createPortal as L } from "react-dom";
6
+ const f = Symbol("WoodlandComponentMetadata"), p = Object.freeze({
7
+ isWoodlandComponent(e) {
8
+ return typeof e == "function" && e.hasOwnProperty(f);
9
+ },
10
+ get(e) {
11
+ return e[f];
12
+ },
13
+ set(e, n) {
14
+ Object.assign(e, { [f]: n });
15
+ }
16
+ });
17
+ function d(...e) {
18
+ return e.filter(Boolean).map(String).join(" ");
19
+ }
20
+ const w = function({
21
+ children: e,
22
+ elements: n
23
+ }) {
24
+ if (n.length === 0)
25
+ return /* @__PURE__ */ l.createElement(l.Fragment, null, e);
26
+ const [t, r] = Array.isArray(n[0]) ? n[0] : [n[0]];
27
+ return /* @__PURE__ */ l.createElement(t, {
28
+ ...r != null ? r : {}
29
+ }, /* @__PURE__ */ l.createElement(w, {
30
+ elements: n.slice(1)
31
+ }, e));
32
+ };
33
+ function I({
34
+ children: e,
35
+ providers: n = [],
36
+ ...t
37
+ }) {
38
+ return /* @__PURE__ */ l.createElement("div", {
39
+ ...t
40
+ }, /* @__PURE__ */ l.createElement(w, {
41
+ elements: n
42
+ }, e));
43
+ }
44
+ function V(e, n, t) {
45
+ return n in e ? Object.defineProperty(e, n, {
46
+ value: t,
47
+ enumerable: !0,
48
+ configurable: !0,
49
+ writable: !0
50
+ }) : e[n] = t, e;
51
+ }
52
+ function y(e, n) {
53
+ var t = Object.keys(e);
54
+ if (Object.getOwnPropertySymbols) {
55
+ var r = Object.getOwnPropertySymbols(e);
56
+ n && (r = r.filter(function(a) {
57
+ return Object.getOwnPropertyDescriptor(e, a).enumerable;
58
+ })), t.push.apply(t, r);
59
+ }
60
+ return t;
61
+ }
62
+ function C(e) {
63
+ for (var n = 1; n < arguments.length; n++) {
64
+ var t = arguments[n] != null ? arguments[n] : {};
65
+ n % 2 ? y(Object(t), !0).forEach(function(r) {
66
+ V(e, r, t[r]);
67
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : y(Object(t)).forEach(function(r) {
68
+ Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
69
+ });
70
+ }
71
+ return e;
72
+ }
73
+ var D = (e, n, t) => {
74
+ for (var r of Object.keys(e)) {
75
+ var a;
76
+ if (e[r] !== ((a = n[r]) !== null && a !== void 0 ? a : t[r]))
77
+ return !1;
78
+ }
79
+ return !0;
80
+ }, b = (e) => (n) => {
81
+ var t = e.defaultClassName, r = C(C({}, e.defaultVariants), n);
82
+ for (var a in r) {
83
+ var o, s = (o = r[a]) !== null && o !== void 0 ? o : e.defaultVariants[a];
84
+ if (s != null) {
85
+ var c = s;
86
+ typeof c == "boolean" && (c = c === !0 ? "true" : "false");
87
+ var i = e.variantClassNames[a][c];
88
+ i && (t += " " + i);
89
+ }
90
+ }
91
+ for (var [u, m] of e.compoundVariants)
92
+ D(u, r, e.defaultVariants) && (t += " " + m);
93
+ return t;
94
+ }, M = b({ defaultClassName: "g5vsg0", variantClassNames: { fullWidth: { true: "g5vsg1" } }, defaultVariants: {}, compoundVariants: [] });
95
+ function B({
96
+ children: e,
97
+ className: n,
98
+ fullWidth: t,
99
+ ...r
100
+ }) {
101
+ return /* @__PURE__ */ l.createElement(I, {
102
+ className: d(M({ fullWidth: t }), n),
103
+ ...r
104
+ }, e);
105
+ }
106
+ p.set(B, {
107
+ name: "AppRoot",
108
+ props: {
109
+ fullWidth: { type: "boolean", default: "false" },
110
+ providers: "React.ElementType[]"
111
+ }
112
+ });
113
+ const F = [
114
+ "alignItems",
115
+ "display",
116
+ "flex",
117
+ "flexWrap",
118
+ "justifyContent",
119
+ "textAlign"
120
+ ], W = new Set(F), U = l.forwardRef(
121
+ ({
122
+ children: e,
123
+ className: n,
124
+ inline: t,
125
+ style: r,
126
+ ...a
127
+ }, o) => {
128
+ const [
129
+ s,
130
+ c,
131
+ i
132
+ ] = Object.keys(a).reduce(([
133
+ u,
134
+ m,
135
+ _
136
+ ], v) => h.properties.has(v) ? [
137
+ { ...u, [v]: a[v] },
138
+ m,
139
+ _
140
+ ] : W.has(v) ? [
141
+ u,
142
+ { ...m, [v]: a[v] },
143
+ _
144
+ ] : [
145
+ u,
146
+ m,
147
+ { ..._, [v]: a[v] }
148
+ ], [
149
+ {},
150
+ {
151
+ ...t ? { display: "inline" } : null,
152
+ ...r
153
+ },
154
+ {}
155
+ ]);
156
+ return /* @__PURE__ */ l.createElement("div", {
157
+ ref: o,
158
+ className: d(h(s), n),
159
+ style: c,
160
+ ...i
161
+ }, e);
162
+ }
163
+ );
164
+ p.set(U, { name: "Box" });
165
+ var P = { root: "w9p2pg0", title: "w9p2pg1" };
166
+ function G({
167
+ className: e,
168
+ children: n,
169
+ ...t
170
+ }) {
171
+ return /* @__PURE__ */ l.createElement("div", {
172
+ className: d(P.root, e),
173
+ ...t
174
+ }, n);
175
+ }
176
+ p.set(G, { name: "CapContent" });
177
+ function Y({
178
+ className: e,
179
+ children: n,
180
+ ...t
181
+ }) {
182
+ return /* @__PURE__ */ l.createElement("div", {
183
+ className: d(P.title, e),
184
+ ...t
185
+ }, n);
186
+ }
187
+ p.set(Y, { name: "CapContentTitle" });
188
+ var J = "o0pwg0";
189
+ const K = l.forwardRef(
190
+ ({
191
+ children: e,
192
+ className: n,
193
+ ...t
194
+ }, r) => /* @__PURE__ */ l.createElement("div", {
195
+ ref: r,
196
+ className: d(J, n),
197
+ ...t
198
+ }, e)
199
+ );
200
+ p.set(K, { name: "Content" });
201
+ var Q = b({ defaultClassName: "_6qnc0v53", variantClassNames: { iconName: { "angle-left": "_6qnc0v0", "angle-right": "_6qnc0v1", archive: "_6qnc0v2", "arrow-down": "_6qnc0v3", "arrow-left-circle": "_6qnc0v4", "arrow-left": "_6qnc0v5", "arrow-right": "_6qnc0v6", "arrow-up": "_6qnc0v7", asterisk: "_6qnc0v8", ban: "_6qnc0v9", barcode: "_6qnc0va", bell: "_6qnc0vb", bolt: "_6qnc0vc", book: "_6qnc0vd", building: "_6qnc0ve", "burst-bolt": "_6qnc0vf", burst: "_6qnc0vg", "calendar-blank": "_6qnc0vh", calendar: "_6qnc0vi", camera: "_6qnc0vj", "chart-area": "_6qnc0vk", "chart-bar": "_6qnc0vl", "chart-line": "_6qnc0vm", "chart-pie": "_6qnc0vn", checkmark: "_6qnc0vo", "chevron-down": "_6qnc0vp", "chevron-left": "_6qnc0vq", "chevron-right": "_6qnc0vr", "chevron-up": "_6qnc0vs", "circle-outline": "_6qnc0vt", clock: "_6qnc0vu", "code-fork": "_6qnc0vv", "comment-bubble-question": "_6qnc0vw", "comment-bubble": "_6qnc0vx", conversation: "_6qnc0vy", "column-switcher": "_6qnc0vz", "credit-card": "_6qnc0v10", dashboard: "_6qnc0v11", database: "_6qnc0v12", disk: "_6qnc0v13", "dollar-sign": "_6qnc0v14", "double-angle-left": "_6qnc0v15", "double-angle-right": "_6qnc0v16", "download-cloud": "_6qnc0v17", drill: "_6qnc0v18", duplicate: "_6qnc0v19", ellipses: "_6qnc0v1a", envelope: "_6qnc0v1b", exchange: "_6qnc0v1c", "expand-collapse": "_6qnc0v1d", eye: "_6qnc0v1e", "file-duplicate": "_6qnc0v1f", "file-pdf": "_6qnc0v1g", "file-presentation": "_6qnc0v1h", "file-size": "_6qnc0v1i", "file-solid-text": "_6qnc0v1j", "file-solid": "_6qnc0v1k", "file-spreadsheet": "_6qnc0v1l", "file-text": "_6qnc0v1m", file: "_6qnc0v1n", filter: "_6qnc0v1o", flag: "_6qnc0v1p", "folder-open": "_6qnc0v1q", "folder-solid-open": "_6qnc0v1r", "folder-solid": "_6qnc0v1s", folder: "_6qnc0v1t", gear: "_6qnc0v1u", globe: "_6qnc0v1v", grid: "_6qnc0v1w", group: "_6qnc0v1x", "hand-stop": "_6qnc0v1y", handshake: "_6qnc0v1z", hat: "_6qnc0v20", heart: "_6qnc0v21", history: "_6qnc0v22", inbox: "_6qnc0v23", incoming: "_6qnc0v24", "info-circle": "_6qnc0v25", intercom: "_6qnc0v26", "item-tag": "_6qnc0v27", key: "_6qnc0v28", "life-preserver": "_6qnc0v29", lightbulb: "_6qnc0v2a", link: "_6qnc0v2b", linkedin: "_6qnc0v2c", "list-cards": "_6qnc0v2d", "list-columns": "_6qnc0v2e", "list-summary": "_6qnc0v2f", "list-table": "_6qnc0v2g", list: "_6qnc0v2h", location: "_6qnc0v2i", locked: "_6qnc0v2j", "map-marker": "_6qnc0v2k", map: "_6qnc0v2l", maximize: "_6qnc0v2m", minimize: "_6qnc0v2n", "minus-circle": "_6qnc0v2o", minus: "_6qnc0v2p", "new-file": "_6qnc0v2q", "new-screen": "_6qnc0v2r", outgoing: "_6qnc0v2s", "paper-plane": "_6qnc0v2t", pencil: "_6qnc0v2u", photo: "_6qnc0v2v", pinterest: "_6qnc0v2w", play: "_6qnc0v2x", "plus-circle": "_6qnc0v2y", "plus-sign": "_6qnc0v2z", presentation: "_6qnc0v30", printer: "_6qnc0v31", "qr-code": "_6qnc0v32", "question-circle": "_6qnc0v33", "quote-left": "_6qnc0v34", "quote-right": "_6qnc0v35", random: "_6qnc0v36", refresh: "_6qnc0v37", rocket: "_6qnc0v38", "search-plus": "_6qnc0v39", search: "_6qnc0v3a", share: "_6qnc0v3b", "shopping-cart": "_6qnc0v3c", "sort-alpha-asc": "_6qnc0v3d", "sort-alpha-desc": "_6qnc0v3e", "sort-num-asc": "_6qnc0v3f", "sort-num-desc": "_6qnc0v3g", "star-outline": "_6qnc0v3h", star: "_6qnc0v3i", "archive-circle": "_6qnc0v3j", "x-circle": "_6qnc0v3k", "exclamation-circle": "_6qnc0v3l", "descending-ellipses-circle": "_6qnc0v3m", "double-angle-right-circle": "_6qnc0v3n", "locked-circle": "_6qnc0v3o", "asterisk-circle": "_6qnc0v3p", "checkmark-circle": "_6qnc0v3q", "clock-circle": "_6qnc0v3r", "calendar-blank-circle": "_6qnc0v3s", "ban-circle": "_6qnc0v3t", "disk-circle": "_6qnc0v3u", "template-circle": "_6qnc0v3v", "exclamation-triangle": "_6qnc0v3w", table: "_6qnc0v3x", tabs: "_6qnc0v3y", "thumbs-down-outline": "_6qnc0v3z", "thumbs-down": "_6qnc0v40", "thumbs-up-outline": "_6qnc0v41", "thumbs-up": "_6qnc0v42", trash: "_6qnc0v43", "truck-shipping": "_6qnc0v44", twitter: "_6qnc0v45", undo: "_6qnc0v46", unlocked: "_6qnc0v47", "upload-cloud": "_6qnc0v48", wrench: "_6qnc0v49", x: "_6qnc0v4a", "arrow-right-circle": "_6qnc0v4b", "calendar-select": "_6qnc0v4c", tag: "_6qnc0v4d", user: "_6qnc0v4e", "eye-slash": "_6qnc0v4f", "bell-filled": "_6qnc0v4g", "nested-list": "_6qnc0v4h", pin: "_6qnc0v4i", "user-impersonation": "_6qnc0v4j", "status-archived": "_6qnc0v4k", "status-cancelled": "_6qnc0v4l", "status-error": "_6qnc0v4m", "status-in-process": "_6qnc0v4n", "status-in-transit": "_6qnc0v4o", "status-locked": "_6qnc0v4p", "status-new": "_6qnc0v4q", "status-ok": "_6qnc0v4r", "status-on-hold": "_6qnc0v4s", "status-outdated": "_6qnc0v4t", "status-rejected": "_6qnc0v4u", "status-saved": "_6qnc0v4v", "status-saving": "_6qnc0v4w", "status-template": "_6qnc0v4x", "status-warning": "_6qnc0v4y" }, size: { xs: "_6qnc0v4z", sm: "_6qnc0v50", md: "_6qnc0v51", lg: "_6qnc0v52" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
202
+ function X({
203
+ className: e,
204
+ color: n,
205
+ icon: t,
206
+ size: r = "md",
207
+ ...a
208
+ }) {
209
+ return /* @__PURE__ */ l.createElement("i", {
210
+ className: d(
211
+ Q({ iconName: t, size: r }),
212
+ h({ color: n }),
213
+ e
214
+ ),
215
+ "aria-hidden": "true",
216
+ ...a
217
+ });
218
+ }
219
+ p.set(X, {
220
+ name: "Icon",
221
+ props: {
222
+ icon: { type: "IconName", required: !0 },
223
+ size: { type: "IconSize", default: '"md"' },
224
+ color: "Color"
225
+ }
226
+ });
227
+ const H = { advancedSearch: { clear: "Clear Fields", search: "Search" }, button: { spinningTitle: "Loading\u2026" }, columnChooser: { removeButton: "Remove {{elementName}}" }, contentRow: { collapse: "Collapse", expand: "Expand" }, datepicker: { calendar: { prevMonth: "View Previous Month", nextMonth: "View Next Month" }, preset: { custom: "Custom", today: "Today", sevenDays: "Last 7 days", thirtyDays: "Last 30 days", sixtyDays: "Last 60 days", ninetyDays: "Last 90 days", oneYear: "Last year" }, presetsLabel: "Ranges" }, fileUpload: { acceptedTypes: "{{fileTypes}} format accepted", acceptedTypes_plural: "{{fileTypes}} formats accepted", cancelled: "File Upload Failed", cancelled_plural: "File Upload(s) Failed", close: "Close", instructions: "Drag and drop your file here or |browse for a file| on your desktop.", instructions_plural: "Drag and drop your files here or |browse for files| on your desktop.", maximumSize: "{{size}} maximum", processing: "Processing Upload\u2026", title: "Upload Your {{description}}" }, filterPanel: { clear: "Clear Filters", title: "Filters", filterPlaceholder: "Filter options" }, focusedTask: { close: "Close" }, growler: { dismiss: "Dismiss" }, insightCard: { all: "ALL", partnerCount: "{{count}} |of| {{total}}", partners: "PARTNERS" }, insightTile: { all: "ALL", partnerCount: "{{count}} |of| {{total}}", partners: "PARTNERS" }, label: { errors: { dateConstraint: { max: "Please enter a date on or prior to {{context.maxExceeded}}.", min: "Please enter a date on or after {{context.minExceeded}}." }, dateFormat: "Please enter a date in the format {{context}}.", dateRangeOrder: "End date cannot be before start date.", dateValidity: "Please enter a valid date.", max: "Please enter a value no greater than {{context}}.", maxLength: "Please enter no more than {{context}} characters.", min: "Please enter a value no less than {{context}}.", minLength: "Please enter at least {{context}} characters.", required: "This field is required." }, preventativeErrors: { maxLength: "This field accepts a maximum number of characters.", alpha: "This field accepts only alphabetic values.", numeric: "This field accepts only numerical values.", nonNumeric: "This field accepts only non-numerical values." }, stronglySuggested: "This field is strongly suggested." }, listActionBar: { clearSelected: "Clear Selected", itemsSelected: "Items Selected" }, listToolbar: { advancedSearchToggle: "Advanced Search" }, modal: { close: "Close modal", defaultButtonLabel: "Okay", defaultTitle: { general: "Action", info: "Info", success: "Success", warning: "Warning", "serious-warning": "Warning" } }, pagination: { nextPage: "Next Page", ofMany: "of many", ofPageCount: "of {{pageCount}}", page: "Page", prevPage: "Previous Page" }, progressBar: { closeButtonTitle: "Close progress bar" }, searchResultsBar: { clear: "Clear", clearResults: "Clear Results", count: "{{count}} of {{total}}", matchingResults: "Matching results", noAdvancedSearchSelections: "No Advanced Search Selections", results: "Results:" }, select: { defaultPlaceholder: "Select one\u2026" }, slackLink: { label: "Chat" }, spinner: { defaultAltText: "Loading\u2026" }, taskQueue: { clearCompleted: "Clear Completed", newTask: "You have a new task in your queue.", noTasks: "There are currently no tasks in your queue." } }, Z = {
228
+ t(e, n) {
229
+ const t = O(H, e.replace(/^design-system:/, ""));
230
+ return n ? j(t)(n) : t;
231
+ }
232
+ }, $ = l.createContext(Z);
233
+ function ee(e) {
234
+ const n = e["data-testid"];
235
+ return k((t) => n ? { "data-testid": `${n}__${t}` } : {}, [n]);
236
+ }
237
+ var ne = b({ defaultClassName: "_9gd2pg2", variantClassNames: { size: { sm: "_9gd2pg3", md: "_9gd2pg4", lg: "_9gd2pg5" } }, defaultVariants: { size: "md" }, compoundVariants: [] }), te = "_9gd2pg1";
238
+ function E({
239
+ alt: e,
240
+ className: n,
241
+ size: t,
242
+ title: r,
243
+ ...a
244
+ }) {
245
+ const { t: o } = l.useContext($), s = e || r || o("design-system:spinner.defaultAltText"), c = ee(a);
246
+ return /* @__PURE__ */ l.createElement("div", {
247
+ className: d(te, n),
248
+ ...a
249
+ }, /* @__PURE__ */ l.createElement("i", {
250
+ className: ne({ size: t }),
251
+ ...c("icon"),
252
+ title: s
253
+ }));
254
+ }
255
+ p.set(E, {
256
+ name: "Spinner",
257
+ props: {
258
+ alt: "string",
259
+ size: { type: '"sm" | "md" | "lg"', default: '"md"' },
260
+ title: "string"
261
+ }
262
+ });
263
+ var re = "_17ntd80";
264
+ function S({
265
+ className: e,
266
+ ...n
267
+ }) {
268
+ return /* @__PURE__ */ l.createElement("div", {
269
+ className: d(re, e),
270
+ ...n
271
+ });
272
+ }
273
+ function pe(e) {
274
+ return /* @__PURE__ */ l.createElement(S, {
275
+ ...e
276
+ });
277
+ }
278
+ p.set(S, { name: "VerticalRule" });
279
+ function me(e, n) {
280
+ return g(e, {
281
+ className: d(e.props.className, n)
282
+ });
283
+ }
284
+ function _e(e, n) {
285
+ return g(e, n);
286
+ }
287
+ function qe(e, n, t = []) {
288
+ return l.useMemo(() => {
289
+ function r(a) {
290
+ return /* @__PURE__ */ l.createElement(e, {
291
+ ...a,
292
+ ...n
293
+ }, a.children);
294
+ }
295
+ return r;
296
+ }, t);
297
+ }
298
+ function fe(e) {
299
+ return typeof e == "function" ? e() : e;
300
+ }
301
+ function x(e, n, t = !0) {
302
+ if (Array.isArray(e))
303
+ return e.map((u) => x(u, n));
304
+ if (["boolean", "string"].includes(typeof e))
305
+ return e;
306
+ const r = e, a = r.props.hasOwnProperty("children") ? [].concat(r.props.children) : [], [o, s] = n(r, a), c = Array.isArray(s) ? s : a, i = t ? c.map((u) => x(u, n)) : c;
307
+ return g(r, o, ...i);
308
+ }
309
+ function ae(e, { type: n, props: t = {}, custom: r }) {
310
+ return r ? r(e.type) : e.type === n ? Object.keys(t).every((a) => t[a] === e.props[a]) : !1;
311
+ }
312
+ function he(e = [], n = []) {
313
+ const t = Array.isArray(e) ? z(e) : [e], r = n.map((o) => Array.isArray(o) ? o : [o]), a = new Array(r.length + 1).fill(null).map(() => []);
314
+ for (const o of t) {
315
+ let s = !1;
316
+ for (let c = 0; c < r.length; c += 1) {
317
+ for (const i of r[c])
318
+ if (s = ae(o, i), s) {
319
+ a[c].push(o);
320
+ break;
321
+ }
322
+ if (s)
323
+ break;
324
+ }
325
+ s || a[a.length - 1].push(o);
326
+ }
327
+ return a;
328
+ }
329
+ function ce(e, n) {
330
+ return { ...e, ...n };
331
+ }
332
+ function ge(e) {
333
+ return A(
334
+ ce,
335
+ e
336
+ );
337
+ }
338
+ const se = N(null);
339
+ function be(e, n = []) {
340
+ const t = T(se);
341
+ return R(
342
+ () => (r) => {
343
+ const o = t && t.parentElementRef && t.parentElementRef.current || document.body;
344
+ let s = null, c = o.lastElementChild;
345
+ for (; c !== o.firstElementChild; ) {
346
+ if (c && c.hasAttribute("data-portalid") && c.getAttribute("data-portalid") === e) {
347
+ s = c;
348
+ break;
349
+ }
350
+ c && (c = c.previousElementSibling);
351
+ }
352
+ if (s)
353
+ o.contains(s) || o.appendChild(s);
354
+ else {
355
+ s = document.createElement("div"), s.setAttribute("data-portalid", e);
356
+ for (const i of n)
357
+ s.classList.add(i);
358
+ o.appendChild(s);
359
+ }
360
+ return L(r, s);
361
+ },
362
+ [t]
363
+ );
364
+ }
365
+ var oe = /* @__PURE__ */ ((e) => (e.ASCENDING = "ascending", e.DESCENDING = "descending", e))(oe || {});
366
+ function ye(e) {
367
+ return e.hasOwnProperty("react");
368
+ }
369
+ function Ce(e) {
370
+ return e.hasOwnProperty("jsx");
371
+ }
372
+ const le = {
373
+ components: [E],
374
+ examples: {
375
+ basic: {
376
+ examples: {
377
+ small: {
378
+ react: q`
379
+ import { Spinner } from "@sps-woodland/core";
380
+ function Component() {
381
+ return (
382
+ <Spinner size="sm" title="Please wait…" />
383
+ );
384
+ }
385
+ `
386
+ },
387
+ medium: {
388
+ react: q`
389
+ import { Spinner } from "@sps-woodland/core";
390
+ function Component() {
391
+ return (
392
+ <>
393
+ <Spinner />
394
+ <Spinner size="md" title="Please wait…" />
395
+ </>
396
+ );
397
+ }
398
+ `
399
+ },
400
+ large: {
401
+ react: q`
402
+ import { Spinner } from "@sps-woodland/core";
403
+ function Component() {
404
+ return (
405
+ <Spinner size="lg" alt="Loading content…" />
406
+ );
407
+ }
408
+ `
409
+ }
410
+ }
411
+ }
412
+ }
413
+ }, xe = {
414
+ Spinner: le
415
+ };
416
+ export {
417
+ B as AppRoot,
418
+ U as Box,
419
+ G as CapContent,
420
+ Y as CapContentTitle,
421
+ K as Content,
422
+ $ as I18nContext,
423
+ X as Icon,
424
+ xe as MANIFEST,
425
+ p as Metadata,
426
+ se as PortalContext,
427
+ I as Provide,
428
+ oe as SortDirection,
429
+ E as Spinner,
430
+ S as VerticalRule,
431
+ pe as Vr,
432
+ me as addClassName,
433
+ _e as addProps,
434
+ qe as bindProps,
435
+ d as cl,
436
+ fe as contentOf,
437
+ ye as exampleIsReactComponentExample,
438
+ Ce as exampleIsReactJSXExample,
439
+ x as modChildren,
440
+ Z as noI18nI18n,
441
+ he as selectChildren,
442
+ ee as useChildTestIdAttrBuilder,
443
+ ge as usePatchReducer,
444
+ be as usePortal
445
+ };
@@ -0,0 +1,2 @@
1
+ import type { ComponentManifest } from "./examples";
2
+ export declare const MANIFEST: ComponentManifest;
@@ -0,0 +1,20 @@
1
+ import type { FC } from "react";
2
+ export interface WoodlandComponentMetadata {
3
+ name: string;
4
+ props?: Record<string, string | {
5
+ type: string;
6
+ default?: string;
7
+ required?: boolean;
8
+ deprecated?: boolean;
9
+ }>;
10
+ }
11
+ declare const METADATA: unique symbol;
12
+ export declare type WoodlandComponent<Props> = FC<Props> & {
13
+ [METADATA]: WoodlandComponentMetadata;
14
+ };
15
+ export declare const Metadata: Readonly<{
16
+ isWoodlandComponent<T>(arg: unknown): arg is WoodlandComponent<T>;
17
+ get<T_1>(arg: WoodlandComponent<T_1>): WoodlandComponentMetadata;
18
+ set<T_2>(arg: FC<T_2>, metadata: WoodlandComponentMetadata): void;
19
+ }>;
20
+ export {};
package/lib/style.css ADDED
@@ -0,0 +1 @@
1
+ b{font-family:Source Sans Pro,sans-serif;font-weight:600}@font-face{font-family:Source Sans Pro;font-style:normal;font-weight:400;src:url(https://cdn.dev.spsc.io/web/framework/design-system/ds/7.0.0/assets/fonts/source-sans-pro-v9-latin-regular.woff2) format("woff2"),url(https://cdn.dev.spsc.io/web/framework/design-system/ds/7.0.0/assets/fonts/source-sans-pro-v9-latin-regular.woff) format("woff");font-display:fallback}@font-face{font-family:Source Sans Pro;font-style:italic;font-weight:400;src:url(https://cdn.dev.spsc.io/web/framework/design-system/ds/7.0.0/assets/fonts/source-sans-pro-v9-latin-italic.woff2) format("woff2"),url(https://cdn.dev.spsc.io/web/framework/design-system/ds/7.0.0/assets/fonts/source-sans-pro-v9-latin-italic.woff) format("woff");font-display:fallback}@font-face{font-family:Source Sans Pro;font-style:normal;font-weight:600;src:url(https://cdn.dev.spsc.io/web/framework/design-system/ds/7.0.0/assets/fonts/source-sans-pro-v9-latin-600.woff2) format("woff2"),url(https://cdn.dev.spsc.io/web/framework/design-system/ds/7.0.0/assets/fonts/source-sans-pro-v9-latin-600.woff) format("woff");font-display:fallback}@font-face{font-family:Source Sans Pro;font-style:italic;font-weight:600;src:url(https://cdn.dev.spsc.io/web/framework/design-system/ds/7.0.0/assets/fonts/source-sans-pro-v9-latin-600italic.woff2) format("woff2"),url(https://cdn.dev.spsc.io/web/framework/design-system/ds/7.0.0/assets/fonts/source-sans-pro-v9-latin-600italic.woff) format("woff");font-display:fallback}@font-face{font-family:Source Code Pro;font-style:normal;font-weight:400;src:url(https://cdn.dev.spsc.io/web/framework/design-system/ds/7.0.0/assets/fonts/source-code-pro-v6-latin-regular.woff2) format("woff2"),url(https://cdn.dev.spsc.io/web/framework/design-system/ds/7.0.0/assets/fonts/source-code-pro-v6-latin-regular.woff) format("woff");font-display:fallback}@font-face{font-family:Source Code Pro;font-style:italic;font-weight:400;src:url(https://cdn.dev.spsc.io/web/framework/design-system/ds/7.0.0/assets/fonts/source-code-pro-v6-latin-italic.woff2) format("woff2"),url(https://cdn.dev.spsc.io/web/framework/design-system/ds/7.0.0/assets/fonts/source-code-pro-v6-latin-italic.woff) format("woff");font-display:fallback}@font-face{font-family:Source Code Pro;font-style:normal;font-weight:600;src:url(https://cdn.dev.spsc.io/web/framework/design-system/ds/7.0.0/assets/fonts/source-code-pro-v6-latin-600.woff2) format("woff2"),url(https://cdn.dev.spsc.io/web/framework/design-system/ds/7.0.0/assets/fonts/source-code-pro-v6-latin-600.woff) format("woff");font-display:fallback}@font-face{font-family:Source Code Pro;font-style:italic;font-weight:600;src:url(https://cdn.dev.spsc.io/web/framework/design-system/ds/7.0.0/assets/fonts/source-code-pro-v6-latin-600italic.woff2) format("woff2"),url(https://cdn.dev.spsc.io/web/framework/design-system/ds/7.0.0/assets/fonts/source-code-pro-v6-latin-600italic.woff) format("woff");font-display:fallback}@font-face{font-family:SPS-Icons;font-style:normal;font-weight:400;src:url(https://cdn.dev.spsc.io/web/framework/design-system/ds/7.0.0/assets/fonts/icomoon-sps-icons.svg) format("svg"),url(https://cdn.dev.spsc.io/web/framework/design-system/ds/7.0.0/assets/fonts/icomoon-sps-icons.truetype) format("undefined"),url(https://cdn.dev.spsc.io/web/framework/design-system/ds/7.0.0/assets/fonts/icomoon-sps-icons.woff) format("woff"),url(https://cdn.dev.spsc.io/web/framework/design-system/ds/7.0.0/assets/fonts/icomoon-sps-icons.woff2) format("woff2");font-display:fallback}*{font-family:Source Sans Pro,sans-serif}.r5chkp0,.r5chkp1:hover{border-color:#fbe6ea}.r5chkp2:focus{border-color:#fbe6ea}.r5chkp3,.r5chkp4:hover{border-color:#de002e}.r5chkp5:focus{border-color:#de002e}.r5chkp6,.r5chkp7:hover{border-color:#a30d2d}.r5chkp8:focus{border-color:#a30d2d}.r5chkp9,.r5chkpa:hover{border-color:#f2f8fb}.r5chkpb:focus{border-color:#f2f8fb}.r5chkpc,.r5chkpd:hover{border-color:#e6f2f8}.r5chkpe:focus{border-color:#e6f2f8}.r5chkpf,.r5chkpg:hover{border-color:#007db8}.r5chkph:focus{border-color:#007db8}.r5chkpi,.r5chkpj:hover{border-color:#09638d}.r5chkpk:focus{border-color:#09638d}.r5chkpl,.r5chkpm:hover{border-color:#e7f3ec}.r5chkpn:focus{border-color:#e7f3ec}.r5chkpo,.r5chkpp:hover{border-color:#0b8940}.r5chkpq:focus{border-color:#0b8940}.r5chkpr,.r5chkps:hover{border-color:#106b39}.r5chkpt:focus{border-color:#106b39}.r5chkpu,.r5chkpv:hover{border-color:#f4ecf2}.r5chkpw:focus{border-color:#f4ecf2}.r5chkpx,.r5chkpy:hover{border-color:#e3d0de}.r5chkpz:focus{border-color:#e3d0de}.r5chkp10,.r5chkp11:hover{border-color:#91467f}.r5chkp12:focus{border-color:#91467f}.r5chkp13,.r5chkp14:hover{border-color:#6e3c65}.r5chkp15:focus{border-color:#6e3c65}.r5chkp16,.r5chkp17:hover{border-color:#fcf1e7}.r5chkp18:focus{border-color:#fcf1e7}.r5chkp19,.r5chkp1a:hover{border-color:#e7760b}.r5chkp1b:focus{border-color:#e7760b}.r5chkp1c,.r5chkp1d:hover{border-color:#aa5e14}.r5chkp1e:focus{border-color:#aa5e14}.r5chkp1f,.r5chkp1g:hover{border-color:#f3f4f4}.r5chkp1h:focus{border-color:#f3f4f4}.r5chkp1i,.r5chkp1j:hover{border-color:#e9e9ea}.r5chkp1k:focus{border-color:#e9e9ea}.r5chkp1l,.r5chkp1m:hover{border-color:#d2d4d4}.r5chkp1n:focus{border-color:#d2d4d4}.r5chkp1o,.r5chkp1p:hover{border-color:#717779}.r5chkp1q:focus{border-color:#717779}.r5chkp1r,.r5chkp1s:hover{border-color:#4b5356}.r5chkp1t:focus{border-color:#4b5356}.r5chkp1u,.r5chkp1v:hover{border-color:#1f282c}.r5chkp1w:focus{border-color:#1f282c}.r5chkp1x,.r5chkp1y:hover{border-color:#fff8e0}.r5chkp1z:focus{border-color:#fff8e0}.r5chkp20,.r5chkp21:hover{border-color:#fc0}.r5chkp22:focus{border-color:#fc0}.r5chkp23,.r5chkp24:hover{border-color:#fff}.r5chkp25:focus{border-color:#fff}.r5chkp26,.r5chkp27:hover{border-color:#000}.r5chkp28:focus{border-color:#000}.r5chkp29,.r5chkp2a:hover{border-color:#000}.r5chkp2b:focus{border-color:#000}.r5chkp2c,.r5chkp2d:hover{border-bottom-color:#fbe6ea}.r5chkp2e:focus{border-bottom-color:#fbe6ea}.r5chkp2f,.r5chkp2g:hover{border-bottom-color:#de002e}.r5chkp2h:focus{border-bottom-color:#de002e}.r5chkp2i,.r5chkp2j:hover{border-bottom-color:#a30d2d}.r5chkp2k:focus{border-bottom-color:#a30d2d}.r5chkp2l,.r5chkp2m:hover{border-bottom-color:#f2f8fb}.r5chkp2n:focus{border-bottom-color:#f2f8fb}.r5chkp2o,.r5chkp2p:hover{border-bottom-color:#e6f2f8}.r5chkp2q:focus{border-bottom-color:#e6f2f8}.r5chkp2r,.r5chkp2s:hover{border-bottom-color:#007db8}.r5chkp2t:focus{border-bottom-color:#007db8}.r5chkp2u,.r5chkp2v:hover{border-bottom-color:#09638d}.r5chkp2w:focus{border-bottom-color:#09638d}.r5chkp2x,.r5chkp2y:hover{border-bottom-color:#e7f3ec}.r5chkp2z:focus{border-bottom-color:#e7f3ec}.r5chkp30,.r5chkp31:hover{border-bottom-color:#0b8940}.r5chkp32:focus{border-bottom-color:#0b8940}.r5chkp33,.r5chkp34:hover{border-bottom-color:#106b39}.r5chkp35:focus{border-bottom-color:#106b39}.r5chkp36,.r5chkp37:hover{border-bottom-color:#f4ecf2}.r5chkp38:focus{border-bottom-color:#f4ecf2}.r5chkp39,.r5chkp3a:hover{border-bottom-color:#e3d0de}.r5chkp3b:focus{border-bottom-color:#e3d0de}.r5chkp3c,.r5chkp3d:hover{border-bottom-color:#91467f}.r5chkp3e:focus{border-bottom-color:#91467f}.r5chkp3f,.r5chkp3g:hover{border-bottom-color:#6e3c65}.r5chkp3h:focus{border-bottom-color:#6e3c65}.r5chkp3i,.r5chkp3j:hover{border-bottom-color:#fcf1e7}.r5chkp3k:focus{border-bottom-color:#fcf1e7}.r5chkp3l,.r5chkp3m:hover{border-bottom-color:#e7760b}.r5chkp3n:focus{border-bottom-color:#e7760b}.r5chkp3o,.r5chkp3p:hover{border-bottom-color:#aa5e14}.r5chkp3q:focus{border-bottom-color:#aa5e14}.r5chkp3r,.r5chkp3s:hover{border-bottom-color:#f3f4f4}.r5chkp3t:focus{border-bottom-color:#f3f4f4}.r5chkp3u,.r5chkp3v:hover{border-bottom-color:#e9e9ea}.r5chkp3w:focus{border-bottom-color:#e9e9ea}.r5chkp3x,.r5chkp3y:hover{border-bottom-color:#d2d4d4}.r5chkp3z:focus{border-bottom-color:#d2d4d4}.r5chkp40,.r5chkp41:hover{border-bottom-color:#717779}.r5chkp42:focus{border-bottom-color:#717779}.r5chkp43,.r5chkp44:hover{border-bottom-color:#4b5356}.r5chkp45:focus{border-bottom-color:#4b5356}.r5chkp46,.r5chkp47:hover{border-bottom-color:#1f282c}.r5chkp48:focus{border-bottom-color:#1f282c}.r5chkp49,.r5chkp4a:hover{border-bottom-color:#fff8e0}.r5chkp4b:focus{border-bottom-color:#fff8e0}.r5chkp4c,.r5chkp4d:hover{border-bottom-color:#fc0}.r5chkp4e:focus{border-bottom-color:#fc0}.r5chkp4f,.r5chkp4g:hover{border-bottom-color:#fff}.r5chkp4h:focus{border-bottom-color:#fff}.r5chkp4i,.r5chkp4j:hover{border-bottom-color:#000}.r5chkp4k:focus{border-bottom-color:#000}.r5chkp4l,.r5chkp4m:hover{border-bottom-color:#000}.r5chkp4n:focus{border-bottom-color:#000}.r5chkp4o,.r5chkp4p:hover{border-left-color:#fbe6ea}.r5chkp4q:focus{border-left-color:#fbe6ea}.r5chkp4r,.r5chkp4s:hover{border-left-color:#de002e}.r5chkp4t:focus{border-left-color:#de002e}.r5chkp4u,.r5chkp4v:hover{border-left-color:#a30d2d}.r5chkp4w:focus{border-left-color:#a30d2d}.r5chkp4x,.r5chkp4y:hover{border-left-color:#f2f8fb}.r5chkp4z:focus{border-left-color:#f2f8fb}.r5chkp50,.r5chkp51:hover{border-left-color:#e6f2f8}.r5chkp52:focus{border-left-color:#e6f2f8}.r5chkp53,.r5chkp54:hover{border-left-color:#007db8}.r5chkp55:focus{border-left-color:#007db8}.r5chkp56,.r5chkp57:hover{border-left-color:#09638d}.r5chkp58:focus{border-left-color:#09638d}.r5chkp59,.r5chkp5a:hover{border-left-color:#e7f3ec}.r5chkp5b:focus{border-left-color:#e7f3ec}.r5chkp5c,.r5chkp5d:hover{border-left-color:#0b8940}.r5chkp5e:focus{border-left-color:#0b8940}.r5chkp5f,.r5chkp5g:hover{border-left-color:#106b39}.r5chkp5h:focus{border-left-color:#106b39}.r5chkp5i,.r5chkp5j:hover{border-left-color:#f4ecf2}.r5chkp5k:focus{border-left-color:#f4ecf2}.r5chkp5l,.r5chkp5m:hover{border-left-color:#e3d0de}.r5chkp5n:focus{border-left-color:#e3d0de}.r5chkp5o,.r5chkp5p:hover{border-left-color:#91467f}.r5chkp5q:focus{border-left-color:#91467f}.r5chkp5r,.r5chkp5s:hover{border-left-color:#6e3c65}.r5chkp5t:focus{border-left-color:#6e3c65}.r5chkp5u,.r5chkp5v:hover{border-left-color:#fcf1e7}.r5chkp5w:focus{border-left-color:#fcf1e7}.r5chkp5x,.r5chkp5y:hover{border-left-color:#e7760b}.r5chkp5z:focus{border-left-color:#e7760b}.r5chkp60,.r5chkp61:hover{border-left-color:#aa5e14}.r5chkp62:focus{border-left-color:#aa5e14}.r5chkp63,.r5chkp64:hover{border-left-color:#f3f4f4}.r5chkp65:focus{border-left-color:#f3f4f4}.r5chkp66,.r5chkp67:hover{border-left-color:#e9e9ea}.r5chkp68:focus{border-left-color:#e9e9ea}.r5chkp69,.r5chkp6a:hover{border-left-color:#d2d4d4}.r5chkp6b:focus{border-left-color:#d2d4d4}.r5chkp6c,.r5chkp6d:hover{border-left-color:#717779}.r5chkp6e:focus{border-left-color:#717779}.r5chkp6f,.r5chkp6g:hover{border-left-color:#4b5356}.r5chkp6h:focus{border-left-color:#4b5356}.r5chkp6i,.r5chkp6j:hover{border-left-color:#1f282c}.r5chkp6k:focus{border-left-color:#1f282c}.r5chkp6l,.r5chkp6m:hover{border-left-color:#fff8e0}.r5chkp6n:focus{border-left-color:#fff8e0}.r5chkp6o,.r5chkp6p:hover{border-left-color:#fc0}.r5chkp6q:focus{border-left-color:#fc0}.r5chkp6r,.r5chkp6s:hover{border-left-color:#fff}.r5chkp6t:focus{border-left-color:#fff}.r5chkp6u,.r5chkp6v:hover{border-left-color:#000}.r5chkp6w:focus{border-left-color:#000}.r5chkp6x,.r5chkp6y:hover{border-left-color:#000}.r5chkp6z:focus{border-left-color:#000}.r5chkp70,.r5chkp71:hover{border-right-color:#fbe6ea}.r5chkp72:focus{border-right-color:#fbe6ea}.r5chkp73,.r5chkp74:hover{border-right-color:#de002e}.r5chkp75:focus{border-right-color:#de002e}.r5chkp76,.r5chkp77:hover{border-right-color:#a30d2d}.r5chkp78:focus{border-right-color:#a30d2d}.r5chkp79,.r5chkp7a:hover{border-right-color:#f2f8fb}.r5chkp7b:focus{border-right-color:#f2f8fb}.r5chkp7c,.r5chkp7d:hover{border-right-color:#e6f2f8}.r5chkp7e:focus{border-right-color:#e6f2f8}.r5chkp7f,.r5chkp7g:hover{border-right-color:#007db8}.r5chkp7h:focus{border-right-color:#007db8}.r5chkp7i,.r5chkp7j:hover{border-right-color:#09638d}.r5chkp7k:focus{border-right-color:#09638d}.r5chkp7l,.r5chkp7m:hover{border-right-color:#e7f3ec}.r5chkp7n:focus{border-right-color:#e7f3ec}.r5chkp7o,.r5chkp7p:hover{border-right-color:#0b8940}.r5chkp7q:focus{border-right-color:#0b8940}.r5chkp7r,.r5chkp7s:hover{border-right-color:#106b39}.r5chkp7t:focus{border-right-color:#106b39}.r5chkp7u,.r5chkp7v:hover{border-right-color:#f4ecf2}.r5chkp7w:focus{border-right-color:#f4ecf2}.r5chkp7x,.r5chkp7y:hover{border-right-color:#e3d0de}.r5chkp7z:focus{border-right-color:#e3d0de}.r5chkp80,.r5chkp81:hover{border-right-color:#91467f}.r5chkp82:focus{border-right-color:#91467f}.r5chkp83,.r5chkp84:hover{border-right-color:#6e3c65}.r5chkp85:focus{border-right-color:#6e3c65}.r5chkp86,.r5chkp87:hover{border-right-color:#fcf1e7}.r5chkp88:focus{border-right-color:#fcf1e7}.r5chkp89,.r5chkp8a:hover{border-right-color:#e7760b}.r5chkp8b:focus{border-right-color:#e7760b}.r5chkp8c,.r5chkp8d:hover{border-right-color:#aa5e14}.r5chkp8e:focus{border-right-color:#aa5e14}.r5chkp8f,.r5chkp8g:hover{border-right-color:#f3f4f4}.r5chkp8h:focus{border-right-color:#f3f4f4}.r5chkp8i,.r5chkp8j:hover{border-right-color:#e9e9ea}.r5chkp8k:focus{border-right-color:#e9e9ea}.r5chkp8l,.r5chkp8m:hover{border-right-color:#d2d4d4}.r5chkp8n:focus{border-right-color:#d2d4d4}.r5chkp8o,.r5chkp8p:hover{border-right-color:#717779}.r5chkp8q:focus{border-right-color:#717779}.r5chkp8r,.r5chkp8s:hover{border-right-color:#4b5356}.r5chkp8t:focus{border-right-color:#4b5356}.r5chkp8u,.r5chkp8v:hover{border-right-color:#1f282c}.r5chkp8w:focus{border-right-color:#1f282c}.r5chkp8x,.r5chkp8y:hover{border-right-color:#fff8e0}.r5chkp8z:focus{border-right-color:#fff8e0}.r5chkp90,.r5chkp91:hover{border-right-color:#fc0}.r5chkp92:focus{border-right-color:#fc0}.r5chkp93,.r5chkp94:hover{border-right-color:#fff}.r5chkp95:focus{border-right-color:#fff}.r5chkp96,.r5chkp97:hover{border-right-color:#000}.r5chkp98:focus{border-right-color:#000}.r5chkp99,.r5chkp9a:hover{border-right-color:#000}.r5chkp9b:focus{border-right-color:#000}.r5chkp9c,.r5chkp9d:hover{border-top-color:#fbe6ea}.r5chkp9e:focus{border-top-color:#fbe6ea}.r5chkp9f,.r5chkp9g:hover{border-top-color:#de002e}.r5chkp9h:focus{border-top-color:#de002e}.r5chkp9i,.r5chkp9j:hover{border-top-color:#a30d2d}.r5chkp9k:focus{border-top-color:#a30d2d}.r5chkp9l,.r5chkp9m:hover{border-top-color:#f2f8fb}.r5chkp9n:focus{border-top-color:#f2f8fb}.r5chkp9o,.r5chkp9p:hover{border-top-color:#e6f2f8}.r5chkp9q:focus{border-top-color:#e6f2f8}.r5chkp9r,.r5chkp9s:hover{border-top-color:#007db8}.r5chkp9t:focus{border-top-color:#007db8}.r5chkp9u,.r5chkp9v:hover{border-top-color:#09638d}.r5chkp9w:focus{border-top-color:#09638d}.r5chkp9x,.r5chkp9y:hover{border-top-color:#e7f3ec}.r5chkp9z:focus{border-top-color:#e7f3ec}.r5chkpa0,.r5chkpa1:hover{border-top-color:#0b8940}.r5chkpa2:focus{border-top-color:#0b8940}.r5chkpa3,.r5chkpa4:hover{border-top-color:#106b39}.r5chkpa5:focus{border-top-color:#106b39}.r5chkpa6,.r5chkpa7:hover{border-top-color:#f4ecf2}.r5chkpa8:focus{border-top-color:#f4ecf2}.r5chkpa9,.r5chkpaa:hover{border-top-color:#e3d0de}.r5chkpab:focus{border-top-color:#e3d0de}.r5chkpac,.r5chkpad:hover{border-top-color:#91467f}.r5chkpae:focus{border-top-color:#91467f}.r5chkpaf,.r5chkpag:hover{border-top-color:#6e3c65}.r5chkpah:focus{border-top-color:#6e3c65}.r5chkpai,.r5chkpaj:hover{border-top-color:#fcf1e7}.r5chkpak:focus{border-top-color:#fcf1e7}.r5chkpal,.r5chkpam:hover{border-top-color:#e7760b}.r5chkpan:focus{border-top-color:#e7760b}.r5chkpao,.r5chkpap:hover{border-top-color:#aa5e14}.r5chkpaq:focus{border-top-color:#aa5e14}.r5chkpar,.r5chkpas:hover{border-top-color:#f3f4f4}.r5chkpat:focus{border-top-color:#f3f4f4}.r5chkpau,.r5chkpav:hover{border-top-color:#e9e9ea}.r5chkpaw:focus{border-top-color:#e9e9ea}.r5chkpax,.r5chkpay:hover{border-top-color:#d2d4d4}.r5chkpaz:focus{border-top-color:#d2d4d4}.r5chkpb0,.r5chkpb1:hover{border-top-color:#717779}.r5chkpb2:focus{border-top-color:#717779}.r5chkpb3,.r5chkpb4:hover{border-top-color:#4b5356}.r5chkpb5:focus{border-top-color:#4b5356}.r5chkpb6,.r5chkpb7:hover{border-top-color:#1f282c}.r5chkpb8:focus{border-top-color:#1f282c}.r5chkpb9,.r5chkpba:hover{border-top-color:#fff8e0}.r5chkpbb:focus{border-top-color:#fff8e0}.r5chkpbc,.r5chkpbd:hover{border-top-color:#fc0}.r5chkpbe:focus{border-top-color:#fc0}.r5chkpbf,.r5chkpbg:hover{border-top-color:#fff}.r5chkpbh:focus{border-top-color:#fff}.r5chkpbi,.r5chkpbj:hover{border-top-color:#000}.r5chkpbk:focus{border-top-color:#000}.r5chkpbl,.r5chkpbm:hover{border-top-color:#000}.r5chkpbn:focus{border-top-color:#000}.r5chkpbo,.r5chkpbp:hover{border-radius:0}.r5chkpbq:focus{border-radius:0}.r5chkpbr,.r5chkpbs:hover{border-radius:.125rem}.r5chkpbt:focus{border-radius:.125rem}.r5chkpbu,.r5chkpbv:hover{border-radius:.25rem}.r5chkpbw:focus{border-radius:.25rem}.r5chkpbx,.r5chkpby:hover{border-width:0}.r5chkpbz:focus{border-width:0}.r5chkpc0,.r5chkpc1:hover{border-width:.0625rem}.r5chkpc2:focus{border-width:.0625rem}.r5chkpc3,.r5chkpc4:hover{border-top-width:0}.r5chkpc5:focus{border-top-width:0}.r5chkpc6,.r5chkpc7:hover{border-top-width:.0625rem}.r5chkpc8:focus{border-top-width:.0625rem}.r5chkpc9,.r5chkpca:hover{border-right-width:0}.r5chkpcb:focus{border-right-width:0}.r5chkpcc,.r5chkpcd:hover{border-right-width:.0625rem}.r5chkpce:focus{border-right-width:.0625rem}.r5chkpcf,.r5chkpcg:hover{border-bottom-width:0}.r5chkpch:focus{border-bottom-width:0}.r5chkpci,.r5chkpcj:hover{border-bottom-width:.0625rem}.r5chkpck:focus{border-bottom-width:.0625rem}.r5chkpcl,.r5chkpcm:hover{border-left-width:0}.r5chkpcn:focus{border-left-width:0}.r5chkpco,.r5chkpcp:hover{border-left-width:.0625rem}.r5chkpcq:focus{border-left-width:.0625rem}.r5chkpcr,.r5chkpcs:hover{border-top-left-radius:0}.r5chkpct:focus{border-top-left-radius:0}.r5chkpcu,.r5chkpcv:hover{border-top-left-radius:.125rem}.r5chkpcw:focus{border-top-left-radius:.125rem}.r5chkpcx,.r5chkpcy:hover{border-top-left-radius:.25rem}.r5chkpcz:focus{border-top-left-radius:.25rem}.r5chkpd0,.r5chkpd1:hover{border-top-right-radius:0}.r5chkpd2:focus{border-top-right-radius:0}.r5chkpd3,.r5chkpd4:hover{border-top-right-radius:.125rem}.r5chkpd5:focus{border-top-right-radius:.125rem}.r5chkpd6,.r5chkpd7:hover{border-top-right-radius:.25rem}.r5chkpd8:focus{border-top-right-radius:.25rem}.r5chkpd9,.r5chkpda:hover{border-bottom-right-radius:0}.r5chkpdb:focus{border-bottom-right-radius:0}.r5chkpdc,.r5chkpdd:hover{border-bottom-right-radius:.125rem}.r5chkpde:focus{border-bottom-right-radius:.125rem}.r5chkpdf,.r5chkpdg:hover{border-bottom-right-radius:.25rem}.r5chkpdh:focus{border-bottom-right-radius:.25rem}.r5chkpdi,.r5chkpdj:hover{border-bottom-left-radius:0}.r5chkpdk:focus{border-bottom-left-radius:0}.r5chkpdl,.r5chkpdm:hover{border-bottom-left-radius:.125rem}.r5chkpdn:focus{border-bottom-left-radius:.125rem}.r5chkpdo,.r5chkpdp:hover{border-bottom-left-radius:.25rem}.r5chkpdq:focus{border-bottom-left-radius:.25rem}._11lkjuc0,._11lkjuc1:hover{background-color:#fbe6ea}._11lkjuc2:focus{background-color:#fbe6ea}._11lkjuc3,._11lkjuc4:hover{background-color:#de002e}._11lkjuc5:focus{background-color:#de002e}._11lkjuc6,._11lkjuc7:hover{background-color:#a30d2d}._11lkjuc8:focus{background-color:#a30d2d}._11lkjuc9,._11lkjuca:hover{background-color:#f2f8fb}._11lkjucb:focus{background-color:#f2f8fb}._11lkjucc,._11lkjucd:hover{background-color:#e6f2f8}._11lkjuce:focus{background-color:#e6f2f8}._11lkjucf,._11lkjucg:hover{background-color:#007db8}._11lkjuch:focus{background-color:#007db8}._11lkjuci,._11lkjucj:hover{background-color:#09638d}._11lkjuck:focus{background-color:#09638d}._11lkjucl,._11lkjucm:hover{background-color:#e7f3ec}._11lkjucn:focus{background-color:#e7f3ec}._11lkjuco,._11lkjucp:hover{background-color:#0b8940}._11lkjucq:focus{background-color:#0b8940}._11lkjucr,._11lkjucs:hover{background-color:#106b39}._11lkjuct:focus{background-color:#106b39}._11lkjucu,._11lkjucv:hover{background-color:#f4ecf2}._11lkjucw:focus{background-color:#f4ecf2}._11lkjucx,._11lkjucy:hover{background-color:#e3d0de}._11lkjucz:focus{background-color:#e3d0de}._11lkjuc10,._11lkjuc11:hover{background-color:#91467f}._11lkjuc12:focus{background-color:#91467f}._11lkjuc13,._11lkjuc14:hover{background-color:#6e3c65}._11lkjuc15:focus{background-color:#6e3c65}._11lkjuc16,._11lkjuc17:hover{background-color:#fcf1e7}._11lkjuc18:focus{background-color:#fcf1e7}._11lkjuc19,._11lkjuc1a:hover{background-color:#e7760b}._11lkjuc1b:focus{background-color:#e7760b}._11lkjuc1c,._11lkjuc1d:hover{background-color:#aa5e14}._11lkjuc1e:focus{background-color:#aa5e14}._11lkjuc1f,._11lkjuc1g:hover{background-color:#f3f4f4}._11lkjuc1h:focus{background-color:#f3f4f4}._11lkjuc1i,._11lkjuc1j:hover{background-color:#e9e9ea}._11lkjuc1k:focus{background-color:#e9e9ea}._11lkjuc1l,._11lkjuc1m:hover{background-color:#d2d4d4}._11lkjuc1n:focus{background-color:#d2d4d4}._11lkjuc1o,._11lkjuc1p:hover{background-color:#717779}._11lkjuc1q:focus{background-color:#717779}._11lkjuc1r,._11lkjuc1s:hover{background-color:#4b5356}._11lkjuc1t:focus{background-color:#4b5356}._11lkjuc1u,._11lkjuc1v:hover{background-color:#1f282c}._11lkjuc1w:focus{background-color:#1f282c}._11lkjuc1x,._11lkjuc1y:hover{background-color:#fff8e0}._11lkjuc1z:focus{background-color:#fff8e0}._11lkjuc20,._11lkjuc21:hover{background-color:#fc0}._11lkjuc22:focus{background-color:#fc0}._11lkjuc23,._11lkjuc24:hover{background-color:#fff}._11lkjuc25:focus{background-color:#fff}._11lkjuc26,._11lkjuc27:hover{background-color:#000}._11lkjuc28:focus{background-color:#000}._11lkjuc29,._11lkjuc2a:hover{background-color:#000}._11lkjuc2b:focus{background-color:#000}._11lkjuc2c,._11lkjuc2d:hover{color:#fbe6ea}._11lkjuc2e:focus{color:#fbe6ea}._11lkjuc2f,._11lkjuc2g:hover{color:#de002e}._11lkjuc2h:focus{color:#de002e}._11lkjuc2i,._11lkjuc2j:hover{color:#a30d2d}._11lkjuc2k:focus{color:#a30d2d}._11lkjuc2l,._11lkjuc2m:hover{color:#f2f8fb}._11lkjuc2n:focus{color:#f2f8fb}._11lkjuc2o,._11lkjuc2p:hover{color:#e6f2f8}._11lkjuc2q:focus{color:#e6f2f8}._11lkjuc2r,._11lkjuc2s:hover{color:#007db8}._11lkjuc2t:focus{color:#007db8}._11lkjuc2u,._11lkjuc2v:hover{color:#09638d}._11lkjuc2w:focus{color:#09638d}._11lkjuc2x,._11lkjuc2y:hover{color:#e7f3ec}._11lkjuc2z:focus{color:#e7f3ec}._11lkjuc30,._11lkjuc31:hover{color:#0b8940}._11lkjuc32:focus{color:#0b8940}._11lkjuc33,._11lkjuc34:hover{color:#106b39}._11lkjuc35:focus{color:#106b39}._11lkjuc36,._11lkjuc37:hover{color:#f4ecf2}._11lkjuc38:focus{color:#f4ecf2}._11lkjuc39,._11lkjuc3a:hover{color:#e3d0de}._11lkjuc3b:focus{color:#e3d0de}._11lkjuc3c,._11lkjuc3d:hover{color:#91467f}._11lkjuc3e:focus{color:#91467f}._11lkjuc3f,._11lkjuc3g:hover{color:#6e3c65}._11lkjuc3h:focus{color:#6e3c65}._11lkjuc3i,._11lkjuc3j:hover{color:#fcf1e7}._11lkjuc3k:focus{color:#fcf1e7}._11lkjuc3l,._11lkjuc3m:hover{color:#e7760b}._11lkjuc3n:focus{color:#e7760b}._11lkjuc3o,._11lkjuc3p:hover{color:#aa5e14}._11lkjuc3q:focus{color:#aa5e14}._11lkjuc3r,._11lkjuc3s:hover{color:#f3f4f4}._11lkjuc3t:focus{color:#f3f4f4}._11lkjuc3u,._11lkjuc3v:hover{color:#e9e9ea}._11lkjuc3w:focus{color:#e9e9ea}._11lkjuc3x,._11lkjuc3y:hover{color:#d2d4d4}._11lkjuc3z:focus{color:#d2d4d4}._11lkjuc40,._11lkjuc41:hover{color:#717779}._11lkjuc42:focus{color:#717779}._11lkjuc43,._11lkjuc44:hover{color:#4b5356}._11lkjuc45:focus{color:#4b5356}._11lkjuc46,._11lkjuc47:hover{color:#1f282c}._11lkjuc48:focus{color:#1f282c}._11lkjuc49,._11lkjuc4a:hover{color:#fff8e0}._11lkjuc4b:focus{color:#fff8e0}._11lkjuc4c,._11lkjuc4d:hover{color:#fc0}._11lkjuc4e:focus{color:#fc0}._11lkjuc4f,._11lkjuc4g:hover{color:#fff}._11lkjuc4h:focus{color:#fff}._11lkjuc4i,._11lkjuc4j:hover{color:#000}._11lkjuc4k:focus{color:#000}._11lkjuc4l,._11lkjuc4m:hover{color:#000}._11lkjuc4n:focus{color:#000}.ztktm30{column-gap:.25rem}.ztktm31{column-gap:.5rem}.ztktm32{column-gap:1rem}.ztktm33{column-gap:2rem}.ztktm34{column-gap:0}.ztktm35{column-gap:auto}.ztktm36{row-gap:.25rem}.ztktm37{row-gap:.5rem}.ztktm38{row-gap:1rem}.ztktm39{row-gap:2rem}.ztktm3a{row-gap:0}.ztktm3b{row-gap:auto}._2obqyp0,._2obqyp1:first-child{margin-bottom:.25rem}._2obqyp2:not(:first-child){margin-bottom:.25rem}._2obqyp3:last-child{margin-bottom:.25rem}._2obqyp4:not(:last-child){margin-bottom:.25rem}._2obqyp5:not(:first-child):not(:last-child){margin-bottom:.25rem}._2obqyp6,._2obqyp7:first-child{margin-bottom:.5rem}._2obqyp8:not(:first-child){margin-bottom:.5rem}._2obqyp9:last-child{margin-bottom:.5rem}._2obqypa:not(:last-child){margin-bottom:.5rem}._2obqypb:not(:first-child):not(:last-child){margin-bottom:.5rem}._2obqypc,._2obqypd:first-child{margin-bottom:1rem}._2obqype:not(:first-child){margin-bottom:1rem}._2obqypf:last-child{margin-bottom:1rem}._2obqypg:not(:last-child){margin-bottom:1rem}._2obqyph:not(:first-child):not(:last-child){margin-bottom:1rem}._2obqypi,._2obqypj:first-child{margin-bottom:2rem}._2obqypk:not(:first-child){margin-bottom:2rem}._2obqypl:last-child{margin-bottom:2rem}._2obqypm:not(:last-child){margin-bottom:2rem}._2obqypn:not(:first-child):not(:last-child){margin-bottom:2rem}._2obqypo,._2obqypp:first-child{margin-bottom:0}._2obqypq:not(:first-child){margin-bottom:0}._2obqypr:last-child{margin-bottom:0}._2obqyps:not(:last-child){margin-bottom:0}._2obqypt:not(:first-child):not(:last-child){margin-bottom:0}._2obqypu,._2obqypv:first-child{margin-bottom:auto}._2obqypw:not(:first-child){margin-bottom:auto}._2obqypx:last-child{margin-bottom:auto}._2obqypy:not(:last-child){margin-bottom:auto}._2obqypz:not(:first-child):not(:last-child){margin-bottom:auto}._2obqyp10,._2obqyp11:first-child{margin-left:.25rem}._2obqyp12:not(:first-child){margin-left:.25rem}._2obqyp13:last-child{margin-left:.25rem}._2obqyp14:not(:last-child){margin-left:.25rem}._2obqyp15:not(:first-child):not(:last-child){margin-left:.25rem}._2obqyp16,._2obqyp17:first-child{margin-left:.5rem}._2obqyp18:not(:first-child){margin-left:.5rem}._2obqyp19:last-child{margin-left:.5rem}._2obqyp1a:not(:last-child){margin-left:.5rem}._2obqyp1b:not(:first-child):not(:last-child){margin-left:.5rem}._2obqyp1c,._2obqyp1d:first-child{margin-left:1rem}._2obqyp1e:not(:first-child){margin-left:1rem}._2obqyp1f:last-child{margin-left:1rem}._2obqyp1g:not(:last-child){margin-left:1rem}._2obqyp1h:not(:first-child):not(:last-child){margin-left:1rem}._2obqyp1i,._2obqyp1j:first-child{margin-left:2rem}._2obqyp1k:not(:first-child){margin-left:2rem}._2obqyp1l:last-child{margin-left:2rem}._2obqyp1m:not(:last-child){margin-left:2rem}._2obqyp1n:not(:first-child):not(:last-child){margin-left:2rem}._2obqyp1o,._2obqyp1p:first-child{margin-left:0}._2obqyp1q:not(:first-child){margin-left:0}._2obqyp1r:last-child{margin-left:0}._2obqyp1s:not(:last-child){margin-left:0}._2obqyp1t:not(:first-child):not(:last-child){margin-left:0}._2obqyp1u,._2obqyp1v:first-child{margin-left:auto}._2obqyp1w:not(:first-child){margin-left:auto}._2obqyp1x:last-child{margin-left:auto}._2obqyp1y:not(:last-child){margin-left:auto}._2obqyp1z:not(:first-child):not(:last-child){margin-left:auto}._2obqyp20,._2obqyp21:first-child{margin-right:.25rem}._2obqyp22:not(:first-child){margin-right:.25rem}._2obqyp23:last-child{margin-right:.25rem}._2obqyp24:not(:last-child){margin-right:.25rem}._2obqyp25:not(:first-child):not(:last-child){margin-right:.25rem}._2obqyp26,._2obqyp27:first-child{margin-right:.5rem}._2obqyp28:not(:first-child){margin-right:.5rem}._2obqyp29:last-child{margin-right:.5rem}._2obqyp2a:not(:last-child){margin-right:.5rem}._2obqyp2b:not(:first-child):not(:last-child){margin-right:.5rem}._2obqyp2c,._2obqyp2d:first-child{margin-right:1rem}._2obqyp2e:not(:first-child){margin-right:1rem}._2obqyp2f:last-child{margin-right:1rem}._2obqyp2g:not(:last-child){margin-right:1rem}._2obqyp2h:not(:first-child):not(:last-child){margin-right:1rem}._2obqyp2i,._2obqyp2j:first-child{margin-right:2rem}._2obqyp2k:not(:first-child){margin-right:2rem}._2obqyp2l:last-child{margin-right:2rem}._2obqyp2m:not(:last-child){margin-right:2rem}._2obqyp2n:not(:first-child):not(:last-child){margin-right:2rem}._2obqyp2o,._2obqyp2p:first-child{margin-right:0}._2obqyp2q:not(:first-child){margin-right:0}._2obqyp2r:last-child{margin-right:0}._2obqyp2s:not(:last-child){margin-right:0}._2obqyp2t:not(:first-child):not(:last-child){margin-right:0}._2obqyp2u,._2obqyp2v:first-child{margin-right:auto}._2obqyp2w:not(:first-child){margin-right:auto}._2obqyp2x:last-child{margin-right:auto}._2obqyp2y:not(:last-child){margin-right:auto}._2obqyp2z:not(:first-child):not(:last-child){margin-right:auto}._2obqyp30,._2obqyp31:first-child{margin-top:.25rem}._2obqyp32:not(:first-child){margin-top:.25rem}._2obqyp33:last-child{margin-top:.25rem}._2obqyp34:not(:last-child){margin-top:.25rem}._2obqyp35:not(:first-child):not(:last-child){margin-top:.25rem}._2obqyp36,._2obqyp37:first-child{margin-top:.5rem}._2obqyp38:not(:first-child){margin-top:.5rem}._2obqyp39:last-child{margin-top:.5rem}._2obqyp3a:not(:last-child){margin-top:.5rem}._2obqyp3b:not(:first-child):not(:last-child){margin-top:.5rem}._2obqyp3c,._2obqyp3d:first-child{margin-top:1rem}._2obqyp3e:not(:first-child){margin-top:1rem}._2obqyp3f:last-child{margin-top:1rem}._2obqyp3g:not(:last-child){margin-top:1rem}._2obqyp3h:not(:first-child):not(:last-child){margin-top:1rem}._2obqyp3i,._2obqyp3j:first-child{margin-top:2rem}._2obqyp3k:not(:first-child){margin-top:2rem}._2obqyp3l:last-child{margin-top:2rem}._2obqyp3m:not(:last-child){margin-top:2rem}._2obqyp3n:not(:first-child):not(:last-child){margin-top:2rem}._2obqyp3o,._2obqyp3p:first-child{margin-top:0}._2obqyp3q:not(:first-child){margin-top:0}._2obqyp3r:last-child{margin-top:0}._2obqyp3s:not(:last-child){margin-top:0}._2obqyp3t:not(:first-child):not(:last-child){margin-top:0}._2obqyp3u,._2obqyp3v:first-child{margin-top:auto}._2obqyp3w:not(:first-child){margin-top:auto}._2obqyp3x:last-child{margin-top:auto}._2obqyp3y:not(:last-child){margin-top:auto}._2obqyp3z:not(:first-child):not(:last-child){margin-top:auto}._180f0od0,._180f0od1:first-child{padding-bottom:.25rem}._180f0od2:not(:first-child){padding-bottom:.25rem}._180f0od3:last-child{padding-bottom:.25rem}._180f0od4:not(:last-child){padding-bottom:.25rem}._180f0od5:not(:first-child):not(:last-child){padding-bottom:.25rem}._180f0od6,._180f0od7:first-child{padding-bottom:.5rem}._180f0od8:not(:first-child){padding-bottom:.5rem}._180f0od9:last-child{padding-bottom:.5rem}._180f0oda:not(:last-child){padding-bottom:.5rem}._180f0odb:not(:first-child):not(:last-child){padding-bottom:.5rem}._180f0odc,._180f0odd:first-child{padding-bottom:1rem}._180f0ode:not(:first-child){padding-bottom:1rem}._180f0odf:last-child{padding-bottom:1rem}._180f0odg:not(:last-child){padding-bottom:1rem}._180f0odh:not(:first-child):not(:last-child){padding-bottom:1rem}._180f0odi,._180f0odj:first-child{padding-bottom:2rem}._180f0odk:not(:first-child){padding-bottom:2rem}._180f0odl:last-child{padding-bottom:2rem}._180f0odm:not(:last-child){padding-bottom:2rem}._180f0odn:not(:first-child):not(:last-child){padding-bottom:2rem}._180f0odo,._180f0odp:first-child{padding-bottom:0}._180f0odq:not(:first-child){padding-bottom:0}._180f0odr:last-child{padding-bottom:0}._180f0ods:not(:last-child){padding-bottom:0}._180f0odt:not(:first-child):not(:last-child){padding-bottom:0}._180f0odu,._180f0odv:first-child{padding-bottom:auto}._180f0odw:not(:first-child){padding-bottom:auto}._180f0odx:last-child{padding-bottom:auto}._180f0ody:not(:last-child){padding-bottom:auto}._180f0odz:not(:first-child):not(:last-child){padding-bottom:auto}._180f0od10,._180f0od11:first-child{padding-left:.25rem}._180f0od12:not(:first-child){padding-left:.25rem}._180f0od13:last-child{padding-left:.25rem}._180f0od14:not(:last-child){padding-left:.25rem}._180f0od15:not(:first-child):not(:last-child){padding-left:.25rem}._180f0od16,._180f0od17:first-child{padding-left:.5rem}._180f0od18:not(:first-child){padding-left:.5rem}._180f0od19:last-child{padding-left:.5rem}._180f0od1a:not(:last-child){padding-left:.5rem}._180f0od1b:not(:first-child):not(:last-child){padding-left:.5rem}._180f0od1c,._180f0od1d:first-child{padding-left:1rem}._180f0od1e:not(:first-child){padding-left:1rem}._180f0od1f:last-child{padding-left:1rem}._180f0od1g:not(:last-child){padding-left:1rem}._180f0od1h:not(:first-child):not(:last-child){padding-left:1rem}._180f0od1i,._180f0od1j:first-child{padding-left:2rem}._180f0od1k:not(:first-child){padding-left:2rem}._180f0od1l:last-child{padding-left:2rem}._180f0od1m:not(:last-child){padding-left:2rem}._180f0od1n:not(:first-child):not(:last-child){padding-left:2rem}._180f0od1o,._180f0od1p:first-child{padding-left:0}._180f0od1q:not(:first-child){padding-left:0}._180f0od1r:last-child{padding-left:0}._180f0od1s:not(:last-child){padding-left:0}._180f0od1t:not(:first-child):not(:last-child){padding-left:0}._180f0od1u,._180f0od1v:first-child{padding-left:auto}._180f0od1w:not(:first-child){padding-left:auto}._180f0od1x:last-child{padding-left:auto}._180f0od1y:not(:last-child){padding-left:auto}._180f0od1z:not(:first-child):not(:last-child){padding-left:auto}._180f0od20,._180f0od21:first-child{padding-right:.25rem}._180f0od22:not(:first-child){padding-right:.25rem}._180f0od23:last-child{padding-right:.25rem}._180f0od24:not(:last-child){padding-right:.25rem}._180f0od25:not(:first-child):not(:last-child){padding-right:.25rem}._180f0od26,._180f0od27:first-child{padding-right:.5rem}._180f0od28:not(:first-child){padding-right:.5rem}._180f0od29:last-child{padding-right:.5rem}._180f0od2a:not(:last-child){padding-right:.5rem}._180f0od2b:not(:first-child):not(:last-child){padding-right:.5rem}._180f0od2c,._180f0od2d:first-child{padding-right:1rem}._180f0od2e:not(:first-child){padding-right:1rem}._180f0od2f:last-child{padding-right:1rem}._180f0od2g:not(:last-child){padding-right:1rem}._180f0od2h:not(:first-child):not(:last-child){padding-right:1rem}._180f0od2i,._180f0od2j:first-child{padding-right:2rem}._180f0od2k:not(:first-child){padding-right:2rem}._180f0od2l:last-child{padding-right:2rem}._180f0od2m:not(:last-child){padding-right:2rem}._180f0od2n:not(:first-child):not(:last-child){padding-right:2rem}._180f0od2o,._180f0od2p:first-child{padding-right:0}._180f0od2q:not(:first-child){padding-right:0}._180f0od2r:last-child{padding-right:0}._180f0od2s:not(:last-child){padding-right:0}._180f0od2t:not(:first-child):not(:last-child){padding-right:0}._180f0od2u,._180f0od2v:first-child{padding-right:auto}._180f0od2w:not(:first-child){padding-right:auto}._180f0od2x:last-child{padding-right:auto}._180f0od2y:not(:last-child){padding-right:auto}._180f0od2z:not(:first-child):not(:last-child){padding-right:auto}._180f0od30,._180f0od31:first-child{padding-top:.25rem}._180f0od32:not(:first-child){padding-top:.25rem}._180f0od33:last-child{padding-top:.25rem}._180f0od34:not(:last-child){padding-top:.25rem}._180f0od35:not(:first-child):not(:last-child){padding-top:.25rem}._180f0od36,._180f0od37:first-child{padding-top:.5rem}._180f0od38:not(:first-child){padding-top:.5rem}._180f0od39:last-child{padding-top:.5rem}._180f0od3a:not(:last-child){padding-top:.5rem}._180f0od3b:not(:first-child):not(:last-child){padding-top:.5rem}._180f0od3c,._180f0od3d:first-child{padding-top:1rem}._180f0od3e:not(:first-child){padding-top:1rem}._180f0od3f:last-child{padding-top:1rem}._180f0od3g:not(:last-child){padding-top:1rem}._180f0od3h:not(:first-child):not(:last-child){padding-top:1rem}._180f0od3i,._180f0od3j:first-child{padding-top:2rem}._180f0od3k:not(:first-child){padding-top:2rem}._180f0od3l:last-child{padding-top:2rem}._180f0od3m:not(:last-child){padding-top:2rem}._180f0od3n:not(:first-child):not(:last-child){padding-top:2rem}._180f0od3o,._180f0od3p:first-child{padding-top:0}._180f0od3q:not(:first-child){padding-top:0}._180f0od3r:last-child{padding-top:0}._180f0od3s:not(:last-child){padding-top:0}._180f0od3t:not(:first-child):not(:last-child){padding-top:0}._180f0od3u,._180f0od3v:first-child{padding-top:auto}._180f0od3w:not(:first-child){padding-top:auto}._180f0od3x:last-child{padding-top:auto}._180f0od3y:not(:last-child){padding-top:auto}._180f0od3z:not(:first-child):not(:last-child){padding-top:auto}._1dkuq2z0{font-size:.75rem}._1dkuq2z1{font-size:.875rem}._1dkuq2z2{font-size:.75rem}._1dkuq2z3{font-size:1rem}._1dkuq2z4{font-size:1.125rem}._1dkuq2z5{font-size:1.25rem}._1dkuq2z6{font-size:1.5rem}._1dkuq2z7{font-weight:400}._1dkuq2z8{font-weight:600}._1dkuq2z9{line-height:1.125rem}._1dkuq2za{line-height:1.25rem}._1dkuq2zb{line-height:.875rem}._1dkuq2zc{line-height:1rem}._1dkuq2zd{line-height:1.125rem}._1dkuq2ze{line-height:1.25rem}._1dkuq2zf{line-height:1.5rem}._1gri89mw{border-style:solid}.mvou5q0{display:grid;gap:1rem;grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr}.mvou5q1{grid-column:span 1}.mvou5q2{grid-column:span 2}.mvou5q3{grid-column:span 3}.mvou5q4{grid-column:span 4}.mvou5q5{grid-column:span 5}.mvou5q6{grid-column:span 6}.mvou5q7{grid-column:span 7}.mvou5q8{grid-column:span 8}.mvou5q9{grid-column:span 9}.mvou5qa{grid-column:span 10}.mvou5qb{grid-column:span 11}.mvou5qc{grid-column:span 12}.g5vsg0{margin:3.75rem auto 3.125rem;max-width:77.5rem;min-width:0;padding:1.25rem}.g5vsg1{max-width:100%}.w9p2pg0{display:flex;font-size:.75rem;line-height:1.875rem;padding:.5rem}.w9p2pg1{align-items:center;display:flex;flex:1;padding-left:.5rem}.o0pwg0{height:100%;padding:1rem}.o0pwg0 p:last-child{margin-bottom:0}.o0pwg0>section{display:flex;flex-wrap:wrap;margin-top:0;margin-right:-1rem;margin-bottom:0;margin-left:-1rem;padding:1rem}.o0pwg0>section:first-child{margin-top:-1rem}.o0pwg0>section:last-child{margin-bottom:-1rem}.o0pwg0>section+section{border-top-style:solid;border-top-width:.0625rem;border-top-color:#d2d4d4}.o0pwg0>section>section{flex:1;margin-top:-1rem;margin-right:0;margin-bottom:-1rem;margin-left:0;padding:1rem}.o0pwg0>section>section:first-child{margin-left:-1rem}.o0pwg0>section>section:last-child{margin-right:-1rem}.o0pwg0>section>section+section{border-left-style:solid;border-left-width:.0625rem;border-left-color:#d2d4d4}._6qnc0v0:before{content:"\e900"}._6qnc0v1:before{content:"\e901"}._6qnc0v2:before{content:"\e902"}._6qnc0v3:before{content:"\e903"}._6qnc0v4:before{content:"\e904"}._6qnc0v5:before{content:"\e905"}._6qnc0v6:before{content:"\e906"}._6qnc0v7:before{content:"\e907"}._6qnc0v8:before{content:"\e908"}._6qnc0v9:before{content:"\e909"}._6qnc0va:before{content:"\e90a"}._6qnc0vb:before{content:"\e90b"}._6qnc0vc:before{content:"\e90c"}._6qnc0vd:before{content:"\e90d"}._6qnc0ve:before{content:"\e90e"}._6qnc0vf:before{content:"\e90f"}._6qnc0vg:before{content:"\e910"}._6qnc0vh:before{content:"\e911"}._6qnc0vi:before{content:"\e912"}._6qnc0vj:before{content:"\e913"}._6qnc0vk:before{content:"\e914"}._6qnc0vl:before{content:"\e915"}._6qnc0vm:before{content:"\e916"}._6qnc0vn:before{content:"\e917"}._6qnc0vo:before{content:"\e918"}._6qnc0vp:before{content:"\e919"}._6qnc0vq:before{content:"\e91a"}._6qnc0vr:before{content:"\e91b"}._6qnc0vs:before{content:"\e91c"}._6qnc0vt:before{content:"\e91d"}._6qnc0vu:before{content:"\e91e"}._6qnc0vv:before{content:"\e91f"}._6qnc0vw:before{content:"\e920"}._6qnc0vx:before{content:"\e921"}._6qnc0vy:before{content:"\e922"}._6qnc0vz:before{content:"\e923"}._6qnc0v10:before{content:"\e924"}._6qnc0v11:before{content:"\e925"}._6qnc0v12:before{content:"\e926"}._6qnc0v13:before{content:"\e927"}._6qnc0v14:before{content:"\e928"}._6qnc0v15:before{content:"\e929"}._6qnc0v16:before{content:"\e92a"}._6qnc0v17:before{content:"\e92b"}._6qnc0v18:before{content:"\e92c"}._6qnc0v19:before{content:"\e92d"}._6qnc0v1a:before{content:"\e92e"}._6qnc0v1b:before{content:"\e92f"}._6qnc0v1c:before{content:"\e930"}._6qnc0v1d:before{content:"\e931"}._6qnc0v1e:before{content:"\e932"}._6qnc0v1f:before{content:"\e933"}._6qnc0v1g:before{content:"\e934"}._6qnc0v1h:before{content:"\e935"}._6qnc0v1i:before{content:"\e936"}._6qnc0v1j:before{content:"\e937"}._6qnc0v1k:before{content:"\e938"}._6qnc0v1l:before{content:"\e939"}._6qnc0v1m:before{content:"\e93a"}._6qnc0v1n:before{content:"\e93b"}._6qnc0v1o:before{content:"\e93c"}._6qnc0v1p:before{content:"\e93d"}._6qnc0v1q:before{content:"\e93e"}._6qnc0v1r:before{content:"\e93f"}._6qnc0v1s:before{content:"\e940"}._6qnc0v1t:before{content:"\e941"}._6qnc0v1u:before{content:"\e942"}._6qnc0v1v:before{content:"\e943"}._6qnc0v1w:before{content:"\e944"}._6qnc0v1x:before{content:"\e945"}._6qnc0v1y:before{content:"\e946"}._6qnc0v1z:before{content:"\e947"}._6qnc0v20:before{content:"\e948"}._6qnc0v21:before{content:"\e949"}._6qnc0v22:before{content:"\e94a"}._6qnc0v23:before{content:"\e94b"}._6qnc0v24:before{content:"\e94c"}._6qnc0v25:before{content:"\e94d"}._6qnc0v26:before{content:"\e94e"}._6qnc0v27:before{content:"\e94f"}._6qnc0v28:before{content:"\e950"}._6qnc0v29:before{content:"\e951"}._6qnc0v2a:before{content:"\e952"}._6qnc0v2b:before{content:"\e953"}._6qnc0v2c:before{content:"\e954"}._6qnc0v2d:before{content:"\e955"}._6qnc0v2e:before{content:"\e956"}._6qnc0v2f:before{content:"\e957"}._6qnc0v2g:before{content:"\e958"}._6qnc0v2h:before{content:"\e959"}._6qnc0v2i:before{content:"\e95a"}._6qnc0v2j:before{content:"\e95b"}._6qnc0v2k:before{content:"\e95c"}._6qnc0v2l:before{content:"\e95d"}._6qnc0v2m:before{content:"\e95e"}._6qnc0v2n:before{content:"\e95f"}._6qnc0v2o:before{content:"\e960"}._6qnc0v2p:before{content:"\e961"}._6qnc0v2q:before{content:"\e962"}._6qnc0v2r:before{content:"\e963"}._6qnc0v2s:before{content:"\e964"}._6qnc0v2t:before{content:"\e965"}._6qnc0v2u:before{content:"\e966"}._6qnc0v2v:before{content:"\e967"}._6qnc0v2w:before{content:"\e968"}._6qnc0v2x:before{content:"\e969"}._6qnc0v2y:before{content:"\e96a"}._6qnc0v2z:before{content:"\e96b"}._6qnc0v30:before{content:"\e96c"}._6qnc0v31:before{content:"\e96d"}._6qnc0v32:before{content:"\e96e"}._6qnc0v33:before{content:"\e96f"}._6qnc0v34:before{content:"\e970"}._6qnc0v35:before{content:"\e971"}._6qnc0v36:before{content:"\e972"}._6qnc0v37:before{content:"\e973"}._6qnc0v38:before{content:"\e974"}._6qnc0v39:before{content:"\e975"}._6qnc0v3a:before{content:"\e976"}._6qnc0v3b:before{content:"\e977"}._6qnc0v3c:before{content:"\e978"}._6qnc0v3d:before{content:"\e979"}._6qnc0v3e:before{content:"\e97a"}._6qnc0v3f:before{content:"\e97b"}._6qnc0v3g:before{content:"\e97c"}._6qnc0v3h:before{content:"\e97d"}._6qnc0v3i:before{content:"\e97e"}._6qnc0v3j:before{content:"\e97f"}._6qnc0v3k:before{content:"\e980"}._6qnc0v3l:before{content:"\e981"}._6qnc0v3m:before{content:"\e982"}._6qnc0v3n:before{content:"\e983"}._6qnc0v3o:before{content:"\e984"}._6qnc0v3p:before{content:"\e985"}._6qnc0v3q:before{content:"\e986"}._6qnc0v3r:before{content:"\e987"}._6qnc0v3s:before{content:"\e988"}._6qnc0v3t:before{content:"\e989"}._6qnc0v3u:before{content:"\e98b"}._6qnc0v3v:before{content:"\e98c"}._6qnc0v3w:before{content:"\e98d"}._6qnc0v3x:before{content:"\e98e"}._6qnc0v3y:before{content:"\e98f"}._6qnc0v3z:before{content:"\e990"}._6qnc0v40:before{content:"\e991"}._6qnc0v41:before{content:"\e992"}._6qnc0v42:before{content:"\e993"}._6qnc0v43:before{content:"\e994"}._6qnc0v44:before{content:"\e995"}._6qnc0v45:before{content:"\e996"}._6qnc0v46:before{content:"\e997"}._6qnc0v47:before{content:"\e998"}._6qnc0v48:before{content:"\e999"}._6qnc0v49:before{content:"\e99a"}._6qnc0v4a:before{content:"\e99b"}._6qnc0v4b:before{content:"\e99c"}._6qnc0v4c:before{content:"\e99d"}._6qnc0v4d:before{content:"\e99e"}._6qnc0v4e:before{content:"\e99f"}._6qnc0v4f:before{content:"\e9a0"}._6qnc0v4g:before{content:"\e9a1"}._6qnc0v4h:before{content:"\e9a2"}._6qnc0v4i:before{content:"\e9a3"}._6qnc0v4j:before{content:"\e9a4"}._6qnc0v4k:before{content:"\e97f"}._6qnc0v4l:before{content:"\e980"}._6qnc0v4m:before{content:"\e981"}._6qnc0v4n:before{content:"\e982"}._6qnc0v4o:before{content:"\e983"}._6qnc0v4p:before{content:"\e984"}._6qnc0v4q:before{content:"\e985"}._6qnc0v4r:before{content:"\e986"}._6qnc0v4s:before{content:"\e987"}._6qnc0v4t:before{content:"\e988"}._6qnc0v4u:before{content:"\e989"}._6qnc0v4v:before{content:"\e98b"}._6qnc0v4w:before{content:"\e98b"}._6qnc0v4x:before{content:"\e98c"}._6qnc0v4y:before{content:"\e98d"}._6qnc0v4z{font-size:.75rem}._6qnc0v50{font-size:.875rem}._6qnc0v51{font-size:1rem}._6qnc0v52{font-size:1.25rem}._6qnc0v53{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:SPS-Icons;font-style:normal;font-variant:normal;font-weight:400;line-height:1;text-transform:none}@keyframes _9gd2pg0{0%{transform:rotate(0)}to{transform:rotate(360deg)}}._9gd2pg1{display:flex}._9gd2pg2{animation:_9gd2pg0 .75s infinite linear;border-radius:50%;border-style:solid;border-top-color:#91467f;border-right-color:#91467f;border-left-color:#91467f;border-bottom-color:#f4ecf2;margin:auto}._9gd2pg3{border-width:.125rem;height:1.125rem;width:1.125rem}._9gd2pg4{border-width:.25rem;height:2.25rem;width:2.25rem}._9gd2pg5{border-width:.5rem;height:4.5rem;width:4.5rem}@media (prefers-reduced-motion){._9gd2pg2{animation:none}}._17ntd80{background-color:#d2d4d4;display:inline-block;height:2rem;margin-left:.25rem;margin-right:.25rem;vertical-align:middle;width:.0625rem}
@@ -0,0 +1,12 @@
1
+ export declare enum SortDirection {
2
+ ASCENDING = "ascending",
3
+ DESCENDING = "descending"
4
+ }
5
+ export interface SortedColumn {
6
+ key: string;
7
+ direction: SortDirection;
8
+ }
9
+ export declare type SortChangeHandler = (newSort: SortedColumn[]) => void;
10
+ export declare type ResizeState = Record<string, number>;
11
+ export declare type ResizeStateChangeHandler = (newResizeState: ResizeState) => void;
12
+ export declare type SpsTableCellWrapWidth = 200 | 300 | 400 | 500 | 600;
@@ -0,0 +1,4 @@
1
+ import type { PropsWithChildren, HTMLAttributes } from "react";
2
+ export declare type ComponentProps<T, K extends HTMLElement = HTMLElement> = PropsWithChildren<T & {
3
+ "data-testid"?: string;
4
+ }> & Omit<HTMLAttributes<K>, keyof T>;
@@ -0,0 +1,23 @@
1
+ import * as React from "react";
2
+ import type { ComponentProps } from "./ComponentProps";
3
+ /**
4
+ * This is the use case for Nested: wrapping JSX in a flat list of
5
+ * multiple React context providers instead of creating a pyramid of doom.
6
+ *
7
+ * bindProps (see bindProps.tsx in this same directory) was
8
+ * created to be used with this, so you can set props on the
9
+ * providers, including and especially `value` on the built-in
10
+ * context object's `.Provider` component.
11
+ *
12
+ * <Provide providers={[
13
+ * ProplessProviderFromALibrary,
14
+ * bindProps(MyReallyUsefulContext.Provider, { value: "foo" }),
15
+ * // ...etc
16
+ * ]}>
17
+ * (component tree that will have access to context from these providers)
18
+ * </Provide>
19
+ */
20
+ export declare type ProvideProps = ComponentProps<{
21
+ providers?: React.ElementType[];
22
+ }, HTMLDivElement>;
23
+ export declare function Provide({ children, providers, ...rest }: ProvideProps): React.ReactElement;
@@ -0,0 +1,6 @@
1
+ import type { ComplexStyleRule } from "@vanilla-extract/css";
2
+ export declare type RecipeVariant<T extends string> = {
3
+ [K in T]: ComplexStyleRule | string;
4
+ };
5
+ export declare type BooleanRecipeVariant = RecipeVariant<"true" | "false">;
6
+ export declare type VariantDefinitions = Record<string, RecipeVariant<any>>;
@@ -0,0 +1,2 @@
1
+ import type { FunctionComponentElement } from "react";
2
+ export declare function addClassName<P>(node: FunctionComponentElement<P>, newClassName: string): FunctionComponentElement<P>;
@@ -0,0 +1,2 @@
1
+ import type { FunctionComponentElement } from "react";
2
+ export declare function addProps<P>(node: FunctionComponentElement<P>, newProps: Partial<Parameters<typeof node.type>[0]>): FunctionComponentElement<P>;
@@ -0,0 +1,33 @@
1
+ import * as React from "react";
2
+ /**
3
+ * takes in an ElementType (e.g. a React component) and
4
+ * returns a new version of that component where certain
5
+ * props are ALWAYS set to predefined values.
6
+ *
7
+ * for example, consider the following component:
8
+ * const Foo: React.FC<{
9
+ * a: string;
10
+ * b: string;
11
+ * }> = function ({ a, b }) {
12
+ * return (
13
+ * <span>
14
+ * a is {a} and b is {b}
15
+ * </span>
16
+ * );
17
+ * };
18
+ *
19
+ * <Foo a="dog" b="cat"/> would produce <span>a is dog and b is cat</span>
20
+ *
21
+ * But if you bind the prop a...
22
+ * const FooWithBoundA = bindProps(Foo, { a: "parakeet" });
23
+ *
24
+ * then <FooWithBoundA b="cat"/> will produce <span>a is parakeet and b is cat</span>
25
+ *
26
+ * The type of the props is the same, except that prop a is pre-set and so no
27
+ * longer something that can be passed in.
28
+ *
29
+ * This was created to be used with <Provide> (see Provide.tsx in this same directory),
30
+ * but may have other use cases.
31
+ */
32
+ export declare type BoundFC<T extends React.ElementType, K extends Partial<React.ComponentProps<T>>> = React.FC<Omit<React.ComponentProps<T>, keyof K>>;
33
+ export declare function bindProps<T extends React.ElementType, K extends Partial<React.ComponentProps<T>>>(E: T, boundProps: K, deps?: unknown[]): BoundFC<T, K>;
@@ -0,0 +1 @@
1
+ export declare function cl(...args: unknown[]): string;
@@ -0,0 +1,2 @@
1
+ import type { ReactNode } from "react";
2
+ export declare function contentOf(nodeOrRenderFn: ReactNode | (() => ReactNode)): ReactNode;
@@ -0,0 +1,4 @@
1
+ import type { ReactNode, FunctionComponentElement } from "react";
2
+ declare type ElementModifier<P = any> = (node: FunctionComponentElement<P>, children: ReactNode[]) => [Partial<P>?, ReactNode[]?];
3
+ export declare function modChildren(node: ReactNode | ReactNode[], modifier: ElementModifier, recurse?: boolean): ReactNode;
4
+ export {};
@@ -0,0 +1,8 @@
1
+ import type { ReactNode, ReactElement, FunctionComponentElement } from "react";
2
+ export interface ISelectChildrenGroup {
3
+ type?: any;
4
+ props?: Record<string, any>;
5
+ custom?: (child: any) => boolean;
6
+ }
7
+ export declare type Children<T extends (props: any, ...args: any[]) => ReactElement> = Array<FunctionComponentElement<Parameters<T>[0]>>;
8
+ export declare function selectChildren<T extends ReactNode[][]>(children?: any, groups?: Array<ISelectChildrenGroup | ISelectChildrenGroup[]>): T;
@@ -0,0 +1,4 @@
1
+ import type { ComponentProps } from "./ComponentProps";
2
+ export declare function useChildTestIdAttrBuilder<T>(props: Partial<ComponentProps<T>>): (subId: string) => {
3
+ "data-testid"?: string;
4
+ };
@@ -0,0 +1,2 @@
1
+ import type { Dispatch } from "react";
2
+ export declare function usePatchReducer<T>(initState: T): [T, Dispatch<Partial<T>>];
@@ -0,0 +1,6 @@
1
+ import type { ReactNode, ReactPortal, RefObject } from "react";
2
+ export declare const PortalContext: import("react").Context<{
3
+ parentElementRef?: RefObject<HTMLElement | null> | undefined;
4
+ fixed?: boolean | undefined;
5
+ } | null>;
6
+ export declare function usePortal(id: string, classes?: string[]): (jsx: ReactNode) => ReactPortal;
package/package.json ADDED
@@ -0,0 +1,40 @@
1
+ {
2
+ "name": "@sps-woodland/core",
3
+ "description": "SPS Woodland Design System core library code",
4
+ "version": "7.0.0",
5
+ "author": "SPS Commerce",
6
+ "license": "UNLICENSED",
7
+ "repository": "https://github.com/SPSCommerce/woodland/tree/main/packages/@sps-woodland/core",
8
+ "homepage": "https://github.com/SPSCommerce/woodland/tree/master/packages/@sps-woodland/core#readme",
9
+ "main": "./lib/index.es.js",
10
+ "module": "./lib/index.es.js",
11
+ "types": "./lib/index.d.ts",
12
+ "publishConfig": {
13
+ "access": "public"
14
+ },
15
+ "peerDependencies": {
16
+ "@spscommerce/utils": "^6.12.1",
17
+ "@sps-woodland/tokens": "7.0.0",
18
+ "react": "^16.9.0",
19
+ "react-dom": "^16.9.0"
20
+ },
21
+ "devDependencies": {
22
+ "@spscommerce/utils": "^6.12.1",
23
+ "@vanilla-extract/css": "^1.9.1",
24
+ "@vanilla-extract/recipes": "^0.2.5",
25
+ "@sps-woodland/tokens": "7.0.0",
26
+ "react": "^16.9.0",
27
+ "react-dom": "^16.9.0"
28
+ },
29
+ "dependencies": {
30
+ "nanoid": "^3.3.4"
31
+ },
32
+ "scripts": {
33
+ "build": "pnpm run build:js && pnpm run build:types",
34
+ "build:js": "vite build",
35
+ "build:types": "tsc --emitDeclarationOnly --declaration --declarationDir lib",
36
+ "watch": "vite build --watch",
37
+ "clean": "git clean -fdX",
38
+ "pub": "node ../../../scripts/publish-package.js"
39
+ }
40
+ }
package/vite.config.js ADDED
@@ -0,0 +1,21 @@
1
+ import path from "path";
2
+ import { vanillaExtractPlugin } from "@vanilla-extract/vite-plugin";
3
+ import { defineConfig } from "vite";
4
+
5
+ import pkg from "./package.json";
6
+
7
+ export default defineConfig({
8
+ plugins: [vanillaExtractPlugin()],
9
+ build: {
10
+ lib: {
11
+ entry: path.resolve(__dirname, "src/index.ts"),
12
+ formats: ["es", "cjs"],
13
+ fileName: (format) => `index.${format}.js`,
14
+ },
15
+ outDir: path.resolve(__dirname, "./lib"),
16
+ emptyOutDir: false,
17
+ rollupOptions: {
18
+ external: pkg.peerDependencies ? Object.keys(pkg.peerDependencies) : [],
19
+ },
20
+ },
21
+ });