@lifesg/react-design-system 3.4.0 → 3.5.0-canary.2
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/cjs/e-signature/e-signature-canvas.js +1 -1
- package/cjs/e-signature/e-signature-canvas.js.map +1 -1
- package/cjs/e-signature/e-signature.styles.js +19 -15
- package/cjs/e-signature/e-signature.styles.js.map +1 -1
- package/cjs/file-download/file-list-card/file-list-card.styles.js +1 -1
- package/cjs/file-download/file-list-card/file-list-card.styles.js.map +1 -1
- package/cjs/file-upload/file-item-edit.js +1 -1
- package/cjs/file-upload/file-item-edit.js.map +1 -1
- package/cjs/file-upload/file-item-edit.styles.js +12 -7
- package/cjs/file-upload/file-item-edit.styles.js.map +1 -1
- package/cjs/file-upload/file-list-item/file-list-item.js +1 -1
- package/cjs/file-upload/file-list-item/file-list-item.js.map +1 -1
- package/cjs/file-upload/file-list-item/file-list-item.styles.js +74 -52
- package/cjs/file-upload/file-list-item/file-list-item.styles.js.map +1 -1
- package/cjs/file-upload/file-list.js +1 -1
- package/cjs/file-upload/file-list.js.map +1 -1
- package/cjs/file-upload/file-list.styles.js +4 -11
- package/cjs/file-upload/file-list.styles.js.map +1 -1
- package/cjs/file-upload/file-upload.js +1 -1
- package/cjs/file-upload/file-upload.js.map +1 -1
- package/cjs/footer/footer-helper.js +1 -1
- package/cjs/footer/footer-helper.js.map +1 -1
- package/cjs/form/form-label.style.js +11 -8
- package/cjs/form/form-label.style.js.map +1 -1
- package/cjs/index.js +1 -1
- package/cjs/navbar/drawer.js +1 -1
- package/cjs/navbar/drawer.js.map +1 -1
- package/cjs/navbar/navbar-logo-data.js +1 -1
- package/cjs/navbar/navbar-logo-data.js.map +1 -1
- package/cjs/navbar/navbar.js +1 -1
- package/cjs/navbar/navbar.js.map +1 -1
- package/cjs/shared/internal-calendar/calendar-manager.style.js +18 -17
- package/cjs/shared/internal-calendar/calendar-manager.style.js.map +1 -1
- package/cjs/theme/colour-primitive/specs/toteboard-colour-set.js +2 -0
- package/cjs/theme/colour-primitive/specs/toteboard-colour-set.js.map +1 -0
- package/cjs/theme/colour-primitive/theme-helper.js +1 -1
- package/cjs/theme/colour-primitive/theme-helper.js.map +1 -1
- package/cjs/theme/colour-semantic/theme-helper.js +1 -1
- package/cjs/theme/colour-semantic/theme-helper.js.map +1 -1
- package/cjs/theme/font/specs/toteboard-font-set.js +2 -0
- package/cjs/theme/font/specs/toteboard-font-set.js.map +1 -0
- package/cjs/theme/font/theme-helper.js +1 -1
- package/cjs/theme/font/theme-helper.js.map +1 -1
- package/cjs/theme/font-spec/specs/bookingsg-font-spec-set.js +1 -1
- package/cjs/theme/font-spec/specs/bookingsg-font-spec-set.js.map +1 -1
- package/cjs/theme/font-spec/specs/default-font-spec-set.js +1 -1
- package/cjs/theme/font-spec/specs/default-font-spec-set.js.map +1 -1
- package/cjs/theme/font-spec/specs/sgw-digital-lobby-font-spec-set.js +1 -1
- package/cjs/theme/font-spec/specs/sgw-digital-lobby-font-spec-set.js.map +1 -1
- package/cjs/theme/font-spec/specs/toteboard-font-spec-set.js +2 -0
- package/cjs/theme/font-spec/specs/toteboard-font-spec-set.js.map +1 -0
- package/cjs/theme/font-spec/theme-helper.js +1 -1
- package/cjs/theme/font-spec/theme-helper.js.map +1 -1
- package/cjs/theme/index.js +1 -1
- package/cjs/theme/index.js.map +1 -1
- package/cjs/time-range-picker/combobox-picker/combobox-picker.js +1 -1
- package/cjs/time-range-picker/combobox-picker/combobox-picker.js.map +1 -1
- package/cjs/time-range-picker/common.styles.js +7 -3
- package/cjs/time-range-picker/common.styles.js.map +1 -1
- package/cjs/time-range-picker/dial-picker/dial-picker.js +1 -1
- package/cjs/time-range-picker/dial-picker/dial-picker.js.map +1 -1
- package/cjs/timepicker/timepicker.styles.js +7 -3
- package/cjs/timepicker/timepicker.styles.js.map +1 -1
- package/cjs/typography/typography.styles.js +6 -6
- package/cjs/typography/typography.styles.js.map +1 -1
- package/cjs/util/merge-refs.js +1 -1
- package/cjs/util/merge-refs.js.map +1 -1
- package/e-signature/e-signature-canvas.js +1 -1
- package/e-signature/e-signature-canvas.js.map +1 -1
- package/e-signature/e-signature.styles.js +20 -16
- package/e-signature/e-signature.styles.js.map +1 -1
- package/file-download/file-list-card/file-list-card.styles.js +1 -1
- package/file-download/file-list-card/file-list-card.styles.js.map +1 -1
- package/file-upload/file-item-edit.d.ts +4 -1
- package/file-upload/file-item-edit.js +1 -1
- package/file-upload/file-item-edit.js.map +1 -1
- package/file-upload/file-item-edit.styles.js +21 -16
- package/file-upload/file-item-edit.styles.js.map +1 -1
- package/file-upload/file-list-item/file-list-item.d.ts +3 -1
- package/file-upload/file-list-item/file-list-item.js +1 -1
- package/file-upload/file-list-item/file-list-item.js.map +1 -1
- package/file-upload/file-list-item/file-list-item.styles.d.ts +14 -0
- package/file-upload/file-list-item/file-list-item.styles.js +67 -45
- package/file-upload/file-list-item/file-list-item.styles.js.map +1 -1
- package/file-upload/file-list.d.ts +3 -0
- package/file-upload/file-list.js +1 -1
- package/file-upload/file-list.js.map +1 -1
- package/file-upload/file-list.styles.js +4 -11
- package/file-upload/file-list.styles.js.map +1 -1
- package/file-upload/file-upload.d.ts +1 -1
- package/file-upload/file-upload.js +1 -1
- package/file-upload/file-upload.js.map +1 -1
- package/file-upload/types.d.ts +5 -0
- package/footer/footer-helper.js +1 -1
- package/footer/footer-helper.js.map +1 -1
- package/form/form-label.style.js +12 -9
- package/form/form-label.style.js.map +1 -1
- package/index.js +1 -1
- package/navbar/drawer.js +1 -1
- package/navbar/drawer.js.map +1 -1
- package/navbar/navbar-logo-data.js +1 -1
- package/navbar/navbar-logo-data.js.map +1 -1
- package/navbar/navbar.js +1 -1
- package/navbar/navbar.js.map +1 -1
- package/package.json +1 -1
- package/shared/internal-calendar/calendar-manager.style.js +18 -17
- package/shared/internal-calendar/calendar-manager.style.js.map +1 -1
- package/theme/colour-primitive/specs/toteboard-colour-set.d.ts +2 -0
- package/theme/colour-primitive/specs/toteboard-colour-set.js +2 -0
- package/theme/colour-primitive/specs/toteboard-colour-set.js.map +1 -0
- package/theme/colour-primitive/theme-helper.js +1 -1
- package/theme/colour-primitive/theme-helper.js.map +1 -1
- package/theme/colour-semantic/theme-helper.js +1 -1
- package/theme/colour-semantic/theme-helper.js.map +1 -1
- package/theme/font/specs/toteboard-font-set.d.ts +2 -0
- package/theme/font/specs/toteboard-font-set.js +2 -0
- package/theme/font/specs/toteboard-font-set.js.map +1 -0
- package/theme/font/theme-helper.js +1 -1
- package/theme/font/theme-helper.js.map +1 -1
- package/theme/font-spec/specs/bookingsg-font-spec-set.js +1 -1
- package/theme/font-spec/specs/bookingsg-font-spec-set.js.map +1 -1
- package/theme/font-spec/specs/default-font-spec-set.js +1 -1
- package/theme/font-spec/specs/default-font-spec-set.js.map +1 -1
- package/theme/font-spec/specs/sgw-digital-lobby-font-spec-set.js +1 -1
- package/theme/font-spec/specs/sgw-digital-lobby-font-spec-set.js.map +1 -1
- package/theme/font-spec/specs/toteboard-font-spec-set.d.ts +2 -0
- package/theme/font-spec/specs/toteboard-font-spec-set.js +2 -0
- package/theme/font-spec/specs/toteboard-font-spec-set.js.map +1 -0
- package/theme/font-spec/theme-helper.js +1 -1
- package/theme/font-spec/theme-helper.js.map +1 -1
- package/theme/index.d.ts +19 -0
- package/theme/index.js +1 -1
- package/theme/index.js.map +1 -1
- package/theme/types.d.ts +3 -3
- package/time-range-picker/combobox-picker/combobox-picker.js +1 -1
- package/time-range-picker/combobox-picker/combobox-picker.js.map +1 -1
- package/time-range-picker/common.styles.d.ts +6 -2
- package/time-range-picker/common.styles.js +9 -5
- package/time-range-picker/common.styles.js.map +1 -1
- package/time-range-picker/dial-picker/dial-picker.js +1 -1
- package/time-range-picker/dial-picker/dial-picker.js.map +1 -1
- package/timepicker/timepicker.styles.js +7 -3
- package/timepicker/timepicker.styles.js.map +1 -1
- package/typography/typography.styles.js +4 -4
- package/typography/typography.styles.js.map +1 -1
- package/util/merge-refs.d.ts +1 -1
- package/util/merge-refs.js +1 -1
- package/util/merge-refs.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"footer-helper.js","sources":["../../src/footer/footer-helper.ts"],"sourcesContent":["import dayjs from \"dayjs\";\nimport { ResourceScheme } from \"../theme/types\";\nimport { TypographyLinkProps } from \"../typography\";\nimport { getDefaultDisclaimerLinks } from \"./footer-disclaimer-links-data\";\nimport { DisclaimerLinks } from \"./types\";\n\n/* Internally used. Not to be exported */\nexport interface InternalDisclaimerLinks {\n privacy?: TypographyLinkProps | undefined;\n termsOfUse?: TypographyLinkProps | undefined;\n reportVulnerability?: TypographyLinkProps | undefined;\n}\n\nexport namespace FooterHelper {\n export const getCopyrightInfo = (\n lastUpdated: Date = new Date(),\n resourceScheme: ResourceScheme | undefined\n ): string => {\n const copyrightText = getCopyrightText(resourceScheme);\n const copyright = `${new Date().getFullYear()} ${copyrightText}`;\n const lastUpdatedDateString = dayjs(lastUpdated).format(\"D MMMM YYYY\");\n\n return `${copyright} Last updated ${lastUpdatedDateString}`;\n };\n\n const getCopyrightText = (resourceScheme: ResourceScheme | undefined) => {\n switch (resourceScheme) {\n case \"lifesg\":\n return \"LifeSG, Government of Singapore.\";\n case \"bookingsg\":\n return \"BookingSG, Government of Singapore.\";\n case \"mylegacy\":\n return \"MyLegacy@LifeSG, Government of Singapore.\";\n case \"ccube\":\n return \"Citizen Collective Common, Government of Singapore.\";\n case \"imda\":\n return \"IMDA, Government of Singapore.\";\n default:\n return \"Government of Singapore.\";\n }\n };\n\n export const getFooterLogoAttribute = (\n resourceScheme?: ResourceScheme\n ): React.ImgHTMLAttributes<HTMLImageElement> => {\n switch (resourceScheme) {\n case \"lifesg\":\n return {\n src: \"https://assets.life.gov.sg/react-design-system/img/logo/lifesg-primary-logo.svg\",\n alt: \"LifeSG\",\n style: { width: \"4rem\" },\n };\n\n case \"bookingsg\":\n return {\n src: \"https://home.booking.gov.sg/images/bookingsg/footer.svg\",\n alt: \"BookingSG\",\n style: { width: \"4rem\" },\n };\n case \"mylegacy\":\n return {\n src: \"https://mylegacy.life.gov.sg/images/site-logo.png\",\n alt: \"MyLegacy\",\n style: { width: \"10rem\", maxHeight: \"2rem\" },\n };\n case \"ccube\":\n return {\n src: \"https://assets.life.gov.sg/ccube/logo-ccube.svg\",\n alt: \"Citizen Collective Common\",\n style: { width: \"10rem\" },\n };\n case \"supportgowhere\":\n return {\n src: \"https://assets.life.gov.sg/react-design-system/img/logo/sgw-logo.png\",\n alt: \"SupportGoWhere\",\n style: { width: \"10rem\" },\n };\n\n default:\n return {};\n }\n };\n\n export const getDisclaimerLinks = (\n resourceScheme: ResourceScheme | undefined,\n customDisclaimerLinks: DisclaimerLinks | undefined\n ): InternalDisclaimerLinks => {\n const defaultDisclaimerLinks =\n getDefaultDisclaimerLinks(resourceScheme);\n return {\n privacy: {\n ...defaultDisclaimerLinks.privacy,\n ...(customDisclaimerLinks && customDisclaimerLinks.privacy\n ? customDisclaimerLinks.privacy\n : {}),\n children: \"Privacy Statement\",\n },\n termsOfUse: {\n ...defaultDisclaimerLinks.termsOfUse,\n ...(customDisclaimerLinks && customDisclaimerLinks.termsOfUse\n ? customDisclaimerLinks.termsOfUse\n : {}),\n children: \"Terms of Use\",\n },\n reportVulnerability: {\n ...defaultDisclaimerLinks.reportVulnerability,\n ...(customDisclaimerLinks &&\n customDisclaimerLinks.reportVulnerability\n ? customDisclaimerLinks.reportVulnerability\n : {}),\n children: \"Report Vulnerability\",\n },\n };\n };\n}\n"],"names":["FooterHelper","getCopyrightInfo","lastUpdated","Date","resourceScheme","copyrightText","getCopyrightText","getFullYear","dayjs","format","getFooterLogoAttribute","src","alt","style","width","maxHeight","getDisclaimerLinks","customDisclaimerLinks","defaultDisclaimerLinks","getDefaultDisclaimerLinks","privacy","Object","assign","children","termsOfUse","reportVulnerability"],"mappings":"4HAaM,IAAWA,GAAjB,SAAiBA,GACAA,EAAAC,iBAAmB,CAC5BC,EAAoB,IAAIC,KACxBC,KAEA,MAAMC,EAAgBC,EAAiBF,GAIvC,MAAO,GAHW,IAAG,IAAID,MAAOI,iBAAiBF,oBACnBG,EAAMN,GAAaO,OAAO,gBAEG,EAG/D,MAAMH,EAAoBF,IACtB,OAAQA,GACJ,IAAK,SACD,MAAO,mCACX,IAAK,YACD,MAAO,sCACX,IAAK,WACD,MAAO,4CACX,IAAK,QACD,MAAO,sDACX,IAAK,OACD,MAAO,iCACX,QACI,MAAO,6BAINJ,EAAAU,uBACTN,IAEA,OAAQA,GACJ,IAAK,SACD,MAAO,CACHO,IAAK,kFACLC,IAAK,SACLC,MAAO,CAAEC,MAAO,SAGxB,IAAK,YACD,MAAO,CACHH,IAAK,0DACLC,IAAK,YACLC,MAAO,CAAEC,MAAO,SAExB,IAAK,WACD,MAAO,CACHH,IAAK,oDACLC,IAAK,WACLC,MAAO,CAAEC,MAAO,QAASC,UAAW,SAE5C,IAAK,QACD,MAAO,CACHJ,IAAK,kDACLC,IAAK,4BACLC,MAAO,CAAEC,MAAO,UAExB,IAAK,iBACD,MAAO,CACHH,IAAK,uEACLC,IAAK,iBACLC,MAAO,CAAEC,MAAO,
|
|
1
|
+
{"version":3,"file":"footer-helper.js","sources":["../../src/footer/footer-helper.ts"],"sourcesContent":["import dayjs from \"dayjs\";\nimport { ResourceScheme } from \"../theme/types\";\nimport { TypographyLinkProps } from \"../typography\";\nimport { getDefaultDisclaimerLinks } from \"./footer-disclaimer-links-data\";\nimport { DisclaimerLinks } from \"./types\";\n\n/* Internally used. Not to be exported */\nexport interface InternalDisclaimerLinks {\n privacy?: TypographyLinkProps | undefined;\n termsOfUse?: TypographyLinkProps | undefined;\n reportVulnerability?: TypographyLinkProps | undefined;\n}\n\nexport namespace FooterHelper {\n export const getCopyrightInfo = (\n lastUpdated: Date = new Date(),\n resourceScheme: ResourceScheme | undefined\n ): string => {\n const copyrightText = getCopyrightText(resourceScheme);\n const copyright = `${new Date().getFullYear()} ${copyrightText}`;\n const lastUpdatedDateString = dayjs(lastUpdated).format(\"D MMMM YYYY\");\n\n return `${copyright} Last updated ${lastUpdatedDateString}`;\n };\n\n const getCopyrightText = (resourceScheme: ResourceScheme | undefined) => {\n switch (resourceScheme) {\n case \"lifesg\":\n return \"LifeSG, Government of Singapore.\";\n case \"bookingsg\":\n return \"BookingSG, Government of Singapore.\";\n case \"mylegacy\":\n return \"MyLegacy@LifeSG, Government of Singapore.\";\n case \"ccube\":\n return \"Citizen Collective Common, Government of Singapore.\";\n case \"imda\":\n return \"IMDA, Government of Singapore.\";\n default:\n return \"Government of Singapore.\";\n }\n };\n\n export const getFooterLogoAttribute = (\n resourceScheme?: ResourceScheme\n ): React.ImgHTMLAttributes<HTMLImageElement> => {\n switch (resourceScheme) {\n case \"lifesg\":\n return {\n src: \"https://assets.life.gov.sg/react-design-system/img/logo/lifesg-primary-logo.svg\",\n alt: \"LifeSG\",\n style: { width: \"4rem\" },\n };\n\n case \"bookingsg\":\n return {\n src: \"https://home.booking.gov.sg/images/bookingsg/footer.svg\",\n alt: \"BookingSG\",\n style: { width: \"4rem\" },\n };\n case \"mylegacy\":\n return {\n src: \"https://mylegacy.life.gov.sg/images/site-logo.png\",\n alt: \"MyLegacy\",\n style: { width: \"10rem\", maxHeight: \"2rem\" },\n };\n case \"ccube\":\n return {\n src: \"https://assets.life.gov.sg/ccube/logo-ccube.svg\",\n alt: \"Citizen Collective Common\",\n style: { width: \"10rem\" },\n };\n case \"supportgowhere\":\n return {\n src: \"https://assets.life.gov.sg/react-design-system/img/logo/sgw-logo.png\",\n alt: \"SupportGoWhere\",\n style: { width: \"10rem\" },\n };\n case \"toteboard\":\n return {\n src: \"https://assets.life.gov.sg/react-design-system/img/logo/tote-board-logo.svg\",\n alt: \"Tote Board\",\n style: { width: \"4rem\" },\n };\n\n default:\n return {};\n }\n };\n\n export const getDisclaimerLinks = (\n resourceScheme: ResourceScheme | undefined,\n customDisclaimerLinks: DisclaimerLinks | undefined\n ): InternalDisclaimerLinks => {\n const defaultDisclaimerLinks =\n getDefaultDisclaimerLinks(resourceScheme);\n return {\n privacy: {\n ...defaultDisclaimerLinks.privacy,\n ...(customDisclaimerLinks && customDisclaimerLinks.privacy\n ? customDisclaimerLinks.privacy\n : {}),\n children: \"Privacy Statement\",\n },\n termsOfUse: {\n ...defaultDisclaimerLinks.termsOfUse,\n ...(customDisclaimerLinks && customDisclaimerLinks.termsOfUse\n ? customDisclaimerLinks.termsOfUse\n : {}),\n children: \"Terms of Use\",\n },\n reportVulnerability: {\n ...defaultDisclaimerLinks.reportVulnerability,\n ...(customDisclaimerLinks &&\n customDisclaimerLinks.reportVulnerability\n ? customDisclaimerLinks.reportVulnerability\n : {}),\n children: \"Report Vulnerability\",\n },\n };\n };\n}\n"],"names":["FooterHelper","getCopyrightInfo","lastUpdated","Date","resourceScheme","copyrightText","getCopyrightText","getFullYear","dayjs","format","getFooterLogoAttribute","src","alt","style","width","maxHeight","getDisclaimerLinks","customDisclaimerLinks","defaultDisclaimerLinks","getDefaultDisclaimerLinks","privacy","Object","assign","children","termsOfUse","reportVulnerability"],"mappings":"4HAaM,IAAWA,GAAjB,SAAiBA,GACAA,EAAAC,iBAAmB,CAC5BC,EAAoB,IAAIC,KACxBC,KAEA,MAAMC,EAAgBC,EAAiBF,GAIvC,MAAO,GAHW,IAAG,IAAID,MAAOI,iBAAiBF,oBACnBG,EAAMN,GAAaO,OAAO,gBAEG,EAG/D,MAAMH,EAAoBF,IACtB,OAAQA,GACJ,IAAK,SACD,MAAO,mCACX,IAAK,YACD,MAAO,sCACX,IAAK,WACD,MAAO,4CACX,IAAK,QACD,MAAO,sDACX,IAAK,OACD,MAAO,iCACX,QACI,MAAO,6BAINJ,EAAAU,uBACTN,IAEA,OAAQA,GACJ,IAAK,SACD,MAAO,CACHO,IAAK,kFACLC,IAAK,SACLC,MAAO,CAAEC,MAAO,SAGxB,IAAK,YACD,MAAO,CACHH,IAAK,0DACLC,IAAK,YACLC,MAAO,CAAEC,MAAO,SAExB,IAAK,WACD,MAAO,CACHH,IAAK,oDACLC,IAAK,WACLC,MAAO,CAAEC,MAAO,QAASC,UAAW,SAE5C,IAAK,QACD,MAAO,CACHJ,IAAK,kDACLC,IAAK,4BACLC,MAAO,CAAEC,MAAO,UAExB,IAAK,iBACD,MAAO,CACHH,IAAK,uEACLC,IAAK,iBACLC,MAAO,CAAEC,MAAO,UAExB,IAAK,YACD,MAAO,CACHH,IAAK,8EACLC,IAAK,aACLC,MAAO,CAAEC,MAAO,SAGxB,QACI,MAAO,CAAA,IAINd,EAAAgB,mBAAqB,CAC9BZ,EACAa,KAEA,MAAMC,EACFC,EAA0Bf,GAC9B,MAAO,CACHgB,QAAOC,OAAAC,OAAAD,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EACAJ,EAAuBE,SACtBH,GAAyBA,EAAsBG,QAC7CH,EAAsBG,QACtB,CAAA,IACNG,SAAU,sBAEdC,WAAUH,OAAAC,OAAAD,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EACHJ,EAAuBM,YACtBP,GAAyBA,EAAsBO,WAC7CP,EAAsBO,WACtB,CAAA,IACND,SAAU,iBAEdE,iEACOP,EAAuBO,qBACtBR,GACJA,EAAsBQ,oBAChBR,EAAsBQ,oBACtB,CAAA,IACNF,SAAU,yBAEjB,CAER,CA3GD,CAAiBvB,IAAAA,EAAY,CAAA"}
|
package/form/form-label.style.js
CHANGED
|
@@ -1,29 +1,32 @@
|
|
|
1
|
-
import o from"styled-components";import{ExclamationCircleFillIcon as t}from"@lifesg/react-icons/exclamation-circle-fill";import{applyHtmlContentStyle as e}from"../shared/html-content/html-content.js";import{Spacing as i,Colour as
|
|
1
|
+
import o from"styled-components";import{ExclamationCircleFillIcon as t}from"@lifesg/react-icons/exclamation-circle-fill";import{applyHtmlContentStyle as e}from"../shared/html-content/html-content.js";import{Spacing as i,Colour as l,Font as r}from"../theme/index.js";const n=o.div`
|
|
2
2
|
margin-bottom: ${i["spacing-8"]};
|
|
3
|
+
display: flex;
|
|
4
|
+
flex-direction: column;
|
|
5
|
+
gap: ${i["spacing-4"]};
|
|
3
6
|
`,m=o.label`
|
|
4
|
-
color: ${
|
|
7
|
+
color: ${l["text-subtle"]};
|
|
5
8
|
display: inline-block;
|
|
6
9
|
|
|
7
|
-
${
|
|
10
|
+
${r["form-label"]}
|
|
8
11
|
${e()}
|
|
9
|
-
font-weight: ${
|
|
12
|
+
font-weight: ${r.Spec["weight-semibold"]};
|
|
10
13
|
`,s=o(t)`
|
|
11
14
|
height: 1lh;
|
|
12
15
|
width: 1em;
|
|
13
16
|
flex-shrink: 0;
|
|
14
|
-
color: ${
|
|
17
|
+
color: ${l["icon-error-strong"]};
|
|
15
18
|
`,c=o.div`
|
|
16
|
-
${
|
|
19
|
+
${r["body-sm-semibold"]}
|
|
17
20
|
display: flex;
|
|
18
21
|
gap: ${i["spacing-4"]};
|
|
19
22
|
margin-top: ${i["spacing-8"]};
|
|
20
23
|
`,p=o.p`
|
|
21
|
-
color: ${
|
|
24
|
+
color: ${l["text-error"]};
|
|
22
25
|
margin-bottom: 0;
|
|
23
26
|
outline: none;
|
|
24
27
|
`,a=o.span`
|
|
25
|
-
${
|
|
26
|
-
color: ${
|
|
28
|
+
${r["form-description"]}
|
|
29
|
+
color: ${l["text-subtler"]};
|
|
27
30
|
display: block;
|
|
28
31
|
`;export{s as ErrorIcon,p as ErrorMessage,c as ErrorMessageContainer,m as Label,n as LabelContainer,a as Subtitle};
|
|
29
32
|
//# sourceMappingURL=form-label.style.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-label.style.js","sources":["../../src/form/form-label.style.tsx"],"sourcesContent":["import styled from \"styled-components\";\nimport { ExclamationCircleFillIcon } from \"@lifesg/react-icons/exclamation-circle-fill\";\nimport { applyHtmlContentStyle } from \"../shared/html-content/html-content\";\nimport { Colour, Font, Spacing } from \"../theme\";\n\n// =============================================================================\n// STYLING\n// =============================================================================\nexport const LabelContainer = styled.div`\n margin-bottom: ${Spacing[\"spacing-8\"]};\n`;\nexport const Label = styled.label`\n color: ${Colour[\"text-subtle\"]};\n display: inline-block;\n\n ${Font[\"form-label\"]}\n ${applyHtmlContentStyle()}\n font-weight: ${Font.Spec[\"weight-semibold\"]};\n`;\n\nexport const ErrorIcon = styled(ExclamationCircleFillIcon)`\n height: 1lh;\n width: 1em;\n flex-shrink: 0;\n color: ${Colour[\"icon-error-strong\"]};\n`;\n\nexport const ErrorMessageContainer = styled.div`\n ${Font[\"body-sm-semibold\"]}\n display: flex;\n gap: ${Spacing[\"spacing-4\"]};\n margin-top: ${Spacing[\"spacing-8\"]};\n`;\n\nexport const ErrorMessage = styled.p`\n color: ${Colour[\"text-error\"]};\n margin-bottom: 0;\n outline: none;\n`;\n\nexport const Subtitle = styled.span`\n ${Font[\"form-description\"]}\n color: ${Colour[\"text-subtler\"]};\n display: block;\n`;\n"],"names":["LabelContainer","styled","div","Spacing","Label","label","Colour","Font","applyHtmlContentStyle","Spec","ErrorIcon","ExclamationCircleFillIcon","ErrorMessageContainer","ErrorMessage","p","Subtitle","span"],"mappings":"0QAQO,MAAMA,EAAiBC,EAAOC,GAAG;qBACnBC,EAAQ;
|
|
1
|
+
{"version":3,"file":"form-label.style.js","sources":["../../src/form/form-label.style.tsx"],"sourcesContent":["import styled from \"styled-components\";\nimport { ExclamationCircleFillIcon } from \"@lifesg/react-icons/exclamation-circle-fill\";\nimport { applyHtmlContentStyle } from \"../shared/html-content/html-content\";\nimport { Colour, Font, Spacing } from \"../theme\";\n\n// =============================================================================\n// STYLING\n// =============================================================================\nexport const LabelContainer = styled.div`\n margin-bottom: ${Spacing[\"spacing-8\"]};\n display: flex;\n flex-direction: column;\n gap: ${Spacing[\"spacing-4\"]};\n`;\nexport const Label = styled.label`\n color: ${Colour[\"text-subtle\"]};\n display: inline-block;\n\n ${Font[\"form-label\"]}\n ${applyHtmlContentStyle()}\n font-weight: ${Font.Spec[\"weight-semibold\"]};\n`;\n\nexport const ErrorIcon = styled(ExclamationCircleFillIcon)`\n height: 1lh;\n width: 1em;\n flex-shrink: 0;\n color: ${Colour[\"icon-error-strong\"]};\n`;\n\nexport const ErrorMessageContainer = styled.div`\n ${Font[\"body-sm-semibold\"]}\n display: flex;\n gap: ${Spacing[\"spacing-4\"]};\n margin-top: ${Spacing[\"spacing-8\"]};\n`;\n\nexport const ErrorMessage = styled.p`\n color: ${Colour[\"text-error\"]};\n margin-bottom: 0;\n outline: none;\n`;\n\nexport const Subtitle = styled.span`\n ${Font[\"form-description\"]}\n color: ${Colour[\"text-subtler\"]};\n display: block;\n`;\n"],"names":["LabelContainer","styled","div","Spacing","Label","label","Colour","Font","applyHtmlContentStyle","Spec","ErrorIcon","ExclamationCircleFillIcon","ErrorMessageContainer","ErrorMessage","p","Subtitle","span"],"mappings":"0QAQO,MAAMA,EAAiBC,EAAOC,GAAG;qBACnBC,EAAQ;;;WAGlBA,EAAQ;EAENC,EAAQH,EAAOI,KAAK;aACpBC,EAAO;;;MAGdC,EAAK;MACLC;mBACaD,EAAKE,KAAK;EAGhBC,EAAYT,EAAOU,EAA0B;;;;aAI7CL,EAAO;EAGPM,EAAwBX,EAAOC,GAAG;MACzCK,EAAK;;WAEAJ,EAAQ;kBACDA,EAAQ;EAGbU,EAAeZ,EAAOa,CAAC;aACvBR,EAAO;;;EAKPS,EAAWd,EAAOe,IAAI;MAC7BT,EAAK;aACED,EAAO;;"}
|
package/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{Accordion}from"./accordion/accordion.js";export{Alert}from"./alert/alert.js";export{LoadingSpinner}from"./animations/loading-spinner/loading-spinner.js";export{LoadingDots}from"./animations/loading-dots/loading-dots.js";export{LoadingDotsSpinner}from"./animations/loading-dots-spinner/loading-dots-spinner.js";export{ThemedLoadingSpinner}from"./animations/themed-loading-spinner/themed-loading-spinner.js";export{Avatar}from"./avatar/avatar.js";export{Badge}from"./badge/badge.js";export{BoxContainer}from"./box-container/box-container.js";export{Breadcrumb}from"./breadcrumb/breadcrumb.js";export{Button}from"./button/button.js";export{ButtonWithIcon}from"./button-with-icon/button-with-icon.js";export{Calendar}from"./calendar/calendar.js";export{Card}from"./card/card.js";export{Checkbox}from"./checkbox/checkbox.js";export{CountdownTimer}from"./countdown-timer/countdown-timer.js";export{DataTable}from"./data-table/data-table.js";export{DateInput}from"./date-input/date-input.js";export{DateNavigator}from"./date-navigator/date-navigator.js";export{DateRangeInput}from"./date-range-input/date-range-input.js";export{Divider}from"./divider/divider.js";export{Drawer}from"./drawer/drawer.js";export{ESignature}from"./e-signature/e-signature.js";export{ErrorDisplay}from"./error-display/error-display.js";export{ErrorDisplayHelper}from"./error-display/helper.js";export{FeedbackRating}from"./feedback-rating/feedback-rating.js";export{FileDownload}from"./file-download/file-download.js";export{FileUpload}from"./file-upload/file-upload.js";export{Filter}from"./filter/filter.js";export{Footer}from"./footer/footer.js";export{Form}from"./form/index.js";export{Component,FullscreenImageCarousel}from"./fullscreen-image-carousel/fullscreen-image-carousel.js";export{HistogramSlider}from"./histogram-slider/histogram-slider.js";export{IconButton}from"./icon-button/icon-button.js";export{ImageButton}from"./image-button/image-button.js";export{Input}from"./input/input.js";export{InputGroup}from"./input-group/input-group.js";export{InputMultiSelect}from"./input-multi-select/input-multi-select.js";export{InputNestedMultiSelect}from"./input-nested-multi-select/input-nested-multi-select.js";export{InputNestedSelect}from"./input-nested-select/input-nested-select.js";export{InputRangeSelect}from"./input-range-select/input-range-select.js";export{InputRangeSlider}from"./input-range-slider/input-range-slider.js";export{InputSelect}from"./input-select/input-select.js";export{InputSlider}from"./input-slider/input-slider.js";export{Textarea}from"./input-textarea/textarea.js";export{LanguageSwitcher}from"./language-switcher/language-switcher.js";export{Layout}from"./layout/index.js";export{LinkList}from"./link-list/link-list.js";export{Markup}from"./markup/markup.js";export{MaskedInput}from"./masked-input/masked-input.js";export{Masonry}from"./masonry/masonry.js";export{Masthead}from"./masthead/masthead.js";export{Menu,MenuTrigger}from"./menu/menu.js";export{Modal}from"./modal/index.js";export{ModalV2}from"./modal-v2/index.js";export{Navbar}from"./navbar/navbar.js";export{NBComponent,NotificationBanner}from"./notification-banner/notification-banner.js";export{withNotificationBanner}from"./notification-banner/notification-banner-hoc.js";export{OtpInput}from"./otp-input/otp-input.js";export{Overlay}from"./overlay/overlay.js";export{Pagination}from"./pagination/pagination.js";export{PhoneNumberInput}from"./phone-number-input/phone-number-input.js";export{Pill}from"./pill/pill.js";export{withPopover}from"./popover/popover-hoc.js";export{Popover}from"./popover/popover.js";export{PopoverV2}from"./popover-v2/popover.js";export{PopoverInline}from"./popover-v2/popover-inline/popover-inline.js";export{PopoverTrigger}from"./popover-v2/popover-trigger.js";export{PredictiveTextInput}from"./predictive-text-input/predictive-text-input.js";export{ProgressIndicator}from"./progress-indicator/progress-indicator.js";export{RadioButton}from"./radio-button/radio-button.js";export{SelectHistogram}from"./select-histogram/select-histogram.js";export{Sidenav}from"./sidenav/sidenav.js";export{SingpassButton}from"./singpass-button/singpass-button.js";export{SmartAppBanner}from"./smart-app-banner/smart-app-banner.js";export{Tab}from"./tab/tab.js";export{Table}from"./table/table.js";export{Tag}from"./tag/tag.js";export{TextList}from"./text-list/index.js";export{A11yPlaygroundTheme,BookingSGTheme,Border,Breakpoint,CCubeTheme,CareerCompassTheme,Colour,Font,IMDATheme,LifeSGTheme,MediaQuery,Motion,MyLegacyTheme,OneServiceTheme,PATheme,RBSTheme,Radius,SGWDigitalLobbyTheme,SGWDigitalLobbyThemeBase,SMGSTheme,SPFTheme,Shadow,Spacing,SupportGoWhereTheme,SupportGoWhereThemeBase,ThemeComponent}from"./theme/index.js";export{TimeRangePicker}from"./time-range-picker/time-range-picker.js";export{TimeSlotBar}from"./time-slot-bar/time-slot-bar.js";export{TimeSlotBarWeek}from"./time-slot-bar-week/time-slot-bar-week.js";export{TimeSlotWeekView}from"./time-slot-week-view/time-slot-week-view.js";export{Timeline}from"./timeline/timeline.js";export{Timepicker}from"./timepicker/timepicker.js";export{TimeTable}from"./timetable/timetable.js";export{Toast}from"./toast/toast.js";export{Toggle}from"./toggle/toggle.js";export{Tooltip}from"./tooltip/tooltip.js";export{withTooltip}from"./tooltip/tooltip-hoc.js";export{Typography}from"./typography/typography.js";export{UneditableSection}from"./uneditable-section/index.js";export{UnitNumberInput}from"./unit-number/unit-number-input.js";export{V2_Color}from"./v2_color/color.js";export{V2_DesignToken}from"./v2_design-token/design-token.js";export{V2_Layout}from"./v2_layout/index.js";export{V2_MediaQuery,V2_MediaWidths}from"./v2_media/media.js";export{V2_TextStyleHelper}from"./v2_text/helper.js";export{V2_TextStyle}from"./v2_text/text-style.js";export{V2_Text}from"./v2_text/text.js";export{RedirectScope}from"./v2_text/types.js";export{V2_TextList}from"./v2_text-list/index.js";export{V2_BaseTheme,V2_BookingSGTheme,V2_CCubeTheme,V2_MyLegacyTheme,V2_OneServiceTheme,V2_RBSTheme}from"./v2_theme/index.js";export{V2_Transition}from"./v2_transition/index.js";export{DSThemeProvider}from"./theme/ds-theme-provider.js";export{V2_ThemeContextKeys}from"./v2_theme/types.js";export{createThemeWithColourMode,getSystemColourMode,useDSTheme}from"./theme/use-theme-mode.js";
|
|
1
|
+
export{Accordion}from"./accordion/accordion.js";export{Alert}from"./alert/alert.js";export{LoadingSpinner}from"./animations/loading-spinner/loading-spinner.js";export{LoadingDots}from"./animations/loading-dots/loading-dots.js";export{LoadingDotsSpinner}from"./animations/loading-dots-spinner/loading-dots-spinner.js";export{ThemedLoadingSpinner}from"./animations/themed-loading-spinner/themed-loading-spinner.js";export{Avatar}from"./avatar/avatar.js";export{Badge}from"./badge/badge.js";export{BoxContainer}from"./box-container/box-container.js";export{Breadcrumb}from"./breadcrumb/breadcrumb.js";export{Button}from"./button/button.js";export{ButtonWithIcon}from"./button-with-icon/button-with-icon.js";export{Calendar}from"./calendar/calendar.js";export{Card}from"./card/card.js";export{Checkbox}from"./checkbox/checkbox.js";export{CountdownTimer}from"./countdown-timer/countdown-timer.js";export{DataTable}from"./data-table/data-table.js";export{DateInput}from"./date-input/date-input.js";export{DateNavigator}from"./date-navigator/date-navigator.js";export{DateRangeInput}from"./date-range-input/date-range-input.js";export{Divider}from"./divider/divider.js";export{Drawer}from"./drawer/drawer.js";export{ESignature}from"./e-signature/e-signature.js";export{ErrorDisplay}from"./error-display/error-display.js";export{ErrorDisplayHelper}from"./error-display/helper.js";export{FeedbackRating}from"./feedback-rating/feedback-rating.js";export{FileDownload}from"./file-download/file-download.js";export{FileUpload}from"./file-upload/file-upload.js";export{Filter}from"./filter/filter.js";export{Footer}from"./footer/footer.js";export{Form}from"./form/index.js";export{Component,FullscreenImageCarousel}from"./fullscreen-image-carousel/fullscreen-image-carousel.js";export{HistogramSlider}from"./histogram-slider/histogram-slider.js";export{IconButton}from"./icon-button/icon-button.js";export{ImageButton}from"./image-button/image-button.js";export{Input}from"./input/input.js";export{InputGroup}from"./input-group/input-group.js";export{InputMultiSelect}from"./input-multi-select/input-multi-select.js";export{InputNestedMultiSelect}from"./input-nested-multi-select/input-nested-multi-select.js";export{InputNestedSelect}from"./input-nested-select/input-nested-select.js";export{InputRangeSelect}from"./input-range-select/input-range-select.js";export{InputRangeSlider}from"./input-range-slider/input-range-slider.js";export{InputSelect}from"./input-select/input-select.js";export{InputSlider}from"./input-slider/input-slider.js";export{Textarea}from"./input-textarea/textarea.js";export{LanguageSwitcher}from"./language-switcher/language-switcher.js";export{Layout}from"./layout/index.js";export{LinkList}from"./link-list/link-list.js";export{Markup}from"./markup/markup.js";export{MaskedInput}from"./masked-input/masked-input.js";export{Masonry}from"./masonry/masonry.js";export{Masthead}from"./masthead/masthead.js";export{Menu,MenuTrigger}from"./menu/menu.js";export{Modal}from"./modal/index.js";export{ModalV2}from"./modal-v2/index.js";export{Navbar}from"./navbar/navbar.js";export{NBComponent,NotificationBanner}from"./notification-banner/notification-banner.js";export{withNotificationBanner}from"./notification-banner/notification-banner-hoc.js";export{OtpInput}from"./otp-input/otp-input.js";export{Overlay}from"./overlay/overlay.js";export{Pagination}from"./pagination/pagination.js";export{PhoneNumberInput}from"./phone-number-input/phone-number-input.js";export{Pill}from"./pill/pill.js";export{withPopover}from"./popover/popover-hoc.js";export{Popover}from"./popover/popover.js";export{PopoverV2}from"./popover-v2/popover.js";export{PopoverInline}from"./popover-v2/popover-inline/popover-inline.js";export{PopoverTrigger}from"./popover-v2/popover-trigger.js";export{PredictiveTextInput}from"./predictive-text-input/predictive-text-input.js";export{ProgressIndicator}from"./progress-indicator/progress-indicator.js";export{RadioButton}from"./radio-button/radio-button.js";export{SelectHistogram}from"./select-histogram/select-histogram.js";export{Sidenav}from"./sidenav/sidenav.js";export{SingpassButton}from"./singpass-button/singpass-button.js";export{SmartAppBanner}from"./smart-app-banner/smart-app-banner.js";export{Tab}from"./tab/tab.js";export{Table}from"./table/table.js";export{Tag}from"./tag/tag.js";export{TextList}from"./text-list/index.js";export{A11yPlaygroundTheme,BookingSGTheme,Border,Breakpoint,CCubeTheme,CareerCompassTheme,Colour,Font,IMDATheme,LifeSGTheme,MediaQuery,Motion,MyLegacyTheme,OneServiceTheme,PATheme,RBSTheme,Radius,SGWDigitalLobbyTheme,SGWDigitalLobbyThemeBase,SMGSTheme,SPFTheme,Shadow,Spacing,SupportGoWhereTheme,SupportGoWhereThemeBase,ThemeComponent,ToteBoardTheme}from"./theme/index.js";export{TimeRangePicker}from"./time-range-picker/time-range-picker.js";export{TimeSlotBar}from"./time-slot-bar/time-slot-bar.js";export{TimeSlotBarWeek}from"./time-slot-bar-week/time-slot-bar-week.js";export{TimeSlotWeekView}from"./time-slot-week-view/time-slot-week-view.js";export{Timeline}from"./timeline/timeline.js";export{Timepicker}from"./timepicker/timepicker.js";export{TimeTable}from"./timetable/timetable.js";export{Toast}from"./toast/toast.js";export{Toggle}from"./toggle/toggle.js";export{Tooltip}from"./tooltip/tooltip.js";export{withTooltip}from"./tooltip/tooltip-hoc.js";export{Typography}from"./typography/typography.js";export{UneditableSection}from"./uneditable-section/index.js";export{UnitNumberInput}from"./unit-number/unit-number-input.js";export{V2_Color}from"./v2_color/color.js";export{V2_DesignToken}from"./v2_design-token/design-token.js";export{V2_Layout}from"./v2_layout/index.js";export{V2_MediaQuery,V2_MediaWidths}from"./v2_media/media.js";export{V2_TextStyleHelper}from"./v2_text/helper.js";export{V2_TextStyle}from"./v2_text/text-style.js";export{V2_Text}from"./v2_text/text.js";export{RedirectScope}from"./v2_text/types.js";export{V2_TextList}from"./v2_text-list/index.js";export{V2_BaseTheme,V2_BookingSGTheme,V2_CCubeTheme,V2_MyLegacyTheme,V2_OneServiceTheme,V2_RBSTheme}from"./v2_theme/index.js";export{V2_Transition}from"./v2_transition/index.js";export{DSThemeProvider}from"./theme/ds-theme-provider.js";export{V2_ThemeContextKeys}from"./v2_theme/types.js";export{createThemeWithColourMode,getSystemColourMode,useDSTheme}from"./theme/use-theme-mode.js";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/navbar/drawer.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as e,jsxs as r,Fragment as i}from"react/jsx-runtime";import{useFloating as n,FloatingFocusManager as t}from"@floating-ui/react";import o,{useState as a,useRef as d,useEffect as s,useLayoutEffect as l}from"react";import"../util/calendar-helper.js";import"../util/date-helper.js";import"../util/date-input-helper.js";import{mergeRefs as c}from"../util/merge-refs.js";import"../util/simple-id-generator.js";import"../util/string-helper.js";import"@react-aria/live-announcer";import{Brand as m}from"./brand.js";import{Wrapper as u,Container as p,Content as h,TopBar as f,CloseButton as w,CloseIcon as b}from"./drawer.styles.js";import{NavBrandContainer as v,NavSeparator as y}from"./navbar.styles.js";const g=o.forwardRef(((o,g)=>{const{show:j,resources:C={},children:k,hideNavBranding:x,onClose:_,onBrandClick:E,drawerLabel:F="Mobile navigation menu",mobileMenuRef:H}=o,[L,T]=a(0),z=d(null),{primary:B,secondary:D}=C,{context:M,refs:R}=n({open:j,onOpenChange:e=>{!e&&_&&_()}}),$=()=>{if(window){const e=.01*window.innerHeight;T(e)}};s((()=>($(),window.addEventListener("resize",$),()=>{window.removeEventListener("resize",$)})),[]),l((()=>{if(j){const e=setTimeout((()=>{z.current&&z.current.focus({preventScroll:!0})}),550);return()=>clearTimeout(e)}}),[j]);return e(t,{context:M,initialFocus:-1,returnFocus:!0,disabled:!j,children:e(u,{ref:c(g,R.setFloating),"data-testid":"drawer",children:e(p,{ref:z,$show:j,$viewHeight:L,onKeyDown:e=>{j&&"Escape"===e.key&&(e.preventDefault(),null==_||_(),setTimeout((()=>{var e;null===(e=null==H?void 0:H.current)||void 0===e||e.focus()}),300))},tabIndex:-1,"aria-label":F,children:r(h,{children:[r(f,{children:[e(v,{"data-id":"drawer-brand-container",children:!x&&r(i,{children:[B&&e(m,{resources:B,compress:!0,onClick:E,"data-id":"drawer-brand-primary","data-testid":"drawer__brand",type:"primary"}),D&&r(i,{children:[e(y,{}),e(m,{resources:D,compress:!0,onClick:E,"data-id":"drawer-brand-secondary","data-testid":"drawer__brand-secondary",type:"secondary"})]})]})}),e(w,{onClick:_,focusHighlight:!1,"aria-label":"Close nav menu",children:e(b,{})})]}),k]})})})})}));export{g as Drawer};
|
|
2
2
|
//# sourceMappingURL=drawer.js.map
|
package/navbar/drawer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drawer.js","sources":["../../src/navbar/drawer.tsx"],"sourcesContent":["import React, { useEffect, useLayoutEffect, useRef, useState } from \"react\";\nimport { Brand } from \"./brand\";\nimport {\n CloseButton,\n CloseIcon,\n Container,\n Content,\n TopBar,\n Wrapper,\n} from \"./drawer.styles\";\nimport { NavBrandContainer, NavSeparator } from \"./navbar.styles\";\nimport { NavbarDrawerProps } from \"./types\";\n\nconst Component = (\n props: NavbarDrawerProps,\n ref: React.Ref<HTMLDivElement>\n) => {\n // =============================================================================\n // CONST, STATE, REFS\n // =============================================================================\n const {\n show,\n resources = {},\n children,\n hideNavBranding,\n onClose,\n onBrandClick,\n drawerLabel = \"Mobile navigation menu\",\n mobileMenuRef,\n } = props;\n const [viewHeight, setViewHeight] = useState<number>(0);\n const containerRef = useRef<HTMLDivElement>(null);\n\n const { primary, secondary } = resources;\n\n // =============================================================================\n // EVENT HANDLERS\n // =============================================================================\n const handleResize = () => {\n /**\n * Reference:\n * https://css-tricks.com/the-trick-to-viewport-units-on-mobile/\n */\n if (window) {\n const viewHeight = window.innerHeight * 0.01;\n setViewHeight(viewHeight);\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!show) return;\n\n if (event.key === \"Escape\") {\n event.preventDefault();\n onClose?.();\n // Return focus to the hamburger menu button\n setTimeout(() => {\n mobileMenuRef?.current?.focus();\n }, 300);\n }\n };\n\n // =============================================================================\n // EFFECTS\n // =============================================================================\n useEffect(() => {\n handleResize();\n window.addEventListener(\"resize\", handleResize);\n\n return () => {\n window.removeEventListener(\"resize\", handleResize);\n };\n }, []);\n\n // Focus management when drawer opens\n useLayoutEffect(() => {\n if (show) {\n const timer = setTimeout(() => {\n if (containerRef.current) {\n containerRef.current.focus({ preventScroll: true });\n }\n }, 550);\n\n return () => clearTimeout(timer);\n }\n }, [show]);\n\n // =============================================================================\n // RENDER FUNCTIONS\n // =============================================================================\n const renderBrand = () => {\n return (\n <>\n {primary && (\n <Brand\n resources={primary}\n compress\n onClick={onBrandClick}\n data-id=\"drawer-brand-primary\"\n data-testid=\"drawer__brand\"\n type=\"primary\"\n />\n )}\n {secondary && (\n <>\n <NavSeparator />\n <Brand\n resources={secondary}\n compress\n onClick={onBrandClick}\n data-id=\"drawer-brand-secondary\"\n data-testid=\"drawer__brand-secondary\"\n type=\"secondary\"\n />\n </>\n )}\n </>\n );\n };\n\n const renderTopBar = () => (\n <TopBar>\n <NavBrandContainer data-id=\"drawer-brand-container\">\n {!hideNavBranding && renderBrand()}\n </NavBrandContainer>\n <CloseButton\n onClick={onClose}\n focusHighlight={false}\n aria-label=\"Close nav menu\"\n >\n <CloseIcon />\n </CloseButton>\n </TopBar>\n );\n\n return (\n <Wrapper
|
|
1
|
+
{"version":3,"file":"drawer.js","sources":["../../src/navbar/drawer.tsx"],"sourcesContent":["import { FloatingFocusManager, useFloating } from \"@floating-ui/react\";\nimport React, { useEffect, useLayoutEffect, useRef, useState } from \"react\";\n\nimport { mergeRefs } from \"../util\";\nimport { Brand } from \"./brand\";\nimport {\n CloseButton,\n CloseIcon,\n Container,\n Content,\n TopBar,\n Wrapper,\n} from \"./drawer.styles\";\nimport { NavBrandContainer, NavSeparator } from \"./navbar.styles\";\nimport { NavbarDrawerProps } from \"./types\";\n\nconst Component = (\n props: NavbarDrawerProps,\n ref: React.Ref<HTMLDivElement>\n) => {\n // =============================================================================\n // CONST, STATE, REFS\n // =============================================================================\n const {\n show,\n resources = {},\n children,\n hideNavBranding,\n onClose,\n onBrandClick,\n drawerLabel = \"Mobile navigation menu\",\n mobileMenuRef,\n } = props;\n const [viewHeight, setViewHeight] = useState<number>(0);\n const containerRef = useRef<HTMLDivElement>(null);\n\n const { primary, secondary } = resources;\n\n // =========================================================================\n // FLOATING UI CONFIG\n // =========================================================================\n const { context, refs: floatingRefs } = useFloating({\n open: show,\n onOpenChange: (open) => {\n if (!open && onClose) {\n onClose();\n }\n },\n });\n\n // =============================================================================\n // EVENT HANDLERS\n // =============================================================================\n const handleResize = () => {\n /**\n * Reference:\n * https://css-tricks.com/the-trick-to-viewport-units-on-mobile/\n */\n if (window) {\n const viewHeight = window.innerHeight * 0.01;\n setViewHeight(viewHeight);\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!show) return;\n\n if (event.key === \"Escape\") {\n event.preventDefault();\n onClose?.();\n // Return focus to the hamburger menu button\n setTimeout(() => {\n mobileMenuRef?.current?.focus();\n }, 300);\n }\n };\n\n // =============================================================================\n // EFFECTS\n // =============================================================================\n useEffect(() => {\n handleResize();\n window.addEventListener(\"resize\", handleResize);\n\n return () => {\n window.removeEventListener(\"resize\", handleResize);\n };\n }, []);\n\n // Focus management when drawer opens\n useLayoutEffect(() => {\n if (show) {\n const timer = setTimeout(() => {\n if (containerRef.current) {\n containerRef.current.focus({ preventScroll: true });\n }\n }, 550);\n\n return () => clearTimeout(timer);\n }\n }, [show]);\n\n // =============================================================================\n // RENDER FUNCTIONS\n // =============================================================================\n const renderBrand = () => {\n return (\n <>\n {primary && (\n <Brand\n resources={primary}\n compress\n onClick={onBrandClick}\n data-id=\"drawer-brand-primary\"\n data-testid=\"drawer__brand\"\n type=\"primary\"\n />\n )}\n {secondary && (\n <>\n <NavSeparator />\n <Brand\n resources={secondary}\n compress\n onClick={onBrandClick}\n data-id=\"drawer-brand-secondary\"\n data-testid=\"drawer__brand-secondary\"\n type=\"secondary\"\n />\n </>\n )}\n </>\n );\n };\n\n const renderTopBar = () => (\n <TopBar>\n <NavBrandContainer data-id=\"drawer-brand-container\">\n {!hideNavBranding && renderBrand()}\n </NavBrandContainer>\n <CloseButton\n onClick={onClose}\n focusHighlight={false}\n aria-label=\"Close nav menu\"\n >\n <CloseIcon />\n </CloseButton>\n </TopBar>\n );\n\n return (\n <FloatingFocusManager\n context={context}\n initialFocus={-1}\n returnFocus={true}\n disabled={!show}\n >\n <Wrapper\n ref={mergeRefs(ref, floatingRefs.setFloating)}\n data-testid=\"drawer\"\n >\n <Container\n ref={containerRef}\n $show={show}\n $viewHeight={viewHeight}\n onKeyDown={handleKeyDown}\n tabIndex={-1}\n aria-label={drawerLabel}\n >\n <Content>\n {renderTopBar()}\n {children}\n </Content>\n </Container>\n </Wrapper>\n </FloatingFocusManager>\n );\n};\n\nexport const Drawer = React.forwardRef(Component);\n"],"names":["Drawer","React","forwardRef","props","ref","show","resources","children","hideNavBranding","onClose","onBrandClick","drawerLabel","mobileMenuRef","viewHeight","setViewHeight","useState","containerRef","useRef","primary","secondary","context","refs","floatingRefs","useFloating","open","onOpenChange","handleResize","window","innerHeight","useEffect","addEventListener","removeEventListener","useLayoutEffect","timer","setTimeout","current","focus","preventScroll","clearTimeout","_jsx","FloatingFocusManager","initialFocus","returnFocus","disabled","Wrapper","mergeRefs","setFloating","Container","$show","$viewHeight","onKeyDown","event","key","preventDefault","_a","tabIndex","_jsxs","Content","TopBar","NavBrandContainer","_Fragment","Brand","compress","onClick","type","NavSeparator","CloseButton","focusHighlight","CloseIcon"],"mappings":"osBAgBA,MAmKaA,EAASC,EAAMC,YAnKV,CACdC,EACAC,KAKA,MAAMC,KACFA,EAAIC,UACJA,EAAY,CAAA,EAAEC,SACdA,EAAQC,gBACRA,EAAeC,QACfA,EAAOC,aACPA,EAAYC,YACZA,EAAc,yBAAwBC,cACtCA,GACAT,GACGU,EAAYC,GAAiBC,EAAiB,GAC/CC,EAAeC,EAAuB,OAEtCC,QAAEA,EAAOC,UAAEA,GAAcb,GAKzBc,QAAEA,EAASC,KAAMC,GAAiBC,EAAY,CAChDC,KAAMnB,EACNoB,aAAeD,KACNA,GAAQf,GACTA,GACJ,IAOFiB,EAAe,KAKjB,GAAIC,OAAQ,CACR,MAAMd,EAAkC,IAArBc,OAAOC,YAC1Bd,EAAcD,EAClB,GAmBJgB,GAAU,KACNH,IACAC,OAAOG,iBAAiB,SAAUJ,GAE3B,KACHC,OAAOI,oBAAoB,SAAUL,EAAa,IAEvD,IAGHM,GAAgB,KACZ,GAAI3B,EAAM,CACN,MAAM4B,EAAQC,YAAW,KACjBlB,EAAamB,SACbnB,EAAamB,QAAQC,MAAM,CAAEC,eAAe,GAChD,GACD,KAEH,MAAO,IAAMC,aAAaL,EAC9B,IACD,CAAC5B,IAkDJ,OACIkC,EAACC,EAAoB,CACjBpB,QAASA,EACTqB,cAAc,EACdC,aAAa,EACbC,UAAWtC,EAAIE,SAEfgC,EAACK,EAAO,CACJxC,IAAKyC,EAAUzC,EAAKkB,EAAawB,aAAY,cACjC,SAAQvC,SAEpBgC,EAACQ,EAAS,CACN3C,IAAKY,EAAYgC,MACV3C,EAAI4C,YACEpC,EACbqC,UArGOC,IACd9C,GAEa,WAAd8C,EAAMC,MACND,EAAME,iBACN5C,SAAAA,IAEAyB,YAAW,WACe,QAAtBoB,EAAA1C,aAAa,EAAbA,EAAeuB,eAAO,IAAAmB,GAAAA,EAAElB,OAAO,GAChC,KACP,EA4FYmB,UAAU,EAAE,aACA5C,EAAWJ,SAEvBiD,EAACC,EAAO,CAAAlD,SAAA,CAjCpBiD,EAACE,EAAM,CAAAnD,SAAA,CACHgC,EAACoB,aAA0B,yBAAwBpD,UAC7CC,GA/BNgD,EAAAI,EAAA,CAAArD,SAAA,CACKW,GACGqB,EAACsB,EAAK,CACFvD,UAAWY,EACX4C,UAAQ,EACRC,QAASrD,EAAY,UACb,uBAAsB,cAClB,gBACZsD,KAAK,YAGZ7C,GACGqC,EAAAI,EAAA,CAAArD,SAAA,CACIgC,EAAC0B,EAAY,IACb1B,EAACsB,EAAK,CACFvD,UAAWa,EACX2C,UAAQ,EACRC,QAASrD,EAAY,UACb,yBAAwB,cACpB,0BACZsD,KAAK,sBAarBzB,EAAC2B,EAAW,CACRH,QAAStD,EACT0D,gBAAgB,EAAK,aACV,0BAEX5B,EAAC6B,WA0BQ7D,UAIM"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const
|
|
1
|
+
const e={primary:{brandName:"LifeSG",logoSrc:"https://assets.life.gov.sg/lifesg/logo-lifesg.svg"}},s={primary:{brandName:"BookingSG",logoSrc:"https://www.booking.gov.sg/logo.svg"}},o={primary:{brandName:"CCube",logoSrc:"https://assets.life.gov.sg/ccube/logo-ccube.svg"}},g={primary:{brandName:"IMDA",logoSrc:"https://assets.life.gov.sg/react-design-system/img/logo/imda-logo.svg"}},r={primary:{brandName:"MyLegacy",logoSrc:"https://mylegacy.life.gov.sg/images/site-logo.png"}},a={primary:{brandName:"SPF",logoSrc:"https://assets.life.gov.sg/react-design-system/img/logo/spf-logo.png"}},t={primary:{brandName:"SupportGoWhere",logoSrc:"https://assets.life.gov.sg/react-design-system/img/logo/sgw-logo.png"}},i={primary:{brandName:"ToteBoard",logoSrc:"https://assets.life.gov.sg/react-design-system/img/logo/tote-board-logo.svg"}},l=l=>{switch(l){case"bookingsg":return s;case"mylegacy":return r;case"ccube":return o;case"spf":return a;case"supportgowhere":return t;case"imda":return g;case"toteboard":return i;default:return e}};export{l as getDefaultResourceLogo};
|
|
2
2
|
//# sourceMappingURL=navbar-logo-data.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navbar-logo-data.js","sources":["../../src/navbar/navbar-logo-data.ts"],"sourcesContent":["import { ResourceScheme } from \"../theme/types\";\nimport { NavbarResourcesProps } from \"./types\";\n\nconst DEFAULT_RESOURCES_LOGO: NavbarResourcesProps = {\n primary: {\n brandName: \"LifeSG\",\n logoSrc: \"https://assets.life.gov.sg/lifesg/logo-lifesg.svg\",\n },\n};\n\nconst BOOKINGSG_RESOURCES_LOGO: NavbarResourcesProps = {\n primary: {\n brandName: \"BookingSG\",\n logoSrc: \"https://www.booking.gov.sg/logo.svg\",\n },\n};\n\nconst CCUBE_RESOURCES_LOGO: NavbarResourcesProps = {\n primary: {\n brandName: \"CCube\",\n logoSrc: \"https://assets.life.gov.sg/ccube/logo-ccube.svg\",\n },\n};\n\nconst IMDA_RESOURCE_LOGO: NavbarResourcesProps = {\n primary: {\n brandName: \"IMDA\",\n logoSrc:\n \"https://assets.life.gov.sg/react-design-system/img/logo/imda-logo.svg\",\n },\n};\n\nconst MYLEGACY_RESOURCES_LOGO: NavbarResourcesProps = {\n primary: {\n brandName: \"MyLegacy\",\n logoSrc: \"https://mylegacy.life.gov.sg/images/site-logo.png\",\n },\n};\n\nconst SPF_RESOURCE_LOGO: NavbarResourcesProps = {\n primary: {\n brandName: \"SPF\",\n logoSrc:\n \"https://assets.life.gov.sg/react-design-system/img/logo/spf-logo.png\",\n },\n};\n\nconst SUPPORTGOWHERE_RESOURCE_LOGO: NavbarResourcesProps = {\n primary: {\n brandName: \"SupportGoWhere\",\n logoSrc:\n \"https://assets.life.gov.sg/react-design-system/img/logo/sgw-logo.png\",\n },\n};\n\nexport const getDefaultResourceLogo = (resourceScheme?: ResourceScheme) => {\n switch (resourceScheme) {\n case \"bookingsg\":\n return BOOKINGSG_RESOURCES_LOGO;\n case \"mylegacy\":\n return MYLEGACY_RESOURCES_LOGO;\n case \"ccube\":\n return CCUBE_RESOURCES_LOGO;\n case \"spf\":\n return SPF_RESOURCE_LOGO;\n case \"supportgowhere\":\n return SUPPORTGOWHERE_RESOURCE_LOGO;\n case \"imda\":\n return IMDA_RESOURCE_LOGO;\n default:\n return DEFAULT_RESOURCES_LOGO;\n }\n};\n"],"names":["DEFAULT_RESOURCES_LOGO","primary","brandName","logoSrc","BOOKINGSG_RESOURCES_LOGO","CCUBE_RESOURCES_LOGO","IMDA_RESOURCE_LOGO","MYLEGACY_RESOURCES_LOGO","SPF_RESOURCE_LOGO","SUPPORTGOWHERE_RESOURCE_LOGO","getDefaultResourceLogo","resourceScheme"],"mappings":"AAGA,MAAMA,EAA+C,CACjDC,QAAS,CACLC,UAAW,SACXC,QAAS,sDAIXC,EAAiD,CACnDH,QAAS,CACLC,UAAW,YACXC,QAAS,wCAIXE,EAA6C,CAC/CJ,QAAS,CACLC,UAAW,QACXC,QAAS,oDAIXG,EAA2C,CAC7CL,QAAS,CACLC,UAAW,OACXC,QACI,0EAINI,EAAgD,CAClDN,QAAS,CACLC,UAAW,WACXC,QAAS,sDAIXK,EAA0C,CAC5CP,QAAS,CACLC,UAAW,MACXC,QACI,yEAINM,EAAqD,CACvDR,QAAS,CACLC,UAAW,iBACXC,QACI,
|
|
1
|
+
{"version":3,"file":"navbar-logo-data.js","sources":["../../src/navbar/navbar-logo-data.ts"],"sourcesContent":["import { ResourceScheme } from \"../theme/types\";\nimport { NavbarResourcesProps } from \"./types\";\n\nconst DEFAULT_RESOURCES_LOGO: NavbarResourcesProps = {\n primary: {\n brandName: \"LifeSG\",\n logoSrc: \"https://assets.life.gov.sg/lifesg/logo-lifesg.svg\",\n },\n};\n\nconst BOOKINGSG_RESOURCES_LOGO: NavbarResourcesProps = {\n primary: {\n brandName: \"BookingSG\",\n logoSrc: \"https://www.booking.gov.sg/logo.svg\",\n },\n};\n\nconst CCUBE_RESOURCES_LOGO: NavbarResourcesProps = {\n primary: {\n brandName: \"CCube\",\n logoSrc: \"https://assets.life.gov.sg/ccube/logo-ccube.svg\",\n },\n};\n\nconst IMDA_RESOURCE_LOGO: NavbarResourcesProps = {\n primary: {\n brandName: \"IMDA\",\n logoSrc:\n \"https://assets.life.gov.sg/react-design-system/img/logo/imda-logo.svg\",\n },\n};\n\nconst MYLEGACY_RESOURCES_LOGO: NavbarResourcesProps = {\n primary: {\n brandName: \"MyLegacy\",\n logoSrc: \"https://mylegacy.life.gov.sg/images/site-logo.png\",\n },\n};\n\nconst SPF_RESOURCE_LOGO: NavbarResourcesProps = {\n primary: {\n brandName: \"SPF\",\n logoSrc:\n \"https://assets.life.gov.sg/react-design-system/img/logo/spf-logo.png\",\n },\n};\n\nconst SUPPORTGOWHERE_RESOURCE_LOGO: NavbarResourcesProps = {\n primary: {\n brandName: \"SupportGoWhere\",\n logoSrc:\n \"https://assets.life.gov.sg/react-design-system/img/logo/sgw-logo.png\",\n },\n};\n\nconst TOTEBOARD_RESOURCE_LOGO: NavbarResourcesProps = {\n primary: {\n brandName: \"ToteBoard\",\n logoSrc:\n \"https://assets.life.gov.sg/react-design-system/img/logo/tote-board-logo.svg\",\n },\n};\n\nexport const getDefaultResourceLogo = (resourceScheme?: ResourceScheme) => {\n switch (resourceScheme) {\n case \"bookingsg\":\n return BOOKINGSG_RESOURCES_LOGO;\n case \"mylegacy\":\n return MYLEGACY_RESOURCES_LOGO;\n case \"ccube\":\n return CCUBE_RESOURCES_LOGO;\n case \"spf\":\n return SPF_RESOURCE_LOGO;\n case \"supportgowhere\":\n return SUPPORTGOWHERE_RESOURCE_LOGO;\n case \"imda\":\n return IMDA_RESOURCE_LOGO;\n case \"toteboard\":\n return TOTEBOARD_RESOURCE_LOGO;\n default:\n return DEFAULT_RESOURCES_LOGO;\n }\n};\n"],"names":["DEFAULT_RESOURCES_LOGO","primary","brandName","logoSrc","BOOKINGSG_RESOURCES_LOGO","CCUBE_RESOURCES_LOGO","IMDA_RESOURCE_LOGO","MYLEGACY_RESOURCES_LOGO","SPF_RESOURCE_LOGO","SUPPORTGOWHERE_RESOURCE_LOGO","TOTEBOARD_RESOURCE_LOGO","getDefaultResourceLogo","resourceScheme"],"mappings":"AAGA,MAAMA,EAA+C,CACjDC,QAAS,CACLC,UAAW,SACXC,QAAS,sDAIXC,EAAiD,CACnDH,QAAS,CACLC,UAAW,YACXC,QAAS,wCAIXE,EAA6C,CAC/CJ,QAAS,CACLC,UAAW,QACXC,QAAS,oDAIXG,EAA2C,CAC7CL,QAAS,CACLC,UAAW,OACXC,QACI,0EAINI,EAAgD,CAClDN,QAAS,CACLC,UAAW,WACXC,QAAS,sDAIXK,EAA0C,CAC5CP,QAAS,CACLC,UAAW,MACXC,QACI,yEAINM,EAAqD,CACvDR,QAAS,CACLC,UAAW,iBACXC,QACI,yEAINO,EAAgD,CAClDT,QAAS,CACLC,UAAW,YACXC,QACI,gFAICQ,EAA0BC,IACnC,OAAQA,GACJ,IAAK,YACD,OAAOR,EACX,IAAK,WACD,OAAOG,EACX,IAAK,QACD,OAAOF,EACX,IAAK,MACD,OAAOG,EACX,IAAK,iBACD,OAAOC,EACX,IAAK,OACD,OAAOH,EACX,IAAK,YACD,OAAOI,EACX,QACI,OAAOV"}
|
package/navbar/navbar.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__rest as e}from"../_virtual/_tslib.js";import{jsxs as i,jsx as n,Fragment as r}from"react/jsx-runtime";import{forwardRef as t,useState as a,useRef as o,useContext as s,useImperativeHandle as d,useEffect as l}from"react";import{ThemeContext as c}from"styled-components";import{Layout as m}from"../layout/index.js";import{Masthead as u}from"../masthead/masthead.js";import{Overlay as p}from"../overlay/overlay.js";import{Breakpoint as h}from"../theme/index.js";import{Brand as b}from"./brand.js";import{Drawer as v}from"./drawer.js";import{NavbarActionButtons as k}from"./navbar-action-buttons.js";import{NavbarHelper as f}from"./navbar-helper.js";import{NavbarItems as C}from"./navbar-items.js";import{getDefaultResourceLogo as y}from"./navbar-logo-data.js";import{Wrapper as w,Nav as B,NavElementsContainer as g,NavBrandContainer as j,NavSeparator as I,MobileMenuButton as x,MobileMenuIcon as L}from"./navbar.styles.js";const N=t(((t,N)=>{var{items:_,className:E,id:D,selectedId:O,compress:$=!1,fixed:A=!0,resources:M,hideNavElements:z=!1,hideNavBranding:H=!1,hideLinkIndicator:R=!1,drawerDismissalExclusions:S=[],actionButtons:T,onItemClick:W,onActionButtonClick:q,onBrandClick:F,masthead:G=!0,layout:J="default",headerLabel:K="Main navigation menu",drawerLabel:P}=t,Q=e(t,["items","className","id","selectedId","compress","fixed","resources","hideNavElements","hideNavBranding","hideLinkIndicator","drawerDismissalExclusions","actionButtons","onItemClick","onActionButtonClick","onBrandClick","masthead","layout","headerLabel","drawerLabel"]);const[U,V]=a(!1),[X,Y]=a(!1),Z=o(null),ee="stretch"===J,ie=o(null),ne=s(c),re=y(null==ne?void 0:ne.resourceScheme),te=h["lg-max"]({theme:ne}),ae=(null==M?void 0:M.primary)||re.primary,oe=null==M?void 0:M.secondary;d(N,(()=>Object.assign(ie.current,{dismissDrawer:()=>{se()}})),[U]),l((()=>(le(),window.addEventListener("resize",le),()=>{window.removeEventListener("resize",le)})),[]);const se=()=>{V(!1),setTimeout((()=>{Y(!1)}),550)},de=e=>U&&-1===S.indexOf(e),le=()=>{window.innerWidth<=te&&U&&se()},ce=(e,i)=>{F&&F(i),de("brand-click")&&se()},me=(e,i)=>{f.isNavItemCommon(i)&&i.onClick?i.onClick(e):W&&(e.preventDefault(),W(i)),f.isNavItemLink(i)&&!i.subMenu&&de("item-click")&&se()},ue=(e,i)=>{var n;"button"!==i.type&&"download"!==i.type||!(null===(n=i.args)||void 0===n?void 0:n.onClick)?q&&(e.preventDefault(),q(i)):i.args.onClick(e),de("item-click")&&se()},pe=()=>{V(!0),Y(!0)},he=()=>{de("close-button-click")&&se()},be=()=>{const e=_.mobile||_.desktop;return e&&e.length>0||T&&(e=>{const i=e.mobile||e.desktop;return!!i&&i.length&&i.some((e=>!e.uncollapsible))})(T)?n(x,{ref:Z,"aria-label":U?"Close nav menu":"Open nav menu","aria-expanded":U,"data-testid":"button__mobile-menu",onClick:pe,focusHighlight:!
|
|
1
|
+
import{__rest as e}from"../_virtual/_tslib.js";import{jsxs as i,jsx as n,Fragment as r}from"react/jsx-runtime";import{forwardRef as t,useState as a,useRef as o,useContext as s,useImperativeHandle as d,useEffect as l}from"react";import{ThemeContext as c}from"styled-components";import{Layout as m}from"../layout/index.js";import{Masthead as u}from"../masthead/masthead.js";import{Overlay as p}from"../overlay/overlay.js";import{Breakpoint as h}from"../theme/index.js";import{Brand as b}from"./brand.js";import{Drawer as v}from"./drawer.js";import{NavbarActionButtons as k}from"./navbar-action-buttons.js";import{NavbarHelper as f}from"./navbar-helper.js";import{NavbarItems as C}from"./navbar-items.js";import{getDefaultResourceLogo as y}from"./navbar-logo-data.js";import{Wrapper as w,Nav as B,NavElementsContainer as g,NavBrandContainer as j,NavSeparator as I,MobileMenuButton as x,MobileMenuIcon as L}from"./navbar.styles.js";const N=t(((t,N)=>{var{items:_,className:E,id:D,selectedId:O,compress:$=!1,fixed:A=!0,resources:M,hideNavElements:z=!1,hideNavBranding:H=!1,hideLinkIndicator:R=!1,drawerDismissalExclusions:S=[],actionButtons:T,onItemClick:W,onActionButtonClick:q,onBrandClick:F,masthead:G=!0,layout:J="default",headerLabel:K="Main navigation menu",drawerLabel:P}=t,Q=e(t,["items","className","id","selectedId","compress","fixed","resources","hideNavElements","hideNavBranding","hideLinkIndicator","drawerDismissalExclusions","actionButtons","onItemClick","onActionButtonClick","onBrandClick","masthead","layout","headerLabel","drawerLabel"]);const[U,V]=a(!1),[X,Y]=a(!1),Z=o(null),ee="stretch"===J,ie=o(null),ne=s(c),re=y(null==ne?void 0:ne.resourceScheme),te=h["lg-max"]({theme:ne}),ae=(null==M?void 0:M.primary)||re.primary,oe=null==M?void 0:M.secondary;d(N,(()=>Object.assign(ie.current,{dismissDrawer:()=>{se()}})),[U]),l((()=>(le(),window.addEventListener("resize",le),()=>{window.removeEventListener("resize",le)})),[]);const se=()=>{V(!1),setTimeout((()=>{Y(!1)}),550)},de=e=>U&&-1===S.indexOf(e),le=()=>{window.innerWidth<=te&&U&&se()},ce=(e,i)=>{F&&F(i),de("brand-click")&&se()},me=(e,i)=>{f.isNavItemCommon(i)&&i.onClick?i.onClick(e):W&&(e.preventDefault(),W(i)),f.isNavItemLink(i)&&!i.subMenu&&de("item-click")&&se()},ue=(e,i)=>{var n;"button"!==i.type&&"download"!==i.type||!(null===(n=i.args)||void 0===n?void 0:n.onClick)?q&&(e.preventDefault(),q(i)):i.args.onClick(e),de("item-click")&&se()},pe=()=>{V(!0),Y(!0)},he=()=>{de("close-button-click")&&se()},be=()=>{const e=_.mobile||_.desktop;return e&&e.length>0||T&&(e=>{const i=e.mobile||e.desktop;return!!i&&i.length&&i.some((e=>!e.uncollapsible))})(T)?n(x,{ref:Z,"aria-label":U?"Close nav menu":"Open nav menu","aria-expanded":U,"data-testid":"button__mobile-menu",onClick:pe,focusHighlight:!0,children:n(L,{})}):null};return i(w,{ref:ie,$fixed:A,className:E,id:D||"navbar-wrapper","data-testid":Q["data-testid"]||"navbar-wrapper",children:[G&&n(u,{stretch:ee}),i(m.Content,{stretch:ee,children:[i(B,{$compress:$,"aria-label":K,children:[!H&&i(j,{$compress:$,"data-id":"brand-container",children:[ae&&n(b,{resources:ae,onClick:ce,"data-id":"brand-primary","data-testid":"main__brand",type:"primary"}),oe&&i(r,{children:[n(I,{$compress:$}),n(b,{resources:oe,onClick:ce,"data-id":"brand-secondary","data-testid":"main__brand-secondary",type:"secondary"})]})]}),!z&&i(g,{$hideNavBranding:H,children:[n(C,{items:_.desktop,onItemClick:me,selectedId:O,hideNavBranding:H,hideLinkIndicator:R}),n(k,{actionButtons:T,onActionButtonClick:ue}),be()]})]}),!z&&n(p,{show:X,enableOverlayClick:!0,onOverlayClick:he,children:i(v,{show:U,resources:{primary:ae,secondary:oe},onClose:he,onBrandClick:ce,actionButtons:T,hideNavBranding:H,mobileMenuRef:Z,drawerLabel:P,children:[n(C,{items:_.mobile||_.desktop,onItemClick:me,selectedId:O,mobile:!0,hideLinkIndicator:R}),n(k,{actionButtons:T,onActionButtonClick:ue,mobile:!0})]})})]})]})}));export{N as Navbar};
|
|
2
2
|
//# sourceMappingURL=navbar.js.map
|
package/navbar/navbar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navbar.js","sources":["../../src/navbar/navbar.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useContext,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from \"react\";\nimport { ThemeContext } from \"styled-components\";\nimport { Layout } from \"../layout\";\nimport { Masthead } from \"../masthead/masthead\";\nimport { Overlay } from \"../overlay/overlay\";\nimport { Breakpoint } from \"../theme\";\nimport { Brand } from \"./brand\";\nimport { Drawer } from \"./drawer\";\nimport { NavbarActionButtons } from \"./navbar-action-buttons\";\nimport { NavbarHelper } from \"./navbar-helper\";\nimport { NavbarItems } from \"./navbar-items\";\nimport { getDefaultResourceLogo } from \"./navbar-logo-data\";\nimport {\n MobileMenuButton,\n MobileMenuIcon,\n Nav,\n NavBrandContainer,\n NavElementsContainer,\n NavSeparator,\n Wrapper,\n} from \"./navbar.styles\";\nimport {\n BrandType,\n DrawerDismissalMethod,\n NavItemCommonProps,\n NavItemProps,\n NavbarActionButtonsProps,\n NavbarButtonProps,\n NavbarDrawerApi,\n NavbarDrawerHandle,\n NavbarProps,\n} from \"./types\";\n\nconst Component = <T,>(\n {\n items,\n className,\n id,\n selectedId,\n compress = false,\n fixed = true,\n resources,\n hideNavElements = false,\n hideNavBranding = false,\n hideLinkIndicator = false,\n drawerDismissalExclusions: blockDrawerDismissalMethods = [],\n actionButtons,\n onItemClick,\n onActionButtonClick,\n onBrandClick,\n masthead = true,\n layout = \"default\",\n headerLabel = \"Main navigation menu\",\n drawerLabel,\n ...otherProps\n }: NavbarProps<T>,\n ref: React.Ref<NavbarDrawerHandle>\n) => {\n // =============================================================================\n // CONST, STATE, REFS\n // =============================================================================\n const [showDrawer, setShowDrawer] = useState<boolean>(false);\n const [showOverlay, setShowOverlay] = useState<boolean>(false);\n const mobileMenuRef = useRef<HTMLButtonElement>(null);\n const isStretch = layout === \"stretch\";\n const elementRef = useRef<HTMLDivElement>(null);\n const theme = useContext(ThemeContext);\n const defaultResource = getDefaultResourceLogo(theme?.resourceScheme);\n const tabletWidth = Breakpoint[\"lg-max\"]({ theme });\n\n const primary = resources?.primary || defaultResource.primary;\n const secondary = resources?.secondary;\n\n useImperativeHandle(\n ref,\n () =>\n Object.assign<HTMLDivElement, NavbarDrawerApi>(\n elementRef.current!,\n {\n dismissDrawer: () => {\n dismissDrawer();\n },\n }\n ),\n [showDrawer]\n );\n\n // =============================================================================\n // EFFECTS\n // =============================================================================\n useEffect(() => {\n handleResize();\n window.addEventListener(\"resize\", handleResize);\n\n return () => {\n window.removeEventListener(\"resize\", handleResize);\n };\n }, []);\n\n // =============================================================================\n // HELPER FUNCTIONS\n // =============================================================================\n const dismissDrawer = () => {\n setShowDrawer(false);\n setTimeout(() => {\n setShowOverlay(false);\n }, 550); // For drawer animation to complete + buffer\n };\n\n const shouldDismissDrawer = (dismissalMethod: DrawerDismissalMethod) => {\n return (\n showDrawer &&\n blockDrawerDismissalMethods.indexOf(dismissalMethod) === -1\n );\n };\n\n const hasCollapsibleActionButtons = (\n actionButtons: NavbarActionButtonsProps\n ) => {\n const drawerActionButtons =\n actionButtons.mobile || actionButtons.desktop;\n if (drawerActionButtons) {\n return (\n drawerActionButtons.length &&\n drawerActionButtons.some(\n (actionButton) => !actionButton.uncollapsible\n )\n );\n }\n\n return false;\n };\n\n // =============================================================================\n // EVENT HANDLER\n // =============================================================================\n const handleResize = () => {\n if (window.innerWidth <= tabletWidth && showDrawer) {\n dismissDrawer();\n }\n };\n\n const handleBrandClick = (\n event: React.MouseEvent<HTMLAnchorElement>,\n type: BrandType\n ) => {\n if (onBrandClick) {\n onBrandClick(type);\n }\n\n if (shouldDismissDrawer(\"brand-click\")) {\n dismissDrawer();\n }\n };\n\n const handleNavItemClick = <K extends T>(\n event: React.MouseEvent<HTMLAnchorElement>,\n item: NavItemProps<K> | NavItemCommonProps<K>\n ) => {\n if (NavbarHelper.isNavItemCommon(item) && item.onClick) {\n item.onClick(event);\n } else if (onItemClick) {\n event.preventDefault();\n onItemClick(item);\n }\n\n if (\n NavbarHelper.isNavItemLink(item) &&\n !item.subMenu &&\n shouldDismissDrawer(\"item-click\")\n ) {\n dismissDrawer();\n }\n };\n\n const handleActionButtonClick = (\n event: React.MouseEvent<HTMLButtonElement> | React.MouseEvent<Element>,\n actionButton: NavbarButtonProps\n ) => {\n if (\n (actionButton.type === \"button\" ||\n actionButton.type === \"download\") &&\n actionButton.args?.onClick\n ) {\n actionButton.args.onClick(\n event as React.MouseEvent<HTMLButtonElement>\n );\n } else if (onActionButtonClick) {\n event.preventDefault();\n onActionButtonClick(actionButton);\n }\n\n if (shouldDismissDrawer(\"item-click\")) {\n dismissDrawer();\n }\n };\n\n const handleMobileMenuButtonClick = () => {\n setShowDrawer(true);\n setShowOverlay(true);\n };\n\n const handleDrawerClose = () => {\n if (shouldDismissDrawer(\"close-button-click\")) {\n dismissDrawer();\n }\n };\n\n // =============================================================================\n // RENDER FUNCTIONS\n // =============================================================================\n\n const renderDrawer = () => (\n <Overlay\n show={showOverlay}\n enableOverlayClick\n onOverlayClick={handleDrawerClose}\n >\n <Drawer\n show={showDrawer}\n resources={{ primary, secondary }}\n onClose={handleDrawerClose}\n onBrandClick={handleBrandClick}\n actionButtons={actionButtons}\n hideNavBranding={hideNavBranding}\n mobileMenuRef={mobileMenuRef}\n drawerLabel={drawerLabel}\n >\n <NavbarItems\n items={items.mobile || items.desktop}\n onItemClick={handleNavItemClick}\n selectedId={selectedId}\n mobile\n hideLinkIndicator={hideLinkIndicator}\n />\n <NavbarActionButtons\n actionButtons={actionButtons}\n onActionButtonClick={handleActionButtonClick}\n mobile\n />\n </Drawer>\n </Overlay>\n );\n\n const renderBrand = () => (\n <NavBrandContainer $compress={compress} data-id=\"brand-container\">\n {primary && (\n <Brand\n resources={primary}\n onClick={handleBrandClick}\n data-id=\"brand-primary\"\n data-testid=\"main__brand\"\n type=\"primary\"\n />\n )}\n {secondary && (\n <>\n <NavSeparator $compress={compress} />\n <Brand\n resources={secondary}\n onClick={handleBrandClick}\n data-id=\"brand-secondary\"\n data-testid=\"main__brand-secondary\"\n type=\"secondary\"\n />\n </>\n )}\n </NavBrandContainer>\n );\n\n const renderMobileMenuButton = () => {\n const drawerItems = items.mobile || items.desktop;\n if (\n (drawerItems && drawerItems.length > 0) ||\n (actionButtons && hasCollapsibleActionButtons(actionButtons))\n ) {\n return (\n <MobileMenuButton\n ref={mobileMenuRef}\n aria-label={showDrawer ? \"Close nav menu\" : \"Open nav menu\"}\n aria-expanded={showDrawer}\n data-testid=\"button__mobile-menu\"\n onClick={handleMobileMenuButtonClick}\n focusHighlight={false}\n >\n <MobileMenuIcon />\n </MobileMenuButton>\n );\n }\n\n return null;\n };\n\n const renderNavbar = () => {\n return (\n <Layout.Content stretch={isStretch}>\n <Nav $compress={compress} aria-label={headerLabel}>\n {!hideNavBranding && renderBrand()}\n {!hideNavElements && (\n <NavElementsContainer\n $hideNavBranding={hideNavBranding}\n >\n <NavbarItems\n items={items.desktop}\n onItemClick={handleNavItemClick}\n selectedId={selectedId}\n hideNavBranding={hideNavBranding}\n hideLinkIndicator={hideLinkIndicator}\n />\n <NavbarActionButtons\n actionButtons={actionButtons}\n onActionButtonClick={handleActionButtonClick}\n />\n {renderMobileMenuButton()}\n </NavElementsContainer>\n )}\n </Nav>\n\n {!hideNavElements && renderDrawer()}\n </Layout.Content>\n );\n };\n\n return (\n <Wrapper\n ref={elementRef}\n $fixed={fixed}\n className={className}\n id={id || \"navbar-wrapper\"}\n data-testid={otherProps[\"data-testid\"] || \"navbar-wrapper\"}\n >\n {masthead && <Masthead stretch={isStretch} />}\n {renderNavbar()}\n </Wrapper>\n );\n};\n\nexport const Navbar = forwardRef(Component);\n"],"names":["Navbar","forwardRef","_a","ref","items","className","id","selectedId","compress","fixed","resources","hideNavElements","hideNavBranding","hideLinkIndicator","drawerDismissalExclusions","blockDrawerDismissalMethods","actionButtons","onItemClick","onActionButtonClick","onBrandClick","masthead","layout","headerLabel","drawerLabel","otherProps","__rest","showDrawer","setShowDrawer","useState","showOverlay","setShowOverlay","mobileMenuRef","useRef","isStretch","elementRef","theme","useContext","ThemeContext","defaultResource","getDefaultResourceLogo","resourceScheme","tabletWidth","Breakpoint","primary","secondary","useImperativeHandle","Object","assign","current","dismissDrawer","useEffect","handleResize","window","addEventListener","removeEventListener","setTimeout","shouldDismissDrawer","dismissalMethod","indexOf","innerWidth","handleBrandClick","event","type","handleNavItemClick","item","NavbarHelper","isNavItemCommon","onClick","preventDefault","isNavItemLink","subMenu","handleActionButtonClick","actionButton","args","handleMobileMenuButtonClick","handleDrawerClose","renderMobileMenuButton","drawerItems","mobile","desktop","length","drawerActionButtons","some","uncollapsible","hasCollapsibleActionButtons","_jsx","MobileMenuButton","focusHighlight","MobileMenuIcon","_jsxs","Wrapper","$fixed","children","Masthead","stretch","Layout","Content","Nav","$compress","NavBrandContainer","Brand","_Fragment","NavSeparator","NavElementsContainer","$hideNavBranding","NavbarItems","NavbarActionButtons","Overlay","show","enableOverlayClick","onOverlayClick","Drawer","onClose"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"navbar.js","sources":["../../src/navbar/navbar.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useContext,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from \"react\";\nimport { ThemeContext } from \"styled-components\";\nimport { Layout } from \"../layout\";\nimport { Masthead } from \"../masthead/masthead\";\nimport { Overlay } from \"../overlay/overlay\";\nimport { Breakpoint } from \"../theme\";\nimport { Brand } from \"./brand\";\nimport { Drawer } from \"./drawer\";\nimport { NavbarActionButtons } from \"./navbar-action-buttons\";\nimport { NavbarHelper } from \"./navbar-helper\";\nimport { NavbarItems } from \"./navbar-items\";\nimport { getDefaultResourceLogo } from \"./navbar-logo-data\";\nimport {\n MobileMenuButton,\n MobileMenuIcon,\n Nav,\n NavBrandContainer,\n NavElementsContainer,\n NavSeparator,\n Wrapper,\n} from \"./navbar.styles\";\nimport {\n BrandType,\n DrawerDismissalMethod,\n NavItemCommonProps,\n NavItemProps,\n NavbarActionButtonsProps,\n NavbarButtonProps,\n NavbarDrawerApi,\n NavbarDrawerHandle,\n NavbarProps,\n} from \"./types\";\n\nconst Component = <T,>(\n {\n items,\n className,\n id,\n selectedId,\n compress = false,\n fixed = true,\n resources,\n hideNavElements = false,\n hideNavBranding = false,\n hideLinkIndicator = false,\n drawerDismissalExclusions: blockDrawerDismissalMethods = [],\n actionButtons,\n onItemClick,\n onActionButtonClick,\n onBrandClick,\n masthead = true,\n layout = \"default\",\n headerLabel = \"Main navigation menu\",\n drawerLabel,\n ...otherProps\n }: NavbarProps<T>,\n ref: React.Ref<NavbarDrawerHandle>\n) => {\n // =============================================================================\n // CONST, STATE, REFS\n // =============================================================================\n const [showDrawer, setShowDrawer] = useState<boolean>(false);\n const [showOverlay, setShowOverlay] = useState<boolean>(false);\n const mobileMenuRef = useRef<HTMLButtonElement>(null);\n const isStretch = layout === \"stretch\";\n const elementRef = useRef<HTMLDivElement>(null);\n const theme = useContext(ThemeContext);\n const defaultResource = getDefaultResourceLogo(theme?.resourceScheme);\n const tabletWidth = Breakpoint[\"lg-max\"]({ theme });\n\n const primary = resources?.primary || defaultResource.primary;\n const secondary = resources?.secondary;\n\n useImperativeHandle(\n ref,\n () =>\n Object.assign<HTMLDivElement, NavbarDrawerApi>(\n elementRef.current!,\n {\n dismissDrawer: () => {\n dismissDrawer();\n },\n }\n ),\n [showDrawer]\n );\n\n // =============================================================================\n // EFFECTS\n // =============================================================================\n useEffect(() => {\n handleResize();\n window.addEventListener(\"resize\", handleResize);\n\n return () => {\n window.removeEventListener(\"resize\", handleResize);\n };\n }, []);\n\n // =============================================================================\n // HELPER FUNCTIONS\n // =============================================================================\n const dismissDrawer = () => {\n setShowDrawer(false);\n setTimeout(() => {\n setShowOverlay(false);\n }, 550); // For drawer animation to complete + buffer\n };\n\n const shouldDismissDrawer = (dismissalMethod: DrawerDismissalMethod) => {\n return (\n showDrawer &&\n blockDrawerDismissalMethods.indexOf(dismissalMethod) === -1\n );\n };\n\n const hasCollapsibleActionButtons = (\n actionButtons: NavbarActionButtonsProps\n ) => {\n const drawerActionButtons =\n actionButtons.mobile || actionButtons.desktop;\n if (drawerActionButtons) {\n return (\n drawerActionButtons.length &&\n drawerActionButtons.some(\n (actionButton) => !actionButton.uncollapsible\n )\n );\n }\n\n return false;\n };\n\n // =============================================================================\n // EVENT HANDLER\n // =============================================================================\n const handleResize = () => {\n if (window.innerWidth <= tabletWidth && showDrawer) {\n dismissDrawer();\n }\n };\n\n const handleBrandClick = (\n event: React.MouseEvent<HTMLAnchorElement>,\n type: BrandType\n ) => {\n if (onBrandClick) {\n onBrandClick(type);\n }\n\n if (shouldDismissDrawer(\"brand-click\")) {\n dismissDrawer();\n }\n };\n\n const handleNavItemClick = <K extends T>(\n event: React.MouseEvent<HTMLAnchorElement>,\n item: NavItemProps<K> | NavItemCommonProps<K>\n ) => {\n if (NavbarHelper.isNavItemCommon(item) && item.onClick) {\n item.onClick(event);\n } else if (onItemClick) {\n event.preventDefault();\n onItemClick(item);\n }\n\n if (\n NavbarHelper.isNavItemLink(item) &&\n !item.subMenu &&\n shouldDismissDrawer(\"item-click\")\n ) {\n dismissDrawer();\n }\n };\n\n const handleActionButtonClick = (\n event: React.MouseEvent<HTMLButtonElement> | React.MouseEvent<Element>,\n actionButton: NavbarButtonProps\n ) => {\n if (\n (actionButton.type === \"button\" ||\n actionButton.type === \"download\") &&\n actionButton.args?.onClick\n ) {\n actionButton.args.onClick(\n event as React.MouseEvent<HTMLButtonElement>\n );\n } else if (onActionButtonClick) {\n event.preventDefault();\n onActionButtonClick(actionButton);\n }\n\n if (shouldDismissDrawer(\"item-click\")) {\n dismissDrawer();\n }\n };\n\n const handleMobileMenuButtonClick = () => {\n setShowDrawer(true);\n setShowOverlay(true);\n };\n\n const handleDrawerClose = () => {\n if (shouldDismissDrawer(\"close-button-click\")) {\n dismissDrawer();\n }\n };\n\n // =============================================================================\n // RENDER FUNCTIONS\n // =============================================================================\n\n const renderDrawer = () => (\n <Overlay\n show={showOverlay}\n enableOverlayClick\n onOverlayClick={handleDrawerClose}\n >\n <Drawer\n show={showDrawer}\n resources={{ primary, secondary }}\n onClose={handleDrawerClose}\n onBrandClick={handleBrandClick}\n actionButtons={actionButtons}\n hideNavBranding={hideNavBranding}\n mobileMenuRef={mobileMenuRef}\n drawerLabel={drawerLabel}\n >\n <NavbarItems\n items={items.mobile || items.desktop}\n onItemClick={handleNavItemClick}\n selectedId={selectedId}\n mobile\n hideLinkIndicator={hideLinkIndicator}\n />\n <NavbarActionButtons\n actionButtons={actionButtons}\n onActionButtonClick={handleActionButtonClick}\n mobile\n />\n </Drawer>\n </Overlay>\n );\n\n const renderBrand = () => (\n <NavBrandContainer $compress={compress} data-id=\"brand-container\">\n {primary && (\n <Brand\n resources={primary}\n onClick={handleBrandClick}\n data-id=\"brand-primary\"\n data-testid=\"main__brand\"\n type=\"primary\"\n />\n )}\n {secondary && (\n <>\n <NavSeparator $compress={compress} />\n <Brand\n resources={secondary}\n onClick={handleBrandClick}\n data-id=\"brand-secondary\"\n data-testid=\"main__brand-secondary\"\n type=\"secondary\"\n />\n </>\n )}\n </NavBrandContainer>\n );\n\n const renderMobileMenuButton = () => {\n const drawerItems = items.mobile || items.desktop;\n if (\n (drawerItems && drawerItems.length > 0) ||\n (actionButtons && hasCollapsibleActionButtons(actionButtons))\n ) {\n return (\n <MobileMenuButton\n ref={mobileMenuRef}\n aria-label={showDrawer ? \"Close nav menu\" : \"Open nav menu\"}\n aria-expanded={showDrawer}\n data-testid=\"button__mobile-menu\"\n onClick={handleMobileMenuButtonClick}\n focusHighlight={true}\n >\n <MobileMenuIcon />\n </MobileMenuButton>\n );\n }\n\n return null;\n };\n\n const renderNavbar = () => {\n return (\n <Layout.Content stretch={isStretch}>\n <Nav $compress={compress} aria-label={headerLabel}>\n {!hideNavBranding && renderBrand()}\n {!hideNavElements && (\n <NavElementsContainer\n $hideNavBranding={hideNavBranding}\n >\n <NavbarItems\n items={items.desktop}\n onItemClick={handleNavItemClick}\n selectedId={selectedId}\n hideNavBranding={hideNavBranding}\n hideLinkIndicator={hideLinkIndicator}\n />\n <NavbarActionButtons\n actionButtons={actionButtons}\n onActionButtonClick={handleActionButtonClick}\n />\n {renderMobileMenuButton()}\n </NavElementsContainer>\n )}\n </Nav>\n\n {!hideNavElements && renderDrawer()}\n </Layout.Content>\n );\n };\n\n return (\n <Wrapper\n ref={elementRef}\n $fixed={fixed}\n className={className}\n id={id || \"navbar-wrapper\"}\n data-testid={otherProps[\"data-testid\"] || \"navbar-wrapper\"}\n >\n {masthead && <Masthead stretch={isStretch} />}\n {renderNavbar()}\n </Wrapper>\n );\n};\n\nexport const Navbar = forwardRef(Component);\n"],"names":["Navbar","forwardRef","_a","ref","items","className","id","selectedId","compress","fixed","resources","hideNavElements","hideNavBranding","hideLinkIndicator","drawerDismissalExclusions","blockDrawerDismissalMethods","actionButtons","onItemClick","onActionButtonClick","onBrandClick","masthead","layout","headerLabel","drawerLabel","otherProps","__rest","showDrawer","setShowDrawer","useState","showOverlay","setShowOverlay","mobileMenuRef","useRef","isStretch","elementRef","theme","useContext","ThemeContext","defaultResource","getDefaultResourceLogo","resourceScheme","tabletWidth","Breakpoint","primary","secondary","useImperativeHandle","Object","assign","current","dismissDrawer","useEffect","handleResize","window","addEventListener","removeEventListener","setTimeout","shouldDismissDrawer","dismissalMethod","indexOf","innerWidth","handleBrandClick","event","type","handleNavItemClick","item","NavbarHelper","isNavItemCommon","onClick","preventDefault","isNavItemLink","subMenu","handleActionButtonClick","actionButton","args","handleMobileMenuButtonClick","handleDrawerClose","renderMobileMenuButton","drawerItems","mobile","desktop","length","drawerActionButtons","some","uncollapsible","hasCollapsibleActionButtons","_jsx","MobileMenuButton","focusHighlight","MobileMenuIcon","_jsxs","Wrapper","$fixed","children","Masthead","stretch","Layout","Content","Nav","$compress","NavBrandContainer","Brand","_Fragment","NavSeparator","NavElementsContainer","$hideNavBranding","NavbarItems","NavbarActionButtons","Overlay","show","enableOverlayClick","onOverlayClick","Drawer","onClose"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import{ChevronDownIcon as i}from"@lifesg/react-icons/chevron-down";import{ChevronLeftIcon as t}from"@lifesg/react-icons/chevron-left";import{ChevronRightIcon as
|
|
1
|
+
import{ChevronDownIcon as i}from"@lifesg/react-icons/chevron-down";import{ChevronLeftIcon as t}from"@lifesg/react-icons/chevron-left";import{ChevronRightIcon as o}from"@lifesg/react-icons/chevron-right";import e,{css as r}from"styled-components";import{Button as n}from"../../button/button.js";import{Colour as a,Font as d}from"../../theme/index.js";import{ClickableIcon as l}from"../clickable-icon/clickable-icon.js";const s=r`
|
|
2
2
|
color: ${a.icon};
|
|
3
3
|
height: 1rem;
|
|
4
4
|
width: 1rem;
|
|
5
|
-
`,p=
|
|
5
|
+
`,p=e(t)`
|
|
6
6
|
${s}
|
|
7
|
-
`,m=o
|
|
7
|
+
`,m=e(o)`
|
|
8
8
|
${s}
|
|
9
|
-
`,g=
|
|
9
|
+
`,g=e(i)`
|
|
10
10
|
${s}
|
|
11
11
|
transition: transform 250ms ease-in-out;
|
|
12
12
|
margin-left: 0.5rem;
|
|
13
|
-
`,c=
|
|
13
|
+
`,c=e.div`
|
|
14
14
|
position: relative;
|
|
15
15
|
width: 100%;
|
|
16
16
|
display: flex;
|
|
@@ -18,17 +18,18 @@ import{ChevronDownIcon as i}from"@lifesg/react-icons/chevron-down";import{Chevro
|
|
|
18
18
|
|
|
19
19
|
padding-top: var(--vertical-inset);
|
|
20
20
|
padding-bottom: var(--vertical-inset);
|
|
21
|
-
`,f=
|
|
21
|
+
`,f=e.div`
|
|
22
22
|
display: flex;
|
|
23
23
|
flex: 1;
|
|
24
24
|
position: relative;
|
|
25
|
-
|
|
25
|
+
overflow-y: scroll;
|
|
26
|
+
`,v=e.div`
|
|
26
27
|
isolation: isolate;
|
|
27
28
|
width: 100%;
|
|
28
29
|
|
|
29
30
|
padding-left: var(--horizontal-inset);
|
|
30
31
|
padding-right: var(--horizontal-inset);
|
|
31
|
-
`,h=
|
|
32
|
+
`,h=e.div`
|
|
32
33
|
position: absolute;
|
|
33
34
|
top: 0;
|
|
34
35
|
left: 0;
|
|
@@ -42,16 +43,16 @@ import{ChevronDownIcon as i}from"@lifesg/react-icons/chevron-down";import{Chevro
|
|
|
42
43
|
${i=>{if(!i.$visible)return r`
|
|
43
44
|
display: none;
|
|
44
45
|
`}}
|
|
45
|
-
`,b=
|
|
46
|
+
`,b=e.div`
|
|
46
47
|
display: flex;
|
|
47
48
|
justify-content: space-between;
|
|
48
49
|
|
|
49
50
|
padding-left: var(--header-horizontal-inset, var(--horizontal-inset));
|
|
50
51
|
padding-right: var(--header-horizontal-inset, var(--horizontal-inset));
|
|
51
52
|
padding-bottom: var(--header-bottom-spacing);
|
|
52
|
-
`,u=
|
|
53
|
+
`,u=e.div`
|
|
53
54
|
display: flex;
|
|
54
|
-
`,x=
|
|
55
|
+
`,x=e.button`
|
|
55
56
|
border: none;
|
|
56
57
|
display: flex;
|
|
57
58
|
align-items: center;
|
|
@@ -66,26 +67,26 @@ import{ChevronDownIcon as i}from"@lifesg/react-icons/chevron-down";import{Chevro
|
|
|
66
67
|
transform: rotate(180deg);
|
|
67
68
|
}
|
|
68
69
|
`:void 0};
|
|
69
|
-
|
|
70
|
+
`,y=e.span`
|
|
70
71
|
${d["body-md-regular"]}
|
|
71
72
|
color: ${a.text};
|
|
72
|
-
|
|
73
|
+
`,$=e.div`
|
|
73
74
|
display: flex;
|
|
74
|
-
`,z=
|
|
75
|
+
`,z=e(l)`
|
|
75
76
|
margin: auto 0;
|
|
76
77
|
padding: 0.75rem;
|
|
77
78
|
|
|
78
79
|
&:disabled {
|
|
79
80
|
cursor: not-allowed;
|
|
80
81
|
}
|
|
81
|
-
`,w=
|
|
82
|
+
`,w=e.div`
|
|
82
83
|
display: flex;
|
|
83
84
|
gap: 0.5rem;
|
|
84
85
|
margin-top: 1.5rem;
|
|
85
86
|
|
|
86
87
|
padding-left: var(--horizontal-inset);
|
|
87
88
|
padding-right: var(--horizontal-inset);
|
|
88
|
-
`,j=
|
|
89
|
+
`,j=e(n.Small)`
|
|
89
90
|
flex: 1;
|
|
90
|
-
`;export{j as ActionButton,w as ActionButtonSection,p as ArrowLeft,m as ArrowRight,c as Container,v as DefaultView,x as DropdownButton
|
|
91
|
+
`;export{j as ActionButton,w as ActionButtonSection,p as ArrowLeft,m as ArrowRight,c as Container,v as DefaultView,x as DropdownButton,y as DropdownText,b as Header,z as HeaderArrowButton,$ as HeaderArrows,u as HeaderInputDropdown,g as IconChevronDown,h as OptionsOverlay,f as ToggleZone};
|
|
91
92
|
//# sourceMappingURL=calendar-manager.style.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar-manager.style.js","sources":["../../../src/shared/internal-calendar/calendar-manager.style.tsx"],"sourcesContent":["import { ChevronDownIcon } from \"@lifesg/react-icons/chevron-down\";\nimport { ChevronLeftIcon } from \"@lifesg/react-icons/chevron-left\";\nimport { ChevronRightIcon } from \"@lifesg/react-icons/chevron-right\";\nimport styled, { css } from \"styled-components\";\nimport { Button } from \"../../button\";\nimport { Colour, Font } from \"../../theme\";\nimport { ClickableIcon } from \"../clickable-icon\";\n\n// =============================================================================\n// STYLE INTERFACE\n// =============================================================================\ninterface DropdownButtonStyleProps {\n $expanded: boolean;\n $visible?: boolean;\n}\n\ninterface OverlayStyleProps {\n $visible?: boolean;\n}\n\n// =============================================================================\n// STYLING\n// =============================================================================\n// -----------------------------------------------------------------------------\n// ICONS\n// -----------------------------------------------------------------------------\nconst iconStyle = css`\n color: ${Colour.icon};\n height: 1rem;\n width: 1rem;\n`;\n\nexport const ArrowLeft = styled(ChevronLeftIcon)`\n ${iconStyle}\n`;\n\nexport const ArrowRight = styled(ChevronRightIcon)`\n ${iconStyle}\n`;\n\nexport const IconChevronDown = styled(ChevronDownIcon)`\n ${iconStyle}\n transition: transform 250ms ease-in-out;\n margin-left: 0.5rem;\n`;\n\n// -----------------------------------------------------------------------------\n// MAIN\n// -----------------------------------------------------------------------------\nexport const Container = styled.div`\n position: relative;\n width: 100%;\n display: flex;\n flex-direction: column;\n\n padding-top: var(--vertical-inset);\n padding-bottom: var(--vertical-inset);\n`;\n\nexport const ToggleZone = styled.div`\n display: flex;\n flex: 1;\n position: relative;\n`;\n\nexport const DefaultView = styled.div`\n isolation: isolate;\n width: 100%;\n\n padding-left: var(--horizontal-inset);\n padding-right: var(--horizontal-inset);\n`;\n\nexport const OptionsOverlay = styled.div<OverlayStyleProps>`\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n background: ${Colour.bg};\n\n padding-left: var(--horizontal-inset);\n padding-right: var(--horizontal-inset);\n\n ${(props) => {\n if (!props.$visible) {\n return css`\n display: none;\n `;\n }\n }}\n`;\n\n// -----------------------------------------------------------------------------\n// HEADER\n// -----------------------------------------------------------------------------\nexport const Header = styled.div`\n display: flex;\n justify-content: space-between;\n\n padding-left: var(--header-horizontal-inset, var(--horizontal-inset));\n padding-right: var(--header-horizontal-inset, var(--horizontal-inset));\n padding-bottom: var(--header-bottom-spacing);\n`;\n\nexport const HeaderInputDropdown = styled.div`\n display: flex;\n`;\n\nexport const DropdownButton = styled.button<DropdownButtonStyleProps>`\n border: none;\n display: flex;\n align-items: center;\n padding: 0.5rem;\n background: transparent;\n cursor: pointer;\n\n ${(props) => {\n if (props.$visible === false) {\n return css`\n display: none;\n `;\n }\n\n if (props.$expanded) {\n return css`\n ${IconChevronDown} {\n transform: rotate(180deg);\n }\n `;\n }\n }};\n`;\n\nexport const DropdownText = styled.span`\n ${Font[\"body-md-regular\"]}\n color: ${Colour[\"text\"]};\n`;\n\nexport const HeaderArrows = styled.div`\n display: flex;\n`;\n\nexport const HeaderArrowButton = styled(ClickableIcon)`\n margin: auto 0;\n padding: 0.75rem;\n\n &:disabled {\n cursor: not-allowed;\n }\n`;\n\n// -----------------------------------------------------------------------------\n// ACTION BUTTONS\n// -----------------------------------------------------------------------------\nexport const ActionButtonSection = styled.div`\n display: flex;\n gap: 0.5rem;\n margin-top: 1.5rem;\n\n padding-left: var(--horizontal-inset);\n padding-right: var(--horizontal-inset);\n`;\n\nexport const ActionButton = styled(Button.Small)`\n flex: 1;\n`;\n"],"names":["iconStyle","css","Colour","icon","ArrowLeft","styled","ChevronLeftIcon","ArrowRight","ChevronRightIcon","IconChevronDown","ChevronDownIcon","Container","div","ToggleZone","DefaultView","OptionsOverlay","bg","props","$visible","Header","HeaderInputDropdown","DropdownButton","button","$expanded","DropdownText","span","Font","HeaderArrows","HeaderArrowButton","ClickableIcon","ActionButtonSection","ActionButton","Button","Small"],"mappings":"kaA0BA,MAAMA,EAAYC,CAAG;aACRC,EAAOC;;;EAKPC,EAAYC,EAAOC,EAAgB;MAC1CN;EAGOO,EAAaF,EAAOG,EAAiB;MAC5CR;EAGOS,EAAkBJ,EAAOK,EAAgB;MAChDV;;;EAQOW,EAAYN,EAAOO,GAAG;;;;;;;;EAUtBC,EAAaR,EAAOO,GAAG
|
|
1
|
+
{"version":3,"file":"calendar-manager.style.js","sources":["../../../src/shared/internal-calendar/calendar-manager.style.tsx"],"sourcesContent":["import { ChevronDownIcon } from \"@lifesg/react-icons/chevron-down\";\nimport { ChevronLeftIcon } from \"@lifesg/react-icons/chevron-left\";\nimport { ChevronRightIcon } from \"@lifesg/react-icons/chevron-right\";\nimport styled, { css } from \"styled-components\";\nimport { Button } from \"../../button\";\nimport { Colour, Font } from \"../../theme\";\nimport { ClickableIcon } from \"../clickable-icon\";\n\n// =============================================================================\n// STYLE INTERFACE\n// =============================================================================\ninterface DropdownButtonStyleProps {\n $expanded: boolean;\n $visible?: boolean;\n}\n\ninterface OverlayStyleProps {\n $visible?: boolean;\n}\n\n// =============================================================================\n// STYLING\n// =============================================================================\n// -----------------------------------------------------------------------------\n// ICONS\n// -----------------------------------------------------------------------------\nconst iconStyle = css`\n color: ${Colour.icon};\n height: 1rem;\n width: 1rem;\n`;\n\nexport const ArrowLeft = styled(ChevronLeftIcon)`\n ${iconStyle}\n`;\n\nexport const ArrowRight = styled(ChevronRightIcon)`\n ${iconStyle}\n`;\n\nexport const IconChevronDown = styled(ChevronDownIcon)`\n ${iconStyle}\n transition: transform 250ms ease-in-out;\n margin-left: 0.5rem;\n`;\n\n// -----------------------------------------------------------------------------\n// MAIN\n// -----------------------------------------------------------------------------\nexport const Container = styled.div`\n position: relative;\n width: 100%;\n display: flex;\n flex-direction: column;\n\n padding-top: var(--vertical-inset);\n padding-bottom: var(--vertical-inset);\n`;\n\nexport const ToggleZone = styled.div`\n display: flex;\n flex: 1;\n position: relative;\n overflow-y: scroll;\n`;\n\nexport const DefaultView = styled.div`\n isolation: isolate;\n width: 100%;\n\n padding-left: var(--horizontal-inset);\n padding-right: var(--horizontal-inset);\n`;\n\nexport const OptionsOverlay = styled.div<OverlayStyleProps>`\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n background: ${Colour.bg};\n\n padding-left: var(--horizontal-inset);\n padding-right: var(--horizontal-inset);\n\n ${(props) => {\n if (!props.$visible) {\n return css`\n display: none;\n `;\n }\n }}\n`;\n\n// -----------------------------------------------------------------------------\n// HEADER\n// -----------------------------------------------------------------------------\nexport const Header = styled.div`\n display: flex;\n justify-content: space-between;\n\n padding-left: var(--header-horizontal-inset, var(--horizontal-inset));\n padding-right: var(--header-horizontal-inset, var(--horizontal-inset));\n padding-bottom: var(--header-bottom-spacing);\n`;\n\nexport const HeaderInputDropdown = styled.div`\n display: flex;\n`;\n\nexport const DropdownButton = styled.button<DropdownButtonStyleProps>`\n border: none;\n display: flex;\n align-items: center;\n padding: 0.5rem;\n background: transparent;\n cursor: pointer;\n\n ${(props) => {\n if (props.$visible === false) {\n return css`\n display: none;\n `;\n }\n\n if (props.$expanded) {\n return css`\n ${IconChevronDown} {\n transform: rotate(180deg);\n }\n `;\n }\n }};\n`;\n\nexport const DropdownText = styled.span`\n ${Font[\"body-md-regular\"]}\n color: ${Colour[\"text\"]};\n`;\n\nexport const HeaderArrows = styled.div`\n display: flex;\n`;\n\nexport const HeaderArrowButton = styled(ClickableIcon)`\n margin: auto 0;\n padding: 0.75rem;\n\n &:disabled {\n cursor: not-allowed;\n }\n`;\n\n// -----------------------------------------------------------------------------\n// ACTION BUTTONS\n// -----------------------------------------------------------------------------\nexport const ActionButtonSection = styled.div`\n display: flex;\n gap: 0.5rem;\n margin-top: 1.5rem;\n\n padding-left: var(--horizontal-inset);\n padding-right: var(--horizontal-inset);\n`;\n\nexport const ActionButton = styled(Button.Small)`\n flex: 1;\n`;\n"],"names":["iconStyle","css","Colour","icon","ArrowLeft","styled","ChevronLeftIcon","ArrowRight","ChevronRightIcon","IconChevronDown","ChevronDownIcon","Container","div","ToggleZone","DefaultView","OptionsOverlay","bg","props","$visible","Header","HeaderInputDropdown","DropdownButton","button","$expanded","DropdownText","span","Font","HeaderArrows","HeaderArrowButton","ClickableIcon","ActionButtonSection","ActionButton","Button","Small"],"mappings":"kaA0BA,MAAMA,EAAYC,CAAG;aACRC,EAAOC;;;EAKPC,EAAYC,EAAOC,EAAgB;MAC1CN;EAGOO,EAAaF,EAAOG,EAAiB;MAC5CR;EAGOS,EAAkBJ,EAAOK,EAAgB;MAChDV;;;EAQOW,EAAYN,EAAOO,GAAG;;;;;;;;EAUtBC,EAAaR,EAAOO,GAAG;;;;;EAOvBE,EAAcT,EAAOO,GAAG;;;;;;EAQxBG,EAAiBV,EAAOO,GAAsB;;;;;;kBAMzCV,EAAOc;;;;;MAKlBC,IACC,IAAKA,EAAMC,SACP,OAAOjB,CAAG;;aAGd;EAOKkB,EAASd,EAAOO,GAAG;;;;;;;EASnBQ,EAAsBf,EAAOO,GAAG;;EAIhCS,EAAiBhB,EAAOiB,MAAgC;;;;;;;;MAQ9DL,IACwB,IAAnBA,EAAMC,SACCjB,CAAG;;cAKVgB,EAAMM,UACCtB,CAAG;kBACJQ;;;mBAFV;EAUKe,EAAenB,EAAOoB,IAAI;MACjCC,EAAK;aACExB,EAAa;EAGbyB,EAAetB,EAAOO,GAAG;;EAIzBgB,EAAoBvB,EAAOwB,EAAc;;;;;;;EAYzCC,EAAsBzB,EAAOO,GAAG;;;;;;;EAShCmB,EAAe1B,EAAO2B,EAAOC,MAAM;;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const r={"brand-10":"#001240","brand-20":"#001F6D","brand-30":"#002A91","brand-40":"#043ECB","brand-50":"#2C58F0","brand-60":"#7184FF","brand-70":"#9EA9FF","brand-80":"#BFC7FF","brand-90":"#DADEFF","brand-95":"#EAEDFF","brand-100":"#F7F8FF","primary-10":"#001240","primary-20":"#001F6D","primary-30":"#002A91","primary-40":"#043ECB","primary-50":"#2C58F0","primary-60":"#7184FF","primary-70":"#9EA9FF","primary-80":"#BFC7FF","primary-90":"#DADEFF","primary-95":"#EAEDFF","primary-100":"#F7F8FF","secondary-10":"#0E1723","secondary-20":"#18293D","secondary-30":"#213753","secondary-40":"#305078","secondary-50":"#4B6A8F","secondary-60":"#7B91A9","secondary-70":"#A1B1C3","secondary-80":"#C1CBD7","secondary-90":"#DBE1E8","secondary-95":"#EBEFF2","secondary-100":"#F7F8FA","neutral-10":"#101625","neutral-20":"#212836","neutral-30":"#2F3642","neutral-40":"#464F5D","neutral-50":"#5D697A","neutral-60":"#8190A4","neutral-70":"#A5B0BE","neutral-80":"#C3CAD4","neutral-90":"#DCE0E6","neutral-95":"#ECEEF1","neutral-100":"#F7F8F9","success-10":"#081A0F","success-20":"#0E2D1B","success-30":"#133D24","success-40":"#1C5A34","success-50":"#257645","success-60":"#44A068","success-70":"#64C189","success-80":"#80DCA5","success-90":"#B4ECCB","success-95":"#D5F6E2","success-100":"#EFFCF4","warning-10":"#221302","warning-20":"#3B2204","warning-30":"#502E05","warning-40":"#744408","warning-50":"#98590C","warning-60":"#D07A13","warning-70":"#E4A244","warning-80":"#F5C26C","warning-90":"#FADBA6","warning-95":"#FCECD4","warning-100":"#FDF7F0","error-10":"#330505","error-20":"#550808","error-30":"#700B0B","error-40":"#9E130F","error-50":"#CB2213","error-60":"#DE6C6C","error-70":"#E89B9B","error-80":"#EFBEBE","error-90":"#F5D9D9","error-95":"#F9ECEC","error-100":"#FCF7F7","info-10":"#031537","info-20":"#05245E","info-30":"#07307D","info-40":"#0E47B1","info-50":"#2462D4","info-60":"#558CF5","info-70":"#86AFFB","info-80":"#B0CAFF","info-90":"#D0E2FC","info-95":"#E4F1FB","info-100":"#F4FAFD",white:"#FFFFFF",black:"#121212","primary-inverse":"#FEAB10"};export{r as ToteBoardColourSet};
|
|
2
|
+
//# sourceMappingURL=toteboard-colour-set.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toteboard-colour-set.js","sources":["../../../../src/theme/colour-primitive/specs/toteboard-colour-set.ts"],"sourcesContent":["import { PrimitiveColourSet } from \"../../types\";\n\nexport const ToteBoardColourSet: PrimitiveColourSet = {\n \"brand-10\": \"#001240\",\n \"brand-20\": \"#001F6D\",\n \"brand-30\": \"#002A91\",\n \"brand-40\": \"#043ECB\",\n \"brand-50\": \"#2C58F0\",\n \"brand-60\": \"#7184FF\",\n \"brand-70\": \"#9EA9FF\",\n \"brand-80\": \"#BFC7FF\",\n \"brand-90\": \"#DADEFF\",\n \"brand-95\": \"#EAEDFF\",\n \"brand-100\": \"#F7F8FF\",\n \"primary-10\": \"#001240\",\n \"primary-20\": \"#001F6D\",\n \"primary-30\": \"#002A91\",\n \"primary-40\": \"#043ECB\",\n \"primary-50\": \"#2C58F0\",\n \"primary-60\": \"#7184FF\",\n \"primary-70\": \"#9EA9FF\",\n \"primary-80\": \"#BFC7FF\",\n \"primary-90\": \"#DADEFF\",\n \"primary-95\": \"#EAEDFF\",\n \"primary-100\": \"#F7F8FF\",\n \"secondary-10\": \"#0E1723\",\n \"secondary-20\": \"#18293D\",\n \"secondary-30\": \"#213753\",\n \"secondary-40\": \"#305078\",\n \"secondary-50\": \"#4B6A8F\",\n \"secondary-60\": \"#7B91A9\",\n \"secondary-70\": \"#A1B1C3\",\n \"secondary-80\": \"#C1CBD7\",\n \"secondary-90\": \"#DBE1E8\",\n \"secondary-95\": \"#EBEFF2\",\n \"secondary-100\": \"#F7F8FA\",\n \"neutral-10\": \"#101625\",\n \"neutral-20\": \"#212836\",\n \"neutral-30\": \"#2F3642\",\n \"neutral-40\": \"#464F5D\",\n \"neutral-50\": \"#5D697A\",\n \"neutral-60\": \"#8190A4\",\n \"neutral-70\": \"#A5B0BE\",\n \"neutral-80\": \"#C3CAD4\",\n \"neutral-90\": \"#DCE0E6\",\n \"neutral-95\": \"#ECEEF1\",\n \"neutral-100\": \"#F7F8F9\",\n \"success-10\": \"#081A0F\",\n \"success-20\": \"#0E2D1B\",\n \"success-30\": \"#133D24\",\n \"success-40\": \"#1C5A34\",\n \"success-50\": \"#257645\",\n \"success-60\": \"#44A068\",\n \"success-70\": \"#64C189\",\n \"success-80\": \"#80DCA5\",\n \"success-90\": \"#B4ECCB\",\n \"success-95\": \"#D5F6E2\",\n \"success-100\": \"#EFFCF4\",\n \"warning-10\": \"#221302\",\n \"warning-20\": \"#3B2204\",\n \"warning-30\": \"#502E05\",\n \"warning-40\": \"#744408\",\n \"warning-50\": \"#98590C\",\n \"warning-60\": \"#D07A13\",\n \"warning-70\": \"#E4A244\",\n \"warning-80\": \"#F5C26C\",\n \"warning-90\": \"#FADBA6\",\n \"warning-95\": \"#FCECD4\",\n \"warning-100\": \"#FDF7F0\",\n \"error-10\": \"#330505\",\n \"error-20\": \"#550808\",\n \"error-30\": \"#700B0B\",\n \"error-40\": \"#9E130F\",\n \"error-50\": \"#CB2213\",\n \"error-60\": \"#DE6C6C\",\n \"error-70\": \"#E89B9B\",\n \"error-80\": \"#EFBEBE\",\n \"error-90\": \"#F5D9D9\",\n \"error-95\": \"#F9ECEC\",\n \"error-100\": \"#FCF7F7\",\n \"info-10\": \"#031537\",\n \"info-20\": \"#05245E\",\n \"info-30\": \"#07307D\",\n \"info-40\": \"#0E47B1\",\n \"info-50\": \"#2462D4\",\n \"info-60\": \"#558CF5\",\n \"info-70\": \"#86AFFB\",\n \"info-80\": \"#B0CAFF\",\n \"info-90\": \"#D0E2FC\",\n \"info-95\": \"#E4F1FB\",\n \"info-100\": \"#F4FAFD\",\n white: \"#FFFFFF\",\n black: \"#121212\",\n \"primary-inverse\": \"#FEAB10\",\n};\n"],"names":["ToteBoardColourSet","white","black"],"mappings":"AAEO,MAAMA,EAAyC,CAClD,WAAY,UACZ,WAAY,UACZ,WAAY,UACZ,WAAY,UACZ,WAAY,UACZ,WAAY,UACZ,WAAY,UACZ,WAAY,UACZ,WAAY,UACZ,WAAY,UACZ,YAAa,UACb,aAAc,UACd,aAAc,UACd,aAAc,UACd,aAAc,UACd,aAAc,UACd,aAAc,UACd,aAAc,UACd,aAAc,UACd,aAAc,UACd,aAAc,UACd,cAAe,UACf,eAAgB,UAChB,eAAgB,UAChB,eAAgB,UAChB,eAAgB,UAChB,eAAgB,UAChB,eAAgB,UAChB,eAAgB,UAChB,eAAgB,UAChB,eAAgB,UAChB,eAAgB,UAChB,gBAAiB,UACjB,aAAc,UACd,aAAc,UACd,aAAc,UACd,aAAc,UACd,aAAc,UACd,aAAc,UACd,aAAc,UACd,aAAc,UACd,aAAc,UACd,aAAc,UACd,cAAe,UACf,aAAc,UACd,aAAc,UACd,aAAc,UACd,aAAc,UACd,aAAc,UACd,aAAc,UACd,aAAc,UACd,aAAc,UACd,aAAc,UACd,aAAc,UACd,cAAe,UACf,aAAc,UACd,aAAc,UACd,aAAc,UACd,aAAc,UACd,aAAc,UACd,aAAc,UACd,aAAc,UACd,aAAc,UACd,aAAc,UACd,aAAc,UACd,cAAe,UACf,WAAY,UACZ,WAAY,UACZ,WAAY,UACZ,WAAY,UACZ,WAAY,UACZ,WAAY,UACZ,WAAY,UACZ,WAAY,UACZ,WAAY,UACZ,WAAY,UACZ,YAAa,UACb,UAAW,UACX,UAAW,UACX,UAAW,UACX,UAAW,UACX,UAAW,UACX,UAAW,UACX,UAAW,UACX,UAAW,UACX,UAAW,UACX,UAAW,UACX,WAAY,UACZC,MAAO,UACPC,MAAO,UACP,kBAAmB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{getCollection as r,getValue as s}from"../helpers.js";import{BookingSgColourSet as e}from"./specs/bookingsg-colour-set.js";import{CCubeColourSet as o}from"./specs/ccube-colour-set.js";import{LifeSgColourSet as n}from"./specs/lifesg-colour-set.js";import{MyLegacyColourSet as a}from"./specs/mylegacy-colour-set.js";import{OneServiceColourSet as c}from"./specs/oneservice-colour-set.js";import{PAColourSet as i}from"./specs/pa-colour-set.js";import{RBSColourSet as u}from"./specs/rbs-colour-set.js";import{A11yPlaygroundColourSet as
|
|
1
|
+
import{getCollection as r,getValue as s}from"../helpers.js";import{BookingSgColourSet as e}from"./specs/bookingsg-colour-set.js";import{CCubeColourSet as o}from"./specs/ccube-colour-set.js";import{LifeSgColourSet as n}from"./specs/lifesg-colour-set.js";import{MyLegacyColourSet as a}from"./specs/mylegacy-colour-set.js";import{OneServiceColourSet as c}from"./specs/oneservice-colour-set.js";import{PAColourSet as i}from"./specs/pa-colour-set.js";import{RBSColourSet as u}from"./specs/rbs-colour-set.js";import{A11yPlaygroundColourSet as p}from"./specs/a11yplayground-colour-set.js";import{SupportGoWhereColourSet as t}from"./specs/supportgowhere-colour-set.js";import{IMDAColourSet as l}from"./specs/imda-colour-set.js";import{SPFColourSet as m}from"./specs/spf-colour-set.js";import{SMGSColourSet as d}from"./specs/smgs-colour-set.js";import{CareerCompassColourSet as y}from"./specs/careercompass-colour-set.js";import{ToteBoardColourSet as g}from"./specs/toteboard-colour-set.js";const f={collections:{lifesg:n,bookingsg:e,rbs:u,mylegacy:a,ccube:o,oneservice:c,pa:i,a11yplayground:p,supportgowhere:t,sgwdigitallobby:t,imda:l,spf:m,careercompass:y,smgs:d,toteboard:g},defaultValue:"lifesg"},b={collections:{lifesg:n,bookingsg:e,rbs:u,mylegacy:a,ccube:o,oneservice:c,pa:i,a11yplayground:p,supportgowhere:t,sgwdigitallobby:t,imda:l,spf:m,careercompass:y,smgs:d,toteboard:g},defaultValue:"lifesg"},w=e=>o=>{var n;const a=o.theme,c="dark"===(null==a?void 0:a.colourMode),i=r(c?b:f,null==a?void 0:a.colourScheme),u=c?"primitiveColourDark":"primitiveColour",p=null===(n=null==a?void 0:a.overrides)||void 0===n?void 0:n[u];return p?s(i,e,p):i[e]},j={"brand-10":w("brand-10"),"brand-20":w("brand-20"),"brand-30":w("brand-30"),"brand-40":w("brand-40"),"brand-50":w("brand-50"),"brand-60":w("brand-60"),"brand-70":w("brand-70"),"brand-80":w("brand-80"),"brand-90":w("brand-90"),"brand-95":w("brand-95"),"brand-100":w("brand-100"),"primary-10":w("primary-10"),"primary-20":w("primary-20"),"primary-30":w("primary-30"),"primary-40":w("primary-40"),"primary-50":w("primary-50"),"primary-60":w("primary-60"),"primary-70":w("primary-70"),"primary-80":w("primary-80"),"primary-90":w("primary-90"),"primary-95":w("primary-95"),"primary-100":w("primary-100"),"secondary-10":w("secondary-10"),"secondary-20":w("secondary-20"),"secondary-30":w("secondary-30"),"secondary-40":w("secondary-40"),"secondary-50":w("secondary-50"),"secondary-60":w("secondary-60"),"secondary-70":w("secondary-70"),"secondary-80":w("secondary-80"),"secondary-90":w("secondary-90"),"secondary-95":w("secondary-95"),"secondary-100":w("secondary-100"),"neutral-10":w("neutral-10"),"neutral-20":w("neutral-20"),"neutral-30":w("neutral-30"),"neutral-40":w("neutral-40"),"neutral-50":w("neutral-50"),"neutral-60":w("neutral-60"),"neutral-70":w("neutral-70"),"neutral-80":w("neutral-80"),"neutral-90":w("neutral-90"),"neutral-95":w("neutral-95"),"neutral-100":w("neutral-100"),"success-10":w("success-10"),"success-20":w("success-20"),"success-30":w("success-30"),"success-40":w("success-40"),"success-50":w("success-50"),"success-60":w("success-60"),"success-70":w("success-70"),"success-80":w("success-80"),"success-90":w("success-90"),"success-95":w("success-95"),"success-100":w("success-100"),"warning-10":w("warning-10"),"warning-20":w("warning-20"),"warning-30":w("warning-30"),"warning-40":w("warning-40"),"warning-50":w("warning-50"),"warning-60":w("warning-60"),"warning-70":w("warning-70"),"warning-80":w("warning-80"),"warning-90":w("warning-90"),"warning-95":w("warning-95"),"warning-100":w("warning-100"),"error-10":w("error-10"),"error-20":w("error-20"),"error-30":w("error-30"),"error-40":w("error-40"),"error-50":w("error-50"),"error-60":w("error-60"),"error-70":w("error-70"),"error-80":w("error-80"),"error-90":w("error-90"),"error-95":w("error-95"),"error-100":w("error-100"),"info-10":w("info-10"),"info-20":w("info-20"),"info-30":w("info-30"),"info-40":w("info-40"),"info-50":w("info-50"),"info-60":w("info-60"),"info-70":w("info-70"),"info-80":w("info-80"),"info-90":w("info-90"),"info-95":w("info-95"),"info-100":w("info-100"),white:w("white"),black:w("black"),"primary-inverse":w("primary-inverse")};export{f as ColourSpec,b as DarkColourSpec,j as PrimitiveColour,w as getPrimitiveColour};
|
|
2
2
|
//# sourceMappingURL=theme-helper.js.map
|