@topjoao/top-design-system 0.1.0-beta.9 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/nuxt.js CHANGED
@@ -15,14 +15,34 @@ var n = "@topjoao/top-design-system", r = `${n}/style.css`, i = t({
15
15
  name: "TopConfirmDialog",
16
16
  export: "TopConfirmDialog",
17
17
  filePath: n
18
+ }), e({
19
+ name: "TopDatePicker",
20
+ export: "TopDatePicker",
21
+ filePath: n
22
+ }), e({
23
+ name: "TopFileUpload",
24
+ export: "TopFileUpload",
25
+ filePath: n
18
26
  }), e({
19
27
  name: "TopInputText",
20
28
  export: "TopInputText",
21
29
  filePath: n
30
+ }), e({
31
+ name: "TopNavBar",
32
+ export: "TopNavBar",
33
+ filePath: n
22
34
  }), e({
23
35
  name: "TopSelect",
24
36
  export: "TopSelect",
25
37
  filePath: n
38
+ }), e({
39
+ name: "TopTabs",
40
+ export: "TopTabs",
41
+ filePath: n
42
+ }), e({
43
+ name: "TopToast",
44
+ export: "TopToast",
45
+ filePath: n
26
46
  });
27
47
  }
28
48
  });
package/dist/nuxt.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"nuxt.js","names":[],"sources":["../src/nuxt.ts"],"sourcesContent":["import { addComponent, defineNuxtModule } from '@nuxt/kit'\r\n\r\nconst packageName = '@topjoao/top-design-system'\r\nconst stylePath = `${packageName}/style.css`\r\n\r\nexport default defineNuxtModule({\r\n meta: {\r\n name: packageName,\r\n configKey: 'topDesignSystem',\r\n compatibility: {\r\n nuxt: '^3.0.0 || ^4.0.0',\r\n },\r\n },\r\n setup(_options, nuxt) {\r\n if (!nuxt.options.css.some((style) => style === stylePath)) {\r\n nuxt.options.css.push(stylePath)\r\n }\r\n\r\n addComponent({\r\n name: 'TopButton',\r\n export: 'TopButton',\r\n filePath: packageName,\r\n })\n addComponent({\n name: 'TopConfirmDialog',\n export: 'TopConfirmDialog',\n filePath: packageName,\n })\n addComponent({\n name: 'TopInputText',\n export: 'TopInputText',\n filePath: packageName,\n })\r\n addComponent({\r\n name: 'TopSelect',\r\n export: 'TopSelect',\r\n filePath: packageName,\r\n })\r\n },\r\n})\r\n"],"mappings":";;AAEA,IAAM,IAAc,8BACd,IAAY,GAAG,EAAY,aAEjC,IAAe,EAAiB;CAC9B,MAAM;EACJ,MAAM;EACN,WAAW;EACX,eAAe,EACb,MAAM,mBACR;CACF;CACA,MAAM,GAAU,GAAM;EAoBpB,AAnBK,EAAK,QAAQ,IAAI,MAAM,MAAU,MAAU,CAAS,KACvD,EAAK,QAAQ,IAAI,KAAK,CAAS,GAGjC,EAAa;GACX,MAAM;GACN,QAAQ;GACR,UAAU;EACZ,CAAC,GACD,EAAa;GACX,MAAM;GACN,QAAQ;GACR,UAAU;EACZ,CAAC,GACD,EAAa;GACX,MAAM;GACN,QAAQ;GACR,UAAU;EACZ,CAAC,GACD,EAAa;GACX,MAAM;GACN,QAAQ;GACR,UAAU;EACZ,CAAC;CACH;AACF,CAAC"}
1
+ {"version":3,"file":"nuxt.js","names":[],"sources":["../src/nuxt.ts"],"sourcesContent":["import { addComponent, defineNuxtModule } from '@nuxt/kit'\r\n\r\nconst packageName = '@topjoao/top-design-system'\r\nconst stylePath = `${packageName}/style.css`\r\n\r\nexport default defineNuxtModule({\r\n meta: {\r\n name: packageName,\r\n configKey: 'topDesignSystem',\r\n compatibility: {\r\n nuxt: '^3.0.0 || ^4.0.0',\r\n },\r\n },\r\n setup(_options, nuxt) {\r\n if (!nuxt.options.css.some((style) => style === stylePath)) {\r\n nuxt.options.css.push(stylePath)\r\n }\r\n\r\n addComponent({\r\n name: 'TopButton',\r\n export: 'TopButton',\r\n filePath: packageName,\r\n })\r\n addComponent({\r\n name: 'TopConfirmDialog',\r\n export: 'TopConfirmDialog',\r\n filePath: packageName,\r\n })\r\n addComponent({\r\n name: 'TopDatePicker',\r\n export: 'TopDatePicker',\r\n filePath: packageName,\r\n })\r\n addComponent({\r\n name: 'TopFileUpload',\r\n export: 'TopFileUpload',\r\n filePath: packageName,\r\n })\r\n addComponent({\r\n name: 'TopInputText',\r\n export: 'TopInputText',\r\n filePath: packageName,\r\n })\r\n addComponent({\r\n name: 'TopNavBar',\r\n export: 'TopNavBar',\r\n filePath: packageName,\r\n })\r\n addComponent({\r\n name: 'TopSelect',\r\n export: 'TopSelect',\r\n filePath: packageName,\r\n })\r\n addComponent({\n name: 'TopTabs',\n export: 'TopTabs',\n filePath: packageName,\n })\n addComponent({\n name: 'TopToast',\n export: 'TopToast',\n filePath: packageName,\n })\n },\n})\n"],"mappings":";;AAEA,IAAM,IAAc,8BACd,IAAY,GAAG,EAAY,aAEjC,IAAe,EAAiB;CAC9B,MAAM;EACJ,MAAM;EACN,WAAW;EACX,eAAe,EACb,MAAM,mBACR;CACF;CACA,MAAM,GAAU,GAAM;EA6CpB,AA5CK,EAAK,QAAQ,IAAI,MAAM,MAAU,MAAU,CAAS,KACvD,EAAK,QAAQ,IAAI,KAAK,CAAS,GAGjC,EAAa;GACX,MAAM;GACN,QAAQ;GACR,UAAU;EACZ,CAAC,GACD,EAAa;GACX,MAAM;GACN,QAAQ;GACR,UAAU;EACZ,CAAC,GACD,EAAa;GACX,MAAM;GACN,QAAQ;GACR,UAAU;EACZ,CAAC,GACD,EAAa;GACX,MAAM;GACN,QAAQ;GACR,UAAU;EACZ,CAAC,GACD,EAAa;GACX,MAAM;GACN,QAAQ;GACR,UAAU;EACZ,CAAC,GACD,EAAa;GACX,MAAM;GACN,QAAQ;GACR,UAAU;EACZ,CAAC,GACD,EAAa;GACX,MAAM;GACN,QAAQ;GACR,UAAU;EACZ,CAAC,GACD,EAAa;GACX,MAAM;GACN,QAAQ;GACR,UAAU;EACZ,CAAC,GACD,EAAa;GACX,MAAM;GACN,QAAQ;GACR,UAAU;EACZ,CAAC;CACH;AACF,CAAC"}
package/dist/plugin.cjs CHANGED
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./TopToast-B376KudO.cjs");var t={install(t){t.component(`TopButton`,e.o),t.component(`TopConfirmDialog`,e.i),t.component(`TopInputText`,e.r),t.component(`TopSelect`,e.n),t.component(`TopToast`,e.t)}};exports.TopSolutionsDesignSystem=t;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./TopToast-CC6iBs5S.cjs");var t={install(t){t.component(`TopButton`,e.u),t.component(`TopConfirmDialog`,e.c),t.component(`TopDatePicker`,e.s),t.component(`TopFileUpload`,e.o),t.component(`TopInputText`,e.a),t.component(`TopNavBar`,e.i),t.component(`TopSelect`,e.r),t.component(`TopTabs`,e.n),t.component(`TopToast`,e.t)}};exports.TopSolutionsDesignSystem=t;
2
2
  //# sourceMappingURL=plugin.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.cjs","names":[],"sources":["../src/plugin.ts"],"sourcesContent":["import type { App, Plugin } from 'vue'\nimport TopButton from './components/TopButton.vue'\nimport TopConfirmDialog from './components/TopConfirmDialog.vue'\nimport TopInputText from './components/TopInputText.vue'\nimport TopSelect from './components/TopSelect.vue'\nimport TopToast from './components/TopToast.vue'\r\n\r\ndeclare module 'vue' {\r\n export interface GlobalComponents {\n TopButton: typeof TopButton\n TopConfirmDialog: typeof TopConfirmDialog\n TopInputText: typeof TopInputText\n TopSelect: typeof TopSelect\r\n TopToast: typeof TopToast\r\n }\r\n}\r\n\r\nexport const TopSolutionsDesignSystem: Plugin = {\r\n install(app: App) {\r\n app.component('TopButton', TopButton)\n app.component('TopConfirmDialog', TopConfirmDialog)\n app.component('TopInputText', TopInputText)\n app.component('TopSelect', TopSelect)\r\n app.component('TopToast', TopToast)\r\n },\r\n}\r\n"],"mappings":"8GAiBA,IAAa,EAAmC,CAC9C,QAAQ,EAAU,CAChB,EAAI,UAAU,YAAa,EAAA,CAAS,EACpC,EAAI,UAAU,mBAAoB,EAAA,CAAgB,EAClD,EAAI,UAAU,eAAgB,EAAA,CAAY,EAC1C,EAAI,UAAU,YAAa,EAAA,CAAS,EACpC,EAAI,UAAU,WAAY,EAAA,CAAQ,CACpC,CACF"}
1
+ {"version":3,"file":"plugin.cjs","names":[],"sources":["../src/plugin.ts"],"sourcesContent":["import type { App, Plugin } from 'vue'\r\nimport TopButton from './components/TopButton.vue'\r\nimport TopConfirmDialog from './components/TopConfirmDialog.vue'\r\nimport TopDatePicker from './components/TopDatePicker.vue'\r\nimport TopFileUpload from './components/TopFileUpload.vue'\r\nimport TopInputText from './components/TopInputText.vue'\r\nimport TopNavBar from './components/TopNavBar.vue'\r\nimport TopSelect from './components/TopSelect.vue'\r\nimport TopTabs from './components/TopTabs.vue'\r\nimport TopToast from './components/TopToast.vue'\r\n\r\ndeclare module 'vue' {\r\n export interface GlobalComponents {\r\n TopButton: typeof TopButton\r\n TopConfirmDialog: typeof TopConfirmDialog\r\n TopDatePicker: typeof TopDatePicker\r\n TopFileUpload: typeof TopFileUpload\r\n TopInputText: typeof TopInputText\r\n TopNavBar: typeof TopNavBar\r\n TopSelect: typeof TopSelect\r\n TopTabs: typeof TopTabs\r\n TopToast: typeof TopToast\r\n }\r\n}\r\n\r\nexport const TopSolutionsDesignSystem: Plugin = {\r\n install(app: App) {\r\n app.component('TopButton', TopButton)\r\n app.component('TopConfirmDialog', TopConfirmDialog)\r\n app.component('TopDatePicker', TopDatePicker)\r\n app.component('TopFileUpload', TopFileUpload)\r\n app.component('TopInputText', TopInputText)\r\n app.component('TopNavBar', TopNavBar)\r\n app.component('TopSelect', TopSelect)\r\n app.component('TopTabs', TopTabs)\r\n app.component('TopToast', TopToast)\r\n },\r\n}\r\n"],"mappings":"8GAyBA,IAAa,EAAmC,CAC9C,QAAQ,EAAU,CAChB,EAAI,UAAU,YAAa,EAAA,CAAS,EACpC,EAAI,UAAU,mBAAoB,EAAA,CAAgB,EAClD,EAAI,UAAU,gBAAiB,EAAA,CAAa,EAC5C,EAAI,UAAU,gBAAiB,EAAA,CAAa,EAC5C,EAAI,UAAU,eAAgB,EAAA,CAAY,EAC1C,EAAI,UAAU,YAAa,EAAA,CAAS,EACpC,EAAI,UAAU,YAAa,EAAA,CAAS,EACpC,EAAI,UAAU,UAAW,EAAA,CAAO,EAChC,EAAI,UAAU,WAAY,EAAA,CAAQ,CACpC,CACF"}
package/dist/plugin.d.ts CHANGED
@@ -1,15 +1,23 @@
1
1
  import { Plugin } from 'vue';
2
2
  import { default as TopButton } from './components/TopButton.vue';
3
3
  import { default as TopConfirmDialog } from './components/TopConfirmDialog.vue';
4
+ import { default as TopDatePicker } from './components/TopDatePicker.vue';
5
+ import { default as TopFileUpload } from './components/TopFileUpload.vue';
4
6
  import { default as TopInputText } from './components/TopInputText.vue';
7
+ import { default as TopNavBar } from './components/TopNavBar.vue';
5
8
  import { default as TopSelect } from './components/TopSelect.vue';
9
+ import { default as TopTabs } from './components/TopTabs.vue';
6
10
  import { default as TopToast } from './components/TopToast.vue';
7
11
  declare module 'vue' {
8
12
  interface GlobalComponents {
9
13
  TopButton: typeof TopButton;
10
14
  TopConfirmDialog: typeof TopConfirmDialog;
15
+ TopDatePicker: typeof TopDatePicker;
16
+ TopFileUpload: typeof TopFileUpload;
11
17
  TopInputText: typeof TopInputText;
18
+ TopNavBar: typeof TopNavBar;
12
19
  TopSelect: typeof TopSelect;
20
+ TopTabs: typeof TopTabs;
13
21
  TopToast: typeof TopToast;
14
22
  }
15
23
  }
package/dist/plugin.js CHANGED
@@ -1,9 +1,9 @@
1
- import { i as e, n as t, o as n, r, t as i } from "./TopToast-YNoWv10q.js";
1
+ import { a as e, c as t, i as n, n as r, o as i, r as a, s as o, t as s, u as c } from "./TopToast-BFY94BWZ.js";
2
2
  //#region src/plugin.ts
