@masterteam/brand-display 0.0.1 → 0.0.3

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.
@@ -1,2 +1,2 @@
1
1
  /*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */
2
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.absolute{position:absolute}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.top-4{top:calc(var(--spacing)*4)}.z-10{z-index:10}.order-1{order:1}.order-2{order:2}.col-span-1{grid-column:span 1/span 1}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-auto{margin-inline:auto}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-7{margin-top:calc(var(--spacing)*7)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-12{margin-top:calc(var(--spacing)*12)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.block{display:block}.flex{display:flex}.hidden{display:none}.aspect-\[16\/10\]{aspect-ratio:16/10}.size-\[47px\]{width:47px;height:47px}.size-full{width:100%;height:100%}.h-3\/4{height:75%}.h-12{height:calc(var(--spacing)*12)}.h-\[288px\]{height:288px}.h-\[calc\(var\(--header-height\)\)\]{height:calc(var(--header-height))}.h-full{height:100%}.w-2\/5{width:40%}.w-3\/5{width:60%}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-60{width:calc(var(--spacing)*60)}.w-\[1px\]{width:1px}.w-full{width:100%}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.flex-col{flex-direction:column}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-10{gap:calc(var(--spacing)*10)}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-y-auto{overscroll-behavior-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-ss-2xl{border-start-start-radius:var(--radius-2xl)}.rounded-t-2xl{border-top-left-radius:var(--radius-2xl);border-top-right-radius:var(--radius-2xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-e-1{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-gray-300{border-color:var(--color-gray-300)}.border-surface{border-color:var(--p-content-border-color)}.border-surface-300{border-color:var(--p-surface-300)}@supports (color:color-mix(in lab, red, red)){.border-surface-300{border-color:color-mix(in srgb,var(--p-surface-300)calc(100%*1),transparent)}}.bg-primary{background-color:var(--p-primary-color)}@supports (color:color-mix(in lab, red, red)){.bg-primary{background-color:color-mix(in srgb,var(--p-primary-color)calc(100%*1),transparent)}}.bg-white{background-color:var(--color-white)}.bg-cover{background-size:cover}.bg-center{background-position:50%}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.p-8{padding:calc(var(--spacing)*8)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-8{padding-block:calc(var(--spacing)*8)}.text-center{text-align:center}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[11px\]{font-size:11px}.text-\[14px\]{font-size:14px}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-color{color:var(--p-text-color)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-primary{color:var(--p-primary-color)}@supports (color:color-mix(in lab, red, red)){.text-primary{color:color-mix(in srgb,var(--p-primary-color)calc(100%*1),transparent)}}.text-white{color:var(--color-white)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\:bg-surface-100:hover{background-color:var(--p-surface-100)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-surface-100:hover{background-color:color-mix(in srgb,var(--p-surface-100)calc(100%*1),transparent)}}}}@keyframes enter{0%{opacity:var(--p-enter-opacity,1);transform:translate3d(var(--p-enter-translate-x,0),var(--p-enter-translate-y,0),0)scale3d(var(--p-enter-scale,1),var(--p-enter-scale,1),var(--p-enter-scale,1))rotate(var(--p-enter-rotate,0))}}@keyframes leave{to{opacity:var(--p-leave-opacity,1);transform:translate3d(var(--p-leave-translate-x,0),var(--p-leave-translate-y,0),0)scale3d(var(--p-leave-scale,1),var(--p-leave-scale,1),var(--p-leave-scale,1))rotate(var(--p-leave-rotate,0))}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
2
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.absolute{position:absolute}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.top-4{top:calc(var(--spacing)*4)}.z-10{z-index:10}.order-1{order:1}.order-2{order:2}.col-span-1{grid-column:span 1/span 1}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-auto{margin-inline:auto}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-7{margin-top:calc(var(--spacing)*7)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-12{margin-top:calc(var(--spacing)*12)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.block{display:block}.flex{display:flex}.hidden{display:none}.aspect-\[16\/10\]{aspect-ratio:16/10}.size-\[47px\]{width:47px;height:47px}.size-full{width:100%;height:100%}.\!h-\[288px\]{height:288px!important}.h-3\/4{height:75%}.h-12{height:calc(var(--spacing)*12)}.h-\[calc\(var\(--header-height\)\)\]{height:calc(var(--header-height))}.h-full{height:100%}.w-2\/5{width:40%}.w-3\/5{width:60%}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-60{width:calc(var(--spacing)*60)}.w-\[1px\]{width:1px}.w-full{width:100%}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.flex-col{flex-direction:column}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-10{gap:calc(var(--spacing)*10)}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-y-auto{overscroll-behavior-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-2xl{border-top-left-radius:var(--radius-2xl);border-top-right-radius:var(--radius-2xl)}.rounded-b-2xl{border-bottom-right-radius:var(--radius-2xl);border-bottom-left-radius:var(--radius-2xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-e-1{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-gray-300{border-color:var(--color-gray-300)}.border-surface{border-color:var(--p-content-border-color)}.border-surface-300{border-color:var(--p-surface-300)}@supports (color:color-mix(in lab, red, red)){.border-surface-300{border-color:color-mix(in srgb,var(--p-surface-300)calc(100%*1),transparent)}}.bg-primary{background-color:var(--p-primary-color)}@supports (color:color-mix(in lab, red, red)){.bg-primary{background-color:color-mix(in srgb,var(--p-primary-color)calc(100%*1),transparent)}}.bg-white{background-color:var(--color-white)}.bg-cover{background-size:cover}.bg-center{background-position:50%}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.p-8{padding:calc(var(--spacing)*8)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-8{padding-block:calc(var(--spacing)*8)}.text-center{text-align:center}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[11px\]{font-size:11px}.text-\[14px\]{font-size:14px}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-color{color:var(--p-text-color)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-primary{color:var(--p-primary-color)}@supports (color:color-mix(in lab, red, red)){.text-primary{color:color-mix(in srgb,var(--p-primary-color)calc(100%*1),transparent)}}.text-white{color:var(--color-white)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\:bg-surface-100:hover{background-color:var(--p-surface-100)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-surface-100:hover{background-color:color-mix(in srgb,var(--p-surface-100)calc(100%*1),transparent)}}}}@keyframes enter{0%{opacity:var(--p-enter-opacity,1);transform:translate3d(var(--p-enter-translate-x,0),var(--p-enter-translate-y,0),0)scale3d(var(--p-enter-scale,1),var(--p-enter-scale,1),var(--p-enter-scale,1))rotate(var(--p-enter-rotate,0))}}@keyframes leave{to{opacity:var(--p-leave-opacity,1);transform:translate3d(var(--p-leave-translate-x,0),var(--p-leave-translate-y,0),0)scale3d(var(--p-leave-scale,1),var(--p-leave-scale,1),var(--p-leave-scale,1))rotate(var(--p-leave-rotate,0))}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
@@ -149,7 +149,7 @@ let BrandDisplayState = class BrandDisplayState extends CrudStateBase {
149
149
  }
150
150
  updateBrandDisplayData(ctx) {
151
151
  const state = ctx.getState();
152
- const req$ = this.http.put('Settings/UpdateSystemSettings', { values: [{ key: 'identity', value: state.draftBrandDisplayData }] });
152
+ const req$ = this.http.put('Settings/UpdateSystemSettings', { values: [{ key: 'Identity', value: state.draftBrandDisplayData }] });
153
153
  return handleApiRequest({
154
154
  ctx,
155
155
  key: BrandDisplayActionKey.UpdateBrandDisplay,
@@ -563,11 +563,11 @@ class PreviewBrand {
563
563
  },
564
564
  ];
565
565
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: PreviewBrand, deps: [], target: i0.ɵɵFactoryTarget.Component });
566
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.3", type: PreviewBrand, isStandalone: true, selector: "mt-preview-brand", ngImport: i0, template: "<ng-container *transloco=\"let t\">\r\n <div class=\"border rounded-2xl border-surface-300\">\r\n <div\r\n class=\"flex justify-between rounded-t-2xl align-center p-4 h-[calc(var(--header-height))] bg-cover bg-center\"\r\n [style]=\"headerStyles()\"\r\n [style.backgroundImage]=\"\r\n headerBackgroundImage() ? (headerBackgroundImage() | secureImage) : null\r\n \"\r\n >\r\n <div class=\"flex gap-4 items-center\">\r\n <img\r\n [src]=\"\r\n productBrandLogo()\r\n ? (productBrandLogo() | secureImage: true)\r\n : DEFAULT_DISPLAY_DATA()?.brandLogoWhite\r\n \"\r\n alt=\"Logo\"\r\n class=\"h-12 w-12\"\r\n />\r\n <div\r\n class=\"h-3/4 w-[1px]\"\r\n [style.background-color]=\"headerFontColor()\"\r\n ></div>\r\n <div class=\"flex flex-col gap-1\">\r\n <h2 class=\"text-xl font-semibold\" [style.color]=\"headerFontColor()\">\r\n {{ productName() }}\r\n </h2>\r\n <span class=\"text-sm font-semibold\" [style.color]=\"headerFontColor()\">\r\n {{ productTagline() }}\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"flex gap-2 items-center\">\r\n <mt-button\r\n icon=\"alert.bell-01\"\r\n size=\"large\"\r\n [style.color]=\"headerFontColor()\"\r\n ></mt-button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex bg-white overflow-clip\">\r\n <div\r\n class=\"w-16 h-full flex flex-col gap-3 border-e-1 border-surface-300 px-2 py-8 rounded-ss-2xl bg-cover bg-center\"\r\n [style]=\"sidebarStyles()\"\r\n [style.backgroundImage]=\"\r\n sidebarBackgroundImage()\r\n ? (sidebarBackgroundImage() | secureImage)\r\n : null\r\n \"\r\n >\r\n @for (page of pages; track page.title; let first = $first) {\r\n <a\r\n [style.background-color]=\"first ? lightPrimaryColor() : null\"\r\n class=\"flex items-center justify-center size-[47px] hover:bg-surface-100 transition-colors rounded-xl\"\r\n >\r\n <mt-icon\r\n [icon]=\"page.icon\"\r\n [style.color]=\"\r\n first ? primaryColor() : manageBrnding.draftSidebarIconColor()\r\n \"\r\n />\r\n </a>\r\n }\r\n </div>\r\n\r\n <div\r\n [style]=\"contentAreaStyles()\"\r\n [style.color]=\"contentAreaBodyColor()\"\r\n [style.backgroundImage]=\"\r\n contentAreaBackgroundImage()\r\n ? (contentAreaBackgroundImage() | secureImage)\r\n : null\r\n \"\r\n class=\"size-full h-[288px] overflow-y-auto overscroll-y-auto p-4 bg-cover bg-center\"\r\n >\r\n <p class=\"text-sm\">{{ t(\"preview-content\") }}</p>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: Button, selector: "mt-button", inputs: ["icon", "label", "tooltip", "class", "type", "styleClass", "severity", "badge", "variant", "badgeSeverity", "size", "iconPos", "autofocus", "fluid", "raised", "rounded", "text", "plain", "outlined", "link", "disabled", "loading", "pInputs"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: Icon, selector: "mt-icon", inputs: ["icon"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "pipe", type: SecureImagePipe, name: "secureImage" }] });
566
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.3", type: PreviewBrand, isStandalone: true, selector: "mt-preview-brand", ngImport: i0, template: "<ng-container *transloco=\"let t\">\r\n <div class=\"border rounded-2xl border-surface-300\">\r\n <div\r\n class=\"flex justify-between rounded-t-2xl align-center p-4 h-[calc(var(--header-height))] bg-cover bg-center\"\r\n [style]=\"headerStyles()\"\r\n [style.backgroundImage]=\"\r\n headerBackgroundImage() ? (headerBackgroundImage() | secureImage) : null\r\n \"\r\n >\r\n <div class=\"flex gap-4 items-center\">\r\n <img\r\n [src]=\"\r\n productBrandLogo()\r\n ? (productBrandLogo() | secureImage: true)\r\n : DEFAULT_DISPLAY_DATA()?.brandLogoWhite\r\n \"\r\n alt=\"Logo\"\r\n class=\"h-12 w-12\"\r\n />\r\n <div\r\n class=\"h-3/4 w-[1px]\"\r\n [style.background-color]=\"headerFontColor()\"\r\n ></div>\r\n <div class=\"flex flex-col gap-1\">\r\n <h2 class=\"text-xl font-semibold\" [style.color]=\"headerFontColor()\">\r\n {{ productName() }}\r\n </h2>\r\n <span class=\"text-sm font-semibold\" [style.color]=\"headerFontColor()\">\r\n {{ productTagline() }}\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"flex gap-2 items-center\">\r\n <mt-button\r\n icon=\"alert.bell-01\"\r\n size=\"large\"\r\n [style.color]=\"headerFontColor()\"\r\n ></mt-button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex bg-white overflow-clip rounded-b-2xl\">\r\n <div\r\n class=\"w-16 h-full flex flex-col gap-3 border-e-1 border-surface-300 px-2 py-8 bg-cover bg-center\"\r\n [style]=\"sidebarStyles()\"\r\n [style.backgroundImage]=\"\r\n sidebarBackgroundImage()\r\n ? (sidebarBackgroundImage() | secureImage)\r\n : null\r\n \"\r\n >\r\n @for (page of pages; track page.title; let first = $first) {\r\n <a\r\n [style.background-color]=\"first ? lightPrimaryColor() : null\"\r\n class=\"flex items-center justify-center size-[47px] hover:bg-surface-100 transition-colors rounded-xl\"\r\n >\r\n <mt-icon\r\n [icon]=\"page.icon\"\r\n [style.color]=\"\r\n first ? primaryColor() : manageBrnding.draftSidebarIconColor()\r\n \"\r\n />\r\n </a>\r\n }\r\n </div>\r\n\r\n <div\r\n [style]=\"contentAreaStyles()\"\r\n [style.color]=\"contentAreaBodyColor()\"\r\n [style.backgroundImage]=\"\r\n contentAreaBackgroundImage()\r\n ? (contentAreaBackgroundImage() | secureImage)\r\n : null\r\n \"\r\n class=\"size-full !h-[288px] overflow-y-auto overscroll-y-auto p-4 bg-cover bg-center\"\r\n >\r\n <p class=\"text-sm\">{{ t(\"preview-content\") }}</p>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: Button, selector: "mt-button", inputs: ["icon", "label", "tooltip", "class", "type", "styleClass", "severity", "badge", "variant", "badgeSeverity", "size", "iconPos", "autofocus", "fluid", "raised", "rounded", "text", "plain", "outlined", "link", "disabled", "loading", "pInputs"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: Icon, selector: "mt-icon", inputs: ["icon"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "pipe", type: SecureImagePipe, name: "secureImage" }] });
567
567
  }
568
568
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: PreviewBrand, decorators: [{
569
569
  type: Component,
570
- args: [{ selector: 'mt-preview-brand', standalone: true, imports: [CommonModule, Button, Icon, TranslocoDirective, SecureImagePipe], template: "<ng-container *transloco=\"let t\">\r\n <div class=\"border rounded-2xl border-surface-300\">\r\n <div\r\n class=\"flex justify-between rounded-t-2xl align-center p-4 h-[calc(var(--header-height))] bg-cover bg-center\"\r\n [style]=\"headerStyles()\"\r\n [style.backgroundImage]=\"\r\n headerBackgroundImage() ? (headerBackgroundImage() | secureImage) : null\r\n \"\r\n >\r\n <div class=\"flex gap-4 items-center\">\r\n <img\r\n [src]=\"\r\n productBrandLogo()\r\n ? (productBrandLogo() | secureImage: true)\r\n : DEFAULT_DISPLAY_DATA()?.brandLogoWhite\r\n \"\r\n alt=\"Logo\"\r\n class=\"h-12 w-12\"\r\n />\r\n <div\r\n class=\"h-3/4 w-[1px]\"\r\n [style.background-color]=\"headerFontColor()\"\r\n ></div>\r\n <div class=\"flex flex-col gap-1\">\r\n <h2 class=\"text-xl font-semibold\" [style.color]=\"headerFontColor()\">\r\n {{ productName() }}\r\n </h2>\r\n <span class=\"text-sm font-semibold\" [style.color]=\"headerFontColor()\">\r\n {{ productTagline() }}\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"flex gap-2 items-center\">\r\n <mt-button\r\n icon=\"alert.bell-01\"\r\n size=\"large\"\r\n [style.color]=\"headerFontColor()\"\r\n ></mt-button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex bg-white overflow-clip\">\r\n <div\r\n class=\"w-16 h-full flex flex-col gap-3 border-e-1 border-surface-300 px-2 py-8 rounded-ss-2xl bg-cover bg-center\"\r\n [style]=\"sidebarStyles()\"\r\n [style.backgroundImage]=\"\r\n sidebarBackgroundImage()\r\n ? (sidebarBackgroundImage() | secureImage)\r\n : null\r\n \"\r\n >\r\n @for (page of pages; track page.title; let first = $first) {\r\n <a\r\n [style.background-color]=\"first ? lightPrimaryColor() : null\"\r\n class=\"flex items-center justify-center size-[47px] hover:bg-surface-100 transition-colors rounded-xl\"\r\n >\r\n <mt-icon\r\n [icon]=\"page.icon\"\r\n [style.color]=\"\r\n first ? primaryColor() : manageBrnding.draftSidebarIconColor()\r\n \"\r\n />\r\n </a>\r\n }\r\n </div>\r\n\r\n <div\r\n [style]=\"contentAreaStyles()\"\r\n [style.color]=\"contentAreaBodyColor()\"\r\n [style.backgroundImage]=\"\r\n contentAreaBackgroundImage()\r\n ? (contentAreaBackgroundImage() | secureImage)\r\n : null\r\n \"\r\n class=\"size-full h-[288px] overflow-y-auto overscroll-y-auto p-4 bg-cover bg-center\"\r\n >\r\n <p class=\"text-sm\">{{ t(\"preview-content\") }}</p>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n" }]
570
+ args: [{ selector: 'mt-preview-brand', standalone: true, imports: [CommonModule, Button, Icon, TranslocoDirective, SecureImagePipe], template: "<ng-container *transloco=\"let t\">\r\n <div class=\"border rounded-2xl border-surface-300\">\r\n <div\r\n class=\"flex justify-between rounded-t-2xl align-center p-4 h-[calc(var(--header-height))] bg-cover bg-center\"\r\n [style]=\"headerStyles()\"\r\n [style.backgroundImage]=\"\r\n headerBackgroundImage() ? (headerBackgroundImage() | secureImage) : null\r\n \"\r\n >\r\n <div class=\"flex gap-4 items-center\">\r\n <img\r\n [src]=\"\r\n productBrandLogo()\r\n ? (productBrandLogo() | secureImage: true)\r\n : DEFAULT_DISPLAY_DATA()?.brandLogoWhite\r\n \"\r\n alt=\"Logo\"\r\n class=\"h-12 w-12\"\r\n />\r\n <div\r\n class=\"h-3/4 w-[1px]\"\r\n [style.background-color]=\"headerFontColor()\"\r\n ></div>\r\n <div class=\"flex flex-col gap-1\">\r\n <h2 class=\"text-xl font-semibold\" [style.color]=\"headerFontColor()\">\r\n {{ productName() }}\r\n </h2>\r\n <span class=\"text-sm font-semibold\" [style.color]=\"headerFontColor()\">\r\n {{ productTagline() }}\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"flex gap-2 items-center\">\r\n <mt-button\r\n icon=\"alert.bell-01\"\r\n size=\"large\"\r\n [style.color]=\"headerFontColor()\"\r\n ></mt-button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex bg-white overflow-clip rounded-b-2xl\">\r\n <div\r\n class=\"w-16 h-full flex flex-col gap-3 border-e-1 border-surface-300 px-2 py-8 bg-cover bg-center\"\r\n [style]=\"sidebarStyles()\"\r\n [style.backgroundImage]=\"\r\n sidebarBackgroundImage()\r\n ? (sidebarBackgroundImage() | secureImage)\r\n : null\r\n \"\r\n >\r\n @for (page of pages; track page.title; let first = $first) {\r\n <a\r\n [style.background-color]=\"first ? lightPrimaryColor() : null\"\r\n class=\"flex items-center justify-center size-[47px] hover:bg-surface-100 transition-colors rounded-xl\"\r\n >\r\n <mt-icon\r\n [icon]=\"page.icon\"\r\n [style.color]=\"\r\n first ? primaryColor() : manageBrnding.draftSidebarIconColor()\r\n \"\r\n />\r\n </a>\r\n }\r\n </div>\r\n\r\n <div\r\n [style]=\"contentAreaStyles()\"\r\n [style.color]=\"contentAreaBodyColor()\"\r\n [style.backgroundImage]=\"\r\n contentAreaBackgroundImage()\r\n ? (contentAreaBackgroundImage() | secureImage)\r\n : null\r\n \"\r\n class=\"size-full !h-[288px] overflow-y-auto overscroll-y-auto p-4 bg-cover bg-center\"\r\n >\r\n <p class=\"text-sm\">{{ t(\"preview-content\") }}</p>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n" }]
571
571
  }] });
572
572
 
573
573
  class WhiteLabel {
@@ -1 +1 @@
1
- {"version":3,"file":"masterteam-brand-display.mjs","sources":["../../../../packages/masterteam/brand-display/src/store/brand-display/brand-display.actions.ts","../../../../packages/masterteam/brand-display/src/store/brand-display/brand-display.model.ts","../../../../packages/masterteam/brand-display/src/store/brand-display/brand-display-default-data.ts","../../../../packages/masterteam/brand-display/src/store/brand-display/brand-display.state.ts","../../../../packages/masterteam/brand-display/src/store/brand-display/brand-display.facade.ts","../../../../packages/masterteam/brand-display/src/lib/brand-display/brand-display.ts","../../../../packages/masterteam/brand-display/src/lib/brand-display/brand-display.html","../../../../packages/masterteam/brand-display/src/lib/services/favicon.service.ts","../../../../packages/masterteam/brand-display/src/lib/services/manage-brnding.service.ts","../../../../packages/masterteam/brand-display/src/lib/brand-display/pages/preview-brand/preview-brand.ts","../../../../packages/masterteam/brand-display/src/lib/brand-display/pages/preview-brand/preview-brand.html","../../../../packages/masterteam/brand-display/src/lib/brand-display/pages/white-label/white-label.ts","../../../../packages/masterteam/brand-display/src/lib/brand-display/pages/white-label/white-label.html","../../../../packages/masterteam/brand-display/src/lib/brand-display/pages/main-display/main-display.ts","../../../../packages/masterteam/brand-display/src/lib/brand-display/pages/main-display/main-display.html","../../../../packages/masterteam/brand-display/src/lib/brand-display/pages/header-sidebar-display/header-sidebar-display.ts","../../../../packages/masterteam/brand-display/src/lib/brand-display/pages/header-sidebar-display/header-sidebar-display.html","../../../../packages/masterteam/brand-display/src/lib/brand-display/pages/content-area/content-area.ts","../../../../packages/masterteam/brand-display/src/lib/brand-display/pages/content-area/content-area.html","../../../../packages/masterteam/brand-display/src/lib/brand-display/pages/preview-login/preview-login.ts","../../../../packages/masterteam/brand-display/src/lib/brand-display/pages/preview-login/preview-login.html","../../../../packages/masterteam/brand-display/src/lib/brand-display/pages/login-display/login-display.ts","../../../../packages/masterteam/brand-display/src/lib/brand-display/pages/login-display/login-display.html","../../../../packages/masterteam/brand-display/src/masterteam-brand-display.ts"],"sourcesContent":["import { BrandDisplay } from './brand-display.model';\r\n\r\nexport class GetBrandDisplay {\r\n static readonly type = '[BrandDisplay] Get Brand Display';\r\n}\r\n\r\nexport class UpdateBrandDisplayData {\r\n static readonly type = '[BrandDisplay] Update Brand Display Data';\r\n}\r\nexport class UpdateBrandDisplayDataLocally {\r\n static readonly type = '[BrandDisplay] Update Brand Display Data Locally';\r\n constructor(public changes: BrandDisplay) {}\r\n}\r\n","import { LoadingStateShape } from '@masterteam/components';\r\n\r\nexport interface LogoSettings {\r\n loginBrandImage?: any;\r\n productBrandImage?: any;\r\n faviconsImage?: any;\r\n}\r\n\r\nexport interface ColorSettings {\r\n primaryColor?: string;\r\n secondaryColor?: string;\r\n textColor?: string;\r\n}\r\n\r\nexport interface MainDisplay {\r\n productName?: { en: string; ar: string };\r\n productTagline?: { en: string; ar: string };\r\n logoSettings?: LogoSettings;\r\n colorSettings?: ColorSettings;\r\n}\r\n\r\nexport interface SidebarDisplay {\r\n backgroundColor?: string;\r\n backgroundImage?: any;\r\n iconColor?: string;\r\n repeated?: boolean;\r\n}\r\n\r\nexport interface HeaderDisplay {\r\n backgroundColor?: string;\r\n backgroundImage?: any;\r\n fontColor?: string;\r\n repeated?: boolean;\r\n}\r\n\r\nexport interface ContentAreaDisplay {\r\n backgroundColor?: string;\r\n backgroundImage?: any;\r\n repeated?: boolean;\r\n}\r\n\r\nexport interface LoginDisplay {\r\n loginBrandLogo?: string;\r\n backgroundColor?: string;\r\n backgroundImage?: any;\r\n loginBrandImage?: any;\r\n repeated?: boolean;\r\n formWizardPosition?: 'start' | 'end' | 'center';\r\n}\r\n\r\nexport interface BrandDisplay {\r\n main?: MainDisplay;\r\n sidebar?: SidebarDisplay;\r\n header?: HeaderDisplay;\r\n contentArea?: ContentAreaDisplay;\r\n login?: LoginDisplay;\r\n loginLogo?: string;\r\n brandLogoWhite?: string;\r\n}\r\n\r\nexport enum BrandDisplayActionKey {\r\n GetBrandDisplay = 'getBrandDisplay',\r\n UpdateBrandDisplay = 'updateBrandDisplay',\r\n}\r\n\r\nexport interface BrandDisplayStateModel extends LoadingStateShape<BrandDisplayActionKey> {\r\n brandDisplayData: BrandDisplay | null;\r\n draftBrandDisplayData: BrandDisplay | null;\r\n defaultBrandDisplayData: any | null;\r\n}\r\n","import { BrandDisplay } from './brand-display.model';\r\n\r\nexport const defaultBrandDisplayData: BrandDisplay = {\r\n main: {\r\n productName: { en: 'Project Plus', ar: 'نظام ادارة المشاريع' },\r\n productTagline: {\r\n en: 'PMO Multi Platform Digital Solution',\r\n ar: 'نظام رقمي متعدد المنصات',\r\n },\r\n colorSettings: {\r\n primaryColor: '#2AAEC0',\r\n secondaryColor: '#6c757d',\r\n textColor: '#000000',\r\n },\r\n },\r\n\r\n sidebar: {\r\n backgroundColor: '#F5F5F5',\r\n iconColor: '#535862',\r\n repeated: false,\r\n },\r\n\r\n header: {\r\n backgroundColor: '#2AAEC0',\r\n fontColor: '#ffffffff',\r\n repeated: false,\r\n },\r\n\r\n contentArea: {\r\n backgroundColor: '#F8F9FC',\r\n repeated: false,\r\n },\r\n\r\n login: {\r\n backgroundColor: '#125bbb',\r\n repeated: false,\r\n formWizardPosition: 'start',\r\n },\r\n loginLogo: 'pplus.svg',\r\n brandLogoWhite: 'pplus-white.svg',\r\n};\r\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\r\nimport {\r\n GetBrandDisplay,\r\n UpdateBrandDisplayData,\r\n UpdateBrandDisplayDataLocally,\r\n} from './brand-display.actions';\r\nimport {\r\n BrandDisplay,\r\n BrandDisplayActionKey,\r\n BrandDisplayStateModel,\r\n} from './brand-display.model';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { inject, Injectable } from '@angular/core';\r\nimport {\r\n CrudStateBase,\r\n handleApiRequest,\r\n Response,\r\n} from '@masterteam/components';\r\nimport { defaultBrandDisplayData } from './brand-display-default-data';\r\n\r\n@State<BrandDisplayStateModel>({\r\n name: 'brandDisplay',\r\n defaults: {\r\n brandDisplayData: {},\r\n draftBrandDisplayData: {},\r\n defaultBrandDisplayData: defaultBrandDisplayData,\r\n loadingActive: [],\r\n errors: {},\r\n },\r\n})\r\n@Injectable()\r\nexport class BrandDisplayState extends CrudStateBase<\r\n BrandDisplay,\r\n BrandDisplayStateModel,\r\n BrandDisplayActionKey\r\n> {\r\n private http = inject(HttpClient);\r\n\r\n // ============================================================================\r\n // Data Selectors - Fine-grained reactivity\r\n // ============================================================================\r\n @Selector()\r\n static getBrandDisplayData(\r\n state: BrandDisplayStateModel,\r\n ): BrandDisplay | null {\r\n return state.brandDisplayData;\r\n }\r\n\r\n @Selector()\r\n static getDefaultBrandDisplayData(\r\n state: BrandDisplayStateModel,\r\n ): BrandDisplay | null {\r\n return state.defaultBrandDisplayData;\r\n }\r\n\r\n @Selector()\r\n static getDraftBrandDisplayData(\r\n state: BrandDisplayStateModel,\r\n ): BrandDisplay | null {\r\n return state.draftBrandDisplayData;\r\n }\r\n\r\n // ============================================================================\r\n // Loading/Error Slice Selectors - Required for facade\r\n // ============================================================================\r\n @Selector()\r\n static getLoadingActive(state: BrandDisplayStateModel): string[] {\r\n return state.loadingActive;\r\n }\r\n\r\n @Selector()\r\n static getErrors(\r\n state: BrandDisplayStateModel,\r\n ): Record<string, string | null> {\r\n return state.errors;\r\n }\r\n\r\n // ============================================================================\r\n // Actions\r\n // ============================================================================\r\n @Action(UpdateBrandDisplayDataLocally)\r\n updateBrandDisplayDataLocally(\r\n ctx: StateContext<BrandDisplayStateModel>,\r\n { changes }: UpdateBrandDisplayDataLocally,\r\n ) {\r\n const state = ctx.getState();\r\n ctx.patchState({\r\n draftBrandDisplayData: { ...state.draftBrandDisplayData, ...changes },\r\n });\r\n }\r\n\r\n @Action(GetBrandDisplay)\r\n getBrandDisplay(ctx: StateContext<BrandDisplayStateModel>) {\r\n const req$ = this.http.get<Response<any>>('Settings/general');\r\n\r\n return handleApiRequest({\r\n ctx,\r\n key: BrandDisplayActionKey.GetBrandDisplay,\r\n request$: req$,\r\n onSuccess: (response, state) => {\r\n const Identity = response?.data?.find(\r\n (v: any) => v.key === 'Identity',\r\n )?.value;\r\n\r\n if (Identity) {\r\n // Ensure formWizardPosition always has a valid value\r\n const brandDisplayData = {\r\n ...Identity,\r\n login: {\r\n ...Identity.login,\r\n formWizardPosition:\r\n Identity.login?.formWizardPosition ||\r\n state.defaultBrandDisplayData?.login?.formWizardPosition,\r\n },\r\n };\r\n\r\n return {\r\n brandDisplayData,\r\n draftBrandDisplayData: brandDisplayData,\r\n };\r\n }\r\n return {};\r\n },\r\n onError: (_error, state) => ({\r\n brandDisplayData: state.defaultBrandDisplayData,\r\n draftBrandDisplayData: state.defaultBrandDisplayData,\r\n }),\r\n errorMessage: 'Failed to load brand display',\r\n });\r\n }\r\n\r\n @Action(UpdateBrandDisplayData)\r\n updateBrandDisplayData(ctx: StateContext<BrandDisplayStateModel>) {\r\n const state = ctx.getState();\r\n const req$ = this.http.put<Response<BrandDisplay>>(\r\n 'Settings/UpdateSystemSettings',\r\n { values: [{ key: 'identity', value: state.draftBrandDisplayData }] },\r\n );\r\n\r\n return handleApiRequest({\r\n ctx,\r\n key: BrandDisplayActionKey.UpdateBrandDisplay,\r\n request$: req$,\r\n onSuccess: (_response, state) => ({\r\n brandDisplayData: JSON.parse(\r\n JSON.stringify(state.draftBrandDisplayData),\r\n ),\r\n }),\r\n onError: () => {\r\n // Re-fetch on error\r\n ctx.dispatch(new GetBrandDisplay());\r\n return {};\r\n },\r\n errorMessage: 'Failed to update brand display',\r\n });\r\n }\r\n}\r\n","import { BrandDisplayState } from './brand-display.state';\r\nimport { Injectable, computed, inject } from '@angular/core';\r\nimport { select, Store } from '@ngxs/store';\r\nimport {\r\n GetBrandDisplay,\r\n UpdateBrandDisplayData,\r\n UpdateBrandDisplayDataLocally,\r\n} from './brand-display.actions';\r\nimport { BrandDisplay, BrandDisplayActionKey } from './brand-display.model';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class BrandDisplayFacade {\r\n private readonly store = inject(Store);\r\n\r\n // ============================================================================\r\n // Data Selectors - Memoized by NGXS (fine-grained reactivity)\r\n // ============================================================================\r\n readonly brandDisplayData = select(BrandDisplayState.getBrandDisplayData);\r\n readonly draftBrandDisplayData = select(\r\n BrandDisplayState.getDraftBrandDisplayData,\r\n );\r\n readonly defaultBrandDisplayData = select(\r\n BrandDisplayState.getDefaultBrandDisplayData,\r\n );\r\n\r\n // ============================================================================\r\n // Loading/Error Slices - Memoized by NGXS\r\n // ============================================================================\r\n private readonly loadingActive = select(BrandDisplayState.getLoadingActive);\r\n private readonly errors = select(BrandDisplayState.getErrors);\r\n\r\n // ============================================================================\r\n // Loading Signals - Computed from slice (minimal reactivity)\r\n // ============================================================================\r\n readonly isLoadingBrandDisplay = computed(() =>\r\n this.loadingActive().includes(BrandDisplayActionKey.GetBrandDisplay),\r\n );\r\n readonly isUpdatingBrandDisplay = computed(() =>\r\n this.loadingActive().includes(BrandDisplayActionKey.UpdateBrandDisplay),\r\n );\r\n\r\n // ============================================================================\r\n // Error Signals - Computed from slice (minimal reactivity)\r\n // ============================================================================\r\n readonly brandDisplayError = computed(\r\n () => this.errors()[BrandDisplayActionKey.GetBrandDisplay] ?? null,\r\n );\r\n readonly updateBrandDisplayError = computed(\r\n () => this.errors()[BrandDisplayActionKey.UpdateBrandDisplay] ?? null,\r\n );\r\n\r\n // ============================================================================\r\n // Action Dispatchers\r\n // ============================================================================\r\n getBrandDisplay() {\r\n return this.store.dispatch(new GetBrandDisplay());\r\n }\r\n\r\n updateBrandDisplayDataLocally(changes: BrandDisplay) {\r\n return this.store.dispatch(new UpdateBrandDisplayDataLocally(changes));\r\n }\r\n\r\n updateBrandDisplayData() {\r\n return this.store.dispatch(new UpdateBrandDisplayData());\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, inject, OnInit, signal } from '@angular/core';\r\nimport { ActivatedRoute, Router, RouterOutlet } from '@angular/router';\r\nimport { TranslocoDirective, TranslocoService } from '@jsverse/transloco';\r\nimport { Breadcrumb } from '@masterteam/components/breadcrumb';\r\nimport { Button } from '@masterteam/components/button';\r\nimport { BrandDisplayFacade } from '../../store/brand-display';\r\nimport { SkeletonModule } from 'primeng/skeleton';\r\nimport { Page } from '@masterteam/components/page';\r\nimport { PageHeaderTab } from '@masterteam/components/page-header';\r\n\r\n@Component({\r\n selector: 'mt-brand-display',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n Page,\r\n Breadcrumb,\r\n Button,\r\n RouterOutlet,\r\n TranslocoDirective,\r\n SkeletonModule,\r\n ],\r\n templateUrl: './brand-display.html',\r\n styleUrl: './brand-display.scss',\r\n})\r\nexport default class BrandDisplay implements OnInit {\r\n private readonly facade = inject(BrandDisplayFacade);\r\n private readonly route = inject(ActivatedRoute);\r\n private readonly router = inject(Router);\r\n private readonly translocoService = inject(TranslocoService);\r\n selectedTab = signal<string>('users');\r\n loading = this.facade.isLoadingBrandDisplay;\r\n updateLoading = this.facade.isUpdatingBrandDisplay;\r\n tabsList: PageHeaderTab[] = [\r\n {\r\n label: this.translocoService.translate('brand-display.white-label'),\r\n value: 'white-label',\r\n },\r\n {\r\n label: this.translocoService.translate('brand-display.login-display'),\r\n value: 'login-display',\r\n },\r\n ];\r\n breadcrumbItems: { label?: string; routerLink?: string; icon?: string }[] = [\r\n {\r\n label: '',\r\n icon: 'general.home-line',\r\n routerLink: '/control-panel/workspaces',\r\n },\r\n {\r\n label: this.translocoService.translate('brand-settings.brand-settings'),\r\n routerLink: '/control-panel/brand-settings',\r\n },\r\n { label: this.translocoService.translate('brand-display.brand-display') },\r\n ];\r\n\r\n ngOnInit() {\r\n const selectedTab = this.route.snapshot.firstChild?.data['componentType'];\r\n this.selectedTab.set(selectedTab || 'white-label');\r\n this.facade.getBrandDisplay();\r\n }\r\n\r\n goBack() {\r\n this.router.navigate(['control-panel/brand-settings']);\r\n }\r\n\r\n onTabChange(event: any) {\r\n if (event) {\r\n this.router.navigate([event], { relativeTo: this.route });\r\n }\r\n }\r\n\r\n onSave() {\r\n this.facade.updateBrandDisplayData();\r\n }\r\n}\r\n","<ng-container *transloco=\"let t; prefix: 'brand-display'\">\r\n <mt-page\r\n [title]=\"t('brand-display')\"\r\n [avatarIcon]=\"'editor.colors'\"\r\n [avatarStyle]=\"{\r\n '--p-avatar-background': 'var(--p-violet-50)',\r\n '--p-avatar-color': 'var(--p-violet-700)',\r\n }\"\r\n [tabs]=\"tabsList\"\r\n [activeTab]=\"selectedTab()\"\r\n (tabChange)=\"onTabChange($event)\"\r\n (backButtonClick)=\"goBack()\"\r\n backButton\r\n >\r\n <div class=\"flex justify-between items-end\">\r\n <div>\r\n <h3 class=\"font-bold text-lg\">{{ t(\"brand-display\") }}</h3>\r\n <mt-breadcrumb\r\n [items]=\"breadcrumbItems\"\r\n [styleClass]=\"'flex justify-start mx-1'\"\r\n ></mt-breadcrumb>\r\n </div>\r\n <mt-button\r\n [label]=\"t('save')\"\r\n icon=\"general.check\"\r\n (click)=\"onSave()\"\r\n [loading]=\"updateLoading()\"\r\n [disabled]=\"false\"\r\n />\r\n </div>\r\n @if (!loading()) {\r\n <router-outlet />\r\n } @else {\r\n <p-skeleton class=\"mt-8\" width=\"30rem\" height=\"3rem\" />\r\n <div class=\"flex mt-4 gap-5\">\r\n <p-skeleton height=\"25rem\" />\r\n <p-skeleton width=\"70rem\" height=\"25rem\" />\r\n </div>\r\n }\r\n </mt-page>\r\n</ng-container>\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { HttpClient, HttpResponse } from '@angular/common/http';\r\nimport { map } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class FaviconService {\r\n private document = inject(DOCUMENT);\r\n private httpClient = inject(HttpClient);\r\n faviconLink = this.document.querySelector(\r\n \"link[rel*='icon']\",\r\n ) as HTMLLinkElement;\r\n setFavicon(faviconDataUrl: string): void {\r\n this.updateFaviconFromUrl(faviconDataUrl);\r\n }\r\n\r\n resetFavicon(defaultPath: string = '/pplus.svg'): void {\r\n this.faviconLink.href = defaultPath;\r\n }\r\n private updateFaviconFromUrl(imagePath: string) {\r\n this.httpClient\r\n .get('uploader/' + imagePath, {\r\n observe: 'response',\r\n responseType: 'blob',\r\n })\r\n .pipe(\r\n map((response: HttpResponse<Blob>) =>\r\n URL.createObjectURL(response.body!),\r\n ),\r\n )\r\n .subscribe((url: string) => {\r\n this.faviconLink.href = url;\r\n });\r\n }\r\n}\r\n","import { computed, effect, inject, Injectable, untracked } from '@angular/core';\r\nimport { BrandDisplayFacade } from '../../store/brand-display';\r\nimport { changePrimaryColor } from '@masterteam/components';\r\nimport { changeTextColor } from '@masterteam/components';\r\nimport { changeBackgroundColor } from '@masterteam/components';\r\nimport { FaviconService } from './favicon.service';\r\n\r\nexport interface BackgroundStyles {\r\n 'background-color'?: string;\r\n 'background-image'?: string;\r\n 'background-repeat'?: string;\r\n 'background-size'?: string;\r\n 'background-position'?: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ManageBrndingService {\r\n private readonly brandDisplay = inject(BrandDisplayFacade);\r\n private readonly faviconService = inject(FaviconService);\r\n\r\n readonly DEFAULT_DISPLAY_DATA: any =\r\n this.brandDisplay.defaultBrandDisplayData;\r\n readonly brandDisplayData = this.brandDisplay.brandDisplayData;\r\n readonly draftBrandDisplayData = this.brandDisplay.draftBrandDisplayData;\r\n\r\n readonly mainData = computed(() => this.brandDisplayData()?.main);\r\n readonly headerData = computed(() => this.brandDisplayData()?.header);\r\n readonly sidebarData = computed(() => this.brandDisplayData()?.sidebar);\r\n readonly contentAreaData = computed(\r\n () => this.brandDisplayData()?.contentArea,\r\n );\r\n readonly loginData = computed(() => this.brandDisplayData()?.login);\r\n\r\n // Draft data computed signals for preview components\r\n readonly draftMainData = computed(() => this.draftBrandDisplayData()?.main);\r\n readonly draftHeaderData = computed(\r\n () => this.draftBrandDisplayData()?.header,\r\n );\r\n readonly draftSidebarData = computed(\r\n () => this.draftBrandDisplayData()?.sidebar,\r\n );\r\n readonly draftContentAreaData = computed(\r\n () => this.draftBrandDisplayData()?.contentArea,\r\n );\r\n readonly draftLoginData = computed(() => this.draftBrandDisplayData()?.login);\r\n\r\n // Images for main brandDisplayData\r\n readonly productBrandLogo = computed(() => {\r\n return this.mainData()?.logoSettings?.productBrandImage?.fileName;\r\n });\r\n\r\n readonly headerBackgroundImage = computed(() => {\r\n return this.headerData()?.backgroundImage?.fileName;\r\n });\r\n\r\n readonly sidebarBackgroundImage = computed(() => {\r\n return this.sidebarData()?.backgroundImage?.fileName;\r\n });\r\n\r\n readonly contentAreaBackgroundImage = computed(() => {\r\n return this.contentAreaData()?.backgroundImage?.fileName;\r\n });\r\n\r\n readonly loginBackgroundImage = computed(() => {\r\n return this.loginData()?.backgroundImage?.fileName;\r\n });\r\n\r\n // Images for draft data (preview)\r\n readonly draftProductBrandLogo = computed(() => {\r\n return this.draftMainData()?.logoSettings?.productBrandImage?.fileName;\r\n });\r\n\r\n readonly draftHeaderBackgroundImage = computed(() => {\r\n return this.draftHeaderData()?.backgroundImage?.fileName;\r\n });\r\n\r\n readonly draftSidebarBackgroundImage = computed(() => {\r\n return this.draftSidebarData()?.backgroundImage?.fileName;\r\n });\r\n\r\n readonly draftContentAreaBackgroundImage = computed(() => {\r\n return this.draftContentAreaData()?.backgroundImage?.fileName;\r\n });\r\n\r\n readonly draftLoginBackgroundImage = computed(() => {\r\n return this.draftLoginData()?.backgroundImage?.fileName;\r\n });\r\n\r\n readonly primaryColor = computed(\r\n () =>\r\n this.mainData()?.colorSettings?.primaryColor ||\r\n this.DEFAULT_DISPLAY_DATA()?.main?.colorSettings?.primaryColor,\r\n );\r\n readonly textColor = computed(\r\n () =>\r\n this.mainData()?.colorSettings?.textColor ||\r\n this.DEFAULT_DISPLAY_DATA()?.main?.colorSettings?.textColor,\r\n );\r\n readonly backgroundColor = computed(\r\n () =>\r\n this.contentAreaData()?.backgroundColor ||\r\n this.DEFAULT_DISPLAY_DATA()?.contentArea?.backgroundColor,\r\n );\r\n\r\n readonly headerFontColor = computed(() => {\r\n return (\r\n this.headerData()?.fontColor ||\r\n this.DEFAULT_DISPLAY_DATA()?.header?.fontColor\r\n );\r\n });\r\n\r\n readonly sidebarIconColor = computed(() => {\r\n return (\r\n this.sidebarData()?.iconColor ||\r\n this.DEFAULT_DISPLAY_DATA()?.sidebar?.iconColor\r\n );\r\n });\r\n\r\n readonly contentAreaBodyColor = computed(\r\n () =>\r\n this.mainData()?.colorSettings?.textColor ||\r\n this.DEFAULT_DISPLAY_DATA()?.main?.colorSettings?.textColor,\r\n );\r\n\r\n // Colors and styles for draft data (preview)\r\n readonly draftPrimaryColor = computed(\r\n () =>\r\n this.draftMainData()?.colorSettings?.primaryColor ||\r\n this.DEFAULT_DISPLAY_DATA()?.main?.colorSettings?.primaryColor,\r\n );\r\n\r\n readonly draftHeaderFontColor = computed(() => {\r\n return (\r\n this.draftHeaderData()?.fontColor ||\r\n this.DEFAULT_DISPLAY_DATA()?.header?.fontColor\r\n );\r\n });\r\n\r\n readonly draftSidebarIconColor = computed(() => {\r\n return (\r\n this.draftSidebarData()?.iconColor ||\r\n this.DEFAULT_DISPLAY_DATA()?.sidebar?.iconColor\r\n );\r\n });\r\n\r\n readonly draftContentAreaBodyColor = computed(\r\n () =>\r\n this.draftMainData()?.colorSettings?.textColor ||\r\n this.DEFAULT_DISPLAY_DATA()?.main?.colorSettings?.textColor,\r\n );\r\n\r\n constructor() {\r\n effect(() => {\r\n const favicon = this.mainData()?.logoSettings?.faviconsImage?.fileName;\r\n if (favicon) {\r\n this.faviconService.setFavicon(favicon);\r\n } else {\r\n this.faviconService.resetFavicon();\r\n }\r\n });\r\n effect(() => {\r\n const primaryColor = this.primaryColor();\r\n const textColor = this.textColor();\r\n const backgroundColor = this.backgroundColor();\r\n untracked(() => {\r\n if (primaryColor) {\r\n changePrimaryColor(primaryColor);\r\n }\r\n if (textColor) {\r\n changeTextColor(textColor);\r\n }\r\n if (backgroundColor) {\r\n changeBackgroundColor(backgroundColor);\r\n }\r\n });\r\n });\r\n }\r\n\r\n buildBackgroundStyles(\r\n data:\r\n | {\r\n backgroundColor?: string;\r\n backgroundImage?: string;\r\n repeated?: boolean;\r\n }\r\n | undefined,\r\n defaultBgColor?: string,\r\n ): BackgroundStyles {\r\n const styles: BackgroundStyles = {};\r\n\r\n if (defaultBgColor && !data?.backgroundColor) {\r\n styles['background-color'] = defaultBgColor;\r\n }\r\n\r\n if (data?.backgroundColor) {\r\n styles['background-color'] = data.backgroundColor;\r\n }\r\n\r\n if (data?.backgroundImage) {\r\n if (data.repeated) {\r\n styles['background-repeat'] = 'repeat';\r\n styles['background-size'] = 'auto';\r\n } else {\r\n styles['background-repeat'] = 'no-repeat';\r\n styles['background-size'] = 'cover';\r\n styles['background-position'] = 'center';\r\n }\r\n }\r\n\r\n return styles;\r\n }\r\n\r\n getProductName(lang: 'en' | 'ar'): string {\r\n const name = this.mainData()?.productName;\r\n return (\r\n name?.[lang] || this.DEFAULT_DISPLAY_DATA()?.main?.productName?.[lang]\r\n );\r\n }\r\n\r\n getProductTagline(lang: 'en' | 'ar'): string {\r\n const name = this.mainData()?.productTagline;\r\n return (\r\n name?.[lang] || this.DEFAULT_DISPLAY_DATA()?.main?.productTagline?.[lang]\r\n );\r\n }\r\n\r\n // Draft versions for preview components\r\n getDraftProductName(lang: 'en' | 'ar'): string {\r\n const name = this.draftMainData()?.productName;\r\n return (\r\n name?.[lang] || this.DEFAULT_DISPLAY_DATA()?.main?.productName?.[lang]\r\n );\r\n }\r\n\r\n getDraftProductTagline(lang: 'en' | 'ar'): string {\r\n const name = this.draftMainData()?.productTagline;\r\n return (\r\n name?.[lang] || this.DEFAULT_DISPLAY_DATA()?.main?.productTagline?.[lang]\r\n );\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, computed, inject } from '@angular/core';\r\nimport { TranslocoDirective, TranslocoService } from '@jsverse/transloco';\r\nimport { Button } from '@masterteam/components/button';\r\nimport { Icon, MTIcon } from '@masterteam/icons';\r\nimport { BrandDisplayFacade } from '../../../../store/brand-display';\r\nimport { getLightColor } from '@masterteam/components';\r\nimport { SecureImagePipe } from '@masterteam/components/upload-field';\r\nimport { ManageBrndingService } from '../../../services/manage-brnding.service';\r\n\r\ninterface SidebarPage {\r\n title: string;\r\n icon: MTIcon;\r\n path: string;\r\n}\r\n\r\n@Component({\r\n selector: 'mt-preview-brand',\r\n standalone: true,\r\n imports: [CommonModule, Button, Icon, TranslocoDirective, SecureImagePipe],\r\n templateUrl: './preview-brand.html',\r\n styleUrl: './preview-brand.scss',\r\n})\r\nexport class PreviewBrand {\r\n private readonly facade = inject(BrandDisplayFacade);\r\n private readonly translocoService = inject(TranslocoService);\r\n readonly manageBrnding = inject(ManageBrndingService);\r\n\r\n readonly ActiveLang = this.translocoService.getActiveLang() as 'en' | 'ar';\r\n\r\n readonly DEFAULT_DISPLAY_DATA: any = this.facade.defaultBrandDisplayData;\r\n\r\n productBrandLogo = this.manageBrnding.draftProductBrandLogo;\r\n headerBackgroundImage = this.manageBrnding.draftHeaderBackgroundImage;\r\n sidebarBackgroundImage = this.manageBrnding.draftSidebarBackgroundImage;\r\n contentAreaBackgroundImage =\r\n this.manageBrnding.draftContentAreaBackgroundImage;\r\n\r\n readonly headerStyles = computed(() => {\r\n const defaultBg =\r\n this.manageBrnding.draftHeaderData()?.backgroundColor ||\r\n this.manageBrnding.draftHeaderData()?.backgroundImage\r\n ? undefined\r\n : this.DEFAULT_DISPLAY_DATA()?.header?.backgroundColor;\r\n return this.manageBrnding.buildBackgroundStyles(\r\n this.manageBrnding.draftHeaderData(),\r\n defaultBg,\r\n );\r\n });\r\n\r\n readonly sidebarStyles = computed(() => {\r\n const defaultBg =\r\n this.manageBrnding.draftSidebarData()?.backgroundColor ||\r\n this.manageBrnding.draftSidebarData()?.backgroundImage\r\n ? undefined\r\n : this.DEFAULT_DISPLAY_DATA()?.sidebar?.backgroundColor;\r\n return this.manageBrnding.buildBackgroundStyles(\r\n this.manageBrnding.draftSidebarData(),\r\n defaultBg,\r\n );\r\n });\r\n\r\n contentAreaStyles = computed(() => {\r\n const defaultBg =\r\n this.manageBrnding.draftContentAreaData()?.backgroundColor ||\r\n this.manageBrnding.draftContentAreaData()?.backgroundImage\r\n ? undefined\r\n : this.DEFAULT_DISPLAY_DATA()?.contentArea?.backgroundColor;\r\n return this.manageBrnding.buildBackgroundStyles(\r\n this.manageBrnding.draftContentAreaData(),\r\n defaultBg,\r\n );\r\n });\r\n\r\n readonly contentAreaBodyColor = this.manageBrnding.draftContentAreaBodyColor;\r\n readonly primaryColor = this.manageBrnding.draftPrimaryColor;\r\n\r\n readonly lightPrimaryColor = computed(() =>\r\n getLightColor(this.primaryColor()!),\r\n );\r\n\r\n readonly headerFontColor = this.manageBrnding.draftHeaderFontColor;\r\n\r\n productName = computed(() => {\r\n const lang = this.ActiveLang as 'en' | 'ar';\r\n return this.manageBrnding.getDraftProductName(lang);\r\n });\r\n\r\n productTagline = computed(() => {\r\n const lang = this.ActiveLang as 'en' | 'ar';\r\n return this.manageBrnding.getDraftProductTagline(lang);\r\n });\r\n\r\n protected readonly pages: SidebarPage[] = [\r\n {\r\n title: 'Workspaces',\r\n icon: 'custom.layer-6',\r\n path: '/control-panel/workspaces',\r\n },\r\n {\r\n title: 'Product Settings',\r\n icon: 'media.monitor-01',\r\n path: '/control-panel/product-settings',\r\n },\r\n {\r\n title: 'Brand Settings',\r\n icon: 'image.colors',\r\n path: '/control-panel/brand-settings',\r\n },\r\n {\r\n title: 'Others',\r\n icon: 'general.dots-grid',\r\n path: '/others',\r\n },\r\n ];\r\n}\r\n","<ng-container *transloco=\"let t\">\r\n <div class=\"border rounded-2xl border-surface-300\">\r\n <div\r\n class=\"flex justify-between rounded-t-2xl align-center p-4 h-[calc(var(--header-height))] bg-cover bg-center\"\r\n [style]=\"headerStyles()\"\r\n [style.backgroundImage]=\"\r\n headerBackgroundImage() ? (headerBackgroundImage() | secureImage) : null\r\n \"\r\n >\r\n <div class=\"flex gap-4 items-center\">\r\n <img\r\n [src]=\"\r\n productBrandLogo()\r\n ? (productBrandLogo() | secureImage: true)\r\n : DEFAULT_DISPLAY_DATA()?.brandLogoWhite\r\n \"\r\n alt=\"Logo\"\r\n class=\"h-12 w-12\"\r\n />\r\n <div\r\n class=\"h-3/4 w-[1px]\"\r\n [style.background-color]=\"headerFontColor()\"\r\n ></div>\r\n <div class=\"flex flex-col gap-1\">\r\n <h2 class=\"text-xl font-semibold\" [style.color]=\"headerFontColor()\">\r\n {{ productName() }}\r\n </h2>\r\n <span class=\"text-sm font-semibold\" [style.color]=\"headerFontColor()\">\r\n {{ productTagline() }}\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"flex gap-2 items-center\">\r\n <mt-button\r\n icon=\"alert.bell-01\"\r\n size=\"large\"\r\n [style.color]=\"headerFontColor()\"\r\n ></mt-button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex bg-white overflow-clip\">\r\n <div\r\n class=\"w-16 h-full flex flex-col gap-3 border-e-1 border-surface-300 px-2 py-8 rounded-ss-2xl bg-cover bg-center\"\r\n [style]=\"sidebarStyles()\"\r\n [style.backgroundImage]=\"\r\n sidebarBackgroundImage()\r\n ? (sidebarBackgroundImage() | secureImage)\r\n : null\r\n \"\r\n >\r\n @for (page of pages; track page.title; let first = $first) {\r\n <a\r\n [style.background-color]=\"first ? lightPrimaryColor() : null\"\r\n class=\"flex items-center justify-center size-[47px] hover:bg-surface-100 transition-colors rounded-xl\"\r\n >\r\n <mt-icon\r\n [icon]=\"page.icon\"\r\n [style.color]=\"\r\n first ? primaryColor() : manageBrnding.draftSidebarIconColor()\r\n \"\r\n />\r\n </a>\r\n }\r\n </div>\r\n\r\n <div\r\n [style]=\"contentAreaStyles()\"\r\n [style.color]=\"contentAreaBodyColor()\"\r\n [style.backgroundImage]=\"\r\n contentAreaBackgroundImage()\r\n ? (contentAreaBackgroundImage() | secureImage)\r\n : null\r\n \"\r\n class=\"size-full h-[288px] overflow-y-auto overscroll-y-auto p-4 bg-cover bg-center\"\r\n >\r\n <p class=\"text-sm\">{{ t(\"preview-content\") }}</p>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, inject, OnInit, signal } from '@angular/core';\r\nimport { ActivatedRoute, Router, RouterOutlet } from '@angular/router';\r\nimport { TranslocoDirective, TranslocoService } from '@jsverse/transloco';\r\nimport { Tabs } from '@masterteam/components/tabs';\r\nimport { PreviewBrand } from '../preview-brand/preview-brand';\r\n\r\n@Component({\r\n selector: 'mt-white-label',\r\n standalone: true,\r\n imports: [CommonModule, Tabs, RouterOutlet, PreviewBrand, TranslocoDirective],\r\n templateUrl: './white-label.html',\r\n styleUrl: './white-label.scss',\r\n})\r\nexport default class WhiteLabel implements OnInit {\r\n private readonly translocoService = inject(TranslocoService);\r\n private readonly router = inject(Router);\r\n private readonly route = inject(ActivatedRoute);\r\n selectedTab = signal<any>('');\r\n\r\n ngOnInit() {\r\n const selectedTab = this.route.snapshot.firstChild?.data['componentType'];\r\n this.selectedTab.set(selectedTab || 'main');\r\n }\r\n\r\n tabsList = [\r\n {\r\n label: this.translocoService.translate('brand-display.main'),\r\n value: 'main',\r\n },\r\n {\r\n label: this.translocoService.translate('brand-display.header'),\r\n value: 'header',\r\n },\r\n {\r\n label: this.translocoService.translate('brand-display.side-bar'),\r\n value: 'sidebar',\r\n },\r\n {\r\n label: this.translocoService.translate('brand-display.content-area'),\r\n value: 'content-area',\r\n },\r\n ];\r\n\r\n onTabChange(event: any) {\r\n if (event) {\r\n this.router.navigate([event], { relativeTo: this.route });\r\n }\r\n }\r\n}\r\n","<ng-container *transloco=\"let t; prefix: 'brand-display'\">\r\n <div class=\"mt-7\">\r\n <mt-tabs\r\n [(active)]=\"selectedTab\"\r\n [options]=\"tabsList\"\r\n size=\"large\"\r\n (onChange)=\"onTabChange($event)\"\r\n />\r\n </div>\r\n <div class=\"flex gap-10 mt-4\">\r\n <div class=\"w-3/5\">\r\n <router-outlet />\r\n </div>\r\n <div class=\"w-2/5\">\r\n <h3 class=\"text-sm font-medium mb-3\">{{ t(\"preview\") }}</h3>\r\n <mt-preview-brand></mt-preview-brand>\r\n </div>\r\n </div>\r\n</ng-container>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, inject, OnInit, signal } from '@angular/core';\r\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\r\nimport { TranslocoDirective, TranslocoService } from '@jsverse/transloco';\r\nimport {\r\n DynamicFormConfig,\r\n ColorPickerFieldConfig,\r\n UploadFileFieldConfig,\r\n} from '@masterteam/components';\r\nimport { Card } from '@masterteam/components/card';\r\nimport { DynamicForm } from '@masterteam/forms/dynamic-form';\r\nimport { BrandDisplayFacade } from '../../../../store/brand-display';\r\nimport { merge } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'mt-main-display',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n Card,\r\n TranslocoDirective,\r\n DynamicForm,\r\n ReactiveFormsModule,\r\n ],\r\n templateUrl: './main-display.html',\r\n styleUrl: './main-display.scss',\r\n})\r\nexport default class MainDisplay implements OnInit {\r\n private readonly translocoService = inject(TranslocoService);\r\n private readonly facade = inject(BrandDisplayFacade);\r\n private readonly DEFAULT_DISPLAY_DATA = this.facade.defaultBrandDisplayData;\r\n brandNameFormControl: any = new FormControl({\r\n productName: this.DEFAULT_DISPLAY_DATA()?.main?.productName,\r\n productTagline: this.DEFAULT_DISPLAY_DATA()?.main?.productTagline,\r\n });\r\n logoFormControl: any = new FormControl({});\r\n colorsFormControl: any = new FormControl({\r\n primaryColor:\r\n this.DEFAULT_DISPLAY_DATA()?.main?.colorSettings?.primaryColor,\r\n secondaryColor:\r\n this.DEFAULT_DISPLAY_DATA()?.main?.colorSettings?.secondaryColor,\r\n textColor: this.DEFAULT_DISPLAY_DATA()?.main?.colorSettings?.textColor,\r\n });\r\n\r\n brandNameConfig = signal<DynamicFormConfig>({\r\n sections: [\r\n {\r\n key: 'brandNameFormConfig',\r\n type: 'header',\r\n order: 1,\r\n fields: [\r\n {\r\n key: 'productName.en',\r\n label: this.translocoService.translate(\r\n 'brand-display.product-name-en',\r\n ),\r\n placeholder: this.translocoService.translate(\r\n 'brand-display.product-name-en',\r\n ),\r\n order: 1,\r\n colSpan: 6,\r\n },\r\n {\r\n key: 'productName.ar',\r\n label: this.translocoService.translate(\r\n 'brand-display.product-name-ar',\r\n ),\r\n placeholder: this.translocoService.translate(\r\n 'brand-display.product-name-ar',\r\n ),\r\n order: 1,\r\n colSpan: 6,\r\n },\r\n {\r\n key: 'productTagline.en',\r\n label: this.translocoService.translate(\r\n 'brand-display.product-tagline-en',\r\n ),\r\n placeholder: this.translocoService.translate(\r\n 'brand-display.product-tagline-en',\r\n ),\r\n order: 1,\r\n colSpan: 6,\r\n },\r\n {\r\n key: 'productTagline.ar',\r\n label: this.translocoService.translate(\r\n 'brand-display.product-tagline-ar',\r\n ),\r\n placeholder: this.translocoService.translate(\r\n 'brand-display.product-tagline-ar',\r\n ),\r\n order: 1,\r\n colSpan: 6,\r\n },\r\n ],\r\n },\r\n ],\r\n });\r\n\r\n logoConfig = signal<DynamicFormConfig>({\r\n sections: [\r\n {\r\n key: 'logoSettingsConfig',\r\n type: 'none',\r\n fields: [\r\n new UploadFileFieldConfig({\r\n key: 'productBrandImage',\r\n label: this.translocoService.translate(\r\n 'brand-display.product-brand',\r\n ),\r\n shape: 'circle',\r\n order: 1,\r\n colSpan: 4,\r\n }),\r\n new UploadFileFieldConfig({\r\n key: 'faviconsImage',\r\n label: this.translocoService.translate('brand-display.favicon'),\r\n shape: 'circle',\r\n order: 1,\r\n colSpan: 4,\r\n }),\r\n ],\r\n },\r\n ],\r\n });\r\n\r\n colorsConfig = signal<DynamicFormConfig>({\r\n sections: [\r\n {\r\n key: 'colorSettingsConfig',\r\n type: 'none',\r\n order: 1,\r\n fields: [\r\n new ColorPickerFieldConfig({\r\n key: 'primaryColor',\r\n label: this.translocoService.translate(\r\n 'brand-display.primary-color',\r\n ),\r\n validators: [],\r\n order: 1,\r\n colSpan: 6,\r\n }),\r\n // new ColorPickerFieldConfig({\r\n // key: 'secondaryColor',\r\n // label: this.translocoService.translate(\r\n // 'brand-display.secondary-color'\r\n // ),\r\n // validators: [],\r\n // order: 2,\r\n // colSpan: 6,\r\n // }),\r\n new ColorPickerFieldConfig({\r\n key: 'textColor',\r\n label: this.translocoService.translate('brand-display.text-color'),\r\n validators: [],\r\n order: 3,\r\n colSpan: 6,\r\n }),\r\n ],\r\n },\r\n ],\r\n });\r\n\r\n brandDisplayData = this.facade.draftBrandDisplayData;\r\n\r\n ngOnInit(): void {\r\n merge(\r\n this.brandNameFormControl.valueChanges,\r\n this.colorsFormControl.valueChanges,\r\n this.logoFormControl.valueChanges,\r\n ).subscribe(() => {\r\n this.updateBrandDisplayLocally();\r\n });\r\n this.brandNameFormControl.patchValue(\r\n { ...this.brandNameFormControl.value, ...this.brandDisplayData()?.main },\r\n {\r\n emitEvent: false,\r\n },\r\n );\r\n this.colorsFormControl.patchValue(\r\n {\r\n ...this.colorsFormControl.value,\r\n ...(this.brandDisplayData()?.main?.colorSettings || {}),\r\n },\r\n {\r\n emitEvent: false,\r\n },\r\n );\r\n this.logoFormControl.patchValue(\r\n {\r\n ...this.logoFormControl.value,\r\n ...(this.brandDisplayData()?.main?.logoSettings || {}),\r\n },\r\n {\r\n emitEvent: false,\r\n },\r\n );\r\n }\r\n\r\n updateBrandDisplayLocally() {\r\n const brandNameFormControlValue = this.brandNameFormControl.value;\r\n const colorsFormControlValue = this.colorsFormControl.value;\r\n const logoFormControlValue = this.logoFormControl.value;\r\n this.facade.updateBrandDisplayDataLocally({\r\n main: {\r\n productName: brandNameFormControlValue.productName,\r\n productTagline: brandNameFormControlValue.productTagline,\r\n colorSettings: {\r\n primaryColor: colorsFormControlValue.primaryColor,\r\n // secondaryColor: formValue.secondaryColor,\r\n textColor: colorsFormControlValue.textColor,\r\n },\r\n logoSettings: {\r\n productBrandImage: logoFormControlValue.productBrandImage,\r\n faviconsImage: logoFormControlValue.faviconsImage,\r\n },\r\n },\r\n });\r\n }\r\n}\r\n","<ng-container *transloco=\"let t; prefix: 'brand-display'\">\r\n <mt-card id=\"brand-name\" [title]=\"t('brand-name')\">\r\n <form class=\"col-span-1 p-2\">\r\n <mt-dynamic-form\r\n [formConfig]=\"brandNameConfig()\"\r\n [formControl]=\"brandNameFormControl\"\r\n />\r\n </form>\r\n </mt-card>\r\n\r\n <mt-card class=\"mt-5\" id=\"logo-settings\" [title]=\"t('logo-settings')\">\r\n <form class=\"col-span-1 p-2\">\r\n <mt-dynamic-form\r\n [formConfig]=\"logoConfig()\"\r\n [formControl]=\"logoFormControl\"\r\n />\r\n </form>\r\n </mt-card>\r\n\r\n <mt-card class=\"mt-5\" id=\"colors\" [title]=\"t('colors')\">\r\n <form class=\"col-span-1 p-2\">\r\n <mt-dynamic-form\r\n [formConfig]=\"colorsConfig()\"\r\n [formControl]=\"colorsFormControl\"\r\n />\r\n </form>\r\n </mt-card>\r\n</ng-container>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, inject, OnInit, signal } from '@angular/core';\r\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { TranslocoDirective, TranslocoService } from '@jsverse/transloco';\r\nimport {\r\n ColorPickerFieldConfig,\r\n DynamicFormConfig,\r\n ToggleFieldConfig,\r\n UploadFileFieldConfig,\r\n} from '@masterteam/components';\r\nimport { Card } from '@masterteam/components/card';\r\nimport { DynamicForm } from '@masterteam/forms/dynamic-form';\r\nimport { BrandDisplayFacade } from '../../../../store/brand-display';\r\n\r\n@Component({\r\n selector: 'mt-header-sidebar-display',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n Card,\r\n TranslocoDirective,\r\n DynamicForm,\r\n ReactiveFormsModule,\r\n ],\r\n templateUrl: './header-sidebar-display.html',\r\n styleUrl: './header-sidebar-display.scss',\r\n})\r\nexport default class HeaderSidebarDisplay implements OnInit {\r\n private readonly translocoService = inject(TranslocoService);\r\n readonly route = inject(ActivatedRoute);\r\n componentType = signal<'header' | 'sidebar'>('header');\r\n isHeader = signal<boolean>(true);\r\n private readonly facade = inject(BrandDisplayFacade);\r\n brandDisplayData = this.facade.draftBrandDisplayData;\r\n headerSidebarFormControl: any;\r\n headerConfig = signal<DynamicFormConfig>({ sections: [] });\r\n DEFAULT_DISPLAY_DATA: any = this.facade.defaultBrandDisplayData;\r\n\r\n ngOnInit(): void {\r\n this.componentType.set(this.route.snapshot.data['componentType']);\r\n this.isHeader.set(this.componentType() === 'header');\r\n\r\n this.headerSidebarFormControl = new FormControl({\r\n fontColor: this.DEFAULT_DISPLAY_DATA()?.[this.componentType()]?.fontColor,\r\n iconColor: this.DEFAULT_DISPLAY_DATA()?.[this.componentType()]?.iconColor,\r\n repeated: this.DEFAULT_DISPLAY_DATA()?.[this.componentType()]?.repeated,\r\n backgroundColor:\r\n this.DEFAULT_DISPLAY_DATA()?.[this.componentType()]?.backgroundColor,\r\n });\r\n this.headerConfig.set({\r\n sections: [\r\n {\r\n key: 'brandNameFormConfig',\r\n type: 'header',\r\n order: 1,\r\n fields: [\r\n new ColorPickerFieldConfig({\r\n key: 'backgroundColor',\r\n label: this.translocoService.translate(\r\n 'brand-display.background-color',\r\n ),\r\n order: 1,\r\n colSpan: 6,\r\n }),\r\n new ColorPickerFieldConfig({\r\n key: 'fontColor',\r\n label: this.translocoService.translate(\r\n 'brand-display.font-color',\r\n ),\r\n order: 3,\r\n hidden: !this.isHeader(),\r\n colSpan: 6,\r\n }),\r\n\r\n new ColorPickerFieldConfig({\r\n key: 'iconColor',\r\n label: this.translocoService.translate(\r\n 'brand-display.icon-color',\r\n ),\r\n order: 4,\r\n hidden: this.isHeader(),\r\n colSpan: 6,\r\n }),\r\n new UploadFileFieldConfig({\r\n key: 'backgroundImage',\r\n label: this.translocoService.translate(\r\n 'brand-display.background-image',\r\n ),\r\n order: 5,\r\n colSpan: 6,\r\n }),\r\n new ToggleFieldConfig({\r\n key: 'repeated',\r\n label: this.translocoService.translate('brand-display.repeated'),\r\n cssClass: 'mt-12',\r\n order: 6,\r\n colSpan: 6,\r\n }),\r\n ],\r\n },\r\n ],\r\n });\r\n\r\n const localFormData = {\r\n ...this.headerSidebarFormControl.value,\r\n ...this.brandDisplayData()?.[this.componentType()],\r\n };\r\n\r\n this.headerSidebarFormControl.patchValue(localFormData, {\r\n emitEvent: false,\r\n });\r\n\r\n this.headerSidebarFormControl.valueChanges.subscribe((value: any) => {\r\n this.facade.updateBrandDisplayDataLocally({\r\n [this.componentType()]: value,\r\n });\r\n });\r\n }\r\n}\r\n","<ng-container *transloco=\"let t; prefix: 'brand-display'\">\r\n <mt-card id=\"header\" [title]=\"isHeader() ? t('header') : t('side-bar')\">\r\n <form class=\"col-span-1 p-2\">\r\n <mt-dynamic-form\r\n [formConfig]=\"headerConfig()\"\r\n [formControl]=\"headerSidebarFormControl\"\r\n />\r\n </form>\r\n </mt-card>\r\n</ng-container>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, inject, OnInit, signal } from '@angular/core';\r\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\r\nimport { TranslocoDirective, TranslocoService } from '@jsverse/transloco';\r\nimport {\r\n ColorPickerFieldConfig,\r\n DynamicFormConfig,\r\n ToggleFieldConfig,\r\n UploadFileFieldConfig,\r\n} from '@masterteam/components';\r\nimport { Card } from '@masterteam/components/card';\r\nimport { DynamicForm } from '@masterteam/forms/dynamic-form';\r\nimport { BrandDisplayFacade } from '../../../../store/brand-display';\r\n@Component({\r\n selector: 'mt-content-area',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n Card,\r\n TranslocoDirective,\r\n DynamicForm,\r\n ReactiveFormsModule,\r\n ],\r\n templateUrl: './content-area.html',\r\n styleUrl: './content-area.scss',\r\n})\r\nexport default class ContentArea implements OnInit {\r\n private readonly translocoService = inject(TranslocoService);\r\n private readonly facade = inject(BrandDisplayFacade);\r\n private readonly DEFAULT_DISPLAY_DATA = this.facade.defaultBrandDisplayData;\r\n brandDisplayData = this.facade.draftBrandDisplayData;\r\n contentAreaFormControl: any = new FormControl({\r\n backgroundColor: this.DEFAULT_DISPLAY_DATA()?.contentArea?.backgroundColor,\r\n repeated: this.DEFAULT_DISPLAY_DATA()?.contentArea?.repeated,\r\n });\r\n\r\n ngOnInit(): void {\r\n const localFormData = {\r\n ...this.contentAreaFormControl.value,\r\n ...this.brandDisplayData()?.contentArea,\r\n };\r\n this.contentAreaFormControl.patchValue(localFormData, {\r\n emitEvent: false,\r\n });\r\n this.contentAreaFormControl.valueChanges.subscribe((value: any) => {\r\n this.facade.updateBrandDisplayDataLocally({\r\n contentArea: {\r\n backgroundColor: value.backgroundColor,\r\n repeated: value.repeated,\r\n backgroundImage: value?.backgroundImage,\r\n },\r\n });\r\n });\r\n }\r\n contentAreaConfig = signal<DynamicFormConfig>({\r\n sections: [\r\n {\r\n key: 'contentAreaConfig',\r\n type: 'none',\r\n order: 1,\r\n fields: [\r\n new UploadFileFieldConfig({\r\n key: 'backgroundImage',\r\n label: this.translocoService.translate(\r\n 'brand-display.background-image',\r\n ),\r\n order: 1,\r\n colSpan: 6,\r\n }),\r\n new ToggleFieldConfig({\r\n key: 'repeated',\r\n label: this.translocoService.translate('brand-display.repeated'),\r\n order: 2,\r\n cssClass: 'mt-12',\r\n colSpan: 6,\r\n }),\r\n new ColorPickerFieldConfig({\r\n key: 'backgroundColor',\r\n label: this.translocoService.translate(\r\n 'brand-display.background-color',\r\n ),\r\n order: 3,\r\n colSpan: 6,\r\n }),\r\n ],\r\n },\r\n ],\r\n });\r\n}\r\n","<ng-container *transloco=\"let t; prefix: 'brand-display'\">\r\n <mt-card id=\"header\" [title]=\"t('content-area')\">\r\n <form class=\"col-span-1 p-2\">\r\n <mt-dynamic-form\r\n [formConfig]=\"contentAreaConfig()\"\r\n [formControl]=\"contentAreaFormControl\"\r\n />\r\n </form>\r\n </mt-card>\r\n</ng-container>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, computed, inject } from '@angular/core';\r\nimport { TranslocoDirective } from '@jsverse/transloco';\r\nimport { BrandDisplayFacade } from '../../../../store/brand-display';\r\nimport { SecureImagePipe } from '@masterteam/components/upload-field';\r\nimport { ManageBrndingService } from '../../../services/manage-brnding.service';\r\n\r\n@Component({\r\n selector: 'mt-preview-login',\r\n standalone: true,\r\n imports: [CommonModule, TranslocoDirective, SecureImagePipe],\r\n templateUrl: './preview-login.html',\r\n styleUrl: './preview-login.scss',\r\n})\r\nexport class PreviewLogin {\r\n private readonly facade = inject(BrandDisplayFacade);\r\n private readonly manageBrnding = inject(ManageBrndingService);\r\n\r\n readonly DEFAULT_DISPLAY_DATA: any = this.facade.defaultBrandDisplayData;\r\n\r\n previewBackgroundColor = computed(() => {\r\n const value = this.manageBrnding.draftLoginData();\r\n return (\r\n value?.backgroundColor ||\r\n this.DEFAULT_DISPLAY_DATA()?.login?.backgroundColor\r\n );\r\n });\r\n\r\n repeated = computed(() => {\r\n const v = this.manageBrnding.draftLoginData();\r\n return v?.repeated || this.DEFAULT_DISPLAY_DATA()?.login?.repeated;\r\n });\r\n\r\n previewFormPosition = computed(() => {\r\n const value = this.manageBrnding.draftLoginData();\r\n return (\r\n value?.formWizardPosition ||\r\n this.DEFAULT_DISPLAY_DATA()?.login?.formWizardPosition\r\n );\r\n });\r\n\r\n previewLogoSrc = computed(() => {\r\n const value = this.manageBrnding.draftLoginData();\r\n return value?.loginBrandImage?.fileName || null;\r\n });\r\n\r\n backgroundImage = this.manageBrnding.draftLoginBackgroundImage;\r\n}\r\n","<ng-container *transloco=\"let t; prefix: 'login'\">\r\n <div class=\"sticky top-4\">\r\n <h3 class=\"text-sm font-medium mb-3\">{{ t(\"preview\") }}</h3>\r\n <div\r\n class=\"rounded-lg overflow-hidden aspect-[16/10] relative\"\r\n [style]=\"{\r\n 'background-color': previewBackgroundColor(),\r\n 'background-size': repeated() ? 'auto' : 'cover',\r\n 'background-repeat': repeated() ? 'repeat' : 'no-repeat',\r\n 'background-position': 'center',\r\n }\"\r\n [style.backgroundImage]=\"\r\n backgroundImage() ? (backgroundImage() | secureImage) : null\r\n \"\r\n >\r\n <div class=\"absolute inset-0 flex items-center p-8\">\r\n @if (previewFormPosition() !== \"center\") {\r\n <div\r\n class=\"logo flex flex-col items-center gap-2 flex-1\"\r\n [class]=\"{\r\n 'order-2': previewFormPosition() === 'start',\r\n 'order-1': previewFormPosition() === 'end',\r\n }\"\r\n >\r\n <img\r\n [src]=\"\r\n previewLogoSrc()\r\n ? (previewLogoSrc() | secureImage: true)\r\n : DEFAULT_DISPLAY_DATA()?.loginLogo\r\n \"\r\n alt=\"Logo\"\r\n class=\"h-12 w-12\"\r\n />\r\n <div class=\"text-white text-lg text-center\">\r\n {{ t(\"project-management-system\") }}\r\n </div>\r\n </div>\r\n }\r\n\r\n <div\r\n class=\"flex-shrink-0\"\r\n [class]=\"{\r\n 'order-1': previewFormPosition() === 'start',\r\n 'order-2': previewFormPosition() === 'end',\r\n 'mx-auto': previewFormPosition() === 'center',\r\n }\"\r\n >\r\n @if (previewFormPosition() === \"center\") {\r\n <div class=\"logo flex flex-col items-center gap-2 mb-4\">\r\n <img\r\n [src]=\"\r\n previewLogoSrc()\r\n ? (previewLogoSrc() | secureImage: true)\r\n : DEFAULT_DISPLAY_DATA()?.loginLogo\r\n \"\r\n alt=\"Logo\"\r\n class=\"h-12 w-12\"\r\n />\r\n <div class=\"text-white text-lg\">\r\n {{ t(\"portfolio-management-system\") }}\r\n </div>\r\n </div>\r\n }\r\n\r\n <div\r\n class=\"bg-white rounded-lg shadow-xl px-6 py-3 w-60 relative z-10\"\r\n >\r\n <div class=\"text-center mb-3 mt-4\">\r\n <h4 class=\"text-[14px] font-bold mb-1\">{{ t(\"signin\") }}</h4>\r\n <p class=\"text-[8px] text-gray-500\">{{ t(\"info-msg\") }}</p>\r\n </div>\r\n\r\n <div class=\"space-y-3\">\r\n <div>\r\n <label class=\"text-[8px] block text-xs text-gray-600 mb-1\">{{\r\n t(\"username\")\r\n }}</label>\r\n <div\r\n class=\"text-[8px] border border-gray-300 rounded px-3 py-2 text-gray-400\"\r\n >\r\n {{ t(\"username\") }}\r\n </div>\r\n </div>\r\n <div>\r\n <label class=\"text-[8px] block text-gray-600 mb-1\">{{\r\n t(\"password\")\r\n }}</label>\r\n <div\r\n class=\"text-[8px] border border-gray-300 rounded px-3 py-2 text-gray-400\"\r\n >\r\n {{ t(\"password\") }}\r\n </div>\r\n </div>\r\n <button\r\n class=\"w-full mb-1 bg-primary text-white rounded py-2 text-[9px] font-medium\"\r\n >\r\n {{ t(\"sign-in\") }}\r\n </button>\r\n <div class=\"text-center\">\r\n <a class=\"text-[11px] text-primary\"> English </a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"text-center mt-3 text-[8px] text-gray-400\">\r\n {{ t(\"tagline\") }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, computed, inject, OnInit, signal } from '@angular/core';\r\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\r\nimport { TranslocoDirective, TranslocoService } from '@jsverse/transloco';\r\nimport {\r\n DynamicFormConfig,\r\n ToggleFieldConfig,\r\n UploadFileFieldConfig,\r\n} from '@masterteam/components';\r\nimport { FileUploadModule } from 'primeng/fileupload';\r\nimport { Card } from '@masterteam/components/card';\r\nimport { DynamicForm } from '@masterteam/forms/dynamic-form';\r\nimport {\r\n BrandDisplayFacade,\r\n LoginDisplay as LoginDisplayModel,\r\n} from '../../../../store/brand-display';\r\nimport { PreviewLogin } from '../preview-login/preview-login';\r\n\r\n@Component({\r\n selector: 'mt-login-display',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n Card,\r\n TranslocoDirective,\r\n DynamicForm,\r\n ReactiveFormsModule,\r\n FileUploadModule,\r\n PreviewLogin,\r\n ],\r\n templateUrl: './login-display.html',\r\n styleUrl: './login-display.scss',\r\n})\r\nexport default class LoginDisplay implements OnInit {\r\n private readonly translocoService = inject(TranslocoService);\r\n private readonly facade = inject(BrandDisplayFacade);\r\n DEFAULT_DISPLAY_DATA = this.facade.defaultBrandDisplayData;\r\n\r\n loginFormControl = new FormControl<LoginDisplayModel | any>({\r\n backgroundColor: this.DEFAULT_DISPLAY_DATA()?.login?.backgroundColor,\r\n repeated: this.DEFAULT_DISPLAY_DATA()?.login?.repeated,\r\n formWizardPosition: this.DEFAULT_DISPLAY_DATA()?.login?.formWizardPosition,\r\n });\r\n\r\n loginFormConfig = signal<DynamicFormConfig>({\r\n sections: [\r\n {\r\n key: 'loginBrandImageSection',\r\n type: 'none',\r\n order: 1,\r\n fields: [\r\n new UploadFileFieldConfig({\r\n key: 'loginBrandImage',\r\n label: this.translocoService.translate('brand-display.login-brand'),\r\n shape: 'circle',\r\n order: 1,\r\n }),\r\n ],\r\n },\r\n {\r\n key: 'backgroundSection',\r\n type: 'none',\r\n order: 2,\r\n fields: [\r\n {\r\n key: 'backgroundColor',\r\n type: 'color-picker',\r\n label: this.translocoService.translate(\r\n 'brand-display.background-color',\r\n ),\r\n order: 3,\r\n colSpan: 6,\r\n },\r\n new UploadFileFieldConfig({\r\n key: 'backgroundImage',\r\n label: this.translocoService.translate(\r\n 'brand-display.background-image',\r\n ),\r\n order: 1,\r\n colSpan: 6,\r\n }),\r\n new ToggleFieldConfig({\r\n key: 'repeated',\r\n label: this.translocoService.translate('brand-display.repeated'),\r\n cssClass: 'mt-12',\r\n order: 2,\r\n colSpan: 6,\r\n }),\r\n ],\r\n },\r\n {\r\n key: 'positionSection',\r\n type: 'none',\r\n bodyClass: 'mt-2 p-4 border-t border-dashed border-surface',\r\n order: 3,\r\n fields: [\r\n {\r\n key: 'formWizardPosition',\r\n type: 'radio-button',\r\n label: this.translocoService.translate(\r\n 'brand-display.form-wizard-position',\r\n ),\r\n hint: this.translocoService.translate(\r\n 'brand-display.change-language-direction',\r\n ),\r\n cssClass: 'flex gap-4',\r\n options: [\r\n {\r\n label: this.translocoService.translate('brand-display.start'),\r\n value: 'start',\r\n },\r\n {\r\n label: this.translocoService.translate('brand-display.end'),\r\n value: 'end',\r\n },\r\n {\r\n label: this.translocoService.translate('brand-display.center'),\r\n value: 'center',\r\n },\r\n ],\r\n optionLabel: 'label',\r\n optionValue: 'value',\r\n order: 1,\r\n },\r\n ],\r\n },\r\n ],\r\n });\r\n\r\n brandDisplayLocalData = this.facade.draftBrandDisplayData;\r\n loginData = computed(() => {\r\n return this.brandDisplayLocalData()?.login as LoginDisplayModel | undefined;\r\n });\r\n\r\n constructor() {\r\n this.loginFormControl.valueChanges.subscribe((partial) => {\r\n this.updateLoginDisplayLocally(partial ?? {});\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n const existingData = {\r\n ...this.loginFormControl.value,\r\n ...this.loginData(),\r\n };\r\n if (existingData) {\r\n this.loginFormControl.patchValue(existingData, { emitEvent: false });\r\n }\r\n }\r\n\r\n updateLoginDisplayLocally(value: any) {\r\n const existingLogin = this.brandDisplayLocalData()?.login ?? {};\r\n const merged = { ...existingLogin, ...value };\r\n this.facade.updateBrandDisplayDataLocally({\r\n login: merged,\r\n });\r\n }\r\n}\r\n","<ng-container *transloco=\"let t; prefix: 'brand-display'\">\r\n <div class=\"flex gap-10 mt-6\">\r\n <!-- Left Side - Login Settings -->\r\n <div class=\"w-3/5\">\r\n <mt-card id=\"login-settings\" [title]=\"t('login-settings')\">\r\n <form class=\"col-span-1 p-2\">\r\n <mt-dynamic-form\r\n [formConfig]=\"loginFormConfig()\"\r\n [formControl]=\"loginFormControl\"\r\n />\r\n </form>\r\n </mt-card>\r\n </div>\r\n\r\n <!-- Right Side - Preview -->\r\n <div class=\"w-2/5\">\r\n <mt-preview-login></mt-preview-login>\r\n </div>\r\n </div>\r\n</ng-container>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"masterteam-brand-display.mjs","sources":["../../../../packages/masterteam/brand-display/src/store/brand-display/brand-display.actions.ts","../../../../packages/masterteam/brand-display/src/store/brand-display/brand-display.model.ts","../../../../packages/masterteam/brand-display/src/store/brand-display/brand-display-default-data.ts","../../../../packages/masterteam/brand-display/src/store/brand-display/brand-display.state.ts","../../../../packages/masterteam/brand-display/src/store/brand-display/brand-display.facade.ts","../../../../packages/masterteam/brand-display/src/lib/brand-display/brand-display.ts","../../../../packages/masterteam/brand-display/src/lib/brand-display/brand-display.html","../../../../packages/masterteam/brand-display/src/lib/services/favicon.service.ts","../../../../packages/masterteam/brand-display/src/lib/services/manage-brnding.service.ts","../../../../packages/masterteam/brand-display/src/lib/brand-display/pages/preview-brand/preview-brand.ts","../../../../packages/masterteam/brand-display/src/lib/brand-display/pages/preview-brand/preview-brand.html","../../../../packages/masterteam/brand-display/src/lib/brand-display/pages/white-label/white-label.ts","../../../../packages/masterteam/brand-display/src/lib/brand-display/pages/white-label/white-label.html","../../../../packages/masterteam/brand-display/src/lib/brand-display/pages/main-display/main-display.ts","../../../../packages/masterteam/brand-display/src/lib/brand-display/pages/main-display/main-display.html","../../../../packages/masterteam/brand-display/src/lib/brand-display/pages/header-sidebar-display/header-sidebar-display.ts","../../../../packages/masterteam/brand-display/src/lib/brand-display/pages/header-sidebar-display/header-sidebar-display.html","../../../../packages/masterteam/brand-display/src/lib/brand-display/pages/content-area/content-area.ts","../../../../packages/masterteam/brand-display/src/lib/brand-display/pages/content-area/content-area.html","../../../../packages/masterteam/brand-display/src/lib/brand-display/pages/preview-login/preview-login.ts","../../../../packages/masterteam/brand-display/src/lib/brand-display/pages/preview-login/preview-login.html","../../../../packages/masterteam/brand-display/src/lib/brand-display/pages/login-display/login-display.ts","../../../../packages/masterteam/brand-display/src/lib/brand-display/pages/login-display/login-display.html","../../../../packages/masterteam/brand-display/src/masterteam-brand-display.ts"],"sourcesContent":["import { BrandDisplay } from './brand-display.model';\r\n\r\nexport class GetBrandDisplay {\r\n static readonly type = '[BrandDisplay] Get Brand Display';\r\n}\r\n\r\nexport class UpdateBrandDisplayData {\r\n static readonly type = '[BrandDisplay] Update Brand Display Data';\r\n}\r\nexport class UpdateBrandDisplayDataLocally {\r\n static readonly type = '[BrandDisplay] Update Brand Display Data Locally';\r\n constructor(public changes: BrandDisplay) {}\r\n}\r\n","import { LoadingStateShape } from '@masterteam/components';\r\n\r\nexport interface LogoSettings {\r\n loginBrandImage?: any;\r\n productBrandImage?: any;\r\n faviconsImage?: any;\r\n}\r\n\r\nexport interface ColorSettings {\r\n primaryColor?: string;\r\n secondaryColor?: string;\r\n textColor?: string;\r\n}\r\n\r\nexport interface MainDisplay {\r\n productName?: { en: string; ar: string };\r\n productTagline?: { en: string; ar: string };\r\n logoSettings?: LogoSettings;\r\n colorSettings?: ColorSettings;\r\n}\r\n\r\nexport interface SidebarDisplay {\r\n backgroundColor?: string;\r\n backgroundImage?: any;\r\n iconColor?: string;\r\n repeated?: boolean;\r\n}\r\n\r\nexport interface HeaderDisplay {\r\n backgroundColor?: string;\r\n backgroundImage?: any;\r\n fontColor?: string;\r\n repeated?: boolean;\r\n}\r\n\r\nexport interface ContentAreaDisplay {\r\n backgroundColor?: string;\r\n backgroundImage?: any;\r\n repeated?: boolean;\r\n}\r\n\r\nexport interface LoginDisplay {\r\n loginBrandLogo?: string;\r\n backgroundColor?: string;\r\n backgroundImage?: any;\r\n loginBrandImage?: any;\r\n repeated?: boolean;\r\n formWizardPosition?: 'start' | 'end' | 'center';\r\n}\r\n\r\nexport interface BrandDisplay {\r\n main?: MainDisplay;\r\n sidebar?: SidebarDisplay;\r\n header?: HeaderDisplay;\r\n contentArea?: ContentAreaDisplay;\r\n login?: LoginDisplay;\r\n loginLogo?: string;\r\n brandLogoWhite?: string;\r\n}\r\n\r\nexport enum BrandDisplayActionKey {\r\n GetBrandDisplay = 'getBrandDisplay',\r\n UpdateBrandDisplay = 'updateBrandDisplay',\r\n}\r\n\r\nexport interface BrandDisplayStateModel extends LoadingStateShape<BrandDisplayActionKey> {\r\n brandDisplayData: BrandDisplay | null;\r\n draftBrandDisplayData: BrandDisplay | null;\r\n defaultBrandDisplayData: any | null;\r\n}\r\n","import { BrandDisplay } from './brand-display.model';\r\n\r\nexport const defaultBrandDisplayData: BrandDisplay = {\r\n main: {\r\n productName: { en: 'Project Plus', ar: 'نظام ادارة المشاريع' },\r\n productTagline: {\r\n en: 'PMO Multi Platform Digital Solution',\r\n ar: 'نظام رقمي متعدد المنصات',\r\n },\r\n colorSettings: {\r\n primaryColor: '#2AAEC0',\r\n secondaryColor: '#6c757d',\r\n textColor: '#000000',\r\n },\r\n },\r\n\r\n sidebar: {\r\n backgroundColor: '#F5F5F5',\r\n iconColor: '#535862',\r\n repeated: false,\r\n },\r\n\r\n header: {\r\n backgroundColor: '#2AAEC0',\r\n fontColor: '#ffffffff',\r\n repeated: false,\r\n },\r\n\r\n contentArea: {\r\n backgroundColor: '#F8F9FC',\r\n repeated: false,\r\n },\r\n\r\n login: {\r\n backgroundColor: '#125bbb',\r\n repeated: false,\r\n formWizardPosition: 'start',\r\n },\r\n loginLogo: 'pplus.svg',\r\n brandLogoWhite: 'pplus-white.svg',\r\n};\r\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\r\nimport {\r\n GetBrandDisplay,\r\n UpdateBrandDisplayData,\r\n UpdateBrandDisplayDataLocally,\r\n} from './brand-display.actions';\r\nimport {\r\n BrandDisplay,\r\n BrandDisplayActionKey,\r\n BrandDisplayStateModel,\r\n} from './brand-display.model';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { inject, Injectable } from '@angular/core';\r\nimport {\r\n CrudStateBase,\r\n handleApiRequest,\r\n Response,\r\n} from '@masterteam/components';\r\nimport { defaultBrandDisplayData } from './brand-display-default-data';\r\n\r\n@State<BrandDisplayStateModel>({\r\n name: 'brandDisplay',\r\n defaults: {\r\n brandDisplayData: {},\r\n draftBrandDisplayData: {},\r\n defaultBrandDisplayData: defaultBrandDisplayData,\r\n loadingActive: [],\r\n errors: {},\r\n },\r\n})\r\n@Injectable()\r\nexport class BrandDisplayState extends CrudStateBase<\r\n BrandDisplay,\r\n BrandDisplayStateModel,\r\n BrandDisplayActionKey\r\n> {\r\n private http = inject(HttpClient);\r\n\r\n // ============================================================================\r\n // Data Selectors - Fine-grained reactivity\r\n // ============================================================================\r\n @Selector()\r\n static getBrandDisplayData(\r\n state: BrandDisplayStateModel,\r\n ): BrandDisplay | null {\r\n return state.brandDisplayData;\r\n }\r\n\r\n @Selector()\r\n static getDefaultBrandDisplayData(\r\n state: BrandDisplayStateModel,\r\n ): BrandDisplay | null {\r\n return state.defaultBrandDisplayData;\r\n }\r\n\r\n @Selector()\r\n static getDraftBrandDisplayData(\r\n state: BrandDisplayStateModel,\r\n ): BrandDisplay | null {\r\n return state.draftBrandDisplayData;\r\n }\r\n\r\n // ============================================================================\r\n // Loading/Error Slice Selectors - Required for facade\r\n // ============================================================================\r\n @Selector()\r\n static getLoadingActive(state: BrandDisplayStateModel): string[] {\r\n return state.loadingActive;\r\n }\r\n\r\n @Selector()\r\n static getErrors(\r\n state: BrandDisplayStateModel,\r\n ): Record<string, string | null> {\r\n return state.errors;\r\n }\r\n\r\n // ============================================================================\r\n // Actions\r\n // ============================================================================\r\n @Action(UpdateBrandDisplayDataLocally)\r\n updateBrandDisplayDataLocally(\r\n ctx: StateContext<BrandDisplayStateModel>,\r\n { changes }: UpdateBrandDisplayDataLocally,\r\n ) {\r\n const state = ctx.getState();\r\n ctx.patchState({\r\n draftBrandDisplayData: { ...state.draftBrandDisplayData, ...changes },\r\n });\r\n }\r\n\r\n @Action(GetBrandDisplay)\r\n getBrandDisplay(ctx: StateContext<BrandDisplayStateModel>) {\r\n const req$ = this.http.get<Response<any>>('Settings/general');\r\n\r\n return handleApiRequest({\r\n ctx,\r\n key: BrandDisplayActionKey.GetBrandDisplay,\r\n request$: req$,\r\n onSuccess: (response, state) => {\r\n const Identity = response?.data?.find(\r\n (v: any) => v.key === 'Identity',\r\n )?.value;\r\n\r\n if (Identity) {\r\n // Ensure formWizardPosition always has a valid value\r\n const brandDisplayData = {\r\n ...Identity,\r\n login: {\r\n ...Identity.login,\r\n formWizardPosition:\r\n Identity.login?.formWizardPosition ||\r\n state.defaultBrandDisplayData?.login?.formWizardPosition,\r\n },\r\n };\r\n\r\n return {\r\n brandDisplayData,\r\n draftBrandDisplayData: brandDisplayData,\r\n };\r\n }\r\n return {};\r\n },\r\n onError: (_error, state) => ({\r\n brandDisplayData: state.defaultBrandDisplayData,\r\n draftBrandDisplayData: state.defaultBrandDisplayData,\r\n }),\r\n errorMessage: 'Failed to load brand display',\r\n });\r\n }\r\n\r\n @Action(UpdateBrandDisplayData)\r\n updateBrandDisplayData(ctx: StateContext<BrandDisplayStateModel>) {\r\n const state = ctx.getState();\r\n const req$ = this.http.put<Response<BrandDisplay>>(\r\n 'Settings/UpdateSystemSettings',\r\n { values: [{ key: 'Identity', value: state.draftBrandDisplayData }] },\r\n );\r\n\r\n return handleApiRequest({\r\n ctx,\r\n key: BrandDisplayActionKey.UpdateBrandDisplay,\r\n request$: req$,\r\n onSuccess: (_response, state) => ({\r\n brandDisplayData: JSON.parse(\r\n JSON.stringify(state.draftBrandDisplayData),\r\n ),\r\n }),\r\n onError: () => {\r\n // Re-fetch on error\r\n ctx.dispatch(new GetBrandDisplay());\r\n return {};\r\n },\r\n errorMessage: 'Failed to update brand display',\r\n });\r\n }\r\n}\r\n","import { BrandDisplayState } from './brand-display.state';\r\nimport { Injectable, computed, inject } from '@angular/core';\r\nimport { select, Store } from '@ngxs/store';\r\nimport {\r\n GetBrandDisplay,\r\n UpdateBrandDisplayData,\r\n UpdateBrandDisplayDataLocally,\r\n} from './brand-display.actions';\r\nimport { BrandDisplay, BrandDisplayActionKey } from './brand-display.model';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class BrandDisplayFacade {\r\n private readonly store = inject(Store);\r\n\r\n // ============================================================================\r\n // Data Selectors - Memoized by NGXS (fine-grained reactivity)\r\n // ============================================================================\r\n readonly brandDisplayData = select(BrandDisplayState.getBrandDisplayData);\r\n readonly draftBrandDisplayData = select(\r\n BrandDisplayState.getDraftBrandDisplayData,\r\n );\r\n readonly defaultBrandDisplayData = select(\r\n BrandDisplayState.getDefaultBrandDisplayData,\r\n );\r\n\r\n // ============================================================================\r\n // Loading/Error Slices - Memoized by NGXS\r\n // ============================================================================\r\n private readonly loadingActive = select(BrandDisplayState.getLoadingActive);\r\n private readonly errors = select(BrandDisplayState.getErrors);\r\n\r\n // ============================================================================\r\n // Loading Signals - Computed from slice (minimal reactivity)\r\n // ============================================================================\r\n readonly isLoadingBrandDisplay = computed(() =>\r\n this.loadingActive().includes(BrandDisplayActionKey.GetBrandDisplay),\r\n );\r\n readonly isUpdatingBrandDisplay = computed(() =>\r\n this.loadingActive().includes(BrandDisplayActionKey.UpdateBrandDisplay),\r\n );\r\n\r\n // ============================================================================\r\n // Error Signals - Computed from slice (minimal reactivity)\r\n // ============================================================================\r\n readonly brandDisplayError = computed(\r\n () => this.errors()[BrandDisplayActionKey.GetBrandDisplay] ?? null,\r\n );\r\n readonly updateBrandDisplayError = computed(\r\n () => this.errors()[BrandDisplayActionKey.UpdateBrandDisplay] ?? null,\r\n );\r\n\r\n // ============================================================================\r\n // Action Dispatchers\r\n // ============================================================================\r\n getBrandDisplay() {\r\n return this.store.dispatch(new GetBrandDisplay());\r\n }\r\n\r\n updateBrandDisplayDataLocally(changes: BrandDisplay) {\r\n return this.store.dispatch(new UpdateBrandDisplayDataLocally(changes));\r\n }\r\n\r\n updateBrandDisplayData() {\r\n return this.store.dispatch(new UpdateBrandDisplayData());\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, inject, OnInit, signal } from '@angular/core';\r\nimport { ActivatedRoute, Router, RouterOutlet } from '@angular/router';\r\nimport { TranslocoDirective, TranslocoService } from '@jsverse/transloco';\r\nimport { Breadcrumb } from '@masterteam/components/breadcrumb';\r\nimport { Button } from '@masterteam/components/button';\r\nimport { BrandDisplayFacade } from '../../store/brand-display';\r\nimport { SkeletonModule } from 'primeng/skeleton';\r\nimport { Page } from '@masterteam/components/page';\r\nimport { PageHeaderTab } from '@masterteam/components/page-header';\r\n\r\n@Component({\r\n selector: 'mt-brand-display',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n Page,\r\n Breadcrumb,\r\n Button,\r\n RouterOutlet,\r\n TranslocoDirective,\r\n SkeletonModule,\r\n ],\r\n templateUrl: './brand-display.html',\r\n styleUrl: './brand-display.scss',\r\n})\r\nexport default class BrandDisplay implements OnInit {\r\n private readonly facade = inject(BrandDisplayFacade);\r\n private readonly route = inject(ActivatedRoute);\r\n private readonly router = inject(Router);\r\n private readonly translocoService = inject(TranslocoService);\r\n selectedTab = signal<string>('users');\r\n loading = this.facade.isLoadingBrandDisplay;\r\n updateLoading = this.facade.isUpdatingBrandDisplay;\r\n tabsList: PageHeaderTab[] = [\r\n {\r\n label: this.translocoService.translate('brand-display.white-label'),\r\n value: 'white-label',\r\n },\r\n {\r\n label: this.translocoService.translate('brand-display.login-display'),\r\n value: 'login-display',\r\n },\r\n ];\r\n breadcrumbItems: { label?: string; routerLink?: string; icon?: string }[] = [\r\n {\r\n label: '',\r\n icon: 'general.home-line',\r\n routerLink: '/control-panel/workspaces',\r\n },\r\n {\r\n label: this.translocoService.translate('brand-settings.brand-settings'),\r\n routerLink: '/control-panel/brand-settings',\r\n },\r\n { label: this.translocoService.translate('brand-display.brand-display') },\r\n ];\r\n\r\n ngOnInit() {\r\n const selectedTab = this.route.snapshot.firstChild?.data['componentType'];\r\n this.selectedTab.set(selectedTab || 'white-label');\r\n this.facade.getBrandDisplay();\r\n }\r\n\r\n goBack() {\r\n this.router.navigate(['control-panel/brand-settings']);\r\n }\r\n\r\n onTabChange(event: any) {\r\n if (event) {\r\n this.router.navigate([event], { relativeTo: this.route });\r\n }\r\n }\r\n\r\n onSave() {\r\n this.facade.updateBrandDisplayData();\r\n }\r\n}\r\n","<ng-container *transloco=\"let t; prefix: 'brand-display'\">\r\n <mt-page\r\n [title]=\"t('brand-display')\"\r\n [avatarIcon]=\"'editor.colors'\"\r\n [avatarStyle]=\"{\r\n '--p-avatar-background': 'var(--p-violet-50)',\r\n '--p-avatar-color': 'var(--p-violet-700)',\r\n }\"\r\n [tabs]=\"tabsList\"\r\n [activeTab]=\"selectedTab()\"\r\n (tabChange)=\"onTabChange($event)\"\r\n (backButtonClick)=\"goBack()\"\r\n backButton\r\n >\r\n <div class=\"flex justify-between items-end\">\r\n <div>\r\n <h3 class=\"font-bold text-lg\">{{ t(\"brand-display\") }}</h3>\r\n <mt-breadcrumb\r\n [items]=\"breadcrumbItems\"\r\n [styleClass]=\"'flex justify-start mx-1'\"\r\n ></mt-breadcrumb>\r\n </div>\r\n <mt-button\r\n [label]=\"t('save')\"\r\n icon=\"general.check\"\r\n (click)=\"onSave()\"\r\n [loading]=\"updateLoading()\"\r\n [disabled]=\"false\"\r\n />\r\n </div>\r\n @if (!loading()) {\r\n <router-outlet />\r\n } @else {\r\n <p-skeleton class=\"mt-8\" width=\"30rem\" height=\"3rem\" />\r\n <div class=\"flex mt-4 gap-5\">\r\n <p-skeleton height=\"25rem\" />\r\n <p-skeleton width=\"70rem\" height=\"25rem\" />\r\n </div>\r\n }\r\n </mt-page>\r\n</ng-container>\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { HttpClient, HttpResponse } from '@angular/common/http';\r\nimport { map } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class FaviconService {\r\n private document = inject(DOCUMENT);\r\n private httpClient = inject(HttpClient);\r\n faviconLink = this.document.querySelector(\r\n \"link[rel*='icon']\",\r\n ) as HTMLLinkElement;\r\n setFavicon(faviconDataUrl: string): void {\r\n this.updateFaviconFromUrl(faviconDataUrl);\r\n }\r\n\r\n resetFavicon(defaultPath: string = '/pplus.svg'): void {\r\n this.faviconLink.href = defaultPath;\r\n }\r\n private updateFaviconFromUrl(imagePath: string) {\r\n this.httpClient\r\n .get('uploader/' + imagePath, {\r\n observe: 'response',\r\n responseType: 'blob',\r\n })\r\n .pipe(\r\n map((response: HttpResponse<Blob>) =>\r\n URL.createObjectURL(response.body!),\r\n ),\r\n )\r\n .subscribe((url: string) => {\r\n this.faviconLink.href = url;\r\n });\r\n }\r\n}\r\n","import { computed, effect, inject, Injectable, untracked } from '@angular/core';\r\nimport { BrandDisplayFacade } from '../../store/brand-display';\r\nimport { changePrimaryColor } from '@masterteam/components';\r\nimport { changeTextColor } from '@masterteam/components';\r\nimport { changeBackgroundColor } from '@masterteam/components';\r\nimport { FaviconService } from './favicon.service';\r\n\r\nexport interface BackgroundStyles {\r\n 'background-color'?: string;\r\n 'background-image'?: string;\r\n 'background-repeat'?: string;\r\n 'background-size'?: string;\r\n 'background-position'?: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ManageBrndingService {\r\n private readonly brandDisplay = inject(BrandDisplayFacade);\r\n private readonly faviconService = inject(FaviconService);\r\n\r\n readonly DEFAULT_DISPLAY_DATA: any =\r\n this.brandDisplay.defaultBrandDisplayData;\r\n readonly brandDisplayData = this.brandDisplay.brandDisplayData;\r\n readonly draftBrandDisplayData = this.brandDisplay.draftBrandDisplayData;\r\n\r\n readonly mainData = computed(() => this.brandDisplayData()?.main);\r\n readonly headerData = computed(() => this.brandDisplayData()?.header);\r\n readonly sidebarData = computed(() => this.brandDisplayData()?.sidebar);\r\n readonly contentAreaData = computed(\r\n () => this.brandDisplayData()?.contentArea,\r\n );\r\n readonly loginData = computed(() => this.brandDisplayData()?.login);\r\n\r\n // Draft data computed signals for preview components\r\n readonly draftMainData = computed(() => this.draftBrandDisplayData()?.main);\r\n readonly draftHeaderData = computed(\r\n () => this.draftBrandDisplayData()?.header,\r\n );\r\n readonly draftSidebarData = computed(\r\n () => this.draftBrandDisplayData()?.sidebar,\r\n );\r\n readonly draftContentAreaData = computed(\r\n () => this.draftBrandDisplayData()?.contentArea,\r\n );\r\n readonly draftLoginData = computed(() => this.draftBrandDisplayData()?.login);\r\n\r\n // Images for main brandDisplayData\r\n readonly productBrandLogo = computed(() => {\r\n return this.mainData()?.logoSettings?.productBrandImage?.fileName;\r\n });\r\n\r\n readonly headerBackgroundImage = computed(() => {\r\n return this.headerData()?.backgroundImage?.fileName;\r\n });\r\n\r\n readonly sidebarBackgroundImage = computed(() => {\r\n return this.sidebarData()?.backgroundImage?.fileName;\r\n });\r\n\r\n readonly contentAreaBackgroundImage = computed(() => {\r\n return this.contentAreaData()?.backgroundImage?.fileName;\r\n });\r\n\r\n readonly loginBackgroundImage = computed(() => {\r\n return this.loginData()?.backgroundImage?.fileName;\r\n });\r\n\r\n // Images for draft data (preview)\r\n readonly draftProductBrandLogo = computed(() => {\r\n return this.draftMainData()?.logoSettings?.productBrandImage?.fileName;\r\n });\r\n\r\n readonly draftHeaderBackgroundImage = computed(() => {\r\n return this.draftHeaderData()?.backgroundImage?.fileName;\r\n });\r\n\r\n readonly draftSidebarBackgroundImage = computed(() => {\r\n return this.draftSidebarData()?.backgroundImage?.fileName;\r\n });\r\n\r\n readonly draftContentAreaBackgroundImage = computed(() => {\r\n return this.draftContentAreaData()?.backgroundImage?.fileName;\r\n });\r\n\r\n readonly draftLoginBackgroundImage = computed(() => {\r\n return this.draftLoginData()?.backgroundImage?.fileName;\r\n });\r\n\r\n readonly primaryColor = computed(\r\n () =>\r\n this.mainData()?.colorSettings?.primaryColor ||\r\n this.DEFAULT_DISPLAY_DATA()?.main?.colorSettings?.primaryColor,\r\n );\r\n readonly textColor = computed(\r\n () =>\r\n this.mainData()?.colorSettings?.textColor ||\r\n this.DEFAULT_DISPLAY_DATA()?.main?.colorSettings?.textColor,\r\n );\r\n readonly backgroundColor = computed(\r\n () =>\r\n this.contentAreaData()?.backgroundColor ||\r\n this.DEFAULT_DISPLAY_DATA()?.contentArea?.backgroundColor,\r\n );\r\n\r\n readonly headerFontColor = computed(() => {\r\n return (\r\n this.headerData()?.fontColor ||\r\n this.DEFAULT_DISPLAY_DATA()?.header?.fontColor\r\n );\r\n });\r\n\r\n readonly sidebarIconColor = computed(() => {\r\n return (\r\n this.sidebarData()?.iconColor ||\r\n this.DEFAULT_DISPLAY_DATA()?.sidebar?.iconColor\r\n );\r\n });\r\n\r\n readonly contentAreaBodyColor = computed(\r\n () =>\r\n this.mainData()?.colorSettings?.textColor ||\r\n this.DEFAULT_DISPLAY_DATA()?.main?.colorSettings?.textColor,\r\n );\r\n\r\n // Colors and styles for draft data (preview)\r\n readonly draftPrimaryColor = computed(\r\n () =>\r\n this.draftMainData()?.colorSettings?.primaryColor ||\r\n this.DEFAULT_DISPLAY_DATA()?.main?.colorSettings?.primaryColor,\r\n );\r\n\r\n readonly draftHeaderFontColor = computed(() => {\r\n return (\r\n this.draftHeaderData()?.fontColor ||\r\n this.DEFAULT_DISPLAY_DATA()?.header?.fontColor\r\n );\r\n });\r\n\r\n readonly draftSidebarIconColor = computed(() => {\r\n return (\r\n this.draftSidebarData()?.iconColor ||\r\n this.DEFAULT_DISPLAY_DATA()?.sidebar?.iconColor\r\n );\r\n });\r\n\r\n readonly draftContentAreaBodyColor = computed(\r\n () =>\r\n this.draftMainData()?.colorSettings?.textColor ||\r\n this.DEFAULT_DISPLAY_DATA()?.main?.colorSettings?.textColor,\r\n );\r\n\r\n constructor() {\r\n effect(() => {\r\n const favicon = this.mainData()?.logoSettings?.faviconsImage?.fileName;\r\n if (favicon) {\r\n this.faviconService.setFavicon(favicon);\r\n } else {\r\n this.faviconService.resetFavicon();\r\n }\r\n });\r\n effect(() => {\r\n const primaryColor = this.primaryColor();\r\n const textColor = this.textColor();\r\n const backgroundColor = this.backgroundColor();\r\n untracked(() => {\r\n if (primaryColor) {\r\n changePrimaryColor(primaryColor);\r\n }\r\n if (textColor) {\r\n changeTextColor(textColor);\r\n }\r\n if (backgroundColor) {\r\n changeBackgroundColor(backgroundColor);\r\n }\r\n });\r\n });\r\n }\r\n\r\n buildBackgroundStyles(\r\n data:\r\n | {\r\n backgroundColor?: string;\r\n backgroundImage?: string;\r\n repeated?: boolean;\r\n }\r\n | undefined,\r\n defaultBgColor?: string,\r\n ): BackgroundStyles {\r\n const styles: BackgroundStyles = {};\r\n\r\n if (defaultBgColor && !data?.backgroundColor) {\r\n styles['background-color'] = defaultBgColor;\r\n }\r\n\r\n if (data?.backgroundColor) {\r\n styles['background-color'] = data.backgroundColor;\r\n }\r\n\r\n if (data?.backgroundImage) {\r\n if (data.repeated) {\r\n styles['background-repeat'] = 'repeat';\r\n styles['background-size'] = 'auto';\r\n } else {\r\n styles['background-repeat'] = 'no-repeat';\r\n styles['background-size'] = 'cover';\r\n styles['background-position'] = 'center';\r\n }\r\n }\r\n\r\n return styles;\r\n }\r\n\r\n getProductName(lang: 'en' | 'ar'): string {\r\n const name = this.mainData()?.productName;\r\n return (\r\n name?.[lang] || this.DEFAULT_DISPLAY_DATA()?.main?.productName?.[lang]\r\n );\r\n }\r\n\r\n getProductTagline(lang: 'en' | 'ar'): string {\r\n const name = this.mainData()?.productTagline;\r\n return (\r\n name?.[lang] || this.DEFAULT_DISPLAY_DATA()?.main?.productTagline?.[lang]\r\n );\r\n }\r\n\r\n // Draft versions for preview components\r\n getDraftProductName(lang: 'en' | 'ar'): string {\r\n const name = this.draftMainData()?.productName;\r\n return (\r\n name?.[lang] || this.DEFAULT_DISPLAY_DATA()?.main?.productName?.[lang]\r\n );\r\n }\r\n\r\n getDraftProductTagline(lang: 'en' | 'ar'): string {\r\n const name = this.draftMainData()?.productTagline;\r\n return (\r\n name?.[lang] || this.DEFAULT_DISPLAY_DATA()?.main?.productTagline?.[lang]\r\n );\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, computed, inject } from '@angular/core';\r\nimport { TranslocoDirective, TranslocoService } from '@jsverse/transloco';\r\nimport { Button } from '@masterteam/components/button';\r\nimport { Icon, MTIcon } from '@masterteam/icons';\r\nimport { BrandDisplayFacade } from '../../../../store/brand-display';\r\nimport { getLightColor } from '@masterteam/components';\r\nimport { SecureImagePipe } from '@masterteam/components/upload-field';\r\nimport { ManageBrndingService } from '../../../services/manage-brnding.service';\r\n\r\ninterface SidebarPage {\r\n title: string;\r\n icon: MTIcon;\r\n path: string;\r\n}\r\n\r\n@Component({\r\n selector: 'mt-preview-brand',\r\n standalone: true,\r\n imports: [CommonModule, Button, Icon, TranslocoDirective, SecureImagePipe],\r\n templateUrl: './preview-brand.html',\r\n styleUrl: './preview-brand.scss',\r\n})\r\nexport class PreviewBrand {\r\n private readonly facade = inject(BrandDisplayFacade);\r\n private readonly translocoService = inject(TranslocoService);\r\n readonly manageBrnding = inject(ManageBrndingService);\r\n\r\n readonly ActiveLang = this.translocoService.getActiveLang() as 'en' | 'ar';\r\n\r\n readonly DEFAULT_DISPLAY_DATA: any = this.facade.defaultBrandDisplayData;\r\n\r\n productBrandLogo = this.manageBrnding.draftProductBrandLogo;\r\n headerBackgroundImage = this.manageBrnding.draftHeaderBackgroundImage;\r\n sidebarBackgroundImage = this.manageBrnding.draftSidebarBackgroundImage;\r\n contentAreaBackgroundImage =\r\n this.manageBrnding.draftContentAreaBackgroundImage;\r\n\r\n readonly headerStyles = computed(() => {\r\n const defaultBg =\r\n this.manageBrnding.draftHeaderData()?.backgroundColor ||\r\n this.manageBrnding.draftHeaderData()?.backgroundImage\r\n ? undefined\r\n : this.DEFAULT_DISPLAY_DATA()?.header?.backgroundColor;\r\n return this.manageBrnding.buildBackgroundStyles(\r\n this.manageBrnding.draftHeaderData(),\r\n defaultBg,\r\n );\r\n });\r\n\r\n readonly sidebarStyles = computed(() => {\r\n const defaultBg =\r\n this.manageBrnding.draftSidebarData()?.backgroundColor ||\r\n this.manageBrnding.draftSidebarData()?.backgroundImage\r\n ? undefined\r\n : this.DEFAULT_DISPLAY_DATA()?.sidebar?.backgroundColor;\r\n return this.manageBrnding.buildBackgroundStyles(\r\n this.manageBrnding.draftSidebarData(),\r\n defaultBg,\r\n );\r\n });\r\n\r\n contentAreaStyles = computed(() => {\r\n const defaultBg =\r\n this.manageBrnding.draftContentAreaData()?.backgroundColor ||\r\n this.manageBrnding.draftContentAreaData()?.backgroundImage\r\n ? undefined\r\n : this.DEFAULT_DISPLAY_DATA()?.contentArea?.backgroundColor;\r\n return this.manageBrnding.buildBackgroundStyles(\r\n this.manageBrnding.draftContentAreaData(),\r\n defaultBg,\r\n );\r\n });\r\n\r\n readonly contentAreaBodyColor = this.manageBrnding.draftContentAreaBodyColor;\r\n readonly primaryColor = this.manageBrnding.draftPrimaryColor;\r\n\r\n readonly lightPrimaryColor = computed(() =>\r\n getLightColor(this.primaryColor()!),\r\n );\r\n\r\n readonly headerFontColor = this.manageBrnding.draftHeaderFontColor;\r\n\r\n productName = computed(() => {\r\n const lang = this.ActiveLang as 'en' | 'ar';\r\n return this.manageBrnding.getDraftProductName(lang);\r\n });\r\n\r\n productTagline = computed(() => {\r\n const lang = this.ActiveLang as 'en' | 'ar';\r\n return this.manageBrnding.getDraftProductTagline(lang);\r\n });\r\n\r\n protected readonly pages: SidebarPage[] = [\r\n {\r\n title: 'Workspaces',\r\n icon: 'custom.layer-6',\r\n path: '/control-panel/workspaces',\r\n },\r\n {\r\n title: 'Product Settings',\r\n icon: 'media.monitor-01',\r\n path: '/control-panel/product-settings',\r\n },\r\n {\r\n title: 'Brand Settings',\r\n icon: 'image.colors',\r\n path: '/control-panel/brand-settings',\r\n },\r\n {\r\n title: 'Others',\r\n icon: 'general.dots-grid',\r\n path: '/others',\r\n },\r\n ];\r\n}\r\n","<ng-container *transloco=\"let t\">\r\n <div class=\"border rounded-2xl border-surface-300\">\r\n <div\r\n class=\"flex justify-between rounded-t-2xl align-center p-4 h-[calc(var(--header-height))] bg-cover bg-center\"\r\n [style]=\"headerStyles()\"\r\n [style.backgroundImage]=\"\r\n headerBackgroundImage() ? (headerBackgroundImage() | secureImage) : null\r\n \"\r\n >\r\n <div class=\"flex gap-4 items-center\">\r\n <img\r\n [src]=\"\r\n productBrandLogo()\r\n ? (productBrandLogo() | secureImage: true)\r\n : DEFAULT_DISPLAY_DATA()?.brandLogoWhite\r\n \"\r\n alt=\"Logo\"\r\n class=\"h-12 w-12\"\r\n />\r\n <div\r\n class=\"h-3/4 w-[1px]\"\r\n [style.background-color]=\"headerFontColor()\"\r\n ></div>\r\n <div class=\"flex flex-col gap-1\">\r\n <h2 class=\"text-xl font-semibold\" [style.color]=\"headerFontColor()\">\r\n {{ productName() }}\r\n </h2>\r\n <span class=\"text-sm font-semibold\" [style.color]=\"headerFontColor()\">\r\n {{ productTagline() }}\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"flex gap-2 items-center\">\r\n <mt-button\r\n icon=\"alert.bell-01\"\r\n size=\"large\"\r\n [style.color]=\"headerFontColor()\"\r\n ></mt-button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex bg-white overflow-clip rounded-b-2xl\">\r\n <div\r\n class=\"w-16 h-full flex flex-col gap-3 border-e-1 border-surface-300 px-2 py-8 bg-cover bg-center\"\r\n [style]=\"sidebarStyles()\"\r\n [style.backgroundImage]=\"\r\n sidebarBackgroundImage()\r\n ? (sidebarBackgroundImage() | secureImage)\r\n : null\r\n \"\r\n >\r\n @for (page of pages; track page.title; let first = $first) {\r\n <a\r\n [style.background-color]=\"first ? lightPrimaryColor() : null\"\r\n class=\"flex items-center justify-center size-[47px] hover:bg-surface-100 transition-colors rounded-xl\"\r\n >\r\n <mt-icon\r\n [icon]=\"page.icon\"\r\n [style.color]=\"\r\n first ? primaryColor() : manageBrnding.draftSidebarIconColor()\r\n \"\r\n />\r\n </a>\r\n }\r\n </div>\r\n\r\n <div\r\n [style]=\"contentAreaStyles()\"\r\n [style.color]=\"contentAreaBodyColor()\"\r\n [style.backgroundImage]=\"\r\n contentAreaBackgroundImage()\r\n ? (contentAreaBackgroundImage() | secureImage)\r\n : null\r\n \"\r\n class=\"size-full !h-[288px] overflow-y-auto overscroll-y-auto p-4 bg-cover bg-center\"\r\n >\r\n <p class=\"text-sm\">{{ t(\"preview-content\") }}</p>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, inject, OnInit, signal } from '@angular/core';\r\nimport { ActivatedRoute, Router, RouterOutlet } from '@angular/router';\r\nimport { TranslocoDirective, TranslocoService } from '@jsverse/transloco';\r\nimport { Tabs } from '@masterteam/components/tabs';\r\nimport { PreviewBrand } from '../preview-brand/preview-brand';\r\n\r\n@Component({\r\n selector: 'mt-white-label',\r\n standalone: true,\r\n imports: [CommonModule, Tabs, RouterOutlet, PreviewBrand, TranslocoDirective],\r\n templateUrl: './white-label.html',\r\n styleUrl: './white-label.scss',\r\n})\r\nexport default class WhiteLabel implements OnInit {\r\n private readonly translocoService = inject(TranslocoService);\r\n private readonly router = inject(Router);\r\n private readonly route = inject(ActivatedRoute);\r\n selectedTab = signal<any>('');\r\n\r\n ngOnInit() {\r\n const selectedTab = this.route.snapshot.firstChild?.data['componentType'];\r\n this.selectedTab.set(selectedTab || 'main');\r\n }\r\n\r\n tabsList = [\r\n {\r\n label: this.translocoService.translate('brand-display.main'),\r\n value: 'main',\r\n },\r\n {\r\n label: this.translocoService.translate('brand-display.header'),\r\n value: 'header',\r\n },\r\n {\r\n label: this.translocoService.translate('brand-display.side-bar'),\r\n value: 'sidebar',\r\n },\r\n {\r\n label: this.translocoService.translate('brand-display.content-area'),\r\n value: 'content-area',\r\n },\r\n ];\r\n\r\n onTabChange(event: any) {\r\n if (event) {\r\n this.router.navigate([event], { relativeTo: this.route });\r\n }\r\n }\r\n}\r\n","<ng-container *transloco=\"let t; prefix: 'brand-display'\">\r\n <div class=\"mt-7\">\r\n <mt-tabs\r\n [(active)]=\"selectedTab\"\r\n [options]=\"tabsList\"\r\n size=\"large\"\r\n (onChange)=\"onTabChange($event)\"\r\n />\r\n </div>\r\n <div class=\"flex gap-10 mt-4\">\r\n <div class=\"w-3/5\">\r\n <router-outlet />\r\n </div>\r\n <div class=\"w-2/5\">\r\n <h3 class=\"text-sm font-medium mb-3\">{{ t(\"preview\") }}</h3>\r\n <mt-preview-brand></mt-preview-brand>\r\n </div>\r\n </div>\r\n</ng-container>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, inject, OnInit, signal } from '@angular/core';\r\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\r\nimport { TranslocoDirective, TranslocoService } from '@jsverse/transloco';\r\nimport {\r\n DynamicFormConfig,\r\n ColorPickerFieldConfig,\r\n UploadFileFieldConfig,\r\n} from '@masterteam/components';\r\nimport { Card } from '@masterteam/components/card';\r\nimport { DynamicForm } from '@masterteam/forms/dynamic-form';\r\nimport { BrandDisplayFacade } from '../../../../store/brand-display';\r\nimport { merge } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'mt-main-display',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n Card,\r\n TranslocoDirective,\r\n DynamicForm,\r\n ReactiveFormsModule,\r\n ],\r\n templateUrl: './main-display.html',\r\n styleUrl: './main-display.scss',\r\n})\r\nexport default class MainDisplay implements OnInit {\r\n private readonly translocoService = inject(TranslocoService);\r\n private readonly facade = inject(BrandDisplayFacade);\r\n private readonly DEFAULT_DISPLAY_DATA = this.facade.defaultBrandDisplayData;\r\n brandNameFormControl: any = new FormControl({\r\n productName: this.DEFAULT_DISPLAY_DATA()?.main?.productName,\r\n productTagline: this.DEFAULT_DISPLAY_DATA()?.main?.productTagline,\r\n });\r\n logoFormControl: any = new FormControl({});\r\n colorsFormControl: any = new FormControl({\r\n primaryColor:\r\n this.DEFAULT_DISPLAY_DATA()?.main?.colorSettings?.primaryColor,\r\n secondaryColor:\r\n this.DEFAULT_DISPLAY_DATA()?.main?.colorSettings?.secondaryColor,\r\n textColor: this.DEFAULT_DISPLAY_DATA()?.main?.colorSettings?.textColor,\r\n });\r\n\r\n brandNameConfig = signal<DynamicFormConfig>({\r\n sections: [\r\n {\r\n key: 'brandNameFormConfig',\r\n type: 'header',\r\n order: 1,\r\n fields: [\r\n {\r\n key: 'productName.en',\r\n label: this.translocoService.translate(\r\n 'brand-display.product-name-en',\r\n ),\r\n placeholder: this.translocoService.translate(\r\n 'brand-display.product-name-en',\r\n ),\r\n order: 1,\r\n colSpan: 6,\r\n },\r\n {\r\n key: 'productName.ar',\r\n label: this.translocoService.translate(\r\n 'brand-display.product-name-ar',\r\n ),\r\n placeholder: this.translocoService.translate(\r\n 'brand-display.product-name-ar',\r\n ),\r\n order: 1,\r\n colSpan: 6,\r\n },\r\n {\r\n key: 'productTagline.en',\r\n label: this.translocoService.translate(\r\n 'brand-display.product-tagline-en',\r\n ),\r\n placeholder: this.translocoService.translate(\r\n 'brand-display.product-tagline-en',\r\n ),\r\n order: 1,\r\n colSpan: 6,\r\n },\r\n {\r\n key: 'productTagline.ar',\r\n label: this.translocoService.translate(\r\n 'brand-display.product-tagline-ar',\r\n ),\r\n placeholder: this.translocoService.translate(\r\n 'brand-display.product-tagline-ar',\r\n ),\r\n order: 1,\r\n colSpan: 6,\r\n },\r\n ],\r\n },\r\n ],\r\n });\r\n\r\n logoConfig = signal<DynamicFormConfig>({\r\n sections: [\r\n {\r\n key: 'logoSettingsConfig',\r\n type: 'none',\r\n fields: [\r\n new UploadFileFieldConfig({\r\n key: 'productBrandImage',\r\n label: this.translocoService.translate(\r\n 'brand-display.product-brand',\r\n ),\r\n shape: 'circle',\r\n order: 1,\r\n colSpan: 4,\r\n }),\r\n new UploadFileFieldConfig({\r\n key: 'faviconsImage',\r\n label: this.translocoService.translate('brand-display.favicon'),\r\n shape: 'circle',\r\n order: 1,\r\n colSpan: 4,\r\n }),\r\n ],\r\n },\r\n ],\r\n });\r\n\r\n colorsConfig = signal<DynamicFormConfig>({\r\n sections: [\r\n {\r\n key: 'colorSettingsConfig',\r\n type: 'none',\r\n order: 1,\r\n fields: [\r\n new ColorPickerFieldConfig({\r\n key: 'primaryColor',\r\n label: this.translocoService.translate(\r\n 'brand-display.primary-color',\r\n ),\r\n validators: [],\r\n order: 1,\r\n colSpan: 6,\r\n }),\r\n // new ColorPickerFieldConfig({\r\n // key: 'secondaryColor',\r\n // label: this.translocoService.translate(\r\n // 'brand-display.secondary-color'\r\n // ),\r\n // validators: [],\r\n // order: 2,\r\n // colSpan: 6,\r\n // }),\r\n new ColorPickerFieldConfig({\r\n key: 'textColor',\r\n label: this.translocoService.translate('brand-display.text-color'),\r\n validators: [],\r\n order: 3,\r\n colSpan: 6,\r\n }),\r\n ],\r\n },\r\n ],\r\n });\r\n\r\n brandDisplayData = this.facade.draftBrandDisplayData;\r\n\r\n ngOnInit(): void {\r\n merge(\r\n this.brandNameFormControl.valueChanges,\r\n this.colorsFormControl.valueChanges,\r\n this.logoFormControl.valueChanges,\r\n ).subscribe(() => {\r\n this.updateBrandDisplayLocally();\r\n });\r\n this.brandNameFormControl.patchValue(\r\n { ...this.brandNameFormControl.value, ...this.brandDisplayData()?.main },\r\n {\r\n emitEvent: false,\r\n },\r\n );\r\n this.colorsFormControl.patchValue(\r\n {\r\n ...this.colorsFormControl.value,\r\n ...(this.brandDisplayData()?.main?.colorSettings || {}),\r\n },\r\n {\r\n emitEvent: false,\r\n },\r\n );\r\n this.logoFormControl.patchValue(\r\n {\r\n ...this.logoFormControl.value,\r\n ...(this.brandDisplayData()?.main?.logoSettings || {}),\r\n },\r\n {\r\n emitEvent: false,\r\n },\r\n );\r\n }\r\n\r\n updateBrandDisplayLocally() {\r\n const brandNameFormControlValue = this.brandNameFormControl.value;\r\n const colorsFormControlValue = this.colorsFormControl.value;\r\n const logoFormControlValue = this.logoFormControl.value;\r\n this.facade.updateBrandDisplayDataLocally({\r\n main: {\r\n productName: brandNameFormControlValue.productName,\r\n productTagline: brandNameFormControlValue.productTagline,\r\n colorSettings: {\r\n primaryColor: colorsFormControlValue.primaryColor,\r\n // secondaryColor: formValue.secondaryColor,\r\n textColor: colorsFormControlValue.textColor,\r\n },\r\n logoSettings: {\r\n productBrandImage: logoFormControlValue.productBrandImage,\r\n faviconsImage: logoFormControlValue.faviconsImage,\r\n },\r\n },\r\n });\r\n }\r\n}\r\n","<ng-container *transloco=\"let t; prefix: 'brand-display'\">\r\n <mt-card id=\"brand-name\" [title]=\"t('brand-name')\">\r\n <form class=\"col-span-1 p-2\">\r\n <mt-dynamic-form\r\n [formConfig]=\"brandNameConfig()\"\r\n [formControl]=\"brandNameFormControl\"\r\n />\r\n </form>\r\n </mt-card>\r\n\r\n <mt-card class=\"mt-5\" id=\"logo-settings\" [title]=\"t('logo-settings')\">\r\n <form class=\"col-span-1 p-2\">\r\n <mt-dynamic-form\r\n [formConfig]=\"logoConfig()\"\r\n [formControl]=\"logoFormControl\"\r\n />\r\n </form>\r\n </mt-card>\r\n\r\n <mt-card class=\"mt-5\" id=\"colors\" [title]=\"t('colors')\">\r\n <form class=\"col-span-1 p-2\">\r\n <mt-dynamic-form\r\n [formConfig]=\"colorsConfig()\"\r\n [formControl]=\"colorsFormControl\"\r\n />\r\n </form>\r\n </mt-card>\r\n</ng-container>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, inject, OnInit, signal } from '@angular/core';\r\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { TranslocoDirective, TranslocoService } from '@jsverse/transloco';\r\nimport {\r\n ColorPickerFieldConfig,\r\n DynamicFormConfig,\r\n ToggleFieldConfig,\r\n UploadFileFieldConfig,\r\n} from '@masterteam/components';\r\nimport { Card } from '@masterteam/components/card';\r\nimport { DynamicForm } from '@masterteam/forms/dynamic-form';\r\nimport { BrandDisplayFacade } from '../../../../store/brand-display';\r\n\r\n@Component({\r\n selector: 'mt-header-sidebar-display',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n Card,\r\n TranslocoDirective,\r\n DynamicForm,\r\n ReactiveFormsModule,\r\n ],\r\n templateUrl: './header-sidebar-display.html',\r\n styleUrl: './header-sidebar-display.scss',\r\n})\r\nexport default class HeaderSidebarDisplay implements OnInit {\r\n private readonly translocoService = inject(TranslocoService);\r\n readonly route = inject(ActivatedRoute);\r\n componentType = signal<'header' | 'sidebar'>('header');\r\n isHeader = signal<boolean>(true);\r\n private readonly facade = inject(BrandDisplayFacade);\r\n brandDisplayData = this.facade.draftBrandDisplayData;\r\n headerSidebarFormControl: any;\r\n headerConfig = signal<DynamicFormConfig>({ sections: [] });\r\n DEFAULT_DISPLAY_DATA: any = this.facade.defaultBrandDisplayData;\r\n\r\n ngOnInit(): void {\r\n this.componentType.set(this.route.snapshot.data['componentType']);\r\n this.isHeader.set(this.componentType() === 'header');\r\n\r\n this.headerSidebarFormControl = new FormControl({\r\n fontColor: this.DEFAULT_DISPLAY_DATA()?.[this.componentType()]?.fontColor,\r\n iconColor: this.DEFAULT_DISPLAY_DATA()?.[this.componentType()]?.iconColor,\r\n repeated: this.DEFAULT_DISPLAY_DATA()?.[this.componentType()]?.repeated,\r\n backgroundColor:\r\n this.DEFAULT_DISPLAY_DATA()?.[this.componentType()]?.backgroundColor,\r\n });\r\n this.headerConfig.set({\r\n sections: [\r\n {\r\n key: 'brandNameFormConfig',\r\n type: 'header',\r\n order: 1,\r\n fields: [\r\n new ColorPickerFieldConfig({\r\n key: 'backgroundColor',\r\n label: this.translocoService.translate(\r\n 'brand-display.background-color',\r\n ),\r\n order: 1,\r\n colSpan: 6,\r\n }),\r\n new ColorPickerFieldConfig({\r\n key: 'fontColor',\r\n label: this.translocoService.translate(\r\n 'brand-display.font-color',\r\n ),\r\n order: 3,\r\n hidden: !this.isHeader(),\r\n colSpan: 6,\r\n }),\r\n\r\n new ColorPickerFieldConfig({\r\n key: 'iconColor',\r\n label: this.translocoService.translate(\r\n 'brand-display.icon-color',\r\n ),\r\n order: 4,\r\n hidden: this.isHeader(),\r\n colSpan: 6,\r\n }),\r\n new UploadFileFieldConfig({\r\n key: 'backgroundImage',\r\n label: this.translocoService.translate(\r\n 'brand-display.background-image',\r\n ),\r\n order: 5,\r\n colSpan: 6,\r\n }),\r\n new ToggleFieldConfig({\r\n key: 'repeated',\r\n label: this.translocoService.translate('brand-display.repeated'),\r\n cssClass: 'mt-12',\r\n order: 6,\r\n colSpan: 6,\r\n }),\r\n ],\r\n },\r\n ],\r\n });\r\n\r\n const localFormData = {\r\n ...this.headerSidebarFormControl.value,\r\n ...this.brandDisplayData()?.[this.componentType()],\r\n };\r\n\r\n this.headerSidebarFormControl.patchValue(localFormData, {\r\n emitEvent: false,\r\n });\r\n\r\n this.headerSidebarFormControl.valueChanges.subscribe((value: any) => {\r\n this.facade.updateBrandDisplayDataLocally({\r\n [this.componentType()]: value,\r\n });\r\n });\r\n }\r\n}\r\n","<ng-container *transloco=\"let t; prefix: 'brand-display'\">\r\n <mt-card id=\"header\" [title]=\"isHeader() ? t('header') : t('side-bar')\">\r\n <form class=\"col-span-1 p-2\">\r\n <mt-dynamic-form\r\n [formConfig]=\"headerConfig()\"\r\n [formControl]=\"headerSidebarFormControl\"\r\n />\r\n </form>\r\n </mt-card>\r\n</ng-container>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, inject, OnInit, signal } from '@angular/core';\r\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\r\nimport { TranslocoDirective, TranslocoService } from '@jsverse/transloco';\r\nimport {\r\n ColorPickerFieldConfig,\r\n DynamicFormConfig,\r\n ToggleFieldConfig,\r\n UploadFileFieldConfig,\r\n} from '@masterteam/components';\r\nimport { Card } from '@masterteam/components/card';\r\nimport { DynamicForm } from '@masterteam/forms/dynamic-form';\r\nimport { BrandDisplayFacade } from '../../../../store/brand-display';\r\n@Component({\r\n selector: 'mt-content-area',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n Card,\r\n TranslocoDirective,\r\n DynamicForm,\r\n ReactiveFormsModule,\r\n ],\r\n templateUrl: './content-area.html',\r\n styleUrl: './content-area.scss',\r\n})\r\nexport default class ContentArea implements OnInit {\r\n private readonly translocoService = inject(TranslocoService);\r\n private readonly facade = inject(BrandDisplayFacade);\r\n private readonly DEFAULT_DISPLAY_DATA = this.facade.defaultBrandDisplayData;\r\n brandDisplayData = this.facade.draftBrandDisplayData;\r\n contentAreaFormControl: any = new FormControl({\r\n backgroundColor: this.DEFAULT_DISPLAY_DATA()?.contentArea?.backgroundColor,\r\n repeated: this.DEFAULT_DISPLAY_DATA()?.contentArea?.repeated,\r\n });\r\n\r\n ngOnInit(): void {\r\n const localFormData = {\r\n ...this.contentAreaFormControl.value,\r\n ...this.brandDisplayData()?.contentArea,\r\n };\r\n this.contentAreaFormControl.patchValue(localFormData, {\r\n emitEvent: false,\r\n });\r\n this.contentAreaFormControl.valueChanges.subscribe((value: any) => {\r\n this.facade.updateBrandDisplayDataLocally({\r\n contentArea: {\r\n backgroundColor: value.backgroundColor,\r\n repeated: value.repeated,\r\n backgroundImage: value?.backgroundImage,\r\n },\r\n });\r\n });\r\n }\r\n contentAreaConfig = signal<DynamicFormConfig>({\r\n sections: [\r\n {\r\n key: 'contentAreaConfig',\r\n type: 'none',\r\n order: 1,\r\n fields: [\r\n new UploadFileFieldConfig({\r\n key: 'backgroundImage',\r\n label: this.translocoService.translate(\r\n 'brand-display.background-image',\r\n ),\r\n order: 1,\r\n colSpan: 6,\r\n }),\r\n new ToggleFieldConfig({\r\n key: 'repeated',\r\n label: this.translocoService.translate('brand-display.repeated'),\r\n order: 2,\r\n cssClass: 'mt-12',\r\n colSpan: 6,\r\n }),\r\n new ColorPickerFieldConfig({\r\n key: 'backgroundColor',\r\n label: this.translocoService.translate(\r\n 'brand-display.background-color',\r\n ),\r\n order: 3,\r\n colSpan: 6,\r\n }),\r\n ],\r\n },\r\n ],\r\n });\r\n}\r\n","<ng-container *transloco=\"let t; prefix: 'brand-display'\">\r\n <mt-card id=\"header\" [title]=\"t('content-area')\">\r\n <form class=\"col-span-1 p-2\">\r\n <mt-dynamic-form\r\n [formConfig]=\"contentAreaConfig()\"\r\n [formControl]=\"contentAreaFormControl\"\r\n />\r\n </form>\r\n </mt-card>\r\n</ng-container>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, computed, inject } from '@angular/core';\r\nimport { TranslocoDirective } from '@jsverse/transloco';\r\nimport { BrandDisplayFacade } from '../../../../store/brand-display';\r\nimport { SecureImagePipe } from '@masterteam/components/upload-field';\r\nimport { ManageBrndingService } from '../../../services/manage-brnding.service';\r\n\r\n@Component({\r\n selector: 'mt-preview-login',\r\n standalone: true,\r\n imports: [CommonModule, TranslocoDirective, SecureImagePipe],\r\n templateUrl: './preview-login.html',\r\n styleUrl: './preview-login.scss',\r\n})\r\nexport class PreviewLogin {\r\n private readonly facade = inject(BrandDisplayFacade);\r\n private readonly manageBrnding = inject(ManageBrndingService);\r\n\r\n readonly DEFAULT_DISPLAY_DATA: any = this.facade.defaultBrandDisplayData;\r\n\r\n previewBackgroundColor = computed(() => {\r\n const value = this.manageBrnding.draftLoginData();\r\n return (\r\n value?.backgroundColor ||\r\n this.DEFAULT_DISPLAY_DATA()?.login?.backgroundColor\r\n );\r\n });\r\n\r\n repeated = computed(() => {\r\n const v = this.manageBrnding.draftLoginData();\r\n return v?.repeated || this.DEFAULT_DISPLAY_DATA()?.login?.repeated;\r\n });\r\n\r\n previewFormPosition = computed(() => {\r\n const value = this.manageBrnding.draftLoginData();\r\n return (\r\n value?.formWizardPosition ||\r\n this.DEFAULT_DISPLAY_DATA()?.login?.formWizardPosition\r\n );\r\n });\r\n\r\n previewLogoSrc = computed(() => {\r\n const value = this.manageBrnding.draftLoginData();\r\n return value?.loginBrandImage?.fileName || null;\r\n });\r\n\r\n backgroundImage = this.manageBrnding.draftLoginBackgroundImage;\r\n}\r\n","<ng-container *transloco=\"let t; prefix: 'login'\">\r\n <div class=\"sticky top-4\">\r\n <h3 class=\"text-sm font-medium mb-3\">{{ t(\"preview\") }}</h3>\r\n <div\r\n class=\"rounded-lg overflow-hidden aspect-[16/10] relative\"\r\n [style]=\"{\r\n 'background-color': previewBackgroundColor(),\r\n 'background-size': repeated() ? 'auto' : 'cover',\r\n 'background-repeat': repeated() ? 'repeat' : 'no-repeat',\r\n 'background-position': 'center',\r\n }\"\r\n [style.backgroundImage]=\"\r\n backgroundImage() ? (backgroundImage() | secureImage) : null\r\n \"\r\n >\r\n <div class=\"absolute inset-0 flex items-center p-8\">\r\n @if (previewFormPosition() !== \"center\") {\r\n <div\r\n class=\"logo flex flex-col items-center gap-2 flex-1\"\r\n [class]=\"{\r\n 'order-2': previewFormPosition() === 'start',\r\n 'order-1': previewFormPosition() === 'end',\r\n }\"\r\n >\r\n <img\r\n [src]=\"\r\n previewLogoSrc()\r\n ? (previewLogoSrc() | secureImage: true)\r\n : DEFAULT_DISPLAY_DATA()?.loginLogo\r\n \"\r\n alt=\"Logo\"\r\n class=\"h-12 w-12\"\r\n />\r\n <div class=\"text-white text-lg text-center\">\r\n {{ t(\"project-management-system\") }}\r\n </div>\r\n </div>\r\n }\r\n\r\n <div\r\n class=\"flex-shrink-0\"\r\n [class]=\"{\r\n 'order-1': previewFormPosition() === 'start',\r\n 'order-2': previewFormPosition() === 'end',\r\n 'mx-auto': previewFormPosition() === 'center',\r\n }\"\r\n >\r\n @if (previewFormPosition() === \"center\") {\r\n <div class=\"logo flex flex-col items-center gap-2 mb-4\">\r\n <img\r\n [src]=\"\r\n previewLogoSrc()\r\n ? (previewLogoSrc() | secureImage: true)\r\n : DEFAULT_DISPLAY_DATA()?.loginLogo\r\n \"\r\n alt=\"Logo\"\r\n class=\"h-12 w-12\"\r\n />\r\n <div class=\"text-white text-lg\">\r\n {{ t(\"portfolio-management-system\") }}\r\n </div>\r\n </div>\r\n }\r\n\r\n <div\r\n class=\"bg-white rounded-lg shadow-xl px-6 py-3 w-60 relative z-10\"\r\n >\r\n <div class=\"text-center mb-3 mt-4\">\r\n <h4 class=\"text-[14px] font-bold mb-1\">{{ t(\"signin\") }}</h4>\r\n <p class=\"text-[8px] text-gray-500\">{{ t(\"info-msg\") }}</p>\r\n </div>\r\n\r\n <div class=\"space-y-3\">\r\n <div>\r\n <label class=\"text-[8px] block text-xs text-gray-600 mb-1\">{{\r\n t(\"username\")\r\n }}</label>\r\n <div\r\n class=\"text-[8px] border border-gray-300 rounded px-3 py-2 text-gray-400\"\r\n >\r\n {{ t(\"username\") }}\r\n </div>\r\n </div>\r\n <div>\r\n <label class=\"text-[8px] block text-gray-600 mb-1\">{{\r\n t(\"password\")\r\n }}</label>\r\n <div\r\n class=\"text-[8px] border border-gray-300 rounded px-3 py-2 text-gray-400\"\r\n >\r\n {{ t(\"password\") }}\r\n </div>\r\n </div>\r\n <button\r\n class=\"w-full mb-1 bg-primary text-white rounded py-2 text-[9px] font-medium\"\r\n >\r\n {{ t(\"sign-in\") }}\r\n </button>\r\n <div class=\"text-center\">\r\n <a class=\"text-[11px] text-primary\"> English </a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"text-center mt-3 text-[8px] text-gray-400\">\r\n {{ t(\"tagline\") }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, computed, inject, OnInit, signal } from '@angular/core';\r\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\r\nimport { TranslocoDirective, TranslocoService } from '@jsverse/transloco';\r\nimport {\r\n DynamicFormConfig,\r\n ToggleFieldConfig,\r\n UploadFileFieldConfig,\r\n} from '@masterteam/components';\r\nimport { FileUploadModule } from 'primeng/fileupload';\r\nimport { Card } from '@masterteam/components/card';\r\nimport { DynamicForm } from '@masterteam/forms/dynamic-form';\r\nimport {\r\n BrandDisplayFacade,\r\n LoginDisplay as LoginDisplayModel,\r\n} from '../../../../store/brand-display';\r\nimport { PreviewLogin } from '../preview-login/preview-login';\r\n\r\n@Component({\r\n selector: 'mt-login-display',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n Card,\r\n TranslocoDirective,\r\n DynamicForm,\r\n ReactiveFormsModule,\r\n FileUploadModule,\r\n PreviewLogin,\r\n ],\r\n templateUrl: './login-display.html',\r\n styleUrl: './login-display.scss',\r\n})\r\nexport default class LoginDisplay implements OnInit {\r\n private readonly translocoService = inject(TranslocoService);\r\n private readonly facade = inject(BrandDisplayFacade);\r\n DEFAULT_DISPLAY_DATA = this.facade.defaultBrandDisplayData;\r\n\r\n loginFormControl = new FormControl<LoginDisplayModel | any>({\r\n backgroundColor: this.DEFAULT_DISPLAY_DATA()?.login?.backgroundColor,\r\n repeated: this.DEFAULT_DISPLAY_DATA()?.login?.repeated,\r\n formWizardPosition: this.DEFAULT_DISPLAY_DATA()?.login?.formWizardPosition,\r\n });\r\n\r\n loginFormConfig = signal<DynamicFormConfig>({\r\n sections: [\r\n {\r\n key: 'loginBrandImageSection',\r\n type: 'none',\r\n order: 1,\r\n fields: [\r\n new UploadFileFieldConfig({\r\n key: 'loginBrandImage',\r\n label: this.translocoService.translate('brand-display.login-brand'),\r\n shape: 'circle',\r\n order: 1,\r\n }),\r\n ],\r\n },\r\n {\r\n key: 'backgroundSection',\r\n type: 'none',\r\n order: 2,\r\n fields: [\r\n {\r\n key: 'backgroundColor',\r\n type: 'color-picker',\r\n label: this.translocoService.translate(\r\n 'brand-display.background-color',\r\n ),\r\n order: 3,\r\n colSpan: 6,\r\n },\r\n new UploadFileFieldConfig({\r\n key: 'backgroundImage',\r\n label: this.translocoService.translate(\r\n 'brand-display.background-image',\r\n ),\r\n order: 1,\r\n colSpan: 6,\r\n }),\r\n new ToggleFieldConfig({\r\n key: 'repeated',\r\n label: this.translocoService.translate('brand-display.repeated'),\r\n cssClass: 'mt-12',\r\n order: 2,\r\n colSpan: 6,\r\n }),\r\n ],\r\n },\r\n {\r\n key: 'positionSection',\r\n type: 'none',\r\n bodyClass: 'mt-2 p-4 border-t border-dashed border-surface',\r\n order: 3,\r\n fields: [\r\n {\r\n key: 'formWizardPosition',\r\n type: 'radio-button',\r\n label: this.translocoService.translate(\r\n 'brand-display.form-wizard-position',\r\n ),\r\n hint: this.translocoService.translate(\r\n 'brand-display.change-language-direction',\r\n ),\r\n cssClass: 'flex gap-4',\r\n options: [\r\n {\r\n label: this.translocoService.translate('brand-display.start'),\r\n value: 'start',\r\n },\r\n {\r\n label: this.translocoService.translate('brand-display.end'),\r\n value: 'end',\r\n },\r\n {\r\n label: this.translocoService.translate('brand-display.center'),\r\n value: 'center',\r\n },\r\n ],\r\n optionLabel: 'label',\r\n optionValue: 'value',\r\n order: 1,\r\n },\r\n ],\r\n },\r\n ],\r\n });\r\n\r\n brandDisplayLocalData = this.facade.draftBrandDisplayData;\r\n loginData = computed(() => {\r\n return this.brandDisplayLocalData()?.login as LoginDisplayModel | undefined;\r\n });\r\n\r\n constructor() {\r\n this.loginFormControl.valueChanges.subscribe((partial) => {\r\n this.updateLoginDisplayLocally(partial ?? {});\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n const existingData = {\r\n ...this.loginFormControl.value,\r\n ...this.loginData(),\r\n };\r\n if (existingData) {\r\n this.loginFormControl.patchValue(existingData, { emitEvent: false });\r\n }\r\n }\r\n\r\n updateLoginDisplayLocally(value: any) {\r\n const existingLogin = this.brandDisplayLocalData()?.login ?? {};\r\n const merged = { ...existingLogin, ...value };\r\n this.facade.updateBrandDisplayDataLocally({\r\n login: merged,\r\n });\r\n }\r\n}\r\n","<ng-container *transloco=\"let t; prefix: 'brand-display'\">\r\n <div class=\"flex gap-10 mt-6\">\r\n <!-- Left Side - Login Settings -->\r\n <div class=\"w-3/5\">\r\n <mt-card id=\"login-settings\" [title]=\"t('login-settings')\">\r\n <form class=\"col-span-1 p-2\">\r\n <mt-dynamic-form\r\n [formConfig]=\"loginFormConfig()\"\r\n [formControl]=\"loginFormControl\"\r\n />\r\n </form>\r\n </mt-card>\r\n </div>\r\n\r\n <!-- Right Side - Preview -->\r\n <div class=\"w-2/5\">\r\n <mt-preview-login></mt-preview-login>\r\n </div>\r\n </div>\r\n</ng-container>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@masterteam/brand-display",
3
- "version": "0.0.1",
3
+ "version": "0.0.3",
4
4
  "publishConfig": {
5
5
  "directory": "../../../dist/masterteam/brand-display",
6
6
  "linkDirectory": false,
@@ -20,9 +20,9 @@
20
20
  "tailwindcss": "^4.1.17",
21
21
  "tailwindcss-primeui": "^0.6.1",
22
22
  "@ngxs/store": "^20.1.0",
23
- "@masterteam/forms": "^0.0.35",
24
- "@masterteam/components": "^0.0.84",
25
- "@masterteam/icons": "^0.0.12"
23
+ "@masterteam/components": "^0.0.89",
24
+ "@masterteam/icons": "^0.0.13",
25
+ "@masterteam/forms": "^0.0.35"
26
26
  },
27
27
  "sideEffects": false,
28
28
  "exports": {