@schematichq/schematic-components 0.4.7 → 0.4.9
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/dist/schematic-components.cjs.js +445 -498
- package/dist/schematic-components.d.ts +7 -2
- package/dist/schematic-components.esm.js +506 -556
- package/package.json +7 -7
|
@@ -2076,7 +2076,7 @@ var require_pluralize = __commonJS({
|
|
|
2076
2076
|
});
|
|
2077
2077
|
|
|
2078
2078
|
// src/components/elements/included-features/IncludedFeatures.tsx
|
|
2079
|
-
import { forwardRef as forwardRef7, useRef as useRef6, useState as
|
|
2079
|
+
import { forwardRef as forwardRef7, useRef as useRef6, useState as useState12 } from "react";
|
|
2080
2080
|
|
|
2081
2081
|
// node_modules/react-i18next/dist/es/Trans.js
|
|
2082
2082
|
import { useContext } from "react";
|
|
@@ -3735,11 +3735,11 @@ function useAvailablePlans(activePeriod) {
|
|
|
3735
3735
|
const getActivePlans = useCallback2(
|
|
3736
3736
|
(plans) => {
|
|
3737
3737
|
const customPlanExist = plans.some((plan) => plan.custom);
|
|
3738
|
-
|
|
3738
|
+
const plansWithSelected = mode === "edit" ? plans.slice() : plans.filter(
|
|
3739
3739
|
(plan) => activePeriod === "month" && plan.monthlyPrice || activePeriod === "year" && plan.yearlyPrice
|
|
3740
3740
|
);
|
|
3741
3741
|
if (!customPlanExist) {
|
|
3742
|
-
plansWithSelected
|
|
3742
|
+
plansWithSelected.sort((a2, b2) => {
|
|
3743
3743
|
if (activePeriod === "year") {
|
|
3744
3744
|
return (a2.yearlyPrice?.price ?? 0) - (b2.yearlyPrice?.price ?? 0);
|
|
3745
3745
|
}
|
|
@@ -12033,7 +12033,7 @@ var GlobalStyle = ft`;
|
|
|
12033
12033
|
|
|
12034
12034
|
@font-face {
|
|
12035
12035
|
font-family: "icons";
|
|
12036
|
-
src: url(data:font/ttf;base64,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AGUAcgBhAHQAZQBkACAAYgB5ACAAcwB2AGcAMgB0AHQAZgAgAGYAcgBvAG0AIABGAG8AbgB0AGUAbABsAG8AIABwAHIAbwBqAGUAYwB0AC4AaAB0AHQAcAA6AC8ALwBmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQAAAAIAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcgECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBEwEUARUBFgEXARgBGQEaARsBHAEdAR4BHwEgASEBIgEjASQBJQEmAScBKAEpASoBKwEsAS0BLgEvATABMQEyATMBNAE1ATYBNwE4ATkBOgE7ATwBPQE+AT8BQAFBAUIBQwFEAUUBRgFHAUgBSQFKAUsBTAFNAU4BTwFQAVEBUgFTAVQBVQFWAVcBWAFZAVoBWwFcAV0BXgFfAWABYQFiAWMBZAFlAWYBZwFoAWkBagFrAWwBbQFuAW8BcAFxAXIBcwAFYWxhcm0JYW1hem9ucGF5BGFtZXgIYXBwbGVwYXkPYXJyb3ctYW5hbHl0aWNzDGFycm93LWN1cnZlZAphcnJvdy1kb3duCmFycm93LWxlZnQLYXJyb3ctcmlnaHQIYXJyb3ctdXAMYXJyb3ctdXB3YXJkCWJhY2tzcGFjZQRiYW5rBGJlbGwFYm9hcmQIYm9va21hcmsKYm9vbGVhbi1vbgdib29sZWFuBGJ1bGIGYnVyZ2VyB2Nhc2hhcHANY2hlY2stcm91bmRlZAVjaGVjawxjaGV2cm9uLWRvd24MY2hldnJvbi1sZWZ0DWNoZXZyb24tcmlnaHQKY2hldnJvbi11cARjaGlwBWNoaXBzBWNsZXJrFGNsb3NlLXJvdW5kZWQtZmlsbGVkBWNsb3NlCGNsb3VkLXVwBGNsdWIDY21kBGNvZGUGY29mZmVlA2NvZw5jb2xsYXBzZS1lbXB0eQhjb2xsYXBzZQdjb21wYXNzCmNvbm5lY3Rpb24EY29weQZjcmVkaXQHY3lsbmRlcgdkaWFtb25kDmRvbGxhci1yb3VuZGVkD2RvdHMtaG9yaXpvbnRhbA1kb3RzLXZlcnRpY2FsDGVudGl0bGVtZW50cwllcXVhbGl6ZXIaZXhjbGFtYXRpb24tcm91bmRlZC1maWxsZWQDZXllBmZpbHRlcgVmbGFzawxmb2xkZXItbWludXMLZm9sZGVyLXBsdXMGZm9sZGVyD2dlbmVyaWMtcGF5bWVudAdnbGFzc2VzBWdsb2JlBmhhbW1lcgRoYXNoBWhlYXJ0B2h1YnNwb3QFaW1hZ2UMaW5mby1yb3VuZGVkBWp1aWNlA2tleQRsaW5rCm1hc3RlcmNhcmQFbXVzaWMKbm9kZS1taW51cwlub2RlLXBsdXMHcGFja2FnZQtwYXBlci1wbGFuZQZwYXlwYWwGcGVuY2lsB3BlcmNlbnQGcGlja2VyBHBsYW4EcGx1ZwpwbHVzLW1pbnVzFHBsdXMtcm91bmRlZC1vdXRsaW5lB3ByZXNlbnQJc2NoZW1hdGljBnNlYXJjaAdzZWdtZW50DXNlcnZlci1zZWFyY2gHc2lkZWJhcgZzaWduYWwHc2lsZW5jZQVzcGFkZQdzcGVha2VyB3N0YWNrZWQGc3RhY2tzBnN0cmlwZQR0ZXh0B3RodW5kZXIHdG9ybmFkbwV0cnVjawR0dWJlC3VucHJvdGVjdGVkCHZlcmlmaWVkDHZpZGVvLWNhbWVyYQR2aXNhBndhbGxldAp3YXRjaC1oYW5kDHdhdGNoLXBvY2tldAp3YXRlci1kcm9wBXdhdmVzB3dlYmhvb2sEd2luZAAAAA==), format("truetype");
|
|
12036
|
+
src: url(data:font/ttf;base64,AAEAAAALAIAAAwAwR1NVQiCLJXoAAAE4AAAAVE9TLzI97ktcAAABjAAAAGBjbWFwAJym5QAAA8QAAAfIZ2x5ZtIIYsMAAAx8AABXHGhlYWRYqp/xAAAA4AAAADZoaGVhAjwBigAAALwAAAAkaG10eIk1AAAAAAHsAAAB2GxvY2Eh4QygAAALjAAAAO5tYXhwAZEBZAAAARgAAAAgbmFtZRTbwvgAAGOYAAAB8nBvc3TJtgWrAABljAAABSIAAQAAAPr/zgAAAUUAAAAAAUAAAQAAAAAAAAAAAAAAAAAAAHYAAQAAAAEAAC/HHFlfDzz1AAsBLAAAAAB8JbCAAAAAAHwlsIAAAP/zAUAA1QAAAAgAAgAAAAAAAAABAAAAdgFYABEAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKADAAPgACREZMVAAObGF0bgAaAAQAAAAAAAAAAQAAAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAQBKgGQAAUAAADOANIAAAAqAM4A0gAAAJAADgBNAAACAAUDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBmRWQAwPEB8XUA+v/OABsBFQAyAAAAAQAAAAAAAAAAAAAAAAACAAAAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABRQAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAAAAAUAAAADAAAALAAAAAQAAAI8AAEAAAAAATYAAwABAAAALAADAAoAAAI8AAQBCgAAAAQABAABAADxdf//AADxAf//AAAAAQAEAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZABlAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHIAcwB0AHUAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAABYwAAAAAAAAAdQAA8QEAAPEBAAAAAQAA8QIAAPECAAAAAgAA8QMAAPEDAAAAAwAA8QQAAPEEAAAABAAA8QUAAPEFAAAABQAA8QYAAPEGAAAABgAA8QcAAPEHAAAABwAA8QgAAPEIAAAACAAA8QkAAPEJAAAACQAA8QoAAPEKAAAACgAA8QsAAPELAAAACwAA8QwAAPEMAAAADAAA8Q0AAPENAAAADQAA8Q4AAPEOAAAADgAA8Q8AAPEPAAAADwAA8RAAAPEQAAAAEAAA8REAAPERAAAAEQAA8RIAAPESAAAAEgAA8RMAAPETAAAAEwAA8RQAAPEUAAAAFAAA8RUAAPEVAAAAFQAA8RYAAPEWAAAAFgAA8RcAAPEXAAAAFwAA8RgAAPEYAAAAGAAA8RkAAPEZAAAAGQAA8RoAAPEaAAAAGgAA8RsAAPEbAAAAGwAA8RwAAPEcAAAAHAAA8R0AAPEdAAAAHQAA8R4AAPEeAAAAHgAA8R8AAPEfAAAAHwAA8SAAAPEgAAAAIAAA8SEAAPEhAAAAIQAA8SIAAPEiAAAAIgAA8SMAAPEjAAAAIwAA8SQAAPEkAAAAJAAA8SUAAPElAAAAJQAA8SYAAPEmAAAAJgAA8ScAAPEnAAAAJwAA8SgAAPEoAAAAKAAA8SkAAPEpAAAAKQAA8SoAAPEqAAAAKgAA8SsAAPErAAAAKwAA8SwAAPEsAAAALAAA8S0AAPEtAAAALQAA8S4AAPEuAAAALgAA8S8AAPEvAAAALwAA8TAAAPEwAAAAMAAA8TEAAPExAAAAMQAA8TIAAPEyAAAAMgAA8TMAAPEzAAAAMwAA8TQAAPE0AAAANAAA8TUAAPE1AAAANQAA8TYAAPE2AAAANgAA8TcAAPE3AAAANwAA8TgAAPE4AAAAOAAA8TkAAPE5AAAAOQAA8ToAAPE6AAAAOgAA8TsAAPE7AAAAOwAA8TwAAPE8AAAAPAAA8T0AAPE9AAAAPQAA8T4AAPE+AAAAPgAA8T8AAPE/AAAAPwAA8UAAAPFAAAAAQAAA8UEAAPFBAAAAQQAA8UIAAPFCAAAAQgAA8UMAAPFDAAAAQwAA8UQAAPFEAAAARAAA8UUAAPFFAAAARQAA8UYAAPFGAAAARgAA8UcAAPFHAAAARwAA8UgAAPFIAAAASAAA8UkAAPFJAAAASQAA8UoAAPFKAAAASgAA8UsAAPFLAAAASwAA8UwAAPFMAAAATAAA8U0AAPFNAAAATQAA8U4AAPFOAAAATgAA8U8AAPFPAAAATwAA8VAAAPFQAAAAUAAA8VEAAPFRAAAAUQAA8VIAAPFSAAAAUgAA8VMAAPFTAAAAUwAA8VQAAPFUAAAAVAAA8VUAAPFVAAAAVQAA8VYAAPFWAAAAVgAA8VcAAPFXAAAAVwAA8VgAAPFYAAAAWAAA8VkAAPFZAAAAWQAA8VoAAPFaAAAAWgAA8VsAAPFbAAAAWwAA8VwAAPFcAAAAXAAA8V0AAPFdAAAAXQAA8V4AAPFeAAAAXgAA8V8AAPFfAAAAXwAA8WAAAPFgAAAAYAAA8WEAAPFhAAAAYQAA8WIAAPFiAAAAYgAA8WMAAPFjAAAAYwAA8WQAAPFkAAAAZAAA8WUAAPFlAAAAZQAA8WYAAPFmAAAAZgAA8WcAAPFnAAAAZwAA8WgAAPFoAAAAaAAA8WkAAPFpAAAAaQAA8WoAAPFqAAAAagAA8WsAAPFrAAAAawAA8WwAAPFsAAAAbAAA8W0AAPFtAAAAbQAA8W4AAPFuAAAAbgAA8W8AAPFvAAAAbwAA8XAAAPFwAAAAcAAA8XEAAPFxAAAAcQAA8XIAAPFyAAAAcgAA8XMAAPFzAAAAcwAA8XQAAPF0AAAAdAAA8XUAAPF1AAAAdQAAAAAAiAGKAy4D3AROBHoEoATGBOwFFAVMBbYGUgawBwoHOAdeB4QH6ggiCJAIyAjuCQ4JLglOCW4KuAsoC3oLugvqDEYMsg0sDhAOeA/OEAgQSBCQERgRcBGQEfQSLBKiEs4S+hOIFBYUTBSoFOIVLhV+FeIWIhZkFsQXHhdyF54YIBhQGJwZABlwGdoaJBpyGtYbJhtGG34bzhwwHKIdAB3gHgweXB6sHwAfTB+GH9QgNiBqIKQhOiH0IjQipCMkI4wj+iRQJKgk5CUSJTYlpiYaJlImpCciJ3Yn2ihWKJ4o/ilgKaoqeCskK44AAAAFAAAAAAD2AMQADwAfAD8ATABeAAA3IgYHBh4BNjc+ATMyNjQmMyIGFBYzMhYXHgE+AScuAQciDgEVFBcHBhQWMj8BFjMyNjcXFjI2Ji8BPgE1NC4BBzIeARQOASIuATQ+ARciBh0BIyIGFBY7ATI2PQE0JnAVIAQBBQcHAQIWDgQFBUgEBgYEDhYCAQcHBQEEIToXKBcTEAMGCAMPGB4PGwsQAwgGAQIQCQoYJxcSHxISHyQfEhIfEgQGHAQGBgQmBAUFwxoTBAcBBAQNEQYIBQUIBhENBAQBBwQTGhMXJxgdGBADCAUDEBMKCRECBgcDEAscDhgnFxMSHiUeEhIeJR4SEwUEHQYHBgYDJwQFAAQAAAAAAOIAsAAxAFAAtQDTAAA3NDsBMRYUDwEGByMGByMGByMGIzkBIiczJiczJiczJicxJi8BNzMxFhczFjMyNzE2PwEWHQExBgc1BgcxBiY3Njc1Ni8CMQcjJjY3MzEyFycUFzEWFzEfAQcvAQYHMQYHMQYrASInMSYnMSYnMSY9ATkBNDcxNjcjNjcxNjcxNj8BMzU0JzEmKwExBzEGBzEGBzEGByc0NzE2NxU2NzE2NzE2OwE5ATIXIxYXMRYXMRYXMRYVBzAxFBcxFjMyMzE2NzE2NTkBNSIHMwYHMw4BHQExzwEBAQIDBAQBBQYBBwgBCQsLCgEKCQEJBwEHBQQDAQECCw0CFRkMCxIQEQEBAgIFAgEBAgECAQEICQMBCQQKBQEiAgEBBAMTBwkDBQUGBgYCBQUGBAUCAwICBQEFBQQGBQYKCQEEBgEFAgMCAgMCGQICBAQFBgcICAEICAEGBQQDAwEBOgYEBAICCAIBBQUBBQUBBQYzAQECAgMDAwMDAwICAwIEBAUEBQMEAQIHBwoCBAgJAQIDBAUBBgUBAQIEBQEGAgEBAQEEAQIlAwIDAgQEEgYJBQMEAQIBAgQEBQYHAQcGBQUEAgMCAgECDAQDBAEBAQIDBAQCBQUFBQEFAwQCAgICAwMEAwQDBDMHBAIDCAQEDgEBAgIIBQEAABEAAAAAARQAtQATABYAIgA1AD4AQgBhAGQAcgB7AH4AhACQAKIAqwDHAVcAADcHJyMVJyMHMzczFzM1FzM3FTM1ByM3FyM1MxUjFTMVIxUzNzQmKwEVMzUzMhYdATM1NCYnNicGKwE1MzIWFDcjFTM3FScjFScjByMiJjQ2OwE1IyIGFBY7ATczFzM1FzM1ByM3ByMHJyMVMzcXMzUzMjQHIzUzNSM1Mx8BJzcXIzUzMhQ3MxUjFTMVIxUzFSMnNjQmKwEVMzUzMhYdATM1NCYnIisBNTMyFhQXFhUUKwE1MzI2NCYrAS4BNDY7ARUjIgYUFzMyNzY7ATU0JisBIgYdATczFzUzFzczMhc1MxU2OwEXNTMXNTMVIycVIycjByMiJxUjNTQrARUjNQcjJxUjJyMHIxUUFjsBMjY9ARUGKwE1BisBNTQrARUjNQYrARUjJwcjNTMXNzMyFzUzMhc1MxU2OwEVNjsBFSMiBhQWOwEyFhQGKwEVMzI3MTUnJiMnIjQzWQgJDAwKDQgCDwMOCgYLBzUKBVcYGBEQEBEhBgYRCAcEAgcCAgUJAQMICAMCEwcHTAwLDAsJBAMDAwQHBwcIBwcJAg8DDg0KKwkFPRYJCRwcCQkNCQw4EQ8PEgcUCwsQCQkFKxcQEBAQFwkFBgYRCAcEAgcCBgEDCAgDAj4CCw4OAgICAgEHBgQGDg0CAgEHBg4BAg0IBeAFCAkSAhYEBUQFAxMECBsCFAMTEwQZAgYDDQcEHwEBOgMMAhgCBgMMCAXgBQgEBhMDBjkCARMDBgMXBQYlJgUGGQgCFwYDIwIGEwQFDQ4FBQcGAgECAQMNDQcDAQIGBgIBjRQUHBweBwcYGBgYHhEMGR4GBgYGEAUDHgsDBAQGBAMBAgIBBwEECx4eFRUcHBcDCgQGBxAHBwcXFx4RDC4KCh4JCQoUGAYGBQgNDAwKBwcOBwUGBgYNAgsEHgoCBAQFBAQEBgEEAwIECQYCAgEBAwkGBwEDAQQBVAYICAYoFAUFCwsDAwMDBQUFBSoGBgcHAwMKAQsFBQUFBwdIBggIBh4IAgMDCgELDAIKBwcqBgYCAgICAgICAgYFCgMBAwEHBAsBAgEEAAAAAAgAAAAAAR8AvAAHABAAIQArAEEAUABYAIEAADczMhYUBisBFxUUBiImNTQ/ASMiBh0BFBY7AT4BPQE0JiMHMzIWFAYrARUjNzIWHQEjNQ4BIiY1NDM3NTQiByM0NjsBFzczBw4BIyc1MzI/AScWBiMmNz4BBzAxNjsBMhcWFzEGFRQXFhcxBgcjDgEmJzEmIgYjIi4BNz4BMhcxFjKRCgUHBwUKOgUIBAhJ6ggLCwjqCAsLCIMVCAoKCAwJOwgJCAIHCggQCg8BCAoaCQoLCA8CBwcDAgYCAYEBDAgBBgMHCAcEAQMEBgQKBQMEAgQBAwYHBQQHCQIHDwUGAwoKBgQDewULBQcDBAUDAgUBXgwIiAgMAQsIiAgLOQoPChInBwUbBwQDBgULAQMHBgUHICApBwYBBgYCSQgNCAYDBBoDAgIFBgoHBgICBgYFBgEBAgMTGQkFBgICAAAAAAIAAAAAAOEArQAqAFUAADc0Jg4BHQEUBisBNTQuAQYdASM1NC4BBh0BIyI9ATQuAQYdARQWOwEyNjUnNzYyHwEWMj8BFRQeATY9ATQmKwEiDgEWOwEHBiIvATEuASMiDwEGFBYy4QYGAwECGwMGBh4DBgYbAwMGBgsHcggKiRsBBAEXBhAFJwQGBQoIIgMEAQQEGiYBBAIWAwcECAYbAgQHQQQEAQQDFAEBFgMEAQQEFhYDBAEEBBYCFAMEAQQEFAcKCgc7GwEBFwYGJxsDBAEFAyMHCgQGBSYCAhYDAwUbAgYFAAEAAAAAAPoAtAAbAAA3FjsBBxc3JwcXIyIuATQ+ATsBNSMiDgIVFBZLDA5nKBFFRREoZwcMBwcMBwoKCxIOCA5UBycRRUQRJwcMDgwHGQgOEgsOFwAAAAABAAAAAADsALoAFwAANwYiLwEmNDYyHwE1NDYyFh0BNzYyFhQHnwQKBEkDBwoEMwgKBzQECgcDEgMDSQQKBwM0dAUHBwV0NAMHCgQAAQAAAAAA7AC6ABcAADcmND8BNjIWFA8BMzIWFAYrARcWFAYiJ0QDA0kECggENHQFBwcFdDQECAoEWwQKBEkDBwoEMwgKBzQECgcDAAEAAAAAAOwAugAXAAA3FhQPAQYiJjQ/ASMiJjQ2OwEnJjQ2MhfoAwNJBAoIBDR0BQcHBXQ0BAgKBG0ECgRJAwcKBDQHCggzBAoHAwABAAAAAADsALoAFwAANzYyHwEWFAYiLwEVFAYiJj0BBwYuATQ3jQQKBEkDBwoENAcKCDMECgcDtgMDSQQKBwM0dAUHBwV0NAQBBwoEAAAAAAEAAAAAAPoAnAAlAAA3IgYUFjsBBwYiJyYiDwEGFBYyPwE2MhcWMj8BFRQWMjY9ATQmI8QEBQUEGTYHFAcMIgwWAwUHAxYHFAcMIgw2BQcFDAicBgcFNwcHDAwYAgcGAxcICAwMOBoEBQUEIwkMAAADAAAAAAD2ALEAFQArAEgAADciBwYHBgcGHwEWFxY7ATI2PQE0JiMHMzIWHQEUBisBIicmLwEmND8BNjc2FyIGFB8BBwYUFjI/ARcWMjY0LwE3NjQmIg8BJyaDCwoFAyEGEBAnAgYJDEwQFhYQTEwICwsITAYFAwEmBAQnAQMFDwQGAwwMAwYIAgwNAgkFAwwMAwUJAg0MArAGAwQkBxQVKQQDBxYQTBAWEwsITAgLAwICKQUHBCwBAgMcBggDDAwDCAYDDAwDBggDDAwDCAYDDAwDAAUAAAAAAO4AvQA7AEsAVwBnAHcAADc0JyYnIiY9ATQ2OwEyNj0BNC8BJg8BBh0BFBY7ATIWHQEUBiMOAR0BFAYiBh0BBhY7ATI2PQE2JiImNScUBisBIiY9ATQ2OwEyFhUnND8BNh8BFhQrASIXNDY7ATIWHQEUBisBIiY1ByImPQE0NjsBMhYdARQGI+MHBAUDAwMDCQMEBEYDA0YEBAMJAwMDAwcJAwQDAQQDogMDAQQEAywEAgoCBAQCCgIEWAIyAwMyAgNoAxYEAgoCBAQCCgIEDwMEBANgAwQEAzMJBgQCBAMUAgQEAh0EAikBASkCBB0CBAQCFAMEAgwHCwIEAwIKAwQEAwoCAwQCJwMEBAMUAgQEAh8BAR0CAh0BBBwCBAQCFAMEBAMtBAMDAwQEAwMDBAAAAAMAAAAAAO4AxQAeACoAPQAANz4BMh4CFRQXFh8BHgEOASsBIi4BNj8BNjc2NTQ2BzMnJjU0JiIGFRQHFzYeAjI+Ah4BBw4BIiYnJjZqCRcYFxEKCwQEAgMCAgUDnAMFAgIDAgQECwoGdAIOGCQYDiQEBwMEBAQDBwcCAgMNDg0DAgKyCQkJEhYMJBUHBAICBgYEBAYGAgIEBxUkDBZnAhopERkZESkaJgICBQICBQIEBwQGBwcGBAcAAAAAAgAAAAAA4wDEADAAQAAANyIGDwEjIgYdARQWOwEHBh4BNj8BMxUUFjI2PQEzFx4BPgEvATMyNj0BNCYrAScuAQczMhYdARQGKwEiJj0BNDaWAwUBAyQLERELAQoBBAgHAQsRBggGEQsBBwgEAQoBCxERCyQDAQUzYAQFBQRgBAUFwwMEDBELQwwRIwQHAgQEKBwEBgYEHCgEBAIHBCMRDEMLEQwEAyYFBEMEBgYEQwQFAAAAAgAAAAAA4wDEAA8AHAAANyIGHQEUFj8BFxY2PQE0IwczMhYdAScmDwE1NDZwEhQIBT8/BAkmTEwLCDUEBDUJwxQSjwUFAhsbAgUFjyYTCAuAFwEBF4AKCQAAAAACAAAAAADuAJgADgAXAAA3IicjIiY0NjsBNjIWFAYnMjY0JiIGFBa6Fg83DxAQDzcQKh4eFRAWFiAWFjEPFR0VEB4qHg0WIBYWIBYAAgAAAAAA7gCYAA4AFwAANzIXMzIWFAYrAQYiJjQ2FyIGFBYyNjQmchYPNw8QEA83ECoeHhUQFhYgFhaXDxUdFRAeKh4NFiAWFiAWAAQAAAAAANkAxAAcAC8APQBGAAA3Ig4BFRQWHwEeAR0BFBYyNj0BNDY/AT4BNTQuAQcyFhUUBg8BBgcjJi8BLgE1NDYXIgYVFBYyNjQ2MjY0JgcyMxUUBiImNZYSHxIICQMFBBYgFgQFAwkIEh8SFBwGBgQKAigCCgQGBhwUDBEGCAUGCAYGFxMTCxALwxIeEg4TCwMGCAYTEBYWEBMGCAYDCxMOEh4SExwTCg0IBAsMDAsECA0KExwTEQsEBgYIBQYIBWkJCAsLCAAAAAMAAAAAAPsAsAAMABkAJwAANzQ2OwEyFhQGKwEiJhU0NjsBMhYUBisBIiYVNDY7ATIWFAYrASImNTIHBbAFBwcFrwYHBwWwBQcHBa8GBwcFsAUHBwWvBgejBQcHCwcHOQUICAoHBzkFBwcLBwcFAAACAAAAAADuAMAADwBNAAA3IyIGHQEGFjsBMjY9ATYmBwYiJzEmIyIGFBYfARYXFhQGDwEGKwEiJjU3JicmPwE2MhcWMzI2NCYvASYnJjQ2PwE2OwEyFhUHFhcWFAfekAcIAQkHkAcIAQkxAQIBCQwFBwYHAQwGBxAOAQECDAECAgsHAwMGAQIBCQ0GCAYIAgsFBhAMAQECDAECAgkHAQG/CQaYBgkJBpgGCUUBAQgECAQCAQQFBhUOAQgDAwEJAwcDAgcBAQkFCAQDAQQEBxUMAQgDAwEJAwcBAgEAAgAAAAAA+wDIAAwAIgAAMzI+ATQuASIOARQeATcWFA8BDgEmLwEmND8BNjIfATc2MheWGy4bGy42LhsbLlcDA0AGBgYGIAMDBgIHAxo6AggCGy42LhsbLjYuG4oCBwNABgQEBiECBwIHAgIbOgMDAAEAAAAAAPQAqgAVAAA3FhQPAQ4BJi8BJjQ/ATYyHwE3NjIX8AQEXwoJCAowBAQJBAoEJ1cDCwSdBAoEXwoFBQowBAoECQQEJ1YEBAABAAAAAADuAJYAEQAANzYyHwE3NjIWFA8BBiIvASY0QgQKBEJCBAoHA0sECgRLA5IEBEJCBAcLA0sEBEsDCwAAAQAAAAAAyAC8ABEAADcWFA8BFxYUBiIvASY0PwE2MsQEBEJCBAcLA0sEBEsDC7gECgRCQgQKBwNLBAoESwMAAAEAAAAAAMgAvAARAAA3JjQ/AScmNDYyHwEWFA8BBiJoBARCQgQHCwNLBARLAwsQBAoEQkIECgcDSwQKBEsDAAABAAAAAADuAJYAEQAANwYiLwEHBiImND8BNjIfARYU6gQKBEJCBAoHA0sECgRLAzYEBEJCBAcLA0sEBEsDCwAAAgAAAAAA7gC8AG8A3wAAPwE+AS4BDwEnNz4BLgEPASc3NjQmIg8BJyYiDwEnLgEOAR8BBycuAQ4BHwEHJyYiBhQfAQcGFB8BBw4BHgE/ARcHDgEeAT8BFwcGFBYyPwEXFjI/ARceAT4BLwE3Fx4BPgEvATcXFjI2NC8BNzY0Jw8BJy4BDgEfAQcnJiIGFB8BBycuAQ4BHwEHBiIvATc+AS4BDwEnNzY0JiIPASc3NjQuAQ8BJyY0PwEXHgE2NC8BNxcWMjY0LwE3FxYyPgEvATc2Mh8BBw4BFjI/ARcHBhQWMj8BFwcOAR4BPwEXFhTeDQIBAwYCDQoMAgEDBQIOCg0CAwUCDg0GDgYJCwEFBAECCwoKAgUEAQILCgoCBQQBCw0FBQoNAgEDBgINCgwCAQMFAg4KDQIDBQIODQYOBgkLAQUEAQILCgoCBQQBAgsKCgIFBAELDQUFCQwGAgUEAQIHCgYCBQQBBwoGAQUEAQIHCwIEAgwHAgEDBQIJCggCAwUCCQoIAgMFAgkKAgIMBgIFBAEHCgYBBgQBBwkHAQUEAQIHCwIEAgwHAgEDBQIJCggCAwUCCQoIAgEEBQIJCgJ6CwEFBAECCwoKAgUEAQILCgoCBQQBCw0FBQoNAgEDBgINCgwCAQMFAg4KDQIDBQIODQYOBgkLAQUEAQILCgoCBQQBAgsKCgIFBAELDQUFCg0CAQMGAg0KDAIBAwUCDgoNAgMFAg4NBg4GEQwHAgEDBQIJCggCAwUCCQoIAgEEBQIJCgICDAYCBQQBAgcKBgIFBAEHCgYBBQQBAgcLAgQCDAcCAQMFAgkKCAIDBQIJCggCAwUCCQoCAgwGAgUEAQcKBgEGBAEHCQcBBQQBAgcLAgQAAwAAAAAA8QDEADcASQBZAAA3IgYdASMiBgcnIgYUFjsBFSMiBhQWOwEVIyIGFBY7ARUjIgYUFjsBFBY7ATI2PQEzMjY9ATQmIxUyFh0BFAYrATU0JisBNTQ2MwczMhYdARQGKwEiJj0BNDaRDBAKBxAECwQFBQQKCgQFBQQKCgQFBQQKCgQFBQQKEAxDDBAKDBAQDAQFBQQKEAwmBQQmQwQFBQRDBAUFxBEMCgoKAQYIBQoFCAYJBggFCgUIBgwREQwKEQtgDBEUBQRfBAZCDBEKBAUmBgRfBAUFBF8EBgADAAAAAADUALIACAAaADUAADcyNjQmIgYUFhcWFAcGIicmND8BNhcWMjc2FzcWFA8BBicmIyIGFRQXFg8BBiInJjU0PgEzMqYKDg4UDg42AQITLxQCAhEDAwoVCQMDEQIBEgMDCQsSGQQCAhICBAENFSMVGEwOFA4OFA4hAgQBDQ0BBAISAgIEBAICZwEEAhICAgQZEgoKAwMRAgIUFxUjFQAAAAIAAAAAAO4AvAAMACgAADciDgEUHgE+Ai4CFxYUBiIvAQcGIiY0PwEnJjQ2Mh8BNzYyFhQPAZYYKBgYKDAoGAEXKAoDBggDFBQDCAYDFBQDBggDFBQDCAYDFLwYKDAoGAEXKDAoGGwDCAYDFBQDBggDFBQDCAYDFBQDBggDFAAAAQAAAAAA4QCvABwAADc2Mh8BNzYyFhQPARcWFAYiLwEHBiImND8BJyY0TwMLAzY2AwsHBDU1BAcLAzY2AwsHBDU1BKsEBDU1BAcLAzY2AwsHBDU1BAcLAzY2AwsAAAAAAgAAAAAA9gCxADcAQgAANyIGBw4BFRQWOwEyNjQmKwEiJjU0Njc2Nz4BMhYdARQWFx4BFAYrASIGFBY7ATI2NTQmJzU0LgEPATMVFBYyNj0BM5YXJQUOEB4UBwQFBQQHDBMMCgYBAhslHQQDCQwQDAoEBQUEChMcEAwSHxIdEwYIBhOwHRgFGRAVIAUIBhQOCxADAgYTFxwTCwMFAQINEg4GCAUZEg0VBQQRHxI5HTkEBQUEOQAAAAIAAAAAAOwAugAhAE0AADciBh0BDgEVFBYzMjcPAQYWOwEyNi8BFjMyNjU0Jic1NCYHMhYVBwYWNzMyFhQGIyIuAgYVBhcjNj0BNCYGBwYjIiY0NjsBFjYvATQ2lhQcEBYcFAMEAgQDBgU6BQUCBgMEFBwWEBwUDBECAQYFAQwREQwDBgUIBgEGHgUGCAMEBwwREQwBBQYBAhG6HBQBAxoSExwBBQsFCQoEEAEcExIaAwEUHBMRDAcFCAERFxEDBgEGBA0QDgsEBAYBAwYRFxEBCAUHDBEAAAYAAAAAAO4AvAAwADkAQgBLAE8AWQAANyM1MzI2NCYjIgYHBh0BIzU0JiIHBhQWOwEVIyIGBwYVFBYyNj0BMxUUFxYXPgE0Jic0NjIWFAYrAQcUBiImNDY7ASciJjQ2MhYdARcjNTMXIiY9ATMyFhQGyAsLDxcVEQkPBgcaFiALCRUQCwsJEAUHFR8WGgkLEQ8XFxoGCgYGBQtOBgoGBgULCwUGBgoGNBoaJQUGCwUGBlcaFR8WBwcKDQsLEBYNCx0WGggHCgwPFxYQCwsOCg0BARUgFT8FBgYKBlkFBgYKBk4GCgYGBQs0GkoGBQsGCgYAAAALAAAAAADuAKoAEAAiAC8AQABIAFUAZgCCAIYAlQChAAA3JyYiBhQfAQcGFBYyPwE2NCcmIg8BBhQfARYyNjQvATc2NDcmBg8BBh4BNj8BNiYXNzY0LwEmIgYUHwEHBhQWMicWMj8BNjQnMScmIgYUHwEHMQYUFyc2NCYiDwEGFB8BFjI2NC8BFzgBMSc3NjQmIgc4ATEHOAExBhQXOAExFxYyNzUWFAc3MTYuAQYPATkBFB4BNjcXDgEuAT8BPgEeAQfqIQMJBgMZGQMGCQMhBHwDCQMhBAQhAwkGAxkZAzUECQEhAQQICAIhAQQbIQQEIQMJBgMZGQMGCQoCBwIhAgIhAgYFAhsbAgJKAwYJAyEEBCEDCQYDGRcbGwIEBwIhAgIhAgcCAgI+AQMGBgEhAgYGAQMCCAgEASEBCQgEAWsgAwYJAxgZAwkGAyADCSMDAyADCQMgAwYJAxkYAwkgAgQEdQQIAwQDdQUIayADCQMgAwYJAxgZAwkGBQICIAMGAiACBAcCGhsCBgM+AwkGAyADCQMgAwYJAxkbGxoDBgQCIAIGAyACAgsCBgNdAwYCAgN1AwUCAgMCAwQDCAR1BAQDCAUAAAADAAAAAAD2AMQAOQBEAEoAADciDwEOAQcjIgYdARQWFyMiBhQWOwEyNjQmKwE+ATUyNjQmKwE+AT8BNjQmIg8BDgEHIz4BPwE2NCYHMjMVFAYrASImNTcyFhQGI3kEAgYIBgEeBAUSDw4EBgYEcgQGBgQODxIQFhYQLwEDBAgDBggDBgcHARwBAwMIAwU0OTkdFBAUHYUICwsIwwIGBg0LBQRCEh8JBggFBQgGCR8RFiAWBgYDBwMIBQIGBQ4LBgYDBwMIBTk4FB0dFDgLEAsABAAA//MBBwDVAGgA+AEBAQoAADciBh0BFAYPAQYmLwErAQ8CHwEeAQ4BByMiBhQWOwEyHgEGDwEdAR8CPwE+AR4BFxUUFjI2PQE0PgEWHwE7AT8CLwEuAT4BOwEyNjQmKwEiJi8BJjY/AT0BLwIPAQ4BLgE9ATQmJz4BFh0BFBYXMToBNTc4ATE+ATIeAhQGBzgBMQcUBhcVFzI7ATIWFAYrASIGBzEcATMXHgEUBgcnFw4BIiYvASImBzEiBh0BFAYiJj0BNCYjJyoBFQc4ATEOASIuAjQ2NzgBMTc0NicxNCYrASImNDY7ATI2NTc8ASMnLgE0PgIyFh8BMhY3Mzc0PQE0FyIGFBYyNjQmBzQ2MhYUBiImlgMECQcDBg8GAwMCAwEBAQIGAgYNCAEDBAQDAggNBgMFAwICAwMDBg8PCQEEBgQJDhAGAwMCAwEBAQIGAgYNCAEDBAQDAggNAwECAwUDAgIDAwMGDw8JBBgJGBIBAQEDAQQLDAsIBQUEAQEBAQEBAgwSEgwBAQIBAQEEBAQECAgFCgwLBAEBAgEBAhEZEQEBAQEDAQQLDAsIBQUEAQEBAgECDBERDAEBAgEBAQQEBAkKDAsEAQECAQIBHgcJCQ4JCS4XIBcXIBe+BAMCCA0DAQIDBQMCAgMDAwYPDwkBBAYECQ4QBgMDAgMBAQECBgIGDQgBAwQEAwIIDQYDBQMCAgMDAwYPDwkEBgQJBwMGDwYDAwIDAQEBAgYCBg0IAQMEDggBEgwBAQIBAQEEBAQJCgwLBAEBAgECARIYEgEBAQMBBAsMCwQICAQFBQQBAQECAQIMEREMAQECAQEBBAQECQoMCwQBAQIBAQIRGREBAQEBAwEECwwLCAUFBAEBAQEBAQIMTwkOCQkOCRAQFxcgFxcAAAAAAgAAAAAA1QDIABEAIwAANzYyHwE3NjIWFA8BBiIvASY0NwYiLwEHBiImND8BNjIfARYUWwQKBCkpBAoHAzIECgQyA3kECgQpKQQKBwMyBAoEMgNHBAQpKQQHCwMyBAQyAws9BAQpKQQHCwMyBAQyAwsAAAABAAAAAADVAMgAKgAANwYiLwEVNzYyFhQPAQYiLwEmNDYyHwE1BwYiJjQ/ATUzNzYyHwEzFRcWFNEECgQcHAQKBwMyBAoEMgMHCgQdHQQKBwMvAQIECgQCAi4DgQQEHHIcBAcLAzIEBDIDCwcEHHIcBAcLAy8BAgQEAgEvAwsAAAQAAAAAAPYAxAAMABkAJwArAAA3Ig4BFB4BMj4BNC4BBzIeARQOASIuATQ+ARcHBg8BBhY/ATY/ATYmDwI3lhosGRksNCwZGSwaFSMUFCMqIxQUIzg5BAITAggGOQQCEwIIEgsjC8MZLDQsGRksNCwZExQjKiMUFCMqIxQdEwIEOQYIAhMCBDkGCBojCyMAAAQAAAAAAPoAxgArADUAUQBbAAA3JyYiBhQXBwYUHwEHBhQWMj8BFxYyPwEWMjY0LwE3NjQmIg8BJzc2NCYiDwEXBwYiLwEmND8BJyYiDwEmIgYUHwEWMjY0Jzc2NC8BNzY0JiIPASc3NjIfARYUB3IMAgYEAiIHBwoQAgQGAg8KBxEGIwIGBAIKDQIEBgINEg0CBAYCGSgjAgYCHQMDmwoHEQYjAgYEAjwCBgQCIgcHChACBAYCKCgjAgYCHQMDZgwCBAYCIwYRBgoQAgUEAg8KBgYjAgQFAgoNAgYEAg0SDQIGBAIVKCICAh0DBQJ5CgYGIwIEBQI8AgQGAiMGEQYKEAIFBAJZKCICAh0DBQIAAwAAAAAA+gDIAA8AHwBDAAA3IyIGHQEUFjsBMjY9ATQmBxQGKwEiJj0BNDY7ATIWFTcjIgYdARQWMjY9ATQ2OwEyFh0BFAYrASIGFBY7ATI2PQE0JptJDRMTDUkNExMCBgVJBQYGBUkFBjRJDRMGCQYGBUkFBgYFCgQHBwQKDRMTiRMNSQ0TEw1JDRNpBQYGBUkFBgYFXxMNCgQHBwQKBQYGBUkFBgYJBhMNSQ0TAAACAAAAAAEUALUACQATAAAlIyIGHQEzNTQmFyMVFBY7ATI2NQEG4AUI+ggI+ggF4AUItAgFEhIFCC9kBQgIBQAABAAAAAAA4wDEABQAJQAzAEMAADciBgcGHQEUFx4BMjY3Nj0BNCcuAQcyFx4BFAYHBiInLgE0Njc2BxYyNxUUBgcGIicuATUVHgEzMjcVFAYHBiInLgE1lhsnBwMDBig2JggDAQYpHBkSBwcHBxIyEgcHBwcSIBVIFQcHEjISBwcKHhEiFwcHEjISBwfDDwwFBnIGBQwPDgwFB3IFAw4QEwgCBwQGAwgIAwYEBwIILQwMHwIGAwgIAwYCGgYGDB8CBwIICAIHAgACAAAAAADjAMQAEAAhAAA3Ig8BBhQfARYyPwE2NC8BJgcyHwEWFA8BBiIvASY0PwE2lg0JLggILgkaCS4ICC4JDQQDLgQELgMIAy4EBC4Dwws8ChwKPAsLPAocCjwLEwQ8BQ8FOwQEOwUPBTwEAAAAAwAAAAAA+gDJAAwAGQBVAAA3Ig4BFB4BMj4BNC4BByIuATQ+ATIeARQOAScjIiY+ATsBMh4BOwEyNS4BJzU0KwEiHQEOAR4BOwEyFg4BKwEiLgErASIGFR4BFxUUOwEyPQE+ATc2JpYbLhsbLjYuGxsuGxYlFRUlLCUVFSUSCAUHAQcECwIFAQEMAgEMCQIMAgsOAxALBwUHAQcECwIFAQEMAQEBDAkCDAIJDgEBEcgbLjYuGxsuNi4btBUlLCUVFSUsJRVYCAkGBAQCCQwBCwICCwIRFg4ICQYEBAEBCQwBCwICDAEOCQwSAAADAAAAAADuAHcACAARABoAADcyFhQGIiY0NjMyFhQGIiY0Nhc0JiIGFBYyNlEHCwsPCgpNCAoKEAoKYAsPCwsPC3cLEAsLEAsLEAsLEAsTCAsLEAsLAAAAAwAAAAAAqQC8AAgAEQAbAAA3FAYiJjQ2MhYVFAYiJjQ2MhYHMjY0JiIGFBYzqQsQCwsQCwsQCwsQCxMICwsQCwsIqQcLCw8LC00ICgoQCgpfCg8LCw8LAAUAAAAAARMAvAAPABMAUABcAGgAADcjIiY9ATQ2OwEyFh0BFAYnMzUjFzY0LwEmIgcGHwEjIiY9ATQ2OwEHBhQWMj8BNjQvASYGBwYfASMiBh0BIyIGFBY7ARUUFjsBBwYUFjI3FCcjIiY0NjsBMhYUBgcjIiY0NjsBMhYUBquMAgQEAowCBASHfn7rAQEVAgUCBAULDwgMDAgPCwIEBQEVAgIVAgUCBAULDw4TEQIEBAIREw4PCwIEBQF0RgIEBAJGAgQEAkYCBAQCRgIEBBgEAowCBAQCjAIEDX6BAQYCFQECBgMJDAhFCAwJAgUEAhMCBgIVAgECBQQJEw4cBAQFGw4TCQIFBAEBaAQFBAQFBC8EBQQEBQQAAAAABgAAAAAA7AC6ABgAIQA6AEMAXABlAAA3IgYHIyIGFBY7AR4BMjY3MzI2NCYrAS4BBzIWFAYiJjQ2ByIGByMiBhQWMzceATI2NzMyNjQmKwEuAQcyFhQGIiY0NhciBgcjIgYUFjsBHgEyNjczMjY0JisBLgEHMhYUBiImNDazCg8CTgQGBgROAw4TDgQUBAYGBBQEDgkEBQUIBgY2CQ8CFQQGBgQVAg8SDwNOBAYGBE4DDwkEBgYIBQU+CQ8DTgQGBgROAw8SDgQUBAYGBBQEDgkEBQUIBga6CwgGCAUJCgoJBQgGCAsTBggFBQgGJgsIBggGAQkLCwgGCAYICxMGCAYGCAYnCgkFCAYICwsIBggFCQoTBQgGBggFAAADAAAAAADuALwADQAWACIAADciDgEeAjI+AS4CIxUiJjQ2MhYUBjcUBiImPQE0NjIWFZYYKBgBFygwKBgBFygYBQcHCgcHBwcKBwcKB7wYKDAoFxcoMCgXiQcLBwcLBzIFBwcFJQYHBwYAAAAEAAAAAAEXALsAEgAfAC0ANwAANy4BLwEmNzY3NhYXFhcWBwYHBiceATI3NjcmJyYGBwY3IisBJgYHBh4BPgEuAQceAQ4BLgE3NheTKEASAQIDFCAjSiQgFQQEDyIrhxAzPyUZDBIbHTscGloBAQENGAQHEB4eDAYTDQoEBw8OAwUICw8BKCQBBQYiFxkBGBYiBgYYGR5UHCEbExAbEhMBExIPAQ4LDyEJDxkXEBQCDQ4HCA8FCQEAAwAAAAABAQCwAAwAGQAnAAA3NDY7ATIWFAYrASImFzQ2OwEyFhQGKwEiJhc0NjsBMhYUBisBIiY1LAcFvAUHBwW8BQcfBwV+BQcHBX0GBx8IBT4FCAgFPgUIowUHBwsHBzkFCAgKBwc5BQcHCwcHBQAAAAADAAAAAADjALYAGwAlADMAADcmLwE1MzI2NCYrASIGFBY7ARUHBgcGFjsBMjYnNj0BMxUUHwEjBzQ/ATMXHgEOASsBIibhAQcjAwQHBwRGBAYGBAMjBwEBFBBRDxRaAxYDCzIcAglUCQIBAwcDUQYHOQsILCgGCQYGCQYoLAgLDxcXQgUFKioFBQ0pBAQLCwMIBwQIAAAAAAMAAAAAAOwAugAWAC4AOgAANyIGHQEUFjsBMjY9ATQmKwEiJicuASMHMzIWHwEjIgYUFjsBFRQGKwEiJj0BNDYXIgYUFjsBMjY0JiNdDBEXD2APFwYELwYFBQYODCYmBQYEAyUEBgYEaQwHYAcMBioEBgYEJgQGBgS6EQxpDxcXD1YEBgUIDgsTBQkFBggFTQcMDAdpBAZNBQgGBggFAAADAAAAAADsALoAFgAuAEsAADciBh0BFBY7ATI2PQE0JisBIiYnLgEjBzMyFh8BIyIGFBY7ARUUBisBIiY9ATQ2FyIGHQEjIgYUFjsBFRQWMjY9ATMyNjQmKwE1NCZdDBEXD2APFwYELwYFBQYODCYmBQYEAyUEBgYEaQwHYAcMBj0EBgkEBgYECQYIBgkEBgYECQa6EQxpDxcXD1YEBgUIDgsTBQkFBggFTQcMDAdpBAY5BgQKBQgGCQQGBgQJBggFCgQGAAAAAAIAAAAAAOwAugAWAC4AADciBh0BFBY7ATI2PQE0JisBIiYnLgEjBzMyFh8BIyIGFBY7ARUUBisBIiY9ATQ2XQwRFw9gDxcGBC8GBQUGDgwmJgUGBAMlBAYGBGkMB2AHDAa6EQxpDxcXD1YEBgUIDgsTBQkFBggFTQcMDAdpBAYAAwAAAAAA7gC8AA8AHwAvAAA3IgYdARQWOwEyNjc1LgEjBzMyFh0BFAYrASImPQE0Nhc0NjsBMhYdARQGKwEiJjVYCw4OC30KDgEBDgpYMggMDAgyCAwMAwMCMgIDAwIyAgO8Dwp9Cw4OCn4KDysMCDIIDAwIMggMFAIDAwIyAgMDAgAAAQAAAAAA7wC8AEIAADciDgEVFBYXND0BIyIvASYnJjYzFhceATI3NjcuATU0NyY1JjcyFxYXNjIXNjc2MxYVFAcWFRQGBx4BFQc+ATU0LgGWGCkYJh0LCgQDAwUCAgIGBgIFCwYECBYWCgIBBAgIBAMKFwoDBQcJAwMKFhUFCQEbIRgpvBgpGB8wCAIDDwcGCgMBAwIIAwIBCgQCFBANCwcHCQMEAwMDBAQDBAMJBwcLDQ8VAgMPBxYJLh0YKRgAAwAAAAAA9gCLAC0ANgA/AAA3IgYHIyIGFBY7AR4BMzI2NTQ2MhYVFBYzMjY3MzI2NCYjBy4BIyIGByYiBy4BBzIWFAYiJjQ2MzIWFAYiJjQ2Zg0UBAEEBQUEAgMUDRAWBggGFhANFAQBBAUFBAEEFA0KEAUHFAcFEAoICwsPDAxnBwwMDwsLihAMBggGDBAWEAQGBgQQFhAMBggGAQ0QCAcGBgcIEwsQCwsQCwsQCwsQCwAABwAAAAAA9gDEAAwAEwAZAB8AJQArADEAADciDgEUHgEyPgE0LgEHMhYXBz4BBwYHIz4BNx4BFycmBzcWFy4BNzMOASImPwEOAQc2lhosGRksNCwZGSwaChEBOAERGAwBHQIYVBEWAx0Beh0CCxEWLDkBERQRSh0DFhEMwxksNCwZGSw0LBkTJxsBHCcHGCMSIAgIHxQBITUBJRcJIBIbJycbARMgCBkAAQAAAAAA7gC8ABsAADcmPgEzMhcHJiMiBhQWMzI2NyM1MxUUDgEiLgE/ARgoGB4XFA8SFiAgFhIcBjRYGCgwKBdkGCgYExoLICwgFRAiERgoFxcoAAAAAAQAAAAAAOwAxQAjADcAQwBTAAA3Jg8BBhYfAQcGFBcVFjI/ARY+Aic3NjQnNSYiDwEnJi8BJgceARcWHwEeAQcOASc+AScuAQcnNzIXMxYUDwEmJzc2BzYWFRQPAQYiJyMmND8BNqIFBDkEAgQbNAkJCRgJLg0bFAgKCAkJCRgJBQIDBAICCwIGBwgICwYDAQMRCgYBCgcSCBZYBAMBAwMJCQYIBDQFCAE8AwkDAQMEOgLDAQQ5AwoCDTQIGQgBCAguBgMSHQ4JCBkIAQgJBQMHCQgFGgYNCQwHCgUJBQoKAggWCgcCAwsaAwMJAwkJBwgDNgEHBQMCPAMDAwkDOgIAAAAAAgAAAAAA6wC4ABsAHwAANwcjNyMHIxUzByMVMwczNzMHMzczNSM3MzUjNwcjNzO7BTYFEgUsKgYkIgUSBTYFEgUsKgYkIgUfNgY2uCcnJxI2EicnJycSNhInbzYAAAAAAgAAAAAA7AC6ABgAMgAANyIGFRQWFx4BFzM+ATc+ATU0JiMiBgcuAQcyFhUUFjY1NDYyFhQGBw4BBzEuAScuATQ2cBQcExUUEAkDCRATFRMcFAwUBgYUDAwQCgoQGBESEw8MAwMMDxMSEbocFBAlHRoPAQEQGR0lEBQcCwgICxMRDAYFBQYMEREYIRkVDQEBDRUZIRgRAAACAAAAAAD3AMgANwBFAAA3NT4BPQE0JisBIgYdARQWFxUGByc2NTQuAQ4CHgEyNxcGFBcHJiMiBhQWMjY1NCc3HgE+AS4BByIuAjQ+AjMyFhQGyAUGCwcBBwsGBQ4LQAEHDAwJAgUKDARACQkTAgMHCQkOCgETDSAcDAYYFwYKBwUFBwoGCg8PhhcCCQUBBwsLBwEFCQIXAgkyAwIGCwQCCQwLBwMyDSANEwEKDgoKBwMCEwoBER0gFksECAkLCgcEDxYPAAAAAAQAAAAAAOwAugAPACQALQBOAAA3IgYdARQWOwEyNj0BNCYjBzMyFh0BJiMxIgYHJy4BIyIHNTQ2FyIGFBYyNjQmBzIWFxYfAR4BPwE2NzYyFxYfARUUBisBIiY9ATc2Nz4BZg8XFw9gDxcXD2BgBwwMDAgRBgcJEgsREQxdBAUFCAYGSwQMBgQEBAIMAwIDBAoMCgMDAgwHYAcMAwUEBgu6Fw9gDxcXD2APFxMMBzsLCwgOEBIZLAcMEwYIBQUIBiYNCwgLCAYBBQQFBAsLBAUCBwcMDAcIBwwHCw0AAAAABAAAAAAA7gC8AB0AKQA6AEsAADcUBiImNTQ2MhYUBwYHFRQGIiY9ATQ2MzI2NCYiBhciJjQ2OwEyFhQGIwcyPgI0LgIiDgIUHgI3DgEuAzQ+AjIeAwaGBAYEEhgSCQYIBAYEBAMHCQkOCQ8DBAQDAgMEBAMBDxsUDAwUGx4bFAwMFBtNDCAkIBgNDRggJCAYDQEOdAMEBAMMEhIZCAYCAwMEBAMJAwQJDgkJRQQGBAQGBBwMFBseGxQMDBQbHhsUDAwMDgENGCAkIBgODhggJCAAAAABAAAAAADVAMkAMQAANwcGDwEGHgE2PwEzBxQGKwEiJi8BMzI2NCYrASIGFRceATsBMjY/ATQmKwE/AT4BLgHHHQUBEgIEBwcBBQ8IBwMpAwYBBhIEBgYEFAgKBwERCykLEQEJCggLBxgEBAMHxwkCBDkEBwIDBAxpAwYGA2kGCAULB2sLEBALawcLFggBBwcEAAAAAwAAAAAA9gCeABcALQA2AAA3IgYUFjMyNjczFxY7ATI2PQE0JisBLgEHMhYXFjsBFSMnJisBIgcOASMiJjQ2FyIGFBYyNjQmcBghIRgPGggfBwIGHQQFBQRLBxsPCxMFAgZHDQcCBisGAgUTCxAWFhAEBgYIBgadITAhDw0NBgYEOQQGDQ8TDAsFJw4FBQsMFiAWHAYIBgYIBgAABAAAAAAA+gCRAAoADwA/AEQAADcOAR4BMj4BLgEiBxUzNSMXFSMGLgInJiMiDgEPATUjFTM3Njc2MzIeARcWMxY3NhUXMyc3PgE1IwcGDwE1IwcVMzUjUgICAgUDBQIBBQUiDw+NAQMGAgEBBA0GCg0GAg8OAgUIDAkDAgEBBA0REQUMERQDBAsQAwkMAw5wDw+PAQcEAwMEBwIsK1clJAIBAx4DDgUNCgQfPgQMDBMGGwMMARAFARIfBQUUAQURDQM/OB8+AAAEAAAAAAEUALUADwAdACsAMwAANzMyFh0BFAYrASImPQE0NhcyPgE0LgEiBx4BBgcWJyIOARQeATI3LgE2NyYXDgEWFz4BJibgBQgIBeAFCAigEyATEyAoERENDRERQRMgEhIgKBERDQ0RERYQDAwQEAwMtAwHgAUICAWGBQiWEx8mHxMMDisrDgyKEx8mHxMMDisrDgwTDCYmDAwmJgAAAgAAAAABQACpAAgAEQAANxc3JwcXIxUzLwEHFzcnMzUj5BdFRRceREShF0VFFx5ERDcXREQXHSA9F0REFx0gAAMAAAAAANkAxAAWABoAIwAANwcOAR0BJiMiBhQWMjY9ATc+AT0BNCYHFwc1BzIWFAYiJjQ2zjkEBQgLDxcXHxcxAwUHDQEmJwgLCw8MDMMJAQUEZAUWIBYWEFcIAQUEJgQGFhIHE2oLEAsLEAsAAAAEAAAAAAD2AJ4AFwAgACkANQAANyIGBycuASMiBhQWMzI2PwEeATMyNjQmBzIWFAYiJjQ2BzIWFAYiJjQ2MyIGFBY7ATI2NCYjvBUgAxYDDwkLERELCQ8DFgMgFRghIRgQFhYgFhZZBAYGCAUFZAQGBgQTBAUFBJ0bFQEICxEYEQsIARUbITAhExYgFhYgFhwGCAYGCAYGCAYGCAYAAAAABAAAAAAA9gCeABcAIAA9AEYAADciBgcjLgEjIgYUFjMyNjczHgEzMjY0JgcyFhQGIiY0NhciBh0BIyIGFBY7ARUUFjI2PQEzMjY0JisBNTQmBzIWFAYiJjQ2vBUgAxYDDwkLERELCQ8DFgMgFRghIRgQFhYgFhYQAwUDAwUFAwMFBgUDAwUFAwMFbAQGBggFBZ0bFAgLERgRCwgUGyEwIRMWIBYWIBYTBQMDBQYFAwMFBQMDBQYFAwMFCQYIBgYIBgAAAAYAAP/5APoAzwAWAB8AJwA3AD0ASwAANxUUFh8BFjI/AT4BPQE0LwEmIg8BBhU3MDEXBwYvATcHJj0BHwEVJzcUDwE1PwEVFBYyNj0BNxUnNh8BBycHJyYOARYfARYzMjYmJzIIBkkGDgZJBggEVAUOBVQENkkWBQVDGh8FRQREnwVEBB0FBwUXVgQERBpICREDBwQCBBECAgYEAgSaXggNAygDAygDDQheBQIrAwMrAgUNJgwCAiUNdAMGTyUCViUJBgMlVgIPFQQFBQQfDE+AAgIiDiVVCgECBgcCCQEIBwEAAAIAAAAAAPYAtgAdADwAADcmBw4BBwYVFBY7ARceAT8BFhcWMzI2NzY/ATYuAQcUFQcGBw4BIi8BJiIPASc3PgEuAQ8BIyImNDc+ATfnBgcUeAcQDgoZCQEIAxsWBAkLCA4EAgkJAgIICgEEBgcECgQkAwYDDgU7BAMDBwRBIAICBAd3E7QCAgYnAwcPCg4qBAMCDBUEBwkIBTI5DAsIEQEBCRwkJwoDIwMCDBkZAgcHAwEcAwUCAyYFAAAACwAAAAABFAC1AAgAEQAhADcATABgAHYAiwCYAKQArwAANyYiBhQWMjY0JyYiBhQWMjY0NyMiBh0BFBY7ATI2PQE0JgciKwEHIhUHFCsBJzU3NjsBMhYVFAY3BxQrASI9AQ4BIyImNDYyFzQ7AhcjIjQ3JzU7ATIVFzc2OwIVBxQ3MCsBByIVBxQrASc1NzQ7ATIWFRQGNwcGKwEiPQEOASMiJjQ2Mhc0OwI3BwYrASc1NzQ7ATIVByYrASIVBzMyNjU0JyYrASIVBzMyPgHhAgcFAwcFeQIGBgQHBZbWCAoKCNYICgrJAQECAwECAggBBgECEAcICi8FAgcBAgYDBggLDwMBCAEOCAEJCQEIAgULAQEIARswAgIDAQIBCQEHAhEGCAovBAECBwECBgMGBwoPAwEIAhIGAQIHAQcBCAFFAQEGAQIDBQV5AgQCAQIDBAUBaAEFBwMFBwIBBQcDBQdOCgd+BwoKB34HClIBAQwCAQErAgYGCQoOHAICAgIDCA4LBAMqAwsbAQEQEAEBKAEbAQEMAgEBKwIGBgkKDhwCAgICAwgOCwQDDisCAQErAgIJAQELAwUCAQEBCwIIAAIAAAAAAPsAygAOABoAADcwLwEHBh0BFBY7ATI/Ai8BJicmDwEXNzY00AEwawIDAi4BAmsjGgYCAggGGjQYBHEBL2sCAi0CAwJrNxkHAgEDBBo0GAQMAAAFAAAAAADXAKUACwASAB4AJQAyAAA3Mj4BLgIOARUUFjcyFgYmNDYXIg4BHgI+ATU0JgciJjYWFAY3JiIPAQYUFjI/ATY0dAcMBgMKDw0IDgoFBAcKBEgHDAYDCg8NCA4KBQQHCgQYAgcCcQMFBwJxA24IDg4LAgUMCAoOIAoHBAkENAgODgsCBQwICg4gCgcECQRoAwNxAgcFA3ECBwAAAwAAAAAA9QDDACIAKwAxAAA3Ig8BJyYiBhQfAQcGDwEGHwEWPwE2PwEXFjI2NC8BNzY0JgcyFhQPASc3NgcXDwEnN9AQCikCAwgGAwdAAQEKAgQKBAYcAwFBBwMIBgMDKQoUEAcKBSkYKQU3Dz8UAgfCCikDAwYIAwdBAQMcBgQKBAIKAQFBCAMGCAMCKQsfFBMJDwUpGSgFQA8/BwIUAAIAAAAAAOsAtwAcADwAADcvATQmBg8CIgYWHwEHBhcWPwEXFjc0NSc3NiYHNTMVMzUzFTM1MxUzNTQmKwE1NCYrASIGHQEjIgYdAbERBwMCAQcQAgIBAQwDAQMBAg4PAwIEDQIDWxwVHBUcFQkHIQkHJgcJIQcJogIQAQEBARACAgIBDBADAQEBCQkCAwECEAwCA5AeHkJCJiYsBwkLBwkJBxMKBiQAAAIAAAAAANkAxAAwADsAADciBh0BIyIGHQEUFjsBFRQGKwEiBhQWOwEyNj0BMzI2PQE0JisBNTQmIgYdASM1NCYHMjMVFAYrASImNXAEBgkEBhcPEwgGGAQFBQQYDhQTDxcGBAkGCAU6BQ4wMAwHOgcMwwUEHQUEMBAWGAYIBggFEw4YFhAwBAUdBAUFBB0dBAU5JggLCwgAAgAAAAAAyACvABsAKAAANzU0JiIGHQEjIgYUFjsBFRQWMjY3NTMyNjQmIxcUBisBIiY0NjsBMhajCAoHGQYHBwUaBwoHARkFBwcFDAcFSwYHBwVMBQeKGQUHBwUZCAoHGQYHBwYZBwoIZAYHBwsHBwAAAAADAAAAAADuALwADAAZADUAADciDgIeATI+ATQuAQciLgE0PgEyHgEUDgE3IzU0JiIGHQEjIgYUFjsBFRQWMjY9ATMyNjQmlhgoFwEYKDAoGBgoGBMhExMhJiETEyEQGwQIBBkEBQUEGQQIBBsDBQW8GCgwKBcXKDAoF54TISYhExMhJiETTBwEBQUEHAQHBRkEBQUEGQUHBAAAAAAHAAAAAADsALwAIgAnACsANAA9AEEARQAANzU2PQE0Jic2LgIiBgcuASIOAhcOAR0BFBcVFBY7ARY2JzMVIzU7ARUjNzIWFAYrATQ2IzIWFSMiJjQ2BzUzFTczFSPjCQsJAwIKDhMSBgYSEw4KAgMJCwkNCmwKDW8XNEo0NBcFBwcFFw47CQ4XBQcHDysWKysiMQcKFggMAQgQDQcHBwcHBw0QCAEMCBYKBzEJDAENYRYWFkIHCQYJDQ0JBgkHhCwsLCwAAgAAAAAA4gDIAA8AHwAAPwEnJjQ2Mh8BNycmIgYUFzcmIgYUHwEHJyYiBhQfATeXESwIEBgILBItDywfDy8ECgcDOCg4BAoHBElLPBIuCRgRCC8TLhAgLhAwBAgKBDoqOgQHCwRMTgACAAD/8wEFANUADAAjAAA3ND4BMh4BFA4BIi4BNyIOARQeATMyNxcWPgE0LwE+ATU0LgFBFiUsJRYWJSwlFlEdMRwcMR0jHB4DCwcEHQwNHTBqFiYWFiYsJRYWJYAcMTkxHRUeBAEHCgQdDiMTHTEcAAAAAAYAAP//APcAywAcACkAOgBTAGQAcgAANzEXMhcVDgMiLwI0NTc0NjMxFjY3Njc0NjMHMTMyFhUxFAYiJjQ2JzMyFh0BFAYrASImPQE0NjM3MjMXFBUHDgEjJgYHBgcUBiMvATU2Nz4BBzMyFh0BFAYrASImPQE0NjM3MTMyFhUxFAYiJjQ2M+YNAgECEBojJBECAQYDARUrEBUEAgKQAQQHBwkHBxlvAQICAW8BAwICfAEBAQUBAwETJxATBwIBEAEIGRQyGW8BAwICbwECAgFNAQQHBwoGBwRdAgEDESAZDQYBAgECDQEBCAgPEx0BAjEGBQUGBwkGLQICDgECAgEOAgJpAgEBDQIBBwcNEBkBAgQCAiAVEAlAAgEOAgICAQ4CAioGBQUGBgoGAAwAAAAAAO4AvAAFABYAHwAoADEARwBQAFkAagBzAHwAhQAANwYHFzcvATMyNj0BNCYrASIGHQEUFjM3MhYUBiImNDYjMhYUBiImNDYjMhYUBiImNDYHMz4BMhYXNzY9ATQmKwEiBgcVHgEzNzIWFAYiJjQ2IzIWFAYiJjQ2FzQ3IyIGHQEUFjsBMjcuATUHIiY0NjIWFAYzIiY0NjIWFAY3IgYUFjI2NCbbBAUTCROKfwgLCwh/BwsLB3gDBAQFBARWAwMDBgMDFgIEBAUEBARCBRQYEwUBBgsIfwcLAQELByADAwMGAwMWAgQEBQQEOgE/BwsLB1kDAw4TNwMEBAUEBBcDAwMGAwNFDBERGBERKAUEEggTZQsICQcLCwcJCAseBAUEBAUEBAUEBAUEBAUEBAUEWQsOCwkBBQgJBwwMBwkICx0DBgMDBgMDBgMDBgMuAwELCAgICwEDFw8ZAwYDAwYDAwYDAwYDNhEYEREYEQAAAAMAAAAAAO4AtQAPAB8ALAAANzU0JisBIgYdAR4BOwEyNic1NDY7ATIWHQEUBisBIiYXMjYnNTQmIgYdARQWwBMNQQ4TARIOQQ0TbAYFQQQGBgRBBQaPBAcBBgkGBjNiDRMTDWINExMNYgQGBgRiBAYGEQYFdgUGBgV2BQYAAAAABAAAAAAA9gCxABQAKQA8AEkAADciBgcGFBYyNz4BMhYXFjI2NCcuAQciBgcGHgEyNz4BMhYXHgE+AScuAQciBgcGFBYyNzYyFx4BNjQnLgEHIg8BBhY7ATI2LwEmlhswEgIGCAIPKS4pDwIIBgISMBsSIgwDAQYHAwkbHRkKAwcGAQMMIRMKEwcCBggDCBoIAwgGAgcSCwQCFAQEByYGBQQTA7AWEwMIBQMREhIRAwUIAxQVJg8OAwgFAwsMDAoDAQYIAw0PJgkHAwgFAwoKAgEFCAMICCYDEwQMDAQTAwAEAAAAAADjAMQAGQAkADIAVwAANyIOARUUFh8BFhcHBhQWMj8BNjQmIg8BLgEHMhYXBycuATU0NhciBhUUFjI2NDYyNjQmFwYPAg4BFSMiBhQWOwEUBiInLgEOARcWMzI2PQE0Nj8BNi4BlhIfEggJAwUBIAMFCAOFAwUIAwYJHRAMFgZDCQYGHBQMEQYIBQYIBgYrBAIFBAcGCQQGBgQJCxIFAggGAQILExAWBAUKAgEHwxIeEg4TCwMGAyEDCAUDhQMIBQMGDQ8TDApDCwgNChMcExELBAYGCAUGCAUwAQMHBAgOCgYIBQgLBwMBBQcEDhYQEwYIBgwECAQAAAAAAgAAAAAA7AC6ACMASAAANyIHBg8BDgEVFBYzMjMPAQYWOwEyNi8BMjMyNjU0Ji8BJicmBxYfAR4BFRQGIyIvAS4BBhUUFyM2NTQmBg8BBiMiJjU0Nj8BNpYFAwkQFhAPHBQEAwIEAwYFOgUGAwYDBBQcDxAWEAkDBQkNFQ0LEQwFBAICCQYFHgUGCQICBAUMEQsNFQy6BAwNEA0XDxMcBAsFCQkFDxwTDxcNEA0MBBkJChAKEAoLEQMCBAEGBA0QEA0EBgEEAgMRCwoQChAJAAUAAAAAAPYAsQAhAC4APABDAE8AADciByMGBwYHBgcjIgYUFjMVFBYyNj0BHgEXMxYyNj0BNCYHMhYdARQGIiY9ATQ2BxQdAScmJyYjNTI3NjcHMxUiJjQ2FzIzMRYXFRQGIiY12Q0LAQkJExgIBhkPFhYQERcRDRQJAQwXERAMBAUFCAYGGQYWGgwKCgwaFloBCAsLGwEEBggGCAWwCwcECgQBARYgFgoLERELBAQKBwsQC2ILEBMFA2IDBQUDYgMFEQwcKAMMBAImAgQMEiYLEAs5AQEIBAUFBAAEAAAAAADvALAAEAAhADEANQAANycHBiIvAQcGFB8BFj8BNjQvAQcGIi8BBwYUHwEWPwEyNCcXFjI/ATY0LwEmIg8BBhQ3Fwcn7BsyBQkEMhsCAlIEBFICAhsyBAoEMhsCAlIEBFICrlIBBgFSAgJSAQYBUgJYNzc3PwkSAgISCQEFAR4CAh4BBSkKEgICEgoBBQEdAgIeBSMeAQEeAQUBHgEBHgEFFxQVFQAABAAAAAAA4wDFAA0AEQAiADMAADcHBhQfARY/ATY0LwEmFRcHJwcOARYfARY/AT4BLgEPAScmBw4BFh8BFj8BPgEuAQ8BJyaRQgUFQgUFQgUFQgUvLy8WBAQCBEIFBUIEAgQIAz4+AwQEBAIEQgUFQgQCBAgDPj4DwiYDCwMmAwMmAwsDJgMWGxsbJwEHBwImAwMmAgcHAgIjIwIwAQcIAiYDAyYCCAcCAiQkAgAAAAABAAD//wDcAMkAJwAANzQzMhc1JiMiBhUUFxYXHgEXFhUUIyImJxUWMzI2NTQnJicmJyYnJogSHRoaHSEpCQcOCCAFCRUOIA4cICIrCgcOCREOBQiNCw40CiEdEQwKBwQMAwUHDgoINA0hHRMNCggEBgUDBAAAAAABAAAAAAD5AMcAIwAANyIdARQ7ATI/ATQ7ATIdARQ7ATI9ATQ7ATIfARQ7ATI9ATQjNgMDHQEBBAImAwIgAgMmAQEEAh0DA8YCLAMCCgIDnAICmwMCCgECLQIAAAEAAP/+AO0AyQAUAAA3Ig8BBhY7AQcGFj8BNiYrATc2JiOEBAI9AgQDLhUBCAOBAwMEOyMBAwTIA2UDBlAEBAN9Awc2AwYAAAEAAAAAAOMAxABWAAA3IgYVFBYXBhQWOwEVBhUUFjsBFBYXFhczMjY0JisBJicmNTMyNjQmKwEiJjQ2OwEyNjQmKwEiJjQ2OwEyNjQmKwEiJjQ2OwEyFhQGIyIGFBYzMjY0JiNwEBYIBwYRDAEBEQsKEA8HCwgEBgYEBgcIERMEBgYEMAMGBgMdBAYGBDkEBgYEJgQGBgQmCAsLCEwICwsIBAUFBBAWFhDDFhAJEAUHFhEDBAMLEQ0RBAMBBQgGAQIFCwUIBgUIBgUIBgYHBgYIBQsQCwsQCwUIBhYgFgAABQAAAAAA9gCxAB0ANAA/AEgAUQAANyIGHQEUFhceATI2NzMeATI2Nz4BPQE0LgEjNCYjBzI7ATIWHQEOAQcjLgEjIgcuAT0BNDYXMhYdARQGBy4BJwcyFhQGIiY0NjMyFhQGIiY0Nl0QFgoJAhATDwMgAw8SDwMOEA0WDBcPQwECQAcMBgoCIAMQCA8IAgMLcQoSBQYCCgVgBAYGCAUGWQQGBggFBbAWEDkLEQUKDgoJCQoKCQIUEAkMFg4QFhMLCDsCCQYJCg0CBwQ5CAsmEgsJCQgBBQoBEQYIBQUIBgYIBQUJBQAAAAMAAAAAAO0AvAAVAB0AIQAANycmIgYUHwEHBhQWNj8BFzEWMjY0JwcGIiY0PwEXNyc3F+lABAkGAwNQDBgiDFEDAwkGA3IGEAsFJxwPHBsbd0EDBgkDA1IMIxkBDFIEAwcJA04GCxEGJxwPHBscAAADAAAAAADjAMUAFwAdADMAADcGDwEGFRQWFwcGFBYyPwE2NCYiDwEnJhUXBy4BNRciBhUOAQcuAQ4BFhcWFxY3PgE3NCaSBS0QBgcLDwMFCAOFAwUIAwI2BCtXBwZ7BAYDGhsICAgFAQMKCgUFISEEBcICEwcDBigrEw8DCAUDhQMIBQMCFwIUE1cNJh4eBQQdKREFBwEGCAMHBgMDEzIjBAYAAAMAAP//APsAyQAkAD4AWgAANzQmKwEiJj0BNDY7ATIWHQEUFjI2PQE0JisBIgYdARQWOwEyNjc0PgEzFx4BFQcXFhQPAQYiLwEHJy4BJyYvATc2NCYiDwEnJiIGFB8BBwYUFjI/ARcWMjY0J5YHBD0CBAMDbwIDBwkHEQtvDBAQDD0EBxYBBQUwAwUOFgMDAQMKAxYOAgIFAgIFGxQDBgkEFBQDCQcEFBQEBwkDFBEDCQcDLAUHAQNwAwMDAz0EBwcEPQwQEAxwCxAHGwEFBQwBBQQOFgMKAwEDAxYOAQEEBQgTRBQDCQcEFBQEBwkDFBQECQYDFBEDBwkDAAIAAAAAAPYAxAAhADUAADciDgEUHgEyPgE3NC4BBhUOASMiLgE0PgEzMhcWPgEmJyYXIg8BBi8BLgEOAR8BHgE/ATY0JpYaLBkZLDIpGwMFCAYEKx0VIxQUIxUNDQMHAwQDD0UEA1MEAwoCCAYCAgoGFghTAwXDGSw0LBkWJhgEBgEFBB0mFCMqIxQEAgQHCAEFEwNRBAUOAwEECAMOCQIIUQMIBQAAAAUAAAAAAPYAugAgACkAMgBCAEUAADciBhQXBh0BFBY7ATI2NxcWNj0BNCYPAS4BJzY0JiIHJgcyFhQGIiY0NjMyFhQGIiY0NgczMhYdARQGKwEiJj0BNDYXFSddEBYNDRYQQw4WAh8EDAwEHwEKCAkWIQwLEQgLCxALC0EICwsQCwsxQwcMDAdDCAsLjRi6FyELCxEnDxcUDyAEBQZfBwQEIAkQBAoeFw4OEwsQCwsQCwsQCwsQCzoLCCYICwsIJggLDTEZAAAABgAAAAABFAC1AAIAEgA4AEkATQBXAAA3JwcnMzIWHQEUBisBIiY9ATQ2FxQXFh8BFhQGIyInMQcXFjMyNjU0JyYvASY0NjMyFzE3JyYjIgYnMh8BHgEfATM3IwcnNCYrARczNyMXBzM3MxczJyMi6wUJt+AFCAgF4AUICHkFAggGAgUFCgcDBQcHDRAFAwcGAwYFBwcDBQYGDBBuAgIIBQMBDhIcExEIBQMdShEOEVgZEgMWAhAODgZaGRlaCAWGBQgIBYYFCEQGBQMEAwMFAwQPAgEMCgcFAwQEAgQEBA4CAQwJAQICAwQ0Qi0mBANCQgY8CgpCAAAEAAAAAAD2ALEAFAAcACkAMgAANyIGHQEUFjsBMjY9ATQmKwE1NCYjBzMVIyImNDYXMxUUBisBIiY9ARcWFyIGFBYyNjQmUwsREg2ADRIFBAoFBIZ8fAQFBQSPBwWABQcCBHYEBgYIBQWwEQtdDRISDUoEBR0EBRMTBggFJkAFBwcFQgEBHQUIBgYIBQAAAAADAAAAAADnAMQAJwA3AEkAADciBh0BDgEdARQWFxUUFjsBMjY9AT4BPQEyNj0BNCYjNTQmJzU0JiMHMzIWHQEUBisBIiY9ATQ2FyIGHQEjIgYUFjsBMjY9ATQmdQgLDRAQDQsIOQgLDBAEBgYEEAwLCENMCAsLCEwICwsuBAUTBAYGBBwEBgbDCwgBAxUNTA0VAwEICwsIAQMVDQkGBCYEBgkNFQMBCAsmCwhMCAsLCEwICxMFBBMGCAYGBB0EBQAFAAAAAADjAL8AEAAdACYALwBAAAA3IgcOAR4BNzYyFxY+ASYnJgciDgEUHgEyPgE0LgEzIgYUFjI2NCYHMhYUBiImNDYXIgYdARQfARYyNjQvATU0JpYKCwQEAgcECQ8JAwcCBAQLChUjFBQjKiMUFCMuBAYGCAUFRxghITAhIRgEBgMTAwgGAxAGvgMBBggEAQICAQQIBgEDHBUjKSMUFCMpIxUGCAUFCAYTIi8hIS8iEwYEHAQDEwMGCAMQGAQGAAAAAwAAAAAA2QDEABEAHgAtAAA3JgcOARUUHgEyPgE0LwEmJyYHFh8BFhUUBiImNTQ2FwYHBhcUFj4BNSY3Ni4BlwUDIxkSHyQfEgoWDwsCCgoNFAgcKBwUDwQCCwIGCAUCCQICCMMBBCk0HBIeEhIeJRAeFx4FGxcTHQsOExwcExcpEAIDFhYEBQEGBBARAwgEAAAAAAMAAAAAAPYAowAwAGEAkgAANw4BFBcWMzI3NjMyFxYyNzYzMhYXFjI2NzY0JiIPAQYiJyYjIg4CJyYGBwYiLwEmBw4BFBcWMzI3NjMyFxYyNzYzMhYXFjI2NzY0JiIPAQYiJyYjIg4BIicmBgcGIi8BJgcOARQXFjMyNzYzMhcWMjc2MzIWFxYyNjc2NC4BDwEGIicmIyIOASInJgYHBiIvASY/BAQDDBAMCQUFCAMKGQgECAMEBAoTDQcCBgcDAwQNBQoNBAsJDQQKGQkEDAQGBAMEBAQLEAwJBQUIAwoZCAQIAwQEChMNBwIGBwMDBA0FCg0ECwkNBAoZCQQMBAYDBAQEBAsQDAkFBQgDChkIBAgDBAQKEw0HAgYHAwMEDQUKDQQLCQ0EChkJBAwEBgSiAQYHAwwHAwMHBwMCAgYGBwMHBgMDBAMHAwYBBAYBBgMDBAMwAQUIAwsGAwIHBgMBAwUGBgMIBQIDBAMGAwYDBwEHAgMEAzABBgcECwYEAwcGBAICBgYHAggFAQMDBAMHAwcDBwEGAwMEAwADAAAAAAD7AMAAIgBMAHUAADcOAScuAT4BMxUOAQcGHgE2NzY3NTM3PgEeAg4BIiYnIwY3Mh4CDgMuASc3HgI+Ay4DDwEnIyInLgE0Njc2HgEGBxc2JyY0PgIyHgIGByc2NC4DDgIUFxYfAQcXFg4CLgI+ARc3JoULJRAMCQgXDwcMBAgFFRkIBAE4AQMKDAgDBAkLCwMoA0MKEQwGAwkQExQSBQwEDA0MCgYBAwgKDggIGgIIBQMCAwMFEAsBBBMKVQQHDRESEQwIAQUMAwUIDAwMCQQDBAoEHwECAQgLCgcBBQsGGAgdEAcLCRwcEw4BBwYKGg8FCwcHCwEFBAEICwsHBgcLPwgPEhMRCwQDDAkHBggCBAcLDAwJBgIDBDAGAwcHBwMFAQsOBSQEGggSEQ0HBwwTFQoHBg8MCgUBBQoMDAYKBQIyAgUMCAMDCQsKBgEmBgAAAAMAAAAAAOwAugAXADIASgAANyIHDgEeATYyFhQGKwEiBhQWOwEyNjQmFyIGBwYeATY1PgEyFhQGKwEiBhQWOwEyNjQmByIGFBY7ATIWFAYiJg4BFhcWMzI2NCYjcAgGBAIECAUHBQUEJgQGBgQmDBAQRRAYAgEECAcCDRMODgp3BAYGBHcSGRmJBAYGBF8EBgYHBQgEAgQGCAwREQy6BAIIBgMEBggFBggFEBgRChQQBAcBBQQJCw4UDQYIBhojGWkFCAYFCAYEAwYIAgQRGBAAAAAAAAAQAMYAAQAAAAAAAQAFAAAAAQAAAAAAAgAHAAUAAQAAAAAAAwAFAAwAAQAAAAAABAAFABEAAQAAAAAABQALABYAAQAAAAAABgAFACEAAQAAAAAACgArACYAAQAAAAAACwATAFEAAwABBAkAAQAKAGQAAwABBAkAAgAOAG4AAwABBAkAAwAKAHwAAwABBAkABAAKAIYAAwABBAkABQAWAJAAAwABBAkABgAKAKYAAwABBAkACgBWALAAAwABBAkACwAmAQZpY29uc1JlZ3VsYXJpY29uc2ljb25zVmVyc2lvbiAxLjBpY29uc0dlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAGkAYwBvAG4AcwBSAGUAZwB1AGwAYQByAGkAYwBvAG4AcwBpAGMAbwBuAHMAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AcwBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAACAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHYBAgEDAQQBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMBFAEVARYBFwEYARkBGgEbARwBHQEeAR8BIAEhASIBIwEkASUBJgEnASgBKQEqASsBLAEtAS4BLwEwATEBMgEzATQBNQE2ATcBOAE5AToBOwE8AT0BPgE/AUABQQFCAUMBRAFFAUYBRwFIAUkBSgFLAUwBTQFOAU8BUAFRAVIBUwFUAVUBVgFXAVgBWQFaAVsBXAFdAV4BXwFgAWEBYgFjAWQBZQFmAWcBaAFpAWoBawFsAW0BbgFvAXABcQFyAXMBdAF1AXYBdwAFYWxhcm0JYW1hem9ucGF5BGFtZXgIYXBwbGVwYXkPYXJyb3ctYW5hbHl0aWNzDGFycm93LWN1cnZlZAphcnJvdy1kb3duCmFycm93LWxlZnQLYXJyb3ctcmlnaHQIYXJyb3ctdXAMYXJyb3ctdXB3YXJkCWJhY2tzcGFjZQRiYW5rBGJlbGwFYm9hcmQIYm9va21hcmsKYm9vbGVhbi1vbgdib29sZWFuBGJ1bGIGYnVyZ2VyB2Nhc2hhcHANY2hlY2stcm91bmRlZAVjaGVjawxjaGV2cm9uLWRvd24MY2hldnJvbi1sZWZ0DWNoZXZyb24tcmlnaHQKY2hldnJvbi11cARjaGlwBWNoaXBzBWNsZXJrFGNsb3NlLXJvdW5kZWQtZmlsbGVkBWNsb3NlCGNsb3VkLXVwBGNsdWIDY21kBGNvZGUGY29mZmVlA2NvZw5jb2xsYXBzZS1lbXB0eQhjb2xsYXBzZQdjb21wYXNzCmNvbm5lY3Rpb24EY29weQZjcmVkaXQHY3lsbmRlcgdkaWFtb25kDmRvbGxhci1yb3VuZGVkD2RvdHMtaG9yaXpvbnRhbA1kb3RzLXZlcnRpY2FsDGVudGl0bGVtZW50cwllcXVhbGl6ZXIaZXhjbGFtYXRpb24tcm91bmRlZC1maWxsZWQDZXllBmZpbHRlcgVmbGFzawxmb2xkZXItbWludXMLZm9sZGVyLXBsdXMGZm9sZGVyD2dlbmVyaWMtcGF5bWVudAZnaXRodWIHZ2xhc3NlcwVnbG9iZQZnb29nbGUGaGFtbWVyBGhhc2gFaGVhcnQHaHVic3BvdAVpbWFnZQxpbmZvLXJvdW5kZWQFanVpY2UDa2V5BGxpbmsKbWFzdGVyY2FyZARtb3ZlBW11c2ljCm5vZGUtbWludXMJbm9kZS1wbHVzB3BhY2thZ2ULcGFwZXItcGxhbmUGcGF5cGFsBnBlbmNpbAdwZXJjZW50BnBpY2tlcgRwbGFuBHBsdWcKcGx1cy1taW51cxRwbHVzLXJvdW5kZWQtb3V0bGluZQdwcmVzZW50CXNjaGVtYXRpYwZzZWFyY2gHc2VnbWVudA1zZXJ2ZXItc2VhcmNoB3NpZGViYXIGc2lnbmFsB3NpbGVuY2UFc3BhZGUHc3BlYWtlcgdzdGFja2VkBnN0YWNrcwZzdHJpcGUEdGV4dAd0aHVuZGVyB3Rvcm5hZG8FdHJ1Y2sEdHViZQt1bnByb3RlY3RlZAt1bnN1YnNjcmliZQh2ZXJpZmllZAx2aWRlby1jYW1lcmEEdmlzYQZ3YWxsZXQKd2F0Y2gtaGFuZAx3YXRjaC1wb2NrZXQKd2F0ZXItZHJvcAV3YXZlcwd3ZWJob29rBHdpbmQAAAAA), format("truetype");
|
|
12037
12037
|
}
|
|
12038
12038
|
|
|
12039
12039
|
i[class^="i-"]:before,
|
|
@@ -12281,221 +12281,237 @@ i[class*=" i-"]:before {
|
|
|
12281
12281
|
content: "\\f13b";
|
|
12282
12282
|
}
|
|
12283
12283
|
|
|
12284
|
-
.i-
|
|
12284
|
+
.i-github::before {
|
|
12285
12285
|
content: "\\f13c";
|
|
12286
12286
|
}
|
|
12287
12287
|
|
|
12288
|
-
.i-
|
|
12288
|
+
.i-glasses::before {
|
|
12289
12289
|
content: "\\f13d";
|
|
12290
12290
|
}
|
|
12291
12291
|
|
|
12292
|
-
.i-
|
|
12292
|
+
.i-globe::before {
|
|
12293
12293
|
content: "\\f13e";
|
|
12294
12294
|
}
|
|
12295
12295
|
|
|
12296
|
-
.i-
|
|
12296
|
+
.i-google::before {
|
|
12297
12297
|
content: "\\f13f";
|
|
12298
12298
|
}
|
|
12299
12299
|
|
|
12300
|
-
.i-
|
|
12300
|
+
.i-hammer::before {
|
|
12301
12301
|
content: "\\f140";
|
|
12302
12302
|
}
|
|
12303
12303
|
|
|
12304
|
-
.i-
|
|
12304
|
+
.i-hash::before {
|
|
12305
12305
|
content: "\\f141";
|
|
12306
12306
|
}
|
|
12307
12307
|
|
|
12308
|
-
.i-
|
|
12308
|
+
.i-heart::before {
|
|
12309
12309
|
content: "\\f142";
|
|
12310
12310
|
}
|
|
12311
12311
|
|
|
12312
|
-
.i-
|
|
12312
|
+
.i-hubspot::before {
|
|
12313
12313
|
content: "\\f143";
|
|
12314
12314
|
}
|
|
12315
12315
|
|
|
12316
|
-
.i-
|
|
12316
|
+
.i-image::before {
|
|
12317
12317
|
content: "\\f144";
|
|
12318
12318
|
}
|
|
12319
12319
|
|
|
12320
|
-
.i-
|
|
12320
|
+
.i-info-rounded::before {
|
|
12321
12321
|
content: "\\f145";
|
|
12322
12322
|
}
|
|
12323
12323
|
|
|
12324
|
-
.i-
|
|
12324
|
+
.i-juice::before {
|
|
12325
12325
|
content: "\\f146";
|
|
12326
12326
|
}
|
|
12327
12327
|
|
|
12328
|
-
.i-
|
|
12328
|
+
.i-key::before {
|
|
12329
12329
|
content: "\\f147";
|
|
12330
12330
|
}
|
|
12331
12331
|
|
|
12332
|
-
.i-
|
|
12332
|
+
.i-link::before {
|
|
12333
12333
|
content: "\\f148";
|
|
12334
12334
|
}
|
|
12335
12335
|
|
|
12336
|
-
.i-
|
|
12336
|
+
.i-mastercard::before {
|
|
12337
12337
|
content: "\\f149";
|
|
12338
12338
|
}
|
|
12339
12339
|
|
|
12340
|
-
.i-
|
|
12340
|
+
.i-move::before {
|
|
12341
12341
|
content: "\\f14a";
|
|
12342
12342
|
}
|
|
12343
12343
|
|
|
12344
|
-
.i-
|
|
12344
|
+
.i-music::before {
|
|
12345
12345
|
content: "\\f14b";
|
|
12346
12346
|
}
|
|
12347
12347
|
|
|
12348
|
-
.i-
|
|
12348
|
+
.i-node-minus::before {
|
|
12349
12349
|
content: "\\f14c";
|
|
12350
12350
|
}
|
|
12351
12351
|
|
|
12352
|
-
.i-
|
|
12352
|
+
.i-node-plus::before {
|
|
12353
12353
|
content: "\\f14d";
|
|
12354
12354
|
}
|
|
12355
12355
|
|
|
12356
|
-
.i-
|
|
12356
|
+
.i-package::before {
|
|
12357
12357
|
content: "\\f14e";
|
|
12358
12358
|
}
|
|
12359
12359
|
|
|
12360
|
-
.i-
|
|
12360
|
+
.i-paper-plane::before {
|
|
12361
12361
|
content: "\\f14f";
|
|
12362
12362
|
}
|
|
12363
12363
|
|
|
12364
|
-
.i-
|
|
12364
|
+
.i-paypal::before {
|
|
12365
12365
|
content: "\\f150";
|
|
12366
12366
|
}
|
|
12367
12367
|
|
|
12368
|
-
.i-
|
|
12368
|
+
.i-pencil::before {
|
|
12369
12369
|
content: "\\f151";
|
|
12370
12370
|
}
|
|
12371
12371
|
|
|
12372
|
-
.i-
|
|
12372
|
+
.i-percent::before {
|
|
12373
12373
|
content: "\\f152";
|
|
12374
12374
|
}
|
|
12375
12375
|
|
|
12376
|
-
.i-
|
|
12376
|
+
.i-picker::before {
|
|
12377
12377
|
content: "\\f153";
|
|
12378
12378
|
}
|
|
12379
12379
|
|
|
12380
|
-
.i-
|
|
12380
|
+
.i-plan::before {
|
|
12381
12381
|
content: "\\f154";
|
|
12382
12382
|
}
|
|
12383
12383
|
|
|
12384
|
-
.i-
|
|
12384
|
+
.i-plug::before {
|
|
12385
12385
|
content: "\\f155";
|
|
12386
12386
|
}
|
|
12387
12387
|
|
|
12388
|
-
.i-
|
|
12388
|
+
.i-plus-minus::before {
|
|
12389
12389
|
content: "\\f156";
|
|
12390
12390
|
}
|
|
12391
12391
|
|
|
12392
|
-
.i-
|
|
12392
|
+
.i-plus-rounded-outline::before {
|
|
12393
12393
|
content: "\\f157";
|
|
12394
12394
|
}
|
|
12395
12395
|
|
|
12396
|
-
.i-
|
|
12396
|
+
.i-present::before {
|
|
12397
12397
|
content: "\\f158";
|
|
12398
12398
|
}
|
|
12399
12399
|
|
|
12400
|
-
.i-
|
|
12400
|
+
.i-schematic::before {
|
|
12401
12401
|
content: "\\f159";
|
|
12402
12402
|
}
|
|
12403
12403
|
|
|
12404
|
-
.i-
|
|
12404
|
+
.i-search::before {
|
|
12405
12405
|
content: "\\f15a";
|
|
12406
12406
|
}
|
|
12407
12407
|
|
|
12408
|
-
.i-
|
|
12408
|
+
.i-segment::before {
|
|
12409
12409
|
content: "\\f15b";
|
|
12410
12410
|
}
|
|
12411
12411
|
|
|
12412
|
-
.i-
|
|
12412
|
+
.i-server-search::before {
|
|
12413
12413
|
content: "\\f15c";
|
|
12414
12414
|
}
|
|
12415
12415
|
|
|
12416
|
-
.i-
|
|
12416
|
+
.i-sidebar::before {
|
|
12417
12417
|
content: "\\f15d";
|
|
12418
12418
|
}
|
|
12419
12419
|
|
|
12420
|
-
.i-
|
|
12420
|
+
.i-signal::before {
|
|
12421
12421
|
content: "\\f15e";
|
|
12422
12422
|
}
|
|
12423
12423
|
|
|
12424
|
-
.i-
|
|
12424
|
+
.i-silence::before {
|
|
12425
12425
|
content: "\\f15f";
|
|
12426
12426
|
}
|
|
12427
12427
|
|
|
12428
|
-
.i-
|
|
12428
|
+
.i-spade::before {
|
|
12429
12429
|
content: "\\f160";
|
|
12430
12430
|
}
|
|
12431
12431
|
|
|
12432
|
-
.i-
|
|
12432
|
+
.i-speaker::before {
|
|
12433
12433
|
content: "\\f161";
|
|
12434
12434
|
}
|
|
12435
12435
|
|
|
12436
|
-
.i-
|
|
12436
|
+
.i-stacked::before {
|
|
12437
12437
|
content: "\\f162";
|
|
12438
12438
|
}
|
|
12439
12439
|
|
|
12440
|
-
.i-
|
|
12440
|
+
.i-stacks::before {
|
|
12441
12441
|
content: "\\f163";
|
|
12442
12442
|
}
|
|
12443
12443
|
|
|
12444
|
-
.i-
|
|
12444
|
+
.i-stripe::before {
|
|
12445
12445
|
content: "\\f164";
|
|
12446
12446
|
}
|
|
12447
12447
|
|
|
12448
|
-
.i-
|
|
12448
|
+
.i-text::before {
|
|
12449
12449
|
content: "\\f165";
|
|
12450
12450
|
}
|
|
12451
12451
|
|
|
12452
|
-
.i-
|
|
12452
|
+
.i-thunder::before {
|
|
12453
12453
|
content: "\\f166";
|
|
12454
12454
|
}
|
|
12455
12455
|
|
|
12456
|
-
.i-
|
|
12456
|
+
.i-tornado::before {
|
|
12457
12457
|
content: "\\f167";
|
|
12458
12458
|
}
|
|
12459
12459
|
|
|
12460
|
-
.i-
|
|
12460
|
+
.i-truck::before {
|
|
12461
12461
|
content: "\\f168";
|
|
12462
12462
|
}
|
|
12463
12463
|
|
|
12464
|
-
.i-
|
|
12464
|
+
.i-tube::before {
|
|
12465
12465
|
content: "\\f169";
|
|
12466
12466
|
}
|
|
12467
12467
|
|
|
12468
|
-
.i-
|
|
12468
|
+
.i-unprotected::before {
|
|
12469
12469
|
content: "\\f16a";
|
|
12470
12470
|
}
|
|
12471
12471
|
|
|
12472
|
-
.i-
|
|
12472
|
+
.i-unsubscribe::before {
|
|
12473
12473
|
content: "\\f16b";
|
|
12474
12474
|
}
|
|
12475
12475
|
|
|
12476
|
-
.i-
|
|
12476
|
+
.i-verified::before {
|
|
12477
12477
|
content: "\\f16c";
|
|
12478
12478
|
}
|
|
12479
12479
|
|
|
12480
|
-
.i-
|
|
12480
|
+
.i-video-camera::before {
|
|
12481
12481
|
content: "\\f16d";
|
|
12482
12482
|
}
|
|
12483
12483
|
|
|
12484
|
-
.i-
|
|
12484
|
+
.i-visa::before {
|
|
12485
12485
|
content: "\\f16e";
|
|
12486
12486
|
}
|
|
12487
12487
|
|
|
12488
|
-
.i-
|
|
12488
|
+
.i-wallet::before {
|
|
12489
12489
|
content: "\\f16f";
|
|
12490
12490
|
}
|
|
12491
12491
|
|
|
12492
|
-
.i-
|
|
12492
|
+
.i-watch-hand::before {
|
|
12493
12493
|
content: "\\f170";
|
|
12494
12494
|
}
|
|
12495
12495
|
|
|
12496
|
-
.i-
|
|
12496
|
+
.i-watch-pocket::before {
|
|
12497
12497
|
content: "\\f171";
|
|
12498
12498
|
}
|
|
12499
|
+
|
|
12500
|
+
.i-water-drop::before {
|
|
12501
|
+
content: "\\f172";
|
|
12502
|
+
}
|
|
12503
|
+
|
|
12504
|
+
.i-waves::before {
|
|
12505
|
+
content: "\\f173";
|
|
12506
|
+
}
|
|
12507
|
+
|
|
12508
|
+
.i-webhook::before {
|
|
12509
|
+
content: "\\f174";
|
|
12510
|
+
}
|
|
12511
|
+
|
|
12512
|
+
.i-wind::before {
|
|
12513
|
+
content: "\\f175";
|
|
12514
|
+
}
|
|
12499
12515
|
`;
|
|
12500
12516
|
|
|
12501
12517
|
// src/context/embed.tsx
|
|
@@ -12615,13 +12631,15 @@ var EmbedContext = createContext2({
|
|
|
12615
12631
|
isPending: false,
|
|
12616
12632
|
hydrate: async () => {
|
|
12617
12633
|
},
|
|
12618
|
-
|
|
12634
|
+
setIsPending: () => {
|
|
12619
12635
|
},
|
|
12620
|
-
|
|
12636
|
+
setData: () => {
|
|
12621
12637
|
},
|
|
12622
12638
|
setLayout: () => {
|
|
12623
12639
|
},
|
|
12624
12640
|
setSelected: () => {
|
|
12641
|
+
},
|
|
12642
|
+
updateSettings: () => {
|
|
12625
12643
|
}
|
|
12626
12644
|
});
|
|
12627
12645
|
var EmbedProvider = ({
|
|
@@ -12652,11 +12670,13 @@ var EmbedProvider = ({
|
|
|
12652
12670
|
},
|
|
12653
12671
|
setData: () => {
|
|
12654
12672
|
},
|
|
12655
|
-
|
|
12673
|
+
setIsPending: () => {
|
|
12656
12674
|
},
|
|
12657
12675
|
setLayout: () => {
|
|
12658
12676
|
},
|
|
12659
12677
|
setSelected: () => {
|
|
12678
|
+
},
|
|
12679
|
+
updateSettings: () => {
|
|
12660
12680
|
}
|
|
12661
12681
|
};
|
|
12662
12682
|
});
|
|
@@ -12696,45 +12716,39 @@ var EmbedProvider = ({
|
|
|
12696
12716
|
}));
|
|
12697
12717
|
}
|
|
12698
12718
|
}, [id, state.api]);
|
|
12699
|
-
const
|
|
12700
|
-
(
|
|
12701
|
-
|
|
12702
|
-
|
|
12703
|
-
|
|
12704
|
-
|
|
12705
|
-
|
|
12706
|
-
|
|
12707
|
-
|
|
12708
|
-
|
|
12709
|
-
|
|
12710
|
-
|
|
12711
|
-
|
|
12712
|
-
|
|
12713
|
-
|
|
12714
|
-
|
|
12715
|
-
|
|
12716
|
-
|
|
12717
|
-
|
|
12718
|
-
|
|
12719
|
-
|
|
12720
|
-
|
|
12721
|
-
|
|
12722
|
-
|
|
12723
|
-
|
|
12724
|
-
|
|
12725
|
-
})
|
|
12726
|
-
|
|
12727
|
-
[setState]
|
|
12728
|
-
);
|
|
12729
|
-
const setSelected = useCallback3(
|
|
12730
|
-
(selected) => {
|
|
12731
|
-
setState((prev2) => ({
|
|
12719
|
+
const setIsPending = (bool) => {
|
|
12720
|
+
setState((prev2) => ({
|
|
12721
|
+
...prev2,
|
|
12722
|
+
isPending: bool
|
|
12723
|
+
}));
|
|
12724
|
+
};
|
|
12725
|
+
const setData = (data) => {
|
|
12726
|
+
setState((prev2) => ({
|
|
12727
|
+
...prev2,
|
|
12728
|
+
data
|
|
12729
|
+
}));
|
|
12730
|
+
};
|
|
12731
|
+
const setLayout = (layout) => {
|
|
12732
|
+
setState((prev2) => ({
|
|
12733
|
+
...prev2,
|
|
12734
|
+
layout
|
|
12735
|
+
}));
|
|
12736
|
+
};
|
|
12737
|
+
const setSelected = (selected) => {
|
|
12738
|
+
setState((prev2) => ({
|
|
12739
|
+
...prev2,
|
|
12740
|
+
selected
|
|
12741
|
+
}));
|
|
12742
|
+
};
|
|
12743
|
+
const updateSettings = (settings) => {
|
|
12744
|
+
setState((prev2) => {
|
|
12745
|
+
const updatedSettings = (0, import_merge.default)({}, prev2.settings, { ...settings });
|
|
12746
|
+
return {
|
|
12732
12747
|
...prev2,
|
|
12733
|
-
|
|
12734
|
-
}
|
|
12735
|
-
}
|
|
12736
|
-
|
|
12737
|
-
);
|
|
12748
|
+
settings: updatedSettings
|
|
12749
|
+
};
|
|
12750
|
+
});
|
|
12751
|
+
};
|
|
12738
12752
|
useEffect2(() => {
|
|
12739
12753
|
instance.use(initReactI18next).init({
|
|
12740
12754
|
resources: {
|
|
@@ -12762,7 +12776,7 @@ var EmbedProvider = ({
|
|
|
12762
12776
|
useEffect2(() => {
|
|
12763
12777
|
if (accessToken) {
|
|
12764
12778
|
const { headers = {} } = apiConfig ?? {};
|
|
12765
|
-
headers["X-Schematic-Components-Version"] = "0.4.
|
|
12779
|
+
headers["X-Schematic-Components-Version"] = "0.4.9";
|
|
12766
12780
|
headers["X-Schematic-Session-ID"] = sessionIdRef.current;
|
|
12767
12781
|
const config = new Configuration({
|
|
12768
12782
|
...apiConfig,
|
|
@@ -12805,10 +12819,11 @@ var EmbedProvider = ({
|
|
|
12805
12819
|
error: state.error,
|
|
12806
12820
|
isPending: state.isPending,
|
|
12807
12821
|
hydrate,
|
|
12822
|
+
setIsPending,
|
|
12808
12823
|
setData,
|
|
12809
|
-
updateSettings,
|
|
12810
12824
|
setLayout,
|
|
12811
|
-
setSelected
|
|
12825
|
+
setSelected,
|
|
12826
|
+
updateSettings
|
|
12812
12827
|
},
|
|
12813
12828
|
children: /* @__PURE__ */ jsxs(ot, { theme: state.settings.theme, children: [
|
|
12814
12829
|
/* @__PURE__ */ jsx(GlobalStyle, {}),
|
|
@@ -12911,6 +12926,10 @@ function lighten(color, amount) {
|
|
|
12911
12926
|
function darken(color, amount) {
|
|
12912
12927
|
return adjustLightness(color, -amount);
|
|
12913
12928
|
}
|
|
12929
|
+
function hsla(color, amount) {
|
|
12930
|
+
const { h, s: s2, l: l2 } = hexToHSL(color);
|
|
12931
|
+
return `hsla(${h}, ${s2}%, ${l2}%, ${amount})`;
|
|
12932
|
+
}
|
|
12914
12933
|
|
|
12915
12934
|
// src/utils/date.ts
|
|
12916
12935
|
function toPrettyDate(date, format) {
|
|
@@ -13209,7 +13228,7 @@ var Button2 = forwardRef(
|
|
|
13209
13228
|
disabled,
|
|
13210
13229
|
...props,
|
|
13211
13230
|
children: [
|
|
13212
|
-
|
|
13231
|
+
/* @__PURE__ */ jsx2(Loader, { $size: "sm", $isLoading: isLoading }),
|
|
13213
13232
|
children
|
|
13214
13233
|
]
|
|
13215
13234
|
}
|
|
@@ -13522,60 +13541,64 @@ var icons_default = {
|
|
|
13522
13541
|
"folder-plus": 61753,
|
|
13523
13542
|
folder: 61754,
|
|
13524
13543
|
"generic-payment": 61755,
|
|
13525
|
-
|
|
13526
|
-
|
|
13527
|
-
|
|
13528
|
-
|
|
13529
|
-
|
|
13530
|
-
|
|
13531
|
-
|
|
13532
|
-
|
|
13533
|
-
|
|
13534
|
-
|
|
13535
|
-
|
|
13536
|
-
|
|
13537
|
-
|
|
13538
|
-
|
|
13539
|
-
|
|
13540
|
-
|
|
13541
|
-
"
|
|
13542
|
-
|
|
13543
|
-
|
|
13544
|
-
|
|
13545
|
-
|
|
13546
|
-
|
|
13547
|
-
|
|
13548
|
-
|
|
13549
|
-
|
|
13550
|
-
|
|
13551
|
-
|
|
13552
|
-
|
|
13553
|
-
|
|
13554
|
-
|
|
13555
|
-
|
|
13556
|
-
|
|
13557
|
-
|
|
13558
|
-
|
|
13559
|
-
|
|
13560
|
-
|
|
13561
|
-
|
|
13562
|
-
|
|
13563
|
-
|
|
13564
|
-
|
|
13565
|
-
|
|
13566
|
-
|
|
13567
|
-
|
|
13568
|
-
|
|
13569
|
-
|
|
13570
|
-
|
|
13571
|
-
|
|
13572
|
-
|
|
13573
|
-
|
|
13574
|
-
"
|
|
13575
|
-
|
|
13576
|
-
|
|
13577
|
-
|
|
13578
|
-
|
|
13544
|
+
github: 61756,
|
|
13545
|
+
glasses: 61757,
|
|
13546
|
+
globe: 61758,
|
|
13547
|
+
google: 61759,
|
|
13548
|
+
hammer: 61760,
|
|
13549
|
+
hash: 61761,
|
|
13550
|
+
heart: 61762,
|
|
13551
|
+
hubspot: 61763,
|
|
13552
|
+
image: 61764,
|
|
13553
|
+
"info-rounded": 61765,
|
|
13554
|
+
juice: 61766,
|
|
13555
|
+
key: 61767,
|
|
13556
|
+
link: 61768,
|
|
13557
|
+
mastercard: 61769,
|
|
13558
|
+
move: 61770,
|
|
13559
|
+
music: 61771,
|
|
13560
|
+
"node-minus": 61772,
|
|
13561
|
+
"node-plus": 61773,
|
|
13562
|
+
package: 61774,
|
|
13563
|
+
"paper-plane": 61775,
|
|
13564
|
+
paypal: 61776,
|
|
13565
|
+
pencil: 61777,
|
|
13566
|
+
percent: 61778,
|
|
13567
|
+
picker: 61779,
|
|
13568
|
+
plan: 61780,
|
|
13569
|
+
plug: 61781,
|
|
13570
|
+
"plus-minus": 61782,
|
|
13571
|
+
"plus-rounded-outline": 61783,
|
|
13572
|
+
present: 61784,
|
|
13573
|
+
schematic: 61785,
|
|
13574
|
+
search: 61786,
|
|
13575
|
+
segment: 61787,
|
|
13576
|
+
"server-search": 61788,
|
|
13577
|
+
sidebar: 61789,
|
|
13578
|
+
signal: 61790,
|
|
13579
|
+
silence: 61791,
|
|
13580
|
+
spade: 61792,
|
|
13581
|
+
speaker: 61793,
|
|
13582
|
+
stacked: 61794,
|
|
13583
|
+
stacks: 61795,
|
|
13584
|
+
stripe: 61796,
|
|
13585
|
+
text: 61797,
|
|
13586
|
+
thunder: 61798,
|
|
13587
|
+
tornado: 61799,
|
|
13588
|
+
truck: 61800,
|
|
13589
|
+
tube: 61801,
|
|
13590
|
+
unprotected: 61802,
|
|
13591
|
+
unsubscribe: 61803,
|
|
13592
|
+
verified: 61804,
|
|
13593
|
+
"video-camera": 61805,
|
|
13594
|
+
visa: 61806,
|
|
13595
|
+
wallet: 61807,
|
|
13596
|
+
"watch-hand": 61808,
|
|
13597
|
+
"watch-pocket": 61809,
|
|
13598
|
+
"water-drop": 61810,
|
|
13599
|
+
waves: 61811,
|
|
13600
|
+
webhook: 61812,
|
|
13601
|
+
wind: 61813
|
|
13579
13602
|
};
|
|
13580
13603
|
|
|
13581
13604
|
// src/components/ui/icon/IconRound.tsx
|
|
@@ -13696,12 +13719,27 @@ var spin = mt`
|
|
|
13696
13719
|
var Loader = dt.div`
|
|
13697
13720
|
display: inline-block;
|
|
13698
13721
|
border-style: solid;
|
|
13699
|
-
border-color: hsla(0, 0%, 50%, 0.125);
|
|
13700
|
-
border-top-color: ${({ theme, $color }) => $color || theme.primary};
|
|
13701
13722
|
border-radius: 50%;
|
|
13702
13723
|
transition: all 0.1s;
|
|
13703
13724
|
animation: 1.5s linear infinite ${spin};
|
|
13704
13725
|
|
|
13726
|
+
${({ $color, theme }) => {
|
|
13727
|
+
const { l: l2 } = hexToHSL(theme.card.background);
|
|
13728
|
+
let color = $color;
|
|
13729
|
+
let colorFn;
|
|
13730
|
+
if (l2 > 50) {
|
|
13731
|
+
color = color ?? "#000000";
|
|
13732
|
+
colorFn = lighten;
|
|
13733
|
+
} else {
|
|
13734
|
+
color = color ?? "#FFFFFF";
|
|
13735
|
+
colorFn = darken;
|
|
13736
|
+
}
|
|
13737
|
+
return lt`
|
|
13738
|
+
border-color: ${color};
|
|
13739
|
+
border-top-color: ${colorFn(color, 42.5)};
|
|
13740
|
+
`;
|
|
13741
|
+
}}
|
|
13742
|
+
|
|
13705
13743
|
${({ $size = "md", $isLoading = true }) => {
|
|
13706
13744
|
let px;
|
|
13707
13745
|
switch ($size) {
|
|
@@ -14185,7 +14223,7 @@ var Root = forwardRef3(
|
|
|
14185
14223
|
Root.displayName = "Root";
|
|
14186
14224
|
|
|
14187
14225
|
// src/components/layout/viewport/Viewport.tsx
|
|
14188
|
-
import { forwardRef as forwardRef4, useLayoutEffect as useLayoutEffect5, useState as
|
|
14226
|
+
import { forwardRef as forwardRef4, useLayoutEffect as useLayoutEffect5, useState as useState11 } from "react";
|
|
14189
14227
|
import { createPortal as createPortal2 } from "react-dom";
|
|
14190
14228
|
|
|
14191
14229
|
// src/components/shared/checkout-dialog/CheckoutDialog.tsx
|
|
@@ -14301,7 +14339,10 @@ var Navigation = ({
|
|
|
14301
14339
|
};
|
|
14302
14340
|
|
|
14303
14341
|
// src/components/shared/sidebar/Sidebar.tsx
|
|
14304
|
-
import {
|
|
14342
|
+
import {
|
|
14343
|
+
useCallback as useCallback6,
|
|
14344
|
+
useMemo as useMemo4
|
|
14345
|
+
} from "react";
|
|
14305
14346
|
var import_pluralize = __toESM(require_pluralize());
|
|
14306
14347
|
|
|
14307
14348
|
// src/components/shared/sidebar/StageButton.tsx
|
|
@@ -14325,7 +14366,8 @@ var StageButton = ({
|
|
|
14325
14366
|
return /* @__PURE__ */ jsx11(
|
|
14326
14367
|
EmbedButton,
|
|
14327
14368
|
{
|
|
14328
|
-
|
|
14369
|
+
type: "button",
|
|
14370
|
+
disabled: isLoading || !canUpdateSubscription,
|
|
14329
14371
|
onClick: checkout,
|
|
14330
14372
|
isLoading,
|
|
14331
14373
|
children: t2("Subscribe and close")
|
|
@@ -14338,9 +14380,10 @@ var StageButton = ({
|
|
|
14338
14380
|
return /* @__PURE__ */ jsx11(
|
|
14339
14381
|
EmbedButton,
|
|
14340
14382
|
{
|
|
14383
|
+
type: "button",
|
|
14341
14384
|
disabled: !hasAddOns && !canUpdateSubscription,
|
|
14342
14385
|
onClick: async () => {
|
|
14343
|
-
setCheckoutStage("checkout");
|
|
14386
|
+
setCheckoutStage?.("checkout");
|
|
14344
14387
|
},
|
|
14345
14388
|
isLoading,
|
|
14346
14389
|
children: /* @__PURE__ */ jsxs7(
|
|
@@ -14364,6 +14407,7 @@ var StageButton = ({
|
|
|
14364
14407
|
return /* @__PURE__ */ jsx11(
|
|
14365
14408
|
EmbedButton,
|
|
14366
14409
|
{
|
|
14410
|
+
type: "button",
|
|
14367
14411
|
disabled: !canUpdateSubscription,
|
|
14368
14412
|
onClick: async () => {
|
|
14369
14413
|
checkout();
|
|
@@ -14385,7 +14429,7 @@ var StageButton = ({
|
|
|
14385
14429
|
}
|
|
14386
14430
|
);
|
|
14387
14431
|
}
|
|
14388
|
-
if (!requiresPayment && !checkoutStages
|
|
14432
|
+
if (!requiresPayment && !checkoutStages?.some(
|
|
14389
14433
|
(stage) => stage.id === "addons" || stage.id === "usage"
|
|
14390
14434
|
)) {
|
|
14391
14435
|
return /* @__PURE__ */ jsx11(NoPaymentRequired, {});
|
|
@@ -14393,9 +14437,10 @@ var StageButton = ({
|
|
|
14393
14437
|
return /* @__PURE__ */ jsx11(
|
|
14394
14438
|
EmbedButton,
|
|
14395
14439
|
{
|
|
14440
|
+
type: "button",
|
|
14396
14441
|
disabled: !canUpdateSubscription,
|
|
14397
14442
|
onClick: async () => {
|
|
14398
|
-
setCheckoutStage(
|
|
14443
|
+
setCheckoutStage?.(
|
|
14399
14444
|
hasPayInAdvanceEntitlements ? "usage" : hasAddOns ? "addons" : "checkout"
|
|
14400
14445
|
);
|
|
14401
14446
|
},
|
|
@@ -14426,9 +14471,10 @@ var StageButton = ({
|
|
|
14426
14471
|
return /* @__PURE__ */ jsx11(
|
|
14427
14472
|
EmbedButton,
|
|
14428
14473
|
{
|
|
14474
|
+
type: "button",
|
|
14429
14475
|
disabled: !canUpdateSubscription,
|
|
14430
14476
|
onClick: async () => {
|
|
14431
|
-
setCheckoutStage(hasAddOns ? "addons" : "checkout");
|
|
14477
|
+
setCheckoutStage?.(hasAddOns ? "addons" : "checkout");
|
|
14432
14478
|
},
|
|
14433
14479
|
isLoading,
|
|
14434
14480
|
children: /* @__PURE__ */ jsxs7(
|
|
@@ -14456,9 +14502,10 @@ var StageButton = ({
|
|
|
14456
14502
|
return /* @__PURE__ */ jsx11(
|
|
14457
14503
|
EmbedButton,
|
|
14458
14504
|
{
|
|
14505
|
+
type: "button",
|
|
14459
14506
|
disabled: !canUpdateSubscription,
|
|
14460
14507
|
onClick: async () => {
|
|
14461
|
-
setCheckoutStage("checkout");
|
|
14508
|
+
setCheckoutStage?.("checkout");
|
|
14462
14509
|
},
|
|
14463
14510
|
isLoading,
|
|
14464
14511
|
children: /* @__PURE__ */ jsxs7(
|
|
@@ -14486,6 +14533,7 @@ var StageButton = ({
|
|
|
14486
14533
|
return /* @__PURE__ */ jsx11(
|
|
14487
14534
|
EmbedButton,
|
|
14488
14535
|
{
|
|
14536
|
+
type: "button",
|
|
14489
14537
|
disabled: isLoading || !canCheckout,
|
|
14490
14538
|
onClick: checkout,
|
|
14491
14539
|
isLoading,
|
|
@@ -14498,33 +14546,49 @@ var StageButton = ({
|
|
|
14498
14546
|
// src/components/shared/sidebar/Sidebar.tsx
|
|
14499
14547
|
import { Fragment as Fragment4, jsx as jsx12, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
14500
14548
|
var Sidebar = ({
|
|
14549
|
+
planPeriod,
|
|
14550
|
+
selectedPlan,
|
|
14501
14551
|
addOns,
|
|
14552
|
+
usageBasedEntitlements,
|
|
14502
14553
|
charges,
|
|
14503
14554
|
checkoutRef,
|
|
14504
14555
|
checkoutStage,
|
|
14505
14556
|
checkoutStages,
|
|
14506
|
-
currentAddOns,
|
|
14507
|
-
currentUsageBasedEntitlements,
|
|
14508
14557
|
error,
|
|
14509
|
-
currentPlan,
|
|
14510
14558
|
isLoading,
|
|
14511
14559
|
paymentMethodId,
|
|
14512
|
-
planPeriod,
|
|
14513
14560
|
promoCode,
|
|
14514
14561
|
requiresPayment,
|
|
14515
|
-
selectedPlan,
|
|
14516
14562
|
setCheckoutStage,
|
|
14517
14563
|
setError,
|
|
14564
|
+
setIsLoading,
|
|
14518
14565
|
showPaymentForm,
|
|
14519
|
-
toggleLoading,
|
|
14520
14566
|
updatePromoCode,
|
|
14521
|
-
usageBasedEntitlements,
|
|
14522
14567
|
showHeader = true
|
|
14523
14568
|
}) => {
|
|
14524
14569
|
const { t: t2 } = useTranslation();
|
|
14525
14570
|
const theme = nt();
|
|
14526
|
-
const { api, data, mode, layout, setLayout } = useEmbed();
|
|
14571
|
+
const { api, data, mode, layout, hydrate, setLayout } = useEmbed();
|
|
14527
14572
|
const isLightBackground = useIsLightBackground();
|
|
14573
|
+
const currentPlan = data.company?.plan;
|
|
14574
|
+
const currentAddOns = data.company?.addOns || [];
|
|
14575
|
+
const currentUsageBasedEntitlements = data.activeUsageBasedEntitlements.reduce(
|
|
14576
|
+
(acc, usageData) => {
|
|
14577
|
+
const featureUsage = data.featureUsage?.features.find(
|
|
14578
|
+
(usage2) => usage2.feature?.id === usageData.featureId
|
|
14579
|
+
);
|
|
14580
|
+
const allocation = featureUsage?.allocation || 0;
|
|
14581
|
+
const usage = featureUsage?.usage || 0;
|
|
14582
|
+
acc.push({
|
|
14583
|
+
usageData,
|
|
14584
|
+
allocation,
|
|
14585
|
+
quantity: allocation ?? usage,
|
|
14586
|
+
usage
|
|
14587
|
+
});
|
|
14588
|
+
return acc;
|
|
14589
|
+
},
|
|
14590
|
+
[]
|
|
14591
|
+
);
|
|
14528
14592
|
const payInAdvanceEntitlements = usageBasedEntitlements.filter(
|
|
14529
14593
|
({ entitlement }) => entitlement.priceBehavior === "pay_in_advance"
|
|
14530
14594
|
);
|
|
@@ -14532,15 +14596,17 @@ var Sidebar = ({
|
|
|
14532
14596
|
({ entitlement }) => entitlement.priceBehavior === "pay_as_you_go"
|
|
14533
14597
|
);
|
|
14534
14598
|
const subscriptionPrice = useMemo4(() => {
|
|
14535
|
-
const plan = selectedPlan || currentPlan;
|
|
14536
|
-
if (!plan || !plan.monthlyPrice || !plan.yearlyPrice) {
|
|
14537
|
-
return;
|
|
14538
|
-
}
|
|
14539
14599
|
let total = 0;
|
|
14540
|
-
|
|
14541
|
-
|
|
14542
|
-
if (
|
|
14543
|
-
|
|
14600
|
+
let planPrice;
|
|
14601
|
+
let currency;
|
|
14602
|
+
if (selectedPlan) {
|
|
14603
|
+
planPrice = planPeriod === "month" ? selectedPlan.monthlyPrice?.price : selectedPlan.yearlyPrice?.price;
|
|
14604
|
+
currency = planPeriod === "month" ? selectedPlan.monthlyPrice?.currency : selectedPlan.yearlyPrice?.currency;
|
|
14605
|
+
if (planPrice) {
|
|
14606
|
+
total += planPrice;
|
|
14607
|
+
}
|
|
14608
|
+
} else if (typeof currentPlan?.planPrice === "number") {
|
|
14609
|
+
planPrice = currentPlan.planPrice;
|
|
14544
14610
|
}
|
|
14545
14611
|
const addOnCost = addOns.reduce(
|
|
14546
14612
|
(sum, addOn) => sum + (addOn.isSelected ? (planPeriod === "month" ? addOn.monthlyPrice : addOn.yearlyPrice)?.price ?? 0 : 0),
|
|
@@ -14571,7 +14637,7 @@ var Sidebar = ({
|
|
|
14571
14637
|
}
|
|
14572
14638
|
try {
|
|
14573
14639
|
setError(void 0);
|
|
14574
|
-
|
|
14640
|
+
setIsLoading(true);
|
|
14575
14641
|
await api.checkout({
|
|
14576
14642
|
changeSubscriptionRequestBody: {
|
|
14577
14643
|
newPlanId: selectedPlan.id,
|
|
@@ -14605,24 +14671,28 @@ var Sidebar = ({
|
|
|
14605
14671
|
...promoCode && { promoCode }
|
|
14606
14672
|
}
|
|
14607
14673
|
});
|
|
14608
|
-
|
|
14674
|
+
setIsLoading(false);
|
|
14675
|
+
setLayout("portal");
|
|
14676
|
+
hydrate();
|
|
14609
14677
|
} catch {
|
|
14678
|
+
setLayout("checkout");
|
|
14610
14679
|
setError(
|
|
14611
14680
|
t2("Error processing payment. Please try a different payment method.")
|
|
14612
14681
|
);
|
|
14613
14682
|
} finally {
|
|
14614
|
-
|
|
14683
|
+
setIsLoading(false);
|
|
14615
14684
|
}
|
|
14616
14685
|
}, [
|
|
14617
14686
|
t2,
|
|
14618
14687
|
api,
|
|
14688
|
+
hydrate,
|
|
14619
14689
|
paymentMethodId,
|
|
14620
14690
|
planPeriod,
|
|
14621
14691
|
selectedPlan,
|
|
14622
14692
|
addOns,
|
|
14623
14693
|
setError,
|
|
14694
|
+
setIsLoading,
|
|
14624
14695
|
setLayout,
|
|
14625
|
-
toggleLoading,
|
|
14626
14696
|
payInAdvanceEntitlements,
|
|
14627
14697
|
promoCode
|
|
14628
14698
|
]);
|
|
@@ -14632,15 +14702,17 @@ var Sidebar = ({
|
|
|
14632
14702
|
}
|
|
14633
14703
|
try {
|
|
14634
14704
|
setError(void 0);
|
|
14635
|
-
|
|
14705
|
+
setIsLoading(true);
|
|
14636
14706
|
await api.checkoutUnsubscribe();
|
|
14637
|
-
|
|
14707
|
+
setLayout("portal");
|
|
14708
|
+
hydrate();
|
|
14638
14709
|
} catch {
|
|
14710
|
+
setLayout("unsubscribe");
|
|
14639
14711
|
setError(t2("Unsubscribe failed"));
|
|
14640
14712
|
} finally {
|
|
14641
|
-
|
|
14713
|
+
setIsLoading(false);
|
|
14642
14714
|
}
|
|
14643
|
-
}, [api, setError,
|
|
14715
|
+
}, [t2, api, hydrate, setError, setIsLoading, setLayout]);
|
|
14644
14716
|
const selectedAddOns = addOns.filter((addOn) => addOn.isSelected);
|
|
14645
14717
|
const willPlanChange = typeof selectedPlan !== "undefined" && !selectedPlan.current;
|
|
14646
14718
|
const canUpdateSubscription = mode === "edit" || api !== null && (willPlanChange || // TODO: test add-on comparison for finding "changes"
|
|
@@ -14677,12 +14749,12 @@ var Sidebar = ({
|
|
|
14677
14749
|
(acc, current) => {
|
|
14678
14750
|
const match2 = usageBasedEntitlements.every(
|
|
14679
14751
|
({ entitlement }) => entitlement.featureId !== current.usageData.featureId
|
|
14680
|
-
) &&
|
|
14681
|
-
(
|
|
14752
|
+
) && data.featureUsage?.features.find(
|
|
14753
|
+
(usage) => usage.feature?.id === current.usageData.featureId
|
|
14682
14754
|
);
|
|
14683
14755
|
if (match2) {
|
|
14684
14756
|
acc.push({
|
|
14685
|
-
|
|
14757
|
+
usage: match2,
|
|
14686
14758
|
allocation: current.allocation,
|
|
14687
14759
|
quantity: current.quantity
|
|
14688
14760
|
});
|
|
@@ -14892,9 +14964,9 @@ var Sidebar = ({
|
|
|
14892
14964
|
}
|
|
14893
14965
|
) }),
|
|
14894
14966
|
removedUsageBasedEntitlements.reduce(
|
|
14895
|
-
(acc, { allocation, quantity,
|
|
14896
|
-
if (typeof allocation === "number" &&
|
|
14897
|
-
const price = (planPeriod === "month" ?
|
|
14967
|
+
(acc, { allocation, quantity, usage }) => {
|
|
14968
|
+
if (typeof allocation === "number" && usage.feature?.name) {
|
|
14969
|
+
const price = (planPeriod === "month" ? usage.monthlyUsageBasedPrice : usage.yearlyUsageBasedPrice)?.price;
|
|
14898
14970
|
acc.push(
|
|
14899
14971
|
/* @__PURE__ */ jsxs8(
|
|
14900
14972
|
Flex,
|
|
@@ -14913,11 +14985,11 @@ var Sidebar = ({
|
|
|
14913
14985
|
$size: theme.typography.heading4.fontSize,
|
|
14914
14986
|
$weight: theme.typography.heading4.fontWeight,
|
|
14915
14987
|
$color: theme.typography.heading4.color,
|
|
14916
|
-
children:
|
|
14988
|
+
children: usage.priceBehavior === "pay_in_advance" ? /* @__PURE__ */ jsxs8(Fragment4, { children: [
|
|
14917
14989
|
quantity,
|
|
14918
14990
|
" ",
|
|
14919
|
-
(0, import_pluralize.default)(
|
|
14920
|
-
] }) :
|
|
14991
|
+
(0, import_pluralize.default)(usage.feature.name, quantity)
|
|
14992
|
+
] }) : usage.feature.name
|
|
14921
14993
|
}
|
|
14922
14994
|
) }),
|
|
14923
14995
|
/* @__PURE__ */ jsx12(Box, { $whiteSpace: "nowrap", children: /* @__PURE__ */ jsxs8(
|
|
@@ -14928,25 +15000,25 @@ var Sidebar = ({
|
|
|
14928
15000
|
$weight: theme.typography.text.fontWeight,
|
|
14929
15001
|
$color: theme.typography.text.color,
|
|
14930
15002
|
children: [
|
|
14931
|
-
|
|
15003
|
+
usage.priceBehavior === "pay_in_advance" && typeof price === "number" && /* @__PURE__ */ jsxs8(Fragment4, { children: [
|
|
14932
15004
|
formatCurrency(
|
|
14933
15005
|
price * quantity,
|
|
14934
|
-
(planPeriod === "month" ?
|
|
15006
|
+
(planPeriod === "month" ? usage.monthlyUsageBasedPrice : usage.yearlyUsageBasedPrice)?.currency
|
|
14935
15007
|
),
|
|
14936
15008
|
/* @__PURE__ */ jsxs8("sub", { children: [
|
|
14937
15009
|
"/",
|
|
14938
15010
|
shortenPeriod(planPeriod)
|
|
14939
15011
|
] })
|
|
14940
15012
|
] }),
|
|
14941
|
-
|
|
15013
|
+
usage.priceBehavior === "pay_as_you_go" && typeof price === "number" && /* @__PURE__ */ jsxs8(Fragment4, { children: [
|
|
14942
15014
|
formatCurrency(
|
|
14943
15015
|
price,
|
|
14944
|
-
(planPeriod === "month" ?
|
|
15016
|
+
(planPeriod === "month" ? usage.monthlyUsageBasedPrice : usage.yearlyUsageBasedPrice)?.currency
|
|
14945
15017
|
),
|
|
14946
15018
|
/* @__PURE__ */ jsxs8("sub", { children: [
|
|
14947
15019
|
"/",
|
|
14948
15020
|
(0, import_pluralize.default)(
|
|
14949
|
-
|
|
15021
|
+
usage.feature.name.toLowerCase(),
|
|
14950
15022
|
1
|
|
14951
15023
|
)
|
|
14952
15024
|
] })
|
|
@@ -14956,7 +15028,7 @@ var Sidebar = ({
|
|
|
14956
15028
|
) })
|
|
14957
15029
|
]
|
|
14958
15030
|
},
|
|
14959
|
-
|
|
15031
|
+
usage.entitlementId
|
|
14960
15032
|
)
|
|
14961
15033
|
);
|
|
14962
15034
|
}
|
|
@@ -15291,7 +15363,7 @@ var Sidebar = ({
|
|
|
15291
15363
|
children: proration > 0 ? t2("Proration") : !selectedPlan?.companyCanTrial && t2("Credits")
|
|
15292
15364
|
}
|
|
15293
15365
|
) }),
|
|
15294
|
-
/* @__PURE__ */ jsx12(Flex, { $flexDirection: "column", $gap: "0.5rem", children: currentPlan
|
|
15366
|
+
/* @__PURE__ */ jsx12(Flex, { $flexDirection: "column", $gap: "0.5rem", children: currentPlan && /* @__PURE__ */ jsxs8(
|
|
15295
15367
|
Flex,
|
|
15296
15368
|
{
|
|
15297
15369
|
$justifyContent: "space-between",
|
|
@@ -15379,7 +15451,7 @@ var Sidebar = ({
|
|
|
15379
15451
|
{
|
|
15380
15452
|
$cursor: "pointer",
|
|
15381
15453
|
onClick: () => {
|
|
15382
|
-
updatePromoCode(void 0);
|
|
15454
|
+
updatePromoCode?.(void 0);
|
|
15383
15455
|
},
|
|
15384
15456
|
children: /* @__PURE__ */ jsx12(
|
|
15385
15457
|
Icon2,
|
|
@@ -15592,16 +15664,7 @@ var Sidebar = ({
|
|
|
15592
15664
|
trialPaymentMethodRequired: data.trialPaymentMethodRequired === true
|
|
15593
15665
|
}
|
|
15594
15666
|
),
|
|
15595
|
-
layout === "unsubscribe" && /* @__PURE__ */ jsx12(
|
|
15596
|
-
EmbedButton,
|
|
15597
|
-
{
|
|
15598
|
-
onClick: async () => {
|
|
15599
|
-
unsubscribe();
|
|
15600
|
-
},
|
|
15601
|
-
isLoading,
|
|
15602
|
-
children: t2("Cancel subscription")
|
|
15603
|
-
}
|
|
15604
|
-
),
|
|
15667
|
+
layout === "unsubscribe" && /* @__PURE__ */ jsx12(EmbedButton, { onClick: unsubscribe, isLoading, children: t2("Cancel subscription") }),
|
|
15605
15668
|
!isLoading && error && /* @__PURE__ */ jsx12(Box, { children: /* @__PURE__ */ jsx12(
|
|
15606
15669
|
Text,
|
|
15607
15670
|
{
|
|
@@ -15798,15 +15861,7 @@ var Plan = ({
|
|
|
15798
15861
|
$padding: `${0.75 * cardPadding}rem ${cardPadding}rem 0`,
|
|
15799
15862
|
children: [
|
|
15800
15863
|
/* @__PURE__ */ jsxs9(Flex, { $flexDirection: "column", $gap: "1rem", $flexGrow: "1", children: [
|
|
15801
|
-
plan.entitlements.
|
|
15802
|
-
if (a2.feature?.name && b2.feature?.name && a2.feature?.name > b2.feature?.name) {
|
|
15803
|
-
return 1;
|
|
15804
|
-
}
|
|
15805
|
-
if (a2.feature?.name && b2.feature?.name && a2.feature?.name < b2.feature?.name) {
|
|
15806
|
-
return -1;
|
|
15807
|
-
}
|
|
15808
|
-
return 0;
|
|
15809
|
-
}).reduce((acc, entitlement) => {
|
|
15864
|
+
plan.entitlements.reduce((acc, entitlement) => {
|
|
15810
15865
|
const hasNumericValue = entitlement.valueType === "numeric" || entitlement.valueType === "unlimited" || entitlement.valueType === "trait";
|
|
15811
15866
|
let metricPeriodText;
|
|
15812
15867
|
if (hasNumericValue && entitlement.metricPeriod) {
|
|
@@ -15952,7 +16007,8 @@ var Plan = ({
|
|
|
15952
16007
|
) : /* @__PURE__ */ jsx13(
|
|
15953
16008
|
EmbedButton,
|
|
15954
16009
|
{
|
|
15955
|
-
|
|
16010
|
+
type: "button",
|
|
16011
|
+
disabled: (isLoading || !plan.valid) && !plan.custom,
|
|
15956
16012
|
...{
|
|
15957
16013
|
onClick: () => {
|
|
15958
16014
|
if (plan.custom) {
|
|
@@ -16089,6 +16145,7 @@ var AddOns = ({ addOns, toggle, isLoading, period }) => {
|
|
|
16089
16145
|
/* @__PURE__ */ jsx14(Flex, { $flexDirection: "column", $justifyContent: "end", $flexGrow: "1", children: !addOn.isSelected ? /* @__PURE__ */ jsx14(
|
|
16090
16146
|
EmbedButton,
|
|
16091
16147
|
{
|
|
16148
|
+
type: "button",
|
|
16092
16149
|
disabled: isLoading || !addOn.valid,
|
|
16093
16150
|
onClick: () => toggle(addOn.id),
|
|
16094
16151
|
$size: "sm",
|
|
@@ -16099,6 +16156,7 @@ var AddOns = ({ addOns, toggle, isLoading, period }) => {
|
|
|
16099
16156
|
) : /* @__PURE__ */ jsx14(
|
|
16100
16157
|
EmbedButton,
|
|
16101
16158
|
{
|
|
16159
|
+
type: "button",
|
|
16102
16160
|
disabled: isLoading || !addOn.valid,
|
|
16103
16161
|
onClick: () => toggle(addOn.id),
|
|
16104
16162
|
$size: "sm",
|
|
@@ -16137,15 +16195,7 @@ var Usage = ({ entitlements, updateQuantity, period }) => {
|
|
|
16137
16195
|
const cardPadding = theme.card.padding / TEXT_BASE_SIZE;
|
|
16138
16196
|
const unitPriceFontSize = 0.875 * theme.typography.text.fontSize;
|
|
16139
16197
|
const unitPriceColor = hexToHSL(theme.typography.text.color).l > 50 ? darken(theme.typography.text.color, 0.46) : lighten(theme.typography.text.color, 0.46);
|
|
16140
|
-
return /* @__PURE__ */ jsx15(Fragment7, { children: /* @__PURE__ */ jsx15(Flex, { $flexDirection: "column", $gap: "1rem", children: entitlements.
|
|
16141
|
-
if (a2.entitlement.feature?.name && b2.entitlement.feature?.name && a2.entitlement.feature?.name > b2.entitlement.feature?.name) {
|
|
16142
|
-
return 1;
|
|
16143
|
-
}
|
|
16144
|
-
if (a2.entitlement.feature?.name && b2.entitlement.feature?.name && a2.entitlement.feature?.name < b2.entitlement.feature?.name) {
|
|
16145
|
-
return -1;
|
|
16146
|
-
}
|
|
16147
|
-
return 0;
|
|
16148
|
-
}).reduce(
|
|
16198
|
+
return /* @__PURE__ */ jsx15(Fragment7, { children: /* @__PURE__ */ jsx15(Flex, { $flexDirection: "column", $gap: "1rem", children: entitlements.reduce(
|
|
16149
16199
|
(acc, { entitlement, quantity, usage }) => {
|
|
16150
16200
|
if (entitlement.priceBehavior === "pay_in_advance" && entitlement.feature) {
|
|
16151
16201
|
acc.push(
|
|
@@ -16278,10 +16328,7 @@ var Usage = ({ entitlements, updateQuantity, period }) => {
|
|
|
16278
16328
|
),
|
|
16279
16329
|
/* @__PURE__ */ jsxs11("sub", { children: [
|
|
16280
16330
|
"/",
|
|
16281
|
-
(0, import_pluralize3.default)(
|
|
16282
|
-
entitlement.feature.name.toLowerCase(),
|
|
16283
|
-
1
|
|
16284
|
-
),
|
|
16331
|
+
(0, import_pluralize3.default)(entitlement.feature.name.toLowerCase(), 1),
|
|
16285
16332
|
"/",
|
|
16286
16333
|
shortenPeriod(period)
|
|
16287
16334
|
] })
|
|
@@ -16307,6 +16354,10 @@ var Usage = ({ entitlements, updateQuantity, period }) => {
|
|
|
16307
16354
|
import { useEffect as useEffect4, useState as useState6 } from "react";
|
|
16308
16355
|
|
|
16309
16356
|
// node_modules/@stripe/stripe-js/dist/index.mjs
|
|
16357
|
+
var RELEASE_TRAIN = "v3";
|
|
16358
|
+
var runtimeVersionToUrlVersion = function runtimeVersionToUrlVersion2(version) {
|
|
16359
|
+
return version === 3 ? "v3" : version;
|
|
16360
|
+
};
|
|
16310
16361
|
var ORIGIN = "https://js.stripe.com";
|
|
16311
16362
|
var STRIPE_JS_URL = "".concat(ORIGIN, "/v3");
|
|
16312
16363
|
var V3_URL_REGEX = /^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/;
|
|
@@ -16343,7 +16394,7 @@ var registerWrapper = function registerWrapper2(stripe, startTime) {
|
|
|
16343
16394
|
}
|
|
16344
16395
|
stripe._registerWrapper({
|
|
16345
16396
|
name: "stripe-js",
|
|
16346
|
-
version: "5.
|
|
16397
|
+
version: "5.10.0",
|
|
16347
16398
|
startTime
|
|
16348
16399
|
});
|
|
16349
16400
|
};
|
|
@@ -16351,8 +16402,10 @@ var stripePromise$1 = null;
|
|
|
16351
16402
|
var onErrorListener = null;
|
|
16352
16403
|
var onLoadListener = null;
|
|
16353
16404
|
var onError = function onError2(reject) {
|
|
16354
|
-
return function() {
|
|
16355
|
-
reject(new Error("Failed to load Stripe.js"
|
|
16405
|
+
return function(cause) {
|
|
16406
|
+
reject(new Error("Failed to load Stripe.js", {
|
|
16407
|
+
cause
|
|
16408
|
+
}));
|
|
16356
16409
|
};
|
|
16357
16410
|
};
|
|
16358
16411
|
var onLoad = function onLoad2(resolve, reject) {
|
|
@@ -16411,6 +16464,13 @@ var initStripe = function initStripe2(maybeStripe, args, startTime) {
|
|
|
16411
16464
|
if (maybeStripe === null) {
|
|
16412
16465
|
return null;
|
|
16413
16466
|
}
|
|
16467
|
+
var pk = args[0];
|
|
16468
|
+
var isTestKey = pk.match(/^pk_test/);
|
|
16469
|
+
var version = runtimeVersionToUrlVersion(maybeStripe.version);
|
|
16470
|
+
var expectedVersion = RELEASE_TRAIN;
|
|
16471
|
+
if (isTestKey && version !== expectedVersion) {
|
|
16472
|
+
console.warn("Stripe.js@".concat(version, " was loaded on the page, but @stripe/stripe-js@").concat("5.10.0", " expected Stripe.js@").concat(expectedVersion, ". This may result in unexpected behavior. For more information, see https://docs.stripe.com/sdks/stripejs-versioning"));
|
|
16473
|
+
}
|
|
16414
16474
|
var stripe = maybeStripe.apply(void 0, args);
|
|
16415
16475
|
registerWrapper(stripe, startTime);
|
|
16416
16476
|
return stripe;
|
|
@@ -16646,30 +16706,14 @@ var CheckoutDialog = ({ top = 0 }) => {
|
|
|
16646
16706
|
(plan) => selected.planId ? plan.id === selected.planId : plan.current
|
|
16647
16707
|
)
|
|
16648
16708
|
);
|
|
16649
|
-
const currentAddOns = data.company?.addOns || [];
|
|
16650
16709
|
const [addOns, setAddOns] = useState7(
|
|
16651
16710
|
() => availableAddOns.map((addOn) => ({
|
|
16652
16711
|
...addOn,
|
|
16653
|
-
isSelected: typeof selected.addOnId !== "undefined" ? addOn.id === selected.addOnId :
|
|
16712
|
+
isSelected: typeof selected.addOnId !== "undefined" ? addOn.id === selected.addOnId : (data.company?.addOns || []).some(
|
|
16713
|
+
(currentAddOn) => addOn.id === currentAddOn.id
|
|
16714
|
+
)
|
|
16654
16715
|
}))
|
|
16655
16716
|
);
|
|
16656
|
-
const currentUsageBasedEntitlements = data.activeUsageBasedEntitlements.reduce(
|
|
16657
|
-
(acc, usageData) => {
|
|
16658
|
-
const featureUsage = data.featureUsage?.features.find(
|
|
16659
|
-
(usage2) => usage2.feature?.id === usageData.featureId
|
|
16660
|
-
);
|
|
16661
|
-
const allocation = featureUsage?.allocation || 0;
|
|
16662
|
-
const usage = featureUsage?.usage || 0;
|
|
16663
|
-
acc.push({
|
|
16664
|
-
usageData,
|
|
16665
|
-
allocation,
|
|
16666
|
-
quantity: allocation ?? usage,
|
|
16667
|
-
usage
|
|
16668
|
-
});
|
|
16669
|
-
return acc;
|
|
16670
|
-
},
|
|
16671
|
-
[]
|
|
16672
|
-
);
|
|
16673
16717
|
const createActiveUsageBasedEntitlementsReducer = useCallback7(
|
|
16674
16718
|
(period = planPeriod) => (acc, entitlement) => {
|
|
16675
16719
|
if (entitlement.priceBehavior && (period === "month" && entitlement.meteredMonthlyPrice || period === "year" && entitlement.meteredYearlyPrice)) {
|
|
@@ -16695,12 +16739,6 @@ var CheckoutDialog = ({ top = 0 }) => {
|
|
|
16695
16739
|
[]
|
|
16696
16740
|
)
|
|
16697
16741
|
);
|
|
16698
|
-
const currentPlan = useMemo5(
|
|
16699
|
-
() => availablePlans.find(
|
|
16700
|
-
(plan) => plan.id === data.company?.plan?.id && data.company?.plan.planPeriod === planPeriod
|
|
16701
|
-
),
|
|
16702
|
-
[data.company?.plan, planPeriod, availablePlans]
|
|
16703
|
-
);
|
|
16704
16742
|
const payInAdvanceEntitlements = useMemo5(
|
|
16705
16743
|
() => usageBasedEntitlements.filter(
|
|
16706
16744
|
({ entitlement }) => entitlement.priceBehavior === "pay_in_advance"
|
|
@@ -16757,7 +16795,7 @@ var CheckoutDialog = ({ top = 0 }) => {
|
|
|
16757
16795
|
if (selected.usage) {
|
|
16758
16796
|
return "usage";
|
|
16759
16797
|
}
|
|
16760
|
-
if (selected.planId !==
|
|
16798
|
+
if (selected.planId !== data.company?.plan?.id) {
|
|
16761
16799
|
return checkoutStages.some((stage) => stage.id === "usage") ? "usage" : checkoutStages.some((stage) => stage.id === "addons") ? "addons" : "plan";
|
|
16762
16800
|
}
|
|
16763
16801
|
return "plan";
|
|
@@ -17102,27 +17140,24 @@ var CheckoutDialog = ({ top = 0 }) => {
|
|
|
17102
17140
|
/* @__PURE__ */ jsx17(
|
|
17103
17141
|
Sidebar,
|
|
17104
17142
|
{
|
|
17143
|
+
planPeriod,
|
|
17144
|
+
selectedPlan,
|
|
17105
17145
|
addOns,
|
|
17146
|
+
usageBasedEntitlements,
|
|
17106
17147
|
charges,
|
|
17107
17148
|
checkoutRef,
|
|
17108
17149
|
checkoutStage,
|
|
17109
17150
|
checkoutStages,
|
|
17110
|
-
currentAddOns,
|
|
17111
|
-
currentUsageBasedEntitlements,
|
|
17112
17151
|
error,
|
|
17113
|
-
currentPlan,
|
|
17114
17152
|
isLoading,
|
|
17115
17153
|
paymentMethodId,
|
|
17116
|
-
planPeriod,
|
|
17117
17154
|
promoCode,
|
|
17118
17155
|
requiresPayment,
|
|
17119
|
-
selectedPlan,
|
|
17120
17156
|
setCheckoutStage: (stage) => setCheckoutStage(stage),
|
|
17121
17157
|
setError: (msg) => setError(msg),
|
|
17158
|
+
setIsLoading,
|
|
17122
17159
|
showPaymentForm,
|
|
17123
|
-
|
|
17124
|
-
updatePromoCode: (code) => updatePromoCode(code),
|
|
17125
|
-
usageBasedEntitlements
|
|
17160
|
+
updatePromoCode: (code) => updatePromoCode(code)
|
|
17126
17161
|
}
|
|
17127
17162
|
)
|
|
17128
17163
|
]
|
|
@@ -17327,65 +17362,45 @@ import { jsx as jsx20, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
|
17327
17362
|
var UnsubscribeDialog = () => {
|
|
17328
17363
|
const { t: t2 } = useTranslation();
|
|
17329
17364
|
const theme = nt();
|
|
17330
|
-
const { data, setSelected } = useEmbed();
|
|
17365
|
+
const { data, setLayout, setSelected } = useEmbed();
|
|
17331
17366
|
const [error, setError] = useState10();
|
|
17332
17367
|
const [isLoading, setIsLoading] = useState10(false);
|
|
17333
17368
|
const planPeriod = useMemo7(
|
|
17334
17369
|
() => data.company?.plan?.planPeriod ?? "month",
|
|
17335
17370
|
[data.company?.plan?.planPeriod]
|
|
17336
17371
|
);
|
|
17337
|
-
const {
|
|
17338
|
-
const
|
|
17339
|
-
() => (
|
|
17340
|
-
|
|
17341
|
-
|
|
17342
|
-
|
|
17343
|
-
}),
|
|
17344
|
-
[data.company?.plan]
|
|
17345
|
-
);
|
|
17346
|
-
const currentAddOns = useMemo7(
|
|
17347
|
-
() => data.company?.addOns || [],
|
|
17348
|
-
[data.company?.addOns]
|
|
17349
|
-
);
|
|
17350
|
-
const addOns = useMemo7(
|
|
17351
|
-
() => currentAddOns.map((addOn) => ({
|
|
17352
|
-
...addOn,
|
|
17353
|
-
isSelected: true,
|
|
17354
|
-
monthlyPrice: {
|
|
17355
|
-
price: addOn.planPrice
|
|
17356
|
-
},
|
|
17357
|
-
yearlyPrice: {
|
|
17358
|
-
price: addOn.planPrice
|
|
17359
|
-
}
|
|
17360
|
-
})),
|
|
17361
|
-
[currentAddOns]
|
|
17372
|
+
const { plans: availablePlans, addOns: availableAddOns } = useAvailablePlans(planPeriod);
|
|
17373
|
+
const selectedPlan = useMemo7(
|
|
17374
|
+
() => availablePlans.find(
|
|
17375
|
+
(plan) => plan.id === data.company?.plan?.id && data.company?.plan.planPeriod === planPeriod
|
|
17376
|
+
),
|
|
17377
|
+
[data.company?.plan, planPeriod, availablePlans]
|
|
17362
17378
|
);
|
|
17363
|
-
const
|
|
17364
|
-
() =>
|
|
17365
|
-
(
|
|
17379
|
+
const usageBasedEntitlements = (selectedPlan?.entitlements || []).reduce(
|
|
17380
|
+
(acc, entitlement) => {
|
|
17381
|
+
if (entitlement.priceBehavior && (planPeriod === "month" && entitlement.meteredMonthlyPrice || planPeriod === "year" && entitlement.meteredYearlyPrice)) {
|
|
17366
17382
|
const featureUsage = data.featureUsage?.features.find(
|
|
17367
|
-
(usage2) => usage2.feature?.id ===
|
|
17383
|
+
(usage2) => usage2.feature?.id === entitlement.feature?.id
|
|
17368
17384
|
);
|
|
17369
17385
|
const allocation = featureUsage?.allocation ?? 0;
|
|
17370
17386
|
const usage = featureUsage?.usage ?? 0;
|
|
17371
17387
|
acc.push({
|
|
17372
|
-
entitlement
|
|
17373
|
-
...usageData,
|
|
17374
|
-
id: featureUsage?.entitlementId ?? usageData.featureId,
|
|
17375
|
-
feature: featureUsage?.feature,
|
|
17376
|
-
meteredMonthlyPrice: usageData.meteredPrice,
|
|
17377
|
-
meteredYearlyPrice: usageData.meteredPrice
|
|
17378
|
-
},
|
|
17379
|
-
usageData,
|
|
17388
|
+
entitlement,
|
|
17380
17389
|
allocation,
|
|
17381
|
-
quantity: allocation
|
|
17390
|
+
quantity: allocation,
|
|
17382
17391
|
usage
|
|
17383
17392
|
});
|
|
17384
|
-
|
|
17385
|
-
|
|
17386
|
-
|
|
17387
|
-
|
|
17388
|
-
|
|
17393
|
+
}
|
|
17394
|
+
return acc;
|
|
17395
|
+
},
|
|
17396
|
+
[]
|
|
17397
|
+
);
|
|
17398
|
+
const addOns = useMemo7(
|
|
17399
|
+
() => availableAddOns.map((available) => ({
|
|
17400
|
+
...available,
|
|
17401
|
+
isSelected: data.company?.addOns.some((current) => available.id === current.id) ?? false
|
|
17402
|
+
})),
|
|
17403
|
+
[data.company?.addOns, availableAddOns]
|
|
17389
17404
|
);
|
|
17390
17405
|
const cancelDate = new Date(
|
|
17391
17406
|
data.subscription?.cancelAt || data.upcomingInvoice?.dueDate || Date.now()
|
|
@@ -17488,7 +17503,7 @@ var UnsubscribeDialog = () => {
|
|
|
17488
17503
|
{
|
|
17489
17504
|
onClick: () => {
|
|
17490
17505
|
setSelected({
|
|
17491
|
-
planId:
|
|
17506
|
+
planId: data.company?.plan?.id,
|
|
17492
17507
|
addOnId: void 0,
|
|
17493
17508
|
usage: false
|
|
17494
17509
|
});
|
|
@@ -17508,25 +17523,16 @@ var UnsubscribeDialog = () => {
|
|
|
17508
17523
|
/* @__PURE__ */ jsx20(
|
|
17509
17524
|
Sidebar,
|
|
17510
17525
|
{
|
|
17526
|
+
planPeriod,
|
|
17511
17527
|
addOns,
|
|
17512
|
-
|
|
17513
|
-
checkoutStages: [],
|
|
17514
|
-
currentAddOns,
|
|
17515
|
-
currentUsageBasedEntitlements,
|
|
17528
|
+
usageBasedEntitlements,
|
|
17516
17529
|
error,
|
|
17517
|
-
currentPlan,
|
|
17518
17530
|
isLoading,
|
|
17519
|
-
|
|
17531
|
+
showHeader: false,
|
|
17532
|
+
showPaymentForm: false,
|
|
17520
17533
|
requiresPayment: false,
|
|
17521
|
-
setCheckoutStage: () => {
|
|
17522
|
-
},
|
|
17523
17534
|
setError: (msg) => setError(msg),
|
|
17524
|
-
|
|
17525
|
-
toggleLoading: () => setIsLoading((prev2) => !prev2),
|
|
17526
|
-
updatePromoCode: () => {
|
|
17527
|
-
},
|
|
17528
|
-
usageBasedEntitlements: currentUsageBasedEntitlements,
|
|
17529
|
-
showHeader: false
|
|
17535
|
+
setIsLoading
|
|
17530
17536
|
}
|
|
17531
17537
|
)
|
|
17532
17538
|
]
|
|
@@ -17642,7 +17648,6 @@ var Badge = () => {
|
|
|
17642
17648
|
};
|
|
17643
17649
|
|
|
17644
17650
|
// src/components/layout/RenderLayout.tsx
|
|
17645
|
-
import { useEffect as useEffect6, useState as useState11 } from "react";
|
|
17646
17651
|
import { jsx as jsx22, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
17647
17652
|
var Disabled = () => {
|
|
17648
17653
|
const theme = nt();
|
|
@@ -17681,71 +17686,11 @@ var Disabled = () => {
|
|
|
17681
17686
|
}
|
|
17682
17687
|
) }) });
|
|
17683
17688
|
};
|
|
17684
|
-
var Success = () => {
|
|
17685
|
-
const theme = nt();
|
|
17686
|
-
const { hydrate, data, api, setLayout, isPending } = useEmbed();
|
|
17687
|
-
const [isOpen, setIsOpen] = useState11(true);
|
|
17688
|
-
useEffect6(() => {
|
|
17689
|
-
if (api && data.component?.id) {
|
|
17690
|
-
hydrate();
|
|
17691
|
-
setTimeout(() => setIsOpen(false), 2e3);
|
|
17692
|
-
}
|
|
17693
|
-
}, [api, data.component?.id, hydrate]);
|
|
17694
|
-
useEffect6(() => {
|
|
17695
|
-
if (!isPending && !isOpen) {
|
|
17696
|
-
setLayout("portal");
|
|
17697
|
-
}
|
|
17698
|
-
}, [isPending, isOpen, setLayout]);
|
|
17699
|
-
return /* @__PURE__ */ jsx22(Box, { $width: "max-content", $height: "max-content", $margin: "0 auto", children: /* @__PURE__ */ jsx22(Card, { children: /* @__PURE__ */ jsxs17(
|
|
17700
|
-
Element,
|
|
17701
|
-
{
|
|
17702
|
-
as: Flex,
|
|
17703
|
-
$flexDirection: "column",
|
|
17704
|
-
$justifyContent: "center",
|
|
17705
|
-
$alignItems: "center",
|
|
17706
|
-
$whiteSpace: "nowrap",
|
|
17707
|
-
children: [
|
|
17708
|
-
/* @__PURE__ */ jsx22(Box, { $marginBottom: "1.5rem", children: /* @__PURE__ */ jsx22(
|
|
17709
|
-
IconRound,
|
|
17710
|
-
{
|
|
17711
|
-
name: "check",
|
|
17712
|
-
size: "3xl",
|
|
17713
|
-
colors: [theme.card.background, theme.primary]
|
|
17714
|
-
}
|
|
17715
|
-
) }),
|
|
17716
|
-
/* @__PURE__ */ jsx22(Box, { $marginBottom: "0.5rem", children: /* @__PURE__ */ jsx22(
|
|
17717
|
-
Text,
|
|
17718
|
-
{
|
|
17719
|
-
as: "h1",
|
|
17720
|
-
$font: theme.typography.heading1.fontFamily,
|
|
17721
|
-
$size: theme.typography.heading1.fontSize,
|
|
17722
|
-
$weight: theme.typography.heading1.fontWeight,
|
|
17723
|
-
$color: theme.typography.heading1.color,
|
|
17724
|
-
children: "Subscription updated!"
|
|
17725
|
-
}
|
|
17726
|
-
) }),
|
|
17727
|
-
/* @__PURE__ */ jsx22(
|
|
17728
|
-
Text,
|
|
17729
|
-
{
|
|
17730
|
-
as: "p",
|
|
17731
|
-
$font: theme.typography.text.fontFamily,
|
|
17732
|
-
$size: theme.typography.text.fontSize,
|
|
17733
|
-
$weight: theme.typography.text.fontWeight,
|
|
17734
|
-
$color: theme.typography.text.color,
|
|
17735
|
-
children: "Loading\u2026"
|
|
17736
|
-
}
|
|
17737
|
-
)
|
|
17738
|
-
]
|
|
17739
|
-
}
|
|
17740
|
-
) }) });
|
|
17741
|
-
};
|
|
17742
17689
|
var RenderLayout = ({ children }) => {
|
|
17743
17690
|
const { layout } = useEmbed();
|
|
17744
17691
|
switch (layout) {
|
|
17745
17692
|
case "disabled":
|
|
17746
17693
|
return /* @__PURE__ */ jsx22(Disabled, {});
|
|
17747
|
-
case "success":
|
|
17748
|
-
return /* @__PURE__ */ jsx22(Success, {});
|
|
17749
17694
|
default:
|
|
17750
17695
|
return children;
|
|
17751
17696
|
}
|
|
@@ -17774,7 +17719,7 @@ import { Fragment as Fragment9, jsx as jsx23, jsxs as jsxs18 } from "react/jsx-r
|
|
|
17774
17719
|
var Viewport = forwardRef4(
|
|
17775
17720
|
({ children, portal, ...props }, ref) => {
|
|
17776
17721
|
const { data, layout } = useEmbed();
|
|
17777
|
-
const [top, setTop] =
|
|
17722
|
+
const [top, setTop] = useState11(0);
|
|
17778
17723
|
const canCheckout = data.capabilities?.checkout ?? true;
|
|
17779
17724
|
useLayoutEffect5(() => {
|
|
17780
17725
|
if (layout !== "checkout" && layout !== "unsubscribe") {
|
|
@@ -17803,7 +17748,7 @@ var Viewport = forwardRef4(
|
|
|
17803
17748
|
Viewport.displayName = "Viewport";
|
|
17804
17749
|
|
|
17805
17750
|
// src/components/layout/column/Column.tsx
|
|
17806
|
-
import { forwardRef as forwardRef6 } from "react";
|
|
17751
|
+
import { Children as Children2, forwardRef as forwardRef6 } from "react";
|
|
17807
17752
|
|
|
17808
17753
|
// src/components/layout/card/Card.tsx
|
|
17809
17754
|
import { forwardRef as forwardRef5 } from "react";
|
|
@@ -17817,8 +17762,9 @@ var StyledCard = dt.div(({ theme }) => {
|
|
|
17817
17762
|
const borderColor = l2 > 50 ? "hsla(0, 0%, 0%, 0.1)" : "hsla(0, 0%, 100%, 0.2)";
|
|
17818
17763
|
const borderRadius = `${theme.card.borderRadius / TEXT_BASE_SIZE}rem`;
|
|
17819
17764
|
return lt`
|
|
17820
|
-
|
|
17765
|
+
position: relative;
|
|
17821
17766
|
box-sizing: border-box;
|
|
17767
|
+
font-size: ${TEXT_BASE_SIZE}px;
|
|
17822
17768
|
|
|
17823
17769
|
*,
|
|
17824
17770
|
*::before,
|
|
@@ -17849,10 +17795,31 @@ var StyledCard = dt.div(({ theme }) => {
|
|
|
17849
17795
|
});
|
|
17850
17796
|
|
|
17851
17797
|
// src/components/layout/card/Card.tsx
|
|
17852
|
-
import { jsx as jsx24 } from "react/jsx-runtime";
|
|
17798
|
+
import { jsx as jsx24, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
17853
17799
|
var Card = forwardRef5(
|
|
17854
17800
|
({ children, className }, ref) => {
|
|
17855
|
-
|
|
17801
|
+
const { isPending } = useEmbed();
|
|
17802
|
+
const theme = nt();
|
|
17803
|
+
return /* @__PURE__ */ jsxs19(StyledCard, { ref, className, children: [
|
|
17804
|
+
isPending && /* @__PURE__ */ jsx24(
|
|
17805
|
+
Flex,
|
|
17806
|
+
{
|
|
17807
|
+
$position: "absolute",
|
|
17808
|
+
$top: 0,
|
|
17809
|
+
$left: 0,
|
|
17810
|
+
$zIndex: 1,
|
|
17811
|
+
$width: "100%",
|
|
17812
|
+
$height: "100%",
|
|
17813
|
+
$justifyContent: "center",
|
|
17814
|
+
$alignItems: "center",
|
|
17815
|
+
$backgroundColor: hsla(theme.card.background, 0.8),
|
|
17816
|
+
$backdropFilter: "blur(8px)",
|
|
17817
|
+
$borderRadius: `${theme.card.borderRadius / TEXT_BASE_SIZE}rem`,
|
|
17818
|
+
children: /* @__PURE__ */ jsx24(Loader, { $color: theme.primary })
|
|
17819
|
+
}
|
|
17820
|
+
),
|
|
17821
|
+
children
|
|
17822
|
+
] });
|
|
17856
17823
|
}
|
|
17857
17824
|
);
|
|
17858
17825
|
Card.displayName = "Card";
|
|
@@ -17866,7 +17833,7 @@ var StyledColumn = dt.div`
|
|
|
17866
17833
|
import { jsx as jsx25 } from "react/jsx-runtime";
|
|
17867
17834
|
var Column = forwardRef6(
|
|
17868
17835
|
({ children, basis, ...props }, ref) => {
|
|
17869
|
-
return /* @__PURE__ */ jsx25(StyledColumn, { ref, ...props, children: /* @__PURE__ */ jsx25(Card, { children }) });
|
|
17836
|
+
return /* @__PURE__ */ jsx25(StyledColumn, { ref, ...props, children: Children2.count(children) > 0 ? /* @__PURE__ */ jsx25(Card, { children }) : children });
|
|
17870
17837
|
}
|
|
17871
17838
|
);
|
|
17872
17839
|
Column.displayName = "Column";
|
|
@@ -17874,7 +17841,7 @@ Column.displayName = "Column";
|
|
|
17874
17841
|
// src/components/elements/included-features/Details.tsx
|
|
17875
17842
|
import { useMemo as useMemo8 } from "react";
|
|
17876
17843
|
var import_pluralize4 = __toESM(require_pluralize());
|
|
17877
|
-
import { jsx as jsx26, jsxs as
|
|
17844
|
+
import { jsx as jsx26, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
17878
17845
|
var Details = ({
|
|
17879
17846
|
details,
|
|
17880
17847
|
shouldWrapChildren,
|
|
@@ -17932,7 +17899,7 @@ var Details = ({
|
|
|
17932
17899
|
if (!priceBehavior) {
|
|
17933
17900
|
return t2("Unlimited", { item: (0, import_pluralize4.default)(feature.name) });
|
|
17934
17901
|
}
|
|
17935
|
-
}, [allocation, feature?.name, price, priceBehavior,
|
|
17902
|
+
}, [t2, allocation, feature?.name, price, priceBehavior, currency]);
|
|
17936
17903
|
const usageText = useMemo8(() => {
|
|
17937
17904
|
if (!feature?.name) {
|
|
17938
17905
|
return;
|
|
@@ -17962,12 +17929,12 @@ var Details = ({
|
|
|
17962
17929
|
});
|
|
17963
17930
|
}
|
|
17964
17931
|
}, [
|
|
17932
|
+
t2,
|
|
17965
17933
|
allocation,
|
|
17966
17934
|
data.company?.plan?.planPeriod,
|
|
17967
17935
|
feature?.name,
|
|
17968
17936
|
price,
|
|
17969
17937
|
priceBehavior,
|
|
17970
|
-
t2,
|
|
17971
17938
|
usage,
|
|
17972
17939
|
usageData,
|
|
17973
17940
|
currency
|
|
@@ -17975,7 +17942,7 @@ var Details = ({
|
|
|
17975
17942
|
if (!text) {
|
|
17976
17943
|
return null;
|
|
17977
17944
|
}
|
|
17978
|
-
return /* @__PURE__ */
|
|
17945
|
+
return /* @__PURE__ */ jsxs20(
|
|
17979
17946
|
Box,
|
|
17980
17947
|
{
|
|
17981
17948
|
$flexBasis: "min-content",
|
|
@@ -18010,7 +17977,7 @@ var Details = ({
|
|
|
18010
17977
|
};
|
|
18011
17978
|
|
|
18012
17979
|
// src/components/elements/included-features/IncludedFeatures.tsx
|
|
18013
|
-
import { jsx as jsx27, jsxs as
|
|
17980
|
+
import { jsx as jsx27, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
18014
17981
|
function resolveDesignProps(props) {
|
|
18015
17982
|
return {
|
|
18016
17983
|
header: {
|
|
@@ -18047,34 +18014,16 @@ var IncludedFeatures = forwardRef7(({ className, ...rest }, ref) => {
|
|
|
18047
18014
|
const elements = useRef6([]);
|
|
18048
18015
|
const shouldWrapChildren = useWrapChildren(elements.current);
|
|
18049
18016
|
const isLightBackground = useIsLightBackground();
|
|
18050
|
-
const [showCount, setShowCount] =
|
|
18051
|
-
const entitlements = (
|
|
18052
|
-
|
|
18053
|
-
return 1;
|
|
18054
|
-
}
|
|
18055
|
-
if (a2.feature?.name && b2.feature?.name && a2.feature?.name < b2.feature?.name) {
|
|
18056
|
-
return -1;
|
|
18057
|
-
}
|
|
18058
|
-
return 0;
|
|
18059
|
-
}).reduce((acc, usage) => {
|
|
18060
|
-
if (usage.feature?.id) {
|
|
18061
|
-
acc.push(usage.feature.id);
|
|
18062
|
-
}
|
|
18063
|
-
return acc;
|
|
18064
|
-
}, []) || []).reduce(
|
|
18065
|
-
(acc, id) => {
|
|
18066
|
-
const mappedFeatureUsage = data.featureUsage?.features.find(
|
|
18067
|
-
(usage) => usage.feature?.id === id
|
|
18068
|
-
);
|
|
18017
|
+
const [showCount, setShowCount] = useState12(VISIBLE_ENTITLEMENT_COUNT);
|
|
18018
|
+
const entitlements = (data.featureUsage?.features || []).reduce(
|
|
18019
|
+
(acc, usage) => {
|
|
18069
18020
|
const mappedUsageData = data.activeUsageBasedEntitlements.find(
|
|
18070
|
-
(entitlement) => entitlement.featureId === id
|
|
18021
|
+
(entitlement) => entitlement.featureId === usage.feature?.id
|
|
18071
18022
|
);
|
|
18072
|
-
|
|
18073
|
-
|
|
18074
|
-
|
|
18075
|
-
|
|
18076
|
-
});
|
|
18077
|
-
}
|
|
18023
|
+
acc.push({
|
|
18024
|
+
featureUsage: usage,
|
|
18025
|
+
usageData: mappedUsageData
|
|
18026
|
+
});
|
|
18078
18027
|
return acc;
|
|
18079
18028
|
},
|
|
18080
18029
|
[]
|
|
@@ -18091,7 +18040,7 @@ var IncludedFeatures = forwardRef7(({ className, ...rest }, ref) => {
|
|
|
18091
18040
|
}
|
|
18092
18041
|
const shouldShowExpand = featureListSize > VISIBLE_ENTITLEMENT_COUNT;
|
|
18093
18042
|
const isExpanded = showCount > VISIBLE_ENTITLEMENT_COUNT;
|
|
18094
|
-
return /* @__PURE__ */
|
|
18043
|
+
return /* @__PURE__ */ jsxs21(
|
|
18095
18044
|
Element,
|
|
18096
18045
|
{
|
|
18097
18046
|
as: Flex,
|
|
@@ -18113,7 +18062,7 @@ var IncludedFeatures = forwardRef7(({ className, ...rest }, ref) => {
|
|
|
18113
18062
|
entitlements.slice(0, showCount).map((entitlement, index) => {
|
|
18114
18063
|
const { entitlementExpirationDate, feature } = entitlement.featureUsage || {};
|
|
18115
18064
|
const shouldShowDetails = feature?.name && (feature?.featureType === "event" || feature?.featureType === "trait");
|
|
18116
|
-
return /* @__PURE__ */
|
|
18065
|
+
return /* @__PURE__ */ jsxs21(
|
|
18117
18066
|
Flex,
|
|
18118
18067
|
{
|
|
18119
18068
|
ref: (el) => {
|
|
@@ -18126,7 +18075,7 @@ var IncludedFeatures = forwardRef7(({ className, ...rest }, ref) => {
|
|
|
18126
18075
|
$alignItems: "center",
|
|
18127
18076
|
$gap: "1rem",
|
|
18128
18077
|
children: [
|
|
18129
|
-
/* @__PURE__ */
|
|
18078
|
+
/* @__PURE__ */ jsxs21(
|
|
18130
18079
|
Flex,
|
|
18131
18080
|
{
|
|
18132
18081
|
$alignItems: "center",
|
|
@@ -18155,7 +18104,7 @@ var IncludedFeatures = forwardRef7(({ className, ...rest }, ref) => {
|
|
|
18155
18104
|
children: feature.name
|
|
18156
18105
|
}
|
|
18157
18106
|
),
|
|
18158
|
-
props.entitlementExpiration.isVisible && entitlementExpirationDate && /* @__PURE__ */
|
|
18107
|
+
props.entitlementExpiration.isVisible && entitlementExpirationDate && /* @__PURE__ */ jsxs21(
|
|
18159
18108
|
Text,
|
|
18160
18109
|
{
|
|
18161
18110
|
$font: theme.typography[props.entitlementExpiration.fontStyle].fontFamily,
|
|
@@ -18188,7 +18137,7 @@ var IncludedFeatures = forwardRef7(({ className, ...rest }, ref) => {
|
|
|
18188
18137
|
index
|
|
18189
18138
|
);
|
|
18190
18139
|
}),
|
|
18191
|
-
shouldShowExpand && /* @__PURE__ */
|
|
18140
|
+
shouldShowExpand && /* @__PURE__ */ jsxs21(Flex, { $alignItems: "center", $justifyContent: "start", $marginTop: "1rem", children: [
|
|
18192
18141
|
/* @__PURE__ */ jsx27(
|
|
18193
18142
|
Icon2,
|
|
18194
18143
|
{
|
|
@@ -18222,8 +18171,8 @@ var IncludedFeatures = forwardRef7(({ className, ...rest }, ref) => {
|
|
|
18222
18171
|
IncludedFeatures.displayName = "IncludedFeatures";
|
|
18223
18172
|
|
|
18224
18173
|
// src/components/elements/invoices/Invoices.tsx
|
|
18225
|
-
import { forwardRef as forwardRef8, useEffect as
|
|
18226
|
-
import { jsx as jsx28, jsxs as
|
|
18174
|
+
import { forwardRef as forwardRef8, useEffect as useEffect6, useState as useState13 } from "react";
|
|
18175
|
+
import { jsx as jsx28, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
18227
18176
|
function resolveDesignProps2(props) {
|
|
18228
18177
|
return {
|
|
18229
18178
|
header: {
|
|
@@ -18281,14 +18230,14 @@ var Invoices = forwardRef8(({ className, data, ...rest }, ref) => {
|
|
|
18281
18230
|
const { t: t2 } = useTranslation();
|
|
18282
18231
|
const theme = nt();
|
|
18283
18232
|
const { api } = useEmbed();
|
|
18284
|
-
const [invoices, setInvoices] =
|
|
18285
|
-
const [listSize, setListSize] =
|
|
18233
|
+
const [invoices, setInvoices] = useState13(() => formatInvoices(data));
|
|
18234
|
+
const [listSize, setListSize] = useState13(props.limit.number);
|
|
18286
18235
|
const toggleListSize = () => {
|
|
18287
18236
|
setListSize(
|
|
18288
18237
|
(prev2) => prev2 !== props.limit.number ? props.limit.number : MAX_VISIBLE_INVOICE_COUNT
|
|
18289
18238
|
);
|
|
18290
18239
|
};
|
|
18291
|
-
|
|
18240
|
+
useEffect6(() => {
|
|
18292
18241
|
api?.listInvoices().then(({ data: data2 }) => {
|
|
18293
18242
|
setInvoices(formatInvoices(data2));
|
|
18294
18243
|
});
|
|
@@ -18296,7 +18245,7 @@ var Invoices = forwardRef8(({ className, data, ...rest }, ref) => {
|
|
|
18296
18245
|
if (invoices.length === 0) {
|
|
18297
18246
|
return null;
|
|
18298
18247
|
}
|
|
18299
|
-
return /* @__PURE__ */ jsx28(Element, { ref, className, children: /* @__PURE__ */
|
|
18248
|
+
return /* @__PURE__ */ jsx28(Element, { ref, className, children: /* @__PURE__ */ jsxs22(Flex, { $flexDirection: "column", $gap: "1rem", children: [
|
|
18300
18249
|
props.header.isVisible && /* @__PURE__ */ jsx28(Flex, { $justifyContent: "space-between", $alignItems: "center", children: /* @__PURE__ */ jsx28(
|
|
18301
18250
|
Text,
|
|
18302
18251
|
{
|
|
@@ -18308,7 +18257,7 @@ var Invoices = forwardRef8(({ className, data, ...rest }, ref) => {
|
|
|
18308
18257
|
}
|
|
18309
18258
|
) }),
|
|
18310
18259
|
/* @__PURE__ */ jsx28(Flex, { $flexDirection: "column", $gap: "0.5rem", children: invoices.slice(0, listSize).map(({ date, amount, url }, index) => {
|
|
18311
|
-
return /* @__PURE__ */
|
|
18260
|
+
return /* @__PURE__ */ jsxs22(Flex, { $justifyContent: "space-between", children: [
|
|
18312
18261
|
props.date.isVisible && date && /* @__PURE__ */ jsx28(
|
|
18313
18262
|
InvoiceDate,
|
|
18314
18263
|
{
|
|
@@ -18329,7 +18278,7 @@ var Invoices = forwardRef8(({ className, data, ...rest }, ref) => {
|
|
|
18329
18278
|
)
|
|
18330
18279
|
] }, index);
|
|
18331
18280
|
}) }),
|
|
18332
|
-
props.collapse.isVisible && invoices.length > props.limit.number && /* @__PURE__ */
|
|
18281
|
+
props.collapse.isVisible && invoices.length > props.limit.number && /* @__PURE__ */ jsxs22(Flex, { $alignItems: "center", $gap: "0.5rem", children: [
|
|
18333
18282
|
/* @__PURE__ */ jsx28(
|
|
18334
18283
|
Icon2,
|
|
18335
18284
|
{
|
|
@@ -18375,7 +18324,7 @@ var Container4 = dt(Flex)`
|
|
|
18375
18324
|
`;
|
|
18376
18325
|
|
|
18377
18326
|
// src/components/elements/metered-features/MeteredFeatures.tsx
|
|
18378
|
-
import { Fragment as Fragment10, jsx as jsx29, jsxs as
|
|
18327
|
+
import { Fragment as Fragment10, jsx as jsx29, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
18379
18328
|
function resolveDesignProps3(props) {
|
|
18380
18329
|
return {
|
|
18381
18330
|
isVisible: props.isVisible ?? true,
|
|
@@ -18444,7 +18393,7 @@ var MeteredFeatures = forwardRef9(({ className, ...rest }, ref) => {
|
|
|
18444
18393
|
price = yearlyUsageBasedPrice?.price;
|
|
18445
18394
|
currency = yearlyUsageBasedPrice?.currency;
|
|
18446
18395
|
}
|
|
18447
|
-
return /* @__PURE__ */
|
|
18396
|
+
return /* @__PURE__ */ jsxs23(Element, { as: Flex, $gap: "1.5rem", children: [
|
|
18448
18397
|
props.icon.isVisible && feature?.icon && /* @__PURE__ */ jsx29(
|
|
18449
18398
|
IconRound,
|
|
18450
18399
|
{
|
|
@@ -18456,8 +18405,8 @@ var MeteredFeatures = forwardRef9(({ className, ...rest }, ref) => {
|
|
|
18456
18405
|
]
|
|
18457
18406
|
}
|
|
18458
18407
|
),
|
|
18459
|
-
/* @__PURE__ */
|
|
18460
|
-
/* @__PURE__ */
|
|
18408
|
+
/* @__PURE__ */ jsxs23(Flex, { $flexDirection: "column", $gap: "2rem", $flexGrow: "1", children: [
|
|
18409
|
+
/* @__PURE__ */ jsxs23(
|
|
18461
18410
|
Flex,
|
|
18462
18411
|
{
|
|
18463
18412
|
ref: (el) => {
|
|
@@ -18468,7 +18417,7 @@ var MeteredFeatures = forwardRef9(({ className, ...rest }, ref) => {
|
|
|
18468
18417
|
$flexWrap: "wrap",
|
|
18469
18418
|
$gap: "1rem",
|
|
18470
18419
|
children: [
|
|
18471
|
-
feature?.name && /* @__PURE__ */
|
|
18420
|
+
feature?.name && /* @__PURE__ */ jsxs23(Flex, { $flexDirection: "column", $gap: "0.5rem", $flexGrow: "1", children: [
|
|
18472
18421
|
/* @__PURE__ */ jsx29(
|
|
18473
18422
|
Text,
|
|
18474
18423
|
{
|
|
@@ -18477,7 +18426,7 @@ var MeteredFeatures = forwardRef9(({ className, ...rest }, ref) => {
|
|
|
18477
18426
|
$size: theme.typography[props.header.fontStyle].fontSize,
|
|
18478
18427
|
$weight: theme.typography[props.header.fontStyle].fontWeight,
|
|
18479
18428
|
$color: theme.typography[props.header.fontStyle].color,
|
|
18480
|
-
children: priceBehavior === "pay_as_you_go" ? typeof usage === "number" && /* @__PURE__ */
|
|
18429
|
+
children: priceBehavior === "pay_as_you_go" ? typeof usage === "number" && /* @__PURE__ */ jsxs23(Fragment10, { children: [
|
|
18481
18430
|
formatNumber(usage),
|
|
18482
18431
|
" ",
|
|
18483
18432
|
(0, import_pluralize5.default)(feature.name, usage)
|
|
@@ -18496,7 +18445,7 @@ var MeteredFeatures = forwardRef9(({ className, ...rest }, ref) => {
|
|
|
18496
18445
|
}
|
|
18497
18446
|
)
|
|
18498
18447
|
] }),
|
|
18499
|
-
(feature?.featureType === "event" || feature?.featureType === "trait") && feature?.name && /* @__PURE__ */
|
|
18448
|
+
(feature?.featureType === "event" || feature?.featureType === "trait") && feature?.name && /* @__PURE__ */ jsxs23(
|
|
18500
18449
|
Box,
|
|
18501
18450
|
{
|
|
18502
18451
|
$flexBasis: "min-content",
|
|
@@ -18512,11 +18461,11 @@ var MeteredFeatures = forwardRef9(({ className, ...rest }, ref) => {
|
|
|
18512
18461
|
$weight: theme.typography[props.usage.fontStyle].fontWeight,
|
|
18513
18462
|
$leading: 1.25,
|
|
18514
18463
|
$color: theme.typography[props.usage.fontStyle].color,
|
|
18515
|
-
children: priceBehavior === "pay_in_advance" ? typeof allocation === "number" && /* @__PURE__ */
|
|
18464
|
+
children: priceBehavior === "pay_in_advance" ? typeof allocation === "number" && /* @__PURE__ */ jsxs23(Fragment10, { children: [
|
|
18516
18465
|
formatNumber(allocation),
|
|
18517
18466
|
" ",
|
|
18518
18467
|
(0, import_pluralize5.default)(feature.name, allocation)
|
|
18519
|
-
] }) : priceBehavior === "pay_as_you_go" ? typeof price === "number" && typeof usage === "number" && formatCurrency(usage * price, currency) : typeof usage === "number" && /* @__PURE__ */
|
|
18468
|
+
] }) : priceBehavior === "pay_as_you_go" ? typeof price === "number" && typeof usage === "number" && formatCurrency(usage * price, currency) : typeof usage === "number" && /* @__PURE__ */ jsxs23(Fragment10, { children: [
|
|
18520
18469
|
formatNumber(usage),
|
|
18521
18470
|
" ",
|
|
18522
18471
|
(0, import_pluralize5.default)(feature.name, usage)
|
|
@@ -18547,7 +18496,7 @@ var MeteredFeatures = forwardRef9(({ className, ...rest }, ref) => {
|
|
|
18547
18496
|
]
|
|
18548
18497
|
}
|
|
18549
18498
|
),
|
|
18550
|
-
props.isVisible && typeof usage === "number" && typeof allocation === "number" && priceBehavior !== "pay_as_you_go" && /* @__PURE__ */
|
|
18499
|
+
props.isVisible && typeof usage === "number" && typeof allocation === "number" && priceBehavior !== "pay_as_you_go" && /* @__PURE__ */ jsxs23(Flex, { $gap: "2rem", children: [
|
|
18551
18500
|
/* @__PURE__ */ jsx29(
|
|
18552
18501
|
ProgressBar,
|
|
18553
18502
|
{
|
|
@@ -18563,6 +18512,7 @@ var MeteredFeatures = forwardRef9(({ className, ...rest }, ref) => {
|
|
|
18563
18512
|
priceBehavior === "pay_in_advance" && /* @__PURE__ */ jsx29(
|
|
18564
18513
|
EmbedButton,
|
|
18565
18514
|
{
|
|
18515
|
+
type: "button",
|
|
18566
18516
|
onClick: () => {
|
|
18567
18517
|
setSelected({ usage: true });
|
|
18568
18518
|
setLayout("checkout");
|
|
@@ -18586,14 +18536,14 @@ MeteredFeatures.displayName = "MeteredFeatures";
|
|
|
18586
18536
|
import {
|
|
18587
18537
|
forwardRef as forwardRef10,
|
|
18588
18538
|
useCallback as useCallback9,
|
|
18589
|
-
useEffect as
|
|
18539
|
+
useEffect as useEffect7,
|
|
18590
18540
|
useLayoutEffect as useLayoutEffect6,
|
|
18591
18541
|
useMemo as useMemo9,
|
|
18592
|
-
useState as
|
|
18542
|
+
useState as useState14
|
|
18593
18543
|
} from "react";
|
|
18594
18544
|
import { createPortal as createPortal3 } from "react-dom";
|
|
18595
18545
|
import { Elements as Elements2 } from "@stripe/react-stripe-js";
|
|
18596
|
-
import { Fragment as Fragment11, jsx as jsx30, jsxs as
|
|
18546
|
+
import { Fragment as Fragment11, jsx as jsx30, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
18597
18547
|
var PaymentElement2 = ({
|
|
18598
18548
|
iconName,
|
|
18599
18549
|
iconTitle,
|
|
@@ -18602,9 +18552,9 @@ var PaymentElement2 = ({
|
|
|
18602
18552
|
paymentLast4
|
|
18603
18553
|
}) => {
|
|
18604
18554
|
const theme = nt();
|
|
18605
|
-
return /* @__PURE__ */ jsx30(Fragment11, { children: /* @__PURE__ */ jsx30(Text, { $font: theme.typography.text.fontFamily, $size: 16, children: /* @__PURE__ */
|
|
18555
|
+
return /* @__PURE__ */ jsx30(Fragment11, { children: /* @__PURE__ */ jsx30(Text, { $font: theme.typography.text.fontFamily, $size: 16, children: /* @__PURE__ */ jsxs24(Flex, { $flexDirection: "row", $alignItems: "center", children: [
|
|
18606
18556
|
iconName && /* @__PURE__ */ jsx30(Box, { children: /* @__PURE__ */ jsx30(Icon2, { name: iconName, title: iconTitle, style: iconStyles }) }),
|
|
18607
|
-
/* @__PURE__ */
|
|
18557
|
+
/* @__PURE__ */ jsxs24(Flex, { $alignItems: "center", children: [
|
|
18608
18558
|
/* @__PURE__ */ jsx30(Box, { $lineHeight: "1", $marginRight: "4px", children: t(label) }),
|
|
18609
18559
|
paymentLast4 && /* @__PURE__ */ jsx30(Box, { $display: "inline-block", $fontWeight: "bold", children: paymentLast4 })
|
|
18610
18560
|
] })
|
|
@@ -18711,8 +18661,8 @@ var PaymentMethodElement = ({
|
|
|
18711
18661
|
}
|
|
18712
18662
|
);
|
|
18713
18663
|
};
|
|
18714
|
-
return /* @__PURE__ */
|
|
18715
|
-
props.header.isVisible && /* @__PURE__ */
|
|
18664
|
+
return /* @__PURE__ */ jsxs24(Flex, { $flexDirection: "column", $gap: `${sizeFactor}rem`, children: [
|
|
18665
|
+
props.header.isVisible && /* @__PURE__ */ jsxs24(Flex, { $justifyContent: "space-between", $alignItems: "center", children: [
|
|
18716
18666
|
/* @__PURE__ */ jsx30(
|
|
18717
18667
|
Text,
|
|
18718
18668
|
{
|
|
@@ -18733,7 +18683,7 @@ var PaymentMethodElement = ({
|
|
|
18733
18683
|
}
|
|
18734
18684
|
)
|
|
18735
18685
|
] }),
|
|
18736
|
-
/* @__PURE__ */
|
|
18686
|
+
/* @__PURE__ */ jsxs24(
|
|
18737
18687
|
Flex,
|
|
18738
18688
|
{
|
|
18739
18689
|
$justifyContent: "space-between",
|
|
@@ -18764,16 +18714,16 @@ var PaymentMethod = forwardRef10(({ children, className, portal, allowEdit = tru
|
|
|
18764
18714
|
const props = resolveDesignProps4(rest);
|
|
18765
18715
|
const { t: t2 } = useTranslation();
|
|
18766
18716
|
const theme = nt();
|
|
18767
|
-
const { api, data, layout, setLayout } = useEmbed();
|
|
18717
|
+
const { api, data, layout, hydrate, setLayout } = useEmbed();
|
|
18768
18718
|
const isLightBackground = useIsLightBackground();
|
|
18769
|
-
const [isLoading, setIsLoading] =
|
|
18770
|
-
const [error, setError] =
|
|
18771
|
-
const [showPaymentForm, setShowPaymentForm] =
|
|
18719
|
+
const [isLoading, setIsLoading] = useState14(false);
|
|
18720
|
+
const [error, setError] = useState14();
|
|
18721
|
+
const [showPaymentForm, setShowPaymentForm] = useState14(
|
|
18772
18722
|
() => typeof data.subscription?.paymentMethod === "undefined"
|
|
18773
18723
|
);
|
|
18774
|
-
const [stripe, setStripe] =
|
|
18775
|
-
const [setupIntent, setSetupIntent] =
|
|
18776
|
-
const [top, setTop] =
|
|
18724
|
+
const [stripe, setStripe] = useState14(null);
|
|
18725
|
+
const [setupIntent, setSetupIntent] = useState14();
|
|
18726
|
+
const [top, setTop] = useState14(0);
|
|
18777
18727
|
const paymentMethod = useMemo9(() => {
|
|
18778
18728
|
return data.subscription?.paymentMethod;
|
|
18779
18729
|
}, [data.subscription?.paymentMethod]);
|
|
@@ -18821,16 +18771,18 @@ var PaymentMethod = forwardRef10(({ children, className, portal, allowEdit = tru
|
|
|
18821
18771
|
paymentMethodId: id
|
|
18822
18772
|
}
|
|
18823
18773
|
});
|
|
18824
|
-
setLayout("
|
|
18774
|
+
setLayout("portal");
|
|
18775
|
+
hydrate();
|
|
18825
18776
|
} catch {
|
|
18777
|
+
setLayout("payment");
|
|
18826
18778
|
setError(t2("Error updating payment method. Please try again."));
|
|
18827
18779
|
} finally {
|
|
18828
18780
|
setIsLoading(false);
|
|
18829
18781
|
}
|
|
18830
18782
|
},
|
|
18831
|
-
[t2, api, setLayout]
|
|
18783
|
+
[t2, api, hydrate, setLayout]
|
|
18832
18784
|
);
|
|
18833
|
-
|
|
18785
|
+
useEffect7(() => {
|
|
18834
18786
|
if (!stripe && setupIntent?.publishableKey) {
|
|
18835
18787
|
setStripe(loadStripe(setupIntent.publishableKey));
|
|
18836
18788
|
}
|
|
@@ -18849,7 +18801,7 @@ var PaymentMethod = forwardRef10(({ children, className, portal, allowEdit = tru
|
|
|
18849
18801
|
if (!paymentMethod?.paymentMethodType) {
|
|
18850
18802
|
return null;
|
|
18851
18803
|
}
|
|
18852
|
-
return /* @__PURE__ */
|
|
18804
|
+
return /* @__PURE__ */ jsxs24(Element, { ref, className, children: [
|
|
18853
18805
|
/* @__PURE__ */ jsx30(
|
|
18854
18806
|
PaymentMethodElement,
|
|
18855
18807
|
{
|
|
@@ -18860,7 +18812,7 @@ var PaymentMethod = forwardRef10(({ children, className, portal, allowEdit = tru
|
|
|
18860
18812
|
}
|
|
18861
18813
|
),
|
|
18862
18814
|
layout === "payment" && createPortal3(
|
|
18863
|
-
/* @__PURE__ */
|
|
18815
|
+
/* @__PURE__ */ jsxs24(Modal, { size: "md", top, onClose: () => setShowPaymentForm(false), children: [
|
|
18864
18816
|
/* @__PURE__ */ jsx30(ModalHeader, { bordered: true, children: /* @__PURE__ */ jsx30(
|
|
18865
18817
|
Text,
|
|
18866
18818
|
{
|
|
@@ -18880,7 +18832,7 @@ var PaymentMethod = forwardRef10(({ children, className, portal, allowEdit = tru
|
|
|
18880
18832
|
$padding: "2rem 2.5rem 2rem 2.5rem",
|
|
18881
18833
|
$backgroundColor: isLightBackground ? "hsla(0, 0%, 0%, 0.025)" : "hsla(0, 0%, 100%, 0.025)",
|
|
18882
18834
|
$overflow: "auto",
|
|
18883
|
-
children: /* @__PURE__ */
|
|
18835
|
+
children: /* @__PURE__ */ jsxs24(Fragment11, { children: [
|
|
18884
18836
|
showPaymentForm ? /* @__PURE__ */ jsx30(
|
|
18885
18837
|
Elements2,
|
|
18886
18838
|
{
|
|
@@ -18917,7 +18869,7 @@ var PaymentMethod = forwardRef10(({ children, className, portal, allowEdit = tru
|
|
|
18917
18869
|
}
|
|
18918
18870
|
)
|
|
18919
18871
|
}
|
|
18920
|
-
) : /* @__PURE__ */
|
|
18872
|
+
) : /* @__PURE__ */ jsxs24(Flex, { $flexDirection: "column", $gap: "2rem", children: [
|
|
18921
18873
|
/* @__PURE__ */ jsx30(
|
|
18922
18874
|
PaymentMethodElement,
|
|
18923
18875
|
{
|
|
@@ -18962,7 +18914,7 @@ PaymentMethod.displayName = "PaymentMethod";
|
|
|
18962
18914
|
// src/components/elements/plan-manager/PlanManager.tsx
|
|
18963
18915
|
import { forwardRef as forwardRef11 } from "react";
|
|
18964
18916
|
var import_pluralize6 = __toESM(require_pluralize());
|
|
18965
|
-
import { Fragment as Fragment12, jsx as jsx31, jsxs as
|
|
18917
|
+
import { Fragment as Fragment12, jsx as jsx31, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
18966
18918
|
var resolveDesignProps5 = (props) => {
|
|
18967
18919
|
return {
|
|
18968
18920
|
header: {
|
|
@@ -19026,14 +18978,14 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
|
|
|
19026
18978
|
const billingSubscription = data.company?.billingSubscription;
|
|
19027
18979
|
const subscriptionCurrency = billingSubscription?.currency;
|
|
19028
18980
|
const showTrialBox = billingSubscription && billingSubscription.status == "trialing";
|
|
19029
|
-
const showUnsubscribeBox = billingSubscription
|
|
18981
|
+
const showUnsubscribeBox = billingSubscription?.cancelAtPeriodEnd;
|
|
19030
18982
|
const trialEndDate = billingSubscription?.trialEnd ? new Date(billingSubscription.trialEnd * 1e3) : /* @__PURE__ */ new Date();
|
|
19031
18983
|
const todayDate = /* @__PURE__ */ new Date();
|
|
19032
18984
|
const trialEndDays = Math.floor(
|
|
19033
18985
|
(trialEndDate.getTime() - todayDate.getTime()) / (1e3 * 60 * 60 * 24)
|
|
19034
18986
|
);
|
|
19035
|
-
return /* @__PURE__ */
|
|
19036
|
-
showTrialBox && !showUnsubscribeBox && /* @__PURE__ */
|
|
18987
|
+
return /* @__PURE__ */ jsxs25(Fragment12, { children: [
|
|
18988
|
+
showTrialBox && !showUnsubscribeBox && /* @__PURE__ */ jsxs25(
|
|
19037
18989
|
Box,
|
|
19038
18990
|
{
|
|
19039
18991
|
$backgroundColor: isLightBackground ? "hsla(0, 0%, 0%, 0.04)" : "hsla(0, 0%, 100%, 0.04)",
|
|
@@ -19069,7 +19021,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
|
|
|
19069
19021
|
]
|
|
19070
19022
|
}
|
|
19071
19023
|
),
|
|
19072
|
-
showUnsubscribeBox && /* @__PURE__ */
|
|
19024
|
+
showUnsubscribeBox && /* @__PURE__ */ jsxs25(
|
|
19073
19025
|
Box,
|
|
19074
19026
|
{
|
|
19075
19027
|
$backgroundColor: isLightBackground ? "hsla(0, 0%, 0%, 0.04)" : "hsla(0, 0%, 100%, 0.04)",
|
|
@@ -19096,16 +19048,19 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
|
|
|
19096
19048
|
$weight: theme.typography.text.fontWeight,
|
|
19097
19049
|
$color: theme.typography.text.color,
|
|
19098
19050
|
children: billingSubscription.cancelAt ? t2("Access to plan will end on", {
|
|
19099
|
-
date: toPrettyDate(
|
|
19100
|
-
|
|
19101
|
-
|
|
19051
|
+
date: toPrettyDate(
|
|
19052
|
+
new Date(billingSubscription.cancelAt * 1e3),
|
|
19053
|
+
{
|
|
19054
|
+
month: "numeric"
|
|
19055
|
+
}
|
|
19056
|
+
)
|
|
19102
19057
|
}) : ""
|
|
19103
19058
|
}
|
|
19104
19059
|
)
|
|
19105
19060
|
]
|
|
19106
19061
|
}
|
|
19107
19062
|
),
|
|
19108
|
-
/* @__PURE__ */
|
|
19063
|
+
/* @__PURE__ */ jsxs25(
|
|
19109
19064
|
Element,
|
|
19110
19065
|
{
|
|
19111
19066
|
as: Flex,
|
|
@@ -19114,7 +19069,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
|
|
|
19114
19069
|
$flexDirection: "column",
|
|
19115
19070
|
$gap: "2rem",
|
|
19116
19071
|
children: [
|
|
19117
|
-
props.header.isVisible && currentPlan && /* @__PURE__ */
|
|
19072
|
+
props.header.isVisible && currentPlan && /* @__PURE__ */ jsxs25(
|
|
19118
19073
|
Flex,
|
|
19119
19074
|
{
|
|
19120
19075
|
$justifyContent: "space-between",
|
|
@@ -19122,7 +19077,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
|
|
|
19122
19077
|
$flexWrap: "wrap",
|
|
19123
19078
|
$gap: "1rem",
|
|
19124
19079
|
children: [
|
|
19125
|
-
/* @__PURE__ */
|
|
19080
|
+
/* @__PURE__ */ jsxs25(Flex, { $flexDirection: "column", $gap: "1rem", children: [
|
|
19126
19081
|
/* @__PURE__ */ jsx31(
|
|
19127
19082
|
Text,
|
|
19128
19083
|
{
|
|
@@ -19147,7 +19102,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
|
|
|
19147
19102
|
}
|
|
19148
19103
|
)
|
|
19149
19104
|
] }),
|
|
19150
|
-
props.header.price.isVisible && typeof currentPlan.planPrice === "number" && currentPlan.planPeriod && /* @__PURE__ */
|
|
19105
|
+
props.header.price.isVisible && typeof currentPlan.planPrice === "number" && currentPlan.planPeriod && /* @__PURE__ */ jsxs25(Box, { children: [
|
|
19151
19106
|
/* @__PURE__ */ jsx31(
|
|
19152
19107
|
Text,
|
|
19153
19108
|
{
|
|
@@ -19168,7 +19123,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
|
|
|
19168
19123
|
$size: theme.typography[props.header.price.fontStyle].fontSize,
|
|
19169
19124
|
$weight: theme.typography[props.header.price.fontStyle].fontWeight,
|
|
19170
19125
|
$color: theme.typography[props.header.price.fontStyle].color,
|
|
19171
|
-
children: /* @__PURE__ */
|
|
19126
|
+
children: /* @__PURE__ */ jsxs25("sub", { children: [
|
|
19172
19127
|
"/",
|
|
19173
19128
|
shortenPeriod(currentPlan.planPeriod)
|
|
19174
19129
|
] })
|
|
@@ -19178,7 +19133,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
|
|
|
19178
19133
|
]
|
|
19179
19134
|
}
|
|
19180
19135
|
),
|
|
19181
|
-
props.addOns.isVisible && addOns.length > 0 && /* @__PURE__ */
|
|
19136
|
+
props.addOns.isVisible && addOns.length > 0 && /* @__PURE__ */ jsxs25(Flex, { $flexDirection: "column", $gap: "1rem", children: [
|
|
19182
19137
|
props.addOns.showLabel && /* @__PURE__ */ jsx31(
|
|
19183
19138
|
Text,
|
|
19184
19139
|
{
|
|
@@ -19190,7 +19145,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
|
|
|
19190
19145
|
children: t2("Add-ons")
|
|
19191
19146
|
}
|
|
19192
19147
|
),
|
|
19193
|
-
addOns.map((addOn) => /* @__PURE__ */
|
|
19148
|
+
addOns.map((addOn) => /* @__PURE__ */ jsxs25(
|
|
19194
19149
|
Flex,
|
|
19195
19150
|
{
|
|
19196
19151
|
$justifyContent: "space-between",
|
|
@@ -19208,7 +19163,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
|
|
|
19208
19163
|
children: addOn.name
|
|
19209
19164
|
}
|
|
19210
19165
|
),
|
|
19211
|
-
addOn.planPrice && addOn.planPeriod && /* @__PURE__ */
|
|
19166
|
+
addOn.planPrice && addOn.planPeriod && /* @__PURE__ */ jsxs25(
|
|
19212
19167
|
Text,
|
|
19213
19168
|
{
|
|
19214
19169
|
$font: theme.typography.text.fontFamily,
|
|
@@ -19217,7 +19172,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
|
|
|
19217
19172
|
$color: theme.typography.text.color,
|
|
19218
19173
|
children: [
|
|
19219
19174
|
formatCurrency(addOn.planPrice, subscriptionCurrency),
|
|
19220
|
-
/* @__PURE__ */
|
|
19175
|
+
/* @__PURE__ */ jsxs25("sub", { children: [
|
|
19221
19176
|
"/",
|
|
19222
19177
|
shortenPeriod(addOn.planPeriod)
|
|
19223
19178
|
] })
|
|
@@ -19229,7 +19184,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
|
|
|
19229
19184
|
addOn.id
|
|
19230
19185
|
))
|
|
19231
19186
|
] }),
|
|
19232
|
-
usageBasedEntitlements.length > 0 && /* @__PURE__ */
|
|
19187
|
+
usageBasedEntitlements.length > 0 && /* @__PURE__ */ jsxs25(Flex, { $flexDirection: "column", $gap: "1rem", children: [
|
|
19233
19188
|
/* @__PURE__ */ jsx31(
|
|
19234
19189
|
Text,
|
|
19235
19190
|
{
|
|
@@ -19245,7 +19200,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
|
|
|
19245
19200
|
(acc, entitlement) => {
|
|
19246
19201
|
if (entitlement.feature?.name) {
|
|
19247
19202
|
acc.push(
|
|
19248
|
-
/* @__PURE__ */
|
|
19203
|
+
/* @__PURE__ */ jsxs25(
|
|
19249
19204
|
Flex,
|
|
19250
19205
|
{
|
|
19251
19206
|
$justifyContent: "space-between",
|
|
@@ -19260,7 +19215,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
|
|
|
19260
19215
|
$size: theme.typography[props.addOns.fontStyle].fontSize,
|
|
19261
19216
|
$weight: theme.typography[props.addOns.fontStyle].fontWeight,
|
|
19262
19217
|
$color: theme.typography[props.addOns.fontStyle].color,
|
|
19263
|
-
children: entitlement.priceBehavior === "pay_in_advance" ? /* @__PURE__ */
|
|
19218
|
+
children: entitlement.priceBehavior === "pay_in_advance" ? /* @__PURE__ */ jsxs25(Fragment12, { children: [
|
|
19264
19219
|
entitlement.quantity,
|
|
19265
19220
|
" ",
|
|
19266
19221
|
(0, import_pluralize6.default)(
|
|
@@ -19270,8 +19225,8 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
|
|
|
19270
19225
|
] }) : entitlement.feature.name
|
|
19271
19226
|
}
|
|
19272
19227
|
),
|
|
19273
|
-
/* @__PURE__ */
|
|
19274
|
-
entitlement.priceBehavior === "pay_in_advance" && currentPlan?.planPeriod && /* @__PURE__ */
|
|
19228
|
+
/* @__PURE__ */ jsxs25(Flex, { $alignItems: "center", $gap: "1rem", children: [
|
|
19229
|
+
entitlement.priceBehavior === "pay_in_advance" && currentPlan?.planPeriod && /* @__PURE__ */ jsxs25(
|
|
19275
19230
|
Text,
|
|
19276
19231
|
{
|
|
19277
19232
|
$font: theme.typography.text.fontFamily,
|
|
@@ -19283,7 +19238,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
|
|
|
19283
19238
|
entitlement.price,
|
|
19284
19239
|
entitlement.currencyCode
|
|
19285
19240
|
),
|
|
19286
|
-
/* @__PURE__ */
|
|
19241
|
+
/* @__PURE__ */ jsxs25("sub", { children: [
|
|
19287
19242
|
"/",
|
|
19288
19243
|
(0, import_pluralize6.default)(
|
|
19289
19244
|
entitlement.feature.name.toLowerCase(),
|
|
@@ -19295,7 +19250,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
|
|
|
19295
19250
|
]
|
|
19296
19251
|
}
|
|
19297
19252
|
),
|
|
19298
|
-
/* @__PURE__ */
|
|
19253
|
+
/* @__PURE__ */ jsxs25(
|
|
19299
19254
|
Text,
|
|
19300
19255
|
{
|
|
19301
19256
|
$font: theme.typography.text.fontFamily,
|
|
@@ -19307,7 +19262,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
|
|
|
19307
19262
|
entitlement.price * (entitlement.priceBehavior === "pay_in_advance" ? entitlement.quantity : 1),
|
|
19308
19263
|
entitlement.currencyCode
|
|
19309
19264
|
),
|
|
19310
|
-
/* @__PURE__ */
|
|
19265
|
+
/* @__PURE__ */ jsxs25("sub", { children: [
|
|
19311
19266
|
"/",
|
|
19312
19267
|
currentPlan?.planPeriod && entitlement.priceBehavior === "pay_in_advance" ? shortenPeriod(currentPlan.planPeriod) : (0, import_pluralize6.default)(
|
|
19313
19268
|
entitlement.feature.name.toLowerCase(),
|
|
@@ -19332,6 +19287,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
|
|
|
19332
19287
|
canCheckout && props.callToAction.isVisible && /* @__PURE__ */ jsx31(
|
|
19333
19288
|
EmbedButton,
|
|
19334
19289
|
{
|
|
19290
|
+
type: "button",
|
|
19335
19291
|
onClick: () => {
|
|
19336
19292
|
setSelected({
|
|
19337
19293
|
planId: currentPlan?.id,
|
|
@@ -19353,9 +19309,9 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
|
|
|
19353
19309
|
PlanManager.displayName = "PlanManager";
|
|
19354
19310
|
|
|
19355
19311
|
// src/components/elements/pricing-table/PricingTable.tsx
|
|
19356
|
-
import { forwardRef as forwardRef12, useState as
|
|
19312
|
+
import { forwardRef as forwardRef12, useState as useState15 } from "react";
|
|
19357
19313
|
var import_pluralize7 = __toESM(require_pluralize());
|
|
19358
|
-
import { Fragment as Fragment13, jsx as jsx32, jsxs as
|
|
19314
|
+
import { Fragment as Fragment13, jsx as jsx32, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
19359
19315
|
var resolveDesignProps6 = (props) => {
|
|
19360
19316
|
return {
|
|
19361
19317
|
showPeriodToggle: props.showPeriodToggle ?? true,
|
|
@@ -19401,12 +19357,12 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19401
19357
|
const theme = nt();
|
|
19402
19358
|
const { data, setLayout, setSelected } = useEmbed();
|
|
19403
19359
|
const trialEndDays = useTrialEnd();
|
|
19404
|
-
const [selectedPeriod, setSelectedPeriod] =
|
|
19360
|
+
const [selectedPeriod, setSelectedPeriod] = useState15(
|
|
19405
19361
|
() => data.company?.plan?.planPeriod || "month"
|
|
19406
19362
|
);
|
|
19407
19363
|
const { plans, addOns, periods } = useAvailablePlans(selectedPeriod);
|
|
19408
19364
|
const isLightBackground = useIsLightBackground();
|
|
19409
|
-
const [entitlementCounts, setEntitlementCounts] =
|
|
19365
|
+
const [entitlementCounts, setEntitlementCounts] = useState15(
|
|
19410
19366
|
() => plans.reduce(
|
|
19411
19367
|
(acc, plan) => {
|
|
19412
19368
|
acc[plan.id] = {
|
|
@@ -19433,7 +19389,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19433
19389
|
};
|
|
19434
19390
|
});
|
|
19435
19391
|
};
|
|
19436
|
-
return /* @__PURE__ */
|
|
19392
|
+
return /* @__PURE__ */ jsxs26(
|
|
19437
19393
|
FussyChild,
|
|
19438
19394
|
{
|
|
19439
19395
|
ref,
|
|
@@ -19442,8 +19398,8 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19442
19398
|
$flexDirection: "column",
|
|
19443
19399
|
$gap: "2rem",
|
|
19444
19400
|
children: [
|
|
19445
|
-
/* @__PURE__ */
|
|
19446
|
-
/* @__PURE__ */
|
|
19401
|
+
/* @__PURE__ */ jsxs26(Box, { children: [
|
|
19402
|
+
/* @__PURE__ */ jsxs26(
|
|
19447
19403
|
Flex,
|
|
19448
19404
|
{
|
|
19449
19405
|
$flexDirection: "column",
|
|
@@ -19492,7 +19448,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19492
19448
|
if (count?.limit && count.limit > VISIBLE_ENTITLEMENT_COUNT) {
|
|
19493
19449
|
isExpanded = true;
|
|
19494
19450
|
}
|
|
19495
|
-
return /* @__PURE__ */
|
|
19451
|
+
return /* @__PURE__ */ jsxs26(
|
|
19496
19452
|
Flex,
|
|
19497
19453
|
{
|
|
19498
19454
|
$position: "relative",
|
|
@@ -19505,7 +19461,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19505
19461
|
$outlineColor: isActivePlan ? theme.primary : "transparent",
|
|
19506
19462
|
...theme.card.hasShadow && { $boxShadow: cardBoxShadow },
|
|
19507
19463
|
children: [
|
|
19508
|
-
/* @__PURE__ */
|
|
19464
|
+
/* @__PURE__ */ jsxs26(
|
|
19509
19465
|
Flex,
|
|
19510
19466
|
{
|
|
19511
19467
|
$flexDirection: "column",
|
|
@@ -19536,7 +19492,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19536
19492
|
children: plan.description
|
|
19537
19493
|
}
|
|
19538
19494
|
) }),
|
|
19539
|
-
/* @__PURE__ */
|
|
19495
|
+
/* @__PURE__ */ jsxs26(Box, { children: [
|
|
19540
19496
|
/* @__PURE__ */ jsx32(
|
|
19541
19497
|
Text,
|
|
19542
19498
|
{
|
|
@@ -19550,7 +19506,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19550
19506
|
)
|
|
19551
19507
|
}
|
|
19552
19508
|
),
|
|
19553
|
-
!plan.custom && /* @__PURE__ */
|
|
19509
|
+
!plan.custom && /* @__PURE__ */ jsxs26(
|
|
19554
19510
|
Text,
|
|
19555
19511
|
{
|
|
19556
19512
|
$font: theme.typography[props.plans.name.fontStyle].fontFamily,
|
|
@@ -19581,7 +19537,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19581
19537
|
]
|
|
19582
19538
|
}
|
|
19583
19539
|
),
|
|
19584
|
-
/* @__PURE__ */
|
|
19540
|
+
/* @__PURE__ */ jsxs26(
|
|
19585
19541
|
Flex,
|
|
19586
19542
|
{
|
|
19587
19543
|
$flexDirection: "column",
|
|
@@ -19590,16 +19546,8 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19590
19546
|
$gap: `${cardPadding}rem`,
|
|
19591
19547
|
$padding: `${0.75 * cardPadding}rem ${cardPadding}rem 0`,
|
|
19592
19548
|
children: [
|
|
19593
|
-
props.plans.showEntitlements && /* @__PURE__ */
|
|
19594
|
-
plan.entitlements.
|
|
19595
|
-
if (a2.feature?.name && b2.feature?.name && a2.feature?.name > b2.feature?.name) {
|
|
19596
|
-
return 1;
|
|
19597
|
-
}
|
|
19598
|
-
if (a2.feature?.name && b2.feature?.name && a2.feature?.name < b2.feature?.name) {
|
|
19599
|
-
return -1;
|
|
19600
|
-
}
|
|
19601
|
-
return 0;
|
|
19602
|
-
}).reduce((acc, entitlement) => {
|
|
19549
|
+
props.plans.showEntitlements && /* @__PURE__ */ jsxs26(Flex, { $flexDirection: "column", $gap: "1rem", $flexGrow: "1", children: [
|
|
19550
|
+
plan.entitlements.reduce((acc, entitlement) => {
|
|
19603
19551
|
let price;
|
|
19604
19552
|
let currency;
|
|
19605
19553
|
if (selectedPeriod === "month") {
|
|
@@ -19613,7 +19561,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19613
19561
|
return acc;
|
|
19614
19562
|
}
|
|
19615
19563
|
acc.push(
|
|
19616
|
-
/* @__PURE__ */
|
|
19564
|
+
/* @__PURE__ */ jsxs26(Flex, { $gap: "1rem", children: [
|
|
19617
19565
|
props.plans.showFeatureIcons && entitlement.feature?.icon && /* @__PURE__ */ jsx32(
|
|
19618
19566
|
IconRound,
|
|
19619
19567
|
{
|
|
@@ -19633,7 +19581,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19633
19581
|
$weight: theme.typography.text.fontWeight,
|
|
19634
19582
|
$color: theme.typography.text.color,
|
|
19635
19583
|
$leading: 1.35,
|
|
19636
|
-
children: typeof price !== "undefined" ? /* @__PURE__ */
|
|
19584
|
+
children: typeof price !== "undefined" ? /* @__PURE__ */ jsxs26(Fragment13, { children: [
|
|
19637
19585
|
formatCurrency(price, currency),
|
|
19638
19586
|
" ",
|
|
19639
19587
|
t2("per"),
|
|
@@ -19642,19 +19590,19 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19642
19590
|
entitlement.feature.name,
|
|
19643
19591
|
1
|
|
19644
19592
|
),
|
|
19645
|
-
entitlement.priceBehavior === "pay_in_advance" && /* @__PURE__ */
|
|
19593
|
+
entitlement.priceBehavior === "pay_in_advance" && /* @__PURE__ */ jsxs26(Fragment13, { children: [
|
|
19646
19594
|
" ",
|
|
19647
19595
|
t2("per"),
|
|
19648
19596
|
" ",
|
|
19649
19597
|
selectedPeriod
|
|
19650
19598
|
] })
|
|
19651
|
-
] }) : entitlement.valueType === "numeric" || entitlement.valueType === "unlimited" || entitlement.valueType === "trait" ? /* @__PURE__ */
|
|
19599
|
+
] }) : entitlement.valueType === "numeric" || entitlement.valueType === "unlimited" || entitlement.valueType === "trait" ? /* @__PURE__ */ jsxs26(Fragment13, { children: [
|
|
19652
19600
|
entitlement.valueType === "unlimited" ? t2("Unlimited", {
|
|
19653
19601
|
item: (0, import_pluralize7.default)(
|
|
19654
19602
|
entitlement.feature.name
|
|
19655
19603
|
)
|
|
19656
19604
|
}) : typeof entitlement.valueNumeric === "number" && `${formatNumber(entitlement.valueNumeric)} ${(0, import_pluralize7.default)(entitlement.feature.name, entitlement.valueNumeric)}`,
|
|
19657
|
-
entitlement.metricPeriod && /* @__PURE__ */
|
|
19605
|
+
entitlement.metricPeriod && /* @__PURE__ */ jsxs26(Fragment13, { children: [
|
|
19658
19606
|
" ",
|
|
19659
19607
|
t2("per"),
|
|
19660
19608
|
" ",
|
|
@@ -19672,7 +19620,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19672
19620
|
);
|
|
19673
19621
|
return acc;
|
|
19674
19622
|
}, []).slice(0, count?.limit ?? VISIBLE_ENTITLEMENT_COUNT),
|
|
19675
|
-
(count?.size || plan.entitlements.length) > VISIBLE_ENTITLEMENT_COUNT && /* @__PURE__ */
|
|
19623
|
+
(count?.size || plan.entitlements.length) > VISIBLE_ENTITLEMENT_COUNT && /* @__PURE__ */ jsxs26(
|
|
19676
19624
|
Flex,
|
|
19677
19625
|
{
|
|
19678
19626
|
$alignItems: "center",
|
|
@@ -19708,7 +19656,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19708
19656
|
}
|
|
19709
19657
|
)
|
|
19710
19658
|
] }),
|
|
19711
|
-
isActivePlan ? /* @__PURE__ */
|
|
19659
|
+
isActivePlan ? /* @__PURE__ */ jsxs26(
|
|
19712
19660
|
Flex,
|
|
19713
19661
|
{
|
|
19714
19662
|
$justifyContent: "center",
|
|
@@ -19741,7 +19689,8 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19741
19689
|
) : (props.upgrade.isVisible || props.downgrade.isVisible) && /* @__PURE__ */ jsx32(
|
|
19742
19690
|
EmbedButton,
|
|
19743
19691
|
{
|
|
19744
|
-
|
|
19692
|
+
type: "button",
|
|
19693
|
+
disabled: (!plan.valid || !canCheckout) && !plan.custom,
|
|
19745
19694
|
...!plan.custom && {
|
|
19746
19695
|
onClick: () => {
|
|
19747
19696
|
setSelected({
|
|
@@ -19790,7 +19739,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19790
19739
|
}
|
|
19791
19740
|
)
|
|
19792
19741
|
] }),
|
|
19793
|
-
/* @__PURE__ */ jsx32(Box, { children: props.addOns.isVisible && addOns.length > 0 && /* @__PURE__ */
|
|
19742
|
+
/* @__PURE__ */ jsx32(Box, { children: props.addOns.isVisible && addOns.length > 0 && /* @__PURE__ */ jsxs26(Fragment13, { children: [
|
|
19794
19743
|
props.header.isVisible && /* @__PURE__ */ jsx32(
|
|
19795
19744
|
Flex,
|
|
19796
19745
|
{
|
|
@@ -19817,7 +19766,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19817
19766
|
$gap: "1rem",
|
|
19818
19767
|
children: addOns.map((addOn, index) => {
|
|
19819
19768
|
const isActiveAddOn = addOn.current && selectedPeriod === data.company?.addOns.find((a2) => a2.id === addOn.id)?.planPeriod;
|
|
19820
|
-
return /* @__PURE__ */
|
|
19769
|
+
return /* @__PURE__ */ jsxs26(
|
|
19821
19770
|
Flex,
|
|
19822
19771
|
{
|
|
19823
19772
|
$position: "relative",
|
|
@@ -19831,7 +19780,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19831
19780
|
$outlineColor: isActiveAddOn ? theme.primary : "transparent",
|
|
19832
19781
|
...theme.card.hasShadow && { $boxShadow: cardBoxShadow },
|
|
19833
19782
|
children: [
|
|
19834
|
-
/* @__PURE__ */
|
|
19783
|
+
/* @__PURE__ */ jsxs26(Flex, { $flexDirection: "column", $gap: "0.75rem", children: [
|
|
19835
19784
|
/* @__PURE__ */ jsx32(Box, { children: /* @__PURE__ */ jsx32(
|
|
19836
19785
|
Text,
|
|
19837
19786
|
{
|
|
@@ -19852,7 +19801,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19852
19801
|
children: addOn.description
|
|
19853
19802
|
}
|
|
19854
19803
|
) }),
|
|
19855
|
-
/* @__PURE__ */
|
|
19804
|
+
/* @__PURE__ */ jsxs26(Box, { children: [
|
|
19856
19805
|
/* @__PURE__ */ jsx32(
|
|
19857
19806
|
Text,
|
|
19858
19807
|
{
|
|
@@ -19866,7 +19815,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19866
19815
|
)
|
|
19867
19816
|
}
|
|
19868
19817
|
),
|
|
19869
|
-
/* @__PURE__ */
|
|
19818
|
+
/* @__PURE__ */ jsxs26(
|
|
19870
19819
|
Text,
|
|
19871
19820
|
{
|
|
19872
19821
|
$font: theme.typography[props.plans.name.fontStyle].fontFamily,
|
|
@@ -19895,7 +19844,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19895
19844
|
}
|
|
19896
19845
|
)
|
|
19897
19846
|
] }),
|
|
19898
|
-
/* @__PURE__ */
|
|
19847
|
+
/* @__PURE__ */ jsxs26(
|
|
19899
19848
|
Flex,
|
|
19900
19849
|
{
|
|
19901
19850
|
$flexDirection: "column",
|
|
@@ -19918,7 +19867,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19918
19867
|
$justifyContent: "space-between",
|
|
19919
19868
|
$alignItems: "center",
|
|
19920
19869
|
$gap: "1rem",
|
|
19921
|
-
children: /* @__PURE__ */
|
|
19870
|
+
children: /* @__PURE__ */ jsxs26(Flex, { $gap: "1rem", children: [
|
|
19922
19871
|
props.addOns.showFeatureIcons && entitlement.feature?.icon && /* @__PURE__ */ jsx32(
|
|
19923
19872
|
IconRound,
|
|
19924
19873
|
{
|
|
@@ -19937,13 +19886,13 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19937
19886
|
$size: theme.typography.text.fontSize,
|
|
19938
19887
|
$weight: theme.typography.text.fontWeight,
|
|
19939
19888
|
$color: theme.typography.text.color,
|
|
19940
|
-
children: entitlement.valueType === "numeric" || entitlement.valueType === "unlimited" || entitlement.valueType === "trait" ? /* @__PURE__ */
|
|
19889
|
+
children: entitlement.valueType === "numeric" || entitlement.valueType === "unlimited" || entitlement.valueType === "trait" ? /* @__PURE__ */ jsxs26(Fragment13, { children: [
|
|
19941
19890
|
entitlement.valueType === "unlimited" ? t2("Unlimited", {
|
|
19942
19891
|
item: (0, import_pluralize7.default)(
|
|
19943
19892
|
entitlement.feature.name
|
|
19944
19893
|
)
|
|
19945
19894
|
}) : typeof entitlement.valueNumeric === "number" && `${formatNumber(entitlement.valueNumeric)} ${(0, import_pluralize7.default)(entitlement.feature.name, entitlement.valueNumeric)}`,
|
|
19946
|
-
entitlement.metricPeriod && /* @__PURE__ */
|
|
19895
|
+
entitlement.metricPeriod && /* @__PURE__ */ jsxs26(Fragment13, { children: [
|
|
19947
19896
|
" ",
|
|
19948
19897
|
t2("per"),
|
|
19949
19898
|
" ",
|
|
@@ -19967,6 +19916,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19967
19916
|
props.upgrade.isVisible && /* @__PURE__ */ jsx32(
|
|
19968
19917
|
EmbedButton,
|
|
19969
19918
|
{
|
|
19919
|
+
type: "button",
|
|
19970
19920
|
disabled: !addOn.valid || !canCheckout,
|
|
19971
19921
|
onClick: () => {
|
|
19972
19922
|
setSelected({
|
|
@@ -20001,7 +19951,7 @@ PricingTable.displayName = "PricingTable";
|
|
|
20001
19951
|
|
|
20002
19952
|
// src/components/elements/upcoming-bill/UpcomingBill.tsx
|
|
20003
19953
|
import { forwardRef as forwardRef13, useMemo as useMemo10 } from "react";
|
|
20004
|
-
import { jsx as jsx33, jsxs as
|
|
19954
|
+
import { jsx as jsx33, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
20005
19955
|
function resolveDesignProps7(props) {
|
|
20006
19956
|
return {
|
|
20007
19957
|
header: {
|
|
@@ -20053,7 +20003,7 @@ var UpcomingBill = forwardRef13(({ className, ...rest }, ref) => {
|
|
|
20053
20003
|
if (typeof upcomingInvoice.amountDue !== "number" || !upcomingInvoice.dueDate) {
|
|
20054
20004
|
return null;
|
|
20055
20005
|
}
|
|
20056
|
-
return /* @__PURE__ */
|
|
20006
|
+
return /* @__PURE__ */ jsxs27(
|
|
20057
20007
|
Element,
|
|
20058
20008
|
{
|
|
20059
20009
|
as: Flex,
|
|
@@ -20062,7 +20012,7 @@ var UpcomingBill = forwardRef13(({ className, ...rest }, ref) => {
|
|
|
20062
20012
|
$flexDirection: "column",
|
|
20063
20013
|
$gap: "1rem",
|
|
20064
20014
|
children: [
|
|
20065
|
-
props.header.isVisible && /* @__PURE__ */ jsx33(Flex, { $justifyContent: "space-between", $alignItems: "center", children: /* @__PURE__ */
|
|
20015
|
+
props.header.isVisible && /* @__PURE__ */ jsx33(Flex, { $justifyContent: "space-between", $alignItems: "center", children: /* @__PURE__ */ jsxs27(
|
|
20066
20016
|
Text,
|
|
20067
20017
|
{
|
|
20068
20018
|
$font: theme.typography[props.header.fontStyle].fontFamily,
|
|
@@ -20076,7 +20026,7 @@ var UpcomingBill = forwardRef13(({ className, ...rest }, ref) => {
|
|
|
20076
20026
|
]
|
|
20077
20027
|
}
|
|
20078
20028
|
) }),
|
|
20079
|
-
/* @__PURE__ */
|
|
20029
|
+
/* @__PURE__ */ jsxs27(Flex, { $justifyContent: "space-between", $alignItems: "start", $gap: "1rem", children: [
|
|
20080
20030
|
props.price.isVisible && /* @__PURE__ */ jsx33(Flex, { $alignItems: "end", $flexGrow: "1", children: /* @__PURE__ */ jsx33(
|
|
20081
20031
|
Text,
|
|
20082
20032
|
{
|
|
@@ -20103,7 +20053,7 @@ var UpcomingBill = forwardRef13(({ className, ...rest }, ref) => {
|
|
|
20103
20053
|
}
|
|
20104
20054
|
) })
|
|
20105
20055
|
] }),
|
|
20106
|
-
discounts.length > 0 && /* @__PURE__ */
|
|
20056
|
+
discounts.length > 0 && /* @__PURE__ */ jsxs27(Flex, { $justifyContent: "space-between", $alignItems: "center", children: [
|
|
20107
20057
|
/* @__PURE__ */ jsx33(Box, { children: /* @__PURE__ */ jsx33(
|
|
20108
20058
|
Text,
|
|
20109
20059
|
{
|
|
@@ -20114,7 +20064,7 @@ var UpcomingBill = forwardRef13(({ className, ...rest }, ref) => {
|
|
|
20114
20064
|
children: t2("Discount")
|
|
20115
20065
|
}
|
|
20116
20066
|
) }),
|
|
20117
|
-
/* @__PURE__ */ jsx33(Box, { children: discounts.map((discount) => /* @__PURE__ */
|
|
20067
|
+
/* @__PURE__ */ jsx33(Box, { children: discounts.map((discount) => /* @__PURE__ */ jsxs27(Flex, { $alignItems: "center", $gap: "0.5rem", children: [
|
|
20118
20068
|
/* @__PURE__ */ jsx33(
|
|
20119
20069
|
Flex,
|
|
20120
20070
|
{
|
|
@@ -20172,7 +20122,7 @@ var UnsubscribeButton = forwardRef14(({ children, className, ...rest }, ref) =>
|
|
|
20172
20122
|
const props = resolveDesignProps8(rest);
|
|
20173
20123
|
const { t: t2 } = useTranslation();
|
|
20174
20124
|
const { data, setLayout } = useEmbed();
|
|
20175
|
-
const disabled = !data.subscription || data.subscription.status === "cancelled";
|
|
20125
|
+
const disabled = !data.subscription || data.subscription.status === "cancelled" || data.subscription.cancelAtPeriodEnd;
|
|
20176
20126
|
const buttonStyles = {
|
|
20177
20127
|
primary: {
|
|
20178
20128
|
color: "primary",
|
|
@@ -20216,7 +20166,7 @@ var UnsubscribeButton = forwardRef14(({ children, className, ...rest }, ref) =>
|
|
|
20216
20166
|
UnsubscribeButton.displayName = "UnsubscribeButton";
|
|
20217
20167
|
|
|
20218
20168
|
// src/components/embed/ComponentTree.tsx
|
|
20219
|
-
import { useEffect as
|
|
20169
|
+
import { useEffect as useEffect8, useState as useState16 } from "react";
|
|
20220
20170
|
|
|
20221
20171
|
// src/components/embed/renderer.ts
|
|
20222
20172
|
import { createElement as createElement5 } from "react";
|
|
@@ -20265,7 +20215,7 @@ function createRenderer(options) {
|
|
|
20265
20215
|
}
|
|
20266
20216
|
|
|
20267
20217
|
// src/components/embed/ComponentTree.tsx
|
|
20268
|
-
import { Fragment as Fragment14, jsx as jsx35, jsxs as
|
|
20218
|
+
import { Fragment as Fragment14, jsx as jsx35, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
20269
20219
|
var Loading = () => {
|
|
20270
20220
|
const theme = nt();
|
|
20271
20221
|
return /* @__PURE__ */ jsx35(
|
|
@@ -20282,7 +20232,7 @@ var Loading = () => {
|
|
|
20282
20232
|
};
|
|
20283
20233
|
var Error2 = ({ message }) => {
|
|
20284
20234
|
const theme = nt();
|
|
20285
|
-
return /* @__PURE__ */
|
|
20235
|
+
return /* @__PURE__ */ jsxs28(
|
|
20286
20236
|
Flex,
|
|
20287
20237
|
{
|
|
20288
20238
|
$flexDirection: "column",
|
|
@@ -20321,8 +20271,8 @@ var Error2 = ({ message }) => {
|
|
|
20321
20271
|
};
|
|
20322
20272
|
var ComponentTree = () => {
|
|
20323
20273
|
const { error, nodes, isPending } = useEmbed();
|
|
20324
|
-
const [children, setChildren] =
|
|
20325
|
-
|
|
20274
|
+
const [children, setChildren] = useState16(/* @__PURE__ */ jsx35(Loading, {}));
|
|
20275
|
+
useEffect8(() => {
|
|
20326
20276
|
const renderer = createRenderer();
|
|
20327
20277
|
setChildren(nodes.map(renderer));
|
|
20328
20278
|
}, [nodes]);
|