3
- var a = { install(a) {
4
- a.component("TopButton", n), a.component("TopConfirmDialog", e), a.component("TopInputText", r), a.component("TopSelect", t), a.component("TopToast", i);
3
+ var l = { install(l) {
4
+ l.component("TopButton", c), l.component("TopConfirmDialog", t), l.component("TopDatePicker", o), l.component("TopFileUpload", i), l.component("TopInputText", e), l.component("TopNavBar", n), l.component("TopSelect", a), l.component("TopTabs", r), l.component("TopToast", s);
5
5
  } };
6
6
  //#endregion
7
- export { a as TopSolutionsDesignSystem };
7
+ export { l as TopSolutionsDesignSystem };
8
8
 
9
9
  //# sourceMappingURL=plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","names":[],"sources":["../src/plugin.ts"],"sourcesContent":["import type { App, Plugin } from 'vue'\nimport TopButton from './components/TopButton.vue'\nimport TopConfirmDialog from './components/TopConfirmDialog.vue'\nimport TopInputText from './components/TopInputText.vue'\nimport TopSelect from './components/TopSelect.vue'\nimport TopToast from './components/TopToast.vue'\r\n\r\ndeclare module 'vue' {\r\n export interface GlobalComponents {\n TopButton: typeof TopButton\n TopConfirmDialog: typeof TopConfirmDialog\n TopInputText: typeof TopInputText\n TopSelect: typeof TopSelect\r\n TopToast: typeof TopToast\r\n }\r\n}\r\n\r\nexport const TopSolutionsDesignSystem: Plugin = {\r\n install(app: App) {\r\n app.component('TopButton', TopButton)\n app.component('TopConfirmDialog', TopConfirmDialog)\n app.component('TopInputText', TopInputText)\n app.component('TopSelect', TopSelect)\r\n app.component('TopToast', TopToast)\r\n },\r\n}\r\n"],"mappings":";;AAiBA,IAAa,IAAmC,EAC9C,QAAQ,GAAU;CAKhB,AAJA,EAAI,UAAU,aAAa,CAAS,GACpC,EAAI,UAAU,oBAAoB,CAAgB,GAClD,EAAI,UAAU,gBAAgB,CAAY,GAC1C,EAAI,UAAU,aAAa,CAAS,GACpC,EAAI,UAAU,YAAY,CAAQ;AACpC,EACF"}
1
+ {"version":3,"file":"plugin.js","names":[],"sources":["../src/plugin.ts"],"sourcesContent":["import type { App, Plugin } from 'vue'\r\nimport TopButton from './components/TopButton.vue'\r\nimport TopConfirmDialog from './components/TopConfirmDialog.vue'\r\nimport TopDatePicker from './components/TopDatePicker.vue'\r\nimport TopFileUpload from './components/TopFileUpload.vue'\r\nimport TopInputText from './components/TopInputText.vue'\r\nimport TopNavBar from './components/TopNavBar.vue'\r\nimport TopSelect from './components/TopSelect.vue'\r\nimport TopTabs from './components/TopTabs.vue'\r\nimport TopToast from './components/TopToast.vue'\r\n\r\ndeclare module 'vue' {\r\n export interface GlobalComponents {\r\n TopButton: typeof TopButton\r\n TopConfirmDialog: typeof TopConfirmDialog\r\n TopDatePicker: typeof TopDatePicker\r\n TopFileUpload: typeof TopFileUpload\r\n TopInputText: typeof TopInputText\r\n TopNavBar: typeof TopNavBar\r\n TopSelect: typeof TopSelect\r\n TopTabs: typeof TopTabs\r\n TopToast: typeof TopToast\r\n }\r\n}\r\n\r\nexport const TopSolutionsDesignSystem: Plugin = {\r\n install(app: App) {\r\n app.component('TopButton', TopButton)\r\n app.component('TopConfirmDialog', TopConfirmDialog)\r\n app.component('TopDatePicker', TopDatePicker)\r\n app.component('TopFileUpload', TopFileUpload)\r\n app.component('TopInputText', TopInputText)\r\n app.component('TopNavBar', TopNavBar)\r\n app.component('TopSelect', TopSelect)\r\n app.component('TopTabs', TopTabs)\r\n app.component('TopToast', TopToast)\r\n },\r\n}\r\n"],"mappings":";;AAyBA,IAAa,IAAmC,EAC9C,QAAQ,GAAU;CAShB,AARA,EAAI,UAAU,aAAa,CAAS,GACpC,EAAI,UAAU,oBAAoB,CAAgB,GAClD,EAAI,UAAU,iBAAiB,CAAa,GAC5C,EAAI,UAAU,iBAAiB,CAAa,GAC5C,EAAI,UAAU,gBAAgB,CAAY,GAC1C,EAAI,UAAU,aAAa,CAAS,GACpC,EAAI,UAAU,aAAa,CAAS,GACpC,EAAI,UAAU,WAAW,CAAO,GAChC,EAAI,UAAU,YAAY,CAAQ;AACpC,EACF"}
package/dist/style.css CHANGED
@@ -1,2 +1,2 @@
1
- .top-button{background-color:#0000;border-radius:12px;width:fit-content;height:fit-content}.top-confirm-dialog{border-radius:10px;box-shadow:0 4px 4px #00000040}.top-confirm-dialog__icon{color:var(--top-confirm-dialog-accent)}.top-confirm-dialog__confirm--danger{border-color:var(--top-confirm-dialog-accent)!important;background-color:var(--top-confirm-dialog-accent)!important}.top-confirm-dialog__confirm--danger:hover{border-color:var(--top-confirm-dialog-accent-hover)!important;background-color:var(--top-confirm-dialog-accent-hover)!important}.top-confirm-dialog__confirm--danger:focus{box-shadow:0 0 0 .2rem var(--top-confirm-dialog-accent)!important}.top-select{width:100%;position:relative}.top-select .p-inputtext.p-component.p-inputtext-fluid.p-autocomplete-input{border-radius:10px 0 0 10px!important;padding-left:35px!important}.top-select .p-autocomplete-dropdown{border-radius:0 10px 10px 0!important}.top-select-option-prefix{color:var(--top-primary-800)!important}.dark .top-select-option-prefix{color:var(--top-primary-100)!important}.top-select-option-label{-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;flex:1;min-width:0;display:-webkit-box;overflow:hidden}.top-select-panel,.top-select-panel .p-virtualscroller,.top-select-panel .p-autocomplete-list-container,.top-select-panel .p-autocomplete-list{overflow-x:hidden!important}.top-select-panel .p-autocomplete-option{max-width:100%}.top-toast__content{flex-direction:column;gap:.5rem;width:100%;display:flex}.top-toast__summary{font-weight:600}.top-toast__detail{font-size:.875rem}.top-toast__footer{color:#6b7280;border-top:1px solid #9ca3af;margin-top:.25rem;padding-top:.5rem;font-size:.75rem}.top-toast__action{color:#fff;cursor:pointer;border:0;border-radius:10px;align-self:flex-start;align-items:center;gap:.5rem;padding:.25rem .75rem;font-size:.875rem;display:inline-flex}.top-toast__summary--success,.top-toast__detail--success{color:#047857}.top-toast__summary--error,.top-toast__detail--error{color:#dc2626}.top-toast__summary--warn,.top-toast__detail--warn{color:#b45309}.top-toast__summary--info,.top-toast__detail--info{color:#036da3}.top-toast__summary--secondary,.top-toast__detail--secondary{color:#52525b}.top-toast__summary--contrast,.top-toast__detail--contrast{color:#18181b}.top-toast__action--success{background:#059669}.top-toast__action--success:hover{background:#047857}.top-toast__action--error{background:#dc2626}.top-toast__action--error:hover{background:#b91c1c}.top-toast__action--warn{background:#d97706}.top-toast__action--warn:hover{background:#b45309}.top-toast__action--info{background:#036da3}.top-toast__action--info:hover{background:#02466b}.top-toast__action--secondary{background:#52525b}.top-toast__action--secondary:hover{background:#3f3f46}.top-toast__action--contrast{background:#18181b}.top-toast__action--contrast:hover{background:#000}.top-solutions-component .pointer-events-none{pointer-events:none}.top-solutions-component .absolute{position:absolute}.top-solutions-component .relative{position:relative}.top-solutions-component .left-3{left:.75rem}.top-solutions-component .right-\[-0\.25rem\]{right:-.25rem}.top-solutions-component .top-1\/2{top:50%}.top-solutions-component .top-\[-0\.5rem\]{top:-.5rem}.top-solutions-component .z-10{z-index:10}.top-solutions-component .my-1{margin-top:.25rem;margin-bottom:.25rem}.top-solutions-component .mt-2{margin-top:.5rem}.top-solutions-component .line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.top-solutions-component .line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.top-solutions-component .flex{display:flex}.top-solutions-component .hidden{display:none}.top-solutions-component .size-8{width:2rem;height:2rem}.top-solutions-component .h-3{height:.75rem}.top-solutions-component .h-\[40px\]{height:40px}.top-solutions-component .h-auto{height:auto}.top-solutions-component .h-fit{height:fit-content}.top-solutions-component .min-h-\[100px\]{min-height:100px}.top-solutions-component .min-h-\[36px\]{min-height:36px}.top-solutions-component .min-h-\[40px\]{min-height:40px}.top-solutions-component .min-h-\[84px\]{min-height:84px}.top-solutions-component .w-3{width:.75rem}.top-solutions-component .w-fit{width:fit-content}.top-solutions-component .w-full{width:100%}.top-solutions-component .min-w-0{min-width:0}.top-solutions-component .max-w-\[300px\]{max-width:300px}.top-solutions-component .max-w-\[85vw\]{max-width:85vw}.top-solutions-component .max-w-full{max-width:100%}.top-solutions-component .flex-1{flex:1}.top-solutions-component .shrink-0{flex-shrink:0}.top-solutions-component .-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.top-solutions-component .cursor-pointer{cursor:pointer}.top-solutions-component .flex-col{flex-direction:column}.top-solutions-component .items-start{align-items:flex-start}.top-solutions-component .items-center{align-items:center}.top-solutions-component .justify-center{justify-content:center}.top-solutions-component .gap-1{gap:.25rem}.top-solutions-component .gap-2{gap:.5rem}.top-solutions-component .gap-3{gap:.75rem}.top-solutions-component .gap-4{gap:1rem}.top-solutions-component .overflow-hidden{overflow:hidden}.top-solutions-component .overflow-x-hidden{overflow-x:hidden}.top-solutions-component .text-ellipsis{text-overflow:ellipsis}.top-solutions-component .whitespace-nowrap{white-space:nowrap}.top-solutions-component .rounded-\[10px\]{border-radius:10px}.top-solutions-component .rounded-\[12px\]{border-radius:12px}.top-solutions-component .rounded-\[9px\]{border-radius:9px}.top-solutions-component .rounded-full{border-radius:9999px}.top-solutions-component .rounded-md{border-radius:.375rem}.top-solutions-component .rounded-sm{border-radius:.125rem}.top-solutions-component .border{border-width:1px}.top-solutions-component .border-0{border-width:0}.top-solutions-component .\!border-primary-900{border-color:var(--top-primary-900)!important}.top-solutions-component .\!border-red-600{--tw-border-opacity:1!important;border-color:rgb(220 38 38/var(--tw-border-opacity,1))!important}.top-solutions-component .border-primary-800{border-color:var(--top-primary-800)}.top-solutions-component .border-secondary-600{border-color:var(--top-secondary-600)}.top-solutions-component .\!bg-red-600{--tw-bg-opacity:1!important;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))!important}.top-solutions-component .bg-primary-100{background-color:var(--top-primary-100)}.top-solutions-component .bg-primary-200{background-color:var(--top-primary-200)}.top-solutions-component .bg-primary-500{background-color:var(--top-primary-500)}.top-solutions-component .bg-primary-900{background-color:var(--top-primary-900)}.top-solutions-component .bg-transparent{background-color:#0000}.top-solutions-component .p-0{padding:0}.top-solutions-component .p-6{padding:1.5rem}.top-solutions-component .px-2{padding-left:.5rem;padding-right:.5rem}.top-solutions-component .px-3{padding-left:.75rem;padding-right:.75rem}.top-solutions-component .py-0{padding-top:0;padding-bottom:0}.top-solutions-component .py-1{padding-top:.25rem;padding-bottom:.25rem}.top-solutions-component .py-2{padding-top:.5rem;padding-bottom:.5rem}.top-solutions-component .py-3{padding-top:.75rem;padding-bottom:.75rem}.top-solutions-component .\!pl-9{padding-left:2.25rem!important}.top-solutions-component .pl-9{padding-left:2.25rem}.top-solutions-component .pt-2{padding-top:.5rem}.top-solutions-component .text-center{text-align:center}.top-solutions-component .\!text-sm{font-size:.875rem!important;line-height:1.25rem!important}.top-solutions-component .\!text-xs{font-size:.75rem!important;line-height:1rem!important}.top-solutions-component .text-2xl{font-size:1.5rem;line-height:2rem}.top-solutions-component .text-\[11px\]{font-size:11px}.top-solutions-component .text-\[40px\]{font-size:40px}.top-solutions-component .text-base{font-size:1rem;line-height:1.5rem}.top-solutions-component .text-lg{font-size:1.125rem;line-height:1.75rem}.top-solutions-component .text-sm{font-size:.875rem;line-height:1.25rem}.top-solutions-component .text-xs{font-size:.75rem;line-height:1rem}.top-solutions-component .font-bold{font-weight:700}.top-solutions-component .font-medium{font-weight:500}.top-solutions-component .font-semibold{font-weight:600}.top-solutions-component .leading-5{line-height:1.25rem}.top-solutions-component .text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.top-solutions-component .text-primary-600{color:var(--top-primary-600)}.top-solutions-component .text-primary-800{color:var(--top-primary-800)}.top-solutions-component .text-primary-900{color:var(--top-primary-900)}.top-solutions-component .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.top-solutions-component .text-secondary-500{color:var(--top-secondary-500)}.top-solutions-component .text-secondary-700{color:var(--top-secondary-700)}.top-solutions-component .text-secondary-800{color:var(--top-secondary-800)}.top-solutions-component .text-secondary-900{color:var(--top-secondary-900)}.top-solutions-component .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.top-solutions-component .\!shadow-none{--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)!important}.top-solutions-component .shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.top-solutions-component .outline-none{outline-offset:2px;outline:2px solid #0000}.top-solutions-component .ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.top-solutions-component .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)}.top-solutions-component .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--top-primary-50:#eef9ff;--top-primary-100:#dff4ff;--top-primary-200:#c5e6f8;--top-primary-300:#8ec4df;--top-primary-400:#66acd1;--top-primary-500:#2488bc;--top-primary-600:#036da3;--top-primary-700:#1b5783;--top-primary-800:#02466b;--top-primary-900:#052f4a;--top-primary-950:#0c192d;--top-secondary-50:#fafafa;--top-secondary-100:#f4f4f5;--top-secondary-200:#e9e9e9;--top-secondary-300:#d8d8d8;--top-secondary-400:#b8b8b8;--top-secondary-500:#8e8e8e;--top-secondary-600:#676767;--top-secondary-700:#4b4b4b;--top-secondary-800:#343434;--top-secondary-900:#1c1917;--top-secondary-950:#0c0a09}.top-solutions-component .read-only\:cursor-default:read-only{cursor:default}.top-solutions-component .read-only\:bg-secondary-50:read-only{background-color:var(--top-secondary-50)}.top-solutions-component .hover\:\!border-primary-800:hover{border-color:var(--top-primary-800)!important}.top-solutions-component .hover\:\!border-red-700:hover{--tw-border-opacity:1!important;border-color:rgb(185 28 28/var(--tw-border-opacity,1))!important}.top-solutions-component .hover\:\!bg-red-700:hover{--tw-bg-opacity:1!important;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))!important}.top-solutions-component .hover\:bg-primary-50:hover{background-color:var(--top-primary-50)}.top-solutions-component .hover\:bg-primary-800:hover{background-color:var(--top-primary-800)}.top-solutions-component .hover\:bg-secondary-200:hover{background-color:var(--top-secondary-200)}.top-solutions-component .focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.top-solutions-component .focus-visible\:ring-primary-500:focus-visible{--tw-ring-color:var(--top-primary-500)}.top-solutions-component .focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.top-solutions-component .enabled\:hover\:border-secondary-700:hover:enabled{border-color:var(--top-secondary-700)}.top-solutions-component .disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.top-solutions-component .disabled\:opacity-50:disabled{opacity:.5}.top-solutions-component .dark\:\!border-zinc-500:is(.dark *){--tw-border-opacity:1!important;border-color:rgb(113 113 122/var(--tw-border-opacity,1))!important}.top-solutions-component .dark\:border-primary-200:is(.dark *){border-color:var(--top-primary-200)}.top-solutions-component .dark\:border-zinc-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(82 82 91/var(--tw-border-opacity,1))}.top-solutions-component .dark\:\!bg-transparent:is(.dark *){background-color:#0000!important}.top-solutions-component .dark\:\!bg-zinc-600:is(.dark *){--tw-bg-opacity:1!important;background-color:rgb(82 82 91/var(--tw-bg-opacity,1))!important}.top-solutions-component .dark\:\!bg-zinc-700:is(.dark *){--tw-bg-opacity:1!important;background-color:rgb(63 63 70/var(--tw-bg-opacity,1))!important}.top-solutions-component .dark\:\!bg-zinc-800:is(.dark *){--tw-bg-opacity:1!important;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))!important}.top-solutions-component .dark\:bg-cyan-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(14 116 144/var(--tw-bg-opacity,1))}.top-solutions-component .dark\:bg-primary-900:is(.dark *){background-color:var(--top-primary-900)}.top-solutions-component .dark\:bg-transparent:is(.dark *){background-color:#0000}.top-solutions-component .dark\:bg-zinc-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.top-solutions-component .dark\:\!text-white:is(.dark *){--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity,1))!important}.top-solutions-component .dark\:\!text-zinc-100:is(.dark *){--tw-text-opacity:1!important;color:rgb(244 244 245/var(--tw-text-opacity,1))!important}.top-solutions-component .dark\:\!text-zinc-400:is(.dark *){--tw-text-opacity:1!important;color:rgb(161 161 170/var(--tw-text-opacity,1))!important}.top-solutions-component .dark\:text-primary-100:is(.dark *){color:var(--top-primary-100)}.top-solutions-component .dark\:text-primary-500:is(.dark *){color:var(--top-primary-500)}.top-solutions-component .dark\:text-red-400:is(.dark *){--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.top-solutions-component .dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.top-solutions-component .dark\:text-zinc-100:is(.dark *){--tw-text-opacity:1;color:rgb(244 244 245/var(--tw-text-opacity,1))}.top-solutions-component .dark\:text-zinc-200:is(.dark *){--tw-text-opacity:1;color:rgb(228 228 231/var(--tw-text-opacity,1))}.top-solutions-component .dark\:text-zinc-300:is(.dark *){--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity,1))}.top-solutions-component .dark\:text-zinc-400:is(.dark *){--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.top-solutions-component .dark\:placeholder\:text-zinc-400:is(.dark *)::-moz-placeholder{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.top-solutions-component .dark\:placeholder\:text-zinc-400:is(.dark *)::placeholder{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.top-solutions-component .dark\:-moz-read-only\:bg-zinc-800:-moz-read-only:is(.dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.top-solutions-component .dark\:read-only\:bg-zinc-800:read-only:is(.dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.top-solutions-component .dark\:hover\:\!bg-zinc-600:hover:is(.dark *){--tw-bg-opacity:1!important;background-color:rgb(82 82 91/var(--tw-bg-opacity,1))!important}.top-solutions-component .dark\:hover\:bg-primary-900:hover:is(.dark *){background-color:var(--top-primary-900)}.top-solutions-component .dark\:hover\:bg-zinc-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(63 63 70/var(--tw-bg-opacity,1))}.top-solutions-component .dark\:enabled\:hover\:border-zinc-500:hover:enabled:is(.dark *){--tw-border-opacity:1;border-color:rgb(113 113 122/var(--tw-border-opacity,1))}
1
+ .top-button{background-color:#0000;border-radius:12px;width:fit-content;height:fit-content}.top-confirm-dialog{border-radius:10px;box-shadow:0 4px 4px #00000040}.top-confirm-dialog__icon{color:var(--top-confirm-dialog-accent)}.top-confirm-dialog__confirm--danger{border-color:var(--top-confirm-dialog-accent)!important;background-color:var(--top-confirm-dialog-accent)!important}.top-confirm-dialog__confirm--danger:hover{border-color:var(--top-confirm-dialog-accent-hover)!important;background-color:var(--top-confirm-dialog-accent-hover)!important}.top-confirm-dialog__confirm--danger:focus{box-shadow:0 0 0 .2rem var(--top-confirm-dialog-accent)!important}.top-date-picker .p-datepicker{width:100%}.top-date-picker .p-datepicker-input-icon-container{color:var(--top-field-icon)}.top-date-picker-panel{border-radius:10px}.top-file-upload__root,.top-file-upload__dropzone{width:100%}.top-file-upload__root{background:0 0;border:0}.top-file-upload__empty-icon{border:1px solid var(--top-secondary-300);width:6rem;height:6rem;color:var(--top-primary-800);border-radius:9999px;justify-content:center;align-items:center;display:inline-flex}.dark .top-file-upload__empty-icon{border-color:var(--top-secondary-600);color:var(--top-primary-300)}.top-file-upload__dropzone[data-p-highlight=true]{border-color:var(--top-primary-600)!important;background:var(--top-primary-100)!important}.dark .top-file-upload__dropzone[data-p-highlight=true]{border-color:var(--top-primary-400)!important;background:var(--top-primary-950)!important}.top-nav-bar,.top-nav-bar *,.top-nav-bar__mobile-drawer,.top-nav-bar__mobile-drawer *{box-sizing:border-box}.top-nav-bar{z-index:1000;width:100%;color:var(--top-nav-fg,#fff);font-family:var(--top-nav-font-family,inherit);font-size:var(--top-nav-font-size,inherit);font-weight:var(--top-nav-font-weight,inherit);line-height:var(--top-nav-line-height,normal);position:relative}.top-nav-bar button,.top-nav-bar input,.top-nav-bar__mobile-drawer button,.top-nav-bar__mobile-drawer input,.top-nav-bar__drawer-user-popup button{font:inherit}.top-nav-bar button,.top-nav-bar__mobile-drawer button,.top-nav-bar__drawer-user-popup button{appearance:none;-webkit-tap-highlight-color:transparent}.top-nav-bar button:focus,.top-nav-bar__mobile-drawer button:focus,.top-nav-bar__drawer-user-popup button:focus{outline:0}.top-nav-bar button:focus-visible,.top-nav-bar__mobile-drawer button:focus-visible,.top-nav-bar__drawer-user-popup button:focus-visible{outline:2px solid var(--top-nav-focus-ring,#ffffffbf);outline-offset:2px}.top-nav-bar__small-panel button:focus-visible,.top-nav-bar__menu-panel button:focus-visible,.top-nav-bar__search-results button:focus-visible,.top-nav-bar__favorites-row button:focus-visible,.top-nav-bar__drawer-user-popup button:focus-visible{outline-color:var(--top-nav-focus-ring-light,#025a84)}.top-nav-bar__header{z-index:4;min-width:0;min-height:var(--top-nav-header-height,4.75rem);padding:var(--top-nav-header-padding,.625rem 1.5rem);background:var(--top-nav-bg,#013a59);align-items:center;gap:.75rem;display:flex;position:relative;overflow:visible}.top-nav-bar__brand,.top-nav-bar__context,.top-nav-bar__desktop-tools,.top-nav-bar__quick-actions,.top-nav-bar__custom-actions{align-items:center;min-width:0;display:flex}.top-nav-bar__brand{flex:0 auto;overflow:hidden}.top-nav-bar__brand-context-divider{background:var(--top-nav-border,#fff3);flex:0 0 1px;width:1px;height:2.5rem;display:none}.top-nav-bar__context{flex:0 auto;transition:max-width .15s;overflow:hidden}.top-nav-bar__header--context-compact .top-nav-bar__context{max-width:var(--top-nav-context-compact-width,3.25rem)}.top-nav-bar__client{border:1px solid var(--top-nav-border,#fff3);border-radius:var(--top-nav-radius,8px);min-width:0;max-width:22rem;color:inherit;background:#ffffff1a;align-items:center;gap:.65rem;padding:.3rem .5rem;display:inline-flex}.top-nav-bar__client-logo{border-radius:calc(var(--top-nav-radius,8px) - 2px);width:2rem;height:2rem;color:var(--top-nav-bg,#013a59);font-size:var(--top-nav-caption-font-size,.75em);font-weight:var(--top-nav-strong-font-weight,700);background:#fff;flex:0 0 2rem;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}img.top-nav-bar__client-logo{-o-object-fit:contain;object-fit:contain;padding:.125rem;display:block}.top-nav-bar__client-details{flex-direction:column;min-width:0;display:flex}.top-nav-bar__client-name,.top-nav-bar__client-subtitle{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.top-nav-bar__client-name{font-size:var(--top-nav-secondary-font-size,.875em);font-weight:var(--top-nav-strong-font-weight,700)}.top-nav-bar__client-subtitle{color:var(--top-nav-muted-fg,#bfdbfe);font-size:var(--top-nav-caption-font-size,.75em)}.top-nav-bar__spacer{flex:auto;min-width:0}.top-nav-bar__desktop-tools{flex:none;gap:.5rem}.top-nav-bar__quick-actions,.top-nav-bar__custom-actions{gap:.5rem}.top-nav-bar__square-button,.top-nav-bar__mobile-trigger{width:var(--top-nav-action-size,2.5rem);height:var(--top-nav-action-size,2.5rem);flex:0 0 var(--top-nav-action-size,2.5rem);border:1px solid var(--top-nav-border,#fff3);border-radius:var(--top-nav-radius,8px);color:var(--top-nav-fg,#fff);cursor:pointer;background:#ffffff1a;justify-content:center;align-items:center;padding:0;transition:border-color .15s,background-color .15s;display:inline-flex}.top-nav-bar__square-button:hover,.top-nav-bar__mobile-trigger:hover,.top-nav-bar__square-button--active{background:#ffffff2e;border-color:#ffffff73}.top-nav-bar button:disabled{cursor:not-allowed;opacity:.5}.top-nav-bar__mobile-trigger{display:none}.top-nav-bar__search-shell,.top-nav-bar__search,.top-nav-bar__user-menu,.top-nav-bar__quick-actions,.top-nav-bar__favorites-menu{position:relative}.top-nav-bar__search{width:clamp(8.5rem,15vw,15rem);height:var(--top-nav-action-size,2.5rem)}.top-nav-bar__search--expanded{width:16rem}.top-nav-bar__search>i,.top-nav-bar__drawer-search>i{z-index:1;color:var(--top-nav-muted-fg,#bfdbfe);pointer-events:none;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.top-nav-bar__search input,.top-nav-bar__drawer-search input{width:100%;height:var(--top-nav-action-size,2.5rem);border:1px solid var(--top-nav-border,#fff3);border-radius:var(--top-nav-radius,8px);color:var(--top-nav-fg,#fff);background:#ffffff1a;outline:0;padding:.5rem 2.25rem;transition:border-color .15s,background-color .15s,box-shadow .15s}.top-nav-bar__search input::-moz-placeholder{color:var(--top-nav-muted-fg,#bfdbfe)}.top-nav-bar__drawer-search input::-moz-placeholder{color:var(--top-nav-muted-fg,#bfdbfe)}.top-nav-bar__search input::placeholder,.top-nav-bar__drawer-search input::placeholder{color:var(--top-nav-muted-fg,#bfdbfe)}.top-nav-bar__search input:focus,.top-nav-bar__drawer-search input:focus{background:#ffffff26;border-color:#ffffffb3;box-shadow:0 0 0 2px #fff3}.top-nav-bar__search-clear{z-index:1;border-radius:calc(var(--top-nav-radius,8px) - 2px);width:1.75rem;height:1.75rem;color:var(--top-nav-muted-fg,#bfdbfe);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:.45rem;transform:translateY(-50%)}.top-nav-bar__search-clear:hover{color:var(--top-nav-fg,#fff);background:#ffffff1a}.top-nav-bar__search-results{z-index:8;border:1px solid var(--top-nav-menu-outline,#d7dde6);border-radius:var(--top-nav-radius,8px);background:var(--top-nav-menu-bg,#f1f5f9);width:max-content;min-width:100%;max-width:min(24rem,100vw - 2rem);max-height:70vh;box-shadow:var(--top-nav-shadow,0 12px 30px #0f172a2e);color:var(--top-nav-menu-fg,#0f172a);padding:.5rem;position:absolute;top:calc(100% + .5rem);left:0;overflow:hidden}.top-nav-bar__search-results-scroll{overscroll-behavior:contain;scrollbar-color:var(--top-nav-menu-scrollbar-thumb,#94a3b8) transparent;scrollbar-width:thin;max-height:calc(70vh - 1rem);overflow:hidden auto}.top-nav-bar__search-results-scroll::-webkit-scrollbar{width:.45rem}.top-nav-bar__search-results-scroll::-webkit-scrollbar-track{background:0 0}.top-nav-bar__search-results-scroll::-webkit-scrollbar-thumb{background:var(--top-nav-menu-scrollbar-thumb,#94a3b8);background-clip:padding-box;border:2px solid #0000;border-radius:999px}.top-nav-bar__user-trigger{max-width:18rem;height:var(--top-nav-action-size,2.5rem);border:1px solid var(--top-nav-border,#fff3);border-radius:var(--top-nav-radius,8px);color:inherit;cursor:pointer;text-align:left;background:#ffffff1a;align-items:center;gap:.65rem;padding:.3rem .5rem;transition:border-color .15s,background-color .15s;display:inline-flex}.top-nav-bar__user-trigger:hover{background:#ffffff26;border-color:#fff6}.top-nav-bar__user-avatar{width:1.75rem;height:1.75rem;color:var(--top-nav-bg,#013a59);font-size:var(--top-nav-caption-font-size,.75em);font-weight:var(--top-nav-strong-font-weight,700);-o-object-fit:cover;object-fit:cover;background:#fff;border-radius:50%;flex:0 0 1.75rem;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.top-nav-bar__user-details{flex-direction:column;min-width:0;display:flex}.top-nav-bar__user-name,.top-nav-bar__user-subtitle{text-overflow:ellipsis;white-space:nowrap;max-width:13rem;overflow:hidden}.top-nav-bar__user-name{font-size:var(--top-nav-secondary-font-size,.875em);font-weight:var(--top-nav-strong-font-weight,700)}.top-nav-bar__user-subtitle{color:var(--top-nav-muted-fg,#bfdbfe);font-size:var(--top-nav-caption-font-size,.75em)}.top-nav-bar__chevron{margin-left:.15rem;font-size:.7em}.top-nav-bar__popover-layer{z-index:9;padding-top:.5rem;position:absolute;top:100%}.top-nav-bar__actions-layer,.top-nav-bar__user-layer,.top-nav-bar__favorites-layer{right:0}.top-nav-bar__small-panel{border:1px solid var(--top-nav-menu-outline,#d7dde6);border-radius:var(--top-nav-radius,8px);background:var(--top-nav-menu-bg,#f1f5f9);min-width:13rem;box-shadow:var(--top-nav-shadow,0 12px 30px #0f172a2e);color:var(--top-nav-menu-fg,#0f172a);padding:.5rem}.top-nav-bar__user-dropdown{width:max-content;min-width:16rem}.top-nav-bar__user-separator{background:var(--top-nav-menu-outline,#d7dde6);height:1px;margin:.35rem 0}.top-nav-bar__breadcrumbs{z-index:3;border-top:1px solid var(--top-nav-border,#fff3);background:var(--top-nav-breadcrumb-bg,var(--top-nav-bg,#013a59));min-width:0;min-height:2.5rem;padding:var(--top-nav-breadcrumb-padding,.25rem 1.5rem);flex-wrap:wrap;align-items:center;gap:.25rem;display:flex;position:relative}.top-nav-bar__crumb,.top-nav-bar__favorite-toggle{border-radius:calc(var(--top-nav-radius,8px) - 2px);min-height:2rem;color:inherit;cursor:pointer;font-size:1em;font-weight:var(--top-nav-strong-font-weight,600);background:0 0;border:0;flex:none;justify-content:center;align-items:center;gap:.4rem;padding:.35rem .5rem;display:inline-flex}.top-nav-bar__crumb:hover,.top-nav-bar__favorite-toggle:hover{background:#ffffff1a}.top-nav-bar__crumb--static{cursor:default}.top-nav-bar__crumb--static:hover{background:0 0}.top-nav-bar__crumb>svg{flex:none;width:1.125rem;height:1.125rem}.top-nav-bar__separator{color:var(--top-nav-muted-fg,#bfdbfe);flex:none}.top-nav-bar__dropdown{flex:none;position:relative}.top-nav-bar__menu-layer{z-index:10;padding-top:.25rem;position:absolute;top:100%;left:0}.top-nav-bar__menu-panel{border:6px solid var(--top-nav-menu-border,#fff);border-radius:var(--top-nav-radius,8px);outline:1px solid var(--top-nav-menu-outline,#d7dde6);background:var(--top-nav-menu-bg,#f1f5f9);max-width:calc(100vw - 1.5rem);max-height:min(70vh,38rem);box-shadow:var(--top-nav-shadow,0 12px 30px #0f172a2e);color:var(--top-nav-menu-fg,#0f172a);align-items:flex-start;padding:.25rem;display:flex;overflow:auto}.top-nav-bar__section-list{width:var(--top-nav-section-width,16rem);flex:0 0 var(--top-nav-section-width,16rem);padding:.25rem}.top-nav-bar__submenu-region,.top-nav-bar__cascade-level{align-items:flex-start;display:flex}.top-nav-bar__cascade-level{flex:none;padding:.25rem}.top-nav-bar__menu-column{width:var(--top-nav-column-width,18rem);flex:0 0 var(--top-nav-column-width,18rem)}.top-nav-bar__menu-item{border-radius:calc(var(--top-nav-radius,8px) - 2px);width:100%;min-height:2.25rem;color:inherit;cursor:pointer;padding:var(--top-nav-menu-item-padding,.5rem .75rem);text-align:left;background:0 0;border:0;align-items:center;gap:.6rem;font-size:1em;display:flex}.top-nav-bar__menu-item:hover{background:var(--top-nav-menu-hover,#e2e8f0)}.top-nav-bar__menu-item--explored{background:var(--top-nav-menu-explored,#e2e8f0)}.top-nav-bar__menu-item>i:first-child{text-align:center;flex:0 0 1.125rem;width:1.125rem}.top-nav-bar__menu-label{min-width:0;line-height:var(--top-nav-item-line-height,1.25);flex:auto}.top-nav-bar__menu-arrow{flex:none;margin-left:auto;font-size:.7em}.top-nav-bar__item-count,.top-nav-bar__mobile-count{color:#64748b;font-size:var(--top-nav-caption-font-size,.75em)}.top-nav-bar__current{border-radius:calc(var(--top-nav-radius,8px) - 2px);background:var(--top-nav-current-bg,#ffffff1a);min-width:0;max-width:32rem;box-shadow:inset 0 0 0 1px var(--top-nav-current-border,#ffffff26);font-size:1em;font-weight:var(--top-nav-strong-font-weight,700);white-space:nowrap;flex:0 auto;align-items:center;gap:.15rem;padding:.25rem .3rem .25rem .45rem;display:inline-flex;overflow:hidden}.top-nav-bar__current-label{text-overflow:ellipsis;min-width:0;overflow:hidden}.top-nav-bar__breadcrumb-actions{align-items:center;gap:.25rem;min-width:0;margin-left:auto;display:flex}.top-nav-bar__favorite-toggle{width:1.5rem;min-height:1.5rem;color:var(--top-nav-accent,#fbbf24);padding:0}.top-nav-bar__accent{color:var(--top-nav-accent,#fbbf24)}.top-nav-bar__favorites-panel{width:min(22rem,100vw - 1.5rem);max-height:70vh;overflow-y:auto}.top-nav-bar__favorites-measure{z-index:-1;visibility:hidden;pointer-events:none;position:absolute;top:0;left:1.5rem;right:1.5rem;overflow:hidden}.top-nav-bar__favorites-measure-content,.top-nav-bar__favorites-row,.top-nav-bar__favorites-list,.top-nav-bar__favorites-title,.top-nav-bar__favorites-row-item,.top-nav-bar__favorites-measure-item{align-items:center;display:flex}.top-nav-bar__favorites-measure-content{gap:.75rem;width:max-content;padding:.625rem .5rem}.top-nav-bar__favorites-title{font-size:var(--top-nav-secondary-font-size,.875em);font-weight:var(--top-nav-strong-font-weight,700);flex:none;gap:.5rem}.top-nav-bar__favorites-icon{color:var(--top-nav-accent,#fbbf24);font-size:1.125em}.top-nav-bar__favorites-measure-item{font-size:var(--top-nav-secondary-font-size,.875em);font-weight:var(--top-nav-strong-font-weight,600);flex:none;gap:.25rem}.top-nav-bar__favorites-separator{color:#cbd5e1;font-size:var(--top-nav-secondary-font-size,.875em);flex:none}.top-nav-bar__favorites-row{background:var(--top-nav-favorites-bg,#f8fafc);min-height:2.75rem;color:var(--top-nav-favorites-fg,var(--top-nav-menu-fg,#0f172a));border-bottom:1px solid var(--top-nav-favorites-border,#e2e8f0);box-shadow:var(--top-nav-favorites-shadow,0 1px 2px #0f172a0f);gap:.75rem;padding:.25rem 1.5rem;overflow:hidden}.top-nav-bar__favorites-list{flex:none;gap:.25rem;min-width:0}.top-nav-bar__favorites-row-item{color:inherit;cursor:pointer;font-size:var(--top-nav-secondary-font-size,.875em);font-weight:var(--top-nav-strong-font-weight,600);background:0 0;border:0;flex:none;gap:.5rem;padding:.25rem}.top-nav-bar__favorites-row-item:hover{color:var(--top-nav-accent,#025a84);text-decoration:underline}.top-nav-bar-favorites-row-enter-active,.top-nav-bar-favorites-row-leave-active{transition:max-height .22s cubic-bezier(.4,0,.2,1),min-height .22s cubic-bezier(.4,0,.2,1);overflow:hidden}.top-nav-bar-favorites-row-enter-active>*,.top-nav-bar-favorites-row-leave-active>*{transition:opacity .12s}.top-nav-bar-favorites-row-enter-from,.top-nav-bar-favorites-row-leave-to{min-height:0;max-height:0}.top-nav-bar-favorites-row-enter-from>*,.top-nav-bar-favorites-row-leave-to>*{opacity:0}.top-nav-bar-favorites-row-enter-to,.top-nav-bar-favorites-row-leave-from{min-height:2.75rem;max-height:2.75rem}.top-nav-bar-favorites-row-enter-to>*,.top-nav-bar-favorites-row-leave-from>*{opacity:1}.top-nav-bar-favorites-trigger-enter-active,.top-nav-bar-favorites-trigger-leave-active{transition:max-width .4s cubic-bezier(.4,0,.2,1),opacity .45s ease-in-out;overflow:hidden}.top-nav-bar-favorites-trigger-enter-from,.top-nav-bar-favorites-trigger-leave-to{opacity:0;max-width:0}.top-nav-bar-favorites-trigger-enter-to,.top-nav-bar-favorites-trigger-leave-from{opacity:1;max-width:10rem}.top-nav-bar__empty,.top-nav-bar__drawer-empty{color:#64748b;font-size:var(--top-nav-secondary-font-size,.875em);padding:.75rem;display:block}.top-nav-bar__mobile-drawer.p-drawer{font-family:var(--top-nav-font-family,inherit);font-size:var(--top-nav-font-size,inherit);font-weight:var(--top-nav-font-weight,inherit);line-height:var(--top-nav-line-height,normal);border:0;width:var(--top-nav-drawer-width,min(22rem, calc(100vw - 1.5rem)))!important}.top-nav-bar__mobile-drawer .p-drawer-content{padding:0}.top-nav-bar__mobile-menu{background:var(--top-nav-drawer-bg,var(--top-nav-bg,#013a59));width:100%;height:100%;min-height:100%;color:var(--top-nav-fg,#fff);flex-direction:column;display:flex;overflow:hidden}.top-nav-bar__mobile-menu-header{border-bottom:1px solid var(--top-nav-border,#fff3);flex:none;justify-content:space-between;align-items:center;gap:.75rem;min-height:4.75rem;padding:.875rem 1rem;display:flex}.top-nav-bar__drawer-brand{flex:auto;min-width:0}.top-nav-bar__drawer-tools{border-bottom:1px solid var(--top-nav-border,#fff3);flex:none;padding:.75rem}.top-nav-bar__drawer-search{position:relative}.top-nav-bar__drawer-search input{height:2.5rem}.top-nav-bar__drawer-action{border:1px solid var(--top-nav-border,#fff3);border-radius:var(--top-nav-radius,8px);width:100%;min-height:2.75rem;color:inherit;cursor:pointer;font-weight:var(--top-nav-strong-font-weight,700);text-align:left;background:#ffffff1a;align-items:center;gap:.75rem;margin-top:.625rem;padding:.65rem .75rem;display:flex}.top-nav-bar__drawer-action:hover,.top-nav-bar__drawer-action--active{background:#ffffff2e}.top-nav-bar__mobile-menu-scroll{overscroll-behavior:contain;scrollbar-color:#ffffff4d transparent;scrollbar-width:thin;flex:auto;min-height:0;padding:.75rem;overflow-y:auto}.top-nav-bar__mobile-menu-track{border-radius:var(--top-nav-drawer-radius,16px);background:#ffffff14;min-height:100%;padding:.375rem}.top-nav-bar__mobile-favorites{border-bottom:1px solid var(--top-nav-mobile-divider,var(--top-nav-border,#fff3));margin-bottom:.35rem;padding-bottom:.35rem}.top-nav-bar__mobile-node--section{border-top:1px solid var(--top-nav-mobile-divider,var(--top-nav-border,#fff3));margin-top:.5rem;padding-top:.5rem}.top-nav-bar__mobile-tree--nested{padding:var(--top-nav-mobile-submenu-padding,.5rem 0 .375rem .35rem);margin-left:.85rem}.top-nav-bar__mobile-node+.top-nav-bar__mobile-node{margin-top:var(--top-nav-mobile-item-gap,.25rem)}.top-nav-bar__mobile-item{border-radius:calc(var(--top-nav-drawer-radius,16px) - 4px);appearance:none;-webkit-tap-highlight-color:transparent;width:100%;min-height:2.75rem;color:inherit;cursor:pointer;padding:var(--top-nav-menu-item-padding,.65rem .75rem);text-align:left;background:0 0;border:0;align-items:center;gap:.7rem;transition:color .2s,background-color .2s,box-shadow .2s;display:flex}.top-nav-bar__mobile-item:focus{background:0 0;outline:0}.top-nav-bar__mobile-item:focus-visible{outline-offset:2px;outline:2px solid #ffffffbf}.top-nav-bar__mobile-item:hover,.top-nav-bar__mobile-item:active{background:#ffffff1a}.top-nav-bar__mobile-item--active,.top-nav-bar__mobile-item--ancestor{background:var(--top-nav-mobile-active-bg,#fff);color:var(--top-nav-mobile-active-fg,#025a84);font-weight:var(--top-nav-strong-font-weight,700);box-shadow:0 2px 10px #0000001f}.top-nav-bar__mobile-item--active:hover,.top-nav-bar__mobile-item--active:active,.top-nav-bar__mobile-item--active:focus,.top-nav-bar__mobile-item--ancestor:hover,.top-nav-bar__mobile-item--ancestor:active,.top-nav-bar__mobile-item--ancestor:focus{background:var(--top-nav-mobile-active-bg,#fff);color:var(--top-nav-mobile-active-fg,#025a84)}.top-nav-bar__mobile-item>i:first-child{text-align:center;flex:0 0 1.125rem;width:1.125rem}.top-nav-bar__mobile-item-label{min-width:0;line-height:var(--top-nav-item-line-height,1.25);flex:auto}.top-nav-bar__mobile-chevron{flex:none;margin-left:auto;font-size:.75em;transition:transform .2s}.top-nav-bar__mobile-chevron--open{transform:rotate(180deg)}.top-nav-bar__mobile-footer{border-top:1px solid var(--top-nav-border,#fff3);background:var(--top-nav-drawer-footer-bg,#012d47);flex:none;padding:.75rem}.top-nav-bar__drawer-user{border-radius:var(--top-nav-radius,8px);appearance:none;-webkit-tap-highlight-color:transparent;width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:.75rem;padding:.5rem;display:flex}.top-nav-bar__drawer-user:focus{background:0 0;outline:0}.top-nav-bar__drawer-user:focus-visible{outline-offset:2px;outline:2px solid #ffffffbf}.top-nav-bar__drawer-user .top-nav-bar__user-details{flex:auto}.top-nav-bar-menu-expand-enter-active,.top-nav-bar-menu-expand-leave-active{max-height:60rem;transition:max-height .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.top-nav-bar-menu-expand-enter-from,.top-nav-bar-menu-expand-leave-to{opacity:0;max-height:0;transform:translateY(-10px)}@media (width<=1023px){.top-nav-bar__header{min-height:3.75rem;padding:var(--top-nav-header-padding-mobile,.625rem .75rem);gap:.5rem}.top-nav-bar__mobile-trigger{display:inline-flex}.top-nav-bar__desktop-tools,.top-nav-bar__desktop-navigation,.top-nav-bar__desktop-navigation-separator,.top-nav-bar__desktop-only{display:none!important}.top-nav-bar__brand{flex:0 auto}.top-nav-bar__context{flex:auto}.top-nav-bar__spacer{display:none}.top-nav-bar__breadcrumbs{min-height:2.5rem;padding:var(--top-nav-breadcrumb-padding-mobile,.25rem .75rem);flex-wrap:wrap;overflow-x:visible}.top-nav-bar__favorites-measure,.top-nav-bar__breadcrumb-dropdown .top-nav-bar__menu-layer,.top-nav-bar__separator--current{display:none}.top-nav-bar__current{flex:14rem;width:100%;max-width:100%}.top-nav-bar__breadcrumb-actions{margin-left:0}}@media (width<=639px){.top-nav-bar__context{display:none}.top-nav-bar__brand{flex:auto}.top-nav-bar__crumb,.top-nav-bar__current{font-size:var(--top-nav-caption-font-size,.75em)}.top-nav-bar__breadcrumbs{gap:.125rem;padding-inline:.5rem}}@media (width>=1536px){.top-nav-bar__brand-context-divider{display:block}}@media (prefers-reduced-motion:reduce){.top-nav-bar *,.top-nav-bar :before,.top-nav-bar :after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.top-select{width:100%;position:relative}.top-select .p-inputtext.p-component.p-inputtext-fluid.p-autocomplete-input{border-radius:10px 0 0 10px!important;padding-left:35px!important}.top-select .p-autocomplete-dropdown{border-radius:0 10px 10px 0!important}.top-select-option-prefix{color:var(--top-primary-800)!important}.dark .top-select-option-prefix{color:var(--top-primary-100)!important}.top-select-option-label{-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;flex:1;min-width:0;display:-webkit-box;overflow:hidden}.top-select-panel,.top-select-panel .p-virtualscroller,.top-select-panel .p-autocomplete-list-container,.top-select-panel .p-autocomplete-list{overflow-x:hidden!important}.top-select-panel .p-autocomplete-option{max-width:100%}.top-tabs{--top-tabs-surface:#fff;--top-tabs-separator:#e2e8f0;--top-tabs-tab-background:#f3f4f6;--top-tabs-tab-active-background:#fff;--top-tabs-tab-border:#d1d5db;--top-tabs-tab-text:#6b7280;--top-tabs-tab-active-text:var(--top-primary-800);--top-tabs-panel-text:#334155;--top-tabs-indicator:var(--top-primary-500);min-width:0;color:var(--top-tabs-panel-text)}.top-tabs .p-tablist{background:var(--top-tabs-surface);min-width:0}.top-tabs .p-tablist-content{min-width:0}.top-tabs .p-tablist-tab-list{background:var(--top-tabs-surface);border:0;border-bottom:1px solid var(--top-tabs-separator);width:max-content;min-width:100%}.top-tabs .p-tab{border:1px solid var(--top-tabs-tab-border);background:var(--top-tabs-tab-background);color:var(--top-tabs-tab-text);white-space:nowrap;border-radius:.75rem .75rem 0 0;flex:none;align-items:center;gap:.25rem;margin:0 .25rem -1px 0;padding:1rem 1.125rem;font-size:1rem;font-weight:600;line-height:normal;transition:background-color .2s,border-color .2s,color .2s;display:flex}.top-tabs .p-tab:not(.p-disabled):hover{background:var(--top-tabs-tab-background);color:var(--top-tabs-tab-text)}.top-tabs .p-tab.p-tab-active,.top-tabs .p-tab.p-tab-active:hover{background:var(--top-tabs-tab-active-background);color:var(--top-tabs-tab-active-text)}.top-tabs .p-tab.p-disabled{background:var(--top-tabs-tab-background);color:var(--top-tabs-tab-text);cursor:not-allowed;opacity:.6}.top-tabs .p-tab:focus-visible,.top-tabs .p-tablist-nav-button:focus-visible{outline:1px solid var(--top-tabs-indicator);outline-offset:-1px}.top-tabs .p-tablist-active-bar{background:var(--top-tabs-indicator);border-radius:10px;height:3px}.top-tabs .p-tablist-nav-button{background:var(--top-tabs-surface);color:var(--top-tabs-tab-text);border:0}.top-tabs .p-tabpanels{background:var(--top-tabs-surface);color:var(--top-tabs-panel-text)}.top-tabs .p-tabpanel{background:var(--top-tabs-surface);color:var(--top-tabs-panel-text);padding:.875rem 1.125rem 1.125rem}.dark .top-tabs{--top-tabs-surface:#18181b;--top-tabs-separator:#3f3f46;--top-tabs-tab-background:#27272a;--top-tabs-tab-active-background:#3f3f46;--top-tabs-tab-border:#52525b;--top-tabs-tab-text:#d4d4d8;--top-tabs-tab-active-text:#fafafa;--top-tabs-panel-text:#fff;--top-tabs-indicator:var(--top-primary-400)}.top-toast__content{flex-direction:column;gap:.5rem;width:100%;display:flex}.top-toast__summary{font-weight:600}.top-toast__detail{font-size:.875rem}.top-toast__footer{color:#6b7280;border-top:1px solid #9ca3af;margin-top:.25rem;padding-top:.5rem;font-size:.75rem}.top-toast__action{color:#fff;cursor:pointer;border:0;border-radius:10px;align-self:flex-start;align-items:center;gap:.5rem;padding:.25rem .75rem;font-size:.875rem;display:inline-flex}.top-toast__summary--success,.top-toast__detail--success{color:#047857}.top-toast__summary--error,.top-toast__detail--error{color:#dc2626}.top-toast__summary--warn,.top-toast__detail--warn{color:#b45309}.top-toast__summary--info,.top-toast__detail--info{color:#036da3}.top-toast__summary--secondary,.top-toast__detail--secondary{color:#52525b}.top-toast__summary--contrast,.top-toast__detail--contrast{color:#18181b}.top-toast__action--success{background:#059669}.top-toast__action--success:hover{background:#047857}.top-toast__action--error{background:#dc2626}.top-toast__action--error:hover{background:#b91c1c}.top-toast__action--warn{background:#d97706}.top-toast__action--warn:hover{background:#b45309}.top-toast__action--info{background:#036da3}.top-toast__action--info:hover{background:#02466b}.top-toast__action--secondary{background:#52525b}.top-toast__action--secondary:hover{background:#3f3f46}.top-toast__action--contrast{background:#18181b}.top-toast__action--contrast:hover{background:#000}.\!container{width:100%!important}.container{width:100%}@media (width>=640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (width>=768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (width>=1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (width>=1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (width>=1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.top-solutions-component .pointer-events-none{pointer-events:none}.top-solutions-component .visible{visibility:visible}.top-solutions-component .absolute{position:absolute}.top-solutions-component .relative{position:relative}.top-solutions-component .left-3{left:.75rem}.top-solutions-component .right-\[-0\.25rem\]{right:-.25rem}.top-solutions-component .top-1\/2{top:50%}.top-solutions-component .top-\[-0\.5rem\]{top:-.5rem}.top-solutions-component .z-10{z-index:10}.top-solutions-component .m-0{margin:0}.top-solutions-component .my-1{margin-top:.25rem;margin-bottom:.25rem}.top-solutions-component .mt-1{margin-top:.25rem}.top-solutions-component .mt-2{margin-top:.5rem}.top-solutions-component .line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.top-solutions-component .line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.top-solutions-component .block{display:block}.top-solutions-component .flex{display:flex}.top-solutions-component .hidden{display:none}.top-solutions-component .size-12{width:3rem;height:3rem}.top-solutions-component .size-8{width:2rem;height:2rem}.top-solutions-component .h-3{height:.75rem}.top-solutions-component .h-\[40px\]{height:40px}.top-solutions-component .h-auto{height:auto}.top-solutions-component .h-fit{height:fit-content}.top-solutions-component .min-h-\[100px\]{min-height:100px}.top-solutions-component .min-h-\[130px\]{min-height:130px}.top-solutions-component .min-h-\[224px\]{min-height:224px}.top-solutions-component .min-h-\[36px\]{min-height:36px}.top-solutions-component .min-h-\[40px\]{min-height:40px}.top-solutions-component .min-h-\[84px\]{min-height:84px}.top-solutions-component .w-3{width:.75rem}.top-solutions-component .w-fit{width:fit-content}.top-solutions-component .w-full{width:100%}.top-solutions-component .min-w-0{min-width:0}.top-solutions-component .max-w-\[300px\]{max-width:300px}.top-solutions-component .max-w-\[85vw\]{max-width:85vw}.top-solutions-component .max-w-full{max-width:100%}.top-solutions-component .flex-1{flex:1}.top-solutions-component .shrink-0{flex-shrink:0}.top-solutions-component .-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.top-solutions-component .transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.top-solutions-component .cursor-not-allowed{cursor:not-allowed}.top-solutions-component .cursor-pointer{cursor:pointer}.top-solutions-component .resize{resize:both}.top-solutions-component .flex-col{flex-direction:column}.top-solutions-component .flex-wrap{flex-wrap:wrap}.top-solutions-component .items-start{align-items:flex-start}.top-solutions-component .items-center{align-items:center}.top-solutions-component .justify-center{justify-content:center}.top-solutions-component .gap-1{gap:.25rem}.top-solutions-component .gap-2{gap:.5rem}.top-solutions-component .gap-3{gap:.75rem}.top-solutions-component .gap-4{gap:1rem}.top-solutions-component .overflow-hidden{overflow:hidden}.top-solutions-component .overflow-x-hidden{overflow-x:hidden}.top-solutions-component .truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.top-solutions-component .text-ellipsis{text-overflow:ellipsis}.top-solutions-component .whitespace-nowrap{white-space:nowrap}.top-solutions-component .rounded-\[10px\]{border-radius:10px}.top-solutions-component .rounded-\[12px\]{border-radius:12px}.top-solutions-component .rounded-\[9px\]{border-radius:9px}.top-solutions-component .rounded-full{border-radius:9999px}.top-solutions-component .rounded-lg{border-radius:.5rem}.top-solutions-component .rounded-md{border-radius:.375rem}.top-solutions-component .rounded-sm{border-radius:.125rem}.top-solutions-component .border{border-width:1px}.top-solutions-component .border-0{border-width:0}.top-solutions-component .\!border-primary-900{border-color:var(--top-primary-900)!important}.top-solutions-component .\!border-red-600{--tw-border-opacity:1!important;border-color:rgb(220 38 38/var(--tw-border-opacity,1))!important}.top-solutions-component .border-primary-800{border-color:var(--top-primary-800)}.top-solutions-component .border-red-600{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity,1))}.top-solutions-component .border-secondary-300{border-color:var(--top-secondary-300)}.top-solutions-component .\!bg-red-600{--tw-bg-opacity:1!important;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))!important}.top-solutions-component .bg-primary-100{background-color:var(--top-primary-100)}.top-solutions-component .bg-primary-200{background-color:var(--top-primary-200)}.top-solutions-component .bg-primary-50{background-color:var(--top-primary-50)}.top-solutions-component .bg-primary-500{background-color:var(--top-primary-500)}.top-solutions-component .bg-primary-900{background-color:var(--top-primary-900)}.top-solutions-component .bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.top-solutions-component .bg-transparent{background-color:#0000}.top-solutions-component .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.top-solutions-component .object-cover{-o-object-fit:cover;object-fit:cover}.top-solutions-component .p-0{padding:0}.top-solutions-component .p-3{padding:.75rem}.top-solutions-component .p-4{padding:1rem}.top-solutions-component .p-6{padding:1.5rem}.top-solutions-component .px-2{padding-left:.5rem;padding-right:.5rem}.top-solutions-component .px-3{padding-left:.75rem;padding-right:.75rem}.top-solutions-component .py-0{padding-top:0;padding-bottom:0}.top-solutions-component .py-1{padding-top:.25rem;padding-bottom:.25rem}.top-solutions-component .py-2{padding-top:.5rem;padding-bottom:.5rem}.top-solutions-component .py-3{padding-top:.75rem;padding-bottom:.75rem}.top-solutions-component .\!pl-9{padding-left:2.25rem!important}.top-solutions-component .pl-9{padding-left:2.25rem}.top-solutions-component .pt-2{padding-top:.5rem}.top-solutions-component .text-center{text-align:center}.top-solutions-component .\!text-sm{font-size:.875rem!important;line-height:1.25rem!important}.top-solutions-component .\!text-xs{font-size:.75rem!important;line-height:1rem!important}.top-solutions-component .text-2xl{font-size:1.5rem;line-height:2rem}.top-solutions-component .text-5xl{font-size:3rem;line-height:1}.top-solutions-component .text-\[11px\]{font-size:11px}.top-solutions-component .text-\[40px\]{font-size:40px}.top-solutions-component .text-base{font-size:1rem;line-height:1.5rem}.top-solutions-component .text-lg{font-size:1.125rem;line-height:1.75rem}.top-solutions-component .text-sm{font-size:.875rem;line-height:1.25rem}.top-solutions-component .text-xs{font-size:.75rem;line-height:1rem}.top-solutions-component .font-bold{font-weight:700}.top-solutions-component .font-medium{font-weight:500}.top-solutions-component .font-semibold{font-weight:600}.top-solutions-component .leading-5{line-height:1.25rem}.top-solutions-component .text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.top-solutions-component .text-primary-600{color:var(--top-primary-600)}.top-solutions-component .text-primary-800{color:var(--top-primary-800)}.top-solutions-component .text-primary-900{color:var(--top-primary-900)}.top-solutions-component .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.top-solutions-component .text-secondary-500{color:var(--top-secondary-500)}.top-solutions-component .text-secondary-600{color:var(--top-secondary-600)}.top-solutions-component .text-secondary-700{color:var(--top-secondary-700)}.top-solutions-component .text-secondary-800{color:var(--top-secondary-800)}.top-solutions-component .text-secondary-900{color:var(--top-secondary-900)}.top-solutions-component .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.top-solutions-component .underline{text-decoration-line:underline}.top-solutions-component .opacity-60{opacity:.6}.top-solutions-component .\!shadow-none{--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)!important}.top-solutions-component .shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.top-solutions-component .shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.top-solutions-component .outline-none{outline-offset:2px;outline:2px solid #0000}.top-solutions-component .outline{outline-style:solid}.top-solutions-component .ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.top-solutions-component .blur{--tw-blur:blur(8px);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)}.top-solutions-component .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)}.top-solutions-component .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.top-solutions-component .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--top-primary-50:#eef9ff;--top-primary-100:#dff4ff;--top-primary-200:#c5e6f8;--top-primary-300:#8ec4df;--top-primary-400:#66acd1;--top-primary-500:#2488bc;--top-primary-600:#036da3;--top-primary-700:#1b5783;--top-primary-800:#02466b;--top-primary-900:#052f4a;--top-primary-950:#0c192d;--top-secondary-50:#fafafa;--top-secondary-100:#f4f4f5;--top-secondary-200:#e9e9e9;--top-secondary-300:#d8d8d8;--top-secondary-400:#b8b8b8;--top-secondary-500:#8e8e8e;--top-secondary-600:#676767;--top-secondary-700:#4b4b4b;--top-secondary-800:#343434;--top-secondary-900:#1c1917;--top-secondary-950:#0c0a09;--top-field-background:#fff;--top-field-background-readonly:var(--top-secondary-50);--top-field-background-disabled:var(--top-secondary-100);--top-field-text:var(--top-secondary-900);--top-field-label:var(--top-secondary-800);--top-field-placeholder:var(--top-secondary-500);--top-field-border:var(--top-secondary-600);--top-field-border-hover:var(--top-secondary-700);--top-field-icon:var(--top-primary-800)}.dark{--top-field-background:#27272a;--top-field-background-readonly:#27272a;--top-field-background-disabled:#3f3f46;--top-field-text:#f4f4f5;--top-field-label:#e4e4e7;--top-field-placeholder:#abafb4;--top-field-border:#3f3f46;--top-field-border-hover:#6b7280;--top-field-icon:var(--top-primary-500)}.top-solutions-component .top-field-label{color:var(--top-field-label)}.top-solutions-component .top-field-control{background-color:var(--top-field-background);border-color:var(--top-field-border);color:var(--top-field-text)}.top-solutions-component .top-field-control::placeholder{color:var(--top-field-placeholder)}.top-solutions-component .top-field-control:enabled:hover{border-color:var(--top-field-border-hover)}.top-solutions-component .top-field-control:read-only{background-color:var(--top-field-background-readonly)}.top-solutions-component .top-field-control:disabled{background-color:var(--top-field-background-disabled)}.top-solutions-component .top-field-icon{color:var(--top-field-icon)}.top-solutions-component .read-only\:cursor-default:read-only{cursor:default}.top-solutions-component .hover\:\!border-primary-800:hover{border-color:var(--top-primary-800)!important}.top-solutions-component .hover\:\!border-red-700:hover{--tw-border-opacity:1!important;border-color:rgb(185 28 28/var(--tw-border-opacity,1))!important}.top-solutions-component .hover\:border-primary-600:hover{border-color:var(--top-primary-600)}.top-solutions-component .hover\:\!bg-red-700:hover{--tw-bg-opacity:1!important;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))!important}.top-solutions-component .hover\:bg-primary-50:hover{background-color:var(--top-primary-50)}.top-solutions-component .hover\:bg-primary-800:hover{background-color:var(--top-primary-800)}.top-solutions-component .hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.top-solutions-component .hover\:bg-secondary-200:hover{background-color:var(--top-secondary-200)}.top-solutions-component .focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}.top-solutions-component .focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.top-solutions-component .focus-visible\:ring-primary-500:focus-visible{--tw-ring-color:var(--top-primary-500)}.top-solutions-component .focus-visible\:ring-red-500:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity,1))}.top-solutions-component .focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.top-solutions-component .disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.top-solutions-component .disabled\:opacity-50:disabled{opacity:.5}.top-solutions-component .dark\:\!border-zinc-500:is(.dark *){--tw-border-opacity:1!important;border-color:rgb(113 113 122/var(--tw-border-opacity,1))!important}.top-solutions-component .dark\:border-primary-200:is(.dark *){border-color:var(--top-primary-200)}.top-solutions-component .dark\:border-red-400:is(.dark *){--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.top-solutions-component .dark\:border-zinc-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(82 82 91/var(--tw-border-opacity,1))}.top-solutions-component .dark\:\!bg-zinc-700:is(.dark *){--tw-bg-opacity:1!important;background-color:rgb(63 63 70/var(--tw-bg-opacity,1))!important}.top-solutions-component .dark\:bg-cyan-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(14 116 144/var(--tw-bg-opacity,1))}.top-solutions-component .dark\:bg-primary-900:is(.dark *){background-color:var(--top-primary-900)}.top-solutions-component .dark\:bg-primary-950:is(.dark *){background-color:var(--top-primary-950)}.top-solutions-component .dark\:bg-red-950\/20:is(.dark *){background-color:#450a0a33}.top-solutions-component .dark\:bg-transparent:is(.dark *){background-color:#0000}.top-solutions-component .dark\:bg-zinc-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.top-solutions-component .dark\:bg-zinc-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}.top-solutions-component .dark\:\!text-white:is(.dark *){--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity,1))!important}.top-solutions-component .dark\:\!text-zinc-100:is(.dark *){--tw-text-opacity:1!important;color:rgb(244 244 245/var(--tw-text-opacity,1))!important}.top-solutions-component .dark\:text-primary-100:is(.dark *){color:var(--top-primary-100)}.top-solutions-component .dark\:text-primary-200:is(.dark *){color:var(--top-primary-200)}.top-solutions-component .dark\:text-primary-300:is(.dark *){color:var(--top-primary-300)}.top-solutions-component .dark\:text-red-400:is(.dark *){--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.top-solutions-component .dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.top-solutions-component .dark\:text-zinc-100:is(.dark *){--tw-text-opacity:1;color:rgb(244 244 245/var(--tw-text-opacity,1))}.top-solutions-component .dark\:text-zinc-200:is(.dark *){--tw-text-opacity:1;color:rgb(228 228 231/var(--tw-text-opacity,1))}.top-solutions-component .dark\:text-zinc-300:is(.dark *){--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity,1))}.top-solutions-component .dark\:text-zinc-400:is(.dark *){--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.top-solutions-component .dark\:hover\:border-primary-400:hover:is(.dark *){border-color:var(--top-primary-400)}.top-solutions-component .dark\:hover\:\!bg-zinc-600:hover:is(.dark *){--tw-bg-opacity:1!important;background-color:rgb(82 82 91/var(--tw-bg-opacity,1))!important}.top-solutions-component .dark\:hover\:bg-primary-900:hover:is(.dark *){background-color:var(--top-primary-900)}.top-solutions-component .dark\:hover\:bg-red-950\/40:hover:is(.dark *){background-color:#450a0a66}.top-solutions-component .dark\:hover\:bg-zinc-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(63 63 70/var(--tw-bg-opacity,1))}.top-solutions-component .dark\:focus-visible\:ring-offset-zinc-900:focus-visible:is(.dark *){--tw-ring-offset-color:#18181b}
2
2
  /*$vite$:1*/
@@ -0,0 +1,17 @@
1
+ import { ToastMessageOptions } from 'primevue/toast';
2
+ export type TopToastFooter = string | number;
3
+ export type TopToastAction = {
4
+ label: string;
5
+ icon?: string;
6
+ onClick?: () => void;
7
+ };
8
+ export type TopToastData = {
9
+ footer?: TopToastFooter;
10
+ action?: TopToastAction;
11
+ };
12
+ declare module 'primevue/toast' {
13
+ interface ToastMessageOptions {
14
+ data?: TopToastData;
15
+ }
16
+ }
17
+ export type TopToastMessageOptions = ToastMessageOptions;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@topjoao/top-design-system",
3
- "version": "0.1.0-beta.9",
3
+ "version": "0.1.0",
4
4
  "description": "Design system e biblioteca de componentes Vue da TopSolutions",
5
5
  "private": false,
6
6
  "type": "module",
@@ -8,7 +8,7 @@
8
8
  "publishConfig": {
9
9
  "access": "public",
10
10
  "registry": "https://registry.npmjs.org/",
11
- "tag": "beta"
11
+ "tag": "latest"
12
12
  },
13
13
  "files": [
14
14
  "dist"
@@ -60,6 +60,8 @@
60
60
  }
61
61
  },
62
62
  "dependencies": {
63
+ "@hugeicons/core-free-icons": "^4.3.0",
64
+ "@hugeicons/vue": "^1.0.8",
63
65
  "tailwind-merge": "^3.6.0"
64
66
  },
65
67
  "devDependencies": {
@@ -1,2 +0,0 @@
1
- var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,s)=>(s=n==null?{}:e(i(n)),o(r||!n||!n.__esModule||!a.call(n,`default`)?t(s,`default`,{value:n,enumerable:!0}):s,n));let c=require("vue"),l=require("primevue/button");l=s(l,1);let u=require("primevue/tooltip");u=s(u,1);let d=require("tailwind-merge"),f=require("primevue/dialog");f=s(f,1);let p=require("primevue/inputtext");p=s(p,1);let m=require("primevue/autocomplete");m=s(m,1);let h=require("primevue/toast");h=s(h,1);var g={class:`top-button top-solutions-component h-fit w-fit rounded-[12px] bg-transparent`},_=(0,c.defineComponent)({__name:`TopButton`,props:{tooltip:{default:``},tooltipClass:{default:`text-xs`},label:{default:``},icon:{default:``},loading:{type:Boolean,default:!1},class:{default:``},outlined:{type:Boolean,default:!1},secondary:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},unstyled:{type:Boolean,default:!1},type:{default:`button`}},emits:[`click`],setup(e,{emit:t}){let n=(0,c.useSlots)(),r=(0,c.computed)(()=>!!n.icon),i=e,a=t,o=(0,c.computed)(()=>{let e=i.unstyled?``:i.secondary?`rounded-[10px] border px-3 py-2 font-bold dark:!border-zinc-500 dark:!bg-zinc-700 dark:!text-zinc-100 dark:hover:!bg-zinc-600`:i.outlined?`shrink-0 rounded-[10px] border-primary-800 px-3 py-2 text-primary-800 hover:bg-primary-50 dark:border-primary-200 dark:bg-transparent dark:text-primary-100 dark:hover:bg-primary-900`:`rounded-[10px] !border-primary-900 bg-primary-900 px-3 py-2 font-bold text-white hover:!border-primary-800 hover:bg-primary-800 dark:!text-white`;return(0,d.twMerge)(e,i.class)});return(t,n)=>((0,c.openBlock)(),(0,c.createElementBlock)(`span`,g,[(0,c.withDirectives)(((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(l.default),{type:e.type,label:e.label,disabled:e.disabled||e.loading,icon:r.value?void 0:e.icon||void 0,loading:e.loading,outlined:e.outlined||e.secondary,severity:e.secondary?`secondary`:void 0,class:(0,c.normalizeClass)(o.value),pt:{root:{class:o.value}},onClick:n[0]||=e=>a(`click`)},(0,c.createSlots)({_:2},[r.value?{name:`icon`,fn:(0,c.withCtx)(()=>[(0,c.renderSlot)(t.$slots,`icon`)]),key:`0`}:void 0]),1032,[`type`,`label`,`disabled`,`icon`,`loading`,`outlined`,`severity`,`class`,`pt`])),[[(0,c.unref)(u.default),{value:e.tooltip,class:e.tooltipClass},void 0,{top:!0}]])]))}}),v={primary:{50:`#EEF9FF`,100:`#DFF4FF`,200:`#C5E6F8`,300:`#8EC4DF`,400:`#66ACD1`,500:`#2488BC`,600:`#036DA3`,700:`#1B5783`,800:`#02466B`,900:`#052F4A`,950:`#0C192D`},secondary:{50:`#FAFAFA`,100:`#F4F4F5`,200:`#E9E9E9`,300:`#D8D8D8`,400:`#B8B8B8`,500:`#8E8E8E`,600:`#676767`,700:`#4B4B4B`,800:`#343434`,900:`#1C1917`,950:`#0C0A09`},success:{50:`#FAFFFA`,100:`#F4FBF6`,200:`#DFF6DE`,300:`#CBE3CA`,400:`#A3CCA1`,500:`#6BA968`,600:`#358F30`,700:`#2C7B27`,800:`#1E631A`,900:`#10430D`,950:`#062804`},warn:{50:`#FFF7ED`,100:`#FDF3D8`,200:`#FDE9B2`,300:`#FDD566`,400:`#FFB900`,500:`#FFA515`,600:`#FD9024`,700:`#DD781F`,800:`#BC4E00`,900:`#A42D02`,950:`#792202`},danger:{50:`#F8E6E4`,100:`#FFDDD9`,200:`#EEC1BC`,300:`#E3938C`,400:`#E3675C`,500:`#DC3F32`,600:`#CF150E`,700:`#B10404`,800:`#820907`,900:`#5D0803`,950:`#450501`}},y=[`aria-label`,`disabled`],b={class:`flex flex-col items-center gap-2 pt-2`},x={class:`text-base font-bold text-secondary-900 dark:text-zinc-100`},S={class:`text-sm leading-5 text-secondary-700 dark:text-zinc-300`},C={class:`mt-2 flex w-full items-center justify-center gap-3`},w=(0,c.defineComponent)({__name:`TopConfirmDialog`,props:{modelValue:{type:Boolean,default:!1},title:{default:`Confirmar`},message:{default:``},confirmText:{default:`Confirmar`},cancelText:{default:`Cancelar`},loading:{type:Boolean,default:!1},loadingText:{default:`Processando...`},severity:{default:`danger`},icon:{default:`pi pi-exclamation-triangle`}},emits:[`update:modelValue`,`confirm`,`cancel`,`close`],setup(e,{emit:t}){let n=e,r=t,i=(0,c.computed)({get:()=>n.modelValue,set:e=>{!e&&n.loading||r(`update:modelValue`,e)}}),a=(0,c.computed)(()=>({"--top-confirm-dialog-accent":n.severity===`danger`?v.danger[600]:v.primary[800],"--top-confirm-dialog-accent-hover":n.severity===`danger`?v.danger[700]:v.primary[700]})),o=(0,c.computed)(()=>[`px-3 py-2 text-sm`,n.severity===`danger`?`!border-red-600 !bg-red-600 hover:!border-red-700 hover:!bg-red-700`:``].filter(Boolean).join(` `));function s(){n.loading||r(`confirm`)}function l(){n.loading||(r(`cancel`),i.value=!1)}function u(){n.loading||(i.value=!1)}return(t,n)=>((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(f.default),{visible:i.value,"onUpdate:visible":n[0]||=e=>i.value=e,modal:``,closable:!1,"close-on-escape":!e.loading,"dismissable-mask":!1,draggable:!1,"show-header":!1,style:{width:`500px`,maxWidth:`calc(100vw - 2rem)`},"aria-label":e.title,pt:{root:{class:`top-confirm-dialog top-solutions-component`},content:{class:`p-6`},footer:{class:`hidden`}},onHide:n[1]||=e=>r(`close`)},{default:(0,c.withCtx)(()=>[(0,c.createElementVNode)(`div`,{class:`relative flex flex-col items-center gap-4 text-center`,style:(0,c.normalizeStyle)(a.value)},[(0,c.createElementVNode)(`button`,{type:`button`,class:`absolute right-[-0.25rem] top-[-0.5rem] flex size-8 items-center justify-center rounded-full border-0 bg-transparent p-0 text-secondary-700 outline-none transition-colors hover:bg-secondary-200 focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 dark:text-zinc-200 dark:hover:bg-zinc-700`,"aria-label":e.cancelText,disabled:e.loading,onClick:u},[...n[2]||=[(0,c.createElementVNode)(`i`,{class:`pi pi-times text-lg`,"aria-hidden":`true`},null,-1)]],8,y),(0,c.createElementVNode)(`div`,b,[(0,c.createElementVNode)(`i`,{class:(0,c.normalizeClass)([e.icon,`top-confirm-dialog__icon text-[40px]`]),"aria-hidden":`true`},null,2),(0,c.createElementVNode)(`p`,x,(0,c.toDisplayString)(e.title),1)]),(0,c.createElementVNode)(`div`,S,[(0,c.renderSlot)(t.$slots,`message`,{},()=>[(0,c.renderSlot)(t.$slots,`default`,{},()=>[(0,c.createTextVNode)((0,c.toDisplayString)(e.message),1)])])]),(0,c.createElementVNode)(`div`,C,[(0,c.createVNode)(_,{label:e.cancelText,secondary:``,disabled:e.loading,class:`px-3 py-2 text-sm`,onClick:l},null,8,[`label`,`disabled`]),(0,c.createVNode)(_,{label:e.loading?e.loadingText:e.confirmText,loading:e.loading,class:(0,c.normalizeClass)(o.value),onClick:s},null,8,[`label`,`loading`,`class`])])],4)]),_:3},8,[`visible`,`close-on-escape`,`aria-label`]))}}),T={class:`top-input-text top-solutions-component flex w-full flex-col gap-1`},E=[`for`],D={key:0,"aria-hidden":`true`,class:`text-red-600 dark:text-red-400`},O=[`id`],k=(0,c.defineComponent)({inheritAttrs:!1,__name:`TopInputText`,props:{modelValue:{default:``},label:{default:``},placeholder:{default:``},required:{type:Boolean,default:!1},error:{default:``},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,r=t,i=(0,c.useAttrs)(),a=(0,c.useId)(),o=(0,c.computed)(()=>i.id===void 0||i.id===null||i.id===``?a:String(i.id)),s=(0,c.computed)(()=>`${o.value}-error`),l=(0,c.computed)(()=>{if(n.error)return!0;let e=i[`aria-invalid`];return typeof e==`boolean`||e===`true`||e===`false`||e===`grammar`||e===`spelling`?e:void 0}),u=(0,c.computed)(()=>{let e=i[`aria-describedby`],t=[typeof e==`string`?e:``,n.error?s.value:``].filter(Boolean);return t.length?t.join(` `):void 0});function d(e){r(`update:modelValue`,e??``)}return(t,n)=>((0,c.openBlock)(),(0,c.createElementBlock)(`div`,T,[e.label?((0,c.openBlock)(),(0,c.createElementBlock)(`label`,{key:0,for:o.value,class:`text-xs font-bold text-secondary-800 dark:text-zinc-200`},[(0,c.createTextVNode)((0,c.toDisplayString)(e.label)+` `,1),e.required?((0,c.openBlock)(),(0,c.createElementBlock)(`span`,D,`*`)):(0,c.createCommentVNode)(``,!0)],8,E)):(0,c.createCommentVNode)(``,!0),(0,c.createVNode)((0,c.unref)(p.default),(0,c.mergeProps)(t.$attrs,{id:o.value,"model-value":e.modelValue,type:`text`,placeholder:e.placeholder,required:e.required,disabled:e.disabled,readonly:e.readonly,invalid:!!e.error,"aria-invalid":l.value,"aria-describedby":u.value,fluid:``,class:`top-input-text__control h-[40px] w-full rounded-[10px] border border-secondary-600 px-3 py-2 text-xs text-secondary-900 enabled:hover:border-secondary-700 read-only:cursor-default read-only:bg-secondary-50 disabled:cursor-not-allowed dark:border-zinc-600 dark:bg-zinc-800 dark:text-zinc-100 dark:placeholder:text-zinc-400 dark:enabled:hover:border-zinc-500 dark:read-only:bg-zinc-800`,"onUpdate:modelValue":d}),null,16,[`id`,`model-value`,`placeholder`,`required`,`disabled`,`readonly`,`invalid`,`aria-invalid`,`aria-describedby`]),e.error?((0,c.openBlock)(),(0,c.createElementBlock)(`span`,{key:1,id:s.value,class:`text-[11px] text-red-600 dark:text-red-400`,role:`alert`},(0,c.toDisplayString)(e.error),9,O)):(0,c.createCommentVNode)(``,!0)]))}}),A={class:`pointer-events-none absolute left-3 top-1/2 z-10 -translate-y-1/2 text-primary-800 dark:text-primary-500`},j={key:0,class:`pi pi-spin pi-spinner`},M={key:1,class:`pi pi-search`},N={key:1,class:`flex items-center gap-1 !text-sm`},P={class:`flex items-center gap-2 rounded-[9px] bg-primary-500 px-2 py-1 text-white`},F=[`onClick`],I={class:`line-clamp-1 max-w-[300px] overflow-hidden text-ellipsis`},L={key:1,class:`flex min-h-[100px] flex-col items-center justify-center gap-2 py-2`},R={key:0,class:`text-xs font-medium text-primary-600`},z={key:2,class:`text-xs text-secondary-500`},B={key:1},V={key:1,class:`flex items-center gap-2 font-semibold`},H={key:1,class:`flex w-full min-w-0 items-start gap-2 overflow-hidden px-2 py-3 text-sm`,style:{"white-space":`normal`}},U=[`title`],W={key:0,class:`top-select-option-prefix whitespace-nowrap font-bold text-primary-800 dark:text-primary-100`},G={key:0,class:`rounded-sm bg-primary-200 p-0 font-bold text-black dark:bg-cyan-700 dark:text-white`},K={key:0,class:`rounded-sm bg-primary-200 p-0 font-bold text-black dark:bg-cyan-700 dark:text-white`},q=(0,c.defineComponent)({__name:`TopSelect`,props:{modelValue:{default:null},options:{default:()=>[]},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},placeholder:{default:`Pesquisar...`},optionLabel:{type:[String,Function],default:`label`},optionKey:{default:`id`},optionPrefix:{default:``},showOptionPrefix:{type:Boolean,default:!1},showSelectedPrefix:{type:Boolean,default:!1},panelWidth:{default:null},scrollHeight:{default:`250px`},invalid:{type:Boolean,default:!1},showTooltip:{type:Boolean,default:!0},optionGroupLabel:{default:null},optionGroupChildren:{default:null},minQueryLength:{default:1},emptyMessage:{default:`Nenhum resultado encontrado.`},loadingMessage:{default:`Carregando...`},showLoadingMessage:{type:Boolean,default:!0},multiple:{type:Boolean,default:!1},forceSelection:{type:Boolean,default:!0},closeOnSelect:{type:Boolean,default:!1}},emits:[`update:modelValue`,`search`,`loadMore`,`clear`,`select`,`change`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=(0,c.useSlots)(),o=m.default,s=(0,c.ref)(``),l=(0,c.ref)(!1),d=(0,c.ref)(null),f=`top-select-${Math.random().toString(36).slice(2)}`,p=null,h=(0,c.computed)({get:()=>r.modelValue,set:e=>i(`update:modelValue`,e)});function g(e,t){return e==null?``:String(typeof e==`object`?e[t]??``:e)}function _(e){return e==null?``:typeof r.optionLabel==`function`?r.optionLabel(e):g(e,r.optionLabel)}function v(e){return r.optionPrefix?g(e,r.optionPrefix):``}function y(e,t=r.showSelectedPrefix){let n=_(e),i=v(e);return t&&i?`${i} - ${n}`:n}function b(e){let t=s.value;if(!t)return[{text:e,highlighted:!1}];let n=t.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),r=RegExp(`(${n})`,`gi`);return e.split(r).filter(Boolean).map(e=>({text:e,highlighted:e.toLowerCase()===t.toLowerCase()}))}function x(){d.value?.hide?.()}function S(){typeof window>`u`||window.dispatchEvent(new CustomEvent(`top-select:close-others`,{detail:{instanceId:f}}))}function C(e){e.detail?.instanceId!==f&&x()}function w(){if(r.disabled||p){x();return}l.value=!0,S()}function T(){r.closeOnSelect&&(l.value=!1,x(),(0,c.nextTick)(x),p&&clearTimeout(p),p=setTimeout(()=>{x(),p=null},200))}return t({hideDropdown:x}),(0,c.onMounted)(()=>window.addEventListener(`top-select:close-others`,C)),(0,c.onBeforeUnmount)(()=>{window.removeEventListener(`top-select:close-others`,C),p&&clearTimeout(p)}),(0,c.watch)(()=>r.disabled,e=>{e&&(l.value=!1,x())}),(0,c.watch)(()=>r.options,()=>{l.value||x()}),(t,n)=>((0,c.openBlock)(),(0,c.createElementBlock)(`div`,{class:(0,c.normalizeClass)([`top-select top-solutions-component relative w-full`,{"pointer-events-none":e.disabled}]),onFocusin:w},[(0,c.createElementVNode)(`span`,A,[(0,c.renderSlot)(t.$slots,`icon`,{loading:e.loading},()=>[e.loading?((0,c.openBlock)(),(0,c.createElementBlock)(`i`,j)):((0,c.openBlock)(),(0,c.createElementBlock)(`i`,M))])]),(0,c.createVNode)((0,c.unref)(o),{ref_key:`autocompleteRef`,ref:d,modelValue:h.value,"onUpdate:modelValue":n[0]||=e=>h.value=e,"option-group-label":e.optionGroupLabel??void 0,"option-group-children":e.optionGroupChildren??void 0,suggestions:e.options,"data-key":e.optionKey,"option-label":e=>y(e),placeholder:e.placeholder,multiple:e.multiple,"min-length":e.minQueryLength,disabled:e.disabled,delay:500,"show-clear":!e.multiple&&!e.disabled,dropdown:``,"dropdown-mode":`current`,"complete-on-focus":!1,invalid:e.invalid,fluid:``,"force-selection":e.forceSelection,"input-class":`text-xs`,"virtual-scroller-options":{lazy:!0,onLazyLoad:e=>i(`loadMore`,e),itemSize:84,showLoader:!0,scrollHeight:e.scrollHeight},pt:{root:{class:[`w-full text-xs`,e.multiple?`h-auto`:`h-[40px]`].join(` `)},pcInputText:{root:{class:`w-full h-auto text-xs dark:text-zinc-100 border border-secondary-600 rounded-[10px] !pl-9 min-h-[36px] dark:border-zinc-600 dark:!bg-zinc-800`}},input:{class:[`w-full h-auto text-xs dark:text-zinc-100`,e.multiple?`border-0 bg-transparent py-1 !shadow-none outline-none ring-0 dark:!bg-transparent`:`border border-secondary-600 rounded-[10px] !pl-9 min-h-[36px] dark:border-zinc-600 dark:!bg-zinc-600`].join(` `)},inputMultiple:{class:[`rounded-[10px] pl-9 min-h-[40px] dark:border-zinc-600 dark:text-zinc-100`,e.disabled?`dark:!bg-zinc-700 dark:!text-zinc-400`:`dark:!bg-zinc-800`].join(` `)},inputChip:{class:`py-0`},token:{class:`bg-primary-100 text-primary-900 rounded-md gap-2 px-2 my-1 dark:bg-primary-900 dark:text-primary-100`},removeTokenIcon:{class:`text-primary-900 w-3 h-3 cursor-pointer dark:text-primary-100`},panel:{class:`top-select-panel top-solutions-component max-w-[85vw] overflow-hidden h-fit shadow-xl`},listContainer:{class:`max-w-full overflow-x-hidden`,style:{overflowX:`hidden`,maxWidth:e.panelWidth??`85vw`,...e.panelWidth?{width:e.panelWidth}:{}}},list:{class:`max-w-full overflow-x-hidden`},option:{class:`max-w-full overflow-hidden min-h-[84px]`},placeholder:{class:`!text-xs`}},"search-message":` `,onClear:n[1]||=e=>{s.value=``,i(`clear`)},onItemSelect:n[2]||=e=>{s.value=``,i(`select`,e),T()},onComplete:n[3]||=t=>{if(e.disabled){x();return}s.value=t.query??``,S(),i(`search`,{...t,query:s.value})},onChange:n[4]||=e=>i(`change`,e)},(0,c.createSlots)({chip:(0,c.withCtx)(e=>[(0,c.unref)(a).chip?(0,c.renderSlot)(t.$slots,`chip`,(0,c.normalizeProps)((0,c.guardReactiveProps)(e)),void 0,void 0,0):((0,c.openBlock)(),(0,c.createElementBlock)(`div`,N,[(0,c.createElementVNode)(`div`,P,[(0,c.createElementVNode)(`i`,{class:`pi pi-times-circle shrink-0 cursor-pointer rounded-full hover:bg-primary-800`,onClick:t=>e.removeCallback(t)},null,8,F),(0,c.withDirectives)(((0,c.openBlock)(),(0,c.createElementBlock)(`span`,I,[(0,c.createTextVNode)((0,c.toDisplayString)(y(e.value)),1)])),[[(0,c.unref)(u.default),y(e.value),void 0,{top:!0}]])])]))]),empty:(0,c.withCtx)(()=>[(0,c.unref)(a).empty?(0,c.renderSlot)(t.$slots,`empty`,{},void 0,void 0,0):e.loading?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,L,[n[5]||=(0,c.createElementVNode)(`span`,{class:`pi pi-spin pi-spinner text-2xl text-primary-600`},null,-1),e.showLoadingMessage?((0,c.openBlock)(),(0,c.createElementBlock)(`span`,R,(0,c.toDisplayString)(e.loadingMessage),1)):(0,c.createCommentVNode)(``,!0)])):((0,c.openBlock)(),(0,c.createElementBlock)(`span`,z,(0,c.toDisplayString)(e.emptyMessage),1))]),"selected-item":(0,c.withCtx)(e=>[(0,c.unref)(a)[`selected-item`]?(0,c.renderSlot)(t.$slots,`selected-item`,(0,c.normalizeProps)((0,c.guardReactiveProps)(e)),void 0,void 0,0):e.item?((0,c.openBlock)(),(0,c.createElementBlock)(`span`,B,(0,c.toDisplayString)(y(e.item)),1)):(0,c.createCommentVNode)(``,!0)]),optiongroup:(0,c.withCtx)(n=>[(0,c.unref)(a)[`option-group`]?(0,c.renderSlot)(t.$slots,`option-group`,(0,c.normalizeProps)((0,c.guardReactiveProps)(n)),void 0,void 0,0):((0,c.openBlock)(),(0,c.createElementBlock)(`div`,V,[n.option.icon?((0,c.openBlock)(),(0,c.createElementBlock)(`i`,{key:0,class:(0,c.normalizeClass)(n.option.icon)},null,2)):(0,c.createCommentVNode)(``,!0),(0,c.createElementVNode)(`span`,null,(0,c.toDisplayString)(n.option[e.optionGroupLabel??`label`]),1)]))]),option:(0,c.withCtx)(r=>[(0,c.unref)(a).option?(0,c.renderSlot)(t.$slots,`option`,(0,c.mergeProps)(r,{label:_(r.option),prefix:v(r.option),query:s.value}),void 0,void 0,0):(0,c.withDirectives)(((0,c.openBlock)(),(0,c.createElementBlock)(`div`,H,[(0,c.createElementVNode)(`span`,{class:`top-select-option-label line-clamp-2 min-w-0 flex-1 text-secondary-700 dark:text-zinc-200`,title:_(r.option)},[e.showOptionPrefix&&v(r.option)?((0,c.openBlock)(),(0,c.createElementBlock)(`span`,W,[((0,c.openBlock)(!0),(0,c.createElementBlock)(c.Fragment,null,(0,c.renderList)(b(v(r.option)),(e,t)=>((0,c.openBlock)(),(0,c.createElementBlock)(c.Fragment,{key:t},[e.highlighted?((0,c.openBlock)(),(0,c.createElementBlock)(`mark`,G,(0,c.toDisplayString)(e.text),1)):((0,c.openBlock)(),(0,c.createElementBlock)(c.Fragment,{key:1},[(0,c.createTextVNode)((0,c.toDisplayString)(e.text),1)],64))],64))),128)),n[6]||=(0,c.createElementVNode)(`span`,{class:`font-bold text-secondary-500 dark:text-zinc-400`},`\xA0-\xA0`,-1)])):(0,c.createCommentVNode)(``,!0),((0,c.openBlock)(!0),(0,c.createElementBlock)(c.Fragment,null,(0,c.renderList)(b(_(r.option)),(e,t)=>((0,c.openBlock)(),(0,c.createElementBlock)(c.Fragment,{key:t},[e.highlighted?((0,c.openBlock)(),(0,c.createElementBlock)(`mark`,K,(0,c.toDisplayString)(e.text),1)):((0,c.openBlock)(),(0,c.createElementBlock)(c.Fragment,{key:1},[(0,c.createTextVNode)((0,c.toDisplayString)(e.text),1)],64))],64))),128))],8,U)])),[[(0,c.unref)(u.default),e.showTooltip?_(r.option):null,void 0,{top:!0}]])]),_:2},[(0,c.unref)(a).footer?{name:`footer`,fn:(0,c.withCtx)(e=>[(0,c.renderSlot)(t.$slots,`footer`,(0,c.normalizeProps)((0,c.guardReactiveProps)(e)))]),key:`0`}:void 0]),1032,[`modelValue`,`option-group-label`,`option-group-children`,`suggestions`,`data-key`,`option-label`,`placeholder`,`multiple`,`min-length`,`disabled`,`show-clear`,`invalid`,`force-selection`,`virtual-scroller-options`,`pt`])],34))}}),J={class:`top-toast__content`},Y={class:`top-toast__detail`},X=[`onClick`],Z={key:0,class:`top-toast__footer`},Q=(0,c.defineComponent)({__name:`TopToast`,props:{baseZIndex:{default:3e4}},setup(e){function t(e){return e.data?.footer}function n(e){return e.data?.action}function r(e){n(e)?.onClick?.()}function i(e){return t(e)!==void 0}function a(e){return!!n(e)}function o(e,t){return`top-toast__${t}--${e.severity??`info`}`}return(s,l)=>((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(h.default),{position:`top-right`,"base-z-index":e.baseZIndex},{message:(0,c.withCtx)(e=>[(0,c.createElementVNode)(`div`,J,[(0,c.createElementVNode)(`div`,{class:(0,c.normalizeClass)([`top-toast__summary`,o(e.message,`summary`)])},(0,c.toDisplayString)(e.message.summary),3),(0,c.createElementVNode)(`div`,Y,(0,c.toDisplayString)(e.message.detail),1),a(e.message)?(0,c.renderSlot)(s.$slots,`action`,{action:n(e.message),message:e.message,run:()=>r(e.message)},()=>[n(e.message)?((0,c.openBlock)(),(0,c.createElementBlock)(`button`,{key:0,class:(0,c.normalizeClass)([`top-toast__action`,o(e.message,`action`)]),type:`button`,onClick:t=>r(e.message)},[n(e.message)?.icon?((0,c.openBlock)(),(0,c.createElementBlock)(`i`,{key:0,class:(0,c.normalizeClass)(n(e.message)?.icon),"aria-hidden":`true`},null,2)):(0,c.createCommentVNode)(``,!0),(0,c.createTextVNode)(` `+(0,c.toDisplayString)(n(e.message)?.label),1)],10,X)):(0,c.createCommentVNode)(``,!0)],void 0,0):(0,c.createCommentVNode)(``,!0),i(e.message)?(0,c.renderSlot)(s.$slots,`footer`,{message:e.message,footer:t(e.message)},()=>[t(e.message)===void 0?(0,c.createCommentVNode)(``,!0):((0,c.openBlock)(),(0,c.createElementBlock)(`div`,Z,(0,c.toDisplayString)(t(e.message)),1))],void 0,1):(0,c.createCommentVNode)(``,!0)])]),_:3},8,[`base-z-index`]))}});Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return Q}});
2
- //# sourceMappingURL=TopToast-B376KudO.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TopToast-B376KudO.cjs","names":["$attrs"],"sources":["../src/components/TopButton.vue","../src/components/TopButton.vue","../src/tokens/colors.ts","../src/components/TopConfirmDialog.vue","../src/components/TopConfirmDialog.vue","../src/components/TopInputText.vue","../src/components/TopInputText.vue","../src/components/TopSelect.vue","../src/components/TopSelect.vue","../src/components/TopToast.vue","../src/components/TopToast.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { computed, useSlots } from 'vue'\r\nimport Button from 'primevue/button'\r\nimport vTooltip from 'primevue/tooltip'\r\nimport { twMerge } from 'tailwind-merge'\r\n\r\nconst slots = useSlots()\r\nconst outrosIcones = computed(() => Boolean(slots.icon))\r\n\r\nconst props = withDefaults(\r\n defineProps<{\r\n tooltip?: string\r\n tooltipClass?: string\r\n label?: string\r\n icon?: string\r\n loading?: boolean\r\n class?: string\r\n outlined?: boolean\r\n secondary?: boolean\r\n disabled?: boolean\r\n unstyled?: boolean\r\n type?: 'button' | 'submit' | 'reset'\r\n }>(),\r\n {\r\n tooltip: '',\r\n tooltipClass: 'text-xs',\r\n label: '',\r\n icon: '',\r\n loading: false,\r\n class: '',\r\n outlined: false,\r\n secondary: false,\r\n disabled: false,\r\n unstyled: false,\r\n type: 'button',\r\n },\r\n)\r\n\r\nconst emit = defineEmits<{\r\n click: []\r\n}>()\r\n\r\nconst buttonClasses = computed(() => {\r\n const baseClasses = !props.unstyled\r\n ? props.secondary\r\n ? 'rounded-[10px] border px-3 py-2 font-bold dark:!border-zinc-500 dark:!bg-zinc-700 dark:!text-zinc-100 dark:hover:!bg-zinc-600'\r\n : props.outlined\r\n ? 'shrink-0 rounded-[10px] border-primary-800 px-3 py-2 text-primary-800 hover:bg-primary-50 dark:border-primary-200 dark:bg-transparent dark:text-primary-100 dark:hover:bg-primary-900'\n : 'rounded-[10px] !border-primary-900 bg-primary-900 px-3 py-2 font-bold text-white hover:!border-primary-800 hover:bg-primary-800 dark:!text-white'\r\n : ''\r\n\r\n return twMerge(baseClasses, props.class)\r\n})\r\n</script>\r\n\r\n<template>\r\n <span class=\"top-button top-solutions-component h-fit w-fit rounded-[12px] bg-transparent\">\r\n <Button\r\n v-tooltip.top=\"{\r\n value: tooltip,\r\n class: tooltipClass,\r\n }\"\r\n :type=\"type\"\r\n :label=\"label\"\r\n :disabled=\"disabled || loading\"\r\n :icon=\"outrosIcones ? undefined : icon || undefined\"\r\n :loading=\"loading\"\r\n :outlined=\"outlined || secondary\"\r\n :severity=\"secondary ? 'secondary' : undefined\"\r\n :class=\"buttonClasses\"\r\n :pt=\"{\r\n root: { class: buttonClasses },\r\n }\"\r\n @click=\"emit('click')\"\r\n >\r\n <template v-if=\"outrosIcones\" #icon>\r\n <slot name=\"icon\" />\r\n </template>\r\n </Button>\r\n </span>\r\n</template>\r\n\r\n<style>\r\n.top-button {\r\n width: fit-content;\r\n height: fit-content;\r\n border-radius: 12px;\r\n background-color: transparent;\r\n}\r\n</style>\r\n","<script setup lang=\"ts\">\r\nimport { computed, useSlots } from 'vue'\r\nimport Button from 'primevue/button'\r\nimport vTooltip from 'primevue/tooltip'\r\nimport { twMerge } from 'tailwind-merge'\r\n\r\nconst slots = useSlots()\r\nconst outrosIcones = computed(() => Boolean(slots.icon))\r\n\r\nconst props = withDefaults(\r\n defineProps<{\r\n tooltip?: string\r\n tooltipClass?: string\r\n label?: string\r\n icon?: string\r\n loading?: boolean\r\n class?: string\r\n outlined?: boolean\r\n secondary?: boolean\r\n disabled?: boolean\r\n unstyled?: boolean\r\n type?: 'button' | 'submit' | 'reset'\r\n }>(),\r\n {\r\n tooltip: '',\r\n tooltipClass: 'text-xs',\r\n label: '',\r\n icon: '',\r\n loading: false,\r\n class: '',\r\n outlined: false,\r\n secondary: false,\r\n disabled: false,\r\n unstyled: false,\r\n type: 'button',\r\n },\r\n)\r\n\r\nconst emit = defineEmits<{\r\n click: []\r\n}>()\r\n\r\nconst buttonClasses = computed(() => {\r\n const baseClasses = !props.unstyled\r\n ? props.secondary\r\n ? 'rounded-[10px] border px-3 py-2 font-bold dark:!border-zinc-500 dark:!bg-zinc-700 dark:!text-zinc-100 dark:hover:!bg-zinc-600'\r\n : props.outlined\r\n ? 'shrink-0 rounded-[10px] border-primary-800 px-3 py-2 text-primary-800 hover:bg-primary-50 dark:border-primary-200 dark:bg-transparent dark:text-primary-100 dark:hover:bg-primary-900'\n : 'rounded-[10px] !border-primary-900 bg-primary-900 px-3 py-2 font-bold text-white hover:!border-primary-800 hover:bg-primary-800 dark:!text-white'\r\n : ''\r\n\r\n return twMerge(baseClasses, props.class)\r\n})\r\n</script>\r\n\r\n<template>\r\n <span class=\"top-button top-solutions-component h-fit w-fit rounded-[12px] bg-transparent\">\r\n <Button\r\n v-tooltip.top=\"{\r\n value: tooltip,\r\n class: tooltipClass,\r\n }\"\r\n :type=\"type\"\r\n :label=\"label\"\r\n :disabled=\"disabled || loading\"\r\n :icon=\"outrosIcones ? undefined : icon || undefined\"\r\n :loading=\"loading\"\r\n :outlined=\"outlined || secondary\"\r\n :severity=\"secondary ? 'secondary' : undefined\"\r\n :class=\"buttonClasses\"\r\n :pt=\"{\r\n root: { class: buttonClasses },\r\n }\"\r\n @click=\"emit('click')\"\r\n >\r\n <template v-if=\"outrosIcones\" #icon>\r\n <slot name=\"icon\" />\r\n </template>\r\n </Button>\r\n </span>\r\n</template>\r\n\r\n<style>\r\n.top-button {\r\n width: fit-content;\r\n height: fit-content;\r\n border-radius: 12px;\r\n background-color: transparent;\r\n}\r\n</style>\r\n","export const colors = {\n primary: {\n 50: '#EEF9FF',\n 100: '#DFF4FF',\n 200: '#C5E6F8',\n 300: '#8EC4DF',\n 400: '#66ACD1',\n 500: '#2488BC',\n 600: '#036DA3',\n 700: '#1B5783',\n 800: '#02466B',\n 900: '#052F4A',\n 950: '#0C192D',\n },\n secondary: {\n 50: '#FAFAFA',\n 100: '#F4F4F5',\n 200: '#E9E9E9',\n 300: '#D8D8D8',\n 400: '#B8B8B8',\n 500: '#8E8E8E',\n 600: '#676767',\n 700: '#4B4B4B',\n 800: '#343434',\n 900: '#1C1917',\n 950: '#0C0A09',\n },\n success: {\n 50: '#FAFFFA',\n 100: '#F4FBF6',\n 200: '#DFF6DE',\n 300: '#CBE3CA',\n 400: '#A3CCA1',\n 500: '#6BA968',\n 600: '#358F30',\n 700: '#2C7B27',\n 800: '#1E631A',\n 900: '#10430D',\n 950: '#062804',\n },\n warn: {\n 50: '#FFF7ED',\n 100: '#FDF3D8',\n 200: '#FDE9B2',\n 300: '#FDD566',\n 400: '#FFB900',\n 500: '#FFA515',\n 600: '#FD9024',\n 700: '#DD781F',\n 800: '#BC4E00',\n 900: '#A42D02',\n 950: '#792202',\n },\n danger: {\n 50: '#F8E6E4',\n 100: '#FFDDD9',\n 200: '#EEC1BC',\n 300: '#E3938C',\n 400: '#E3675C',\n 500: '#DC3F32',\n 600: '#CF150E',\n 700: '#B10404',\n 800: '#820907',\n 900: '#5D0803',\n 950: '#450501',\n },\n} as const\n","<script setup lang=\"ts\">\r\nimport { computed } from \"vue\";\r\nimport Dialog from \"primevue/dialog\";\r\nimport { colors } from \"../tokens/colors\";\r\nimport TopButton from \"./TopButton.vue\";\r\n\r\ntype ConfirmDialogSeverity = \"primary\" | \"danger\";\r\n\r\nconst props = withDefaults(\r\n defineProps<{\r\n modelValue?: boolean;\r\n title?: string;\r\n message?: string;\r\n confirmText?: string;\r\n cancelText?: string;\r\n loading?: boolean;\r\n loadingText?: string;\r\n severity?: ConfirmDialogSeverity;\r\n icon?: string;\r\n }>(),\r\n {\r\n modelValue: false,\r\n title: \"Confirmar\",\r\n message: \"\",\r\n confirmText: \"Confirmar\",\r\n cancelText: \"Cancelar\",\r\n loading: false,\r\n loadingText: \"Processando...\",\r\n severity: \"danger\",\r\n icon: \"pi pi-exclamation-triangle\",\r\n }\r\n);\r\n\r\nconst emit = defineEmits<{\r\n \"update:modelValue\": [value: boolean];\r\n confirm: [];\r\n cancel: [];\r\n close: [];\r\n}>();\r\n\r\nconst visibleProxy = computed({\r\n get: () => props.modelValue,\r\n set: (value: boolean) => {\r\n if (!value && props.loading) return;\r\n emit(\"update:modelValue\", value);\r\n },\r\n});\r\n\r\nconst accentStyle = computed<Record<string, string>>(() => ({\r\n \"--top-confirm-dialog-accent\":\r\n props.severity === \"danger\" ? colors.danger[600] : colors.primary[800],\r\n \"--top-confirm-dialog-accent-hover\":\r\n props.severity === \"danger\" ? colors.danger[700] : colors.primary[700],\r\n}));\r\n\r\nconst confirmButtonClass = computed(() =>\r\n [\r\n \"px-3 py-2 text-sm\",\r\n props.severity === \"danger\" ? \"!border-red-600 !bg-red-600 hover:!border-red-700 hover:!bg-red-700\" : \"\",\r\n ]\r\n .filter(Boolean)\r\n .join(\" \")\r\n);\r\n\r\nfunction confirm() {\r\n if (props.loading) return;\r\n emit(\"confirm\");\r\n}\r\n\r\nfunction cancel() {\r\n if (props.loading) return;\r\n emit(\"cancel\");\r\n visibleProxy.value = false;\r\n}\r\n\r\nfunction close() {\r\n if (props.loading) return;\r\n visibleProxy.value = false;\r\n}\r\n</script>\r\n\r\n<template>\r\n <Dialog\r\n v-model:visible=\"visibleProxy\"\r\n modal\r\n :closable=\"false\"\r\n :close-on-escape=\"!loading\"\r\n :dismissable-mask=\"false\"\r\n :draggable=\"false\"\r\n :show-header=\"false\"\r\n :style=\"{ width: '500px', maxWidth: 'calc(100vw - 2rem)' }\"\r\n :aria-label=\"title\"\r\n :pt=\"{\r\n root: { class: 'top-confirm-dialog top-solutions-component' },\r\n content: { class: 'p-6' },\r\n footer: { class: 'hidden' },\r\n }\"\r\n @hide=\"emit('close')\"\r\n >\r\n <div\r\n class=\"relative flex flex-col items-center gap-4 text-center\"\r\n :style=\"accentStyle\"\r\n >\r\n <button\r\n type=\"button\"\r\n class=\"absolute right-[-0.25rem] top-[-0.5rem] flex size-8 items-center justify-center rounded-full border-0 bg-transparent p-0 text-secondary-700 outline-none transition-colors hover:bg-secondary-200 focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 dark:text-zinc-200 dark:hover:bg-zinc-700\"\r\n :aria-label=\"cancelText\"\r\n :disabled=\"loading\"\r\n @click=\"close\"\r\n >\r\n <i class=\"pi pi-times text-lg\" aria-hidden=\"true\" />\r\n </button>\r\n\r\n <div class=\"flex flex-col items-center gap-2 pt-2\">\r\n <i\r\n :class=\"[icon, 'top-confirm-dialog__icon text-[40px]']\"\r\n aria-hidden=\"true\"\r\n />\r\n <p class=\"text-base font-bold text-secondary-900 dark:text-zinc-100\">\r\n {{ title }}\r\n </p>\r\n </div>\r\n\r\n <div class=\"text-sm leading-5 text-secondary-700 dark:text-zinc-300\">\r\n <slot name=\"message\">\r\n <slot>{{ message }}</slot>\r\n </slot>\r\n </div>\r\n\r\n <div class=\"mt-2 flex w-full items-center justify-center gap-3\">\r\n <TopButton\r\n :label=\"cancelText\"\r\n secondary\r\n :disabled=\"loading\"\r\n class=\"px-3 py-2 text-sm\"\r\n @click=\"cancel\"\r\n />\r\n <TopButton\r\n :label=\"loading ? loadingText : confirmText\"\r\n :loading=\"loading\"\r\n :class=\"confirmButtonClass\"\r\n @click=\"confirm\"\r\n />\r\n </div>\r\n </div>\r\n </Dialog>\r\n</template>\r\n\r\n<style>\r\n.top-confirm-dialog {\r\n border-radius: 10px;\r\n box-shadow: 0 4px 4px rgb(0 0 0 / 25%);\r\n}\r\n\r\n.top-confirm-dialog__icon {\r\n color: var(--top-confirm-dialog-accent);\r\n}\r\n\r\n.top-confirm-dialog__confirm--danger {\r\n border-color: var(--top-confirm-dialog-accent) !important;\r\n background-color: var(--top-confirm-dialog-accent) !important;\r\n}\r\n\r\n.top-confirm-dialog__confirm--danger:hover {\r\n border-color: var(--top-confirm-dialog-accent-hover) !important;\r\n background-color: var(--top-confirm-dialog-accent-hover) !important;\r\n}\r\n\r\n.top-confirm-dialog__confirm--danger:focus {\r\n box-shadow: 0 0 0 0.2rem var(--top-confirm-dialog-accent) !important;\r\n}\r\n</style>\r\n","<script setup lang=\"ts\">\r\nimport { computed } from \"vue\";\r\nimport Dialog from \"primevue/dialog\";\r\nimport { colors } from \"../tokens/colors\";\r\nimport TopButton from \"./TopButton.vue\";\r\n\r\ntype ConfirmDialogSeverity = \"primary\" | \"danger\";\r\n\r\nconst props = withDefaults(\r\n defineProps<{\r\n modelValue?: boolean;\r\n title?: string;\r\n message?: string;\r\n confirmText?: string;\r\n cancelText?: string;\r\n loading?: boolean;\r\n loadingText?: string;\r\n severity?: ConfirmDialogSeverity;\r\n icon?: string;\r\n }>(),\r\n {\r\n modelValue: false,\r\n title: \"Confirmar\",\r\n message: \"\",\r\n confirmText: \"Confirmar\",\r\n cancelText: \"Cancelar\",\r\n loading: false,\r\n loadingText: \"Processando...\",\r\n severity: \"danger\",\r\n icon: \"pi pi-exclamation-triangle\",\r\n }\r\n);\r\n\r\nconst emit = defineEmits<{\r\n \"update:modelValue\": [value: boolean];\r\n confirm: [];\r\n cancel: [];\r\n close: [];\r\n}>();\r\n\r\nconst visibleProxy = computed({\r\n get: () => props.modelValue,\r\n set: (value: boolean) => {\r\n if (!value && props.loading) return;\r\n emit(\"update:modelValue\", value);\r\n },\r\n});\r\n\r\nconst accentStyle = computed<Record<string, string>>(() => ({\r\n \"--top-confirm-dialog-accent\":\r\n props.severity === \"danger\" ? colors.danger[600] : colors.primary[800],\r\n \"--top-confirm-dialog-accent-hover\":\r\n props.severity === \"danger\" ? colors.danger[700] : colors.primary[700],\r\n}));\r\n\r\nconst confirmButtonClass = computed(() =>\r\n [\r\n \"px-3 py-2 text-sm\",\r\n props.severity === \"danger\" ? \"!border-red-600 !bg-red-600 hover:!border-red-700 hover:!bg-red-700\" : \"\",\r\n ]\r\n .filter(Boolean)\r\n .join(\" \")\r\n);\r\n\r\nfunction confirm() {\r\n if (props.loading) return;\r\n emit(\"confirm\");\r\n}\r\n\r\nfunction cancel() {\r\n if (props.loading) return;\r\n emit(\"cancel\");\r\n visibleProxy.value = false;\r\n}\r\n\r\nfunction close() {\r\n if (props.loading) return;\r\n visibleProxy.value = false;\r\n}\r\n</script>\r\n\r\n<template>\r\n <Dialog\r\n v-model:visible=\"visibleProxy\"\r\n modal\r\n :closable=\"false\"\r\n :close-on-escape=\"!loading\"\r\n :dismissable-mask=\"false\"\r\n :draggable=\"false\"\r\n :show-header=\"false\"\r\n :style=\"{ width: '500px', maxWidth: 'calc(100vw - 2rem)' }\"\r\n :aria-label=\"title\"\r\n :pt=\"{\r\n root: { class: 'top-confirm-dialog top-solutions-component' },\r\n content: { class: 'p-6' },\r\n footer: { class: 'hidden' },\r\n }\"\r\n @hide=\"emit('close')\"\r\n >\r\n <div\r\n class=\"relative flex flex-col items-center gap-4 text-center\"\r\n :style=\"accentStyle\"\r\n >\r\n <button\r\n type=\"button\"\r\n class=\"absolute right-[-0.25rem] top-[-0.5rem] flex size-8 items-center justify-center rounded-full border-0 bg-transparent p-0 text-secondary-700 outline-none transition-colors hover:bg-secondary-200 focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 dark:text-zinc-200 dark:hover:bg-zinc-700\"\r\n :aria-label=\"cancelText\"\r\n :disabled=\"loading\"\r\n @click=\"close\"\r\n >\r\n <i class=\"pi pi-times text-lg\" aria-hidden=\"true\" />\r\n </button>\r\n\r\n <div class=\"flex flex-col items-center gap-2 pt-2\">\r\n <i\r\n :class=\"[icon, 'top-confirm-dialog__icon text-[40px]']\"\r\n aria-hidden=\"true\"\r\n />\r\n <p class=\"text-base font-bold text-secondary-900 dark:text-zinc-100\">\r\n {{ title }}\r\n </p>\r\n </div>\r\n\r\n <div class=\"text-sm leading-5 text-secondary-700 dark:text-zinc-300\">\r\n <slot name=\"message\">\r\n <slot>{{ message }}</slot>\r\n </slot>\r\n </div>\r\n\r\n <div class=\"mt-2 flex w-full items-center justify-center gap-3\">\r\n <TopButton\r\n :label=\"cancelText\"\r\n secondary\r\n :disabled=\"loading\"\r\n class=\"px-3 py-2 text-sm\"\r\n @click=\"cancel\"\r\n />\r\n <TopButton\r\n :label=\"loading ? loadingText : confirmText\"\r\n :loading=\"loading\"\r\n :class=\"confirmButtonClass\"\r\n @click=\"confirm\"\r\n />\r\n </div>\r\n </div>\r\n </Dialog>\r\n</template>\r\n\r\n<style>\r\n.top-confirm-dialog {\r\n border-radius: 10px;\r\n box-shadow: 0 4px 4px rgb(0 0 0 / 25%);\r\n}\r\n\r\n.top-confirm-dialog__icon {\r\n color: var(--top-confirm-dialog-accent);\r\n}\r\n\r\n.top-confirm-dialog__confirm--danger {\r\n border-color: var(--top-confirm-dialog-accent) !important;\r\n background-color: var(--top-confirm-dialog-accent) !important;\r\n}\r\n\r\n.top-confirm-dialog__confirm--danger:hover {\r\n border-color: var(--top-confirm-dialog-accent-hover) !important;\r\n background-color: var(--top-confirm-dialog-accent-hover) !important;\r\n}\r\n\r\n.top-confirm-dialog__confirm--danger:focus {\r\n box-shadow: 0 0 0 0.2rem var(--top-confirm-dialog-accent) !important;\r\n}\r\n</style>\r\n","<script setup lang=\"ts\">\r\nimport { computed, useAttrs, useId } from 'vue'\r\nimport InputText from 'primevue/inputtext'\r\n\r\ndefineOptions({ inheritAttrs: false })\r\n\r\nconst props = withDefaults(\r\n defineProps<{\r\n modelValue?: string\r\n label?: string\r\n placeholder?: string\r\n required?: boolean\r\n error?: string\r\n disabled?: boolean\r\n readonly?: boolean\r\n }>(),\r\n {\r\n modelValue: '',\r\n label: '',\r\n placeholder: '',\r\n required: false,\r\n error: '',\r\n disabled: false,\r\n readonly: false,\r\n },\r\n)\r\n\r\nconst emit = defineEmits<{\r\n 'update:modelValue': [value: string]\r\n}>()\r\n\r\nconst attrs = useAttrs()\r\nconst generatedId = useId()\r\n\r\nconst inputId = computed(() =>\r\n attrs.id === undefined || attrs.id === null || attrs.id === ''\r\n ? generatedId\r\n : String(attrs.id),\r\n)\r\nconst errorId = computed(() => `${inputId.value}-error`)\r\nconst ariaInvalid = computed<\r\n boolean | 'true' | 'false' | 'grammar' | 'spelling' | undefined\r\n>(() => {\r\n if (props.error) return true\r\n\r\n const value = attrs['aria-invalid']\r\n return typeof value === 'boolean' ||\r\n value === 'true' ||\r\n value === 'false' ||\r\n value === 'grammar' ||\r\n value === 'spelling'\r\n ? value\r\n : undefined\r\n})\r\nconst describedBy = computed(() => {\r\n const externalDescription = attrs['aria-describedby']\r\n const ids = [\r\n typeof externalDescription === 'string' ? externalDescription : '',\r\n props.error ? errorId.value : '',\r\n ].filter(Boolean)\r\n\r\n return ids.length ? ids.join(' ') : undefined\r\n})\r\n\r\nfunction updateModelValue(value: string | undefined) {\r\n emit('update:modelValue', value ?? '')\r\n}\r\n</script>\r\n\r\n<template>\r\n <div class=\"top-input-text top-solutions-component flex w-full flex-col gap-1\">\r\n <label\r\n v-if=\"label\"\r\n :for=\"inputId\"\r\n class=\"text-xs font-bold text-secondary-800 dark:text-zinc-200\"\r\n >\r\n {{ label }}\r\n <span v-if=\"required\" aria-hidden=\"true\" class=\"text-red-600 dark:text-red-400\">*</span>\r\n </label>\r\n\r\n <InputText\r\n v-bind=\"$attrs\"\r\n :id=\"inputId\"\r\n :model-value=\"modelValue\"\r\n type=\"text\"\r\n :placeholder=\"placeholder\"\r\n :required=\"required\"\r\n :disabled=\"disabled\"\r\n :readonly=\"readonly\"\r\n :invalid=\"Boolean(error)\"\r\n :aria-invalid=\"ariaInvalid\"\r\n :aria-describedby=\"describedBy\"\r\n fluid\r\n class=\"top-input-text__control h-[40px] w-full rounded-[10px] border border-secondary-600 px-3 py-2 text-xs text-secondary-900 enabled:hover:border-secondary-700 read-only:cursor-default read-only:bg-secondary-50 disabled:cursor-not-allowed dark:border-zinc-600 dark:bg-zinc-800 dark:text-zinc-100 dark:placeholder:text-zinc-400 dark:enabled:hover:border-zinc-500 dark:read-only:bg-zinc-800\"\r\n @update:model-value=\"updateModelValue\"\r\n />\r\n\r\n <span\r\n v-if=\"error\"\r\n :id=\"errorId\"\r\n class=\"text-[11px] text-red-600 dark:text-red-400\"\r\n role=\"alert\"\r\n >\r\n {{ error }}\r\n </span>\r\n </div>\r\n</template>\r\n","<script setup lang=\"ts\">\r\nimport { computed, useAttrs, useId } from 'vue'\r\nimport InputText from 'primevue/inputtext'\r\n\r\ndefineOptions({ inheritAttrs: false })\r\n\r\nconst props = withDefaults(\r\n defineProps<{\r\n modelValue?: string\r\n label?: string\r\n placeholder?: string\r\n required?: boolean\r\n error?: string\r\n disabled?: boolean\r\n readonly?: boolean\r\n }>(),\r\n {\r\n modelValue: '',\r\n label: '',\r\n placeholder: '',\r\n required: false,\r\n error: '',\r\n disabled: false,\r\n readonly: false,\r\n },\r\n)\r\n\r\nconst emit = defineEmits<{\r\n 'update:modelValue': [value: string]\r\n}>()\r\n\r\nconst attrs = useAttrs()\r\nconst generatedId = useId()\r\n\r\nconst inputId = computed(() =>\r\n attrs.id === undefined || attrs.id === null || attrs.id === ''\r\n ? generatedId\r\n : String(attrs.id),\r\n)\r\nconst errorId = computed(() => `${inputId.value}-error`)\r\nconst ariaInvalid = computed<\r\n boolean | 'true' | 'false' | 'grammar' | 'spelling' | undefined\r\n>(() => {\r\n if (props.error) return true\r\n\r\n const value = attrs['aria-invalid']\r\n return typeof value === 'boolean' ||\r\n value === 'true' ||\r\n value === 'false' ||\r\n value === 'grammar' ||\r\n value === 'spelling'\r\n ? value\r\n : undefined\r\n})\r\nconst describedBy = computed(() => {\r\n const externalDescription = attrs['aria-describedby']\r\n const ids = [\r\n typeof externalDescription === 'string' ? externalDescription : '',\r\n props.error ? errorId.value : '',\r\n ].filter(Boolean)\r\n\r\n return ids.length ? ids.join(' ') : undefined\r\n})\r\n\r\nfunction updateModelValue(value: string | undefined) {\r\n emit('update:modelValue', value ?? '')\r\n}\r\n</script>\r\n\r\n<template>\r\n <div class=\"top-input-text top-solutions-component flex w-full flex-col gap-1\">\r\n <label\r\n v-if=\"label\"\r\n :for=\"inputId\"\r\n class=\"text-xs font-bold text-secondary-800 dark:text-zinc-200\"\r\n >\r\n {{ label }}\r\n <span v-if=\"required\" aria-hidden=\"true\" class=\"text-red-600 dark:text-red-400\">*</span>\r\n </label>\r\n\r\n <InputText\r\n v-bind=\"$attrs\"\r\n :id=\"inputId\"\r\n :model-value=\"modelValue\"\r\n type=\"text\"\r\n :placeholder=\"placeholder\"\r\n :required=\"required\"\r\n :disabled=\"disabled\"\r\n :readonly=\"readonly\"\r\n :invalid=\"Boolean(error)\"\r\n :aria-invalid=\"ariaInvalid\"\r\n :aria-describedby=\"describedBy\"\r\n fluid\r\n class=\"top-input-text__control h-[40px] w-full rounded-[10px] border border-secondary-600 px-3 py-2 text-xs text-secondary-900 enabled:hover:border-secondary-700 read-only:cursor-default read-only:bg-secondary-50 disabled:cursor-not-allowed dark:border-zinc-600 dark:bg-zinc-800 dark:text-zinc-100 dark:placeholder:text-zinc-400 dark:enabled:hover:border-zinc-500 dark:read-only:bg-zinc-800\"\r\n @update:model-value=\"updateModelValue\"\r\n />\r\n\r\n <span\r\n v-if=\"error\"\r\n :id=\"errorId\"\r\n class=\"text-[11px] text-red-600 dark:text-red-400\"\r\n role=\"alert\"\r\n >\r\n {{ error }}\r\n </span>\r\n </div>\r\n</template>\r\n","<script setup lang=\"ts\">\r\nimport { computed, nextTick, onBeforeUnmount, onMounted, ref, useSlots, watch } from 'vue'\r\nimport AutoComplete from 'primevue/autocomplete'\r\nimport vTooltip from 'primevue/tooltip'\r\n\r\ntype SelectOption = Record<string, unknown> | string | number\r\n\r\nconst props = withDefaults(\r\n defineProps<{\r\n modelValue?: SelectOption | SelectOption[] | null\r\n options?: SelectOption[]\r\n loading?: boolean\r\n disabled?: boolean\r\n placeholder?: string\r\n optionLabel?: string | ((option: SelectOption) => string)\r\n optionKey?: string\r\n optionPrefix?: string\r\n showOptionPrefix?: boolean\r\n showSelectedPrefix?: boolean\r\n panelWidth?: string | null\r\n scrollHeight?: string\r\n invalid?: boolean\r\n showTooltip?: boolean\r\n optionGroupLabel?: string | null\r\n optionGroupChildren?: string | null\r\n minQueryLength?: number\r\n emptyMessage?: string\r\n loadingMessage?: string\r\n showLoadingMessage?: boolean\r\n multiple?: boolean\r\n forceSelection?: boolean\r\n closeOnSelect?: boolean\r\n }>(),\r\n {\r\n modelValue: null,\r\n options: () => [],\r\n loading: false,\r\n disabled: false,\r\n placeholder: 'Pesquisar...',\r\n optionLabel: 'label',\r\n optionKey: 'id',\r\n optionPrefix: '',\r\n showOptionPrefix: false,\r\n showSelectedPrefix: false,\r\n panelWidth: null,\r\n scrollHeight: '250px',\r\n invalid: false,\r\n showTooltip: true,\r\n optionGroupLabel: null,\r\n optionGroupChildren: null,\r\n minQueryLength: 1,\r\n emptyMessage: 'Nenhum resultado encontrado.',\r\n loadingMessage: 'Carregando...',\r\n showLoadingMessage: true,\r\n multiple: false,\r\n forceSelection: true,\r\n closeOnSelect: false,\r\n },\r\n)\r\n\r\nconst emit = defineEmits<{\r\n 'update:modelValue': [value: SelectOption | SelectOption[] | null]\r\n search: [event: { originalEvent: Event; query: string }]\r\n loadMore: [event: unknown]\r\n clear: []\r\n select: [event: unknown]\r\n change: [event: unknown]\r\n}>()\r\n\r\nconst slots = useSlots()\r\n// PrimeVue's slot types omit selected-item even though the runtime component supports it.\r\nconst TopAutoComplete = AutoComplete as any\r\nconst query = ref('')\r\nconst focused = ref(false)\r\nconst autocompleteRef = ref<{ hide?: () => void } | null>(null)\r\nconst instanceId = `top-select-${Math.random().toString(36).slice(2)}`\r\nlet closeTimer: ReturnType<typeof setTimeout> | null = null\r\n\r\nconst valueProxy = computed({\r\n get: () => props.modelValue,\r\n set: (value) => emit('update:modelValue', value),\r\n})\r\n\r\nfunction readOptionValue(option: SelectOption | null | undefined, key: string) {\r\n if (option === null || option === undefined) return ''\r\n if (typeof option !== 'object') return String(option)\r\n return String(option[key] ?? '')\r\n}\r\n\r\nfunction getOptionLabel(option: SelectOption | null | undefined) {\r\n if (option === null || option === undefined) return ''\r\n if (typeof props.optionLabel === 'function') return props.optionLabel(option)\r\n return readOptionValue(option, props.optionLabel)\r\n}\r\n\r\nfunction getOptionPrefix(option: SelectOption | null | undefined) {\r\n return props.optionPrefix ? readOptionValue(option, props.optionPrefix) : ''\r\n}\r\n\r\nfunction formatOptionLabel(option: SelectOption | null | undefined, includePrefix = props.showSelectedPrefix) {\r\n const label = getOptionLabel(option)\r\n const prefix = getOptionPrefix(option)\r\n return includePrefix && prefix ? `${prefix} - ${label}` : label\r\n}\r\n\r\nfunction getHighlightedParts(value: string) {\r\n const searchTerm = query.value\r\n if (!searchTerm) return [{ text: value, highlighted: false }]\r\n\r\n const escapedQuery = searchTerm.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')\r\n const regex = new RegExp(`(${escapedQuery})`, 'gi')\r\n return value.split(regex).filter(Boolean).map((part) => ({\r\n text: part,\r\n highlighted: part.toLowerCase() === searchTerm.toLowerCase(),\r\n }))\r\n}\r\n\r\nfunction hideDropdown() {\r\n autocompleteRef.value?.hide?.()\r\n}\r\n\r\nfunction closeOtherDropdowns() {\r\n if (typeof window === 'undefined') return\r\n window.dispatchEvent(new CustomEvent('top-select:close-others', { detail: { instanceId } }))\r\n}\r\n\r\nfunction handleOtherDropdownClosing(event: Event) {\r\n const customEvent = event as CustomEvent<{ instanceId?: string }>\r\n if (customEvent.detail?.instanceId !== instanceId) hideDropdown()\r\n}\r\n\r\nfunction handleFocusIn() {\r\n if (props.disabled || closeTimer) {\r\n hideDropdown()\r\n return\r\n }\r\n focused.value = true\r\n closeOtherDropdowns()\r\n}\r\n\r\nfunction closeAfterSelection() {\r\n if (!props.closeOnSelect) return\r\n focused.value = false\r\n hideDropdown()\r\n nextTick(hideDropdown)\r\n if (closeTimer) clearTimeout(closeTimer)\r\n closeTimer = setTimeout(() => {\r\n hideDropdown()\r\n closeTimer = null\r\n }, 200)\r\n}\r\n\r\ndefineExpose({ hideDropdown })\r\n\r\nonMounted(() => window.addEventListener('top-select:close-others', handleOtherDropdownClosing))\r\nonBeforeUnmount(() => {\r\n window.removeEventListener('top-select:close-others', handleOtherDropdownClosing)\r\n if (closeTimer) clearTimeout(closeTimer)\r\n})\r\n\r\nwatch(() => props.disabled, (disabled) => {\r\n if (disabled) {\r\n focused.value = false\r\n hideDropdown()\r\n }\r\n})\r\n\r\nwatch(() => props.options, () => {\r\n if (!focused.value) hideDropdown()\r\n})\r\n</script>\r\n\r\n<template>\r\n <div class=\"top-select top-solutions-component relative w-full\" :class=\"{ 'pointer-events-none': disabled }\" @focusin=\"handleFocusIn\">\r\n <span class=\"pointer-events-none absolute left-3 top-1/2 z-10 -translate-y-1/2 text-primary-800 dark:text-primary-500\">\n <slot name=\"icon\" :loading=\"loading\">\r\n <i v-if=\"loading\" class=\"pi pi-spin pi-spinner\" />\r\n <i v-else class=\"pi pi-search\" />\r\n </slot>\r\n </span>\r\n\r\n <TopAutoComplete\r\n ref=\"autocompleteRef\"\r\n v-model=\"valueProxy\"\r\n :option-group-label=\"optionGroupLabel ?? undefined\"\r\n :option-group-children=\"optionGroupChildren ?? undefined\"\r\n :suggestions=\"options\"\r\n :data-key=\"optionKey\"\r\n :option-label=\"(option: SelectOption) => formatOptionLabel(option)\"\r\n :placeholder=\"placeholder\"\r\n :multiple=\"multiple\"\r\n :min-length=\"minQueryLength\"\r\n :disabled=\"disabled\"\r\n :delay=\"500\"\r\n :show-clear=\"!multiple && !disabled\"\r\n dropdown\r\n dropdown-mode=\"current\"\r\n :complete-on-focus=\"false\"\r\n :invalid=\"invalid\"\r\n fluid\r\n :force-selection=\"forceSelection\"\r\n input-class=\"text-xs\"\r\n :virtual-scroller-options=\"{\r\n lazy: true,\r\n onLazyLoad: (event: unknown) => emit('loadMore', event),\r\n itemSize: 84,\r\n showLoader: true,\r\n scrollHeight,\r\n }\"\r\n :pt=\"{\r\n root: { class: ['w-full text-xs', multiple ? 'h-auto' : 'h-[40px]'].join(' ') },\r\n pcInputText: {\r\n root: {\r\n class: 'w-full h-auto text-xs dark:text-zinc-100 border border-secondary-600 rounded-[10px] !pl-9 min-h-[36px] dark:border-zinc-600 dark:!bg-zinc-800',\r\n },\r\n },\r\n input: { class: ['w-full h-auto text-xs dark:text-zinc-100', multiple ? 'border-0 bg-transparent py-1 !shadow-none outline-none ring-0 dark:!bg-transparent' : 'border border-secondary-600 rounded-[10px] !pl-9 min-h-[36px] dark:border-zinc-600 dark:!bg-zinc-600'].join(' ') },\r\n inputMultiple: { class: ['rounded-[10px] pl-9 min-h-[40px] dark:border-zinc-600 dark:text-zinc-100', disabled ? 'dark:!bg-zinc-700 dark:!text-zinc-400' : 'dark:!bg-zinc-800'].join(' ') },\r\n inputChip: { class: 'py-0' },\r\n token: { class: 'bg-primary-100 text-primary-900 rounded-md gap-2 px-2 my-1 dark:bg-primary-900 dark:text-primary-100' },\r\n removeTokenIcon: { class: 'text-primary-900 w-3 h-3 cursor-pointer dark:text-primary-100' },\r\n panel: { class: 'top-select-panel top-solutions-component max-w-[85vw] overflow-hidden h-fit shadow-xl' },\r\n listContainer: { class: 'max-w-full overflow-x-hidden', style: { overflowX: 'hidden', maxWidth: panelWidth ?? '85vw', ...(panelWidth ? { width: panelWidth } : {}) } },\r\n list: { class: 'max-w-full overflow-x-hidden' }, option: { class: 'max-w-full overflow-hidden min-h-[84px]' }, placeholder: { class: '!text-xs' },\r\n }\"\r\n search-message=\" \"\r\n @clear=\"query = ''; emit('clear')\"\r\n @item-select=\"(event: unknown) => { query = ''; emit('select', event); closeAfterSelection() }\"\r\n @complete=\"(event: { originalEvent: Event; query?: string }) => { if (disabled) { hideDropdown(); return }; query = event.query ?? ''; closeOtherDropdowns(); emit('search', { ...event, query: query }) }\"\r\n @change=\"(event: unknown) => emit('change', event)\"\r\n >\r\n <template #chip=\"slotProps\">\r\n <slot v-if=\"slots.chip\" name=\"chip\" v-bind=\"slotProps\" />\r\n <div v-else class=\"flex items-center gap-1 !text-sm\">\r\n <div class=\"flex items-center gap-2 rounded-[9px] bg-primary-500 px-2 py-1 text-white\">\r\n <i class=\"pi pi-times-circle shrink-0 cursor-pointer rounded-full hover:bg-primary-800\" @click=\"slotProps.removeCallback($event)\" />\r\n <span v-tooltip.top=\"formatOptionLabel(slotProps.value)\" class=\"line-clamp-1 max-w-[300px] overflow-hidden text-ellipsis\">{{ formatOptionLabel(slotProps.value) }}</span>\r\n </div>\r\n </div>\r\n </template>\r\n\r\n <template #empty>\r\n <slot v-if=\"slots.empty\" name=\"empty\" />\r\n <div v-else-if=\"loading\" class=\"flex min-h-[100px] flex-col items-center justify-center gap-2 py-2\">\r\n <span class=\"pi pi-spin pi-spinner text-2xl text-primary-600\" />\r\n <span v-if=\"showLoadingMessage\" class=\"text-xs font-medium text-primary-600\">{{ loadingMessage }}</span>\r\n </div>\r\n <span v-else class=\"text-xs text-secondary-500\">{{ emptyMessage }}</span>\r\n </template>\r\n\r\n <template #selected-item=\"slotProps\">\r\n <slot v-if=\"slots['selected-item']\" name=\"selected-item\" v-bind=\"slotProps\" />\r\n <span v-else-if=\"slotProps.item\">{{ formatOptionLabel(slotProps.item) }}</span>\r\n </template>\r\n\r\n <template #optiongroup=\"slotProps\">\r\n <slot v-if=\"slots['option-group']\" name=\"option-group\" v-bind=\"slotProps\" />\r\n <div v-else class=\"flex items-center gap-2 font-semibold\">\r\n <i v-if=\"slotProps.option.icon\" :class=\"slotProps.option.icon\" />\r\n <span>{{ slotProps.option[optionGroupLabel ?? 'label'] }}</span>\r\n </div>\r\n </template>\r\n\r\n <template #option=\"slotProps\">\r\n <slot v-if=\"slots.option\" name=\"option\" v-bind=\"slotProps\" :label=\"getOptionLabel(slotProps.option)\" :prefix=\"getOptionPrefix(slotProps.option)\" :query=\"query\" />\r\n <div v-else v-tooltip.top=\"showTooltip ? getOptionLabel(slotProps.option) : null\" class=\"flex w-full min-w-0 items-start gap-2 overflow-hidden px-2 py-3 text-sm\" style=\"white-space: normal\">\r\n <span class=\"top-select-option-label line-clamp-2 min-w-0 flex-1 text-secondary-700 dark:text-zinc-200\" :title=\"getOptionLabel(slotProps.option)\">\r\n <span v-if=\"showOptionPrefix && getOptionPrefix(slotProps.option)\" class=\"top-select-option-prefix whitespace-nowrap font-bold text-primary-800 dark:text-primary-100\">\r\n <template v-for=\"(part, index) in getHighlightedParts(getOptionPrefix(slotProps.option))\" :key=\"index\"><mark v-if=\"part.highlighted\" class=\"rounded-sm bg-primary-200 p-0 font-bold text-black dark:bg-cyan-700 dark:text-white\">{{ part.text }}</mark><template v-else>{{ part.text }}</template></template><span class=\"font-bold text-secondary-500 dark:text-zinc-400\">&nbsp;-&nbsp;</span>\r\n </span>\r\n <template v-for=\"(part, index) in getHighlightedParts(getOptionLabel(slotProps.option))\" :key=\"index\"><mark v-if=\"part.highlighted\" class=\"rounded-sm bg-primary-200 p-0 font-bold text-black dark:bg-cyan-700 dark:text-white\">{{ part.text }}</mark><template v-else>{{ part.text }}</template></template>\r\n </span>\r\n </div>\r\n </template>\r\n\r\n <template v-if=\"slots.footer\" #footer=\"slotProps\"><slot name=\"footer\" v-bind=\"slotProps\" /></template>\r\n </TopAutoComplete>\r\n </div>\r\n</template>\r\n\r\n<style>\r\n.top-select {\r\n position: relative;\r\n width: 100%;\r\n}\r\n\r\n.top-select .p-inputtext.p-component.p-inputtext-fluid.p-autocomplete-input {\r\n padding-left: 35px !important;\r\n border-radius: 10px 0 0 10px !important;\r\n}\r\n\r\n.top-select .p-autocomplete-dropdown {\r\n border-radius: 0 10px 10px 0 !important;\r\n}\r\n\r\n.top-select-option-prefix {\r\n color: var(--top-primary-800) !important;\r\n}\r\n\r\n.dark .top-select-option-prefix {\r\n color: var(--top-primary-100) !important;\r\n}\r\n\r\n.top-select-option-label {\r\n min-width: 0;\r\n flex: 1;\r\n display: -webkit-box;\r\n -webkit-box-orient: vertical;\r\n -webkit-line-clamp: 2;\r\n line-clamp: 2;\r\n overflow: hidden;\r\n overflow-wrap: anywhere;\r\n}\r\n\r\n.top-select-panel,\r\n.top-select-panel .p-virtualscroller,\r\n.top-select-panel .p-autocomplete-list-container,\r\n.top-select-panel .p-autocomplete-list { overflow-x: hidden !important; }\r\n.top-select-panel .p-autocomplete-option { max-width: 100%; }\r\n</style>\r\n","<script setup lang=\"ts\">\r\nimport { computed, nextTick, onBeforeUnmount, onMounted, ref, useSlots, watch } from 'vue'\r\nimport AutoComplete from 'primevue/autocomplete'\r\nimport vTooltip from 'primevue/tooltip'\r\n\r\ntype SelectOption = Record<string, unknown> | string | number\r\n\r\nconst props = withDefaults(\r\n defineProps<{\r\n modelValue?: SelectOption | SelectOption[] | null\r\n options?: SelectOption[]\r\n loading?: boolean\r\n disabled?: boolean\r\n placeholder?: string\r\n optionLabel?: string | ((option: SelectOption) => string)\r\n optionKey?: string\r\n optionPrefix?: string\r\n showOptionPrefix?: boolean\r\n showSelectedPrefix?: boolean\r\n panelWidth?: string | null\r\n scrollHeight?: string\r\n invalid?: boolean\r\n showTooltip?: boolean\r\n optionGroupLabel?: string | null\r\n optionGroupChildren?: string | null\r\n minQueryLength?: number\r\n emptyMessage?: string\r\n loadingMessage?: string\r\n showLoadingMessage?: boolean\r\n multiple?: boolean\r\n forceSelection?: boolean\r\n closeOnSelect?: boolean\r\n }>(),\r\n {\r\n modelValue: null,\r\n options: () => [],\r\n loading: false,\r\n disabled: false,\r\n placeholder: 'Pesquisar...',\r\n optionLabel: 'label',\r\n optionKey: 'id',\r\n optionPrefix: '',\r\n showOptionPrefix: false,\r\n showSelectedPrefix: false,\r\n panelWidth: null,\r\n scrollHeight: '250px',\r\n invalid: false,\r\n showTooltip: true,\r\n optionGroupLabel: null,\r\n optionGroupChildren: null,\r\n minQueryLength: 1,\r\n emptyMessage: 'Nenhum resultado encontrado.',\r\n loadingMessage: 'Carregando...',\r\n showLoadingMessage: true,\r\n multiple: false,\r\n forceSelection: true,\r\n closeOnSelect: false,\r\n },\r\n)\r\n\r\nconst emit = defineEmits<{\r\n 'update:modelValue': [value: SelectOption | SelectOption[] | null]\r\n search: [event: { originalEvent: Event; query: string }]\r\n loadMore: [event: unknown]\r\n clear: []\r\n select: [event: unknown]\r\n change: [event: unknown]\r\n}>()\r\n\r\nconst slots = useSlots()\r\n// PrimeVue's slot types omit selected-item even though the runtime component supports it.\r\nconst TopAutoComplete = AutoComplete as any\r\nconst query = ref('')\r\nconst focused = ref(false)\r\nconst autocompleteRef = ref<{ hide?: () => void } | null>(null)\r\nconst instanceId = `top-select-${Math.random().toString(36).slice(2)}`\r\nlet closeTimer: ReturnType<typeof setTimeout> | null = null\r\n\r\nconst valueProxy = computed({\r\n get: () => props.modelValue,\r\n set: (value) => emit('update:modelValue', value),\r\n})\r\n\r\nfunction readOptionValue(option: SelectOption | null | undefined, key: string) {\r\n if (option === null || option === undefined) return ''\r\n if (typeof option !== 'object') return String(option)\r\n return String(option[key] ?? '')\r\n}\r\n\r\nfunction getOptionLabel(option: SelectOption | null | undefined) {\r\n if (option === null || option === undefined) return ''\r\n if (typeof props.optionLabel === 'function') return props.optionLabel(option)\r\n return readOptionValue(option, props.optionLabel)\r\n}\r\n\r\nfunction getOptionPrefix(option: SelectOption | null | undefined) {\r\n return props.optionPrefix ? readOptionValue(option, props.optionPrefix) : ''\r\n}\r\n\r\nfunction formatOptionLabel(option: SelectOption | null | undefined, includePrefix = props.showSelectedPrefix) {\r\n const label = getOptionLabel(option)\r\n const prefix = getOptionPrefix(option)\r\n return includePrefix && prefix ? `${prefix} - ${label}` : label\r\n}\r\n\r\nfunction getHighlightedParts(value: string) {\r\n const searchTerm = query.value\r\n if (!searchTerm) return [{ text: value, highlighted: false }]\r\n\r\n const escapedQuery = searchTerm.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')\r\n const regex = new RegExp(`(${escapedQuery})`, 'gi')\r\n return value.split(regex).filter(Boolean).map((part) => ({\r\n text: part,\r\n highlighted: part.toLowerCase() === searchTerm.toLowerCase(),\r\n }))\r\n}\r\n\r\nfunction hideDropdown() {\r\n autocompleteRef.value?.hide?.()\r\n}\r\n\r\nfunction closeOtherDropdowns() {\r\n if (typeof window === 'undefined') return\r\n window.dispatchEvent(new CustomEvent('top-select:close-others', { detail: { instanceId } }))\r\n}\r\n\r\nfunction handleOtherDropdownClosing(event: Event) {\r\n const customEvent = event as CustomEvent<{ instanceId?: string }>\r\n if (customEvent.detail?.instanceId !== instanceId) hideDropdown()\r\n}\r\n\r\nfunction handleFocusIn() {\r\n if (props.disabled || closeTimer) {\r\n hideDropdown()\r\n return\r\n }\r\n focused.value = true\r\n closeOtherDropdowns()\r\n}\r\n\r\nfunction closeAfterSelection() {\r\n if (!props.closeOnSelect) return\r\n focused.value = false\r\n hideDropdown()\r\n nextTick(hideDropdown)\r\n if (closeTimer) clearTimeout(closeTimer)\r\n closeTimer = setTimeout(() => {\r\n hideDropdown()\r\n closeTimer = null\r\n }, 200)\r\n}\r\n\r\ndefineExpose({ hideDropdown })\r\n\r\nonMounted(() => window.addEventListener('top-select:close-others', handleOtherDropdownClosing))\r\nonBeforeUnmount(() => {\r\n window.removeEventListener('top-select:close-others', handleOtherDropdownClosing)\r\n if (closeTimer) clearTimeout(closeTimer)\r\n})\r\n\r\nwatch(() => props.disabled, (disabled) => {\r\n if (disabled) {\r\n focused.value = false\r\n hideDropdown()\r\n }\r\n})\r\n\r\nwatch(() => props.options, () => {\r\n if (!focused.value) hideDropdown()\r\n})\r\n</script>\r\n\r\n<template>\r\n <div class=\"top-select top-solutions-component relative w-full\" :class=\"{ 'pointer-events-none': disabled }\" @focusin=\"handleFocusIn\">\r\n <span class=\"pointer-events-none absolute left-3 top-1/2 z-10 -translate-y-1/2 text-primary-800 dark:text-primary-500\">\n <slot name=\"icon\" :loading=\"loading\">\r\n <i v-if=\"loading\" class=\"pi pi-spin pi-spinner\" />\r\n <i v-else class=\"pi pi-search\" />\r\n </slot>\r\n </span>\r\n\r\n <TopAutoComplete\r\n ref=\"autocompleteRef\"\r\n v-model=\"valueProxy\"\r\n :option-group-label=\"optionGroupLabel ?? undefined\"\r\n :option-group-children=\"optionGroupChildren ?? undefined\"\r\n :suggestions=\"options\"\r\n :data-key=\"optionKey\"\r\n :option-label=\"(option: SelectOption) => formatOptionLabel(option)\"\r\n :placeholder=\"placeholder\"\r\n :multiple=\"multiple\"\r\n :min-length=\"minQueryLength\"\r\n :disabled=\"disabled\"\r\n :delay=\"500\"\r\n :show-clear=\"!multiple && !disabled\"\r\n dropdown\r\n dropdown-mode=\"current\"\r\n :complete-on-focus=\"false\"\r\n :invalid=\"invalid\"\r\n fluid\r\n :force-selection=\"forceSelection\"\r\n input-class=\"text-xs\"\r\n :virtual-scroller-options=\"{\r\n lazy: true,\r\n onLazyLoad: (event: unknown) => emit('loadMore', event),\r\n itemSize: 84,\r\n showLoader: true,\r\n scrollHeight,\r\n }\"\r\n :pt=\"{\r\n root: { class: ['w-full text-xs', multiple ? 'h-auto' : 'h-[40px]'].join(' ') },\r\n pcInputText: {\r\n root: {\r\n class: 'w-full h-auto text-xs dark:text-zinc-100 border border-secondary-600 rounded-[10px] !pl-9 min-h-[36px] dark:border-zinc-600 dark:!bg-zinc-800',\r\n },\r\n },\r\n input: { class: ['w-full h-auto text-xs dark:text-zinc-100', multiple ? 'border-0 bg-transparent py-1 !shadow-none outline-none ring-0 dark:!bg-transparent' : 'border border-secondary-600 rounded-[10px] !pl-9 min-h-[36px] dark:border-zinc-600 dark:!bg-zinc-600'].join(' ') },\r\n inputMultiple: { class: ['rounded-[10px] pl-9 min-h-[40px] dark:border-zinc-600 dark:text-zinc-100', disabled ? 'dark:!bg-zinc-700 dark:!text-zinc-400' : 'dark:!bg-zinc-800'].join(' ') },\r\n inputChip: { class: 'py-0' },\r\n token: { class: 'bg-primary-100 text-primary-900 rounded-md gap-2 px-2 my-1 dark:bg-primary-900 dark:text-primary-100' },\r\n removeTokenIcon: { class: 'text-primary-900 w-3 h-3 cursor-pointer dark:text-primary-100' },\r\n panel: { class: 'top-select-panel top-solutions-component max-w-[85vw] overflow-hidden h-fit shadow-xl' },\r\n listContainer: { class: 'max-w-full overflow-x-hidden', style: { overflowX: 'hidden', maxWidth: panelWidth ?? '85vw', ...(panelWidth ? { width: panelWidth } : {}) } },\r\n list: { class: 'max-w-full overflow-x-hidden' }, option: { class: 'max-w-full overflow-hidden min-h-[84px]' }, placeholder: { class: '!text-xs' },\r\n }\"\r\n search-message=\" \"\r\n @clear=\"query = ''; emit('clear')\"\r\n @item-select=\"(event: unknown) => { query = ''; emit('select', event); closeAfterSelection() }\"\r\n @complete=\"(event: { originalEvent: Event; query?: string }) => { if (disabled) { hideDropdown(); return }; query = event.query ?? ''; closeOtherDropdowns(); emit('search', { ...event, query: query }) }\"\r\n @change=\"(event: unknown) => emit('change', event)\"\r\n >\r\n <template #chip=\"slotProps\">\r\n <slot v-if=\"slots.chip\" name=\"chip\" v-bind=\"slotProps\" />\r\n <div v-else class=\"flex items-center gap-1 !text-sm\">\r\n <div class=\"flex items-center gap-2 rounded-[9px] bg-primary-500 px-2 py-1 text-white\">\r\n <i class=\"pi pi-times-circle shrink-0 cursor-pointer rounded-full hover:bg-primary-800\" @click=\"slotProps.removeCallback($event)\" />\r\n <span v-tooltip.top=\"formatOptionLabel(slotProps.value)\" class=\"line-clamp-1 max-w-[300px] overflow-hidden text-ellipsis\">{{ formatOptionLabel(slotProps.value) }}</span>\r\n </div>\r\n </div>\r\n </template>\r\n\r\n <template #empty>\r\n <slot v-if=\"slots.empty\" name=\"empty\" />\r\n <div v-else-if=\"loading\" class=\"flex min-h-[100px] flex-col items-center justify-center gap-2 py-2\">\r\n <span class=\"pi pi-spin pi-spinner text-2xl text-primary-600\" />\r\n <span v-if=\"showLoadingMessage\" class=\"text-xs font-medium text-primary-600\">{{ loadingMessage }}</span>\r\n </div>\r\n <span v-else class=\"text-xs text-secondary-500\">{{ emptyMessage }}</span>\r\n </template>\r\n\r\n <template #selected-item=\"slotProps\">\r\n <slot v-if=\"slots['selected-item']\" name=\"selected-item\" v-bind=\"slotProps\" />\r\n <span v-else-if=\"slotProps.item\">{{ formatOptionLabel(slotProps.item) }}</span>\r\n </template>\r\n\r\n <template #optiongroup=\"slotProps\">\r\n <slot v-if=\"slots['option-group']\" name=\"option-group\" v-bind=\"slotProps\" />\r\n <div v-else class=\"flex items-center gap-2 font-semibold\">\r\n <i v-if=\"slotProps.option.icon\" :class=\"slotProps.option.icon\" />\r\n <span>{{ slotProps.option[optionGroupLabel ?? 'label'] }}</span>\r\n </div>\r\n </template>\r\n\r\n <template #option=\"slotProps\">\r\n <slot v-if=\"slots.option\" name=\"option\" v-bind=\"slotProps\" :label=\"getOptionLabel(slotProps.option)\" :prefix=\"getOptionPrefix(slotProps.option)\" :query=\"query\" />\r\n <div v-else v-tooltip.top=\"showTooltip ? getOptionLabel(slotProps.option) : null\" class=\"flex w-full min-w-0 items-start gap-2 overflow-hidden px-2 py-3 text-sm\" style=\"white-space: normal\">\r\n <span class=\"top-select-option-label line-clamp-2 min-w-0 flex-1 text-secondary-700 dark:text-zinc-200\" :title=\"getOptionLabel(slotProps.option)\">\r\n <span v-if=\"showOptionPrefix && getOptionPrefix(slotProps.option)\" class=\"top-select-option-prefix whitespace-nowrap font-bold text-primary-800 dark:text-primary-100\">\r\n <template v-for=\"(part, index) in getHighlightedParts(getOptionPrefix(slotProps.option))\" :key=\"index\"><mark v-if=\"part.highlighted\" class=\"rounded-sm bg-primary-200 p-0 font-bold text-black dark:bg-cyan-700 dark:text-white\">{{ part.text }}</mark><template v-else>{{ part.text }}</template></template><span class=\"font-bold text-secondary-500 dark:text-zinc-400\">&nbsp;-&nbsp;</span>\r\n </span>\r\n <template v-for=\"(part, index) in getHighlightedParts(getOptionLabel(slotProps.option))\" :key=\"index\"><mark v-if=\"part.highlighted\" class=\"rounded-sm bg-primary-200 p-0 font-bold text-black dark:bg-cyan-700 dark:text-white\">{{ part.text }}</mark><template v-else>{{ part.text }}</template></template>\r\n </span>\r\n </div>\r\n </template>\r\n\r\n <template v-if=\"slots.footer\" #footer=\"slotProps\"><slot name=\"footer\" v-bind=\"slotProps\" /></template>\r\n </TopAutoComplete>\r\n </div>\r\n</template>\r\n\r\n<style>\r\n.top-select {\r\n position: relative;\r\n width: 100%;\r\n}\r\n\r\n.top-select .p-inputtext.p-component.p-inputtext-fluid.p-autocomplete-input {\r\n padding-left: 35px !important;\r\n border-radius: 10px 0 0 10px !important;\r\n}\r\n\r\n.top-select .p-autocomplete-dropdown {\r\n border-radius: 0 10px 10px 0 !important;\r\n}\r\n\r\n.top-select-option-prefix {\r\n color: var(--top-primary-800) !important;\r\n}\r\n\r\n.dark .top-select-option-prefix {\r\n color: var(--top-primary-100) !important;\r\n}\r\n\r\n.top-select-option-label {\r\n min-width: 0;\r\n flex: 1;\r\n display: -webkit-box;\r\n -webkit-box-orient: vertical;\r\n -webkit-line-clamp: 2;\r\n line-clamp: 2;\r\n overflow: hidden;\r\n overflow-wrap: anywhere;\r\n}\r\n\r\n.top-select-panel,\r\n.top-select-panel .p-virtualscroller,\r\n.top-select-panel .p-autocomplete-list-container,\r\n.top-select-panel .p-autocomplete-list { overflow-x: hidden !important; }\r\n.top-select-panel .p-autocomplete-option { max-width: 100%; }\r\n</style>\r\n","<script setup lang=\"ts\">\r\nimport Toast from 'primevue/toast'\r\nimport type { ToastMessageOptions } from 'primevue/toast'\r\n\r\nexport type TopToastFooter = string | number\r\n\r\nexport type TopToastAction = {\r\n label: string\r\n icon?: string\r\n onClick?: () => void\r\n}\r\n\r\nexport type TopToastData = {\r\n footer?: TopToastFooter\r\n action?: TopToastAction\r\n}\r\n\r\ntype TopToastMessage = ToastMessageOptions & {\r\n data?: TopToastData\r\n}\r\n\r\nwithDefaults(\r\n defineProps<{\r\n baseZIndex?: number\r\n }>(),\r\n {\r\n baseZIndex: 30000,\r\n },\r\n)\r\n\r\nfunction footerOf(message: TopToastMessage): TopToastFooter | undefined {\r\n return message.data?.footer\r\n}\r\n\r\nfunction actionOf(message: TopToastMessage) {\r\n return message.data?.action\r\n}\r\n\r\nfunction runAction(message: TopToastMessage) {\r\n actionOf(message)?.onClick?.()\r\n}\r\n\r\nfunction hasFooter(message: TopToastMessage) {\r\n return footerOf(message) !== undefined\r\n}\r\n\r\nfunction hasAction(message: TopToastMessage) {\r\n return Boolean(actionOf(message))\r\n}\r\n\r\nfunction severityClass(message: TopToastMessage, element: 'summary' | 'detail' | 'action') {\r\n const severity = message.severity ?? 'info'\r\n return `top-toast__${element}--${severity}`\r\n}\r\n</script>\r\n\r\n<template>\r\n <Toast position=\"top-right\" :base-z-index=\"baseZIndex\">\r\n <template #message=\"slotProps\">\r\n <div class=\"top-toast__content\">\r\n <div :class=\"['top-toast__summary', severityClass(slotProps.message, 'summary')]\">{{ slotProps.message.summary }}</div>\r\n <div class=\"top-toast__detail\">{{ slotProps.message.detail }}</div>\r\n <slot\r\n v-if=\"hasAction(slotProps.message)\"\r\n name=\"action\"\r\n :action=\"actionOf(slotProps.message)\"\r\n :message=\"slotProps.message\"\r\n :run=\"() => runAction(slotProps.message)\"\r\n >\r\n <button\r\n v-if=\"actionOf(slotProps.message)\"\r\n :class=\"['top-toast__action', severityClass(slotProps.message, 'action')]\"\r\n type=\"button\"\r\n @click=\"runAction(slotProps.message)\"\r\n >\r\n <i v-if=\"actionOf(slotProps.message)?.icon\" :class=\"actionOf(slotProps.message)?.icon\" aria-hidden=\"true\" />\r\n {{ actionOf(slotProps.message)?.label }}\r\n </button>\r\n </slot>\r\n <slot\r\n v-if=\"hasFooter(slotProps.message)\"\r\n name=\"footer\"\r\n :message=\"slotProps.message\"\r\n :footer=\"footerOf(slotProps.message)\"\r\n >\r\n <div v-if=\"footerOf(slotProps.message) !== undefined\" class=\"top-toast__footer\">\r\n {{ footerOf(slotProps.message) }}\r\n </div>\r\n </slot>\r\n </div>\r\n </template>\r\n </Toast>\r\n\r\n</template>\r\n\r\n<style>\r\n.top-toast__content { display: flex; width: 100%; flex-direction: column; gap: .5rem; }\r\n.top-toast__summary { font-weight: 600; }\r\n.top-toast__detail { font-size: .875rem; }\r\n.top-toast__footer { margin-top: .25rem; border-top: 1px solid #9ca3af; padding-top: .5rem; color: #6b7280; font-size: .75rem; }\r\n.top-toast__action { display: inline-flex; align-items: center; align-self: flex-start; gap: .5rem; border: 0; border-radius: 10px; padding: .25rem .75rem; color: #fff; font-size: .875rem; cursor: pointer; }\r\n.top-toast__summary--success, .top-toast__detail--success { color: #047857; }\r\n.top-toast__summary--error, .top-toast__detail--error { color: #dc2626; }\r\n.top-toast__summary--warn, .top-toast__detail--warn { color: #b45309; }\r\n.top-toast__summary--info, .top-toast__detail--info { color: #036da3; }\r\n.top-toast__summary--secondary, .top-toast__detail--secondary { color: #52525b; }\r\n.top-toast__summary--contrast, .top-toast__detail--contrast { color: #18181b; }\r\n.top-toast__action--success { background: #059669; }\r\n.top-toast__action--success:hover { background: #047857; }\r\n.top-toast__action--error { background: #dc2626; }\r\n.top-toast__action--error:hover { background: #b91c1c; }\r\n.top-toast__action--warn { background: #d97706; }\r\n.top-toast__action--warn:hover { background: #b45309; }\r\n.top-toast__action--info { background: #036da3; }\r\n.top-toast__action--info:hover { background: #02466b; }\r\n.top-toast__action--secondary { background: #52525b; }\r\n.top-toast__action--secondary:hover { background: #3f3f46; }\r\n.top-toast__action--contrast { background: #18181b; }\r\n.top-toast__action--contrast:hover { background: #000; }\r\n</style>\r\n","<script setup lang=\"ts\">\r\nimport Toast from 'primevue/toast'\r\nimport type { ToastMessageOptions } from 'primevue/toast'\r\n\r\nexport type TopToastFooter = string | number\r\n\r\nexport type TopToastAction = {\r\n label: string\r\n icon?: string\r\n onClick?: () => void\r\n}\r\n\r\nexport type TopToastData = {\r\n footer?: TopToastFooter\r\n action?: TopToastAction\r\n}\r\n\r\ntype TopToastMessage = ToastMessageOptions & {\r\n data?: TopToastData\r\n}\r\n\r\nwithDefaults(\r\n defineProps<{\r\n baseZIndex?: number\r\n }>(),\r\n {\r\n baseZIndex: 30000,\r\n },\r\n)\r\n\r\nfunction footerOf(message: TopToastMessage): TopToastFooter | undefined {\r\n return message.data?.footer\r\n}\r\n\r\nfunction actionOf(message: TopToastMessage) {\r\n return message.data?.action\r\n}\r\n\r\nfunction runAction(message: TopToastMessage) {\r\n actionOf(message)?.onClick?.()\r\n}\r\n\r\nfunction hasFooter(message: TopToastMessage) {\r\n return footerOf(message) !== undefined\r\n}\r\n\r\nfunction hasAction(message: TopToastMessage) {\r\n return Boolean(actionOf(message))\r\n}\r\n\r\nfunction severityClass(message: TopToastMessage, element: 'summary' | 'detail' | 'action') {\r\n const severity = message.severity ?? 'info'\r\n return `top-toast__${element}--${severity}`\r\n}\r\n</script>\r\n\r\n<template>\r\n <Toast position=\"top-right\" :base-z-index=\"baseZIndex\">\r\n <template #message=\"slotProps\">\r\n <div class=\"top-toast__content\">\r\n <div :class=\"['top-toast__summary', severityClass(slotProps.message, 'summary')]\">{{ slotProps.message.summary }}</div>\r\n <div class=\"top-toast__detail\">{{ slotProps.message.detail }}</div>\r\n <slot\r\n v-if=\"hasAction(slotProps.message)\"\r\n name=\"action\"\r\n :action=\"actionOf(slotProps.message)\"\r\n :message=\"slotProps.message\"\r\n :run=\"() => runAction(slotProps.message)\"\r\n >\r\n <button\r\n v-if=\"actionOf(slotProps.message)\"\r\n :class=\"['top-toast__action', severityClass(slotProps.message, 'action')]\"\r\n type=\"button\"\r\n @click=\"runAction(slotProps.message)\"\r\n >\r\n <i v-if=\"actionOf(slotProps.message)?.icon\" :class=\"actionOf(slotProps.message)?.icon\" aria-hidden=\"true\" />\r\n {{ actionOf(slotProps.message)?.label }}\r\n </button>\r\n </slot>\r\n <slot\r\n v-if=\"hasFooter(slotProps.message)\"\r\n name=\"footer\"\r\n :message=\"slotProps.message\"\r\n :footer=\"footerOf(slotProps.message)\"\r\n >\r\n <div v-if=\"footerOf(slotProps.message) !== undefined\" class=\"top-toast__footer\">\r\n {{ footerOf(slotProps.message) }}\r\n </div>\r\n </slot>\r\n </div>\r\n </template>\r\n </Toast>\r\n\r\n</template>\r\n\r\n<style>\r\n.top-toast__content { display: flex; width: 100%; flex-direction: column; gap: .5rem; }\r\n.top-toast__summary { font-weight: 600; }\r\n.top-toast__detail { font-size: .875rem; }\r\n.top-toast__footer { margin-top: .25rem; border-top: 1px solid #9ca3af; padding-top: .5rem; color: #6b7280; font-size: .75rem; }\r\n.top-toast__action { display: inline-flex; align-items: center; align-self: flex-start; gap: .5rem; border: 0; border-radius: 10px; padding: .25rem .75rem; color: #fff; font-size: .875rem; cursor: pointer; }\r\n.top-toast__summary--success, .top-toast__detail--success { color: #047857; }\r\n.top-toast__summary--error, .top-toast__detail--error { color: #dc2626; }\r\n.top-toast__summary--warn, .top-toast__detail--warn { color: #b45309; }\r\n.top-toast__summary--info, .top-toast__detail--info { color: #036da3; }\r\n.top-toast__summary--secondary, .top-toast__detail--secondary { color: #52525b; }\r\n.top-toast__summary--contrast, .top-toast__detail--contrast { color: #18181b; }\r\n.top-toast__action--success { background: #059669; }\r\n.top-toast__action--success:hover { background: #047857; }\r\n.top-toast__action--error { background: #dc2626; }\r\n.top-toast__action--error:hover { background: #b91c1c; }\r\n.top-toast__action--warn { background: #d97706; }\r\n.top-toast__action--warn:hover { background: #b45309; }\r\n.top-toast__action--info { background: #036da3; }\r\n.top-toast__action--info:hover { background: #02466b; }\r\n.top-toast__action--secondary { background: #52525b; }\r\n.top-toast__action--secondary:hover { background: #3f3f46; }\r\n.top-toast__action--contrast { background: #18181b; }\r\n.top-toast__action--contrast:hover { background: #000; }\r\n</style>\r\n"],"mappings":"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"}