@masterteam/components 0.0.50 → 0.0.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/common.css +1 -1
- package/confirmation/index.d.ts +37 -0
- package/fesm2022/masterteam-components-confirmation.mjs +71 -0
- package/fesm2022/masterteam-components-confirmation.mjs.map +1 -0
- package/fesm2022/masterteam-components.mjs +6 -2
- package/fesm2022/masterteam-components.mjs.map +1 -1
- package/index.d.ts +4 -2
- package/package.json +48 -44
package/assets/common.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! tailwindcss v4.1.17 | 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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking: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;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial}}}@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-red-50:oklch(97.1% .013 17.38);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-600:oklch(68.1% .162 75.834);--color-yellow-700:oklch(55.4% .135 66.442);--color-green-50:oklch(98.2% .018 155.826);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-blue-50:oklch(97% .014 254.604);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--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-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--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-base:1rem;--text-base--line-height:calc(1.5/1);--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);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wider:.05em;--radius-md:.375rem;--radius-lg:.5rem;--radius-2xl:1rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--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}:-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{label.required:after{content:"*";color:var(--p-red-500);padding-inline-start:2px}.dark label.required:after{color:var(--p-red-600)}}@layer utilities{.\@container{container-type:inline-size}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-full{top:100%}.right-0{right:calc(var(--spacing)*0)}.right-3{right:calc(var(--spacing)*3)}.z-10{z-index:10}.order-1{order:1}.col-span-6{grid-column:span 6/span 6}.m-0{margin:calc(var(--spacing)*0)}.ms-2{margin-inline-start:calc(var(--spacing)*2)}.mt-2{margin-top:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.hidden\!{display:none!important}.inline{display:inline}.table{display:table}.size-full{width:100%;height:100%}.h-25\!{height:calc(var(--spacing)*25)!important}.h-full{height:100%}.w-12{width:calc(var(--spacing)*12)}.w-25\!{width:calc(var(--spacing)*25)!important}.w-72{width:calc(var(--spacing)*72)}.w-\[1\/2\]{width:1/2}.w-fit{width:fit-content}.w-full{width:100%}.min-w-full{min-width:100%}.min-w-max{min-width:max-content}.flex-1{flex:1}.grow{flex-grow:1}.table-fixed{table-layout:fixed}.origin-top-right{transform-origin:100% 0}.-translate-y-1\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.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)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*4)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-gray-200>:not(:last-child)){border-color:var(--color-gray-200)}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-b-md{border-bottom-right-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.border,.border-1{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\(--p-content-border-color\){border-color:var(--p-content-border-color)}.border-\(--p-inputtext-invalid-border-color\)\!{border-color:var(--p-inputtext-invalid-border-color)!important}.border-blue-500{border-color:var(--color-blue-500)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-500{border-color:var(--color-gray-500)}.border-primary-400{border-color:var(--p-primary-400)}@supports (color:color-mix(in lab, red, red)){.border-primary-400{border-color:color-mix(in srgb,var(--p-primary-400)calc(100%*1),transparent)}}.border-surface{border-color:var(--p-content-border-color)}.border-surface-200{border-color:var(--p-surface-200)}@supports (color:color-mix(in lab, red, red)){.border-surface-200{border-color:color-mix(in srgb,var(--p-surface-200)calc(100%*1),transparent)}}.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-white{background-color:var(--color-white)!important}.bg-\(--p-inputtext-filled-background\){background-color:var(--p-inputtext-filled-background)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-content{background-color:var(--p-content-background)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-primary-50{background-color:var(--p-primary-50)}@supports (color:color-mix(in lab, red, red)){.bg-primary-50{background-color:color-mix(in srgb,var(--p-primary-50)calc(100%*1),transparent)}}.bg-surface-50{background-color:var(--p-surface-50)}@supports (color:color-mix(in lab, red, red)){.bg-surface-50{background-color:color-mix(in srgb,var(--p-surface-50)calc(100%*1),transparent)}}.bg-surface-400\/50{background-color:var(--p-surface-400)}@supports (color:color-mix(in lab, red, red)){.bg-surface-400\/50{background-color:color-mix(in oklab,color-mix(in srgb,var(--p-surface-400)calc(100%*1),transparent)50%,transparent)}}.bg-white{background-color:var(--color-white)}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.px-0{padding-inline:calc(var(--spacing)*0)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-3{padding-block:calc(var(--spacing)*3)}.py-5{padding-block:calc(var(--spacing)*5)}.text-center{text-align:center}.text-end\!{text-align:end!important}.text-right{text-align:right}.text-start{text-align:start}.align-middle{vertical-align:middle}.align-super\!{vertical-align:super!important}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-2xl\!{font-size:var(--text-2xl)!important;line-height:var(--tw-leading,var(--text-2xl--line-height))!important}.text-4xl\!{font-size:var(--text-4xl)!important;line-height:var(--tw-leading,var(--text-4xl--line-height))!important}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.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-\[\.95rem\]{font-size:.95rem}.leading-none{--tw-leading:1;line-height:1}.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)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-blue-600{color:var(--color-blue-600)}.text-gray-400{color:var(--color-gray-400)}.text-gray-400\!{color:var(--color-gray-400)!important}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-900{color:var(--color-gray-900)}.text-green-600{color:var(--color-green-600)}.text-muted-color{color:var(--p-text-muted-color)}.text-primary-300{color:var(--p-primary-300)}@supports (color:color-mix(in lab, red, red)){.text-primary-300{color:color-mix(in srgb,var(--p-primary-300)calc(100%*1),transparent)}}.text-primary-400{color:var(--p-primary-400)}@supports (color:color-mix(in lab, red, red)){.text-primary-400{color:color-mix(in srgb,var(--p-primary-400)calc(100%*1),transparent)}}.text-primary-700{color:var(--p-primary-700)}@supports (color:color-mix(in lab, red, red)){.text-primary-700{color:color-mix(in srgb,var(--p-primary-700)calc(100%*1),transparent)}}.text-purple-600{color:var(--color-purple-600)}.text-red-600{color:var(--color-red-600)}.text-surface-500{color:var(--p-surface-500)}@supports (color:color-mix(in lab, red, red)){.text-surface-500{color:color-mix(in srgb,var(--p-surface-500)calc(100%*1),transparent)}}.text-yellow-600{color:var(--color-yellow-600)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-50{opacity:.5}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px 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)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-black{--tw-ring-color:var(--color-black)}.ring-primary-200{--tw-ring-color:var(--p-primary-200)}@supports (color:color-mix(in lab, red, red)){.ring-primary-200{--tw-ring-color:color-mix(in srgb,var(--p-primary-200)calc(100%*1),transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.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))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}@media (hover:hover){.hover\:border-\(--p-inputtext-hover-border-color\)\!:hover{border-color:var(--p-inputtext-hover-border-color)!important}.hover\:border-gray-400:hover{border-color:var(--color-gray-400)}.hover\:bg-blue-50:hover{background-color:var(--color-blue-50)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-green-50:hover{background-color:var(--color-green-50)}.hover\:bg-purple-50:hover{background-color:var(--color-purple-50)}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-yellow-50:hover{background-color:var(--color-yellow-50)}.hover\:text-blue-700:hover{color:var(--color-blue-700)}.hover\:text-gray-600:hover{color:var(--color-gray-600)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}.hover\:text-green-700:hover{color:var(--color-green-700)}.hover\:text-purple-700:hover{color:var(--color-purple-700)}.hover\:text-red-700:hover{color:var(--color-red-700)}.hover\:text-yellow-700:hover{color:var(--color-yellow-700)}.hover\:opacity-100:hover{opacity:1}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}@container (min-width:28rem){.\@md\:col-span-3{grid-column:span 3/span 3}}@container (min-width:42rem){.\@2xl\:col-span-2{grid-column:span 2/span 2}}.dark\:border-surface-500:where(.dark,.dark *){border-color:var(--p-surface-500)}@supports (color:color-mix(in lab, red, red)){.dark\:border-surface-500:where(.dark,.dark *){border-color:color-mix(in srgb,var(--p-surface-500)calc(100%*1),transparent)}}.dark\:bg-primary-800:where(.dark,.dark *){background-color:var(--p-primary-800)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-primary-800:where(.dark,.dark *){background-color:color-mix(in srgb,var(--p-primary-800)calc(100%*1),transparent)}}.dark\:bg-primary-900\/20:where(.dark,.dark *){background-color:var(--p-primary-900)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-primary-900\/20:where(.dark,.dark *){background-color:color-mix(in oklab,color-mix(in srgb,var(--p-primary-900)calc(100%*1),transparent)20%,transparent)}}.dark\:bg-surface-950:where(.dark,.dark *){background-color:var(--p-surface-950)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-surface-950:where(.dark,.dark *){background-color:color-mix(in srgb,var(--p-surface-950)calc(100%*1),transparent)}}.dark\:text-gray-50:where(.dark,.dark *){color:var(--color-gray-50)}.dark\:text-gray-100:where(.dark,.dark *){color:var(--color-gray-100)}.dark\:text-gray-300:where(.dark,.dark *){color:var(--color-gray-300)}.dark\:text-primary-300:where(.dark,.dark *){color:var(--p-primary-300)}@supports (color:color-mix(in lab, red, red)){.dark\:text-primary-300:where(.dark,.dark *){color:color-mix(in srgb,var(--p-primary-300)calc(100%*1),transparent)}}@media (hover:hover){.dark\:hover\:bg-gray-800:where(.dark,.dark *):hover{background-color:var(--color-gray-800)}.dark\:hover\:bg-surface-950:where(.dark,.dark *):hover{background-color:var(--p-surface-950)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-surface-950:where(.dark,.dark *):hover{background-color:color-mix(in srgb,var(--p-surface-950)calc(100%*1),transparent)}}.dark\:hover\:text-gray-100:where(.dark,.dark *):hover{color:var(--color-gray-100)}}}:root{--app-background-light:var(--p-surface-100);--app-background-dark:var(--p-surface-950);--app-background:var(--app-background-light)}:root[class=dark]{--app-background:var(--app-background-dark)}body{background-color:var(--app-background);color:var(--p-text-color)}.mt-dialog .p-dialog-header{background-color:var(--p-surface-100);border-radius:.75rem .75rem 0 0;padding:1rem 1.25rem}.mt-dialog .p-dialog-header .p-dialog-header-actions .p-dialog-close-button{background-color:#fff;border-radius:.3rem;justify-content:center;width:2rem;height:2rem}.mt-dialog .p-dialog-content{border-radius:.8rem;height:100%;overflow-y:hidden}.mt-dialog .p-dialog-content .mt-modal-content{height:100%;padding-bottom:5rem;overflow:auto}.mt-dialog .p-dialog-content .mt-modal-footer{background-color:var(--p-surface-100);justify-content:end;gap:10px;padding:.8rem 1.25rem;display:flex;position:sticky;bottom:0}.mt-drawer .p-drawer-content .mt-modal-content{height:calc(100% - 60px);overflow:auto}.mt-drawer .p-drawer-content .mt-modal-footer{border-top:1px solid var(--p-surface-200);justify-content:flex-end;gap:.5rem;height:15rem;padding:.75rem;display:flex}.mt-custom-drawer .p-drawer-header,.mt-custom-drawer .p-drawer-content,.mt-custom-drawer .p-drawer-footer,.mt-drawer .p-drawer-header,.mt-drawer .p-drawer-content,.mt-drawer .p-drawer-footer{padding:0}.mt-drawer .p-drawer-content,body:has(:is(.p-dialog-mask.p-overlay-mask,.p-drawer-mask.p-overlay-mask)){overflow:hidden}@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-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{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}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}
|
|
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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking: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;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial}}}@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-red-50:oklch(97.1% .013 17.38);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-600:oklch(68.1% .162 75.834);--color-yellow-700:oklch(55.4% .135 66.442);--color-green-50:oklch(98.2% .018 155.826);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-blue-50:oklch(97% .014 254.604);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--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-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--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-base:1rem;--text-base--line-height:calc(1.5/1);--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);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-8xl:6rem;--text-8xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wider:.05em;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--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}:-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{label.required:after{content:"*";color:var(--p-red-500);padding-inline-start:2px}.dark label.required:after{color:var(--p-red-600)}}@layer utilities{.\@container{container-type:inline-size}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-full{top:100%}.right-0{right:calc(var(--spacing)*0)}.right-3{right:calc(var(--spacing)*3)}.z-10{z-index:10}.order-1{order:1}.col-span-6{grid-column:span 6/span 6}.m-0{margin:calc(var(--spacing)*0)}.ms-2{margin-inline-start:calc(var(--spacing)*2)}.mt-2{margin-top:calc(var(--spacing)*2)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.hidden\!{display:none!important}.inline{display:inline}.table{display:table}.size-full{width:100%;height:100%}.h-25\!{height:calc(var(--spacing)*25)!important}.h-full{height:100%}.w-12{width:calc(var(--spacing)*12)}.w-25\!{width:calc(var(--spacing)*25)!important}.w-72{width:calc(var(--spacing)*72)}.w-\[1\/2\]{width:1/2}.w-fit{width:fit-content}.w-full{width:100%}.min-w-100{min-width:calc(var(--spacing)*100)}.min-w-full{min-width:100%}.min-w-max{min-width:max-content}.flex-1{flex:1}.grow{flex-grow:1}.table-fixed{table-layout:fixed}.origin-top-right{transform-origin:100% 0}.-translate-y-1\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.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)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*4)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-gray-200>:not(:last-child)){border-color:var(--color-gray-200)}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-t-xl{border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl)}.rounded-b-md{border-bottom-right-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.border,.border-1{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\(--p-content-border-color\){border-color:var(--p-content-border-color)}.border-\(--p-inputtext-invalid-border-color\)\!{border-color:var(--p-inputtext-invalid-border-color)!important}.border-blue-500{border-color:var(--color-blue-500)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-500{border-color:var(--color-gray-500)}.border-primary-400{border-color:var(--p-primary-400)}@supports (color:color-mix(in lab, red, red)){.border-primary-400{border-color:color-mix(in srgb,var(--p-primary-400)calc(100%*1),transparent)}}.border-surface{border-color:var(--p-content-border-color)}.border-surface-200{border-color:var(--p-surface-200)}@supports (color:color-mix(in lab, red, red)){.border-surface-200{border-color:color-mix(in srgb,var(--p-surface-200)calc(100%*1),transparent)}}.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-white{background-color:var(--color-white)!important}.bg-\(--p-inputtext-filled-background\){background-color:var(--p-inputtext-filled-background)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-content{background-color:var(--p-content-background)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-primary-50{background-color:var(--p-primary-50)}@supports (color:color-mix(in lab, red, red)){.bg-primary-50{background-color:color-mix(in srgb,var(--p-primary-50)calc(100%*1),transparent)}}.bg-surface-50{background-color:var(--p-surface-50)}@supports (color:color-mix(in lab, red, red)){.bg-surface-50{background-color:color-mix(in srgb,var(--p-surface-50)calc(100%*1),transparent)}}.bg-surface-100{background-color:var(--p-surface-100)}@supports (color:color-mix(in lab, red, red)){.bg-surface-100{background-color:color-mix(in srgb,var(--p-surface-100)calc(100%*1),transparent)}}.bg-surface-400\/50{background-color:var(--p-surface-400)}@supports (color:color-mix(in lab, red, red)){.bg-surface-400\/50{background-color:color-mix(in oklab,color-mix(in srgb,var(--p-surface-400)calc(100%*1),transparent)50%,transparent)}}.bg-white{background-color:var(--color-white)}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.px-0{padding-inline:calc(var(--spacing)*0)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-5{padding-block:calc(var(--spacing)*5)}.pt-0{padding-top:calc(var(--spacing)*0)}.text-center{text-align:center}.text-end\!{text-align:end!important}.text-right{text-align:right}.text-start{text-align:start}.align-middle{vertical-align:middle}.align-super\!{vertical-align:super!important}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-2xl\!{font-size:var(--text-2xl)!important;line-height:var(--tw-leading,var(--text-2xl--line-height))!important}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl\!{font-size:var(--text-4xl)!important;line-height:var(--tw-leading,var(--text-4xl--line-height))!important}.text-8xl{font-size:var(--text-8xl);line-height:var(--tw-leading,var(--text-8xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.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-\[\.95rem\]{font-size:.95rem}.leading-none{--tw-leading:1;line-height:1}.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)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-blue-600{color:var(--color-blue-600)}.text-gray-400{color:var(--color-gray-400)}.text-gray-400\!{color:var(--color-gray-400)!important}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-900{color:var(--color-gray-900)}.text-green-600{color:var(--color-green-600)}.text-muted-color{color:var(--p-text-muted-color)}.text-primary-300{color:var(--p-primary-300)}@supports (color:color-mix(in lab, red, red)){.text-primary-300{color:color-mix(in srgb,var(--p-primary-300)calc(100%*1),transparent)}}.text-primary-400{color:var(--p-primary-400)}@supports (color:color-mix(in lab, red, red)){.text-primary-400{color:color-mix(in srgb,var(--p-primary-400)calc(100%*1),transparent)}}.text-primary-700{color:var(--p-primary-700)}@supports (color:color-mix(in lab, red, red)){.text-primary-700{color:color-mix(in srgb,var(--p-primary-700)calc(100%*1),transparent)}}.text-purple-600{color:var(--color-purple-600)}.text-red-600{color:var(--color-red-600)}.text-surface-500{color:var(--p-surface-500)}@supports (color:color-mix(in lab, red, red)){.text-surface-500{color:color-mix(in srgb,var(--p-surface-500)calc(100%*1),transparent)}}.text-yellow-600{color:var(--color-yellow-600)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-50{opacity:.5}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px 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)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-black{--tw-ring-color:var(--color-black)}.ring-primary-200{--tw-ring-color:var(--p-primary-200)}@supports (color:color-mix(in lab, red, red)){.ring-primary-200{--tw-ring-color:color-mix(in srgb,var(--p-primary-200)calc(100%*1),transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.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))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}@media (hover:hover){.hover\:border-\(--p-inputtext-hover-border-color\)\!:hover{border-color:var(--p-inputtext-hover-border-color)!important}.hover\:border-gray-400:hover{border-color:var(--color-gray-400)}.hover\:bg-blue-50:hover{background-color:var(--color-blue-50)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-green-50:hover{background-color:var(--color-green-50)}.hover\:bg-purple-50:hover{background-color:var(--color-purple-50)}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-yellow-50:hover{background-color:var(--color-yellow-50)}.hover\:text-blue-700:hover{color:var(--color-blue-700)}.hover\:text-gray-600:hover{color:var(--color-gray-600)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}.hover\:text-green-700:hover{color:var(--color-green-700)}.hover\:text-purple-700:hover{color:var(--color-purple-700)}.hover\:text-red-700:hover{color:var(--color-red-700)}.hover\:text-yellow-700:hover{color:var(--color-yellow-700)}.hover\:opacity-100:hover{opacity:1}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}@container (min-width:28rem){.\@md\:col-span-3{grid-column:span 3/span 3}}@container (min-width:42rem){.\@2xl\:col-span-2{grid-column:span 2/span 2}}.dark\:border-surface-500:where(.dark,.dark *){border-color:var(--p-surface-500)}@supports (color:color-mix(in lab, red, red)){.dark\:border-surface-500:where(.dark,.dark *){border-color:color-mix(in srgb,var(--p-surface-500)calc(100%*1),transparent)}}.dark\:bg-primary-800:where(.dark,.dark *){background-color:var(--p-primary-800)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-primary-800:where(.dark,.dark *){background-color:color-mix(in srgb,var(--p-primary-800)calc(100%*1),transparent)}}.dark\:bg-primary-900\/20:where(.dark,.dark *){background-color:var(--p-primary-900)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-primary-900\/20:where(.dark,.dark *){background-color:color-mix(in oklab,color-mix(in srgb,var(--p-primary-900)calc(100%*1),transparent)20%,transparent)}}.dark\:bg-surface-950:where(.dark,.dark *){background-color:var(--p-surface-950)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-surface-950:where(.dark,.dark *){background-color:color-mix(in srgb,var(--p-surface-950)calc(100%*1),transparent)}}.dark\:text-gray-50:where(.dark,.dark *){color:var(--color-gray-50)}.dark\:text-gray-100:where(.dark,.dark *){color:var(--color-gray-100)}.dark\:text-gray-300:where(.dark,.dark *){color:var(--color-gray-300)}.dark\:text-primary-300:where(.dark,.dark *){color:var(--p-primary-300)}@supports (color:color-mix(in lab, red, red)){.dark\:text-primary-300:where(.dark,.dark *){color:color-mix(in srgb,var(--p-primary-300)calc(100%*1),transparent)}}@media (hover:hover){.dark\:hover\:bg-gray-800:where(.dark,.dark *):hover{background-color:var(--color-gray-800)}.dark\:hover\:bg-surface-950:where(.dark,.dark *):hover{background-color:var(--p-surface-950)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-surface-950:where(.dark,.dark *):hover{background-color:color-mix(in srgb,var(--p-surface-950)calc(100%*1),transparent)}}.dark\:hover\:text-gray-100:where(.dark,.dark *):hover{color:var(--color-gray-100)}}}:root{--app-background-light:var(--p-surface-100);--app-background-dark:var(--p-surface-950);--app-background:var(--app-background-light)}:root[class=dark]{--app-background:var(--app-background-dark)}body{background-color:var(--app-background);color:var(--p-text-color)}.mt-dialog .p-dialog-header{background-color:var(--p-surface-100);border-radius:.75rem .75rem 0 0;padding:1rem 1.25rem}.mt-dialog .p-dialog-header .p-dialog-header-actions .p-dialog-close-button{background-color:#fff;border-radius:.3rem;justify-content:center;width:2rem;height:2rem}.mt-dialog .p-dialog-content{border-radius:.8rem;height:100%;overflow-y:hidden}.mt-dialog .p-dialog-content .mt-modal-content{height:100%;padding-bottom:5rem;overflow:auto}.mt-dialog .p-dialog-content .mt-modal-footer{background-color:var(--p-surface-100);justify-content:end;gap:10px;padding:.8rem 1.25rem;display:flex;position:sticky;bottom:0}.mt-drawer .p-drawer-content .mt-modal-content{height:calc(100% - 60px);overflow:auto}.mt-drawer .p-drawer-content .mt-modal-footer{border-top:1px solid var(--p-surface-200);justify-content:flex-end;gap:.5rem;height:15rem;padding:.75rem;display:flex}.mt-custom-drawer .p-drawer-header,.mt-custom-drawer .p-drawer-content,.mt-custom-drawer .p-drawer-footer,.mt-drawer .p-drawer-header,.mt-drawer .p-drawer-content,.mt-drawer .p-drawer-footer{padding:0}.mt-drawer .p-drawer-content,body:has(:is(.p-dialog-mask.p-overlay-mask,.p-drawer-mask.p-overlay-mask)){overflow:hidden}@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-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{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}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Confirmation } from 'primeng/api';
|
|
3
|
+
|
|
4
|
+
interface ButtonConfig {
|
|
5
|
+
severity?: string | undefined;
|
|
6
|
+
variant?: string | undefined;
|
|
7
|
+
}
|
|
8
|
+
interface BaseConfirmationConfig extends Confirmation {
|
|
9
|
+
draggable?: boolean;
|
|
10
|
+
acceptButton?: ButtonConfig;
|
|
11
|
+
rejectButton?: ButtonConfig;
|
|
12
|
+
}
|
|
13
|
+
interface DialogConfirmationConfig extends BaseConfirmationConfig {
|
|
14
|
+
type?: 'dialog' | undefined;
|
|
15
|
+
event?: Event;
|
|
16
|
+
}
|
|
17
|
+
interface PopupConfirmationConfig extends BaseConfirmationConfig {
|
|
18
|
+
type: 'popup';
|
|
19
|
+
event: Event;
|
|
20
|
+
}
|
|
21
|
+
type ConfirmationConfig = DialogConfirmationConfig | PopupConfirmationConfig;
|
|
22
|
+
declare class ConfirmationService {
|
|
23
|
+
private confirmationService;
|
|
24
|
+
private defaultConfig;
|
|
25
|
+
popupKey: i0.WritableSignal<string | undefined>;
|
|
26
|
+
confirm(config: ConfirmationConfig): void;
|
|
27
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ConfirmationService, never>;
|
|
28
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ConfirmationService>;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
declare class ConfirmationDialog {
|
|
32
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ConfirmationDialog, never>;
|
|
33
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ConfirmationDialog, "mt-confirmation-dialog", never, {}, {}, never, never, true, never>;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export { ConfirmationDialog, ConfirmationService };
|
|
37
|
+
export type { ConfirmationConfig };
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { inject, signal, Injectable, Component } from '@angular/core';
|
|
3
|
+
import { ConfirmationService as ConfirmationService$1 } from 'primeng/api';
|
|
4
|
+
import * as i1 from '@angular/common';
|
|
5
|
+
import { CommonModule } from '@angular/common';
|
|
6
|
+
import { ConfirmDialog } from 'primeng/confirmdialog';
|
|
7
|
+
import { Button } from '@masterteam/components/button';
|
|
8
|
+
import { Icon } from '@masterteam/icons';
|
|
9
|
+
import { ConfirmPopup } from 'primeng/confirmpopup';
|
|
10
|
+
|
|
11
|
+
class ConfirmationService {
|
|
12
|
+
confirmationService = inject(ConfirmationService$1);
|
|
13
|
+
defaultConfig = {
|
|
14
|
+
header: 'Confirmation',
|
|
15
|
+
message: 'Are You Sure?',
|
|
16
|
+
icon: 'alert.alert-triangle',
|
|
17
|
+
acceptLabel: 'Yes',
|
|
18
|
+
rejectLabel: 'Cancel',
|
|
19
|
+
acceptButton: {
|
|
20
|
+
severity: 'primary',
|
|
21
|
+
variant: undefined,
|
|
22
|
+
},
|
|
23
|
+
rejectButton: {
|
|
24
|
+
severity: 'secondary',
|
|
25
|
+
variant: 'text',
|
|
26
|
+
},
|
|
27
|
+
position: 'center',
|
|
28
|
+
type: 'dialog',
|
|
29
|
+
closeOnEscape: true,
|
|
30
|
+
dismissableMask: true,
|
|
31
|
+
draggable: false,
|
|
32
|
+
};
|
|
33
|
+
popupKey = signal('', ...(ngDevMode ? [{ debugName: "popupKey" }] : []));
|
|
34
|
+
confirm(config) {
|
|
35
|
+
this.popupKey.update((prev) => config.type === 'popup'
|
|
36
|
+
? prev === 'popup1'
|
|
37
|
+
? 'popup2'
|
|
38
|
+
: 'popup1'
|
|
39
|
+
: config.type);
|
|
40
|
+
this.confirmationService.close();
|
|
41
|
+
const mergedConfig = {
|
|
42
|
+
...this.defaultConfig,
|
|
43
|
+
...config,
|
|
44
|
+
target: config?.event?.target,
|
|
45
|
+
key: this.popupKey(),
|
|
46
|
+
};
|
|
47
|
+
this.confirmationService.confirm(mergedConfig);
|
|
48
|
+
}
|
|
49
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ConfirmationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
50
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ConfirmationService, providedIn: 'root' });
|
|
51
|
+
}
|
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ConfirmationService, decorators: [{
|
|
53
|
+
type: Injectable,
|
|
54
|
+
args: [{ providedIn: 'root' }]
|
|
55
|
+
}] });
|
|
56
|
+
|
|
57
|
+
class ConfirmationDialog {
|
|
58
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ConfirmationDialog, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
59
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: ConfirmationDialog, isStandalone: true, selector: "mt-confirmation-dialog", ngImport: i0, template: "<ng-template #popupTemplate let-key=\"key\">\n <p-confirmpopup #cp [key]=\"key\">\n <ng-template #headless let-data>\n <div class=\"flex items-center gap-2 p-3 min-w-100\">\n <div class=\"text-3xl mb-2\">\n <mt-icon [icon]=\"data.icon\"></mt-icon>\n </div>\n <div>{{ data.message }}</div>\n </div>\n\n <div class=\"flex items-center justify-end gap-2 p-3 pt-0\">\n <mt-button\n [label]=\"data.acceptLabel\"\n [styleClass]=\"data.acceptButtonStyleClass\"\n [severity]=\"data.acceptButton.severity\"\n [variant]=\"data.acceptButton.variant\"\n size=\"small\"\n (onClick)=\"cp.onAccept()\"\n ></mt-button>\n <mt-button\n [label]=\"data.rejectLabel\"\n [severity]=\"data.rejectButton.severity\"\n [variant]=\"data.rejectButton.variant\"\n size=\"small\"\n (onClick)=\"cp.onReject()\"\n ></mt-button>\n </div>\n </ng-template>\n </p-confirmpopup>\n</ng-template>\n\n<ng-container\n *ngTemplateOutlet=\"popupTemplate; context: { key: 'popup1' }\"\n></ng-container>\n<ng-container\n *ngTemplateOutlet=\"popupTemplate; context: { key: 'popup2' }\"\n></ng-container>\n\n<p-confirmdialog [key]=\"'dialog'\">\n <ng-template\n #headless\n let-data\n let-onAccept=\"onAccept\"\n let-onReject=\"onReject\"\n >\n <div\n class=\"flex items-center justify-between bg-surface-100 rounded-t-xl px-4 py-2\"\n >\n <div class=\"text-xl font-semibold\">{{ data.header }}</div>\n <mt-button\n [icon]=\"'general.x-close'\"\n variant=\"text\"\n severity=\"secondary\"\n styleClass=\"text-8xl\"\n size=\"large\"\n (onClick)=\"onReject()\"\n ></mt-button>\n </div>\n\n <div class=\"flex items-center gap-2 p-4 min-w-100\">\n <div class=\"text-3xl mb-2\">\n <mt-icon [icon]=\"data.icon\"></mt-icon>\n </div>\n <div>{{ data.message }}</div>\n </div>\n\n <div class=\"flex items-center justify-end gap-2 mt-2 p-4\">\n <mt-button\n [label]=\"data.acceptLabel\"\n [styleClass]=\"data.acceptButtonStyleClass\"\n [severity]=\"data.acceptButton.severity\"\n [variant]=\"data.acceptButton.variant\"\n (onClick)=\"onAccept()\"\n ></mt-button>\n <mt-button\n [label]=\"data.rejectLabel\"\n [severity]=\"data.rejectButton.severity\"\n [variant]=\"data.rejectButton.variant\"\n (onClick)=\"onReject()\"\n ></mt-button>\n </div>\n </ng-template>\n</p-confirmdialog>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ConfirmDialog, selector: "p-confirmDialog, p-confirmdialog, p-confirm-dialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "visible", "position", "draggable"], outputs: ["onHide"] }, { 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: "component", type: ConfirmPopup, selector: "p-confirmpopup", inputs: ["key", "defaultFocus", "showTransitionOptions", "hideTransitionOptions", "autoZIndex", "baseZIndex", "style", "styleClass", "visible"] }] });
|
|
60
|
+
}
|
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: ConfirmationDialog, decorators: [{
|
|
62
|
+
type: Component,
|
|
63
|
+
args: [{ selector: 'mt-confirmation-dialog', standalone: true, imports: [CommonModule, ConfirmDialog, Button, Icon, ConfirmPopup], template: "<ng-template #popupTemplate let-key=\"key\">\n <p-confirmpopup #cp [key]=\"key\">\n <ng-template #headless let-data>\n <div class=\"flex items-center gap-2 p-3 min-w-100\">\n <div class=\"text-3xl mb-2\">\n <mt-icon [icon]=\"data.icon\"></mt-icon>\n </div>\n <div>{{ data.message }}</div>\n </div>\n\n <div class=\"flex items-center justify-end gap-2 p-3 pt-0\">\n <mt-button\n [label]=\"data.acceptLabel\"\n [styleClass]=\"data.acceptButtonStyleClass\"\n [severity]=\"data.acceptButton.severity\"\n [variant]=\"data.acceptButton.variant\"\n size=\"small\"\n (onClick)=\"cp.onAccept()\"\n ></mt-button>\n <mt-button\n [label]=\"data.rejectLabel\"\n [severity]=\"data.rejectButton.severity\"\n [variant]=\"data.rejectButton.variant\"\n size=\"small\"\n (onClick)=\"cp.onReject()\"\n ></mt-button>\n </div>\n </ng-template>\n </p-confirmpopup>\n</ng-template>\n\n<ng-container\n *ngTemplateOutlet=\"popupTemplate; context: { key: 'popup1' }\"\n></ng-container>\n<ng-container\n *ngTemplateOutlet=\"popupTemplate; context: { key: 'popup2' }\"\n></ng-container>\n\n<p-confirmdialog [key]=\"'dialog'\">\n <ng-template\n #headless\n let-data\n let-onAccept=\"onAccept\"\n let-onReject=\"onReject\"\n >\n <div\n class=\"flex items-center justify-between bg-surface-100 rounded-t-xl px-4 py-2\"\n >\n <div class=\"text-xl font-semibold\">{{ data.header }}</div>\n <mt-button\n [icon]=\"'general.x-close'\"\n variant=\"text\"\n severity=\"secondary\"\n styleClass=\"text-8xl\"\n size=\"large\"\n (onClick)=\"onReject()\"\n ></mt-button>\n </div>\n\n <div class=\"flex items-center gap-2 p-4 min-w-100\">\n <div class=\"text-3xl mb-2\">\n <mt-icon [icon]=\"data.icon\"></mt-icon>\n </div>\n <div>{{ data.message }}</div>\n </div>\n\n <div class=\"flex items-center justify-end gap-2 mt-2 p-4\">\n <mt-button\n [label]=\"data.acceptLabel\"\n [styleClass]=\"data.acceptButtonStyleClass\"\n [severity]=\"data.acceptButton.severity\"\n [variant]=\"data.acceptButton.variant\"\n (onClick)=\"onAccept()\"\n ></mt-button>\n <mt-button\n [label]=\"data.rejectLabel\"\n [severity]=\"data.rejectButton.severity\"\n [variant]=\"data.rejectButton.variant\"\n (onClick)=\"onReject()\"\n ></mt-button>\n </div>\n </ng-template>\n</p-confirmdialog>\n" }]
|
|
64
|
+
}] });
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Generated bundle index. Do not edit.
|
|
68
|
+
*/
|
|
69
|
+
|
|
70
|
+
export { ConfirmationDialog, ConfirmationService };
|
|
71
|
+
//# sourceMappingURL=masterteam-components-confirmation.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"masterteam-components-confirmation.mjs","sources":["../../../../packages/masterteam/components/confirmation/confirmation.ts","../../../../packages/masterteam/components/confirmation/confirmation-dialog.ts","../../../../packages/masterteam/components/confirmation/confirmation-dialog.html","../../../../packages/masterteam/components/confirmation/masterteam-components-confirmation.ts"],"sourcesContent":["import { inject, Injectable, signal } from '@angular/core';\nimport {\n ConfirmationService as PNConfirmationService,\n Confirmation,\n} from 'primeng/api';\n\ninterface ButtonConfig {\n severity?: string | undefined;\n variant?: string | undefined;\n}\ninterface BaseConfirmationConfig extends Confirmation {\n draggable?: boolean;\n acceptButton?: ButtonConfig;\n rejectButton?: ButtonConfig;\n}\n\ninterface DialogConfirmationConfig extends BaseConfirmationConfig {\n type?: 'dialog' | undefined;\n event?: Event;\n}\n\ninterface PopupConfirmationConfig extends BaseConfirmationConfig {\n type: 'popup';\n event: Event;\n}\n\nexport type ConfirmationConfig =\n | DialogConfirmationConfig\n | PopupConfirmationConfig;\n\n@Injectable({ providedIn: 'root' })\nexport class ConfirmationService {\n private confirmationService = inject(PNConfirmationService);\n private defaultConfig: ConfirmationConfig = {\n header: 'Confirmation',\n message: 'Are You Sure?',\n icon: 'alert.alert-triangle',\n acceptLabel: 'Yes',\n rejectLabel: 'Cancel',\n acceptButton: {\n severity: 'primary',\n variant: undefined,\n },\n rejectButton: {\n severity: 'secondary',\n variant: 'text',\n },\n position: 'center',\n type: 'dialog',\n closeOnEscape: true,\n dismissableMask: true,\n draggable: false,\n };\n popupKey = signal<string | undefined>('');\n confirm(config: ConfirmationConfig): void {\n this.popupKey.update((prev) =>\n config.type === 'popup'\n ? prev === 'popup1'\n ? 'popup2'\n : 'popup1'\n : config.type,\n );\n this.confirmationService.close();\n const mergedConfig: Confirmation = {\n ...this.defaultConfig,\n ...config,\n target: config?.event?.target as EventTarget,\n key: this.popupKey(),\n };\n\n this.confirmationService.confirm(mergedConfig);\n }\n}\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ConfirmDialog } from 'primeng/confirmdialog';\nimport { Button } from '@masterteam/components/button';\nimport { Icon } from '@masterteam/icons';\nimport { ConfirmPopup } from 'primeng/confirmpopup';\n\n@Component({\n selector: 'mt-confirmation-dialog',\n standalone: true,\n imports: [CommonModule, ConfirmDialog, Button, Icon, ConfirmPopup],\n templateUrl: './confirmation-dialog.html',\n styleUrl: './confirmation-dialog.scss',\n})\nexport class ConfirmationDialog {}\n","<ng-template #popupTemplate let-key=\"key\">\n <p-confirmpopup #cp [key]=\"key\">\n <ng-template #headless let-data>\n <div class=\"flex items-center gap-2 p-3 min-w-100\">\n <div class=\"text-3xl mb-2\">\n <mt-icon [icon]=\"data.icon\"></mt-icon>\n </div>\n <div>{{ data.message }}</div>\n </div>\n\n <div class=\"flex items-center justify-end gap-2 p-3 pt-0\">\n <mt-button\n [label]=\"data.acceptLabel\"\n [styleClass]=\"data.acceptButtonStyleClass\"\n [severity]=\"data.acceptButton.severity\"\n [variant]=\"data.acceptButton.variant\"\n size=\"small\"\n (onClick)=\"cp.onAccept()\"\n ></mt-button>\n <mt-button\n [label]=\"data.rejectLabel\"\n [severity]=\"data.rejectButton.severity\"\n [variant]=\"data.rejectButton.variant\"\n size=\"small\"\n (onClick)=\"cp.onReject()\"\n ></mt-button>\n </div>\n </ng-template>\n </p-confirmpopup>\n</ng-template>\n\n<ng-container\n *ngTemplateOutlet=\"popupTemplate; context: { key: 'popup1' }\"\n></ng-container>\n<ng-container\n *ngTemplateOutlet=\"popupTemplate; context: { key: 'popup2' }\"\n></ng-container>\n\n<p-confirmdialog [key]=\"'dialog'\">\n <ng-template\n #headless\n let-data\n let-onAccept=\"onAccept\"\n let-onReject=\"onReject\"\n >\n <div\n class=\"flex items-center justify-between bg-surface-100 rounded-t-xl px-4 py-2\"\n >\n <div class=\"text-xl font-semibold\">{{ data.header }}</div>\n <mt-button\n [icon]=\"'general.x-close'\"\n variant=\"text\"\n severity=\"secondary\"\n styleClass=\"text-8xl\"\n size=\"large\"\n (onClick)=\"onReject()\"\n ></mt-button>\n </div>\n\n <div class=\"flex items-center gap-2 p-4 min-w-100\">\n <div class=\"text-3xl mb-2\">\n <mt-icon [icon]=\"data.icon\"></mt-icon>\n </div>\n <div>{{ data.message }}</div>\n </div>\n\n <div class=\"flex items-center justify-end gap-2 mt-2 p-4\">\n <mt-button\n [label]=\"data.acceptLabel\"\n [styleClass]=\"data.acceptButtonStyleClass\"\n [severity]=\"data.acceptButton.severity\"\n [variant]=\"data.acceptButton.variant\"\n (onClick)=\"onAccept()\"\n ></mt-button>\n <mt-button\n [label]=\"data.rejectLabel\"\n [severity]=\"data.rejectButton.severity\"\n [variant]=\"data.rejectButton.variant\"\n (onClick)=\"onReject()\"\n ></mt-button>\n </div>\n </ng-template>\n</p-confirmdialog>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["PNConfirmationService"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { providePrimeNG } from 'primeng/config';
|
|
2
2
|
import Aura from '@primeuix/themes/aura';
|
|
3
3
|
import { updatePreset, definePreset } from '@primeuix/themes';
|
|
4
|
-
import { MessageService } from 'primeng/api';
|
|
4
|
+
import { MessageService, ConfirmationService } from 'primeng/api';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Converts a hex color string to an HSL tuple.
|
|
@@ -444,6 +444,10 @@ function provideMTMessages() {
|
|
|
444
444
|
return MessageService;
|
|
445
445
|
}
|
|
446
446
|
|
|
447
|
+
function provideMTConfirmation() {
|
|
448
|
+
return ConfirmationService;
|
|
449
|
+
}
|
|
450
|
+
|
|
447
451
|
function isInvalid(control) {
|
|
448
452
|
if (!control)
|
|
449
453
|
return false;
|
|
@@ -905,5 +909,5 @@ function wrapValidatorWithMessage(validator, errorKey, message) {
|
|
|
905
909
|
* Generated bundle index. Do not edit.
|
|
906
910
|
*/
|
|
907
911
|
|
|
908
|
-
export { BaseFieldConfig, CheckboxFieldConfig, ColorPickerFieldConfig, DateFieldConfig, EditorFieldConfig, IconFieldConfig, MultiSelectFieldConfig, NumberFieldConfig, PickListFieldConfig, RadioButtonFieldConfig, RadioCardsFieldConfig, SelectFieldConfig, SliderFieldConfig, SpacerFieldConfig, TextFieldConfig, TextareaFieldConfig, ToggleFieldConfig, UploadFileFieldConfig, UserSearchFieldConfig, ValidatorConfig, changeBackgroundColor, changePrimaryColor, changeTextColor, createCustomValidator, generateTailwindPalette, isInvalid, provideMTComponents, provideMTMessages, wrapValidatorWithMessage };
|
|
912
|
+
export { BaseFieldConfig, CheckboxFieldConfig, ColorPickerFieldConfig, DateFieldConfig, EditorFieldConfig, IconFieldConfig, MultiSelectFieldConfig, NumberFieldConfig, PickListFieldConfig, RadioButtonFieldConfig, RadioCardsFieldConfig, SelectFieldConfig, SliderFieldConfig, SpacerFieldConfig, TextFieldConfig, TextareaFieldConfig, ToggleFieldConfig, UploadFileFieldConfig, UserSearchFieldConfig, ValidatorConfig, changeBackgroundColor, changePrimaryColor, changeTextColor, createCustomValidator, generateTailwindPalette, isInvalid, provideMTComponents, provideMTConfirmation, provideMTMessages, wrapValidatorWithMessage };
|
|
909
913
|
//# sourceMappingURL=masterteam-components.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"masterteam-components.mjs","sources":["../../../../packages/masterteam/components/src/lib/utils/theme.ts","../../../../packages/masterteam/components/src/lib/config/providemt.ts","../../../../packages/masterteam/components/src/lib/config/povide-messages.ts","../../../../packages/masterteam/components/src/lib/utils/inputs.ts","../../../../packages/masterteam/components/src/lib/config/dynamic-form.model.ts","../../../../packages/masterteam/components/src/public-api.ts","../../../../packages/masterteam/components/src/masterteam-components.ts"],"sourcesContent":["type HSLTuple = [number, number, number]; // [hue, saturation, lightness]\ntype TailwindColorPalette = {\n [key: string]: string; // e.g., '50': '#f0f9ff', '500': '#0284c7'\n};\n\n/**\n * Converts a hex color string to an HSL tuple.\n * @param hex - The hex color string (e.g., \"#RRGGBB\" or \"#RGB\").\n * @returns An HSL tuple [hue, saturation, lightness] where hue is in degrees (0-360),\n * and saturation/lightness are percentages (0-100).\n */\nfunction hexToHsl(hex: string): HSLTuple {\n let r: number = 0,\n g: number = 0,\n b: number = 0;\n\n // Handle shorthand hex codes\n if (hex.length === 4) {\n r = parseInt(hex[1] + hex[1], 16);\n g = parseInt(hex[2] + hex[2], 16);\n b = parseInt(hex[3] + hex[3], 16);\n } else if (hex.length === 7) {\n r = parseInt(hex.substring(1, 3), 16);\n g = parseInt(hex.substring(3, 5), 16);\n b = parseInt(hex.substring(5, 7), 16);\n } else {\n throw new Error('Invalid hex color format. Expected #RGB or #RRGGBB.');\n }\n\n r /= 255;\n g /= 255;\n b /= 255;\n\n const max: number = Math.max(r, g, b);\n const min: number = Math.min(r, g, b);\n let h: number = 0,\n s: number;\n const l: number = (max + min) / 2;\n\n if (max === min) {\n h = s = 0; // achromatic\n } else {\n const d: number = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n\n return [h * 360, s * 100, l * 100]; // HSL in degrees, percentage, percentage\n}\n\n/**\n * Converts HSL values to a hex color string.\n * @param h - Hue (0-360).\n * @param s - Saturation (0-100).\n * @param l - Lightness (0-100).\n * @returns The hex color string (e.g., \"#RRGGBB\").\n */\nfunction hslToHex(h: number, s: number, l: number): string {\n l /= 100;\n const a: number = (s * Math.min(l, 1 - l)) / 100;\n const f = (n: number): string => {\n const k: number = (n + h / 30) % 12;\n const color: number = l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n return Math.round(255 * color)\n .toString(16)\n .padStart(2, '0');\n };\n return `#${f(0)}${f(8)}${f(4)}`;\n}\n\n/**\n * Generates a Tailwind-like color palette (50-950) from a primary color (assumed to be 500).\n *\n * @param primaryColor500 - The hex string of the primary color (e.g., \"#0284c7\").\n * @returns An object representing the color palette, where keys are color numbers (e.g., \"50\", \"100\")\n * and values are hex color strings.\n */\n// export function generateTailwindPalette(\n// primaryColor500: string,\n// ): TailwindColorPalette {\n// const [h, s, _l]: HSLTuple = hexToHsl(primaryColor500);\n//\n// const palette: TailwindColorPalette = {\n// '500': primaryColor500,\n// };\n//\n// // Define steps for lighter shades (50 - 400)\n// const lightnessStepsLighter: { [key: string]: number } = {\n// '50': 95,\n// '100': 90,\n// '200': 80,\n// '300': 70,\n// '400': 60,\n// };\n//\n// const saturationReductionsLighter: { [key: string]: number } = {\n// '50': 40, // More desaturated\n// '100': 30,\n// '200': 20,\n// '300': 10,\n// '400': 5, // Slightly desaturated\n// };\n//\n// for (const shade in lightnessStepsLighter) {\n// if (Object.prototype.hasOwnProperty.call(lightnessStepsLighter, shade)) {\n// const newL: number = lightnessStepsLighter[shade];\n// // Ensure saturation doesn't go below 0\n// const newS: number = Math.max(0, s - saturationReductionsLighter[shade]);\n// palette[shade] = hslToHex(h, newS, newL);\n// }\n// }\n//\n// // Define steps for darker shades (600 - 950)\n// const lightnessStepsDarker: { [key: string]: number } = {\n// '600': 45,\n// '700': 35,\n// '800': 25,\n// '900': 15,\n// '950': 8, // More aggressive darkening for 950\n// };\n//\n// const saturationIncreasesDarker: { [key: string]: number } = {\n// '600': 5,\n// '700': 10,\n// '800': 15,\n// '900': 20,\n// '950': 25, // Can increase saturation for darker shades\n// };\n//\n// for (const shade in lightnessStepsDarker) {\n// if (Object.prototype.hasOwnProperty.call(lightnessStepsDarker, shade)) {\n// const newL: number = lightnessStepsDarker[shade];\n// // Ensure saturation doesn't exceed 100\n// const newS: number = Math.min(100, s + saturationIncreasesDarker[shade]);\n// palette[shade] = hslToHex(h, newS, newL);\n// }\n// }\n//\n// // Sort the keys numerically to ensure consistent order\n// const sortedPalette: TailwindColorPalette = {};\n// Object.keys(palette)\n// .sort((a, b) => parseInt(a) - parseInt(b))\n// .forEach((key: string) => {\n// sortedPalette[key] = palette[key];\n// });\n//\n// return sortedPalette;\n// }\n\n// Define the specific shade keys\nexport type PaletteShade =\n | '0'\n | '50'\n | '100'\n | '200'\n | '300'\n | '400'\n | '500'\n | '600'\n | '700'\n | '800'\n | '900'\n | '950';\n\n// A helper type for our new palette profile\ntype ShadeProfile = {\n /** Target lightness (0-100) */\n l: number;\n /** Saturation adjustment relative to the 500 shade */\n s_adjust: number;\n};\n\n/**\n * Defines the \"ideal\" lightness and saturation adjustment for each shade.\n * Lightness for 500 is set to 50 as a balanced default.\n */\nconst PALETTE_PROFILE: Record<PaletteShade, ShadeProfile> = {\n '0': { l: 98, s_adjust: -50 },\n '50': { l: 95, s_adjust: -40 },\n '100': { l: 90, s_adjust: -30 },\n '200': { l: 80, s_adjust: -20 },\n '300': { l: 70, s_adjust: -10 },\n '400': { l: 60, s_adjust: -5 },\n '500': { l: 50, s_adjust: 0 },\n '600': { l: 45, s_adjust: 5 },\n '700': { l: 35, s_adjust: 10 },\n '800': { l: 25, s_adjust: 15 },\n '900': { l: 15, s_adjust: 20 },\n '950': { l: 8, s_adjust: 25 },\n};\n\n// Helper to ensure palette is always in the correct 50-950 order\nconst ALL_SHADES: PaletteShade[] = [\n '0',\n '50',\n '100',\n '200',\n '300',\n '400',\n '500',\n '600',\n '700',\n '800',\n '900',\n '950',\n];\n\n/**\n * Clamps a number between a min and max value.\n */\nfunction clamp(value: number, min: number, max: number): number {\n return Math.max(min, Math.min(max, value));\n}\n\n/**\n * Generates a Tailwind-like color palette (50-950) from any given base color.\n *\n * @param baseColorHex - The hex string of the base color (e.g., \"#0284c7\").\n * @param baseColorShade - The shade of the base color (e.g., \"500\", \"700\").\n * @returns An object representing the full color palette.\n */\nexport function generateTailwindPalette(\n baseColorHex: string,\n baseColorShade: PaletteShade = '500',\n): TailwindColorPalette {\n // 1. Get HSL of the input color\n const [h_base, s_base, l_base]: HSLTuple = hexToHsl(baseColorHex);\n\n // 2. Find the anchors\n const baseProfile = PALETTE_PROFILE[baseColorShade];\n\n /** The Hue is constant across the entire palette. */\n const h = h_base;\n\n /**\n * Calculate the 500-shade's saturation by \"reversing\" the adjustment\n * from the base color.\n * e.g., if base is 700 (s_adjust: +10) and s_base is 80,\n * s_500 will be 70.\n */\n const s_500 = clamp(s_base - baseProfile.s_adjust, 0, 100);\n\n /**\n * Calculate the lightness \"offset\". This is the difference between\n * the base color's actual lightness and its \"ideal\" lightness\n * from the profile.\n * e.g., if base is 700 (ideal L: 35) and l_base is 38,\n * the offset is +3. This offset will be applied to all shades.\n */\n const l_offset = l_base - baseProfile.l;\n\n // 3. Generate the full palette\n const palette: Partial<TailwindColorPalette> = {};\n\n for (const shade of ALL_SHADES) {\n const profile = PALETTE_PROFILE[shade];\n\n // Calculate the new saturation and lightness for this shade\n const newS = clamp(s_500 + profile.s_adjust, 0, 100);\n const newL = clamp(profile.l + l_offset, 0, 100);\n\n palette[shade] = hslToHex(h, newS, newL);\n }\n\n // 4. Ensure the originally provided color is used exactly\n // (to avoid rounding errors from HSL conversion)\n palette[baseColorShade] = baseColorHex;\n\n return palette as TailwindColorPalette;\n}\n","import { providePrimeNG } from 'primeng/config';\nimport { generateTailwindPalette } from '../utils/theme';\nimport Aura from '@primeuix/themes/aura';\nimport { definePreset, updatePreset } from '@primeuix/themes';\nimport { ToastTokenSections } from '@primeuix/themes/types/toast';\nimport { EnvironmentProviders } from '@angular/core';\nimport { Preset } from '@primeuix/themes/types';\nimport { AuraBaseDesignTokens } from '@primeuix/themes/aura/base';\n\nexport interface MTThemeOptions {\n primaryColor?: string;\n textColor?: string;\n backgroundColor?: string;\n}\n\nconst toastStyle: ToastTokenSections.Success = {\n // borderColor: '{surface.300}',\n background: '{content.background}',\n // color: '{surface.600}',\n // closeButton: {\n // hoverBackground: '{surface.100}',\n // focusRing: {\n // color: '{surface.600}',\n // },\n // },\n};\n\nexport function changePrimaryColor(color: string): void {\n updatePreset({\n semantic: {\n primary: generateTailwindPalette(color || '#334dff'),\n },\n });\n}\n\nexport function changeBackgroundColor(color?: string): void {\n if (color) {\n const palette = generateTailwindPalette(color, '100');\n console.log('the background palette', palette);\n document.documentElement.style.setProperty(\n '--app-background-light',\n palette['100'],\n );\n document.documentElement.style.setProperty(\n '--app-background-dark',\n palette['950'],\n );\n }\n}\n\nexport function changeTextColor(color: string): void {\n const palette = generateTailwindPalette(color ?? '#334155', '700');\n updatePreset({\n semantic: {\n colorScheme: {\n light: {\n text: {\n color: palette['700'],\n hoverColor: palette['800'],\n hoverMutedColor: palette['600'],\n mutedColor: palette['500'],\n },\n },\n dark: {\n text: {\n color: palette['0'],\n hoverColor: palette['0'],\n hoverMutedColor: palette['300'],\n mutedColor: palette['400'],\n },\n },\n },\n },\n });\n}\n\nconst MTPreset = (themeOptions?: MTThemeOptions) => {\n const textPalette = generateTailwindPalette(\n themeOptions?.textColor ?? '#334155',\n '700',\n );\n const configs: Preset<AuraBaseDesignTokens> = {\n options: {\n prefix: 'mt',\n cssLayer: {\n name: 'primeng',\n order: 'theme, base, primeng',\n },\n },\n semantic: {\n colorScheme: {\n light: {\n text: {\n color: textPalette['700'],\n hoverColor: textPalette['800'],\n hoverMutedColor: textPalette['600'],\n mutedColor: textPalette['500'],\n },\n },\n dark: {\n text: {\n color: textPalette['0'],\n hoverColor: textPalette['0'],\n hoverMutedColor: textPalette['300'],\n mutedColor: textPalette['400'],\n },\n },\n },\n primary: generateTailwindPalette(themeOptions?.primaryColor || '#334dff'),\n content: {\n borderRadius: '{border.radius.lg}',\n },\n formField: {\n borderRadius: '{border.radius.lg}',\n },\n },\n components: {\n dialog: {\n header: {\n padding: '0',\n },\n content: {\n padding: '0',\n },\n footer: {\n padding: '0',\n },\n },\n toast: {\n root: {\n borderRadius: '{border.radius.xl}',\n },\n colorScheme: {\n light: {\n success: toastStyle,\n info: toastStyle,\n warn: toastStyle,\n error: toastStyle,\n secondary: toastStyle,\n },\n dark: {\n success: toastStyle,\n info: toastStyle,\n warn: toastStyle,\n error: toastStyle,\n secondary: toastStyle,\n },\n },\n },\n togglebutton: {\n root: {\n padding: '1px',\n },\n colorScheme: {\n light: {\n root: {\n checkedColor: '{primary.500}',\n },\n },\n dark: {\n root: {\n checkedColor: '{primary.400}',\n },\n },\n },\n },\n selectbutton: {\n root: {\n borderRadius: '{border.radius.lg}',\n },\n },\n\n paginator: {\n root: {\n borderRadius: '{border.radius.lg}',\n padding: '0 .5rem',\n },\n navButton: {\n borderRadius: '0',\n },\n\n colorScheme: {\n light: {\n navButton: {\n color: '{surface.600}',\n hoverBackground: '#fff',\n selectedBackground: '{surface.200}',\n selectedColor: '{surface.600}',\n focusRing: {\n color: '{surface.200}',\n },\n },\n },\n dark: {\n navButton: {\n color: '{surface.200}',\n hoverBackground: 'transparent',\n selectedBackground: 'transparent',\n selectedColor: '#fff',\n focusRing: {\n color: '#fff',\n },\n },\n },\n },\n\n css: () => `\n .p-paginator {\n --p-paginator-gap: 0;\n --p-paginator-nav-button-width: 2.2rem;\n --p-paginator-nav-button-height: 2.2rem;\n width: fit-content;\n border: 1px solid var(--p-surface-200);\n overflow: hidden;\n font-size: .95rem;\n }\n\n .p-paginator-pages button,\n .p-paginator-prev,\n .p-paginator-next {\n border-color: var(--p-surface-200);\n }\n\n .p-paginator-pages button {\n border-style: solid;\n border-width: 0 0 0 1px;\n }\n\n .p-paginator-pages button:first-child {\n border-left: none;\n }\n\n .p-paginator-prev {\n border-right: 1px solid var(--p-surface-200);\n }\n\n .p-paginator-next {\n border-left: 1px solid var(--p-surface-200);\n }\n\n .p-paginator .p-select {\n border: 0;\n background: transparent;\n }\n\n .p-paginator .p-select .p-select-label {\n padding: 0;\n }\n\n /* Dark Mode Styles */\n .dark .p-paginator {\n border-color: var(--p-surface-500);\n }\n\n .dark .p-paginator-pages button,\n .dark .p-paginator-prev,\n .dark .p-paginator-next {\n border-color: var(--p-surface-500);\n }\n\n .dark .p-paginator-prev {\n border-right-color: var(--p-surface-500);\n }\n\n .dark .p-paginator-next {\n border-left-color: var(--p-surface-500);\n }\n `,\n },\n\n toggleswitch: {\n root: {\n width: '2.5rem',\n height: '1.4rem',\n },\n },\n\n // steps: {\n // item: {\n // link: {\n // gap: 'calc(50% + 0.25rem)',\n // },\n // number: {\n // font: {\n // size: '0.9rem',\n // },\n // active: {\n // color: 'white',\n // background: '{primary.500}',\n // border: {\n // color: '{primary.500}',\n // },\n // },\n // },\n // },\n // },\n },\n };\n\n return definePreset(Aura, configs);\n};\n\nexport function provideMTComponents(\n themeOptions?: MTThemeOptions,\n): EnvironmentProviders {\n changeBackgroundColor(themeOptions?.backgroundColor);\n return providePrimeNG({\n zIndex: {\n modal: 1900,\n overlay: 1500,\n menu: 1500,\n tooltip: 1600,\n },\n theme: {\n preset: MTPreset(themeOptions),\n options: {\n darkModeSelector: '.dark',\n },\n },\n });\n}\n","import { MessageService } from 'primeng/api';\n\nexport function provideMTMessages() {\n return MessageService;\n}\n","import { AbstractControl } from '@angular/forms';\n\nexport function isInvalid(control: AbstractControl | null) {\n if (!control) return false;\n return control && control?.invalid && control?.touched;\n}\n","import { HttpContext } from '@angular/common/http';\nimport { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\n\nexport type FieldType =\n | 'text'\n | 'textarea'\n | 'select'\n | 'date'\n | 'number'\n | 'slider'\n | 'multi-select'\n | 'pick-list'\n | 'checkbox'\n | 'icon-field'\n | 'color-picker'\n | 'spacer'\n | string;\n\nexport type ValidatorType =\n | 'required'\n | 'email'\n | 'minLength'\n | 'maxLength'\n | 'min'\n | 'max'\n | 'pattern'\n | 'custom';\n\nexport type FieldRelationAction = 'enable' | 'disable' | 'show' | 'hide';\n\nexport interface FieldRelationConfig {\n key: string;\n value: any;\n action: FieldRelationAction;\n}\n\nexport interface ResponsiveColSpan {\n // Container\n xs?: number; // @xs\n sm?: number; // @sm\n md?: number; // @md\n lg?: number; // @lg\n xl?: number; // @xl\n}\n\nexport class ValidatorConfig {\n type: ValidatorType;\n value?: any;\n message?: string;\n customValidator?: (value: any) => boolean | Promise<boolean>;\n\n constructor(config: {\n type: ValidatorType;\n value?: any;\n message?: string;\n customValidator?: (value: any) => boolean | Promise<boolean>;\n }) {\n this.type = config.type;\n this.value = config.value;\n this.message = config.message;\n this.customValidator = config.customValidator;\n }\n\n // Factory methods for common validators\n static required(message = 'This field is required'): ValidatorConfig {\n return new ValidatorConfig({ type: 'required', message });\n }\n\n static email(message = 'Please enter a valid email'): ValidatorConfig {\n return new ValidatorConfig({ type: 'email', message });\n }\n\n static minLength(length: number, message?: string): ValidatorConfig {\n return new ValidatorConfig({\n type: 'minLength',\n value: length,\n message: message || `Minimum length is ${length} characters`,\n });\n }\n\n static maxLength(length: number, message?: string): ValidatorConfig {\n return new ValidatorConfig({\n type: 'maxLength',\n value: length,\n message: message || `Maximum length is ${length} characters`,\n });\n }\n\n static min(value: number, message?: string): ValidatorConfig {\n return new ValidatorConfig({\n type: 'min',\n value,\n message: message || `Minimum value is ${value}`,\n });\n }\n\n static max(value: number, message?: string): ValidatorConfig {\n return new ValidatorConfig({\n type: 'max',\n value,\n message: message || `Maximum value is ${value}`,\n });\n }\n\n static pattern(pattern: string, message = 'Invalid format'): ValidatorConfig {\n return new ValidatorConfig({ type: 'pattern', value: pattern, message });\n }\n\n static custom(\n validator: (value: any) => boolean | Promise<boolean>,\n message = 'Invalid value',\n ): ValidatorConfig {\n return new ValidatorConfig({\n type: 'custom',\n customValidator: validator,\n message,\n });\n }\n}\n\nexport type BaseFieldConstructorConfig = ConstructorParameters<\n typeof BaseFieldConfig\n>[0];\n\nexport abstract class BaseFieldConfig {\n key: string;\n label: string;\n type: FieldType;\n required: boolean;\n disabled: boolean;\n readonly: boolean;\n hidden: boolean;\n placeholder: string;\n hint: string;\n cssClass: string;\n validators: ValidatorConfig[];\n order: number;\n colSpan: number | ResponsiveColSpan;\n\n defaultValue?: any;\n\n customTemplate: string;\n relations: FieldRelationConfig[];\n\n constructor(config: {\n key?: string;\n label?: string;\n type: FieldType;\n required?: boolean;\n disabled?: boolean;\n readonly?: boolean;\n hidden?: boolean;\n placeholder?: string;\n hint?: string;\n cssClass?: string;\n validators?: ValidatorConfig[];\n order?: number;\n relations?: FieldRelationConfig[];\n colSpan?: number | ResponsiveColSpan;\n }) {\n this.key = config.key || 'Key';\n this.label = config.label || '';\n this.type = config.type;\n this.required = config.required || false;\n this.disabled = config.disabled || false;\n this.readonly = config.readonly || false;\n this.hidden = config.hidden || false;\n this.placeholder = config.placeholder || '';\n this.hint = config.hint || '';\n this.cssClass = config.cssClass || '';\n this.validators = config.validators || [];\n this.order = config.order || 0;\n this.relations = config.relations || [];\n this.colSpan = config.colSpan || 12;\n }\n}\n\n// Specific configurations for different field types\nexport class TextFieldConfig extends BaseFieldConfig {\n inputType: string;\n\n constructor(\n config: Omit<BaseFieldConstructorConfig, 'type'> & {\n inputType?: string;\n },\n ) {\n super({ ...config, type: 'text' });\n this.inputType = config.inputType || 'text';\n }\n}\n\nexport class TextareaFieldConfig extends BaseFieldConfig {\n rows: number;\n autoResize: boolean;\n\n constructor(\n config: Omit<BaseFieldConstructorConfig, 'type'> & {\n rows?: number;\n autoResize?: boolean;\n },\n ) {\n super({ ...config, type: 'textarea' });\n this.rows = config.rows || 3;\n this.autoResize = config.autoResize || false;\n }\n}\n\nexport class SelectFieldConfig extends BaseFieldConfig {\n options: any[];\n optionLabel: string;\n optionValue: string;\n multiple: boolean;\n filter: boolean;\n filterBy: string;\n filterPlaceholder: string;\n showClear: boolean;\n emptyMessage: string;\n\n constructor(\n config: Omit<BaseFieldConstructorConfig, 'type'> & {\n options: any[];\n optionLabel?: string;\n optionValue?: string;\n multiple?: boolean;\n filter?: boolean;\n filterBy?: string;\n filterPlaceholder?: string;\n showClear?: boolean;\n emptyMessage?: string;\n },\n ) {\n super({ ...config, type: 'select' });\n this.options = config.options;\n this.optionLabel = config.optionLabel || 'label';\n this.optionValue = config.optionValue || 'value';\n this.multiple = config.multiple || false;\n this.filter = config.filter || false;\n this.filterBy = config.filterBy || '';\n this.filterPlaceholder = config.filterPlaceholder || 'Search...';\n this.showClear = config.showClear || false;\n this.emptyMessage = config.emptyMessage || 'No options available';\n }\n}\n\nexport class RadioButtonFieldConfig extends BaseFieldConfig {\n options: any[];\n optionLabel: string;\n optionValue: string;\n orientation: 'vertical' | 'horizontal';\n\n constructor(\n config: Omit<BaseFieldConstructorConfig, 'type'> & {\n options: any[];\n optionLabel?: string;\n optionValue?: string;\n orientation?: 'vertical' | 'horizontal';\n },\n ) {\n super({ ...config, type: 'radio-button' });\n this.options = config.options;\n this.optionLabel = config.optionLabel || 'label';\n this.optionValue = config.optionValue || 'value';\n this.orientation = config.orientation || 'vertical';\n }\n}\nexport class RadioCardsFieldConfig extends BaseFieldConfig {\n options: any[];\n optionLabel: string;\n optionValue: string;\n size: string;\n\n constructor(\n config: Omit<BaseFieldConstructorConfig, 'type'> & {\n options: any[];\n optionLabel?: string;\n optionValue?: string;\n size?: string;\n },\n ) {\n super({ ...config, type: 'radio-cards' });\n this.options = config.options;\n this.optionLabel = config.optionLabel || 'label';\n this.optionValue = config.optionValue || 'value';\n this.size = config.size || 'small';\n }\n}\nexport class UserSearchFieldConfig extends BaseFieldConfig {\n optionLabel: string;\n optionValue: string;\n size: string;\n apiUrl: string;\n context: HttpContext | undefined;\n\n constructor(\n config: Omit<BaseFieldConstructorConfig, 'type'> & {\n optionLabel?: string;\n optionValue?: string;\n size?: string;\n hint?: string;\n apiUrl?: string;\n context?: HttpContext | undefined;\n placeholder?: string;\n },\n ) {\n super({ ...config, type: 'user-search' });\n this.optionLabel = config.optionLabel || 'label';\n this.optionValue = config.optionValue || 'value';\n this.size = config.size || '';\n this.hint = config.hint || '';\n this.context = config.context || undefined;\n this.apiUrl = config.apiUrl || '';\n this.placeholder = config.placeholder || 'Search';\n }\n}\n\nexport class UploadFileFieldConfig extends BaseFieldConfig {\n size: string;\n endPoint?: string;\n userImgClass?: string;\n shape?: string;\n accept?: string;\n fileSizeLimit?: number | undefined;\n context: HttpContext | undefined;\n title: string;\n description: string;\n\n constructor(\n config: Omit<BaseFieldConstructorConfig, 'type'> & {\n size?: string;\n endPoint?: string;\n userImgClass?: string;\n shape?: string;\n accept?: string;\n fileSizeLimit?: number | undefined;\n context?: HttpContext | undefined;\n title?: string;\n description?: string;\n },\n ) {\n super({ ...config, type: 'upload-file' });\n this.size = config.size || 'normal';\n this.endPoint = config.endPoint || 'uploader';\n this.userImgClass =\n config.userImgClass || 'w-25! h-25! text-4xl! text-gray-400!';\n this.shape = config.shape || 'field';\n this.accept = config.accept || '.pdf,.doc,.docx,.xlsx,image/*';\n this.fileSizeLimit = config.fileSizeLimit || undefined;\n this.context = config.context || undefined;\n this.title = config.title || 'Upload File';\n this.description = config.description || 'Click or drop a file to upload';\n }\n}\n\nexport class DateFieldConfig extends BaseFieldConfig {\n dateFormat: string;\n showTime: boolean;\n showSeconds: boolean;\n hourFormat: '12' | '24';\n minDate?: Date;\n maxDate?: Date;\n disabledDates: Date[];\n disabledDays: number[];\n yearRange: string;\n showIcon: boolean;\n icon: string;\n showButtonBar: boolean;\n showClear: boolean;\n inline: boolean;\n\n constructor(\n config: Omit<BaseFieldConstructorConfig, 'type'> & {\n dateFormat?: string;\n showTime?: boolean;\n showSeconds?: boolean;\n hourFormat?: '12' | '24';\n minDate?: Date;\n maxDate?: Date;\n disabledDates?: Date[];\n disabledDays?: number[];\n yearRange?: string;\n showIcon?: boolean;\n icon?: string;\n showButtonBar?: boolean;\n showClear?: boolean;\n inline?: boolean;\n },\n ) {\n super({ ...config, type: 'date' });\n this.dateFormat = config.dateFormat || 'yyyy-mm-dd';\n this.showTime = config.showTime || false;\n this.showSeconds = config.showSeconds || false;\n this.hourFormat = config.hourFormat || '24';\n this.minDate = config.minDate;\n this.maxDate = config.maxDate;\n this.disabledDates = config.disabledDates || [];\n this.disabledDays = config.disabledDays || [];\n this.yearRange = config.yearRange || '1900:2030';\n this.showIcon = config.showIcon || true;\n this.icon = config.icon || 'pi pi-calendar';\n this.showButtonBar = config.showButtonBar || false;\n this.showClear = config.showClear || true;\n this.inline = config.inline || false;\n }\n}\n\nexport class NumberFieldConfig extends BaseFieldConfig {\n min?: number;\n max?: number;\n step?: number;\n prefix?: string;\n suffix?: string;\n currency?: string;\n locale?: string;\n minFractionDigits?: number;\n maxFractionDigits?: number;\n useGrouping?: boolean;\n showButtons?: boolean;\n buttonLayout?: 'stacked' | 'horizontal';\n incrementButtonClass?: string;\n decrementButtonClass?: string;\n incrementButtonIcon?: string;\n decrementButtonIcon?: string;\n\n constructor(\n config: Omit<BaseFieldConstructorConfig, 'type'> & {\n min?: number;\n max?: number;\n step?: number;\n prefix?: string;\n suffix?: string;\n currency?: string;\n locale?: string;\n minFractionDigits?: number;\n maxFractionDigits?: number;\n useGrouping?: boolean;\n showButtons?: boolean;\n buttonLayout?: 'stacked' | 'horizontal';\n incrementButtonClass?: string;\n decrementButtonClass?: string;\n incrementButtonIcon?: string;\n decrementButtonIcon?: string;\n },\n ) {\n super({ ...config, type: 'number' });\n this.min = config.min;\n this.max = config.max;\n this.step = config.step || 1;\n this.prefix = config.prefix;\n this.suffix = config.suffix;\n this.currency = config.currency;\n this.locale = config.locale;\n this.minFractionDigits = config.minFractionDigits;\n this.maxFractionDigits = config.maxFractionDigits;\n this.useGrouping = config.useGrouping || false;\n this.showButtons = config.showButtons || false;\n this.buttonLayout = config.buttonLayout || 'stacked';\n this.incrementButtonClass = config.incrementButtonClass;\n this.decrementButtonClass = config.decrementButtonClass;\n this.incrementButtonIcon = config.incrementButtonIcon;\n this.decrementButtonIcon = config.decrementButtonIcon;\n }\n}\n\nexport class SliderFieldConfig extends BaseFieldConfig {\n min?: number;\n max?: number;\n step?: number;\n orientation?: 'horizontal' | 'vertical';\n range?: boolean;\n animate?: boolean;\n\n constructor(\n config: Omit<BaseFieldConstructorConfig, 'type'> & {\n min?: number;\n max?: number;\n step?: number;\n orientation?: 'horizontal' | 'vertical';\n range?: boolean;\n animate?: boolean;\n },\n ) {\n super({ ...config, type: 'slider' });\n this.min = config.min || 0;\n this.max = config.max || 100;\n this.step = config.step || 1;\n this.orientation = config.orientation || 'horizontal';\n this.range = config.range || false;\n this.animate = config.animate || false;\n }\n}\n\nexport class MultiSelectFieldConfig extends BaseFieldConfig {\n options: any[];\n optionLabel: string;\n optionValue: string;\n filter: boolean;\n filterBy: string;\n filterPlaceholder: string;\n showClear: boolean;\n emptyMessage: string;\n display?: 'comma' | 'chip';\n maxSelectedLabels?: number;\n selectedItemsLabel?: string;\n showToggleAll?: boolean;\n resetFilterOnHide?: boolean;\n\n constructor(\n config: Omit<BaseFieldConstructorConfig, 'type'> & {\n options: any[];\n optionLabel?: string;\n optionValue?: string;\n filter?: boolean;\n filterBy?: string;\n filterPlaceholder?: string;\n showClear?: boolean;\n emptyMessage?: string;\n display?: 'comma' | 'chip';\n maxSelectedLabels?: number;\n selectedItemsLabel?: string;\n showToggleAll?: boolean;\n resetFilterOnHide?: boolean;\n },\n ) {\n super({ ...config, type: 'multi-select' });\n this.options = config.options;\n this.optionLabel = config.optionLabel || 'label';\n this.optionValue = config.optionValue || 'value';\n this.filter = config.filter || false;\n this.filterBy = config.filterBy || '';\n this.filterPlaceholder = config.filterPlaceholder || 'Search...';\n this.showClear = config.showClear || false;\n this.emptyMessage = config.emptyMessage || 'No options available';\n this.display = config.display || 'comma';\n this.maxSelectedLabels = config.maxSelectedLabels || 3;\n this.selectedItemsLabel = config.selectedItemsLabel || '{0} items selected';\n this.showToggleAll = config.showToggleAll || true;\n this.resetFilterOnHide = config.resetFilterOnHide || false;\n }\n}\n\nexport class PickListFieldConfig extends BaseFieldConfig {\n options: any[];\n optionLabel: string;\n optionValue: string;\n sourceHeader: string;\n targetHeader: string;\n showSourceControls: boolean;\n showTargetControls: boolean;\n showSourceFilter: boolean;\n showTargetFilter: boolean;\n filterBy: string;\n dataKey?: string;\n dragdrop: boolean;\n responsive: boolean;\n breakpoint: string;\n\n constructor(\n config: Omit<BaseFieldConstructorConfig, 'type'> & {\n options: any[];\n optionLabel?: string;\n optionValue?: string;\n sourceHeader?: string;\n targetHeader?: string;\n showSourceControls?: boolean;\n showTargetControls?: boolean;\n showSourceFilter?: boolean;\n showTargetFilter?: boolean;\n filterBy?: string;\n dataKey?: string;\n dragdrop?: boolean;\n responsive?: boolean;\n },\n ) {\n super({ ...config, type: 'pick-list' });\n this.options = config.options;\n this.optionLabel = config.optionLabel || 'label';\n this.optionValue = config.optionValue || 'value';\n this.sourceHeader = config.sourceHeader || 'Available';\n this.targetHeader = config.targetHeader || 'Selected';\n this.showSourceControls =\n config.showSourceControls !== undefined\n ? config.showSourceControls\n : true;\n this.showTargetControls =\n config.showTargetControls !== undefined\n ? config.showTargetControls\n : true;\n this.showSourceFilter =\n config.showSourceFilter !== undefined ? config.showSourceFilter : false;\n this.showTargetFilter =\n config.showTargetFilter !== undefined ? config.showTargetFilter : false;\n this.filterBy = config.filterBy || this.optionLabel;\n this.dataKey = config.dataKey || this.optionValue;\n this.dragdrop = config.dragdrop ?? false;\n this.responsive = config.responsive ?? true;\n }\n}\n\nexport class CheckboxFieldConfig extends BaseFieldConfig {\n binary?: boolean;\n trueValue?: any;\n falseValue?: any;\n checkboxIcon?: string;\n\n constructor(\n config: Omit<BaseFieldConstructorConfig, 'type'> & {\n binary?: boolean;\n trueValue?: any;\n falseValue?: any;\n checkboxIcon?: string;\n },\n ) {\n super({ ...config, type: 'checkbox' });\n this.binary = config.binary !== false; // Default to true\n this.trueValue = config.trueValue !== undefined ? config.trueValue : true;\n this.falseValue =\n config.falseValue !== undefined ? config.falseValue : false;\n this.checkboxIcon = config.checkboxIcon;\n }\n}\nexport class ToggleFieldConfig extends BaseFieldConfig {\n constructor(config: Omit<BaseFieldConstructorConfig, 'type'>) {\n super({ ...config, type: 'toggle' });\n }\n}\nexport class EditorFieldConfig extends BaseFieldConfig {\n constructor(config: Omit<BaseFieldConstructorConfig, 'type'>) {\n super({ ...config, type: 'editor-field' });\n }\n}\n\nexport class ColorPickerFieldConfig extends BaseFieldConfig {\n format?: 'hex' | 'rgb' | 'hsb';\n inline?: boolean;\n appendTo?: any;\n variant?: 'outlined' | 'filled';\n\n constructor(\n config: Omit<BaseFieldConstructorConfig, 'type'> & {\n format?: 'hex' | 'rgb' | 'hsb';\n inline?: boolean;\n appendTo?: any;\n variant?: 'outlined' | 'filled';\n },\n ) {\n super({ ...config, type: 'color-picker' });\n this.format = config.format || 'hex';\n this.inline = config.inline || false;\n this.appendTo = config.appendTo || 'body';\n this.variant = config.variant || 'outlined';\n }\n}\n\nexport class IconFieldConfig extends BaseFieldConfig {\n constructor(config: Omit<BaseFieldConstructorConfig, 'type'> & {}) {\n super({ ...config, type: 'icon-field' });\n }\n}\n\nexport class SpacerFieldConfig extends BaseFieldConfig {\n constructor(\n config: Omit<BaseFieldConstructorConfig, 'type' | 'key' | 'label'> & {\n key?: string;\n label?: string;\n },\n ) {\n super({\n ...config,\n type: 'spacer',\n key: config.key || `spacer_${Date.now()}`,\n label: config.label || '',\n });\n }\n}\n\n// Union type for all field configurations\nexport type DynamicFieldConfig = {\n [K in keyof (TextFieldConfig &\n TextareaFieldConfig &\n SelectFieldConfig &\n DateFieldConfig &\n NumberFieldConfig &\n SliderFieldConfig &\n MultiSelectFieldConfig &\n PickListFieldConfig &\n CheckboxFieldConfig &\n ColorPickerFieldConfig &\n IconFieldConfig &\n SpacerFieldConfig &\n BaseFieldConfig)]?: (TextFieldConfig &\n TextareaFieldConfig &\n SelectFieldConfig &\n DateFieldConfig &\n NumberFieldConfig &\n SliderFieldConfig &\n MultiSelectFieldConfig &\n PickListFieldConfig &\n CheckboxFieldConfig &\n ColorPickerFieldConfig &\n IconFieldConfig &\n SpacerFieldConfig &\n BaseFieldConfig)[K];\n};\n\n// Layout configuration\nexport interface LayoutConfig {\n containerClass?: string;\n sectionClass?: string;\n fieldClass?: string;\n}\n\n// Simplified form configuration interface\nexport interface DynamicFormConfig {\n sections: SectionConfig[];\n layout?: LayoutConfig;\n}\nexport interface SectionConfig {\n key?: string;\n label?: string;\n type: 'none' | 'header';\n cssClass?: string;\n bodyClass?: string;\n headerClass?: string;\n columns?: number;\n\n order?: number;\n fields: DynamicFieldConfig[];\n}\nexport interface FieldState {\n hidden: boolean;\n disabled: boolean;\n}\n\nexport function createCustomValidator(\n customValidator: (value: any) => boolean | Promise<boolean>,\n message?: string,\n): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const result = customValidator(control.value);\n\n if (result instanceof Promise) {\n // Handle async validation\n result.then((isValid) => {\n if (!isValid) {\n control.setErrors({\n custom: { message: message || 'Invalid value' },\n });\n }\n });\n return null; // For async, return null initially\n } else {\n // Handle sync validation\n return result\n ? null\n : { custom: { message: message || 'Invalid value' } };\n }\n };\n}\n\nexport function wrapValidatorWithMessage(\n validator: ValidatorFn,\n errorKey: string,\n message: string,\n): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const result = validator(control);\n if (result) {\n // Replace the default error with custom message\n return { [errorKey]: { ...result[Object.keys(result)[0]], message } };\n }\n return null;\n };\n}\n// DynamicFieldConfig = input.required<any>({\n// transform: (value: any) => this.transformToDateFieldConfig(value)\n// });\n// transformToDateFieldConfig(value: any){\n// return new TextFieldConfig()\n// }\n","/*\n * Public API Surface of components\n */\n\nexport * from './lib/config/providemt';\nexport * from './lib/config/povide-messages';\nexport * from './lib/utils/theme';\nexport * from './lib/utils/inputs';\nexport * from './lib/config/dynamic-form.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"masterteam-components.mjs","sources":["../../../../packages/masterteam/components/src/lib/utils/theme.ts","../../../../packages/masterteam/components/src/lib/config/providemt.ts","../../../../packages/masterteam/components/src/lib/config/povide-messages.ts","../../../../packages/masterteam/components/src/lib/config/provide-confirmation.ts","../../../../packages/masterteam/components/src/lib/utils/inputs.ts","../../../../packages/masterteam/components/src/lib/config/dynamic-form.model.ts","../../../../packages/masterteam/components/src/public-api.ts","../../../../packages/masterteam/components/src/masterteam-components.ts"],"sourcesContent":["type HSLTuple = [number, number, number]; // [hue, saturation, lightness]\ntype TailwindColorPalette = {\n [key: string]: string; // e.g., '50': '#f0f9ff', '500': '#0284c7'\n};\n\n/**\n * Converts a hex color string to an HSL tuple.\n * @param hex - The hex color string (e.g., \"#RRGGBB\" or \"#RGB\").\n * @returns An HSL tuple [hue, saturation, lightness] where hue is in degrees (0-360),\n * and saturation/lightness are percentages (0-100).\n */\nfunction hexToHsl(hex: string): HSLTuple {\n let r: number = 0,\n g: number = 0,\n b: number = 0;\n\n // Handle shorthand hex codes\n if (hex.length === 4) {\n r = parseInt(hex[1] + hex[1], 16);\n g = parseInt(hex[2] + hex[2], 16);\n b = parseInt(hex[3] + hex[3], 16);\n } else if (hex.length === 7) {\n r = parseInt(hex.substring(1, 3), 16);\n g = parseInt(hex.substring(3, 5), 16);\n b = parseInt(hex.substring(5, 7), 16);\n } else {\n throw new Error('Invalid hex color format. Expected #RGB or #RRGGBB.');\n }\n\n r /= 255;\n g /= 255;\n b /= 255;\n\n const max: number = Math.max(r, g, b);\n const min: number = Math.min(r, g, b);\n let h: number = 0,\n s: number;\n const l: number = (max + min) / 2;\n\n if (max === min) {\n h = s = 0; // achromatic\n } else {\n const d: number = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n\n return [h * 360, s * 100, l * 100]; // HSL in degrees, percentage, percentage\n}\n\n/**\n * Converts HSL values to a hex color string.\n * @param h - Hue (0-360).\n * @param s - Saturation (0-100).\n * @param l - Lightness (0-100).\n * @returns The hex color string (e.g., \"#RRGGBB\").\n */\nfunction hslToHex(h: number, s: number, l: number): string {\n l /= 100;\n const a: number = (s * Math.min(l, 1 - l)) / 100;\n const f = (n: number): string => {\n const k: number = (n + h / 30) % 12;\n const color: number = l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n return Math.round(255 * color)\n .toString(16)\n .padStart(2, '0');\n };\n return `#${f(0)}${f(8)}${f(4)}`;\n}\n\n/**\n * Generates a Tailwind-like color palette (50-950) from a primary color (assumed to be 500).\n *\n * @param primaryColor500 - The hex string of the primary color (e.g., \"#0284c7\").\n * @returns An object representing the color palette, where keys are color numbers (e.g., \"50\", \"100\")\n * and values are hex color strings.\n */\n// export function generateTailwindPalette(\n// primaryColor500: string,\n// ): TailwindColorPalette {\n// const [h, s, _l]: HSLTuple = hexToHsl(primaryColor500);\n//\n// const palette: TailwindColorPalette = {\n// '500': primaryColor500,\n// };\n//\n// // Define steps for lighter shades (50 - 400)\n// const lightnessStepsLighter: { [key: string]: number } = {\n// '50': 95,\n// '100': 90,\n// '200': 80,\n// '300': 70,\n// '400': 60,\n// };\n//\n// const saturationReductionsLighter: { [key: string]: number } = {\n// '50': 40, // More desaturated\n// '100': 30,\n// '200': 20,\n// '300': 10,\n// '400': 5, // Slightly desaturated\n// };\n//\n// for (const shade in lightnessStepsLighter) {\n// if (Object.prototype.hasOwnProperty.call(lightnessStepsLighter, shade)) {\n// const newL: number = lightnessStepsLighter[shade];\n// // Ensure saturation doesn't go below 0\n// const newS: number = Math.max(0, s - saturationReductionsLighter[shade]);\n// palette[shade] = hslToHex(h, newS, newL);\n// }\n// }\n//\n// // Define steps for darker shades (600 - 950)\n// const lightnessStepsDarker: { [key: string]: number } = {\n// '600': 45,\n// '700': 35,\n// '800': 25,\n// '900': 15,\n// '950': 8, // More aggressive darkening for 950\n// };\n//\n// const saturationIncreasesDarker: { [key: string]: number } = {\n// '600': 5,\n// '700': 10,\n// '800': 15,\n// '900': 20,\n// '950': 25, // Can increase saturation for darker shades\n// };\n//\n// for (const shade in lightnessStepsDarker) {\n// if (Object.prototype.hasOwnProperty.call(lightnessStepsDarker, shade)) {\n// const newL: number = lightnessStepsDarker[shade];\n// // Ensure saturation doesn't exceed 100\n// const newS: number = Math.min(100, s + saturationIncreasesDarker[shade]);\n// palette[shade] = hslToHex(h, newS, newL);\n// }\n// }\n//\n// // Sort the keys numerically to ensure consistent order\n// const sortedPalette: TailwindColorPalette = {};\n// Object.keys(palette)\n// .sort((a, b) => parseInt(a) - parseInt(b))\n// .forEach((key: string) => {\n// sortedPalette[key] = palette[key];\n// });\n//\n// return sortedPalette;\n// }\n\n// Define the specific shade keys\nexport type PaletteShade =\n | '0'\n | '50'\n | '100'\n | '200'\n | '300'\n | '400'\n | '500'\n | '600'\n | '700'\n | '800'\n | '900'\n | '950';\n\n// A helper type for our new palette profile\ntype ShadeProfile = {\n /** Target lightness (0-100) */\n l: number;\n /** Saturation adjustment relative to the 500 shade */\n s_adjust: number;\n};\n\n/**\n * Defines the \"ideal\" lightness and saturation adjustment for each shade.\n * Lightness for 500 is set to 50 as a balanced default.\n */\nconst PALETTE_PROFILE: Record<PaletteShade, ShadeProfile> = {\n '0': { l: 98, s_adjust: -50 },\n '50': { l: 95, s_adjust: -40 },\n '100': { l: 90, s_adjust: -30 },\n '200': { l: 80, s_adjust: -20 },\n '300': { l: 70, s_adjust: -10 },\n '400': { l: 60, s_adjust: -5 },\n '500': { l: 50, s_adjust: 0 },\n '600': { l: 45, s_adjust: 5 },\n '700': { l: 35, s_adjust: 10 },\n '800': { l: 25, s_adjust: 15 },\n '900': { l: 15, s_adjust: 20 },\n '950': { l: 8, s_adjust: 25 },\n};\n\n// Helper to ensure palette is always in the correct 50-950 order\nconst ALL_SHADES: PaletteShade[] = [\n '0',\n '50',\n '100',\n '200',\n '300',\n '400',\n '500',\n '600',\n '700',\n '800',\n '900',\n '950',\n];\n\n/**\n * Clamps a number between a min and max value.\n */\nfunction clamp(value: number, min: number, max: number): number {\n return Math.max(min, Math.min(max, value));\n}\n\n/**\n * Generates a Tailwind-like color palette (50-950) from any given base color.\n *\n * @param baseColorHex - The hex string of the base color (e.g., \"#0284c7\").\n * @param baseColorShade - The shade of the base color (e.g., \"500\", \"700\").\n * @returns An object representing the full color palette.\n */\nexport function generateTailwindPalette(\n baseColorHex: string,\n baseColorShade: PaletteShade = '500',\n): TailwindColorPalette {\n // 1. Get HSL of the input color\n const [h_base, s_base, l_base]: HSLTuple = hexToHsl(baseColorHex);\n\n // 2. Find the anchors\n const baseProfile = PALETTE_PROFILE[baseColorShade];\n\n /** The Hue is constant across the entire palette. */\n const h = h_base;\n\n /**\n * Calculate the 500-shade's saturation by \"reversing\" the adjustment\n * from the base color.\n * e.g., if base is 700 (s_adjust: +10) and s_base is 80,\n * s_500 will be 70.\n */\n const s_500 = clamp(s_base - baseProfile.s_adjust, 0, 100);\n\n /**\n * Calculate the lightness \"offset\". This is the difference between\n * the base color's actual lightness and its \"ideal\" lightness\n * from the profile.\n * e.g., if base is 700 (ideal L: 35) and l_base is 38,\n * the offset is +3. This offset will be applied to all shades.\n */\n const l_offset = l_base - baseProfile.l;\n\n // 3. Generate the full palette\n const palette: Partial<TailwindColorPalette> = {};\n\n for (const shade of ALL_SHADES) {\n const profile = PALETTE_PROFILE[shade];\n\n // Calculate the new saturation and lightness for this shade\n const newS = clamp(s_500 + profile.s_adjust, 0, 100);\n const newL = clamp(profile.l + l_offset, 0, 100);\n\n palette[shade] = hslToHex(h, newS, newL);\n }\n\n // 4. Ensure the originally provided color is used exactly\n // (to avoid rounding errors from HSL conversion)\n palette[baseColorShade] = baseColorHex;\n\n return palette as TailwindColorPalette;\n}\n","import { providePrimeNG } from 'primeng/config';\nimport { generateTailwindPalette } from '../utils/theme';\nimport Aura from '@primeuix/themes/aura';\nimport { definePreset, updatePreset } from '@primeuix/themes';\nimport { ToastTokenSections } from '@primeuix/themes/types/toast';\nimport { EnvironmentProviders } from '@angular/core';\nimport { Preset } from '@primeuix/themes/types';\nimport { AuraBaseDesignTokens } from '@primeuix/themes/aura/base';\n\nexport interface MTThemeOptions {\n primaryColor?: string;\n textColor?: string;\n backgroundColor?: string;\n}\n\nconst toastStyle: ToastTokenSections.Success = {\n // borderColor: '{surface.300}',\n background: '{content.background}',\n // color: '{surface.600}',\n // closeButton: {\n // hoverBackground: '{surface.100}',\n // focusRing: {\n // color: '{surface.600}',\n // },\n // },\n};\n\nexport function changePrimaryColor(color: string): void {\n updatePreset({\n semantic: {\n primary: generateTailwindPalette(color || '#334dff'),\n },\n });\n}\n\nexport function changeBackgroundColor(color?: string): void {\n if (color) {\n const palette = generateTailwindPalette(color, '100');\n console.log('the background palette', palette);\n document.documentElement.style.setProperty(\n '--app-background-light',\n palette['100'],\n );\n document.documentElement.style.setProperty(\n '--app-background-dark',\n palette['950'],\n );\n }\n}\n\nexport function changeTextColor(color: string): void {\n const palette = generateTailwindPalette(color ?? '#334155', '700');\n updatePreset({\n semantic: {\n colorScheme: {\n light: {\n text: {\n color: palette['700'],\n hoverColor: palette['800'],\n hoverMutedColor: palette['600'],\n mutedColor: palette['500'],\n },\n },\n dark: {\n text: {\n color: palette['0'],\n hoverColor: palette['0'],\n hoverMutedColor: palette['300'],\n mutedColor: palette['400'],\n },\n },\n },\n },\n });\n}\n\nconst MTPreset = (themeOptions?: MTThemeOptions) => {\n const textPalette = generateTailwindPalette(\n themeOptions?.textColor ?? '#334155',\n '700',\n );\n const configs: Preset<AuraBaseDesignTokens> = {\n options: {\n prefix: 'mt',\n cssLayer: {\n name: 'primeng',\n order: 'theme, base, primeng',\n },\n },\n semantic: {\n colorScheme: {\n light: {\n text: {\n color: textPalette['700'],\n hoverColor: textPalette['800'],\n hoverMutedColor: textPalette['600'],\n mutedColor: textPalette['500'],\n },\n },\n dark: {\n text: {\n color: textPalette['0'],\n hoverColor: textPalette['0'],\n hoverMutedColor: textPalette['300'],\n mutedColor: textPalette['400'],\n },\n },\n },\n primary: generateTailwindPalette(themeOptions?.primaryColor || '#334dff'),\n content: {\n borderRadius: '{border.radius.lg}',\n },\n formField: {\n borderRadius: '{border.radius.lg}',\n },\n },\n components: {\n dialog: {\n header: {\n padding: '0',\n },\n content: {\n padding: '0',\n },\n footer: {\n padding: '0',\n },\n },\n toast: {\n root: {\n borderRadius: '{border.radius.xl}',\n },\n colorScheme: {\n light: {\n success: toastStyle,\n info: toastStyle,\n warn: toastStyle,\n error: toastStyle,\n secondary: toastStyle,\n },\n dark: {\n success: toastStyle,\n info: toastStyle,\n warn: toastStyle,\n error: toastStyle,\n secondary: toastStyle,\n },\n },\n },\n togglebutton: {\n root: {\n padding: '1px',\n },\n colorScheme: {\n light: {\n root: {\n checkedColor: '{primary.500}',\n },\n },\n dark: {\n root: {\n checkedColor: '{primary.400}',\n },\n },\n },\n },\n selectbutton: {\n root: {\n borderRadius: '{border.radius.lg}',\n },\n },\n\n paginator: {\n root: {\n borderRadius: '{border.radius.lg}',\n padding: '0 .5rem',\n },\n navButton: {\n borderRadius: '0',\n },\n\n colorScheme: {\n light: {\n navButton: {\n color: '{surface.600}',\n hoverBackground: '#fff',\n selectedBackground: '{surface.200}',\n selectedColor: '{surface.600}',\n focusRing: {\n color: '{surface.200}',\n },\n },\n },\n dark: {\n navButton: {\n color: '{surface.200}',\n hoverBackground: 'transparent',\n selectedBackground: 'transparent',\n selectedColor: '#fff',\n focusRing: {\n color: '#fff',\n },\n },\n },\n },\n\n css: () => `\n .p-paginator {\n --p-paginator-gap: 0;\n --p-paginator-nav-button-width: 2.2rem;\n --p-paginator-nav-button-height: 2.2rem;\n width: fit-content;\n border: 1px solid var(--p-surface-200);\n overflow: hidden;\n font-size: .95rem;\n }\n\n .p-paginator-pages button,\n .p-paginator-prev,\n .p-paginator-next {\n border-color: var(--p-surface-200);\n }\n\n .p-paginator-pages button {\n border-style: solid;\n border-width: 0 0 0 1px;\n }\n\n .p-paginator-pages button:first-child {\n border-left: none;\n }\n\n .p-paginator-prev {\n border-right: 1px solid var(--p-surface-200);\n }\n\n .p-paginator-next {\n border-left: 1px solid var(--p-surface-200);\n }\n\n .p-paginator .p-select {\n border: 0;\n background: transparent;\n }\n\n .p-paginator .p-select .p-select-label {\n padding: 0;\n }\n\n /* Dark Mode Styles */\n .dark .p-paginator {\n border-color: var(--p-surface-500);\n }\n\n .dark .p-paginator-pages button,\n .dark .p-paginator-prev,\n .dark .p-paginator-next {\n border-color: var(--p-surface-500);\n }\n\n .dark .p-paginator-prev {\n border-right-color: var(--p-surface-500);\n }\n\n .dark .p-paginator-next {\n border-left-color: var(--p-surface-500);\n }\n `,\n },\n\n toggleswitch: {\n root: {\n width: '2.5rem',\n height: '1.4rem',\n },\n },\n\n // steps: {\n // item: {\n // link: {\n // gap: 'calc(50% + 0.25rem)',\n // },\n // number: {\n // font: {\n // size: '0.9rem',\n // },\n // active: {\n // color: 'white',\n // background: '{primary.500}',\n // border: {\n // color: '{primary.500}',\n // },\n // },\n // },\n // },\n // },\n },\n };\n\n return definePreset(Aura, configs);\n};\n\nexport function provideMTComponents(\n themeOptions?: MTThemeOptions,\n): EnvironmentProviders {\n changeBackgroundColor(themeOptions?.backgroundColor);\n return providePrimeNG({\n zIndex: {\n modal: 1900,\n overlay: 1500,\n menu: 1500,\n tooltip: 1600,\n },\n theme: {\n preset: MTPreset(themeOptions),\n options: {\n darkModeSelector: '.dark',\n },\n },\n });\n}\n","import { MessageService } from 'primeng/api';\n\nexport function provideMTMessages() {\n return MessageService;\n}\n","import { ConfirmationService } from 'primeng/api';\n\nexport function provideMTConfirmation() {\n return ConfirmationService;\n}\n","import { AbstractControl } from '@angular/forms';\n\nexport function isInvalid(control: AbstractControl | null) {\n if (!control) return false;\n return control && control?.invalid && control?.touched;\n}\n","import { HttpContext } from '@angular/common/http';\nimport { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\n\nexport type FieldType =\n | 'text'\n | 'textarea'\n | 'select'\n | 'date'\n | 'number'\n | 'slider'\n | 'multi-select'\n | 'pick-list'\n | 'checkbox'\n | 'icon-field'\n | 'color-picker'\n | 'spacer'\n | string;\n\nexport type ValidatorType =\n | 'required'\n | 'email'\n | 'minLength'\n | 'maxLength'\n | 'min'\n | 'max'\n | 'pattern'\n | 'custom';\n\nexport type FieldRelationAction = 'enable' | 'disable' | 'show' | 'hide';\n\nexport interface FieldRelationConfig {\n key: string;\n value: any;\n action: FieldRelationAction;\n}\n\nexport interface ResponsiveColSpan {\n // Container\n xs?: number; // @xs\n sm?: number; // @sm\n md?: number; // @md\n lg?: number; // @lg\n xl?: number; // @xl\n}\n\nexport class ValidatorConfig {\n type: ValidatorType;\n value?: any;\n message?: string;\n customValidator?: (value: any) => boolean | Promise<boolean>;\n\n constructor(config: {\n type: ValidatorType;\n value?: any;\n message?: string;\n customValidator?: (value: any) => boolean | Promise<boolean>;\n }) {\n this.type = config.type;\n this.value = config.value;\n this.message = config.message;\n this.customValidator = config.customValidator;\n }\n\n // Factory methods for common validators\n static required(message = 'This field is required'): ValidatorConfig {\n return new ValidatorConfig({ type: 'required', message });\n }\n\n static email(message = 'Please enter a valid email'): ValidatorConfig {\n return new ValidatorConfig({ type: 'email', message });\n }\n\n static minLength(length: number, message?: string): ValidatorConfig {\n return new ValidatorConfig({\n type: 'minLength',\n value: length,\n message: message || `Minimum length is ${length} characters`,\n });\n }\n\n static maxLength(length: number, message?: string): ValidatorConfig {\n return new ValidatorConfig({\n type: 'maxLength',\n value: length,\n message: message || `Maximum length is ${length} characters`,\n });\n }\n\n static min(value: number, message?: string): ValidatorConfig {\n return new ValidatorConfig({\n type: 'min',\n value,\n message: message || `Minimum value is ${value}`,\n });\n }\n\n static max(value: number, message?: string): ValidatorConfig {\n return new ValidatorConfig({\n type: 'max',\n value,\n message: message || `Maximum value is ${value}`,\n });\n }\n\n static pattern(pattern: string, message = 'Invalid format'): ValidatorConfig {\n return new ValidatorConfig({ type: 'pattern', value: pattern, message });\n }\n\n static custom(\n validator: (value: any) => boolean | Promise<boolean>,\n message = 'Invalid value',\n ): ValidatorConfig {\n return new ValidatorConfig({\n type: 'custom',\n customValidator: validator,\n message,\n });\n }\n}\n\nexport type BaseFieldConstructorConfig = ConstructorParameters<\n typeof BaseFieldConfig\n>[0];\n\nexport abstract class BaseFieldConfig {\n key: string;\n label: string;\n type: FieldType;\n required: boolean;\n disabled: boolean;\n readonly: boolean;\n hidden: boolean;\n placeholder: string;\n hint: string;\n cssClass: string;\n validators: ValidatorConfig[];\n order: number;\n colSpan: number | ResponsiveColSpan;\n\n defaultValue?: any;\n\n customTemplate: string;\n relations: FieldRelationConfig[];\n\n constructor(config: {\n key?: string;\n label?: string;\n type: FieldType;\n required?: boolean;\n disabled?: boolean;\n readonly?: boolean;\n hidden?: boolean;\n placeholder?: string;\n hint?: string;\n cssClass?: string;\n validators?: ValidatorConfig[];\n order?: number;\n relations?: FieldRelationConfig[];\n colSpan?: number | ResponsiveColSpan;\n }) {\n this.key = config.key || 'Key';\n this.label = config.label || '';\n this.type = config.type;\n this.required = config.required || false;\n this.disabled = config.disabled || false;\n this.readonly = config.readonly || false;\n this.hidden = config.hidden || false;\n this.placeholder = config.placeholder || '';\n this.hint = config.hint || '';\n this.cssClass = config.cssClass || '';\n this.validators = config.validators || [];\n this.order = config.order || 0;\n this.relations = config.relations || [];\n this.colSpan = config.colSpan || 12;\n }\n}\n\n// Specific configurations for different field types\nexport class TextFieldConfig extends BaseFieldConfig {\n inputType: string;\n\n constructor(\n config: Omit<BaseFieldConstructorConfig, 'type'> & {\n inputType?: string;\n },\n ) {\n super({ ...config, type: 'text' });\n this.inputType = config.inputType || 'text';\n }\n}\n\nexport class TextareaFieldConfig extends BaseFieldConfig {\n rows: number;\n autoResize: boolean;\n\n constructor(\n config: Omit<BaseFieldConstructorConfig, 'type'> & {\n rows?: number;\n autoResize?: boolean;\n },\n ) {\n super({ ...config, type: 'textarea' });\n this.rows = config.rows || 3;\n this.autoResize = config.autoResize || false;\n }\n}\n\nexport class SelectFieldConfig extends BaseFieldConfig {\n options: any[];\n optionLabel: string;\n optionValue: string;\n multiple: boolean;\n filter: boolean;\n filterBy: string;\n filterPlaceholder: string;\n showClear: boolean;\n emptyMessage: string;\n\n constructor(\n config: Omit<BaseFieldConstructorConfig, 'type'> & {\n options: any[];\n optionLabel?: string;\n optionValue?: string;\n multiple?: boolean;\n filter?: boolean;\n filterBy?: string;\n filterPlaceholder?: string;\n showClear?: boolean;\n emptyMessage?: string;\n },\n ) {\n super({ ...config, type: 'select' });\n this.options = config.options;\n this.optionLabel = config.optionLabel || 'label';\n this.optionValue = config.optionValue || 'value';\n this.multiple = config.multiple || false;\n this.filter = config.filter || false;\n this.filterBy = config.filterBy || '';\n this.filterPlaceholder = config.filterPlaceholder || 'Search...';\n this.showClear = config.showClear || false;\n this.emptyMessage = config.emptyMessage || 'No options available';\n }\n}\n\nexport class RadioButtonFieldConfig extends BaseFieldConfig {\n options: any[];\n optionLabel: string;\n optionValue: string;\n orientation: 'vertical' | 'horizontal';\n\n constructor(\n config: Omit<BaseFieldConstructorConfig, 'type'> & {\n options: any[];\n optionLabel?: string;\n optionValue?: string;\n orientation?: 'vertical' | 'horizontal';\n },\n ) {\n super({ ...config, type: 'radio-button' });\n this.options = config.options;\n this.optionLabel = config.optionLabel || 'label';\n this.optionValue = config.optionValue || 'value';\n this.orientation = config.orientation || 'vertical';\n }\n}\nexport class RadioCardsFieldConfig extends BaseFieldConfig {\n options: any[];\n optionLabel: string;\n optionValue: string;\n size: string;\n\n constructor(\n config: Omit<BaseFieldConstructorConfig, 'type'> & {\n options: any[];\n optionLabel?: string;\n optionValue?: string;\n size?: string;\n },\n ) {\n super({ ...config, type: 'radio-cards' });\n this.options = config.options;\n this.optionLabel = config.optionLabel || 'label';\n this.optionValue = config.optionValue || 'value';\n this.size = config.size || 'small';\n }\n}\nexport class UserSearchFieldConfig extends BaseFieldConfig {\n optionLabel: string;\n optionValue: string;\n size: string;\n apiUrl: string;\n context: HttpContext | undefined;\n\n constructor(\n config: Omit<BaseFieldConstructorConfig, 'type'> & {\n optionLabel?: string;\n optionValue?: string;\n size?: string;\n hint?: string;\n apiUrl?: string;\n context?: HttpContext | undefined;\n placeholder?: string;\n },\n ) {\n super({ ...config, type: 'user-search' });\n this.optionLabel = config.optionLabel || 'label';\n this.optionValue = config.optionValue || 'value';\n this.size = config.size || '';\n this.hint = config.hint || '';\n this.context = config.context || undefined;\n this.apiUrl = config.apiUrl || '';\n this.placeholder = config.placeholder || 'Search';\n }\n}\n\nexport class UploadFileFieldConfig extends BaseFieldConfig {\n size: string;\n endPoint?: string;\n userImgClass?: string;\n shape?: string;\n accept?: string;\n fileSizeLimit?: number | undefined;\n context: HttpContext | undefined;\n title: string;\n description: string;\n\n constructor(\n config: Omit<BaseFieldConstructorConfig, 'type'> & {\n size?: string;\n endPoint?: string;\n userImgClass?: string;\n shape?: string;\n accept?: string;\n fileSizeLimit?: number | undefined;\n context?: HttpContext | undefined;\n title?: string;\n description?: string;\n },\n ) {\n super({ ...config, type: 'upload-file' });\n this.size = config.size || 'normal';\n this.endPoint = config.endPoint || 'uploader';\n this.userImgClass =\n config.userImgClass || 'w-25! h-25! text-4xl! text-gray-400!';\n this.shape = config.shape || 'field';\n this.accept = config.accept || '.pdf,.doc,.docx,.xlsx,image/*';\n this.fileSizeLimit = config.fileSizeLimit || undefined;\n this.context = config.context || undefined;\n this.title = config.title || 'Upload File';\n this.description = config.description || 'Click or drop a file to upload';\n }\n}\n\nexport class DateFieldConfig extends BaseFieldConfig {\n dateFormat: string;\n showTime: boolean;\n showSeconds: boolean;\n hourFormat: '12' | '24';\n minDate?: Date;\n maxDate?: Date;\n disabledDates: Date[];\n disabledDays: number[];\n yearRange: string;\n showIcon: boolean;\n icon: string;\n showButtonBar: boolean;\n showClear: boolean;\n inline: boolean;\n\n constructor(\n config: Omit<BaseFieldConstructorConfig, 'type'> & {\n dateFormat?: string;\n showTime?: boolean;\n showSeconds?: boolean;\n hourFormat?: '12' | '24';\n minDate?: Date;\n maxDate?: Date;\n disabledDates?: Date[];\n disabledDays?: number[];\n yearRange?: string;\n showIcon?: boolean;\n icon?: string;\n showButtonBar?: boolean;\n showClear?: boolean;\n inline?: boolean;\n },\n ) {\n super({ ...config, type: 'date' });\n this.dateFormat = config.dateFormat || 'yyyy-mm-dd';\n this.showTime = config.showTime || false;\n this.showSeconds = config.showSeconds || false;\n this.hourFormat = config.hourFormat || '24';\n this.minDate = config.minDate;\n this.maxDate = config.maxDate;\n this.disabledDates = config.disabledDates || [];\n this.disabledDays = config.disabledDays || [];\n this.yearRange = config.yearRange || '1900:2030';\n this.showIcon = config.showIcon || true;\n this.icon = config.icon || 'pi pi-calendar';\n this.showButtonBar = config.showButtonBar || false;\n this.showClear = config.showClear || true;\n this.inline = config.inline || false;\n }\n}\n\nexport class NumberFieldConfig extends BaseFieldConfig {\n min?: number;\n max?: number;\n step?: number;\n prefix?: string;\n suffix?: string;\n currency?: string;\n locale?: string;\n minFractionDigits?: number;\n maxFractionDigits?: number;\n useGrouping?: boolean;\n showButtons?: boolean;\n buttonLayout?: 'stacked' | 'horizontal';\n incrementButtonClass?: string;\n decrementButtonClass?: string;\n incrementButtonIcon?: string;\n decrementButtonIcon?: string;\n\n constructor(\n config: Omit<BaseFieldConstructorConfig, 'type'> & {\n min?: number;\n max?: number;\n step?: number;\n prefix?: string;\n suffix?: string;\n currency?: string;\n locale?: string;\n minFractionDigits?: number;\n maxFractionDigits?: number;\n useGrouping?: boolean;\n showButtons?: boolean;\n buttonLayout?: 'stacked' | 'horizontal';\n incrementButtonClass?: string;\n decrementButtonClass?: string;\n incrementButtonIcon?: string;\n decrementButtonIcon?: string;\n },\n ) {\n super({ ...config, type: 'number' });\n this.min = config.min;\n this.max = config.max;\n this.step = config.step || 1;\n this.prefix = config.prefix;\n this.suffix = config.suffix;\n this.currency = config.currency;\n this.locale = config.locale;\n this.minFractionDigits = config.minFractionDigits;\n this.maxFractionDigits = config.maxFractionDigits;\n this.useGrouping = config.useGrouping || false;\n this.showButtons = config.showButtons || false;\n this.buttonLayout = config.buttonLayout || 'stacked';\n this.incrementButtonClass = config.incrementButtonClass;\n this.decrementButtonClass = config.decrementButtonClass;\n this.incrementButtonIcon = config.incrementButtonIcon;\n this.decrementButtonIcon = config.decrementButtonIcon;\n }\n}\n\nexport class SliderFieldConfig extends BaseFieldConfig {\n min?: number;\n max?: number;\n step?: number;\n orientation?: 'horizontal' | 'vertical';\n range?: boolean;\n animate?: boolean;\n\n constructor(\n config: Omit<BaseFieldConstructorConfig, 'type'> & {\n min?: number;\n max?: number;\n step?: number;\n orientation?: 'horizontal' | 'vertical';\n range?: boolean;\n animate?: boolean;\n },\n ) {\n super({ ...config, type: 'slider' });\n this.min = config.min || 0;\n this.max = config.max || 100;\n this.step = config.step || 1;\n this.orientation = config.orientation || 'horizontal';\n this.range = config.range || false;\n this.animate = config.animate || false;\n }\n}\n\nexport class MultiSelectFieldConfig extends BaseFieldConfig {\n options: any[];\n optionLabel: string;\n optionValue: string;\n filter: boolean;\n filterBy: string;\n filterPlaceholder: string;\n showClear: boolean;\n emptyMessage: string;\n display?: 'comma' | 'chip';\n maxSelectedLabels?: number;\n selectedItemsLabel?: string;\n showToggleAll?: boolean;\n resetFilterOnHide?: boolean;\n\n constructor(\n config: Omit<BaseFieldConstructorConfig, 'type'> & {\n options: any[];\n optionLabel?: string;\n optionValue?: string;\n filter?: boolean;\n filterBy?: string;\n filterPlaceholder?: string;\n showClear?: boolean;\n emptyMessage?: string;\n display?: 'comma' | 'chip';\n maxSelectedLabels?: number;\n selectedItemsLabel?: string;\n showToggleAll?: boolean;\n resetFilterOnHide?: boolean;\n },\n ) {\n super({ ...config, type: 'multi-select' });\n this.options = config.options;\n this.optionLabel = config.optionLabel || 'label';\n this.optionValue = config.optionValue || 'value';\n this.filter = config.filter || false;\n this.filterBy = config.filterBy || '';\n this.filterPlaceholder = config.filterPlaceholder || 'Search...';\n this.showClear = config.showClear || false;\n this.emptyMessage = config.emptyMessage || 'No options available';\n this.display = config.display || 'comma';\n this.maxSelectedLabels = config.maxSelectedLabels || 3;\n this.selectedItemsLabel = config.selectedItemsLabel || '{0} items selected';\n this.showToggleAll = config.showToggleAll || true;\n this.resetFilterOnHide = config.resetFilterOnHide || false;\n }\n}\n\nexport class PickListFieldConfig extends BaseFieldConfig {\n options: any[];\n optionLabel: string;\n optionValue: string;\n sourceHeader: string;\n targetHeader: string;\n showSourceControls: boolean;\n showTargetControls: boolean;\n showSourceFilter: boolean;\n showTargetFilter: boolean;\n filterBy: string;\n dataKey?: string;\n dragdrop: boolean;\n responsive: boolean;\n breakpoint: string;\n\n constructor(\n config: Omit<BaseFieldConstructorConfig, 'type'> & {\n options: any[];\n optionLabel?: string;\n optionValue?: string;\n sourceHeader?: string;\n targetHeader?: string;\n showSourceControls?: boolean;\n showTargetControls?: boolean;\n showSourceFilter?: boolean;\n showTargetFilter?: boolean;\n filterBy?: string;\n dataKey?: string;\n dragdrop?: boolean;\n responsive?: boolean;\n },\n ) {\n super({ ...config, type: 'pick-list' });\n this.options = config.options;\n this.optionLabel = config.optionLabel || 'label';\n this.optionValue = config.optionValue || 'value';\n this.sourceHeader = config.sourceHeader || 'Available';\n this.targetHeader = config.targetHeader || 'Selected';\n this.showSourceControls =\n config.showSourceControls !== undefined\n ? config.showSourceControls\n : true;\n this.showTargetControls =\n config.showTargetControls !== undefined\n ? config.showTargetControls\n : true;\n this.showSourceFilter =\n config.showSourceFilter !== undefined ? config.showSourceFilter : false;\n this.showTargetFilter =\n config.showTargetFilter !== undefined ? config.showTargetFilter : false;\n this.filterBy = config.filterBy || this.optionLabel;\n this.dataKey = config.dataKey || this.optionValue;\n this.dragdrop = config.dragdrop ?? false;\n this.responsive = config.responsive ?? true;\n }\n}\n\nexport class CheckboxFieldConfig extends BaseFieldConfig {\n binary?: boolean;\n trueValue?: any;\n falseValue?: any;\n checkboxIcon?: string;\n\n constructor(\n config: Omit<BaseFieldConstructorConfig, 'type'> & {\n binary?: boolean;\n trueValue?: any;\n falseValue?: any;\n checkboxIcon?: string;\n },\n ) {\n super({ ...config, type: 'checkbox' });\n this.binary = config.binary !== false; // Default to true\n this.trueValue = config.trueValue !== undefined ? config.trueValue : true;\n this.falseValue =\n config.falseValue !== undefined ? config.falseValue : false;\n this.checkboxIcon = config.checkboxIcon;\n }\n}\nexport class ToggleFieldConfig extends BaseFieldConfig {\n constructor(config: Omit<BaseFieldConstructorConfig, 'type'>) {\n super({ ...config, type: 'toggle' });\n }\n}\nexport class EditorFieldConfig extends BaseFieldConfig {\n constructor(config: Omit<BaseFieldConstructorConfig, 'type'>) {\n super({ ...config, type: 'editor-field' });\n }\n}\n\nexport class ColorPickerFieldConfig extends BaseFieldConfig {\n format?: 'hex' | 'rgb' | 'hsb';\n inline?: boolean;\n appendTo?: any;\n variant?: 'outlined' | 'filled';\n\n constructor(\n config: Omit<BaseFieldConstructorConfig, 'type'> & {\n format?: 'hex' | 'rgb' | 'hsb';\n inline?: boolean;\n appendTo?: any;\n variant?: 'outlined' | 'filled';\n },\n ) {\n super({ ...config, type: 'color-picker' });\n this.format = config.format || 'hex';\n this.inline = config.inline || false;\n this.appendTo = config.appendTo || 'body';\n this.variant = config.variant || 'outlined';\n }\n}\n\nexport class IconFieldConfig extends BaseFieldConfig {\n constructor(config: Omit<BaseFieldConstructorConfig, 'type'> & {}) {\n super({ ...config, type: 'icon-field' });\n }\n}\n\nexport class SpacerFieldConfig extends BaseFieldConfig {\n constructor(\n config: Omit<BaseFieldConstructorConfig, 'type' | 'key' | 'label'> & {\n key?: string;\n label?: string;\n },\n ) {\n super({\n ...config,\n type: 'spacer',\n key: config.key || `spacer_${Date.now()}`,\n label: config.label || '',\n });\n }\n}\n\n// Union type for all field configurations\nexport type DynamicFieldConfig = {\n [K in keyof (TextFieldConfig &\n TextareaFieldConfig &\n SelectFieldConfig &\n DateFieldConfig &\n NumberFieldConfig &\n SliderFieldConfig &\n MultiSelectFieldConfig &\n PickListFieldConfig &\n CheckboxFieldConfig &\n ColorPickerFieldConfig &\n IconFieldConfig &\n SpacerFieldConfig &\n BaseFieldConfig)]?: (TextFieldConfig &\n TextareaFieldConfig &\n SelectFieldConfig &\n DateFieldConfig &\n NumberFieldConfig &\n SliderFieldConfig &\n MultiSelectFieldConfig &\n PickListFieldConfig &\n CheckboxFieldConfig &\n ColorPickerFieldConfig &\n IconFieldConfig &\n SpacerFieldConfig &\n BaseFieldConfig)[K];\n};\n\n// Layout configuration\nexport interface LayoutConfig {\n containerClass?: string;\n sectionClass?: string;\n fieldClass?: string;\n}\n\n// Simplified form configuration interface\nexport interface DynamicFormConfig {\n sections: SectionConfig[];\n layout?: LayoutConfig;\n}\nexport interface SectionConfig {\n key?: string;\n label?: string;\n type: 'none' | 'header';\n cssClass?: string;\n bodyClass?: string;\n headerClass?: string;\n columns?: number;\n\n order?: number;\n fields: DynamicFieldConfig[];\n}\nexport interface FieldState {\n hidden: boolean;\n disabled: boolean;\n}\n\nexport function createCustomValidator(\n customValidator: (value: any) => boolean | Promise<boolean>,\n message?: string,\n): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const result = customValidator(control.value);\n\n if (result instanceof Promise) {\n // Handle async validation\n result.then((isValid) => {\n if (!isValid) {\n control.setErrors({\n custom: { message: message || 'Invalid value' },\n });\n }\n });\n return null; // For async, return null initially\n } else {\n // Handle sync validation\n return result\n ? null\n : { custom: { message: message || 'Invalid value' } };\n }\n };\n}\n\nexport function wrapValidatorWithMessage(\n validator: ValidatorFn,\n errorKey: string,\n message: string,\n): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const result = validator(control);\n if (result) {\n // Replace the default error with custom message\n return { [errorKey]: { ...result[Object.keys(result)[0]], message } };\n }\n return null;\n };\n}\n// DynamicFieldConfig = input.required<any>({\n// transform: (value: any) => this.transformToDateFieldConfig(value)\n// });\n// transformToDateFieldConfig(value: any){\n// return new TextFieldConfig()\n// }\n","/*\n * Public API Surface of components\n */\n\nexport * from './lib/config/providemt';\nexport * from './lib/config/povide-messages';\nexport * from './lib/config/provide-confirmation';\nexport * from './lib/utils/theme';\nexport * from './lib/utils/inputs';\nexport * from './lib/config/dynamic-form.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EnvironmentProviders } from '@angular/core';
|
|
2
|
-
import { MessageService } from 'primeng/api';
|
|
2
|
+
import { MessageService, ConfirmationService } from 'primeng/api';
|
|
3
3
|
import { AbstractControl, ValidatorFn } from '@angular/forms';
|
|
4
4
|
import { HttpContext } from '@angular/common/http';
|
|
5
5
|
|
|
@@ -15,6 +15,8 @@ declare function provideMTComponents(themeOptions?: MTThemeOptions): Environment
|
|
|
15
15
|
|
|
16
16
|
declare function provideMTMessages(): typeof MessageService;
|
|
17
17
|
|
|
18
|
+
declare function provideMTConfirmation(): typeof ConfirmationService;
|
|
19
|
+
|
|
18
20
|
type TailwindColorPalette = {
|
|
19
21
|
[key: string]: string;
|
|
20
22
|
};
|
|
@@ -419,5 +421,5 @@ interface FieldState {
|
|
|
419
421
|
declare function createCustomValidator(customValidator: (value: any) => boolean | Promise<boolean>, message?: string): ValidatorFn;
|
|
420
422
|
declare function wrapValidatorWithMessage(validator: ValidatorFn, errorKey: string, message: string): ValidatorFn;
|
|
421
423
|
|
|
422
|
-
export { BaseFieldConfig, CheckboxFieldConfig, ColorPickerFieldConfig, DateFieldConfig, EditorFieldConfig, IconFieldConfig, MultiSelectFieldConfig, NumberFieldConfig, PickListFieldConfig, RadioButtonFieldConfig, RadioCardsFieldConfig, SelectFieldConfig, SliderFieldConfig, SpacerFieldConfig, TextFieldConfig, TextareaFieldConfig, ToggleFieldConfig, UploadFileFieldConfig, UserSearchFieldConfig, ValidatorConfig, changeBackgroundColor, changePrimaryColor, changeTextColor, createCustomValidator, generateTailwindPalette, isInvalid, provideMTComponents, provideMTMessages, wrapValidatorWithMessage };
|
|
424
|
+
export { BaseFieldConfig, CheckboxFieldConfig, ColorPickerFieldConfig, DateFieldConfig, EditorFieldConfig, IconFieldConfig, MultiSelectFieldConfig, NumberFieldConfig, PickListFieldConfig, RadioButtonFieldConfig, RadioCardsFieldConfig, SelectFieldConfig, SliderFieldConfig, SpacerFieldConfig, TextFieldConfig, TextareaFieldConfig, ToggleFieldConfig, UploadFileFieldConfig, UserSearchFieldConfig, ValidatorConfig, changeBackgroundColor, changePrimaryColor, changeTextColor, createCustomValidator, generateTailwindPalette, isInvalid, provideMTComponents, provideMTConfirmation, provideMTMessages, wrapValidatorWithMessage };
|
|
423
425
|
export type { BaseFieldConstructorConfig, DynamicFieldConfig, DynamicFormConfig, FieldRelationAction, FieldRelationConfig, FieldState, FieldType, LayoutConfig, MTThemeOptions, PaletteShade, ResponsiveColSpan, SectionConfig, ValidatorType };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@masterteam/components",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.51",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"directory": ".",
|
|
6
6
|
"linkDirectory": false,
|
|
@@ -55,37 +55,37 @@
|
|
|
55
55
|
"types": "./button/index.d.ts",
|
|
56
56
|
"default": "./fesm2022/masterteam-components-button.mjs"
|
|
57
57
|
},
|
|
58
|
-
"./
|
|
59
|
-
"types": "./
|
|
60
|
-
"default": "./fesm2022/masterteam-components-
|
|
58
|
+
"./card": {
|
|
59
|
+
"types": "./card/index.d.ts",
|
|
60
|
+
"default": "./fesm2022/masterteam-components-card.mjs"
|
|
61
61
|
},
|
|
62
62
|
"./chip": {
|
|
63
63
|
"types": "./chip/index.d.ts",
|
|
64
64
|
"default": "./fesm2022/masterteam-components-chip.mjs"
|
|
65
65
|
},
|
|
66
|
-
"./
|
|
67
|
-
"types": "./
|
|
68
|
-
"default": "./fesm2022/masterteam-components-
|
|
66
|
+
"./button-group": {
|
|
67
|
+
"types": "./button-group/index.d.ts",
|
|
68
|
+
"default": "./fesm2022/masterteam-components-button-group.mjs"
|
|
69
69
|
},
|
|
70
70
|
"./color-picker-field": {
|
|
71
71
|
"types": "./color-picker-field/index.d.ts",
|
|
72
72
|
"default": "./fesm2022/masterteam-components-color-picker-field.mjs"
|
|
73
73
|
},
|
|
74
|
-
"./
|
|
75
|
-
"types": "./
|
|
76
|
-
"default": "./fesm2022/masterteam-components-
|
|
74
|
+
"./checkbox-field": {
|
|
75
|
+
"types": "./checkbox-field/index.d.ts",
|
|
76
|
+
"default": "./fesm2022/masterteam-components-checkbox-field.mjs"
|
|
77
77
|
},
|
|
78
|
-
"./
|
|
79
|
-
"types": "./
|
|
80
|
-
"default": "./fesm2022/masterteam-components-
|
|
78
|
+
"./confirmation": {
|
|
79
|
+
"types": "./confirmation/index.d.ts",
|
|
80
|
+
"default": "./fesm2022/masterteam-components-confirmation.mjs"
|
|
81
81
|
},
|
|
82
82
|
"./date-field": {
|
|
83
83
|
"types": "./date-field/index.d.ts",
|
|
84
84
|
"default": "./fesm2022/masterteam-components-date-field.mjs"
|
|
85
85
|
},
|
|
86
|
-
"./
|
|
87
|
-
"types": "./
|
|
88
|
-
"default": "./fesm2022/masterteam-components-
|
|
86
|
+
"./dialog": {
|
|
87
|
+
"types": "./dialog/index.d.ts",
|
|
88
|
+
"default": "./fesm2022/masterteam-components-dialog.mjs"
|
|
89
89
|
},
|
|
90
90
|
"./drawer": {
|
|
91
91
|
"types": "./drawer/index.d.ts",
|
|
@@ -95,14 +95,14 @@
|
|
|
95
95
|
"types": "./editor-field/index.d.ts",
|
|
96
96
|
"default": "./fesm2022/masterteam-components-editor-field.mjs"
|
|
97
97
|
},
|
|
98
|
+
"./dynamic-drawer": {
|
|
99
|
+
"types": "./dynamic-drawer/index.d.ts",
|
|
100
|
+
"default": "./fesm2022/masterteam-components-dynamic-drawer.mjs"
|
|
101
|
+
},
|
|
98
102
|
"./field-validation": {
|
|
99
103
|
"types": "./field-validation/index.d.ts",
|
|
100
104
|
"default": "./fesm2022/masterteam-components-field-validation.mjs"
|
|
101
105
|
},
|
|
102
|
-
"./icon-field": {
|
|
103
|
-
"types": "./icon-field/index.d.ts",
|
|
104
|
-
"default": "./fesm2022/masterteam-components-icon-field.mjs"
|
|
105
|
-
},
|
|
106
106
|
"./formula-builder": {
|
|
107
107
|
"types": "./formula-builder/index.d.ts",
|
|
108
108
|
"default": "./fesm2022/masterteam-components-formula-builder.mjs"
|
|
@@ -111,29 +111,25 @@
|
|
|
111
111
|
"types": "./menu/index.d.ts",
|
|
112
112
|
"default": "./fesm2022/masterteam-components-menu.mjs"
|
|
113
113
|
},
|
|
114
|
-
"./
|
|
115
|
-
"types": "./
|
|
116
|
-
"default": "./fesm2022/masterteam-components-
|
|
114
|
+
"./icon-field": {
|
|
115
|
+
"types": "./icon-field/index.d.ts",
|
|
116
|
+
"default": "./fesm2022/masterteam-components-icon-field.mjs"
|
|
117
117
|
},
|
|
118
118
|
"./list": {
|
|
119
119
|
"types": "./list/index.d.ts",
|
|
120
120
|
"default": "./fesm2022/masterteam-components-list.mjs"
|
|
121
121
|
},
|
|
122
|
-
"./number-field": {
|
|
123
|
-
"types": "./number-field/index.d.ts",
|
|
124
|
-
"default": "./fesm2022/masterteam-components-number-field.mjs"
|
|
125
|
-
},
|
|
126
122
|
"./modal": {
|
|
127
123
|
"types": "./modal/index.d.ts",
|
|
128
124
|
"default": "./fesm2022/masterteam-components-modal.mjs"
|
|
129
125
|
},
|
|
130
|
-
"./
|
|
131
|
-
"types": "./
|
|
132
|
-
"default": "./fesm2022/masterteam-components-
|
|
126
|
+
"./multi-select-field": {
|
|
127
|
+
"types": "./multi-select-field/index.d.ts",
|
|
128
|
+
"default": "./fesm2022/masterteam-components-multi-select-field.mjs"
|
|
133
129
|
},
|
|
134
|
-
"./
|
|
135
|
-
"types": "./
|
|
136
|
-
"default": "./fesm2022/masterteam-components-
|
|
130
|
+
"./number-field": {
|
|
131
|
+
"types": "./number-field/index.d.ts",
|
|
132
|
+
"default": "./fesm2022/masterteam-components-number-field.mjs"
|
|
137
133
|
},
|
|
138
134
|
"./pick-list-field": {
|
|
139
135
|
"types": "./pick-list-field/index.d.ts",
|
|
@@ -143,14 +139,22 @@
|
|
|
143
139
|
"types": "./radio-button-field/index.d.ts",
|
|
144
140
|
"default": "./fesm2022/masterteam-components-radio-button-field.mjs"
|
|
145
141
|
},
|
|
146
|
-
"./
|
|
147
|
-
"types": "./
|
|
148
|
-
"default": "./fesm2022/masterteam-components-
|
|
142
|
+
"./paginator": {
|
|
143
|
+
"types": "./paginator/index.d.ts",
|
|
144
|
+
"default": "./fesm2022/masterteam-components-paginator.mjs"
|
|
149
145
|
},
|
|
150
146
|
"./radio-cards": {
|
|
151
147
|
"types": "./radio-cards/index.d.ts",
|
|
152
148
|
"default": "./fesm2022/masterteam-components-radio-cards.mjs"
|
|
153
149
|
},
|
|
150
|
+
"./module-summary-card": {
|
|
151
|
+
"types": "./module-summary-card/index.d.ts",
|
|
152
|
+
"default": "./fesm2022/masterteam-components-module-summary-card.mjs"
|
|
153
|
+
},
|
|
154
|
+
"./radio-cards-field": {
|
|
155
|
+
"types": "./radio-cards-field/index.d.ts",
|
|
156
|
+
"default": "./fesm2022/masterteam-components-radio-cards-field.mjs"
|
|
157
|
+
},
|
|
154
158
|
"./select-field": {
|
|
155
159
|
"types": "./select-field/index.d.ts",
|
|
156
160
|
"default": "./fesm2022/masterteam-components-select-field.mjs"
|
|
@@ -159,10 +163,6 @@
|
|
|
159
163
|
"types": "./slider-field/index.d.ts",
|
|
160
164
|
"default": "./fesm2022/masterteam-components-slider-field.mjs"
|
|
161
165
|
},
|
|
162
|
-
"./tabs": {
|
|
163
|
-
"types": "./tabs/index.d.ts",
|
|
164
|
-
"default": "./fesm2022/masterteam-components-tabs.mjs"
|
|
165
|
-
},
|
|
166
166
|
"./table": {
|
|
167
167
|
"types": "./table/index.d.ts",
|
|
168
168
|
"default": "./fesm2022/masterteam-components-table.mjs"
|
|
@@ -171,6 +171,10 @@
|
|
|
171
171
|
"types": "./text-field/index.d.ts",
|
|
172
172
|
"default": "./fesm2022/masterteam-components-text-field.mjs"
|
|
173
173
|
},
|
|
174
|
+
"./tabs": {
|
|
175
|
+
"types": "./tabs/index.d.ts",
|
|
176
|
+
"default": "./fesm2022/masterteam-components-tabs.mjs"
|
|
177
|
+
},
|
|
174
178
|
"./textarea-field": {
|
|
175
179
|
"types": "./textarea-field/index.d.ts",
|
|
176
180
|
"default": "./fesm2022/masterteam-components-textarea-field.mjs"
|
|
@@ -179,14 +183,14 @@
|
|
|
179
183
|
"types": "./toast/index.d.ts",
|
|
180
184
|
"default": "./fesm2022/masterteam-components-toast.mjs"
|
|
181
185
|
},
|
|
182
|
-
"./toggle-field": {
|
|
183
|
-
"types": "./toggle-field/index.d.ts",
|
|
184
|
-
"default": "./fesm2022/masterteam-components-toggle-field.mjs"
|
|
185
|
-
},
|
|
186
186
|
"./tooltip": {
|
|
187
187
|
"types": "./tooltip/index.d.ts",
|
|
188
188
|
"default": "./fesm2022/masterteam-components-tooltip.mjs"
|
|
189
189
|
},
|
|
190
|
+
"./toggle-field": {
|
|
191
|
+
"types": "./toggle-field/index.d.ts",
|
|
192
|
+
"default": "./fesm2022/masterteam-components-toggle-field.mjs"
|
|
193
|
+
},
|
|
190
194
|
"./upload-field": {
|
|
191
195
|
"types": "./upload-field/index.d.ts",
|
|
192
196
|
"default": "./fesm2022/masterteam-components-upload-field.mjs"
|