@lifesg/react-design-system 3.5.0-canary.7 → 3.5.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.
- package/_virtual/_tslib.js +1 -1
- package/accordion/accordion-item.js +1 -1
- package/accordion/accordion-item.js.map +1 -1
- package/accordion/types.d.ts +7 -0
- package/button/button.style.js +20 -19
- package/button/button.style.js.map +1 -1
- package/cjs/_virtual/_tslib.js +1 -1
- package/cjs/accordion/accordion-item.js +1 -1
- package/cjs/accordion/accordion-item.js.map +1 -1
- package/cjs/button/button.style.js +3 -2
- package/cjs/button/button.style.js.map +1 -1
- package/cjs/external/@govtechsg/sgds-web-component/base/sgds-element.js +2 -0
- package/cjs/external/@govtechsg/sgds-web-component/base/sgds-element.js.map +1 -0
- package/cjs/external/@govtechsg/sgds-web-component/base/sgds-element2.js +2 -0
- package/cjs/external/@govtechsg/sgds-web-component/base/sgds-element2.js.map +1 -0
- package/cjs/external/@govtechsg/sgds-web-component/components/Masthead/index.js +2 -0
- package/cjs/external/@govtechsg/sgds-web-component/components/Masthead/index.js.map +1 -0
- package/cjs/external/@govtechsg/sgds-web-component/components/Masthead/masthead.js +2 -0
- package/cjs/external/@govtechsg/sgds-web-component/components/Masthead/masthead.js.map +1 -0
- package/cjs/external/@govtechsg/sgds-web-component/components/Masthead/sgds-masthead.js +154 -0
- package/cjs/external/@govtechsg/sgds-web-component/components/Masthead/sgds-masthead.js.map +1 -0
- package/cjs/external/@govtechsg/sgds-web-component/styles/anchor.js +2 -0
- package/cjs/external/@govtechsg/sgds-web-component/styles/anchor.js.map +1 -0
- package/cjs/external/@govtechsg/sgds-web-component/styles/svg.js +2 -0
- package/cjs/external/@govtechsg/sgds-web-component/styles/svg.js.map +1 -0
- package/cjs/external/@govtechsg/sgds-web-component/themes/day.css.js +1 -1
- package/cjs/external/@govtechsg/sgds-web-component/themes/night.css.js +1 -1
- package/cjs/external/@govtechsg/sgds-web-component/utils/ce-registry.js +2 -0
- package/cjs/external/@govtechsg/sgds-web-component/utils/ce-registry.js.map +1 -0
- package/cjs/external/@lit/reactive-element/css-tag.js +7 -0
- package/cjs/external/@lit/reactive-element/css-tag.js.map +1 -0
- package/cjs/external/@lit/reactive-element/decorators/property.js +7 -0
- package/cjs/external/@lit/reactive-element/decorators/property.js.map +1 -0
- package/cjs/external/@lit/reactive-element/decorators/state.js +7 -0
- package/cjs/external/@lit/reactive-element/decorators/state.js.map +1 -0
- package/cjs/external/@lit/reactive-element/reactive-element.js +7 -0
- package/cjs/external/@lit/reactive-element/reactive-element.js.map +1 -0
- package/cjs/external/lit-element/lit-element.js +8 -0
- package/cjs/external/lit-element/lit-element.js.map +1 -0
- package/cjs/external/lit-html/lit-html.js +7 -0
- package/cjs/external/lit-html/lit-html.js.map +1 -0
- package/cjs/file-download/file-download.js +1 -1
- package/cjs/file-download/file-download.js.map +1 -1
- package/cjs/file-download/file-list-card/file-list-card.js +1 -1
- package/cjs/file-download/file-list-card/file-list-card.js.map +1 -1
- package/cjs/file-download/file-list-card/file-list-card.styles.js +75 -59
- package/cjs/file-download/file-list-card/file-list-card.styles.js.map +1 -1
- package/cjs/file-upload/helper.js +1 -1
- package/cjs/file-upload/helper.js.map +1 -1
- package/cjs/fullscreen-image-carousel/fullscreen-image-carousel.js +1 -1
- package/cjs/fullscreen-image-carousel/fullscreen-image-carousel.js.map +1 -1
- package/cjs/fullscreen-image-carousel/fullscreen-image-carousel.style.js +19 -19
- package/cjs/fullscreen-image-carousel/fullscreen-image-carousel.style.js.map +1 -1
- package/cjs/masthead/masthead.js +1 -1
- package/cjs/masthead/masthead.js.map +1 -1
- package/cjs/navbar/menu.js +1 -1
- package/cjs/navbar/menu.js.map +1 -1
- package/cjs/navbar/menu.styles.js +1 -1
- package/cjs/navbar/menu.styles.js.map +1 -1
- package/cjs/navbar/navbar-items.js +1 -1
- package/cjs/navbar/navbar-items.js.map +1 -1
- package/cjs/navbar/navbar-items.styles.js +20 -21
- package/cjs/navbar/navbar-items.styles.js.map +1 -1
- package/cjs/notification-banner/notification-banner-hoc.js +1 -1
- package/cjs/notification-banner/notification-banner-hoc.js.map +1 -1
- package/codemods/run-codemod.js +10 -3
- package/codemods/run-codemod.js.map +1 -1
- package/codemods/run-codemod.ts +12 -4
- package/external/@govtechsg/sgds-web-component/base/sgds-element.js +2 -0
- package/external/@govtechsg/sgds-web-component/base/sgds-element.js.map +1 -0
- package/external/@govtechsg/sgds-web-component/base/sgds-element2.js +2 -0
- package/external/@govtechsg/sgds-web-component/base/sgds-element2.js.map +1 -0
- package/external/@govtechsg/sgds-web-component/components/Masthead/index.js +2 -0
- package/external/@govtechsg/sgds-web-component/components/Masthead/index.js.map +1 -0
- package/external/@govtechsg/sgds-web-component/components/Masthead/masthead.js +2 -0
- package/external/@govtechsg/sgds-web-component/components/Masthead/masthead.js.map +1 -0
- package/external/@govtechsg/sgds-web-component/components/Masthead/sgds-masthead.js +154 -0
- package/external/@govtechsg/sgds-web-component/components/Masthead/sgds-masthead.js.map +1 -0
- package/external/@govtechsg/sgds-web-component/styles/anchor.js +2 -0
- package/external/@govtechsg/sgds-web-component/styles/anchor.js.map +1 -0
- package/external/@govtechsg/sgds-web-component/styles/svg.js +2 -0
- package/external/@govtechsg/sgds-web-component/styles/svg.js.map +1 -0
- package/external/@govtechsg/sgds-web-component/themes/day.css.js +1 -1
- package/external/@govtechsg/sgds-web-component/themes/night.css.js +1 -1
- package/external/@govtechsg/sgds-web-component/utils/ce-registry.js +2 -0
- package/external/@govtechsg/sgds-web-component/utils/ce-registry.js.map +1 -0
- package/external/@lit/reactive-element/css-tag.js +7 -0
- package/external/@lit/reactive-element/css-tag.js.map +1 -0
- package/external/@lit/reactive-element/decorators/property.js +7 -0
- package/external/@lit/reactive-element/decorators/property.js.map +1 -0
- package/external/@lit/reactive-element/decorators/state.js +7 -0
- package/external/@lit/reactive-element/decorators/state.js.map +1 -0
- package/external/@lit/reactive-element/reactive-element.js +7 -0
- package/external/@lit/reactive-element/reactive-element.js.map +1 -0
- package/external/lit-element/lit-element.js +7 -0
- package/external/lit-element/lit-element.js.map +1 -0
- package/external/lit-html/lit-html.js +7 -0
- package/external/lit-html/lit-html.js.map +1 -0
- package/file-download/file-download.d.ts +1 -1
- package/file-download/file-download.js +1 -1
- package/file-download/file-download.js.map +1 -1
- package/file-download/file-list-card/file-list-card.d.ts +1 -1
- package/file-download/file-list-card/file-list-card.js +1 -1
- package/file-download/file-list-card/file-list-card.js.map +1 -1
- package/file-download/file-list-card/file-list-card.styles.d.ts +8 -0
- package/file-download/file-list-card/file-list-card.styles.js +53 -37
- package/file-download/file-list-card/file-list-card.styles.js.map +1 -1
- package/file-download/file-list-card/types.d.ts +2 -1
- package/file-download/types.d.ts +7 -0
- package/file-upload/helper.d.ts +30 -0
- package/file-upload/helper.js +1 -1
- package/file-upload/helper.js.map +1 -1
- package/fullscreen-image-carousel/fullscreen-image-carousel.d.ts +1 -1
- package/fullscreen-image-carousel/fullscreen-image-carousel.js +1 -1
- package/fullscreen-image-carousel/fullscreen-image-carousel.js.map +1 -1
- package/fullscreen-image-carousel/fullscreen-image-carousel.style.d.ts +7 -0
- package/fullscreen-image-carousel/fullscreen-image-carousel.style.js +21 -21
- package/fullscreen-image-carousel/fullscreen-image-carousel.style.js.map +1 -1
- package/fullscreen-image-carousel/types.d.ts +16 -0
- package/masthead/masthead.js +1 -1
- package/masthead/masthead.js.map +1 -1
- package/navbar/menu.d.ts +2 -1
- package/navbar/menu.js +1 -1
- package/navbar/menu.js.map +1 -1
- package/navbar/menu.styles.js +3 -3
- package/navbar/menu.styles.js.map +1 -1
- package/navbar/navbar-items.js +1 -1
- package/navbar/navbar-items.js.map +1 -1
- package/navbar/navbar-items.styles.js +30 -31
- package/navbar/navbar-items.styles.js.map +1 -1
- package/notification-banner/notification-banner-hoc.js +1 -1
- package/notification-banner/notification-banner-hoc.js.map +1 -1
- package/package.json +1 -1
package/_virtual/_tslib.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function
|
|
1
|
+
function e(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]])}return r}function t(e,t,r,n){var o,l=arguments.length,c=l<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)c=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(c=(l<3?o(c):l>3?o(t,r,c):o(t,r))||c);return l>3&&c&&Object.defineProperty(t,r,c),c}function r(e,t,r,n){return new(r||(r=Promise))((function(o,l){function c(e){try{i(n.next(e))}catch(e){l(e)}}function a(e){try{i(n.throw(e))}catch(e){l(e)}}function i(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(c,a)}i((n=n.apply(e,t||[])).next())}))}function n(e,t){var r,n,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},c=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return c.next=a(0),c.throw=a(1),c.return=a(2),"function"==typeof Symbol&&(c[Symbol.iterator]=function(){return this}),c;function a(a){return function(i){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;c&&(c=0,a[0]&&(l=0)),l;)try{if(r=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;switch(n=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return l.label++,{value:a[1],done:!1};case 5:l.label++,n=a[1],a=[0];continue;case 7:a=l.ops.pop(),l.trys.pop();continue;default:if(!(o=l.trys,(o=o.length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){l=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){l.label=a[1];break}if(6===a[0]&&l.label<o[1]){l.label=o[1],o=a;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(a);break}o[2]&&l.ops.pop(),l.trys.pop();continue}a=t.call(e,l)}catch(e){a=[6,e],n=0}finally{r=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,i])}}}function o(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,l=r.call(e),c=[];try{for(;(void 0===t||t-- >0)&&!(n=l.next()).done;)c.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=l.return)&&r.call(l)}finally{if(o)throw o.error}}return c}function l(e,t,r){if(r||2===arguments.length)for(var n,o=0,l=t.length;o<l;o++)!n&&o in t||(n||(n=Array.prototype.slice.call(t,0,o)),n[o]=t[o]);return e.concat(n||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError;export{r as __awaiter,t as __decorate,n as __generator,o as __read,e as __rest,l as __spreadArray};
|
|
2
2
|
//# sourceMappingURL=_tslib.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useSpring as i}from"@react-spring/web";import{forwardRef as
|
|
1
|
+
import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useSpring as i}from"@react-spring/web";import{forwardRef as n,useRef as a,useContext as l,useState as r,useImperativeHandle as d,useEffect as o}from"react";import{useResizeDetector as s}from"../external/react-resize-detector/build/index.esm.js";import{inertValue as c}from"../shared/accessibility/index.js";import"../util/calendar-helper.js";import"../util/date-helper.js";import"../util/date-input-helper.js";import{useId as p}from"../util/simple-id-generator.js";import"../util/string-helper.js";import"@react-aria/live-announcer";import{AccordionContext as m}from"./accordion-context.js";import{Container as u,ExpandCollapseButton as h,IconContainer as x,ChevronIcon as f,Expandable as g,ContentContainer as j,Title as $}from"./accordion-item.style.js";const b=n((function({title:n,children:b,type:v="default",collapsible:y=!0,className:C,id:D,expanded:E,onExpandChange:I,"data-testid":N="accordion-item"},S){var k;const w=a(null),{expandAll:z,itemHeadingLevel:A,onItemStateChange:H,itemState:L,onItemDeregister:O}=l(m),[q,B]=r(!1),F=p(),G=`${F}-content`,{height:J,ref:K}=s(),M=void 0!==I,P=M?!y||null!=E&&E:null!==(k=L[F])&&void 0!==k?k:!y||(null!=E?E:z);d(S,(()=>Object.assign(w.current,{expand(){M?null==I||I(!0):H(F,!0)},collapse(){M?null==I||I(!1):H(F,!1)},isExpanded:()=>P})),[P]),o((()=>(B(!0),()=>null==O?void 0:O(F))),[]),o((()=>{M&&H(F,!y||null!=E&&E)}),[E,y]),o((()=>{M||H(F,!y||(null!=E?E:z))}),[z,E,y]),o((()=>{if(!M||!q)return;const e=!y||z;e!==E&&(null==I||I(e))}),[z]);const Q=e=>{e.preventDefault(),M?null==I||I(!P):H(F,!P)},R={height:P?J:0},T=i(R);return e(u,{"data-testid":N,className:C,id:D,$expanded:P,ref:w,children:[t("h3",{"aria-level":A,children:e(h,{"data-testid":`${N}-expand-collapse-button`,onClick:y?Q:void 0,$expanded:P,$collapsible:y,"aria-controls":G,"aria-disabled":!y,"aria-expanded":P,children:["string"!=typeof n?n:t($,{"data-testid":`${N}-title`,$type:v,$isCollapsed:P,children:n}),y&&t(x,{"data-testid":`${N}-expand-collapse-icon`,$expanded:P,children:t(f,{})})]})}),t(g,{id:G,style:q?T:R,"data-testid":`${N}-expandable-container`,inert:c(!P),children:t(j,{ref:K,"data-testid":"content-container",children:b})})]})}));export{b as AccordionItem};
|
|
2
2
|
//# sourceMappingURL=accordion-item.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accordion-item.js","sources":["../../src/accordion/accordion-item.tsx"],"sourcesContent":["import { useSpring } from \"@react-spring/web\";\nimport React, {\n forwardRef,\n useContext,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from \"react\";\nimport { useResizeDetector } from \"react-resize-detector\";\nimport { inertValue } from \"../shared/accessibility\";\nimport { useId } from \"../util\";\nimport { AccordionContext } from \"./accordion-context\";\nimport {\n ChevronIcon,\n Container,\n ContentContainer,\n ExpandCollapseButton,\n Expandable,\n IconContainer,\n Title,\n} from \"./accordion-item.style\";\nimport {\n AccordionItemApi,\n AccordionItemHandle,\n AccordionItemProps,\n} from \"./types\";\n\nfunction Component(\n {\n title,\n children,\n type = \"default\",\n collapsible = true,\n className,\n id,\n expanded: expandedControlled,\n \"data-testid\": testId = \"accordion-item\",\n }: AccordionItemProps,\n ref: React.Ref<AccordionItemHandle>\n) {\n // =========================================================================\n // CONST, STATE, REF\n // =========================================================================\n const elementRef = useRef<HTMLDivElement>(null);\n const {\n expandAll,\n itemHeadingLevel,\n onItemStateChange,\n itemState,\n onItemDeregister,\n } = useContext(AccordionContext);\n const [hasFirstLoad, setHasFirstLoad] = useState<boolean>(false);\n const internalId = useId();\n const contentId = `${internalId}-content`;\n const resizeDetector = useResizeDetector();\n const expanded =\n itemState[internalId] ??\n (collapsible ? expandedControlled ?? expandAll : true); // the initial value\n\n useImperativeHandle(\n ref,\n () =>\n Object.assign<HTMLDivElement, AccordionItemApi>(\n elementRef.current!,\n {\n expand(): void {\n onItemStateChange(internalId, true);\n },\n collapse(): void {\n onItemStateChange(internalId, false);\n },\n isExpanded() {\n return expanded;\n },\n }\n ),\n [expanded]\n );\n\n // =========================================================================\n // EFFECTS\n // =========================================================================\n useEffect(() => {\n setHasFirstLoad(true);\n\n return () => onItemDeregister?.(internalId);\n }, []);\n\n useEffect(() => {\n onItemStateChange(\n internalId,\n collapsible ? expandedControlled ?? expandAll : true\n );\n }, [expandAll, expandedControlled, collapsible]);\n\n // =========================================================================\n // EVENT HANDLERS\n // =========================================================================\n\n const handleExpandCollapseClick = (event: React.MouseEvent) => {\n event.preventDefault();\n onItemStateChange(internalId, !expanded);\n };\n\n // =========================================================================\n // RENDER FUNCTIONS\n // =========================================================================\n // React spring animation configuration\n const resizeHeight = {\n height: expanded ? resizeDetector.height : 0,\n };\n const expandableStyles = useSpring(resizeHeight);\n\n const renderContent = () => {\n return (\n <Expandable\n id={contentId}\n style={hasFirstLoad ? expandableStyles : resizeHeight}\n data-testid={`${testId}-expandable-container`}\n inert={inertValue(!expanded)}\n >\n <ContentContainer\n ref={resizeDetector.ref}\n data-testid=\"content-container\"\n >\n {children}\n </ContentContainer>\n </Expandable>\n );\n };\n\n const renderTitleText = () => {\n if (typeof title !== \"string\") {\n return title;\n }\n\n return (\n <Title\n data-testid={`${testId}-title`}\n $type={type}\n $isCollapsed={expanded}\n >\n {title}\n </Title>\n );\n };\n\n const renderTitle = () => {\n return (\n <h3 aria-level={itemHeadingLevel}>\n <ExpandCollapseButton\n data-testid={`${testId}-expand-collapse-button`}\n onClick={\n collapsible ? handleExpandCollapseClick : undefined\n }\n $expanded={expanded}\n $collapsible={collapsible}\n aria-controls={contentId}\n aria-disabled={!collapsible} // remains focusable\n aria-expanded={expanded}\n >\n {renderTitleText()}\n {collapsible && (\n <IconContainer\n data-testid={`${testId}-expand-collapse-icon`}\n $expanded={expanded}\n >\n <ChevronIcon />\n </IconContainer>\n )}\n </ExpandCollapseButton>\n </h3>\n );\n };\n\n return (\n <Container\n data-testid={testId}\n className={className}\n id={id}\n $expanded={expanded}\n ref={elementRef}\n >\n {renderTitle()}\n {renderContent()}\n </Container>\n );\n}\n\nexport const AccordionItem = forwardRef<\n AccordionItemHandle,\n AccordionItemProps\n>(Component);\n"],"names":["AccordionItem","forwardRef","title","children","type","collapsible","className","id","expanded","expandedControlled","testId","ref","elementRef","useRef","expandAll","itemHeadingLevel","onItemStateChange","itemState","onItemDeregister","useContext","AccordionContext","hasFirstLoad","setHasFirstLoad","useState","internalId","useId","contentId","resizeDetector","useResizeDetector","_a","useImperativeHandle","Object","assign","current","expand","collapse","isExpanded","useEffect","handleExpandCollapseClick","event","preventDefault","resizeHeight","height","expandableStyles","useSpring","_jsxs","Container","$expanded","_jsx","ExpandCollapseButton","onClick","undefined","$collapsible","Title","$type","IconContainer","ChevronIcon","Expandable","style","inert","inertValue","ContentContainer"],"mappings":"mzBA8LaA,EAAgBC,GAlK7B,UACIC,MACIA,EAAKC,SACLA,EAAQC,KACRA,EAAO,UAASC,YAChBA,GAAc,EAAIC,UAClBA,EAASC,GACTA,EACAC,SAAUC,EACV,cAAeC,EAAS,kBAE5BC,SAKA,MAAMC,EAAaC,EAAuB,OACpCC,UACFA,EAASC,iBACTA,EAAgBC,kBAChBA,EAAiBC,UACjBA,EAASC,iBACTA,GACAC,EAAWC,IACRC,EAAcC,GAAmBC,GAAkB,GACpDC,EAAaC,IACbC,EAAY,GAAGF,YACfG,EAAiBC,IACjBpB,EACmB,QAArBqB,EAAAZ,EAAUO,UAAW,IAAAK,EAAAA,GACpBxB,IAAcI,QAAAA,EAAsBK,GAEzCgB,EACInB,GACA,IACIoB,OAAOC,OACHpB,EAAWqB,QACX,CACI,MAAAC,GACIlB,EAAkBQ,GAAY,EAClC,EACA,QAAAW,GACInB,EAAkBQ,GAAY,EAClC,EACAY,WAAU,IACC5B,KAIvB,CAACA,IAML6B,GAAU,KACNf,GAAgB,GAET,IAAMJ,aAAgB,EAAhBA,EAAmBM,KACjC,IAEHa,GAAU,KACNrB,EACIQ,GACAnB,IAAcI,QAAAA,EAAsBK,GACvC,GACF,CAACA,EAAWL,EAAoBJ,IAMnC,MAAMiC,EAA6BC,IAC/BA,EAAMC,iBACNxB,EAAkBQ,GAAahB,EAAS,EAOtCiC,EAAe,CACjBC,OAAQlC,EAAWmB,EAAee,OAAS,GAEzCC,EAAmBC,EAAUH,GAgEnC,OACII,EAACC,EAAS,CAAA,cACOpC,EACbJ,UAAWA,EACXC,GAAIA,EAAEwC,UACKvC,EACXG,IAAKC,EAAUT,SAAA,CAhCf6C,EAAA,KAAA,CAAA,aAAgBjC,EAAgBZ,SAC5B0C,EAACI,EAAoB,CAAA,cACJ,GAAGvC,2BAChBwC,QACI7C,EAAciC,OAA4Ba,EAASJ,UAE5CvC,EAAQ4C,aACL/C,EAAW,gBACVqB,mBACCrB,EAAW,gBACZG,EAAQL,SAAA,CA3Bd,iBAAVD,EACAA,EAIP8C,EAACK,EAAK,CAAA,cACW,GAAG3C,UAAc4C,MACvBlD,eACOI,EAAQL,SAErBD,IAoBIG,GACG2C,EAACO,EAAa,CAAA,cACG,GAAG7C,yBAA6BqC,UAClCvC,EAAQL,SAEnB6C,EAACQ,EAAW,CAAA,UApD5BR,EAACS,EAAU,CACPlD,GAAImB,EACJgC,MAAOrC,EAAesB,EAAmBF,EAAY,cACxC,GAAG/B,yBAChBiD,MAAOC,GAAYpD,GAASL,SAE5B6C,EAACa,EAAgB,CACblD,IAAKgB,EAAehB,IAAG,cACX,6BAEXR,QA8DrB"}
|
|
1
|
+
{"version":3,"file":"accordion-item.js","sources":["../../src/accordion/accordion-item.tsx"],"sourcesContent":["import { useSpring } from \"@react-spring/web\";\nimport React, {\n forwardRef,\n useContext,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from \"react\";\nimport { useResizeDetector } from \"react-resize-detector\";\nimport { inertValue } from \"../shared/accessibility\";\nimport { useId } from \"../util\";\nimport { AccordionContext } from \"./accordion-context\";\nimport {\n ChevronIcon,\n Container,\n ContentContainer,\n ExpandCollapseButton,\n Expandable,\n IconContainer,\n Title,\n} from \"./accordion-item.style\";\nimport {\n AccordionItemApi,\n AccordionItemHandle,\n AccordionItemProps,\n} from \"./types\";\n\nfunction Component(\n {\n title,\n children,\n type = \"default\",\n collapsible = true,\n className,\n id,\n expanded: expandedControlled,\n onExpandChange,\n \"data-testid\": testId = \"accordion-item\",\n }: AccordionItemProps,\n ref: React.Ref<AccordionItemHandle>\n) {\n // =========================================================================\n // CONST, STATE, REF\n // =========================================================================\n const elementRef = useRef<HTMLDivElement>(null);\n const {\n expandAll,\n itemHeadingLevel,\n onItemStateChange,\n itemState,\n onItemDeregister,\n } = useContext(AccordionContext);\n const [hasFirstLoad, setHasFirstLoad] = useState<boolean>(false);\n const internalId = useId();\n const contentId = `${internalId}-content`;\n const { height, ref: resizeDetectorRef } = useResizeDetector();\n const isControlled = onExpandChange !== undefined;\n const expanded = isControlled\n ? collapsible\n ? expandedControlled ?? false\n : true\n : itemState[internalId] ??\n (collapsible ? expandedControlled ?? expandAll : true);\n\n useImperativeHandle(\n ref,\n () =>\n Object.assign<HTMLDivElement, AccordionItemApi>(\n elementRef.current!,\n {\n expand(): void {\n if (isControlled) {\n onExpandChange?.(true);\n } else {\n onItemStateChange(internalId, true);\n }\n },\n collapse(): void {\n if (isControlled) {\n onExpandChange?.(false);\n } else {\n onItemStateChange(internalId, false);\n }\n },\n isExpanded() {\n return expanded;\n },\n }\n ),\n [expanded]\n );\n\n // =========================================================================\n // EFFECTS\n // =========================================================================\n useEffect(() => {\n setHasFirstLoad(true);\n\n return () => onItemDeregister?.(internalId);\n }, []);\n\n // Controlled mode: keep parent itemState in sync so \"Show all\"/\"Hide all\" label stays accurate\n useEffect(() => {\n if (isControlled) {\n onItemStateChange(\n internalId,\n collapsible ? expandedControlled ?? false : true\n );\n }\n }, [expandedControlled, collapsible]);\n\n // Uncontrolled mode: sync state when expandAll button or the hint prop changes\n useEffect(() => {\n if (!isControlled) {\n onItemStateChange(\n internalId,\n collapsible ? expandedControlled ?? expandAll : true\n );\n }\n }, [expandAll, expandedControlled, collapsible]);\n\n // Controlled mode: forward expandAll button changes to the caller\n useEffect(() => {\n if (!isControlled || !hasFirstLoad) return;\n const next = collapsible ? expandAll : true;\n if (next !== expandedControlled) {\n onExpandChange?.(next);\n }\n }, [expandAll]);\n\n // =========================================================================\n // EVENT HANDLERS\n // =========================================================================\n\n const handleExpandCollapseClick = (event: React.MouseEvent) => {\n event.preventDefault();\n if (isControlled) {\n onExpandChange?.(!expanded);\n } else {\n onItemStateChange(internalId, !expanded);\n }\n };\n\n // =========================================================================\n // RENDER FUNCTIONS\n // =========================================================================\n // React spring animation configuration\n const resizeHeight = {\n height: expanded ? height : 0,\n };\n const expandableStyles = useSpring(resizeHeight);\n\n const renderContent = () => {\n return (\n <Expandable\n id={contentId}\n style={hasFirstLoad ? expandableStyles : resizeHeight}\n data-testid={`${testId}-expandable-container`}\n inert={inertValue(!expanded)}\n >\n <ContentContainer\n ref={resizeDetectorRef}\n data-testid=\"content-container\"\n >\n {children}\n </ContentContainer>\n </Expandable>\n );\n };\n\n const renderTitleText = () => {\n if (typeof title !== \"string\") {\n return title;\n }\n\n return (\n <Title\n data-testid={`${testId}-title`}\n $type={type}\n $isCollapsed={expanded}\n >\n {title}\n </Title>\n );\n };\n\n const renderTitle = () => {\n return (\n <h3 aria-level={itemHeadingLevel}>\n <ExpandCollapseButton\n data-testid={`${testId}-expand-collapse-button`}\n onClick={\n collapsible ? handleExpandCollapseClick : undefined\n }\n $expanded={expanded}\n $collapsible={collapsible}\n aria-controls={contentId}\n aria-disabled={!collapsible} // remains focusable\n aria-expanded={expanded}\n >\n {renderTitleText()}\n {collapsible && (\n <IconContainer\n data-testid={`${testId}-expand-collapse-icon`}\n $expanded={expanded}\n >\n <ChevronIcon />\n </IconContainer>\n )}\n </ExpandCollapseButton>\n </h3>\n );\n };\n\n return (\n <Container\n data-testid={testId}\n className={className}\n id={id}\n $expanded={expanded}\n ref={elementRef}\n >\n {renderTitle()}\n {renderContent()}\n </Container>\n );\n}\n\nexport const AccordionItem = forwardRef<\n AccordionItemHandle,\n AccordionItemProps\n>(Component);\n"],"names":["AccordionItem","forwardRef","title","children","type","collapsible","className","id","expanded","expandedControlled","onExpandChange","testId","ref","elementRef","useRef","expandAll","itemHeadingLevel","onItemStateChange","itemState","onItemDeregister","useContext","AccordionContext","hasFirstLoad","setHasFirstLoad","useState","internalId","useId","contentId","height","resizeDetectorRef","useResizeDetector","isControlled","undefined","_a","useImperativeHandle","Object","assign","current","expand","collapse","isExpanded","useEffect","next","handleExpandCollapseClick","event","preventDefault","resizeHeight","expandableStyles","useSpring","_jsxs","Container","$expanded","_jsx","ExpandCollapseButton","onClick","$collapsible","Title","$type","IconContainer","ChevronIcon","Expandable","style","inert","inertValue","ContentContainer"],"mappings":"mzBAqOaA,EAAgBC,GAzM7B,UACIC,MACIA,EAAKC,SACLA,EAAQC,KACRA,EAAO,UAASC,YAChBA,GAAc,EAAIC,UAClBA,EAASC,GACTA,EACAC,SAAUC,EAAkBC,eAC5BA,EACA,cAAeC,EAAS,kBAE5BC,SAKA,MAAMC,EAAaC,EAAuB,OACpCC,UACFA,EAASC,iBACTA,EAAgBC,kBAChBA,EAAiBC,UACjBA,EAASC,iBACTA,GACAC,EAAWC,IACRC,EAAcC,GAAmBC,GAAkB,GACpDC,EAAaC,IACbC,EAAY,GAAGF,aACfG,OAAEA,EAAQhB,IAAKiB,GAAsBC,IACrCC,OAAkCC,IAAnBtB,EACfF,EAAWuB,GACX1B,GACII,SAAAA,EAEiB,QAArBwB,EAAAf,EAAUO,UAAW,IAAAQ,EAAAA,GACpB5B,IAAcI,QAAAA,EAAsBM,GAE3CmB,EACItB,GACA,IACIuB,OAAOC,OACHvB,EAAWwB,QACX,CACI,MAAAC,GACQP,EACArB,SAAAA,GAAiB,GAEjBO,EAAkBQ,GAAY,EAEtC,EACA,QAAAc,GACQR,EACArB,SAAAA,GAAiB,GAEjBO,EAAkBQ,GAAY,EAEtC,EACAe,WAAU,IACChC,KAIvB,CAACA,IAMLiC,GAAU,KACNlB,GAAgB,GAET,IAAMJ,aAAgB,EAAhBA,EAAmBM,KACjC,IAGHgB,GAAU,KACFV,GACAd,EACIQ,GACApB,GAAcI,SAAAA,EAEtB,GACD,CAACA,EAAoBJ,IAGxBoC,GAAU,KACDV,GACDd,EACIQ,GACApB,IAAcI,QAAAA,EAAsBM,GAE5C,GACD,CAACA,EAAWN,EAAoBJ,IAGnCoC,GAAU,KACN,IAAKV,IAAiBT,EAAc,OACpC,MAAMoB,GAAOrC,GAAcU,EACvB2B,IAASjC,IACTC,SAAAA,EAAiBgC,GACrB,GACD,CAAC3B,IAMJ,MAAM4B,EAA6BC,IAC/BA,EAAMC,iBACFd,EACArB,SAAAA,GAAkBF,GAElBS,EAAkBQ,GAAajB,EACnC,EAOEsC,EAAe,CACjBlB,OAAQpB,EAAWoB,EAAS,GAE1BmB,EAAmBC,EAAUF,GAgEnC,OACIG,EAACC,EAAS,CAAA,cACOvC,EACbL,UAAWA,EACXC,GAAIA,EAAE4C,UACK3C,EACXI,IAAKC,EAAUV,SAAA,CAhCfiD,EAAA,KAAA,CAAA,aAAgBpC,EAAgBb,SAC5B8C,EAACI,EAAoB,CAAA,cACJ,GAAG1C,2BAChB2C,QACIjD,EAAcsC,OAA4BX,EAASmB,UAE5C3C,EAAQ+C,aACLlD,EAAW,gBACVsB,mBACCtB,EAAW,gBACZG,EAAQL,SAAA,CA3Bd,iBAAVD,EACAA,EAIPkD,EAACI,EAAK,CAAA,cACW,GAAG7C,UAAc8C,MACvBrD,eACOI,EAAQL,SAErBD,IAoBIG,GACG+C,EAACM,EAAa,CAAA,cACG,GAAG/C,yBAA6BwC,UAClC3C,EAAQL,SAEnBiD,EAACO,EAAW,CAAA,UApD5BP,EAACQ,EAAU,CACPrD,GAAIoB,EACJkC,MAAOvC,EAAeyB,EAAmBD,gBAC5B,GAAGnC,yBAChBmD,MAAOC,GAAYvD,YAEnB4C,EAACY,GACGpD,IAAKiB,EAAiB,cACV,6BAEX1B,QA8DrB"}
|
package/accordion/types.d.ts
CHANGED
|
@@ -30,6 +30,13 @@ export interface AccordionItemProps {
|
|
|
30
30
|
className?: string | undefined;
|
|
31
31
|
type?: AccordionItemType | undefined;
|
|
32
32
|
collapsible?: boolean | undefined;
|
|
33
|
+
/**
|
|
34
|
+
* Called when the user toggles this item or the parent "Show all" / "Hide all"
|
|
35
|
+
* button fires. When provided, the item enters **controlled mode** — the caller
|
|
36
|
+
* must update the `expanded` prop in response. Without this prop, the item
|
|
37
|
+
* manages its own state internally (uncontrolled mode).
|
|
38
|
+
*/
|
|
39
|
+
onExpandChange?: ((expanded: boolean) => void) | undefined;
|
|
33
40
|
}
|
|
34
41
|
export interface AccordionItemApi {
|
|
35
42
|
expand: () => void;
|
package/button/button.style.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import o,{css as r}from"styled-components";import{ComponentLoadingSpinner as e}from"../shared/component-loading-spinner/component-loading-spinner.js";import{Spacing as t,Border as n,Motion as a,Colour as i,MediaQuery as d,Font as l}from"../theme/index.js";import{ThemeButton as c}from"../theme/components/theme-helper.js";const u=o.button`
|
|
2
2
|
padding: ${t["spacing-8"]} ${t["spacing-16"]};
|
|
3
3
|
min-width: 4rem;
|
|
4
4
|
border: ${n["width-010"]} ${n.solid} transparent;
|
|
@@ -12,11 +12,11 @@ import r,{css as o}from"styled-components";import{ComponentLoadingSpinner as e}f
|
|
|
12
12
|
// -----------------------------------------------------------------------------
|
|
13
13
|
// BUTTON STYLE + TEXT COLOR
|
|
14
14
|
// -----------------------------------------------------------------------------
|
|
15
|
-
${
|
|
15
|
+
${o=>{switch(o.$buttonStyle){case"secondary":return r`
|
|
16
16
|
background-color: ${i.bg};
|
|
17
|
-
border-color: ${
|
|
17
|
+
border-color: ${o.$buttonIsDanger?i["border-error-strong"]:c["button-secondary-colour-border"]};
|
|
18
18
|
|
|
19
|
-
color: ${
|
|
19
|
+
color: ${o.$buttonIsDanger?i["text-error"]:c["button-secondary-colour-text"]};
|
|
20
20
|
|
|
21
21
|
&:hover,
|
|
22
22
|
&:active {
|
|
@@ -24,11 +24,11 @@ import r,{css as o}from"styled-components";import{ComponentLoadingSpinner as e}f
|
|
|
24
24
|
background-color: ${i["bg-hover-neutral"]};
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
-
`;case"light":return
|
|
27
|
+
`;case"light":return r`
|
|
28
28
|
background-color: ${i.bg};
|
|
29
29
|
border-color: ${i.border};
|
|
30
30
|
|
|
31
|
-
color: ${
|
|
31
|
+
color: ${o.$buttonIsDanger?i["text-error"]:c["button-light-colour-text"]};
|
|
32
32
|
|
|
33
33
|
&:hover,
|
|
34
34
|
&:active {
|
|
@@ -36,17 +36,17 @@ import r,{css as o}from"styled-components";import{ComponentLoadingSpinner as e}f
|
|
|
36
36
|
background-color: ${i["bg-hover-neutral"]};
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
|
-
`;case"link":return
|
|
39
|
+
`;case"link":return r`
|
|
40
40
|
background-color: transparent;
|
|
41
41
|
|
|
42
|
-
color: ${
|
|
42
|
+
color: ${o.$buttonIsDanger?i["text-error"]:c["button-link-colour-text"]};
|
|
43
43
|
&:hover,
|
|
44
44
|
&:active {
|
|
45
45
|
@media (pointer: fine) {
|
|
46
46
|
background-color: ${i["bg-hover-neutral"]};
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
|
-
`;case"disabled":return
|
|
49
|
+
`;case"disabled":return r`
|
|
50
50
|
background-color: ${i["bg-disabled"]};
|
|
51
51
|
|
|
52
52
|
cursor: not-allowed;
|
|
@@ -56,8 +56,8 @@ import r,{css as o}from"styled-components";import{ComponentLoadingSpinner as e}f
|
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
color: ${i["text-disabled"]};
|
|
59
|
-
`;default:return
|
|
60
|
-
background-color: ${
|
|
59
|
+
`;default:return r`
|
|
60
|
+
background-color: ${o.$buttonIsDanger?i["bg-error-strong"]:c["button-default-colour-bg"]};
|
|
61
61
|
|
|
62
62
|
${d.MaxWidth.sm} {
|
|
63
63
|
width: 100%;
|
|
@@ -68,7 +68,7 @@ import r,{css as o}from"styled-components";import{ComponentLoadingSpinner as e}f
|
|
|
68
68
|
&:hover,
|
|
69
69
|
&:active {
|
|
70
70
|
@media (pointer: fine) {
|
|
71
|
-
background-color: ${
|
|
71
|
+
background-color: ${o.$buttonIsDanger?i["bg-error-strong-hover"]:c["button-default-colour-bg-hover"]};
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
74
|
`}}}
|
|
@@ -76,29 +76,30 @@ import r,{css as o}from"styled-components";import{ComponentLoadingSpinner as e}f
|
|
|
76
76
|
// -----------------------------------------------------------------------------
|
|
77
77
|
// BUTTON SIZE + TEXT SIZE
|
|
78
78
|
// -----------------------------------------------------------------------------
|
|
79
|
-
${
|
|
79
|
+
${o=>{switch(o.$buttonSizeStyle){case"small":return r`
|
|
80
80
|
height: 2.5rem;
|
|
81
81
|
${l["body-md-semibold"]}
|
|
82
82
|
|
|
83
83
|
${d.MaxWidth.xxs} {
|
|
84
84
|
height: auto;
|
|
85
85
|
}
|
|
86
|
-
`;case"large":return
|
|
86
|
+
`;case"large":return r`
|
|
87
87
|
height: 4rem;
|
|
88
|
-
${l["heading-md-semibold"]}
|
|
88
|
+
${l["heading-md-semibold"]};
|
|
89
|
+
font-family: ${l.Spec["body-font-family"]};
|
|
89
90
|
|
|
90
91
|
${d.MaxWidth.xxs} {
|
|
91
92
|
height: auto;
|
|
92
93
|
}
|
|
93
|
-
`;default:return
|
|
94
|
+
`;default:return r`
|
|
94
95
|
height: 3rem;
|
|
95
|
-
${l["
|
|
96
|
+
${l["body-baseline-semibold"]}
|
|
96
97
|
|
|
97
98
|
${d.MaxWidth.xxs} {
|
|
98
99
|
height: auto;
|
|
99
100
|
}
|
|
100
101
|
`}}}
|
|
101
|
-
`,s=
|
|
102
|
-
margin-right: ${
|
|
102
|
+
`,s=o(e)`
|
|
103
|
+
margin-right: ${o=>o.$hasChildren?"0.5rem":"0"};
|
|
103
104
|
`;export{u as Main,s as Spinner};
|
|
104
105
|
//# sourceMappingURL=button.style.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.style.js","sources":["../../src/button/button.style.tsx"],"sourcesContent":["import styled, { css } from \"styled-components\";\nimport { ComponentLoadingSpinner } from \"../shared/component-loading-spinner\";\nimport { Border, Colour, Font, MediaQuery, Motion, Spacing } from \"../theme\";\nimport { ThemeButton } from \"../theme/components/theme-helper\";\n\nexport type MainButtonStyle =\n | \"default\"\n | \"disabled\"\n | \"secondary\"\n | \"light\"\n | \"link\";\n\nexport type MainButtonSize = \"default\" | \"small\" | \"large\";\n\nexport interface MainStyleProps {\n $buttonStyle: MainButtonStyle;\n $buttonSizeStyle?: MainButtonSize | undefined;\n $buttonIsDanger?: boolean;\n}\n\nexport const Main = styled.button<MainStyleProps>`\n padding: ${Spacing[\"spacing-8\"]} ${Spacing[\"spacing-16\"]};\n min-width: 4rem;\n border: ${Border[\"width-010\"]} ${Border[\"solid\"]} transparent;\n transition: all ${Motion[\"duration-250\"]} ${Motion[\"ease-default\"]};\n border-radius: ${ThemeButton[\"button-radius\"]};\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n\n // -----------------------------------------------------------------------------\n // BUTTON STYLE + TEXT COLOR\n // -----------------------------------------------------------------------------\n ${(props) => {\n switch (props.$buttonStyle) {\n case \"secondary\":\n return css`\n background-color: ${Colour.bg};\n border-color: ${props.$buttonIsDanger\n ? Colour[\"border-error-strong\"]\n : ThemeButton[\"button-secondary-colour-border\"]};\n\n color: ${props.$buttonIsDanger\n ? Colour[\"text-error\"]\n : ThemeButton[\"button-secondary-colour-text\"]};\n\n &:hover,\n &:active {\n @media (pointer: fine) {\n background-color: ${Colour[\"bg-hover-neutral\"]};\n }\n }\n `;\n case \"light\":\n return css`\n background-color: ${Colour.bg};\n border-color: ${Colour.border};\n\n color: ${props.$buttonIsDanger\n ? Colour[\"text-error\"]\n : ThemeButton[\"button-light-colour-text\"]};\n\n &:hover,\n &:active {\n @media (pointer: fine) {\n background-color: ${Colour[\"bg-hover-neutral\"]};\n }\n }\n `;\n\n case \"link\":\n return css`\n background-color: transparent;\n\n color: ${props.$buttonIsDanger\n ? Colour[\"text-error\"]\n : ThemeButton[\"button-link-colour-text\"]};\n &:hover,\n &:active {\n @media (pointer: fine) {\n background-color: ${Colour[\"bg-hover-neutral\"]};\n }\n }\n `;\n case \"disabled\":\n return css`\n background-color: ${Colour[\"bg-disabled\"]};\n\n cursor: not-allowed;\n\n &:hover {\n box-shadow: none;\n }\n\n color: ${Colour[\"text-disabled\"]};\n `;\n default:\n return css`\n background-color: ${props.$buttonIsDanger\n ? Colour[\"bg-error-strong\"]\n : ThemeButton[\"button-default-colour-bg\"]};\n\n ${MediaQuery.MaxWidth.sm} {\n width: 100%;\n }\n\n color: ${ThemeButton[\"button-default-colour-text\"]};\n\n &:hover,\n &:active {\n @media (pointer: fine) {\n background-color: ${props.$buttonIsDanger\n ? Colour[\"bg-error-strong-hover\"]\n : ThemeButton[\n \"button-default-colour-bg-hover\"\n ]};\n }\n }\n `;\n }\n }}\n\n // -----------------------------------------------------------------------------\n\t// BUTTON SIZE + TEXT SIZE\n\t// -----------------------------------------------------------------------------\n\t${(props) => {\n switch (props.$buttonSizeStyle) {\n case \"small\":\n return css`\n height: 2.5rem;\n ${Font[\"body-md-semibold\"]}\n\n ${MediaQuery.MaxWidth.xxs} {\n height: auto;\n }\n `;\n\n case \"large\":\n return css`\n height: 4rem;\n ${Font[\"heading-md-semibold\"]}\n\n ${MediaQuery.MaxWidth.xxs} {\n height: auto;\n }\n `;\n\n default:\n return css`\n height: 3rem;\n ${Font[\"
|
|
1
|
+
{"version":3,"file":"button.style.js","sources":["../../src/button/button.style.tsx"],"sourcesContent":["import styled, { css } from \"styled-components\";\nimport { ComponentLoadingSpinner } from \"../shared/component-loading-spinner\";\nimport { Border, Colour, Font, MediaQuery, Motion, Spacing } from \"../theme\";\nimport { ThemeButton } from \"../theme/components/theme-helper\";\n\nexport type MainButtonStyle =\n | \"default\"\n | \"disabled\"\n | \"secondary\"\n | \"light\"\n | \"link\";\n\nexport type MainButtonSize = \"default\" | \"small\" | \"large\";\n\nexport interface MainStyleProps {\n $buttonStyle: MainButtonStyle;\n $buttonSizeStyle?: MainButtonSize | undefined;\n $buttonIsDanger?: boolean;\n}\n\nexport const Main = styled.button<MainStyleProps>`\n padding: ${Spacing[\"spacing-8\"]} ${Spacing[\"spacing-16\"]};\n min-width: 4rem;\n border: ${Border[\"width-010\"]} ${Border[\"solid\"]} transparent;\n transition: all ${Motion[\"duration-250\"]} ${Motion[\"ease-default\"]};\n border-radius: ${ThemeButton[\"button-radius\"]};\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n\n // -----------------------------------------------------------------------------\n // BUTTON STYLE + TEXT COLOR\n // -----------------------------------------------------------------------------\n ${(props) => {\n switch (props.$buttonStyle) {\n case \"secondary\":\n return css`\n background-color: ${Colour.bg};\n border-color: ${props.$buttonIsDanger\n ? Colour[\"border-error-strong\"]\n : ThemeButton[\"button-secondary-colour-border\"]};\n\n color: ${props.$buttonIsDanger\n ? Colour[\"text-error\"]\n : ThemeButton[\"button-secondary-colour-text\"]};\n\n &:hover,\n &:active {\n @media (pointer: fine) {\n background-color: ${Colour[\"bg-hover-neutral\"]};\n }\n }\n `;\n case \"light\":\n return css`\n background-color: ${Colour.bg};\n border-color: ${Colour.border};\n\n color: ${props.$buttonIsDanger\n ? Colour[\"text-error\"]\n : ThemeButton[\"button-light-colour-text\"]};\n\n &:hover,\n &:active {\n @media (pointer: fine) {\n background-color: ${Colour[\"bg-hover-neutral\"]};\n }\n }\n `;\n\n case \"link\":\n return css`\n background-color: transparent;\n\n color: ${props.$buttonIsDanger\n ? Colour[\"text-error\"]\n : ThemeButton[\"button-link-colour-text\"]};\n &:hover,\n &:active {\n @media (pointer: fine) {\n background-color: ${Colour[\"bg-hover-neutral\"]};\n }\n }\n `;\n case \"disabled\":\n return css`\n background-color: ${Colour[\"bg-disabled\"]};\n\n cursor: not-allowed;\n\n &:hover {\n box-shadow: none;\n }\n\n color: ${Colour[\"text-disabled\"]};\n `;\n default:\n return css`\n background-color: ${props.$buttonIsDanger\n ? Colour[\"bg-error-strong\"]\n : ThemeButton[\"button-default-colour-bg\"]};\n\n ${MediaQuery.MaxWidth.sm} {\n width: 100%;\n }\n\n color: ${ThemeButton[\"button-default-colour-text\"]};\n\n &:hover,\n &:active {\n @media (pointer: fine) {\n background-color: ${props.$buttonIsDanger\n ? Colour[\"bg-error-strong-hover\"]\n : ThemeButton[\n \"button-default-colour-bg-hover\"\n ]};\n }\n }\n `;\n }\n }}\n\n // -----------------------------------------------------------------------------\n\t// BUTTON SIZE + TEXT SIZE\n\t// -----------------------------------------------------------------------------\n\t${(props) => {\n switch (props.$buttonSizeStyle) {\n case \"small\":\n return css`\n height: 2.5rem;\n ${Font[\"body-md-semibold\"]}\n\n ${MediaQuery.MaxWidth.xxs} {\n height: auto;\n }\n `;\n\n case \"large\":\n return css`\n height: 4rem;\n ${Font[\"heading-md-semibold\"]};\n font-family: ${Font.Spec[\"body-font-family\"]};\n\n ${MediaQuery.MaxWidth.xxs} {\n height: auto;\n }\n `;\n\n default:\n return css`\n height: 3rem;\n ${Font[\"body-baseline-semibold\"]}\n\n ${MediaQuery.MaxWidth.xxs} {\n height: auto;\n }\n `;\n }\n }}\n`;\n\nexport const Spinner = styled(ComponentLoadingSpinner)<{\n $hasChildren: boolean;\n}>`\n margin-right: ${(props) => (props.$hasChildren ? \"0.5rem\" : \"0\")};\n`;\n"],"names":["Main","styled","button","Spacing","Border","Motion","ThemeButton","props","$buttonStyle","css","Colour","bg","$buttonIsDanger","border","MediaQuery","MaxWidth","sm","$buttonSizeStyle","Font","xxs","Spec","Spinner","ComponentLoadingSpinner","$hasChildren"],"mappings":"kUAoBO,MAAMA,EAAOC,EAAOC,MAAsB;eAClCC,EAAQ,gBAAgBA,EAAQ;;cAEjCC,EAAO,gBAAgBA,EAAc;sBAC7BC,EAAO,mBAAmBA,EAAO;qBAClCC,EAAY;;;;;;;;;MAS1BC,IACC,OAAQA,EAAMC,cACV,IAAK,YACD,OAAOC,CAAG;wCACcC,EAAOC;oCACXJ,EAAMK,gBAChBF,EAAO,uBACPJ,EAAY;;6BAETC,EAAMK,gBACTF,EAAO,cACPJ,EAAY;;;;;gDAKUI,EAAO;;;kBAI3C,IAAK,QACD,OAAOD,CAAG;wCACcC,EAAOC;oCACXD,EAAOG;;6BAEdN,EAAMK,gBACTF,EAAO,cACPJ,EAAY;;;;;gDAKUI,EAAO;;;kBAK3C,IAAK,OACD,OAAOD,CAAG;;;6BAGGF,EAAMK,gBACTF,EAAO,cACPJ,EAAY;;;;gDAIUI,EAAO;;;kBAI3C,IAAK,WACD,OAAOD,CAAG;wCACcC,EAAO;;;;;;;;6BAQlBA,EAAO;kBAExB,QACI,OAAOD,CAAG;wCACcF,EAAMK,gBACpBF,EAAO,mBACPJ,EAAY;;sBAEhBQ,EAAWC,SAASC;;;;6BAIbV,EAAY;;;;;gDAKOC,EAAMK,gBACpBF,EAAO,yBACPJ,EACI;;;;;;;;GAWlCC,IACI,OAAQA,EAAMU,kBACV,IAAK,QACD,OAAOR,CAAG;;sBAEJS,EAAK;;sBAELJ,EAAWC,SAASI;;;kBAK9B,IAAK,QACD,OAAOV,CAAG;;sBAEJS,EAAK;mCACQA,EAAKE,KAAK;;sBAEvBN,EAAWC,SAASI;;;kBAK9B,QACI,OAAOV,CAAG;;sBAEJS,EAAK;;sBAELJ,EAAWC,SAASI;;;;EAQ7BE,EAAUpB,EAAOqB,EAE5B;oBACmBf,GAAWA,EAAMgB,aAAe,SAAW;"}
|
package/cjs/_virtual/_tslib.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";"function"==typeof SuppressedError&&SuppressedError,exports.__awaiter=function(
|
|
1
|
+
"use strict";"function"==typeof SuppressedError&&SuppressedError,exports.__awaiter=function(e,t,r,n){return new(r||(r=Promise))((function(o,a){function c(e){try{i(n.next(e))}catch(e){a(e)}}function l(e){try{i(n.throw(e))}catch(e){a(e)}}function i(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(c,l)}i((n=n.apply(e,t||[])).next())}))},exports.__decorate=function(e,t,r,n){var o,a=arguments.length,c=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)c=Reflect.decorate(e,t,r,n);else for(var l=e.length-1;l>=0;l--)(o=e[l])&&(c=(a<3?o(c):a>3?o(t,r,c):o(t,r))||c);return a>3&&c&&Object.defineProperty(t,r,c),c},exports.__generator=function(e,t){var r,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},c=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return c.next=l(0),c.throw=l(1),c.return=l(2),"function"==typeof Symbol&&(c[Symbol.iterator]=function(){return this}),c;function l(l){return function(i){return function(l){if(r)throw new TypeError("Generator is already executing.");for(;c&&(c=0,l[0]&&(a=0)),a;)try{if(r=1,n&&(o=2&l[0]?n.return:l[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,l[1])).done)return o;switch(n=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,n=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],n=0}finally{r=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,i])}}},exports.__read=function(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,a=r.call(e),c=[];try{for(;(void 0===t||t-- >0)&&!(n=a.next()).done;)c.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(o)throw o.error}}return c},exports.__rest=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]])}return r},exports.__spreadArray=function(e,t,r){if(r||2===arguments.length)for(var n,o=0,a=t.length;o<a;o++)!n&&o in t||(n||(n=Array.prototype.slice.call(t,0,o)),n[o]=t[o]);return e.concat(n||Array.prototype.slice.call(t))};
|
|
2
2
|
//# sourceMappingURL=_tslib.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),t=require("@react-spring/web"),
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),t=require("@react-spring/web"),n=require("react"),i=require("../external/react-resize-detector/build/index.esm.js"),r=require("../shared/accessibility/index.js");require("../util/calendar-helper.js"),require("../util/date-helper.js"),require("../util/date-input-helper.js");var a=require("../util/simple-id-generator.js");require("../util/string-helper.js"),require("@react-aria/live-announcer");var l=require("./accordion-context.js"),s=require("./accordion-item.style.js");const d=n.forwardRef((function({title:d,children:c,type:o="default",collapsible:u=!0,className:p,id:x,expanded:h,onExpandChange:f,"data-testid":j="accordion-item"},v){var m;const q=n.useRef(null),{expandAll:g,itemHeadingLevel:C,onItemStateChange:$,itemState:b,onItemDeregister:E}=n.useContext(l.AccordionContext),[I,y]=n.useState(!1),S=a.useId(),A=`${S}-content`,{height:D,ref:R}=i.useResizeDetector(),w=void 0!==f,z=w?!u||null!=h&&h:null!==(m=b[S])&&void 0!==m?m:!u||(null!=h?h:g);n.useImperativeHandle(v,(()=>Object.assign(q.current,{expand(){w?null==f||f(!0):$(S,!0)},collapse(){w?null==f||f(!1):$(S,!1)},isExpanded:()=>z})),[z]),n.useEffect((()=>(y(!0),()=>null==E?void 0:E(S))),[]),n.useEffect((()=>{w&&$(S,!u||null!=h&&h)}),[h,u]),n.useEffect((()=>{w||$(S,!u||(null!=h?h:g))}),[g,h,u]),n.useEffect((()=>{if(!w||!I)return;const e=!u||g;e!==h&&(null==f||f(e))}),[g]);const H=e=>{e.preventDefault(),w?null==f||f(!z):$(S,!z)},N={height:z?D:0},k=t.useSpring(N);return e.jsxs(s.Container,{"data-testid":j,className:p,id:x,$expanded:z,ref:q,children:[e.jsx("h3",{"aria-level":C,children:e.jsxs(s.ExpandCollapseButton,{"data-testid":`${j}-expand-collapse-button`,onClick:u?H:void 0,$expanded:z,$collapsible:u,"aria-controls":A,"aria-disabled":!u,"aria-expanded":z,children:["string"!=typeof d?d:e.jsx(s.Title,{"data-testid":`${j}-title`,$type:o,$isCollapsed:z,children:d}),u&&e.jsx(s.IconContainer,{"data-testid":`${j}-expand-collapse-icon`,$expanded:z,children:e.jsx(s.ChevronIcon,{})})]})}),e.jsx(s.Expandable,{id:A,style:I?k:N,"data-testid":`${j}-expandable-container`,inert:r.inertValue(!z),children:e.jsx(s.ContentContainer,{ref:R,"data-testid":"content-container",children:c})})]})}));exports.AccordionItem=d;
|
|
2
2
|
//# sourceMappingURL=accordion-item.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accordion-item.js","sources":["../../../src/accordion/accordion-item.tsx"],"sourcesContent":["import { useSpring } from \"@react-spring/web\";\nimport React, {\n forwardRef,\n useContext,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from \"react\";\nimport { useResizeDetector } from \"react-resize-detector\";\nimport { inertValue } from \"../shared/accessibility\";\nimport { useId } from \"../util\";\nimport { AccordionContext } from \"./accordion-context\";\nimport {\n ChevronIcon,\n Container,\n ContentContainer,\n ExpandCollapseButton,\n Expandable,\n IconContainer,\n Title,\n} from \"./accordion-item.style\";\nimport {\n AccordionItemApi,\n AccordionItemHandle,\n AccordionItemProps,\n} from \"./types\";\n\nfunction Component(\n {\n title,\n children,\n type = \"default\",\n collapsible = true,\n className,\n id,\n expanded: expandedControlled,\n \"data-testid\": testId = \"accordion-item\",\n }: AccordionItemProps,\n ref: React.Ref<AccordionItemHandle>\n) {\n // =========================================================================\n // CONST, STATE, REF\n // =========================================================================\n const elementRef = useRef<HTMLDivElement>(null);\n const {\n expandAll,\n itemHeadingLevel,\n onItemStateChange,\n itemState,\n onItemDeregister,\n } = useContext(AccordionContext);\n const [hasFirstLoad, setHasFirstLoad] = useState<boolean>(false);\n const internalId = useId();\n const contentId = `${internalId}-content`;\n const resizeDetector = useResizeDetector();\n const expanded =\n itemState[internalId] ??\n (collapsible ? expandedControlled ?? expandAll : true); // the initial value\n\n useImperativeHandle(\n ref,\n () =>\n Object.assign<HTMLDivElement, AccordionItemApi>(\n elementRef.current!,\n {\n expand(): void {\n onItemStateChange(internalId, true);\n },\n collapse(): void {\n onItemStateChange(internalId, false);\n },\n isExpanded() {\n return expanded;\n },\n }\n ),\n [expanded]\n );\n\n // =========================================================================\n // EFFECTS\n // =========================================================================\n useEffect(() => {\n setHasFirstLoad(true);\n\n return () => onItemDeregister?.(internalId);\n }, []);\n\n useEffect(() => {\n onItemStateChange(\n internalId,\n collapsible ? expandedControlled ?? expandAll : true\n );\n }, [expandAll, expandedControlled, collapsible]);\n\n // =========================================================================\n // EVENT HANDLERS\n // =========================================================================\n\n const handleExpandCollapseClick = (event: React.MouseEvent) => {\n event.preventDefault();\n onItemStateChange(internalId, !expanded);\n };\n\n // =========================================================================\n // RENDER FUNCTIONS\n // =========================================================================\n // React spring animation configuration\n const resizeHeight = {\n height: expanded ? resizeDetector.height : 0,\n };\n const expandableStyles = useSpring(resizeHeight);\n\n const renderContent = () => {\n return (\n <Expandable\n id={contentId}\n style={hasFirstLoad ? expandableStyles : resizeHeight}\n data-testid={`${testId}-expandable-container`}\n inert={inertValue(!expanded)}\n >\n <ContentContainer\n ref={resizeDetector.ref}\n data-testid=\"content-container\"\n >\n {children}\n </ContentContainer>\n </Expandable>\n );\n };\n\n const renderTitleText = () => {\n if (typeof title !== \"string\") {\n return title;\n }\n\n return (\n <Title\n data-testid={`${testId}-title`}\n $type={type}\n $isCollapsed={expanded}\n >\n {title}\n </Title>\n );\n };\n\n const renderTitle = () => {\n return (\n <h3 aria-level={itemHeadingLevel}>\n <ExpandCollapseButton\n data-testid={`${testId}-expand-collapse-button`}\n onClick={\n collapsible ? handleExpandCollapseClick : undefined\n }\n $expanded={expanded}\n $collapsible={collapsible}\n aria-controls={contentId}\n aria-disabled={!collapsible} // remains focusable\n aria-expanded={expanded}\n >\n {renderTitleText()}\n {collapsible && (\n <IconContainer\n data-testid={`${testId}-expand-collapse-icon`}\n $expanded={expanded}\n >\n <ChevronIcon />\n </IconContainer>\n )}\n </ExpandCollapseButton>\n </h3>\n );\n };\n\n return (\n <Container\n data-testid={testId}\n className={className}\n id={id}\n $expanded={expanded}\n ref={elementRef}\n >\n {renderTitle()}\n {renderContent()}\n </Container>\n );\n}\n\nexport const AccordionItem = forwardRef<\n AccordionItemHandle,\n AccordionItemProps\n>(Component);\n"],"names":["AccordionItem","forwardRef","title","children","type","collapsible","className","id","expanded","expandedControlled","testId","ref","elementRef","useRef","expandAll","itemHeadingLevel","onItemStateChange","itemState","onItemDeregister","useContext","AccordionContext","hasFirstLoad","setHasFirstLoad","useState","internalId","useId","contentId","resizeDetector","useResizeDetector","_a","useImperativeHandle","Object","assign","current","expand","collapse","isExpanded","useEffect","handleExpandCollapseClick","event","preventDefault","resizeHeight","height","expandableStyles","useSpring","_jsxs","Container","$expanded","_jsx","ExpandCollapseButton","onClick","undefined","$collapsible","Title","$type","IconContainer","ChevronIcon","Expandable","style","inert","inertValue","ContentContainer"],"mappings":"ihBA8LaA,EAAgBC,EAAAA,YAlK7B,UACIC,MACIA,EAAKC,SACLA,EAAQC,KACRA,EAAO,UAASC,YAChBA,GAAc,EAAIC,UAClBA,EAASC,GACTA,EACAC,SAAUC,EACV,cAAeC,EAAS,kBAE5BC,SAKA,MAAMC,EAAaC,EAAAA,OAAuB,OACpCC,UACFA,EAASC,iBACTA,EAAgBC,kBAChBA,EAAiBC,UACjBA,EAASC,iBACTA,GACAC,EAAAA,WAAWC,qBACRC,EAAcC,GAAmBC,EAAAA,UAAkB,GACpDC,EAAaC,EAAAA,QACbC,EAAY,GAAGF,YACfG,EAAiBC,EAAAA,oBACjBpB,EACmB,QAArBqB,EAAAZ,EAAUO,UAAW,IAAAK,EAAAA,GACpBxB,IAAcI,QAAAA,EAAsBK,GAEzCgB,EAAAA,oBACInB,GACA,IACIoB,OAAOC,OACHpB,EAAWqB,QACX,CACI,MAAAC,GACIlB,EAAkBQ,GAAY,EAClC,EACA,QAAAW,GACInB,EAAkBQ,GAAY,EAClC,EACAY,WAAU,IACC5B,KAIvB,CAACA,IAML6B,EAAAA,WAAU,KACNf,GAAgB,GAET,IAAMJ,aAAgB,EAAhBA,EAAmBM,KACjC,IAEHa,EAAAA,WAAU,KACNrB,EACIQ,GACAnB,IAAcI,QAAAA,EAAsBK,GACvC,GACF,CAACA,EAAWL,EAAoBJ,IAMnC,MAAMiC,EAA6BC,IAC/BA,EAAMC,iBACNxB,EAAkBQ,GAAahB,EAAS,EAOtCiC,EAAe,CACjBC,OAAQlC,EAAWmB,EAAee,OAAS,GAEzCC,EAAmBC,EAAAA,UAAUH,GAgEnC,OACII,EAAAA,KAACC,EAAAA,UAAS,CAAA,cACOpC,EACbJ,UAAWA,EACXC,GAAIA,EAAEwC,UACKvC,EACXG,IAAKC,EAAUT,SAAA,CAhCf6C,MAAA,KAAA,CAAA,aAAgBjC,EAAgBZ,SAC5B0C,EAAAA,KAACI,EAAAA,qBAAoB,CAAA,cACJ,GAAGvC,2BAChBwC,QACI7C,EAAciC,OAA4Ba,EAASJ,UAE5CvC,EAAQ4C,aACL/C,EAAW,gBACVqB,mBACCrB,EAAW,gBACZG,EAAQL,SAAA,CA3Bd,iBAAVD,EACAA,EAIP8C,EAAAA,IAACK,EAAAA,MAAK,CAAA,cACW,GAAG3C,UAAc4C,MACvBlD,eACOI,EAAQL,SAErBD,IAoBIG,GACG2C,MAACO,EAAAA,cAAa,CAAA,cACG,GAAG7C,yBAA6BqC,UAClCvC,EAAQL,SAEnB6C,EAAAA,IAACQ,cAAW,CAAA,UApD5BR,EAAAA,IAACS,EAAAA,WAAU,CACPlD,GAAImB,EACJgC,MAAOrC,EAAesB,EAAmBF,EAAY,cACxC,GAAG/B,yBAChBiD,MAAOC,cAAYpD,GAASL,SAE5B6C,EAAAA,IAACa,EAAAA,iBAAgB,CACblD,IAAKgB,EAAehB,IAAG,cACX,6BAEXR,QA8DrB"}
|
|
1
|
+
{"version":3,"file":"accordion-item.js","sources":["../../../src/accordion/accordion-item.tsx"],"sourcesContent":["import { useSpring } from \"@react-spring/web\";\nimport React, {\n forwardRef,\n useContext,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from \"react\";\nimport { useResizeDetector } from \"react-resize-detector\";\nimport { inertValue } from \"../shared/accessibility\";\nimport { useId } from \"../util\";\nimport { AccordionContext } from \"./accordion-context\";\nimport {\n ChevronIcon,\n Container,\n ContentContainer,\n ExpandCollapseButton,\n Expandable,\n IconContainer,\n Title,\n} from \"./accordion-item.style\";\nimport {\n AccordionItemApi,\n AccordionItemHandle,\n AccordionItemProps,\n} from \"./types\";\n\nfunction Component(\n {\n title,\n children,\n type = \"default\",\n collapsible = true,\n className,\n id,\n expanded: expandedControlled,\n onExpandChange,\n \"data-testid\": testId = \"accordion-item\",\n }: AccordionItemProps,\n ref: React.Ref<AccordionItemHandle>\n) {\n // =========================================================================\n // CONST, STATE, REF\n // =========================================================================\n const elementRef = useRef<HTMLDivElement>(null);\n const {\n expandAll,\n itemHeadingLevel,\n onItemStateChange,\n itemState,\n onItemDeregister,\n } = useContext(AccordionContext);\n const [hasFirstLoad, setHasFirstLoad] = useState<boolean>(false);\n const internalId = useId();\n const contentId = `${internalId}-content`;\n const { height, ref: resizeDetectorRef } = useResizeDetector();\n const isControlled = onExpandChange !== undefined;\n const expanded = isControlled\n ? collapsible\n ? expandedControlled ?? false\n : true\n : itemState[internalId] ??\n (collapsible ? expandedControlled ?? expandAll : true);\n\n useImperativeHandle(\n ref,\n () =>\n Object.assign<HTMLDivElement, AccordionItemApi>(\n elementRef.current!,\n {\n expand(): void {\n if (isControlled) {\n onExpandChange?.(true);\n } else {\n onItemStateChange(internalId, true);\n }\n },\n collapse(): void {\n if (isControlled) {\n onExpandChange?.(false);\n } else {\n onItemStateChange(internalId, false);\n }\n },\n isExpanded() {\n return expanded;\n },\n }\n ),\n [expanded]\n );\n\n // =========================================================================\n // EFFECTS\n // =========================================================================\n useEffect(() => {\n setHasFirstLoad(true);\n\n return () => onItemDeregister?.(internalId);\n }, []);\n\n // Controlled mode: keep parent itemState in sync so \"Show all\"/\"Hide all\" label stays accurate\n useEffect(() => {\n if (isControlled) {\n onItemStateChange(\n internalId,\n collapsible ? expandedControlled ?? false : true\n );\n }\n }, [expandedControlled, collapsible]);\n\n // Uncontrolled mode: sync state when expandAll button or the hint prop changes\n useEffect(() => {\n if (!isControlled) {\n onItemStateChange(\n internalId,\n collapsible ? expandedControlled ?? expandAll : true\n );\n }\n }, [expandAll, expandedControlled, collapsible]);\n\n // Controlled mode: forward expandAll button changes to the caller\n useEffect(() => {\n if (!isControlled || !hasFirstLoad) return;\n const next = collapsible ? expandAll : true;\n if (next !== expandedControlled) {\n onExpandChange?.(next);\n }\n }, [expandAll]);\n\n // =========================================================================\n // EVENT HANDLERS\n // =========================================================================\n\n const handleExpandCollapseClick = (event: React.MouseEvent) => {\n event.preventDefault();\n if (isControlled) {\n onExpandChange?.(!expanded);\n } else {\n onItemStateChange(internalId, !expanded);\n }\n };\n\n // =========================================================================\n // RENDER FUNCTIONS\n // =========================================================================\n // React spring animation configuration\n const resizeHeight = {\n height: expanded ? height : 0,\n };\n const expandableStyles = useSpring(resizeHeight);\n\n const renderContent = () => {\n return (\n <Expandable\n id={contentId}\n style={hasFirstLoad ? expandableStyles : resizeHeight}\n data-testid={`${testId}-expandable-container`}\n inert={inertValue(!expanded)}\n >\n <ContentContainer\n ref={resizeDetectorRef}\n data-testid=\"content-container\"\n >\n {children}\n </ContentContainer>\n </Expandable>\n );\n };\n\n const renderTitleText = () => {\n if (typeof title !== \"string\") {\n return title;\n }\n\n return (\n <Title\n data-testid={`${testId}-title`}\n $type={type}\n $isCollapsed={expanded}\n >\n {title}\n </Title>\n );\n };\n\n const renderTitle = () => {\n return (\n <h3 aria-level={itemHeadingLevel}>\n <ExpandCollapseButton\n data-testid={`${testId}-expand-collapse-button`}\n onClick={\n collapsible ? handleExpandCollapseClick : undefined\n }\n $expanded={expanded}\n $collapsible={collapsible}\n aria-controls={contentId}\n aria-disabled={!collapsible} // remains focusable\n aria-expanded={expanded}\n >\n {renderTitleText()}\n {collapsible && (\n <IconContainer\n data-testid={`${testId}-expand-collapse-icon`}\n $expanded={expanded}\n >\n <ChevronIcon />\n </IconContainer>\n )}\n </ExpandCollapseButton>\n </h3>\n );\n };\n\n return (\n <Container\n data-testid={testId}\n className={className}\n id={id}\n $expanded={expanded}\n ref={elementRef}\n >\n {renderTitle()}\n {renderContent()}\n </Container>\n );\n}\n\nexport const AccordionItem = forwardRef<\n AccordionItemHandle,\n AccordionItemProps\n>(Component);\n"],"names":["AccordionItem","forwardRef","title","children","type","collapsible","className","id","expanded","expandedControlled","onExpandChange","testId","ref","elementRef","useRef","expandAll","itemHeadingLevel","onItemStateChange","itemState","onItemDeregister","useContext","AccordionContext","hasFirstLoad","setHasFirstLoad","useState","internalId","useId","contentId","height","resizeDetectorRef","useResizeDetector","isControlled","undefined","_a","useImperativeHandle","Object","assign","current","expand","collapse","isExpanded","useEffect","next","handleExpandCollapseClick","event","preventDefault","resizeHeight","expandableStyles","useSpring","_jsxs","Container","$expanded","_jsx","ExpandCollapseButton","onClick","$collapsible","Title","$type","IconContainer","ChevronIcon","Expandable","style","inert","inertValue","ContentContainer"],"mappings":"ihBAqOaA,EAAgBC,EAAAA,YAzM7B,UACIC,MACIA,EAAKC,SACLA,EAAQC,KACRA,EAAO,UAASC,YAChBA,GAAc,EAAIC,UAClBA,EAASC,GACTA,EACAC,SAAUC,EAAkBC,eAC5BA,EACA,cAAeC,EAAS,kBAE5BC,SAKA,MAAMC,EAAaC,EAAAA,OAAuB,OACpCC,UACFA,EAASC,iBACTA,EAAgBC,kBAChBA,EAAiBC,UACjBA,EAASC,iBACTA,GACAC,EAAAA,WAAWC,qBACRC,EAAcC,GAAmBC,EAAAA,UAAkB,GACpDC,EAAaC,EAAAA,QACbC,EAAY,GAAGF,aACfG,OAAEA,EAAQhB,IAAKiB,GAAsBC,EAAAA,oBACrCC,OAAkCC,IAAnBtB,EACfF,EAAWuB,GACX1B,GACII,SAAAA,EAEiB,QAArBwB,EAAAf,EAAUO,UAAW,IAAAQ,EAAAA,GACpB5B,IAAcI,QAAAA,EAAsBM,GAE3CmB,EAAAA,oBACItB,GACA,IACIuB,OAAOC,OACHvB,EAAWwB,QACX,CACI,MAAAC,GACQP,EACArB,SAAAA,GAAiB,GAEjBO,EAAkBQ,GAAY,EAEtC,EACA,QAAAc,GACQR,EACArB,SAAAA,GAAiB,GAEjBO,EAAkBQ,GAAY,EAEtC,EACAe,WAAU,IACChC,KAIvB,CAACA,IAMLiC,EAAAA,WAAU,KACNlB,GAAgB,GAET,IAAMJ,aAAgB,EAAhBA,EAAmBM,KACjC,IAGHgB,EAAAA,WAAU,KACFV,GACAd,EACIQ,GACApB,GAAcI,SAAAA,EAEtB,GACD,CAACA,EAAoBJ,IAGxBoC,EAAAA,WAAU,KACDV,GACDd,EACIQ,GACApB,IAAcI,QAAAA,EAAsBM,GAE5C,GACD,CAACA,EAAWN,EAAoBJ,IAGnCoC,EAAAA,WAAU,KACN,IAAKV,IAAiBT,EAAc,OACpC,MAAMoB,GAAOrC,GAAcU,EACvB2B,IAASjC,IACTC,SAAAA,EAAiBgC,GACrB,GACD,CAAC3B,IAMJ,MAAM4B,EAA6BC,IAC/BA,EAAMC,iBACFd,EACArB,SAAAA,GAAkBF,GAElBS,EAAkBQ,GAAajB,EACnC,EAOEsC,EAAe,CACjBlB,OAAQpB,EAAWoB,EAAS,GAE1BmB,EAAmBC,EAAAA,UAAUF,GAgEnC,OACIG,EAAAA,KAACC,EAAAA,UAAS,CAAA,cACOvC,EACbL,UAAWA,EACXC,GAAIA,EAAE4C,UACK3C,EACXI,IAAKC,EAAUV,SAAA,CAhCfiD,MAAA,KAAA,CAAA,aAAgBpC,EAAgBb,SAC5B8C,EAAAA,KAACI,EAAAA,qBAAoB,CAAA,cACJ,GAAG1C,2BAChB2C,QACIjD,EAAcsC,OAA4BX,EAASmB,UAE5C3C,EAAQ+C,aACLlD,EAAW,gBACVsB,mBACCtB,EAAW,gBACZG,EAAQL,SAAA,CA3Bd,iBAAVD,EACAA,EAIPkD,EAAAA,IAACI,EAAAA,MAAK,CAAA,cACW,GAAG7C,UAAc8C,MACvBrD,eACOI,EAAQL,SAErBD,IAoBIG,GACG+C,MAACM,EAAAA,cAAa,CAAA,cACG,GAAG/C,yBAA6BwC,UAClC3C,EAAQL,SAEnBiD,EAAAA,IAACO,cAAW,CAAA,UApD5BP,EAAAA,IAACQ,EAAAA,WAAU,CACPrD,GAAIoB,EACJkC,MAAOvC,EAAeyB,EAAmBD,gBAC5B,GAAGnC,yBAChBmD,MAAOC,EAAAA,YAAYvD,YAEnB4C,EAAAA,IAACY,EAAAA,kBACGpD,IAAKiB,EAAiB,cACV,6BAEX1B,QA8DrB"}
|
|
@@ -85,14 +85,15 @@
|
|
|
85
85
|
}
|
|
86
86
|
`;case"large":return o.css`
|
|
87
87
|
height: 4rem;
|
|
88
|
-
${r.Font["heading-md-semibold"]}
|
|
88
|
+
${r.Font["heading-md-semibold"]};
|
|
89
|
+
font-family: ${r.Font.Spec["body-font-family"]};
|
|
89
90
|
|
|
90
91
|
${r.MediaQuery.MaxWidth.xxs} {
|
|
91
92
|
height: auto;
|
|
92
93
|
}
|
|
93
94
|
`;default:return o.css`
|
|
94
95
|
height: 3rem;
|
|
95
|
-
${r.Font["
|
|
96
|
+
${r.Font["body-baseline-semibold"]}
|
|
96
97
|
|
|
97
98
|
${r.MediaQuery.MaxWidth.xxs} {
|
|
98
99
|
height: auto;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.style.js","sources":["../../../src/button/button.style.tsx"],"sourcesContent":["import styled, { css } from \"styled-components\";\nimport { ComponentLoadingSpinner } from \"../shared/component-loading-spinner\";\nimport { Border, Colour, Font, MediaQuery, Motion, Spacing } from \"../theme\";\nimport { ThemeButton } from \"../theme/components/theme-helper\";\n\nexport type MainButtonStyle =\n | \"default\"\n | \"disabled\"\n | \"secondary\"\n | \"light\"\n | \"link\";\n\nexport type MainButtonSize = \"default\" | \"small\" | \"large\";\n\nexport interface MainStyleProps {\n $buttonStyle: MainButtonStyle;\n $buttonSizeStyle?: MainButtonSize | undefined;\n $buttonIsDanger?: boolean;\n}\n\nexport const Main = styled.button<MainStyleProps>`\n padding: ${Spacing[\"spacing-8\"]} ${Spacing[\"spacing-16\"]};\n min-width: 4rem;\n border: ${Border[\"width-010\"]} ${Border[\"solid\"]} transparent;\n transition: all ${Motion[\"duration-250\"]} ${Motion[\"ease-default\"]};\n border-radius: ${ThemeButton[\"button-radius\"]};\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n\n // -----------------------------------------------------------------------------\n // BUTTON STYLE + TEXT COLOR\n // -----------------------------------------------------------------------------\n ${(props) => {\n switch (props.$buttonStyle) {\n case \"secondary\":\n return css`\n background-color: ${Colour.bg};\n border-color: ${props.$buttonIsDanger\n ? Colour[\"border-error-strong\"]\n : ThemeButton[\"button-secondary-colour-border\"]};\n\n color: ${props.$buttonIsDanger\n ? Colour[\"text-error\"]\n : ThemeButton[\"button-secondary-colour-text\"]};\n\n &:hover,\n &:active {\n @media (pointer: fine) {\n background-color: ${Colour[\"bg-hover-neutral\"]};\n }\n }\n `;\n case \"light\":\n return css`\n background-color: ${Colour.bg};\n border-color: ${Colour.border};\n\n color: ${props.$buttonIsDanger\n ? Colour[\"text-error\"]\n : ThemeButton[\"button-light-colour-text\"]};\n\n &:hover,\n &:active {\n @media (pointer: fine) {\n background-color: ${Colour[\"bg-hover-neutral\"]};\n }\n }\n `;\n\n case \"link\":\n return css`\n background-color: transparent;\n\n color: ${props.$buttonIsDanger\n ? Colour[\"text-error\"]\n : ThemeButton[\"button-link-colour-text\"]};\n &:hover,\n &:active {\n @media (pointer: fine) {\n background-color: ${Colour[\"bg-hover-neutral\"]};\n }\n }\n `;\n case \"disabled\":\n return css`\n background-color: ${Colour[\"bg-disabled\"]};\n\n cursor: not-allowed;\n\n &:hover {\n box-shadow: none;\n }\n\n color: ${Colour[\"text-disabled\"]};\n `;\n default:\n return css`\n background-color: ${props.$buttonIsDanger\n ? Colour[\"bg-error-strong\"]\n : ThemeButton[\"button-default-colour-bg\"]};\n\n ${MediaQuery.MaxWidth.sm} {\n width: 100%;\n }\n\n color: ${ThemeButton[\"button-default-colour-text\"]};\n\n &:hover,\n &:active {\n @media (pointer: fine) {\n background-color: ${props.$buttonIsDanger\n ? Colour[\"bg-error-strong-hover\"]\n : ThemeButton[\n \"button-default-colour-bg-hover\"\n ]};\n }\n }\n `;\n }\n }}\n\n // -----------------------------------------------------------------------------\n\t// BUTTON SIZE + TEXT SIZE\n\t// -----------------------------------------------------------------------------\n\t${(props) => {\n switch (props.$buttonSizeStyle) {\n case \"small\":\n return css`\n height: 2.5rem;\n ${Font[\"body-md-semibold\"]}\n\n ${MediaQuery.MaxWidth.xxs} {\n height: auto;\n }\n `;\n\n case \"large\":\n return css`\n height: 4rem;\n ${Font[\"heading-md-semibold\"]}\n\n ${MediaQuery.MaxWidth.xxs} {\n height: auto;\n }\n `;\n\n default:\n return css`\n height: 3rem;\n ${Font[\"
|
|
1
|
+
{"version":3,"file":"button.style.js","sources":["../../../src/button/button.style.tsx"],"sourcesContent":["import styled, { css } from \"styled-components\";\nimport { ComponentLoadingSpinner } from \"../shared/component-loading-spinner\";\nimport { Border, Colour, Font, MediaQuery, Motion, Spacing } from \"../theme\";\nimport { ThemeButton } from \"../theme/components/theme-helper\";\n\nexport type MainButtonStyle =\n | \"default\"\n | \"disabled\"\n | \"secondary\"\n | \"light\"\n | \"link\";\n\nexport type MainButtonSize = \"default\" | \"small\" | \"large\";\n\nexport interface MainStyleProps {\n $buttonStyle: MainButtonStyle;\n $buttonSizeStyle?: MainButtonSize | undefined;\n $buttonIsDanger?: boolean;\n}\n\nexport const Main = styled.button<MainStyleProps>`\n padding: ${Spacing[\"spacing-8\"]} ${Spacing[\"spacing-16\"]};\n min-width: 4rem;\n border: ${Border[\"width-010\"]} ${Border[\"solid\"]} transparent;\n transition: all ${Motion[\"duration-250\"]} ${Motion[\"ease-default\"]};\n border-radius: ${ThemeButton[\"button-radius\"]};\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n\n // -----------------------------------------------------------------------------\n // BUTTON STYLE + TEXT COLOR\n // -----------------------------------------------------------------------------\n ${(props) => {\n switch (props.$buttonStyle) {\n case \"secondary\":\n return css`\n background-color: ${Colour.bg};\n border-color: ${props.$buttonIsDanger\n ? Colour[\"border-error-strong\"]\n : ThemeButton[\"button-secondary-colour-border\"]};\n\n color: ${props.$buttonIsDanger\n ? Colour[\"text-error\"]\n : ThemeButton[\"button-secondary-colour-text\"]};\n\n &:hover,\n &:active {\n @media (pointer: fine) {\n background-color: ${Colour[\"bg-hover-neutral\"]};\n }\n }\n `;\n case \"light\":\n return css`\n background-color: ${Colour.bg};\n border-color: ${Colour.border};\n\n color: ${props.$buttonIsDanger\n ? Colour[\"text-error\"]\n : ThemeButton[\"button-light-colour-text\"]};\n\n &:hover,\n &:active {\n @media (pointer: fine) {\n background-color: ${Colour[\"bg-hover-neutral\"]};\n }\n }\n `;\n\n case \"link\":\n return css`\n background-color: transparent;\n\n color: ${props.$buttonIsDanger\n ? Colour[\"text-error\"]\n : ThemeButton[\"button-link-colour-text\"]};\n &:hover,\n &:active {\n @media (pointer: fine) {\n background-color: ${Colour[\"bg-hover-neutral\"]};\n }\n }\n `;\n case \"disabled\":\n return css`\n background-color: ${Colour[\"bg-disabled\"]};\n\n cursor: not-allowed;\n\n &:hover {\n box-shadow: none;\n }\n\n color: ${Colour[\"text-disabled\"]};\n `;\n default:\n return css`\n background-color: ${props.$buttonIsDanger\n ? Colour[\"bg-error-strong\"]\n : ThemeButton[\"button-default-colour-bg\"]};\n\n ${MediaQuery.MaxWidth.sm} {\n width: 100%;\n }\n\n color: ${ThemeButton[\"button-default-colour-text\"]};\n\n &:hover,\n &:active {\n @media (pointer: fine) {\n background-color: ${props.$buttonIsDanger\n ? Colour[\"bg-error-strong-hover\"]\n : ThemeButton[\n \"button-default-colour-bg-hover\"\n ]};\n }\n }\n `;\n }\n }}\n\n // -----------------------------------------------------------------------------\n\t// BUTTON SIZE + TEXT SIZE\n\t// -----------------------------------------------------------------------------\n\t${(props) => {\n switch (props.$buttonSizeStyle) {\n case \"small\":\n return css`\n height: 2.5rem;\n ${Font[\"body-md-semibold\"]}\n\n ${MediaQuery.MaxWidth.xxs} {\n height: auto;\n }\n `;\n\n case \"large\":\n return css`\n height: 4rem;\n ${Font[\"heading-md-semibold\"]};\n font-family: ${Font.Spec[\"body-font-family\"]};\n\n ${MediaQuery.MaxWidth.xxs} {\n height: auto;\n }\n `;\n\n default:\n return css`\n height: 3rem;\n ${Font[\"body-baseline-semibold\"]}\n\n ${MediaQuery.MaxWidth.xxs} {\n height: auto;\n }\n `;\n }\n }}\n`;\n\nexport const Spinner = styled(ComponentLoadingSpinner)<{\n $hasChildren: boolean;\n}>`\n margin-right: ${(props) => (props.$hasChildren ? \"0.5rem\" : \"0\")};\n`;\n"],"names":["Main","styled","button","Spacing","Border","Motion","ThemeButton","props","$buttonStyle","css","Colour","bg","$buttonIsDanger","border","MediaQuery","MaxWidth","sm","$buttonSizeStyle","Font","xxs","Spec","Spinner","ComponentLoadingSpinner","$hasChildren"],"mappings":"iSAoBO,MAAMA,EAAOC,EAAAA,QAAOC,MAAsB;eAClCC,EAAAA,QAAQ,gBAAgBA,EAAAA,QAAQ;;cAEjCC,EAAAA,OAAO,gBAAgBA,EAAAA,OAAc;sBAC7BC,EAAAA,OAAO,mBAAmBA,EAAAA,OAAO;qBAClCC,EAAAA,YAAY;;;;;;;;;MAS1BC,IACC,OAAQA,EAAMC,cACV,IAAK,YACD,OAAOC,KAAG;wCACcC,EAAAA,OAAOC;oCACXJ,EAAMK,gBAChBF,EAAAA,OAAO,uBACPJ,EAAAA,YAAY;;6BAETC,EAAMK,gBACTF,EAAAA,OAAO,cACPJ,EAAAA,YAAY;;;;;gDAKUI,EAAAA,OAAO;;;kBAI3C,IAAK,QACD,OAAOD,KAAG;wCACcC,EAAAA,OAAOC;oCACXD,EAAAA,OAAOG;;6BAEdN,EAAMK,gBACTF,EAAAA,OAAO,cACPJ,EAAAA,YAAY;;;;;gDAKUI,EAAAA,OAAO;;;kBAK3C,IAAK,OACD,OAAOD,KAAG;;;6BAGGF,EAAMK,gBACTF,EAAAA,OAAO,cACPJ,EAAAA,YAAY;;;;gDAIUI,EAAAA,OAAO;;;kBAI3C,IAAK,WACD,OAAOD,KAAG;wCACcC,EAAAA,OAAO;;;;;;;;6BAQlBA,EAAAA,OAAO;kBAExB,QACI,OAAOD,KAAG;wCACcF,EAAMK,gBACpBF,EAAAA,OAAO,mBACPJ,EAAAA,YAAY;;sBAEhBQ,EAAAA,WAAWC,SAASC;;;;6BAIbV,EAAAA,YAAY;;;;;gDAKOC,EAAMK,gBACpBF,EAAAA,OAAO,yBACPJ,EAAAA,YACI;;;;;;;;GAWlCC,IACI,OAAQA,EAAMU,kBACV,IAAK,QACD,OAAOR,KAAG;;sBAEJS,EAAAA,KAAK;;sBAELJ,EAAAA,WAAWC,SAASI;;;kBAK9B,IAAK,QACD,OAAOV,KAAG;;sBAEJS,EAAAA,KAAK;mCACQA,EAAAA,KAAKE,KAAK;;sBAEvBN,EAAAA,WAAWC,SAASI;;;kBAK9B,QACI,OAAOV,KAAG;;sBAEJS,EAAAA,KAAK;;sBAELJ,EAAAA,WAAWC,SAASI;;;;EAQ7BE,EAAUpB,EAAAA,QAAOqB,EAAAA,wBAE5B;oBACmBf,GAAWA,EAAMgB,aAAe,SAAW;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../_virtual/_tslib.js");require("../../../@lit/reactive-element/reactive-element.js"),require("../../../lit-html/lit-html.js");var t=require("../../../lit-element/lit-element.js"),s=require("./sgds-element2.js"),r=require("../../../@lit/reactive-element/decorators/property.js");class i extends t.LitElement{emit(e,t){const s=new CustomEvent(e,Object.assign({bubbles:!0,cancelable:!1,composed:!0,detail:{}},t));return this.dispatchEvent(s),s}static define(e,t=this,s={}){if(customElements.get(e));else try{customElements.define(e,t,s)}catch(r){customElements.define(e,class extends t{},s)}}constructor(){super(),this.ssr=Boolean(this.shadowRoot),Object.entries(this.constructor.dependencies).forEach((([e,t])=>{this.constructor.define(e,t)}))}firstUpdated(e){var t;super.firstUpdated(e),this.ssr&&(null===(t=this.shadowRoot)||void 0===t||t.querySelectorAll("slot").forEach((e=>{e.dispatchEvent(new Event("slotchange",{bubbles:!0,composed:!1,cancelable:!1}))})))}}i.styles=[s.default],i.dependencies={},e.__decorate([r.property({type:Boolean,reflect:!0})],i.prototype,"ssr",void 0),exports.default=i;
|
|
2
|
+
//# sourceMappingURL=sgds-element.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sgds-element.js","sources":["../../../../../../node_modules/@govtechsg/sgds-web-component/base/sgds-element.js"],"sourcesContent":["import { __decorate } from 'tslib';\nimport { LitElement, isServer } from 'lit';\nimport css_248z from './sgds-element2.js';\nimport { property } from 'lit/decorators.js';\n\nclass SgdsElement extends LitElement {\n /** Emits a custom event with more convenient defaults. */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n emit(name, options) {\n const event = new CustomEvent(name, Object.assign({ bubbles: true, cancelable: false, composed: true, detail: {} }, options));\n this.dispatchEvent(event);\n return event;\n }\n static define(name, elementConstructor = this, options = {}) {\n const currentlyRegisteredConstructor = customElements.get(name);\n if (!currentlyRegisteredConstructor) {\n // We try to register as the actual class first. If for some reason that fails, we fall back to anonymous classes.\n // customElements can only have 1 class of the same \"object id\" per registry, so that is why the try {} catch {} exists.\n // Some tools like Jest Snapshots and if you import the constructor and call `new SgdsButton()` they will fail with\n // the anonymous class version.\n try {\n customElements.define(name, elementConstructor, options);\n }\n catch (_err) {\n customElements.define(name, class extends elementConstructor {\n }, options);\n }\n return;\n }\n }\n constructor() {\n super();\n /**@internal Set to true in SSR environment */\n this.ssr = isServer || Boolean(this.shadowRoot);\n Object.entries(this.constructor.dependencies).forEach(([name, component]) => {\n this.constructor.define(name, component);\n });\n }\n firstUpdated(changedProperties) {\n var _a;\n super.firstUpdated(changedProperties);\n // This is a fix to workaround SSR not being able to catch slotchange events.\n // https://github.com/lit/lit/discussions/4697\n if (this.ssr) {\n (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll(\"slot\").forEach(slotElement => {\n slotElement.dispatchEvent(new Event(\"slotchange\", { bubbles: true, composed: false, cancelable: false }));\n });\n }\n }\n}\nSgdsElement.styles = [css_248z];\n/** @internal */\nSgdsElement.dependencies = {};\n__decorate([\n property({ type: Boolean, reflect: true })\n], SgdsElement.prototype, \"ssr\", void 0);\n\nexport { SgdsElement as default };\n//# sourceMappingURL=sgds-element.js.map\n"],"names":["SgdsElement","LitElement","emit","name","options","event","CustomEvent","Object","assign","bubbles","cancelable","composed","detail","this","dispatchEvent","define","elementConstructor","customElements","get","_err","constructor","super","ssr","Boolean","shadowRoot","entries","dependencies","forEach","component","firstUpdated","changedProperties","_a","querySelectorAll","slotElement","Event","styles","css_248z","__decorate","property","type","reflect","prototype"],"mappings":"mXAKA,MAAMA,UAAoBC,EAAAA,WAGtB,IAAAC,CAAKC,EAAMC,GACP,MAAMC,EAAQ,IAAIC,YAAYH,EAAMI,OAAOC,OAAO,CAAEC,SAAS,EAAMC,YAAY,EAAOC,UAAU,EAAMC,OAAQ,CAAA,GAAMR,IAEpH,OADAS,KAAKC,cAAcT,GACZA,CACX,CACA,aAAOU,CAAOZ,EAAMa,EAAqBH,KAAMT,EAAU,CAAA,GAErD,GADuCa,eAAeC,IAAIf,SAMtD,IACIc,eAAeF,OAAOZ,EAAMa,EAAoBZ,EACpD,CACA,MAAOe,GACHF,eAAeF,OAAOZ,EAAM,cAAca,IACvCZ,EACP,CAGR,CACA,WAAAgB,GACIC,QAEAR,KAAKS,IAAkBC,QAAQV,KAAKW,YACpCjB,OAAOkB,QAAQZ,KAAKO,YAAYM,cAAcC,SAAQ,EAAExB,EAAMyB,MAC1Df,KAAKO,YAAYL,OAAOZ,EAAMyB,EAAU,GAEhD,CACA,YAAAC,CAAaC,GACT,IAAIC,EACJV,MAAMQ,aAAaC,GAGfjB,KAAKS,MACsB,QAA1BS,EAAKlB,KAAKW,kBAA+B,IAAPO,GAAyBA,EAAGC,iBAAiB,QAAQL,SAAQM,IAC5FA,EAAYnB,cAAc,IAAIoB,MAAM,aAAc,CAAEzB,SAAS,EAAME,UAAU,EAAOD,YAAY,IAAS,IAGrH,EAEJV,EAAYmC,OAAS,CAACC,WAEtBpC,EAAY0B,aAAe,CAAA,EAC3BW,EAAAA,WAAW,CACPC,EAAAA,SAAS,CAAEC,KAAMhB,QAASiB,SAAS,KACpCxC,EAAYyC,UAAW,WAAO","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),require("../../../@lit/reactive-element/reactive-element.js"),require("../../../lit-html/lit-html.js"),require("../../../lit-element/lit-element.js");var e=require("../../../@lit/reactive-element/css-tag.js").css`:host{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-font-smoothing:antialiased;color:var(--sgds-body-color-default,#1a1a1a);display:block;font-family:var(--sgds-font-family-brand,"Inter",system-ui,sans-serif);font-size:var(--sgds-font-size-body-md,1rem);font-weight:var(--sgds-font-weight-regular,400);line-height:var(--sgds-line-height-xs,24px);margin:0;*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:disabled{cursor:not-allowed}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}::slotted(a[target=_blank]):after,a[target=_blank]:after{background-color:currentColor;content:"/";display:inline-block;height:1em;-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9.774 4.4H9.8a.6.6 0 1 1 0 1.2c-.85 0-1.451 0-1.922.039-.463.038-.745.11-.968.223A2.4 2.4 0 0 0 5.861 6.91c-.113.223-.184.505-.222.968-.039.47-.04 1.072-.04 1.922v4.4c0 .85.001 1.451.04 1.922.038.463.11.745.222.968a2.4 2.4 0 0 0 1.05 1.048c.222.114.504.185.967.223.47.038 1.072.039 1.922.039h4.4c.85 0 1.451 0 1.921-.039.464-.038.746-.11.969-.223a2.4 2.4 0 0 0 1.048-1.048c.113-.223.185-.505.223-.968.038-.47.039-1.072.039-1.922a.6.6 0 1 1 1.2 0v.026c0 .818 0 1.468-.043 1.993-.044.538-.136.996-.35 1.415a3.6 3.6 0 0 1-1.573 1.574c-.42.213-.878.305-1.415.35-.525.042-1.175.042-1.993.042H9.774c-.818 0-1.469 0-1.993-.043-.538-.044-.996-.136-1.415-.35a3.6 3.6 0 0 1-1.574-1.573c-.213-.42-.305-.877-.35-1.415-.042-.525-.042-1.175-.042-1.993V9.774c0-.818 0-1.468.043-1.993.044-.538.136-.996.35-1.415a3.6 3.6 0 0 1 1.573-1.574c.42-.213.877-.305 1.415-.35C8.305 4.4 8.956 4.4 9.774 4.4ZM12.4 5a.6.6 0 0 1 .6-.6h6a.6.6 0 0 1 .6.6v6a.6.6 0 1 1-1.2 0V6.449l-5.976 5.975a.6.6 0 0 1-.848-.848L17.55 5.6H13a.6.6 0 0 1-.6-.6Z' fill='%230E0E0E'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9.774 4.4H9.8a.6.6 0 1 1 0 1.2c-.85 0-1.451 0-1.922.039-.463.038-.745.11-.968.223A2.4 2.4 0 0 0 5.861 6.91c-.113.223-.184.505-.222.968-.039.47-.04 1.072-.04 1.922v4.4c0 .85.001 1.451.04 1.922.038.463.11.745.222.968a2.4 2.4 0 0 0 1.05 1.048c.222.114.504.185.967.223.47.038 1.072.039 1.922.039h4.4c.85 0 1.451 0 1.921-.039.464-.038.746-.11.969-.223a2.4 2.4 0 0 0 1.048-1.048c.113-.223.185-.505.223-.968.038-.47.039-1.072.039-1.922a.6.6 0 1 1 1.2 0v.026c0 .818 0 1.468-.043 1.993-.044.538-.136.996-.35 1.415a3.6 3.6 0 0 1-1.573 1.574c-.42.213-.878.305-1.415.35-.525.042-1.175.042-1.993.042H9.774c-.818 0-1.469 0-1.993-.043-.538-.044-.996-.136-1.415-.35a3.6 3.6 0 0 1-1.574-1.573c-.213-.42-.305-.877-.35-1.415-.042-.525-.042-1.175-.042-1.993V9.774c0-.818 0-1.468.043-1.993.044-.538.136-.996.35-1.415a3.6 3.6 0 0 1 1.573-1.574c.42-.213.877-.305 1.415-.35C8.305 4.4 8.956 4.4 9.774 4.4ZM12.4 5a.6.6 0 0 1 .6-.6h6a.6.6 0 0 1 .6.6v6a.6.6 0 1 1-1.2 0V6.449l-5.976 5.975a.6.6 0 0 1-.848-.848L17.55 5.6H13a.6.6 0 0 1-.6-.6Z' fill='%230E0E0E'/%3E%3C/svg%3E");-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;vertical-align:top;width:1em}::slotted(svg){vertical-align:middle}}`;exports.default=e;
|
|
2
|
+
//# sourceMappingURL=sgds-element2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sgds-element2.js","sources":["../../../../../../node_modules/@govtechsg/sgds-web-component/base/sgds-element2.js"],"sourcesContent":["import { css } from 'lit';\n\nvar css_248z = css`:host{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-font-smoothing:antialiased;color:var(--sgds-body-color-default,#1a1a1a);display:block;font-family:var(--sgds-font-family-brand,\"Inter\",system-ui,sans-serif);font-size:var(--sgds-font-size-body-md,1rem);font-weight:var(--sgds-font-weight-regular,400);line-height:var(--sgds-line-height-xs,24px);margin:0;*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:disabled{cursor:not-allowed}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}::slotted(a[target=_blank]):after,a[target=_blank]:after{background-color:currentColor;content:\"/\";display:inline-block;height:1em;-webkit-mask-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9.774 4.4H9.8a.6.6 0 1 1 0 1.2c-.85 0-1.451 0-1.922.039-.463.038-.745.11-.968.223A2.4 2.4 0 0 0 5.861 6.91c-.113.223-.184.505-.222.968-.039.47-.04 1.072-.04 1.922v4.4c0 .85.001 1.451.04 1.922.038.463.11.745.222.968a2.4 2.4 0 0 0 1.05 1.048c.222.114.504.185.967.223.47.038 1.072.039 1.922.039h4.4c.85 0 1.451 0 1.921-.039.464-.038.746-.11.969-.223a2.4 2.4 0 0 0 1.048-1.048c.113-.223.185-.505.223-.968.038-.47.039-1.072.039-1.922a.6.6 0 1 1 1.2 0v.026c0 .818 0 1.468-.043 1.993-.044.538-.136.996-.35 1.415a3.6 3.6 0 0 1-1.573 1.574c-.42.213-.878.305-1.415.35-.525.042-1.175.042-1.993.042H9.774c-.818 0-1.469 0-1.993-.043-.538-.044-.996-.136-1.415-.35a3.6 3.6 0 0 1-1.574-1.573c-.213-.42-.305-.877-.35-1.415-.042-.525-.042-1.175-.042-1.993V9.774c0-.818 0-1.468.043-1.993.044-.538.136-.996.35-1.415a3.6 3.6 0 0 1 1.573-1.574c.42-.213.877-.305 1.415-.35C8.305 4.4 8.956 4.4 9.774 4.4ZM12.4 5a.6.6 0 0 1 .6-.6h6a.6.6 0 0 1 .6.6v6a.6.6 0 1 1-1.2 0V6.449l-5.976 5.975a.6.6 0 0 1-.848-.848L17.55 5.6H13a.6.6 0 0 1-.6-.6Z' fill='%230E0E0E'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9.774 4.4H9.8a.6.6 0 1 1 0 1.2c-.85 0-1.451 0-1.922.039-.463.038-.745.11-.968.223A2.4 2.4 0 0 0 5.861 6.91c-.113.223-.184.505-.222.968-.039.47-.04 1.072-.04 1.922v4.4c0 .85.001 1.451.04 1.922.038.463.11.745.222.968a2.4 2.4 0 0 0 1.05 1.048c.222.114.504.185.967.223.47.038 1.072.039 1.922.039h4.4c.85 0 1.451 0 1.921-.039.464-.038.746-.11.969-.223a2.4 2.4 0 0 0 1.048-1.048c.113-.223.185-.505.223-.968.038-.47.039-1.072.039-1.922a.6.6 0 1 1 1.2 0v.026c0 .818 0 1.468-.043 1.993-.044.538-.136.996-.35 1.415a3.6 3.6 0 0 1-1.573 1.574c-.42.213-.878.305-1.415.35-.525.042-1.175.042-1.993.042H9.774c-.818 0-1.469 0-1.993-.043-.538-.044-.996-.136-1.415-.35a3.6 3.6 0 0 1-1.574-1.573c-.213-.42-.305-.877-.35-1.415-.042-.525-.042-1.175-.042-1.993V9.774c0-.818 0-1.468.043-1.993.044-.538.136-.996.35-1.415a3.6 3.6 0 0 1 1.573-1.574c.42-.213.877-.305 1.415-.35C8.305 4.4 8.956 4.4 9.774 4.4ZM12.4 5a.6.6 0 0 1 .6-.6h6a.6.6 0 0 1 .6.6v6a.6.6 0 1 1-1.2 0V6.449l-5.976 5.975a.6.6 0 0 1-.848-.848L17.55 5.6H13a.6.6 0 0 1-.6-.6Z' fill='%230E0E0E'/%3E%3C/svg%3E\");-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;vertical-align:top;width:1em}::slotted(svg){vertical-align:middle}}`;\n\nexport { css_248z as default };\n//# sourceMappingURL=sgds-element2.js.map\n"],"names":["css_248z","css"],"mappings":"8NAEIA,uDAAWC,GAAG","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../../node_modules/@govtechsg/sgds-web-component/components/Masthead/index.js"],"sourcesContent":["import { SgdsMasthead } from './sgds-masthead.js';\nimport { register } from '../../utils/ce-registry.js';\n\nregister(\"sgds-masthead\", SgdsMasthead);\n//# sourceMappingURL=index.js.map\n"],"names":["register","SgdsMasthead"],"mappings":"uFAGAA,SAAS,gBAAiBC,EAAAA","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),require("../../../../@lit/reactive-element/reactive-element.js"),require("../../../../lit-html/lit-html.js"),require("../../../../lit-element/lit-element.js");var e=require("../../../../@lit/reactive-element/css-tag.js").css`b{font-weight:bolder}[role=button]{cursor:pointer}a{color:#0049dc;text-decoration:none!important}a[target=_blank]:after{height:var(--sgds-icon-size-sm,1rem)!important;-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M6.516 2.933h.017a.4.4 0 1 1 0 .8c-.566 0-.967 0-1.28.026-.31.025-.498.073-.646.149a1.6 1.6 0 0 0-.7.699c-.075.148-.123.336-.148.645-.025.314-.026.714-.026 1.281v2.933c0 .567 0 .968.026 1.282.026.308.073.497.149.645a1.6 1.6 0 0 0 .699.699c.148.075.337.123.645.149.314.025.715.025 1.281.025h2.934c.566 0 .967 0 1.28-.025.31-.026.498-.073.646-.149a1.6 1.6 0 0 0 .7-.7c.075-.147.123-.336.148-.644.025-.314.026-.715.026-1.282a.4.4 0 0 1 .8 0v.018c0 .545 0 .979-.029 1.329-.03.358-.09.663-.233.943a2.4 2.4 0 0 1-1.049 1.049c-.28.142-.585.204-.943.233-.35.028-.784.028-1.329.028H6.516c-.545 0-.979 0-1.329-.028-.358-.03-.664-.09-.943-.233a2.4 2.4 0 0 1-1.05-1.049c-.142-.28-.203-.585-.232-.943-.029-.35-.029-.784-.029-1.33V6.517c0-.546 0-.98.029-1.33.03-.357.09-.663.233-.942a2.4 2.4 0 0 1 1.049-1.05c.28-.142.585-.203.943-.232.35-.029.784-.029 1.329-.029Zm1.75.4c0-.22.18-.4.4-.4h4c.222 0 .4.18.4.4v4a.4.4 0 0 1-.8 0V4.3L8.284 8.283a.4.4 0 0 1-.566-.566l3.984-3.984H8.667a.4.4 0 0 1-.4-.4Z' fill='%230269D0'/%3E%3C/svg%3E")!important;mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M6.516 2.933h.017a.4.4 0 1 1 0 .8c-.566 0-.967 0-1.28.026-.31.025-.498.073-.646.149a1.6 1.6 0 0 0-.7.699c-.075.148-.123.336-.148.645-.025.314-.026.714-.026 1.281v2.933c0 .567 0 .968.026 1.282.026.308.073.497.149.645a1.6 1.6 0 0 0 .699.699c.148.075.337.123.645.149.314.025.715.025 1.281.025h2.934c.566 0 .967 0 1.28-.025.31-.026.498-.073.646-.149a1.6 1.6 0 0 0 .7-.7c.075-.147.123-.336.148-.644.025-.314.026-.715.026-1.282a.4.4 0 0 1 .8 0v.018c0 .545 0 .979-.029 1.329-.03.358-.09.663-.233.943a2.4 2.4 0 0 1-1.049 1.049c-.28.142-.585.204-.943.233-.35.028-.784.028-1.329.028H6.516c-.545 0-.979 0-1.329-.028-.358-.03-.664-.09-.943-.233a2.4 2.4 0 0 1-1.05-1.049c-.142-.28-.203-.585-.232-.943-.029-.35-.029-.784-.029-1.33V6.517c0-.546 0-.98.029-1.33.03-.357.09-.663.233-.942a2.4 2.4 0 0 1 1.049-1.05c.28-.142.585-.203.943-.232.35-.029.784-.029 1.329-.029Zm1.75.4c0-.22.18-.4.4-.4h4c.222 0 .4.18.4.4v4a.4.4 0 0 1-.8 0V4.3L8.284 8.283a.4.4 0 0 1-.566-.566l3.984-3.984H8.667a.4.4 0 0 1-.4-.4Z' fill='%230269D0'/%3E%3C/svg%3E")!important;width:var(--sgds-icon-size-sm,1rem)!important}a:hover{color:#0022b9}.sgds-masthead{color-scheme:var(--sgds-color-scheme,only light);font-family:Inter,system-ui,sans-serif;font-size:.875rem;line-height:1.25rem}.banner{background-color:light-dark(#f7f7f7,#1a1a1a)}.container{margin-left:auto;margin-right:auto;max-width:var(--sgds-mainnav-max-width,1440px);padding:.25rem var(--sgds-mainnav-mobile-padding-x,1.25rem);width:100%}:host([fluid]) .container{max-width:none}.sg-crest{flex-shrink:0;height:20px;width:20px}.sg-crest path{fill:#db0000}.masthead-layout{display:flex;gap:.25rem}.masthead-text-layout{align-items:center;display:flex;flex-wrap:wrap;gap:0 .75rem}.sgds-masthead-identify-icon{align-self:center;display:block;height:20px;transform:rotate(180deg);transition:transform .3s ease-in-out 0s;user-select:none;width:20px}.sgds-masthead-identify-icon.show{transform:rotate(0deg)}.sgds-masthead-button{align-items:center;color:light-dark(#0269d0,#60aaf4);cursor:pointer;display:flex;gap:4px}.sgds-masthead-button:hover{color:light-dark(#0151a0,#96c7f7)}.panel{background-color:light-dark(#f7f7f7,#1a1a1a)}.sgds-masthead .sgds-masthead-content{display:grid;grid-template-rows:0fr;opacity:0;overflow:hidden;padding-bottom:0;padding-top:0;transition:grid-template-rows .3s cubic-bezier(.25,0,.25,1),opacity .3s cubic-bezier(.25,0,.25,1),padding .3s cubic-bezier(.25,0,.25,1)}.sgds-masthead .sgds-masthead-content.show{grid-template-rows:1fr;opacity:1;padding-bottom:1rem;padding-top:1rem}.sgds-masthead .sgds-masthead-content>.content-grid{min-height:0}.content-grid{display:grid;gap:1rem;grid-template-columns:1fr}.icon{margin-top:-.1em}.wrapper{display:flex;gap:.5rem}.content{display:flex;flex-direction:column;gap:.25rem}.content .title{font-weight:600}.content article{color:light-dark(#525252,#a5a5a5)}.banner-icon,.banner-icon-inline{height:20px;width:20px}.banner-icon path,.banner-icon-inline path{fill:light-dark(#1a1a1a,#f3f3f3)}a.trusted-websites-link{color:light-dark(#0269d0,#60aaf4);text-decoration:underline;width:fit-content}a.trusted-websites-link:hover{color:light-dark(#0151a0,#96c7f7)}.sgds-masthead-button:focus-visible,a.trusted-websites-link:focus-visible{outline:4px solid #60aaf4}@media screen and (min-width:768px){.content-grid{gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}@media screen and (min-width:1024px){.container{padding:.25rem var(--sgds-mainnav-padding-x,2rem)}}`;exports.default=e;
|
|
2
|
+
//# sourceMappingURL=masthead.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"masthead.js","sources":["../../../../../../../node_modules/@govtechsg/sgds-web-component/components/Masthead/masthead.js"],"sourcesContent":["import { css } from 'lit';\n\nvar css_248z = css`b{font-weight:bolder}[role=button]{cursor:pointer}a{color:#0049dc;text-decoration:none!important}a[target=_blank]:after{height:var(--sgds-icon-size-sm,1rem)!important;-webkit-mask-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M6.516 2.933h.017a.4.4 0 1 1 0 .8c-.566 0-.967 0-1.28.026-.31.025-.498.073-.646.149a1.6 1.6 0 0 0-.7.699c-.075.148-.123.336-.148.645-.025.314-.026.714-.026 1.281v2.933c0 .567 0 .968.026 1.282.026.308.073.497.149.645a1.6 1.6 0 0 0 .699.699c.148.075.337.123.645.149.314.025.715.025 1.281.025h2.934c.566 0 .967 0 1.28-.025.31-.026.498-.073.646-.149a1.6 1.6 0 0 0 .7-.7c.075-.147.123-.336.148-.644.025-.314.026-.715.026-1.282a.4.4 0 0 1 .8 0v.018c0 .545 0 .979-.029 1.329-.03.358-.09.663-.233.943a2.4 2.4 0 0 1-1.049 1.049c-.28.142-.585.204-.943.233-.35.028-.784.028-1.329.028H6.516c-.545 0-.979 0-1.329-.028-.358-.03-.664-.09-.943-.233a2.4 2.4 0 0 1-1.05-1.049c-.142-.28-.203-.585-.232-.943-.029-.35-.029-.784-.029-1.33V6.517c0-.546 0-.98.029-1.33.03-.357.09-.663.233-.942a2.4 2.4 0 0 1 1.049-1.05c.28-.142.585-.203.943-.232.35-.029.784-.029 1.329-.029Zm1.75.4c0-.22.18-.4.4-.4h4c.222 0 .4.18.4.4v4a.4.4 0 0 1-.8 0V4.3L8.284 8.283a.4.4 0 0 1-.566-.566l3.984-3.984H8.667a.4.4 0 0 1-.4-.4Z' fill='%230269D0'/%3E%3C/svg%3E\")!important;mask-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M6.516 2.933h.017a.4.4 0 1 1 0 .8c-.566 0-.967 0-1.28.026-.31.025-.498.073-.646.149a1.6 1.6 0 0 0-.7.699c-.075.148-.123.336-.148.645-.025.314-.026.714-.026 1.281v2.933c0 .567 0 .968.026 1.282.026.308.073.497.149.645a1.6 1.6 0 0 0 .699.699c.148.075.337.123.645.149.314.025.715.025 1.281.025h2.934c.566 0 .967 0 1.28-.025.31-.026.498-.073.646-.149a1.6 1.6 0 0 0 .7-.7c.075-.147.123-.336.148-.644.025-.314.026-.715.026-1.282a.4.4 0 0 1 .8 0v.018c0 .545 0 .979-.029 1.329-.03.358-.09.663-.233.943a2.4 2.4 0 0 1-1.049 1.049c-.28.142-.585.204-.943.233-.35.028-.784.028-1.329.028H6.516c-.545 0-.979 0-1.329-.028-.358-.03-.664-.09-.943-.233a2.4 2.4 0 0 1-1.05-1.049c-.142-.28-.203-.585-.232-.943-.029-.35-.029-.784-.029-1.33V6.517c0-.546 0-.98.029-1.33.03-.357.09-.663.233-.942a2.4 2.4 0 0 1 1.049-1.05c.28-.142.585-.203.943-.232.35-.029.784-.029 1.329-.029Zm1.75.4c0-.22.18-.4.4-.4h4c.222 0 .4.18.4.4v4a.4.4 0 0 1-.8 0V4.3L8.284 8.283a.4.4 0 0 1-.566-.566l3.984-3.984H8.667a.4.4 0 0 1-.4-.4Z' fill='%230269D0'/%3E%3C/svg%3E\")!important;width:var(--sgds-icon-size-sm,1rem)!important}a:hover{color:#0022b9}.sgds-masthead{color-scheme:var(--sgds-color-scheme,only light);font-family:Inter,system-ui,sans-serif;font-size:.875rem;line-height:1.25rem}.banner{background-color:light-dark(#f7f7f7,#1a1a1a)}.container{margin-left:auto;margin-right:auto;max-width:var(--sgds-mainnav-max-width,1440px);padding:.25rem var(--sgds-mainnav-mobile-padding-x,1.25rem);width:100%}:host([fluid]) .container{max-width:none}.sg-crest{flex-shrink:0;height:20px;width:20px}.sg-crest path{fill:#db0000}.masthead-layout{display:flex;gap:.25rem}.masthead-text-layout{align-items:center;display:flex;flex-wrap:wrap;gap:0 .75rem}.sgds-masthead-identify-icon{align-self:center;display:block;height:20px;transform:rotate(180deg);transition:transform .3s ease-in-out 0s;user-select:none;width:20px}.sgds-masthead-identify-icon.show{transform:rotate(0deg)}.sgds-masthead-button{align-items:center;color:light-dark(#0269d0,#60aaf4);cursor:pointer;display:flex;gap:4px}.sgds-masthead-button:hover{color:light-dark(#0151a0,#96c7f7)}.panel{background-color:light-dark(#f7f7f7,#1a1a1a)}.sgds-masthead .sgds-masthead-content{display:grid;grid-template-rows:0fr;opacity:0;overflow:hidden;padding-bottom:0;padding-top:0;transition:grid-template-rows .3s cubic-bezier(.25,0,.25,1),opacity .3s cubic-bezier(.25,0,.25,1),padding .3s cubic-bezier(.25,0,.25,1)}.sgds-masthead .sgds-masthead-content.show{grid-template-rows:1fr;opacity:1;padding-bottom:1rem;padding-top:1rem}.sgds-masthead .sgds-masthead-content>.content-grid{min-height:0}.content-grid{display:grid;gap:1rem;grid-template-columns:1fr}.icon{margin-top:-.1em}.wrapper{display:flex;gap:.5rem}.content{display:flex;flex-direction:column;gap:.25rem}.content .title{font-weight:600}.content article{color:light-dark(#525252,#a5a5a5)}.banner-icon,.banner-icon-inline{height:20px;width:20px}.banner-icon path,.banner-icon-inline path{fill:light-dark(#1a1a1a,#f3f3f3)}a.trusted-websites-link{color:light-dark(#0269d0,#60aaf4);text-decoration:underline;width:fit-content}a.trusted-websites-link:hover{color:light-dark(#0151a0,#96c7f7)}.sgds-masthead-button:focus-visible,a.trusted-websites-link:focus-visible{outline:4px solid #60aaf4}@media screen and (min-width:768px){.content-grid{gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}@media screen and (min-width:1024px){.container{padding:.25rem var(--sgds-mainnav-padding-x,2rem)}}`;\n\nexport { css_248z as default };\n//# sourceMappingURL=masthead.js.map\n"],"names":["css_248z","css"],"mappings":"uOAEIA,0DAAWC,GAAG","x_google_ignoreList":[0]}
|