@blateral/b.kit 2.3.0-beta.1.2 → 2.3.0-beta.1.4
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/Actions-6dd616e0.js +2 -0
- package/cjs/Actions-6dd616e0.js.map +1 -0
- package/cjs/Bdot-d898ba3b.js +2 -0
- package/cjs/Bdot-d898ba3b.js.map +1 -0
- package/cjs/Button-72747f63.js +2 -0
- package/cjs/Button-72747f63.js.map +1 -0
- package/cjs/ButtonGhost-046437c5.js +2 -0
- package/cjs/ButtonGhost-046437c5.js.map +1 -0
- package/cjs/Control-eead1a4c.js +2 -0
- package/cjs/Control-eead1a4c.js.map +1 -0
- package/cjs/EventBlock-10b9d78d.js +2 -0
- package/cjs/EventBlock-10b9d78d.js.map +1 -0
- package/cjs/FileUpload-ece8bb07.js +2 -0
- package/cjs/FileUpload-ece8bb07.js.map +1 -0
- package/cjs/Filter-d6d90b8b.js +2 -0
- package/cjs/Filter-d6d90b8b.js.map +1 -0
- package/cjs/FilterField-cf9e2f16.js +2 -0
- package/cjs/FilterField-cf9e2f16.js.map +1 -0
- package/cjs/Grid-39b12e21.js +2 -0
- package/cjs/Grid-39b12e21.js.map +1 -0
- package/cjs/Image-d9681be0.js +2 -0
- package/cjs/Image-d9681be0.js.map +1 -0
- package/cjs/InfoList-577f3c57.js +2 -0
- package/cjs/InfoList-577f3c57.js.map +1 -0
- package/cjs/LanguageSwitcher-47e25e95.js +2 -0
- package/cjs/LanguageSwitcher-47e25e95.js.map +1 -0
- package/cjs/Navigation-3f5d6088.js +2 -0
- package/cjs/{Navigation-ebb27a9b.js.map → Navigation-3f5d6088.js.map} +1 -1
- package/cjs/POICard-492bf8d0.js +2 -0
- package/cjs/POICard-492bf8d0.js.map +1 -0
- package/cjs/Pointer-3588eadf.js +2 -0
- package/cjs/Pointer-3588eadf.js.map +1 -0
- package/cjs/SocialList-da77e994.js +2 -0
- package/cjs/SocialList-da77e994.js.map +1 -0
- package/cjs/TableBlock-a5b16e8f.js +2 -0
- package/cjs/TableBlock-a5b16e8f.js.map +1 -0
- package/cjs/Tag-5c72cc0d.js +2 -0
- package/cjs/Tag-5c72cc0d.js.map +1 -0
- package/cjs/VideoBlock-301997a9.js +2 -0
- package/cjs/VideoBlock-301997a9.js.map +1 -0
- package/cjs/VideoCard-405b518a.js +2 -0
- package/cjs/VideoCard-405b518a.js.map +1 -0
- package/cjs/Wrapper-91748bdb.js +2 -0
- package/cjs/Wrapper-91748bdb.js.map +1 -0
- package/cjs/base.js +1 -1
- package/cjs/blocks.js +1 -1
- package/cjs/buttons.js +1 -1
- package/cjs/cookies.js +1 -1
- package/cjs/cookies.js.map +1 -1
- package/cjs/escape-1ef8dd83.js +2 -0
- package/cjs/escape-1ef8dd83.js.map +1 -0
- package/cjs/fields.js +1 -1
- package/cjs/fields.js.map +1 -1
- package/cjs/footer.js +2 -0
- package/cjs/footer.js.map +1 -0
- package/cjs/hooks.js +1 -1
- package/cjs/hooks.js.map +1 -1
- package/cjs/navigation.js +1 -1
- package/cjs/navigation.js.map +1 -1
- package/cjs/sections.js +1 -1
- package/cjs/sections.js.map +1 -1
- package/cjs/sections_events.js +2 -0
- package/cjs/sections_events.js.map +1 -0
- package/cjs/sections_forms.js +2 -0
- package/cjs/sections_forms.js.map +1 -0
- package/cjs/sections_jobs.js +2 -0
- package/cjs/sections_jobs.js.map +1 -0
- package/cjs/sections_news.js +2 -0
- package/cjs/sections_news.js.map +1 -0
- package/cjs/sections_pois.js +2 -0
- package/cjs/sections_pois.js.map +1 -0
- package/cjs/statusFormatter-0393122b.js +2 -0
- package/cjs/statusFormatter-0393122b.js.map +1 -0
- package/cjs/structuredData-0b1278a9.js +2 -0
- package/cjs/structuredData-0b1278a9.js.map +1 -0
- package/cjs/urlParams-7525f638.js +2 -0
- package/cjs/urlParams-7525f638.js.map +1 -0
- package/cjs/useEqualSheetHeight-cfd4176e.js +2 -0
- package/cjs/useEqualSheetHeight-cfd4176e.js.map +1 -0
- package/cjs/useGeolocation-d8946470.js +2 -0
- package/cjs/useGeolocation-d8946470.js.map +1 -0
- package/cjs/useIE-aef9decc.js +2 -0
- package/cjs/useIE-aef9decc.js.map +1 -0
- package/cjs/useLazyInput-f71c221b.js +2 -0
- package/cjs/useLazyInput-f71c221b.js.map +1 -0
- package/cjs/useLeafletMap-2e608b01.js +2 -0
- package/cjs/useLeafletMap-2e608b01.js.map +1 -0
- package/cjs/useScrollTo-fdd665da.js +2 -0
- package/cjs/useScrollTo-fdd665da.js.map +1 -0
- package/esm/Actions-3f06c2e9.js +57 -0
- package/esm/Actions-3f06c2e9.js.map +1 -0
- package/esm/Bdot-fae262fc.js +24 -0
- package/esm/Bdot-fae262fc.js.map +1 -0
- package/esm/Button-ab1a4e79.js +115 -0
- package/esm/Button-ab1a4e79.js.map +1 -0
- package/esm/ButtonGhost-5b498dba.js +112 -0
- package/esm/ButtonGhost-5b498dba.js.map +1 -0
- package/esm/{Callout-03ad4c6e.js → Callout-389fed95.js} +4 -4
- package/esm/{Callout-03ad4c6e.js.map → Callout-389fed95.js.map} +1 -1
- package/esm/{Checkbox-76c2576b.js → Checkbox-957d8f33.js} +5 -5
- package/esm/{Checkbox-76c2576b.js.map → Checkbox-957d8f33.js.map} +1 -1
- package/esm/{ClockFilled-cff5900e.js → ClockFilled-6bae80dc.js} +2 -2
- package/esm/{ClockFilled-cff5900e.js.map → ClockFilled-6bae80dc.js.map} +1 -1
- package/esm/Control-57a287dc.js +52 -0
- package/esm/Control-57a287dc.js.map +1 -0
- package/esm/{Copy-d2be4fb7.js → Copy-fb124972.js} +4 -4
- package/esm/{Copy-d2be4fb7.js.map → Copy-fb124972.js.map} +1 -1
- package/esm/EventBlock-0109da13.js +132 -0
- package/esm/EventBlock-0109da13.js.map +1 -0
- package/esm/{FilterField-b1a28df7.js → FileUpload-4ba0a672.js} +48 -164
- package/esm/FileUpload-4ba0a672.js.map +1 -0
- package/esm/Filter-fec6dc5c.js +32 -0
- package/esm/Filter-fec6dc5c.js.map +1 -0
- package/esm/FilterField-03097694.js +129 -0
- package/esm/FilterField-03097694.js.map +1 -0
- package/esm/{Wrapper-38c912a6.js → Grid-151498da.js} +7 -224
- package/esm/Grid-151498da.js.map +1 -0
- package/esm/Image-b538f659.js +193 -0
- package/esm/Image-b538f659.js.map +1 -0
- package/esm/InfoList-616d17fd.js +74 -0
- package/esm/InfoList-616d17fd.js.map +1 -0
- package/esm/LanguageSwitcher-058e0145.js +70 -0
- package/esm/LanguageSwitcher-058e0145.js.map +1 -0
- package/esm/{LibThemeProvider-17012395.js → LibThemeProvider-a38c5bf1.js} +3 -3
- package/esm/{LibThemeProvider-17012395.js.map → LibThemeProvider-a38c5bf1.js.map} +1 -1
- package/esm/{Link-42f0b80f.js → Link-0a1e35d6.js} +3 -3
- package/esm/{Link-42f0b80f.js.map → Link-0a1e35d6.js.map} +1 -1
- package/esm/{Navigation-fae92776.js → Navigation-13dce48c.js} +10 -9
- package/esm/{Navigation-fae92776.js.map → Navigation-13dce48c.js.map} +1 -1
- package/esm/POICard-392a2c3a.js +116 -0
- package/esm/POICard-392a2c3a.js.map +1 -0
- package/esm/Pointer-bc68154f.js +111 -0
- package/esm/Pointer-bc68154f.js.map +1 -0
- package/esm/SocialList-4396cad9.js +61 -0
- package/esm/SocialList-4396cad9.js.map +1 -0
- package/esm/TableBlock-26530c71.js +159 -0
- package/esm/TableBlock-26530c71.js.map +1 -0
- package/esm/Tag-72424779.js +67 -0
- package/esm/Tag-72424779.js.map +1 -0
- package/esm/VideoBlock-b3f4ae27.js +624 -0
- package/esm/VideoBlock-b3f4ae27.js.map +1 -0
- package/esm/VideoCard-3fd368ef.js +160 -0
- package/esm/VideoCard-3fd368ef.js.map +1 -0
- package/esm/Wrapper-29347885.js +224 -0
- package/esm/Wrapper-29347885.js.map +1 -0
- package/esm/base.js +4 -3
- package/esm/base.js.map +1 -1
- package/esm/blocks.js +20 -11
- package/esm/blocks.js.map +1 -1
- package/esm/buttons.js +6 -4
- package/esm/buttons.js.map +1 -1
- package/esm/cookies.js +9 -8
- package/esm/cookies.js.map +1 -1
- package/esm/escape-cbff9c25.js +6 -0
- package/esm/escape-cbff9c25.js.map +1 -0
- package/esm/fields.js +12 -8
- package/esm/fields.js.map +1 -1
- package/esm/footer.js +301 -0
- package/esm/footer.js.map +1 -0
- package/esm/hooks.js +14 -9
- package/esm/hooks.js.map +1 -1
- package/esm/icons.js +1 -1
- package/esm/index.js +3 -3
- package/esm/{navigation-e135836f.js → navigation-a2998143.js} +2 -2
- package/esm/{navigation-e135836f.js.map → navigation-a2998143.js.map} +1 -1
- package/esm/navigation.js +12 -10
- package/esm/navigation.js.map +1 -1
- package/esm/sections.js +2623 -7275
- package/esm/sections.js.map +1 -1
- package/esm/sections_events.js +573 -0
- package/esm/sections_events.js.map +1 -0
- package/esm/sections_forms.js +1405 -0
- package/esm/sections_forms.js.map +1 -0
- package/esm/sections_jobs.js +508 -0
- package/esm/sections_jobs.js.map +1 -0
- package/esm/sections_news.js +1023 -0
- package/esm/sections_news.js.map +1 -0
- package/esm/sections_pois.js +719 -0
- package/esm/sections_pois.js.map +1 -0
- package/esm/{Actions-59bdbbf7.js → statusFormatter-9be0fbff.js} +2 -57
- package/esm/statusFormatter-9be0fbff.js.map +1 -0
- package/esm/structuredData-87423414.js +117 -0
- package/esm/structuredData-87423414.js.map +1 -0
- package/esm/{styles-eca3acc8.js → styles-f6c54818.js} +2 -2
- package/esm/{styles-eca3acc8.js.map → styles-f6c54818.js.map} +1 -1
- package/esm/typography.js +6 -6
- package/esm/urlParams-9cfdaf71.js +51 -0
- package/esm/urlParams-9cfdaf71.js.map +1 -0
- package/esm/{useCookieConsent-cd262961.js → useCookieConsent-8caef116.js} +2 -2
- package/esm/{useCookieConsent-cd262961.js.map → useCookieConsent-8caef116.js.map} +1 -1
- package/esm/{urlParams-c16d7370.js → useEqualSheetHeight-c18cebd3.js} +4 -116
- package/esm/useEqualSheetHeight-c18cebd3.js.map +1 -0
- package/esm/useGeolocation-f9f073cc.js +95 -0
- package/esm/useGeolocation-f9f073cc.js.map +1 -0
- package/esm/useIE-a9c56989.js +15 -0
- package/esm/useIE-a9c56989.js.map +1 -0
- package/esm/useLazyInput-e66fc5be.js +85 -0
- package/esm/useLazyInput-e66fc5be.js.map +1 -0
- package/esm/{useGeolocation-c99d76bd.js → useLeafletMap-6dea7a8e.js} +4 -175
- package/esm/useLeafletMap-6dea7a8e.js.map +1 -0
- package/esm/{useMediaQuery-07eee3f4.js → useMediaQuery-0d473a9c.js} +2 -2
- package/esm/{useMediaQuery-07eee3f4.js.map → useMediaQuery-0d473a9c.js.map} +1 -1
- package/esm/useScrollTo-70af34bf.js +57 -0
- package/esm/useScrollTo-70af34bf.js.map +1 -0
- package/footer/package.json +7 -0
- package/package.json +2 -1
- package/sections/events/package.json +7 -0
- package/sections/forms/package.json +7 -0
- package/sections/jobs/package.json +7 -0
- package/sections/news/package.json +7 -0
- package/sections/pois/package.json +7 -0
- package/types/footer.d.ts +4 -0
- package/types/footer.d.ts.map +1 -0
- package/types/sections.d.ts +0 -23
- package/types/sections.d.ts.map +1 -1
- package/types/sections_events.d.ts +4 -0
- package/types/sections_events.d.ts.map +1 -0
- package/types/sections_forms.d.ts +3 -0
- package/types/sections_forms.d.ts.map +1 -0
- package/types/sections_jobs.d.ts +3 -0
- package/types/sections_jobs.d.ts.map +1 -0
- package/types/sections_news.d.ts +10 -0
- package/types/sections_news.d.ts.map +1 -0
- package/types/sections_pois.d.ts +4 -0
- package/types/sections_pois.d.ts.map +1 -0
- package/cjs/Actions-487104b2.js +0 -2
- package/cjs/Actions-487104b2.js.map +0 -1
- package/cjs/Bdot-760e0e3a.js +0 -2
- package/cjs/Bdot-760e0e3a.js.map +0 -1
- package/cjs/ButtonGhost-e9644acd.js +0 -2
- package/cjs/ButtonGhost-e9644acd.js.map +0 -1
- package/cjs/Control-23259241.js +0 -2
- package/cjs/Control-23259241.js.map +0 -1
- package/cjs/FilterField-569d60e5.js +0 -2
- package/cjs/FilterField-569d60e5.js.map +0 -1
- package/cjs/Navigation-ebb27a9b.js +0 -2
- package/cjs/SocialList-79ddf9d6.js +0 -2
- package/cjs/SocialList-79ddf9d6.js.map +0 -1
- package/cjs/Wrapper-3b9c9e89.js +0 -2
- package/cjs/Wrapper-3b9c9e89.js.map +0 -1
- package/cjs/urlParams-51ce7168.js +0 -2
- package/cjs/urlParams-51ce7168.js.map +0 -1
- package/cjs/useGeolocation-4d38150b.js +0 -2
- package/cjs/useGeolocation-4d38150b.js.map +0 -1
- package/esm/Actions-59bdbbf7.js.map +0 -1
- package/esm/Bdot-a103eeef.js +0 -1141
- package/esm/Bdot-a103eeef.js.map +0 -1
- package/esm/ButtonGhost-422fd723.js +0 -220
- package/esm/ButtonGhost-422fd723.js.map +0 -1
- package/esm/Control-52ff8784.js +0 -157
- package/esm/Control-52ff8784.js.map +0 -1
- package/esm/FilterField-b1a28df7.js.map +0 -1
- package/esm/SocialList-385cde53.js +0 -307
- package/esm/SocialList-385cde53.js.map +0 -1
- package/esm/Wrapper-38c912a6.js.map +0 -1
- package/esm/urlParams-c16d7370.js.map +0 -1
- package/esm/useGeolocation-c99d76bd.js.map +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var a=require("./concat-f387d848.js"),r="undefined"!=typeof window&&"URLSearchParams"in window,e=function(){var a={};if(!r)return a;var e=Object.fromEntries(new URLSearchParams(window.location.search));for(var n in e){var o=e[n];"string"==typeof o&&(o=decodeURIComponent(o)),a[n]=o}return a},n=function(r){if(r){var e=r.toString(),n=e?a.concat([location.pathname,e+location.hash],"?"):location.pathname+location.hash;window.history.replaceState({},"",n)}};exports.deleteUrlParam=function(a){if(r){var e=new URLSearchParams(window.location.search);e.delete(a),n(e)}},exports.getUrlParams=e,exports.setUrlParam=function(a,o){if(r&&("string"==typeof o||"number"==typeof o)){var t=e();t[a]=o.toString();var i=new URLSearchParams(window.location.search);for(var c in t)i.set(c,encodeURIComponent(t[c]));n(i)}};
|
|
2
|
+
//# sourceMappingURL=urlParams-7525f638.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"urlParams-7525f638.js","sources":["../src/utils/urlParams.ts"],"sourcesContent":["import { concat } from './concat';\n\nconst isSupported =\n typeof window !== 'undefined' && 'URLSearchParams' in window;\n\nexport const getUrlParams = () => {\n const obj: Record<string, string> = {};\n if (!isSupported) return obj;\n\n const paramsObj = Object.fromEntries(\n new URLSearchParams(window.location.search)\n );\n\n for (const param in paramsObj) {\n let value = paramsObj[param];\n if (typeof value === 'string') {\n value = decodeURIComponent(value);\n }\n obj[param] = value;\n }\n\n return obj;\n};\n\nexport const setUrlParam = (key: string, value: string | number) => {\n if (\n !isSupported ||\n (typeof value !== 'string' && typeof value !== 'number')\n ) {\n return;\n }\n\n const params = getUrlParams();\n params[key] = value.toString();\n\n const currentParams = new URLSearchParams(window.location.search);\n for (const param in params) {\n currentParams.set(param, encodeURIComponent(params[param]));\n }\n\n updateUrl(currentParams);\n};\n\nexport const deleteUrlParam = (key: string) => {\n if (!isSupported) return;\n const currentParams = new URLSearchParams(window.location.search);\n currentParams.delete(key);\n\n updateUrl(currentParams);\n};\n\nconst updateUrl = (params: URLSearchParams) => {\n if (!params) return;\n\n const queries = params.toString();\n const url = queries\n ? concat([location.pathname, queries + location.hash], '?')\n : location.pathname + location.hash;\n\n window.history.replaceState({}, '', url);\n};\n"],"names":["isSupported","window","getUrlParams","obj","paramsObj","Object","fromEntries","URLSearchParams","location","search","param","value","decodeURIComponent","updateUrl","params","queries","toString","url","concat","pathname","hash","history","replaceState","key","currentParams","delete","set","encodeURIComponent"],"mappings":"mDAEMA,EACgB,oBAAXC,QAA0B,oBAAqBA,OAE7CC,EAAe,WAClBC,IAAAA,EAA8B,GACpC,IAAKH,EAAa,OAAOG,EAEzB,IAAMC,EAAYC,OAAOC,YACrB,IAAIC,gBAAgBN,OAAOO,SAASC,SAGxC,IAAK,IAAMC,KAASN,EAAW,CAC3B,IAAIO,EAAQP,EAAUM,GACD,iBAAVC,IACPA,EAAQC,mBAAmBD,IAE/BR,EAAIO,GAASC,EAGjB,OAAOR,GA8BLU,EAAY,SAACC,GACX,GAACA,EAAD,CAEJ,IAAMC,EAAUD,EAAOE,WACjBC,EAAMF,EACNG,EAAAA,OAAO,CAACV,SAASW,SAAUJ,EAAUP,SAASY,MAAO,KACrDZ,SAASW,SAAWX,SAASY,KAEnCnB,OAAOoB,QAAQC,aAAa,GAAI,GAAIL,4BAhBV,SAACM,GACvB,GAACvB,EAAD,CACEwB,IAAAA,EAAgB,IAAIjB,gBAAgBN,OAAOO,SAASC,QAC1De,EAAcC,OAAOF,GAErBV,EAAUW,gDAxBa,SAACD,EAAaZ,GACrC,GACKX,IACiB,iBAAVW,GAAuC,iBAAVA,GAFzC,CAOMG,IAAAA,EAASZ,IACfY,EAAOS,GAAOZ,EAAMK,WAEdQ,IAAAA,EAAgB,IAAIjB,gBAAgBN,OAAOO,SAASC,QAC1D,IAAK,IAAMC,KAASI,EAChBU,EAAcE,IAAIhB,EAAOiB,mBAAmBb,EAAOJ,KAGvDG,EAAUW"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var e=require("./ClockFilled-2483aa4a.js"),t=require("react"),n=require("./useMediaQuery-d4f81f88.js"),r=function(){var e=t.useState(!1),n=e[0],r=e[1];return t.useEffect((function(){void 0===document.fonts?r(void 0):function(){var e,t;null===(t=null===(e=null===document||void 0===document?void 0:document.fonts)||void 0===e?void 0:e.ready)||void 0===t||t.then((function(){r(!0)}))}()}),[]),n},i=function(e,n){void 0===e&&(e=0);var r=t.useState(null),i=r[0],u=r[1],o=t.useRef(-1),c=t.useRef({clientWidth:0,clientHeight:0,innerHeight:0,innerWidth:0}),l=function(){"undefined"!=typeof window&&"undefined"!=typeof document&&(c.current={clientWidth:document.documentElement.clientWidth,clientHeight:document.documentElement.clientHeight,innerHeight:window.innerHeight,innerWidth:window.innerWidth})};return t.useEffect((function(){if("undefined"!=typeof window){var t=function(){l(),-1===o.current&&(o.current=window.setTimeout((function(){null==n||n(c.current),u(c.current),o.current=-1}),e))};return l(),null==n||n(c.current),u(c.current),window.addEventListener("resize",t),function(){window.removeEventListener("resize",t)}}}),[n,e]),i};exports.useEqualSheetHeight=function(u){var o=e.__assign({small:1,medium:1,semilarge:2,large:3,xlarge:3},u.responsive),c=n.useMediaQuery(["small","medium","semilarge","large","xlarge"]),l=c?o[c]:o.small,f=t.useState([]),s=f[0],a=f[1],d=r(),h=t.useCallback((function(e,t,n){e.reduce((function(e,t,n,r){return n%l==0&&e.push(r.slice(n,n+l)),e}),[]).forEach((function(e,r){var i=e.filter((function(e){return null!==e})).slice().sort((function(e,t){return e&&t?e>t?-1:1:0}))[0];if(e.length>1&&i)for(var u=0;u<e.length;u++){var o=n[u+r*l].current.querySelector(t);null==o||o.setAttribute("style","height: ".concat(i,"px"))}}))}),[l]),g=i(void 0!==u.resizeThrottleTimeout?u.resizeThrottleTimeout:400);t.useEffect((function(){var t,n=(t=s,function(){for(var n=new Map,r=0;r<u.identifiers.length;r++)n.set(u.identifiers[r],[]);t.filter((function(e){return e.current})).forEach((function(t){var r=t.current;u.identifiers.forEach((function(t){var i=r.querySelector(t),u=n.get(t),o=null;i&&(i.removeAttribute("style"),o=i.getBoundingClientRect().height),u&&n.set(t,e.__spreadArray(e.__spreadArray([],u,!0),[o],!1))}))})),n.forEach((function(e,n){h(e,n,t)}))});n()}),[u.identifiers,g,h,s,d]);var v=t.useCallback((function(){a((function(e){return Array(u.listLength).fill(null).map((function(n,r){return e[r]||t.createRef()}))}))}),[u.listLength]);return t.useEffect((function(){a((function(e){return Array(u.listLength).fill(null).map((function(n,r){return e[r]||t.createRef()}))}))}),[u.listLength]),{sheetRefs:s,triggerCalculation:v}},exports.useFontsLoaded=r,exports.useResizeThrottle=i;
|
|
2
|
+
//# sourceMappingURL=useEqualSheetHeight-cfd4176e.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useEqualSheetHeight-cfd4176e.js","sources":["../src/utils/useFontsLoaded.ts","../src/utils/useResizeThrottle.ts","../src/utils/useEqualSheetHeight.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nexport const useFontsLoaded = () => {\n const [allFontsLoaded, setFontLoaded] = useState<boolean | undefined>(\n false\n );\n\n useEffect(() => {\n const waitForFonts = () => {\n (document as any)?.fonts?.ready?.then(() => {\n setFontLoaded(true);\n });\n };\n\n if ((document as any).fonts === undefined) setFontLoaded(undefined);\n else waitForFonts();\n }, []);\n\n return allFontsLoaded;\n};\n","import { useEffect, useRef, useState } from 'react';\n\nexport interface ResizeState {\n clientWidth: number;\n clientHeight: number;\n innerHeight: number;\n innerWidth: number;\n}\n\nconst useResizeThrottle = (\n timeout = 0,\n callback?: (state: ResizeState) => void\n) => {\n const [throttledState, setThrottledState] =\n useState<ResizeState | null>(null);\n\n const timeoutRef = useRef<number>(-1);\n const lastState = useRef<ResizeState>({\n clientWidth: 0,\n clientHeight: 0,\n innerHeight: 0,\n innerWidth: 0,\n });\n\n const updateResizeState = () => {\n if (typeof window === 'undefined' || typeof document === 'undefined') {\n return;\n }\n\n lastState.current = {\n clientWidth: document.documentElement.clientWidth,\n clientHeight: document.documentElement.clientHeight,\n innerHeight: window.innerHeight,\n innerWidth: window.innerWidth,\n };\n };\n\n useEffect(() => {\n if (typeof window === 'undefined') return;\n\n const handleResize = () => {\n updateResizeState();\n\n if (timeoutRef.current === -1) {\n timeoutRef.current = window.setTimeout(() => {\n callback?.(lastState.current);\n setThrottledState(lastState.current);\n timeoutRef.current = -1;\n }, timeout);\n }\n };\n\n updateResizeState();\n callback?.(lastState.current);\n setThrottledState(lastState.current);\n\n window.addEventListener('resize', handleResize);\n\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, [callback, timeout]);\n\n return throttledState;\n};\n\nexport default useResizeThrottle;\n","import {\n useEffect,\n useState,\n MutableRefObject,\n createRef,\n useCallback,\n} from 'react';\nimport { useMediaQuery } from './useMediaQuery';\nimport { useFontsLoaded } from 'utils/useFontsLoaded';\nimport useResizeThrottle from './useResizeThrottle';\n\ninterface ItemsPerRow {\n small?: number;\n medium?: number;\n semilarge?: number;\n large?: number;\n xlarge?: number;\n}\n\ntype Mq = keyof ItemsPerRow;\n\n// ********************\n// useEqualSheetHeight\n// ********************\n\nexport const useEqualSheetHeight = <T extends HTMLElement>(props: {\n listLength: number;\n identifiers: string[];\n responsive?: ItemsPerRow;\n /** Throttle timeout for resize events. Default: 400ms */\n resizeThrottleTimeout?: number;\n}) => {\n const defaultResponsive = {\n small: 1,\n medium: 1,\n semilarge: 2,\n large: 3,\n xlarge: 3,\n ...props.responsive,\n };\n const mqs: Mq[] = ['small', 'medium', 'semilarge', 'large', 'xlarge'];\n const currentMq = useMediaQuery(mqs) as Mq | undefined;\n const itemsPerRow = currentMq\n ? defaultResponsive[currentMq]\n : defaultResponsive.small;\n\n const [sheetRefs, setSheetRefs] = useState<MutableRefObject<T>[]>([]);\n const fontsLoaded = useFontsLoaded();\n\n const setHeights = useCallback(\n (\n heights: (number | null)[],\n selector: string,\n refs: MutableRefObject<T>[]\n ) => {\n const makeRows = (\n result: Array<number | null>[],\n _: number,\n index: number,\n arr: Array<number | null>\n ) => {\n // make new row after 3 items\n if (index % itemsPerRow === 0) {\n result.push(\n arr.slice(index, index + itemsPerRow) as Array<number>\n );\n }\n return result;\n };\n\n // put item heights in 2-dimensional array to sort them in rows\n const heightsInRows = heights.reduce(makeRows, []);\n\n heightsInRows.forEach((rowHeights, y) => {\n const validHeights = rowHeights.filter(\n (height) => height !== null\n ) as number[];\n\n const highest = validHeights.slice().sort((vA, vB) => {\n if (vA && vB) {\n if (vA > vB) return -1;\n return 1;\n } else return 0;\n })[0];\n\n // set height of all items in row to the highest value\n if (rowHeights.length > 1 && highest) {\n for (let x = 0; x < rowHeights.length; x++) {\n const index = x + y * itemsPerRow;\n const el = refs[index].current.querySelector(selector);\n\n el?.setAttribute('style', `height: ${highest}px`);\n }\n }\n });\n },\n [itemsPerRow]\n );\n\n // Throttle viewport resize event for performance\n const resizeState = useResizeThrottle(\n props.resizeThrottleTimeout !== undefined\n ? props.resizeThrottleTimeout\n : 400\n );\n\n useEffect(() => {\n const resize = (refs: MutableRefObject<T>[]) => () => {\n const identifierSizes = new Map<string, Array<number | null>>();\n\n // create identifier map\n for (let i = 0; i < props.identifiers.length; i++) {\n identifierSizes.set(props.identifiers[i], []);\n }\n\n // set height values\n refs.filter((ref) => ref.current).forEach(({ current }) => {\n // get height for each element\n props.identifiers.forEach((id) => {\n const element = current.querySelector(id);\n const prevHeights = identifierSizes.get(id);\n let height: number | null = null;\n\n if (element) {\n element.removeAttribute('style');\n height = element.getBoundingClientRect().height;\n }\n\n if (prevHeights) {\n identifierSizes.set(id, [...prevHeights, height]);\n }\n });\n });\n\n // set heights for each identifier\n identifierSizes.forEach((value, key) => {\n setHeights(value, key, refs);\n });\n };\n\n const resizeHandler = resize(sheetRefs);\n resizeHandler();\n }, [props.identifiers, resizeState, setHeights, sheetRefs, fontsLoaded]);\n\n const triggerCalculation = useCallback(() => {\n setSheetRefs((prev) =>\n Array(props.listLength)\n .fill(null)\n .map((_, i) => prev[i] || createRef())\n );\n }, [props.listLength]);\n\n useEffect(() => {\n setSheetRefs((prev) =>\n Array(props.listLength)\n .fill(null)\n .map((_, i) => prev[i] || createRef())\n );\n }, [props.listLength]);\n\n return {\n sheetRefs,\n triggerCalculation,\n };\n};\n"],"names":["useFontsLoaded","_a","useState","allFontsLoaded","setFontLoaded","useEffect","undefined","document","fonts","_b","ready","then","waitForFonts","useResizeThrottle","timeout","callback","throttledState","setThrottledState","timeoutRef","useRef","lastState","clientWidth","clientHeight","innerHeight","innerWidth","updateResizeState","window","current","documentElement","handleResize","setTimeout","addEventListener","removeEventListener","props","defaultResponsive","__assign","small","medium","semilarge","large","xlarge","responsive","currentMq","useMediaQuery","itemsPerRow","sheetRefs","setSheetRefs","fontsLoaded","setHeights","useCallback","heights","selector","refs","reduce","result","_","index","arr","push","slice","forEach","rowHeights","y","validHeights","highest","filter","height","sort","vA","vB","length","x","el","querySelector","setAttribute","concat","resizeState","resizeThrottleTimeout","resizeHandler","identifierSizes","Map","i","identifiers","set","ref","id","element","prevHeights","get","removeAttribute","getBoundingClientRect","value","key","triggerCalculation","prev","Array","listLength","fill","map","createRef"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var o=require("react");exports.useGeolocation=function(t,n){void 0===t&&(t=!0),void 0===n&&(n=!0);var e=o.useState(),a=e[0],c=e[1],i=o.useState(),r=i[0],u=i[1],l=o.useState(),s=l[0],f=l[1],g=o.useState(),v=g[0],h=g[1],b=o.useRef();o.useEffect((function(){c("geolocation"in navigator)}),[]);var S=o.useCallback((function(){u(!1),b.current&&navigator.geolocation.clearWatch(b.current)}),[]);o.useEffect((function(){if(n&&"geolocation"in navigator){S(),navigator.geolocation.watchPosition(p,w,{enableHighAccuracy:t}),u(!0);var o=b.current;return function(){o&&(u(!1),navigator.geolocation.clearWatch(o))}}}),[n,S,t]);var d=o.useCallback((function(){return new Promise((function(o,n){S(),u(!1),navigator.geolocation.watchPosition((function(t){p(t),o(t)}),(function(o){w(o),n(o)}),{enableHighAccuracy:t}),u(!0)}))}),[S,t]),p=function(o){f(o)},w=function(o){u(!1),console.log(o),h(o)};return{isSupported:a,isEnabled:r,location:s,error:v,reset:d,cancel:S}};
|
|
2
|
+
//# sourceMappingURL=useGeolocation-d8946470.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useGeolocation-d8946470.js","sources":["../src/utils/useGeolocation.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\n\nconst useGeolocation = (enableHighAccuracy = true, autostart = true) => {\n const [isSupported, setIsSupported] = useState<boolean>();\n const [isEnabled, setIsEnabled] = useState<boolean>();\n const [location, setLocation] = useState<GeolocationPosition>();\n const [error, setError] = useState<GeolocationPositionError>();\n const watchRef = useRef<number | null>();\n\n useEffect(() => {\n setIsSupported('geolocation' in navigator);\n }, []);\n\n const cancel = useCallback(() => {\n setIsEnabled(false);\n if (watchRef.current) {\n navigator.geolocation.clearWatch(watchRef.current);\n }\n }, []);\n\n useEffect(() => {\n if (!autostart || !('geolocation' in navigator)) {\n return;\n }\n\n cancel();\n navigator.geolocation.watchPosition(handleSuccess, handleError, {\n enableHighAccuracy,\n });\n setIsEnabled(true);\n const watch = watchRef.current;\n\n return () => {\n if (watch) {\n setIsEnabled(false);\n navigator.geolocation.clearWatch(watch);\n }\n };\n }, [autostart, cancel, enableHighAccuracy]);\n\n const reset = useCallback(() => {\n return new Promise<GeolocationPosition>((resolve, reject) => {\n cancel();\n setIsEnabled(false);\n navigator.geolocation.watchPosition(\n (position) => {\n handleSuccess(position);\n resolve(position);\n },\n (err) => {\n handleError(err);\n reject(err);\n },\n {\n enableHighAccuracy,\n }\n );\n setIsEnabled(true);\n });\n }, [cancel, enableHighAccuracy]);\n\n const handleSuccess = (position: GeolocationPosition) => {\n setLocation(position);\n };\n\n const handleError = (error: GeolocationPositionError) => {\n setIsEnabled(false);\n console.log(error);\n\n setError(error);\n };\n\n return { isSupported, isEnabled, location, error, reset, cancel };\n};\n\nexport default useGeolocation;\n"],"names":["enableHighAccuracy","autostart","_a","useState","isSupported","setIsSupported","_b","isEnabled","setIsEnabled","_c","location","setLocation","_d","error","setError","watchRef","useRef","useEffect","navigator","cancel","useCallback","current","geolocation","clearWatch","watchPosition","handleSuccess","handleError","watch","reset","Promise","resolve","reject","position","err","console","log"],"mappings":"2DAEuB,SAACA,EAA2BC,QAA3B,IAAAD,IAAAA,GAAyB,QAAE,IAAAC,IAAAA,GAAgB,GACzDC,IAAAA,EAAgCC,EAAAA,WAA/BC,EAAWF,EAAA,GAAEG,EAAcH,EAAA,GAC5BI,EAA4BH,EAAAA,WAA3BI,EAASD,EAAA,GAAEE,EAAYF,EAAA,GACxBG,EAA0BN,EAAAA,WAAzBO,EAAQD,EAAA,GAAEE,EAAWF,EAAA,GACtBG,EAAoBT,EAAAA,WAAnBU,EAAKD,EAAA,GAAEE,EAAQF,EAAA,GAChBG,EAAWC,EAAAA,SAEjBC,EAAAA,WAAU,WACNZ,EAAe,gBAAiBa,aACjC,IAEH,IAAMC,EAASC,EAAAA,aAAY,WACvBZ,GAAa,GACTO,EAASM,SACTH,UAAUI,YAAYC,WAAWR,EAASM,WAE/C,IAEHJ,EAAAA,WAAU,WACN,GAAKhB,GAAe,gBAAiBiB,UAArC,CAIAC,IACAD,UAAUI,YAAYE,cAAcC,EAAeC,EAAa,CAC5D1B,mBAAkBA,IAEtBQ,GAAa,GACb,IAAMmB,EAAQZ,EAASM,QAEvB,OAAO,WACCM,IACAnB,GAAa,GACbU,UAAUI,YAAYC,WAAWI,QAG1C,CAAC1B,EAAWkB,EAAQnB,IAEvB,IAAM4B,EAAQR,EAAAA,aAAY,WACtB,OAAO,IAAIS,SAA6B,SAACC,EAASC,GAC9CZ,IACAX,GAAa,GACbU,UAAUI,YAAYE,eAClB,SAACQ,GACGP,EAAcO,GACdF,EAAQE,MAEZ,SAACC,GACGP,EAAYO,GACZF,EAAOE,KAEX,CACIjC,mBAAkBA,IAG1BQ,GAAa,QAElB,CAACW,EAAQnB,IAENyB,EAAgB,SAACO,GACnBrB,EAAYqB,IAGVN,EAAc,SAACb,GACjBL,GAAa,GACb0B,QAAQC,IAAItB,GAEZC,EAASD,IAGN,MAAA,CAAET,YAAWA,EAAEG,UAASA,EAAEG,SAAQA,EAAEG,MAAKA,EAAEe,MAAKA,EAAET,OAAMA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useIE-aef9decc.js","sources":["../src/utils/useIE.ts"],"sourcesContent":["import { useState, useEffect } from 'react';\n\nconst useIE = (initialValue?: boolean) => {\n const [isIE, setIE] = useState(initialValue || false);\n\n useEffect(() => {\n setIE((document.body.style as any).msTouchAction !== undefined);\n }, []);\n return isIE;\n};\n\nexport default useIE;\n"],"names":["initialValue","_a","useState","isIE","setIE","useEffect","undefined","document","body","style","msTouchAction"],"mappings":"kDAEc,SAACA,GACL,IAAAC,EAAgBC,EAAAA,SAASF,IAAgB,GAAxCG,EAAIF,EAAA,GAAEG,OAKb,OAHAC,EAAAA,WAAU,WACND,OAAqDE,IAA9CC,SAASC,KAAKC,MAAcC,iBACpC,IACIP"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var e=require("react"),r=require("./ClockFilled-2483aa4a.js"),u=function(r,u){var t=e.useRef(r),n=e.useRef();e.useEffect((function(){t.current=r}),[r]);var c=e.useCallback((function(){n.current=window.setTimeout((function(){var e;return null===(e=t.current)||void 0===e?void 0:e.call(t)}),u)}),[u]),a=e.useCallback((function(){n.current&&window.clearTimeout(n.current)}),[]);e.useEffect((function(){return c(),a}),[u,c,a]);var l=e.useCallback((function(){a(),c()}),[a,c]);return{clear:a,reset:l}},t=function(t,n,c){var a=u(t,n),l=a.clear,o=a.reset;return e.useEffect(o,r.__spreadArray(r.__spreadArray([],c,!0),[o],!1)),e.useEffect(l,[]),{clear:l,reset:o}};exports.useDebounce=t,exports.useLazyInput=function(r,u,n){void 0===n&&(n=600);var c=e.useState(u),a=c[0],l=c[1],o=t((function(){return null==r?void 0:r(a)}),n,[a]).clear,s=e.useCallback((function(e,u){void 0===u&&(u=!1),l(e),u&&(o(),null==r||r(e))}),[]),i=e.useCallback((function(){o(),null==r||r(a)}),[r,o,a]);return{update:s,value:a,forceUpdate:i}},exports.useTimeout=u;
|
|
2
|
+
//# sourceMappingURL=useLazyInput-f71c221b.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLazyInput-f71c221b.js","sources":["../src/utils/useTimeout.ts","../src/utils/useDebounce.ts","../src/utils/useLazyInput.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\n\nconst useTimeout = (callback: () => void, delay: number) => {\n const callbackRef = useRef(callback);\n const timeoutRef = useRef<number>();\n\n useEffect(() => {\n callbackRef.current = callback;\n }, [callback]);\n\n const set = useCallback(() => {\n timeoutRef.current = window.setTimeout(\n () => callbackRef.current?.(),\n delay\n );\n }, [delay]);\n\n const clear = useCallback(() => {\n timeoutRef.current && window.clearTimeout(timeoutRef.current);\n }, []);\n\n useEffect(() => {\n set();\n return clear;\n }, [delay, set, clear]);\n\n const reset = useCallback(() => {\n clear();\n set();\n }, [clear, set]);\n\n return { clear, reset };\n};\n\nexport default useTimeout;\n","import { DependencyList, useEffect } from 'react';\nimport useTimeout from './useTimeout';\n\nconst useDebounce = (\n callback: () => void,\n delay: number,\n deps: DependencyList\n) => {\n const { clear, reset } = useTimeout(callback, delay);\n\n useEffect(reset, [...deps, reset]);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(clear, []);\n\n return {\n clear,\n reset,\n };\n};\n\nexport default useDebounce;\n","import { useCallback, useState } from 'react';\nimport useDebounce from './useDebounce';\n\nconst useLazyInput = (\n callback: (value: string) => void,\n initial: string,\n delay = 600\n) => {\n const [value, setValue] = useState<string>(initial);\n const { clear } = useDebounce(() => callback?.(value), delay, [value]);\n\n const update = useCallback((value: string, withoutDelay = false) => {\n setValue(value);\n if (withoutDelay) {\n clear();\n callback?.(value);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const forceUpdate = useCallback(() => {\n clear();\n callback?.(value);\n }, [callback, clear, value]);\n\n return {\n update,\n value,\n forceUpdate,\n };\n};\n\nexport default useLazyInput;\n"],"names":["useTimeout","callback","delay","callbackRef","useRef","timeoutRef","useEffect","current","set","useCallback","window","setTimeout","_a","call","clear","clearTimeout","reset","useDebounce","deps","__spreadArray","initial","useState","value","setValue","update","withoutDelay","forceUpdate"],"mappings":"2EAEMA,EAAa,SAACC,EAAsBC,GACtC,IAAMC,EAAcC,SAAOH,GACrBI,EAAaD,EAAAA,SAEnBE,EAAAA,WAAU,WACNH,EAAYI,QAAUN,IACvB,CAACA,IAEJ,IAAMO,EAAMC,EAAAA,aAAY,WACpBJ,EAAWE,QAAUG,OAAOC,YACxB,WAAM,IAAAC,EAAA,OAAuB,UAAvBT,EAAYI,eAAW,IAAAK,OAAA,EAAAA,EAAAC,KAAAV,KAC7BD,KAEL,CAACA,IAEEY,EAAQL,EAAAA,aAAY,WACtBJ,EAAWE,SAAWG,OAAOK,aAAaV,EAAWE,WACtD,IAEHD,EAAAA,WAAU,WAEN,OADAE,IACOM,IACR,CAACZ,EAAOM,EAAKM,IAEhB,IAAME,EAAQP,EAAAA,aAAY,WACtBK,IACAN,MACD,CAACM,EAAON,IAEJ,MAAA,CAAEM,MAAKA,EAAEE,MAAKA,IC5BnBC,EAAc,SAChBhB,EACAC,EACAgB,GAEM,IAAAN,EAAmBZ,EAAWC,EAAUC,GAAtCY,EAAKF,EAAAE,MAAEE,UAOR,OALPV,EAAAA,UAAUU,EAAKG,gBAAAA,EAAAA,cAAA,GAAMD,GAAM,GAAA,CAAAF,QAG3BV,YAAUQ,EAAO,IAEV,CACHA,MAAKA,EACLE,MAAKA,+CCdQ,SACjBf,EACAmB,EACAlB,QAAA,IAAAA,IAAAA,EAAW,KAEL,IAAAU,EAAoBS,EAAQA,SAASD,GAApCE,EAAKV,EAAA,GAAEW,EAAQX,EAAA,GACdE,EAAUG,GAAY,WAAM,OAAAhB,MAAAA,OAAQ,EAARA,EAAWqB,KAAQpB,EAAO,CAACoB,IAAOR,MAEhEU,EAASf,EAAAA,aAAY,SAACa,EAAeG,QAAA,IAAAA,IAAAA,GAAoB,GAC3DF,EAASD,GACLG,IACAX,IACAb,MAAAA,GAAAA,EAAWqB,MAGhB,IAEGI,EAAcjB,EAAAA,aAAY,WAC5BK,IACAb,MAAAA,GAAAA,EAAWqB,KACZ,CAACrB,EAAUa,EAAOQ,IAEd,MAAA,CACHE,OAAMA,EACNF,MAAKA,EACLI,YAAWA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var o=require("./ClockFilled-2483aa4a.js"),e=require("react");function n(o){if(o&&o.__esModule)return o;var e=Object.create(null);return o&&Object.keys(o).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(o,n);Object.defineProperty(e,n,r.get?r:{enumerable:!0,get:function(){return o[n]}})}})),e.default=o,Object.freeze(e)}exports.useLeafletMap=function(r){var t=e.useState(null),l=t[0],i=t[1],a=e.useState(null),u=a[0],c=a[1],s=e.useState(null),d=s[0],f=s[1],v=e.useState(null),m=v[0],k=v[1],g=e.useRef(null),h=e.useState(!1),p=h[0],b=h[1],z=e.useRef(!1),y=e.useRef(null),M=e.useMemo((function(){return Object.keys(r).forEach((function(o){void 0===r[o]&&delete r[o]})),o.__assign({center:[0,0],zoom:2.5,touchZoom:!0,scrollWheelZoom:!1,showZoomControls:!0,zoomControlPosition:"topleft",onlyScrollOnFocus:!0,url:"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",attribution:'© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors',markers:[],fitBoundsPadding:[20,20]},r)}),[r]);e.useEffect((function(){if(l){o.__awaiter(void 0,void 0,void 0,(function(){var e,r,t;return o.__generator(this,(function(o){switch(o.label){case 0:return u||!l||z.current?[2]:(z.current=!0,[4,Promise.resolve().then((function(){return n(require("leaflet"))}))]);case 1:return(e=o.sent())?(c(e),r=e.map(l,{center:M.center,zoom:M.zoom,touchZoom:M.touchZoom,scrollWheelZoom:M.scrollWheelZoom,zoomControl:!1,minZoom:M.minZoom,maxZoom:M.maxZoom}),M.showZoomControls&&e.control.zoom({position:M.zoomControlPosition}).addTo(r),r.once("focus",(function(){M.onlyScrollOnFocus&&r.scrollWheelZoom.enable()})),r.once("blur",(function(){M.onlyScrollOnFocus&&r.scrollWheelZoom.disable()})),r.on("click",(function(o){var e;null===(e=M.onClick)||void 0===e||e.call(M,o,r.getZoom())})),f(r),e.tileLayer(M.url,{attribution:M.attribution}).addTo(r),(t=new e.FeatureGroup).addTo(r),k(t),[2]):[2]}}))}))}}),[u,l,M,M.attribution,M.center,M.onlyScrollOnFocus,M.scrollWheelZoom,M.touchZoom,M.url,M.zoom]),e.useEffect((function(){var o;if(d&&m){m.clearLayers(),null===(o=M.markers)||void 0===o||o.forEach((function(o){var e,n,r=o.position,t=o.icon,l=o.id,i=o.isInteractive;if((null==t?void 0:t.url)&&(null==t?void 0:t.size)&&r){var a=l===M.activeMarkerId,c=u.icon({iconUrl:t.url,iconSize:a?t.sizeActive:t.size,iconAnchor:a?t.anchorActive:null==t?void 0:t.anchor}),s=u.marker(u.latLng(r[0],r[1]),{icon:c,riseOnHover:!0,interactive:i}).addTo(d);i&&s.on("click",(function(){var o;null===(o=M.onMarkerClick)||void 0===o||o.call(M,l)})),m.addLayer(s),u&&d&&m&&(p?M.activeMarkerId&&M.activeMarkerId!==(null==g?void 0:g.current)&&(g.current=M.activeMarkerId,null===(n=M.onActiveMarkerChanged)||void 0===n||n.call(M,{markerId:M.activeMarkerId})):(null===(e=M.onReady)||void 0===e||e.call(M),b(!0),M.activeMarkerId&&(g.current=M.activeMarkerId)))}}));var e=function(){var o,e,n;if(d&&M.restrictToMarkersArea){var r=null===(o=null==m?void 0:m.getBounds())||void 0===o?void 0:o.pad(.3);if(r&&r.isValid()){var t=r.getNorth(),l=r.getEast(),i=r.getSouth(),a=r.getWest(),u=d.getCenter(),c=null,s=null;(u.lat<i||u.lat>t)&&y.current&&(c=null===(e=y.current)||void 0===e?void 0:e.lat),(u.lng<a||u.lng>l)&&y.current&&(s=null===(n=y.current)||void 0===n?void 0:n.lng),null===s&&null===c||(null!==s&&(u.lng=s),null!==c&&(u.lat=c),d.panTo(u,{animate:!1})),y.current=u}}};if(M.restrictToMarkersArea)(null==m?void 0:m.getBounds()).isValid()&&d.on("drag",e);return function(){y.current=null,null==d||d.off("drag",e)}}}),[u,p,d,M,M.markers,m]);var Z=e.useCallback((function(){d&&m&&d.fitBounds(m.getBounds(),{padding:u.point(M.fitBoundsPadding)})}),[u,d,M.fitBoundsPadding,m]),C=e.useCallback((function(o){var e,n=o||M.zoom,r=null===(e=M.markers)||void 0===e?void 0:e.find((function(o){return o.id===M.activeMarkerId}));r&&(null==d||d.flyTo(r.position,n))}),[d,M.activeMarkerId,M.markers,M.zoom]),S=e.useCallback((function(o,e){var n=e||M.zoom;o?null==d||d.flyTo(o,n):C(n)}),[C,d,M.zoom]),O=e.useCallback((function(o){o&&(null==d||d.panTo(o))}),[d]),T=e.useCallback((function(){null==d||d.invalidateSize()}),[d]),I=e.useCallback((function(){return(null==d?void 0:d.getZoom())||M.zoom}),[d,M.zoom]);return{setContainer:i,flyToActive:C,flyToPosition:S,panToPosition:O,showAllMarkers:Z,recalculateMapSize:T,getCurrentZoom:I,isLoaded:p}};
|
|
2
|
+
//# sourceMappingURL=useLeafletMap-2e608b01.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLeafletMap-2e608b01.js","sources":["../src/utils/useLeafletMap.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport {\n FeatureGroup,\n LatLng,\n LeafletMouseEvent,\n Map,\n Marker,\n MarkerOptions,\n} from 'leaflet';\n\nexport interface LeafletMapSettings {\n center: [number, number];\n zoom: number;\n minZoom?: number;\n maxZoom?: number;\n touchZoom: boolean;\n scrollWheelZoom: boolean;\n onlyScrollOnFocus: boolean;\n url: string;\n attribution: string;\n markers: Array<LeafletMapMarker>;\n activeMarkerId?: string;\n fitBoundsPadding: [number, number];\n restrictToMarkersArea?: boolean;\n showZoomControls?: boolean;\n zoomControlPosition?: 'bottomleft' | 'bottomright' | 'topleft' | 'topright';\n onMarkerClick?: (markerId: string) => void;\n onActiveMarkerChanged?: (props: { markerId: string }) => void;\n onReady?: () => void;\n onClick?: (ev: LeafletMouseEvent, currentZoom: number) => void;\n}\n\nexport interface LeafletMapMarker {\n id: string;\n position: [number, number];\n isInteractive?: boolean;\n icon?: {\n url: string;\n size: [number, number];\n anchor: [number, number];\n\n sizeActive: [number, number];\n anchorActive: [number, number];\n };\n popup?: {\n text: string;\n };\n}\n\nconst useLeafletMap = (settings: Partial<LeafletMapSettings>) => {\n const [container, setContainer] = useState<HTMLElement | null>(null);\n const [L, setLeaflet] = useState<any>(null);\n const [map, setMap] = useState<Map | null>(null);\n const [markersLayerGroup, setMarkersLayerGroup] =\n useState<FeatureGroup<any> | null>(null);\n const prevMarkerId = useRef<string | null>(null);\n const [isLoaded, setLoaded] = useState<boolean>(false);\n const isRenderedRef = useRef<boolean>(false);\n\n const lastValidCenter = useRef<LatLng | null>(null);\n\n const mapSettings: LeafletMapSettings = useMemo(() => {\n // removing undefined keys\n Object.keys(settings).forEach((key) => {\n if (settings[key] === undefined) {\n delete settings[key];\n }\n });\n\n return {\n center: [0, 0],\n zoom: 2.5,\n touchZoom: true,\n scrollWheelZoom: false,\n showZoomControls: true,\n zoomControlPosition: 'topleft',\n onlyScrollOnFocus: true,\n url: 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',\n attribution:\n '© <a href=\"http://osm.org/copyright\">OpenStreetMap</a> contributors',\n markers: [],\n fitBoundsPadding: [20, 20], // 0 = TopLeft, 1 = BottomRight\n ...settings,\n };\n }, [settings]);\n\n useEffect(() => {\n if (!container) return;\n\n const init = async () => {\n if (L || !container || isRenderedRef.current) return;\n isRenderedRef.current = true;\n\n // init leaflet\n const leaflet = await import('leaflet');\n if (!leaflet) return;\n\n // set leaflet state\n setLeaflet(leaflet);\n\n // setup map\n const map = leaflet.map(container, {\n center: mapSettings.center,\n zoom: mapSettings.zoom,\n touchZoom: mapSettings.touchZoom,\n scrollWheelZoom: mapSettings.scrollWheelZoom,\n zoomControl: false,\n minZoom: mapSettings.minZoom,\n maxZoom: mapSettings.maxZoom,\n });\n\n if (mapSettings.showZoomControls) {\n leaflet.control\n .zoom({\n position: mapSettings.zoomControlPosition,\n })\n .addTo(map);\n }\n\n // activate map scrolling on focus\n map.once('focus', () => {\n if (mapSettings.onlyScrollOnFocus) {\n map.scrollWheelZoom.enable();\n }\n });\n\n // deactivate map scrolling on focus is lost\n map.once('blur', () => {\n if (mapSettings.onlyScrollOnFocus) {\n map.scrollWheelZoom.disable();\n }\n });\n\n map.on('click', (ev) => {\n mapSettings.onClick?.(ev as LeafletMouseEvent, map.getZoom());\n });\n\n // set map state\n setMap(map);\n\n // add map layer from map provider\n leaflet\n .tileLayer(mapSettings.url, {\n attribution: mapSettings.attribution,\n })\n .addTo(map);\n\n // setup layer for markers\n const group = new leaflet.FeatureGroup();\n group.addTo(map);\n\n setMarkersLayerGroup(group);\n };\n\n init();\n }, [\n L,\n container,\n mapSettings,\n mapSettings.attribution,\n mapSettings.center,\n mapSettings.onlyScrollOnFocus,\n mapSettings.scrollWheelZoom,\n mapSettings.touchZoom,\n mapSettings.url,\n mapSettings.zoom,\n ]);\n\n useEffect(() => {\n if (!map || !markersLayerGroup) return;\n\n markersLayerGroup.clearLayers();\n mapSettings.markers?.forEach(\n ({ position, icon, id, isInteractive }) => {\n if (!icon?.url || !icon?.size || !position) return;\n const isActive = id === mapSettings.activeMarkerId;\n\n const markerIcon = L.icon({\n iconUrl: icon.url,\n\n iconSize: isActive ? icon.sizeActive : icon.size, // size of the icon\n // shadowSize: [50, 64], // size of the shadow\n iconAnchor: isActive ? icon.anchorActive : icon?.anchor, // point of the icon which will correspond to marker's location\n // shadowAnchor: [4, 62], // the same for the shadow\n // popupAnchor: [0, -16], // point from which the popup should open relative to the iconAnchor\n });\n\n const marker: Marker = L.marker(\n L.latLng(position[0], position[1]),\n {\n icon: markerIcon,\n riseOnHover: true,\n interactive: isInteractive,\n } as MarkerOptions\n ).addTo(map);\n\n if (isInteractive) {\n marker.on('click', () => {\n mapSettings.onMarkerClick?.(id);\n });\n }\n\n // add marker to markers layer\n markersLayerGroup.addLayer(marker);\n\n if (L && map && markersLayerGroup) {\n if (!isLoaded) {\n // on first load\n mapSettings.onReady?.();\n setLoaded(true);\n if (mapSettings.activeMarkerId) {\n prevMarkerId.current = mapSettings.activeMarkerId;\n }\n } else {\n // check if active marker changed\n if (\n mapSettings.activeMarkerId &&\n mapSettings.activeMarkerId !== prevMarkerId?.current\n ) {\n prevMarkerId.current = mapSettings.activeMarkerId;\n\n mapSettings.onActiveMarkerChanged?.({\n markerId: mapSettings.activeMarkerId,\n });\n }\n }\n }\n }\n );\n\n const handleMapMove = () => {\n if (!map) return;\n if (!mapSettings.restrictToMarkersArea) return;\n\n const markersBounds = markersLayerGroup?.getBounds()?.pad(0.3);\n if (!markersBounds || !markersBounds.isValid()) return;\n\n const northEdge = markersBounds.getNorth();\n const eastEdge = markersBounds.getEast();\n const southEdge = markersBounds.getSouth();\n const westEdge = markersBounds.getWest();\n\n const center = map.getCenter();\n let newLat: number | null = null;\n let newLng: number | null = null;\n\n // on latitude overshoot\n if (\n (center.lat < southEdge || center.lat > northEdge) &&\n lastValidCenter.current\n ) {\n newLat = lastValidCenter.current?.lat;\n }\n\n // on longitude overshoot\n if (\n (center.lng < westEdge || center.lng > eastEdge) &&\n lastValidCenter.current\n ) {\n newLng = lastValidCenter.current?.lng;\n }\n\n if (newLng !== null || newLat !== null) {\n if (newLng !== null) center.lng = newLng;\n if (newLat !== null) center.lat = newLat;\n\n map.panTo(center, { animate: false });\n }\n\n lastValidCenter.current = center;\n };\n\n // if set restrict map movement to markers\n if (mapSettings.restrictToMarkersArea) {\n const markersBounds = markersLayerGroup?.getBounds();\n\n if (markersBounds.isValid()) {\n map.on('drag', handleMapMove);\n }\n }\n\n return () => {\n lastValidCenter.current = null;\n map?.off('drag', handleMapMove);\n };\n }, [L, isLoaded, map, mapSettings, mapSettings.markers, markersLayerGroup]);\n\n /**\n * Adjust zoom to show all markers\n */\n const showAllMarkers = useCallback(() => {\n if (map && markersLayerGroup) {\n map.fitBounds(markersLayerGroup.getBounds(), {\n padding: L.point(mapSettings.fitBoundsPadding),\n });\n }\n }, [L, map, mapSettings.fitBoundsPadding, markersLayerGroup]);\n\n /**\n * Pan and zoom to active marker position on map\n * @param zoom\n */\n const flyToActive = useCallback(\n (zoom?: number) => {\n const mapZoom = zoom || mapSettings.zoom;\n const marker = mapSettings.markers?.find(\n (m) => m.id === mapSettings.activeMarkerId\n );\n if (marker) map?.flyTo(marker.position, mapZoom);\n },\n [map, mapSettings.activeMarkerId, mapSettings.markers, mapSettings.zoom]\n );\n\n /**\n * Pan and zoom to marker position on map\n * @param position\n * @param zoom\n */\n const flyToPosition = useCallback(\n (position?: [number, number], zoom?: number) => {\n const mapZoom = zoom || mapSettings.zoom;\n\n if (position) map?.flyTo(position, mapZoom);\n else flyToActive(mapZoom);\n },\n [flyToActive, map, mapSettings.zoom]\n );\n\n /**\n * Pan to marker position on map\n * @param position\n */\n const panToPosition = useCallback(\n (position?: [number, number]) => {\n if (position) map?.panTo(position);\n },\n [map]\n );\n\n /** Recalculate map size */\n const recalculateMapSize = useCallback(() => {\n map?.invalidateSize();\n }, [map]);\n\n const getCurrentZoom = useCallback(() => {\n return map?.getZoom() || mapSettings.zoom;\n }, [map, mapSettings.zoom]);\n\n return {\n setContainer,\n flyToActive,\n flyToPosition,\n panToPosition,\n showAllMarkers,\n recalculateMapSize,\n getCurrentZoom,\n isLoaded,\n };\n};\n\nexport default useLeafletMap;\n"],"names":["settings","_a","useState","container","setContainer","_b","L","setLeaflet","_c","map","setMap","_d","markersLayerGroup","setMarkersLayerGroup","prevMarkerId","useRef","_e","isLoaded","setLoaded","isRenderedRef","lastValidCenter","mapSettings","useMemo","Object","keys","forEach","key","undefined","__assign","center","zoom","touchZoom","scrollWheelZoom","showZoomControls","zoomControlPosition","onlyScrollOnFocus","url","attribution","markers","fitBoundsPadding","useEffect","__awaiter","current","Promise","resolve","then","_interopNamespace","require","leaflet","sent","zoomControl","minZoom","maxZoom","control","position","addTo","once","enable","disable","on","ev","onClick","call","getZoom","tileLayer","group","FeatureGroup","clearLayers","icon","id","isInteractive","size","isActive","activeMarkerId","markerIcon","iconUrl","iconSize","sizeActive","iconAnchor","anchorActive","anchor","marker","latLng","riseOnHover","interactive","onMarkerClick","addLayer","onActiveMarkerChanged","markerId","onReady","handleMapMove","restrictToMarkersArea","markersBounds","getBounds","pad","isValid","northEdge","getNorth","eastEdge","getEast","southEdge","getSouth","westEdge","getWest","getCenter","newLat","newLng","lat","lng","panTo","animate","off","showAllMarkers","useCallback","fitBounds","padding","point","flyToActive","mapZoom","find","m","flyTo","flyToPosition","panToPosition","recalculateMapSize","invalidateSize","getCurrentZoom"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var e=require("react");exports.useScrollTo=function(r){var t=e.useRef(-1),n=e.useRef(0),o=e.useState(void 0),c=o[0],u=o[1];return e.useEffect((function(){if(void 0!==c)if("scrollBehavior"in document.documentElement.style)window.scroll({top:c,left:0,behavior:"smooth"}),u(void 0);else{var e=function(o){-1===t.current&&(t.current=o||(new Date).getTime());var i,a=o-t.current,s=+(i=a/r,i*(2-i)).toFixed(2),l=0===c?n.current-n.current*s:n.current+c*s;window.scrollTo(0,l),c>0&&l>=n.current+c||c<0&&l<=n.current+c||0===c&&l<=0?(cancelAnimationFrame(t.current),t.current=-1,u(void 0)):window.requestAnimationFrame(e)};cancelAnimationFrame(t.current),t.current=-1,n.current=window.pageYOffset||document.documentElement.scrollTop,window.requestAnimationFrame(e)}}),[c,r]),u};
|
|
2
|
+
//# sourceMappingURL=useScrollTo-fdd665da.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useScrollTo-fdd665da.js","sources":["../src/utils/useScrollTo.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nexport const useScrollTo = (fallbackScrollDuration: number) => {\n const startTime = useRef<number>(-1);\n const firstPos = useRef<number>(0);\n const [targetPos, setTargetPos] = useState<number | undefined>(undefined);\n\n const outQuad = (n: number) => {\n return n * (2 - n);\n };\n\n useEffect(() => {\n if (targetPos === undefined) return;\n if ('scrollBehavior' in document.documentElement.style) {\n window.scroll({\n top: targetPos,\n left: 0,\n behavior: 'smooth',\n });\n setTargetPos(undefined);\n } else {\n const animate = (timestamp: number) => {\n if (startTime.current === -1) {\n startTime.current = timestamp || new Date().getTime();\n }\n\n const elapsed = timestamp - startTime.current;\n const progress = elapsed / fallbackScrollDuration;\n const easeProgress = +outQuad(progress).toFixed(2);\n\n const newPos =\n targetPos === 0\n ? firstPos.current - firstPos.current * easeProgress\n : firstPos.current + targetPos * easeProgress;\n\n // scroll to new position\n window.scrollTo(0, newPos);\n\n if (\n (targetPos > 0 && newPos >= firstPos.current + targetPos) ||\n (targetPos < 0 && newPos <= firstPos.current + targetPos) ||\n (targetPos === 0 && newPos <= 0)\n ) {\n cancelAnimationFrame(startTime.current);\n startTime.current = -1;\n setTargetPos(undefined);\n } else {\n window.requestAnimationFrame(animate);\n }\n };\n\n cancelAnimationFrame(startTime.current);\n startTime.current = -1;\n firstPos.current =\n window.pageYOffset || document.documentElement.scrollTop;\n window.requestAnimationFrame(animate);\n }\n }, [targetPos, fallbackScrollDuration]);\n\n return setTargetPos;\n};\n"],"names":["fallbackScrollDuration","startTime","useRef","firstPos","_a","useState","undefined","targetPos","setTargetPos","useEffect","document","documentElement","style","window","scroll","top","left","behavior","animate_1","timestamp","current","Date","getTime","n","elapsed","easeProgress","toFixed","newPos","scrollTo","cancelAnimationFrame","requestAnimationFrame","pageYOffset","scrollTop"],"mappings":"wDAE2B,SAACA,GACxB,IAAMC,EAAYC,EAAAA,QAAgB,GAC5BC,EAAWD,SAAe,GAC1BE,EAA4BC,EAAQA,cAAqBC,GAAxDC,EAASH,EAAA,GAAEI,EAAYJ,EAAA,GAsD9B,OAhDAK,EAAAA,WAAU,WACFF,QAAcD,IAAdC,EACJ,GAAI,mBAAoBG,SAASC,gBAAgBC,MAC7CC,OAAOC,OAAO,CACVC,IAAKR,EACLS,KAAM,EACNC,SAAU,WAEdT,OAAaF,OACV,CACH,IAAMY,EAAU,SAACC,IACc,IAAvBlB,EAAUmB,UACVnB,EAAUmB,QAAUD,IAAa,IAAIE,MAAOC,WAGhD,IAnBKC,EAmBCC,EAAUL,EAAYlB,EAAUmB,QAEhCK,IArBDF,EAoBYC,EAAUxB,EAnB5BuB,GAAK,EAAIA,IAoBgCG,QAAQ,GAE1CC,EACY,IAAdpB,EACMJ,EAASiB,QAAUjB,EAASiB,QAAUK,EACtCtB,EAASiB,QAAUb,EAAYkB,EAGzCZ,OAAOe,SAAS,EAAGD,GAGdpB,EAAY,GAAKoB,GAAUxB,EAASiB,QAAUb,GAC9CA,EAAY,GAAKoB,GAAUxB,EAASiB,QAAUb,GAChC,IAAdA,GAAmBoB,GAAU,GAE9BE,qBAAqB5B,EAAUmB,SAC/BnB,EAAUmB,SAAW,EACrBZ,OAAaF,IAEbO,OAAOiB,sBAAsBZ,IAIrCW,qBAAqB5B,EAAUmB,SAC/BnB,EAAUmB,SAAW,EACrBjB,EAASiB,QACLP,OAAOkB,aAAerB,SAASC,gBAAgBqB,UACnDnB,OAAOiB,sBAAsBZ,MAElC,CAACX,EAAWP,IAERQ"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { a as __makeTemplateObject } from './ClockFilled-6bae80dc.js';
|
|
2
|
+
import React__default from 'react';
|
|
3
|
+
import styled from 'styled-components';
|
|
4
|
+
import { m as mq, s as spacings } from './styles-f6c54818.js';
|
|
5
|
+
|
|
6
|
+
var View = styled.div.withConfig({
|
|
7
|
+
displayName: "Actions__View",
|
|
8
|
+
componentId: "sc-1j3kti1-0"
|
|
9
|
+
})(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: block;\n\n @media ", " {\n display: ", ";\n }\n"], ["\n display: block;\n\n @media ", " {\n display: ", ";\n }\n"])), mq.medium, function (_a) {
|
|
10
|
+
var isCovered = _a.isCovered;
|
|
11
|
+
return isCovered ? 'block' : 'inline-block';
|
|
12
|
+
});
|
|
13
|
+
var Content = styled.div.withConfig({
|
|
14
|
+
displayName: "Actions__Content",
|
|
15
|
+
componentId: "sc-1j3kti1-1"
|
|
16
|
+
})(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: flex;\n flex-wrap: wrap;\n flex-direction: ", ";\n\n margin-top: -", "px;\n margin-left: -", "px;\n\n &&& > * {\n /* flex: 1 1 ", "; */\n margin-top: ", "px;\n margin-left: ", "px;\n\n /* min-width: ", "; */\n }\n\n @media ", " {\n display: ", ";\n flex-direction: ", ";\n align-items: stretch;\n width: auto;\n }\n"], ["\n display: flex;\n flex-wrap: wrap;\n flex-direction: ", ";\n\n margin-top: -", "px;\n margin-left: -", "px;\n\n &&& > * {\n /* flex: 1 1 ", "; */\n margin-top: ", "px;\n margin-left: ", "px;\n\n /* min-width: ", "; */\n }\n\n @media ", " {\n display: ", ";\n flex-direction: ", ";\n align-items: stretch;\n width: auto;\n }\n"])), function (_a) {
|
|
17
|
+
var isMirrored = _a.isMirrored;
|
|
18
|
+
return isMirrored ? 'column-reverse' : 'column';
|
|
19
|
+
}, spacings.nudge * 2, spacings.spacer, function (_a) {
|
|
20
|
+
var isCovered = _a.isCovered;
|
|
21
|
+
return isCovered ? '100%' : '0px';
|
|
22
|
+
}, spacings.nudge * 2, spacings.spacer, function (_a) {
|
|
23
|
+
var isCovered = _a.isCovered;
|
|
24
|
+
return isCovered && '0px';
|
|
25
|
+
}, mq.medium, function (_a) {
|
|
26
|
+
var isCovered = _a.isCovered;
|
|
27
|
+
return isCovered ? 'flex' : 'inline-flex';
|
|
28
|
+
}, function (_a) {
|
|
29
|
+
var isMirrored = _a.isMirrored;
|
|
30
|
+
return isMirrored ? 'row-reverse' : 'row';
|
|
31
|
+
});
|
|
32
|
+
var TertiaryWrapper = styled.div.withConfig({
|
|
33
|
+
displayName: "Actions__TertiaryWrapper",
|
|
34
|
+
componentId: "sc-1j3kti1-2"
|
|
35
|
+
})(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n align-self: flex-start;\n\n @media ", " {\n align-self: center;\n }\n"], ["\n align-self: flex-start;\n\n @media ", " {\n align-self: center;\n }\n"])), mq.medium);
|
|
36
|
+
|
|
37
|
+
var Actions = function (_a) {
|
|
38
|
+
var _b = _a.mode,
|
|
39
|
+
mode = _b === void 0 ? 'wrap' : _b,
|
|
40
|
+
_c = _a.isMirrored,
|
|
41
|
+
isMirrored = _c === void 0 ? false : _c,
|
|
42
|
+
primary = _a.primary,
|
|
43
|
+
secondary = _a.secondary,
|
|
44
|
+
tertiary = _a.tertiary,
|
|
45
|
+
className = _a.className;
|
|
46
|
+
return React__default.createElement(View, {
|
|
47
|
+
isCovered: mode === 'cover',
|
|
48
|
+
className: className
|
|
49
|
+
}, React__default.createElement(Content, {
|
|
50
|
+
isCovered: mode === 'cover',
|
|
51
|
+
isMirrored: isMirrored
|
|
52
|
+
}, primary && primary, secondary && secondary, tertiary && React__default.createElement(TertiaryWrapper, null, tertiary)));
|
|
53
|
+
};
|
|
54
|
+
var templateObject_1, templateObject_2, templateObject_3;
|
|
55
|
+
|
|
56
|
+
export { Actions as A };
|
|
57
|
+
//# sourceMappingURL=Actions-3f06c2e9.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Actions-3f06c2e9.js","sources":["../src/components/blocks/Actions.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport styled from 'styled-components';\n\nimport { mq, spacings } from 'utils/styles';\n\nconst View = styled.div<{ isCovered?: boolean }>`\n display: block;\n\n @media ${mq.medium} {\n display: ${({ isCovered }) => (isCovered ? 'block' : 'inline-block')};\n }\n`;\n\nconst Content = styled.div<{\n isMirrored?: boolean;\n isCovered?: boolean;\n}>`\n display: flex;\n flex-wrap: wrap;\n flex-direction: ${({ isMirrored }) =>\n isMirrored ? 'column-reverse' : 'column'};\n\n margin-top: -${spacings.nudge * 2}px;\n margin-left: -${spacings.spacer}px;\n\n &&& > * {\n /* flex: 1 1 ${({ isCovered }) => (isCovered ? '100%' : '0px')}; */\n margin-top: ${spacings.nudge * 2}px;\n margin-left: ${spacings.spacer}px;\n\n /* min-width: ${({ isCovered }) => isCovered && '0px'}; */\n }\n\n @media ${mq.medium} {\n display: ${({ isCovered }) => (isCovered ? 'flex' : 'inline-flex')};\n flex-direction: ${({ isMirrored }) =>\n isMirrored ? 'row-reverse' : 'row'};\n align-items: stretch;\n width: auto;\n }\n`;\n\nconst TertiaryWrapper = styled.div`\n align-self: flex-start;\n\n @media ${mq.medium} {\n align-self: center;\n }\n`;\n\nexport type ActionMode = 'wrap' | 'cover';\n\nconst Actions: FC<{\n /** Behaviour of content wrapping. If set to cover the action container always tries to fill full width */\n mode?: ActionMode;\n /** Switch order of primary and secondary action */\n isMirrored?: boolean;\n /** React node of primary action */\n primary?: React.ReactNode;\n /** React node of secondary action */\n secondary?: React.ReactNode;\n /** React node of tertiary action */\n tertiary?: React.ReactNode;\n className?: string;\n}> = ({\n mode = 'wrap',\n isMirrored = false,\n primary,\n secondary,\n tertiary,\n className,\n}) => {\n return (\n <View isCovered={mode === 'cover'} className={className}>\n <Content isCovered={mode === 'cover'} isMirrored={isMirrored}>\n {primary && primary}\n {secondary && secondary}\n {tertiary && <TertiaryWrapper>{tertiary}</TertiaryWrapper>}\n </Content>\n </View>\n );\n};\n\nexport default Actions;\n"],"names":["View","styled","div","mq","medium","_a","isCovered","Content","templateObject_2","__makeTemplateObject","isMirrored","spacings","nudge","spacer","TertiaryWrapper","templateObject_3","Actions","_b","mode","_c","primary","secondary","tertiary","className","React","createElement"],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { a as __makeTemplateObject } from './ClockFilled-6bae80dc.js';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import styled from 'styled-components';
|
|
4
|
+
import { L as Link } from './Link-0a1e35d6.js';
|
|
5
|
+
|
|
6
|
+
var bdotColor = '#1fc2f4';
|
|
7
|
+
var Dot = styled(Link).withConfig({
|
|
8
|
+
displayName: "Bdot__Dot",
|
|
9
|
+
componentId: "sc-itin1p-0"
|
|
10
|
+
})(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n width: 14px;\n height: 14px;\n\n display: inline-block;\n vertical-align: middle;\n border-radius: 50%;\n\n background: ", ";\n color: ", ";\n text-decoration: none;\n\n span {\n visibility: hidden;\n font-size: 0;\n color: transparent;\n }\n"], ["\n width: 14px;\n height: 14px;\n\n display: inline-block;\n vertical-align: middle;\n border-radius: 50%;\n\n background: ", ";\n color: ", ";\n text-decoration: none;\n\n span {\n visibility: hidden;\n font-size: 0;\n color: transparent;\n }\n"])), bdotColor, bdotColor);
|
|
11
|
+
|
|
12
|
+
var Bdot = function (_a) {
|
|
13
|
+
var className = _a.className;
|
|
14
|
+
return React.createElement(Dot, {
|
|
15
|
+
ariaLabel: "b.lateral - creative agency",
|
|
16
|
+
className: className,
|
|
17
|
+
href: "https://blateral.com",
|
|
18
|
+
isExternal: true
|
|
19
|
+
}, React.createElement("span", null, "b.lateral - creative agency"));
|
|
20
|
+
};
|
|
21
|
+
var templateObject_1;
|
|
22
|
+
|
|
23
|
+
export { Bdot as B };
|
|
24
|
+
//# sourceMappingURL=Bdot-fae262fc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Bdot-fae262fc.js","sources":["../src/components/blocks/Bdot.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport Link from 'components/typography/Link';\n\nconst bdotColor = '#1fc2f4';\n\nconst Dot = styled(Link)`\n width: 14px;\n height: 14px;\n\n display: inline-block;\n vertical-align: middle;\n border-radius: 50%;\n\n background: ${bdotColor};\n color: ${bdotColor};\n text-decoration: none;\n\n span {\n visibility: hidden;\n font-size: 0;\n color: transparent;\n }\n`;\n\nconst Bdot: React.FC<{ className?: string }> = ({ className }) => {\n return (\n <Dot\n ariaLabel=\"b.lateral - creative agency\"\n className={className}\n href=\"https://blateral.com\"\n isExternal\n >\n <span>b.lateral - creative agency</span>\n </Dot>\n );\n};\n\nexport default Bdot;\n"],"names":["bdotColor","Dot","styled","Link","templateObject_1","__makeTemplateObject","Bdot","_a","className","React","createElement","ariaLabel","href","isExternal"],"mappings":";;;;;AAIA,IAAMA,SAAS,GAAG,SAAlB,CAAA;AAEA,IAAMC,GAAG,GAAGC,MAAM,CAACC,IAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,WAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAeC,CAAAA,CAAAA,gBAAA,KAAAA,gBAAA,GAAAC,oBAAA,CAAA,CAAA,+IAAA,EAAA,gBAAA,EAAA,uIAAA,CAAA,EAAA,CAAA,+IAAA,EAQG,gBARH,EASF,uIATE,CAAA,CAAA,CAAf,EAQSL,SART,EASIA,SATJ,CAAT,CAAA;;AAmBA,IAAMM,IAAI,GAAqC,UAACC,EAAD,EAAc;AAAX,EAAA,IAAAC,SAAS,GAAAD,EAAA,CAAAC,SAAT,CAAA;AAC9C,EAAA,OACIC,KAAC,CAAAC,aAAD,CAACT,GAAD,EACI;AAAAU,IAAAA,SAAS,EAAC,6BAAV;AACAH,IAAAA,SAAS,EAAEA,SADX;AAEAI,IAAAA,IAAI,EAAC,sBAFL;AAGAC,IAAAA,UAAU,EAAA,IAAA;AAHV,GADJ,EAMIJ,KAAwC,CAAAC,aAAxC,CAAwC,MAAxC,EAAwC,IAAxC,EAAwC,6BAAxC,CANJ,CADJ,CAAA;AAUH,EAXD;;;;;"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { a as __makeTemplateObject, d as __rest, _ as __assign } from './ClockFilled-6bae80dc.js';
|
|
2
|
+
import React__default from 'react';
|
|
3
|
+
import styled, { css } from 'styled-components';
|
|
4
|
+
import { h as hexToRgba } from './hexRgbConverter-edb91624.js';
|
|
5
|
+
import { s as spacings, a as getFonts, w as withRange, c as getGlobals, g as getColors, m as mq } from './styles-f6c54818.js';
|
|
6
|
+
|
|
7
|
+
var View = styled.a.withConfig({
|
|
8
|
+
displayName: "Button__View",
|
|
9
|
+
componentId: "sc-2gssup-0"
|
|
10
|
+
})(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n min-height: 3em;\n height: ", ";\n min-width: ", ";\n padding: 0.1em 1.2em;\n\n max-width: calc(100% - ", "px);\n\n display: inline-flex;\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: center;\n align-items: center;\n\n vertical-align: middle;\n\n font-family: ", ";\n ", "\n font-weight: ", ";\n line-height: 1;\n letter-spacing: ", ";\n text-decoration: none;\n\n outline: none;\n border: 1px solid transparent;\n border-radius: ", ";\n user-select: none;\n cursor: pointer;\n\n pointer-events: ", ";\n\n background-color: ", ";\n color: ", ";\n text-align: left;\n\n transition: all ease-in-out 0.2s;\n\n & > * {\n color: ", ";\n }\n\n & > * + * {\n margin-left: ", "px;\n }\n & > *[data-btn-desktop] + *[data-btn-mobile] {\n margin-left: 0;\n }\n & > *[data-btn-mobile] + *[data-btn-desktop] {\n margin-left: 0;\n }\n & > *[data-btn-desktop] {\n display: none;\n }\n & > *:not([data-btn-desktop]) + * {\n margin-left: 0;\n }\n\n @media (hover: hover) and (pointer: fine) {\n ", "\n }\n\n ", "\n\n @media ", " {\n & > *[data-btn-desktop='true'] {\n display: inherit;\n }\n & > *[data-btn-mobile='true'] {\n display: none;\n }\n & > *:not([data-btn-mobile='true']) + * {\n margin-left: 0;\n }\n }\n"], ["\n min-height: 3em;\n height: ", ";\n min-width: ", ";\n padding: 0.1em 1.2em;\n\n max-width: calc(100% - ", "px);\n\n display: inline-flex;\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: center;\n align-items: center;\n\n vertical-align: middle;\n\n font-family: ", ";\n ", "\n font-weight: ", ";\n line-height: 1;\n letter-spacing: ", ";\n text-decoration: none;\n\n outline: none;\n border: 1px solid transparent;\n border-radius: ", ";\n user-select: none;\n cursor: pointer;\n\n pointer-events: ", ";\n\n background-color: ", ";\n color: ", ";\n text-align: left;\n\n transition: all ease-in-out 0.2s;\n\n & > * {\n color: ", ";\n }\n\n & > * + * {\n margin-left: ", "px;\n }\n & > *[data-btn-desktop] + *[data-btn-mobile] {\n margin-left: 0;\n }\n & > *[data-btn-mobile] + *[data-btn-desktop] {\n margin-left: 0;\n }\n & > *[data-btn-desktop] {\n display: none;\n }\n & > *:not([data-btn-desktop]) + * {\n margin-left: 0;\n }\n\n @media (hover: hover) and (pointer: fine) {\n ", "\n }\n\n ", "\n\n @media ", " {\n & > *[data-btn-desktop='true'] {\n display: inherit;\n }\n & > *[data-btn-mobile='true'] {\n display: none;\n }\n & > *:not([data-btn-mobile='true']) + * {\n margin-left: 0;\n }\n }\n"])), function (_a) {
|
|
11
|
+
var size = _a.size;
|
|
12
|
+
return size === 'default' ? '3.5em' : '3em';
|
|
13
|
+
}, function (_a) {
|
|
14
|
+
var size = _a.size;
|
|
15
|
+
return size === 'default' ? '200px' : '120px';
|
|
16
|
+
}, spacings.spacer, function (_a) {
|
|
17
|
+
var theme = _a.theme;
|
|
18
|
+
return getFonts(theme).copy.medium.family;
|
|
19
|
+
}, function (_a) {
|
|
20
|
+
var theme = _a.theme;
|
|
21
|
+
return withRange(getFonts(theme).copy.medium.size, 'font-size');
|
|
22
|
+
}, function (_a) {
|
|
23
|
+
var theme = _a.theme;
|
|
24
|
+
return getFonts(theme).copy.medium.weight;
|
|
25
|
+
}, function (_a) {
|
|
26
|
+
var theme = _a.theme;
|
|
27
|
+
return getFonts(theme).copy.medium.letterSpacing;
|
|
28
|
+
}, function (_a) {
|
|
29
|
+
var theme = _a.theme;
|
|
30
|
+
return getGlobals(theme).sections.edgeRadius;
|
|
31
|
+
}, function (_a) {
|
|
32
|
+
var disable = _a.disable;
|
|
33
|
+
return disable ? 'none' : 'all';
|
|
34
|
+
}, function (_a) {
|
|
35
|
+
var theme = _a.theme,
|
|
36
|
+
inverted = _a.inverted,
|
|
37
|
+
disable = _a.disable;
|
|
38
|
+
return disable ? getColors(theme).elementBg.medium : inverted ? getColors(theme).primary.inverted : getColors(theme).primary.default;
|
|
39
|
+
}, function (_a) {
|
|
40
|
+
var theme = _a.theme,
|
|
41
|
+
inverted = _a.inverted,
|
|
42
|
+
disable = _a.disable;
|
|
43
|
+
return disable ? hexToRgba(getColors(theme).text.default, 0.4) : !inverted ? getColors(theme).text.inverted : getColors(theme).text.default;
|
|
44
|
+
}, function (_a) {
|
|
45
|
+
var theme = _a.theme,
|
|
46
|
+
inverted = _a.inverted,
|
|
47
|
+
disable = _a.disable;
|
|
48
|
+
return disable ? hexToRgba(getColors(theme).text.default, 0.4) : !inverted ? getColors(theme).text.inverted : getColors(theme).text.default;
|
|
49
|
+
}, spacings.nudge, function (_a) {
|
|
50
|
+
var disable = _a.disable,
|
|
51
|
+
inverted = _a.inverted;
|
|
52
|
+
return !disable && css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n &:hover {\n box-shadow: 0px 8px 16px\n ", ";\n }\n "], ["\n &:hover {\n box-shadow: 0px 8px 16px\n ", ";\n }\n "])), inverted ? 'rgba(255, 255, 255, 0.25)' : 'rgba(0, 0, 0, 0.25)');
|
|
53
|
+
}, function (_a) {
|
|
54
|
+
var disable = _a.disable,
|
|
55
|
+
inverted = _a.inverted;
|
|
56
|
+
return !disable && css(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n &:focus {\n text-decoration: underline;\n box-shadow: 0px 8px 16px\n ", ";\n }\n\n &:focus:not(:focus-visible) {\n text-decoration: none;\n outline: none;\n box-shadow: none;\n }\n\n &:active {\n box-shadow: 0px 2px 6px\n ", ";\n }\n "], ["\n &:focus {\n text-decoration: underline;\n box-shadow: 0px 8px 16px\n ", ";\n }\n\n &:focus:not(:focus-visible) {\n text-decoration: none;\n outline: none;\n box-shadow: none;\n }\n\n &:active {\n box-shadow: 0px 2px 6px\n ", ";\n }\n "])), inverted ? 'rgba(255, 255, 255, 0.25)' : 'rgba(0, 0, 0, 0.25)', inverted ? 'rgba(255, 255, 255, 0.25)' : 'rgba(0, 0, 0, 0.3)');
|
|
57
|
+
}, mq.semilarge);
|
|
58
|
+
var Button = React__default.forwardRef(function (_a, ref) {
|
|
59
|
+
var as = _a.as,
|
|
60
|
+
_b = _a.size,
|
|
61
|
+
size = _b === void 0 ? 'default' : _b,
|
|
62
|
+
isInverted = _a.isInverted,
|
|
63
|
+
isDisabled = _a.isDisabled,
|
|
64
|
+
onClick = _a.onClick,
|
|
65
|
+
className = _a.className,
|
|
66
|
+
children = _a.children,
|
|
67
|
+
rest = __rest(_a, ["as", "size", "isInverted", "isDisabled", "onClick", "className", "children"]);
|
|
68
|
+
|
|
69
|
+
if (as === 'button') {
|
|
70
|
+
return React__default.createElement(View, __assign({
|
|
71
|
+
ref: ref,
|
|
72
|
+
as: as,
|
|
73
|
+
size: size,
|
|
74
|
+
inverted: isInverted,
|
|
75
|
+
disable: isDisabled,
|
|
76
|
+
onClick: onClick,
|
|
77
|
+
className: className
|
|
78
|
+
}, rest), children);
|
|
79
|
+
} else {
|
|
80
|
+
return React__default.createElement(View, __assign({
|
|
81
|
+
ref: ref,
|
|
82
|
+
as: as,
|
|
83
|
+
"aria-disabled": isDisabled,
|
|
84
|
+
size: size,
|
|
85
|
+
href: rest.href,
|
|
86
|
+
target: rest.isExternal ? '_blank' : undefined,
|
|
87
|
+
rel: rest.isExternal ? 'noopener noreferrer' : undefined,
|
|
88
|
+
inverted: isInverted,
|
|
89
|
+
disable: isDisabled,
|
|
90
|
+
onClick: onClick,
|
|
91
|
+
className: className
|
|
92
|
+
}, rest), children);
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
Button.displayName = 'Button';
|
|
96
|
+
var Icon = styled.div.withConfig({
|
|
97
|
+
displayName: "Button__Icon",
|
|
98
|
+
componentId: "sc-2gssup-1"
|
|
99
|
+
})(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n width: 35px;\n height: 35px;\n\n color: ", ";\n\n transition: transform 0.2s ease-in-out;\n\n ", ":hover > & {\n transform: translateX(3px);\n }\n"], ["\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n width: 35px;\n height: 35px;\n\n color: ", ";\n\n transition: transform 0.2s ease-in-out;\n\n ", ":hover > & {\n transform: translateX(3px);\n }\n"])), function (_a) {
|
|
100
|
+
var iconColor = _a.iconColor;
|
|
101
|
+
return iconColor || 'inherit';
|
|
102
|
+
}, View);
|
|
103
|
+
var Label = styled.span.withConfig({
|
|
104
|
+
displayName: "Button__Label",
|
|
105
|
+
componentId: "sc-2gssup-2"
|
|
106
|
+
})(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n display: inline-block;\n\n max-width: 100%;\n\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n"], ["\n display: inline-block;\n\n max-width: 100%;\n\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n"])));
|
|
107
|
+
var Button$1 = {
|
|
108
|
+
View: Button,
|
|
109
|
+
Label: Label,
|
|
110
|
+
Icon: Icon
|
|
111
|
+
};
|
|
112
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
|
|
113
|
+
|
|
114
|
+
export { Button$1 as B };
|
|
115
|
+
//# sourceMappingURL=Button-ab1a4e79.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button-ab1a4e79.js","sources":["../src/components/buttons/Button.tsx"],"sourcesContent":["import React from 'react';\nimport styled, { css } from 'styled-components';\nimport { hexToRgba } from 'utils/hexRgbConverter';\n\nimport {\n getColors as color,\n getFonts as font,\n getGlobals as global,\n mq,\n spacings,\n withRange,\n} from 'utils/styles';\n\nconst View = styled.a<{\n inverted?: boolean;\n disable?: boolean;\n size?: 'default' | 'small';\n}>`\n min-height: 3em;\n height: ${({ size }) => (size === 'default' ? '3.5em' : '3em')};\n min-width: ${({ size }) => (size === 'default' ? '200px' : '120px')};\n padding: 0.1em 1.2em;\n\n max-width: calc(100% - ${spacings.spacer}px);\n\n display: inline-flex;\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: center;\n align-items: center;\n\n vertical-align: middle;\n\n font-family: ${({ theme }) => font(theme).copy.medium.family};\n ${({ theme }) => withRange(font(theme).copy.medium.size, 'font-size')}\n font-weight: ${({ theme }) => font(theme).copy.medium.weight};\n line-height: 1;\n letter-spacing: ${({ theme }) => font(theme).copy.medium.letterSpacing};\n text-decoration: none;\n\n outline: none;\n border: 1px solid transparent;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n user-select: none;\n cursor: pointer;\n\n pointer-events: ${({ disable }) => (disable ? 'none' : 'all')};\n\n background-color: ${({ theme, inverted, disable }) =>\n disable\n ? color(theme).elementBg.medium\n : inverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n color: ${({ theme, inverted, disable }) =>\n disable\n ? hexToRgba(color(theme).text.default, 0.4)\n : !inverted\n ? color(theme).text.inverted\n : color(theme).text.default};\n text-align: left;\n\n transition: all ease-in-out 0.2s;\n\n & > * {\n color: ${({ theme, inverted, disable }) =>\n disable\n ? hexToRgba(color(theme).text.default, 0.4)\n : !inverted\n ? color(theme).text.inverted\n : color(theme).text.default};\n }\n\n & > * + * {\n margin-left: ${spacings.nudge}px;\n }\n & > *[data-btn-desktop] + *[data-btn-mobile] {\n margin-left: 0;\n }\n & > *[data-btn-mobile] + *[data-btn-desktop] {\n margin-left: 0;\n }\n & > *[data-btn-desktop] {\n display: none;\n }\n & > *:not([data-btn-desktop]) + * {\n margin-left: 0;\n }\n\n @media (hover: hover) and (pointer: fine) {\n ${({ disable, inverted }) =>\n !disable &&\n css`\n &:hover {\n box-shadow: 0px 8px 16px\n ${inverted\n ? 'rgba(255, 255, 255, 0.25)'\n : 'rgba(0, 0, 0, 0.25)'};\n }\n `}\n }\n\n ${({ disable, inverted }) =>\n !disable &&\n css`\n &:focus {\n text-decoration: underline;\n box-shadow: 0px 8px 16px\n ${inverted\n ? 'rgba(255, 255, 255, 0.25)'\n : 'rgba(0, 0, 0, 0.25)'};\n }\n\n &:focus:not(:focus-visible) {\n text-decoration: none;\n outline: none;\n box-shadow: none;\n }\n\n &:active {\n box-shadow: 0px 2px 6px\n ${inverted\n ? 'rgba(255, 255, 255, 0.25)'\n : 'rgba(0, 0, 0, 0.3)'};\n }\n `}\n\n @media ${mq.semilarge} {\n & > *[data-btn-desktop='true'] {\n display: inherit;\n }\n & > *[data-btn-mobile='true'] {\n display: none;\n }\n & > *:not([data-btn-mobile='true']) + * {\n margin-left: 0;\n }\n }\n`;\n\ninterface Props {\n size?: 'default' | 'small';\n isInverted?: boolean;\n isDisabled?: boolean;\n className?: string;\n children?: React.ReactNode;\n}\n\nexport type BtnProps = Props & {\n as?: 'button';\n onClick?: (ev: React.SyntheticEvent<HTMLButtonElement>) => void;\n};\n\nexport type LinkProps = Props & {\n as?: 'a';\n href?: string;\n onClick?: (ev: React.SyntheticEvent<HTMLAnchorElement>) => void;\n isExternal?: boolean;\n};\n\nconst Button: React.FC<BtnProps | LinkProps> = React.forwardRef(\n (\n {\n as,\n size = 'default',\n isInverted,\n isDisabled,\n onClick,\n className,\n children,\n ...rest\n },\n ref\n ) => {\n if (as === 'button') {\n return (\n <View\n ref={ref}\n as={as as any}\n size={size}\n inverted={isInverted}\n disable={isDisabled}\n onClick={onClick}\n className={className}\n {...rest}\n >\n {children}\n </View>\n );\n } else {\n return (\n <View\n ref={ref}\n as={as as any}\n aria-disabled={isDisabled}\n size={size}\n href={(rest as LinkProps).href}\n target={\n (rest as LinkProps).isExternal ? '_blank' : undefined\n }\n rel={\n (rest as LinkProps).isExternal\n ? 'noopener noreferrer'\n : undefined\n }\n inverted={isInverted}\n disable={isDisabled}\n onClick={onClick}\n className={className}\n {...rest}\n >\n {children}\n </View>\n );\n }\n }\n);\n\nButton.displayName = 'Button';\n\nconst Icon = styled.div<{ iconColor?: string }>`\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n width: 35px;\n height: 35px;\n\n color: ${({ iconColor }) => iconColor || 'inherit'};\n\n transition: transform 0.2s ease-in-out;\n\n ${View}:hover > & {\n transform: translateX(3px);\n }\n`;\n\nconst Label = styled.span`\n display: inline-block;\n\n max-width: 100%;\n\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n`;\n\nexport default { View: Button, Label: Label, Icon: Icon };\n"],"names":["View","styled","a","templateObject_3","__makeTemplateObject","_a","size","spacings","spacer","theme","font","copy","medium","family","withRange","weight","letterSpacing","global","sections","edgeRadius","disable","inverted","color","elementBg","primary","default","hexToRgba","text","nudge","css","templateObject_2","mq","semilarge","Button","React","forwardRef","ref","as","_b","isInverted","isDisabled","onClick","className","children","rest","__rest","createElement","__assign","href","target","isExternal","undefined","rel","displayName","Icon","div","templateObject_4","iconColor","Label","span","templateObject_5"],"mappings":"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"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { a as __makeTemplateObject, d as __rest, _ as __assign } from './ClockFilled-6bae80dc.js';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import styled, { css } from 'styled-components';
|
|
4
|
+
import { h as hexToRgba } from './hexRgbConverter-edb91624.js';
|
|
5
|
+
import { s as spacings, a as getFonts, w as withRange, g as getColors, c as getGlobals } from './styles-f6c54818.js';
|
|
6
|
+
|
|
7
|
+
var View = styled.a.withConfig({
|
|
8
|
+
displayName: "ButtonGhost__View",
|
|
9
|
+
componentId: "sc-y4lhy8-0"
|
|
10
|
+
})(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n min-height: 3em;\n height: ", ";\n min-width: ", ";\n padding: 0.1em 1.2em;\n\n max-width: calc(100% - ", "px);\n\n display: inline-flex;\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: center;\n align-items: center;\n\n vertical-align: middle;\n\n font-family: ", ";\n ", "\n font-weight: ", ";\n line-height: 1;\n letter-spacing: ", ";\n\n text-align: center;\n text-decoration: none;\n\n outline: none;\n box-shadow: none;\n border: solid 1px\n ", ";\n border-radius: ", ";\n user-select: none;\n cursor: pointer;\n\n pointer-events: ", ";\n\n background-color: transparent;\n color: ", ";\n\n transition: all ease-in-out 0.2s;\n\n & > * {\n color: ", ";\n }\n\n & > :not(:last-child) {\n padding-right: ", "px;\n }\n\n @media (hover: hover) and (pointer: fine) {\n ", "\n }\n"], ["\n min-height: 3em;\n height: ", ";\n min-width: ", ";\n padding: 0.1em 1.2em;\n\n max-width: calc(100% - ", "px);\n\n display: inline-flex;\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: center;\n align-items: center;\n\n vertical-align: middle;\n\n font-family: ", ";\n ", "\n font-weight: ", ";\n line-height: 1;\n letter-spacing: ", ";\n\n text-align: center;\n text-decoration: none;\n\n outline: none;\n box-shadow: none;\n border: solid 1px\n ", ";\n border-radius: ", ";\n user-select: none;\n cursor: pointer;\n\n pointer-events: ", ";\n\n background-color: transparent;\n color: ", ";\n\n transition: all ease-in-out 0.2s;\n\n & > * {\n color: ", ";\n }\n\n & > :not(:last-child) {\n padding-right: ", "px;\n }\n\n @media (hover: hover) and (pointer: fine) {\n ", "\n }\n"])), function (_a) {
|
|
11
|
+
var size = _a.size;
|
|
12
|
+
return size === 'default' ? '3.5em' : '3em';
|
|
13
|
+
}, function (_a) {
|
|
14
|
+
var size = _a.size;
|
|
15
|
+
return size === 'default' ? '200px' : '120px';
|
|
16
|
+
}, spacings.spacer, function (_a) {
|
|
17
|
+
var theme = _a.theme;
|
|
18
|
+
return getFonts(theme).copy.medium.family;
|
|
19
|
+
}, function (_a) {
|
|
20
|
+
var theme = _a.theme;
|
|
21
|
+
return withRange(getFonts(theme).copy.medium.size, 'font-size');
|
|
22
|
+
}, function (_a) {
|
|
23
|
+
var theme = _a.theme;
|
|
24
|
+
return getFonts(theme).copy.medium.weight;
|
|
25
|
+
}, function (_a) {
|
|
26
|
+
var theme = _a.theme;
|
|
27
|
+
return getFonts(theme).copy.medium.letterSpacing;
|
|
28
|
+
}, function (_a) {
|
|
29
|
+
var inverted = _a.inverted,
|
|
30
|
+
disable = _a.disable,
|
|
31
|
+
theme = _a.theme;
|
|
32
|
+
return disable ? getColors(theme).elementBg.medium : inverted ? getColors(theme).elementBg.light : getColors(theme).elementBg.dark;
|
|
33
|
+
}, function (_a) {
|
|
34
|
+
var theme = _a.theme;
|
|
35
|
+
return getGlobals(theme).sections.edgeRadius;
|
|
36
|
+
}, function (_a) {
|
|
37
|
+
var disable = _a.disable;
|
|
38
|
+
return disable ? 'none' : 'all';
|
|
39
|
+
}, function (_a) {
|
|
40
|
+
var theme = _a.theme,
|
|
41
|
+
inverted = _a.inverted,
|
|
42
|
+
disable = _a.disable;
|
|
43
|
+
return disable ? inverted ? hexToRgba(getColors(theme).text.inverted, 0.6) : hexToRgba(getColors(theme).text.default, 0.6) : inverted ? getColors(theme).text.inverted : getColors(theme).text.default;
|
|
44
|
+
}, function (_a) {
|
|
45
|
+
var theme = _a.theme,
|
|
46
|
+
inverted = _a.inverted,
|
|
47
|
+
disable = _a.disable;
|
|
48
|
+
return disable ? inverted ? hexToRgba(getColors(theme).text.inverted, 0.6) : hexToRgba(getColors(theme).text.default, 0.6) : inverted ? getColors(theme).text.inverted : getColors(theme).text.default;
|
|
49
|
+
}, spacings.nudge, function (_a) {
|
|
50
|
+
var disable = _a.disable,
|
|
51
|
+
inverted = _a.inverted,
|
|
52
|
+
theme = _a.theme;
|
|
53
|
+
return !disable && css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n &:hover {\n box-shadow: 0px 8px 16px\n ", ";\n }\n\n &:focus {\n outline: 1px solid\n ", ";\n outline-offset: 0;\n box-shadow: 0px 2px 6px\n ", ";\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n box-shadow: none;\n }\n\n &:active {\n box-shadow: 0px 2px 6px\n ", ";\n }\n "], ["\n &:hover {\n box-shadow: 0px 8px 16px\n ", ";\n }\n\n &:focus {\n outline: 1px solid\n ", ";\n outline-offset: 0;\n box-shadow: 0px 2px 6px\n ", ";\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n box-shadow: none;\n }\n\n &:active {\n box-shadow: 0px 2px 6px\n ", ";\n }\n "])), inverted ? 'rgba(255, 255, 255, 0.25)' : 'rgba(0, 0, 0, 0.25)', inverted ? getColors(theme).primary.inverted : getColors(theme).primary.default, inverted ? 'rgba(255, 255, 255, 0.25)' : 'rgba(0, 0, 0, 0.3)', inverted ? 'rgba(255, 255, 255, 0.25)' : 'rgba(0, 0, 0, 0.3)');
|
|
54
|
+
});
|
|
55
|
+
var ButtonGhost = React.forwardRef(function (_a, ref) {
|
|
56
|
+
var as = _a.as,
|
|
57
|
+
_b = _a.size,
|
|
58
|
+
size = _b === void 0 ? 'default' : _b,
|
|
59
|
+
isInverted = _a.isInverted,
|
|
60
|
+
isDisabled = _a.isDisabled,
|
|
61
|
+
onClick = _a.onClick,
|
|
62
|
+
className = _a.className,
|
|
63
|
+
children = _a.children,
|
|
64
|
+
rest = __rest(_a, ["as", "size", "isInverted", "isDisabled", "onClick", "className", "children"]);
|
|
65
|
+
|
|
66
|
+
if (as === 'button') {
|
|
67
|
+
return React.createElement(View, __assign({
|
|
68
|
+
ref: ref,
|
|
69
|
+
as: as,
|
|
70
|
+
size: size,
|
|
71
|
+
inverted: isInverted,
|
|
72
|
+
disable: isDisabled,
|
|
73
|
+
onClick: onClick,
|
|
74
|
+
className: className
|
|
75
|
+
}, rest), children);
|
|
76
|
+
} else {
|
|
77
|
+
return React.createElement(View, __assign({
|
|
78
|
+
ref: ref,
|
|
79
|
+
as: as,
|
|
80
|
+
"aria-disabled": isDisabled,
|
|
81
|
+
size: size,
|
|
82
|
+
href: rest.href,
|
|
83
|
+
target: rest.isExternal ? '_blank' : undefined,
|
|
84
|
+
rel: rest.isExternal ? 'noopener noreferrer' : undefined,
|
|
85
|
+
inverted: isInverted,
|
|
86
|
+
disable: isDisabled,
|
|
87
|
+
onClick: onClick,
|
|
88
|
+
className: className
|
|
89
|
+
}, rest), children);
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
ButtonGhost.displayName = 'Button Ghost';
|
|
93
|
+
var Icon = styled.div.withConfig({
|
|
94
|
+
displayName: "ButtonGhost__Icon",
|
|
95
|
+
componentId: "sc-y4lhy8-1"
|
|
96
|
+
})(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n align-items: center;\n width: 35px;\n height: 35px;\n\n color: ", ";\n\n transition: transform 0.2s ease-in-out;\n\n ", ":hover > & {\n transform: translateX(3px);\n }\n"], ["\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n align-items: center;\n width: 35px;\n height: 35px;\n\n color: ", ";\n\n transition: transform 0.2s ease-in-out;\n\n ", ":hover > & {\n transform: translateX(3px);\n }\n"])), function (_a) {
|
|
97
|
+
var iconColor = _a.iconColor;
|
|
98
|
+
return iconColor || 'inherit';
|
|
99
|
+
}, View);
|
|
100
|
+
var Label = styled.span.withConfig({
|
|
101
|
+
displayName: "ButtonGhost__Label",
|
|
102
|
+
componentId: "sc-y4lhy8-2"
|
|
103
|
+
})(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n display: inline-block;\n\n max-width: 100%;\n\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n"], ["\n display: inline-block;\n\n max-width: 100%;\n\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n"])));
|
|
104
|
+
var ButtonGhost$1 = {
|
|
105
|
+
View: ButtonGhost,
|
|
106
|
+
Label: Label,
|
|
107
|
+
Icon: Icon
|
|
108
|
+
};
|
|
109
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4;
|
|
110
|
+
|
|
111
|
+
export { ButtonGhost$1 as B };
|
|
112
|
+
//# sourceMappingURL=ButtonGhost-5b498dba.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonGhost-5b498dba.js","sources":["../src/components/buttons/ButtonGhost.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled, { css } from 'styled-components';\nimport { hexToRgba } from 'utils/hexRgbConverter';\n\nimport {\n getColors as color,\n getFonts as font,\n getGlobals as global,\n spacings,\n withRange,\n} from 'utils/styles';\n\nconst View = styled.a<{\n inverted?: boolean;\n disable?: boolean;\n size?: 'default' | 'small';\n}>`\n min-height: 3em;\n height: ${({ size }) => (size === 'default' ? '3.5em' : '3em')};\n min-width: ${({ size }) => (size === 'default' ? '200px' : '120px')};\n padding: 0.1em 1.2em;\n\n max-width: calc(100% - ${spacings.spacer}px);\n\n display: inline-flex;\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: center;\n align-items: center;\n\n vertical-align: middle;\n\n font-family: ${({ theme }) => font(theme).copy.medium.family};\n ${({ theme }) => withRange(font(theme).copy.medium.size, 'font-size')}\n font-weight: ${({ theme }) => font(theme).copy.medium.weight};\n line-height: 1;\n letter-spacing: ${({ theme }) => font(theme).copy.medium.letterSpacing};\n\n text-align: center;\n text-decoration: none;\n\n outline: none;\n box-shadow: none;\n border: solid 1px\n ${({ inverted, disable, theme }) =>\n disable\n ? color(theme).elementBg.medium\n : inverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.dark};\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n user-select: none;\n cursor: pointer;\n\n pointer-events: ${({ disable }) => (disable ? 'none' : 'all')};\n\n background-color: transparent;\n color: ${({ theme, inverted, disable }) =>\n disable\n ? inverted\n ? hexToRgba(color(theme).text.inverted, 0.6)\n : hexToRgba(color(theme).text.default, 0.6)\n : inverted\n ? color(theme).text.inverted\n : color(theme).text.default};\n\n transition: all ease-in-out 0.2s;\n\n & > * {\n color: ${({ theme, inverted, disable }) =>\n disable\n ? inverted\n ? hexToRgba(color(theme).text.inverted, 0.6)\n : hexToRgba(color(theme).text.default, 0.6)\n : inverted\n ? color(theme).text.inverted\n : color(theme).text.default};\n }\n\n & > :not(:last-child) {\n padding-right: ${spacings.nudge}px;\n }\n\n @media (hover: hover) and (pointer: fine) {\n ${({ disable, inverted, theme }) =>\n !disable &&\n css`\n &:hover {\n box-shadow: 0px 8px 16px\n ${inverted\n ? 'rgba(255, 255, 255, 0.25)'\n : 'rgba(0, 0, 0, 0.25)'};\n }\n\n &:focus {\n outline: 1px solid\n ${inverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n outline-offset: 0;\n box-shadow: 0px 2px 6px\n ${inverted\n ? 'rgba(255, 255, 255, 0.25)'\n : 'rgba(0, 0, 0, 0.3)'};\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n box-shadow: none;\n }\n\n &:active {\n box-shadow: 0px 2px 6px\n ${inverted\n ? 'rgba(255, 255, 255, 0.25)'\n : 'rgba(0, 0, 0, 0.3)'};\n }\n `}\n }\n`;\n\ninterface Props {\n size?: 'default' | 'small';\n isInverted?: boolean;\n isDisabled?: boolean;\n className?: string;\n children?: React.ReactNode;\n}\n\nexport type BtnProps = Props & {\n as?: 'button';\n onClick?: (ev: React.SyntheticEvent<HTMLButtonElement>) => void;\n};\n\nexport type LinkProps = Props & {\n as?: 'a';\n href?: string;\n onClick?: (ev: React.SyntheticEvent<HTMLAnchorElement>) => void;\n isExternal?: boolean;\n};\n\nconst ButtonGhost: React.FC<BtnProps | LinkProps> = React.forwardRef(\n (\n {\n as,\n size = 'default',\n isInverted,\n isDisabled,\n onClick,\n className,\n children,\n ...rest\n },\n ref\n ) => {\n if (as === 'button') {\n return (\n <View\n ref={ref}\n as={as as any}\n size={size}\n inverted={isInverted}\n disable={isDisabled}\n onClick={onClick}\n className={className}\n {...rest}\n >\n {children}\n </View>\n );\n } else {\n return (\n <View\n ref={ref}\n as={as as any}\n aria-disabled={isDisabled}\n size={size}\n href={(rest as LinkProps).href}\n target={\n (rest as LinkProps).isExternal ? '_blank' : undefined\n }\n rel={\n (rest as LinkProps).isExternal\n ? 'noopener noreferrer'\n : undefined\n }\n inverted={isInverted}\n disable={isDisabled}\n onClick={onClick}\n className={className}\n {...rest}\n >\n {children}\n </View>\n );\n }\n }\n);\n\nButtonGhost.displayName = 'Button Ghost';\n\nconst Icon = styled.div<{ iconColor?: string }>`\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n align-items: center;\n width: 35px;\n height: 35px;\n\n color: ${({ iconColor }) => iconColor || 'inherit'};\n\n transition: transform 0.2s ease-in-out;\n\n ${View}:hover > & {\n transform: translateX(3px);\n }\n`;\n\nconst Label = styled.span`\n display: inline-block;\n\n max-width: 100%;\n\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n`;\n\nexport default { View: ButtonGhost, Label: Label, Icon: Icon };\n"],"names":["View","styled","a","_a","size","spacings","spacer","theme","font","copy","medium","family","withRange","weight","letterSpacing","inverted","disable","color","elementBg","light","dark","global","sections","edgeRadius","hexToRgba","text","default","nudge","css","primary","ButtonGhost","React","forwardRef","ref","as","_b","isInverted","isDisabled","onClick","className","children","rest","__rest","createElement","__assign","href","target","isExternal","undefined","rel","displayName","Icon","div","templateObject_3","__makeTemplateObject","iconColor","Label","span","templateObject_4"],"mappings":";;;;;;AAYA,IAAMA,IAAI,GAAGC,MAAM,CAACC,CAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,mBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,o+BAIR,wCAEgE,sBACK,+DAG3B,mMAUoB,WACS,uBACT,gDAEU,0IAa7B,0BACwB,2EAIJ,wDAU1B,8EAYI,oEAIJ,2EAqC1B,cAzGH,EAMI,UAACC,EAAD,EAAS;AAAN,EAAA,IAAAC,IAAI,GAAAD,EAAA,CAAAC,IAAJ,CAAA;AAAW,EAAA,OAACA,IAAI,KAAK,SAAT,GAAqB,OAArB,GAA+B,KAAhC,CAAA;AAAsC,CANxD,EAOO,UAACD,EAAD,EAAS;AAAN,EAAA,IAAAC,IAAI,GAAAD,EAAA,CAAAC,IAAJ,CAAA;AAAW,EAAA,OAACA,IAAI,KAAK,SAAT,GAAqB,OAArB,GAA+B,OAAhC,CAAA;AAAwC,CAP7D,EAUmBC,QAAQ,CAACC,MAV5B,EAoBS,UAACH,EAAD,EAAU;AAAP,EAAA,IAAAI,KAAK,GAAAJ,EAAA,CAAAI,KAAL,CAAA;AAAY,EAAAC,OAAAA,QAAI,CAACD,KAAD,CAAJ,CAAYE,IAAZ,CAAiBC,MAAjB,CAAwBC,MAAxB,CAAA;AAA8B,CApBtD,EAqBJ,UAACR,EAAD,EAAU;AAAP,EAAA,IAAAI,KAAK,GAAAJ,EAAA,CAAAI,KAAL,CAAA;AAAY,EAAA,OAAAK,SAAS,CAACJ,QAAI,CAACD,KAAD,CAAJ,CAAYE,IAAZ,CAAiBC,MAAjB,CAAwBN,IAAzB,EAA+B,WAA/B,CAAT,CAAA;AAAoD,CArB/D,EAsBS,UAACD,EAAD,EAAU;AAAP,EAAA,IAAAI,KAAK,GAAAJ,EAAA,CAAAI,KAAL,CAAA;AAAY,EAAAC,OAAAA,QAAI,CAACD,KAAD,CAAJ,CAAYE,IAAZ,CAAiBC,MAAjB,CAAwBG,MAAxB,CAAA;AAA8B,CAtBtD,EAwBY,UAACV,EAAD,EAAU;AAAP,EAAA,IAAAI,KAAK,GAAAJ,EAAA,CAAAI,KAAL,CAAA;AAAY,EAAAC,OAAAA,QAAI,CAACD,KAAD,CAAJ,CAAYE,IAAZ,CAAiBC,MAAjB,CAAwBI,aAAxB,CAAA;AAAqC,CAxBhE,EAgCA,UAACX,EAAD,EAA6B;AAA1B,EAAA,IAAAY,QAAQ,cAAR;AAAA,MAAUC,OAAO,GAAAb,EAAA,CAAAa,OAAjB;AAAA,MAAmBT,KAAK,GAAAJ,EAAA,CAAAI,KAAxB,CAAA;AACD,EAAA,OAAAS,OAAO,GACDC,SAAK,CAACV,KAAD,CAAL,CAAaW,SAAb,CAAuBR,MADtB,GAEDK,QAAQ,GACRE,SAAK,CAACV,KAAD,CAAL,CAAaW,SAAb,CAAuBC,KADf,GAERF,SAAK,CAACV,KAAD,CAAL,CAAaW,SAAb,CAAuBE,IAJ7B,CAAA;AAIiC,CArCnC,EAsCW,UAACjB,EAAD,EAAU;AAAP,EAAA,IAAAI,KAAK,GAAAJ,EAAA,CAAAI,KAAL,CAAA;AAAY,EAAA,OAAAc,UAAM,CAACd,KAAD,CAAN,CAAce,QAAd,CAAuBC,UAAvB,CAAA;AAAiC,CAtC3D,EA0CY,UAACpB,EAAD,EAAY;AAAT,EAAA,IAAAa,OAAO,GAAAb,EAAA,CAAAa,OAAP,CAAA;AAAc,EAAA,OAACA,OAAO,GAAG,MAAH,GAAY,KAApB,CAAA;AAA0B,CA1CvD,EA6CG,UAACb,EAAD,EAA6B;AAA1B,EAAA,IAAAI,KAAK,WAAL;AAAA,MAAOQ,QAAQ,GAAAZ,EAAA,CAAAY,QAAf;AAAA,MAAiBC,OAAO,GAAAb,EAAA,CAAAa,OAAxB,CAAA;AACR,EAAAA,OAAAA,OAAO,GACDD,QAAQ,GACJS,SAAS,CAACP,SAAK,CAACV,KAAD,CAAL,CAAakB,IAAb,CAAkBV,QAAnB,EAA6B,GAA7B,CADL,GAEJS,SAAS,CAACP,SAAK,CAACV,KAAD,CAAL,CAAakB,IAAb,CAAkBC,OAAnB,EAA4B,GAA5B,CAHZ,GAIDX,QAAQ,GACRE,SAAK,CAACV,KAAD,CAAL,CAAakB,IAAb,CAAkBV,QADV,GAERE,SAAK,CAACV,KAAD,CAAL,CAAakB,IAAb,CAAkBC,OANxB,CAAA;AAM+B,CApD7B,EAyDO,UAACvB,EAAD,EAA6B;AAA1B,EAAA,IAAAI,KAAK,WAAL;AAAA,MAAOQ,QAAQ,GAAAZ,EAAA,CAAAY,QAAf;AAAA,MAAiBC,OAAO,GAAAb,EAAA,CAAAa,OAAxB,CAAA;AACR,EAAAA,OAAAA,OAAO,GACDD,QAAQ,GACJS,SAAS,CAACP,SAAK,CAACV,KAAD,CAAL,CAAakB,IAAb,CAAkBV,QAAnB,EAA6B,GAA7B,CADL,GAEJS,SAAS,CAACP,SAAK,CAACV,KAAD,CAAL,CAAakB,IAAb,CAAkBC,OAAnB,EAA4B,GAA5B,CAHZ,GAIDX,QAAQ,GACRE,SAAK,CAACV,KAAD,CAAL,CAAakB,IAAb,CAAkBV,QADV,GAERE,SAAK,CAACV,KAAD,CAAL,CAAakB,IAAb,CAAkBC,OANxB,CAAA;AAM+B,CAhEjC,EAoEerB,QAAQ,CAACsB,KApExB,EAwEA,UAACxB,EAAD,EAA6B;AAA1B,EAAA,IAAAa,OAAO,aAAP;AAAA,MAASD,QAAQ,GAAAZ,EAAA,CAAAY,QAAjB;AAAA,MAAmBR,KAAK,GAAAJ,EAAA,CAAAI,KAAxB,CAAA;AACD,EAAA,OAAA,CAACS,OAAD,IACAY,GAAG,qsBAAA,uGAKoC,uHAOO,oHAKR,4QAYA,uCA7BnC,EAGWb,QAAQ,GACJ,2BADI,GAEJ,qBALf,EAUWA,QAAQ,GACJE,SAAK,CAACV,KAAD,CAAL,CAAasB,OAAb,CAAqBd,QADjB,GAEJE,SAAK,CAACV,KAAD,CAAL,CAAasB,OAAb,CAAqBH,OAZpC,EAeWX,QAAQ,GACJ,2BADI,GAEJ,oBAjBf,EA2BWA,QAAQ,GACJ,2BADI,GAEJ,oBA7Bf,CADH,CAAA;AAgCC,CAzGH,CAAV,CAAA;AAiIA,IAAMe,WAAW,GAAmCC,KAAK,CAACC,UAAN,CAChD,UACI7B,EADJ,EAWI8B,GAXJ,EAWO;AATC,EAAA,IAAAC,EAAE,GAAA/B,EAAA,CAAA+B,EAAF;AAAA,MACAC,EAAA,GAAAhC,EAAA,CAAAC,IADA;AAAA,MACAA,IAAI,GAAG+B,EAAA,KAAA,KAAA,CAAA,GAAA,SAAA,GAASA,EADhB;AAAA,MAEAC,UAAU,GAAAjC,EAAA,CAAAiC,UAFV;AAAA,MAGAC,UAAU,GAAAlC,EAAA,CAAAkC,UAHV;AAAA,MAIAC,OAAO,GAAAnC,EAAA,CAAAmC,OAJP;AAAA,MAKAC,SAAS,GAAApC,EAAA,CAAAoC,SALT;AAAA,MAMAC,QAAQ,GAAArC,EAAA,CAAAqC,QANR;AAAA,MAOGC,IAAI,GARXC,MAAA,CAAAvC,EAAA,EAAA,CAAA,IAAA,EAAA,MAAA,EAAA,YAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,CAAA,CACI,CAAA;;AAWJ,EAAI+B,IAAAA,EAAE,KAAK,QAAX,EAAqB;AACjB,IAAA,OACIH,KAAC,CAAAY,aAAD,CAAC3C,IAAD,EACI4C,QAAA,CAAA;AAAAX,MAAAA,GAAG,EAAEA,GAAL;AACAC,MAAAA,EAAE,EAAEA,EADJ;AAEA9B,MAAAA,IAAI,EAAEA,IAFN;AAGAW,MAAAA,QAAQ,EAAEqB,UAHV;AAIApB,MAAAA,OAAO,EAAEqB,UAJT;AAKAC,MAAAA,OAAO,EAAEA,OALT;AAMAC,MAAAA,SAAS,EAAEA,SAAAA;AANX,KAAA,EAOIE,IAPJ,CADJ,EAUKD,QAVL,CADJ,CAAA;AAcH,GAfD,MAeO;AACH,IAAA,OACIT,KAAC,CAAAY,aAAD,CAAC3C,IAAD;AACIiC,MAAAA,GAAG,EAAEA;AACLC,MAAAA,EAAE,EAAEA;AAAS,MAAA,eAAA,EACEG;AACfjC,MAAAA,IAAI,EAAEA;AACNyC,MAAAA,IAAI,EAAGJ,IAAkB,CAACI;AAC1BC,MAAAA,MAAM,EACDL,IAAkB,CAACM,UAAnB,GAAgC,QAAhC,GAA2CC;AAEhDC,MAAAA,GAAG,EACER,IAAkB,CAACM,UAAnB,GACK,qBADL,GAEKC;AAEVjC,MAAAA,QAAQ,EAAEqB;AACVpB,MAAAA,OAAO,EAAEqB;AACTC,MAAAA,OAAO,EAAEA;AACTC,MAAAA,SAAS,EAAEA,SAAAA;OACPE,KAlBR,EAoBKD,QApBL,CADJ,CAAA;AAwBH,GAAA;AACJ,CAvD+C,CAApD,CAAA;AA0DAV,WAAW,CAACoB,WAAZ,GAA0B,cAA1B,CAAA;AAEA,IAAMC,IAAI,GAAGlD,MAAM,CAACmD,GAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,mBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAaC,CAAAA,CAAAA,gBAAA,KAAAA,gBAAA,GAAAC,oBAAA,CAAA,CAAA,8JAAA,EAAA,0DAAA,EAAA,4DAAA,CAAA,EAAA,CAAwB,8JAAxB,EAQ+B,0DAR/B,EAYb,4DAZa,CAAA,CAAA,CAAb,EAQG,UAACnD,EAAD,EAAc;AAAX,EAAA,IAAAoD,SAAS,GAAApD,EAAA,CAAAoD,SAAT,CAAA;AAAgB,EAAAA,OAAAA,SAAS,IAAI,SAAb,CAAA;AAAsB,CAR5C,EAYJvD,IAZI,CAAV,CAAA;AAiBA,IAAMwD,KAAK,GAAGvD,MAAM,CAACwD,IAAV,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,oBAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAcC,gBAAA,KAAAA,gBAAA,GAAAJ,oBAAA,CAAA,CAAA,yIAAA,CAAA,EAAA,CAAA,yIAAA,CAAA,CAAA,CAAd,CAAX,CAAA;AAUA,oBAAe;AAAEtD,EAAAA,IAAI,EAAE8B,WAAR;AAAqB0B,EAAAA,KAAK,EAAEA,KAA5B;AAAmCL,EAAAA,IAAI,EAAEA,IAAAA;AAAzC,CAAf,CAAA;;;;;"}
|