@eric-emg/symphiq-components 1.2.332 → 1.2.334
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/fesm2022/symphiq-components.mjs +265 -242
- package/fesm2022/symphiq-components.mjs.map +1 -1
- package/index.d.ts +14 -14
- package/index.d.ts.map +1 -1
- package/package.json +2 -2
- package/styles.css +0 -16
|
@@ -86780,7 +86780,7 @@ class BillingPeriodToggleComponent {
|
|
|
86780
86780
|
: 'text-slate-600';
|
|
86781
86781
|
}
|
|
86782
86782
|
static { this.ɵfac = function BillingPeriodToggleComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || BillingPeriodToggleComponent)(); }; }
|
|
86783
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: BillingPeriodToggleComponent, selectors: [["symphiq-billing-period-toggle"]], inputs: { viewMode: [1, "viewMode"], selectedPeriodUnit: [1, "selectedPeriodUnit"], isLoading: [1, "isLoading"] }, outputs: { periodUnitChanged: "periodUnitChanged" }, decls: 15, vars: 10, consts: [[1, "flex", "flex-col", "items-center", "gap-4", "mb-8"], [1, "flex", "items-center", "gap-3"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "inline-flex", "rounded-xl", "p-1", "transition-all", "duration-200", 3, "ngClass"], ["type", "button", 1, "relative", "px-6", "py-3", "rounded-lg", "font-semibold", "text-sm", "transition-all", "duration-200", "disabled:cursor-not-allowed", 3, "click", "disabled", "ngClass"], [1, "relative", "z-10"], [1, "absolute", "inset-0", "rounded-lg", "shadow-lg", "opacity-20"], [1, "text-sm", 3, "ngClass"]], template: function BillingPeriodToggleComponent_Template(rf, ctx) { if (rf & 1) {
|
|
86783
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: BillingPeriodToggleComponent, selectors: [["symphiq-billing-period-toggle"]], inputs: { viewMode: [1, "viewMode"], selectedPeriodUnit: [1, "selectedPeriodUnit"], isLoading: [1, "isLoading"] }, outputs: { periodUnitChanged: "periodUnitChanged" }, decls: 15, vars: 10, consts: [[1, "flex", "flex-col", "items-center", "gap-4", "mb-8"], [1, "flex", "items-center", "gap-3"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "inline-flex", "gap-2", "rounded-xl", "p-1.5", "transition-all", "duration-200", 3, "ngClass"], ["type", "button", 1, "relative", "px-6", "py-3", "rounded-lg", "font-semibold", "text-sm", "transition-all", "duration-200", "disabled:cursor-not-allowed", 3, "click", "disabled", "ngClass"], [1, "relative", "z-10"], [1, "absolute", "inset-0", "rounded-lg", "shadow-lg", "opacity-20"], [1, "text-sm", 3, "ngClass"]], template: function BillingPeriodToggleComponent_Template(rf, ctx) { if (rf & 1) {
|
|
86784
86784
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
|
|
86785
86785
|
i0.ɵɵnamespaceSVG();
|
|
86786
86786
|
i0.ɵɵelementStart(2, "svg", 2);
|
|
@@ -86830,41 +86830,41 @@ class BillingPeriodToggleComponent {
|
|
|
86830
86830
|
standalone: true,
|
|
86831
86831
|
imports: [CommonModule],
|
|
86832
86832
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
86833
|
-
template: `
|
|
86834
|
-
<div class="flex flex-col items-center gap-4 mb-8">
|
|
86835
|
-
<div class="flex items-center gap-3">
|
|
86836
|
-
<svg [ngClass]="iconClasses()" class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
86837
|
-
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"></path>
|
|
86838
|
-
</svg>
|
|
86839
|
-
<div [ngClass]="toggleContainerClasses()" class="inline-flex rounded-xl p-1 transition-all duration-200">
|
|
86840
|
-
<button
|
|
86841
|
-
type="button"
|
|
86842
|
-
[disabled]="isLoading()"
|
|
86843
|
-
(click)="selectPeriod(periodUnitEnum.YEAR)"
|
|
86844
|
-
[ngClass]="getButtonClasses(periodUnitEnum.YEAR)"
|
|
86845
|
-
class="relative px-6 py-3 rounded-lg font-semibold text-sm transition-all duration-200 disabled:cursor-not-allowed">
|
|
86846
|
-
<span class="relative z-10">Annual contract</span>
|
|
86847
|
-
@if (selectedPeriodUnit() === periodUnitEnum.YEAR) {
|
|
86848
|
-
<div class="absolute inset-0 rounded-lg shadow-lg opacity-20"></div>
|
|
86849
|
-
}
|
|
86850
|
-
</button>
|
|
86851
|
-
<button
|
|
86852
|
-
type="button"
|
|
86853
|
-
[disabled]="isLoading()"
|
|
86854
|
-
(click)="selectPeriod(periodUnitEnum.MONTH)"
|
|
86855
|
-
[ngClass]="getButtonClasses(periodUnitEnum.MONTH)"
|
|
86856
|
-
class="relative px-6 py-3 rounded-lg font-semibold text-sm transition-all duration-200 disabled:cursor-not-allowed">
|
|
86857
|
-
<span class="relative z-10">Monthly contract</span>
|
|
86858
|
-
@if (selectedPeriodUnit() === periodUnitEnum.MONTH) {
|
|
86859
|
-
<div class="absolute inset-0 rounded-lg shadow-lg opacity-20"></div>
|
|
86860
|
-
}
|
|
86861
|
-
</button>
|
|
86862
|
-
</div>
|
|
86863
|
-
</div>
|
|
86864
|
-
<p [ngClass]="subtitleClasses()" class="text-sm">
|
|
86865
|
-
{{ getSubtitle() }}
|
|
86866
|
-
</p>
|
|
86867
|
-
</div>
|
|
86833
|
+
template: `
|
|
86834
|
+
<div class="flex flex-col items-center gap-4 mb-8">
|
|
86835
|
+
<div class="flex items-center gap-3">
|
|
86836
|
+
<svg [ngClass]="iconClasses()" class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
86837
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"></path>
|
|
86838
|
+
</svg>
|
|
86839
|
+
<div [ngClass]="toggleContainerClasses()" class="inline-flex gap-2 rounded-xl p-1.5 transition-all duration-200">
|
|
86840
|
+
<button
|
|
86841
|
+
type="button"
|
|
86842
|
+
[disabled]="isLoading()"
|
|
86843
|
+
(click)="selectPeriod(periodUnitEnum.YEAR)"
|
|
86844
|
+
[ngClass]="getButtonClasses(periodUnitEnum.YEAR)"
|
|
86845
|
+
class="relative px-6 py-3 rounded-lg font-semibold text-sm transition-all duration-200 disabled:cursor-not-allowed">
|
|
86846
|
+
<span class="relative z-10">Annual contract</span>
|
|
86847
|
+
@if (selectedPeriodUnit() === periodUnitEnum.YEAR) {
|
|
86848
|
+
<div class="absolute inset-0 rounded-lg shadow-lg opacity-20"></div>
|
|
86849
|
+
}
|
|
86850
|
+
</button>
|
|
86851
|
+
<button
|
|
86852
|
+
type="button"
|
|
86853
|
+
[disabled]="isLoading()"
|
|
86854
|
+
(click)="selectPeriod(periodUnitEnum.MONTH)"
|
|
86855
|
+
[ngClass]="getButtonClasses(periodUnitEnum.MONTH)"
|
|
86856
|
+
class="relative px-6 py-3 rounded-lg font-semibold text-sm transition-all duration-200 disabled:cursor-not-allowed">
|
|
86857
|
+
<span class="relative z-10">Monthly contract</span>
|
|
86858
|
+
@if (selectedPeriodUnit() === periodUnitEnum.MONTH) {
|
|
86859
|
+
<div class="absolute inset-0 rounded-lg shadow-lg opacity-20"></div>
|
|
86860
|
+
}
|
|
86861
|
+
</button>
|
|
86862
|
+
</div>
|
|
86863
|
+
</div>
|
|
86864
|
+
<p [ngClass]="subtitleClasses()" class="text-sm">
|
|
86865
|
+
{{ getSubtitle() }}
|
|
86866
|
+
</p>
|
|
86867
|
+
</div>
|
|
86868
86868
|
`
|
|
86869
86869
|
}]
|
|
86870
86870
|
}], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], selectedPeriodUnit: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedPeriodUnit", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], periodUnitChanged: [{ type: i0.Output, args: ["periodUnitChanged"] }] }); })();
|
|
@@ -86922,7 +86922,7 @@ class PlanCardComponent {
|
|
|
86922
86922
|
this.selectedPeriodUnit = input(ChargebeeItemPricePeriodUnitEnum.YEAR, ...(ngDevMode ? [{ debugName: "selectedPeriodUnit" }] : []));
|
|
86923
86923
|
this.planSelected = output();
|
|
86924
86924
|
this.showBestValueBadge = computed(() => {
|
|
86925
|
-
return this.planInfo().
|
|
86925
|
+
return this.planInfo().bestValue === true;
|
|
86926
86926
|
}, ...(ngDevMode ? [{ debugName: "showBestValueBadge" }] : []));
|
|
86927
86927
|
}
|
|
86928
86928
|
handleCardClick() {
|
|
@@ -86930,8 +86930,7 @@ class PlanCardComponent {
|
|
|
86930
86930
|
}
|
|
86931
86931
|
getPlanTitle() {
|
|
86932
86932
|
const info = this.planInfo();
|
|
86933
|
-
|
|
86934
|
-
return `${info.planItem.name} - ${periodLabel}`;
|
|
86933
|
+
return info.planItem.externalName || info.planItem.name || 'Plan';
|
|
86935
86934
|
}
|
|
86936
86935
|
formatPrice() {
|
|
86937
86936
|
const info = this.planInfo();
|
|
@@ -87229,112 +87228,112 @@ class PlanCardComponent {
|
|
|
87229
87228
|
standalone: true,
|
|
87230
87229
|
imports: [CommonModule],
|
|
87231
87230
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
87232
|
-
template: `
|
|
87233
|
-
<div
|
|
87234
|
-
(click)="handleCardClick()"
|
|
87235
|
-
[ngClass]="cardContainerClasses()"
|
|
87236
|
-
class="relative rounded-2xl border-2 p-6 transition-all duration-200 cursor-pointer hover:scale-[1.02]">
|
|
87237
|
-
|
|
87238
|
-
@if (showBestValueBadge()) {
|
|
87239
|
-
<div [ngClass]="badgeClasses()" class="absolute -top-3 left-1/2 transform -translate-x-1/2 px-4 py-1 rounded-full text-xs font-bold">
|
|
87240
|
-
Best value
|
|
87241
|
-
</div>
|
|
87242
|
-
}
|
|
87243
|
-
|
|
87244
|
-
<div class="flex items-start justify-between mb-6">
|
|
87245
|
-
<div class="flex-1">
|
|
87246
|
-
<h3 [ngClass]="planTitleClasses()" class="text-xl font-bold mb-2">
|
|
87247
|
-
{{ getPlanTitle() }}
|
|
87248
|
-
</h3>
|
|
87249
|
-
<div class="flex items-baseline gap-2">
|
|
87250
|
-
<span [ngClass]="priceClasses()" class="text-4xl font-bold">
|
|
87251
|
-
{{ formatPrice() }}
|
|
87252
|
-
</span>
|
|
87253
|
-
<span [ngClass]="pricePeriodClasses()" class="text-base">
|
|
87254
|
-
{{ getPricePeriod() }}
|
|
87255
|
-
</span>
|
|
87256
|
-
</div>
|
|
87257
|
-
</div>
|
|
87258
|
-
<div class="flex-shrink-0 ml-4">
|
|
87259
|
-
<div [ngClass]="radioClasses()" class="w-6 h-6 rounded-full border-2 flex items-center justify-center transition-all duration-200">
|
|
87260
|
-
@if (isSelected()) {
|
|
87261
|
-
<div [ngClass]="radioInnerClasses()" class="w-3 h-3 rounded-full"></div>
|
|
87262
|
-
}
|
|
87263
|
-
</div>
|
|
87264
|
-
</div>
|
|
87265
|
-
</div>
|
|
87266
|
-
|
|
87267
|
-
<div [ngClass]="sectionClasses()" class="space-y-4">
|
|
87268
|
-
<div [ngClass]="featureRowClasses()" class="flex justify-between items-center py-3 border-b">
|
|
87269
|
-
<div class="flex items-center gap-2">
|
|
87270
|
-
<span [ngClass]="labelClasses()" class="text-sm font-medium">AI usage</span>
|
|
87271
|
-
@if (hasTooltip('aiUsage')) {
|
|
87272
|
-
<button [ngClass]="tooltipButtonClasses()" class="w-4 h-4 rounded-full flex items-center justify-center">
|
|
87273
|
-
<svg class="w-3 h-3" fill="currentColor" viewBox="0 0 20 20">
|
|
87274
|
-
<path fill-rule="evenodd" d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-3a1 1 0 00-.867.5 1 1 0 11-1.731-1A3 3 0 0113 8a3.001 3.001 0 01-2 2.83V11a1 1 0 11-2 0v-1a1 1 0 011-1 1 1 0 100-2zm0 8a1 1 0 100-2 1 1 0 000 2z" clip-rule="evenodd"></path>
|
|
87275
|
-
</svg>
|
|
87276
|
-
</button>
|
|
87277
|
-
}
|
|
87278
|
-
</div>
|
|
87279
|
-
<span [ngClass]="valueClasses()" class="text-sm font-semibold">
|
|
87280
|
-
charged monthly based on your actual usage
|
|
87281
|
-
</span>
|
|
87282
|
-
</div>
|
|
87283
|
-
|
|
87284
|
-
<div [ngClass]="featureRowClasses()" class="flex justify-between items-center py-3 border-b">
|
|
87285
|
-
<div class="flex items-center gap-2">
|
|
87286
|
-
<span [ngClass]="labelClasses()" class="text-sm font-medium">Shops</span>
|
|
87287
|
-
@if (hasTooltip('shops')) {
|
|
87288
|
-
<button [ngClass]="tooltipButtonClasses()" class="w-4 h-4 rounded-full flex items-center justify-center">
|
|
87289
|
-
<svg class="w-3 h-3" fill="currentColor" viewBox="0 0 20 20">
|
|
87290
|
-
<path fill-rule="evenodd" d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-3a1 1 0 00-.867.5 1 1 0 11-1.731-1A3 3 0 0113 8a3.001 3.001 0 01-2 2.83V11a1 1 0 11-2 0v-1a1 1 0 011-1 1 1 0 100-2zm0 8a1 1 0 100-2 1 1 0 000 2z" clip-rule="evenodd"></path>
|
|
87291
|
-
</svg>
|
|
87292
|
-
</button>
|
|
87293
|
-
}
|
|
87294
|
-
</div>
|
|
87295
|
-
<div class="text-right">
|
|
87296
|
-
<div [ngClass]="valueClasses()" class="text-sm font-semibold">
|
|
87297
|
-
{{ getShopsQuantity() }}
|
|
87298
|
-
</div>
|
|
87299
|
-
@if (getAdditionalShopsPrice()) {
|
|
87300
|
-
<div [ngClass]="subValueClasses()" class="text-xs mt-1">
|
|
87301
|
-
{{ getAdditionalShopsPrice() }}
|
|
87302
|
-
</div>
|
|
87303
|
-
}
|
|
87304
|
-
</div>
|
|
87305
|
-
</div>
|
|
87306
|
-
|
|
87307
|
-
<div [ngClass]="featureRowClasses()" class="flex justify-between items-center py-3 border-b">
|
|
87308
|
-
<span [ngClass]="labelClasses()" class="text-sm font-medium">Unlimited recommendations</span>
|
|
87309
|
-
<svg [ngClass]="checkIconClasses()" class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
|
|
87310
|
-
<path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
|
|
87311
|
-
</svg>
|
|
87312
|
-
</div>
|
|
87313
|
-
|
|
87314
|
-
<div [ngClass]="featureRowClasses()" class="flex justify-between items-center py-3 border-b">
|
|
87315
|
-
<span [ngClass]="labelClasses()" class="text-sm font-medium">Unlimited seats</span>
|
|
87316
|
-
<svg [ngClass]="checkIconClasses()" class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
|
|
87317
|
-
<path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
|
|
87318
|
-
</svg>
|
|
87319
|
-
</div>
|
|
87320
|
-
|
|
87321
|
-
<div [ngClass]="featureRowClasses()" class="flex justify-between items-center py-3 border-b">
|
|
87322
|
-
<span [ngClass]="labelClasses()" class="text-sm font-medium">Google Analytics integration</span>
|
|
87323
|
-
<svg [ngClass]="checkIconClasses()" class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
|
|
87324
|
-
<path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
|
|
87325
|
-
</svg>
|
|
87326
|
-
</div>
|
|
87327
|
-
|
|
87328
|
-
<div [ngClass]="contractTermsClasses()" class="pt-4">
|
|
87329
|
-
<h4 [ngClass]="contractTermsLabelClasses()" class="text-xs font-semibold uppercase tracking-wider mb-2">
|
|
87330
|
-
Contract terms
|
|
87331
|
-
</h4>
|
|
87332
|
-
<p [ngClass]="contractTermsTextClasses()" class="text-sm leading-relaxed">
|
|
87333
|
-
{{ getContractTerms() }}
|
|
87334
|
-
</p>
|
|
87335
|
-
</div>
|
|
87336
|
-
</div>
|
|
87337
|
-
</div>
|
|
87231
|
+
template: `
|
|
87232
|
+
<div
|
|
87233
|
+
(click)="handleCardClick()"
|
|
87234
|
+
[ngClass]="cardContainerClasses()"
|
|
87235
|
+
class="relative rounded-2xl border-2 p-6 transition-all duration-200 cursor-pointer hover:scale-[1.02]">
|
|
87236
|
+
|
|
87237
|
+
@if (showBestValueBadge()) {
|
|
87238
|
+
<div [ngClass]="badgeClasses()" class="absolute -top-3 left-1/2 transform -translate-x-1/2 px-4 py-1 rounded-full text-xs font-bold">
|
|
87239
|
+
Best value
|
|
87240
|
+
</div>
|
|
87241
|
+
}
|
|
87242
|
+
|
|
87243
|
+
<div class="flex items-start justify-between mb-6">
|
|
87244
|
+
<div class="flex-1">
|
|
87245
|
+
<h3 [ngClass]="planTitleClasses()" class="text-xl font-bold mb-2">
|
|
87246
|
+
{{ getPlanTitle() }}
|
|
87247
|
+
</h3>
|
|
87248
|
+
<div class="flex items-baseline gap-2">
|
|
87249
|
+
<span [ngClass]="priceClasses()" class="text-4xl font-bold">
|
|
87250
|
+
{{ formatPrice() }}
|
|
87251
|
+
</span>
|
|
87252
|
+
<span [ngClass]="pricePeriodClasses()" class="text-base">
|
|
87253
|
+
{{ getPricePeriod() }}
|
|
87254
|
+
</span>
|
|
87255
|
+
</div>
|
|
87256
|
+
</div>
|
|
87257
|
+
<div class="flex-shrink-0 ml-4">
|
|
87258
|
+
<div [ngClass]="radioClasses()" class="w-6 h-6 rounded-full border-2 flex items-center justify-center transition-all duration-200">
|
|
87259
|
+
@if (isSelected()) {
|
|
87260
|
+
<div [ngClass]="radioInnerClasses()" class="w-3 h-3 rounded-full"></div>
|
|
87261
|
+
}
|
|
87262
|
+
</div>
|
|
87263
|
+
</div>
|
|
87264
|
+
</div>
|
|
87265
|
+
|
|
87266
|
+
<div [ngClass]="sectionClasses()" class="space-y-4">
|
|
87267
|
+
<div [ngClass]="featureRowClasses()" class="flex justify-between items-center py-3 border-b">
|
|
87268
|
+
<div class="flex items-center gap-2">
|
|
87269
|
+
<span [ngClass]="labelClasses()" class="text-sm font-medium">AI usage</span>
|
|
87270
|
+
@if (hasTooltip('aiUsage')) {
|
|
87271
|
+
<button [ngClass]="tooltipButtonClasses()" class="w-4 h-4 rounded-full flex items-center justify-center">
|
|
87272
|
+
<svg class="w-3 h-3" fill="currentColor" viewBox="0 0 20 20">
|
|
87273
|
+
<path fill-rule="evenodd" d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-3a1 1 0 00-.867.5 1 1 0 11-1.731-1A3 3 0 0113 8a3.001 3.001 0 01-2 2.83V11a1 1 0 11-2 0v-1a1 1 0 011-1 1 1 0 100-2zm0 8a1 1 0 100-2 1 1 0 000 2z" clip-rule="evenodd"></path>
|
|
87274
|
+
</svg>
|
|
87275
|
+
</button>
|
|
87276
|
+
}
|
|
87277
|
+
</div>
|
|
87278
|
+
<span [ngClass]="valueClasses()" class="text-sm font-semibold">
|
|
87279
|
+
charged monthly based on your actual usage
|
|
87280
|
+
</span>
|
|
87281
|
+
</div>
|
|
87282
|
+
|
|
87283
|
+
<div [ngClass]="featureRowClasses()" class="flex justify-between items-center py-3 border-b">
|
|
87284
|
+
<div class="flex items-center gap-2">
|
|
87285
|
+
<span [ngClass]="labelClasses()" class="text-sm font-medium">Shops</span>
|
|
87286
|
+
@if (hasTooltip('shops')) {
|
|
87287
|
+
<button [ngClass]="tooltipButtonClasses()" class="w-4 h-4 rounded-full flex items-center justify-center">
|
|
87288
|
+
<svg class="w-3 h-3" fill="currentColor" viewBox="0 0 20 20">
|
|
87289
|
+
<path fill-rule="evenodd" d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-3a1 1 0 00-.867.5 1 1 0 11-1.731-1A3 3 0 0113 8a3.001 3.001 0 01-2 2.83V11a1 1 0 11-2 0v-1a1 1 0 011-1 1 1 0 100-2zm0 8a1 1 0 100-2 1 1 0 000 2z" clip-rule="evenodd"></path>
|
|
87290
|
+
</svg>
|
|
87291
|
+
</button>
|
|
87292
|
+
}
|
|
87293
|
+
</div>
|
|
87294
|
+
<div class="text-right">
|
|
87295
|
+
<div [ngClass]="valueClasses()" class="text-sm font-semibold">
|
|
87296
|
+
{{ getShopsQuantity() }}
|
|
87297
|
+
</div>
|
|
87298
|
+
@if (getAdditionalShopsPrice()) {
|
|
87299
|
+
<div [ngClass]="subValueClasses()" class="text-xs mt-1">
|
|
87300
|
+
{{ getAdditionalShopsPrice() }}
|
|
87301
|
+
</div>
|
|
87302
|
+
}
|
|
87303
|
+
</div>
|
|
87304
|
+
</div>
|
|
87305
|
+
|
|
87306
|
+
<div [ngClass]="featureRowClasses()" class="flex justify-between items-center py-3 border-b">
|
|
87307
|
+
<span [ngClass]="labelClasses()" class="text-sm font-medium">Unlimited recommendations</span>
|
|
87308
|
+
<svg [ngClass]="checkIconClasses()" class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
|
|
87309
|
+
<path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
|
|
87310
|
+
</svg>
|
|
87311
|
+
</div>
|
|
87312
|
+
|
|
87313
|
+
<div [ngClass]="featureRowClasses()" class="flex justify-between items-center py-3 border-b">
|
|
87314
|
+
<span [ngClass]="labelClasses()" class="text-sm font-medium">Unlimited seats</span>
|
|
87315
|
+
<svg [ngClass]="checkIconClasses()" class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
|
|
87316
|
+
<path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
|
|
87317
|
+
</svg>
|
|
87318
|
+
</div>
|
|
87319
|
+
|
|
87320
|
+
<div [ngClass]="featureRowClasses()" class="flex justify-between items-center py-3 border-b">
|
|
87321
|
+
<span [ngClass]="labelClasses()" class="text-sm font-medium">Google Analytics integration</span>
|
|
87322
|
+
<svg [ngClass]="checkIconClasses()" class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
|
|
87323
|
+
<path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
|
|
87324
|
+
</svg>
|
|
87325
|
+
</div>
|
|
87326
|
+
|
|
87327
|
+
<div [ngClass]="contractTermsClasses()" class="pt-4">
|
|
87328
|
+
<h4 [ngClass]="contractTermsLabelClasses()" class="text-xs font-semibold uppercase tracking-wider mb-2">
|
|
87329
|
+
Contract terms
|
|
87330
|
+
</h4>
|
|
87331
|
+
<p [ngClass]="contractTermsTextClasses()" class="text-sm leading-relaxed">
|
|
87332
|
+
{{ getContractTerms() }}
|
|
87333
|
+
</p>
|
|
87334
|
+
</div>
|
|
87335
|
+
</div>
|
|
87336
|
+
</div>
|
|
87338
87337
|
`
|
|
87339
87338
|
}]
|
|
87340
87339
|
}], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], planInfo: [{ type: i0.Input, args: [{ isSignal: true, alias: "planInfo", required: true }] }], isSelected: [{ type: i0.Input, args: [{ isSignal: true, alias: "isSelected", required: false }] }], selectedPeriodUnit: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedPeriodUnit", required: false }] }], planSelected: [{ type: i0.Output, args: ["planSelected"] }] }); })();
|
|
@@ -87478,7 +87477,7 @@ class PlanSelectionContainerComponent {
|
|
|
87478
87477
|
: 'text-slate-500';
|
|
87479
87478
|
}
|
|
87480
87479
|
static { this.ɵfac = function PlanSelectionContainerComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PlanSelectionContainerComponent)(); }; }
|
|
87481
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PlanSelectionContainerComponent, selectors: [["symphiq-plan-selection-container"]], inputs: { viewMode: [1, "viewMode"], selectedCurrency: [1, "selectedCurrency"], planCardInfos: [1, "planCardInfos"], isLoading: [1, "isLoading"], selectedPeriodUnit: [1, "selectedPeriodUnit"] }, outputs: { periodUnitChanged: "periodUnitChanged", planSelected: "planSelected", editCurrency: "editCurrency" }, decls: 22, vars: 12, consts: [[1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [1, "px-6", "py-5", "border-b", 3, "ngClass"], [1, "flex", "items-center", "gap-3"], [1, "p-2.5", "rounded-lg", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 12l2 2 4-4M7.835 4.697a3.42 3.42 0 001.946-.806 3.42 3.42 0 014.438 0 3.42 3.42 0 001.946.806 3.42 3.42 0 013.138 3.138 3.42 3.42 0 00.806 1.946 3.42 3.42 0 010 4.438 3.42 3.42 0 00-.806 1.946 3.42 3.42 0 01-3.138 3.138 3.42 3.42 0 00-1.946.806 3.42 3.42 0 01-4.438 0 3.42 3.42 0 00-1.946-.806 3.42 3.42 0 01-3.138-3.138 3.42 3.42 0 00-.806-1.946 3.42 3.42 0 010-4.438 3.42 3.42 0 00.806-1.946 3.42 3.42 0 013.138-3.138z"], [1, "text-xl", "font-bold", 3, "ngClass"], [1, "text-sm", "mt-0.5", "flex", "items-center", "gap-2", 3, "ngClass"], [1, "font-semibold"], [1, "inline-flex", "items-center", "gap-1", "px-2", "py-0.5", "text-xs", "font-medium", "rounded-md", "transition-colors", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-3", "h-3"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"], [1, "p-8", 3, "ngClass"], [3, "periodUnitChanged", "viewMode", "selectedPeriodUnit", "isLoading"], [1, "flex", "flex-col", "items-center", "justify-center", "py-16", "space-y-6"], [1, "
|
|
87480
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PlanSelectionContainerComponent, selectors: [["symphiq-plan-selection-container"]], inputs: { viewMode: [1, "viewMode"], selectedCurrency: [1, "selectedCurrency"], planCardInfos: [1, "planCardInfos"], isLoading: [1, "isLoading"], selectedPeriodUnit: [1, "selectedPeriodUnit"] }, outputs: { periodUnitChanged: "periodUnitChanged", planSelected: "planSelected", editCurrency: "editCurrency" }, decls: 22, vars: 12, consts: [[1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [1, "px-6", "py-5", "border-b", 3, "ngClass"], [1, "flex", "items-center", "gap-3"], [1, "p-2.5", "rounded-lg", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 12l2 2 4-4M7.835 4.697a3.42 3.42 0 001.946-.806 3.42 3.42 0 014.438 0 3.42 3.42 0 001.946.806 3.42 3.42 0 013.138 3.138 3.42 3.42 0 00.806 1.946 3.42 3.42 0 010 4.438 3.42 3.42 0 00-.806 1.946 3.42 3.42 0 01-3.138 3.138 3.42 3.42 0 00-1.946.806 3.42 3.42 0 01-4.438 0 3.42 3.42 0 00-1.946-.806 3.42 3.42 0 01-3.138-3.138 3.42 3.42 0 00-.806-1.946 3.42 3.42 0 010-4.438 3.42 3.42 0 00.806-1.946 3.42 3.42 0 013.138-3.138z"], [1, "text-xl", "font-bold", 3, "ngClass"], [1, "text-sm", "mt-0.5", "flex", "items-center", "gap-2", 3, "ngClass"], [1, "font-semibold"], [1, "inline-flex", "items-center", "gap-1", "px-2", "py-0.5", "text-xs", "font-medium", "rounded-md", "transition-colors", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-3", "h-3"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"], [1, "p-8", 3, "ngClass"], [3, "periodUnitChanged", "viewMode", "selectedPeriodUnit", "isLoading"], [1, "flex", "flex-col", "items-center", "justify-center", "py-16", "space-y-6"], [1, "flex", "flex-col", "gap-8", "mb-32"], [1, "text-center", "py-16", 3, "ngClass"], [3, "viewMode", "size"], [1, "text-base", "font-medium", 3, "ngClass"], [3, "viewMode", "planInfo", "isSelected", "selectedPeriodUnit"], [3, "planSelected", "viewMode", "planInfo", "isSelected", "selectedPeriodUnit"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-16", "h-16", "mx-auto", "mb-4", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "text-lg", "font-semibold", 3, "ngClass"], [1, "text-sm", "mt-2", 3, "ngClass"]], template: function PlanSelectionContainerComponent_Template(rf, ctx) { if (rf & 1) {
|
|
87482
87481
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3);
|
|
87483
87482
|
i0.ɵɵnamespaceSVG();
|
|
87484
87483
|
i0.ɵɵelementStart(4, "svg", 4);
|
|
@@ -87536,81 +87535,81 @@ class PlanSelectionContainerComponent {
|
|
|
87536
87535
|
standalone: true,
|
|
87537
87536
|
imports: [CommonModule, BillingPeriodToggleComponent, PlanCardComponent, IndeterminateSpinnerComponent],
|
|
87538
87537
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
87539
|
-
template: `
|
|
87540
|
-
<div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
|
|
87541
|
-
<div [ngClass]="headerClasses()" class="px-6 py-5 border-b">
|
|
87542
|
-
<div class="flex items-center gap-3">
|
|
87543
|
-
<div [ngClass]="iconContainerClasses()" class="p-2.5 rounded-lg">
|
|
87544
|
-
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
87545
|
-
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4M7.835 4.697a3.42 3.42 0 001.946-.806 3.42 3.42 0 014.438 0 3.42 3.42 0 001.946.806 3.42 3.42 0 013.138 3.138 3.42 3.42 0 00.806 1.946 3.42 3.42 0 010 4.438 3.42 3.42 0 00-.806 1.946 3.42 3.42 0 01-3.138 3.138 3.42 3.42 0 00-1.946.806 3.42 3.42 0 01-4.438 0 3.42 3.42 0 00-1.946-.806 3.42 3.42 0 01-3.138-3.138 3.42 3.42 0 00-.806-1.946 3.42 3.42 0 010-4.438 3.42 3.42 0 00.806-1.946 3.42 3.42 0 013.138-3.138z"></path>
|
|
87546
|
-
</svg>
|
|
87547
|
-
</div>
|
|
87548
|
-
<div>
|
|
87549
|
-
<h2 [ngClass]="titleClasses()" class="text-xl font-bold">
|
|
87550
|
-
Choose Your Plan
|
|
87551
|
-
</h2>
|
|
87552
|
-
<p [ngClass]="subtitleClasses()" class="text-sm mt-0.5 flex items-center gap-2">
|
|
87553
|
-
Selected currency: <span class="font-semibold">{{ selectedCurrency() }}</span>
|
|
87554
|
-
<button
|
|
87555
|
-
(click)="editCurrency.emit()"
|
|
87556
|
-
[ngClass]="editButtonClasses()"
|
|
87557
|
-
class="inline-flex items-center gap-1 px-2 py-0.5 text-xs font-medium rounded-md transition-colors"
|
|
87558
|
-
>
|
|
87559
|
-
<svg class="w-3 h-3" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
87560
|
-
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"></path>
|
|
87561
|
-
</svg>
|
|
87562
|
-
Edit
|
|
87563
|
-
</button>
|
|
87564
|
-
</p>
|
|
87565
|
-
</div>
|
|
87566
|
-
</div>
|
|
87567
|
-
</div>
|
|
87568
|
-
|
|
87569
|
-
<div [ngClass]="contentClasses()" class="p-8">
|
|
87570
|
-
<symphiq-billing-period-toggle
|
|
87571
|
-
[viewMode]="viewMode()"
|
|
87572
|
-
[selectedPeriodUnit]="selectedPeriodUnit()"
|
|
87573
|
-
[isLoading]="isLoading()"
|
|
87574
|
-
(periodUnitChanged)="handlePeriodChange($event)"
|
|
87575
|
-
/>
|
|
87576
|
-
|
|
87577
|
-
@if (isLoading()) {
|
|
87578
|
-
<div class="flex flex-col items-center justify-center py-16 space-y-6">
|
|
87579
|
-
<symphiq-indeterminate-spinner
|
|
87580
|
-
[viewMode]="viewMode()"
|
|
87581
|
-
[size]="'large'"
|
|
87582
|
-
/>
|
|
87583
|
-
<p [ngClass]="loadingTextClasses()" class="text-base font-medium">
|
|
87584
|
-
Loading your plan options...
|
|
87585
|
-
</p>
|
|
87586
|
-
</div>
|
|
87587
|
-
} @else if (planCardInfos() && planCardInfos()!.length > 0) {
|
|
87588
|
-
<div class="
|
|
87589
|
-
@for (plan of planCardInfos(); track plan.planItem.id) {
|
|
87590
|
-
<symphiq-plan-card
|
|
87591
|
-
[viewMode]="viewMode()"
|
|
87592
|
-
[planInfo]="plan"
|
|
87593
|
-
[isSelected]="isSelectedPlan(plan)"
|
|
87594
|
-
[selectedPeriodUnit]="selectedPeriodUnit()"
|
|
87595
|
-
(planSelected)="handlePlanSelection($event)"
|
|
87596
|
-
/>
|
|
87597
|
-
}
|
|
87598
|
-
</div>
|
|
87599
|
-
} @else {
|
|
87600
|
-
<div [ngClass]="emptyStateClasses()" class="text-center py-16">
|
|
87601
|
-
<svg [ngClass]="emptyIconClasses()" class="w-16 h-16 mx-auto mb-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
87602
|
-
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path>
|
|
87603
|
-
</svg>
|
|
87604
|
-
<p [ngClass]="emptyTextClasses()" class="text-lg font-semibold">
|
|
87605
|
-
No plans available
|
|
87606
|
-
</p>
|
|
87607
|
-
<p [ngClass]="emptySubtextClasses()" class="text-sm mt-2">
|
|
87608
|
-
Please contact support if this issue persists
|
|
87609
|
-
</p>
|
|
87610
|
-
</div>
|
|
87611
|
-
}
|
|
87612
|
-
</div>
|
|
87613
|
-
</div>
|
|
87538
|
+
template: `
|
|
87539
|
+
<div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
|
|
87540
|
+
<div [ngClass]="headerClasses()" class="px-6 py-5 border-b">
|
|
87541
|
+
<div class="flex items-center gap-3">
|
|
87542
|
+
<div [ngClass]="iconContainerClasses()" class="p-2.5 rounded-lg">
|
|
87543
|
+
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
87544
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4M7.835 4.697a3.42 3.42 0 001.946-.806 3.42 3.42 0 014.438 0 3.42 3.42 0 001.946.806 3.42 3.42 0 013.138 3.138 3.42 3.42 0 00.806 1.946 3.42 3.42 0 010 4.438 3.42 3.42 0 00-.806 1.946 3.42 3.42 0 01-3.138 3.138 3.42 3.42 0 00-1.946.806 3.42 3.42 0 01-4.438 0 3.42 3.42 0 00-1.946-.806 3.42 3.42 0 01-3.138-3.138 3.42 3.42 0 00-.806-1.946 3.42 3.42 0 010-4.438 3.42 3.42 0 00.806-1.946 3.42 3.42 0 013.138-3.138z"></path>
|
|
87545
|
+
</svg>
|
|
87546
|
+
</div>
|
|
87547
|
+
<div>
|
|
87548
|
+
<h2 [ngClass]="titleClasses()" class="text-xl font-bold">
|
|
87549
|
+
Choose Your Plan
|
|
87550
|
+
</h2>
|
|
87551
|
+
<p [ngClass]="subtitleClasses()" class="text-sm mt-0.5 flex items-center gap-2">
|
|
87552
|
+
Selected currency: <span class="font-semibold">{{ selectedCurrency() }}</span>
|
|
87553
|
+
<button
|
|
87554
|
+
(click)="editCurrency.emit()"
|
|
87555
|
+
[ngClass]="editButtonClasses()"
|
|
87556
|
+
class="inline-flex items-center gap-1 px-2 py-0.5 text-xs font-medium rounded-md transition-colors"
|
|
87557
|
+
>
|
|
87558
|
+
<svg class="w-3 h-3" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
87559
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"></path>
|
|
87560
|
+
</svg>
|
|
87561
|
+
Edit
|
|
87562
|
+
</button>
|
|
87563
|
+
</p>
|
|
87564
|
+
</div>
|
|
87565
|
+
</div>
|
|
87566
|
+
</div>
|
|
87567
|
+
|
|
87568
|
+
<div [ngClass]="contentClasses()" class="p-8">
|
|
87569
|
+
<symphiq-billing-period-toggle
|
|
87570
|
+
[viewMode]="viewMode()"
|
|
87571
|
+
[selectedPeriodUnit]="selectedPeriodUnit()"
|
|
87572
|
+
[isLoading]="isLoading()"
|
|
87573
|
+
(periodUnitChanged)="handlePeriodChange($event)"
|
|
87574
|
+
/>
|
|
87575
|
+
|
|
87576
|
+
@if (isLoading()) {
|
|
87577
|
+
<div class="flex flex-col items-center justify-center py-16 space-y-6">
|
|
87578
|
+
<symphiq-indeterminate-spinner
|
|
87579
|
+
[viewMode]="viewMode()"
|
|
87580
|
+
[size]="'large'"
|
|
87581
|
+
/>
|
|
87582
|
+
<p [ngClass]="loadingTextClasses()" class="text-base font-medium">
|
|
87583
|
+
Loading your plan options...
|
|
87584
|
+
</p>
|
|
87585
|
+
</div>
|
|
87586
|
+
} @else if (planCardInfos() && planCardInfos()!.length > 0) {
|
|
87587
|
+
<div class="flex flex-col gap-8 mb-32">
|
|
87588
|
+
@for (plan of planCardInfos(); track plan.planItem.id) {
|
|
87589
|
+
<symphiq-plan-card
|
|
87590
|
+
[viewMode]="viewMode()"
|
|
87591
|
+
[planInfo]="plan"
|
|
87592
|
+
[isSelected]="isSelectedPlan(plan)"
|
|
87593
|
+
[selectedPeriodUnit]="selectedPeriodUnit()"
|
|
87594
|
+
(planSelected)="handlePlanSelection($event)"
|
|
87595
|
+
/>
|
|
87596
|
+
}
|
|
87597
|
+
</div>
|
|
87598
|
+
} @else {
|
|
87599
|
+
<div [ngClass]="emptyStateClasses()" class="text-center py-16">
|
|
87600
|
+
<svg [ngClass]="emptyIconClasses()" class="w-16 h-16 mx-auto mb-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
87601
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path>
|
|
87602
|
+
</svg>
|
|
87603
|
+
<p [ngClass]="emptyTextClasses()" class="text-lg font-semibold">
|
|
87604
|
+
No plans available
|
|
87605
|
+
</p>
|
|
87606
|
+
<p [ngClass]="emptySubtextClasses()" class="text-sm mt-2">
|
|
87607
|
+
Please contact support if this issue persists
|
|
87608
|
+
</p>
|
|
87609
|
+
</div>
|
|
87610
|
+
}
|
|
87611
|
+
</div>
|
|
87612
|
+
</div>
|
|
87614
87613
|
`
|
|
87615
87614
|
}]
|
|
87616
87615
|
}], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], selectedCurrency: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedCurrency", required: false }] }], planCardInfos: [{ type: i0.Input, args: [{ isSignal: true, alias: "planCardInfos", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], selectedPeriodUnit: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedPeriodUnit", required: false }] }], periodUnitChanged: [{ type: i0.Output, args: ["periodUnitChanged"] }], planSelected: [{ type: i0.Output, args: ["planSelected"] }], editCurrency: [{ type: i0.Output, args: ["editCurrency"] }] }); })();
|
|
@@ -88377,7 +88376,7 @@ function SymphiqProfileAnalysisDashboardComponent_Conditional_9_Conditional_2_Co
|
|
|
88377
88376
|
function SymphiqProfileAnalysisDashboardComponent_Conditional_9_Conditional_2_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
88378
88377
|
const _r5 = i0.ɵɵgetCurrentView();
|
|
88379
88378
|
i0.ɵɵelementStart(0, "div", 31)(1, "symphiq-plan-selection-container", 35);
|
|
88380
|
-
i0.ɵɵlistener("periodUnitChanged", function SymphiqProfileAnalysisDashboardComponent_Conditional_9_Conditional_2_Conditional_1_Template_symphiq_plan_selection_container_periodUnitChanged_1_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.handlePeriodUnitChange($event)); })("planSelected", function SymphiqProfileAnalysisDashboardComponent_Conditional_9_Conditional_2_Conditional_1_Template_symphiq_plan_selection_container_planSelected_1_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.handlePlanSelection($event)); })("editCurrency", function SymphiqProfileAnalysisDashboardComponent_Conditional_9_Conditional_2_Conditional_1_Template_symphiq_plan_selection_container_editCurrency_1_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.
|
|
88379
|
+
i0.ɵɵlistener("periodUnitChanged", function SymphiqProfileAnalysisDashboardComponent_Conditional_9_Conditional_2_Conditional_1_Template_symphiq_plan_selection_container_periodUnitChanged_1_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.handlePeriodUnitChange($event)); })("planSelected", function SymphiqProfileAnalysisDashboardComponent_Conditional_9_Conditional_2_Conditional_1_Template_symphiq_plan_selection_container_planSelected_1_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.handlePlanSelection($event)); })("editCurrency", function SymphiqProfileAnalysisDashboardComponent_Conditional_9_Conditional_2_Conditional_1_Template_symphiq_plan_selection_container_editCurrency_1_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.handleEditCurrencyClick()); });
|
|
88381
88380
|
i0.ɵɵelementEnd()();
|
|
88382
88381
|
} if (rf & 2) {
|
|
88383
88382
|
let tmp_4_0;
|
|
@@ -88887,8 +88886,13 @@ function SymphiqProfileAnalysisDashboardComponent_Conditional_28_Template(rf, ct
|
|
|
88887
88886
|
i0.ɵɵelementEnd();
|
|
88888
88887
|
i0.ɵɵelementStart(5, "button", 98);
|
|
88889
88888
|
i0.ɵɵlistener("click", function SymphiqProfileAnalysisDashboardComponent_Conditional_28_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r28); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleContinueToPlans()); });
|
|
88890
|
-
i0.ɵɵ
|
|
88891
|
-
i0.ɵɵ
|
|
88889
|
+
i0.ɵɵelementStart(6, "span");
|
|
88890
|
+
i0.ɵɵtext(7, "Continue to Plans");
|
|
88891
|
+
i0.ɵɵelementEnd();
|
|
88892
|
+
i0.ɵɵnamespaceSVG();
|
|
88893
|
+
i0.ɵɵelementStart(8, "svg", 99);
|
|
88894
|
+
i0.ɵɵelement(9, "path", 100);
|
|
88895
|
+
i0.ɵɵelementEnd()()()()();
|
|
88892
88896
|
} if (rf & 2) {
|
|
88893
88897
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
88894
88898
|
i0.ɵɵproperty("ngClass", ctx_r1.getEditCurrencyFooterClasses());
|
|
@@ -88896,6 +88900,8 @@ function SymphiqProfileAnalysisDashboardComponent_Conditional_28_Template(rf, ct
|
|
|
88896
88900
|
i0.ɵɵproperty("ngClass", ctx_r1.getEditCurrencyCancelButtonClasses());
|
|
88897
88901
|
i0.ɵɵadvance(2);
|
|
88898
88902
|
i0.ɵɵproperty("disabled", !ctx_r1.editingCurrencySelection())("ngClass", ctx_r1.getEditCurrencyContinueButtonClasses());
|
|
88903
|
+
i0.ɵɵadvance(3);
|
|
88904
|
+
i0.ɵɵclassProp("translate-x-1", ctx_r1.editingCurrencySelection());
|
|
88899
88905
|
} }
|
|
88900
88906
|
class SymphiqProfileAnalysisDashboardComponent {
|
|
88901
88907
|
constructor() {
|
|
@@ -88928,7 +88934,7 @@ class SymphiqProfileAnalysisDashboardComponent {
|
|
|
88928
88934
|
this.isEditingCurrency = signal(false, ...(ngDevMode ? [{ debugName: "isEditingCurrency" }] : []));
|
|
88929
88935
|
this.editingCurrencySelection = signal(null, ...(ngDevMode ? [{ debugName: "editingCurrencySelection" }] : []));
|
|
88930
88936
|
this.selectedPeriodUnit = computed(() => {
|
|
88931
|
-
return this.account()?.
|
|
88937
|
+
return this.account()?.chargebeeItemPricePeriodUnit || ChargebeeItemPricePeriodUnitEnum.YEAR;
|
|
88932
88938
|
}, ...(ngDevMode ? [{ debugName: "selectedPeriodUnit" }] : []));
|
|
88933
88939
|
this.showPlanSelection = computed(() => {
|
|
88934
88940
|
return this.hasBillingCurrency() && this.planCardInfos() && this.planCardInfos().length > 0;
|
|
@@ -88967,7 +88973,9 @@ class SymphiqProfileAnalysisDashboardComponent {
|
|
|
88967
88973
|
}, ...(ngDevMode ? [{ debugName: "currencySelectionEffect" }] : []));
|
|
88968
88974
|
this.planLoadingEffect = effect(() => {
|
|
88969
88975
|
const planCardInfos = this.planCardInfos();
|
|
88976
|
+
console.log('[planLoadingEffect] triggered', { planCardInfos: planCardInfos?.length, isPlanLoading: this.isPlanLoading() });
|
|
88970
88977
|
if (planCardInfos && this.isPlanLoading()) {
|
|
88978
|
+
console.log('[planLoadingEffect] resetting isPlanLoading to false');
|
|
88971
88979
|
this.isPlanLoading.set(false);
|
|
88972
88980
|
}
|
|
88973
88981
|
}, ...(ngDevMode ? [{ debugName: "planLoadingEffect" }] : []));
|
|
@@ -89691,7 +89699,9 @@ class SymphiqProfileAnalysisDashboardComponent {
|
|
|
89691
89699
|
}
|
|
89692
89700
|
}
|
|
89693
89701
|
handlePeriodUnitChange(periodUnit) {
|
|
89702
|
+
console.log('[handlePeriodUnitChange] setting isPlanLoading to true', { periodUnit });
|
|
89694
89703
|
this.isPlanLoading.set(true);
|
|
89704
|
+
console.log('[handlePeriodUnitChange] isPlanLoading is now:', this.isPlanLoading());
|
|
89695
89705
|
this.periodUnitChanged.emit(periodUnit);
|
|
89696
89706
|
}
|
|
89697
89707
|
handlePlanSelection(plan) {
|
|
@@ -89713,18 +89723,28 @@ class SymphiqProfileAnalysisDashboardComponent {
|
|
|
89713
89723
|
}
|
|
89714
89724
|
getEditCurrencyFooterClasses() {
|
|
89715
89725
|
return this.viewMode() === ViewModeEnum.DARK
|
|
89716
|
-
? 'bg-slate-900/
|
|
89717
|
-
: 'bg-white/
|
|
89726
|
+
? 'bg-slate-900/80 border-slate-700/50'
|
|
89727
|
+
: 'bg-white/80 border-slate-200';
|
|
89718
89728
|
}
|
|
89719
89729
|
getEditCurrencyCancelButtonClasses() {
|
|
89720
89730
|
return this.viewMode() === ViewModeEnum.DARK
|
|
89721
|
-
? 'bg-slate-700 text-slate-300 hover:bg-slate-600 hover:text-white'
|
|
89722
|
-
: 'bg-slate-200 text-slate-700 hover:bg-slate-300 hover:text-slate-900';
|
|
89731
|
+
? 'bg-slate-700 text-slate-300 hover:bg-slate-600 hover:text-white hover:scale-[1.02] active:scale-[0.98]'
|
|
89732
|
+
: 'bg-slate-200 text-slate-700 hover:bg-slate-300 hover:text-slate-900 hover:scale-[1.02] active:scale-[0.98]';
|
|
89723
89733
|
}
|
|
89724
89734
|
getEditCurrencyContinueButtonClasses() {
|
|
89725
|
-
|
|
89726
|
-
|
|
89727
|
-
|
|
89735
|
+
const isDisabled = !this.editingCurrencySelection();
|
|
89736
|
+
if (this.viewMode() === ViewModeEnum.DARK) {
|
|
89737
|
+
if (isDisabled) {
|
|
89738
|
+
return 'bg-slate-700 text-slate-500 cursor-not-allowed opacity-50';
|
|
89739
|
+
}
|
|
89740
|
+
return 'bg-gradient-to-r from-blue-600 via-cyan-600 to-teal-600 text-white hover:from-blue-500 hover:via-cyan-500 hover:to-teal-500 hover:scale-[1.02] hover:shadow-blue-500/25 active:scale-[0.98] cursor-pointer';
|
|
89741
|
+
}
|
|
89742
|
+
else {
|
|
89743
|
+
if (isDisabled) {
|
|
89744
|
+
return 'bg-slate-300 text-slate-500 cursor-not-allowed opacity-50';
|
|
89745
|
+
}
|
|
89746
|
+
return 'bg-gradient-to-r from-blue-600 via-cyan-600 to-teal-600 text-white hover:from-blue-700 hover:via-cyan-700 hover:to-teal-700 hover:scale-[1.02] hover:shadow-blue-600/25 active:scale-[0.98] cursor-pointer';
|
|
89747
|
+
}
|
|
89728
89748
|
}
|
|
89729
89749
|
static { this.ɵfac = function SymphiqProfileAnalysisDashboardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SymphiqProfileAnalysisDashboardComponent)(); }; }
|
|
89730
89750
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SymphiqProfileAnalysisDashboardComponent, selectors: [["symphiq-profile-analysis-dashboard"]], viewQuery: function SymphiqProfileAnalysisDashboardComponent_Query(rf, ctx) { if (rf & 1) {
|
|
@@ -89734,7 +89754,7 @@ class SymphiqProfileAnalysisDashboardComponent {
|
|
|
89734
89754
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.funnelModalComponent = _t.first);
|
|
89735
89755
|
} }, hostBindings: function SymphiqProfileAnalysisDashboardComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
89736
89756
|
i0.ɵɵlistener("scroll", function SymphiqProfileAnalysisDashboardComponent_scroll_HostBindingHandler($event) { return ctx.onWindowScroll($event); }, i0.ɵɵresolveWindow);
|
|
89737
|
-
} }, inputs: { viewMode: [1, "viewMode"], requestedByUser: [1, "requestedByUser"], createdDate: [1, "createdDate"], embedded: [1, "embedded"], profileAnalysis: [1, "profileAnalysis"], profile: [1, "profile"], funnelAnalysis: [1, "funnelAnalysis"], analysisType: [1, "analysisType"], focusAreaDetails: [1, "focusAreaDetails"], account: [1, "account"], planCardInfos: [1, "planCardInfos"], isOnboarded: [1, "isOnboarded"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], isLoading: [1, "isLoading"], forDemo: [1, "forDemo"], maxAccessibleStepId: [1, "maxAccessibleStepId"] }, outputs: { stepClick: "stepClick", nextStepClick: "nextStepClick", currencySelectionClick: "currencySelectionClick", editCurrencyClick: "editCurrencyClick", periodUnitChanged: "periodUnitChanged", planSelected: "planSelected" }, features: [i0.ɵɵNgOnChangesFeature], decls: 29, vars: 50, consts: [[1, "min-h-screen", "relative", 3, "ngClass"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [1, "h-full", "transition-all", "duration-200", "ease-out", 3, "ngClass"], [1, "relative", "z-[51]"], [3, "searchClick", "viewModeClick", "title", "subtitle", "currentSection", "viewMode", "viewModeLabel", "isLoading", "requestedByUser", "createdDate"], [3, "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "relative", "z-10", "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-12", "space-y-12"], [1, "mb-12"], [3, "sections", "viewMode", "embedded", "scrollElement"], [3, "close", "isOpen", "isLightMode"], [3, "close", "modeSelected", "isOpen", "currentMode", "viewMode"], [3, "isLightMode", "allMetrics", "allInsights", "allBusinessInsights", "allCharts"], [3, "goal", "viewMode", "isInModal", "allMetrics", "allCharts", "allInsights", "currentModalState", "businessProfile"], [3, "goal", "viewMode"], [3, "objective", "goalTitle", "viewMode"], [3, "strategy", "objectiveTitle", "goalTitle", "viewMode", "allMetrics", "allCharts", "allInsights", "allBusinessInsights", "currentModalState"], [3, "category", "viewMode", "scrollToSection"], [3, "strength", "viewMode", "allFunnelStrengths", "currentModalState"], [3, "gap", "viewMode", "allGoals", "allWeaknesses", "currentModalState"], [3, "opportunity", "viewMode", "allStrengths", "currentModalState"], [3, "isLightMode", "viewMode", "allMetrics", "allInsights", "allCharts"], [3, "isLightMode"], [3, "viewMode", "isEnabled", "isLoading"], [1, "fixed", "bottom-0", "left-0", "right-0", "z-50", "border-t", "
|
|
89757
|
+
} }, inputs: { viewMode: [1, "viewMode"], requestedByUser: [1, "requestedByUser"], createdDate: [1, "createdDate"], embedded: [1, "embedded"], profileAnalysis: [1, "profileAnalysis"], profile: [1, "profile"], funnelAnalysis: [1, "funnelAnalysis"], analysisType: [1, "analysisType"], focusAreaDetails: [1, "focusAreaDetails"], account: [1, "account"], planCardInfos: [1, "planCardInfos"], isOnboarded: [1, "isOnboarded"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], isLoading: [1, "isLoading"], forDemo: [1, "forDemo"], maxAccessibleStepId: [1, "maxAccessibleStepId"] }, outputs: { stepClick: "stepClick", nextStepClick: "nextStepClick", currencySelectionClick: "currencySelectionClick", editCurrencyClick: "editCurrencyClick", periodUnitChanged: "periodUnitChanged", planSelected: "planSelected" }, features: [i0.ɵɵNgOnChangesFeature], decls: 29, vars: 50, consts: [[1, "min-h-screen", "relative", 3, "ngClass"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [1, "h-full", "transition-all", "duration-200", "ease-out", 3, "ngClass"], [1, "relative", "z-[51]"], [3, "searchClick", "viewModeClick", "title", "subtitle", "currentSection", "viewMode", "viewModeLabel", "isLoading", "requestedByUser", "createdDate"], [3, "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "relative", "z-10", "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-12", "space-y-12"], [1, "mb-12"], [3, "sections", "viewMode", "embedded", "scrollElement"], [3, "close", "isOpen", "isLightMode"], [3, "close", "modeSelected", "isOpen", "currentMode", "viewMode"], [3, "isLightMode", "allMetrics", "allInsights", "allBusinessInsights", "allCharts"], [3, "goal", "viewMode", "isInModal", "allMetrics", "allCharts", "allInsights", "currentModalState", "businessProfile"], [3, "goal", "viewMode"], [3, "objective", "goalTitle", "viewMode"], [3, "strategy", "objectiveTitle", "goalTitle", "viewMode", "allMetrics", "allCharts", "allInsights", "allBusinessInsights", "currentModalState"], [3, "category", "viewMode", "scrollToSection"], [3, "strength", "viewMode", "allFunnelStrengths", "currentModalState"], [3, "gap", "viewMode", "allGoals", "allWeaknesses", "currentModalState"], [3, "opportunity", "viewMode", "allStrengths", "currentModalState"], [3, "isLightMode", "viewMode", "allMetrics", "allInsights", "allCharts"], [3, "isLightMode"], [3, "viewMode", "isEnabled", "isLoading"], [1, "fixed", "bottom-0", "left-0", "right-0", "z-50", "border-t", "backdrop-blur-lg", 3, "ngClass"], [3, "nextStepClick", "stepClick", "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [3, "viewMode", "businessName", "isOnboarded"], [3, "viewMode", "focusAreaDomain", "focusAreaName", "focusAreaDetails"], [3, "viewMode", "metricName", "isOnboarded"], [1, "mb-8"], [3, "goals", "viewMode"], [3, "viewMoreClick", "goals", "viewMode"], [1, "mb-32"], [3, "viewMode", "selectedCurrency"], [3, "currencySelected", "viewMode", "isLoading", "initialCurrency"], [3, "viewMode"], [3, "periodUnitChanged", "planSelected", "editCurrency", "viewMode", "selectedCurrency", "planCardInfos", "isLoading", "selectedPeriodUnit"], [3, "editCurrency", "viewMode", "selectedCurrency"], [3, "sections", "viewMode", "executiveSummary", "focusAreaExecutiveSummary", "metricExecutiveSummary", "metricName", "allGoals", "allMetrics", "allCharts", "allInsights", "businessProfile"], ["id", "section-executive-summary", 1, "space-y-6", "scroll-mt-24"], [3, "viewMode", "summary", "allGoals"], [3, "viewMode", "summary", "metricName", "allGoals"], [1, "space-y-8"], [1, "rounded-2xl", "p-8", "shadow-xl", 3, "ngClass"], [1, "space-y-6"], [1, "flex", "items-start", "justify-between", "gap-4"], [1, "flex-1"], [1, "text-2xl", "font-bold", "mb-3", 3, "ngClass"], [1, "text-lg", "leading-relaxed", 3, "ngClass"], [3, "grade", "gradeRationale", "viewMode"], [1, "rounded-xl", "p-6", 3, "ngClass"], [1, "grid", "grid-cols-1", "md:grid-cols-3", "gap-4"], ["type", "button", 1, "p-4", "rounded-xl", "text-left", "transition-all", "duration-200", "hover:scale-[1.02]", "active:scale-[0.98]", "group", "cursor-pointer", 3, "click", "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "mb-1", 3, "ngClass"], [1, "text-3xl", "font-bold", "mb-2", 3, "ngClass"], [1, "flex", "items-center", "gap-1.5", "text-xs", "font-medium"], [3, "ngClass"], ["size", "w-4 h-4", 1, "transition-transform", "group-hover:translate-x-1", 3, "icon", "ngClass"], ["size", "w-4 h-4", 1, "transition-transform", "group-hover:translate-y-1", "animate-bounce", 3, "icon", "ngClass"], ["id", "quick-wins-section", 1, "space-y-4", "scroll-mt-24"], [1, "text-lg", "font-semibold", "mb-3", 3, "ngClass"], [1, "relative"], [1, "mb-6", "lg:float-left", "lg:mr-6", "lg:mb-4", "lg:max-w-[66%]"], [1, "text-sm", "leading-relaxed", "whitespace-pre-line", 3, "ngClass"], [1, "clear-both"], [3, "visual", "viewMode"], [1, "text-xl", "font-bold", 3, "ngClass"], [1, "grid", "grid-cols-1", "lg:grid-cols-2", "gap-6"], [1, "rounded-xl", "p-6", "transition-all", "duration-300", 3, "ngClass"], [1, "space-y-4"], [1, "flex", "items-start", "gap-3"], [1, "flex-shrink-0", "w-8", "h-8", "rounded-full", "flex", "items-center", "justify-center", "text-sm", "font-bold", 3, "ngClass"], [1, "font-semibold", "leading-tight", "flex-1", 3, "ngClass"], [1, "flex", "flex-wrap", "gap-2"], [1, "px-3", "py-1", "rounded-full", "text-xs", "font-semibold", 3, "ngClass"], [1, "flex", "items-center", "gap-2", "text-sm", 3, "ngClass"], [1, "space-y-2"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", 3, "ngClass"], [3, "relatedGoalIds", "allGoals", "viewMode"], [3, "topPrioritiesClick", "priorityDetailClick", "viewMode", "summary", "allGoals"], [3, "topPrioritiesClick", "priorityDetailClick", "viewMode", "summary", "metricName", "allGoals"], [3, "viewMode", "sectionIcon"], [1, "rounded-xl", "p-8", "scroll-mt-24", 3, "id", "ngClass"], [1, "flex", "items-start", "gap-3", "mb-6"], [1, "flex-shrink-0", "w-12", "h-12", "rounded-xl", "flex", "items-center", "justify-center", 3, "ngClass"], [1, "text-2xl", "font-bold", 3, "ngClass"], [1, "mb-6", "flex", "flex-col", "lg:flex-row", "gap-6", "items-start", 3, "lg:flex-row-reverse"], [3, "section", "executiveSummary", "viewMode", "sectionIndex", "allGoals", "allMetrics", "allCharts", "allInsights", "businessProfile"], ["size", "w-6 h-6", 3, "icon"], [1, "mb-6", "flex", "flex-col", "lg:flex-row", "gap-6", "items-start"], [1, "w-full", "lg:w-2/3"], [1, "w-full", 3, "lg:w-1/3", "lg:w-full"], [1, "w-full"], [3, "continueClick", "viewMode", "isEnabled", "isLoading"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-4"], [1, "flex", "items-center", "gap-4"], [1, "px-6", "py-4", "rounded-xl", "font-semibold", "text-lg", "transition-all", "duration-300", "cursor-pointer", 3, "click", "ngClass"], [1, "flex-1", "px-6", "py-4", "rounded-xl", "font-semibold", "text-lg", "transition-all", "duration-300", "flex", "items-center", "justify-center", "gap-3", "shadow-2xl", 3, "click", "disabled", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "transition-transform", "duration-200"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"]], template: function SymphiqProfileAnalysisDashboardComponent_Template(rf, ctx) { if (rf & 1) {
|
|
89738
89758
|
i0.ɵɵelementStart(0, "div", 0);
|
|
89739
89759
|
i0.ɵɵelement(1, "div", 1);
|
|
89740
89760
|
i0.ɵɵelementStart(2, "div");
|
|
@@ -89769,7 +89789,7 @@ class SymphiqProfileAnalysisDashboardComponent {
|
|
|
89769
89789
|
i0.ɵɵelementEnd();
|
|
89770
89790
|
i0.ɵɵelement(24, "symphiq-funnel-analysis-modal", 20)(25, "symphiq-business-analysis-modal", 21)(26, "symphiq-tooltip-container");
|
|
89771
89791
|
i0.ɵɵconditionalCreate(27, SymphiqProfileAnalysisDashboardComponent_Conditional_27_Template, 1, 3, "symphiq-sticky-subscription-continue-button", 22);
|
|
89772
|
-
i0.ɵɵconditionalCreate(28, SymphiqProfileAnalysisDashboardComponent_Conditional_28_Template,
|
|
89792
|
+
i0.ɵɵconditionalCreate(28, SymphiqProfileAnalysisDashboardComponent_Conditional_28_Template, 10, 6, "div", 23);
|
|
89773
89793
|
i0.ɵɵelementEnd()();
|
|
89774
89794
|
} if (rf & 2) {
|
|
89775
89795
|
let tmp_5_0;
|
|
@@ -89958,7 +89978,7 @@ class SymphiqProfileAnalysisDashboardComponent {
|
|
|
89958
89978
|
[selectedPeriodUnit]="selectedPeriodUnit()"
|
|
89959
89979
|
(periodUnitChanged)="handlePeriodUnitChange($event)"
|
|
89960
89980
|
(planSelected)="handlePlanSelection($event)"
|
|
89961
|
-
(editCurrency)="
|
|
89981
|
+
(editCurrency)="handleEditCurrencyClick()"
|
|
89962
89982
|
/>
|
|
89963
89983
|
</div>
|
|
89964
89984
|
} @else {
|
|
@@ -90423,14 +90443,14 @@ class SymphiqProfileAnalysisDashboardComponent {
|
|
|
90423
90443
|
@if (isEditingCurrency()) {
|
|
90424
90444
|
<div
|
|
90425
90445
|
[ngClass]="getEditCurrencyFooterClasses()"
|
|
90426
|
-
class="fixed bottom-0 left-0 right-0 z-50 border-t
|
|
90446
|
+
class="fixed bottom-0 left-0 right-0 z-50 border-t backdrop-blur-lg"
|
|
90427
90447
|
>
|
|
90428
|
-
<div class="
|
|
90429
|
-
<div class="flex items-center
|
|
90448
|
+
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-4">
|
|
90449
|
+
<div class="flex items-center gap-4">
|
|
90430
90450
|
<button
|
|
90431
90451
|
(click)="handleCancelCurrencyEdit()"
|
|
90432
90452
|
[ngClass]="getEditCurrencyCancelButtonClasses()"
|
|
90433
|
-
class="px-6 py-
|
|
90453
|
+
class="px-6 py-4 rounded-xl font-semibold text-lg transition-all duration-300 cursor-pointer"
|
|
90434
90454
|
>
|
|
90435
90455
|
Cancel
|
|
90436
90456
|
</button>
|
|
@@ -90438,9 +90458,12 @@ class SymphiqProfileAnalysisDashboardComponent {
|
|
|
90438
90458
|
(click)="handleContinueToPlans()"
|
|
90439
90459
|
[disabled]="!editingCurrencySelection()"
|
|
90440
90460
|
[ngClass]="getEditCurrencyContinueButtonClasses()"
|
|
90441
|
-
class="px-
|
|
90461
|
+
class="flex-1 px-6 py-4 rounded-xl font-semibold text-lg transition-all duration-300 flex items-center justify-center gap-3 shadow-2xl"
|
|
90442
90462
|
>
|
|
90443
|
-
Continue to Plans
|
|
90463
|
+
<span>Continue to Plans</span>
|
|
90464
|
+
<svg class="w-6 h-6 transition-transform duration-200" [class.translate-x-1]="editingCurrencySelection()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
90465
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6"></path>
|
|
90466
|
+
</svg>
|
|
90444
90467
|
</button>
|
|
90445
90468
|
</div>
|
|
90446
90469
|
</div>
|
|
@@ -90456,7 +90479,7 @@ class SymphiqProfileAnalysisDashboardComponent {
|
|
|
90456
90479
|
type: HostListener,
|
|
90457
90480
|
args: ['window:scroll', ['$event']]
|
|
90458
90481
|
}] }); })();
|
|
90459
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqProfileAnalysisDashboardComponent, { className: "SymphiqProfileAnalysisDashboardComponent", filePath: "lib/components/profile-analysis-dashboard/symphiq-profile-analysis-dashboard.component.ts", lineNumber:
|
|
90482
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqProfileAnalysisDashboardComponent, { className: "SymphiqProfileAnalysisDashboardComponent", filePath: "lib/components/profile-analysis-dashboard/symphiq-profile-analysis-dashboard.component.ts", lineNumber: 720 }); })();
|
|
90460
90483
|
|
|
90461
90484
|
class ScrollProgressBarComponent {
|
|
90462
90485
|
constructor() {
|