@fastkit/vui 0.16.4 → 0.16.5

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/vui.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/schemes/control.ts","../src/composables/control.ts","../src/injections.ts","../src/composables/form-selector.tsx","../src/components/VFormControl/VFormControl.tsx","../src/components/VIcon/VIcon.tsx","../src/components/VTooltip/VTooltip.tsx","../src/components/VMenu/VMenu.tsx","../src/components/loading.ts","../src/composables/elevation.ts","../src/components/index.ts","../src/components/VDialog/VDialog.tsx","../src/components/VSnackbar/VSnackbar.tsx","../src/components/VSheetModal/VSheetModal.tsx","../src/components/VSkeltonLoader/VSkeltonLoaderBone.tsx","../src/components/VBusyImage/VBusyImage.tsx","../src/components/VGrid/VGridItem.tsx","../src/components/VGrid/schemes.ts","../src/components/VGrid/VGridContainer.tsx","../src/components/VPaper/VPaper.tsx","../src/components/VAvatar/VAvatar.tsx","../src/components/VChip/VChip.tsx","../src/components/VCard/VCard.tsx","../src/components/VCard/VCardContent.tsx","../src/components/VCard/VCardActions.tsx","../src/components/VButton/VButton.tsx","../src/components/VButton/VButtonGroup.tsx","../src/components/VPagination/VPagination.tsx","../src/components/VListTile/VListTile.tsx","../src/components/VDrawerLayout/VDrawerLayout.tsx","../src/components/VHero/VHero.tsx","../src/components/VNavigation/VNavigationItem.tsx","../src/components/VNavigation/VNavigation.tsx","../src/components/VControlField/VControlField.tsx","../src/components/VTextCounter/VTextCounter.tsx","../src/components/VCheckbox/VCheckbox.tsx","../src/components/VCheckable/VCheckable.tsx","../src/components/VCheckboxGroup/VCheckboxGroup.tsx","../src/components/VRadio/VRadio.tsx","../src/components/VRadioGroup/VRadioGroup.tsx","../src/components/VSwitch/VSwitch.tsx","../src/components/VSwitchGroup/VSwitchGroup.tsx","../src/components/VOption/VOption.tsx","../src/components/VOptionGroup/VOptionGroup.tsx","../src/components/VSelect/VSelect.tsx","../src/components/VTextField/VTextField.tsx","../src/components/VNumberField/VNumberField.tsx","../src/components/VTextarea/VTextarea.tsx","../src/components/VForm/VForm.tsx","../src/components/VTabs/VTabs.tsx","../src/components/VTabs/VTab.tsx","../src/components/VBreadcrumbs/VBreadcrumbs.tsx","../src/components/VContentSwitcher/VContentSwitcher.tsx","../src/components/VDataTable/VDataTable.tsx","../src/components/VApp/VApp.tsx","../src/components/VToolbar/VToolbar.tsx","../src/components/VToolbar/VToolbarMenu.tsx","../src/components/VToolbar/VToolbarEdge.tsx","../src/components/VToolbar/VToolbarTitle.tsx","../src/service.tsx","../src/plugin.tsx"],"names":["VAction","computed","provide","inject","props","_resolveDirective","_createVNode","defineComponent","defineSlots","_mergeProps","createPropsOptions","hinttipDelay","ctx","slots","emits","colorSchemeProps","useColorClasses","colorProps","createStackActionProps","useStackAction","actionableInheritProps","useActionable","renderSlotOrEmpty","ref","watch","useScopeColorClass","classes","width","isActive","_Fragment","_isVNode","_isSlot","match","to","resolveVNodeChildOrSlots","createFormSelectorItemSettings","useFormSelectorItemControl","_withDirectives","createFormSelectorSettings","useFormSelectorControl","createFormControlProps","ev","onBeforeUnmount","onBeforeUpdate","onMounted","RouterLink","isPromise","children","getDocumentScroller","_createTextVNode","withDirectives","Transition","isVNode","resizeDirectiveArgument","toScopeColorClass","rowSettings","key"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,SAAoB,WAAXA,gBAAwB;;;ACtB1B,IAAM,gBAAgB,CAAC,MAAM,MAAM,IAAI;AAIvC,IAAM,yBAAyB,CAAC,YAAY,UAAU,MAAM;AAI5D,IAAM,gCAA6D;AAAA,EACxE,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;;;ACZA;AAAA,EAGE,YAAAC;AAAA,EAEA,WAAAC;AAAA,EACA,UAAAC;AAAA,OACK;AAOP,SAAS,0BAA0B;;;ACdnC,SAAuB,QAAQ,UAAU,eAAe;AAQjD,IAAM,kBAA4C,OAAO;AAEzD,IAAM,yBAAwD,OAAO;AAErE,IAAM,8BACX,OAAO;AAEF,IAAM,+BACX,OAAO;AAEF,IAAM,wBAAwB;AAC9B,IAAM,sBAAsB;AAE5B,IAAM,oBAAoB;AAC1B,IAAM,oBAAoB;AAC1B,IAAM,4BAA4B;AAClC,IAAM,sBAAsB;AAC5B,IAAM,yBAAyB;AAC/B,IAAM,mBAAmB;AACzB,IAAM,0BAA0B;AAChC,IAAM,oBAAoB;AAC1B,IAAM,kBAAkB;AAExB,SAAS,SAAS;AACvB,QAAM,MAAM,OAAO,eAAe;AAClC,MAAI,CAAC,KAAK;AACR,UAAM,IAAI,MAAM,qBAAqB;AAAA,EACvC;AACA,SAAO;AACT;AAEO,SAAS,sBAAwC;AACtD,QAAM,SAAS,OAAO,8BAA8B,IAAI;AACxD,MAAI,QAAQ;AACV,WAAO;AAAA,EACT;AAEA,QAAM,MAAM,OAAO;AACnB,QAAM,UAAU,SAAS,MAAM,IAAI,QAAQ,cAAc,CAAC;AAC1D,QAAM,QAAQ,SAAS,MAAM,IAAI,QAAQ,YAAY,CAAC;AACtD,QAAM,WAA6B;AAAA,IACjC;AAAA,IACA;AAAA,IACA,WAAW,CAAC,SAAS;AACnB,YAAM,QAAQ,SAAS,IAAI,EAAE;AAC7B,aAAO,GAAG;AAAA,IACZ;AAAA,EACF;AAEA,UAAQ,8BAA8B,QAAQ;AAE9C,SAAO;AACT;;;ADxCO,SAAS,qBAAqB;AACnC,SAAO,mBAAmB;AAAA,IACxB,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,WAAW,CAAC,UAAe;AACzB,YAAI,SAAS;AAAM,iBAAO;AAC1B,eAAO,cAAc,SAAS,KAAK;AAAA,MACrC;AAAA,IACF;AAAA,IACA,SAAS;AAAA,EACX,CAAC;AACH;AAgBO,SAAS,WACdC,SACA,OAAkC,CAAC,GACnC;AACA,QAAM,EAAE,cAAc,KAAK,IAAI;AAC/B,QAAM,gBAAgBD,QAAO,wBAAwB,IAAI;AACzD,QAAM,OAAOF,UAAS,MAAM;AAC1B,UAAM,QAAQG,QAAM;AACpB,WAAO,QACH,QACA,gBACA,cAAc,KAAK,QACnB;AAAA,EACN,CAAC;AACD,QAAM,UAAUH,UAAS,MAAM;AAC7B,WAAO,CAAC,aAAa,cAAc,KAAK,OAAO;AAAA,EACjD,CAAC;AACD,QAAM,WAA4B;AAAA,IAChC;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACA,EAAAC,SAAQ,wBAAwB,QAAQ;AACxC,SAAO;AACT;AAEO,SAAS,kCAAkC;AAChD,SAAO,mBAAmB;AAAA,IACxB,SAAS;AAAA,MACP,MAAM;AAAA,MACN,WAAW,CAAC,UAAe;AACzB,YAAI,SAAS;AAAM,iBAAO;AAC1B,eAAO,uBAAuB,SAAS,KAAK;AAAA,MAC9C;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAeO,SAAS,gBACdE,SACA,OAAuC,CAAC,GACxC;AACA,QAAM,EAAE,iBAAiB,OAAO,IAAI;AACpC,QAAM,qBAAqBD,QAAO,6BAA6B,IAAI;AACnE,QAAM,UAAUF,UAAS,MAAM;AAC7B,UAAM,WAAWG,QAAM;AACvB,WAAO,WACH,WACA,qBACA,mBAAmB,QAAQ,QAC3B;AAAA,EACN,CAAC;AACD,QAAM,WAAiC;AAAA,IACrC;AAAA,IACA;AAAA,EACF;AACA,EAAAF,SAAQ,6BAA6B,QAAQ;AAC7C,SAAO;AACT;;;AEtHA,SAAS,oBAAoBG,oBAAmB,YAAY,WAAW,eAAeC,qBAAoB;AAE1G,SAAS,mBAAAC,kBAAiB,YAAAN,iBAAgB;AAC1C,SAAS,wBAAwB,4BAA4B,8BAA8B;AAC3F,SAAS,eAAAO,cAAa,gCAAgC;;;ACJtD,SAAS,oBAAoBH,oBAAmB,cAAcI,cAAa,eAAeH,qBAAoB;AAE9G,SAAS,YAAAL,WAAU,mBAAAM,wBAAuB;AAC1C,SAAS,2BAA2B,sBAAsB;AAC1D,SAAS,mBAAmB;;;ACJ5B,SAAS,eAAe,cAAc,cAAc,mBAAmB;AAEvE,SAAS,iBAAiB,YAAAN,iBAAgB;AAC1C,SAAS,sBAAAS,2BAA0B;AACnC,SAAS,kBAAkB;AAe3B,IAAM,eAAe,CAAC,QAAQ,QAAQ;AAC/B,SAAS,cAAc;AAC5B,SAAO;AACT;AACO,SAAS,mBAAmB,SAAS,MAAM,YAAY;AAC5D,MAAI,CAAC;AAAM;AACX,SAAO,OAAO,SAAS,aAAa,KAAK,WAAS,aAAa,OAAO,YAAY,OAAO,UAAU,GAAG,IAAI,GAAG,OAAO,IAAI,aAAa,OAAO,YAAY,YAAY;AAAA,IAClK,QAAQ;AAAA,EACV,CAAC,GAAG,IAAI;AACV;AACO,IAAM,YAAYA,oBAAmB;AAAA,EAC1C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,UAAU;AAAA,EACZ;AAAA,EACA,QAAQ;AAAA,IACN,MAAM;AAAA,EACR;AACF,CAAC;AACM,IAAM,QAAQ,gBAAgB;AAAA,EACnC,MAAM;AAAA,EACN,OAAO;AAAA,IACL,GAAG;AAAA,EACL;AAAA,EACA,OAAO,CAAC;AAAA,EACR,MAAMN,SAAO,KAAK;AAChB,UAAM,WAAWH,UAAS,MAAMG,QAAM,IAAI;AAC1C,UAAM,YAAYH,UAAS,MAAM,OAAO,IAAI,MAAM,YAAY,WAAW;AACzE,UAAM,UAAUA,UAAS,MAAM,CAAC;AAAA,MAC9B,qBAAqB,UAAU;AAAA,IACjC,CAAC,CAAC;AACF,UAAM,cAAcA,UAAS,MAAM,QAAQ,SAAS,OAAO;AAC3D,UAAM,aAAaA,UAAS,MAAM;AAChC,YAAM;AAAA,QACJ;AAAA,MACF,IAAIG;AACJ,UAAI,CAAC;AAAQ;AACb,aAAO;AAAA,QACL,WAAW,UAAU;AAAA,MACvB;AAAA,IACF,CAAC;AACD,WAAO,MAAM,aAAa,QAAQ;AAAA,MAChC,SAAS,CAAC,sBAAsB,QAAQ,KAAK;AAAA,IAC/C,GAAG,CAAC,aAAa,KAAK;AAAA,MACpB,SAAS,CAAC,qBAAqB,YAAY,KAAK;AAAA,MAChD,SAAS,WAAW;AAAA,IACtB,GAAG,IAAI,CAAC,CAAC;AAAA,EACX;AACF,CAAC;;;ACnED,SAAS,cAAcK,cAAa,oBAAoB,mBAAmB,eAAeH,qBAAoB;AAE9G,SAAS,mBAAAC,wBAAuB;;;ACFhC,SAAS,eAAeD,eAAc,cAAcG,oBAAmB;AAEvE,SAAS,2BAA2B;AACpC,SAAS,kBAAkB,uBAAuB;AAClD,IAAM,aAAa,iBAAiB;AAC7B,IAAM,QAAQ,oBAAoB;AAAA,EACvC,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO;AAAA,EACT;AAAA,EACA,OAAO;AAAA,IACL,GAAG;AAAA,EACL;AAAA,EACA,MAAM,KAAK;AACT,UAAM,QAAQ,gBAAgB,IAAI,OAAO;AAAA,MACvC,qBAAqB;AAAA,IACvB,CAAC;AACD,QAAI,aAAa,OAAO;AAAA,MACtB,MAAM;AAAA,IACR,CAAC;AACD,WAAO,cAAY;AACjB,aAAOH,cAAa,OAAOG,aAAY;AAAA,QACrC,SAAS,CAAC,gBAAgB,MAAM,aAAa,KAAK;AAAA,MACpD,GAAG,IAAI,KAAK,GAAG,CAAC,QAAQ,CAAC;AAAA,IAC3B;AAAA,EACF;AACF,CAAC;;;ADtBM,IAAM,WAAWF,iBAAgB;AAAA,EACtC,MAAM;AAAA,EACN,cAAc;AAAA,EACd,MAAM,QAAQ,KAAK;AACjB,WAAO,MAAM;AACX,YAAM,QAAQ;AAAA,QACZ,GAAG,IAAI;AAAA,MACT;AACA,YAAM,cAAc,IAAI,MAAM;AAC9B,UAAI,MAAM,eAAe,MAAM;AAC7B,cAAM,cAAc;AAAA,MACtB;AACA,UAAI,MAAM,aAAa,MAAM;AAC3B,cAAM,YAAY;AAAA,MACpB;AACA,aAAOD,cAAa,OAAOG,aAAY,OAAO;AAAA,QAC5C,cAAc;AAAA,QACd,SAAS;AAAA,MACX,CAAC,GAAG;AAAA,QACF,GAAG,IAAI;AAAA,QACP,SAAS,aAAW;AAClB,iBAAO,CAACH,cAAa,QAAQ;AAAA,YAC3B,SAAS;AAAA,UACX,GAAG,CAAC,eAAe,YAAY,OAAO,CAAC,CAAC,CAAC;AAAA,QAC3C;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF,CAAC;;;AFxBD,IAAM;AAAA,EACJ;AAAA,EACA;AACF,IAAI,0BAA0B;AACvB,SAAS,2BAA2B,UAAUF,SAAO,MAAM,OAAO,GAAG;AAC1E,SAAO,MAAM;AACX,QAAI,CAAC,SAAS;AAAG;AACjB,QAAI;AACJ,UAAM;AAAA,MACJ;AAAA,IACF,IAAIA;AACJ,QAAI,iBAAiB;AAAO;AAC5B,QAAI,cAAc;AAChB,UAAI,OAAO,iBAAiB,UAAU;AACpC,eAAO;AAAA,MACT,WAAW,OAAO,iBAAiB,YAAY;AAC7C,eAAO,aAAa;AAAA,MACtB;AAAA,IACF;AACA,QAAI,SAAS,QAAW;AACtB,aAAO,IAAI,gBAAgB;AAAA,IAC7B;AACA,WAAO;AAAA,EACT;AACF;AACA,IAAM,QAAQ,YAAY;AACnB,IAAM,eAAeG,iBAAgB;AAAA,EAC1C,MAAM;AAAA,EACN,OAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG,MAAM;AAAA,IACT,OAAO;AAAA,EACT;AAAA,EACA;AAAA,EACA;AAAA,EACA,MAAMH,SAAO,KAAK;AAChB,UAAM,MAAM,OAAO;AACnB,UAAM,UAAU,eAAeA,SAAO,KAAK;AAAA,MACzC,gBAAgB,MAAME,cAAa,OAAO;AAAA,QACxC,SAAS;AAAA,QACT,QAAQ,IAAI,KAAK,SAAS;AAAA,MAC5B,GAAG,IAAI;AAAA,IACT,CAAC;AACD,UAAM,eAAeL,UAAS,MAAM;AAClC,UAAI;AAAA,QACF,cAAAU;AAAA,MACF,IAAI;AACJ,UAAIA,iBAAgB,MAAM;AACxB,QAAAA,gBAAe,IAAI,QAAQ,cAAc;AAAA,MAC3C;AACA,UAAIA,iBAAgB,MAAM;AACxB,QAAAA,gBAAe;AAAA,MACjB;AACA,aAAOA;AAAA,IACT,CAAC;AACD,QAAI,OAAO,QAAQ,OAAO,CAAC;AAC3B,UAAM,gBAAgB,oBAAoB;AAC1C,UAAM,UAAUV,UAAS,MAAM,CAAC;AAAA,MAC9B,8BAA8B,QAAQ;AAAA,MACtC,2BAA2B,QAAQ;AAAA,MACnC,2BAA2B,QAAQ;AAAA,MACnC,yBAAyB,QAAQ;AAAA,MACjC,4BAA4B,QAAQ;AAAA,MACpC,4BAA4B,QAAQ;AAAA,MACpC,4BAA4B,QAAQ;AAAA,MACpC,2BAA2B,QAAQ;AAAA,MACnC,6BAA6B,QAAQ;AAAA,MACrC,2BAA2B,QAAQ;AAAA,MACnC,yBAAyB,QAAQ;AAAA,IACnC,GAAG,cAAc,UAAUG,QAAM,QAAQ,UAAU,QAAQ,WAAW,CAAC,QAAQ,WAAW,UAAU,SAAS,CAAC,CAAC;AAC/G,UAAM,kBAAkB,2BAA2B,MAAM,QAAQ,UAAUA,SAAO,GAAG;AACrF,UAAM,cAAc,QAAM,IAAI,KAAK,cAAc,IAAI,OAAO;AAC5D,WAAO,MAAM;AACX,YAAM,QAAQ,QAAQ,YAAY;AAClC,YAAM,UAAU,QAAQ,cAAc;AACtC,YAAM,UAAU,QAAQ,kBAAkB;AAC1C,YAAM,UAAU,QAAQ,cAAc;AACtC,YAAM,gBAAgB,aAAa;AACnC,aAAOE,cAAa,OAAO;AAAA,QACzB,SAAS,CAAC,kBAAkB,QAAQ,KAAK;AAAA,MAC3C,GAAG,CAAC,SAASA,cAAa,SAAS;AAAA,QACjC,SAAS;AAAA,QACT,WAAW;AAAA,MACb,GAAG,CAAC,OAAO,gBAAgB,GAAG,WAAWA,cAAa,UAAU;AAAA,QAC9D,KAAK;AAAA,QACL,eAAe,kBAAkB;AAAA,QACjC,aAAa,OAAO,kBAAkB,WAAW,gBAAgB;AAAA,MACnE,GAAG;AAAA,QACD,SAAS,MAAM,CAACA,cAAa,OAAO;AAAA,UAClC,SAAS;AAAA,QACX,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC;AAAA,QAClB,WAAW,CAAAM,SAAON,cAAa,KAAKG,aAAY;AAAA,UAC9C,SAAS;AAAA,UACT,QAAQ;AAAA,QACV,GAAGG,KAAI,KAAK,GAAG,CAAC,QAAQ,GAAG,CAAC;AAAA,MAC9B,CAAC,CAAC,CAAC,GAAGN,cAAa,OAAO;AAAA,QACxB,SAAS;AAAA,MACX,GAAG,CAAC,IAAI,MAAM,UAAU,OAAO,GAAG,CAACF,QAAM,cAAcE,cAAa,OAAO;AAAA,QACzE,SAAS;AAAA,MACX,GAAG,CAAC,CAAC,CAAC,WAAWA,cAAa,OAAO;AAAA,QACnC,SAAS;AAAA,MACX,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,WAAWA,cAAa,OAAO;AAAA,QAC9C,SAAS;AAAA,MACX,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAAA,IACpB;AAAA,EACF;AACF,CAAC;;;AIlHD;AAAA;AAAA,kCAAc;;;ALUd,IAAMO,SAAQL,aAAY;AACnB,SAAS,4BAA4B,MAAM;AAChD,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AACJ,QAAM;AAAA,IACJ,OAAAJ;AAAA,IACA,OAAAU;AAAA,EACF,IAAI,2BAA2B;AAAA,IAC7B;AAAA,EACF,CAAC;AACD,SAAOP,iBAAgB;AAAA,IACrB,MAAM,KAAK;AAAA,IACX,OAAO;AAAA,MACL,GAAGH;AAAA,MACH,GAAG,uBAAuB;AAAA,MAC1B,GAAG,mBAAmB;AAAA,MACtB,SAAS;AAAA,QACP,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA;AAAA,MAEA,gBAAgB,CAAC;AAAA;AAAA,MAEjB,0BAA0B,CAAC;AAAA,MAC3B,GAAGS,OAAM;AAAA,IACX;AAAA,IACA,OAAAA;AAAA,IACA,OAAAC;AAAA,IACA,MAAMV,SAAO,KAAK;AAChB,YAAM,kBAAkB,uBAAuBA,SAAO,KAAK;AAAA,QACzD;AAAA,QACA;AAAA,MACF,CAAC;AACD,YAAM,UAAU,WAAWA,OAAK;AAChC,YAAM,MAAM,OAAO;AACnB,YAAM,oBAAoBH,UAAS,MAAM;AACvC,cAAM,OAAO,yBAAyBG,QAAM,gBAAgB,IAAI,QAAQ,gBAAgB,GAAG,YAAY;AACvG,eAAO,QAAQ,KAAK,GAAG;AAAA,MACzB,CAAC;AACD,YAAM,8BAA8BH,UAAS,MAAM;AACjD,cAAM,OAAO,yBAAyBG,QAAM,0BAA0B,IAAI,QAAQ,yBAAyB,GAAG,sBAAsB;AACpI,eAAO,QAAQ,KAAK,GAAG;AAAA,MACzB,CAAC;AACD,aAAO;AAAA,QACL,GAAG,gBAAgB,OAAO;AAAA,QAC1B,GAAG;AAAA,QACH;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IACA,SAAS;AACP,YAAM;AAAA,QACJ;AAAA,MACF,IAAI;AACJ,aAAOE,cAAa,cAAc;AAAA,QAChC,eAAe,KAAK;AAAA,QACpB,WAAW,KAAK,YAAY;AAAA,QAC5B,cAAc,KAAK;AAAA,QACnB,SAAS,CAAC,mBAAmB,WAAW;AAAA,UACtC,GAAG,KAAK;AAAA,UACR,4BAA4B,KAAK;AAAA,QACnC,CAAC;AAAA,QACD,SAAS,KAAK;AAAA,QACd,QAAQ,KAAK;AAAA,QACb,WAAW,KAAK;AAAA,QAChB,gBAAgB,KAAK;AAAA,QACrB,SAAS,gBAAgB;AAAA,MAC3B,GAAG;AAAA,QACD,GAAG,KAAK;AAAA,QACR,SAAS,MAAMA,cAAa,OAAO;AAAA,UACjC,SAAS;AAAA,QACX,GAAG,CAAC,gBAAgB,mBAAmBA,cAAa,OAAO;AAAA,UACzD,OAAO;AAAA,UACP,SAAS;AAAA,QACX,GAAG,CAAC,KAAK,2BAA2B,CAAC,GAAG,gBAAgB,gBAAgBA,cAAa,OAAO;AAAA,UAC1F,OAAO;AAAA,UACP,SAAS;AAAA,QACX,GAAG,CAACA,cAAa,mCAAmB;AAAA,UAClC,iBAAiB;AAAA,UACjB,SAAS;AAAA,UACT,QAAQ,8BAA8B,KAAK,QAAQ,IAAI;AAAA,QACzD,GAAG,IAAI,GAAG,KAAK,iBAAiB,CAAC,GAAG,KAAK,WAAW,IAAI,WAAS;AAC/D,gBAAM;AAAA,YACJ;AAAA,UACF,IAAI;AACJ,iBAAOA,cAAa,WAAW,MAAM,CAAC,MAAM,IAAI,WAAS;AACvD,kBAAM,WAAW,gBAAgB,WAAW,MAAM,KAAK;AACvD,mBAAO,aAAa;AAAA,cAClB;AAAA,cACA,SAAS;AAAA,cACT,OAAO;AAAA,gBACL,GAAG;AAAA,gBACH,YAAY;AAAA,gBACZ,KAAK,MAAM;AAAA,cACb;AAAA,cACA,OAAO;AAAA,gBACL,SAAS,MAAM,MAAM,MAAM,KAAK,eAAe;AAAA,cACjD;AAAA,YACF,CAAC;AAAA,UACH,CAAC,CAAC,CAAC;AAAA,QACL,CAAC,GAAG,KAAK,OAAO,UAAU,CAAC,CAAC;AAAA,MAC9B,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AACH;;;AMtHA,SAAqC,YAAAL,iBAAgB;AACrD,SAAS,sBAAAS,2BAA0B;AAG5B,SAAS,uBAAuB;AACrC,SAAOA,oBAAmB;AAAA,IACxB,WAAW;AAAA,EACb,CAAC;AACH;AAUO,SAAS,aACdN,SACA,OAA4B,CAAC,GAC7B;AACA,QAAM,iBAAiBH;AAAA,IAAS,MAC9BG,QAAM,aAAa,OAAO,KAAK,eAAeA,QAAM;AAAA,EACtD;AACA,QAAM,qBAAqBH,UAAS,MAAM;AACxC,UAAM,IAAI,eAAe;AACzB,WAAO,KAAK,OAAO,SAAY,aAAa;AAAA,EAC9C,CAAC;AACD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,EACF;AACF;;;ACjCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+BAAc;;;ACAd,SAAS,eAAeK,qBAAoB;AAE5C,SAAS,uBAAuB,wBAAwB,sBAAsB;AAC9E,SAAS,oBAAAS,mBAAkB,mBAAAC,wBAAuB;AAElD,IAAMC,cAAaF,kBAAiB;AAC7B,IAAM,UAAU,sBAAsB;AAAA,EAC3C,MAAM;AAAA,EACN,OAAO;AAAA,IACL,GAAG,uBAAuB;AAAA,IAC1B,GAAGE;AAAA,IACH,OAAO;AAAA,EACT;AAAA,EACA,MAAM,KAAK;AACT,UAAM;AAAA,MACJ,OAAAb;AAAA,MACA;AAAA,IACF,IAAI;AACJ,UAAM,MAAM,OAAO;AACnB,UAAM,gBAAgB,eAAeA,SAAO,SAAS;AAAA,MACnD,UAAU,aAAW;AACnB,YAAI,QAAQ,WAAW,GAAG;AACxB,iBAAO,CAAC,IAAI,YAAY,OAAO,CAAC;AAAA,QAClC,OAAO;AACL,iBAAO;AAAA,QACT;AAAA,MACF;AAAA,IACF,CAAC;AACD,UAAM,QAAQY,iBAAgBZ,SAAO;AAAA,MACnC,qBAAqB;AAAA,IACvB,CAAC;AACD,WAAO,cAAY;AACjB,YAAM;AAAA,QACJ;AAAA,MACF,IAAI;AACJ,aAAOE,cAAa,OAAO;AAAA,QACzB,SAAS,CAAC,YAAY,MAAM,aAAa,OAAOF,QAAM,SAAS,iBAAiB;AAAA,MAClF,GAAG,CAACE,cAAa,OAAO;AAAA,QACtB,SAAS;AAAA,MACX,GAAG,CAAC,QAAQ,CAAC,GAAG,SAAS,SAAS,KAAKA,cAAa,OAAO;AAAA,QACzD,SAAS;AAAA,MACX,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;AAAA,IACjB;AAAA,EACF;AACF,CAAC;;;AC5CD,SAAS,cAAcG,cAAa,eAAeH,qBAAoB;AAEvE,SAAS,yBAAyB,0BAAAY,yBAAwB,kBAAAC,uBAAsB;AAChF,SAAS,oBAAAJ,yBAAwB;AAEjC,SAAS,mBAAAC,wBAAuB;AAChC,IAAMC,cAAaF,kBAAiB;AAC7B,IAAM,YAAY,wBAAwB;AAAA,EAC/C,MAAM;AAAA,EACN,OAAO;AAAA,IACL,GAAGG,wBAAuB;AAAA,IAC1B,GAAGD;AAAA,EACL;AAAA,EACA,MAAM,KAAK;AACT,UAAM;AAAA,MACJ,OAAAb;AAAA,MACA;AAAA,IACF,IAAI;AACJ,UAAM,MAAM,OAAO;AACnB,UAAM,gBAAgBe,gBAAef,SAAO,SAAS;AAAA,MACnD,UAAU,aAAW;AACnB,YAAI,QAAQ,WAAW,GAAG;AACxB,iBAAO,CAAC,IAAI,YAAY,OAAO,CAAC;AAAA,QAClC,OAAO;AACL,iBAAO;AAAA,QACT;AAAA,MACF;AAAA,IACF,CAAC;AACD,UAAM,QAAQY,iBAAgBZ,SAAO;AAAA,MACnC,qBAAqB;AAAA,IACvB,CAAC;AACD,WAAO,cAAY;AACjB,YAAM;AAAA,QACJ;AAAA,MACF,IAAI;AACJ,aAAOE,cAAa,OAAOG,aAAY;AAAA,QACrC,SAAS,CAAC,cAAc,MAAM,aAAa,KAAK;AAAA,MAClD,GAAG,IAAI,KAAK,GAAG,CAACH,cAAa,OAAO;AAAA,QAClC,SAAS;AAAA,MACX,GAAG,CAACA,cAAa,OAAO;AAAA,QACtB,SAAS;AAAA,MACX,GAAG,CAAC,QAAQ,CAAC,GAAG,SAAS,SAAS,KAAKA,cAAa,OAAO;AAAA,QACzD,SAAS;AAAA,MACX,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAAA,IACnB;AAAA,EACF;AACF,CAAC;;;AC9CD,SAAS,eAAeA,qBAAoB;AAE5C;AAAA,EAAS,mBAAAC;AAAA,EAEP,YAAAN;AAAA,OAAgB;AAClB,SAAS,uBAAuB,uBAAuB;AAKvD,IAAM;AAAA,EACJ,OAAAG;AAAA,EACA,OAAAU;AACF,IAAI,sBAAsB;AAAA,EACxB,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,wBAAwB;AAAA,EACxB,mBAAmB;AACrB,CAAC;AACM,IAAM,kBAAkB;AAAA,EAC7B,GAAGV;AAAA,EACH,QAAQ;AAAA,EACR,WAAW;AACb;AACA,IAAM,mBAAmB,OAAO,aAAa;AACtC,IAAM,cAAcG,iBAAgB;AAAA,EACzC,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,EACP,OAAAO;AAAA,EACA,MAAMV,SAAO,KAAK;AAChB,UAAM,eAAe,gBAAgBA,SAAO,KAAK;AAAA,MAC/C,WAAW;AAAA,IACb,CAAC;AACD,UAAM,iBAAiBH,UAAS,MAAM;AACpC,YAAM,UAAU,aAAa;AAC7B,YAAM,SAAS,aAAa,SAAS,gBAAgB,EAAE,OAAO,WAAS,MAAM,cAAc,gBAAgB;AAC3G,aAAO,OAAO,KAAK,WAAS,MAAM,SAAS,OAAO;AAAA,IACpD,CAAC;AACD,WAAO;AAAA,MACL;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EACA,SAAS;AACP,UAAM;AAAA,MACJ;AAAA;AAAA,IAEF,IAAI,KAAK;AACT,UAAM,aAAa,KAAK,OAAO,UAAU,KAAK;AAC9C,WAAO,OAAO,cAAY;AACxB,aAAOK,cAAa,OAAO;AAAA,QACzB,SAAS;AAAA,UAAC;AAAA,UAAiB;AAAA,YACzB,mCAAmC,KAAK;AAAA,UAC1C;AAAA;AAAA,QAEA;AAAA,QACA,YAAY;AAAA,MACd,GAAG,CAAC,cAAcA,cAAa,OAAO;AAAA,QACpC,SAAS;AAAA,MACX,GAAG,CAAC,WAAW,KAAK,YAAY,CAAC,CAAC,GAAGA,cAAa,OAAO;AAAA,QACvD,SAAS;AAAA,MACX,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;AAAA,IACjB,CAAC;AAAA,EACH;AACF,CAAC;;;ACjED,SAAS,eAAeA,eAAc,cAAcG,oBAAmB;AAEvE,SAAS,mBAAAF,wBAAuB;AACzB,IAAM,qBAAqBA,iBAAgB;AAAA,EAChD,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACL,KAAK;AAAA,MACH,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EACA,MAAMH,SAAO,KAAK;AAChB,WAAO,MAAM;AACX,YAAM,UAAUA,QAAM;AACtB,aAAOE,cAAa,SAASG,aAAY,IAAI,OAAO;AAAA,QAClD,SAAS;AAAA,MACX,CAAC,GAAG;AAAA,QACF,SAAS,MAAM,CAAC,IAAI,MAAM,UAAU,CAAC;AAAA,MACvC,CAAC;AAAA,IACH;AAAA,EACF;AACF,CAAC;;;ACtBD,SAAS,eAAeH,gBAAc,cAAcG,oBAAmB;AAEvE,SAAS,mBAAAF,kBAAiB,YAAAN,WAAU,KAAK,OAAO,WAAW,uBAAuB;AAClF,SAAS,iBAAiB;AAC1B,SAAS,iBAAiB;AAC1B,SAAS,eAAAO,oBAAmB;AAC5B,IAAM,cAAc,CAAC,OAAO,eAAe,YAAY,SAAS,OAAO,UAAU,QAAQ;AAClF,SAAS,WAAW,OAAO;AAChC,QAAM,KAAK;AAAA,IACT,GAAG;AAAA,EACL;AACA,QAAM,MAAM,CAAC;AACb,aAAW,QAAQ,aAAa;AAC9B,UAAM,QAAQ,MAAM,IAAI;AACxB,QAAI,SAAS,MAAM;AACjB,UAAI,IAAI,IAAI;AAAA,IACd;AAAA,EACF;AACA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,EACF;AACF;AACA,IAAM,iBAAiB,CAAC,QAAQ,MAAM;AACtC,IAAM,iBAAiB;AACvB,IAAM,4BAA4B,YAAU;AAC1C,MAAI,UAAU;AAAM;AACpB,SAAO,MAAM,MAAM,IAAI,OAAO,MAAM,IAAI,GAAG;AAC7C;AACA,IAAMK,SAAQL,aAAY;AAMnB,IAAM,aAAaD,iBAAgB;AAAA,EACxC,MAAM;AAAA,EACN,OAAO;AAAA,IACL,GAAG;AAAA,IACH,aAAa;AAAA,IACb,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,GAAGM,OAAM;AAAA,EACX;AAAA,EACA,OAAO;AAAA,IACL,MAAM,QAAM;AAAA,IACZ,OAAO,QAAM;AAAA,EACf;AAAA,EACA,OAAAA;AAAA,EACA,MAAMT,SAAO,KAAK;AAChB,UAAM,eAAe,IAAIA,QAAM,SAAS,eAAe,IAAI,MAAM,GAAG,IAAI,YAAY,SAAS;AAC7F,UAAM,WAAWH,UAAS,MAAM,WAAW,IAAI,KAAK,CAAC;AACrD,UAAM,eAAeA,UAAS,MAAM,aAAa,UAAU,SAAS;AACpE,UAAM,eAAeA,UAAS,MAAM,aAAa,UAAU,SAAS;AACpE,UAAM,cAAcA,UAAS,MAAM,aAAa,UAAU,QAAQ;AAClE,UAAM,aAAaA,UAAS,MAAM,aAAa,UAAU,OAAO;AAChE,UAAM,aAAaA,UAAS,MAAM,CAAC,iBAAiB,aAAa,SAAS;AAAA,MACxE,uBAAuBG,QAAM;AAAA,MAC7B,2BAA2B,OAAO,IAAI,MAAM,YAAY;AAAA,IAC1D,CAAC,CAAC;AACF,UAAM,UAAU,IAAI;AACpB,UAAM,gBAAgB,IAAI;AAC1B,UAAM,WAAWH,UAAS,MAAM;AAC9B,YAAM,cAAc,CAAC;AACrB,YAAM,OAAO,CAAC;AACd,YAAM;AAAA,QACJ;AAAA,MACF,IAAIG;AACJ,UAAI;AAAA,QACF;AAAA,QACA;AAAA,MACF,IAAIA;AACJ,UAAI,UAAU,QAAQ,OAAO;AAC3B,iBAAS;AAAA,MACX;AACA,UAAI,SAAS,QAAQ,OAAO;AAC1B,gBAAQ;AAAA,MACV;AACA,cAAQ,0BAA0B,KAAK;AACvC,eAAS,0BAA0B,MAAM;AACzC,WAAK,QAAQ;AACb,WAAK,SAAS;AACd,kBAAY,QAAQ;AACpB,kBAAY,SAAS;AACrB,UAAI,YAAY,UAAU,MAAM;AAC9B,oBAAY,SAAS,0BAA0B,cAAc;AAAA,MAC/D;AACA,UAAI,YAAY,SAAS,MAAM;AAC7B,oBAAY,QAAQ,YAAY;AAAA,MAClC;AACA,aAAO;AAAA,QACL;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC;AACD,UAAM,iBAAiBH,UAAS,MAAM,YAAY,QAAQ,SAAS,MAAM,OAAO,SAAS,MAAM,WAAW;AAC1G,UAAM,YAAYA,UAAS,MAAM;AAC/B,YAAM;AAAA,QACJ,OAAO;AAAA,MACT,IAAI;AACJ,YAAM,WAAW,cAAc,WAAW;AAC1C,YAAM,SAAS;AAAA,QACb,GAAG,eAAe;AAAA,MACpB;AACA,UAAI,UAAU;AACZ,eAAO,kBAAkB,OAAO;AAAA,MAClC;AACA,aAAO;AAAA,IACT,CAAC;AACD,QAAI,SAAS;AACb,UAAM,MAAM,IAAI,MAAM,KAAK,WAAS;AAClC,oBAAc,QAAQ;AACtB,UAAI,eAAe,KAAK,GAAG;AACzB,qBAAa,QAAQ;AACrB,YAAIG,QAAM,OAAO;AACf,oBAAU,KAAK,EAAE,KAAK,WAAS;AAC7B,0BAAc,QAAQ;AACtB,2BAAe,MAAM;AAAA,UACvB,CAAC,EAAE,MAAM,SAAO;AACd,2BAAe,OAAO;AAAA,UACxB,CAAC;AAAA,QACH;AAAA,MACF,OAAO;AACL,qBAAa,QAAQ;AAAA,MACvB;AAAA,IACF,GAAG;AAAA,MACD,WAAW;AAAA,IACb,CAAC;AACD,UAAM,iBAAiB,cAAY;AACjC,mBAAa,QAAQ,aAAa,SAAS,WAAW;AACtD,YAAM,KAAK,IAAI,MAAM,UAAU;AAAA,QAC7B,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,UAAU;AAAA,MACZ,CAAC;AACD,UAAI,KAAK,UAAU,EAAE;AAAA,IACvB;AACA,cAAU,MAAM;AACd,UAAI,UAAUA,QAAM;AAAO;AAC3B,YAAM,QAAQ,QAAQ;AACtB,UAAI,CAAC;AAAO;AACZ,YAAM,WAAW,aAAa,KAAK;AACnC,UAAI,UAAU;AACZ,uBAAe,QAAQ;AAAA,MACzB;AAAA,IACF,CAAC;AACD,oBAAgB,MAAM;AACpB,oBAAc,QAAQ;AAAA,IACxB,CAAC;AACD,UAAM,aAAa,QAAM;AACvB,eAAS;AACT,mBAAa,QAAQ;AACrB,UAAI,KAAK,QAAQ,EAAE;AAAA,IACrB;AACA,UAAM,cAAc,QAAM;AACxB,eAAS;AACT,mBAAa,QAAQ;AACrB,UAAI,KAAK,SAAS,EAAE;AAAA,IACtB;AACA,QAAI,OAAO;AAAA,MACT,OAAO;AAAA,MACP,WAAW;AAAA,MACX,WAAW;AAAA,MACX,UAAU;AAAA,MACV,SAAS;AAAA,IACX,CAAC;AACD,WAAO,MAAM;AACX,YAAM;AAAA,QACJ,IAAI;AAAA,QACJ,KAAK;AAAA,MACP,IAAI,SAAS;AACb,YAAM,SAAS,UAAU;AACzB,YAAM,WAAW,IAAI,MAAM,UAAU;AACrC,aAAOE,eAAa,QAAQG,aAAY;AAAA,QACtC,SAAS,CAAC,gBAAgB,WAAW,KAAK;AAAA,MAC5C,GAAG,SAAS;AAAA,QACV,SAAS;AAAA,MACX,CAAC,GAAG,CAAC,CAACL,QAAM,SAASE,eAAa,OAAOG,aAAY;AAAA,QACnD,OAAO;AAAA,QACP,OAAO;AAAA,QACP,SAAS;AAAA,MACX,GAAG,UAAU;AAAA,QACX,UAAU;AAAA,QACV,WAAW;AAAA,MACb,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,YAAYH,eAAa,QAAQ;AAAA,QAC5C,SAAS;AAAA,MACX,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;AAAA,IACjB;AAAA,EACF;AACF,CAAC;AACD,SAAS,aAAa,OAAO;AAC3B,MAAI,CAAC,MAAM;AAAU,WAAO;AAC5B,SAAO,MAAM,eAAe,MAAM,gBAAgB,IAAI,SAAS;AACjE;AACA,SAAS,eAAe,KAAK;AAC3B,SAAO,OAAO,QAAQ,YAAY,QAAQ;AAC5C;;;ACrMA,SAAS,eAAeA,gBAAc,cAAcG,cAAa,oBAAoBJ,0BAAyB;AAE9G,SAAS,mBAAAE,kBAAiB,YAAAN,iBAAgB;;;ACSnC,SAAS,2BAGd,OACA,QACA,QACmB;AACnB,MAAI,OAAO,UAAU;AACnB,WAAO,GAAG,SAAS,SAAS,OAAO,KAAK,IAAI;AAC9C,SAAO,OAAO,QAAQ,KAAK,EAAE,IAAI,CAAC,CAAC,YAAY,eAAe,MAAM;AAClE,WAAO,GAAG,SACR,SAAS,OAAO,eAAe,IAAI,oBAChC;AAAA,EACP,CAAC;AACH;;;ADhBO,IAAM,YAAYM,iBAAgB;AAAA,EACvC,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACL,KAAK;AAAA,MACH,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA;AAAA,IAEA,MAAM;AAAA,IACN,OAAO;AAAA,IACP,SAAS;AAAA,IACT,OAAO;AAAA,EACT;AAAA,EACA,MAAMH,SAAO,KAAK;AAChB,UAAM,OAAOH,UAAS,MAAM;AAC1B,YAAM,UAAU,CAAC;AACjB,YAAM,QAAQ;AAAA,QACZ,GAAG,IAAI;AAAA,MACT;AACA,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,IAAIG;AACJ,aAAO,MAAM;AACb,aAAO,MAAM;AACb,aAAO,MAAM;AACb,aAAO,MAAM;AACb,cAAQ,QAAQ,QAAQ,KAAK,2BAA2B,MAAM,YAAY,CAAC;AAC3E,eAAS,QAAQ,KAAK,2BAA2B,OAAO,aAAa,CAAC;AACtE,iBAAW,QAAQ,KAAK,2BAA2B,SAAS,eAAe,CAAC;AAC5E,eAAS,QAAQ,QAAQ,KAAK,2BAA2B,OAAO,QAAQ,CAAC;AAUzE,aAAO;AAAA,QACL;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC;AACD,WAAO,MAAM;AACX,YAAM,UAAUA,QAAM;AACtB,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,MACF,IAAI,KAAK;AACT,aAAOE,eAAa,SAASG,aAAY;AAAA,QACvC,SAAS,CAAC,yBAAyB,OAAO;AAAA,MAC5C,GAAG,KAAK,GAAG,IAAI,KAAK;AAAA,IACtB;AAAA,EACF;AACF,CAAC;;;AEpED,SAAS,eAAeH,gBAAc,cAAcG,cAAa,oBAAoBJ,0BAAyB;AAE9G,SAAS,mBAAAE,kBAAiB,YAAAN,kBAAgB;AAE1C,SAAS,qBAAqB,OAAO;AACnC,SAAO,OAAO,UAAU,KAAK,IAAI,OAAO,KAAK,IAAI,GAAG;AACtD;AACO,IAAM,iBAAiBM,iBAAgB;AAAA,EAC5C,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACL,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA,KAAK;AAAA,MACH,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA,SAAS;AAAA,IACT,UAAU;AAAA,IACV,UAAU;AAAA,IACV,WAAW;AAAA,IACX,MAAM;AAAA,IACN,cAAc;AAAA,IACd,gBAAgB;AAAA,EAClB;AAAA,EACA,MAAMH,SAAO,KAAK;AAChB,UAAM,OAAOH,WAAS,MAAM;AAC1B,YAAM,UAAU,CAAC;AACjB,YAAM,QAAQ;AAAA,QACZ,GAAG,IAAI;AAAA,MACT;AACA,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,IAAIG;AACJ,YAAM,eAAe,MAAM;AAC3B,YAAM,eAAe,MAAM;AAC3B,aAAO,MAAM;AACb,aAAO,MAAM;AACb,aAAO,MAAM;AACb,aAAO,MAAM;AACb,aAAO,MAAM;AACb,aAAO,MAAM;AACb,aAAO,MAAM;AACb,aAAO,MAAM;AACb,aAAO,MAAM;AAYb,iBAAW,QAAQ,QAAQ,KAAK,2BAA2B,SAAS,iBAAiB,oBAAoB,CAAC;AAC1G,kBAAY,QAAQ,QAAQ,KAAK,2BAA2B,UAAU,mBAAmB,oBAAoB,CAAC;AAC9G,kBAAY,QAAQ,QAAQ,KAAK,2BAA2B,UAAU,mBAAmB,oBAAoB,CAAC;AAC9G,mBAAa,QAAQ,KAAK,2BAA2B,WAAW,YAAY,CAAC;AAC7E,cAAQ,QAAQ,KAAK,2BAA2B,MAAM,EAAE,CAAC;AACzD,sBAAgB,QAAQ,KAAK,2BAA2B,cAAc,QAAQ,CAAC;AAC/E,wBAAkB,QAAQ,KAAK,2BAA2B,gBAAgB,UAAU,CAAC;AACrF,aAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC;AACD,WAAO,MAAM;AACX,YAAM,aAAaA,QAAM;AACzB,YAAM,UAAUA,QAAM;AACtB,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,IAAI,KAAK;AACT,aAAOE,eAAa,YAAY;AAAA,QAC9B,SAAS,CAAC,4BAA4B,YAAY;AAAA,QAClD,SAAS;AAAA,MACX,GAAG;AAAA,QACD,SAAS,MAAM,CAACA,eAAa,SAASG,aAAY;AAAA,UAChD,SAAS,CAAC,mCAAmC,OAAO;AAAA,QACtD,GAAG,KAAK,GAAG,IAAI,KAAK,CAAC;AAAA,MACvB,CAAC;AAAA,IACH;AAAA,EACF;AACF,CAAC;;;ACjGD,SAAS,eAAeH,gBAAc,cAAcG,qBAAmB;AAEvE,SAAS,mBAAAF,mBAAiB,YAAAN,kBAAgB;AAE1C,SAAS,mBAAmB,eAAAO,oBAAmB;AAC/C,SAAS,0BAA0B;AAC5B,IAAM,iBAAiBA,aAAY;AACnC,SAAS,uBAAuB;AACrC,SAAO;AAAA,IACL,OAAO;AAAA,IACP,KAAK;AAAA,MACH,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,SAAS;AAAA,IACX;AAAA,IACA,GAAG,eAAe;AAAA,EACpB;AACF;AACO,SAAS,mBAAmB;AACjC,SAAO;AAAA,IACL,GAAG,qBAAqB;AAAA,IACxB,GAAG,qBAAqB;AAAA,IACxB,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,WAAW;AAAA,IACX,aAAa;AAAA,IACb,YAAY,CAAC,QAAQ,OAAO,MAAM;AAAA,EACpC;AACF;AACO,IAAM,SAASD,kBAAgB;AAAA,EACpC,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO,iBAAiB;AAAA,EACxB,OAAO;AAAA,EACP,MAAMH,SAAO,KAAK;AAChB,UAAM,MAAMH,WAAS,MAAMG,QAAM,GAAG;AACpC,UAAM,YAAY,aAAaA,SAAO;AAAA,MACpC,cAAc;AAAA,IAChB,CAAC;AACD,UAAM,QAAQ,mBAAmBA,OAAK;AACtC,UAAM,UAAUH,WAAS,MAAM,CAAC,UAAU,mBAAmB,OAAO,MAAM,MAAM,WAAW;AAAA,MACzF,kBAAkB,CAAC,MAAM,MAAM;AAAA,MAC/B,sBAAsB,CAAC,CAAC,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,MAAM;AAAA,MACzD,mBAAmBG,QAAM;AAAA,IAC3B,CAAC,CAAC;AACF,UAAM,cAAcH,WAAS,MAAMG,QAAM,WAAW;AACpD,UAAM,YAAYH,WAAS,MAAMG,QAAM,SAAS;AAChD,UAAM,cAAcH,WAAS,MAAMG,QAAM,WAAW;AACpD,WAAO,MAAM;AACX,YAAM,UAAU,IAAI;AACpB,YAAM,SAAS,kBAAkB,IAAI,OAAO,QAAQ;AACpD,YAAM,SAAS,kBAAkB,IAAI,OAAO,QAAQ;AACpD,aAAOE,eAAa,SAASG,cAAY;AAAA,QACvC,SAAS,CAAC,WAAW,QAAQ,KAAK;AAAA,MACpC,GAAG,IAAI,KAAK,GAAG;AAAA,QACb,SAAS,MAAM,CAACH,eAAa,OAAO;AAAA,UAClC,SAAS,CAAC,kBAAkBF,QAAM,UAAU;AAAA,QAC9C,GAAG,CAAC,UAAUE,eAAa,OAAOG,cAAY;AAAA,UAC5C,SAAS;AAAA,QACX,GAAG,YAAY,KAAK,GAAG,CAAC,MAAM,CAAC,GAAGH,eAAa,OAAOG,cAAY;AAAA,UAChE,SAAS;AAAA,QACX,GAAG,UAAU,KAAK,GAAG,CAAC,IAAI,MAAM,UAAU,CAAC,CAAC,GAAG,UAAUH,eAAa,OAAOG,cAAY;AAAA,UACvF,SAAS;AAAA,QACX,GAAG,YAAY,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAAA,MACpC,CAAC;AAAA,IACH;AAAA,EACF;AACF,CAAC;;;AClED,SAAS,cAAcA,eAAa,eAAeH,sBAAoB;AAEvE,SAAS,mBAAAC,mBAAiB,YAAAN,kBAAgB;AAC1C,SAAS,wBAAwB,qBAAqB;AACtD,SAAS,oBAAAc,mBAAkB,mBAAAC,wBAAuB;AAO3C,IAAM,eAAe,CAAC,MAAM,MAAM,IAAI;AACtC,SAAS,oBAAoB;AAClC,SAAO;AAAA,IACL,GAAGD,kBAAiB;AAAA,IACpB,GAAG;AAAA,IACH,MAAM;AAAA,MACJ,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,SAAS;AAAA,IACX;AAAA,IACA,MAAM;AAAA,IACN,SAAS;AAAA,IACT,UAAU;AAAA,IACV,KAAK;AAAA,EACP;AACF;AACO,IAAM,UAAUR,kBAAgB;AAAA,EACrC,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO,kBAAkB;AAAA,EACzB,MAAMH,SAAO,KAAK;AAChB,UAAM,MAAM,OAAO;AACnB,UAAM,WAAW,IAAI,QAAQ,eAAe;AAC5C,UAAM,QAAQY,iBAAgB;AAAA,MAC5B,OAAO,MAAMZ,QAAM,SAAS,SAAS;AAAA,MACrC,SAAS,MAAMA,QAAM,WAAW,SAAS;AAAA,IAC3C,CAAC;AACD,UAAM,aAAa,cAAc,KAAK;AAAA,MACpC,oBAAoB,MAAM;AAAA,MAC1B,iBAAiB;AAAA,IACnB,CAAC;AACD,UAAM,UAAUH,WAAS,MAAM;AAC7B,YAAM;AAAA,QACJ;AAAA,MACF,IAAIG;AACJ,aAAO,CAAC;AAAA,QACN,kBAAkBA,QAAM;AAAA,QACxB,qBAAqBA,QAAM;AAAA,MAC7B,GAAG,OAAO,SAAS,YAAY,aAAa,MAAM;AAAA,IACpD,CAAC;AACD,UAAM,SAASH,WAAS,MAAM;AAC5B,YAAM;AAAA,QACJ;AAAA,MACF,IAAIG;AACJ,UAAI,OAAO,SAAS;AAAU;AAC9B,aAAO;AAAA,QACL,iBAAiB,GAAG;AAAA,MACtB;AAAA,IACF,CAAC;AACD,WAAO,MAAM;AACX,YAAM;AAAA,QACJ;AAAA,MACF,IAAIA;AACJ,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,MACF,IAAI,WAAW;AACf,aAAOE,eAAa,KAAKG,cAAY,OAAO;AAAA,QAC1C,SAAS,CAAC,YAAY,QAAQ,OAAO,MAAM,aAAa,KAAK;AAAA,QAC7D,SAAS,OAAO;AAAA,MAClB,CAAC,GAAG;AAAA,QACF,SAAS,MAAM,CAAC,CAAC,CAAC,OAAOH,eAAa,YAAY;AAAA,UAChD,SAAS;AAAA,UACT,OAAO;AAAA,UACP,SAAS;AAAA,QACX,GAAG,IAAI,KAAK,IAAI,MAAM,UAAU,CAAC;AAAA,MACnC,CAAC;AAAA,IACH;AAAA,EACF;AACF,CAAC;;;AC/ED,SAAS,cAAcG,eAAa,eAAeH,sBAAoB;AAEvE,SAAS,mBAAAC,mBAAiB,YAAAN,kBAAgB;AAC1C,SAAS,0BAAAmB,yBAAwB,iBAAAC,sBAAqB;AACtD,SAAS,oBAAAN,mBAAkB,mBAAAC,wBAAuB;AAO3C,IAAM,aAAa,CAAC,MAAM,MAAM,MAAM,MAAM,IAAI;AAChD,SAAS,kBAAkB;AAChC,SAAO;AAAA,IACL,GAAGD,kBAAiB;AAAA,IACpB,GAAGK;AAAA,IACH,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA,WAAW,CAAC,QAAQ,QAAQ;AAAA,IAC5B,SAAS,CAAC,QAAQ,QAAQ;AAAA,IAC1B,OAAO;AAAA,IACP,UAAU;AAAA,EACZ;AACF;AACA,SAAS,oBAAoB,KAAK,MAAM;AACtC,MAAI,CAAC;AAAK;AACV,MAAI,OAAO,QAAQ,YAAY;AAC7B,WAAO,MAAM;AACX,YAAM,QAAQ,IAAI;AAClB,UAAI,SAAS;AAAM;AACnB,aAAOd,eAAa,QAAQ;AAAA,QAC1B,SAAS,CAAC,gBAAgB,iBAAiB,MAAM;AAAA,MACnD,GAAG,CAAC,KAAK,CAAC;AAAA,IACZ;AAAA,EACF;AACA,SAAO,MAAMA,eAAa,OAAO;AAAA,IAC/B,SAAS,CAAC,gBAAgB,iBAAiB,MAAM;AAAA,IACjD,QAAQ;AAAA,EACV,GAAG,IAAI;AACT;AACO,IAAM,QAAQC,kBAAgB;AAAA,EACnC,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO,gBAAgB;AAAA,EACvB,MAAMH,SAAO,KAAK;AAChB,UAAM,MAAM,OAAO;AACnB,UAAM,WAAW,IAAI,QAAQ,eAAe;AAC5C,UAAM,QAAQY,iBAAgB;AAAA,MAC5B,OAAO,MAAMZ,QAAM,SAAS,SAAS;AAAA,MACrC,SAAS,MAAMA,QAAM,WAAW,SAAS;AAAA,IAC3C,CAAC;AACD,UAAM,YAAYH,WAAS,MAAM;AAC/B,YAAM,QAAQ,oBAAoBG,QAAM,WAAW,OAAO;AAC1D,aAAO,SAAS,MAAM;AAAA,IACxB,CAAC;AACD,UAAM,UAAUH,WAAS,MAAM;AAC7B,YAAM,QAAQ,oBAAoBG,QAAM,SAAS,KAAK;AACtD,aAAO,SAAS,MAAM;AAAA,IACxB,CAAC;AACD,UAAM,aAAaiB,eAAc,KAAK;AAAA,MACpC,oBAAoB,MAAM;AAAA,MAC1B,iBAAiB;AAAA,IACnB,CAAC;AACD,UAAM,UAAUpB,WAAS,MAAM;AAC7B,YAAM;AAAA,QACJ;AAAA,MACF,IAAIG;AACJ,aAAO,CAAC;AAAA,QACN,iBAAiBA,QAAM;AAAA,MACzB,GAAG,OAAO,SAAS,YAAY,WAAW,MAAM;AAAA,IAClD,CAAC;AACD,WAAO,MAAM;AACX,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,MACF,IAAI,WAAW;AACf,aAAOE,eAAa,KAAKG,cAAY,OAAO;AAAA,QAC1C,SAAS,CAAC,UAAU,QAAQ,OAAO,MAAM,aAAa,KAAK;AAAA,MAC7D,CAAC,GAAG;AAAA,QACF,SAAS,MAAM,CAAC,UAAU,OAAOH,eAAa,QAAQ;AAAA,UACpD,SAAS;AAAA,QACX,GAAG,CAAC,IAAI,MAAM,UAAU,CAAC,CAAC,GAAG,QAAQ,KAAK;AAAA,MAC5C,CAAC;AAAA,IACH;AAAA,EACF;AACF,CAAC;;;ACvFD,SAAS,eAAeA,gBAAc,oBAAoBD,0BAAyB;AAEnF,SAAS,mBAAAE,mBAAiB,YAAAN,kBAAgB;AAE1C,SAAS,0BAAAmB,yBAAwB,eAAe;AAKzC,SAAS,kBAAkB;AAChC,SAAO;AAAA,IACL,GAAG,iBAAiB;AAAA,IACpB,GAAGA;AAAA,IACH,UAAU;AAAA,EACZ;AACF;AACO,IAAM,QAAQb,kBAAgB;AAAA,EACnC,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO,gBAAgB;AAAA,EACvB,MAAMH,SAAO,KAAK;AAChB,UAAM,SAASH,WAAS,MAAMG,OAAK;AACnC,UAAM,OAAOH,WAAS,MAAM;AAC1B,YAAM,UAAU,CAAC,CAAC,IAAI,MAAM,QAAQ,CAAC,CAAC,IAAI,MAAM;AAChD,YAAM,QAAQ;AAAA,QACZ,GAAG,OAAO;AAAA,QACV,GAAG,IAAI;AAAA,QACP,OAAO,CAAC,UAAU,IAAI,MAAM,OAAO,OAAO,IAAI,MAAM,YAAY,cAAc,WAAW;AAAA,QACzF,KAAK,UAAU,UAAU;AAAA,MAC3B;AACA,UAAIG,QAAM,UAAU;AAClB,cAAM,WAAW;AACjB,eAAO,MAAM;AACb,eAAO,MAAM;AACb,eAAO,MAAM;AAAA,MACf,OAAO;AACL,eAAO,MAAM;AAAA,MACf;AACA,aAAO;AAAA,QACL;AAAA,MACF;AAAA,IACF,CAAC;AACD,WAAO,MAAM;AACX,aAAOE,eAAa,QAAQ,KAAK,MAAM,OAAO,IAAI,KAAK;AAAA,IACzD;AAAA,EACF;AACF,CAAC;;;AC9CD,SAAS,eAAeA,sBAAoB;AAE5C,SAAS,mBAAAC,yBAAuB;AACzB,IAAM,eAAeA,kBAAgB;AAAA,EAC1C,MAAM;AAAA,EACN,MAAM,QAAQ,KAAK;AACjB,WAAO,MAAM;AACX,aAAOD,eAAa,OAAO;AAAA,QACzB,SAAS;AAAA,MACX,GAAG,CAAC,IAAI,MAAM,UAAU,CAAC,CAAC;AAAA,IAC5B;AAAA,EACF;AACF,CAAC;;;ACZD,SAAS,eAAeA,sBAAoB;AAE5C,SAAS,mBAAAC,yBAAuB;AACzB,IAAM,eAAeA,kBAAgB;AAAA,EAC1C,MAAM;AAAA,EACN,MAAM,QAAQ,KAAK;AACjB,WAAO,MAAM;AACX,aAAOD,eAAa,OAAO;AAAA,QACzB,SAAS;AAAA,MACX,GAAG,CAAC,IAAI,MAAM,UAAU,CAAC,CAAC;AAAA,IAC5B;AAAA,EACF;AACF,CAAC;;;ACZD,SAAS,cAAcG,eAAa,eAAeH,sBAAoB;AAEvE,SAAS,mBAAAC,mBAAiB,YAAAN,kBAAgB;AAC1C,SAAS,oBAAAc,mBAAkB,mBAAAC,wBAAuB;AAClD,SAAS,sBAAAN,2BAA0B;AACnC,SAAS,WAAAV,UAAS,0BAAAoB,+BAA8B;AASzC,IAAM,gBAAgB,CAAC,QAAQ,UAAU,OAAO;AACvD,SAAS,sBAAsB,KAAK,OAAO,QAAQ;AACjD,MAAI,CAAC;AAAK;AACV,SAAO,OAAO,QAAQ,aAAa,MAAM,MAAMd,eAAa,OAAO;AAAA,IACjE,SAAS,CAAC,kBAAkB,mBAAmB,MAAM;AAAA,IACrD,QAAQ;AAAA,EACV,GAAG,IAAI;AACT;AACO,IAAM,iBAAiBI,oBAAmB;AAAA,EAC/C,GAAGK,kBAAiB;AAAA,EACpB,GAAGK;AAAA,EACH,QAAQ,CAAC,SAAS,MAAM;AAAA,EACxB,SAAS;AAAA,EACT,MAAM,CAAC,QAAQ,QAAQ;AAAA,EACvB,WAAW,CAAC,QAAQ,QAAQ;AAAA,EAC5B,SAAS,CAAC,QAAQ,QAAQ;AAAA,EAC1B,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA,EACA,GAAG,mBAAmB;AACxB,CAAC;AACD,IAAM,mBAAmB;AAAA,EACvB,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AACO,IAAM,UAAUb,kBAAgB;AAAA,EACrC,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,EACP,MAAMH,SAAO,KAAK;AAChB,UAAM,MAAM,OAAO;AACnB,UAAM,UAAU,WAAWA,OAAK;AAChC,UAAM,WAAW,IAAI,QAAQ,eAAe;AAC5C,UAAM,OAAOH,WAAS,MAAM;AAC1B,YAAM,QAAQ,sBAAsBG,QAAM,IAAI;AAC9C,aAAO,SAAS,MAAM;AAAA,IACxB,CAAC;AACD,UAAM,YAAYH,WAAS,MAAM;AAC/B,YAAM,QAAQ,sBAAsBG,QAAM,WAAW,OAAO;AAC5D,aAAO,SAAS,MAAM;AAAA,IACxB,CAAC;AACD,UAAM,UAAUH,WAAS,MAAM;AAC7B,YAAM,QAAQ,sBAAsBG,QAAM,SAAS,KAAK;AACxD,aAAO,SAAS,MAAM;AAAA,IACxB,CAAC;AACD,UAAM,QAAQY,iBAAgB;AAAA,MAC5B,OAAO,MAAMZ,QAAM,SAAS,SAAS;AAAA,MACrC,SAAS,MAAMA,QAAM,YAAY,KAAK,QAAQ,IAAI,QAAQ,cAAc,IAAI,SAAS;AAAA,IACvF,CAAC;AACD,UAAM,UAAUH,WAAS,MAAM,MAAM,QAAQ,MAAM,UAAU,IAAI,QAAQ,cAAc,KAAK,MAAM,MAAM,MAAM,UAAU,SAAS,KAAK;AACtI,UAAM,YAAYA,WAAS,MAAMG,QAAM,OAAO;AAM9C,UAAM,SAASH,WAAS,MAAM;AAC5B,YAAM,UAAUG,QAAM;AACtB,UAAI,CAAC;AAAS;AACd,aAAO,YAAY,OAAO,SAAS;AAAA,IACrC,CAAC;AACD,UAAM,UAAUH,WAAS,MAAM,CAAC,MAAM,aAAa,OAAO,OAAO,QAAQ,oBAAoB,OAAO,UAAU,QAAW,aAAa,QAAQ,KAAK,SAAS,mBAAmBG,QAAM,SAAS;AAAA,MAC5L,qBAAqB,UAAU;AAAA,MAC/B,kBAAkB,CAAC,CAAC,KAAK;AAAA,MACzB,qBAAqBA,QAAM;AAAA,MAC3B,mBAAmB,QAAQ;AAAA,IAC7B,CAAC,CAAC;AACF,WAAO,MAAM;AACX,aAAOE,eAAaN,UAASS,cAAY,IAAI,OAAO;AAAA,QAClD,SAAS,CAAC,YAAY,QAAQ,KAAK;AAAA,MACrC,CAAC,GAAG;AAAA,QACF,SAAS,MAAM,CAACH,eAAa,QAAQ;AAAA,UACnC,SAAS;AAAA,QACX,GAAG,CAAC,UAAU,OAAO,IAAI,MAAM,UAAU,GAAG,KAAK,OAAO,QAAQ,KAAK,CAAC,GAAG,UAAU,SAASA,eAAa,mCAAmB;AAAA,UAC1H,SAAS;AAAA,UACT,iBAAiB;AAAA,UACjB,QAAQ,iBAAiB,QAAQ,KAAK,KAAK;AAAA,QAC7C,GAAG,IAAI,CAAC;AAAA,MACV,CAAC;AAAA,IACH;AAAA,EACF;AACF,CAAC;;;ACjGD,SAAS,eAAeA,sBAAoB;AAE5C,SAAS,mBAAAC,mBAAiB,SAAS,kBAAkB;AACrD,SAAS,oBAAAQ,yBAAwB;AAEjC,SAAS,qBAAAO,oBAAmB,kBAAkB;AAEvC,IAAM,eAAef,kBAAgB;AAAA,EAC1C,MAAM;AAAA,EACN,OAAO;AAAA,IACL,GAAGQ,kBAAiB;AAAA,IACpB,GAAG,mBAAmB;AAAA,IACtB,UAAU;AAAA,EACZ;AAAA,EACA,MAAMX,SAAO,KAAK;AAChB,WAAO,MAAM;AACX,UAAI,UAAU;AACd,UAAI,eAAe;AACnB,UAAI,MAAMkB,mBAAkB,IAAI,KAAK,KAAK,CAAC;AAC3C,UAAI,IAAI,WAAW,KAAK,WAAW,IAAI,CAAC,CAAC,GAAG;AAC1C,cAAM,IAAI,CAAC,EAAE;AAAA,MACf;AACA,YAAM,WAAW,IAAI,IAAI,UAAQ;AAC/B,YAAI,CAAC,QAAQ,IAAI,KAAK,KAAK,SAAS,SAAS;AAC3C,iBAAO;AAAA,YACL,UAAU;AAAA,YACV;AAAA,UACF;AAAA,QACF;AACA;AACA,YAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,KAAK,MAAM,MAAM;AAC/C,oBAAU;AAAA,QACZ;AACA,eAAO;AAAA,UACL,UAAU;AAAA,UACV;AAAA,QACF;AAAA,MACF,CAAC;AACD,UAAI,cAAc;AAClB,YAAM,YAAY,SAAS,IAAI,WAAS;AACtC,YAAI,MAAM,UAAU;AAClB;AACA,gBAAM,UAAU,cAAc;AAC9B,gBAAM,WAAW,cAAc;AAC/B,gBAAM,aAAa,MAAM,KAAK;AAC9B,iBAAO,WAAW,MAAM,MAAM;AAAA,YAC5B,GAAGlB;AAAA,YACH,GAAG;AAAA,YACH,QAAQ;AAAA,YACR,OAAO,CAAC,wBAAwB;AAAA,cAC9B,kBAAkB;AAAA,cAClB,kCAAkC;AAAA,cAClC,mCAAmC;AAAA,YACrC,CAAC;AAAA,UACH,CAAC;AAAA,QACH;AACA,eAAO,MAAM;AAAA,MACf,CAAC;AACD,aAAOE,eAAa,OAAO;AAAA,QACzB,SAAS,CAAC,kBAAkB;AAAA,UAC1B,4BAA4B;AAAA,QAC9B,CAAC;AAAA,MACH,GAAG,CAAC,SAAS,CAAC;AAAA,IAChB;AAAA,EACF;AACF,CAAC;;;ACjED,SAAS,WAAW,UAAU,eAAeA,gBAAc,mBAAmB,wBAAwB;AAEtG,SAAS,mBAAAC,mBAAiB,OAAAgB,MAAK,SAAAC,QAAO,YAAAvB,YAAU,sBAAsB;AACtE,SAAS,sBAAAS,qBAAoB,mBAAmB,wBAAwB;AACxE,SAAS,iBAAiB;AAC1B,SAAS,WAAW,kBAAkB;AAEtC,SAAS,+BAA+B;AACxC,SAAS,sBAAAe,2BAA0B;AAEnC,SAAS,QAAQ,GAAG;AAClB,SAAO,OAAO,MAAM,cAAc,OAAO,UAAU,SAAS,KAAK,CAAC,MAAM,qBAAqB,CAAC,SAAS,CAAC;AAC1G;AACO,IAAM,oBAAoB,CAAC,QAAQ,UAAU,OAAO;AACpD,SAAS,kBAAkB;AAChC,SAAOf,oBAAmB;AAAA;AAAA;AAAA;AAAA,IAIxB,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA;AAAA;AAAA;AAAA,IAIA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA;AAAA;AAAA;AAAA,IAIA,cAAc;AAAA;AAAA;AAAA;AAAA,IAId,OAAO;AAAA,IACP,UAAU;AAAA,IACV,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA;AAAA;AAAA;AAAA,IAIA,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,OAAO;AAAA,EACT,CAAC;AACH;AACO,IAAM,cAAcH,kBAAgB;AAAA,EACzC,MAAM;AAAA,EACN,OAAO,gBAAgB;AAAA,EACvB,OAAO;AAAA,IACL,QAAQ,UAAQ;AAAA,IAChB,qBAAqB,UAAQ;AAAA,EAC/B;AAAA,EACA,MAAMH,SAAO,KAAK;AAChB,UAAM,MAAM,OAAO;AACnB,UAAM,QAAQmB,KAAI,IAAI;AACtB,UAAM,SAAS,UAAU;AACzB,UAAM,gBAAgBA,KAAI,CAAC;AAC3B,UAAM,iBAAiBA,KAAI,CAAC;AAC5B,UAAM,WAAWA,KAAI,CAAC;AACtB,UAAM,iBAAiBtB,WAAS,MAAM;AACpC,YAAM,YAAY,SAAS;AAC3B,UAAI,CAAC;AAAW,eAAO;AACvB,aAAO,KAAK,MAAM,eAAe,QAAQ,SAAS;AAAA,IACpD,CAAC;AACD,UAAM,aAAawB,oBAAmB;AAAA,MACpC,OAAO,MAAMrB,QAAM,SAAS,IAAI,QAAQ,cAAc;AAAA,IACxD,CAAC;AACD,UAAM,iBAAiBH,WAAS,MAAM,iBAAiBG,QAAM,MAAM,CAAC;AACpE,UAAM,uBAAuBH,WAAS,MAAM,iBAAiBG,QAAM,YAAY,CAAC;AAChF,UAAM,wBAAwBH,WAAS,MAAM,eAAe,QAAQ,IAAI,CAAC;AACzE,UAAM,eAAeA,WAAS,MAAM;AAClC,YAAM;AAAA,QACJ;AAAA,MACF,IAAIG;AACJ,UAAI,YAAY;AACd,eAAO,IAAI,SAAS,SAAS,YAAY,QAAQ,CAAC;AAAA,MACpD;AACA,aAAO,cAAc;AAAA,IACvB,CAAC;AACD,UAAM,SAAS,CAAC,MAAM,OAAO;AAC3B,YAAM,QAAQ,CAAC;AACf,aAAO,OAAO,IAAI,OAAO;AACzB,eAAS,IAAI,MAAM,KAAK,IAAI,KAAK;AAC/B,cAAM,KAAK,CAAC;AAAA,MACd;AACA,aAAO;AAAA,IACT;AACA,UAAM,gBAAgBH,WAAS,MAAM;AACnC,YAAM,aAAa,sBAAsB;AACzC,YAAM,eAAe,qBAAqB;AAC1C,YAAM,SAAS,eAAe;AAC9B,YAAM,YAAY,aAAa;AAC/B,YAAM,YAAY,KAAK,IAAI,KAAK,IAAI,GAAG,gBAAgB,CAAC,KAAK,QAAQ,KAAK,IAAI,GAAG,UAAU,KAAK,QAAQ,MAAM;AAC9G,UAAI,UAAU,WAAW;AACvB,eAAO,OAAO,GAAG,MAAM;AAAA,MACzB;AACA,YAAM,OAAO,YAAY,MAAM,IAAI,IAAI;AACvC,YAAM,OAAO,KAAK,MAAM,YAAY,CAAC;AACrC,YAAM,QAAQ,SAAS,OAAO,IAAI;AAClC,UAAI,YAAY,QAAQ,YAAY,OAAO;AACzC,cAAM,QAAQ,YAAY,OAAO;AACjC,cAAM,MAAM,YAAY,OAAO,IAAI;AACnC,eAAO,CAAC,GAAG,YAAY,GAAG,OAAO,OAAO,GAAG,GAAG,YAAY,MAAM;AAAA,MAClE,WAAW,cAAc,MAAM;AAC7B,cAAM,MAAM,YAAY,OAAO,IAAI;AACnC,eAAO,CAAC,GAAG,OAAO,GAAG,GAAG,GAAG,YAAY,MAAM;AAAA,MAC/C,WAAW,cAAc,OAAO;AAC9B,cAAM,QAAQ,YAAY,OAAO;AACjC,eAAO,CAAC,GAAG,YAAY,GAAG,OAAO,OAAO,MAAM,CAAC;AAAA,MACjD,OAAO;AACL,eAAO,CAAC,GAAG,OAAO,GAAG,IAAI,GAAG,YAAY,GAAG,OAAO,OAAO,MAAM,CAAC;AAAA,MAClE;AAAA,IACF,CAAC;AACD,UAAM,WAAWA,WAAS,MAAM,eAAe,QAAQ,CAAC;AACxD,UAAM,kBAAkBA,WAAS,MAAM;AACrC,YAAM;AAAA,QACJ;AAAA,MACF,IAAIG;AACJ,aAAO,IAAI,SAAS,yBAAyB,UAAU;AAAA,IACzD,CAAC;AACD,UAAM,aAAaH,WAAS,MAAMG,QAAM,YAAY,gBAAgB,KAAK;AACzE,UAAM,UAAUH,WAAS,MAAM,CAAC;AAAA,MAC9B,0BAA0B,WAAW;AAAA,MACrC,uBAAuBG,QAAM;AAAA,MAC7B,CAAC,iBAAiBA,QAAM,OAAO,GAAG;AAAA,IACpC,GAAG,WAAW,MAAM,SAAS,CAAC;AAC9B,mBAAe,QAAQ,OAAO;AAC5B,UAAI,WAAW;AAAO;AACtB,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,MACF,IAAIA;AACJ,YAAM,UAAU,iBAAiB,KAAK;AACtC,UAAI,aAAa,UAAU;AAAS;AACpC,UAAI,cAAc;AAChB,YAAI;AACF,cAAI,SAAS,aAAa,OAAO;AACjC,cAAI,UAAU,MAAM;AAAG,qBAAS,MAAM;AACtC,cAAI,WAAW;AAAO;AAAA,QACxB,SAAS,GAAP;AAAA,QAAW;AAAA,MACf;AACA,UAAI,YAAY;AACd,cAAM,KAAK,6BAA6B,SAAS,UAAU;AAC3D,eAAO,OAAO,KAAK,EAAE,EAAE,KAAK,aAAW;AACrC,WAAC,WAAW,IAAI,KAAK,UAAU,OAAO;AAAA,QACxC,CAAC;AAAA,MACH,OAAO;AACL,sBAAc,QAAQ;AACtB,YAAI,KAAK,qBAAqB,OAAO;AACrC,YAAI,KAAK,UAAU,OAAO;AAAA,MAC5B;AAAA,IACF;AACA,aAAS,eAAe,QAAQ;AAC9B,YAAM,cAAc,aAAa;AACjC,YAAM,SAAS,eAAe;AAC9B,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI,OAAO,WAAW,UAAU;AAC9B,iBAAS;AACT,eAAO;AACP,iBAAS,gBAAgB;AACzB,mBAAW;AAAA,MACb,WAAW,WAAW,YAAY;AAChC,iBAAS;AACT,iBAAS;AACT,mBAAW;AAAA,MACb,OAAO;AACL,iBAAS;AACT,cAAM,SAAS,WAAW;AAC1B,cAAM,UAAU,SAAS,KAAK;AAC9B,eAAO,cAAc;AACrB,iBAAS;AACT,mBAAW,OAAO,KAAK,OAAO;AAAA,MAChC;AACA,aAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AACA,aAAS,6BAA6B,MAAM,YAAY;AACtD,aAAO,IAAI,SAAS,uBAAuB;AAAA,QACzC,CAAC,UAAU,GAAG;AAAA,MAChB,CAAC;AAAA,IACH;AACA,aAAS,QAAQ,QAAQ,OAAO;AAC9B,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,IAAI,eAAe,MAAM;AACzB,YAAM,OAAO,SAAS,QAAQ;AAC9B,YAAMsB,WAAU,CAAC,sBAAsB;AAAA,QACrC,CAAC,uBAAuB,MAAM,GAAG;AAAA,QACjC,8BAA8B;AAAA,QAC9B,gCAAgC;AAAA,MAClC,CAAC;AACD,YAAM,WAAW,SAAS,QAAQ,MAAM;AACtC,YAAI,SAAS,YAAY;AACvB,iBAAOpB,eAAa,QAAQ,MAAM,CAAC,iBAAiB,KAAK,CAAC,CAAC;AAAA,QAC7D;AACA,cAAM,SAAS,SAAS;AACxB,cAAM,OAAO,SAAS,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,MAAM;AACxD,eAAO,mBAAmB,OAAO,MAAM;AAAA,UACrC,OAAO;AAAA,QACT,CAAC;AAAA,MACH,GAAG;AACH,YAAM,UAAU,QAAM;AACpB,WAAG,eAAe;AAClB,YAAI,SAAS,UAAa,UAAU;AAAU;AAC9C,gBAAQ,IAAI;AAAA,MACd;AACA,YAAM,MAAM,GAAG,UAAU;AACzB,YAAM;AAAA,QACJ;AAAA,MACF,IAAIF;AACJ,UAAI,SAAS,UAAa,YAAY;AACpC,cAAM,KAAK,6BAA6B,MAAM,UAAU;AACxD,eAAOE,eAAa,YAAY;AAAA,UAC9B,SAASoB;AAAA,UACT,MAAM;AAAA,UACN,OAAO;AAAA,QACT,GAAG,QAAQ,QAAQ,IAAI,WAAW;AAAA,UAChC,SAAS,MAAM,CAAC,QAAQ;AAAA,QAC1B,CAAC;AAAA,MACH,OAAO;AACL,eAAOpB,eAAa,UAAU;AAAA,UAC5B,SAASoB;AAAA,UACT,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,WAAW;AAAA,UACX,OAAO;AAAA,QACT,GAAG,CAAC,QAAQ,CAAC;AAAA,MACf;AAAA,IACF;AACA,IAAAF,OAAM,MAAMpB,QAAM,YAAY,gBAAc;AAC1C,oBAAc,QAAQ,iBAAiB,UAAU;AAAA,IACnD,GAAG;AAAA,MACD,WAAW;AAAA,IACb,CAAC;AACD,WAAO,MAAM;AACX,UAAI,CAAC,SAAS;AAAO,eAAO;AAC5B,YAAM,SAAS,CAAC,QAAQ,GAAG,cAAc,OAAO,MAAM,EAAE,IAAI,CAAC,GAAG,UAAU,QAAQ,GAAG,KAAK,CAAC;AAC3F,aAAO,eAAeE,eAAa,OAAO;AAAA,QACxC,SAAS,CAAC,gBAAgB,QAAQ,KAAK;AAAA,QACvC,OAAO;AAAA,MACT,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC;AAAA,QACtC;AAAA,MACF,MAAM;AACJ,cAAM,KAAK,MAAM;AACjB,YAAI,IAAI;AACN,gBAAM,QAAQ,OAAO,iBAAiB,IAAI,QAAQ;AAClD,gBAAMqB,SAAQ,MAAM,iBAAiB,OAAO;AAC5C,gBAAM,SAAS,MAAM,iBAAiB,QAAQ;AAC9C,gBAAM,OAAO,WAAWA,MAAK,IAAI,WAAW,MAAM,IAAI;AACtD,mBAAS,QAAQ;AAAA,QACnB;AACA,uBAAe,QAAQ;AAAA,MACzB,CAAC,CAAC,CAAC;AAAA,IACL;AAAA,EACF;AACF,CAAC;;;AC/QD,SAAS,cAAclB,eAAa,eAAeH,sBAAoB;AAEvE,SAAS,mBAAAC,mBAAiB,YAAAN,YAAU,SAAAuB,cAAa;AAEjD,SAAS,sBAAAd,2BAA0B;AACnC,SAAS,0BAAAU,yBAAwB,WAAApB,gBAAe;AAChD,SAAS,sBAAAyB,2BAA0B;AAM5B,SAAS,sBAAsB;AACpC,QAAM,OAAO,YAAY;AACzB,SAAO;AAAA,IACL,GAAGL;AAAA,IACH,GAAGV,oBAAmB;AAAA,MACpB,WAAW;AAAA,MACX,SAAS;AAAA,MACT,iBAAiB;AAAA,QACf,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA,qBAAqB;AAAA,MACrB,OAAO;AAAA,MACP,YAAY;AAAA,IACd,CAAC;AAAA,EACH;AACF;AACO,IAAM,gBAAgB;AAAA,EAC3B,cAAc,cAAY;AAC5B;AACO,IAAM,YAAYH,kBAAgB;AAAA,EACvC,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO,oBAAoB;AAAA,EAC3B,OAAO;AAAA,IACL,GAAG;AAAA,EACL;AAAA,EACA,MAAMH,SAAO,KAAK;AAChB,UAAM,MAAM,OAAO;AACnB,UAAM,YAAYH,WAAS,MAAM;AAC/B,UAAI,OAAO,mBAAmB,OAAOG,QAAM,SAAS;AACpD,UAAI,CAAC,QAAQA,QAAM,qBAAqB;AACtC,eAAO,mBAAmB,OAAO,QAAQ;AAAA,MAC3C;AACA,aAAO;AAAA,IACT,CAAC;AACD,UAAM,UAAUH,WAAS,MAAM,mBAAmB,OAAOG,QAAM,OAAO,CAAC;AACvE,UAAM,QAAQH,WAAS,MAAM,CAAC,CAAC,IAAI,MAAM,EAAE;AAC3C,UAAM,OAAO,IAAI,QAAQ;AAAA,MACvB,IAAI,IAAI,MAAM,MAAM;AAAA,IACtB,CAAC;AACD,UAAM,WAAWA,WAAS,MAAM;AAC9B,UAAI,CAAC,MAAM;AAAO,eAAO;AACzB,aAAOG,QAAM,aAAa,KAAK,cAAc,QAAQ,KAAK,SAAS;AAAA,IACrE,CAAC;AACD,UAAM,QAAQqB,oBAAmBrB,OAAK;AACtC,UAAM,UAAUH,WAAS,MAAM;AAC7B,YAAM,SAAS,MAAM;AACrB,YAAM,WAAW,CAAC,CAAC,OAAO;AAC1B,aAAO,CAAC,MAAM,MAAM,WAAW;AAAA,QAC7B,sBAAsB,CAAC;AAAA,QACvB,0BAA0B;AAAA,QAC1B,uBAAuB,SAAS;AAAA,MAClC,CAAC;AAAA,IACH,CAAC;AACD,IAAAuB,OAAM,MAAM,SAAS,OAAO,CAAAI,cAAY;AACtC,UAAI,KAAK,gBAAgBA,SAAQ;AAAA,IACnC,GAAG;AAAA,MACD,WAAW;AAAA,IACb,CAAC;AACD,WAAO,MAAM;AACX,YAAM,aAAa,UAAU;AAC7B,YAAM,WAAW,QAAQ;AACzB,aAAOtB,eAAaN,UAASS,cAAY,IAAI,OAAO;AAAA,QAClD,SAAS,CAAC,eAAe,QAAQ,KAAK;AAAA,QACtC,sBAAsB;AAAA,MACxB,CAAC,GAAG;AAAA,QACF,SAAS,MAAM,CAAC,cAAcH,eAAa,QAAQ;AAAA,UACjD,SAAS;AAAA,QACX,GAAG,CAAC,UAAU,CAAC,GAAGA,eAAa,QAAQ;AAAA,UACrC,SAAS;AAAA,QACX,GAAG,CAAC,IAAI,MAAM,UAAU,CAAC,CAAC,GAAG,YAAYA,eAAa,QAAQ;AAAA,UAC5D,SAAS;AAAA,QACX,GAAG,CAAC,QAAQ,CAAC,CAAC;AAAA,MAChB,CAAC;AAAA,IACH;AAAA,EACF;AACF,CAAC;;;ACzFD,SAAS,eAAeA,gBAAc,cAAcG,eAAa,oBAAoBJ,0BAAyB;AAE9G,SAAS,mBAAAE,mBAAiB,YAAAN,kBAAgB;AAEnC,IAAM,gBAAgBM,kBAAgB;AAAA,EAC3C,MAAM;AAAA,EACN,OAAO;AAAA,IACL,GAAG,qBAAqB;AAAA,EAC1B;AAAA,EACA,OAAO;AAAA,EACP,MAAMH,SAAO,KAAK;AAChB,WAAO,MAAM;AACX,YAAM,aAAaH,WAAS,OAAO;AAAA,QACjC,OAAOG,QAAM;AAAA,QACb,KAAKA,QAAM;AAAA,MACb,EAAE;AACF,aAAOE,eAAa,QAAQG,cAAY;AAAA,QACtC,SAAS;AAAA,QACT,cAAc;AAAA,MAChB,GAAG,WAAW,OAAO;AAAA,QACnB,UAAU;AAAA,QACV,eAAe;AAAA,UACb,OAAO;AAAA,QACT;AAAA,QACA,aAAa;AAAA,UACX,OAAO;AAAA,QACT;AAAA,QACA,eAAe;AAAA,UACb,OAAO;AAAA,QACT;AAAA,MACF,CAAC,GAAG,IAAI,KAAK;AAAA,IACf;AAAA,EACF;AACF,CAAC;;;ACjCD,SAAS,eAAeH,sBAAoB;AAE5C,SAAS,mBAAAC,yBAAuB;AAChC,SAAS,eAAAC,oBAAmB;AAC5B,SAAS,yBAAyB;AAClC,SAAS,qBAAqB;AAC9B,IAAMK,SAAQL,aAAY;AACnB,IAAM,QAAQD,kBAAgB;AAAA,EACnC,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA,KAAK;AAAA,MACH,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA,GAAGM,OAAM;AAAA,EACX;AAAA,EACA,OAAAA;AAAA,EACA,MAAMT,SAAO,KAAK;AAChB,WAAO,MAAM;AACX,YAAM,UAAUA,QAAM;AACtB,YAAM,WAAWA,QAAM;AACvB,YAAM,YAAY,IAAI,MAAM,YAAY;AACxC,aAAOE,eAAa,eAAe;AAAA,QACjC,UAAU;AAAA,MACZ,GAAG;AAAA,QACD,SAAS,MAAM,CAACA,eAAa,SAAS;AAAA,UACpC,SAAS,CAAC,UAAU,kBAAkBF,QAAM,KAAK,CAAC;AAAA,QACpD,GAAG;AAAA,UACD,SAAS,MAAM,CAACE,eAAa,UAAU;AAAA,YACrC,SAAS;AAAA,UACX,GAAG;AAAA,YACD,SAAS,MAAM,CAAC,IAAI,MAAM,UAAU,CAAC;AAAA,UACvC,CAAC,GAAG,aAAaA,eAAa,OAAO;AAAA,YACnC,SAAS;AAAA,UACX,GAAG,CAAC,SAAS,CAAC,CAAC;AAAA,QACjB,CAAC,CAAC;AAAA,MACJ,CAAC;AAAA,IACH;AAAA,EACF;AACF,CAAC;;;AC/CD,SAAS,YAAYuB,YAAW,kBAAkB,iBAAiB,SAAS,QAAQ,cAAcpB,eAAa,eAAeH,gBAAc,WAAWwB,iBAAgB;AAEvK,SAAS,mBAAAvB,mBAAiB,YAAAN,YAAU,UAAU,OAAAsB,MAAK,SAAAC,cAAa;AAEhE,SAAS,yBAAyB;AAElC,SAAS,gBAAgB;AAKzB,SAASO,SAAQ,GAAG;AAClB,SAAO,OAAO,MAAM,cAAc,OAAO,UAAU,SAAS,KAAK,CAAC,MAAM,qBAAqB,CAACD,UAAS,CAAC;AAC1G;AACO,SAAS,4BAA4B;AAC1C,SAAO;AAAA,IACL,GAAG,oBAAoB;AAAA,IACvB,OAAO,CAAC,QAAQ,KAAK;AAAA,IACrB,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA,QAAQ;AAAA,IACR,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAKT;AACF;AAIO,SAAS,2BAA2B,OAAO;AAChD,MAAI,QAAQ,MAAM;AAClB,QAAM1B,UAAQ;AAAA,IACZ,GAAG;AAAA,EACL;AACA,MAAI,OAAO,UAAU,YAAY;AAC/B,YAAQ,MAAM;AAAA,EAChB;AACA,SAAOA,QAAM;AACb,SAAO;AAAA,IACL;AAAA,IACA,OAAAA;AAAA,EACF;AACF;AACO,SAAS,0BAA0B,OAAO,YAAY;AAC3D,QAAM;AAAA,IACJ;AAAA,IACA,OAAAA;AAAA,EACF,IAAI,2BAA2B,KAAK;AACpC,SAAOE,eAAa,iBAAiB;AAAA,IACnC,GAAGF;AAAA,IACH,GAAG;AAAA,EACL,GAAG2B,SAAQ,KAAK,IAAI,QAAQ;AAAA,IAC1B,SAAS,MAAM,CAAC,KAAK;AAAA,EACvB,CAAC;AACH;AACA,IAAM,oBAAoB;AAC1B,SAAS,aAAa,OAAO;AAC3B,SAAO,QAAQ,MAAM,QAAQ,mBAAmB,EAAE,IAAI;AACxD;AACO,IAAM,kBAAkBxB,kBAAgB;AAAA,EAC7C,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,IACL,GAAG,0BAA0B;AAAA,IAC7B,UAAU;AAAA,EACZ;AAAA,EACA,OAAO;AAAA,IACL,GAAG;AAAA,EACL;AAAA,EACA,MAAMH,SAAO,KAAK;AAChB,UAAM,MAAM,OAAO;AACnB,UAAM,SAASmB,KAAI,KAAK;AACxB,UAAM,WAAWtB,WAAS,MAAM;AAC9B,YAAM,IAAIG,QAAM;AAChB,aAAO,KAAK,EAAE,SAAS,IAAI;AAAA,IAC7B,CAAC;AACD,UAAM,KAAKH,WAAS,MAAM,IAAI,MAAM,EAAE;AACtC,UAAM,QAAQA,WAAS,MAAM;AAC3B,YAAM;AAAA,QACJ,OAAA+B;AAAA,MACF,IAAI5B;AACJ,YAAM;AAAA,QACJ,IAAA6B;AAAA,MACF,IAAI,IAAI;AACR,UAAID,QAAO;AACT,gBAAQ,MAAM,QAAQA,MAAK,IAAIA,SAAQ,CAACA,MAAK,GAAG,IAAI,YAAY;AAAA,MAClE;AACA,UAAI,CAACC;AAAI;AACT,YAAM,SAAS,OAAOA,QAAO,WAAWA,MAAKA,IAAG;AAChD,UAAI,CAAC;AAAQ;AACb,aAAO,CAAC,aAAa,MAAM,CAAC;AAAA,IAC9B,CAAC;AACD,UAAM,UAAUhC,WAAS,MAAM,CAAC;AAAA,MAC9B,6BAA6B,OAAO;AAAA,MACpC,CAAC,4BAA4BG,QAAM,OAAO,GAAGA,QAAM,QAAQ;AAAA,IAC7D,CAAC,CAAC;AACF,UAAM,QAAQ,SAAS;AAQvB,IAAAoB,OAAM,MAAM,MAAM,MAAM,aAAW;AACjC,YAAM,IAAI,SAAS;AACnB,YAAM,IAAI,MAAM;AAChB,UAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,QAAQ;AAEzB;AAAA,MACF;AACA,YAAM,gBAAgB,aAAa,OAAO;AAC1C,UAAI,EAAE,KAAK,OAAK,cAAc,MAAM,CAAC,CAAC,GAAG;AACvC,aAAK;AAAA,MAEP,OAAO;AACL,cAAM;AAAA,MAER;AAAA,IASF,GAAG;AAAA,MACD,WAAW;AAAA,IACb,CAAC;AAID,UAAM,SAASvB,WAAS,MAAM;AAC5B,YAAM,IAAI,SAAS;AACnB,UAAI;AAAA,QACF;AAAA,MACF,IAAIG;AACJ,UAAI,KAAK,CAAC,SAAS;AACjB,kBAAU,IAAI,KAAK,kBAAkB;AACrC,YAAI,OAAO,YAAY,UAAU;AAC/B,gBAAM,OAAO;AACb,oBAAU,SAAO;AACf,mBAAO,IAAI;AAAA,cACT;AAAA,cACA,QAAQ,OAAO,QAAQ,MAAM;AAAA,YAC/B,CAAC;AAAA,UACH;AAAA,QACF;AAAA,MACF;AACA,YAAM,UAAU;AAAA,QACd,GAAGA;AAAA,QACH;AAAA,MACF;AACA,aAAO,QAAQ;AAOf,aAAO;AAAA,QACL,GAAG;AAAA;AAAA;AAAA;AAAA,MAIL;AAAA,IACF,CAAC;AAED,aAAS,OAAO;AACd,UAAI,CAAC,SAAS;AAAO;AACrB,aAAO,QAAQ;AAAA,IACjB;AACA,aAAS,QAAQ;AACf,aAAO,QAAQ;AAAA,IACjB;AACA,aAAS,SAAS;AAChB,aAAO,OAAO,QAAQ,MAAM,IAAI,KAAK;AAAA,IACvC;AACA,UAAM,UAAU,QAAM;AACpB,UAAI,CAAC,GAAG,OAAO;AACb,eAAO,OAAO;AAAA,MAChB;AAAA,IAOF;AAEA,UAAM,iBAAiB,cAAY;AAgBjC,UAAI,KAAK,gBAAgB,QAAQ;AAAA,IACnC;AACA,QAAI,OAAO;AAAA,MACT;AAAA,IACF,CAAC;AACD,WAAO,MAAM;AACX,YAAM,YAAY,SAAS;AAC3B,YAAM,cAAc,YAAY,WAAW;AAC3C,aAAOE,eAAauB,YAAW,MAAM,CAACvB,eAAa,WAAWG,cAAY,IAAI,OAAO,OAAO,OAAO;AAAA,QACjG,eAAe;AAAA,QACf,WAAW,OAAO,MAAM;AAAA,QACxB,SAAS,CAAC,qBAAqB,QAAQ,KAAK;AAAA,QAC5C,WAAW;AAAA,QACX,kBAAkB;AAAA,MACpB,CAAC,GAAG;AAAA,QACF,SAAS,MAAM,CAAC,IAAI,MAAM,UAAU,CAAC;AAAA,MACvC,CAAC,GAAG,aAAaH,eAAa,mBAAmB,MAAM;AAAA,QACrD,SAAS,MAAM,CAAC,gBAAgBA,eAAa,OAAO;AAAA,UAClD,SAAS;AAAA,QACX,GAAG,CAAC,UAAU,IAAI,WAAS,0BAA0B;AAAA,UACnD,OAAOF,QAAM;AAAA,UACb,GAAG;AAAA,QACL,GAAG;AAAA,UACD,qBAAqB,OAAO,MAAM;AAAA,UAClC,OAAOA,QAAM,SAASA,QAAM,QAAQ,IAAIA,QAAM;AAAA;AAAA;AAAA,QAGhD,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,OAAO,KAAK,CAAC,CAAC,CAAC;AAAA,MAClC,CAAC,CAAC,CAAC;AAAA,IACL;AAAA,EACF;AACF,CAAC;;;AClPD,SAAS,eAAeE,sBAAoB;AAE5C,SAAS,mBAAAC,mBAAiB,YAAAN,YAAU,gBAAgB,OAAAsB,YAAW;AAE/D,SAAS,sBAAAE,2BAA0B;AACnC,SAAS,sBAAAf,2BAA0B;AAC5B,SAAS,wBAAwB;AACtC,SAAOA,oBAAmB;AAAA,IACxB,OAAO;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,IACA,OAAO;AAAA,IACP,qBAAqB;AAAA,MACnB,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA,SAAS,CAAC,QAAQ,QAAQ;AAAA,EAC5B,CAAC;AACH;AACO,IAAM,cAAcH,kBAAgB;AAAA,EACzC,MAAM;AAAA,EACN,OAAO,sBAAsB;AAAA,EAC7B,MAAMH,SAAO,KAAK;AAChB,UAAM,QAAQH,WAAS,MAAMG,QAAM,KAAK;AACxC,UAAM,QAAQqB,oBAAmBrB,OAAK;AACtC,UAAM,UAAUH,WAAS,MAAM,CAAC,MAAM,MAAM,SAAS,CAAC;AACtD,UAAM,sBAAsBA,WAAS,MAAMG,QAAM,mBAAmB;AACpE,UAAM,UAAUH,WAAS,MAAM;AAC7B,YAAM,IAAIG,QAAM;AAChB,aAAO,OAAO,MAAM,aAAa,EAAE,IAAI;AAAA,IACzC,CAAC;AACD,UAAM,WAAWmB,KAAI,CAAC,CAAC;AACvB,mBAAe,MAAM;AACnB,eAAS,QAAQ,CAAC;AAAA,IACpB,CAAC;AACD,aAAS,WAAW,MAAM,SAAS;AACjC,eAAS,MAAM,KAAK;AAAA,QAClB,KAAK,KAAK;AAAA,QACV,KAAK;AAAA,MACP,CAAC;AAAA,IACH;AACA,aAAS,gBAAgB,MAAM;AAC7B,eAAS,MAAM,QAAQ,CAAC;AAAA,QACtB;AAAA,QACA,KAAAA;AAAA,MACF,MAAM;AACJ,YAAI,QAAQ,KAAK;AAAK;AACtB,QAAAA,MAAI,MAAM;AAAA,MACZ,CAAC;AAAA,IACH;AACA,WAAO,MAAM;AACX,YAAM,WAAW,QAAQ;AACzB,aAAOjB,eAAa,OAAO;AAAA,QACzB,SAAS,CAAC,gBAAgB,QAAQ,KAAK;AAAA,MACzC,GAAG,CAAC,CAAC,CAAC,YAAYA,eAAa,OAAO;AAAA,QACpC,SAAS;AAAA,MACX,GAAG,CAAC,QAAQ,CAAC,GAAG,MAAM,MAAM,IAAI,UAAQ,0BAA0B,MAAM;AAAA,QACtE,OAAO;AAAA,QACP,qBAAqB,oBAAoB;AAAA,QACzC,KAAK,CAAAiB,UAAO;AACV,qBAAW,MAAMA,KAAG;AAAA,QACtB;AAAA,QACA,gBAAgB,cAAY;AAC1B,cAAI,UAAwD;AAC1D,4BAAgB,IAAI;AAAA,UACtB;AAAA,QACF;AAAA,MACF,CAAC,CAAC,CAAC,CAAC;AAAA,IACN;AAAA,EACF;AACF,CAAC;;;ACvED,SAAS,eAAejB,sBAAoB;AAE5C,SAAS,YAAAL,YAAU,OAAAsB,MAAK,mBAAAhB,yBAAuB;AAC/C,SAAS,yBAAyB;AAClC,SAAS,4BAAA2B,2BAA0B,sBAAAxB,qBAAoB,eAAAF,oBAAmB;AAK1E,IAAM,sBAAsB,CAAC,SAAS,KAAK;AACpC,SAAS,0BAA0B;AACxC,SAAO;AAAA,IACL,GAAGE,oBAAmB;AAAA,MACpB,gBAAgB,CAAC;AAAA,MACjB,cAAc,CAAC;AAAA,MACf,UAAU;AAAA,QACR,MAAM,CAAC,QAAQ,MAAM;AAAA,QACrB,SAAS;AAAA,MACX;AAAA,IACF,CAAC;AAAA,IACD,GAAG,gCAAgC;AAAA,IACnC,GAAG,mBAAmB;AAAA,EACxB;AACF;AAOA,IAAMG,SAAQL,aAAY;AACnB,IAAM,gBAAgBD,kBAAgB;AAAA,EAC3C,MAAM;AAAA,EACN,OAAO;AAAA,IACL,GAAG,wBAAwB;AAAA,IAC3B,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,GAAGM,OAAM;AAAA,IACT,OAAO;AAAA,EACT;AAAA,EACA,OAAAA;AAAA,EACA,OAAO;AAAA,IACL,OAAO,QAAM;AAAA,EACf;AAAA,EACA,MAAMT,SAAO,KAAK;AAChB,UAAM,aAAa,kBAAkB;AACrC,UAAM,UAAU,WAAWA,OAAK;AAChC,UAAM,WAAW,gBAAgBA,OAAK;AACtC,UAAM,YAAYmB,KAAI,IAAI;AAC1B,UAAM,WAAWtB,WAAS,MAAM,CAAC,CAAC,cAAc,WAAW,UAAU;AACrE,UAAM,UAAUA,WAAS,MAAM,CAAC,CAAC,cAAc,WAAW,OAAO;AACjE,UAAM,aAAaA,WAAS,MAAMG,QAAM,UAAU;AAClD,UAAM,WAAWH,WAAS,MAAM,CAAC,CAAC,cAAc,WAAW,UAAU;AAKrE,UAAM,gBAAgB,oBAAoB;AAC1C,UAAM,UAAUA,WAAS,MAAM;AAC7B,YAAMyB,WAAU,CAAC,mBAAmB,oBAAoB,SAAS,QAAQ,SAAS;AAAA,QAChF,6BAA6B,SAAS;AAAA,QACtC,4BAA4B,QAAQ,SAAStB,QAAM;AAAA,QACnD,6BAA6B,SAAS;AAAA,QACtC,4BAA4BA,QAAM;AAAA,QAClC,gCAAgC,WAAW;AAAA,MAC7C,GAAG,QAAQ,QAAQ,OAAO,cAAc,UAAUA,QAAM,QAAQ,UAAU,QAAQ,SAAS,CAAC,SAAS,QAAQ,UAAU,SAAS,CAAC;AACjI,aAAOsB;AAAA,IACT,CAAC;AACD,UAAM,gBAAgBzB,WAAS,MAAM;AACnC,YAAMY,UAAQ,CAAC;AACf,0BAAoB,QAAQ,cAAY;AACtC,cAAM,MAAM,GAAG;AACf,QAAAA,QAAM,QAAQ,IAAIqB,0BAAyB9B,QAAM,GAAG,GAAG,IAAI,MAAM,GAAG,CAAC;AAAA,MACvE,CAAC;AACD,aAAOS;AAAA,IACT,CAAC;AACD,UAAM,kBAAkB,cAAY;AAClC,UAAI;AACJ,UAAI,aAAa,SAAST,QAAM,SAAS;AACvC,gBAAQE,eAAa,mCAAmB;AAAA,UACtC,iBAAiB;AAAA,UACjB,QAAQ,8BAA8BF,QAAM,QAAQ,IAAI;AAAA,QAC1D,GAAG,IAAI;AAAA,MACT,OAAO;AACL,gBAAQ,cAAc,MAAM,QAAQ,IAAI;AAAA,MAC1C;AACA,UAAI,CAAC;AAAO;AACZ,aAAOE,eAAa,OAAO;AAAA,QACzB,SAAS,CAAC,8BAA8B,+BAA+B,UAAU;AAAA,MACnF,GAAG,CAAC,KAAK,CAAC;AAAA,IACZ;AACA,UAAM,cAAc,QAAM,IAAI,KAAK,SAAS,EAAE;AAC9C,WAAO,MAAM;AACX,aAAOA,eAAa,OAAO;AAAA,QACzB,SAAS,QAAQ;AAAA,QACjB,WAAW;AAAA,QACX,OAAO;AAAA,MACT,GAAG,CAAC,gBAAgB,OAAO,GAAGA,eAAa,OAAO;AAAA,QAChD,SAAS;AAAA,MACX,GAAG,CAAC,IAAI,MAAM,UAAU,CAAC,CAAC,GAAG,gBAAgB,KAAK,CAAC,CAAC;AAAA,IACtD;AAAA,EACF;AACF,CAAC;;;ACtGD,SAAS,eAAeA,sBAAoB;AAE5C,SAAS,mBAAAC,yBAAuB;AACzB,IAAM,eAAeA,kBAAgB;AAAA,EAC1C,MAAM;AAAA,EACN,OAAO;AAAA,IACL,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,IACA,WAAW;AAAA,MACT,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,EACF;AAAA,EACA,SAAS;AACP,WAAOD,eAAa,QAAQ;AAAA,MAC1B,SAAS;AAAA,IACX,GAAG,CAAC,GAAG,KAAK,YAAY,KAAK,WAAW,CAAC;AAAA,EAC3C;AACF,CAAC;;;ACpBD,SAAS,oBAAoBD,oBAAmB,eAAeC,sBAAoB;AAEnF,SAAS,mBAAAC,mBAAiB,YAAAN,kBAAgB;AAC1C,SAAS,gCAAgC,kCAAkC;;;ACH3E,SAAS,eAAeK,sBAAoB;AAE5C,SAAS,YAAAL,YAAU,mBAAAM,yBAAuB;AAC1C,SAAS,eAAAC,oBAAmB;AAE5B,IAAMK,SAAQL,aAAY;AACnB,IAAM,aAAaD,kBAAgB;AAAA,EACxC,MAAM;AAAA,EACN,OAAO;AAAA,IACL,SAAS;AAAA,IACT,UAAU;AAAA,IACV,UAAU;AAAA,IACV,SAAS;AAAA,IACT,GAAGM,OAAM;AAAA;AAAA,EAEX;AAAA,EAEA,OAAAA;AAAA,EACA,MAAMT,SAAO,KAAK;AAChB,UAAM,gBAAgB,oBAAoB;AAC1C,UAAM,UAAUH,WAAS,MAAMG,QAAM,OAAO;AAC5C,UAAM,WAAWH,WAAS,MAAMG,QAAM,QAAQ;AAC9C,UAAM,WAAWH,WAAS,MAAMG,QAAM,QAAQ;AAC9C,UAAM,UAAUH,WAAS,MAAMG,QAAM,OAAO;AAE5C,UAAM,UAAUH,WAAS,MAAM;AAC7B,aAAO,CAAC;AAAA,QACN,wBAAwB,QAAQ;AAAA,QAChC,yBAAyB,SAAS;AAAA,QAClC,yBAAyB,SAAS;AAAA,QAClC,wBAAwB,QAAQ;AAAA,QAChC,4BAA4B,CAAC,CAAC,IAAI,MAAM;AAAA,QACxC,UAAU,SAAS;AAAA,MACrB,GAAG,cAAc,UAAU,QAAQ,QAAQ,UAAU,SAAS,CAAC;AAAA,IACjE,CAAC;AACD,WAAO,MAAMK,eAAa,SAAS;AAAA,MACjC,SAAS,CAAC,eAAe,QAAQ,KAAK;AAAA,IACxC,GAAG,CAACA,eAAa,QAAQ;AAAA,MACvB,SAAS;AAAA,IACX,GAAG,CAAC,IAAI,MAAM,QAAQ,GAAG,IAAI,MAAM,OAAO,IAAI,MAAM,KAAK,IAAIA,eAAa,QAAQ;AAAA,MAChF,SAAS;AAAA,IACX,GAAG,CAAC,IAAI,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,GAAGA,eAAa,QAAQ;AAAA,MAC/C,SAAS;AAAA,IACX,GAAG,CAAC,IAAI,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC;AAAA,EAC5B;AACF,CAAC;;;ADtCD,IAAM;AAAA,EACJ,OAAAF;AAAA,EACA,OAAAU;AACF,IAAI,+BAA+B;AAC5B,IAAM,YAAYP,kBAAgB;AAAA,EACvC,MAAM;AAAA,EACN,OAAO;AAAA,IACL,GAAGH;AAAA,IACH,GAAG,mBAAmB;AAAA,IACtB,eAAe;AAAA,EACjB;AAAA,EACA,OAAAU;AAAA,EACA,MAAMV,SAAO,KAAK;AAChB,UAAM,cAAc,2BAA2BA,SAAO,KAAK;AAAA,MACzD,UAAU;AAAA,MACV,gBAAgB;AAAA,IAClB,CAAC;AACD,UAAM,UAAU,WAAWA,OAAK;AAChC,UAAM,kBAAkBH,WAAS,MAAMG,QAAM,aAAa;AAC1D,WAAO;AAAA,MACL,GAAG,YAAY,OAAO;AAAA,MACtB,GAAG;AAAA,MACH;AAAA,IACF;AAAA,EACF;AAAA,EACA,SAAS;AACP,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,IACF,IAAI;AACJ,WAAOE,eAAa,YAAY;AAAA,MAC9B,SAAS,CAAC,cAAc;AAAA,QACtB,wBAAwB,oBAAoB;AAAA,QAC5C,6BAA6B;AAAA,MAC/B,GAAG,KAAK,OAAO;AAAA,MACf,WAAW,KAAK,YAAY;AAAA,MAC5B,WAAW,KAAK;AAAA,MAChB,YAAY,KAAK;AAAA,MACjB,YAAY,KAAK;AAAA,IACnB,GAAG;AAAA,MACD,OAAO,MAAM,oBAAoB,mBAAmB;AAAA,QAClD,MAAM;AAAA,MACR,CAAC;AAAA,MACD,MAAM,MAAMA,eAAa,QAAQ;AAAA,QAC/B,SAAS;AAAA,MACX,GAAG,IAAI;AAAA,MACP,OAAO,MAAM,KAAK,OAAO,UAAU;AAAA,IACrC,CAAC;AAAA,EACH;AACF,CAAC;;;AExDD,SAAS,eAAeA,gBAAc,WAAWwB,iBAAgB;AAIjE,SAASC,SAAQ,GAAG;AAClB,SAAO,OAAO,MAAM,cAAc,OAAO,UAAU,SAAS,KAAK,CAAC,MAAM,qBAAqB,CAACD,UAAS,CAAC;AAC1G;AACO,IAAM,iBAAiB,4BAA4B;AAAA,EACxD,MAAM;AAAA,EACN,iBAAiB;AAAA,EACjB,UAAU;AAAA,EACV,WAAW;AAAA,EACX,cAAc,CAAC;AAAA,IACb;AAAA,IACA,OAAAjB;AAAA,EACF,MAAMP,eAAa,WAAW,OAAOyB,SAAQlB,OAAK,IAAIA,UAAQ;AAAA,IAC5D,SAAS,MAAM,CAACA,OAAK;AAAA,EACvB,CAAC;AACH,CAAC;;;AClBD,SAAS,oBAAoBR,oBAAmB,eAAeC,sBAAoB;AAEnF,SAAS,mBAAAC,yBAAuB;AAChC,SAAS,kCAAA4B,iCAAgC,8BAAAC,mCAAkC;AAI3E,IAAM;AAAA,EACJ,OAAAhC;AAAA,EACA,OAAAU;AACF,IAAIqB,gCAA+B;AAC5B,IAAM,SAAS5B,kBAAgB;AAAA,EACpC,MAAM;AAAA,EACN,OAAO;AAAA,IACL,GAAGH;AAAA,IACH,GAAG,mBAAmB;AAAA,EACxB;AAAA,EACA,OAAAU;AAAA,EACA,MAAMV,SAAO,KAAK;AAChB,UAAM,cAAcgC,4BAA2BhC,SAAO,KAAK;AAAA,MACzD,UAAU;AAAA,MACV,gBAAgB;AAAA,IAClB,CAAC;AACD,UAAM,UAAU,WAAWA,OAAK;AAChC,WAAO;AAAA,MACL,GAAG,YAAY,OAAO;AAAA,MACtB,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EACA,SAAS;AACP,UAAM;AAAA,MACJ;AAAA,IACF,IAAI;AACJ,WAAOE,eAAa,YAAY;AAAA,MAC9B,SAAS,CAAC,WAAW;AAAA,QACnB,qBAAqB,oBAAoB;AAAA,MAC3C,GAAG,KAAK,OAAO;AAAA,MACf,WAAW,KAAK;AAAA,MAChB,WAAW,KAAK;AAAA,MAChB,YAAY,KAAK;AAAA,MACjB,YAAY,KAAK;AAAA,IACnB,GAAG;AAAA,MACD,OAAO,MAAM,oBAAoB,mBAAmB;AAAA,QAClD,MAAM;AAAA,MACR,CAAC;AAAA,MACD,MAAM,MAAMA,eAAa,QAAQ;AAAA,QAC/B,SAAS;AAAA,MACX,GAAG,IAAI;AAAA,MACP,OAAO,MAAM,KAAK,OAAO,UAAU;AAAA,IACrC,CAAC;AAAA,EACH;AACF,CAAC;;;ACnDD,SAAS,eAAeA,gBAAc,WAAWwB,iBAAgB;AAIjE,SAASC,SAAQ,GAAG;AAClB,SAAO,OAAO,MAAM,cAAc,OAAO,UAAU,SAAS,KAAK,CAAC,MAAM,qBAAqB,CAACD,UAAS,CAAC;AAC1G;AACO,IAAM,cAAc,4BAA4B;AAAA,EACrD,MAAM;AAAA,EACN,UAAU;AAAA,EACV,WAAW;AAAA,EACX,cAAc,CAAC;AAAA,IACb;AAAA,IACA,OAAAjB;AAAA,EACF,MAAMP,eAAa,QAAQ,OAAOyB,SAAQlB,OAAK,IAAIA,UAAQ;AAAA,IACzD,SAAS,MAAM,CAACA,OAAK;AAAA,EACvB,CAAC;AACH,CAAC;;;ACjBD,SAAS,oBAAoBR,qBAAmB,eAAeC,sBAAoB;AAEnF,SAAS,mBAAAC,yBAAuB;AAChC,SAAS,kCAAA4B,iCAAgC,8BAAAC,mCAAkC;AAI3E,IAAM;AAAA,EACJ,OAAAhC;AAAA,EACA,OAAAU;AACF,IAAIqB,gCAA+B;AAC5B,IAAM,UAAU5B,kBAAgB;AAAA,EACrC,MAAM;AAAA,EACN,OAAO;AAAA,IACL,GAAGH;AAAA,IACH,GAAG,mBAAmB;AAAA,EACxB;AAAA,EACA,OAAAU;AAAA,EACA,MAAMV,SAAO,KAAK;AAChB,UAAM,cAAcgC,4BAA2BhC,SAAO,KAAK;AAAA,MACzD,UAAU;AAAA,MACV,gBAAgB;AAAA,IAClB,CAAC;AACD,UAAM,UAAU,WAAWA,OAAK;AAChC,QAAI,OAAO,WAAW,aAAa;AACjC,aAAO,KAAK,CAAC;AACb,aAAO,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,IAAI;AAAA,IAClC;AACA,WAAO;AAAA,MACL,GAAG,YAAY,OAAO;AAAA,MACtB,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EACA,SAAS;AACP,UAAM;AAAA,MACJ;AAAA,IACF,IAAI;AACJ,WAAOE,eAAa,YAAY;AAAA,MAC9B,SAAS,CAAC,YAAY;AAAA,QACpB,sBAAsB,oBAAoB;AAAA,QAC1C,sBAAsB,oBAAoB;AAAA,MAC5C,GAAG,KAAK,OAAO;AAAA,MACf,WAAW,KAAK;AAAA,MAChB,WAAW,KAAK;AAAA,MAChB,YAAY,KAAK;AAAA,MACjB,YAAY,KAAK;AAAA,IACnB,GAAG;AAAA,MACD,OAAO,MAAM,oBAAoB,mBAAmB;AAAA,QAClD,MAAM;AAAA,MACR,CAAC;AAAA,MACD,MAAM,MAAMA,eAAa,QAAQ;AAAA,QAC/B,SAAS;AAAA,MACX,GAAG,CAACA,eAAa,QAAQ;AAAA,QACvB,SAAS;AAAA,MACX,GAAG,IAAI,CAAC,CAAC;AAAA,MACT,OAAO,MAAM,KAAK,OAAO,UAAU;AAAA,IACrC,CAAC;AAAA,EACH;AACF,CAAC;;;AC1DD,SAAS,eAAeA,gBAAc,WAAWwB,iBAAgB;AAIjE,SAASC,SAAQ,GAAG;AAClB,SAAO,OAAO,MAAM,cAAc,OAAO,UAAU,SAAS,KAAK,CAAC,MAAM,qBAAqB,CAACD,UAAS,CAAC;AAC1G;AACO,IAAM,eAAe,4BAA4B;AAAA,EACtD,MAAM;AAAA,EACN,iBAAiB;AAAA,EACjB,UAAU;AAAA,EACV,WAAW;AAAA,EACX,cAAc,CAAC;AAAA,IACb;AAAA,IACA,OAAAjB;AAAA,EACF,MAAMP,eAAa,SAAS,OAAOyB,SAAQlB,OAAK,IAAIA,UAAQ;AAAA,IAC1D,SAAS,MAAM,CAACA,OAAK;AAAA,EACvB,CAAC;AACH,CAAC;;;AClBD,SAAS,cAAcJ,eAAa,eAAeH,sBAAoB;AAEvE,SAAS,mBAAAC,mBAAiB,YAAAN,kBAAgB;AAC1C,SAAS,kCAAAkC,iCAAgC,8BAAAC,mCAAkC;AAG3E,IAAM;AAAA,EACJ,OAAAhC;AAAA,EACA,OAAAU;AACF,IAAIqB,gCAA+B;AAC5B,IAAM,UAAU5B,kBAAgB;AAAA,EACrC,MAAM;AAAA,EACN,OAAO;AAAA,IACL,GAAGH;AAAA,IACH,GAAG,mBAAmB;AAAA,EACxB;AAAA,EACA,OAAAU;AAAA,EACA,MAAMV,SAAO,KAAK;AAChB,UAAM,cAAcgC,4BAA2BhC,SAAO,KAAK;AAAA,MACzD,UAAU;AAAA,MACV,gBAAgB;AAAA,IAClB,CAAC;AACD,UAAM,UAAU,WAAWA,OAAK;AAChC,UAAM,UAAUH,WAAS,MAAM;AAC7B,aAAO,CAAC,YAAY;AAAA,QAClB,sBAAsB,YAAY;AAAA,QAClC,2BAA2B,CAAC,YAAY;AAAA,QACxC,sBAAsB,YAAY;AAAA,MACpC,GAAG,QAAQ,QAAQ,KAAK;AAAA,IAC1B,CAAC;AACD,WAAO;AAAA,MACL,GAAG,YAAY,OAAO;AAAA,MACtB;AAAA,IACF;AAAA,EACF;AAAA,EACA,SAAS;AACP,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,IACF,IAAI;AACJ,WAAOK,eAAa,SAASG,cAAY;AAAA,MACvC,SAAS;AAAA,MACT,WAAW,oBAAoB;AAAA,MAC/B,YAAY,oBAAoB;AAAA,MAChC,cAAc,oBAAoB;AAAA,IACpC,GAAG;AAAA,MACD,iBAAiB,oBAAoB;AAAA,IACvC,CAAC,GAAG,CAACH,eAAa,QAAQ;AAAA,MACxB,SAAS;AAAA,IACX,GAAG,CAAC,KAAK,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;AAAA,EAChC;AACF,CAAC;;;ACnDD,SAAS,eAAeA,sBAAoB;AAE5C,SAAS,YAAAL,YAAU,mBAAAM,yBAAuB;AAC1C,SAAS,kCAAkC,uCAAuC;AAClF,SAAS,eAAAC,cAAa,4BAAA0B,iCAAgC;AAEtD,IAAMrB,SAAQL,aAAY;AACnB,IAAM,eAAeD,kBAAgB;AAAA,EAC1C,MAAM;AAAA,EACN,OAAO;AAAA,IACL,GAAG,iCAAiC;AAAA;AAAA,IAEpC,OAAO,CAAC;AAAA,IACR,GAAGM,OAAM;AAAA,EACX;AAAA,EACA,OAAAA;AAAA,EACA,MAAMT,SAAO,KAAK;AAChB,UAAM,eAAe,gCAAgCA,SAAO,KAAK;AAAA,MAC/D,gBAAgB;AAAA,IAClB,CAAC;AACD,UAAM,YAAYH,WAAS,MAAM;AAC/B,aAAOiC,0BAAyB9B,QAAM,OAAO,IAAI,MAAM,KAAK;AAAA,IAC9D,CAAC;AACD,UAAM,UAAUH,WAAS,MAAM;AAC7B,aAAO,CAAC,kBAAkB;AAAA,QACxB,4BAA4B,aAAa;AAAA,MAC3C,CAAC;AAAA,IACH,CAAC;AACD,WAAO;AAAA,MACL,GAAG,aAAa,OAAO;AAAA,MACvB;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EACA,SAAS;AACP,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,IACF,IAAI;AACJ,UAAM,QAAQ,YAAY,UAAU,YAAY,IAAI;AACpD,WAAOK,eAAa,OAAO;AAAA,MACzB,SAAS;AAAA,IACX,GAAG,CAAC,CAAC,CAAC,SAASA,eAAa,OAAO;AAAA,MACjC,SAAS;AAAA,IACX,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,OAAO,UAAU,CAAC,CAAC;AAAA,EACvC;AACF,CAAC;;;AC/CD,SAAS,oBAAoBD,qBAAmB,kBAAkBgC,kBAAiB,gBAAgB,eAAe,WAAWP,WAAU,eAAexB,sBAAoB;AAE1K,SAAS,OAAAiB,MAAK,mBAAAhB,mBAAiB,YAAAN,YAAU,gBAAgB;AACzD,SAAS,8BAAAqC,6BAA4B,0BAAAC,yBAAwB,0BAAAC,+BAA8B;AAC3F,SAAS,eAAAhC,cAAa,sBAAAE,qBAAoB,4BAAAwB,iCAAgC;AAC1E,SAAS,mBAAmB;AAU5B,SAASH,SAAQ,GAAG;AAClB,SAAO,OAAO,MAAM,cAAc,OAAO,UAAU,SAAS,KAAK,CAAC,MAAM,qBAAqB,CAACD,UAAS,CAAC;AAC1G;AACO,IAAM,kBAAkB,YAAY,IAAI,CAAC,WAAW,WAAW,CAAC;AAChE,IAAM,mBAAmB,YAAY,IAAI,CAAC,SAAS,GAAG,CAAC;AACvD,IAAM,sBAAsB,YAAY,IAAI,CAAC,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;AAC5F,IAAM;AAAA,EACJ,OAAA1B;AAAA,EACA,OAAAU;AACF,IAAIwB,4BAA2B;AAC/B,IAAMzB,SAAQL,aAAY;AACnB,IAAM,UAAUD,kBAAgB;AAAA,EACrC,MAAM;AAAA,EACN,OAAO;AAAA,IACL,GAAGH;AAAA,IACH,GAAGoC,wBAAuB;AAAA,IAC1B,GAAG,wBAAwB;AAAA,IAC3B,GAAG,gCAAgC;AAAA,IACnC,GAAG,mBAAmB;AAAA,IACtB,GAAG3B,OAAM;AAAA,IACT,GAAGH,oBAAmB;AAAA,MACpB,aAAa;AAAA,MACb,gBAAgB,CAAC;AAAA,MACjB,0BAA0B,CAAC;AAAA,IAC7B,CAAC;AAAA,IACD,mBAAmB;AAAA,EACrB;AAAA,EACA,OAAAG;AAAA,EACA,OAAAC;AAAA,EACA,MAAMV,SAAO,KAAK;AAChB,UAAM,UAAUmB,KAAI,IAAI;AACxB,UAAM,aAAaA,KAAI,KAAK;AAC5B,UAAM,WAAW,MAAM;AACrB,iBAAW,QAAQ;AAAA,IACrB;AACA,UAAM,YAAY,MAAM;AACtB,iBAAW,QAAQ;AAAA,IACrB;AACA,UAAM,eAAegB,wBAAuBnC,SAAO,KAAK;AAAA,MACtD,UAAU;AAAA,MACV,cAAc,UAAQ;AACpB,kBAAU;AAAA,MACZ;AAAA,IACF,CAAC;AACD,UAAM,UAAU,WAAWA,OAAK;AAChC,oBAAgBA,OAAK;AACrB,UAAM,MAAM,OAAO;AACnB,UAAM,WAAW,IAAI,KAAK,UAAU;AACpC,UAAM,WAAWmB,KAAI,IAAI;AACzB,UAAM,oBAAoBtB,WAAS,MAAM;AACvC,YAAM,OAAOiC,0BAAyB9B,QAAM,gBAAgB,IAAI,QAAQ,gBAAgB,GAAG,YAAY;AACvG,aAAO,QAAQ,KAAK,GAAG;AAAA,IACzB,CAAC;AACD,UAAM,8BAA8BH,WAAS,MAAM;AACjD,YAAM,OAAOiC,0BAAyB9B,QAAM,0BAA0B,IAAI,QAAQ,yBAAyB,GAAG,sBAAsB;AACpI,aAAO,QAAQ,KAAK,GAAG;AAAA,IACzB,CAAC;AACD,UAAM,QAAQ,UAAQ;AACpB,eAAS,OAAO,QAAQ,IAAI;AAAA,IAC9B;AACA,UAAM,mBAAmB,mBAAiB;AACxC,YAAM,gBAAgB,IAAI,MAAM;AAChC,YAAM,WAAW,CAAC;AAClB,UAAI,aAAa,iBAAiB;AAChC,iBAAS,KAAKE,eAAa,QAAQ;AAAA,UACjC,SAAS;AAAA,QACX,GAAG,CAAC,4BAA4B,KAAK,CAAC,CAAC;AAAA,MACzC,WAAW,aAAa,cAAc;AACpC,iBAAS,KAAKA,eAAa,QAAQ;AAAA,UACjC,SAAS;AAAA,QACX,GAAG,CAAC,kBAAkB,KAAK,CAAC,CAAC;AAAA,MAC/B,WAAW,cAAc,QAAQ;AAC/B,sBAAc,QAAQ,CAAC,MAAM,UAAU;AACrC,cAAI,QAAQ,GAAG;AACb,qBAAS,KAAK,IAAI,mBAAmB,CAAC;AAAA,UACxC;AACA,gBAAM,QAAQ,gBAAgB,cAAc;AAAA,YAC1C;AAAA,YACA;AAAA,UACF,CAAC,IAAI,KAAK,kBAAkB;AAC5B,mBAAS,KAAK,KAAK;AAAA,QACrB,CAAC;AAAA,MACH,WAAWF,QAAM,eAAe,MAAM;AACpC,iBAAS,KAAKE,eAAa,QAAQ;AAAA,UACjC,SAAS;AAAA,QACX,GAAG,CAACF,QAAM,WAAW,CAAC,CAAC;AAAA,MACzB;AACA,aAAO;AAAA,IACT;AACA,UAAM,kBAAkB,MAAM;AAC5B,YAAM,OAAO,QAAQ,OAAO;AAC5B,UAAI,CAAC;AAAM;AACX,YAAM,SAAS,KAAK,QAAQ;AAC5B,UAAI,CAAC;AAAQ;AACb,YAAM,MAAM,MAAM,KAAK,OAAO,iBAAiB,WAAW,CAAC;AAC3D,UAAI,QAAQ,QAAM,GAAG,UAAU,OAAO,uBAAuB,CAAC;AAAA,IAChE;AACA,UAAM,kBAAkB,MAAM;AAC5B,YAAM,OAAO,QAAQ,OAAO;AAC5B,UAAI,CAAC;AAAM;AACX,YAAM,SAAS,KAAK,QAAQ;AAC5B,UAAI,CAAC;AAAQ;AACb,YAAM,MAAM,MAAM,KAAK,OAAO,iBAAiB,WAAW,CAAC,EAAE,OAAO,QAAM;AACxE,YAAI,GAAG,aAAa;AAAI,iBAAO;AAC/B,cAAM,WAAW,GAAG,aAAa,UAAU;AAC3C,cAAM,eAAe,GAAG,aAAa,eAAe;AACpD,YAAI,iBAAiB;AAAQ,iBAAO;AACpC,eAAO,YAAY,QAAQ,aAAa;AAAA,MAC1C,CAAC;AACD,UAAI,CAAC,IAAI;AAAQ;AACjB,aAAO;AAAA,IACT;AACA,UAAM,kBAAkB,QAAM;AAC5B,YAAM;AAAA,QACJ;AAAA,MACF,IAAI;AACJ,UAAI,CAAC,WAAW,SAAS,CAAC,gBAAgB,SAAS,GAAG;AAAG;AACzD,YAAM,MAAM,gBAAgB;AAC5B,UAAI,CAAC;AAAK;AACV,YAAM,YAAY,IAAI,KAAK,QAAM,GAAG,UAAU,SAAS,uBAAuB,CAAC;AAC/E,YAAM,eAAe,aAAa,IAAI,QAAQ,SAAS;AACvD,UAAI;AACJ,YAAM;AAAA,QACJ;AAAA,MACF,IAAI;AACJ,YAAM,OAAO,QAAQ;AACrB,UAAI,gBAAgB,MAAM;AACxB,oBAAY,OAAO,SAAS,IAAI;AAAA,MAClC,OAAO;AACL,cAAM,cAAc,QAAQ,YAAY,KAAK;AAC7C,oBAAY,eAAe;AAC3B,YAAI,YAAY,GAAG;AACjB,sBAAY,SAAS;AAAA,QACvB,WAAW,aAAa,QAAQ;AAC9B,sBAAY;AAAA,QACd;AAAA,MACF;AACA,YAAM,SAAS,IAAI,SAAS;AAC5B,UAAI,QAAQ;AACV,wBAAgB;AAChB,eAAO,UAAU,IAAI,uBAAuB;AAC5C,eAAO,eAAe;AAAA,UACpB,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,UAAU;AAAA,QACZ,CAAC;AACD,WAAG,eAAe;AAAA,MACpB;AAAA,IACF;AACA,UAAM,mBAAmB,QAAM;AAC7B,YAAM;AAAA,QACJ;AAAA,MACF,IAAI;AACJ,UAAI,CAAC,WAAW,SAAS,CAAC,iBAAiB,SAAS,GAAG;AAAG;AAC1D,YAAM,MAAM,gBAAgB;AAC5B,UAAI,CAAC;AAAK;AACV,YAAM,YAAY,IAAI,KAAK,QAAM,GAAG,UAAU,SAAS,uBAAuB,CAAC;AAC/E,UAAI,WAAW;AACb,cAAMqC,MAAK,IAAI,WAAW,SAAS;AAAA,UACjC,MAAM;AAAA,UACN,SAAS;AAAA,UACT,YAAY;AAAA,QACd,CAAC;AACD,kBAAU,cAAcA,GAAE;AAC1B,QAAAA,IAAG,eAAe;AAClB,iBAAS,MAAM;AACb,oBAAU,UAAU,IAAI,uBAAuB;AAAA,QACjD,CAAC;AAAA,MACH;AAAA,IACF;AACA,UAAM,uBAAuB,QAAM;AACjC,UAAI,gBAAgB,SAAS,GAAG,GAAG;AAAG,eAAO,gBAAgB,EAAE;AAC/D,UAAI,iBAAiB,SAAS,GAAG,GAAG;AAAG,eAAO,iBAAiB,EAAE;AAAA,IACnE;AACA,gBAAY,CAAC;AAAA,MACX,KAAK;AAAA,MACL,SAAS;AAAA,IACX,CAAC,GAAG;AAAA,MACF,SAAS;AAAA,IACX,CAAC;AACD,WAAO;AAAA,MACL,GAAG,aAAa,OAAO;AAAA,MACvB,GAAG;AAAA,MACH;AAAA,MACA;AAAA,MACA,UAAU,MAAM;AAAA,MAChB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS,MAAM;AAAA,MACf;AAAA,IACF;AAAA,EACF;AAAA,EACA,SAAS;AACP,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,IAAI;AACJ,UAAM,WAAW,KAAK,OAAO,UAAU,KAAK,CAAC;AAC7C,UAAM,aAAa,KAAK,WAAW,IAAI,WAAS;AAC9C,UAAI;AACJ,aAAOnC,eAAa,cAAc;AAAA,QAChC,OAAO,MAAM;AAAA,QACb,WAAW,MAAM;AAAA,QACjB,SAAS,MAAM,MAAM,eAAe;AAAA,QACpC,YAAY,MAAM;AAAA,MACpB,GAAGyB,SAAQ,QAAQ,MAAM,MAAM,IAAI,UAAQzB,eAAa,SAAS;AAAA,QAC/D,YAAY,KAAK;AAAA,QACjB,SAAS,KAAK;AAAA,QACd,OAAO,KAAK;AAAA,MACd,GAAG;AAAA,QACD,SAAS,MAAM,KAAK,MAAM,eAAe;AAAA,MAC3C,CAAC,CAAC,CAAC,IAAI,QAAQ;AAAA,QACb,SAAS,MAAM,CAAC,KAAK;AAAA,MACvB,CAAC;AAAA,IACH,CAAC;AACD,WAAOA,eAAa,cAAc;AAAA,MAChC,eAAe;AAAA,MACf,SAAS,CAAC,YAAY,KAAK,SAAS;AAAA,QAClC,sBAAsB,KAAK;AAAA,MAC7B,CAAC;AAAA,MACD,SAAS,KAAK;AAAA,MACd,QAAQ,KAAK;AAAA,MACb,WAAW,KAAK;AAAA,MAChB,cAAc,KAAK;AAAA,MACnB,gBAAgB,KAAK;AAAA,MACrB,gBAAgB,QAAM;AACpB,aAAK,MAAM;AAAA,MACb;AAAA,IACF,GAAG;AAAA,MACD,GAAG,KAAK;AAAA,MACR,SAAS,MAAMA,eAAa,OAAO;AAAA,QACjC,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,qBAAqB,KAAK;AAAA,QAC1B,YAAY;AAAA,QACZ,gBAAgB;AAAA,QAChB,cAAc,KAAK;AAAA,QACnB,uBAAuB,YAAU,KAAK,aAAa;AAAA,QACnD,OAAO,KAAK,QAAQ;AAAA,QACpB,WAAW,KAAK;AAAA,MAClB,GAAG;AAAA,QACD,SAAS,MAAM,CAACA,eAAa,OAAO;AAAA,UAClC,SAAS,CAAC,kBAAkB,KAAK,OAAO;AAAA,QAC1C,GAAG,CAAC,UAAU,UAAU,CAAC,CAAC;AAAA,QAC1B,WAAW,CAAC;AAAA,UACV;AAAA,UACA;AAAA,QACF,MAAM,CAACA,eAAa,eAAe;AAAA,UACjC,SAAS;AAAA,UACT,OAAO,KAAK,SAAS;AAAA,UACrB,WAAW,gBAAgB;AAAA,UAC3B,SAAS,gBAAgB;AAAA,UACzB,kBAAkB,KAAK;AAAA,UACvB,gBAAgB,KAAK;AAAA,UACrB,QAAQ,KAAK;AAAA,UACb,WAAW,KAAK;AAAA,UAChB,cAAc,KAAK;AAAA,UACnB,WAAW,QAAM;AACf,gBAAI,KAAK,gBAAgB,CAAC,QAAQ,UAAU;AAC1C,kBAAI,IAAI,GAAG;AACX,oBAAM,QAAQ;AACd,kBAAI,MAAM;AACV,qBAAO,QAAQ,GAAG;AAChB,oBAAI,EAAE,UAAU,SAAS,iBAAiB,GAAG;AAC3C,wBAAM;AACN;AAAA,gBACF;AACA,oBAAI,EAAE;AAAA,cACR;AACA,sBAAQ,aAAa,MAAM,IAAI,EAAE,EAAE,KAAK;AAAA,YAC1C;AAAA,UACF;AAAA,QACF,GAAG;AAAA,UACD,GAAG,KAAK;AAAA,UACR,SAAS,MAAM,CAAC+B,iBAAgB/B,eAAa,UAAU;AAAA,YACrD,SAAS;AAAA,YACT,QAAQ,KAAK;AAAA,YACb,YAAY,KAAK;AAAA,YACjB,YAAY,KAAK;AAAA,YACjB,YAAY,KAAK;AAAA,YACjB,WAAW,YAAY;AAAA,YACvB,UAAU,YAAY;AAAA,YACtB,uBAAuB,YAAU,KAAK,eAAe;AAAA,UACvD,GAAG,CAAC,cAAc,IAAI,UAAQ;AAC5B,mBAAOA,eAAa,UAAU;AAAA,cAC5B,SAAS,KAAK;AAAA,cACd,OAAO,KAAK;AAAA,YACd,GAAG,CAAC,KAAK,kBAAkB,CAAC,CAAC;AAAA,UAC/B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,eAAe,KAAK,YAAY,CAAC,CAAC,GAAGA,eAAa,OAAO;AAAA,YAC/D,SAAS;AAAA,UACX,GAAG,CAACA,eAAa,OAAO;AAAA,YACtB,SAAS;AAAA,UACX,GAAG,CAAC,KAAK,iBAAiB,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAAA,UAC5C,cAAc,MAAM;AAClB,gBAAI,gBAAgB,iBAAiB;AACnC,qBAAOA,eAAa,SAAS;AAAA,gBAC3B,OAAO;AAAA,gBACP,QAAQ,KAAK,KAAK,KAAK,QAAQ;AAAA,gBAC/B,WAAW;AAAA,gBACX,WAAW,QAAM;AACf,qBAAG,gBAAgB;AACnB,kCAAgB,UAAU;AAAA,gBAC5B;AAAA,cACF,GAAG,IAAI;AAAA,YACT;AACA,gBAAI,KAAK,aAAa,KAAK,YAAY,SAAS,MAAM;AACpD,qBAAOA,eAAa,SAAS;AAAA,gBAC3B,OAAO;AAAA,gBACP,QAAQ,KAAK,KAAK,KAAK,OAAO;AAAA,gBAC9B,WAAW;AAAA,gBACX,WAAW,QAAM;AACf,qBAAG,gBAAgB;AACnB,uBAAK,YAAY,MAAM;AAAA,gBACzB;AAAA,cACF,GAAG,IAAI;AAAA,YACT;AACA,mBAAOA,eAAa,OAAO;AAAA,cACzB,OAAO;AAAA,cACP,QAAQ,KAAK;AAAA,cACb,UAAU,KAAK,aAAa,MAAM;AAAA,YACpC,GAAG,IAAI;AAAA,UACT;AAAA,QACF,CAAC,CAAC;AAAA,MACJ,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF,CAAC;;;ACzVD,SAAS,eAAeA,gBAAc,oBAAoBD,2BAAyB;AAEnF,SAAS,mBAAAE,yBAAuB;AAChC,SAAS,yBAAyB,qBAAqB,0BAAAiC,+BAA8B;AACrF,SAAS,eAAAhC,qBAAmB;AAM5B,IAAM;AAAA,EACJ,OAAAJ;AAAA,EACA,OAAAU;AACF,IAAI,wBAAwB;AAC5B,IAAMD,SAAQL,cAAY;AAC1B,SAAS,uBAAuB;AAC9B,SAAO;AAAA,IACL,GAAGJ;AAAA,IACH,GAAGoC,wBAAuB;AAAA,IAC1B,GAAG,wBAAwB;AAAA,IAC3B,GAAG,gCAAgC;AAAA,IACnC,GAAG,mBAAmB;AAAA,IACtB,GAAG3B,OAAM;AAAA,EACX;AACF;AACO,IAAM,aAAaN,kBAAgB;AAAA,EACxC,MAAM;AAAA,EACN,OAAO,qBAAqB;AAAA,EAC5B,OAAAO;AAAA,EACA,OAAAD;AAAA,EACA,MAAMT,SAAO,KAAK;AAChB,UAAM,eAAe,oBAAoBA,SAAO,KAAK;AAAA,MACnD,UAAU;AAAA,IACZ,CAAC;AACD,UAAM,UAAU,WAAWA,OAAK;AAChC,oBAAgBA,OAAK;AACrB,WAAO;AAAA,MACL,GAAG,aAAa,OAAO;AAAA,MACvB,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EACA,SAAS;AACP,WAAOE,eAAa,cAAc;AAAA,MAChC,eAAe,KAAK;AAAA,MACpB,WAAW,KAAK,YAAY;AAAA,MAC5B,cAAc,KAAK;AAAA,MACnB,SAAS,CAAC,gBAAgB,KAAK,OAAO;AAAA,MACtC,SAAS,KAAK;AAAA,MACd,QAAQ,KAAK;AAAA,MACb,WAAW,KAAK;AAAA,MAChB,gBAAgB,KAAK;AAAA,MACrB,gBAAgB,QAAM;AACpB,aAAK,MAAM;AAAA,MACb;AAAA,IACF,GAAG;AAAA,MACD,GAAG,KAAK;AAAA,MACR,SAAS,MAAMA,eAAa,eAAe;AAAA,QACzC,SAAS;AAAA,QACT,kBAAkB,KAAK;AAAA,QACvB,gBAAgB,KAAK;AAAA,QACrB,QAAQ,KAAK;AAAA,MACf,GAAG;AAAA,QACD,GAAG,KAAK;AAAA,QACR,SAAS,MAAM,KAAK,iBAAiB,mBAAmB;AAAA,UACtD,OAAO;AAAA,QACT,CAAC;AAAA,MACH,CAAC;AAAA,MACD,aAAa,MAAM;AACjB,cAAM;AAAA,UACJ;AAAA,QACF,IAAI;AACJ,YAAI,CAAC;AAAe;AACpB,eAAOA,eAAa,cAAc,eAAe,IAAI;AAAA,MACvD;AAAA,IACF,CAAC;AAAA,EACH;AACF,CAAC;;;AC5ED,SAAS,eAAeA,gBAAc,cAAcG,eAAa,oBAAoBJ,2BAAyB;AAC9G,SAAS,mBAAAE,yBAAuB;AAEzB,IAAM,eAAeA,kBAAgB;AAAA,EAC1C,MAAM;AAAA,EACN,OAAO;AAAA,IACL,GAAG;AAAA,IACH,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,GAAG;AAAA,IACH,qBAAqB,WAAS;AAAA,IAC9B,QAAQ,WAAS;AAAA,EACnB;AAAA,EACA,MAAMH,SAAO,KAAK;AAChB,UAAM,WAAW,WAAS;AACxB,UAAI,SAAS;AAAM,eAAO;AAC1B,aAAO,OAAO,KAAK;AAAA,IACrB;AACA,UAAM,WAAW,WAAS;AACxB,UAAI,SAAS;AAAM,eAAO;AAC1B,UAAI,OAAO,UAAU;AAAU,eAAO;AACtC,UAAI,MAAM,KAAK,MAAM;AAAI,eAAO;AAChC,aAAO,OAAO,KAAK;AAAA,IACrB;AACA,WAAO,MAAM;AACX,aAAOE,eAAa,YAAYG,cAAY,IAAI,OAAO;AAAA,QACrD,QAAQ;AAAA,QACR,cAAc,SAASL,QAAM,UAAU;AAAA,QACvC,uBAAuB,WAAS;AAC9B,cAAI,KAAK,qBAAqB,SAAS,KAAK,CAAC;AAAA,QAC/C;AAAA,QACA,YAAY,WAAS;AACnB,cAAI,KAAK,UAAU,SAAS,KAAK,CAAC;AAAA,QACpC;AAAA,MACF,CAAC,GAAG,IAAI,KAAK;AAAA,IACf;AAAA,EACF;AACF,CAAC;;;ACzCD,SAAS,eAAeE,gBAAc,oBAAoBD,2BAAyB;AAEnF,SAAS,mBAAAE,yBAAuB;AAChC,SAAS,wBAAwB,oBAAoB,0BAAAiC,+BAA8B;AACnF,SAAS,eAAAhC,qBAAmB;AAM5B,IAAM;AAAA,EACJ,OAAAJ;AAAA,EACA,OAAAU;AACF,IAAI,uBAAuB;AAC3B,IAAMD,UAAQL,cAAY;AACnB,IAAM,YAAYD,kBAAgB;AAAA,EACvC,MAAM;AAAA,EACN,OAAO;AAAA,IACL,GAAGH;AAAA,IACH,GAAGoC,wBAAuB;AAAA,IAC1B,GAAG,wBAAwB;AAAA,IAC3B,GAAG,gCAAgC;AAAA,IACnC,GAAG,mBAAmB;AAAA,IACtB,GAAG3B,QAAM;AAAA,EACX;AAAA,EACA,OAAAC;AAAA,EACA,MAAMV,SAAO,KAAK;AAChB,UAAM,MAAM,OAAO;AACnB,UAAM,eAAe,mBAAmBA,SAAO,KAAK;AAAA,MAClD,UAAU;AAAA,MACV,aAAa,IAAI;AAAA,IACnB,CAAC;AACD,UAAM,UAAU,WAAWA,OAAK;AAChC,oBAAgBA,OAAK;AACrB,WAAO;AAAA,MACL,GAAG,aAAa,OAAO;AAAA,MACvB,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EACA,SAAS;AACP,WAAOE,eAAa,cAAc;AAAA,MAChC,eAAe,KAAK;AAAA,MACpB,WAAW,KAAK,YAAY;AAAA,MAC5B,SAAS,CAAC,cAAc,KAAK,OAAO;AAAA,MACpC,SAAS,KAAK;AAAA,MACd,QAAQ,KAAK;AAAA,MACb,WAAW,KAAK;AAAA,MAChB,cAAc,KAAK;AAAA,MACnB,gBAAgB,KAAK;AAAA,MACrB,gBAAgB,QAAM;AACpB,aAAK,MAAM;AAAA,MACb;AAAA,IACF,GAAG;AAAA,MACD,GAAG,KAAK;AAAA,MACR,SAAS,MAAMA,eAAa,eAAe;AAAA,QACzC,SAAS;AAAA,QACT,QAAQ,KAAK;AAAA,QACb,cAAc;AAAA,QACd,kBAAkB,KAAK;AAAA,QACvB,gBAAgB,KAAK;AAAA,MACvB,GAAG;AAAA,QACD,GAAG,KAAK;AAAA,QACR,SAAS,MAAM,KAAK,gBAAgB,mBAAmB;AAAA,UACrD,OAAO;AAAA,QACT,CAAC;AAAA,MACH,CAAC;AAAA,MACD,aAAa,MAAM;AACjB,cAAM;AAAA,UACJ;AAAA,QACF,IAAI;AACJ,YAAI,CAAC;AAAe;AACpB,eAAOA,eAAa,cAAc,eAAe,IAAI;AAAA,MACvD;AAAA,IACF,CAAC;AAAA,EACH;AACF,CAAC;;;AC3ED,SAAS,eAAeA,sBAAoB;AAC5C,SAAS,mBAAAC,mBAAiB,YAAAN,kBAAgB;AAC1C,SAAS,oBAAoB,eAAe;AAC5C,SAAS,eAAAO,qBAAmB;AAC5B,SAAS,2BAA2B;AAGpC,IAAM;AAAA,EACJ,OAAAJ;AAAA,EACA,OAAAU;AACF,IAAI,mBAAmB;AAAA,EACrB,UAAU;AACZ,CAAC;AACM,IAAM,YAAYN,cAAY;AAC9B,SAAS,mBAAmB;AACjC,SAAO;AAAA,IACL,GAAGJ;AAAA,IACH,GAAG,mBAAmB;AAAA,IACtB,GAAG,UAAU;AAAA;AAAA,EAEf;AACF;AAEO,IAAM,QAAQG,kBAAgB;AAAA,EACnC,MAAM;AAAA,EACN,OAAO,iBAAiB;AAAA,EACxB,OAAAO;AAAA,EACA,OAAO;AAAA,EACP,MAAMV,SAAO,KAAK;AAChB,UAAM,MAAM,OAAO;AACnB,UAAM,cAAc,QAAQA,SAAO,KAAK;AAAA,MACtC,UAAU;AAAA,MACV,iBAAiB,QAAM;AACrB,cAAM,WAAW,oBAAoB;AACrC,eAAO,SAAS,UAAU,IAAI;AAAA,UAC5B,QAAQ,IAAI,gCAAgC;AAAA,QAC9C,CAAC;AAAA,MACH;AAAA,IACF,CAAC;AACD,UAAM,UAAUH,WAAS,MAAM;AAC7B,aAAO,CAAC,UAAU;AAAA,QAChB,iBAAiB,YAAY;AAAA,QAC7B,mBAAmB,YAAY;AAAA,QAC/B,oBAAoB,YAAY;AAAA,QAChC,sBAAsB,YAAY;AAAA,QAClC,mBAAmB,YAAY;AAAA,QAC/B,mBAAmB,YAAY;AAAA,MACjC,CAAC;AAAA,IACH,CAAC;AACD,eAAWG,OAAK;AAChB,WAAO;AAAA,MACL,GAAG,YAAY,OAAO;AAAA,MACtB;AAAA,IACF;AAAA,EACF;AAAA,EACA,SAAS;AACP,UAAM;AAAA,MACJ;AAAA,IACF,IAAI;AACJ,WAAOE,eAAa,QAAQ;AAAA,MAC1B,OAAO,KAAK,QAAQ;AAAA,MACpB,SAAS,KAAK;AAAA,MACd,UAAU,KAAK;AAAA,MACf,cAAc,KAAK;AAAA,MACnB,YAAY,KAAK;AAAA,IACnB,GAAG,CAAC,KAAK,OAAO,UAAU,IAAI,CAAC,CAAC;AAAA,EAClC;AACF,CAAC;;;ACnED,SAAS,eAAeA,gBAAc,WAAWwB,iBAAgB;AAEjE,SAAS,mBAAAvB,mBAAiB,OAAAgB,MAAK,YAAAtB,YAAU,SAAAuB,QAAO,mBAAAkB,kBAAiB,kBAAAC,iBAAgB,aAAAC,kBAAiB;AAElG,SAAS,eAAApC,qBAAmB;;;ACJ5B,SAAS,WAAWsB,WAAU,eAAexB,sBAAoB;AAEjE,SAAS,mBAAAC,mBAAiB,YAAAN,kBAAgB;AAE1C,SAAS,cAAA4C,mBAAkB;AAC3B,SAASd,SAAQ,GAAG;AAClB,SAAO,OAAO,MAAM,cAAc,OAAO,UAAU,SAAS,KAAK,CAAC,MAAM,qBAAqB,CAACD,UAAS,CAAC;AAC1G;AACO,IAAM,OAAOvB,kBAAgB;AAAA,EAClC,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,IACA,QAAQ;AAAA,IACR,IAAI,CAAC,QAAQ,MAAM;AAAA,IACnB,MAAM,CAAC,QAAQ,QAAQ;AAAA,EACzB;AAAA,EACA,OAAO;AAAA,IACL,OAAO,QAAM;AAAA,EACf;AAAA,EACA,MAAMH,SAAO,KAAK;AAChB,UAAM,aAAaH,WAAS,OAAO;AAAA,MACjC,iBAAiBG,QAAM;AAAA,IACzB,EAAE;AACF,UAAM,eAAe;AAAA,MACnB,OAAOA,QAAM;AAAA,MACb,QAAQA,QAAM;AAAA,IAChB;AACA,QAAI,OAAO,YAAY;AACvB,WAAO,MAAM;AACX,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,IAAIA;AACJ,YAAM,UAAU,CAAC,SAAS,WAAW,KAAK;AAC1C,YAAM,WAAWE,eAAa,QAAQ;AAAA,QACpC,SAAS;AAAA,MACX,GAAG,CAAC,QAAQ,mBAAmB,QAAQ,MAAM;AAAA,QAC3C,OAAO;AAAA,MACT,CAAC,GAAG,IAAI,MAAM,UAAU,CAAC,CAAC;AAC1B,UAAI,IAAI;AACN,cAAM,UAAU,OAAO,OAAO,WAAW,SAAY,GAAG;AACxD,eAAOA,eAAauC,aAAY;AAAA,UAC9B,SAAS;AAAA,UACT,MAAM;AAAA,UACN,WAAW;AAAA,QACb,GAAGd,SAAQ,QAAQ,IAAI,WAAW;AAAA,UAChC,SAAS,MAAM,CAAC,QAAQ;AAAA,QAC1B,CAAC;AAAA,MACH,OAAO;AACL,eAAOzB,eAAa,UAAU;AAAA,UAC5B,SAAS;AAAA,UACT,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,WAAW,QAAM;AACf,gBAAI,KAAK,SAAS,EAAE;AAAA,UACtB;AAAA,QACF,GAAG,CAAC,QAAQ,CAAC;AAAA,MACf;AAAA,IACF;AAAA,EACF;AACF,CAAC;;;AD3DD,SAAS,WAAW,uBAAuB;AAC3C,SAAS,sBAAAmB,2BAA0B;AACnC,SAAS,aAAAqB,kBAAiB;AAC1B,SAASf,SAAQ,GAAG;AAClB,SAAO,OAAO,MAAM,cAAc,OAAO,UAAU,SAAS,KAAK,CAAC,MAAM,qBAAqB,CAACD,UAAS,CAAC;AAC1G;AACA,IAAMjB,UAAQL,cAAY;AACnB,IAAM,QAAQD,kBAAgB;AAAA,EACnC,MAAM;AAAA,EACN,OAAO;AAAA,IACL,YAAY;AAAA,IACZ,OAAO;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA;AAAA;AAAA;AAAA,IAIZ;AAAA;AAAA;AAAA;AAAA,IAKA,kBAAkB;AAAA,MAChB,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA;AAAA;AAAA;AAAA,IAIA,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,IAKR,WAAW;AAAA,IACX,OAAO;AAAA,IACP,gBAAgB;AAAA,IAChB,GAAGM,QAAM;AAAA,EACX;AAAA,EACA,OAAO;AAAA,IACL,qBAAqB,cAAY;AAAA,IACjC,QAAQ,cAAY;AAAA,EACtB;AAAA,EACA,OAAAA;AAAA,EACA,MAAMT,SAAO,KAAK;AAChB,UAAM,MAAM,OAAO;AACnB,UAAM,mBAAmBmB,KAAI,IAAI;AACjC,UAAM,cAAc,gBAAgB;AACpC,UAAM,QAAQA,KAAI,IAAI;AACtB,QAAI;AACJ,UAAM,UAAUA,KAAI,CAAC,CAAC;AACtB,UAAM,aAAatB,WAAS;AAAA,MAC1B,KAAK,MAAM,iBAAiB;AAAA,MAC5B,KAAK,WAAS;AACZ,YAAI,iBAAiB,UAAU,OAAO;AACpC,2BAAiB,QAAQ;AACzB,cAAI,KAAK,qBAAqB,KAAK;AACnC,cAAI,KAAK,UAAU,KAAK;AAAA,QAC1B;AAAA,MACF;AAAA,IACF,CAAC;AACD,UAAM,aAAawB,oBAAmB;AAAA,MACpC,OAAO,MAAMrB,QAAM,SAAS,IAAI,QAAQ,YAAY,EAAE;AAAA,IACxD,CAAC;AACD,UAAM,UAAUH,WAAS,MAAM,CAAC,WAAW,MAAM,SAAS,CAAC;AAC3D,UAAM,mBAAmBA,WAAS,MAAM;AACtC,YAAM,UAAU,WAAW;AAC3B,YAAM;AAAA,QACJ;AAAA,MACF,IAAIG;AACJ,aAAOA,QAAM,MAAM,IAAI,UAAQ;AAC7B,cAAM;AAAA,UACJ;AAAA,QACF,IAAI;AACJ,cAAM,SAAS,YAAY;AAC3B,YAAI;AACJ,YAAI,QAAQ;AACV,gBAAM6B,MAAK,OAAO,KAAK;AACvB,gBAAM,QAAQ,IAAI,OAAO,QAAQA,GAAE;AACnC,qBAAW;AAAA,YACT,IAAAA;AAAA,YACA;AAAA,UACF;AAAA,QACF;AACA,eAAO;AAAA,UACL,GAAG;AAAA,UACH;AAAA,UACA;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AACD,UAAM,YAAY,CAAAV,UAAO;AACvB,cAAQ,MAAM,KAAKA,KAAG;AAAA,IACxB;AAIA,aAAS,mBAAmB,UAAU;AACpC,UAAI,QAAQnB,QAAM;AAClB,UAAI,SAAS,QAAQ,UAAU,IAAI;AACjC,cAAM,YAAYA,QAAM,MAAM,CAAC;AAC/B,YAAI,CAAC;AAAW;AAChB,gBAAQ,UAAU;AAAA,MACpB;AACA,UAAI,iBAAiB,UAAU,OAAO;AACpC,yBAAiB,QAAQ;AACzB,YAAI,UAAU;AACZ,gBAAM;AAAA,YACJ;AAAA,UACF,IAAIA;AACJ,cAAI,CAAC;AAAQ;AACb,gBAAM,MAAM,iBAAiB,MAAM,KAAK,UAAQ,KAAK,UAAU,KAAK;AACpE,cAAI,CAAC;AAAK;AACV,gBAAM;AAAA,YACJ;AAAA,UACF,IAAI;AACJ,cAAI,CAAC;AAAU;AACf,gBAAM;AAAA,YACJ,IAAA6B;AAAA,YACA;AAAA,UACF,IAAI;AACJ,cAAI,MAAM,aAAa,IAAI,SAAS,aAAa;AAAU;AAC3D,cAAI,OAAOA,IAAG,UAAU,YAAY,MAAM,EAAEA,GAAE;AAAA,QAChD,WAAW,CAAC7B,QAAM,UAAUA,QAAM,eAAe,OAAO;AACtD,cAAI,KAAK,qBAAqB,KAAK;AACnC,cAAI,KAAK,UAAU,KAAK;AAAA,QAC1B;AAAA,MACF;AAAA,IACF;AACA,mBAAe,GAAG,OAAO;AACvB,YAAM;AAAA,QACJ,OAAO;AAAA,MACT,IAAI;AACJ,UAAI,iBAAiB,OAAO;AAC1B;AAAA,MACF;AACA,YAAM;AAAA,QACJ;AAAA,MACF,IAAIA;AACJ,UAAI,gBAAgB;AAClB,YAAI,SAAS,eAAe,OAAO,WAAW,KAAK;AACnD,YAAI0C,WAAU,MAAM,GAAG;AACrB,mBAAS,MAAM;AAAA,QACjB;AACA,gBAAQ,IAAI,MAAM;AAClB,YAAI,WAAW,OAAO;AACpB;AAAA,QACF;AAAA,MACF;AACA,iBAAW,QAAQ;AAAA,IACrB;AACA,aAAS,eAAe;AACtB,UAAI,cAAc;AAChB,qBAAa,OAAO;AACpB,uBAAe;AAAA,MACjB;AAAA,IACF;AACA,UAAM,UAAU,SAAO;AACrB,aAAO,QAAQ,MAAM,KAAK,OAAK,EAAE,UAAU,GAAG;AAAA,IAChD;AACA,aAAS,YAAY,UAAU;AAC7B,YAAM,MAAM,QAAQ,QAAQ;AAC5B,UAAI,CAAC;AAAK;AACV,YAAM,OAAO,IAAI;AACjB,UAAI,CAAC;AAAM;AACX,YAAM,WAAW,YAAY;AAC7B,UAAI,CAAC;AAAU;AACf,YAAM,YAAY,SAAS,SAAS,QAAQ;AAC5C,UAAI,CAAC;AAAW;AAChB,YAAM;AAAA,QACJ;AAAA,MACF,IAAI1C;AACJ,YAAM,UAAU,KAAK;AACrB,YAAM,WAAW,KAAK;AACtB,YAAM,WAAW,UAAU;AAC3B,UAAI,aAAa;AACjB,UAAI,cAAc;AAClB,YAAM;AAAA,QACJ;AAAA,QACA,aAAa;AAAA,MACf,IAAI;AACJ,mBAAa,KAAK,IAAI,aAAa,SAAS,CAAC;AAC7C,oBAAc,KAAK,IAAI,WAAW,gBAAgB,YAAY,CAAC;AAC/D,UAAI,aAAa;AAAG,sBAAc;AAClC,UAAI,cAAc;AAAG,uBAAe;AACpC,UAAI,gBAAgB;AACpB,UAAI,cAAc,GAAG;AACnB,wBAAgB;AAAA,MAClB;AACA,UAAI,aAAa,GAAG;AAClB,wBAAgB,CAAC;AAAA,MACnB;AACA,UAAI,KAAK,IAAI,aAAa,IAAI,GAAG;AAC/B,qBAAa;AACb,uBAAe,SAAS,SAAS,GAAG,eAAe,GAAG;AAAA,UACpD,UAAU;AAAA,QACZ,CAAC;AAAA,MACH;AAAA,IACF;AACA,IAAAoB,OAAM,MAAMpB,QAAM,YAAY,MAAM,mBAAmB,IAAI,CAAC;AAC5D,IAAAoB,OAAM,MAAMpB,QAAM,OAAO,MAAM,mBAAmB,GAAG;AAAA,MACnD,MAAM;AAAA,IACR,CAAC;AACD,IAAAoB,OAAM,MAAM,iBAAiB,OAAO,cAAY;AAC9C,kBAAY,QAAQ;AAAA,IACtB,CAAC;AACD,QAAI,SAAS,WAAW,WAAS;AAC/B,UAAI,CAACpB,QAAM;AAAQ;AACnB,YAAM,OAAOA,QAAM,YAAY,MAAM,WAAW,MAAM;AACtD,YAAM,MAAM,iBAAiB,MAAM,KAAK,CAAC;AAAA,QACvC;AAAA,MACF,MAAM;AACJ,eAAO,YAAY,SAAS,MAAM,aAAa;AAAA,MACjD,CAAC;AACD,UAAI,KAAK;AACP,mBAAW,QAAQ,IAAI;AAAA,MACzB;AAAA,IACF,GAAG;AAAA,MACD,WAAW;AAAA,IACb,CAAC;AACD,IAAAwC,WAAU,MAAM;AACd,kBAAY,WAAW,KAAK;AAAA,IAC9B,CAAC;AACD,IAAAF,iBAAgB,MAAM;AACpB,mBAAa;AAAA,IACf,CAAC;AACD,IAAAC,gBAAe,MAAM;AACnB,cAAQ,QAAQ,CAAC;AAAA,IACnB,CAAC;AACD,uBAAmB;AACnB,WAAO,MAAM;AACX,YAAM,QAAQ,iBAAiB;AAC/B,YAAM,WAAW,IAAI,MAAM;AAC3B,YAAM,WAAW,MAAM,IAAI,CAAC;AAAA,QAC1B;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,MAAM;AACJ,YAAI,CAAC,OAAO;AACV,kBAAQ;AAAA,QACV;AACA,cAAMI,YAAW,OAAO,UAAU,aAAa,MAAM;AAAA,UACnD;AAAA,UACA;AAAA,UACA;AAAA,QACF,CAAC,IAAI;AACL,cAAM,MAAM,YAAY,SAAS,MAAM;AACvC,eAAOzC,eAAa,MAAM;AAAA,UACxB,SAAS;AAAA,UACT,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,UAAU;AAAA,UACV,OAAO;AAAA,UACP,WAAW,OAAK;AACd,gBAAI,CAAC,EAAE,kBAAkB;AACvB,iBAAG,KAAK;AAAA,YACV;AAAA,UACF;AAAA,QACF,GAAGyB,SAAQgB,SAAQ,IAAIA,YAAW;AAAA,UAChC,SAAS,MAAM,CAACA,SAAQ;AAAA,QAC1B,CAAC;AAAA,MACH,CAAC;AACD,aAAOzC,eAAa,OAAO;AAAA,QACzB,SAAS,CAAC,UAAU,QAAQ,KAAK;AAAA,QACjC,OAAO;AAAA,MACT,GAAG,CAACA,eAAa,WAAW;AAAA,QAC1B,SAAS;AAAA,QACT,kBAAkB;AAAA,QAClB,SAAS;AAAA,QACT,OAAO;AAAA,MACT,GAAG;AAAA,QACD,SAAS,MAAM,CAACA,eAAa,OAAO;AAAA,UAClC,SAAS;AAAA,QACX,GAAG,CAAC,QAAQ,CAAC,CAAC;AAAA,MAChB,CAAC,CAAC,CAAC;AAAA,IACL;AAAA,EACF;AACF,CAAC;;;AE7RD,SAAS,WAAWwB,WAAU,eAAexB,sBAAoB;AAEjE,SAAS,mBAAAC,mBAAiB,YAAAN,kBAAgB;AAC1C,SAAS,WAAAD,gBAAe;AAGxB,SAAS+B,SAAQ,GAAG;AAClB,SAAO,OAAO,MAAM,cAAc,OAAO,UAAU,SAAS,KAAK,CAAC,MAAM,qBAAqB,CAACD,UAAS,CAAC;AAC1G;AACO,IAAM,eAAevB,kBAAgB;AAAA,EAC1C,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS,MAAM,CAAC;AAAA,IAClB;AAAA,IACA,SAAS,CAAC,QAAQ,QAAQ;AAAA,EAC5B;AAAA,EACA,MAAMH,SAAO,KAAK;AAChB,UAAM,MAAM,OAAO;AACnB,UAAM,mBAAmBH,WAAS,MAAM;AACtC,YAAM,QAAQG,QAAM,MAAM,IAAI,aAAW;AACvC,eAAO,OAAO,YAAY,WAAW;AAAA,UACnC,MAAM;AAAA,QACR,IAAI;AAAA,MACN,CAAC;AACD,aAAO,MAAM,IAAI,UAAQ;AACvB,cAAM;AAAA,UACJ;AAAA,UACA;AAAA,QACF,IAAI;AACJ,cAAM;AAAA,UACJ,WAAW,IAAI,SAAS,MAAM,EAAE,KAAK,CAAC,IAAI,SAAS,YAAY,EAAE;AAAA,QACnE,IAAI;AACJ,eAAO;AAAA,UACL,GAAG;AAAA,UACH;AAAA,UACA,MAAM,OAAO,SAAS,aAAa,KAAK,GAAG,IAAI;AAAA,QACjD;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AACD,UAAM,YAAYH,WAAS,MAAM,iBAAiB,MAAM,MAAM;AAC9D,UAAM,qBAAqB,MAAM;AAC/B,aAAO,CAACK,eAAa,KAAK;AAAA,QACxB,SAAS;AAAA,MACX,GAAG,IAAI,CAAC;AAAA,IACV;AACA,WAAO,MAAM;AACX,UAAI,UAAU,QAAQ;AAAG;AACzB,UAAI;AACJ,YAAM,cAAcF,QAAM;AAC1B,UAAI,aAAa;AACf,sBAAc,OAAO,gBAAgB,aAAa,cAAc,MAAM;AAAA,MACxE,OAAO;AACL,sBAAc;AAAA,MAChB;AACA,YAAM,WAAW,CAAC;AAClB,uBAAiB,MAAM,QAAQ,CAAC,MAAM,UAAU;AAC9C,cAAM;AAAA,UACJ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF,IAAI;AACJ,YAAI,QAAQ,GAAG;AACb,gBAAM,UAAU,YAAY,GAAG;AAC/B,cAAI,SAAS;AACX,qBAAS,KAAKE,eAAa,MAAM;AAAA,cAC/B,SAAS;AAAA,cACT,OAAO,WAAW;AAAA,YACpB,GAAG,CAAC,OAAO,CAAC,CAAC;AAAA,UACf;AAAA,QACF;AACA,cAAM,aAAa,CAAC;AACpB,YAAI,MAAM;AACR,gBAAM,QAAQ,mBAAmB,OAAO,MAAM;AAAA,YAC5C,OAAO;AAAA,UACT,CAAC;AACD,cAAI,OAAO;AACT,uBAAW,KAAK,KAAK;AAAA,UACvB;AAAA,QACF;AACA,YAAI;AAAM,qBAAW,KAAK,IAAI;AAC9B,cAAM,YAAY,KAAKA,eAAaN,UAAS;AAAA,UAC3C,SAAS;AAAA,UACT,MAAM;AAAA,UACN,oBAAoB;AAAA,QACtB,GAAG+B,SAAQ,UAAU,IAAI,aAAa;AAAA,UACpC,SAAS,MAAM,CAAC,UAAU;AAAA,QAC5B,CAAC,IAAI;AACL,iBAAS,KAAKzB,eAAa,MAAM;AAAA,UAC/B,SAAS,CAAC,uBAAuB;AAAA,YAC/B,iCAAiC;AAAA,UACnC,CAAC;AAAA,UACD,OAAO,QAAQ;AAAA,QACjB,GAAG,CAAC,SAAS,CAAC,CAAC;AAAA,MACjB,CAAC;AACD,aAAOA,eAAa,OAAO;AAAA,QACzB,SAAS;AAAA,MACX,GAAG,CAACA,eAAa,MAAM;AAAA,QACrB,SAAS;AAAA,MACX,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;AAAA,IACjB;AAAA,EACF;AACF,CAAC;;;ACxGD,SAAS,WAAWwB,YAAU,eAAexB,sBAAoB;AAEjE,SAAS,mBAAAC,mBAAiB,OAAAgB,MAAK,YAAAtB,YAAU,SAAAuB,QAAO,kBAAkB;AAClE,SAAS,uBAAAwB,4BAA2B;AACpC,SAASjB,UAAQ,GAAG;AAClB,SAAO,OAAO,MAAM,cAAc,OAAO,UAAU,SAAS,KAAK,CAAC,MAAM,qBAAqB,CAACD,WAAS,CAAC;AAC1G;AACO,IAAM,mBAAmBvB,kBAAgB;AAAA,EAC9C,MAAM;AAAA,EACN,OAAO;AAAA,IACL,YAAY;AAAA,IACZ,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS,MAAM,CAAC;AAAA,IAClB;AAAA,IACA,SAAS,CAAC,SAAS,MAAM;AAAA,EAC3B;AAAA,EACA,OAAO;AAAA,IACL,qBAAqB,gBAAc;AAAA,EACrC;AAAA,EACA,MAAMH,SAAO,KAAK;AAChB,UAAM,mBAAmBmB,KAAI,EAAE;AAC/B,UAAM,gBAAgBA,KAAI,EAAE;AAC5B,UAAM,QAAQA,KAAI,IAAI;AACtB,UAAM,YAAYA,KAAI,IAAI;AAC1B,UAAM,mBAAmBtB,WAAS,MAAMG,QAAM,MAAM,IAAI,SAAO;AAC7D,aAAO,OAAO,QAAQ,WAAW,MAAM,IAAI;AAAA,IAC7C,CAAC,CAAC;AACF,UAAM,aAAaH,WAAS;AAAA,MAC1B,KAAK,MAAM,iBAAiB;AAAA,MAC5B,KAAK,aAAW;AACd,YAAI,iBAAiB,UAAU,SAAS;AACtC,2BAAiB,QAAQ;AACzB,cAAI,KAAK,qBAAqB,OAAO;AAAA,QACvC;AAAA,MACF;AAAA,IACF,CAAC;AACD,UAAM,qBAAqBA,WAAS,MAAM;AACxC,UAAI;AAAA,QACF,SAAS;AAAA,MACX,IAAIG;AACJ,UAAI,aAAa;AAAM,mBAAW,CAAC;AACnC,UAAI,CAAC;AAAU;AACf,aAAO;AAAA,QACL,GAAG;AAAA,MACL;AAAA,IACF,CAAC;AACD,aAAS,OAAO,SAAS;AACvB,YAAM,UAAU4C,qBAAoB;AACpC,YAAM;AAAA,QACJ,OAAO;AAAA,MACT,IAAI;AACJ,UAAI,QAAQ;AACV,gBAAQ,UAAU,QAAQ,OAAO;AAAA,MACnC;AAAA,IACF;AACA,aAAS,QAAQ;AACf,YAAM,KAAK,MAAM;AACjB,UAAI,CAAC,IAAI;AACP,cAAM,IAAI,MAAM,iBAAiB;AAAA,MACnC;AACA,aAAO;AAAA,IACT;AACA,IAAAxB,OAAM,MAAMpB,QAAM,YAAY,CAAC,OAAO,gBAAgB;AACpD,UAAI,SAAS;AAAM;AACnB,uBAAiB,QAAQ;AACzB,UAAI,eAAe;AAAM;AACzB,YAAM,QAAQ,iBAAiB;AAC/B,YAAM,QAAQ,MAAM,QAAQ,KAAK;AACjC,YAAM,cAAc,MAAM,QAAQ,WAAW;AAC7C,UAAI,aAAa;AACjB,UAAI,UAAU,MAAM,gBAAgB,IAAI;AACtC,YAAI,QAAQ;AAAa,uBAAa;AACtC,YAAI,QAAQ;AAAa,uBAAa;AAAA,MACxC;AACA,oBAAc,QAAQ;AAAA,IACxB,GAAG;AAAA,MACD,WAAW;AAAA,IACb,CAAC;AACD,IAAAoB,OAAM,YAAY,MAAM;AACtB,YAAM,kBAAkB,mBAAmB;AAC3C,UAAI,mBAAmBpB,QAAM,cAAc,MAAM;AAC/C,eAAO,eAAe;AAAA,MACxB;AAAA,IACF,CAAC;AACD,WAAO,MAAM;AACX,YAAM,UAAU,WAAW;AAC3B,YAAM,WAAW,IAAI,MAAM,UAAU,KAAK,CAAC;AAC3C,YAAM,cAAc,IAAI,MAAM,OAAO;AACrC,UAAI,aAAa;AACf,iBAAS,KAAKE,eAAa,OAAO;AAAA,UAChC,SAAS;AAAA,UACT,OAAO;AAAA,QACT,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;AAAA,MACzB;AACA,aAAOA,eAAa,OAAO;AAAA,QACzB,SAAS;AAAA,QACT,OAAO;AAAA,MACT,GAAG,CAACA,eAAa,OAAO;AAAA,QACtB,SAAS;AAAA,QACT,OAAO;AAAA,MACT,GAAG,IAAI,GAAGA,eAAa,YAAY;AAAA,QACjC,QAAQ,cAAc;AAAA,QACtB,iBAAiB,QAAM;AACrB,gBAAM,EAAE,MAAM,SAAS,GAAG,eAAe;AAAA,QAC3C;AAAA,QACA,WAAW,QAAM;AACf,gBAAM,EAAE,MAAM,SAAS,GAAG,eAAe;AAAA,QAC3C;AAAA,QACA,gBAAgB,MAAM;AACpB,gBAAM,EAAE,MAAM,SAAS;AAAA,QACzB;AAAA,QACA,oBAAoB,MAAM;AACxB,gBAAM,EAAE,MAAM,SAAS;AAAA,QACzB;AAAA,QACA,oBAAoB,MAAM;AACxB,gBAAM,EAAE,MAAM,SAAS;AAAA,QACzB;AAAA,MACF,GAAGyB,UAAQ,QAAQ,IAAI,WAAW;AAAA,QAChC,SAAS,MAAM,CAAC,QAAQ;AAAA,MAC1B,CAAC,CAAC,CAAC;AAAA,IACL;AAAA,EACF;AACF,CAAC;;;AC3HD,SAAS,cAActB,eAAa,mBAAmBwC,mBAAkB,eAAe3C,sBAAoB;AAE5G,SAAS,mBAAAC,mBAAiB,OAAAgB,MAAK,YAAAtB,YAAU,aAAA2C,YAAW,SAAApB,QAAO,kBAAA0B,iBAAgB,cAAAC,aAAY,WAAAC,gBAAe;AAOtG,SAAS,2BAAAC,gCAA+B;AACxC,SAAS,oBAAoB;AAC7B,SAAS,qBAAAC,0BAAyB;AAElC,IAAM,sBAAsB;AAAA,EAC1B,SAAS;AAAA,EACT,WAAW;AAAA,EACX,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,QAAQ,CAAC,GAAG,IAAI,IAAI,IAAI,GAAG;AAAA,EAC3B,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB,aAAa,CAAC;AAChB;AACO,SAAS,2BAA2B,UAAU;AACnD,SAAO,OAAO,qBAAqB,QAAQ;AAC3C,MAAI,CAAC,SAAS,gBAAgB,SAAS,eAAe;AACpD,wBAAoB,eAAe,SAAS;AAAA,EAC9C;AACF;AACA,IAAM,2BAA2B;AAC1B,IAAM,aAAa/C,kBAAgB;AAAA,EACxC,MAAM;AAAA,EACN,OAAO;AAAA;AAAA,IAEL,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS,MAAM,CAAC;AAAA,IAClB;AAAA,IACA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS,MAAM,oBAAoB;AAAA,IACrC;AAAA;AAAA;AAAA;AAAA,IAIA,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS,MAAM,oBAAoB;AAAA,IACrC;AAAA;AAAA;AAAA;AAAA,IAIA,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS,MAAM,oBAAoB;AAAA,IACrC;AAAA;AAAA;AAAA;AAAA,IAIA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS,MAAM,oBAAoB;AAAA,IACrC;AAAA;AAAA;AAAA;AAAA,IAIA,aAAa;AAAA,MACX,MAAM,CAAC,QAAQ,KAAK;AAAA,MACpB,SAAS,MAAM,oBAAoB;AAAA,IACrC;AAAA;AAAA;AAAA;AAAA,IAIA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS,MAAM,oBAAoB;AAAA,IACrC;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS,MAAM,oBAAoB;AAAA,IACrC;AAAA,IACA,eAAe;AAAA,MACb,MAAM;AAAA,MACN,SAAS,MAAM,oBAAoB;AAAA,IACrC;AAAA,IACA,gBAAgB;AAAA,MACd,MAAM;AAAA,MACN,SAAS,MAAM,oBAAoB;AAAA,IACrC;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS,MAAM,oBAAoB;AAAA,IACrC;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS,MAAM,oBAAoB;AAAA,IACrC;AAAA,IACA,mBAAmB;AAAA,MACjB,MAAM;AAAA,MACN,SAAS,MAAM,oBAAoB;AAAA,IACrC;AAAA,IACA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS,MAAM,CAAC;AAAA,IAClB;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,WAAW,CAAC,QAAQ,MAAM;AAAA;AAAA,IAE1B,eAAe,CAAC;AAAA;AAAA,IAEhB,kBAAkB,CAAC;AAAA,IACnB,aAAa,CAAC,QAAQ,QAAQ;AAAA,EAChC;AAAA,EACA,OAAO;AAAA,IACL,OAAO,eAAa;AAAA,EACtB;AAAA,EACA,MAAMH,SAAO,KAAK;AAChB,UAAM,MAAM,OAAO;AACnB,UAAM,YAAYmB,KAAI,KAAK;AAC3B,UAAM,kBAAkBA,KAAI,CAAC;AAC7B,UAAM,iBAAiBA,KAAInB,QAAM,WAAW,MAAM,CAAC;AACnD,UAAM,cAAcH,WAAS,MAAM;AACjC,YAAM;AAAA,QACJ,aAAAsD;AAAA,MACF,IAAInD;AACJ,UAAI,CAACmD;AAAa,eAAO,OAAO,CAAC;AACjC,aAAO,OAAOA,iBAAgB,aAAaA,eAAc,MAAMA;AAAA,IACjE,CAAC;AACD,UAAM,mBAAmB,IAAI,QAAQ,kBAAkB;AACvD,UAAM,oBAAoBtD,WAAS,MAAMG,QAAM,MAAM,IAAI,UAAQ,KAAKA,QAAM,OAAO,CAAC,CAAC;AACrF,UAAM,aAAaH,WAAS,MAAMG,QAAM,MAAM,WAAW,CAAC;AAC1D,UAAM,aAAaH,WAAS,MAAM;AAChC,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,MACF,IAAIG;AACJ,YAAM,MAAM,CAAC;AACb,UAAI,YAAY;AACd,YAAI,KAAK;AAAA,UACP,KAAK;AAAA,QACP,CAAC;AAAA,MACH;AACA,UAAI,KAAK,GAAG,QAAQ,OAAO,CAAC;AAAA,QAC1B;AAAA,MACF,MAAM,EAAE,OAAO,WAAW,aAAa,OAAO,IAAI,OAAO,CAAC;AAC1D,aAAO;AAAA,IACT,CAAC;AACD,UAAM,oBAAoBH,WAAS,MAAM;AACvC,UAAI;AAAA,QACF;AAAA,MACF,IAAIG;AACJ,UAAI,CAAC,aAAa;AAChB,eAAO,CAAC;AAAA,MACV;AACA,UAAI,CAAC,MAAM,QAAQ,WAAW,GAAG;AAC/B,sBAAc,CAAC,WAAW;AAAA,MAC5B;AACA,YAAM,SAAS,CAAC;AAChB,kBAAY,QAAQ,WAAS;AAC3B,cAAM,QAAQ,IAAI,SAAS,SAAS,KAAK;AACzC,YAAI,SAAS,QAAQ,UAAU,IAAI;AACjC;AAAA,QACF;AACA,YAAI,OAAO,UAAU,YAAY,CAAC,OAAO,KAAK,KAAK,EAAE,QAAQ;AAC3D;AAAA,QACF;AACA,eAAO,KAAK,KAAK;AAAA,MACnB,CAAC;AACD,aAAO;AAAA,IACT,CAAC;AACD,UAAM,eAAeH,WAAS,MAAM;AAClC,UAAI;AACJ,UAAI,kBAAkB,MAAM,QAAQ;AAClC,kBAAUG,QAAM,oBAAoB,IAAI,QAAQ,kBAAkB,KAAK;AAAA,MACzE,OAAO;AACL,kBAAUA,QAAM,iBAAiB,IAAI,QAAQ,eAAe,KAAK;AAAA,MACnE;AAEA,aAAO,OAAO,YAAY,aAAa,QAAQ,GAAG,IAAI;AAAA,IACxD,CAAC;AACD,UAAM,aAAaH,WAAS,MAAM,CAAC;AAAA,MACjC,8BAA8BG,QAAM;AAAA,IACtC,CAAC,CAAC;AACF,UAAM,SAAS,aAAa,IAAI;AAChC,UAAM,qBAAqBH,WAAS,MAAM;AACxC,UAAI,CAAC,UAAU;AAAO;AACtB,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,MACF,IAAIG;AACJ,YAAM,eAAe,gBAAgB;AACrC,YAAM,aAAa,cAAc,cAAc,SAAS;AACxD,UAAI,CAAC,YAAY;AACf;AAAA,MACF;AACA,aAAO;AAAA,QACL,WAAW,OAAO,qBAAqB,YAAY,CAAC,eAAe,KAAK,GAAG;AAAA,MAC7E;AAAA,IACF,CAAC;AACD,UAAM,uBAAuBH,WAAS,MAAMG,QAAM,iBAAiBA,QAAM,gBAAgBA,QAAM,gBAAgBA,QAAM,cAAc;AACnI,UAAM,qBAAqBH,WAAS,MAAM;AACxC,aAAO,IAAI,SAAS,yBAAyB,CAACG,QAAM,WAAWA,QAAM,WAAWA,QAAM,YAAYA,QAAM,UAAU,CAAC;AAAA,IACrH,CAAC;AACD,UAAM,UAAUH,WAAS,MAAM,IAAI,SAAS,SAASG,QAAM,WAAW,QAAQ,CAAC,CAAC;AAChF,UAAM,2BAA2BH,WAAS,MAAMG,QAAM,MAAM,SAASA,QAAM,iBAAiB;AAC5F,UAAM,YAAYH,WAAS;AAAA,MACzB,KAAK,MAAM;AACT,eAAO,IAAI,SAAS,SAASG,QAAM,SAAS;AAAA,MAC9C;AAAA,MACA,IAAI,OAAO;AACT,YAAI,SAAS,UAAU;AAAA,UACrB,CAACA,QAAM,SAAS,GAAG,SAAS;AAAA,UAC5B,CAACA,QAAM,SAAS,GAAG;AAAA,QACrB,CAAC;AAAA,MACH;AAAA,IACF,CAAC;AACD,UAAM,YAAYH,WAAS,MAAM,CAACG,QAAM,eAAeA,QAAM,cAAc,CAAC;AAC5E,UAAM,gBAAgBH,WAAS,MAAMG,QAAM,OAAO,SAAS,CAAC;AAC5D,UAAM,aAAaH,WAAS;AAAA,MAC1B,KAAK,MAAM;AACT,cAAM,QAAQ,IAAI,SAAS,SAASG,QAAM,UAAU;AACpD,YAAI,OAAO,UAAU,YAAY,CAAC,UAAU,MAAM,SAAS,KAAK,GAAG;AACjE;AAAA,QACF;AACA,eAAO;AAAA,MACT;AAAA,MACA,IAAI,OAAO;AACT,YAAI,SAAS,UAAU;AAAA,UACrB,CAACA,QAAM,UAAU,GAAG,SAAS;AAAA,UAC7B,CAACA,QAAM,SAAS,GAAG;AAAA,QACrB,CAAC;AAAA,MACH;AAAA,IACF,CAAC;AACD,UAAM,YAAYH,WAAS,OAAO,QAAQ,QAAQ,KAAK,SAAS,KAAK;AACrE,UAAM,WAAWA,WAAS;AAAA,MACxB,KAAK,MAAM,IAAI,SAAS,SAASG,QAAM,YAAY,QAAQA,QAAM,YAAY;AAAA,MAC7E,KAAK,WAAS;AACZ,cAAM,OAAO,KAAK,MAAM,UAAU,QAAQ,KAAK,IAAI;AACnD,YAAI,SAAS,UAAU;AAAA,UACrB,CAACA,QAAM,UAAU,GAAG;AAAA,UACpB,CAACA,QAAM,SAAS,GAAG;AAAA,QACrB,CAAC;AAAA,MACH;AAAA,IACF,CAAC;AACD,UAAM,gBAAgBH,WAAS,MAAM;AACnC,YAAM;AAAA,QACJ;AAAA,MACF,IAAIG;AACJ,YAAM,SAAS,SAAS;AACxB,UAAI,CAAC;AAAO,eAAO;AACnB,aAAO,KAAK,KAAK,QAAQ,MAAM;AAAA,IACjC,CAAC;AACD,UAAM,YAAYH,WAAS,MAAMG,QAAM,MAAM,MAAM;AACnD,UAAM,WAAWH,WAAS,MAAM,WAAW,UAAUG,QAAM,aAAa;AAExE,UAAM,cAAcH,WAAS,MAAM;AACjC,UAAI,OAAO,IAAI,KAAK,MAAM;AAC1B,UAAI,OAAO,SAAS,UAAU;AAC5B,cAAM,OAAO;AACb,eAAO,SAAO;AACZ,iBAAO,IAAI;AAAA,YACT;AAAA,YACA,QAAQ,SAAS,QAAQ,MAAM;AAAA,UACjC,CAAC;AAAA,QACH;AAAA,MACF;AACA,aAAO;AAAA,IACT,CAAC;AACD,UAAM,qBAAqBA,WAAS,MAAM;AACxC,YAAM;AAAA,QACJ;AAAA,MACF,IAAI,eAAe;AACnB,aAAO,SAAS,KAAK,SAAS,kBAAkB,MAAM;AAAA,IACxD,CAAC;AACD,UAAM,mBAAmBA,WAAS,MAAM,eAAe,MAAM,WAAW,kBAAkB,MAAM,MAAM;AACtG,aAAS,QAAQ,UAAU;AACzB,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,MACF,IAAI;AACJ,WAAK,SAAS,UAAa,UAAU,UAAU,UAAU,UAAU,UAAa,WAAW,UAAU;AAAQ;AAC7G,YAAM,UAAU,CAAC;AACjB,UAAI,MAAM;AACR,gBAAQG,QAAM,SAAS,IAAI;AAAA,MAC7B;AACA,UAAI,OAAO;AACT,gBAAQA,QAAM,UAAU,IAAI;AAAA,MAC9B;AACA,UAAI,SAAS,UAAU;AAAA,QACrB,GAAG;AAAA,QACH,GAAI,cAAc,QAAQ;AAAA,UACxB,CAACA,QAAM,SAAS,GAAG;AAAA,QACrB,IAAI;AAAA,MACN,CAAC;AAAA,IACH;AACA,aAAS,gBAAgB;AACvB,aAAO,QAAQ;AAAA,QACb,OAAO,WAAW,UAAUA,QAAM,gBAAgBA,QAAM,iBAAiBA,QAAM;AAAA,MACjF,CAAC;AAAA,IACH;AACA,aAAS,WAAW,KAAK;AACvB,aAAO,eAAe,MAAM,SAAS,GAAG;AAAA,IAC1C;AACA,aAAS,OAAO,KAAK;AACnB,UAAI,CAAC,eAAe,MAAM,SAAS,GAAG,GAAG;AACvC,cAAM,SAAS,eAAe,MAAM,MAAM;AAC1C,eAAO,KAAK,GAAG;AACf,cAAM,aAAa,kBAAkB;AACrC,eAAO,KAAK,CAAC,GAAG,MAAM;AACpB,gBAAM,KAAK,WAAW,QAAQ,CAAC;AAC/B,gBAAM,KAAK,WAAW,QAAQ,CAAC;AAC/B,cAAI,KAAK;AAAI,mBAAO;AACpB,cAAI,KAAK;AAAI,mBAAO;AACpB,iBAAO;AAAA,QACT,CAAC;AACD,uBAAe,QAAQ;AACvB,YAAI,KAAK,SAAS,MAAM;AAAA,MAC1B;AAAA,IACF;AACA,aAAS,YAAY;AACnB,UAAI,CAAC,iBAAiB,OAAO;AAC3B,cAAM,SAAS,kBAAkB,MAAM,MAAM;AAC7C,uBAAe,QAAQ;AACvB,YAAI,KAAK,SAAS,MAAM;AAAA,MAC1B;AAAA,IACF;AACA,aAAS,cAAc;AACrB,UAAI,eAAe,MAAM,QAAQ;AAC/B,cAAM,SAAS,CAAC;AAChB,uBAAe,QAAQ;AACvB,YAAI,KAAK,SAAS,MAAM;AAAA,MAC1B;AAAA,IACF;AACA,aAAS,SAAS,KAAK;AACrB,YAAM,SAAS,eAAe,MAAM,MAAM;AAC1C,YAAM,QAAQ,OAAO,QAAQ,GAAG;AAChC,UAAI,UAAU,IAAI;AAChB,eAAO,OAAO,OAAO,CAAC;AACtB,uBAAe,QAAQ;AACvB,YAAI,KAAK,SAAS,MAAM;AAAA,MAC1B;AAAA,IACF;AACA,aAAS,sBAAsB,QAAQ,IAAI;AACzC,YAAM;AAAA,QACJ;AAAA,MACF,IAAI;AACJ,UAAI,CAAC;AAAW;AAChB,UAAI,UAAU,UAAU,WAAW;AACjC,eAAO,cAAc;AAAA,MACvB;AACA,aAAO,QAAQ;AAAA,QACb,MAAM;AAAA,QACN,OAAO,qBAAqB;AAAA,MAC9B,CAAC;AAAA,IACH;AACA,aAAS,gBAAgB;AACvB,aAAOE,eAAa,aAAa;AAAA,QAC/B,SAAS;AAAA,QACT,SAAS;AAAA,QACT,SAAS;AAAA,QACT,cAAcF,QAAM;AAAA,QACpB,cAAc,QAAQ;AAAA,QACtB,UAAU,cAAc;AAAA,MAC1B,GAAG,IAAI;AAAA,IACT;AACA,aAAS,cAAc;AACrB,YAAM;AAAA,QACJ;AAAA,MACF,IAAIA;AACJ,YAAM,SAAS,UAAU;AACzB,YAAM,SAAS,UAAU;AACzB,aAAOE,eAAa,OAAO;AAAA,QACzB,SAAS;AAAA,MACX,GAAG,CAACA,eAAa,OAAO;AAAA,QACtB,SAAS;AAAA,MACX,GAAG,CAACA,eAAa,SAAS;AAAA,QACxB,SAAS;AAAA,MACX,GAAG,CAAC,UAAK,sBAAY,SAAS,mBAAS,SAAS,iCAAa,CAAC,CAAC,CAAC,GAAGA,eAAa,OAAO;AAAA,QACrF,SAAS;AAAA,MACX,GAAG,CAACA,eAAa,QAAQ;AAAA,QACvB,SAAS;AAAA,MACX,GAAG,CAAC2C,kBAAiB,2BAA2B,CAAC,CAAC,GAAG3C,eAAa,SAAS;AAAA,QACzE,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,cAAc;AAAA,QACd,YAAY,mBAAmB;AAAA,QAC/B,SAASF,QAAM,OAAO,IAAI,WAAS;AACjC,iBAAO;AAAA,YACL,OAAO,GAAG;AAAA,YACV,OAAO;AAAA,UACT;AAAA,QACF,CAAC;AAAA,QACD,cAAc,SAAS;AAAA,QACvB,uBAAuB,YAAU,SAAS,QAAQ;AAAA,MACpD,GAAG,IAAI,CAAC,CAAC,GAAGE,eAAa,OAAO;AAAA,QAC9B,SAAS;AAAA,MACX,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AAAA,IACxB;AACA,aAAS,iBAAiB;AACxB,YAAM,SAAS,UAAU;AACzB,YAAM,kBAAkB,mBAAmB;AAC3C,YAAM,gBAAgB,iBAAiB;AACvC,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,MACF,IAAIF;AAGJ,YAAM,WAAW,WAAW,MAAM,IAAI,YAAU;AAC9C,cAAM;AAAA,UACJ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF,IAAI;AACJ,cAAM,iBAAiB,CAAC;AACxB,YAAI,SAAS,QAAQ,OAAO,UAAU,WAAW;AAC/C,cAAI,YAAY,OAAO,UAAU,aAAa,MAAM,GAAG,IAAI;AAC3D,cAAI,aAAa,CAAC,MAAM,QAAQ,SAAS,KAAK,OAAO,cAAc,UAAU;AAC3E,wBAAY,KAAK,UAAU,SAAS;AAAA,UACtC;AACA,yBAAe,KAAK,SAAS;AAAA,QAC/B;AACA,YAAI,QAAQ,0BAA0B;AACpC,yBAAe,KAAKE,eAAa,WAAW;AAAA,YAC1C,cAAc;AAAA,YACd,iBAAiB;AAAA,YACjB,YAAY,QAAM;AAChB,kBAAI,iBAAiB,OAAO;AAC1B,4BAAY;AAAA,cACd,OAAO;AACL,0BAAU;AAAA,cACZ;AAAA,YACF;AAAA,UACF,GAAG,IAAI,CAAC;AAAA,QACV;AAKA,cAAM,aAAa,WAAW;AAC9B,YAAI,WAAW;AACb,gBAAM,QAAQ,aAAa,SAAS,QAAQ,iBAAiB;AAC7D,yBAAe,QAAQA,eAAa,OAAO;AAAA,YACzC,SAAS;AAAA,YACT,QAAQ;AAAA,UACV,GAAG,IAAI,CAAC;AACR,yBAAe;AAAA,YAAK,mBAAmB,OAAO,YAAY,OAAO;AAAA,cAC/D,OAAO,CAAC,wEAAwE;AAAA,gBAC9E,uCAAuC;AAAA,gBACvC,wCAAwC,CAAC;AAAA,cAC3C,CAAC;AAAA,YACH,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAWD;AAAA,QACF;AAEA,cAAM,UAAU,CAAC,6BAA6B;AAAA,UAC5C,qCAAqC;AAAA,QACvC,CAAC;AACD,YAAI,OAAO;AACT,kBAAQ,KAAK,8BAA8B,OAAO;AAAA,QACpD;AACA,eAAOA,eAAa,MAAM;AAAA,UACxB,SAAS;AAAA,UACT,OAAO,OAAO;AAAA,UACd,YAAY,YAAY,IAAI;AAAA,UAC5B,WAAW,QAAM;AACf,gBAAI,CAAC;AAAW;AAChB,kCAAsB,QAAQ,EAAE;AAAA,UAClC;AAAA,QACF,GAAG,CAACA,eAAa,OAAO;AAAA,UACtB,SAAS;AAAA,QACX,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;AAAA,MACvB,CAAC;AACD,aAAOA,eAAa,SAAS;AAAA,QAC3B,SAAS;AAAA,MACX,GAAG,CAACA,eAAa,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AAAA,IAC3C;AACA,aAAS,aAAa,KAAK;AACzB,aAAO,WAAW,GAAG,IAAI,SAAS,GAAG,IAAI,OAAO,GAAG;AAAA,IACrD;AACA,aAAS,gBAAgB,SAAS;AAChC,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,MACF,IAAI;AACJ,YAAM,UAAU,WAAW;AAE3B,YAAM,WAAW,QAAQ,IAAI,YAAU;AACrC,cAAM;AAAA,UACJ;AAAA,UACA;AAAA,UACA,KAAK;AAAA,QACP,IAAI;AACJ,cAAM,WAAW,QAAQ,IAAI,MAAM;AACnC,YAAI;AACJ,YAAI,UAAU;AACZ,gBAAM,cAAc;AAAA,YAClB;AAAA,YACA;AAAA,YACA;AAAA,UACF;AACA,cAAI,YAAY,SAAS,WAAW;AACpC,cAAI,aAAa,CAAC,MAAM,QAAQ,SAAS,KAAK,OAAO,cAAc,YAAY,CAAC8C,SAAQ,SAAS,GAAG;AAClG,wBAAY,KAAK,UAAU,SAAS;AAAA,UACtC;AACA,yBAAe;AAAA,QACjB;AACA,YAAI,CAAC,cAAc;AACjB,kBAAQ,WAAW;AAAA,YACjB,KAAK,0BACH;AACE,6BAAe,CAAC9C,eAAa,WAAW;AAAA,gBACtC,cAAc;AAAA,gBACd,YAAY,QAAM;AAChB,+BAAa,GAAG;AAAA,gBAClB;AAAA,cACF,GAAG,IAAI,CAAC;AACR;AAAA,YACF;AAAA,UAyBJ;AAAA,QACF;AAEA,cAAMoB,WAAU,QAAQ;AAAA,UACtB,CAAC,8BAA8B,OAAO,GAAG;AAAA,QAC3C,IAAI;AACJ,eAAOpB,eAAa,MAAM;AAAA,UACxB,SAAS,CAAC,6BAA6BoB,QAAO;AAAA,UAC9C,OAAO,OAAO;AAAA,QAChB,GAAG,CAAC,YAAY,CAAC;AAAA,MACnB,CAAC;AACD,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,MACF,IAAI,YAAY,MAAM,OAAO;AAC7B,YAAM,aAAa,SAAS4B,mBAAkB,KAAK;AACnD,YAAM,UAAU,CAAC,6BAA6B;AAAA,QAC5C,uCAAuC;AAAA,MACzC,CAAC;AACD,UAAI,YAAY;AACd,gBAAQ,KAAK,YAAY,gBAAgB;AAAA,MAC3C;AACA,aAAOhD,eAAa,MAAMG,cAAY;AAAA,QACpC,SAAS;AAAA,QACT,OAAO;AAAA,MACT,GAAG,KAAK,GAAG,CAAC,QAAQ,CAAC;AAAA,IACvB;AACA,aAAS,UAAU;AACjB,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,MACF,IAAIL;AACJ,YAAM;AAAA,QACJ,MAAM,WAAW;AAAA,MACnB,IAAI,IAAI;AACR,YAAM,WAAW,MAAM,IAAI,UAAQ;AACjC,cAAM,MAAM,KAAK,OAAO;AACxB,cAAM,UAAU;AAAA,UACd;AAAA,UACA;AAAA,UACA,UAAU,WAAW,GAAG;AAAA,QAC1B;AACA,eAAO,SAAS,OAAO;AAAA,MACzB,CAAC;AACD,aAAOE,eAAa,SAAS;AAAA,QAC3B,SAAS;AAAA,MACX,GAAG,CAAC,QAAQ,CAAC;AAAA,IACf;AACA,IAAAkB,OAAM,MAAMpB,QAAM,YAAY,gBAAc;AAC1C,qBAAe,QAAQ,WAAW,MAAM;AAAA,IAC1C,CAAC;AACD,IAAAoB,OAAM,MAAMpB,QAAM,OAAO,WAAS;AAChC,qBAAe,QAAQ,eAAe,MAAM,OAAO,SAAO;AACxD,eAAO,kBAAkB,MAAM,SAAS,GAAG;AAAA,MAC7C,CAAC;AAAA,IACH,CAAC;AACD,IAAAwC,WAAU,MAAM;AACd,gBAAU,QAAQ;AAAA,IACpB,CAAC;AACD,WAAO,MAAM;AACX,YAAM,UAAU,WAAW;AAC3B,YAAM,aAAa,cAAc;AACjC,aAAOtC,eAAa,OAAO;AAAA,QACzB,SAAS,CAAC,gBAAgB,WAAW,KAAK;AAAA,MAC5C,GAAG,CAAC,CAAC,WAAW,cAAc,yBAAyB,SAASA,eAAa,OAAO;AAAA,QAClF,SAAS;AAAA,MACX,GAAG,CAAC,YAAY,CAAC,CAAC,GAAGA,eAAa,OAAO;AAAA,QACvC,SAAS;AAAA,MACX,GAAG,CAAC,UAAUA,eAAa,OAAO;AAAA,QAChC,SAAS;AAAA,MACX,GAAG,CAAC,aAAa,KAAK,CAAC,IAAIA,eAAa,QAAQ;AAAA,QAC9C,SAAS;AAAA,QACT,SAAS,mBAAmB;AAAA,MAC9B,GAAG;AAAA,QACD,SAAS,MAAM,CAACA,eAAa,OAAO;AAAA,UAClC,SAAS;AAAA,QACX,GAAG,CAACA,eAAa,SAAS;AAAA,UACxB,SAAS;AAAA,QACX,GAAG,CAAC,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAAA,MACrC,CAAC,GAAGA,eAAa6C,aAAY;AAAA,QAC3B,QAAQ;AAAA,MACV,GAAG;AAAA,QACD,SAAS,MAAM,CAAC,mBAAmB,SAAS7C,eAAa,OAAO;AAAA,UAC9D,SAAS;AAAA,QACX,GAAG,CAACA,eAAa,mCAAmB;AAAA,UAClC,iBAAiB;AAAA,QACnB,GAAG,IAAI,CAAC,CAAC,CAAC;AAAA,MACZ,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,cAAc4C,gBAAe5C,eAAa,OAAO;AAAA,QACjE,SAAS;AAAA,MACX,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC+C,yBAAwB,CAAC;AAAA,QAC7C;AAAA,MACF,MAAM;AACJ,wBAAgB,QAAQ;AAAA,MAC1B,CAAC,CAAC,CAAC,CAAC,CAAC;AAAA,IACP;AAAA,EACF;AACF,CAAC;;;ACxpBD,SAAS,eAAe/C,gBAAc,oBAAoBD,2BAAyB;AACnF,SAAS,mBAAAE,yBAAuB;AAChC,SAAS,kBAAkB;AAC3B,SAAS,sBAAsB;AAC/B,SAAS,sBAAsB;AACxB,IAAM,OAAOA,kBAAgB;AAAA,EAClC,MAAM;AAAA,EACN,MAAM,QAAQ,KAAK;AACjB,mBAAe;AACf,WAAO,MAAM;AACX,aAAOD,eAAa,gBAAgB,MAAM;AAAA,QACxC,SAAS,MAAM,CAACA,eAAa,YAAY,MAAM,IAAI,KAAK,CAAC;AAAA,MAC3D,CAAC;AAAA,IACH;AAAA,EACF;AACF,CAAC;;;ACfD,SAAS,eAAeA,sBAAoB;AAE5C,SAAS,mBAAAC,mBAAiB,YAAAN,kBAAgB;AAC1C,SAAS,oBAAAc,mBAAkB,mBAAAC,wBAAuB;AAG3C,IAAM,WAAWT,kBAAgB;AAAA,EACtC,MAAM;AAAA,EACN,OAAO;AAAA,IACL,GAAG,qBAAqB;AAAA,IACxB,GAAGQ,kBAAiB;AAAA,IACpB,OAAO;AAAA,EACT;AAAA,EACA,MAAMX,SAAO,KAAK;AAChB,UAAM,MAAM,OAAO;AACnB,UAAM,YAAY,aAAaA,SAAO;AAAA,MACpC,cAAc;AAAA,IAChB,CAAC;AACD,UAAM,QAAQH,WAAS,MAAMG,QAAM,KAAK;AACxC,UAAM,QAAQY,iBAAgB;AAAA,MAC5B,OAAO,MAAMZ,QAAM;AAAA,MACnB,SAAS,MAAMA,QAAM,WAAW,IAAI,QAAQ,kBAAkB;AAAA,IAChE,CAAC;AACD,UAAM,UAAUH,WAAS,MAAM;AAC7B,aAAO,CAAC,UAAU,mBAAmB,OAAO,MAAM,aAAa,OAAO;AAAA,QACpE,oBAAoB,CAAC,MAAM,MAAM,MAAM;AAAA,QACvC,oBAAoB,MAAM;AAAA,MAC5B,CAAC;AAAA,IACH,CAAC;AACD,WAAO,MAAM;AACX,aAAOK,eAAa,OAAO;AAAA,QACzB,SAAS,CAAC,aAAa,QAAQ,KAAK;AAAA,MACtC,GAAG,CAAC,IAAI,MAAM,UAAU,CAAC,CAAC;AAAA,IAC5B;AAAA,EACF;AACF,CAAC;;;ACnCD,SAAS,eAAeA,gBAAc,cAAcG,qBAAmB;AAEvE,SAAS,mBAAAF,yBAAuB;AAOzB,IAAM,eAAeA,kBAAgB;AAAA,EAC1C,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO,CAAC;AAAA,EACR,MAAMH,SAAO,KAAK;AAChB,UAAM,MAAM,OAAO;AACnB,UAAM,QAAQ,IAAI,QAAQ,cAAc;AACxC,WAAO,MAAM;AACX,YAAM,UAAUA,QAAM,WAAW;AACjC,aAAOE,eAAa,SAASG,cAAY,IAAI,OAAO;AAAA,QAClD,WAAW;AAAA,QACX,SAAS,CAAC,gBAAgB;AAAA,MAC5B,CAAC,GAAG;AAAA,QACF,SAAS,MAAM,CAAC,IAAI,MAAM,UAAU,CAAC;AAAA,MACvC,CAAC;AAAA,IACH;AAAA,EACF;AACF,CAAC;;;AC1BD,SAAS,eAAeH,sBAAoB;AAE5C,SAAS,mBAAAC,mBAAiB,YAAAN,kBAAgB;AAC1C,SAAS,qBAAAqB,0BAAyB;AAC3B,IAAM,eAAef,kBAAgB;AAAA,EAC1C,MAAM;AAAA,EACN,OAAO;AAAA,IACL,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,EACF;AAAA,EACA,MAAMH,SAAO,KAAK;AAChB,UAAM,OAAOH,WAAS,MAAMG,QAAM,IAAI;AACtC,WAAO,MAAM;AACX,YAAM,WAAWkB,mBAAkB,IAAI,OAAO,SAAS;AACvD,YAAM,cAAc,CAAC,CAAC,YAAY,SAAS,SAAS;AACpD,aAAOhB,eAAa,OAAO;AAAA,QACzB,SAAS,CAAC,kBAAkB,mBAAmB,KAAK,SAAS;AAAA,UAC3D,CAAC,uBAAuB,GAAG,CAAC;AAAA,QAC9B,CAAC;AAAA,MACH,GAAG,CAAC,QAAQ,CAAC;AAAA,IACf;AAAA,EACF;AACF,CAAC;;;ACxBD,SAAS,eAAeA,sBAAoB;AAE5C,SAAS,mBAAAC,mBAAiB,YAAAN,kBAAgB;AAC1C,SAAS,eAAAO,qBAAmB;AAC5B,IAAMK,UAAQL,cAAY;AACnB,IAAM,gBAAgBD,kBAAgB;AAAA,EAC3C,MAAM;AAAA,EACN,OAAO;AAAA,IACL,KAAK;AAAA,MACH,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA,GAAGM,QAAM;AAAA,EACX;AAAA,EACA,OAAAA;AAAA,EACA,MAAMT,SAAO,KAAK;AAChB,UAAM,WAAWH,WAAS,MAAMG,QAAM,GAAG;AACzC,WAAO,MAAM;AACX,YAAM,UAAU,SAAS;AACzB,aAAOE,eAAa,SAAS;AAAA,QAC3B,SAAS;AAAA,MACX,GAAG;AAAA,QACD,SAAS,MAAM,CAAC,IAAI,MAAM,UAAU,CAAC;AAAA,MACvC,CAAC;AAAA,IACH;AAAA,EACF;AACF,CAAC;;;A3DAD,wBAAc;;;A4D1Bd,SAAS,oBAAoBD,qBAAmB,eAAeC,gBAAc,cAAcG,eAAa,mBAAmBwC,yBAAwB;AAEnJ,SAAS,gBAAgB;AACzB,SAAS,+BAA+B;AACxC,SAAS,cAAAJ,aAAY,eAAe;AACpC,SAAS,4BAA4B;AACrC,SAAS,uBAAuB;AAGhC,SAAS,uBAAAG,4BAA2B;AAMpC,IAAM,4CAA4C;AAClD,IAAM,wBAAwB;AACvB,SAAS,0BAA0B,MAAM,WAAW;AACzD,MAAI,CAAC,WAAW;AACd,WAAO;AAAA,EACT;AACA,QAAM,SAAS;AAAA,IACb,GAAG;AAAA,EACL;AACA,SAAO,QAAQ,SAAS,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAClD,QAAI,OAAO;AACT,aAAO,GAAG,IAAI;AAAA,IAChB;AAAA,EACF,CAAC;AACD,SAAO;AACT;AACO,SAAS,4BAA4B,MAAM,WAAW;AAC3D,MAAI,CAAC,WAAW;AACd,WAAO;AAAA,EACT;AACA,QAAM,SAAS;AAAA,IACb,GAAG;AAAA,EACL;AACA,SAAO,QAAQ,SAAS,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAClD,QAAI,OAAO;AACT,aAAO,GAAG,IAAI;AAAA,IAChB;AAAA,EACF,CAAC;AACD,SAAO;AACT;AACO,SAAS,uBAAuB,MAAM,WAAW;AACtD,MAAI,CAAC,WAAW;AACd,WAAO;AAAA,EACT;AACA,QAAM,SAAS;AAAA,IACb,GAAG;AAAA,IACH,YAAY,0BAA0B,KAAK,YAAY,UAAU,UAAU;AAAA,IAC3E,OAAO,4BAA4B,KAAK,OAAO,UAAU,KAAK;AAAA,EAChE;AACA,QAAM,WAAW,CAAC,cAAc,OAAO;AACvC,SAAO,QAAQ,SAAS,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAClD,QAAI,SAAS,CAAC,SAAS,SAAS,GAAG,GAAG;AACpC,aAAO,GAAG,IAAI;AAAA,IAChB;AAAA,EACF,CAAC;AACD,SAAO;AACT;AACO,IAAM,aAAN,MAAiB;AAAA,EACtB,IAAI,WAAW;AACb,WAAOA,qBAAoB;AAAA,EAC7B;AAAA,EACA,YAAY,SAAS,cAAc;AACjC,SAAK,UAAU;AACf,SAAK,UAAU;AACf,UAAM;AAAA,MACJ,qBAAqB,MAAM;AAAA,MAC3B,+BAA+B;AAAA,MAC/B,eAAe;AAAA,MACf,eAAe,MAAM;AAAA,IACvB,IAAI;AACJ,SAAK,qBAAqB;AAC1B,SAAK,+BAA+B;AACpC,SAAK,eAAe;AACpB,SAAK,eAAe;AACpB,SAAK,SAAS,QAAQ;AACtB,SAAK,WAAW,IAAI,gBAAgB;AAAA,MAClC,QAAQ,KAAK;AAAA,IACf,CAAC;AACD,SAAK,UAAU,QAAQ,WAAW;AAClC,SAAK,QAAQ;AACb,UAAM;AAAA,MACJ;AAAA,IACF,IAAI;AACJ,SAAK,eAAe;AAAA,MAClB,IAAI,CAAC;AAAA,QACH;AAAA,MACF,MAAM1C,eAAa,SAASG,cAAY,WAAW,UAAU,QAAQ,GAAG;AAAA,QACtE,SAAS,MAAM,CAACwC,kBAAiB,IAAI,CAAC;AAAA,MACxC,CAAC;AAAA,MACD,QAAQ,CAAC;AAAA,QACP;AAAA,MACF,MAAM3C,eAAa,SAASG,cAAY,WAAW,cAAc,QAAQ,GAAG;AAAA,QAC1E,SAAS,MAAM,CAACwC,kBAAiB,QAAQ,CAAC;AAAA,MAC5C,CAAC;AAAA,MACD,OAAO,CAAC;AAAA,QACN;AAAA,MACF,MAAM3C,eAAa,SAASG,cAAY,WAAW,aAAa,QAAQ,GAAG;AAAA,QACzE,SAAS,MAAM,CAACwC,kBAAiB,OAAO,CAAC;AAAA,MAC3C,CAAC;AAAA,IACH;AACA,SAAK,SAAS,aAAa,eAAe,OAAO;AACjD,SAAK,QAAQ,aAAa,eAAe,SAAS,CAAA7C,YAAS;AACzD,YAAM,UAAU,CAAC,GAAIA,SAAO,WAAW,CAAC,CAAE;AAC1C,UAAI,CAAC,QAAQ,QAAQ;AACnB,gBAAQ,KAAK,KAAK,YAAY,IAAI,CAAC;AAAA,MACrC;AACA,aAAO;AAAA,QACL,GAAGA;AAAA,QACH;AAAA,MACF;AAAA,IACF,CAAC;AACD,SAAK,UAAU,aAAa,eAAe,SAAS,CAAAA,YAAS;AAC3D,YAAM,UAAU,CAAC,GAAIA,SAAO,WAAW,CAAC,CAAE;AAC1C,UAAI,CAAC,QAAQ,QAAQ;AACnB,gBAAQ,KAAK,KAAK,YAAY,QAAQ,GAAG,KAAK,YAAY,IAAI,CAAC;AAAA,MACjE;AACA,aAAO;AAAA,QACL,GAAGA;AAAA,QACH;AAAA,MACF;AAAA,IACF,CAAC;AACD,SAAK,WAAW,aAAa,eAAe,SAAS;AACrD,SAAK,OAAO,aAAa,eAAe,KAAK;AAC7C,SAAK,QAAQ,aAAa,eAAe,WAAW;AAAA,EACtD;AAAA,EACA,UAAU,SAAS;AACjB,eAAW,OAAO,OAAO,KAAK,SAAS,OAAO;AAC9C,yBAAqB,KAAK,cAAc,CAAC;AAAA,EAC3C;AAAA,EACA,gBAAgB;AACd,WAAO,KAAK,QAAQ,cAAcyC;AAAA,EACpC;AAAA,EACA,QAAQ,KAAK;AACX,WAAO,KAAK,QAAQ,WAAW,GAAG;AAAA,EACpC;AAAA,EACA,KAAK,UAAU;AACb,WAAO,KAAK,QAAQ,MAAM,QAAQ;AAAA,EACpC;AAAA,EACA,kCAAkC;AAChC,QAAI;AAAA,MACF;AAAA,IACF,IAAI;AACJ,QAAI,OAAO,iCAAiC,YAAY;AACtD,qCAA+B,6BAA6B;AAAA,IAC9D;AACA,WAAO,gCAAgC;AAAA,EACzC;AAAA,EACA,kBAAkB;AAChB,UAAM;AAAA,MACJ;AAAA,IACF,IAAI;AACJ,WAAO,gBAAgB,aAAa;AAAA,EACtC;AAAA,EACA,WAAW,UAAU,MAAM;AACzB,QAAI;AACJ,UAAM,UAAU;AAAA,MACd,OAAO;AAAA,MACP,GAAG;AAAA,IACL;AACA,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,IACF,IAAI;AACJ,UAAM,SAAS,SAAS,KAAK;AAC7B,YAAQ,UAAU,QAAQ,WAAW,CAAC,KAAK,YAAY,UAAU,QAAW;AAAA,MAC1E;AAAA,IACF,CAAC,GAAG,KAAK,YAAY,MAAM,QAAW;AAAA,MACpC;AAAA,MACA,SAAS,MAAM;AACb,YAAI,MAAM;AACR,gBAAM,KAAK,IAAI,MAAM,QAAQ;AAC7B,eAAK,aAAa,EAAE;AAAA,QACtB;AAAA,MACF;AAAA,IACF,CAAC,CAAC;AACF,WAAO,KAAK,OAAO,SAAS,WAAS;AACnC,aAAOvC,eAAa,OAAO;AAAA,QACzB,qBAAqB;AAAA,QACrB,QAAQ;AAAA,QACR,wBAAwB,MAAM;AAC5B,iBAAO;AAAA,QACT;AAAA,QACA,YAAY,QAAM;AAChB,gBAAM,QAAQ,MAAM;AAAA,QACtB;AAAA,MACF,GAAG;AAAA,QACD,SAAS,WAAS;AAChB,iBAAO;AACP,iBAAO,KAAK,QAAQ;AAAA,YAClB;AAAA,YACA;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAAA,EACA,OAAO,aAAa,CAAC,GAAG;AACtB,UAAM,UAAU,OAAO,eAAe,WAAW;AAAA,MAC/C,OAAO;AAAA,QACL,OAAO;AAAA,MACT;AAAA,IACF,IAAI;AAAA,MACF,GAAG;AAAA,IACL;AACA,YAAQ,QAAQ;AAAA,MACd,GAAG,QAAQ;AAAA,IACb;AACA,YAAQ,QAAQ;AAChB,UAAM;AAAA,MACJ,cAAc,QAAQ;AAAA,IACxB,IAAI,QAAQ;AACZ,UAAM;AAAA,MACJ;AAAA,IACF,IAAI,QAAQ;AACZ,WAAO,QAAQ,MAAM;AACrB,WAAO,KAAK,WAAW;AAAA,MACrB;AAAA,MACA,GAAG;AAAA,MACH,OAAO;AAAA,QACL,OAAO;AAAA,MACT;AAAA,IACF,GAAG,WAASA,eAAa,YAAYG,cAAY,QAAQ,OAAO;AAAA,MAC9D,cAAc,MAAM;AAAA,MACpB,uBAAuB,YAAU,MAAM,QAAQ;AAAA,IACjD,CAAC,GAAG,IAAI,CAAC,EAAE,KAAK,YAAU;AACxB,aAAO,SAAS,OAAO,QAAQ;AAAA,IACjC,CAAC;AAAA,EACH;AAAA,EACA,YAAY,KAAK,UAAU,OAAO;AAChC,UAAM,UAAU,KAAK,aAAa,GAAG;AACrC,UAAM,WAAW,wBAAwB,GAAG;AAC5C,UAAM,SAAS;AAAA,MACb;AAAA,MACA,SAAS,CAAC;AAAA,QACR;AAAA,QACA,KAAA+C;AAAA,MACF,MAAM;AACJ,cAAM,UAAU,QAAM,SAAS,SAAS,EAAE;AAC1C,eAAO,QAAQ;AAAA,UACb,SAAS,KAAK;AAAA,UACd;AAAA,UACA,KAAAA;AAAA,UACA,UAAU;AAAA,YACR;AAAA,YACA,GAAG;AAAA,UACL;AAAA,QACF,CAAC;AAAA,MACH;AAAA,MACA,GAAG;AAAA,IACL;AACA,WAAO;AAAA,EACT;AACF;;;AChQA,SAAS,6BAA6B;AACtC,SAAS,sCAAsC;AAC/C,SAAS,oCAAoC;AAC7C,SAAS,8BAA8B;AACvC,SAAS,4BAA4B;AACrC,SAAS,2BAA2B;AACpC,SAAS,oBAAoB;AAItB,SAAS,sBAAsB,MAAM,UAAU;AACpD,MAAI,CAAC;AAAU,WAAO;AACtB,QAAM,SAAS,uBAAuB,MAAM,QAAQ;AACpD,MAAI,SAAS,OAAO;AAClB,WAAO,QAAQ;AAAA,MACb,GAAG,OAAO;AAAA,MACV,GAAG,SAAS;AAAA,IACd;AAAA,EACF;AACA,SAAO;AACT;AACO,IAAM,YAAN,MAAgB;AAAA,EACrB,OAAO,QAAQ,KAAK,MAAM;AACxB,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,IACF,IAAI;AAGJ,UAAM,uBAAuB,IAAI,qBAAqB,WAAW;AACjE,QAAI,IAAI,oBAAoB;AAG5B,0BAAsB,KAAK,KAAK;AAChC,wBAAoB,GAAG;AACvB,mCAA+B,GAAG;AAClC,iCAA6B,GAAG;AAChC,2BAAuB,GAAG;AAG1B,UAAM,OAAO,IAAI,WAAW,MAAM,IAAI,OAAO,iBAAiB,OAAO;AACrE,QAAI,QAAQ,iBAAiB,IAAI;AACjC,QAAI,OAAO,iBAAiB,OAAO;AACnC,iBAAa,KAAK,MAAM;AACtB,aAAO,IAAI,OAAO,iBAAiB;AAAA,IACrC,CAAC;AAAA,EACH;AACF;AACO,SAAS,iBAAiB,KAAK,MAAM;AAC1C,SAAO,IAAI,IAAI,WAAW,IAAI;AAChC","sourcesContent":["import './styles/index.scss';\n\nexport * from '@fastkit/helpers';\nexport * from '@fastkit/icon-font';\nexport * from '@fastkit/media-match';\nexport * from '@fastkit/vue-media-match';\nexport * from '@fastkit/vue-keyboard';\nexport * from '@fastkit/vue-transitions';\nexport * from '@fastkit/vue-location';\nexport * from '@fastkit/rules';\nexport * from '@fastkit/vue-body-scroll-lock';\nexport * from '@fastkit/vue-click-outside';\nexport * from '@fastkit/vue-app-layout';\nexport * from '@fastkit/vue-color-scheme';\nexport * from '@fastkit/vue-form-control';\nexport * from '@fastkit/vue-scroller';\nexport * from '@fastkit/vue-stack';\nexport * from '@fastkit/vue-action';\nexport * from '@fastkit/vue-utils';\nexport * from '@fastkit/vue-loading';\n\n// @MEMO Alias export\nexport { VAction as VLink } from '@fastkit/vue-action';\n\nexport * from './schemes';\nexport * from './composables';\nexport * from './components';\nexport * from './service';\nexport * from './plugin';\nexport * from './injections';\n","export const CONTROL_SIZES = ['sm', 'md', 'lg'] as const;\n\nexport type ControlSize = (typeof CONTROL_SIZES)[number];\n\nexport const CONTROL_FIELD_VARIANTS = ['outlined', 'filled', 'flat'] as const;\n\nexport type ControlFieldVariant = (typeof CONTROL_FIELD_VARIANTS)[number];\n\nexport const CONTROL_LOADING_SPINNER_SIZES: Record<ControlSize, number> = {\n sm: 16,\n md: 20,\n lg: 24,\n};\n","import {\n PropType,\n ExtractPropTypes,\n computed,\n ComputedRef,\n provide,\n inject,\n} from 'vue';\nimport {\n ControlSize,\n CONTROL_SIZES,\n ControlFieldVariant,\n CONTROL_FIELD_VARIANTS,\n} from '../schemes';\nimport { createPropsOptions } from '@fastkit/vue-utils';\nimport {\n VuiControlInjectionKey,\n VuiControlFieldInjectionKey,\n} from '../injections';\n\nexport function createControlProps() {\n return createPropsOptions({\n size: {\n type: String as PropType<ControlSize>,\n validator: (value: any) => {\n if (value == null) return true;\n return CONTROL_SIZES.includes(value);\n },\n },\n loading: Boolean,\n });\n}\n\nexport type ControlProps = ExtractPropTypes<\n ReturnType<typeof createControlProps>\n>;\n\nexport interface ControlProvider {\n parentControl: ControlProvider | null;\n size: ComputedRef<ControlSize>;\n classes: ComputedRef<any>;\n}\n\nexport interface UseControlProviderOptions {\n defaultSize?: ControlSize;\n}\n\nexport function useControl(\n props: ControlProps,\n opts: UseControlProviderOptions = {},\n) {\n const { defaultSize = 'md' } = opts;\n const parentControl = inject(VuiControlInjectionKey, null);\n const size = computed(() => {\n const psize = props.size;\n return psize\n ? psize\n : parentControl\n ? parentControl.size.value\n : defaultSize;\n });\n const classes = computed(() => {\n return ['v-control', `v-control--${size.value}`];\n });\n const provider: ControlProvider = {\n parentControl,\n size,\n classes,\n };\n provide(VuiControlInjectionKey, provider);\n return provider;\n}\n\nexport function createControlFieldProviderProps() {\n return createPropsOptions({\n variant: {\n type: String as PropType<ControlFieldVariant>,\n validator: (value: any) => {\n if (value == null) return true;\n return CONTROL_FIELD_VARIANTS.includes(value);\n },\n },\n });\n}\n\nexport type ControlFieldProviderProps = ExtractPropTypes<\n ReturnType<typeof createControlFieldProviderProps>\n>;\n\nexport interface ControlFieldProvider {\n parentControlField: ControlFieldProvider | null;\n variant: ComputedRef<ControlFieldVariant>;\n}\n\nexport interface UseControlFieldProviderOptions {\n defaultVariant?: ControlFieldVariant;\n}\n\nexport function useControlField(\n props: ControlFieldProviderProps,\n opts: UseControlFieldProviderOptions = {},\n) {\n const { defaultVariant = 'flat' } = opts;\n const parentControlField = inject(VuiControlFieldInjectionKey, null);\n const variant = computed(() => {\n const pvariant = props.variant;\n return pvariant\n ? pvariant\n : parentControlField\n ? parentControlField.variant.value\n : defaultVariant;\n });\n const provider: ControlFieldProvider = {\n parentControlField,\n variant,\n };\n provide(VuiControlFieldInjectionKey, provider);\n return provider;\n}\n","import { InjectionKey, inject, computed, provide } from 'vue';\nimport type { VuiService } from './service';\nimport type {\n ControlProvider,\n ControlFieldProvider,\n VuiColorProvider,\n} from './composables';\n\nexport const VuiInjectionKey: InjectionKey<VuiService> = Symbol();\n\nexport const VuiControlInjectionKey: InjectionKey<ControlProvider> = Symbol();\n\nexport const VuiControlFieldInjectionKey: InjectionKey<ControlFieldProvider> =\n Symbol();\n\nexport const VuiColorProviderInjectionKey: InjectionKey<VuiColorProvider> =\n Symbol();\n\nexport const VUI_TEXT_FIELD_SYMBOL = 'vui-text-field';\nexport const VUI_TEXTAREA_SYMBOL = 'vui-textarea';\n// export const VUI_WYSIWYG_EDITOR_SYMBOL = 'vui-wysiwyg-editor';\nexport const VUI_SELECT_SYMBOL = 'vui-select';\nexport const VUI_OPTION_SYMBOL = 'vui-option';\nexport const VUI_CHECKBOX_GROUP_SYMBOL = 'vui-checkbox-group';\nexport const VUI_CHECKBOX_SYMBOL = 'vui-checkbox';\nexport const VUI_RADIO_GROUP_SYMBOL = 'vui-radio-group';\nexport const VUI_RADIO_SYMBOL = 'vui-radio';\nexport const VUI_SWITCH_GROUP_SYMBOL = 'vui-switch-group';\nexport const VUI_SWITCH_SYMBOL = 'vui-switch';\nexport const VUI_FORM_SYMBOL = 'vui-form';\n\nexport function useVui() {\n const vui = inject(VuiInjectionKey);\n if (!vui) {\n throw new Error('missing vui service');\n }\n return vui;\n}\n\nexport function useVuiColorProvider(): VuiColorProvider {\n const parent = inject(VuiColorProviderInjectionKey, null);\n if (parent) {\n return parent;\n }\n\n const vui = useVui();\n const primary = computed(() => vui.setting('primaryScope'));\n const error = computed(() => vui.setting('errorScope'));\n const provider: VuiColorProvider = {\n primary,\n error,\n className: (type) => {\n const scope = provider[type].value;\n return `${scope}-scope`;\n },\n };\n\n provide(VuiColorProviderInjectionKey, provider);\n\n return provider;\n}\n","import { resolveDirective as _resolveDirective, Fragment as _Fragment, createVNode as _createVNode } from \"vue\";\nimport './form-selector.scss';\nimport { defineComponent, computed } from 'vue';\nimport { createFormControlProps, createFormSelectorSettings, useFormSelectorControl } from '@fastkit/vue-form-control';\nimport { defineSlots, resolveVNodeChildOrSlots } from '@fastkit/vue-utils';\nimport { createControlProps, useControl } from './control';\nimport { VFormControl } from '../components/VFormControl';\nimport { useVui } from '../injections';\nimport { VProgressCircular } from '../components/loading';\nimport { CONTROL_LOADING_SPINNER_SIZES } from '../schemes';\nconst slots = defineSlots();\nexport function defineFormSelectorComponent(opts) {\n const {\n itemRenderer,\n defaultMultiple,\n nodeType,\n className\n } = opts;\n const {\n props,\n emits\n } = createFormSelectorSettings({\n defaultMultiple\n });\n return defineComponent({\n name: opts.name,\n props: {\n ...props,\n ...createFormControlProps(),\n ...createControlProps(),\n stacked: {\n type: Boolean,\n default: true\n },\n // eslint-disable-next-line vue/require-prop-types\n loadingMessage: {},\n // eslint-disable-next-line vue/require-prop-types\n failedToLoadItemsMessage: {},\n ...slots()\n },\n slots,\n emits,\n setup(props, ctx) {\n const selectorControl = useFormSelectorControl(props, ctx, {\n nodeType,\n defaultMultiple\n });\n const control = useControl(props);\n const vui = useVui();\n const loadingMessageRef = computed(() => {\n const slot = resolveVNodeChildOrSlots(props.loadingMessage, vui.setting('loadingMessage'), 'Loading...');\n return slot && slot(vui);\n });\n const failedToLoadItemsMessageRef = computed(() => {\n const slot = resolveVNodeChildOrSlots(props.failedToLoadItemsMessage, vui.setting('failedToLoadDataMessage'), 'Failed to load data.');\n return slot && slot(vui);\n });\n return {\n ...selectorControl.expose(),\n ...control,\n loadingMessageRef,\n failedToLoadItemsMessageRef\n };\n },\n render() {\n const {\n selectorControl\n } = this;\n return _createVNode(VFormControl, {\n \"nodeControl\": this.nodeControl,\n \"focused\": this.nodeControl.focused,\n \"hiddenInfo\": this.hiddenInfo,\n \"class\": ['v-form-selector', className, {\n ...this.classes,\n 'v-form-selector--stacked': this.stacked\n }],\n \"label\": this.label,\n \"hint\": this.hint,\n \"hinttip\": this.hinttip,\n \"requiredChip\": this.requiredChip,\n \"error\": selectorControl.itemsLoadFailed\n }, {\n ...this.$slots,\n default: () => _createVNode(\"div\", {\n \"class\": \"v-form-selector__body\"\n }, [selectorControl.itemsLoadFailed && _createVNode(\"div\", {\n \"key\": \"failed\",\n \"class\": \"v-form-selector__placeholder v-form-selector__placeholder--error\"\n }, [this.failedToLoadItemsMessageRef]), selectorControl.itemsLoading && _createVNode(\"div\", {\n \"key\": \"loading\",\n \"class\": \"v-form-selector__placeholder\"\n }, [_createVNode(VProgressCircular, {\n \"indeterminate\": true,\n \"class\": \"mr-1\",\n \"size\": CONTROL_LOADING_SPINNER_SIZES[this.size || 'md']\n }, null), this.loadingMessageRef]), this.propGroups.map(group => {\n const {\n items\n } = group;\n return _createVNode(_Fragment, null, [items.map(attrs => {\n const selected = selectorControl.isSelected(attrs.value);\n return itemRenderer({\n selected,\n control: selectorControl,\n attrs: {\n ...attrs,\n modelValue: selected,\n key: attrs.value\n },\n slots: {\n default: () => attrs.label(this.selectorControl)\n }\n });\n })]);\n }), this.$slots.default?.()])\n });\n }\n });\n}","import { resolveDirective as _resolveDirective, mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\nimport './VFormControl.scss';\nimport { computed, defineComponent } from 'vue';\nimport { createFormControlSettings, useFormControl } from '@fastkit/vue-form-control';\nimport { defineSlots } from '@fastkit/vue-utils';\nimport { useVuiColorProvider, useVui } from '../../injections';\nimport { VIcon } from '../VIcon';\nimport { VTooltip } from '../VTooltip';\nconst {\n props,\n emits\n} = createFormControlSettings();\nexport function createRequiredChipRenderer(required, props, vui = useVui()) {\n return () => {\n if (!required()) return;\n let chip;\n const {\n requiredChip\n } = props;\n if (requiredChip === false) return;\n if (requiredChip) {\n if (typeof requiredChip === 'string') {\n chip = requiredChip;\n } else if (typeof requiredChip === 'function') {\n chip = requiredChip();\n }\n }\n if (chip === undefined) {\n chip = vui.getRequiredChip();\n }\n return chip;\n };\n}\nconst slots = defineSlots();\nexport const VFormControl = defineComponent({\n name: 'VFormControl',\n props: {\n ...props,\n ...slots(),\n error: Boolean\n },\n slots,\n emits,\n setup(props, ctx) {\n const vui = useVui();\n const control = useFormControl(props, ctx, {\n hinttipPrepend: () => _createVNode(VIcon, {\n \"class\": \"v-form-control__label__hinttip__icon\",\n \"name\": vui.icon('hinttip')\n }, null)\n });\n const hinttipDelay = computed(() => {\n let {\n hinttipDelay\n } = control;\n if (hinttipDelay == null) {\n hinttipDelay = vui.setting('hinttipDelay');\n }\n if (hinttipDelay == null) {\n hinttipDelay = 500;\n }\n return hinttipDelay;\n });\n ctx.expose(control.expose());\n const colorProvider = useVuiColorProvider();\n const classes = computed(() => [{\n 'v-form-control--validating': control.validating,\n 'v-form-control--pending': control.pending,\n 'v-form-control--focused': control.focused,\n 'v-form-control--dirty': control.dirty,\n 'v-form-control--pristine': control.pristine,\n 'v-form-control--disabled': control.disabled,\n 'v-form-control--readonly': control.readonly,\n 'v-form-control--touched': control.touched,\n 'v-form-control--untouched': control.untouched,\n 'v-form-control--invalid': control.invalid,\n 'v-form-control--valid': control.valid\n }, colorProvider.className(props.error ? 'error' : control.invalid && !control.readonly ? 'error' : 'primary')]);\n const getRequiredChip = createRequiredChipRenderer(() => control.required, props, vui);\n const handleClick = ev => ctx.emit('clickLabel', ev, control);\n return () => {\n const label = control.renderLabel();\n const message = control.renderMessage();\n const appends = control.renderInfoAppends();\n const hinttip = control.renderHinttip();\n const _hinttipDelay = hinttipDelay.value;\n return _createVNode(\"div\", {\n \"class\": ['v-form-control', classes.value]\n }, [label && _createVNode(\"label\", {\n \"class\": \"v-form-control__label\",\n \"onClick\": handleClick\n }, [label, getRequiredChip(), hinttip && _createVNode(VTooltip, {\n \"y\": \"top\",\n \"openOnHover\": _hinttipDelay !== 'click',\n \"openDelay\": typeof _hinttipDelay === 'number' ? _hinttipDelay : undefined\n }, {\n default: () => [_createVNode(\"div\", {\n \"class\": \"v-form-control__label__hinttip__hint\"\n }, [hinttip.hint])],\n activator: ctx => _createVNode(\"a\", _mergeProps({\n \"class\": \"v-form-control__label__hinttip\",\n \"href\": \"javascript:void(0)\"\n }, ctx.attrs), [hinttip.tip])\n })]), _createVNode(\"div\", {\n \"class\": \"v-form-control__body\"\n }, [ctx.slots.default?.(control), !props.hiddenInfo && _createVNode(\"div\", {\n \"class\": \"v-form-control__info\"\n }, [!!message && _createVNode(\"div\", {\n \"class\": \"v-form-control__message\"\n }, [message]), !!appends && _createVNode(\"div\", {\n \"class\": \"v-form-control__appends\"\n }, [appends])])])]);\n };\n }\n});","import { createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\nimport './VIcon.scss';\nimport { defineComponent, computed } from 'vue';\nimport { createPropsOptions } from '@fastkit/vue-utils';\nexport { ICON_NAMES } from '@fastkit/icon-font';\n// export function toRawIconProp<T = void>(\n// prop: RawIconProp<T>,\n// payload: () => T,\n// ): RawIconProp {\n// if (!prop || typeof prop !== 'function') {\n// return prop;\n// }\n// const fn = (gen: IconGenerator): VNodeChild => {\n// const t = payload();\n// return prop(gen, t);\n// };\n// return fn;\n// }\n// export const rawRawIconProp = [String, Function] as PropType<RawIconProp>;\nconst _rawIconProp = [String, Function];\nexport function rawIconProp() {\n return _rawIconProp;\n}\nexport function resolveRawIconProp(payload, prop, extraProps) {\n if (!prop) return;\n return typeof prop === 'function' ? prop(input => _createVNode(VIcon, _mergeProps(input, extraProps), null), payload) : _createVNode(VIcon, _mergeProps(extraProps, {\n \"name\": prop\n }), null);\n}\nexport const iconProps = createPropsOptions({\n name: {\n type: String,\n required: true\n },\n rotate: {\n type: Number\n }\n});\nexport const VIcon = defineComponent({\n name: 'VIcon',\n props: {\n ...iconProps\n },\n emits: {},\n setup(props, ctx) {\n const iconName = computed(() => props.name);\n const clickable = computed(() => typeof ctx.attrs.onClick !== 'undefined');\n const classes = computed(() => [{\n 'v-icon--clickable': clickable.value\n }]);\n const bodyClasses = computed(() => `icon-${iconName.value}`);\n const bodyStyles = computed(() => {\n const {\n rotate\n } = props;\n if (!rotate) return;\n return {\n transform: `rotate(${rotate}deg)`\n };\n });\n return () => _createVNode(\"span\", {\n \"class\": [`v-icon notranslate`, classes.value]\n }, [_createVNode(\"i\", {\n \"class\": ['v-icon__body icon', bodyClasses.value],\n \"style\": bodyStyles.value\n }, null)]);\n }\n});","import { mergeProps as _mergeProps, resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\nimport './VTooltip.scss';\nimport { defineComponent } from 'vue';\nimport { VMenu } from '../VMenu';\nexport const VTooltip = defineComponent({\n name: 'VTooltip',\n inheritAttrs: false,\n setup(_props, ctx) {\n return () => {\n const attrs = {\n ...ctx.attrs\n };\n const defaultSlot = ctx.slots.default;\n if (attrs.openOnHover == null) {\n attrs.openOnHover = true;\n }\n if (attrs.openDelay == null) {\n attrs.openDelay = 200;\n }\n return _createVNode(VMenu, _mergeProps(attrs, {\n \"scrollLock\": false,\n \"class\": \"v-tooltip\"\n }), {\n ...ctx.slots,\n default: payload => {\n return [_createVNode(\"span\", {\n \"class\": \"v-tooltip__inner\"\n }, [defaultSlot && defaultSlot(payload)])];\n }\n });\n };\n }\n});","import { createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\nimport './VMenu.scss';\nimport { defineMenuComponent } from '@fastkit/vue-stack';\nimport { colorSchemeProps, useColorClasses } from '@fastkit/vue-color-scheme';\nconst colorProps = colorSchemeProps();\nexport const VMenu = defineMenuComponent({\n name: 'VMenu',\n attrs: {\n class: 'v-menu'\n },\n props: {\n ...colorProps\n },\n setup(ctx) {\n const color = useColorClasses(ctx.props, {\n useRootThemeDefault: true\n });\n ctx.setupContext.expose({\n menu: ctx\n });\n return children => {\n return _createVNode(\"div\", _mergeProps({\n \"class\": ['v-menu__body', color.colorClasses.value]\n }, ctx.attrs), [children]);\n };\n }\n});","export * from '@fastkit/vue-loading';\n","import { PropType, ExtractPropTypes, computed } from 'vue';\nimport { createPropsOptions } from '@fastkit/vue-utils';\nimport { VuiElevationValue } from '../schemes';\n\nexport function createElevationProps() {\n return createPropsOptions({\n elevation: Number as PropType<VuiElevationValue>,\n });\n}\n\nexport type ElevationProps = ExtractPropTypes<\n ReturnType<typeof createElevationProps>\n>;\n\nexport interface UseElevationOptions {\n defaultValue?: VuiElevationValue;\n}\n\nexport function useElevation(\n props: ElevationProps,\n opts: UseElevationOptions = {},\n) {\n const elevationValue = computed(() =>\n props.elevation == null ? opts.defaultValue : props.elevation,\n );\n const elevationClassName = computed(() => {\n const v = elevationValue.value;\n return v == null ? undefined : `elevation-${v}`;\n });\n return {\n elevationValue,\n elevationClassName,\n };\n}\n","export * from './loading';\nexport * from './VDialog';\nexport * from './VMenu';\nexport * from './VSnackbar';\nexport * from './VTooltip';\nexport * from './VSheetModal';\nexport * from './VSkeltonLoader';\nexport * from './VBusyImage';\nexport * from './VGrid';\nexport * from './VPaper';\nexport * from './VAvatar';\nexport * from './VChip';\nexport * from './VCard';\nexport * from './VIcon';\nexport * from './VButton';\nexport * from './VPagination';\nexport * from './VListTile';\nexport * from './VDrawerLayout';\nexport * from './VHero';\n// export * from './VAccordion';\nexport * from './VNavigation';\nexport * from './VControlField';\nexport * from './VTextCounter';\nexport * from './VFormControl';\nexport * from './VCheckbox';\nexport * from './VCheckboxGroup';\nexport * from './VRadio';\nexport * from './VRadioGroup';\nexport * from './VSwitch';\nexport * from './VSwitchGroup';\nexport * from './VOption';\nexport * from './VOptionGroup';\nexport * from './VSelect';\nexport * from './VTextField';\nexport * from './VNumberField';\nexport * from './VTextarea';\n// export * from './VWysiwygEditor';\nexport * from './VForm';\nexport * from './VTabs';\nexport * from './VBreadcrumbs';\nexport * from './VContentSwitcher';\nexport * from './VDataTable';\nexport * from './VApp';\nexport * from './VToolbar';\n","import { createVNode as _createVNode } from \"vue\";\nimport './VDialog.scss';\nimport { defineDialogComponent, createStackActionProps, useStackAction } from '@fastkit/vue-stack';\nimport { colorSchemeProps, useColorClasses } from '@fastkit/vue-color-scheme';\nimport { useVui } from '../../injections';\nconst colorProps = colorSchemeProps();\nexport const VDialog = defineDialogComponent({\n name: 'VDialog',\n props: {\n ...createStackActionProps(),\n ...colorProps,\n dense: Boolean\n },\n setup(ctx) {\n const {\n props,\n control\n } = ctx;\n const vui = useVui();\n const actionControl = useStackAction(props, control, {\n resolver: actions => {\n if (actions.length === 0) {\n return [vui.stackAction('close')];\n } else {\n return actions;\n }\n }\n });\n const color = useColorClasses(props, {\n useRootThemeDefault: true\n });\n return children => {\n const {\n $actions\n } = actionControl;\n return _createVNode(\"div\", {\n \"class\": ['v-dialog', color.colorClasses.value, props.dense && 'v-dialog--dense']\n }, [_createVNode(\"div\", {\n \"class\": \"v-dialog__body\"\n }, [children]), $actions.length > 0 && _createVNode(\"div\", {\n \"class\": \"v-dialog__actions\"\n }, [$actions])]);\n };\n }\n});","import { mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\nimport './VSnackbar.scss';\nimport { defineSnackbarComponent, createStackActionProps, useStackAction } from '@fastkit/vue-stack';\nimport { colorSchemeProps } from '@fastkit/vue-color-scheme';\nimport { useVui } from '../../injections';\nimport { useColorClasses } from '@fastkit/vue-color-scheme';\nconst colorProps = colorSchemeProps();\nexport const VSnackbar = defineSnackbarComponent({\n name: 'VSnackbar',\n props: {\n ...createStackActionProps(),\n ...colorProps\n },\n setup(ctx) {\n const {\n props,\n control\n } = ctx;\n const vui = useVui();\n const actionControl = useStackAction(props, control, {\n resolver: actions => {\n if (actions.length === 0) {\n return [vui.stackAction('close')];\n } else {\n return actions;\n }\n }\n });\n const color = useColorClasses(props, {\n useRootThemeDefault: true\n });\n return children => {\n const {\n $actions\n } = actionControl;\n return _createVNode(\"div\", _mergeProps({\n \"class\": ['v-snackbar', color.colorClasses.value]\n }, ctx.attrs), [_createVNode(\"div\", {\n \"class\": \"v-snackbar__inner\"\n }, [_createVNode(\"div\", {\n \"class\": \"v-snackbar__body\"\n }, [children]), $actions.length > 0 && _createVNode(\"div\", {\n \"class\": \"v-snackbar__actions\"\n }, [$actions])])]);\n };\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VSheetModal.scss';\nimport { defineComponent\n// ExtractPropTypes,\n, computed } from 'vue';\nimport { createStackableDefine, useStackControl } from '@fastkit/vue-stack';\n// import { } from '../schemes';\n// import { useStackControl } from '../composables';\n// import { ExtractPropInput } from '@fastkit/vue-utils';\n\nconst {\n props,\n emits\n} = createStackableDefine({\n defaultTransition: 'v-sheet-modal',\n defaultFocusTrap: true,\n defaultFocusRestorable: true,\n defaultScrollLock: true\n});\nexport const sheetModalProps = {\n ...props,\n header: Function,\n 'v-slots': undefined\n};\nconst SHEET_STACK_TYPE = Symbol('VSheetModal');\nexport const VSheetModal = defineComponent({\n name: 'VSheetModal',\n inheritAttrs: false,\n props: sheetModalProps,\n emits,\n setup(props, ctx) {\n const stackControl = useStackControl(props, ctx, {\n stackType: SHEET_STACK_TYPE\n });\n const hasActiveChild = computed(() => {\n const myIndex = stackControl.zIndex;\n const stacks = stackControl.$service.getActiveStacks().filter(stack => stack.stackType === SHEET_STACK_TYPE);\n return stacks.some(stack => stack.zIndex > myIndex);\n });\n return {\n stackControl,\n hasActiveChild\n };\n },\n render() {\n const {\n render\n // color,\n } = this.stackControl;\n const headerSlot = this.$slots.header || this.header;\n return render(children => {\n return _createVNode(\"div\", {\n \"class\": ['v-sheet-modal', {\n 'v-sheet-modal--has-active-child': this.hasActiveChild\n }\n // color.colorClasses.value,\n ],\n \"tabindex\": \"0\"\n }, [headerSlot && _createVNode(\"div\", {\n \"class\": \"v-sheet-modal__header\"\n }, [headerSlot(this.stackControl)]), _createVNode(\"div\", {\n \"class\": \"v-sheet-modal__scroller\"\n }, [children])]);\n });\n }\n});\n\n// export type VSheetModalStatic = typeof VSheetModal;","import { createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\nimport './VSkeltonLoaderBone.scss';\nimport { defineComponent } from 'vue';\nexport const VSkeltonLoaderBone = defineComponent({\n name: 'VSkeltonLoaderBone',\n inheritAttrs: false,\n props: {\n tag: {\n type: String,\n default: 'div'\n }\n },\n setup(props, ctx) {\n return () => {\n const TagName = props.tag;\n return _createVNode(TagName, _mergeProps(ctx.attrs, {\n \"class\": \"v-skelton-loader-bone\"\n }), {\n default: () => [ctx.slots.default?.()]\n });\n };\n }\n});","import { createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\nimport './VBusyImage.scss';\nimport { defineComponent, computed, ref, watch, onMounted, onBeforeUnmount } from 'vue';\nimport { IN_WINDOW } from '@fastkit/helpers';\nimport { loadImage } from '@fastkit/dom';\nimport { defineSlots } from '@fastkit/vue-utils';\nconst IMAGE_ATTRS = ['alt', 'crossorigin', 'decoding', 'sizes', 'src', 'srcset', 'usemap'];\nexport function splitAttrs(attrs) {\n const el = {\n ...attrs\n };\n const img = {};\n for (const ATTR of IMAGE_ATTRS) {\n const value = attrs[ATTR];\n if (value != null) {\n img[ATTR] = value;\n }\n }\n return {\n el,\n img\n };\n}\nconst NUMBERISH_PROP = [Number, String];\nconst DEFAULT_HEIGHT = 150;\nconst resolveBusyImageSizeValue = source => {\n if (source == null) return;\n return isNaN(source) ? String(source) : `${source}px`;\n};\nconst slots = defineSlots();\n\n/**\n * 画像表示用コンポーネント\n * <img /> タグのように振る舞うが、ローディング表示や、表示サイズの調整など、ちょっといい感じにやるためのコンポーネント\n */\nexport const VBusyImage = defineComponent({\n name: 'VBusyImage',\n props: {\n ...undefined,\n aspectRatio: String,\n width: NUMBERISH_PROP,\n height: NUMBERISH_PROP,\n cover: Boolean,\n ...slots()\n },\n emits: {\n load: ev => true,\n error: ev => true\n },\n slots,\n setup(props, ctx) {\n const loadStateRef = ref(props.cover && isAvailableSrc(ctx.attrs.src) ? 'loading' : 'pending');\n const attrsRef = computed(() => splitAttrs(ctx.attrs));\n const isPendingRef = computed(() => loadStateRef.value === 'pending');\n const isLoadingRef = computed(() => loadStateRef.value === 'loading');\n const isLoadedRef = computed(() => loadStateRef.value === 'loaded');\n const isErrorRef = computed(() => loadStateRef.value === 'error');\n const classesRef = computed(() => [`v-busy-image--${loadStateRef.value}`, {\n 'v-busy-image--cover': props.cover,\n 'v-busy-image--clickable': typeof ctx.attrs.onClick === 'function'\n }]);\n const nodeRef = ref();\n const coverImageRef = ref();\n const rectsRef = computed(() => {\n const placeholder = {};\n const main = {};\n const {\n cover\n } = props;\n let {\n width,\n height\n } = props;\n if (height == null && cover) {\n height = DEFAULT_HEIGHT;\n }\n if (width == null && cover) {\n width = height;\n }\n width = resolveBusyImageSizeValue(width);\n height = resolveBusyImageSizeValue(height);\n main.width = width;\n main.height = height;\n placeholder.width = width;\n placeholder.height = height;\n if (placeholder.height == null) {\n placeholder.height = resolveBusyImageSizeValue(DEFAULT_HEIGHT);\n }\n if (placeholder.width == null) {\n placeholder.width = placeholder.height;\n }\n return {\n placeholder,\n main\n };\n });\n const currentRectRef = computed(() => isLoadedRef.value ? rectsRef.value.main : rectsRef.value.placeholder);\n const stylesRef = computed(() => {\n const {\n value: coverImage\n } = coverImageRef;\n const coverSrc = coverImage && coverImage.src;\n const styles = {\n ...currentRectRef.value\n };\n if (coverSrc) {\n styles.backgroundImage = `url(${coverSrc})`;\n }\n return styles;\n });\n let booted = false;\n watch(() => ctx.attrs.src, value => {\n coverImageRef.value = undefined;\n if (isAvailableSrc(value)) {\n loadStateRef.value = 'loading';\n if (props.cover) {\n loadImage(value).then(image => {\n coverImageRef.value = image;\n setManualState('load');\n }).catch(err => {\n setManualState('error');\n });\n }\n } else {\n loadStateRef.value = 'pending';\n }\n }, {\n immediate: IN_WINDOW\n });\n const setManualState = loadType => {\n loadStateRef.value = loadType === 'load' ? 'loaded' : 'error';\n const ev = new Event(loadType, {\n bubbles: false,\n cancelable: false,\n composed: false\n });\n ctx.emit(loadType, ev);\n };\n onMounted(() => {\n if (booted || props.cover) return;\n const image = nodeRef.value;\n if (!image) return;\n const loadType = imageIsReady(image);\n if (loadType) {\n setManualState(loadType);\n }\n });\n onBeforeUnmount(() => {\n coverImageRef.value = undefined;\n });\n const handleLoad = ev => {\n booted = true;\n loadStateRef.value = 'loaded';\n ctx.emit('load', ev);\n };\n const handleError = ev => {\n booted = true;\n loadStateRef.value = 'error';\n ctx.emit('error', ev);\n };\n ctx.expose({\n state: loadStateRef,\n isPending: isPendingRef,\n isLoading: isLoadingRef,\n isLoaded: isLoadedRef,\n isError: isErrorRef\n });\n return () => {\n const {\n el: elAttrs,\n img: imgAttrs\n } = attrsRef.value;\n const styles = stylesRef.value;\n const children = ctx.slots.default?.();\n return _createVNode(\"span\", _mergeProps({\n \"class\": ['v-busy-image', classesRef.value]\n }, elAttrs, {\n \"style\": styles\n }), [!props.cover && _createVNode(\"img\", _mergeProps({\n \"key\": \"img\",\n \"ref\": nodeRef,\n \"class\": \"v-busy-image__node\"\n }, imgAttrs, {\n \"onLoad\": handleLoad,\n \"onError\": handleError\n }), null), !!children && _createVNode(\"span\", {\n \"class\": \"v-busy-image__slot\"\n }, [children])]);\n };\n }\n});\nfunction imageIsReady(image) {\n if (!image.complete) return false;\n return image.naturalWidth + image.naturalHeight > 0 ? 'load' : 'error';\n}\nfunction isAvailableSrc(src) {\n return typeof src === 'string' && src !== '';\n}","import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from \"vue\";\nimport './VGridItem.scss';\nimport { defineComponent, computed } from 'vue';\nimport { extractRawGridValueClasses } from './schemes';\n\n// type MQSizeProps = Record<\n// MediaMatchKey,\n// PropType<GridItemSizeValue | undefined>\n// >;\nexport const VGridItem = defineComponent({\n name: 'VGridItem',\n inheritAttrs: false,\n props: {\n tag: {\n type: String,\n default: 'div'\n },\n // ...(undefined as unknown as MQSizeProps),\n size: undefined,\n align: undefined,\n justify: undefined,\n order: undefined\n },\n setup(props, ctx) {\n const data = computed(() => {\n const classes = [];\n const attrs = {\n ...ctx.attrs\n };\n const {\n size,\n align,\n justify,\n order\n } = props;\n delete attrs.size;\n delete attrs.align;\n delete attrs.justify;\n delete attrs.order;\n size != null && classes.push(extractRawGridValueClasses(size, 'grid-size-'));\n align && classes.push(extractRawGridValueClasses(align, 'self-align-'));\n justify && classes.push(extractRawGridValueClasses(justify, 'self-justify-'));\n order != null && classes.push(extractRawGridValueClasses(order, 'order-'));\n\n // MEDIA_MATCH_CONDITIONS.forEach(({ key }) => {\n // const v = attrs[key];\n // delete attrs[key];\n // if (v != null) {\n // classes.push(`grid-size-${v}--${key}`);\n // }\n // });\n\n return {\n classes,\n attrs\n };\n });\n return () => {\n const TagName = props.tag;\n const {\n classes,\n attrs\n } = data.value;\n return _createVNode(TagName, _mergeProps({\n \"class\": ['v-grid-item grid-item', classes]\n }, attrs), ctx.slots);\n };\n }\n});","import { PropType } from 'vue';\nimport { MediaMatchKey } from '@fastkit/media-match';\n\nexport type RawGridValue<T extends number | string = number | string> =\n | T\n | Partial<Record<MediaMatchKey, T>>\n | undefined;\n\nexport type RawGridValueProp<T extends number | string = number | string> =\n PropType<RawGridValue<T>>;\n\nexport function extractRawGridValueClasses<\n T extends number | string = number | string,\n>(\n value: NonNullable<RawGridValue<T>>,\n prefix: string,\n getter?: (value: T) => string,\n): string | string[] {\n if (typeof value !== 'object')\n return `${prefix}${getter ? getter(value) : value}`;\n return Object.entries(value).map(([breakpoint, breakpointValue]) => {\n return `${prefix}${\n getter ? getter(breakpointValue) : breakpointValue\n }--${breakpoint}`;\n });\n}\n\n// export const DEFAULT_MEDIA_MATCH_KEY = MEDIA_MATCH_CONDITIONS[0].key;\n","import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from \"vue\";\nimport './VGridContainer.scss';\nimport { defineComponent, computed } from 'vue';\nimport { extractRawGridValueClasses } from './schemes';\nfunction spacingValueToString(value) {\n return Number.isInteger(value) ? String(value) : `${value}h`;\n}\nexport const VGridContainer = defineComponent({\n name: 'VGridContainer',\n inheritAttrs: false,\n props: {\n wrapperTag: {\n type: String,\n default: 'div'\n },\n tag: {\n type: String,\n default: 'div'\n },\n spacing: undefined,\n spacingX: undefined,\n spacingY: undefined,\n direction: undefined,\n wrap: undefined,\n alignContent: undefined,\n justifyContent: undefined\n },\n setup(props, ctx) {\n const data = computed(() => {\n const classes = [];\n const attrs = {\n ...ctx.attrs\n };\n const {\n spacing,\n spacingX,\n spacingY,\n direction,\n wrap,\n alignContent,\n justifyContent\n } = props;\n const wrapperClass = attrs.class;\n const wrapperStyle = attrs.style;\n delete attrs.class;\n delete attrs.style;\n delete attrs.spacing;\n delete attrs.spacingX;\n delete attrs.spacingY;\n delete attrs.direction;\n delete attrs.wrap;\n delete attrs.alignContent;\n delete attrs.justifyContent;\n\n // spacingX = mergeSpacing(spacing, spacingX);\n // spacingY = mergeSpacing(spacing, spacingY);\n // if (!spacingX) {\n // spacingX = spacing;\n // }\n\n // align &&\n // classes.push(extractRawGridItemValueClasses(align, 'self-align-'));\n // justify &&\n // classes.push(extractRawGridItemValueClasses(justify, 'self-justify-'));\n spacing != null && classes.push(extractRawGridValueClasses(spacing, 'grid-spacing-', spacingValueToString));\n spacingX != null && classes.push(extractRawGridValueClasses(spacingX, 'grid-spacing-x-', spacingValueToString));\n spacingY != null && classes.push(extractRawGridValueClasses(spacingY, 'grid-spacing-y-', spacingValueToString));\n direction && classes.push(extractRawGridValueClasses(direction, 'direction-'));\n wrap && classes.push(extractRawGridValueClasses(wrap, ''));\n alignContent && classes.push(extractRawGridValueClasses(alignContent, 'align-'));\n justifyContent && classes.push(extractRawGridValueClasses(justifyContent, 'justify-'));\n return {\n wrapperClass,\n wrapperStyle,\n classes,\n attrs\n };\n });\n return () => {\n const WrapperTag = props.wrapperTag;\n const TagName = props.tag;\n const {\n wrapperClass,\n wrapperStyle,\n classes,\n attrs\n } = data.value;\n return _createVNode(WrapperTag, {\n \"class\": ['v-grid-container-wrapper', wrapperClass],\n \"style\": wrapperStyle\n }, {\n default: () => [_createVNode(TagName, _mergeProps({\n \"class\": ['v-grid-container grid-container', classes]\n }, attrs), ctx.slots)]\n });\n };\n }\n});","import { createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\nimport './VPaper.scss';\nimport { defineComponent, computed } from 'vue';\nimport { createElevationProps, useElevation } from '../../composables';\nimport { renderSlotOrEmpty, defineSlots } from '@fastkit/vue-utils';\nimport { useScopeColorClass } from '@fastkit/vue-color-scheme';\nexport const paperBaseSlots = defineSlots();\nexport function createPaperBaseProps() {\n return {\n color: String,\n tag: {\n type: [String, Object],\n default: 'div'\n },\n ...paperBaseSlots()\n };\n}\nexport function createPaperProps() {\n return {\n ...createElevationProps(),\n ...createPaperBaseProps(),\n square: Boolean,\n headerProps: Object,\n bodyProps: Object,\n footerProps: Object,\n innerClass: [String, Array, Object]\n };\n}\nexport const VPaper = defineComponent({\n name: 'VPaper',\n inheritAttrs: false,\n props: createPaperProps(),\n slots: paperBaseSlots,\n setup(props, ctx) {\n const tag = computed(() => props.tag);\n const elevation = useElevation(props, {\n defaultValue: 1\n });\n const scope = useScopeColorClass(props);\n const classes = computed(() => [elevation.elevationClassName.value, scope.value.className, {\n 'v-paper--plain': !scope.value.value,\n 'v-paper--has-color': !!scope.value.value || !!ctx.attrs.disabled,\n 'v-paper--square': props.square\n }]);\n const headerProps = computed(() => props.headerProps);\n const bodyProps = computed(() => props.bodyProps);\n const footerProps = computed(() => props.footerProps);\n return () => {\n const TagName = tag.value;\n const header = renderSlotOrEmpty(ctx.slots, 'header');\n const footer = renderSlotOrEmpty(ctx.slots, 'footer');\n return _createVNode(TagName, _mergeProps({\n \"class\": ['v-paper', classes.value]\n }, ctx.attrs), {\n default: () => [_createVNode(\"div\", {\n \"class\": ['v-paper__inner', props.innerClass]\n }, [header && _createVNode(\"div\", _mergeProps({\n \"class\": \"v-paper__header\"\n }, headerProps.value), [header]), _createVNode(\"div\", _mergeProps({\n \"class\": \"v-paper__body\"\n }, bodyProps.value), [ctx.slots.default?.()]), footer && _createVNode(\"div\", _mergeProps({\n \"class\": \"v-paper__footer\"\n }, footerProps.value), [footer])])]\n });\n };\n }\n});","import { mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\nimport './VAvatar.scss';\nimport { defineComponent, computed } from 'vue';\nimport { actionableInheritProps, useActionable } from '@fastkit/vue-action';\nimport { colorSchemeProps, useColorClasses } from '@fastkit/vue-color-scheme';\nimport { useVui } from '../../injections';\nimport { VBusyImage } from '../VBusyImage';\n\n// @TODO Unable to resolve dts for `navigationableInheritProps`.\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nexport const AVATAR_SIZES = ['sm', 'md', 'lg'];\nexport function createAvatarProps() {\n return {\n ...colorSchemeProps(),\n ...actionableInheritProps,\n size: {\n type: [String, Number],\n default: 'md'\n },\n tile: Boolean,\n rounded: Boolean,\n disabled: Boolean,\n src: String\n };\n}\nexport const VAvatar = defineComponent({\n name: 'VAvatar',\n inheritAttrs: false,\n props: createAvatarProps(),\n setup(props, ctx) {\n const vui = useVui();\n const defaults = vui.setting('buttonDefault');\n const color = useColorClasses({\n color: () => props.color || defaults.color,\n variant: () => props.variant || defaults.variant\n });\n const actionable = useActionable(ctx, {\n clickableClassName: () => 'v-avatar--clickable',\n linkFallbackTag: 'div'\n });\n const classes = computed(() => {\n const {\n size\n } = props;\n return [{\n 'v-avatar--tile': props.tile,\n 'v-avatar--rounded': props.rounded\n }, typeof size === 'string' && `v-avatar--${size}`];\n });\n const styles = computed(() => {\n const {\n size\n } = props;\n if (typeof size !== 'number') return;\n return {\n '--avatar-size': `${size}px`\n };\n });\n return () => {\n const {\n src\n } = props;\n const {\n Tag,\n attrs\n } = actionable.value;\n return _createVNode(Tag, _mergeProps(attrs, {\n \"class\": ['v-avatar', classes.value, color.colorClasses.value],\n \"style\": styles.value\n }), {\n default: () => [!!src && _createVNode(VBusyImage, {\n \"class\": \"v-avatar__image\",\n \"src\": src,\n \"cover\": true\n }, null) || ctx.slots.default?.()]\n });\n };\n }\n});","import { mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\nimport './VChip.scss';\nimport { defineComponent, computed } from 'vue';\nimport { actionableInheritProps, useActionable } from '@fastkit/vue-action';\nimport { colorSchemeProps, useColorClasses } from '@fastkit/vue-color-scheme';\nimport { useVui } from '../../injections';\nimport { VIcon } from '../VIcon';\n\n// @TODO Unable to resolve dts for `actionableInheritProps`.\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nexport const CHIP_SIZES = ['xs', 'sm', 'md', 'lg', 'xl'];\nexport function createChipProps() {\n return {\n ...colorSchemeProps(),\n ...actionableInheritProps,\n size: {\n type: String,\n default: 'md'\n },\n startIcon: [String, Function],\n endIcon: [String, Function],\n label: Boolean,\n disabled: Boolean\n };\n}\nfunction resolveRawVChipIcon(raw, type) {\n if (!raw) return;\n if (typeof raw === 'function') {\n return () => {\n const child = raw();\n if (child == null) return;\n return _createVNode(\"span\", {\n \"class\": ['v-chip__icon', `v-chip__icon--${type}`]\n }, [child]);\n };\n }\n return () => _createVNode(VIcon, {\n \"class\": ['v-chip__icon', `v-chip__icon--${type}`],\n \"name\": raw\n }, null);\n}\nexport const VChip = defineComponent({\n name: 'VChip',\n inheritAttrs: false,\n props: createChipProps(),\n setup(props, ctx) {\n const vui = useVui();\n const defaults = vui.setting('buttonDefault');\n const color = useColorClasses({\n color: () => props.color || defaults.color,\n variant: () => props.variant || defaults.variant\n });\n const startIcon = computed(() => {\n const _icon = resolveRawVChipIcon(props.startIcon, 'start');\n return _icon && _icon();\n });\n const endIcon = computed(() => {\n const _icon = resolveRawVChipIcon(props.endIcon, 'end');\n return _icon && _icon();\n });\n const actionable = useActionable(ctx, {\n clickableClassName: () => 'v-chip--clickable',\n linkFallbackTag: 'div'\n });\n const classes = computed(() => {\n const {\n size\n } = props;\n return [{\n 'v-chip--label': props.label\n }, typeof size === 'string' && `v-chip--${size}`];\n });\n return () => {\n const {\n Tag,\n attrs\n } = actionable.value;\n return _createVNode(Tag, _mergeProps(attrs, {\n \"class\": ['v-chip', classes.value, color.colorClasses.value]\n }), {\n default: () => [startIcon.value, _createVNode(\"span\", {\n \"class\": \"v-chip__content\"\n }, [ctx.slots.default?.()]), endIcon.value]\n });\n };\n }\n});","import { createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\nimport './VCard.scss';\nimport { defineComponent, computed } from 'vue';\nimport { VPaper, createPaperProps } from '../VPaper';\nimport { actionableInheritProps, VAction } from '@fastkit/vue-action';\n\n// @TODO Unable to resolve dts for `actionableInheritProps`.\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nexport function createCardProps() {\n return {\n ...createPaperProps(),\n ...actionableInheritProps,\n disabled: Boolean\n };\n}\nexport const VCard = defineComponent({\n name: 'VCard',\n inheritAttrs: false,\n props: createCardProps(),\n setup(props, ctx) {\n const _props = computed(() => props);\n const data = computed(() => {\n const hasLink = !!ctx.attrs.href || !!ctx.attrs.to;\n const attrs = {\n ..._props.value,\n ...ctx.attrs,\n class: ['v-card', ctx.attrs.class, typeof ctx.attrs.onClick === 'function' && 'clickable'],\n tag: hasLink ? VAction : 'div'\n };\n if (props.disabled) {\n attrs.disabled = 'disabled';\n delete attrs.onClick;\n delete attrs.href;\n delete attrs.to;\n } else {\n delete attrs.disabled;\n }\n return {\n attrs\n };\n });\n return () => {\n return _createVNode(VPaper, data.value.attrs, ctx.slots);\n };\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VCardContent.scss';\nimport { defineComponent } from 'vue';\nexport const VCardContent = defineComponent({\n name: 'VCardContent',\n setup(_props, ctx) {\n return () => {\n return _createVNode(\"div\", {\n \"class\": \"v-card-content\"\n }, [ctx.slots.default?.()]);\n };\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VCardActions.scss';\nimport { defineComponent } from 'vue';\nexport const VCardActions = defineComponent({\n name: 'VCardActions',\n setup(_props, ctx) {\n return () => {\n return _createVNode(\"div\", {\n \"class\": \"v-card-actions\"\n }, [ctx.slots.default?.()]);\n };\n }\n});","import { mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\nimport './VButton.scss';\nimport { defineComponent, computed } from 'vue';\nimport { colorSchemeProps, useColorClasses } from '@fastkit/vue-color-scheme';\nimport { createPropsOptions } from '@fastkit/vue-utils';\nimport { VAction, actionableInheritProps } from '@fastkit/vue-action';\nimport { useVui } from '../../injections';\nimport { createControlProps, useControl } from '../../composables';\nimport { VProgressCircular } from '../loading';\nimport { VIcon } from '../VIcon';\n\n// @TODO Unable to resolve dts for `navigationableInheritProps`.\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nexport const BUTTON_ALIGNS = ['left', 'center', 'right'];\nfunction resolveRawVButtonIcon(raw, type = 'main') {\n if (!raw) return;\n return typeof raw === 'function' ? raw : () => _createVNode(VIcon, {\n \"class\": ['v-button__icon', `v-button__icon--${type}`],\n \"name\": raw\n }, null);\n}\nexport const vueButtonProps = createPropsOptions({\n ...colorSchemeProps(),\n ...actionableInheritProps,\n spacer: [Boolean, String],\n rounded: Boolean,\n icon: [String, Function],\n startIcon: [String, Function],\n endIcon: [String, Function],\n align: {\n type: String,\n default: 'center'\n },\n ...createControlProps()\n});\nconst LOADING_SIZE_MAP = {\n sm: 14,\n md: 20,\n lg: 28\n};\nexport const VButton = defineComponent({\n name: 'VButton',\n inheritAttrs: false,\n props: vueButtonProps,\n setup(props, ctx) {\n const vui = useVui();\n const control = useControl(props);\n const defaults = vui.setting('buttonDefault');\n const icon = computed(() => {\n const _icon = resolveRawVButtonIcon(props.icon);\n return _icon && _icon();\n });\n const startIcon = computed(() => {\n const _icon = resolveRawVButtonIcon(props.startIcon, 'start');\n return _icon && _icon();\n });\n const endIcon = computed(() => {\n const _icon = resolveRawVButtonIcon(props.endIcon, 'end');\n return _icon && _icon();\n });\n const color = useColorClasses({\n color: () => props.color || defaults.color,\n variant: () => props.variant || (icon.value ? vui.setting('plainVariant') : defaults.variant)\n });\n const isPlain = computed(() => color.variant.value.value === vui.setting('plainVariant') && color.color.value.value === defaults.color);\n const isLoading = computed(() => props.loading);\n // const isDisabled = computed(() => props.disabled);\n // const isRounded = computed(() =>\n // props.rounded != null ? props.rounded : !!icon.value,\n // );\n\n const spacer = computed(() => {\n const _spacer = props.spacer;\n if (!_spacer) return;\n return _spacer === true ? 'left' : _spacer;\n });\n const classes = computed(() => [color.colorClasses.value, spacer.value ? `v-button--spacer-${spacer.value}` : undefined, `v-button--${control.size.value}`, `v-button--align-${props.align}`, {\n 'v-button--loading': isLoading.value,\n 'v-button--icon': !!icon.value,\n 'v-button--rounded': props.rounded,\n 'v-button--plain': isPlain.value\n }]);\n return () => {\n return _createVNode(VAction, _mergeProps(ctx.attrs, {\n \"class\": ['v-button', classes.value]\n }), {\n default: () => [_createVNode(\"span\", {\n \"class\": \"v-button__content\"\n }, [startIcon.value, ctx.slots.default?.(), icon.value, endIcon.value]), isLoading.value && _createVNode(VProgressCircular, {\n \"class\": \"v-button__loading\",\n \"indeterminate\": true,\n \"size\": LOADING_SIZE_MAP[control.size.value]\n }, null)]\n });\n };\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VButtonGroup.scss';\nimport { defineComponent, isVNode, cloneVNode } from 'vue';\nimport { colorSchemeProps } from '@fastkit/vue-color-scheme';\nimport { createControlProps } from '../../composables';\nimport { renderSlotOrEmpty, isFragment } from '@fastkit/vue-utils';\nimport { VButton } from './VButton';\nexport const VButtonGroup = defineComponent({\n name: 'VButtonGroup',\n props: {\n ...colorSchemeProps(),\n ...createControlProps(),\n disabled: Boolean\n },\n setup(props, ctx) {\n return () => {\n let hasIcon = false;\n let buttonLength = 0;\n let tmp = renderSlotOrEmpty(ctx.slots) || [];\n if (tmp.length === 1 && isFragment(tmp[0])) {\n tmp = tmp[0].children;\n }\n const children = tmp.map(node => {\n if (!isVNode(node) || node.type !== VButton) {\n return {\n isButton: false,\n node\n };\n }\n buttonLength++;\n if (!hasIcon && node.props && !!node.props.icon) {\n hasIcon = true;\n }\n return {\n isButton: true,\n node\n };\n });\n let buttonIndex = 0;\n const $children = children.map(child => {\n if (child.isButton) {\n buttonIndex++;\n const hasLeft = buttonIndex > 1;\n const hasRight = buttonIndex < buttonLength;\n const childProps = child.node.props;\n return cloneVNode(child.node, {\n ...props,\n ...childProps,\n rouded: false,\n class: ['v-button-group__item', {\n 'v-button--icon': hasIcon,\n 'v-button-group__item--has-left': hasLeft,\n 'v-button-group__item--has-right': hasRight\n }]\n });\n }\n return child.node;\n });\n return _createVNode(\"div\", {\n \"class\": ['v-button-group', {\n 'v-button-group--has-icon': hasIcon\n }]\n }, [$children]);\n };\n }\n});","import { isVNode as _isVNode, createVNode as _createVNode, createTextVNode as _createTextVNode } from \"vue\";\nimport './VPagination.scss';\nimport { defineComponent, ref, watch, computed, withDirectives } from 'vue';\nimport { createPropsOptions, rawNumberPropType, resolveNumberish } from '@fastkit/vue-utils';\nimport { isPromise } from '@fastkit/helpers';\nimport { useRouter, RouterLink } from 'vue-router';\nimport { resolveRawIconProp } from '../VIcon';\nimport { resizeDirectiveArgument } from '@fastkit/vue-resize';\nimport { useScopeColorClass } from '@fastkit/vue-color-scheme';\nimport { useVui } from '../../injections';\nfunction _isSlot(s) {\n return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nexport const PAGINATION_ALIGNS = ['left', 'center', 'right'];\nexport function paginationProps() {\n return createPropsOptions({\n /**\n * Active Pages\n */\n modelValue: {\n type: rawNumberPropType,\n default: 1\n },\n /**\n * Total number of pages\n */\n length: {\n type: rawNumberPropType,\n default: 0\n },\n /**\n * Maximum number of links to display.\n */\n totalVisible: rawNumberPropType,\n /**\n * true when narrowing\n */\n dense: Boolean,\n disabled: Boolean,\n align: {\n type: String,\n default: 'center'\n },\n /**\n * To synchronize with a query, use the query name\n */\n routeQuery: String,\n beforeChange: Function,\n color: String\n });\n}\nexport const VPagination = defineComponent({\n name: 'VPagination',\n props: paginationProps(),\n emits: {\n change: page => true,\n 'update:modelValue': page => true\n },\n setup(props, ctx) {\n const vui = useVui();\n const elRef = ref(null);\n const router = useRouter();\n const internalValue = ref(1);\n const containerWidth = ref(0);\n const itemSize = ref(0);\n const capacityLength = computed(() => {\n const _itemSize = itemSize.value;\n if (!_itemSize) return 0;\n return Math.floor(containerWidth.value / _itemSize);\n });\n const colorScope = useScopeColorClass({\n color: () => props.color || vui.setting('primaryScope')\n });\n const computedLength = computed(() => resolveNumberish(props.length));\n const computedTotalVisible = computed(() => resolveNumberish(props.totalVisible));\n const computedNumbersLength = computed(() => capacityLength.value - 2 - 2);\n const computedPage = computed(() => {\n const {\n routeQuery\n } = props;\n if (routeQuery) {\n return vui.location.getQuery(routeQuery, Number, 1);\n }\n return internalValue.value;\n });\n const _range = (from, to) => {\n const range = [];\n from = from > 0 ? from : 1;\n for (let i = from; i <= to; i++) {\n range.push(i);\n }\n return range;\n };\n const computedItems = computed(() => {\n const maxButtons = computedNumbersLength.value;\n const totalVisible = computedTotalVisible.value;\n const length = computedLength.value;\n const pageValue = computedPage.value;\n const maxLength = Math.min(Math.max(0, totalVisible || 0) || length, Math.max(0, maxButtons) || length, length);\n if (length <= maxLength) {\n return _range(1, length);\n }\n const even = maxLength % 2 === 0 ? 1 : 0;\n const left = Math.floor(maxLength / 2);\n const right = length - left + 1 + even;\n if (pageValue > left && pageValue < right) {\n const start = pageValue - left + 2;\n const end = pageValue + left - 2 - even;\n return [1, 'truncate', ..._range(start, end), 'truncate', length];\n } else if (pageValue === left) {\n const end = pageValue + left - 1 - even;\n return [..._range(1, end), 'truncate', length];\n } else if (pageValue === right) {\n const start = pageValue - left + 1;\n return [1, 'truncate', ..._range(start, length)];\n } else {\n return [..._range(1, left), 'truncate', ..._range(right, length)];\n }\n });\n const isActive = computed(() => computedLength.value > 1);\n const isTransitioning = computed(() => {\n const {\n routeQuery\n } = props;\n return vui.location.isQueryOnlyTransitioning(routeQuery);\n });\n const isDisabled = computed(() => props.disabled || isTransitioning.value);\n const classes = computed(() => [{\n 'v-pagination--disabled': isDisabled.value,\n 'v-pagination--dense': props.dense,\n [`v-pagination--${props.align}`]: true\n }, colorScope.value.className]);\n async function setPage(value) {\n if (isDisabled.value) return;\n const {\n beforeChange,\n routeQuery\n } = props;\n const newPage = resolveNumberish(value);\n if (computedPage.value === newPage) return;\n if (beforeChange) {\n try {\n let result = beforeChange(newPage);\n if (isPromise(result)) result = await result;\n if (result === false) return;\n } catch (e) {}\n }\n if (routeQuery) {\n const to = createRoutableLocationByPage(newPage, routeQuery);\n return router.push(to).then(failure => {\n !failure && ctx.emit('change', newPage);\n });\n } else {\n internalValue.value = newPage;\n ctx.emit('update:modelValue', newPage);\n ctx.emit('change', newPage);\n }\n }\n function createPageInfo(source) {\n const currentPage = computedPage.value;\n const length = computedLength.value;\n let number;\n let page;\n let active;\n let disabled;\n if (typeof source === 'number') {\n number = true;\n page = source;\n active = currentPage === page;\n disabled = false;\n } else if (source === 'truncate') {\n number = false;\n active = false;\n disabled = false;\n } else {\n number = false;\n const isPrev = source === 'prev';\n const ammount = isPrev ? -1 : 1;\n page = currentPage + ammount;\n active = false;\n disabled = page < 1 || page > length;\n }\n return {\n number,\n page,\n active,\n disabled\n };\n }\n function createRoutableLocationByPage(page, routeQuery) {\n return vui.location.getQueryMergedLocation({\n [routeQuery]: page\n });\n }\n function genItem(source, index) {\n const {\n number,\n page,\n active,\n disabled\n } = createPageInfo(source);\n const type = number ? 'num' : source;\n const classes = ['v-pagination__item', {\n [`v-pagination__item--${type}`]: true,\n 'v-pagination__item--active': active,\n 'v-pagination__item--disabled': disabled\n }];\n const children = number ? page : (() => {\n if (type === 'truncate') {\n return _createVNode(\"span\", null, [_createTextVNode(\"...\")]);\n }\n const isPrev = type === 'prev';\n const icon = isPrev ? vui.icon('prev') : vui.icon('next');\n return resolveRawIconProp(false, icon, {\n class: 'v-pagination__item__icon'\n });\n })();\n const onClick = ev => {\n ev.preventDefault();\n if (page === undefined || active || disabled) return;\n setPage(page);\n };\n const key = `${source}-${index}`;\n const {\n routeQuery\n } = props;\n if (page !== undefined && routeQuery) {\n const to = createRoutableLocationByPage(page, routeQuery);\n return _createVNode(RouterLink, {\n \"class\": classes,\n \"to\": to,\n \"key\": key\n }, _isSlot(children) ? children : {\n default: () => [children]\n });\n } else {\n return _createVNode(\"button\", {\n \"class\": classes,\n \"type\": \"button\",\n \"value\": page,\n \"onClick\": onClick,\n \"key\": key\n }, [children]);\n }\n }\n watch(() => props.modelValue, modelValue => {\n internalValue.value = resolveNumberish(modelValue);\n }, {\n immediate: true\n });\n return () => {\n if (!isActive.value) return undefined;\n const $items = ['prev', ...computedItems.value, 'next'].map((i, index) => genItem(i, index));\n return withDirectives(_createVNode(\"nav\", {\n \"class\": ['v-pagination', classes.value],\n \"ref\": elRef\n }, [$items]), [resizeDirectiveArgument(({\n width\n }) => {\n const el = elRef.value;\n if (el) {\n const style = window.getComputedStyle(el, 'before');\n const width = style.getPropertyValue('width');\n const margin = style.getPropertyValue('margin');\n const size = parseFloat(width) + parseFloat(margin) * 0.5;\n itemSize.value = size;\n }\n containerWidth.value = width;\n })]);\n };\n }\n});","import { mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\nimport './VListTile.scss';\nimport { defineComponent, computed, watch } from 'vue';\nimport { rawIconProp, resolveRawIconProp } from '../VIcon';\nimport { createPropsOptions } from '@fastkit/vue-utils';\nimport { actionableInheritProps, VAction } from '@fastkit/vue-action';\nimport { useScopeColorClass } from '@fastkit/vue-color-scheme';\nimport { useVui } from '../../injections';\n\n// @TODO Unable to resolve dts for `actionableInheritProps`.\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nexport function createListTileProps() {\n const icon = rawIconProp();\n return {\n ...actionableInheritProps,\n ...createPropsOptions({\n startIcon: icon,\n endIcon: icon,\n linkFallbackTag: {\n type: String,\n default: 'div'\n },\n startIconEmptySpace: Boolean,\n color: String,\n exactMatch: Boolean\n })\n };\n}\nexport const listTileEmits = {\n changeActive: isActive => true\n};\nexport const VListTile = defineComponent({\n name: 'VListTile',\n inheritAttrs: false,\n props: createListTileProps(),\n emits: {\n ...listTileEmits\n },\n setup(props, ctx) {\n const vui = useVui();\n const startIcon = computed(() => {\n let icon = resolveRawIconProp(false, props.startIcon);\n if (!icon && props.startIconEmptySpace) {\n icon = resolveRawIconProp(false, '$empty');\n }\n return icon;\n });\n const endIcon = computed(() => resolveRawIconProp(false, props.endIcon));\n const hasTo = computed(() => !!ctx.attrs.to);\n const link = vui.useLink({\n to: ctx.attrs.to || ''\n });\n const isActive = computed(() => {\n if (!hasTo.value) return false;\n return props.exactMatch ? link.isExactActive.value : link.isActive.value;\n });\n const color = useScopeColorClass(props);\n const classes = computed(() => {\n const _color = color.value;\n const hasColor = !!_color.value;\n return [color.value.className, {\n 'v-list-tile--plain': !hasColor,\n 'v-list-tile--has-color': hasColor,\n 'v-list-tile--active': isActive.value\n }];\n });\n watch(() => isActive.value, isActive => {\n ctx.emit('changeActive', isActive);\n }, {\n immediate: true\n });\n return () => {\n const _startIcon = startIcon.value;\n const _endIcon = endIcon.value;\n return _createVNode(VAction, _mergeProps(ctx.attrs, {\n \"class\": ['v-list-tile', classes.value],\n \"clickableClassName\": \"v-list-tile--clickable\"\n }), {\n default: () => [_startIcon && _createVNode(\"span\", {\n \"class\": \"v-list-tile__icon v-list-tile__icon--start\"\n }, [_startIcon]), _createVNode(\"span\", {\n \"class\": \"v-list-tile__body\"\n }, [ctx.slots.default?.()]), _endIcon && _createVNode(\"span\", {\n \"class\": \"v-list-tile__icon v-list-tile__icon--end\"\n }, [_endIcon])]\n });\n };\n }\n});","import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from \"vue\";\nimport './VDrawerLayout.scss';\nimport { defineComponent, computed } from 'vue';\nimport { createPaperBaseProps, paperBaseSlots, VPaper } from '../VPaper';\nexport const VDrawerLayout = defineComponent({\n name: 'VDrawerLayout',\n props: {\n ...createPaperBaseProps()\n },\n slots: paperBaseSlots,\n setup(props, ctx) {\n return () => {\n const paperProps = computed(() => ({\n color: props.color,\n tag: props.tag\n }));\n return _createVNode(VPaper, _mergeProps({\n \"class\": \"v-drawer-layout\",\n \"innerClass\": \"v-drawer-layout__inner\"\n }, paperProps.value, {\n \"square\": true,\n \"headerProps\": {\n class: 'v-drawer-layout__header'\n },\n \"bodyProps\": {\n class: 'v-drawer-layout__body'\n },\n \"footerProps\": {\n class: 'v-drawer-layout__footer'\n }\n }), ctx.slots);\n };\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VHero.scss';\nimport { defineComponent } from 'vue';\nimport { defineSlots } from '@fastkit/vue-utils';\nimport { toScopeColorClass } from '@fastkit/vue-color-scheme';\nimport { VAppContainer } from '@fastkit/vue-app-layout';\nconst slots = defineSlots();\nexport const VHero = defineComponent({\n name: 'VHero',\n props: {\n color: {\n type: String,\n default: 'primary'\n },\n tag: {\n type: String,\n default: 'header'\n },\n hTag: {\n type: String,\n default: 'h1'\n },\n ...slots()\n },\n slots,\n setup(props, ctx) {\n return () => {\n const TagName = props.tag;\n const HTagName = props.hTag;\n const adornment = ctx.slots.adornment?.();\n return _createVNode(VAppContainer, {\n \"pulled\": true\n }, {\n default: () => [_createVNode(TagName, {\n \"class\": ['v-hero', toScopeColorClass(props.color)]\n }, {\n default: () => [_createVNode(HTagName, {\n \"class\": \"v-hero__title\"\n }, {\n default: () => [ctx.slots.default?.()]\n }), adornment && _createVNode(\"div\", {\n \"class\": \"v-hero__adornment\"\n }, [adornment])]\n })]\n });\n };\n }\n});","import { Fragment as _Fragment, withDirectives as _withDirectives, vShow as _vShow, mergeProps as _mergeProps, createVNode as _createVNode, isVNode as _isVNode } from \"vue\";\nimport './VNavigationItem.scss';\nimport { defineComponent, computed, Fragment, ref, watch } from 'vue';\nimport { createListTileProps, listTileEmits, VListTile } from '../VListTile';\nimport { VExpandTransition } from '@fastkit/vue-transitions';\nimport { useVui } from '../../injections';\nimport { useRoute } from 'vue-router';\n\n// @TODO Unable to resolve dts for `actionableInheritProps`.\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nfunction _isSlot(s) {\n return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nexport function createNavigationItemProps() {\n return {\n ...createListTileProps(),\n match: [String, Array],\n depth: {\n type: Number,\n default: 0\n },\n nested: Boolean,\n color: String\n // key: {\n // type: [String, Number],\n // required: true,\n // },\n };\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\n\nexport function resolveNavigationItemInput(input) {\n let label = input.label;\n const props = {\n ...input\n };\n if (typeof label === 'function') {\n label = label();\n }\n delete props.label;\n return {\n label,\n props\n };\n}\nexport function renderNavigationItemInput(input, extraProps) {\n const {\n label,\n props\n } = resolveNavigationItemInput(input);\n return _createVNode(VNavigationItem, {\n ...props,\n ...extraProps\n }, _isSlot(label) ? label : {\n default: () => [label]\n });\n}\nconst TRIM_END_SLASH_RE = /\\/$/;\nfunction trimEndSlash(sorce) {\n return sorce ? sorce.replace(TRIM_END_SLASH_RE, '') : sorce;\n}\nexport const VNavigationItem = defineComponent({\n name: 'VNavigationItem',\n inheritAttrs: false,\n props: {\n ...createNavigationItemProps(),\n children: Array\n },\n emits: {\n ...listTileEmits\n },\n setup(props, ctx) {\n const vui = useVui();\n const opened = ref(false);\n const children = computed(() => {\n const c = props.children;\n return c && c.length ? c : undefined;\n });\n const to = computed(() => ctx.attrs.to);\n const match = computed(() => {\n const {\n match\n } = props;\n const {\n to\n } = ctx.attrs;\n if (match) {\n return (Array.isArray(match) ? match : [match]).map(trimEndSlash);\n }\n if (!to) return;\n const toPath = typeof to === 'string' ? to : to.path;\n if (!toPath) return;\n return [trimEndSlash(toPath)];\n });\n const classes = computed(() => [{\n 'v-navigation-item--opened': opened.value,\n [`v-navigation-item--depth-${props.depth}`]: props.depth > 0\n }]);\n const route = useRoute();\n\n // const classes = computed(() => [\n // // {\n // // 'v-navigation-item--matched': matched.value,\n // // },\n // ]);\n\n watch(() => route.path, newPath => {\n const c = children.value;\n const m = match.value;\n if (!c || !m || !m.length) {\n // matched.value = false;\n return;\n }\n const trimedNewPath = trimEndSlash(newPath);\n if (m.some(_ => trimedNewPath.match(_))) {\n open();\n // matched.value = true;\n } else {\n close();\n // matched.value = false;\n }\n\n // if (trimEndSlash(newPath).match(m)) {\n // open();\n // // matched.value = true;\n // } else {\n // close();\n // // matched.value = false;\n // }\n }, {\n immediate: true\n });\n\n // const iconPayload = () => opened.value;\n\n const _props = computed(() => {\n const c = children.value;\n let {\n endIcon\n } = props;\n if (c && !endIcon) {\n endIcon = vui.icon('navigationExpand');\n if (typeof endIcon === 'string') {\n const name = endIcon;\n endIcon = gen => {\n return gen({\n name,\n rotate: opened.value ? 180 : 0\n });\n };\n }\n }\n const __props = {\n ...props,\n endIcon\n };\n delete __props.children;\n\n // const _activeClass = props.activeClass;\n // const activeClass = `v-navigation-item--active${\n // _activeClass ? ` ${_activeClass}` : ''\n // }`;\n\n return {\n ...__props\n // activeClass,\n // startIcon: toRawIconProp(__props.startIcon, iconPayload),\n // endIcon: toRawIconProp(__props.endIcon, iconPayload),\n };\n });\n\n function open() {\n if (!children.value) return;\n opened.value = true;\n }\n function close() {\n opened.value = false;\n }\n function toggle() {\n return opened.value ? close() : open();\n }\n const onClick = ev => {\n if (!to.value) {\n return toggle();\n }\n // console.log('★');\n // open();\n // if (!to.value) {\n // toggle();\n // }\n // ctx.emit('click', ev);\n };\n\n const onChangeActive = isActive => {\n // if (isActive) {\n // // open();\n // // if (typeof window !== 'undefined') {\n // // // open();\n // // // console.log('hoge', window);\n // // setTimeout(() => {\n // // open();\n // // }, 1000);\n // // }\n // // open();\n // // console.log(props);\n // // setTimeout(() => {\n // // open();\n // // }, 500);\n // }\n ctx.emit('changeActive', isActive);\n };\n ctx.expose({\n close\n });\n return () => {\n const _children = children.value;\n const fallbackTag = _children ? 'button' : undefined;\n return _createVNode(_Fragment, null, [_createVNode(VListTile, _mergeProps(ctx.attrs, _props.value, {\n \"fallbackTag\": fallbackTag,\n \"endIcon\": _props.value.endIcon,\n \"class\": ['v-navigation-item', classes.value],\n \"onClick\": onClick,\n \"onChangeActive\": onChangeActive\n }), {\n default: () => [ctx.slots.default?.()]\n }), _children && _createVNode(VExpandTransition, null, {\n default: () => [_withDirectives(_createVNode(\"div\", {\n \"class\": \"v-navigation-item__expand\"\n }, [_children.map(child => renderNavigationItemInput({\n color: props.color,\n ...child\n }, {\n startIconEmptySpace: _props.value.startIconEmptySpace,\n depth: props.nested ? props.depth + 1 : props.depth\n // onClick,\n // onChangeActive,\n }))]), [[_vShow, opened.value]])]\n })]);\n };\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VNavigation.scss';\nimport { defineComponent, computed, onBeforeUpdate, ref } from 'vue';\nimport { renderNavigationItemInput } from './VNavigationItem';\nimport { useScopeColorClass } from '@fastkit/vue-color-scheme';\nimport { createPropsOptions } from '@fastkit/vue-utils';\nexport function createNavigationProps() {\n return createPropsOptions({\n items: {\n type: Array,\n required: true\n },\n color: String,\n startIconEmptySpace: {\n type: Boolean,\n default: true\n },\n caption: [String, Function]\n });\n}\nexport const VNavigation = defineComponent({\n name: 'VNavigation',\n props: createNavigationProps(),\n setup(props, ctx) {\n const items = computed(() => props.items);\n const color = useScopeColorClass(props);\n const classes = computed(() => [color.value.className]);\n const startIconEmptySpace = computed(() => props.startIconEmptySpace);\n const caption = computed(() => {\n const c = props.caption;\n return typeof c === 'function' ? c() : c;\n });\n const itemsRef = ref([]);\n onBeforeUpdate(() => {\n itemsRef.value = [];\n });\n function setItemRef(item, itemRef) {\n itemsRef.value.push({\n key: item.key,\n ref: itemRef\n });\n }\n function onItemActivated(item) {\n itemsRef.value.forEach(({\n key,\n ref\n }) => {\n if (key === item.key) return;\n ref.close();\n });\n }\n return () => {\n const $caption = caption.value;\n return _createVNode(\"nav\", {\n \"class\": ['v-navigation', classes.value]\n }, [!!$caption && _createVNode(\"div\", {\n \"class\": \"v-navigation__caption\"\n }, [$caption]), items.value.map(item => renderNavigationItemInput(item, {\n class: 'v-navigation__item',\n startIconEmptySpace: startIconEmptySpace.value,\n ref: ref => {\n setItemRef(item, ref);\n },\n onChangeActive: isActive => {\n if (isActive /* && item.children && item.children.length*/) {\n onItemActivated(item);\n }\n }\n }))]);\n };\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VControlField.scss';\nimport { computed, ref, defineComponent } from 'vue';\nimport { useParentFormNode } from '@fastkit/vue-form-control';\nimport { resolveVNodeChildOrSlots, createPropsOptions, defineSlots } from '@fastkit/vue-utils';\nimport { createControlProps, useControl, createControlFieldProviderProps, useControlField } from '../../composables';\nimport { useVuiColorProvider } from '../../injections';\nimport { VProgressCircular } from '../loading';\nimport { CONTROL_LOADING_SPINNER_SIZES } from '../../schemes';\nconst ADORNMENT_POSITIONS = ['start', 'end'];\nexport function createControlFieldProps() {\n return {\n ...createPropsOptions({\n startAdornment: {},\n endAdornment: {},\n tabindex: {\n type: [String, Number],\n default: 0\n }\n }),\n ...createControlFieldProviderProps(),\n ...createControlProps()\n };\n}\n\n// export const inputBoxSlots = {\n// default: () => true,\n// startAdornment: () => true,\n// endAdornment: () => true,\n// };\nconst slots = defineSlots();\nexport const VControlField = defineComponent({\n name: 'VControlField',\n props: {\n ...createControlFieldProps(),\n focused: Boolean,\n autoHeight: Boolean,\n ...slots(),\n error: Boolean\n },\n slots,\n emits: {\n click: ev => true\n },\n setup(props, ctx) {\n const parentNode = useParentFormNode();\n const control = useControl(props);\n const inputBox = useControlField(props);\n const hostElRef = ref(null);\n const disabled = computed(() => !!parentNode && parentNode.isDisabled);\n const invalid = computed(() => !!parentNode && parentNode.invalid);\n const autoHeight = computed(() => props.autoHeight);\n const readonly = computed(() => !!parentNode && parentNode.isReadonly);\n // const computedTabindex = computed(() =>\n // disabled.value ? -1 : props.tabindex,\n // );\n // const isOutlined = computed(() => inputBox.variant.value === 'outlined');\n const colorProvider = useVuiColorProvider();\n const classes = computed(() => {\n const classes = ['v-control-field', `v-control-field--${inputBox.variant.value}`, {\n 'v-control-field--disabled': disabled.value,\n 'v-control-field--invalid': invalid.value || props.error,\n 'v-control-field--readonly': readonly.value,\n 'v-control-field--focused': props.focused,\n 'v-control-field--auto-height': autoHeight.value\n }, control.classes.value, colorProvider.className(props.error ? 'error' : invalid.value && !readonly.value ? 'error' : 'primary')];\n return classes;\n });\n const resolvedSlots = computed(() => {\n const slots = {};\n ADORNMENT_POSITIONS.forEach(position => {\n const key = `${position}Adornment`;\n slots[position] = resolveVNodeChildOrSlots(props[key], ctx.slots[key]);\n });\n return slots;\n });\n const renderAdornment = position => {\n let child;\n if (position === 'end' && props.loading) {\n child = _createVNode(VProgressCircular, {\n \"indeterminate\": true,\n \"size\": CONTROL_LOADING_SPINNER_SIZES[props.size || 'md']\n }, null);\n } else {\n child = resolvedSlots.value[position]?.();\n }\n if (!child) return;\n return _createVNode(\"div\", {\n \"class\": ['v-control-field__adornment', `v-control-field__adornment--${position}`]\n }, [child]);\n };\n const handleClick = ev => ctx.emit('click', ev);\n return () => {\n return _createVNode(\"div\", {\n \"class\": classes.value,\n \"onClick\": handleClick,\n \"ref\": hostElRef\n }, [renderAdornment('start'), _createVNode(\"div\", {\n \"class\": \"v-control-field__body\"\n }, [ctx.slots.default?.()]), renderAdornment('end')]);\n };\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VTextCounter.scss';\nimport { defineComponent } from 'vue';\nexport const VTextCounter = defineComponent({\n name: 'VTextCounter',\n props: {\n length: {\n type: Number,\n required: true\n },\n maxlength: {\n type: Number,\n required: true\n }\n },\n render() {\n return _createVNode(\"span\", {\n \"class\": \"v-text-counter\"\n }, [`${this.length} / ${this.maxlength}`]);\n }\n});","import { resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\nimport './VCheckbox.scss';\nimport { defineComponent, computed } from 'vue';\nimport { createFormSelectorItemSettings, useFormSelectorItemControl } from '@fastkit/vue-form-control';\nimport { createControlProps, useControl } from '../../composables';\nimport { VUI_CHECKBOX_GROUP_SYMBOL, VUI_CHECKBOX_SYMBOL } from '../../injections';\nimport { VCheckable } from '../VCheckable';\nconst {\n props,\n emits\n} = createFormSelectorItemSettings();\nexport const VCheckbox = defineComponent({\n name: 'VCheckbox',\n props: {\n ...props,\n ...createControlProps(),\n indeterminate: Boolean\n },\n emits,\n setup(props, ctx) {\n const nodeControl = useFormSelectorItemControl(props, ctx, {\n nodeType: VUI_CHECKBOX_SYMBOL,\n parentNodeType: VUI_CHECKBOX_GROUP_SYMBOL\n });\n const control = useControl(props);\n const isIndeterminate = computed(() => props.indeterminate);\n return {\n ...nodeControl.expose(),\n ...control,\n isIndeterminate\n };\n },\n render() {\n const {\n selectorItemControl,\n isIndeterminate\n } = this;\n return _createVNode(VCheckable, {\n \"class\": ['v-checkbox', {\n 'v-checkbox--selected': selectorItemControl.selected,\n 'v-checkbox--indeterminate': isIndeterminate\n }, this.classes],\n \"checked\": this.selected || isIndeterminate,\n \"invalid\": this.invalid,\n \"disabled\": this.isDisabled,\n \"readonly\": this.isReadonly\n }, {\n input: () => selectorItemControl.createInputElement({\n type: 'checkbox'\n }),\n faux: () => _createVNode(\"span\", {\n \"class\": \"v-checkbox__faux\"\n }, null),\n label: () => this.$slots.default?.()\n });\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VCheckable.scss';\nimport { computed, defineComponent } from 'vue';\nimport { defineSlots } from '@fastkit/vue-utils';\nimport { useVuiColorProvider } from '../../injections';\nconst slots = defineSlots();\nexport const VCheckable = defineComponent({\n name: 'VCheckable',\n props: {\n invalid: Boolean,\n disabled: Boolean,\n readonly: Boolean,\n checked: Boolean,\n ...slots()\n // autoWidth: Boolean,\n },\n\n slots,\n setup(props, ctx) {\n const colorProvider = useVuiColorProvider();\n const invalid = computed(() => props.invalid);\n const disabled = computed(() => props.disabled);\n const readonly = computed(() => props.readonly);\n const checked = computed(() => props.checked);\n // const autoWidth = computed(() => props.autoWidth);\n const classes = computed(() => {\n return [{\n 'v-checkable--invalid': invalid.value,\n 'v-checkable--disabled': disabled.value,\n 'v-checkable--readonly': readonly.value,\n 'v-checkable--checked': checked.value,\n 'v-checkable--custom-icon': !!ctx.slots.icon,\n disabled: disabled.value\n }, colorProvider.className(invalid.value ? 'error' : 'primary')];\n });\n return () => _createVNode(\"label\", {\n \"class\": ['v-checkable', classes.value]\n }, [_createVNode(\"span\", {\n \"class\": \"v-checkable__faux\"\n }, [ctx.slots.input?.(), ctx.slots.icon ? ctx.slots.icon() : _createVNode(\"span\", {\n \"class\": \"v-checkable__faux__icon\"\n }, [ctx.slots.faux?.()])]), _createVNode(\"span\", {\n \"class\": \"v-checkable__label\"\n }, [ctx.slots.label?.()])]);\n }\n});","import { createVNode as _createVNode, isVNode as _isVNode } from \"vue\";\nimport { VUI_CHECKBOX_GROUP_SYMBOL } from '../../injections';\nimport { VCheckbox } from '../VCheckbox';\nimport { defineFormSelectorComponent } from '../../composables';\nfunction _isSlot(s) {\n return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nexport const VCheckboxGroup = defineFormSelectorComponent({\n name: 'VCheckboxGroup',\n defaultMultiple: true,\n nodeType: VUI_CHECKBOX_GROUP_SYMBOL,\n className: 'v-checkbox-group',\n itemRenderer: ({\n attrs,\n slots\n }) => _createVNode(VCheckbox, attrs, _isSlot(slots) ? slots : {\n default: () => [slots]\n })\n});","import { resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\nimport './VRadio.scss';\nimport { defineComponent } from 'vue';\nimport { createFormSelectorItemSettings, useFormSelectorItemControl } from '@fastkit/vue-form-control';\nimport { createControlProps, useControl } from '../../composables';\nimport { VUI_RADIO_GROUP_SYMBOL, VUI_RADIO_SYMBOL } from '../../injections';\nimport { VCheckable } from '../VCheckable';\nconst {\n props,\n emits\n} = createFormSelectorItemSettings();\nexport const VRadio = defineComponent({\n name: 'VRadio',\n props: {\n ...props,\n ...createControlProps()\n },\n emits,\n setup(props, ctx) {\n const nodeControl = useFormSelectorItemControl(props, ctx, {\n nodeType: VUI_RADIO_SYMBOL,\n parentNodeType: VUI_RADIO_GROUP_SYMBOL\n });\n const control = useControl(props);\n return {\n ...nodeControl.expose(),\n ...control\n };\n },\n render() {\n const {\n selectorItemControl\n } = this;\n return _createVNode(VCheckable, {\n \"class\": ['v-radio', {\n 'v-radio--selected': selectorItemControl.selected\n }, this.classes],\n \"checked\": this.selected,\n \"invalid\": this.invalid,\n \"disabled\": this.isDisabled,\n \"readonly\": this.isReadonly\n }, {\n input: () => selectorItemControl.createInputElement({\n type: 'radio'\n }),\n faux: () => _createVNode(\"span\", {\n \"class\": \"v-radio__faux\"\n }, null),\n label: () => this.$slots.default?.()\n });\n }\n});","import { createVNode as _createVNode, isVNode as _isVNode } from \"vue\";\nimport { VUI_RADIO_GROUP_SYMBOL } from '../../injections';\nimport { VRadio } from '../VRadio';\nimport { defineFormSelectorComponent } from '../../composables';\nfunction _isSlot(s) {\n return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nexport const VRadioGroup = defineFormSelectorComponent({\n name: 'VRadioGroup',\n nodeType: VUI_RADIO_GROUP_SYMBOL,\n className: 'v-radio-group',\n itemRenderer: ({\n attrs,\n slots\n }) => _createVNode(VRadio, attrs, _isSlot(slots) ? slots : {\n default: () => [slots]\n })\n});","import { resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\nimport './VSwitch.scss';\nimport { defineComponent } from 'vue';\nimport { createFormSelectorItemSettings, useFormSelectorItemControl } from '@fastkit/vue-form-control';\nimport { createControlProps, useControl } from '../../composables';\nimport { VUI_SWITCH_GROUP_SYMBOL, VUI_SWITCH_SYMBOL } from '../../injections';\nimport { VCheckable } from '../VCheckable';\nconst {\n props,\n emits\n} = createFormSelectorItemSettings();\nexport const VSwitch = defineComponent({\n name: 'VSwitch',\n props: {\n ...props,\n ...createControlProps()\n },\n emits,\n setup(props, ctx) {\n const nodeControl = useFormSelectorItemControl(props, ctx, {\n nodeType: VUI_SWITCH_SYMBOL,\n parentNodeType: VUI_SWITCH_GROUP_SYMBOL\n });\n const control = useControl(props);\n if (typeof window !== 'undefined') {\n window.yy = {};\n window.yy[String(Date.now())] = nodeControl;\n }\n return {\n ...nodeControl.expose(),\n ...control\n };\n },\n render() {\n const {\n selectorItemControl\n } = this;\n return _createVNode(VCheckable, {\n \"class\": ['v-switch', {\n 'v-switch--selected': selectorItemControl.selected,\n 'v-switch--disabled': selectorItemControl.isDisabled\n }, this.classes],\n \"checked\": this.selected,\n \"invalid\": this.invalid,\n \"disabled\": this.isDisabled,\n \"readonly\": this.isReadonly\n }, {\n input: () => selectorItemControl.createInputElement({\n type: 'checkbox'\n }),\n icon: () => _createVNode(\"span\", {\n \"class\": \"v-switch__faux\"\n }, [_createVNode(\"span\", {\n \"class\": \"v-switch__faux__pin\"\n }, null)]),\n label: () => this.$slots.default?.()\n });\n }\n});","import { createVNode as _createVNode, isVNode as _isVNode } from \"vue\";\nimport { VUI_SWITCH_GROUP_SYMBOL } from '../../injections';\nimport { VSwitch } from '../VSwitch';\nimport { defineFormSelectorComponent } from '../../composables';\nfunction _isSlot(s) {\n return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nexport const VSwitchGroup = defineFormSelectorComponent({\n name: 'VSwitchGroup',\n defaultMultiple: true,\n nodeType: VUI_SWITCH_GROUP_SYMBOL,\n className: 'v-switch-group',\n itemRenderer: ({\n attrs,\n slots\n }) => _createVNode(VSwitch, attrs, _isSlot(slots) ? slots : {\n default: () => [slots]\n })\n});","import { mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\nimport './VOption.scss';\nimport { defineComponent, computed } from 'vue';\nimport { createFormSelectorItemSettings, useFormSelectorItemControl } from '@fastkit/vue-form-control';\nimport { createControlProps, useControl } from '../../composables';\nimport { VUI_SELECT_SYMBOL, VUI_OPTION_SYMBOL } from '../../injections';\nconst {\n props,\n emits\n} = createFormSelectorItemSettings();\nexport const VOption = defineComponent({\n name: 'VOption',\n props: {\n ...props,\n ...createControlProps()\n },\n emits,\n setup(props, ctx) {\n const nodeControl = useFormSelectorItemControl(props, ctx, {\n nodeType: VUI_OPTION_SYMBOL,\n parentNodeType: VUI_SELECT_SYMBOL\n });\n const control = useControl(props);\n const classes = computed(() => {\n return ['v-option', {\n 'v-option--selected': nodeControl.selected,\n 'v-option--has-not-value': !nodeControl.hasValue,\n 'v-option--disabled': nodeControl.isDisabled\n }, control.classes.value];\n });\n return {\n ...nodeControl.expose(),\n classes\n };\n },\n render() {\n const {\n selectorItemControl,\n classes\n } = this;\n return _createVNode(\"label\", _mergeProps({\n \"class\": classes,\n \"onClick\": selectorItemControl.handleClickElement,\n \"tabindex\": selectorItemControl.tabindex,\n \"data-value\": selectorItemControl.propValue\n }, {\n 'aria-disabled': selectorItemControl.isDisabled\n }), [_createVNode(\"span\", {\n \"class\": \"v-option__label\"\n }, [this.$slots.default?.()])]);\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VOptionGroup.scss';\nimport { computed, defineComponent } from 'vue';\nimport { createFormSelectorItemGroupProps, useFormSelectorItemGroupControl } from '@fastkit/vue-form-control';\nimport { defineSlots, resolveVNodeChildOrSlots } from '@fastkit/vue-utils';\nimport { VUI_SELECT_SYMBOL } from '../../injections';\nconst slots = defineSlots();\nexport const VOptionGroup = defineComponent({\n name: 'VOptionGroup',\n props: {\n ...createFormSelectorItemGroupProps(),\n // eslint-disable-next-line vue/require-prop-types\n label: {},\n ...slots()\n },\n slots,\n setup(props, ctx) {\n const groupControl = useFormSelectorItemGroupControl(props, ctx, {\n parentNodeType: VUI_SELECT_SYMBOL\n });\n const labelSlot = computed(() => {\n return resolveVNodeChildOrSlots(props.label, ctx.slots.label);\n });\n const classes = computed(() => {\n return ['v-option-group', {\n 'v-option-group--disabled': groupControl.isDisabled\n }];\n });\n return {\n ...groupControl.expose(),\n classes,\n labelSlot\n };\n },\n render() {\n const {\n labelSlot,\n classes,\n groupControl\n } = this;\n const label = labelSlot ? labelSlot(groupControl) : undefined;\n return _createVNode(\"div\", {\n \"class\": classes\n }, [!!label && _createVNode(\"div\", {\n \"class\": \"v-option-group__label\"\n }, [label]), this.$slots.default?.()]);\n }\n});","import { resolveDirective as _resolveDirective, withDirectives as _withDirectives, vModelSelect as _vModelSelect, isVNode as _isVNode, createVNode as _createVNode } from \"vue\";\nimport './VSelect.scss';\nimport { ref, defineComponent, computed, nextTick } from 'vue';\nimport { createFormSelectorSettings, useFormSelectorControl, createFormControlProps } from '@fastkit/vue-form-control';\nimport { defineSlots, createPropsOptions, resolveVNodeChildOrSlots } from '@fastkit/vue-utils';\nimport { useKeyboard } from '@fastkit/vue-keyboard';\nimport { VFormControl } from '../VFormControl';\nimport { VControlField, createControlFieldProps } from '../VControlField';\nimport { createControlProps, useControl, createControlFieldProviderProps, useControlField } from '../../composables';\nimport { VUI_SELECT_SYMBOL, useVui } from '../../injections';\nimport { VIcon } from '../VIcon';\nimport { VMenu } from '../VMenu';\nimport { VOptionGroup } from '../VOptionGroup';\nimport { VOption } from '../VOption';\nimport { VButton } from '../VButton';\nfunction _isSlot(s) {\n return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nexport const ARROW_KEY_TYPES = useKeyboard.Key(['ArrowUp', 'ArrowDown']);\nexport const CHOICE_KEY_TYPES = useKeyboard.Key(['Enter', ' ']);\nexport const KEYBORD_EVENT_TYPES = useKeyboard.Key([...ARROW_KEY_TYPES, ...CHOICE_KEY_TYPES]);\nconst {\n props,\n emits\n} = createFormSelectorSettings();\nconst slots = defineSlots();\nexport const VSelect = defineComponent({\n name: 'VSelect',\n props: {\n ...props,\n ...createFormControlProps(),\n ...createControlFieldProps(),\n ...createControlFieldProviderProps(),\n ...createControlProps(),\n ...slots(),\n ...createPropsOptions({\n placeholder: String,\n loadingMessage: {},\n failedToLoadItemsMessage: {}\n }),\n closeOnNavigation: Boolean\n },\n slots,\n emits,\n setup(props, ctx) {\n const menuRef = ref(null);\n const menuOpened = ref(false);\n const showMenu = () => {\n menuOpened.value = true;\n };\n const closeMenu = () => {\n menuOpened.value = false;\n };\n const inputControl = useFormSelectorControl(props, ctx, {\n nodeType: VUI_SELECT_SYMBOL,\n onSelectItem: item => {\n closeMenu();\n }\n });\n const control = useControl(props);\n useControlField(props);\n const vui = useVui();\n const iconName = vui.icon('menuDown');\n const fieldRef = ref(null);\n const loadingMessageRef = computed(() => {\n const slot = resolveVNodeChildOrSlots(props.loadingMessage, vui.setting('loadingMessage'), 'Loading...');\n return slot && slot(vui);\n });\n const failedToLoadItemsMessageRef = computed(() => {\n const slot = resolveVNodeChildOrSlots(props.failedToLoadItemsMessage, vui.setting('failedToLoadDataMessage'), 'Failed to load data.');\n return slot && slot(vui);\n });\n const focus = opts => {\n fieldRef.value?.focus?.(opts);\n };\n const renderSelections = selectedItems => {\n const selectionSlot = ctx.slots.selection;\n const children = [];\n if (inputControl.itemsLoadFailed) {\n children.push(_createVNode(\"span\", {\n \"class\": \"v-select__placeholder\"\n }, [failedToLoadItemsMessageRef.value]));\n } else if (inputControl.itemsLoading) {\n children.push(_createVNode(\"span\", {\n \"class\": \"v-select__placeholder\"\n }, [loadingMessageRef.value]));\n } else if (selectedItems.length) {\n selectedItems.forEach((item, index) => {\n if (index > 0) {\n children.push(vui.selectionSeparator());\n }\n const child = selectionSlot ? selectionSlot({\n item,\n index\n }) : item.renderDefaultSlot();\n children.push(child);\n });\n } else if (props.placeholder != null) {\n children.push(_createVNode(\"span\", {\n \"class\": \"v-select__placeholder\"\n }, [props.placeholder]));\n }\n return children;\n };\n const clearKeyFocused = () => {\n const menu = menuRef.value?.menu;\n if (!menu) return;\n const bodyEl = menu.bodyRef.value;\n if (!bodyEl) return;\n const els = Array.from(bodyEl.querySelectorAll('.v-option'));\n els.forEach(el => el.classList.remove('v-option--key-focused'));\n };\n const getItemElements = () => {\n const menu = menuRef.value?.menu;\n if (!menu) return;\n const bodyEl = menu.bodyRef.value;\n if (!bodyEl) return;\n const els = Array.from(bodyEl.querySelectorAll('.v-option')).filter(el => {\n if (el.tabIndex === -1) return false;\n const disabled = el.getAttribute('disabled');\n const ariaDisabled = el.getAttribute('aria-disabled');\n if (ariaDisabled === 'true') return false;\n return disabled == null || disabled === '';\n });\n if (!els.length) return;\n return els;\n };\n const arrowKeyHandler = ev => {\n const {\n key\n } = ev;\n if (!menuOpened.value || !ARROW_KEY_TYPES.includes(key)) return;\n const els = getItemElements();\n if (!els) return;\n const currentEl = els.find(el => el.classList.contains('v-option--key-focused'));\n const currentIndex = currentEl && els.indexOf(currentEl);\n let nextIndex;\n const {\n length\n } = els;\n const isUp = key === 'ArrowUp';\n if (currentIndex == null) {\n nextIndex = isUp ? length - 1 : 0;\n } else {\n const shiftAmount = key === 'ArrowUp' ? -1 : 1;\n nextIndex = currentIndex + shiftAmount;\n if (nextIndex < 0) {\n nextIndex = length - 1;\n } else if (nextIndex >= length) {\n nextIndex = 0;\n }\n }\n const nextEl = els[nextIndex];\n if (nextEl) {\n clearKeyFocused();\n nextEl.classList.add('v-option--key-focused');\n nextEl.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n behavior: 'smooth'\n });\n ev.preventDefault();\n }\n };\n const choiceKeyHandler = ev => {\n const {\n key\n } = ev;\n if (!menuOpened.value || !CHOICE_KEY_TYPES.includes(key)) return;\n const els = getItemElements();\n if (!els) return;\n const currentEl = els.find(el => el.classList.contains('v-option--key-focused'));\n if (currentEl) {\n const ev = new MouseEvent('click', {\n view: window,\n bubbles: true,\n cancelable: true\n });\n currentEl.dispatchEvent(ev);\n ev.preventDefault();\n nextTick(() => {\n currentEl.classList.add('v-option--key-focused');\n });\n }\n };\n const keyboardEventHandler = ev => {\n if (ARROW_KEY_TYPES.includes(ev.key)) return arrowKeyHandler(ev);\n if (CHOICE_KEY_TYPES.includes(ev.key)) return choiceKeyHandler(ev);\n };\n useKeyboard([{\n key: KEYBORD_EVENT_TYPES,\n handler: keyboardEventHandler\n }], {\n autorun: true\n });\n return {\n ...inputControl.expose(),\n ...control,\n iconName,\n menuOpened,\n fieldRef: () => fieldRef,\n focus,\n showMenu,\n closeMenu,\n renderSelections,\n menuRef: () => menuRef,\n clearKeyFocused\n };\n },\n render() {\n const {\n nodeControl,\n selectorControl,\n selectorItems,\n selectedItems\n } = this;\n const children = this.$slots.default?.() || [];\n const propGroups = this.propGroups.map(group => {\n let _slot;\n return _createVNode(VOptionGroup, {\n \"key\": group.id,\n \"groupId\": group.id,\n \"label\": group.label(selectorControl),\n \"disabled\": group.disabled\n }, _isSlot(_slot = group.items.map(item => _createVNode(VOption, {\n \"disabled\": item.disabled,\n \"value\": item.value,\n \"key\": item.value\n }, {\n default: () => item.label(selectorControl)\n }))) ? _slot : {\n default: () => [_slot]\n });\n });\n return _createVNode(VFormControl, {\n \"nodeControl\": nodeControl,\n \"class\": ['v-select', this.classes, {\n 'v-select--multiple': this.multiple\n }],\n \"label\": this.label,\n \"hint\": this.hint,\n \"hinttip\": this.hinttip,\n \"hiddenInfo\": this.hiddenInfo,\n \"requiredChip\": this.requiredChip,\n \"onClickLabel\": ev => {\n this.focus();\n }\n }, {\n ...this.$slots,\n default: () => _createVNode(VMenu, {\n \"width\": \"fit\",\n \"maxWidth\": \"fit\",\n \"closeOnNavigation\": this.closeOnNavigation,\n \"distance\": 0,\n \"alwaysRender\": true,\n \"modelValue\": this.menuOpened,\n \"onUpdate:modelValue\": $event => this.menuOpened = $event,\n \"ref\": this.menuRef(),\n \"onClose\": this.clearKeyFocused\n }, {\n default: () => [_createVNode(\"div\", {\n \"class\": ['v-select__body', this.classes]\n }, [children, propGroups])],\n activator: ({\n attrs,\n control\n }) => [_createVNode(VControlField, {\n \"class\": \"v-select__input\",\n \"ref\": this.fieldRef(),\n \"loading\": selectorControl.itemsLoading,\n \"error\": selectorControl.itemsLoadFailed,\n \"startAdornment\": this.startAdornment,\n \"endAdornment\": this.endAdornment,\n \"size\": this.size,\n \"focused\": this.menuOpened,\n \"autoHeight\": this.multiple,\n \"onClick\": ev => {\n if (this.canOperation && !control.isActive) {\n let t = ev.target;\n const count = 0;\n let hit = false;\n while (count < 5) {\n if (t.classList.contains('v-select__input')) {\n hit = true;\n break;\n }\n t = t.parentElement;\n }\n control.setActivator(hit ? t : ev).show();\n }\n }\n }, {\n ...this.$slots,\n default: () => [_withDirectives(_createVNode(\"select\", {\n \"class\": \"v-select__input__element\",\n \"name\": this.name,\n \"tabindex\": this.computedTabindex,\n \"disabled\": this.isDisabled,\n \"multiple\": this.multiple,\n \"onFocus\": nodeControl.focusHandler,\n \"onBlur\": nodeControl.blurHandler,\n \"onUpdate:modelValue\": $event => this.currentValue = $event\n }, [selectorItems.map(item => {\n return _createVNode(\"option\", {\n \"value\": item.propValue,\n \"key\": item.propValue\n }, [item.renderDefaultSlot()]);\n })]), [[_vModelSelect, this.currentValue]]), _createVNode(\"div\", {\n \"class\": \"v-select__selections\"\n }, [_createVNode(\"div\", {\n \"class\": \"v-select__selections__inner\"\n }, [this.renderSelections(selectedItems)])])],\n endAdornment: () => {\n if (selectorControl.itemsLoadFailed) {\n return _createVNode(VButton, {\n \"key\": \"reload\",\n \"icon\": this.$vui.icon('reload'),\n \"rounded\": true,\n \"onClick\": ev => {\n ev.stopPropagation();\n selectorControl.loadItems();\n }\n }, null);\n }\n if (this.clearable && this.nodeControl.value != null) {\n return _createVNode(VButton, {\n \"key\": \"clear\",\n \"icon\": this.$vui.icon('clear'),\n \"rounded\": true,\n \"onClick\": ev => {\n ev.stopPropagation();\n this.nodeControl.clear();\n }\n }, null);\n }\n return _createVNode(VIcon, {\n \"key\": \"icon\",\n \"name\": this.iconName,\n \"rotate\": this.menuOpened ? 180 : 0\n }, null);\n }\n })]\n })\n });\n }\n});","import { createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\nimport './VTextField.scss';\nimport { defineComponent } from 'vue';\nimport { createTextInputSettings, useTextInputControl, createFormControlProps } from '@fastkit/vue-form-control';\nimport { defineSlots } from '@fastkit/vue-utils';\nimport { VFormControl } from '../VFormControl';\nimport { VControlField, createControlFieldProps } from '../VControlField';\nimport { createControlProps, useControl, createControlFieldProviderProps, useControlField } from '../../composables';\nimport { VTextCounter } from '../VTextCounter';\nimport { VUI_TEXT_FIELD_SYMBOL } from '../../injections';\nconst {\n props,\n emits\n} = createTextInputSettings();\nconst slots = defineSlots();\nfunction createTextFieldProps() {\n return {\n ...props,\n ...createFormControlProps(),\n ...createControlFieldProps(),\n ...createControlFieldProviderProps(),\n ...createControlProps(),\n ...slots()\n };\n}\nexport const VTextField = defineComponent({\n name: 'VTextField',\n props: createTextFieldProps(),\n emits,\n slots,\n setup(props, ctx) {\n const inputControl = useTextInputControl(props, ctx, {\n nodeType: VUI_TEXT_FIELD_SYMBOL\n });\n const control = useControl(props);\n useControlField(props);\n return {\n ...inputControl.expose(),\n ...control\n };\n },\n render() {\n return _createVNode(VFormControl, {\n \"nodeControl\": this.nodeControl,\n \"focused\": this.nodeControl.focused,\n \"hiddenInfo\": this.hiddenInfo,\n \"class\": ['v-text-field', this.classes],\n \"label\": this.label,\n \"hint\": this.hint,\n \"hinttip\": this.hinttip,\n \"requiredChip\": this.requiredChip,\n \"onClickLabel\": ev => {\n this.focus();\n }\n }, {\n ...this.$slots,\n default: () => _createVNode(VControlField, {\n \"class\": \"v-text-field__input\",\n \"startAdornment\": this.startAdornment,\n \"endAdornment\": this.endAdornment,\n \"size\": this.size\n }, {\n ...this.$slots,\n default: () => this.textInputControl.createInputElement({\n class: 'v-text-field__input__element'\n })\n }),\n infoAppends: () => {\n const {\n counterResult\n } = this;\n if (!counterResult) return;\n return _createVNode(VTextCounter, counterResult, null);\n }\n });\n }\n});","import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from \"vue\";\nimport { defineComponent } from 'vue';\nimport { VTextField } from '../VTextField/VTextField';\nexport const VNumberField = defineComponent({\n name: 'VNumberField',\n props: {\n ...undefined,\n modelValue: {\n type: Number,\n default: null\n }\n },\n emits: {\n ...undefined,\n 'update:modelValue': value => true,\n change: value => true\n },\n setup(props, ctx) {\n const toString = value => {\n if (value == null) return '';\n return String(value);\n };\n const toNumber = value => {\n if (value == null) return null;\n if (typeof value === 'number') return value;\n if (value.trim() === '') return null;\n return Number(value);\n };\n return () => {\n return _createVNode(VTextField, _mergeProps(ctx.attrs, {\n \"type\": \"number\",\n \"modelValue\": toString(props.modelValue),\n \"onUpdate:modelValue\": value => {\n ctx.emit('update:modelValue', toNumber(value));\n },\n \"onChange\": value => {\n ctx.emit('change', toNumber(value));\n }\n }), ctx.slots);\n };\n }\n});","import { createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\nimport './VTextarea.scss';\nimport { defineComponent } from 'vue';\nimport { createTextareaSettings, useTextareaControl, createFormControlProps } from '@fastkit/vue-form-control';\nimport { defineSlots } from '@fastkit/vue-utils';\nimport { VFormControl } from '../VFormControl';\nimport { VControlField, createControlFieldProps } from '../VControlField';\nimport { createControlProps, useControl, createControlFieldProviderProps, useControlField } from '../../composables';\nimport { VTextCounter } from '../VTextCounter';\nimport { VUI_TEXTAREA_SYMBOL, useVui } from '../../injections';\nconst {\n props,\n emits\n} = createTextareaSettings();\nconst slots = defineSlots();\nexport const VTextarea = defineComponent({\n name: 'VTextarea',\n props: {\n ...props,\n ...createFormControlProps(),\n ...createControlFieldProps(),\n ...createControlFieldProviderProps(),\n ...createControlProps(),\n ...slots()\n },\n emits,\n setup(props, ctx) {\n const vui = useVui();\n const inputControl = useTextareaControl(props, ctx, {\n nodeType: VUI_TEXTAREA_SYMBOL,\n defaultRows: vui.textareaRows\n });\n const control = useControl(props);\n useControlField(props);\n return {\n ...inputControl.expose(),\n ...control\n };\n },\n render() {\n return _createVNode(VFormControl, {\n \"nodeControl\": this.nodeControl,\n \"focused\": this.nodeControl.focused,\n \"class\": ['v-textarea', this.classes],\n \"label\": this.label,\n \"hint\": this.hint,\n \"hinttip\": this.hinttip,\n \"hiddenInfo\": this.hiddenInfo,\n \"requiredChip\": this.requiredChip,\n \"onClickLabel\": ev => {\n this.focus();\n }\n }, {\n ...this.$slots,\n default: () => _createVNode(VControlField, {\n \"class\": \"v-textarea__input\",\n \"size\": this.size,\n \"autoHeight\": true,\n \"startAdornment\": this.startAdornment,\n \"endAdornment\": this.endAdornment\n }, {\n ...this.$slots,\n default: () => this.textareaControl.createInputElement({\n class: 'v-textarea__input__element'\n })\n }),\n infoAppends: () => {\n const {\n counterResult\n } = this;\n if (!counterResult) return;\n return _createVNode(VTextCounter, counterResult, null);\n }\n });\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport { defineComponent, computed } from 'vue';\nimport { createFormSettings, useForm } from '@fastkit/vue-form-control';\nimport { defineSlots } from '@fastkit/vue-utils';\nimport { getDocumentScroller } from '@fastkit/vue-scroller';\nimport { createControlProps, useControl } from '../../composables';\nimport { VUI_FORM_SYMBOL, useVui } from '../../injections';\nconst {\n props,\n emits\n} = createFormSettings({\n nodeType: VUI_FORM_SYMBOL\n});\nexport const formSlots = defineSlots();\nexport function createVFormProps() {\n return {\n ...props,\n ...createControlProps(),\n ...formSlots()\n // disableAutoScroll: Boolean,\n };\n}\n\nexport const VForm = defineComponent({\n name: 'VForm',\n props: createVFormProps(),\n emits,\n slots: formSlots,\n setup(props, ctx) {\n const vui = useVui();\n const nodeControl = useForm(props, ctx, {\n nodeType: VUI_FORM_SYMBOL,\n scrollToElement: el => {\n const scroller = getDocumentScroller();\n return scroller.toElement(el, {\n offset: vui.getAutoScrollToElementOffsetTop()\n });\n }\n });\n const classes = computed(() => {\n return ['v-form', {\n 'v-form--valid': nodeControl.valid,\n 'v-form--invalid': nodeControl.invalid,\n 'v-form--disabled': nodeControl.isDisabled,\n 'v-form--validating': nodeControl.validating,\n 'v-form--pending': nodeControl.pending,\n 'v-form--sending': nodeControl.sending\n }];\n });\n useControl(props);\n return {\n ...nodeControl.expose(),\n classes\n };\n },\n render() {\n const {\n form\n } = this;\n return _createVNode(\"form\", {\n \"ref\": this.formRef(),\n \"class\": this.classes,\n \"action\": this.nativeAction,\n \"spellcheck\": this.spellcheck,\n \"onSubmit\": form.handleSubmit\n }, [this.$slots.default?.(form)]);\n }\n});","import { createVNode as _createVNode, isVNode as _isVNode } from \"vue\";\nimport './VTabs.scss';\nimport { defineComponent, ref, computed, watch, onBeforeUnmount, onBeforeUpdate, onMounted } from 'vue';\nimport { useVui } from '../../injections';\nimport { defineSlots } from '@fastkit/vue-utils';\nimport { VTab } from './VTab';\nimport { VScroller, useVScrollerRef } from '@fastkit/vue-scroller';\nimport { useScopeColorClass } from '@fastkit/vue-color-scheme';\nimport { isPromise } from '@fastkit/helpers';\nfunction _isSlot(s) {\n return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nconst slots = defineSlots();\nexport const VTabs = defineComponent({\n name: 'VTabs',\n props: {\n modelValue: String,\n items: {\n type: Array,\n required: true\n // validator: (value: VTabsItem[]) => {\n // return Array.isArray(value) && value.length > 0;\n // },\n },\n\n /**\n * 自動スクロールする際の余剰オフセット幅(px)\n */\n autoScrollOffset: {\n type: Number,\n default: 20\n },\n /**\n * ルーター同期する場合設定する\n */\n router: Function,\n /**\n * ルーティング連携を行う際に、クエリベースのURLマッチングを行う\n * タブのURLが /page1?tab=xxx のようになる時に設定する\n */\n withQuery: Boolean,\n color: String,\n onBeforeChange: Function,\n ...slots()\n },\n emits: {\n 'update:modelValue': newValue => true,\n change: newValue => true\n },\n slots,\n setup(props, ctx) {\n const vui = useVui();\n const internalValueRef = ref(null);\n const scrollerRef = useVScrollerRef();\n const elRef = ref(null);\n let scrollResult;\n const tabRefs = ref([]);\n const currentRef = computed({\n get: () => internalValueRef.value,\n set: value => {\n if (internalValueRef.value !== value) {\n internalValueRef.value = value;\n ctx.emit('update:modelValue', value);\n ctx.emit('change', value);\n }\n }\n });\n const colorScope = useScopeColorClass({\n color: () => props.color || vui.setting('tabDefault').color\n });\n const classes = computed(() => [colorScope.value.className]);\n const computedItemsRef = computed(() => {\n const current = currentRef.value;\n const {\n router\n } = props;\n return props.items.map(item => {\n const {\n value\n } = item;\n const active = current === value;\n let location;\n if (router) {\n const to = router(value);\n const route = vui.router.resolve(to);\n location = {\n to,\n route\n };\n }\n return {\n ...item,\n active,\n location\n };\n });\n });\n const setTabRef = ref => {\n tabRefs.value.push(ref);\n };\n\n // const isMountedRef = ref(false);\n\n function setupInternalValue(routable) {\n let value = props.modelValue;\n if (value == null || value === '') {\n const firstItem = props.items[0];\n if (!firstItem) return;\n value = firstItem.value;\n }\n if (internalValueRef.value !== value) {\n internalValueRef.value = value;\n if (routable) {\n const {\n router\n } = props;\n if (!router) return;\n const hit = computedItemsRef.value.find(item => item.value === value);\n if (!hit) return;\n const {\n location\n } = hit;\n if (!location) return;\n const {\n to,\n route\n } = location;\n if (route.fullPath === vui.location.currentRoute.fullPath) return;\n vui.router[to.replace ? 'replace' : 'push'](to);\n } else if (!props.router && props.modelValue !== value) {\n ctx.emit('update:modelValue', value);\n ctx.emit('change', value);\n }\n }\n }\n async function to(value) {\n const {\n value: currentValue\n } = currentRef;\n if (currentValue === value) {\n return;\n }\n const {\n onBeforeChange\n } = props;\n if (onBeforeChange) {\n let result = onBeforeChange(value, currentRef.value);\n if (isPromise(result)) {\n result = await result;\n }\n console.log(result);\n if (result === false) {\n return;\n }\n }\n currentRef.value = value;\n }\n function cancelScroll() {\n if (scrollResult) {\n scrollResult.cancel();\n scrollResult = undefined;\n }\n }\n const findTab = tab => {\n return tabRefs.value.find(t => t.value === tab);\n };\n function scrollToTab(tabValue) {\n const tab = findTab(tabValue);\n if (!tab) return;\n const $tab = tab.$el;\n if (!$tab) return;\n const scroller = scrollerRef.value;\n if (!scroller) return;\n const container = scroller.scroller.element();\n if (!container) return;\n const {\n autoScrollOffset\n } = props;\n const tabLeft = $tab.offsetLeft;\n const tabWidth = $tab.offsetWidth;\n const tabRight = tabLeft + tabWidth;\n let hiddenLeft = 0;\n let hiddenRight = 0;\n const {\n scrollLeft,\n offsetWidth: scrollerWidth\n } = container;\n hiddenLeft = Math.max(scrollLeft - tabLeft, 0);\n hiddenRight = Math.max(tabRight - scrollerWidth - scrollLeft, 0);\n if (hiddenLeft > 0) hiddenLeft += autoScrollOffset;\n if (hiddenRight > 0) hiddenRight += autoScrollOffset;\n let scrollAmmount = 0;\n if (hiddenRight > 0) {\n scrollAmmount = hiddenRight;\n }\n if (hiddenLeft > 0) {\n scrollAmmount = -hiddenLeft;\n }\n if (Math.abs(scrollAmmount) > 0) {\n cancelScroll();\n scrollResult = scroller.scroller.by(scrollAmmount, 0, {\n duration: 150\n });\n }\n }\n watch(() => props.modelValue, () => setupInternalValue(true));\n watch(() => props.items, () => setupInternalValue(), {\n deep: true\n });\n watch(() => internalValueRef.value, newValue => {\n scrollToTab(newValue);\n });\n vui.location.watchRoute(route => {\n if (!props.router) return;\n const path = props.withQuery ? route.fullPath : route.path;\n const hit = computedItemsRef.value.find(({\n location\n }) => {\n return location && location.route.fullPath === path;\n });\n if (hit) {\n currentRef.value = hit.value;\n }\n }, {\n immediate: true\n });\n onMounted(() => {\n scrollToTab(currentRef.value);\n });\n onBeforeUnmount(() => {\n cancelScroll();\n });\n onBeforeUpdate(() => {\n tabRefs.value = [];\n });\n setupInternalValue();\n return () => {\n const items = computedItemsRef.value;\n const itemSlot = ctx.slots.item;\n const children = items.map(({\n value,\n active,\n label,\n icon,\n location\n }) => {\n if (!label) {\n label = itemSlot;\n }\n const children = typeof label === 'function' ? label({\n value,\n active,\n vui\n }) : label;\n const _to = location && location.to || undefined;\n return _createVNode(VTab, {\n \"value\": value,\n \"to\": _to,\n \"icon\": icon,\n \"active\": active,\n \"ref\": setTabRef,\n \"onClick\": e => {\n if (!e.defaultPrevented) {\n to(value);\n }\n }\n }, _isSlot(children) ? children : {\n default: () => [children]\n });\n });\n return _createVNode(\"div\", {\n \"class\": ['v-tabs', classes.value],\n \"ref\": elRef\n }, [_createVNode(VScroller, {\n \"class\": \"v-tabs__scroller\",\n \"containerClass\": \"v-tabs__scroller__container\",\n \"guide\": true,\n \"ref\": scrollerRef\n }, {\n default: () => [_createVNode(\"div\", {\n \"class\": \"v-tabs__content\"\n }, [children])]\n })]);\n };\n }\n});","import { isVNode as _isVNode, createVNode as _createVNode } from \"vue\";\nimport './VTab.scss';\nimport { defineComponent, computed } from 'vue';\nimport { resolveRawIconProp } from '../VIcon';\nimport { RouterLink } from 'vue-router';\nfunction _isSlot(s) {\n return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nexport const VTab = defineComponent({\n name: 'VTab',\n props: {\n value: {\n type: String,\n required: true\n },\n active: Boolean,\n to: [String, Object],\n icon: [String, Function]\n },\n emits: {\n click: ev => true\n },\n setup(props, ctx) {\n const classesRef = computed(() => ({\n 'v-tab--active': props.active\n }));\n const exposeValues = {\n value: props.value,\n active: props.active\n };\n ctx.expose(exposeValues);\n return () => {\n const {\n to,\n value,\n icon,\n active\n } = props;\n const classes = ['v-tab', classesRef.value];\n const children = _createVNode(\"span\", {\n \"class\": \"v-tab__content\"\n }, [icon && resolveRawIconProp(active, icon, {\n class: 'v-tab__icon'\n }), ctx.slots.default?.()]);\n if (to) {\n const replace = typeof to === 'string' ? undefined : to.replace;\n return _createVNode(RouterLink, {\n \"class\": classes,\n \"to\": to,\n \"replace\": replace\n }, _isSlot(children) ? children : {\n default: () => [children]\n });\n } else {\n return _createVNode(\"button\", {\n \"class\": classes,\n \"type\": \"button\",\n \"value\": value,\n \"onClick\": ev => {\n ctx.emit('click', ev);\n }\n }, [children]);\n }\n };\n }\n});","import { isVNode as _isVNode, createVNode as _createVNode } from \"vue\";\nimport './VBreadcrumbs.scss';\nimport { defineComponent, computed } from 'vue';\nimport { VAction } from '@fastkit/vue-action';\nimport { useVui } from '../../injections';\nimport { resolveRawIconProp } from '../VIcon';\nfunction _isSlot(s) {\n return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nexport const VBreadcrumbs = defineComponent({\n name: 'VBreadcrumbs',\n props: {\n items: {\n type: Array,\n default: () => []\n },\n divider: [String, Function]\n },\n setup(props, ctx) {\n const vui = useVui();\n const computedItemsRef = computed(() => {\n const items = props.items.map(rawItem => {\n return typeof rawItem === 'string' ? {\n text: rawItem\n } : rawItem;\n });\n return items.map(item => {\n const {\n to,\n text\n } = item;\n const {\n disabled = vui.location.match(to) || !vui.location.isAvailable(to)\n } = item;\n return {\n ...item,\n disabled,\n text: typeof text === 'function' ? text(vui) : text\n };\n });\n });\n const lengthRef = computed(() => computedItemsRef.value.length);\n const defaultDividerSlot = () => {\n return [_createVNode(\"i\", {\n \"class\": \"v-breadcrumbs__divider__icon\"\n }, null)];\n };\n return () => {\n if (lengthRef.value < 1) return;\n let dividerSlot;\n const propDivider = props.divider;\n if (propDivider) {\n dividerSlot = typeof propDivider === 'function' ? propDivider : () => propDivider;\n } else {\n dividerSlot = defaultDividerSlot;\n }\n const children = [];\n computedItemsRef.value.forEach((item, index) => {\n const {\n text,\n icon,\n disabled,\n to\n } = item;\n if (index > 0) {\n const divider = dividerSlot(vui);\n if (divider) {\n children.push(_createVNode(\"li\", {\n \"class\": \"v-breadcrumbs__divider\",\n \"key\": `divider-${index}`\n }, [divider]));\n }\n }\n const myChildren = [];\n if (icon) {\n const $icon = resolveRawIconProp(false, icon, {\n class: 'v-breadcrumbs__icon'\n });\n if ($icon) {\n myChildren.push($icon);\n }\n }\n if (text) myChildren.push(text);\n const itemChild = to ? _createVNode(VAction, {\n \"class\": \"v-breadcrumbs__link\",\n \"to\": to,\n \"exactActiveClass\": \"v-breadcrumbs__link--active\"\n }, _isSlot(myChildren) ? myChildren : {\n default: () => [myChildren]\n }) : myChildren;\n children.push(_createVNode(\"li\", {\n \"class\": ['v-breadcrumbs__item', {\n 'v-breadcrumbs__item--disabled': disabled\n }],\n \"key\": `link-${index}`\n }, [itemChild]));\n });\n return _createVNode(\"nav\", {\n \"class\": \"v-breadcrumbs\"\n }, [_createVNode(\"ul\", {\n \"class\": \"v-breadcrumbs__list\"\n }, [children])]);\n };\n }\n});","import { isVNode as _isVNode, createVNode as _createVNode } from \"vue\";\nimport './VContentSwitcher.scss';\nimport { defineComponent, ref, computed, watch, Transition } from 'vue';\nimport { getDocumentScroller } from '@fastkit/vue-scroller';\nfunction _isSlot(s) {\n return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nexport const VContentSwitcher = defineComponent({\n name: 'VContentSwitcher',\n props: {\n modelValue: String,\n order: {\n type: Array,\n default: () => []\n },\n autotop: [Boolean, Object]\n },\n emits: {\n 'update:modelValue': modelValue => true\n },\n setup(props, ctx) {\n const internalValueRef = ref('');\n const transitionRef = ref('');\n const elRef = ref(null);\n const anchorRef = ref(null);\n const computedOrderRef = computed(() => props.order.map(row => {\n return typeof row === 'string' ? row : row.value;\n }));\n const currentRef = computed({\n get: () => internalValueRef.value,\n set: current => {\n if (internalValueRef.value !== current) {\n internalValueRef.value = current;\n ctx.emit('update:modelValue', current);\n }\n }\n });\n const autotopSettingsRef = computed(() => {\n let {\n autotop: settings\n } = props;\n if (settings === true) settings = {};\n if (!settings) return;\n return {\n ...settings\n };\n });\n function seeTop(options) {\n const scoller = getDocumentScroller();\n const {\n value: anchor\n } = anchorRef;\n if (anchor) {\n scoller.toElement(anchor, options);\n }\n }\n function getEl() {\n const el = elRef.value;\n if (!el) {\n throw new Error('missing element');\n }\n return el;\n }\n watch(() => props.modelValue, (value, beforeValue) => {\n if (value == null) return;\n internalValueRef.value = value;\n if (beforeValue == null) return;\n const order = computedOrderRef.value;\n const index = order.indexOf(value);\n const beforeIndex = order.indexOf(beforeValue);\n let transition = 'fade';\n if (index !== -1 && beforeIndex !== -1) {\n if (index > beforeIndex) transition = 'v-content-switcher-next';\n if (index < beforeIndex) transition = 'v-content-switcher-prev';\n }\n transitionRef.value = transition;\n }, {\n immediate: true\n });\n watch(currentRef, () => {\n const autotopSettings = autotopSettingsRef.value;\n if (autotopSettings && props.modelValue != null) {\n seeTop(autotopSettings);\n }\n });\n return () => {\n const current = currentRef.value;\n const children = ctx.slots.default?.() || [];\n const currentSlot = ctx.slots[current];\n if (currentSlot) {\n children.push(_createVNode(\"div\", {\n \"class\": \"v-content-switcher__content\",\n \"key\": current\n }, [currentSlot(this)]));\n }\n return _createVNode(\"div\", {\n \"class\": \"v-content-switcher\",\n \"ref\": elRef\n }, [_createVNode(\"div\", {\n \"class\": \"v-content-switcher__anchor\",\n \"ref\": anchorRef\n }, null), _createVNode(Transition, {\n \"name\": transitionRef.value,\n \"onBeforeLeave\": el => {\n getEl().style.height = el.offsetHeight + 'px';\n },\n \"onEnter\": el => {\n getEl().style.height = el.offsetHeight + 'px';\n },\n \"onAfterEnter\": () => {\n getEl().style.height = '';\n },\n \"onEnterCancelled\": () => {\n getEl().style.height = '';\n },\n \"onLeaveCancelled\": () => {\n getEl().style.height = '';\n }\n }, _isSlot(children) ? children : {\n default: () => [children]\n })]);\n };\n }\n});","import { mergeProps as _mergeProps, createTextVNode as _createTextVNode, createVNode as _createVNode } from \"vue\";\nimport './VDataTable.scss';\nimport { defineComponent, ref, computed, onMounted, watch, withDirectives, Transition, isVNode } from 'vue';\nimport { useVui } from '../../injections';\nimport { VSelect } from '../VSelect';\nimport { VPagination } from '../VPagination';\nimport { VCheckbox } from '../VCheckbox';\nimport { VIcon, resolveRawIconProp } from '../VIcon';\nimport { VProgressCircular } from '../loading';\nimport { resizeDirectiveArgument } from '@fastkit/vue-resize';\nimport { VueAppLayout } from '@fastkit/vue-app-layout';\nimport { toScopeColorClass } from '@fastkit/vue-color-scheme';\nimport { VPaper } from '../VPaper';\nconst DATA_TABLE_DEFAULTS = {\n itemKey: 'id',\n pageQuery: 'page',\n sortQuery: 'sort',\n orderQuery: 'order',\n limitQuery: 'limit',\n defaultOrder: 'ASC',\n ascQueryValue: 'ASC',\n descQueryValue: 'DESC',\n limits: [5, 10, 20, 50, 100],\n limitDefault: 20,\n contorolThreshold: 10,\n searchQuery: []\n};\nexport function configureDataTableDefaults(defaults) {\n Object.assign(DATA_TABLE_DEFAULTS, defaults);\n if (!defaults.defaultOrder && defaults.ascQueryValue) {\n DATA_TABLE_DEFAULTS.defaultOrder = defaults.ascQueryValue;\n }\n}\nconst SELECTABLE_HEADER_SYMBOL = '__selectable_header__';\nexport const VDataTable = defineComponent({\n name: 'VDataTable',\n props: {\n /** 選択中のkeyの配列 */\n modelValue: {\n type: Array,\n default: () => []\n },\n itemKey: {\n type: String,\n default: () => DATA_TABLE_DEFAULTS.itemKey\n },\n /**\n * ページネーションクエリ名\n */\n pageQuery: {\n type: String,\n default: () => DATA_TABLE_DEFAULTS.pageQuery\n },\n /**\n * ソートクエリ名\n */\n sortQuery: {\n type: String,\n default: () => DATA_TABLE_DEFAULTS.sortQuery\n },\n /**\n * 表示順クエリ名\n */\n orderQuery: {\n type: String,\n default: () => DATA_TABLE_DEFAULTS.orderQuery\n },\n /**\n * 検索クエリ名\n */\n searchQuery: {\n type: [String, Array],\n default: () => DATA_TABLE_DEFAULTS.searchQuery\n },\n /**\n * リミット件数クエリ名\n */\n limitQuery: {\n type: String,\n default: () => DATA_TABLE_DEFAULTS.limitQuery\n },\n defaultOrder: {\n type: String,\n default: () => DATA_TABLE_DEFAULTS.defaultOrder\n },\n ascQueryValue: {\n type: String,\n default: () => DATA_TABLE_DEFAULTS.ascQueryValue\n },\n descQueryValue: {\n type: String,\n default: () => DATA_TABLE_DEFAULTS.descQueryValue\n },\n limits: {\n type: Array,\n default: () => DATA_TABLE_DEFAULTS.limits\n },\n limitDefault: {\n type: Number,\n default: () => DATA_TABLE_DEFAULTS.limitDefault\n },\n contorolThreshold: {\n type: Number,\n default: () => DATA_TABLE_DEFAULTS.contorolThreshold\n },\n headers: {\n type: Array,\n required: true\n },\n items: {\n type: Array,\n default: () => []\n },\n total: {\n type: Number,\n default: 0\n },\n selectable: Boolean,\n fixedHeader: Boolean,\n maxHeight: [Number, String],\n // eslint-disable-next-line vue/require-prop-types\n noDataMessage: {},\n // eslint-disable-next-line vue/require-prop-types\n noResultsMessage: {},\n rowSettings: [Object, Function]\n },\n emits: {\n input: selecteds => true\n },\n setup(props, ctx) {\n const vui = useVui();\n const bootedRef = ref(false);\n const footerHeightRef = ref(0);\n const internalValues = ref(props.modelValue.slice());\n const rowSettings = computed(() => {\n const {\n rowSettings\n } = props;\n if (!rowSettings) return () => ({});\n return typeof rowSettings === 'function' ? rowSettings : () => rowSettings;\n });\n const containedVariant = vui.setting('containedVariant');\n const sortedItemKeysRef = computed(() => props.items.map(item => item[props.itemKey]));\n const isEmptyRef = computed(() => props.items.length === 0);\n const headersRef = computed(() => {\n const {\n headers,\n selectable\n } = props;\n const ret = [];\n if (selectable) {\n ret.push({\n key: SELECTABLE_HEADER_SYMBOL\n });\n }\n ret.push(...headers.filter(({\n hidden\n }) => !(typeof hidden === 'function' ? hidden() : hidden)));\n return ret;\n });\n const searchQueryValues = computed(() => {\n let {\n searchQuery\n } = props;\n if (!searchQuery) {\n return [];\n }\n if (!Array.isArray(searchQuery)) {\n searchQuery = [searchQuery];\n }\n const values = [];\n searchQuery.forEach(query => {\n const value = vui.location.getQuery(query);\n if (value == null || value === '') {\n return;\n }\n if (typeof value === 'object' && !Object.keys(value).length) {\n return;\n }\n values.push(value);\n });\n return values;\n });\n const emptyMessage = computed(() => {\n let message;\n if (searchQueryValues.value.length) {\n message = props.noResultsMessage || vui.setting('noResultsMessage') || 'No search results found.'; // 検索結果が見つかりませんでした。\n } else {\n message = props.noDataMessage || vui.setting('noDataMessage') || 'No data was available.'; // データはありませんでした。\n }\n\n return typeof message === 'function' ? message(vui) : message;\n });\n const classesRef = computed(() => [{\n 'v-data-table--fixed-header': props.fixedHeader\n }]);\n const layout = VueAppLayout.use();\n const bodyInnerStylesRef = computed(() => {\n if (!bootedRef.value) return;\n const {\n fixedHeader,\n maxHeight\n } = props;\n const footerHeight = footerHeightRef.value;\n const _maxHeight = maxHeight || (fixedHeader ? '100%' : maxHeight);\n if (!_maxHeight) {\n return;\n }\n return {\n maxHeight: layout.calicurateViewHeight(_maxHeight, -footerHeight - 100, 200)\n };\n });\n const defaultOrderQueryRef = computed(() => props.defaultOrder === props.ascQueryValue ? props.ascQueryValue : props.descQueryValue);\n const isTransitioningRef = computed(() => {\n return vui.location.isQueryOnlyTransitioning([props.pageQuery, props.sortQuery, props.orderQuery, props.limitQuery]);\n });\n const pageRef = computed(() => vui.location.getQuery(props.pageQuery, Number, 1));\n const needShowHeaderControlRef = computed(() => props.items.length > props.contorolThreshold);\n const sortByRef = computed({\n get: () => {\n return vui.location.getQuery(props.sortQuery);\n },\n set(value) {\n vui.location.pushQuery({\n [props.sortQuery]: value || null,\n [props.pageQuery]: 1\n });\n }\n });\n const ordersRef = computed(() => [props.ascQueryValue, props.descQueryValue]);\n const usePaigingRef = computed(() => props.limits.length > 0);\n const orderByRef = computed({\n get: () => {\n const value = vui.location.getQuery(props.orderQuery);\n if (typeof value !== 'string' || !ordersRef.value.includes(value)) {\n return;\n }\n return value;\n },\n set(value) {\n vui.location.pushQuery({\n [props.orderQuery]: value || null,\n [props.pageQuery]: 1\n });\n }\n });\n const offsetRef = computed(() => (pageRef.value - 1) * limitRef.value);\n const limitRef = computed({\n get: () => vui.location.getQuery(props.limitQuery, Number, props.limitDefault),\n set: value => {\n const page = Math.floor(offsetRef.value / value) + 1;\n vui.location.pushQuery({\n [props.limitQuery]: value,\n [props.pageQuery]: page\n });\n }\n });\n const pageLengthRef = computed(() => {\n const {\n total\n } = props;\n const _limit = limitRef.value;\n if (!total) return 0;\n return Math.ceil(total / _limit);\n });\n const lengthRef = computed(() => props.items.length);\n const isASCRef = computed(() => orderByRef.value === props.ascQueryValue);\n // const isDESCRef = computed(() => orderByRef.value === props.descQueryValue);\n const sortIconRef = computed(() => {\n let icon = vui.icon('sort');\n if (typeof icon === 'string') {\n const name = icon;\n icon = gen => {\n return gen({\n name,\n rotate: isASCRef.value ? 180 : 0\n });\n };\n }\n return icon;\n });\n const isIndeterminateRef = computed(() => {\n const {\n length\n } = internalValues.value;\n return length > 0 && length < sortedItemKeysRef.value.length;\n });\n const isAllSelectedRef = computed(() => internalValues.value.length === sortedItemKeysRef.value.length);\n function setSort(settings) {\n const {\n sort,\n order\n } = settings;\n if ((sort === undefined || sortByRef.value === sort) && (order === undefined || orderByRef.value === order)) return;\n const queries = {};\n if (sort) {\n queries[props.sortQuery] = sort;\n }\n if (order) {\n queries[props.orderQuery] = order;\n }\n vui.location.pushQuery({\n ...queries,\n ...(usePaigingRef.value ? {\n [props.pageQuery]: 1\n } : undefined)\n });\n }\n function toggleOrderBy() {\n return setSort({\n order: orderByRef.value === props.ascQueryValue ? props.descQueryValue : props.ascQueryValue\n });\n }\n function isSelected(key) {\n return internalValues.value.includes(key);\n }\n function select(key) {\n if (!internalValues.value.includes(key)) {\n const values = internalValues.value.slice();\n values.push(key);\n const sortedKeys = sortedItemKeysRef.value;\n values.sort((a, b) => {\n const ai = sortedKeys.indexOf(a);\n const bi = sortedKeys.indexOf(b);\n if (ai < bi) return -1;\n if (ai > bi) return 1;\n return 0;\n });\n internalValues.value = values;\n ctx.emit('input', values);\n }\n }\n function selectAll() {\n if (!isAllSelectedRef.value) {\n const values = sortedItemKeysRef.value.slice();\n internalValues.value = values;\n ctx.emit('input', values);\n }\n }\n function deselectAll() {\n if (internalValues.value.length) {\n const values = [];\n internalValues.value = values;\n ctx.emit('input', values);\n }\n }\n function deselect(key) {\n const values = internalValues.value.slice();\n const index = values.indexOf(key);\n if (index !== -1) {\n values.splice(index, 1);\n internalValues.value = values;\n ctx.emit('input', values);\n }\n }\n function handleClickSortHeader(header, ev) {\n const {\n sortQuery\n } = header;\n if (!sortQuery) return;\n if (sortByRef.value === sortQuery) {\n return toggleOrderBy();\n }\n return setSort({\n sort: sortQuery,\n order: defaultOrderQueryRef.value\n });\n }\n function genPagination() {\n return _createVNode(VPagination, {\n \"class\": \"v-data-table__pagination\",\n \"dense\": true,\n \"align\": \"right\",\n \"routeQuery\": props.pageQuery,\n \"modelValue\": pageRef.value,\n \"length\": pageLengthRef.value\n }, null);\n }\n function genControls() {\n const {\n total\n } = props;\n const offset = offsetRef.value;\n const length = lengthRef.value;\n return _createVNode(\"div\", {\n \"class\": \"v-data-table__controls\"\n }, [_createVNode(\"div\", {\n \"class\": \"v-data-table__controls__info\"\n }, [_createVNode(\"small\", {\n \"class\": \"v-data-table__controls__info__length\"\n }, [`全 ${total} 件中 ${offset + 1} 件 〜 ${offset + length} 件を表示`])]), _createVNode(\"div\", {\n \"class\": \"v-data-table__controls__select-limit\"\n }, [_createVNode(\"span\", {\n \"class\": \"v-data-table__controls__select-limit__prefix\"\n }, [_createTextVNode(\"1\\u30DA\\u30FC\\u30B8\\u306B\")]), _createVNode(VSelect, {\n \"class\": \"v-data-table__controls__select-limit__node\",\n \"size\": \"sm\",\n \"hiddenInfo\": true,\n \"disabled\": isTransitioningRef.value,\n \"items\": props.limits.map(limit => {\n return {\n label: `${limit}件`,\n value: limit\n };\n }),\n \"modelValue\": limitRef.value,\n \"onUpdate:modelValue\": $event => limitRef.value = $event\n }, null)]), _createVNode(\"div\", {\n \"class\": \"v-data-table__controls__pagination\"\n }, [genPagination()])]);\n }\n function genTableHeader() {\n const sortBy = sortByRef.value;\n const isIndeterminate = isIndeterminateRef.value;\n const isAllSelected = isAllSelectedRef.value;\n const {\n defaultOrder,\n ascQueryValue\n } = props;\n // const usePaiging = usePaigingRef.value;\n\n const children = headersRef.value.map(header => {\n const {\n label,\n sortQuery,\n align,\n key\n } = header;\n const headerChildren = [];\n if (label != null && typeof label !== 'boolean') {\n let _children = typeof label === 'function' ? label(vui) : label;\n if (_children && !Array.isArray(_children) && typeof _children === 'object') {\n _children = JSON.stringify(_children);\n }\n headerChildren.push(_children);\n }\n if (key === SELECTABLE_HEADER_SYMBOL) {\n headerChildren.push(_createVNode(VCheckbox, {\n \"modelValue\": isAllSelected,\n \"indeterminate\": isIndeterminate,\n \"onChange\": ev => {\n if (isAllSelectedRef.value) {\n deselectAll();\n } else {\n selectAll();\n }\n }\n }, null));\n }\n // if (key === DELETOR_HEADER_SYMBOL) {\n // headerChildren.push('削除');\n // }\n\n const sortActive = sortBy === sortQuery;\n if (sortQuery) {\n const isASC = sortActive ? isASCRef.value : defaultOrder === ascQueryValue;\n headerChildren.unshift(_createVNode(VIcon, {\n \"class\": \"v-data-table__table__sort-icon v-data-table__table__sort-icon--empty\",\n \"name\": \"$empty\"\n }, null));\n headerChildren.push(resolveRawIconProp(false, sortIconRef.value, {\n class: ['v-data-table__table__sort-icon v-data-table__table__sort-icon--arrow', {\n 'v-data-table__table__sort-icon--asc': isASC,\n 'v-data-table__table__sort-icon--desc': !isASC\n }]\n })\n // <VIcon\n // class={[\n // 'v-data-table__table__sort-icon v-data-table__table__sort-icon--arrow',\n // {\n // 'v-data-table__table__sort-icon--asc': isASC,\n // 'v-data-table__table__sort-icon--desc': !isASC,\n // },\n // ]}\n // name=\"mdi-chevron-down\"\n // />,\n );\n }\n\n const classes = ['v-data-table__table__cell', {\n 'v-data-table__table__cell--active': sortActive\n }];\n if (align) {\n classes.push(`v-data-table__table__cell--${align}`);\n }\n return _createVNode(\"th\", {\n \"class\": classes,\n \"key\": header.key,\n \"tabindex\": sortQuery ? 0 : undefined,\n \"onClick\": ev => {\n if (!sortQuery) return;\n handleClickSortHeader(header, ev);\n }\n }, [_createVNode(\"div\", {\n \"class\": \"v-data-table__table__cell__tile\"\n }, [headerChildren])]);\n });\n return _createVNode(\"thead\", {\n \"class\": \"v-data-table__table__header\"\n }, [_createVNode(\"tr\", null, [children])]);\n }\n function toggleSelect(key) {\n return isSelected(key) ? deselect(key) : select(key);\n }\n function defaultItemSlot(payload) {\n const {\n key,\n item,\n selected\n } = payload;\n const headers = headersRef.value;\n // const { $scopedSlots, $createElement, deletor } = this;\n const children = headers.map(header => {\n const {\n cell,\n align,\n key: headerKey\n } = header;\n const cellSlot = cell || ctx.slots.cell;\n let cellChildren;\n if (cellSlot) {\n const cellPayload = {\n vui,\n item,\n selected\n };\n let _children = cellSlot(cellPayload);\n if (_children && !Array.isArray(_children) && typeof _children === 'object' && !isVNode(_children)) {\n _children = JSON.stringify(_children);\n }\n cellChildren = _children;\n }\n if (!cellChildren) {\n switch (headerKey) {\n case SELECTABLE_HEADER_SYMBOL:\n {\n cellChildren = [_createVNode(VCheckbox, {\n \"modelValue\": selected,\n \"onChange\": ev => {\n toggleSelect(key);\n }\n }, null)];\n break;\n }\n // case DELETOR_HEADER_SYMBOL: {\n // if (deletor) {\n // const onClick = async (event: MouseEvent) => {\n // if (\n // await this.$confirm(`${key}を削除します。よろしいですか?`)\n // ) {\n // this.deletingTargets.push(key);\n // await deletor(item);\n // this.deletingTargets.splice(\n // this.deletingTargets.indexOf(key),\n // 1,\n // );\n // }\n // };\n // cellChildren = [\n // <VBtn\n // icon=\"trush\"\n // onClick={onClick}\n // disabled={this.deletingTargets.includes(key)}\n // />,\n // ];\n // }\n // break;\n // }\n }\n }\n\n const classes = align ? {\n [`v-data-table__table__cell--${align}`]: true\n } : undefined;\n return _createVNode(\"td\", {\n \"class\": ['v-data-table__table__cell', classes],\n \"key\": header.key\n }, [cellChildren]);\n });\n const {\n color,\n attrs\n } = rowSettings.value(payload);\n const colorClass = color && toScopeColorClass(color);\n const classes = ['v-data-table__table__item', {\n 'v-data-table__table__item--selected': selected\n }];\n if (colorClass) {\n classes.push(colorClass, containedVariant);\n }\n return _createVNode(\"tr\", _mergeProps({\n \"class\": classes,\n \"key\": key\n }, attrs), [children]);\n }\n function genBody() {\n const {\n items,\n itemKey\n } = props;\n const {\n item: itemSlot = defaultItemSlot\n } = ctx.slots;\n const children = items.map(item => {\n const key = item[itemKey];\n const payload = {\n key,\n item,\n selected: isSelected(key)\n };\n return itemSlot(payload);\n });\n return _createVNode(\"tbody\", {\n \"class\": \"v-data-table__table__body\"\n }, [children]);\n }\n watch(() => props.modelValue, modelValue => {\n internalValues.value = modelValue.slice();\n });\n watch(() => props.items, items => {\n internalValues.value = internalValues.value.filter(key => {\n return sortedItemKeysRef.value.includes(key);\n });\n });\n onMounted(() => {\n bootedRef.value = true;\n });\n return () => {\n const isEmpty = isEmptyRef.value;\n const usePaiging = usePaigingRef.value;\n return _createVNode(\"div\", {\n \"class\": ['v-data-table', classesRef.value]\n }, [!isEmpty && usePaiging && needShowHeaderControlRef.value && _createVNode(\"div\", {\n \"class\": \"v-data-table__header\"\n }, [genControls()]), _createVNode(\"div\", {\n \"class\": \"v-data-table__body container-pull\"\n }, [isEmpty ? _createVNode(\"div\", {\n \"class\": \"v-data-table__empty--message\"\n }, [emptyMessage.value]) : _createVNode(VPaper, {\n \"class\": \"v-data-table__body__inner\",\n \"style\": bodyInnerStylesRef.value\n }, {\n default: () => [_createVNode(\"div\", {\n \"class\": \"v-data-table__table-wrapper\"\n }, [_createVNode(\"table\", {\n \"class\": \"v-data-table__table\"\n }, [genTableHeader(), genBody()])])]\n }), _createVNode(Transition, {\n \"name\": \"fade\"\n }, {\n default: () => [isTransitioningRef.value && _createVNode(\"div\", {\n \"class\": \"v-data-table__loading\"\n }, [_createVNode(VProgressCircular, {\n \"indeterminate\": true\n }, null)])]\n })]), !isEmpty && usePaiging && withDirectives(_createVNode(\"div\", {\n \"class\": \"v-data-table__footer\"\n }, [genControls()]), [resizeDirectiveArgument(({\n height\n }) => {\n footerHeightRef.value = height;\n })])]);\n };\n }\n});","import { createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\nimport { defineComponent } from 'vue';\nimport { VAppLayout } from '@fastkit/vue-app-layout';\nimport { VDynamicStacks } from '@fastkit/vue-stack';\nimport { useInjectTheme } from '@fastkit/vue-color-scheme';\nexport const VApp = defineComponent({\n name: 'VApp',\n setup(_props, ctx) {\n useInjectTheme();\n return () => {\n return _createVNode(VDynamicStacks, null, {\n default: () => [_createVNode(VAppLayout, null, ctx.slots)]\n });\n };\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VToolbar.scss';\nimport { defineComponent, computed } from 'vue';\nimport { colorSchemeProps, useColorClasses } from '@fastkit/vue-color-scheme';\nimport { createElevationProps, useElevation } from '../../composables';\nimport { useVui } from '../../injections';\nexport const VToolbar = defineComponent({\n name: 'VToolbar',\n props: {\n ...createElevationProps(),\n ...colorSchemeProps(),\n dense: Boolean\n },\n setup(props, ctx) {\n const vui = useVui();\n const elevation = useElevation(props, {\n defaultValue: 4\n });\n const dense = computed(() => props.dense);\n const color = useColorClasses({\n color: () => props.color,\n variant: () => props.variant || vui.setting('containedVariant')\n });\n const classes = computed(() => {\n return [elevation.elevationClassName.value, color.colorClasses.value, {\n 'v-toolbar--plain': !color.color.value.value,\n 'v-toolbar--dense': dense.value\n }];\n });\n return () => {\n return _createVNode(\"div\", {\n \"class\": ['v-toolbar', classes.value]\n }, [ctx.slots.default?.()]);\n };\n }\n});","import { createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\nimport './VToolbarMenu.scss';\nimport { defineComponent } from 'vue';\nimport { VButton } from '../VButton';\nimport { useVui } from '../../injections';\n\n// @TODO Unable to resolve dts for `navigationableInheritProps`.\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nexport const VToolbarMenu = defineComponent({\n name: 'VToolbarMenu',\n inheritAttrs: false,\n props: {},\n setup(props, ctx) {\n const vui = useVui();\n const plain = vui.setting('plainVariant');\n return () => {\n const variant = props.variant || plain;\n return _createVNode(VButton, _mergeProps(ctx.attrs, {\n \"variant\": variant,\n \"class\": ['v-toolbar-menu']\n }), {\n default: () => [ctx.slots.default?.()]\n });\n };\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VToolbarEdge.scss';\nimport { defineComponent, computed } from 'vue';\nimport { renderSlotOrEmpty } from '@fastkit/vue-utils';\nexport const VToolbarEdge = defineComponent({\n name: 'VToolbarEdge',\n props: {\n edge: {\n type: String,\n required: true\n }\n },\n setup(props, ctx) {\n const edge = computed(() => props.edge);\n return () => {\n const children = renderSlotOrEmpty(ctx.slots, 'default');\n const hasChildren = !!children && children.length > 0;\n return _createVNode(\"div\", {\n \"class\": ['v-toolbar-edge', `v-toolbar-edge--${edge.value}`, {\n [`v-toolbar-edge--empty`]: !hasChildren\n }]\n }, [children]);\n };\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VToolbarTitle.scss';\nimport { defineComponent, computed } from 'vue';\nimport { defineSlots } from '@fastkit/vue-utils';\nconst slots = defineSlots();\nexport const VToolbarTitle = defineComponent({\n name: 'VToolbarTitle',\n props: {\n tag: {\n type: String,\n default: 'span'\n },\n ...slots()\n },\n slots,\n setup(props, ctx) {\n const _TagName = computed(() => props.tag);\n return () => {\n const TagName = _TagName.value;\n return _createVNode(TagName, {\n \"class\": \"v-toolbar-title\"\n }, {\n default: () => [ctx.slots.default?.()]\n });\n };\n }\n});","import { resolveDirective as _resolveDirective, createVNode as _createVNode, mergeProps as _mergeProps, createTextVNode as _createTextVNode } from \"vue\";\nexport { VuiInjectionKey } from './injections';\nimport { reactive } from 'vue';\nimport { BUILTIN_ACTION_HANDLERS } from '@fastkit/vue-stack';\nimport { RouterLink, useLink } from 'vue-router';\nimport { setDefaultRouterLink } from '@fastkit/vue-action';\nimport { LocationService } from '@fastkit/vue-location';\nimport { VForm } from './components/VForm';\nimport { VTextField } from './components/VTextField';\nimport { getDocumentScroller } from '@fastkit/vue-scroller';\nimport { VButton } from './components/VButton';\nimport { VDialog } from './components/VDialog';\nimport { VSnackbar } from './components/VSnackbar';\nimport { VMenu } from './components/VMenu';\nimport { VSheetModal } from './components/VSheetModal';\nconst DEFAULT_AUTO_SCROLL_TO_ELEMENT_OFFSET_TOP = -20;\nconst DEFAULT_TEXTAREA_ROWS = 3;\nexport function mergeVuiServiceUISettings(base, overrides) {\n if (!overrides) {\n return base;\n }\n const merged = {\n ...base\n };\n Object.entries(overrides).forEach(([key, value]) => {\n if (value) {\n merged[key] = value;\n }\n });\n return merged;\n}\nexport function mergeVuiServiceIconSettings(base, overrides) {\n if (!overrides) {\n return base;\n }\n const merged = {\n ...base\n };\n Object.entries(overrides).forEach(([key, value]) => {\n if (value) {\n merged[key] = value;\n }\n });\n return merged;\n}\nexport function mergeVuiServiceOptions(base, overrides) {\n if (!overrides) {\n return base;\n }\n const merged = {\n ...base,\n uiSettings: mergeVuiServiceUISettings(base.uiSettings, overrides.uiSettings),\n icons: mergeVuiServiceIconSettings(base.icons, overrides.icons)\n };\n const excludes = ['uiSettings', 'icons'];\n Object.entries(overrides).forEach(([key, value]) => {\n if (value && !excludes.includes(key)) {\n merged[key] = value;\n }\n });\n return merged;\n}\nexport class VuiService {\n get scroller() {\n return getDocumentScroller();\n }\n constructor(options, stackService) {\n this.options = options;\n this.configure();\n const {\n selectionSeparator = () => ', ',\n autoScrollToElementOffsetTop = DEFAULT_AUTO_SCROLL_TO_ELEMENT_OFFSET_TOP,\n textareaRows = DEFAULT_TEXTAREA_ROWS,\n requiredChip = () => '*'\n } = options;\n this.selectionSeparator = selectionSeparator;\n this.autoScrollToElementOffsetTop = autoScrollToElementOffsetTop;\n this.textareaRows = textareaRows;\n this.requiredChip = requiredChip;\n this.router = options.router;\n this.location = new LocationService({\n router: this.router\n });\n this.useLink = options.useLink || useLink;\n this.stack = stackService;\n const {\n uiSettings\n } = options;\n this.stackActions = {\n ok: ({\n bindings\n }) => _createVNode(VButton, _mergeProps(uiSettings.dialogOk, bindings), {\n default: () => [_createTextVNode(\"OK\")]\n }),\n cancel: ({\n bindings\n }) => _createVNode(VButton, _mergeProps(uiSettings.dialogCancel, bindings), {\n default: () => [_createTextVNode(\"CANCEL\")]\n }),\n close: ({\n bindings\n }) => _createVNode(VButton, _mergeProps(uiSettings.dialogClose, bindings), {\n default: () => [_createTextVNode(\"CLOSE\")]\n })\n };\n this.dialog = stackService.createLauncher(VDialog);\n this.alert = stackService.createLauncher(VDialog, props => {\n const actions = [...(props?.actions || [])];\n if (!actions.length) {\n actions.push(this.stackAction('ok'));\n }\n return {\n ...props,\n actions\n };\n });\n this.confirm = stackService.createLauncher(VDialog, props => {\n const actions = [...(props?.actions || [])];\n if (!actions.length) {\n actions.push(this.stackAction('cancel'), this.stackAction('ok'));\n }\n return {\n ...props,\n actions\n };\n });\n this.snackbar = stackService.createLauncher(VSnackbar);\n this.menu = stackService.createLauncher(VMenu);\n this.sheet = stackService.createLauncher(VSheetModal);\n }\n configure(options) {\n options && Object.assign(this.options, options);\n setDefaultRouterLink(this.getRouterLink());\n }\n getRouterLink() {\n return this.options.RouterLink || RouterLink;\n }\n setting(key) {\n return this.options.uiSettings[key];\n }\n icon(iconType) {\n return this.options.icons[iconType];\n }\n getAutoScrollToElementOffsetTop() {\n let {\n autoScrollToElementOffsetTop\n } = this;\n if (typeof autoScrollToElementOffsetTop === 'function') {\n autoScrollToElementOffsetTop = autoScrollToElementOffsetTop();\n }\n return autoScrollToElementOffsetTop || 0;\n }\n getRequiredChip() {\n const {\n requiredChip\n } = this;\n return requiredChip && requiredChip();\n }\n formPrompt(settings, slot) {\n let form;\n const options = {\n dense: true,\n ...settings\n };\n const {\n size,\n state\n } = options;\n const _state = reactive(state);\n options.actions = options.actions || [this.stackAction('cancel', undefined, {\n size\n }), this.stackAction('ok', undefined, {\n size,\n onClick: () => {\n if (form) {\n const ev = new Event('submit');\n form.handleSubmit(ev);\n }\n }\n })];\n return this.dialog(options, stack => {\n return _createVNode(VForm, {\n \"disableAutoScroll\": true,\n \"size\": size,\n \"onVnodeBeforeUnmount\": () => {\n form = undefined;\n },\n \"onSubmit\": ev => {\n stack.resolve(_state);\n }\n }, {\n default: _form => {\n form = _form;\n return slot(_state, {\n form,\n stack\n });\n }\n });\n });\n }\n prompt(rawOptions = {}) {\n const options = typeof rawOptions === 'string' ? {\n input: {\n label: rawOptions\n }\n } : {\n ...rawOptions\n };\n options.input = {\n ...options.input\n };\n options.dense = true;\n const {\n initialValue: value = ''\n } = options.input;\n const {\n size\n } = options.input;\n delete options.input.initialValue;\n return this.formPrompt({\n size,\n ...options,\n state: {\n input: value\n }\n }, state => _createVNode(VTextField, _mergeProps(options.input, {\n \"modelValue\": state.input,\n \"onUpdate:modelValue\": $event => state.input = $event\n }), null)).then(result => {\n return result ? result.input : result;\n });\n }\n stackAction(key, override, attrs) {\n const factory = this.stackActions[key];\n const _onClick = BUILTIN_ACTION_HANDLERS[key];\n const action = {\n key,\n content: ({\n control,\n key\n }) => {\n const onClick = ev => _onClick(control, ev);\n return factory({\n service: this.stack,\n control,\n key,\n bindings: {\n onClick,\n ...attrs\n }\n });\n },\n ...override\n };\n return action;\n }\n}","import { VuiService, mergeVuiServiceOptions, VuiInjectionKey } from './service';\nimport { installVueStackPlugin } from '@fastkit/vue-stack';\nimport { installBodyScrollLockDirective } from '@fastkit/vue-body-scroll-lock';\nimport { installClickOutsideDirective } from '@fastkit/vue-click-outside';\nimport { installResizeDirective } from '@fastkit/vue-resize';\nimport { VueColorSchemePlugin } from '@fastkit/vue-color-scheme';\nimport { installVueAppLayout } from '@fastkit/vue-app-layout';\nimport { onAppUnmount } from '@fastkit/vue-utils';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\n\nexport function mergeVuiPluginOptions(base, override) {\n if (!override) return base;\n const merged = mergeVuiServiceOptions(base, override);\n if (override.stack) {\n merged.stack = {\n ...merged.stack,\n ...override.stack\n };\n }\n return merged;\n}\nexport class VuiPlugin {\n static install(app, opts) {\n const {\n colorScheme,\n stack\n } = opts;\n\n // ColorScheme\n const vueColorSchemePlugin = new VueColorSchemePlugin(colorScheme);\n app.use(vueColorSchemePlugin);\n\n // Stack\n installVueStackPlugin(app, stack);\n installVueAppLayout(app);\n installBodyScrollLockDirective(app);\n installClickOutsideDirective(app);\n installResizeDirective(app);\n\n // Vui\n const $vui = new VuiService(opts, app.config.globalProperties.$vstack);\n app.provide(VuiInjectionKey, $vui);\n app.config.globalProperties.$vui = $vui;\n onAppUnmount(app, () => {\n delete app.config.globalProperties.$vui;\n });\n }\n}\nexport function installVuiPlugin(app, opts) {\n return app.use(VuiPlugin, opts);\n}"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/schemes/control.ts","../src/composables/control.ts","../src/injections.ts","../src/composables/form-selector.tsx","../src/components/VFormControl/VFormControl.tsx","../src/components/VIcon/VIcon.tsx","../src/components/VTooltip/VTooltip.tsx","../src/components/VMenu/VMenu.tsx","../src/components/loading.ts","../src/composables/elevation.ts","../src/components/index.ts","../src/components/VDialog/VDialog.tsx","../src/components/VSnackbar/VSnackbar.tsx","../src/components/VSheetModal/VSheetModal.tsx","../src/components/VSkeltonLoader/VSkeltonLoaderBone.tsx","../src/components/VBusyImage/VBusyImage.tsx","../src/components/VGrid/VGridItem.tsx","../src/components/VGrid/schemes.ts","../src/components/VGrid/VGridContainer.tsx","../src/components/VPaper/VPaper.tsx","../src/components/VAvatar/VAvatar.tsx","../src/components/VChip/VChip.tsx","../src/components/VCard/VCard.tsx","../src/components/VCard/VCardContent.tsx","../src/components/VCard/VCardActions.tsx","../src/components/VButton/VButton.tsx","../src/components/VButton/VButtonGroup.tsx","../src/components/VPagination/VPagination.tsx","../src/components/VListTile/VListTile.tsx","../src/components/VDrawerLayout/VDrawerLayout.tsx","../src/components/VHero/VHero.tsx","../src/components/VNavigation/VNavigationItem.tsx","../src/components/VNavigation/VNavigation.tsx","../src/components/VControlField/VControlField.tsx","../src/components/VTextCounter/VTextCounter.tsx","../src/components/VCheckbox/VCheckbox.tsx","../src/components/VCheckable/VCheckable.tsx","../src/components/VCheckboxGroup/VCheckboxGroup.tsx","../src/components/VRadio/VRadio.tsx","../src/components/VRadioGroup/VRadioGroup.tsx","../src/components/VSwitch/VSwitch.tsx","../src/components/VSwitchGroup/VSwitchGroup.tsx","../src/components/VOption/VOption.tsx","../src/components/VOptionGroup/VOptionGroup.tsx","../src/components/VSelect/VSelect.tsx","../src/components/VTextField/VTextField.tsx","../src/components/VNumberField/VNumberField.tsx","../src/components/VTextarea/VTextarea.tsx","../src/components/VForm/VForm.tsx","../src/components/VTabs/VTabs.tsx","../src/components/VTabs/VTab.tsx","../src/components/VBreadcrumbs/VBreadcrumbs.tsx","../src/components/VContentSwitcher/VContentSwitcher.tsx","../src/components/VDataTable/VDataTable.tsx","../src/components/VApp/VApp.tsx","../src/components/VToolbar/VToolbar.tsx","../src/components/VToolbar/VToolbarMenu.tsx","../src/components/VToolbar/VToolbarEdge.tsx","../src/components/VToolbar/VToolbarTitle.tsx","../src/service.tsx","../src/plugin.tsx"],"names":["VAction","computed","provide","inject","props","_resolveDirective","_createVNode","defineComponent","defineSlots","_mergeProps","createPropsOptions","hinttipDelay","ctx","slots","emits","colorSchemeProps","useColorClasses","colorProps","createStackActionProps","useStackAction","actionableInheritProps","useActionable","renderSlotOrEmpty","ref","watch","useScopeColorClass","classes","width","isActive","_Fragment","_isVNode","_isSlot","match","to","resolveVNodeChildOrSlots","createFormSelectorItemSettings","useFormSelectorItemControl","_withDirectives","createFormSelectorSettings","useFormSelectorControl","createFormControlProps","ev","onBeforeUnmount","onBeforeUpdate","onMounted","RouterLink","isPromise","children","getDocumentScroller","_createTextVNode","withDirectives","Transition","isVNode","resizeDirectiveArgument","toScopeColorClass","rowSettings","key"],"mappings":"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","sourcesContent":["import './styles/index.scss';\n\nexport * from '@fastkit/helpers';\nexport * from '@fastkit/icon-font';\nexport * from '@fastkit/media-match';\nexport * from '@fastkit/vue-media-match';\nexport * from '@fastkit/vue-keyboard';\nexport * from '@fastkit/vue-transitions';\nexport * from '@fastkit/vue-location';\nexport * from '@fastkit/rules';\nexport * from '@fastkit/vue-body-scroll-lock';\nexport * from '@fastkit/vue-click-outside';\nexport * from '@fastkit/vue-app-layout';\nexport * from '@fastkit/vue-color-scheme';\nexport * from '@fastkit/vue-form-control';\nexport * from '@fastkit/vue-scroller';\nexport * from '@fastkit/vue-stack';\nexport * from '@fastkit/vue-action';\nexport * from '@fastkit/vue-utils';\nexport * from '@fastkit/vue-loading';\n\n// @MEMO Alias export\nexport { VAction as VLink } from '@fastkit/vue-action';\n\nexport * from './schemes';\nexport * from './composables';\nexport * from './components';\nexport * from './service';\nexport * from './plugin';\nexport * from './injections';\n","export const CONTROL_SIZES = ['sm', 'md', 'lg'] as const;\n\nexport type ControlSize = (typeof CONTROL_SIZES)[number];\n\nexport const CONTROL_FIELD_VARIANTS = ['outlined', 'filled', 'flat'] as const;\n\nexport type ControlFieldVariant = (typeof CONTROL_FIELD_VARIANTS)[number];\n\nexport const CONTROL_LOADING_SPINNER_SIZES: Record<ControlSize, number> = {\n sm: 16,\n md: 20,\n lg: 24,\n};\n","import {\n PropType,\n ExtractPropTypes,\n computed,\n ComputedRef,\n provide,\n inject,\n} from 'vue';\nimport {\n ControlSize,\n CONTROL_SIZES,\n ControlFieldVariant,\n CONTROL_FIELD_VARIANTS,\n} from '../schemes';\nimport { createPropsOptions } from '@fastkit/vue-utils';\nimport {\n VuiControlInjectionKey,\n VuiControlFieldInjectionKey,\n} from '../injections';\n\nexport function createControlProps() {\n return createPropsOptions({\n size: {\n type: String as PropType<ControlSize>,\n validator: (value: any) => {\n if (value == null) return true;\n return CONTROL_SIZES.includes(value);\n },\n },\n loading: Boolean,\n });\n}\n\nexport type ControlProps = ExtractPropTypes<\n ReturnType<typeof createControlProps>\n>;\n\nexport interface ControlProvider {\n parentControl: ControlProvider | null;\n size: ComputedRef<ControlSize>;\n classes: ComputedRef<any>;\n}\n\nexport interface UseControlProviderOptions {\n defaultSize?: ControlSize;\n}\n\nexport function useControl(\n props: ControlProps,\n opts: UseControlProviderOptions = {},\n) {\n const { defaultSize = 'md' } = opts;\n const parentControl = inject(VuiControlInjectionKey, null);\n const size = computed(() => {\n const psize = props.size;\n return psize\n ? psize\n : parentControl\n ? parentControl.size.value\n : defaultSize;\n });\n const classes = computed(() => {\n return ['v-control', `v-control--${size.value}`];\n });\n const provider: ControlProvider = {\n parentControl,\n size,\n classes,\n };\n provide(VuiControlInjectionKey, provider);\n return provider;\n}\n\nexport function createControlFieldProviderProps() {\n return createPropsOptions({\n variant: {\n type: String as PropType<ControlFieldVariant>,\n validator: (value: any) => {\n if (value == null) return true;\n return CONTROL_FIELD_VARIANTS.includes(value);\n },\n },\n });\n}\n\nexport type ControlFieldProviderProps = ExtractPropTypes<\n ReturnType<typeof createControlFieldProviderProps>\n>;\n\nexport interface ControlFieldProvider {\n parentControlField: ControlFieldProvider | null;\n variant: ComputedRef<ControlFieldVariant>;\n}\n\nexport interface UseControlFieldProviderOptions {\n defaultVariant?: ControlFieldVariant;\n}\n\nexport function useControlField(\n props: ControlFieldProviderProps,\n opts: UseControlFieldProviderOptions = {},\n) {\n const { defaultVariant = 'flat' } = opts;\n const parentControlField = inject(VuiControlFieldInjectionKey, null);\n const variant = computed(() => {\n const pvariant = props.variant;\n return pvariant\n ? pvariant\n : parentControlField\n ? parentControlField.variant.value\n : defaultVariant;\n });\n const provider: ControlFieldProvider = {\n parentControlField,\n variant,\n };\n provide(VuiControlFieldInjectionKey, provider);\n return provider;\n}\n","import { InjectionKey, inject, computed, provide } from 'vue';\nimport type { VuiService } from './service';\nimport type {\n ControlProvider,\n ControlFieldProvider,\n VuiColorProvider,\n} from './composables';\n\nexport const VuiInjectionKey: InjectionKey<VuiService> = Symbol();\n\nexport const VuiControlInjectionKey: InjectionKey<ControlProvider> = Symbol();\n\nexport const VuiControlFieldInjectionKey: InjectionKey<ControlFieldProvider> =\n Symbol();\n\nexport const VuiColorProviderInjectionKey: InjectionKey<VuiColorProvider> =\n Symbol();\n\nexport const VUI_TEXT_FIELD_SYMBOL = 'vui-text-field';\nexport const VUI_TEXTAREA_SYMBOL = 'vui-textarea';\n// export const VUI_WYSIWYG_EDITOR_SYMBOL = 'vui-wysiwyg-editor';\nexport const VUI_SELECT_SYMBOL = 'vui-select';\nexport const VUI_OPTION_SYMBOL = 'vui-option';\nexport const VUI_CHECKBOX_GROUP_SYMBOL = 'vui-checkbox-group';\nexport const VUI_CHECKBOX_SYMBOL = 'vui-checkbox';\nexport const VUI_RADIO_GROUP_SYMBOL = 'vui-radio-group';\nexport const VUI_RADIO_SYMBOL = 'vui-radio';\nexport const VUI_SWITCH_GROUP_SYMBOL = 'vui-switch-group';\nexport const VUI_SWITCH_SYMBOL = 'vui-switch';\nexport const VUI_FORM_SYMBOL = 'vui-form';\n\nexport function useVui() {\n const vui = inject(VuiInjectionKey);\n if (!vui) {\n throw new Error('missing vui service');\n }\n return vui;\n}\n\nexport function useVuiColorProvider(): VuiColorProvider {\n const parent = inject(VuiColorProviderInjectionKey, null);\n if (parent) {\n return parent;\n }\n\n const vui = useVui();\n const primary = computed(() => vui.setting('primaryScope'));\n const error = computed(() => vui.setting('errorScope'));\n const provider: VuiColorProvider = {\n primary,\n error,\n className: (type) => {\n const scope = provider[type].value;\n return `${scope}-scope`;\n },\n };\n\n provide(VuiColorProviderInjectionKey, provider);\n\n return provider;\n}\n","import { resolveDirective as _resolveDirective, Fragment as _Fragment, createVNode as _createVNode } from \"vue\";\nimport './form-selector.scss';\nimport { defineComponent, computed } from 'vue';\nimport { createFormControlProps, createFormSelectorSettings, useFormSelectorControl } from '@fastkit/vue-form-control';\nimport { defineSlots, resolveVNodeChildOrSlots } from '@fastkit/vue-utils';\nimport { createControlProps, useControl } from './control';\nimport { VFormControl } from '../components/VFormControl';\nimport { useVui } from '../injections';\nimport { VProgressCircular } from '../components/loading';\nimport { CONTROL_LOADING_SPINNER_SIZES } from '../schemes';\nconst slots = defineSlots();\nexport function defineFormSelectorComponent(opts) {\n const {\n itemRenderer,\n defaultMultiple,\n nodeType,\n className\n } = opts;\n const {\n props,\n emits\n } = createFormSelectorSettings({\n defaultMultiple\n });\n return defineComponent({\n name: opts.name,\n props: {\n ...props,\n ...createFormControlProps(),\n ...createControlProps(),\n stacked: {\n type: Boolean,\n default: true\n },\n // eslint-disable-next-line vue/require-prop-types\n loadingMessage: {},\n // eslint-disable-next-line vue/require-prop-types\n failedToLoadItemsMessage: {},\n ...slots()\n },\n slots,\n emits,\n setup(props, ctx) {\n const selectorControl = useFormSelectorControl(props, ctx, {\n nodeType,\n defaultMultiple\n });\n const control = useControl(props);\n const vui = useVui();\n const loadingMessageRef = computed(() => {\n const slot = resolveVNodeChildOrSlots(props.loadingMessage, vui.setting('loadingMessage'), 'Loading...');\n return slot && slot(vui);\n });\n const failedToLoadItemsMessageRef = computed(() => {\n const slot = resolveVNodeChildOrSlots(props.failedToLoadItemsMessage, vui.setting('failedToLoadDataMessage'), 'Failed to load data.');\n return slot && slot(vui);\n });\n return {\n ...selectorControl.expose(),\n ...control,\n loadingMessageRef,\n failedToLoadItemsMessageRef\n };\n },\n render() {\n const {\n selectorControl\n } = this;\n return _createVNode(VFormControl, {\n \"nodeControl\": this.nodeControl,\n \"focused\": this.nodeControl.focused,\n \"hiddenInfo\": this.hiddenInfo,\n \"class\": ['v-form-selector', className, {\n ...this.classes,\n 'v-form-selector--stacked': this.stacked\n }],\n \"label\": this.label,\n \"hint\": this.hint,\n \"hinttip\": this.hinttip,\n \"requiredChip\": this.requiredChip,\n \"error\": selectorControl.itemsLoadFailed\n }, {\n ...this.$slots,\n default: () => _createVNode(\"div\", {\n \"class\": \"v-form-selector__body\"\n }, [selectorControl.itemsLoadFailed && _createVNode(\"div\", {\n \"key\": \"failed\",\n \"class\": \"v-form-selector__placeholder v-form-selector__placeholder--error\"\n }, [this.failedToLoadItemsMessageRef]), selectorControl.itemsLoading && _createVNode(\"div\", {\n \"key\": \"loading\",\n \"class\": \"v-form-selector__placeholder\"\n }, [_createVNode(VProgressCircular, {\n \"indeterminate\": true,\n \"class\": \"mr-1\",\n \"size\": CONTROL_LOADING_SPINNER_SIZES[this.size || 'md']\n }, null), this.loadingMessageRef]), this.propGroups.map(group => {\n const {\n items\n } = group;\n return _createVNode(_Fragment, null, [items.map(attrs => {\n const selected = selectorControl.isSelected(attrs.value);\n return itemRenderer({\n selected,\n control: selectorControl,\n attrs: {\n ...attrs,\n modelValue: selected,\n key: attrs.value\n },\n slots: {\n default: () => attrs.label(this.selectorControl)\n }\n });\n })]);\n }), this.$slots.default?.()])\n });\n }\n });\n}","import { resolveDirective as _resolveDirective, mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\nimport './VFormControl.scss';\nimport { computed, defineComponent } from 'vue';\nimport { createFormControlSettings, useFormControl } from '@fastkit/vue-form-control';\nimport { defineSlots } from '@fastkit/vue-utils';\nimport { useVuiColorProvider, useVui } from '../../injections';\nimport { VIcon } from '../VIcon';\nimport { VTooltip } from '../VTooltip';\nconst {\n props,\n emits\n} = createFormControlSettings();\nexport function createRequiredChipRenderer(required, props, vui = useVui()) {\n return () => {\n if (!required()) return;\n let chip;\n const {\n requiredChip\n } = props;\n if (requiredChip === false) return;\n if (requiredChip) {\n if (typeof requiredChip === 'string') {\n chip = requiredChip;\n } else if (typeof requiredChip === 'function') {\n chip = requiredChip();\n }\n }\n if (chip === undefined) {\n chip = vui.getRequiredChip();\n }\n return chip;\n };\n}\nconst slots = defineSlots();\nexport const VFormControl = defineComponent({\n name: 'VFormControl',\n props: {\n ...props,\n ...slots(),\n error: Boolean\n },\n slots,\n emits,\n setup(props, ctx) {\n const vui = useVui();\n const control = useFormControl(props, ctx, {\n hinttipPrepend: () => _createVNode(VIcon, {\n \"class\": \"v-form-control__label__hinttip__icon\",\n \"name\": vui.icon('hinttip')\n }, null)\n });\n const hinttipDelay = computed(() => {\n let {\n hinttipDelay\n } = control;\n if (hinttipDelay == null) {\n hinttipDelay = vui.setting('hinttipDelay');\n }\n if (hinttipDelay == null) {\n hinttipDelay = 500;\n }\n return hinttipDelay;\n });\n ctx.expose(control.expose());\n const colorProvider = useVuiColorProvider();\n const classes = computed(() => [{\n 'v-form-control--validating': control.validating,\n 'v-form-control--pending': control.pending,\n 'v-form-control--focused': control.focused,\n 'v-form-control--dirty': control.dirty,\n 'v-form-control--pristine': control.pristine,\n 'v-form-control--disabled': control.disabled,\n 'v-form-control--readonly': control.readonly,\n 'v-form-control--touched': control.touched,\n 'v-form-control--untouched': control.untouched,\n 'v-form-control--invalid': control.invalid,\n 'v-form-control--valid': control.valid\n }, colorProvider.className(props.error ? 'error' : control.invalid && !control.readonly ? 'error' : 'primary')]);\n const getRequiredChip = createRequiredChipRenderer(() => control.required, props, vui);\n const handleClick = ev => ctx.emit('clickLabel', ev, control);\n return () => {\n const label = control.renderLabel();\n const message = control.renderMessage();\n const appends = control.renderInfoAppends();\n const hinttip = control.renderHinttip();\n const _hinttipDelay = hinttipDelay.value;\n return _createVNode(\"div\", {\n \"class\": ['v-form-control', classes.value]\n }, [label && _createVNode(\"label\", {\n \"class\": \"v-form-control__label\",\n \"onClick\": handleClick\n }, [label, getRequiredChip(), hinttip && _createVNode(VTooltip, {\n \"y\": \"top\",\n \"openOnHover\": _hinttipDelay !== 'click',\n \"openDelay\": typeof _hinttipDelay === 'number' ? _hinttipDelay : undefined\n }, {\n default: () => [_createVNode(\"div\", {\n \"class\": \"v-form-control__label__hinttip__hint\"\n }, [hinttip.hint])],\n activator: ctx => _createVNode(\"a\", _mergeProps({\n \"class\": \"v-form-control__label__hinttip\",\n \"href\": \"javascript:void(0)\"\n }, ctx.attrs), [hinttip.tip])\n })]), _createVNode(\"div\", {\n \"class\": \"v-form-control__body\"\n }, [ctx.slots.default?.(control), !props.hiddenInfo && _createVNode(\"div\", {\n \"class\": \"v-form-control__info\"\n }, [!!message && _createVNode(\"div\", {\n \"class\": \"v-form-control__message\"\n }, [message]), !!appends && _createVNode(\"div\", {\n \"class\": \"v-form-control__appends\"\n }, [appends])])])]);\n };\n }\n});","import { createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\nimport './VIcon.scss';\nimport { defineComponent, computed } from 'vue';\nimport { createPropsOptions } from '@fastkit/vue-utils';\nexport { ICON_NAMES } from '@fastkit/icon-font';\n// export function toRawIconProp<T = void>(\n// prop: RawIconProp<T>,\n// payload: () => T,\n// ): RawIconProp {\n// if (!prop || typeof prop !== 'function') {\n// return prop;\n// }\n// const fn = (gen: IconGenerator): VNodeChild => {\n// const t = payload();\n// return prop(gen, t);\n// };\n// return fn;\n// }\n// export const rawRawIconProp = [String, Function] as PropType<RawIconProp>;\nconst _rawIconProp = [String, Function];\nexport function rawIconProp() {\n return _rawIconProp;\n}\nexport function resolveRawIconProp(payload, prop, extraProps) {\n if (!prop) return;\n return typeof prop === 'function' ? prop(input => _createVNode(VIcon, _mergeProps(input, extraProps), null), payload) : _createVNode(VIcon, _mergeProps(extraProps, {\n \"name\": prop\n }), null);\n}\nexport const iconProps = createPropsOptions({\n name: {\n type: String,\n required: true\n },\n rotate: {\n type: Number\n }\n});\nexport const VIcon = defineComponent({\n name: 'VIcon',\n props: {\n ...iconProps\n },\n emits: {},\n setup(props, ctx) {\n const iconName = computed(() => props.name);\n const clickable = computed(() => typeof ctx.attrs.onClick !== 'undefined');\n const classes = computed(() => [{\n 'v-icon--clickable': clickable.value\n }]);\n const bodyClasses = computed(() => `icon-${iconName.value}`);\n const bodyStyles = computed(() => {\n const {\n rotate\n } = props;\n if (!rotate) return;\n return {\n transform: `rotate(${rotate}deg)`\n };\n });\n return () => _createVNode(\"span\", {\n \"class\": [`v-icon notranslate`, classes.value]\n }, [_createVNode(\"i\", {\n \"class\": ['v-icon__body icon', bodyClasses.value],\n \"style\": bodyStyles.value\n }, null)]);\n }\n});","import { mergeProps as _mergeProps, resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\nimport './VTooltip.scss';\nimport { defineComponent } from 'vue';\nimport { VMenu } from '../VMenu';\nexport const VTooltip = defineComponent({\n name: 'VTooltip',\n inheritAttrs: false,\n setup(_props, ctx) {\n return () => {\n const attrs = {\n ...ctx.attrs\n };\n const defaultSlot = ctx.slots.default;\n if (attrs.openOnHover == null) {\n attrs.openOnHover = true;\n }\n if (attrs.openDelay == null) {\n attrs.openDelay = 200;\n }\n return _createVNode(VMenu, _mergeProps(attrs, {\n \"scrollLock\": false,\n \"class\": \"v-tooltip\"\n }), {\n ...ctx.slots,\n default: payload => {\n return [_createVNode(\"span\", {\n \"class\": \"v-tooltip__inner\"\n }, [defaultSlot && defaultSlot(payload)])];\n }\n });\n };\n }\n});","import { createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\nimport './VMenu.scss';\nimport { defineMenuComponent } from '@fastkit/vue-stack';\nimport { colorSchemeProps, useColorClasses } from '@fastkit/vue-color-scheme';\nconst colorProps = colorSchemeProps();\nexport const VMenu = defineMenuComponent({\n name: 'VMenu',\n attrs: {\n class: 'v-menu'\n },\n props: {\n ...colorProps\n },\n setup(ctx) {\n const color = useColorClasses(ctx.props, {\n useRootThemeDefault: true\n });\n ctx.setupContext.expose({\n menu: ctx\n });\n return children => {\n return _createVNode(\"div\", _mergeProps({\n \"class\": ['v-menu__body', color.colorClasses.value]\n }, ctx.attrs), [children]);\n };\n }\n});","export * from '@fastkit/vue-loading';\n","import { PropType, ExtractPropTypes, computed } from 'vue';\nimport { createPropsOptions } from '@fastkit/vue-utils';\nimport { VuiElevationValue } from '../schemes';\n\nexport function createElevationProps() {\n return createPropsOptions({\n elevation: Number as PropType<VuiElevationValue>,\n });\n}\n\nexport type ElevationProps = ExtractPropTypes<\n ReturnType<typeof createElevationProps>\n>;\n\nexport interface UseElevationOptions {\n defaultValue?: VuiElevationValue;\n}\n\nexport function useElevation(\n props: ElevationProps,\n opts: UseElevationOptions = {},\n) {\n const elevationValue = computed(() =>\n props.elevation == null ? opts.defaultValue : props.elevation,\n );\n const elevationClassName = computed(() => {\n const v = elevationValue.value;\n return v == null ? undefined : `elevation-${v}`;\n });\n return {\n elevationValue,\n elevationClassName,\n };\n}\n","export * from './loading';\nexport * from './VDialog';\nexport * from './VMenu';\nexport * from './VSnackbar';\nexport * from './VTooltip';\nexport * from './VSheetModal';\nexport * from './VSkeltonLoader';\nexport * from './VBusyImage';\nexport * from './VGrid';\nexport * from './VPaper';\nexport * from './VAvatar';\nexport * from './VChip';\nexport * from './VCard';\nexport * from './VIcon';\nexport * from './VButton';\nexport * from './VPagination';\nexport * from './VListTile';\nexport * from './VDrawerLayout';\nexport * from './VHero';\n// export * from './VAccordion';\nexport * from './VNavigation';\nexport * from './VControlField';\nexport * from './VTextCounter';\nexport * from './VFormControl';\nexport * from './VCheckbox';\nexport * from './VCheckboxGroup';\nexport * from './VRadio';\nexport * from './VRadioGroup';\nexport * from './VSwitch';\nexport * from './VSwitchGroup';\nexport * from './VOption';\nexport * from './VOptionGroup';\nexport * from './VSelect';\nexport * from './VTextField';\nexport * from './VNumberField';\nexport * from './VTextarea';\n// export * from './VWysiwygEditor';\nexport * from './VForm';\nexport * from './VTabs';\nexport * from './VBreadcrumbs';\nexport * from './VContentSwitcher';\nexport * from './VDataTable';\nexport * from './VApp';\nexport * from './VToolbar';\n","import { createVNode as _createVNode } from \"vue\";\nimport './VDialog.scss';\nimport { defineDialogComponent, createStackActionProps, useStackAction } from '@fastkit/vue-stack';\nimport { colorSchemeProps, useColorClasses } from '@fastkit/vue-color-scheme';\nimport { useVui } from '../../injections';\nconst colorProps = colorSchemeProps();\nexport const VDialog = defineDialogComponent({\n name: 'VDialog',\n props: {\n ...createStackActionProps(),\n ...colorProps,\n dense: Boolean\n },\n setup(ctx) {\n const {\n props,\n control\n } = ctx;\n const vui = useVui();\n const actionControl = useStackAction(props, control, {\n resolver: actions => {\n if (actions.length === 0) {\n return [vui.stackAction('close')];\n } else {\n return actions;\n }\n }\n });\n const color = useColorClasses(props, {\n useRootThemeDefault: true\n });\n return children => {\n const {\n $actions\n } = actionControl;\n return _createVNode(\"div\", {\n \"class\": ['v-dialog', color.colorClasses.value, props.dense && 'v-dialog--dense']\n }, [_createVNode(\"div\", {\n \"class\": \"v-dialog__body\"\n }, [children]), $actions.length > 0 && _createVNode(\"div\", {\n \"class\": \"v-dialog__actions\"\n }, [$actions])]);\n };\n }\n});","import { mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\nimport './VSnackbar.scss';\nimport { defineSnackbarComponent, createStackActionProps, useStackAction } from '@fastkit/vue-stack';\nimport { colorSchemeProps } from '@fastkit/vue-color-scheme';\nimport { useVui } from '../../injections';\nimport { useColorClasses } from '@fastkit/vue-color-scheme';\nconst colorProps = colorSchemeProps();\nexport const VSnackbar = defineSnackbarComponent({\n name: 'VSnackbar',\n props: {\n ...createStackActionProps(),\n ...colorProps\n },\n setup(ctx) {\n const {\n props,\n control\n } = ctx;\n const vui = useVui();\n const actionControl = useStackAction(props, control, {\n resolver: actions => {\n if (actions.length === 0) {\n return [vui.stackAction('close')];\n } else {\n return actions;\n }\n }\n });\n const color = useColorClasses(props, {\n useRootThemeDefault: true\n });\n return children => {\n const {\n $actions\n } = actionControl;\n return _createVNode(\"div\", _mergeProps({\n \"class\": ['v-snackbar', color.colorClasses.value]\n }, ctx.attrs), [_createVNode(\"div\", {\n \"class\": \"v-snackbar__inner\"\n }, [_createVNode(\"div\", {\n \"class\": \"v-snackbar__body\"\n }, [children]), $actions.length > 0 && _createVNode(\"div\", {\n \"class\": \"v-snackbar__actions\"\n }, [$actions])])]);\n };\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VSheetModal.scss';\nimport { defineComponent\n// ExtractPropTypes,\n, computed } from 'vue';\nimport { createStackableDefine, useStackControl } from '@fastkit/vue-stack';\n// import { } from '../schemes';\n// import { useStackControl } from '../composables';\n// import { ExtractPropInput } from '@fastkit/vue-utils';\n\nconst {\n props,\n emits\n} = createStackableDefine({\n defaultTransition: 'v-sheet-modal',\n defaultFocusTrap: true,\n defaultFocusRestorable: true,\n defaultScrollLock: true\n});\nexport const sheetModalProps = {\n ...props,\n header: Function,\n 'v-slots': undefined\n};\nconst SHEET_STACK_TYPE = Symbol('VSheetModal');\nexport const VSheetModal = defineComponent({\n name: 'VSheetModal',\n inheritAttrs: false,\n props: sheetModalProps,\n emits,\n setup(props, ctx) {\n const stackControl = useStackControl(props, ctx, {\n stackType: SHEET_STACK_TYPE\n });\n const hasActiveChild = computed(() => {\n const myIndex = stackControl.zIndex;\n const stacks = stackControl.$service.getActiveStacks().filter(stack => stack.stackType === SHEET_STACK_TYPE);\n return stacks.some(stack => stack.zIndex > myIndex);\n });\n return {\n stackControl,\n hasActiveChild\n };\n },\n render() {\n const {\n render\n // color,\n } = this.stackControl;\n const headerSlot = this.$slots.header || this.header;\n return render(children => {\n return _createVNode(\"div\", {\n \"class\": ['v-sheet-modal', {\n 'v-sheet-modal--has-active-child': this.hasActiveChild\n }\n // color.colorClasses.value,\n ],\n \"tabindex\": \"0\"\n }, [headerSlot && _createVNode(\"div\", {\n \"class\": \"v-sheet-modal__header\"\n }, [headerSlot(this.stackControl)]), _createVNode(\"div\", {\n \"class\": \"v-sheet-modal__scroller\"\n }, [children])]);\n });\n }\n});\n\n// export type VSheetModalStatic = typeof VSheetModal;","import { createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\nimport './VSkeltonLoaderBone.scss';\nimport { defineComponent } from 'vue';\nexport const VSkeltonLoaderBone = defineComponent({\n name: 'VSkeltonLoaderBone',\n inheritAttrs: false,\n props: {\n tag: {\n type: String,\n default: 'div'\n }\n },\n setup(props, ctx) {\n return () => {\n const TagName = props.tag;\n return _createVNode(TagName, _mergeProps(ctx.attrs, {\n \"class\": \"v-skelton-loader-bone\"\n }), {\n default: () => [ctx.slots.default?.()]\n });\n };\n }\n});","import { createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\nimport './VBusyImage.scss';\nimport { defineComponent, computed, ref, watch, onMounted, onBeforeUnmount } from 'vue';\nimport { IN_WINDOW } from '@fastkit/helpers';\nimport { loadImage } from '@fastkit/dom';\nimport { defineSlots } from '@fastkit/vue-utils';\nconst IMAGE_ATTRS = ['alt', 'crossorigin', 'decoding', 'sizes', 'src', 'srcset', 'usemap'];\nexport function splitAttrs(attrs) {\n const el = {\n ...attrs\n };\n const img = {};\n for (const ATTR of IMAGE_ATTRS) {\n const value = attrs[ATTR];\n if (value != null) {\n img[ATTR] = value;\n }\n }\n return {\n el,\n img\n };\n}\nconst NUMBERISH_PROP = [Number, String];\nconst DEFAULT_HEIGHT = 150;\nconst resolveBusyImageSizeValue = source => {\n if (source == null) return;\n return isNaN(source) ? String(source) : `${source}px`;\n};\nconst slots = defineSlots();\n\n/**\n * 画像表示用コンポーネント\n * <img /> タグのように振る舞うが、ローディング表示や、表示サイズの調整など、ちょっといい感じにやるためのコンポーネント\n */\nexport const VBusyImage = defineComponent({\n name: 'VBusyImage',\n props: {\n ...undefined,\n aspectRatio: String,\n width: NUMBERISH_PROP,\n height: NUMBERISH_PROP,\n cover: Boolean,\n ...slots()\n },\n emits: {\n load: ev => true,\n error: ev => true\n },\n slots,\n setup(props, ctx) {\n const loadStateRef = ref(props.cover && isAvailableSrc(ctx.attrs.src) ? 'loading' : 'pending');\n const attrsRef = computed(() => splitAttrs(ctx.attrs));\n const isPendingRef = computed(() => loadStateRef.value === 'pending');\n const isLoadingRef = computed(() => loadStateRef.value === 'loading');\n const isLoadedRef = computed(() => loadStateRef.value === 'loaded');\n const isErrorRef = computed(() => loadStateRef.value === 'error');\n const classesRef = computed(() => [`v-busy-image--${loadStateRef.value}`, {\n 'v-busy-image--cover': props.cover,\n 'v-busy-image--clickable': typeof ctx.attrs.onClick === 'function'\n }]);\n const nodeRef = ref();\n const coverImageRef = ref();\n const rectsRef = computed(() => {\n const placeholder = {};\n const main = {};\n const {\n cover\n } = props;\n let {\n width,\n height\n } = props;\n if (height == null && cover) {\n height = DEFAULT_HEIGHT;\n }\n if (width == null && cover) {\n width = height;\n }\n width = resolveBusyImageSizeValue(width);\n height = resolveBusyImageSizeValue(height);\n main.width = width;\n main.height = height;\n placeholder.width = width;\n placeholder.height = height;\n if (placeholder.height == null) {\n placeholder.height = resolveBusyImageSizeValue(DEFAULT_HEIGHT);\n }\n if (placeholder.width == null) {\n placeholder.width = placeholder.height;\n }\n return {\n placeholder,\n main\n };\n });\n const currentRectRef = computed(() => isLoadedRef.value ? rectsRef.value.main : rectsRef.value.placeholder);\n const stylesRef = computed(() => {\n const {\n value: coverImage\n } = coverImageRef;\n const coverSrc = coverImage && coverImage.src;\n const styles = {\n ...currentRectRef.value\n };\n if (coverSrc) {\n styles.backgroundImage = `url(${coverSrc})`;\n }\n return styles;\n });\n let booted = false;\n watch(() => ctx.attrs.src, value => {\n coverImageRef.value = undefined;\n if (isAvailableSrc(value)) {\n loadStateRef.value = 'loading';\n if (props.cover) {\n loadImage(value).then(image => {\n coverImageRef.value = image;\n setManualState('load');\n }).catch(err => {\n setManualState('error');\n });\n }\n } else {\n loadStateRef.value = 'pending';\n }\n }, {\n immediate: IN_WINDOW\n });\n const setManualState = loadType => {\n loadStateRef.value = loadType === 'load' ? 'loaded' : 'error';\n const ev = new Event(loadType, {\n bubbles: false,\n cancelable: false,\n composed: false\n });\n ctx.emit(loadType, ev);\n };\n onMounted(() => {\n if (booted || props.cover) return;\n const image = nodeRef.value;\n if (!image) return;\n const loadType = imageIsReady(image);\n if (loadType) {\n setManualState(loadType);\n }\n });\n onBeforeUnmount(() => {\n coverImageRef.value = undefined;\n });\n const handleLoad = ev => {\n booted = true;\n loadStateRef.value = 'loaded';\n ctx.emit('load', ev);\n };\n const handleError = ev => {\n booted = true;\n loadStateRef.value = 'error';\n ctx.emit('error', ev);\n };\n ctx.expose({\n state: loadStateRef,\n isPending: isPendingRef,\n isLoading: isLoadingRef,\n isLoaded: isLoadedRef,\n isError: isErrorRef\n });\n return () => {\n const {\n el: elAttrs,\n img: imgAttrs\n } = attrsRef.value;\n const styles = stylesRef.value;\n const children = ctx.slots.default?.();\n return _createVNode(\"span\", _mergeProps({\n \"class\": ['v-busy-image', classesRef.value]\n }, elAttrs, {\n \"style\": styles\n }), [!props.cover && _createVNode(\"img\", _mergeProps({\n \"key\": \"img\",\n \"ref\": nodeRef,\n \"class\": \"v-busy-image__node\"\n }, imgAttrs, {\n \"onLoad\": handleLoad,\n \"onError\": handleError\n }), null), !!children && _createVNode(\"span\", {\n \"class\": \"v-busy-image__slot\"\n }, [children])]);\n };\n }\n});\nfunction imageIsReady(image) {\n if (!image.complete) return false;\n return image.naturalWidth + image.naturalHeight > 0 ? 'load' : 'error';\n}\nfunction isAvailableSrc(src) {\n return typeof src === 'string' && src !== '';\n}","import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from \"vue\";\nimport './VGridItem.scss';\nimport { defineComponent, computed } from 'vue';\nimport { extractRawGridValueClasses } from './schemes';\n\n// type MQSizeProps = Record<\n// MediaMatchKey,\n// PropType<GridItemSizeValue | undefined>\n// >;\nexport const VGridItem = defineComponent({\n name: 'VGridItem',\n inheritAttrs: false,\n props: {\n tag: {\n type: String,\n default: 'div'\n },\n // ...(undefined as unknown as MQSizeProps),\n size: undefined,\n align: undefined,\n justify: undefined,\n order: undefined\n },\n setup(props, ctx) {\n const data = computed(() => {\n const classes = [];\n const attrs = {\n ...ctx.attrs\n };\n const {\n size,\n align,\n justify,\n order\n } = props;\n delete attrs.size;\n delete attrs.align;\n delete attrs.justify;\n delete attrs.order;\n size != null && classes.push(extractRawGridValueClasses(size, 'grid-size-'));\n align && classes.push(extractRawGridValueClasses(align, 'self-align-'));\n justify && classes.push(extractRawGridValueClasses(justify, 'self-justify-'));\n order != null && classes.push(extractRawGridValueClasses(order, 'order-'));\n\n // MEDIA_MATCH_CONDITIONS.forEach(({ key }) => {\n // const v = attrs[key];\n // delete attrs[key];\n // if (v != null) {\n // classes.push(`grid-size-${v}--${key}`);\n // }\n // });\n\n return {\n classes,\n attrs\n };\n });\n return () => {\n const TagName = props.tag;\n const {\n classes,\n attrs\n } = data.value;\n return _createVNode(TagName, _mergeProps({\n \"class\": ['v-grid-item grid-item', classes]\n }, attrs), ctx.slots);\n };\n }\n});","import { PropType } from 'vue';\nimport { MediaMatchKey } from '@fastkit/media-match';\n\nexport type RawGridValue<T extends number | string = number | string> =\n | T\n | Partial<Record<MediaMatchKey, T>>\n | undefined;\n\nexport type RawGridValueProp<T extends number | string = number | string> =\n PropType<RawGridValue<T>>;\n\nexport function extractRawGridValueClasses<\n T extends number | string = number | string,\n>(\n value: NonNullable<RawGridValue<T>>,\n prefix: string,\n getter?: (value: T) => string,\n): string | string[] {\n if (typeof value !== 'object')\n return `${prefix}${getter ? getter(value) : value}`;\n return Object.entries(value).map(([breakpoint, breakpointValue]) => {\n return `${prefix}${\n getter ? getter(breakpointValue) : breakpointValue\n }--${breakpoint}`;\n });\n}\n\n// export const DEFAULT_MEDIA_MATCH_KEY = MEDIA_MATCH_CONDITIONS[0].key;\n","import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from \"vue\";\nimport './VGridContainer.scss';\nimport { defineComponent, computed } from 'vue';\nimport { extractRawGridValueClasses } from './schemes';\nfunction spacingValueToString(value) {\n return Number.isInteger(value) ? String(value) : `${value}h`;\n}\nexport const VGridContainer = defineComponent({\n name: 'VGridContainer',\n inheritAttrs: false,\n props: {\n wrapperTag: {\n type: String,\n default: 'div'\n },\n tag: {\n type: String,\n default: 'div'\n },\n spacing: undefined,\n spacingX: undefined,\n spacingY: undefined,\n direction: undefined,\n wrap: undefined,\n alignContent: undefined,\n justifyContent: undefined\n },\n setup(props, ctx) {\n const data = computed(() => {\n const classes = [];\n const attrs = {\n ...ctx.attrs\n };\n const {\n spacing,\n spacingX,\n spacingY,\n direction,\n wrap,\n alignContent,\n justifyContent\n } = props;\n const wrapperClass = attrs.class;\n const wrapperStyle = attrs.style;\n delete attrs.class;\n delete attrs.style;\n delete attrs.spacing;\n delete attrs.spacingX;\n delete attrs.spacingY;\n delete attrs.direction;\n delete attrs.wrap;\n delete attrs.alignContent;\n delete attrs.justifyContent;\n\n // spacingX = mergeSpacing(spacing, spacingX);\n // spacingY = mergeSpacing(spacing, spacingY);\n // if (!spacingX) {\n // spacingX = spacing;\n // }\n\n // align &&\n // classes.push(extractRawGridItemValueClasses(align, 'self-align-'));\n // justify &&\n // classes.push(extractRawGridItemValueClasses(justify, 'self-justify-'));\n spacing != null && classes.push(extractRawGridValueClasses(spacing, 'grid-spacing-', spacingValueToString));\n spacingX != null && classes.push(extractRawGridValueClasses(spacingX, 'grid-spacing-x-', spacingValueToString));\n spacingY != null && classes.push(extractRawGridValueClasses(spacingY, 'grid-spacing-y-', spacingValueToString));\n direction && classes.push(extractRawGridValueClasses(direction, 'direction-'));\n wrap && classes.push(extractRawGridValueClasses(wrap, ''));\n alignContent && classes.push(extractRawGridValueClasses(alignContent, 'align-'));\n justifyContent && classes.push(extractRawGridValueClasses(justifyContent, 'justify-'));\n return {\n wrapperClass,\n wrapperStyle,\n classes,\n attrs\n };\n });\n return () => {\n const WrapperTag = props.wrapperTag;\n const TagName = props.tag;\n const {\n wrapperClass,\n wrapperStyle,\n classes,\n attrs\n } = data.value;\n return _createVNode(WrapperTag, {\n \"class\": ['v-grid-container-wrapper', wrapperClass],\n \"style\": wrapperStyle\n }, {\n default: () => [_createVNode(TagName, _mergeProps({\n \"class\": ['v-grid-container grid-container', classes]\n }, attrs), ctx.slots)]\n });\n };\n }\n});","import { createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\nimport './VPaper.scss';\nimport { defineComponent, computed } from 'vue';\nimport { createElevationProps, useElevation } from '../../composables';\nimport { renderSlotOrEmpty, defineSlots } from '@fastkit/vue-utils';\nimport { useScopeColorClass } from '@fastkit/vue-color-scheme';\nexport const paperBaseSlots = defineSlots();\nexport function createPaperBaseProps() {\n return {\n color: String,\n tag: {\n type: [String, Object],\n default: 'div'\n },\n ...paperBaseSlots()\n };\n}\nexport function createPaperProps() {\n return {\n ...createElevationProps(),\n ...createPaperBaseProps(),\n square: Boolean,\n headerProps: Object,\n bodyProps: Object,\n footerProps: Object,\n innerClass: [String, Array, Object]\n };\n}\nexport const VPaper = defineComponent({\n name: 'VPaper',\n inheritAttrs: false,\n props: createPaperProps(),\n slots: paperBaseSlots,\n setup(props, ctx) {\n const tag = computed(() => props.tag);\n const elevation = useElevation(props, {\n defaultValue: 1\n });\n const scope = useScopeColorClass(props);\n const classes = computed(() => [elevation.elevationClassName.value, scope.value.className, {\n 'v-paper--plain': !scope.value.value,\n 'v-paper--has-color': !!scope.value.value || !!ctx.attrs.disabled,\n 'v-paper--square': props.square\n }]);\n const headerProps = computed(() => props.headerProps);\n const bodyProps = computed(() => props.bodyProps);\n const footerProps = computed(() => props.footerProps);\n return () => {\n const TagName = tag.value;\n const header = renderSlotOrEmpty(ctx.slots, 'header');\n const footer = renderSlotOrEmpty(ctx.slots, 'footer');\n return _createVNode(TagName, _mergeProps({\n \"class\": ['v-paper', classes.value]\n }, ctx.attrs), {\n default: () => [_createVNode(\"div\", {\n \"class\": ['v-paper__inner', props.innerClass]\n }, [header && _createVNode(\"div\", _mergeProps({\n \"class\": \"v-paper__header\"\n }, headerProps.value), [header]), _createVNode(\"div\", _mergeProps({\n \"class\": \"v-paper__body\"\n }, bodyProps.value), [ctx.slots.default?.()]), footer && _createVNode(\"div\", _mergeProps({\n \"class\": \"v-paper__footer\"\n }, footerProps.value), [footer])])]\n });\n };\n }\n});","import { mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\nimport './VAvatar.scss';\nimport { defineComponent, computed } from 'vue';\nimport { actionableInheritProps, useActionable } from '@fastkit/vue-action';\nimport { colorSchemeProps, useColorClasses } from '@fastkit/vue-color-scheme';\nimport { useVui } from '../../injections';\nimport { VBusyImage } from '../VBusyImage';\n\n// @TODO Unable to resolve dts for `navigationableInheritProps`.\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nexport const AVATAR_SIZES = ['sm', 'md', 'lg'];\nexport function createAvatarProps() {\n return {\n ...colorSchemeProps(),\n ...actionableInheritProps,\n size: {\n type: [String, Number],\n default: 'md'\n },\n tile: Boolean,\n rounded: Boolean,\n disabled: Boolean,\n src: String\n };\n}\nexport const VAvatar = defineComponent({\n name: 'VAvatar',\n inheritAttrs: false,\n props: createAvatarProps(),\n setup(props, ctx) {\n const vui = useVui();\n const defaults = vui.setting('buttonDefault');\n const color = useColorClasses({\n color: () => props.color || defaults.color,\n variant: () => props.variant || defaults.variant\n });\n const actionable = useActionable(ctx, {\n clickableClassName: () => 'v-avatar--clickable',\n linkFallbackTag: 'div'\n });\n const classes = computed(() => {\n const {\n size\n } = props;\n return [{\n 'v-avatar--tile': props.tile,\n 'v-avatar--rounded': props.rounded\n }, typeof size === 'string' && `v-avatar--${size}`];\n });\n const styles = computed(() => {\n const {\n size\n } = props;\n if (typeof size !== 'number') return;\n return {\n '--avatar-size': `${size}px`\n };\n });\n return () => {\n const {\n src\n } = props;\n const {\n Tag,\n attrs\n } = actionable.value;\n return _createVNode(Tag, _mergeProps(attrs, {\n \"class\": ['v-avatar', classes.value, color.colorClasses.value],\n \"style\": styles.value\n }), {\n default: () => [!!src && _createVNode(VBusyImage, {\n \"class\": \"v-avatar__image\",\n \"src\": src,\n \"cover\": true\n }, null) || ctx.slots.default?.()]\n });\n };\n }\n});","import { mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\nimport './VChip.scss';\nimport { defineComponent, computed } from 'vue';\nimport { actionableInheritProps, useActionable } from '@fastkit/vue-action';\nimport { colorSchemeProps, useColorClasses } from '@fastkit/vue-color-scheme';\nimport { useVui } from '../../injections';\nimport { VIcon } from '../VIcon';\n\n// @TODO Unable to resolve dts for `actionableInheritProps`.\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nexport const CHIP_SIZES = ['xs', 'sm', 'md', 'lg', 'xl'];\nexport function createChipProps() {\n return {\n ...colorSchemeProps(),\n ...actionableInheritProps,\n size: {\n type: String,\n default: 'md'\n },\n startIcon: [String, Function],\n endIcon: [String, Function],\n label: Boolean,\n disabled: Boolean\n };\n}\nfunction resolveRawVChipIcon(raw, type) {\n if (!raw) return;\n if (typeof raw === 'function') {\n return () => {\n const child = raw();\n if (child == null) return;\n return _createVNode(\"span\", {\n \"class\": ['v-chip__icon', `v-chip__icon--${type}`]\n }, [child]);\n };\n }\n return () => _createVNode(VIcon, {\n \"class\": ['v-chip__icon', `v-chip__icon--${type}`],\n \"name\": raw\n }, null);\n}\nexport const VChip = defineComponent({\n name: 'VChip',\n inheritAttrs: false,\n props: createChipProps(),\n setup(props, ctx) {\n const vui = useVui();\n const defaults = vui.setting('buttonDefault');\n const color = useColorClasses({\n color: () => props.color || defaults.color,\n variant: () => props.variant || defaults.variant\n });\n const startIcon = computed(() => {\n const _icon = resolveRawVChipIcon(props.startIcon, 'start');\n return _icon && _icon();\n });\n const endIcon = computed(() => {\n const _icon = resolveRawVChipIcon(props.endIcon, 'end');\n return _icon && _icon();\n });\n const actionable = useActionable(ctx, {\n clickableClassName: () => 'v-chip--clickable',\n linkFallbackTag: 'div'\n });\n const classes = computed(() => {\n const {\n size\n } = props;\n return [{\n 'v-chip--label': props.label\n }, typeof size === 'string' && `v-chip--${size}`];\n });\n return () => {\n const {\n Tag,\n attrs\n } = actionable.value;\n return _createVNode(Tag, _mergeProps(attrs, {\n \"class\": ['v-chip', classes.value, color.colorClasses.value]\n }), {\n default: () => [startIcon.value, _createVNode(\"span\", {\n \"class\": \"v-chip__content\"\n }, [ctx.slots.default?.()]), endIcon.value]\n });\n };\n }\n});","import { createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\nimport './VCard.scss';\nimport { defineComponent, computed } from 'vue';\nimport { VPaper, createPaperProps } from '../VPaper';\nimport { actionableInheritProps, VAction } from '@fastkit/vue-action';\n\n// @TODO Unable to resolve dts for `actionableInheritProps`.\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nexport function createCardProps() {\n return {\n ...createPaperProps(),\n ...actionableInheritProps,\n disabled: Boolean\n };\n}\nexport const VCard = defineComponent({\n name: 'VCard',\n inheritAttrs: false,\n props: createCardProps(),\n setup(props, ctx) {\n const _props = computed(() => props);\n const data = computed(() => {\n const hasLink = !!ctx.attrs.href || !!ctx.attrs.to;\n const attrs = {\n ..._props.value,\n ...ctx.attrs,\n class: ['v-card', ctx.attrs.class, typeof ctx.attrs.onClick === 'function' && 'clickable'],\n tag: hasLink ? VAction : 'div'\n };\n if (props.disabled) {\n attrs.disabled = 'disabled';\n delete attrs.onClick;\n delete attrs.href;\n delete attrs.to;\n } else {\n delete attrs.disabled;\n }\n return {\n attrs\n };\n });\n return () => {\n return _createVNode(VPaper, data.value.attrs, ctx.slots);\n };\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VCardContent.scss';\nimport { defineComponent } from 'vue';\nexport const VCardContent = defineComponent({\n name: 'VCardContent',\n setup(_props, ctx) {\n return () => {\n return _createVNode(\"div\", {\n \"class\": \"v-card-content\"\n }, [ctx.slots.default?.()]);\n };\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VCardActions.scss';\nimport { defineComponent } from 'vue';\nexport const VCardActions = defineComponent({\n name: 'VCardActions',\n setup(_props, ctx) {\n return () => {\n return _createVNode(\"div\", {\n \"class\": \"v-card-actions\"\n }, [ctx.slots.default?.()]);\n };\n }\n});","import { mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\nimport './VButton.scss';\nimport { defineComponent, computed } from 'vue';\nimport { colorSchemeProps, useColorClasses } from '@fastkit/vue-color-scheme';\nimport { createPropsOptions } from '@fastkit/vue-utils';\nimport { VAction, actionableInheritProps } from '@fastkit/vue-action';\nimport { useVui } from '../../injections';\nimport { createControlProps, useControl } from '../../composables';\nimport { VProgressCircular } from '../loading';\nimport { VIcon } from '../VIcon';\n\n// @TODO Unable to resolve dts for `navigationableInheritProps`.\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nexport const BUTTON_ALIGNS = ['left', 'center', 'right'];\nfunction resolveRawVButtonIcon(raw, type = 'main') {\n if (!raw) return;\n return typeof raw === 'function' ? raw : () => _createVNode(VIcon, {\n \"class\": ['v-button__icon', `v-button__icon--${type}`],\n \"name\": raw\n }, null);\n}\nexport const vueButtonProps = createPropsOptions({\n ...colorSchemeProps(),\n ...actionableInheritProps,\n spacer: [Boolean, String],\n rounded: Boolean,\n icon: [String, Function],\n startIcon: [String, Function],\n endIcon: [String, Function],\n align: {\n type: String,\n default: 'center'\n },\n ...createControlProps()\n});\nconst LOADING_SIZE_MAP = {\n sm: 14,\n md: 20,\n lg: 28\n};\nexport const VButton = defineComponent({\n name: 'VButton',\n inheritAttrs: false,\n props: vueButtonProps,\n setup(props, ctx) {\n const vui = useVui();\n const control = useControl(props);\n const defaults = vui.setting('buttonDefault');\n const icon = computed(() => {\n const _icon = resolveRawVButtonIcon(props.icon);\n return _icon && _icon();\n });\n const startIcon = computed(() => {\n const _icon = resolveRawVButtonIcon(props.startIcon, 'start');\n return _icon && _icon();\n });\n const endIcon = computed(() => {\n const _icon = resolveRawVButtonIcon(props.endIcon, 'end');\n return _icon && _icon();\n });\n const color = useColorClasses({\n color: () => props.color || defaults.color,\n variant: () => props.variant || (icon.value ? vui.setting('plainVariant') : defaults.variant)\n });\n const isPlain = computed(() => color.variant.value.value === vui.setting('plainVariant') && color.color.value.value === defaults.color);\n const isLoading = computed(() => props.loading);\n // const isDisabled = computed(() => props.disabled);\n // const isRounded = computed(() =>\n // props.rounded != null ? props.rounded : !!icon.value,\n // );\n\n const spacer = computed(() => {\n const _spacer = props.spacer;\n if (!_spacer) return;\n return _spacer === true ? 'left' : _spacer;\n });\n const classes = computed(() => [color.colorClasses.value, spacer.value ? `v-button--spacer-${spacer.value}` : undefined, `v-button--${control.size.value}`, `v-button--align-${props.align}`, {\n 'v-button--loading': isLoading.value,\n 'v-button--icon': !!icon.value,\n 'v-button--rounded': props.rounded,\n 'v-button--plain': isPlain.value\n }]);\n return () => {\n return _createVNode(VAction, _mergeProps(ctx.attrs, {\n \"class\": ['v-button', classes.value]\n }), {\n default: () => [_createVNode(\"span\", {\n \"class\": \"v-button__content\"\n }, [startIcon.value, ctx.slots.default?.(), icon.value, endIcon.value]), isLoading.value && _createVNode(VProgressCircular, {\n \"class\": \"v-button__loading\",\n \"indeterminate\": true,\n \"size\": LOADING_SIZE_MAP[control.size.value]\n }, null)]\n });\n };\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VButtonGroup.scss';\nimport { defineComponent, isVNode, cloneVNode } from 'vue';\nimport { colorSchemeProps } from '@fastkit/vue-color-scheme';\nimport { createControlProps } from '../../composables';\nimport { renderSlotOrEmpty, isFragment } from '@fastkit/vue-utils';\nimport { VButton } from './VButton';\nexport const VButtonGroup = defineComponent({\n name: 'VButtonGroup',\n props: {\n ...colorSchemeProps(),\n ...createControlProps(),\n disabled: Boolean\n },\n setup(props, ctx) {\n return () => {\n let hasIcon = false;\n let buttonLength = 0;\n let tmp = renderSlotOrEmpty(ctx.slots) || [];\n if (tmp.length === 1 && isFragment(tmp[0])) {\n tmp = tmp[0].children;\n }\n const children = tmp.map(node => {\n if (!isVNode(node) || node.type !== VButton) {\n return {\n isButton: false,\n node\n };\n }\n buttonLength++;\n if (!hasIcon && node.props && !!node.props.icon) {\n hasIcon = true;\n }\n return {\n isButton: true,\n node\n };\n });\n let buttonIndex = 0;\n const $children = children.map(child => {\n if (child.isButton) {\n buttonIndex++;\n const hasLeft = buttonIndex > 1;\n const hasRight = buttonIndex < buttonLength;\n const childProps = child.node.props;\n return cloneVNode(child.node, {\n ...props,\n ...childProps,\n rouded: false,\n class: ['v-button-group__item', {\n 'v-button--icon': hasIcon,\n 'v-button-group__item--has-left': hasLeft,\n 'v-button-group__item--has-right': hasRight\n }]\n });\n }\n return child.node;\n });\n return _createVNode(\"div\", {\n \"class\": ['v-button-group', {\n 'v-button-group--has-icon': hasIcon\n }]\n }, [$children]);\n };\n }\n});","import { isVNode as _isVNode, createVNode as _createVNode, createTextVNode as _createTextVNode } from \"vue\";\nimport './VPagination.scss';\nimport { defineComponent, ref, watch, computed, withDirectives } from 'vue';\nimport { createPropsOptions, rawNumberPropType, resolveNumberish } from '@fastkit/vue-utils';\nimport { isPromise } from '@fastkit/helpers';\nimport { useRouter, RouterLink } from 'vue-router';\nimport { resolveRawIconProp } from '../VIcon';\nimport { resizeDirectiveArgument } from '@fastkit/vue-resize';\nimport { useScopeColorClass } from '@fastkit/vue-color-scheme';\nimport { useVui } from '../../injections';\nfunction _isSlot(s) {\n return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nexport const PAGINATION_ALIGNS = ['left', 'center', 'right'];\nexport function paginationProps() {\n return createPropsOptions({\n /**\n * Active Pages\n */\n modelValue: {\n type: rawNumberPropType,\n default: 1\n },\n /**\n * Total number of pages\n */\n length: {\n type: rawNumberPropType,\n default: 0\n },\n /**\n * Maximum number of links to display.\n */\n totalVisible: rawNumberPropType,\n /**\n * true when narrowing\n */\n dense: Boolean,\n disabled: Boolean,\n align: {\n type: String,\n default: 'center'\n },\n /**\n * To synchronize with a query, use the query name\n */\n routeQuery: String,\n beforeChange: Function,\n color: String\n });\n}\nexport const VPagination = defineComponent({\n name: 'VPagination',\n props: paginationProps(),\n emits: {\n change: page => true,\n 'update:modelValue': page => true\n },\n setup(props, ctx) {\n const vui = useVui();\n const elRef = ref(null);\n const router = useRouter();\n const internalValue = ref(1);\n const containerWidth = ref(0);\n const itemSize = ref(0);\n const capacityLength = computed(() => {\n const _itemSize = itemSize.value;\n if (!_itemSize) return 0;\n return Math.floor(containerWidth.value / _itemSize);\n });\n const colorScope = useScopeColorClass({\n color: () => props.color || vui.setting('primaryScope')\n });\n const computedLength = computed(() => resolveNumberish(props.length));\n const computedTotalVisible = computed(() => resolveNumberish(props.totalVisible));\n const computedNumbersLength = computed(() => capacityLength.value - 2 - 2);\n const computedPage = computed(() => {\n const {\n routeQuery\n } = props;\n if (routeQuery) {\n return vui.location.getQuery(routeQuery, Number, 1);\n }\n return internalValue.value;\n });\n const _range = (from, to) => {\n const range = [];\n from = from > 0 ? from : 1;\n for (let i = from; i <= to; i++) {\n range.push(i);\n }\n return range;\n };\n const computedItems = computed(() => {\n const maxButtons = computedNumbersLength.value;\n const totalVisible = computedTotalVisible.value;\n const length = computedLength.value;\n const pageValue = computedPage.value;\n const maxLength = Math.min(Math.max(0, totalVisible || 0) || length, Math.max(0, maxButtons) || length, length);\n if (length <= maxLength) {\n return _range(1, length);\n }\n const even = maxLength % 2 === 0 ? 1 : 0;\n const left = Math.floor(maxLength / 2);\n const right = length - left + 1 + even;\n if (pageValue > left && pageValue < right) {\n const start = pageValue - left + 2;\n const end = pageValue + left - 2 - even;\n return [1, 'truncate', ..._range(start, end), 'truncate', length];\n } else if (pageValue === left) {\n const end = pageValue + left - 1 - even;\n return [..._range(1, end), 'truncate', length];\n } else if (pageValue === right) {\n const start = pageValue - left + 1;\n return [1, 'truncate', ..._range(start, length)];\n } else {\n return [..._range(1, left), 'truncate', ..._range(right, length)];\n }\n });\n const isActive = computed(() => computedLength.value > 1);\n const isTransitioning = computed(() => {\n const {\n routeQuery\n } = props;\n return vui.location.isQueryOnlyTransitioning(routeQuery);\n });\n const isDisabled = computed(() => props.disabled || isTransitioning.value);\n const classes = computed(() => [{\n 'v-pagination--disabled': isDisabled.value,\n 'v-pagination--dense': props.dense,\n [`v-pagination--${props.align}`]: true\n }, colorScope.value.className]);\n async function setPage(value) {\n if (isDisabled.value) return;\n const {\n beforeChange,\n routeQuery\n } = props;\n const newPage = resolveNumberish(value);\n if (computedPage.value === newPage) return;\n if (beforeChange) {\n try {\n let result = beforeChange(newPage);\n if (isPromise(result)) result = await result;\n if (result === false) return;\n } catch (e) {}\n }\n if (routeQuery) {\n const to = createRoutableLocationByPage(newPage, routeQuery);\n return router.push(to).then(failure => {\n !failure && ctx.emit('change', newPage);\n });\n } else {\n internalValue.value = newPage;\n ctx.emit('update:modelValue', newPage);\n ctx.emit('change', newPage);\n }\n }\n function createPageInfo(source) {\n const currentPage = computedPage.value;\n const length = computedLength.value;\n let number;\n let page;\n let active;\n let disabled;\n if (typeof source === 'number') {\n number = true;\n page = source;\n active = currentPage === page;\n disabled = false;\n } else if (source === 'truncate') {\n number = false;\n active = false;\n disabled = false;\n } else {\n number = false;\n const isPrev = source === 'prev';\n const ammount = isPrev ? -1 : 1;\n page = currentPage + ammount;\n active = false;\n disabled = page < 1 || page > length;\n }\n return {\n number,\n page,\n active,\n disabled\n };\n }\n function createRoutableLocationByPage(page, routeQuery) {\n return vui.location.getQueryMergedLocation({\n [routeQuery]: page\n });\n }\n function genItem(source, index) {\n const {\n number,\n page,\n active,\n disabled\n } = createPageInfo(source);\n const type = number ? 'num' : source;\n const classes = ['v-pagination__item', {\n [`v-pagination__item--${type}`]: true,\n 'v-pagination__item--active': active,\n 'v-pagination__item--disabled': disabled\n }];\n const children = number ? page : (() => {\n if (type === 'truncate') {\n return _createVNode(\"span\", null, [_createTextVNode(\"...\")]);\n }\n const isPrev = type === 'prev';\n const icon = isPrev ? vui.icon('prev') : vui.icon('next');\n return resolveRawIconProp(false, icon, {\n class: 'v-pagination__item__icon'\n });\n })();\n const onClick = ev => {\n ev.preventDefault();\n if (page === undefined || active || disabled) return;\n setPage(page);\n };\n const key = `${source}-${index}`;\n const {\n routeQuery\n } = props;\n if (page !== undefined && routeQuery) {\n const to = createRoutableLocationByPage(page, routeQuery);\n return _createVNode(RouterLink, {\n \"class\": classes,\n \"to\": to,\n \"key\": key\n }, _isSlot(children) ? children : {\n default: () => [children]\n });\n } else {\n return _createVNode(\"button\", {\n \"class\": classes,\n \"type\": \"button\",\n \"value\": page,\n \"onClick\": onClick,\n \"key\": key\n }, [children]);\n }\n }\n watch(() => props.modelValue, modelValue => {\n internalValue.value = resolveNumberish(modelValue);\n }, {\n immediate: true\n });\n return () => {\n if (!isActive.value) return undefined;\n const $items = ['prev', ...computedItems.value, 'next'].map((i, index) => genItem(i, index));\n return withDirectives(_createVNode(\"nav\", {\n \"class\": ['v-pagination', classes.value],\n \"ref\": elRef\n }, [$items]), [resizeDirectiveArgument(({\n width\n }) => {\n const el = elRef.value;\n if (el) {\n const style = window.getComputedStyle(el, 'before');\n const width = style.getPropertyValue('width');\n const margin = style.getPropertyValue('margin');\n const size = parseFloat(width) + parseFloat(margin) * 0.5;\n itemSize.value = size;\n }\n containerWidth.value = width;\n })]);\n };\n }\n});","import { mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\nimport './VListTile.scss';\nimport { defineComponent, computed, watch } from 'vue';\nimport { rawIconProp, resolveRawIconProp } from '../VIcon';\nimport { createPropsOptions } from '@fastkit/vue-utils';\nimport { actionableInheritProps, VAction } from '@fastkit/vue-action';\nimport { useScopeColorClass } from '@fastkit/vue-color-scheme';\nimport { useVui } from '../../injections';\n\n// @TODO Unable to resolve dts for `actionableInheritProps`.\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nexport function createListTileProps() {\n const icon = rawIconProp();\n return {\n ...actionableInheritProps,\n ...createPropsOptions({\n startIcon: icon,\n endIcon: icon,\n linkFallbackTag: {\n type: String,\n default: 'div'\n },\n startIconEmptySpace: Boolean,\n color: String,\n exactMatch: Boolean\n })\n };\n}\nexport const listTileEmits = {\n changeActive: isActive => true\n};\nexport const VListTile = defineComponent({\n name: 'VListTile',\n inheritAttrs: false,\n props: createListTileProps(),\n emits: {\n ...listTileEmits\n },\n setup(props, ctx) {\n const vui = useVui();\n const startIcon = computed(() => {\n let icon = resolveRawIconProp(false, props.startIcon);\n if (!icon && props.startIconEmptySpace) {\n icon = resolveRawIconProp(false, '$empty');\n }\n return icon;\n });\n const endIcon = computed(() => resolveRawIconProp(false, props.endIcon));\n const hasTo = computed(() => !!ctx.attrs.to);\n const link = vui.useLink({\n to: ctx.attrs.to || ''\n });\n const isActive = computed(() => {\n if (!hasTo.value) return false;\n return props.exactMatch ? link.isExactActive.value : link.isActive.value;\n });\n const color = useScopeColorClass(props);\n const classes = computed(() => {\n const _color = color.value;\n const hasColor = !!_color.value;\n return [color.value.className, {\n 'v-list-tile--plain': !hasColor,\n 'v-list-tile--has-color': hasColor,\n 'v-list-tile--active': isActive.value\n }];\n });\n watch(() => isActive.value, isActive => {\n ctx.emit('changeActive', isActive);\n }, {\n immediate: true\n });\n return () => {\n const _startIcon = startIcon.value;\n const _endIcon = endIcon.value;\n return _createVNode(VAction, _mergeProps(ctx.attrs, {\n \"class\": ['v-list-tile', classes.value],\n \"clickableClassName\": \"v-list-tile--clickable\"\n }), {\n default: () => [_startIcon && _createVNode(\"span\", {\n \"class\": \"v-list-tile__icon v-list-tile__icon--start\"\n }, [_startIcon]), _createVNode(\"span\", {\n \"class\": \"v-list-tile__body\"\n }, [ctx.slots.default?.()]), _endIcon && _createVNode(\"span\", {\n \"class\": \"v-list-tile__icon v-list-tile__icon--end\"\n }, [_endIcon])]\n });\n };\n }\n});","import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from \"vue\";\nimport './VDrawerLayout.scss';\nimport { defineComponent, computed } from 'vue';\nimport { createPaperBaseProps, paperBaseSlots, VPaper } from '../VPaper';\nexport const VDrawerLayout = defineComponent({\n name: 'VDrawerLayout',\n props: {\n ...createPaperBaseProps()\n },\n slots: paperBaseSlots,\n setup(props, ctx) {\n return () => {\n const paperProps = computed(() => ({\n color: props.color,\n tag: props.tag\n }));\n return _createVNode(VPaper, _mergeProps({\n \"class\": \"v-drawer-layout\",\n \"innerClass\": \"v-drawer-layout__inner\"\n }, paperProps.value, {\n \"square\": true,\n \"headerProps\": {\n class: 'v-drawer-layout__header'\n },\n \"bodyProps\": {\n class: 'v-drawer-layout__body'\n },\n \"footerProps\": {\n class: 'v-drawer-layout__footer'\n }\n }), ctx.slots);\n };\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VHero.scss';\nimport { defineComponent } from 'vue';\nimport { defineSlots } from '@fastkit/vue-utils';\nimport { toScopeColorClass } from '@fastkit/vue-color-scheme';\nimport { VAppContainer } from '@fastkit/vue-app-layout';\nconst slots = defineSlots();\nexport const VHero = defineComponent({\n name: 'VHero',\n props: {\n color: {\n type: String,\n default: 'primary'\n },\n tag: {\n type: String,\n default: 'header'\n },\n hTag: {\n type: String,\n default: 'h1'\n },\n ...slots()\n },\n slots,\n setup(props, ctx) {\n return () => {\n const TagName = props.tag;\n const HTagName = props.hTag;\n const adornment = ctx.slots.adornment?.();\n return _createVNode(VAppContainer, {\n \"pulled\": true\n }, {\n default: () => [_createVNode(TagName, {\n \"class\": ['v-hero', toScopeColorClass(props.color)]\n }, {\n default: () => [_createVNode(HTagName, {\n \"class\": \"v-hero__title\"\n }, {\n default: () => [ctx.slots.default?.()]\n }), adornment && _createVNode(\"div\", {\n \"class\": \"v-hero__adornment\"\n }, [adornment])]\n })]\n });\n };\n }\n});","import { Fragment as _Fragment, withDirectives as _withDirectives, vShow as _vShow, mergeProps as _mergeProps, createVNode as _createVNode, isVNode as _isVNode } from \"vue\";\nimport './VNavigationItem.scss';\nimport { defineComponent, computed, Fragment, ref, watch } from 'vue';\nimport { createListTileProps, listTileEmits, VListTile } from '../VListTile';\nimport { VExpandTransition } from '@fastkit/vue-transitions';\nimport { useVui } from '../../injections';\nimport { useRoute } from 'vue-router';\n\n// @TODO Unable to resolve dts for `actionableInheritProps`.\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nfunction _isSlot(s) {\n return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nexport function createNavigationItemProps() {\n return {\n ...createListTileProps(),\n match: [String, Array],\n depth: {\n type: Number,\n default: 0\n },\n nested: Boolean,\n color: String\n // key: {\n // type: [String, Number],\n // required: true,\n // },\n };\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\n\nexport function resolveNavigationItemInput(input) {\n let label = input.label;\n const props = {\n ...input\n };\n if (typeof label === 'function') {\n label = label();\n }\n delete props.label;\n return {\n label,\n props\n };\n}\nexport function renderNavigationItemInput(input, extraProps) {\n const {\n label,\n props\n } = resolveNavigationItemInput(input);\n return _createVNode(VNavigationItem, {\n ...props,\n ...extraProps\n }, _isSlot(label) ? label : {\n default: () => [label]\n });\n}\nconst TRIM_END_SLASH_RE = /\\/$/;\nfunction trimEndSlash(sorce) {\n return sorce ? sorce.replace(TRIM_END_SLASH_RE, '') : sorce;\n}\nexport const VNavigationItem = defineComponent({\n name: 'VNavigationItem',\n inheritAttrs: false,\n props: {\n ...createNavigationItemProps(),\n children: Array\n },\n emits: {\n ...listTileEmits\n },\n setup(props, ctx) {\n const vui = useVui();\n const opened = ref(false);\n const children = computed(() => {\n const c = props.children;\n return c && c.length ? c : undefined;\n });\n const to = computed(() => ctx.attrs.to);\n const match = computed(() => {\n const {\n match\n } = props;\n const {\n to\n } = ctx.attrs;\n if (match) {\n return (Array.isArray(match) ? match : [match]).map(trimEndSlash);\n }\n if (!to) return;\n const toPath = typeof to === 'string' ? to : to.path;\n if (!toPath) return;\n return [trimEndSlash(toPath)];\n });\n const classes = computed(() => [{\n 'v-navigation-item--opened': opened.value,\n [`v-navigation-item--depth-${props.depth}`]: props.depth > 0\n }]);\n const route = useRoute();\n\n // const classes = computed(() => [\n // // {\n // // 'v-navigation-item--matched': matched.value,\n // // },\n // ]);\n\n watch(() => route.path, newPath => {\n const c = children.value;\n const m = match.value;\n if (!c || !m || !m.length) {\n // matched.value = false;\n return;\n }\n const trimedNewPath = trimEndSlash(newPath);\n if (m.some(_ => trimedNewPath.match(_))) {\n open();\n // matched.value = true;\n } else {\n close();\n // matched.value = false;\n }\n\n // if (trimEndSlash(newPath).match(m)) {\n // open();\n // // matched.value = true;\n // } else {\n // close();\n // // matched.value = false;\n // }\n }, {\n immediate: true\n });\n\n // const iconPayload = () => opened.value;\n\n const _props = computed(() => {\n const c = children.value;\n let {\n endIcon\n } = props;\n if (c && !endIcon) {\n endIcon = vui.icon('navigationExpand');\n if (typeof endIcon === 'string') {\n const name = endIcon;\n endIcon = gen => {\n return gen({\n name,\n rotate: opened.value ? 180 : 0\n });\n };\n }\n }\n const __props = {\n ...props,\n endIcon\n };\n delete __props.children;\n\n // const _activeClass = props.activeClass;\n // const activeClass = `v-navigation-item--active${\n // _activeClass ? ` ${_activeClass}` : ''\n // }`;\n\n return {\n ...__props\n // activeClass,\n // startIcon: toRawIconProp(__props.startIcon, iconPayload),\n // endIcon: toRawIconProp(__props.endIcon, iconPayload),\n };\n });\n\n function open() {\n if (!children.value) return;\n opened.value = true;\n }\n function close() {\n opened.value = false;\n }\n function toggle() {\n return opened.value ? close() : open();\n }\n const onClick = ev => {\n if (!to.value) {\n return toggle();\n }\n // console.log('★');\n // open();\n // if (!to.value) {\n // toggle();\n // }\n // ctx.emit('click', ev);\n };\n\n const onChangeActive = isActive => {\n // if (isActive) {\n // // open();\n // // if (typeof window !== 'undefined') {\n // // // open();\n // // // console.log('hoge', window);\n // // setTimeout(() => {\n // // open();\n // // }, 1000);\n // // }\n // // open();\n // // console.log(props);\n // // setTimeout(() => {\n // // open();\n // // }, 500);\n // }\n ctx.emit('changeActive', isActive);\n };\n ctx.expose({\n close\n });\n return () => {\n const _children = children.value;\n const fallbackTag = _children ? 'button' : undefined;\n return _createVNode(_Fragment, null, [_createVNode(VListTile, _mergeProps(ctx.attrs, _props.value, {\n \"fallbackTag\": fallbackTag,\n \"endIcon\": _props.value.endIcon,\n \"class\": ['v-navigation-item', classes.value],\n \"onClick\": onClick,\n \"onChangeActive\": onChangeActive\n }), {\n default: () => [ctx.slots.default?.()]\n }), _children && _createVNode(VExpandTransition, null, {\n default: () => [_withDirectives(_createVNode(\"div\", {\n \"class\": \"v-navigation-item__expand\"\n }, [_children.map(child => renderNavigationItemInput({\n color: props.color,\n ...child\n }, {\n startIconEmptySpace: _props.value.startIconEmptySpace,\n depth: props.nested ? props.depth + 1 : props.depth\n // onClick,\n // onChangeActive,\n }))]), [[_vShow, opened.value]])]\n })]);\n };\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VNavigation.scss';\nimport { defineComponent, computed, onBeforeUpdate, ref } from 'vue';\nimport { renderNavigationItemInput } from './VNavigationItem';\nimport { useScopeColorClass } from '@fastkit/vue-color-scheme';\nimport { createPropsOptions } from '@fastkit/vue-utils';\nexport function createNavigationProps() {\n return createPropsOptions({\n items: {\n type: Array,\n required: true\n },\n color: String,\n startIconEmptySpace: {\n type: Boolean,\n default: true\n },\n caption: [String, Function]\n });\n}\nexport const VNavigation = defineComponent({\n name: 'VNavigation',\n props: createNavigationProps(),\n setup(props, ctx) {\n const items = computed(() => props.items);\n const color = useScopeColorClass(props);\n const classes = computed(() => [color.value.className]);\n const startIconEmptySpace = computed(() => props.startIconEmptySpace);\n const caption = computed(() => {\n const c = props.caption;\n return typeof c === 'function' ? c() : c;\n });\n const itemsRef = ref([]);\n onBeforeUpdate(() => {\n itemsRef.value = [];\n });\n function setItemRef(item, itemRef) {\n itemsRef.value.push({\n key: item.key,\n ref: itemRef\n });\n }\n function onItemActivated(item) {\n itemsRef.value.forEach(({\n key,\n ref\n }) => {\n if (key === item.key) return;\n ref.close();\n });\n }\n return () => {\n const $caption = caption.value;\n return _createVNode(\"nav\", {\n \"class\": ['v-navigation', classes.value]\n }, [!!$caption && _createVNode(\"div\", {\n \"class\": \"v-navigation__caption\"\n }, [$caption]), items.value.map(item => renderNavigationItemInput(item, {\n class: 'v-navigation__item',\n startIconEmptySpace: startIconEmptySpace.value,\n ref: ref => {\n setItemRef(item, ref);\n },\n onChangeActive: isActive => {\n if (isActive /* && item.children && item.children.length*/) {\n onItemActivated(item);\n }\n }\n }))]);\n };\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VControlField.scss';\nimport { computed, ref, defineComponent } from 'vue';\nimport { useParentFormNode } from '@fastkit/vue-form-control';\nimport { resolveVNodeChildOrSlots, createPropsOptions, defineSlots } from '@fastkit/vue-utils';\nimport { createControlProps, useControl, createControlFieldProviderProps, useControlField } from '../../composables';\nimport { useVuiColorProvider } from '../../injections';\nimport { VProgressCircular } from '../loading';\nimport { CONTROL_LOADING_SPINNER_SIZES } from '../../schemes';\nconst ADORNMENT_POSITIONS = ['start', 'end'];\nexport function createControlFieldProps() {\n return {\n ...createPropsOptions({\n startAdornment: {},\n endAdornment: {},\n tabindex: {\n type: [String, Number],\n default: 0\n }\n }),\n ...createControlFieldProviderProps(),\n ...createControlProps()\n };\n}\n\n// export const inputBoxSlots = {\n// default: () => true,\n// startAdornment: () => true,\n// endAdornment: () => true,\n// };\nconst slots = defineSlots();\nexport const VControlField = defineComponent({\n name: 'VControlField',\n props: {\n ...createControlFieldProps(),\n focused: Boolean,\n autoHeight: Boolean,\n ...slots(),\n error: Boolean\n },\n slots,\n emits: {\n click: ev => true\n },\n setup(props, ctx) {\n const parentNode = useParentFormNode();\n const control = useControl(props);\n const inputBox = useControlField(props);\n const hostElRef = ref(null);\n const disabled = computed(() => !!parentNode && parentNode.isDisabled);\n const invalid = computed(() => !!parentNode && parentNode.invalid);\n const autoHeight = computed(() => props.autoHeight);\n const readonly = computed(() => !!parentNode && parentNode.isReadonly);\n // const computedTabindex = computed(() =>\n // disabled.value ? -1 : props.tabindex,\n // );\n // const isOutlined = computed(() => inputBox.variant.value === 'outlined');\n const colorProvider = useVuiColorProvider();\n const classes = computed(() => {\n const classes = ['v-control-field', `v-control-field--${inputBox.variant.value}`, {\n 'v-control-field--disabled': disabled.value,\n 'v-control-field--invalid': invalid.value || props.error,\n 'v-control-field--readonly': readonly.value,\n 'v-control-field--focused': props.focused,\n 'v-control-field--auto-height': autoHeight.value\n }, control.classes.value, colorProvider.className(props.error ? 'error' : invalid.value && !readonly.value ? 'error' : 'primary')];\n return classes;\n });\n const resolvedSlots = computed(() => {\n const slots = {};\n ADORNMENT_POSITIONS.forEach(position => {\n const key = `${position}Adornment`;\n slots[position] = resolveVNodeChildOrSlots(props[key], ctx.slots[key]);\n });\n return slots;\n });\n const renderAdornment = position => {\n let child;\n if (position === 'end' && props.loading) {\n child = _createVNode(VProgressCircular, {\n \"indeterminate\": true,\n \"size\": CONTROL_LOADING_SPINNER_SIZES[props.size || 'md']\n }, null);\n } else {\n child = resolvedSlots.value[position]?.();\n }\n if (!child) return;\n return _createVNode(\"div\", {\n \"class\": ['v-control-field__adornment', `v-control-field__adornment--${position}`]\n }, [child]);\n };\n const handleClick = ev => ctx.emit('click', ev);\n return () => {\n return _createVNode(\"div\", {\n \"class\": classes.value,\n \"onClick\": handleClick,\n \"ref\": hostElRef\n }, [renderAdornment('start'), _createVNode(\"div\", {\n \"class\": \"v-control-field__body\"\n }, [ctx.slots.default?.()]), renderAdornment('end')]);\n };\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VTextCounter.scss';\nimport { defineComponent } from 'vue';\nexport const VTextCounter = defineComponent({\n name: 'VTextCounter',\n props: {\n length: {\n type: Number,\n required: true\n },\n maxlength: {\n type: Number,\n required: true\n }\n },\n render() {\n return _createVNode(\"span\", {\n \"class\": \"v-text-counter\"\n }, [`${this.length} / ${this.maxlength}`]);\n }\n});","import { resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\nimport './VCheckbox.scss';\nimport { defineComponent, computed } from 'vue';\nimport { createFormSelectorItemSettings, useFormSelectorItemControl } from '@fastkit/vue-form-control';\nimport { createControlProps, useControl } from '../../composables';\nimport { VUI_CHECKBOX_GROUP_SYMBOL, VUI_CHECKBOX_SYMBOL } from '../../injections';\nimport { VCheckable } from '../VCheckable';\nconst {\n props,\n emits\n} = createFormSelectorItemSettings();\nexport const VCheckbox = defineComponent({\n name: 'VCheckbox',\n props: {\n ...props,\n ...createControlProps(),\n indeterminate: Boolean\n },\n emits,\n setup(props, ctx) {\n const nodeControl = useFormSelectorItemControl(props, ctx, {\n nodeType: VUI_CHECKBOX_SYMBOL,\n parentNodeType: VUI_CHECKBOX_GROUP_SYMBOL\n });\n const control = useControl(props);\n const isIndeterminate = computed(() => props.indeterminate);\n return {\n ...nodeControl.expose(),\n ...control,\n isIndeterminate\n };\n },\n render() {\n const {\n selectorItemControl,\n isIndeterminate\n } = this;\n return _createVNode(VCheckable, {\n \"class\": ['v-checkbox', {\n 'v-checkbox--selected': selectorItemControl.selected,\n 'v-checkbox--indeterminate': isIndeterminate\n }, this.classes],\n \"checked\": this.selected || isIndeterminate,\n \"invalid\": this.invalid,\n \"disabled\": this.isDisabled,\n \"readonly\": this.isReadonly\n }, {\n input: () => selectorItemControl.createInputElement({\n type: 'checkbox'\n }),\n faux: () => _createVNode(\"span\", {\n \"class\": \"v-checkbox__faux\"\n }, null),\n label: () => this.$slots.default?.()\n });\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VCheckable.scss';\nimport { computed, defineComponent } from 'vue';\nimport { defineSlots } from '@fastkit/vue-utils';\nimport { useVuiColorProvider } from '../../injections';\nconst slots = defineSlots();\nexport const VCheckable = defineComponent({\n name: 'VCheckable',\n props: {\n invalid: Boolean,\n disabled: Boolean,\n readonly: Boolean,\n checked: Boolean,\n ...slots()\n // autoWidth: Boolean,\n },\n\n slots,\n setup(props, ctx) {\n const colorProvider = useVuiColorProvider();\n const invalid = computed(() => props.invalid);\n const disabled = computed(() => props.disabled);\n const readonly = computed(() => props.readonly);\n const checked = computed(() => props.checked);\n // const autoWidth = computed(() => props.autoWidth);\n const classes = computed(() => {\n return [{\n 'v-checkable--invalid': invalid.value,\n 'v-checkable--disabled': disabled.value,\n 'v-checkable--readonly': readonly.value,\n 'v-checkable--checked': checked.value,\n 'v-checkable--custom-icon': !!ctx.slots.icon,\n disabled: disabled.value\n }, colorProvider.className(invalid.value ? 'error' : 'primary')];\n });\n return () => _createVNode(\"label\", {\n \"class\": ['v-checkable', classes.value]\n }, [_createVNode(\"span\", {\n \"class\": \"v-checkable__faux\"\n }, [ctx.slots.input?.(), ctx.slots.icon ? ctx.slots.icon() : _createVNode(\"span\", {\n \"class\": \"v-checkable__faux__icon\"\n }, [ctx.slots.faux?.()])]), _createVNode(\"span\", {\n \"class\": \"v-checkable__label\"\n }, [ctx.slots.label?.()])]);\n }\n});","import { createVNode as _createVNode, isVNode as _isVNode } from \"vue\";\nimport { VUI_CHECKBOX_GROUP_SYMBOL } from '../../injections';\nimport { VCheckbox } from '../VCheckbox';\nimport { defineFormSelectorComponent } from '../../composables';\nfunction _isSlot(s) {\n return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nexport const VCheckboxGroup = defineFormSelectorComponent({\n name: 'VCheckboxGroup',\n defaultMultiple: true,\n nodeType: VUI_CHECKBOX_GROUP_SYMBOL,\n className: 'v-checkbox-group',\n itemRenderer: ({\n attrs,\n slots\n }) => _createVNode(VCheckbox, attrs, _isSlot(slots) ? slots : {\n default: () => [slots]\n })\n});","import { resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\nimport './VRadio.scss';\nimport { defineComponent } from 'vue';\nimport { createFormSelectorItemSettings, useFormSelectorItemControl } from '@fastkit/vue-form-control';\nimport { createControlProps, useControl } from '../../composables';\nimport { VUI_RADIO_GROUP_SYMBOL, VUI_RADIO_SYMBOL } from '../../injections';\nimport { VCheckable } from '../VCheckable';\nconst {\n props,\n emits\n} = createFormSelectorItemSettings();\nexport const VRadio = defineComponent({\n name: 'VRadio',\n props: {\n ...props,\n ...createControlProps()\n },\n emits,\n setup(props, ctx) {\n const nodeControl = useFormSelectorItemControl(props, ctx, {\n nodeType: VUI_RADIO_SYMBOL,\n parentNodeType: VUI_RADIO_GROUP_SYMBOL\n });\n const control = useControl(props);\n return {\n ...nodeControl.expose(),\n ...control\n };\n },\n render() {\n const {\n selectorItemControl\n } = this;\n return _createVNode(VCheckable, {\n \"class\": ['v-radio', {\n 'v-radio--selected': selectorItemControl.selected\n }, this.classes],\n \"checked\": this.selected,\n \"invalid\": this.invalid,\n \"disabled\": this.isDisabled,\n \"readonly\": this.isReadonly\n }, {\n input: () => selectorItemControl.createInputElement({\n type: 'radio'\n }),\n faux: () => _createVNode(\"span\", {\n \"class\": \"v-radio__faux\"\n }, null),\n label: () => this.$slots.default?.()\n });\n }\n});","import { createVNode as _createVNode, isVNode as _isVNode } from \"vue\";\nimport { VUI_RADIO_GROUP_SYMBOL } from '../../injections';\nimport { VRadio } from '../VRadio';\nimport { defineFormSelectorComponent } from '../../composables';\nfunction _isSlot(s) {\n return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nexport const VRadioGroup = defineFormSelectorComponent({\n name: 'VRadioGroup',\n nodeType: VUI_RADIO_GROUP_SYMBOL,\n className: 'v-radio-group',\n itemRenderer: ({\n attrs,\n slots\n }) => _createVNode(VRadio, attrs, _isSlot(slots) ? slots : {\n default: () => [slots]\n })\n});","import { resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\nimport './VSwitch.scss';\nimport { defineComponent } from 'vue';\nimport { createFormSelectorItemSettings, useFormSelectorItemControl } from '@fastkit/vue-form-control';\nimport { createControlProps, useControl } from '../../composables';\nimport { VUI_SWITCH_GROUP_SYMBOL, VUI_SWITCH_SYMBOL } from '../../injections';\nimport { VCheckable } from '../VCheckable';\nconst {\n props,\n emits\n} = createFormSelectorItemSettings();\nexport const VSwitch = defineComponent({\n name: 'VSwitch',\n props: {\n ...props,\n ...createControlProps()\n },\n emits,\n setup(props, ctx) {\n const nodeControl = useFormSelectorItemControl(props, ctx, {\n nodeType: VUI_SWITCH_SYMBOL,\n parentNodeType: VUI_SWITCH_GROUP_SYMBOL\n });\n const control = useControl(props);\n if (typeof window !== 'undefined') {\n window.yy = {};\n window.yy[String(Date.now())] = nodeControl;\n }\n return {\n ...nodeControl.expose(),\n ...control\n };\n },\n render() {\n const {\n selectorItemControl\n } = this;\n return _createVNode(VCheckable, {\n \"class\": ['v-switch', {\n 'v-switch--selected': selectorItemControl.selected,\n 'v-switch--disabled': selectorItemControl.isDisabled\n }, this.classes],\n \"checked\": this.selected,\n \"invalid\": this.invalid,\n \"disabled\": this.isDisabled,\n \"readonly\": this.isReadonly\n }, {\n input: () => selectorItemControl.createInputElement({\n type: 'checkbox'\n }),\n icon: () => _createVNode(\"span\", {\n \"class\": \"v-switch__faux\"\n }, [_createVNode(\"span\", {\n \"class\": \"v-switch__faux__pin\"\n }, null)]),\n label: () => this.$slots.default?.()\n });\n }\n});","import { createVNode as _createVNode, isVNode as _isVNode } from \"vue\";\nimport { VUI_SWITCH_GROUP_SYMBOL } from '../../injections';\nimport { VSwitch } from '../VSwitch';\nimport { defineFormSelectorComponent } from '../../composables';\nfunction _isSlot(s) {\n return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nexport const VSwitchGroup = defineFormSelectorComponent({\n name: 'VSwitchGroup',\n defaultMultiple: true,\n nodeType: VUI_SWITCH_GROUP_SYMBOL,\n className: 'v-switch-group',\n itemRenderer: ({\n attrs,\n slots\n }) => _createVNode(VSwitch, attrs, _isSlot(slots) ? slots : {\n default: () => [slots]\n })\n});","import { mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\nimport './VOption.scss';\nimport { defineComponent, computed } from 'vue';\nimport { createFormSelectorItemSettings, useFormSelectorItemControl } from '@fastkit/vue-form-control';\nimport { createControlProps, useControl } from '../../composables';\nimport { VUI_SELECT_SYMBOL, VUI_OPTION_SYMBOL } from '../../injections';\nconst {\n props,\n emits\n} = createFormSelectorItemSettings();\nexport const VOption = defineComponent({\n name: 'VOption',\n props: {\n ...props,\n ...createControlProps()\n },\n emits,\n setup(props, ctx) {\n const nodeControl = useFormSelectorItemControl(props, ctx, {\n nodeType: VUI_OPTION_SYMBOL,\n parentNodeType: VUI_SELECT_SYMBOL\n });\n const control = useControl(props);\n const classes = computed(() => {\n return ['v-option', {\n 'v-option--selected': nodeControl.selected,\n 'v-option--has-not-value': !nodeControl.hasValue,\n 'v-option--disabled': nodeControl.isDisabled\n }, control.classes.value];\n });\n return {\n ...nodeControl.expose(),\n classes\n };\n },\n render() {\n const {\n selectorItemControl,\n classes\n } = this;\n return _createVNode(\"label\", _mergeProps({\n \"class\": classes,\n \"onClick\": selectorItemControl.handleClickElement,\n \"tabindex\": selectorItemControl.tabindex,\n \"data-value\": selectorItemControl.propValue\n }, {\n 'aria-disabled': selectorItemControl.isDisabled\n }), [_createVNode(\"span\", {\n \"class\": \"v-option__label\"\n }, [this.$slots.default?.()])]);\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VOptionGroup.scss';\nimport { computed, defineComponent } from 'vue';\nimport { createFormSelectorItemGroupProps, useFormSelectorItemGroupControl } from '@fastkit/vue-form-control';\nimport { defineSlots, resolveVNodeChildOrSlots } from '@fastkit/vue-utils';\nimport { VUI_SELECT_SYMBOL } from '../../injections';\nconst slots = defineSlots();\nexport const VOptionGroup = defineComponent({\n name: 'VOptionGroup',\n props: {\n ...createFormSelectorItemGroupProps(),\n // eslint-disable-next-line vue/require-prop-types\n label: {},\n ...slots()\n },\n slots,\n setup(props, ctx) {\n const groupControl = useFormSelectorItemGroupControl(props, ctx, {\n parentNodeType: VUI_SELECT_SYMBOL\n });\n const labelSlot = computed(() => {\n return resolveVNodeChildOrSlots(props.label, ctx.slots.label);\n });\n const classes = computed(() => {\n return ['v-option-group', {\n 'v-option-group--disabled': groupControl.isDisabled\n }];\n });\n return {\n ...groupControl.expose(),\n classes,\n labelSlot\n };\n },\n render() {\n const {\n labelSlot,\n classes,\n groupControl\n } = this;\n const label = labelSlot ? labelSlot(groupControl) : undefined;\n return _createVNode(\"div\", {\n \"class\": classes\n }, [!!label && _createVNode(\"div\", {\n \"class\": \"v-option-group__label\"\n }, [label]), this.$slots.default?.()]);\n }\n});","import { resolveDirective as _resolveDirective, withDirectives as _withDirectives, vModelSelect as _vModelSelect, isVNode as _isVNode, createVNode as _createVNode } from \"vue\";\nimport './VSelect.scss';\nimport { ref, defineComponent, computed, nextTick } from 'vue';\nimport { createFormSelectorSettings, useFormSelectorControl, createFormControlProps } from '@fastkit/vue-form-control';\nimport { defineSlots, createPropsOptions, resolveVNodeChildOrSlots } from '@fastkit/vue-utils';\nimport { useKeyboard } from '@fastkit/vue-keyboard';\nimport { VFormControl } from '../VFormControl';\nimport { VControlField, createControlFieldProps } from '../VControlField';\nimport { createControlProps, useControl, createControlFieldProviderProps, useControlField } from '../../composables';\nimport { VUI_SELECT_SYMBOL, useVui } from '../../injections';\nimport { VIcon } from '../VIcon';\nimport { VMenu } from '../VMenu';\nimport { VOptionGroup } from '../VOptionGroup';\nimport { VOption } from '../VOption';\nimport { VButton } from '../VButton';\nfunction _isSlot(s) {\n return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nexport const ARROW_KEY_TYPES = useKeyboard.Key(['ArrowUp', 'ArrowDown']);\nexport const CHOICE_KEY_TYPES = useKeyboard.Key(['Enter', ' ']);\nexport const KEYBORD_EVENT_TYPES = useKeyboard.Key([...ARROW_KEY_TYPES, ...CHOICE_KEY_TYPES]);\nconst {\n props,\n emits\n} = createFormSelectorSettings();\nconst slots = defineSlots();\nexport const VSelect = defineComponent({\n name: 'VSelect',\n props: {\n ...props,\n ...createFormControlProps(),\n ...createControlFieldProps(),\n ...createControlFieldProviderProps(),\n ...createControlProps(),\n ...slots(),\n ...createPropsOptions({\n placeholder: String,\n loadingMessage: {},\n failedToLoadItemsMessage: {}\n }),\n closeOnNavigation: Boolean\n },\n slots,\n emits,\n setup(props, ctx) {\n const menuRef = ref(null);\n const menuOpened = ref(false);\n const showMenu = () => {\n menuOpened.value = true;\n };\n const closeMenu = () => {\n menuOpened.value = false;\n };\n const inputControl = useFormSelectorControl(props, ctx, {\n nodeType: VUI_SELECT_SYMBOL,\n onSelectItem: item => {\n closeMenu();\n }\n });\n const control = useControl(props);\n useControlField(props);\n const vui = useVui();\n const iconName = vui.icon('menuDown');\n const fieldRef = ref(null);\n const loadingMessageRef = computed(() => {\n const slot = resolveVNodeChildOrSlots(props.loadingMessage, vui.setting('loadingMessage'), 'Loading...');\n return slot && slot(vui);\n });\n const failedToLoadItemsMessageRef = computed(() => {\n const slot = resolveVNodeChildOrSlots(props.failedToLoadItemsMessage, vui.setting('failedToLoadDataMessage'), 'Failed to load data.');\n return slot && slot(vui);\n });\n const focus = opts => {\n fieldRef.value?.focus?.(opts);\n };\n const renderSelections = selectedItems => {\n const selectionSlot = ctx.slots.selection;\n const children = [];\n if (inputControl.itemsLoadFailed) {\n children.push(_createVNode(\"span\", {\n \"class\": \"v-select__placeholder\"\n }, [failedToLoadItemsMessageRef.value]));\n } else if (inputControl.itemsLoading) {\n children.push(_createVNode(\"span\", {\n \"class\": \"v-select__placeholder\"\n }, [loadingMessageRef.value]));\n } else if (selectedItems.length) {\n selectedItems.forEach((item, index) => {\n if (index > 0) {\n children.push(vui.selectionSeparator());\n }\n const child = selectionSlot ? selectionSlot({\n item,\n index\n }) : item.renderDefaultSlot();\n children.push(child);\n });\n } else if (props.placeholder != null) {\n children.push(_createVNode(\"span\", {\n \"class\": \"v-select__placeholder\"\n }, [props.placeholder]));\n }\n return children;\n };\n const clearKeyFocused = () => {\n const menu = menuRef.value?.menu;\n if (!menu) return;\n const bodyEl = menu.bodyRef.value;\n if (!bodyEl) return;\n const els = Array.from(bodyEl.querySelectorAll('.v-option'));\n els.forEach(el => el.classList.remove('v-option--key-focused'));\n };\n const getItemElements = () => {\n const menu = menuRef.value?.menu;\n if (!menu) return;\n const bodyEl = menu.bodyRef.value;\n if (!bodyEl) return;\n const els = Array.from(bodyEl.querySelectorAll('.v-option')).filter(el => {\n if (el.tabIndex === -1) return false;\n const disabled = el.getAttribute('disabled');\n const ariaDisabled = el.getAttribute('aria-disabled');\n if (ariaDisabled === 'true') return false;\n return disabled == null || disabled === '';\n });\n if (!els.length) return;\n return els;\n };\n const arrowKeyHandler = ev => {\n const {\n key\n } = ev;\n if (!menuOpened.value || !ARROW_KEY_TYPES.includes(key)) return;\n const els = getItemElements();\n if (!els) return;\n const currentEl = els.find(el => el.classList.contains('v-option--key-focused'));\n const currentIndex = currentEl && els.indexOf(currentEl);\n let nextIndex;\n const {\n length\n } = els;\n const isUp = key === 'ArrowUp';\n if (currentIndex == null) {\n nextIndex = isUp ? length - 1 : 0;\n } else {\n const shiftAmount = key === 'ArrowUp' ? -1 : 1;\n nextIndex = currentIndex + shiftAmount;\n if (nextIndex < 0) {\n nextIndex = length - 1;\n } else if (nextIndex >= length) {\n nextIndex = 0;\n }\n }\n const nextEl = els[nextIndex];\n if (nextEl) {\n clearKeyFocused();\n nextEl.classList.add('v-option--key-focused');\n nextEl.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n behavior: 'smooth'\n });\n ev.preventDefault();\n }\n };\n const choiceKeyHandler = ev => {\n const {\n key\n } = ev;\n if (!menuOpened.value || !CHOICE_KEY_TYPES.includes(key)) return;\n const els = getItemElements();\n if (!els) return;\n const currentEl = els.find(el => el.classList.contains('v-option--key-focused'));\n if (currentEl) {\n const ev = new MouseEvent('click', {\n view: window,\n bubbles: true,\n cancelable: true\n });\n currentEl.dispatchEvent(ev);\n ev.preventDefault();\n nextTick(() => {\n currentEl.classList.add('v-option--key-focused');\n });\n }\n };\n const keyboardEventHandler = ev => {\n if (ARROW_KEY_TYPES.includes(ev.key)) return arrowKeyHandler(ev);\n if (CHOICE_KEY_TYPES.includes(ev.key)) return choiceKeyHandler(ev);\n };\n useKeyboard([{\n key: KEYBORD_EVENT_TYPES,\n handler: keyboardEventHandler\n }], {\n autorun: true\n });\n return {\n ...inputControl.expose(),\n ...control,\n iconName,\n menuOpened,\n fieldRef: () => fieldRef,\n focus,\n showMenu,\n closeMenu,\n renderSelections,\n menuRef: () => menuRef,\n clearKeyFocused\n };\n },\n render() {\n const {\n nodeControl,\n selectorControl,\n selectorItems,\n selectedItems\n } = this;\n const children = this.$slots.default?.() || [];\n const propGroups = this.propGroups.map(group => {\n let _slot;\n return _createVNode(VOptionGroup, {\n \"key\": group.id,\n \"groupId\": group.id,\n \"label\": group.label(selectorControl),\n \"disabled\": group.disabled\n }, _isSlot(_slot = group.items.map(item => _createVNode(VOption, {\n \"disabled\": item.disabled,\n \"value\": item.value,\n \"key\": item.value\n }, {\n default: () => item.label(selectorControl)\n }))) ? _slot : {\n default: () => [_slot]\n });\n });\n return _createVNode(VFormControl, {\n \"nodeControl\": nodeControl,\n \"class\": ['v-select', this.classes, {\n 'v-select--multiple': this.multiple\n }],\n \"label\": this.label,\n \"hint\": this.hint,\n \"hinttip\": this.hinttip,\n \"hiddenInfo\": this.hiddenInfo,\n \"requiredChip\": this.requiredChip,\n \"onClickLabel\": ev => {\n this.focus();\n }\n }, {\n ...this.$slots,\n default: () => _createVNode(VMenu, {\n \"width\": \"fit\",\n \"maxWidth\": \"fit\",\n \"closeOnNavigation\": this.closeOnNavigation,\n \"distance\": 0,\n \"alwaysRender\": true,\n \"modelValue\": this.menuOpened,\n \"onUpdate:modelValue\": $event => this.menuOpened = $event,\n \"ref\": this.menuRef(),\n \"onClose\": this.clearKeyFocused\n }, {\n default: () => [_createVNode(\"div\", {\n \"class\": ['v-select__body', this.classes]\n }, [children, propGroups])],\n activator: ({\n attrs,\n control\n }) => [_createVNode(VControlField, {\n \"class\": \"v-select__input\",\n \"ref\": this.fieldRef(),\n \"loading\": selectorControl.itemsLoading,\n \"error\": selectorControl.itemsLoadFailed,\n \"startAdornment\": this.startAdornment,\n \"endAdornment\": this.endAdornment,\n \"size\": this.size,\n \"focused\": this.menuOpened,\n \"autoHeight\": this.multiple,\n \"onClick\": ev => {\n if (this.canOperation && !control.isActive) {\n let t = ev.target;\n const count = 0;\n let hit = false;\n while (count < 5) {\n if (t.classList.contains('v-select__input')) {\n hit = true;\n break;\n }\n t = t.parentElement;\n }\n control.setActivator(hit ? t : ev).show();\n }\n }\n }, {\n ...this.$slots,\n default: () => [_withDirectives(_createVNode(\"select\", {\n \"class\": \"v-select__input__element\",\n \"name\": this.name,\n \"tabindex\": this.computedTabindex,\n \"disabled\": this.isDisabled,\n \"multiple\": this.multiple,\n \"onFocus\": nodeControl.focusHandler,\n \"onBlur\": nodeControl.blurHandler,\n \"onUpdate:modelValue\": $event => this.currentValue = $event\n }, [selectorItems.map(item => {\n return _createVNode(\"option\", {\n \"value\": item.propValue,\n \"key\": item.propValue\n }, [item.renderDefaultSlot()]);\n })]), [[_vModelSelect, this.currentValue]]), _createVNode(\"div\", {\n \"class\": \"v-select__selections\"\n }, [_createVNode(\"div\", {\n \"class\": \"v-select__selections__inner\"\n }, [this.renderSelections(selectedItems)])])],\n endAdornment: () => {\n if (selectorControl.itemsLoadFailed) {\n return _createVNode(VButton, {\n \"key\": \"reload\",\n \"icon\": this.$vui.icon('reload'),\n \"rounded\": true,\n \"onClick\": ev => {\n ev.stopPropagation();\n selectorControl.loadItems();\n }\n }, null);\n }\n if (this.clearable && this.nodeControl.value != null) {\n return _createVNode(VButton, {\n \"key\": \"clear\",\n \"icon\": this.$vui.icon('clear'),\n \"rounded\": true,\n \"onClick\": ev => {\n ev.stopPropagation();\n this.nodeControl.clear();\n }\n }, null);\n }\n return _createVNode(VIcon, {\n \"key\": \"icon\",\n \"name\": this.iconName,\n \"rotate\": this.menuOpened ? 180 : 0\n }, null);\n }\n })]\n })\n });\n }\n});","import { createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\nimport './VTextField.scss';\nimport { defineComponent } from 'vue';\nimport { createTextInputSettings, useTextInputControl, createFormControlProps } from '@fastkit/vue-form-control';\nimport { defineSlots } from '@fastkit/vue-utils';\nimport { VFormControl } from '../VFormControl';\nimport { VControlField, createControlFieldProps } from '../VControlField';\nimport { createControlProps, useControl, createControlFieldProviderProps, useControlField } from '../../composables';\nimport { VTextCounter } from '../VTextCounter';\nimport { VUI_TEXT_FIELD_SYMBOL } from '../../injections';\nconst {\n props,\n emits\n} = createTextInputSettings();\nconst slots = defineSlots();\nfunction createTextFieldProps() {\n return {\n ...props,\n ...createFormControlProps(),\n ...createControlFieldProps(),\n ...createControlFieldProviderProps(),\n ...createControlProps(),\n ...slots()\n };\n}\nexport const VTextField = defineComponent({\n name: 'VTextField',\n props: createTextFieldProps(),\n emits,\n slots,\n setup(props, ctx) {\n const inputControl = useTextInputControl(props, ctx, {\n nodeType: VUI_TEXT_FIELD_SYMBOL\n });\n const control = useControl(props);\n useControlField(props);\n return {\n ...inputControl.expose(),\n ...control\n };\n },\n render() {\n return _createVNode(VFormControl, {\n \"nodeControl\": this.nodeControl,\n \"focused\": this.nodeControl.focused,\n \"hiddenInfo\": this.hiddenInfo,\n \"class\": ['v-text-field', this.classes],\n \"label\": this.label,\n \"hint\": this.hint,\n \"hinttip\": this.hinttip,\n \"requiredChip\": this.requiredChip,\n \"onClickLabel\": ev => {\n this.focus();\n }\n }, {\n ...this.$slots,\n default: () => _createVNode(VControlField, {\n \"class\": \"v-text-field__input\",\n \"startAdornment\": this.startAdornment,\n \"endAdornment\": this.endAdornment,\n \"size\": this.size\n }, {\n ...this.$slots,\n default: () => this.textInputControl.createInputElement({\n class: 'v-text-field__input__element'\n })\n }),\n infoAppends: () => {\n const {\n counterResult\n } = this;\n if (!counterResult) return;\n return _createVNode(VTextCounter, counterResult, null);\n }\n });\n }\n});","import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from \"vue\";\nimport { defineComponent } from 'vue';\nimport { VTextField } from '../VTextField/VTextField';\nexport const VNumberField = defineComponent({\n name: 'VNumberField',\n props: {\n ...undefined,\n modelValue: {\n type: Number,\n default: null\n }\n },\n emits: {\n ...undefined,\n 'update:modelValue': value => true,\n change: value => true\n },\n setup(props, ctx) {\n const toString = value => {\n if (value == null) return '';\n return String(value);\n };\n const toNumber = value => {\n if (value == null) return null;\n if (typeof value === 'number') return value;\n if (value.trim() === '') return null;\n return Number(value);\n };\n return () => {\n return _createVNode(VTextField, _mergeProps(ctx.attrs, {\n \"type\": \"number\",\n \"modelValue\": toString(props.modelValue),\n \"onUpdate:modelValue\": value => {\n ctx.emit('update:modelValue', toNumber(value));\n },\n \"onChange\": value => {\n ctx.emit('change', toNumber(value));\n }\n }), ctx.slots);\n };\n }\n});","import { createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\nimport './VTextarea.scss';\nimport { defineComponent } from 'vue';\nimport { createTextareaSettings, useTextareaControl, createFormControlProps } from '@fastkit/vue-form-control';\nimport { defineSlots } from '@fastkit/vue-utils';\nimport { VFormControl } from '../VFormControl';\nimport { VControlField, createControlFieldProps } from '../VControlField';\nimport { createControlProps, useControl, createControlFieldProviderProps, useControlField } from '../../composables';\nimport { VTextCounter } from '../VTextCounter';\nimport { VUI_TEXTAREA_SYMBOL, useVui } from '../../injections';\nconst {\n props,\n emits\n} = createTextareaSettings();\nconst slots = defineSlots();\nexport const VTextarea = defineComponent({\n name: 'VTextarea',\n props: {\n ...props,\n ...createFormControlProps(),\n ...createControlFieldProps(),\n ...createControlFieldProviderProps(),\n ...createControlProps(),\n ...slots()\n },\n emits,\n setup(props, ctx) {\n const vui = useVui();\n const inputControl = useTextareaControl(props, ctx, {\n nodeType: VUI_TEXTAREA_SYMBOL,\n defaultRows: vui.textareaRows\n });\n const control = useControl(props);\n useControlField(props);\n return {\n ...inputControl.expose(),\n ...control\n };\n },\n render() {\n return _createVNode(VFormControl, {\n \"nodeControl\": this.nodeControl,\n \"focused\": this.nodeControl.focused,\n \"class\": ['v-textarea', this.classes],\n \"label\": this.label,\n \"hint\": this.hint,\n \"hinttip\": this.hinttip,\n \"hiddenInfo\": this.hiddenInfo,\n \"requiredChip\": this.requiredChip,\n \"onClickLabel\": ev => {\n this.focus();\n }\n }, {\n ...this.$slots,\n default: () => _createVNode(VControlField, {\n \"class\": \"v-textarea__input\",\n \"size\": this.size,\n \"autoHeight\": true,\n \"startAdornment\": this.startAdornment,\n \"endAdornment\": this.endAdornment\n }, {\n ...this.$slots,\n default: () => this.textareaControl.createInputElement({\n class: 'v-textarea__input__element'\n })\n }),\n infoAppends: () => {\n const {\n counterResult\n } = this;\n if (!counterResult) return;\n return _createVNode(VTextCounter, counterResult, null);\n }\n });\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport { defineComponent, computed } from 'vue';\nimport { createFormSettings, useForm } from '@fastkit/vue-form-control';\nimport { defineSlots } from '@fastkit/vue-utils';\nimport { getDocumentScroller } from '@fastkit/vue-scroller';\nimport { createControlProps, useControl } from '../../composables';\nimport { VUI_FORM_SYMBOL, useVui } from '../../injections';\nconst {\n props,\n emits\n} = createFormSettings({\n nodeType: VUI_FORM_SYMBOL\n});\nexport const formSlots = defineSlots();\nexport function createVFormProps() {\n return {\n ...props,\n ...createControlProps(),\n ...formSlots()\n // disableAutoScroll: Boolean,\n };\n}\n\nexport const VForm = defineComponent({\n name: 'VForm',\n props: createVFormProps(),\n emits,\n slots: formSlots,\n setup(props, ctx) {\n const vui = useVui();\n const nodeControl = useForm(props, ctx, {\n nodeType: VUI_FORM_SYMBOL,\n scrollToElement: el => {\n const scroller = getDocumentScroller();\n return scroller.toElement(el, {\n offset: vui.getAutoScrollToElementOffsetTop()\n });\n }\n });\n const classes = computed(() => {\n return ['v-form', {\n 'v-form--valid': nodeControl.valid,\n 'v-form--invalid': nodeControl.invalid,\n 'v-form--disabled': nodeControl.isDisabled,\n 'v-form--validating': nodeControl.validating,\n 'v-form--pending': nodeControl.pending,\n 'v-form--sending': nodeControl.sending\n }];\n });\n useControl(props);\n return {\n ...nodeControl.expose(),\n classes\n };\n },\n render() {\n const {\n form\n } = this;\n return _createVNode(\"form\", {\n \"ref\": this.formRef(),\n \"class\": this.classes,\n \"action\": this.nativeAction,\n \"spellcheck\": this.spellcheck,\n \"onSubmit\": form.handleSubmit\n }, [this.$slots.default?.(form)]);\n }\n});","import { createVNode as _createVNode, isVNode as _isVNode } from \"vue\";\nimport './VTabs.scss';\nimport { defineComponent, ref, computed, watch, onBeforeUnmount, onBeforeUpdate, onMounted } from 'vue';\nimport { useVui } from '../../injections';\nimport { defineSlots } from '@fastkit/vue-utils';\nimport { VTab } from './VTab';\nimport { VScroller, useVScrollerRef } from '@fastkit/vue-scroller';\nimport { useScopeColorClass } from '@fastkit/vue-color-scheme';\nimport { isPromise } from '@fastkit/helpers';\nfunction _isSlot(s) {\n return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nconst slots = defineSlots();\nexport const VTabs = defineComponent({\n name: 'VTabs',\n props: {\n modelValue: String,\n items: {\n type: Array,\n required: true\n // validator: (value: VTabsItem[]) => {\n // return Array.isArray(value) && value.length > 0;\n // },\n },\n\n /**\n * 自動スクロールする際の余剰オフセット幅(px)\n */\n autoScrollOffset: {\n type: Number,\n default: 20\n },\n /**\n * ルーター同期する場合設定する\n */\n router: Function,\n /**\n * ルーティング連携を行う際に、クエリベースのURLマッチングを行う\n * タブのURLが /page1?tab=xxx のようになる時に設定する\n */\n withQuery: Boolean,\n color: String,\n onBeforeChange: Function,\n ...slots()\n },\n emits: {\n 'update:modelValue': newValue => true,\n change: newValue => true\n },\n slots,\n setup(props, ctx) {\n const vui = useVui();\n const internalValueRef = ref(null);\n const scrollerRef = useVScrollerRef();\n const elRef = ref(null);\n let scrollResult;\n const tabRefs = ref([]);\n const currentRef = computed({\n get: () => internalValueRef.value,\n set: value => {\n if (internalValueRef.value !== value) {\n internalValueRef.value = value;\n ctx.emit('update:modelValue', value);\n ctx.emit('change', value);\n }\n }\n });\n const colorScope = useScopeColorClass({\n color: () => props.color || vui.setting('tabDefault').color\n });\n const classes = computed(() => [colorScope.value.className]);\n const computedItemsRef = computed(() => {\n const current = currentRef.value;\n const {\n router\n } = props;\n return props.items.map(item => {\n const {\n value\n } = item;\n const active = current === value;\n let location;\n if (router) {\n const to = router(value);\n const route = vui.router.resolve(to);\n location = {\n to,\n route\n };\n }\n return {\n ...item,\n active,\n location\n };\n });\n });\n const setTabRef = ref => {\n tabRefs.value.push(ref);\n };\n\n // const isMountedRef = ref(false);\n\n function setupInternalValue(routable) {\n let value = props.modelValue;\n if (value == null || value === '') {\n const firstItem = props.items[0];\n if (!firstItem) return;\n value = firstItem.value;\n }\n if (internalValueRef.value !== value) {\n internalValueRef.value = value;\n if (routable) {\n const {\n router\n } = props;\n if (!router) return;\n const hit = computedItemsRef.value.find(item => item.value === value);\n if (!hit) return;\n const {\n location\n } = hit;\n if (!location) return;\n const {\n to,\n route\n } = location;\n if (route.fullPath === vui.location.currentRoute.fullPath) return;\n vui.router[to.replace ? 'replace' : 'push'](to);\n } else if (!props.router && props.modelValue !== value) {\n ctx.emit('update:modelValue', value);\n ctx.emit('change', value);\n }\n }\n }\n async function to(value) {\n const {\n value: currentValue\n } = currentRef;\n if (currentValue === value) {\n return;\n }\n const {\n onBeforeChange\n } = props;\n if (onBeforeChange) {\n let result = onBeforeChange(value, currentRef.value);\n if (isPromise(result)) {\n result = await result;\n }\n console.log(result);\n if (result === false) {\n return;\n }\n }\n currentRef.value = value;\n }\n function cancelScroll() {\n if (scrollResult) {\n scrollResult.cancel();\n scrollResult = undefined;\n }\n }\n const findTab = tab => {\n return tabRefs.value.find(t => t.value === tab);\n };\n function scrollToTab(tabValue) {\n const tab = findTab(tabValue);\n if (!tab) return;\n const $tab = tab.$el;\n if (!$tab) return;\n const scroller = scrollerRef.value;\n if (!scroller) return;\n const container = scroller.scroller.element();\n if (!container) return;\n const {\n autoScrollOffset\n } = props;\n const tabLeft = $tab.offsetLeft;\n const tabWidth = $tab.offsetWidth;\n const tabRight = tabLeft + tabWidth;\n let hiddenLeft = 0;\n let hiddenRight = 0;\n const {\n scrollLeft,\n offsetWidth: scrollerWidth\n } = container;\n hiddenLeft = Math.max(scrollLeft - tabLeft, 0);\n hiddenRight = Math.max(tabRight - scrollerWidth - scrollLeft, 0);\n if (hiddenLeft > 0) hiddenLeft += autoScrollOffset;\n if (hiddenRight > 0) hiddenRight += autoScrollOffset;\n let scrollAmmount = 0;\n if (hiddenRight > 0) {\n scrollAmmount = hiddenRight;\n }\n if (hiddenLeft > 0) {\n scrollAmmount = -hiddenLeft;\n }\n if (Math.abs(scrollAmmount) > 0) {\n cancelScroll();\n scrollResult = scroller.scroller.by(scrollAmmount, 0, {\n duration: 150\n });\n }\n }\n watch(() => props.modelValue, () => setupInternalValue(true));\n watch(() => props.items, () => setupInternalValue(), {\n deep: true\n });\n watch(() => internalValueRef.value, newValue => {\n scrollToTab(newValue);\n });\n vui.location.watchRoute(route => {\n if (!props.router) return;\n const path = props.withQuery ? route.fullPath : route.path;\n const hit = computedItemsRef.value.find(({\n location\n }) => {\n return location && location.route.fullPath === path;\n });\n if (hit) {\n currentRef.value = hit.value;\n }\n }, {\n immediate: true\n });\n onMounted(() => {\n scrollToTab(currentRef.value);\n });\n onBeforeUnmount(() => {\n cancelScroll();\n });\n onBeforeUpdate(() => {\n tabRefs.value = [];\n });\n setupInternalValue();\n return () => {\n const items = computedItemsRef.value;\n const itemSlot = ctx.slots.item;\n const children = items.map(({\n value,\n active,\n label,\n icon,\n location\n }) => {\n if (!label) {\n label = itemSlot;\n }\n const children = typeof label === 'function' ? label({\n value,\n active,\n vui\n }) : label;\n const _to = location && location.to || undefined;\n return _createVNode(VTab, {\n \"value\": value,\n \"to\": _to,\n \"icon\": icon,\n \"active\": active,\n \"ref\": setTabRef,\n \"onClick\": e => {\n if (!e.defaultPrevented) {\n to(value);\n }\n }\n }, _isSlot(children) ? children : {\n default: () => [children]\n });\n });\n return _createVNode(\"div\", {\n \"class\": ['v-tabs', classes.value],\n \"ref\": elRef\n }, [_createVNode(VScroller, {\n \"class\": \"v-tabs__scroller\",\n \"containerClass\": \"v-tabs__scroller__container\",\n \"guide\": true,\n \"ref\": scrollerRef\n }, {\n default: () => [_createVNode(\"div\", {\n \"class\": \"v-tabs__content\"\n }, [children])]\n })]);\n };\n }\n});","import { isVNode as _isVNode, createVNode as _createVNode } from \"vue\";\nimport './VTab.scss';\nimport { defineComponent, computed } from 'vue';\nimport { resolveRawIconProp } from '../VIcon';\nimport { RouterLink } from 'vue-router';\nfunction _isSlot(s) {\n return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nexport const VTab = defineComponent({\n name: 'VTab',\n props: {\n value: {\n type: String,\n required: true\n },\n active: Boolean,\n to: [String, Object],\n icon: [String, Function]\n },\n emits: {\n click: ev => true\n },\n setup(props, ctx) {\n const classesRef = computed(() => ({\n 'v-tab--active': props.active\n }));\n const exposeValues = {\n value: props.value,\n active: props.active\n };\n ctx.expose(exposeValues);\n return () => {\n const {\n to,\n value,\n icon,\n active\n } = props;\n const classes = ['v-tab', classesRef.value];\n const children = _createVNode(\"span\", {\n \"class\": \"v-tab__content\"\n }, [icon && resolveRawIconProp(active, icon, {\n class: 'v-tab__icon'\n }), ctx.slots.default?.()]);\n if (to) {\n const replace = typeof to === 'string' ? undefined : to.replace;\n return _createVNode(RouterLink, {\n \"class\": classes,\n \"to\": to,\n \"replace\": replace\n }, _isSlot(children) ? children : {\n default: () => [children]\n });\n } else {\n return _createVNode(\"button\", {\n \"class\": classes,\n \"type\": \"button\",\n \"value\": value,\n \"onClick\": ev => {\n ctx.emit('click', ev);\n }\n }, [children]);\n }\n };\n }\n});","import { isVNode as _isVNode, createVNode as _createVNode } from \"vue\";\nimport './VBreadcrumbs.scss';\nimport { defineComponent, computed } from 'vue';\nimport { VAction } from '@fastkit/vue-action';\nimport { useVui } from '../../injections';\nimport { resolveRawIconProp } from '../VIcon';\nfunction _isSlot(s) {\n return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nexport const VBreadcrumbs = defineComponent({\n name: 'VBreadcrumbs',\n props: {\n items: {\n type: Array,\n default: () => []\n },\n divider: [String, Function]\n },\n setup(props, ctx) {\n const vui = useVui();\n const computedItemsRef = computed(() => {\n const items = props.items.map(rawItem => {\n return typeof rawItem === 'string' ? {\n text: rawItem\n } : rawItem;\n });\n return items.map(item => {\n const {\n to,\n text\n } = item;\n const {\n disabled = vui.location.match(to) || !vui.location.isAvailable(to)\n } = item;\n return {\n ...item,\n disabled,\n text: typeof text === 'function' ? text(vui) : text\n };\n });\n });\n const lengthRef = computed(() => computedItemsRef.value.length);\n const defaultDividerSlot = () => {\n return [_createVNode(\"i\", {\n \"class\": \"v-breadcrumbs__divider__icon\"\n }, null)];\n };\n return () => {\n if (lengthRef.value < 1) return;\n let dividerSlot;\n const propDivider = props.divider;\n if (propDivider) {\n dividerSlot = typeof propDivider === 'function' ? propDivider : () => propDivider;\n } else {\n dividerSlot = defaultDividerSlot;\n }\n const children = [];\n computedItemsRef.value.forEach((item, index) => {\n const {\n text,\n icon,\n disabled,\n to\n } = item;\n if (index > 0) {\n const divider = dividerSlot(vui);\n if (divider) {\n children.push(_createVNode(\"li\", {\n \"class\": \"v-breadcrumbs__divider\",\n \"key\": `divider-${index}`\n }, [divider]));\n }\n }\n const myChildren = [];\n if (icon) {\n const $icon = resolveRawIconProp(false, icon, {\n class: 'v-breadcrumbs__icon'\n });\n if ($icon) {\n myChildren.push($icon);\n }\n }\n if (text) myChildren.push(text);\n const itemChild = to ? _createVNode(VAction, {\n \"class\": \"v-breadcrumbs__link\",\n \"to\": to,\n \"exactActiveClass\": \"v-breadcrumbs__link--active\"\n }, _isSlot(myChildren) ? myChildren : {\n default: () => [myChildren]\n }) : myChildren;\n children.push(_createVNode(\"li\", {\n \"class\": ['v-breadcrumbs__item', {\n 'v-breadcrumbs__item--disabled': disabled\n }],\n \"key\": `link-${index}`\n }, [itemChild]));\n });\n return _createVNode(\"nav\", {\n \"class\": \"v-breadcrumbs\"\n }, [_createVNode(\"ul\", {\n \"class\": \"v-breadcrumbs__list\"\n }, [children])]);\n };\n }\n});","import { isVNode as _isVNode, createVNode as _createVNode } from \"vue\";\nimport './VContentSwitcher.scss';\nimport { defineComponent, ref, computed, watch, Transition } from 'vue';\nimport { getDocumentScroller } from '@fastkit/vue-scroller';\nfunction _isSlot(s) {\n return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);\n}\nexport const VContentSwitcher = defineComponent({\n name: 'VContentSwitcher',\n props: {\n modelValue: String,\n order: {\n type: Array,\n default: () => []\n },\n autotop: [Boolean, Object]\n },\n emits: {\n 'update:modelValue': modelValue => true\n },\n setup(props, ctx) {\n const internalValueRef = ref('');\n const transitionRef = ref('');\n const elRef = ref(null);\n const anchorRef = ref(null);\n const computedOrderRef = computed(() => props.order.map(row => {\n return typeof row === 'string' ? row : row.value;\n }));\n const currentRef = computed({\n get: () => internalValueRef.value,\n set: current => {\n if (internalValueRef.value !== current) {\n internalValueRef.value = current;\n ctx.emit('update:modelValue', current);\n }\n }\n });\n const autotopSettingsRef = computed(() => {\n let {\n autotop: settings\n } = props;\n if (settings === true) settings = {};\n if (!settings) return;\n return {\n ...settings\n };\n });\n function seeTop(options) {\n const scoller = getDocumentScroller();\n const {\n value: anchor\n } = anchorRef;\n if (anchor) {\n scoller.toElement(anchor, options);\n }\n }\n function getEl() {\n const el = elRef.value;\n if (!el) {\n throw new Error('missing element');\n }\n return el;\n }\n watch(() => props.modelValue, (value, beforeValue) => {\n if (value == null) return;\n internalValueRef.value = value;\n if (beforeValue == null) return;\n const order = computedOrderRef.value;\n const index = order.indexOf(value);\n const beforeIndex = order.indexOf(beforeValue);\n let transition = 'fade';\n if (index !== -1 && beforeIndex !== -1) {\n if (index > beforeIndex) transition = 'v-content-switcher-next';\n if (index < beforeIndex) transition = 'v-content-switcher-prev';\n }\n transitionRef.value = transition;\n }, {\n immediate: true\n });\n watch(currentRef, () => {\n const autotopSettings = autotopSettingsRef.value;\n if (autotopSettings && props.modelValue != null) {\n seeTop(autotopSettings);\n }\n });\n return () => {\n const current = currentRef.value;\n const children = ctx.slots.default?.() || [];\n const currentSlot = ctx.slots[current];\n if (currentSlot) {\n children.push(_createVNode(\"div\", {\n \"class\": \"v-content-switcher__content\",\n \"key\": current\n }, [currentSlot(this)]));\n }\n return _createVNode(\"div\", {\n \"class\": \"v-content-switcher\",\n \"ref\": elRef\n }, [_createVNode(\"div\", {\n \"class\": \"v-content-switcher__anchor\",\n \"ref\": anchorRef\n }, null), _createVNode(Transition, {\n \"name\": transitionRef.value,\n \"onBeforeLeave\": el => {\n getEl().style.height = el.offsetHeight + 'px';\n },\n \"onEnter\": el => {\n getEl().style.height = el.offsetHeight + 'px';\n },\n \"onAfterEnter\": () => {\n getEl().style.height = '';\n },\n \"onEnterCancelled\": () => {\n getEl().style.height = '';\n },\n \"onLeaveCancelled\": () => {\n getEl().style.height = '';\n }\n }, _isSlot(children) ? children : {\n default: () => [children]\n })]);\n };\n }\n});","import { mergeProps as _mergeProps, createTextVNode as _createTextVNode, createVNode as _createVNode } from \"vue\";\nimport './VDataTable.scss';\nimport { defineComponent, ref, computed, onMounted, watch, withDirectives, Transition, isVNode } from 'vue';\nimport { useVui } from '../../injections';\nimport { VSelect } from '../VSelect';\nimport { VPagination } from '../VPagination';\nimport { VCheckbox } from '../VCheckbox';\nimport { VIcon, resolveRawIconProp } from '../VIcon';\nimport { VProgressCircular } from '../loading';\nimport { resizeDirectiveArgument } from '@fastkit/vue-resize';\nimport { VueAppLayout } from '@fastkit/vue-app-layout';\nimport { toScopeColorClass } from '@fastkit/vue-color-scheme';\nimport { VPaper } from '../VPaper';\nconst DATA_TABLE_DEFAULTS = {\n itemKey: 'id',\n pageQuery: 'page',\n sortQuery: 'sort',\n orderQuery: 'order',\n limitQuery: 'limit',\n defaultOrder: 'ASC',\n ascQueryValue: 'ASC',\n descQueryValue: 'DESC',\n limits: [5, 10, 20, 50, 100],\n limitDefault: 20,\n contorolThreshold: 10,\n searchQuery: []\n};\nexport function configureDataTableDefaults(defaults) {\n Object.assign(DATA_TABLE_DEFAULTS, defaults);\n if (!defaults.defaultOrder && defaults.ascQueryValue) {\n DATA_TABLE_DEFAULTS.defaultOrder = defaults.ascQueryValue;\n }\n}\nconst SELECTABLE_HEADER_SYMBOL = '__selectable_header__';\nexport const VDataTable = defineComponent({\n name: 'VDataTable',\n props: {\n /** 選択中のkeyの配列 */\n modelValue: {\n type: Array,\n default: () => []\n },\n itemKey: {\n type: String,\n default: () => DATA_TABLE_DEFAULTS.itemKey\n },\n /**\n * ページネーションクエリ名\n */\n pageQuery: {\n type: String,\n default: () => DATA_TABLE_DEFAULTS.pageQuery\n },\n /**\n * ソートクエリ名\n */\n sortQuery: {\n type: String,\n default: () => DATA_TABLE_DEFAULTS.sortQuery\n },\n /**\n * 表示順クエリ名\n */\n orderQuery: {\n type: String,\n default: () => DATA_TABLE_DEFAULTS.orderQuery\n },\n /**\n * 検索クエリ名\n */\n searchQuery: {\n type: [String, Array],\n default: () => DATA_TABLE_DEFAULTS.searchQuery\n },\n /**\n * リミット件数クエリ名\n */\n limitQuery: {\n type: String,\n default: () => DATA_TABLE_DEFAULTS.limitQuery\n },\n defaultOrder: {\n type: String,\n default: () => DATA_TABLE_DEFAULTS.defaultOrder\n },\n ascQueryValue: {\n type: String,\n default: () => DATA_TABLE_DEFAULTS.ascQueryValue\n },\n descQueryValue: {\n type: String,\n default: () => DATA_TABLE_DEFAULTS.descQueryValue\n },\n limits: {\n type: Array,\n default: () => DATA_TABLE_DEFAULTS.limits\n },\n limitDefault: {\n type: Number,\n default: () => DATA_TABLE_DEFAULTS.limitDefault\n },\n contorolThreshold: {\n type: Number,\n default: () => DATA_TABLE_DEFAULTS.contorolThreshold\n },\n headers: {\n type: Array,\n required: true\n },\n items: {\n type: Array,\n default: () => []\n },\n total: {\n type: Number,\n default: 0\n },\n selectable: Boolean,\n fixedHeader: Boolean,\n maxHeight: [Number, String],\n // eslint-disable-next-line vue/require-prop-types\n noDataMessage: {},\n // eslint-disable-next-line vue/require-prop-types\n noResultsMessage: {},\n rowSettings: [Object, Function]\n },\n emits: {\n input: selecteds => true\n },\n setup(props, ctx) {\n const vui = useVui();\n const bootedRef = ref(false);\n const footerHeightRef = ref(0);\n const internalValues = ref(props.modelValue.slice());\n const rowSettings = computed(() => {\n const {\n rowSettings\n } = props;\n if (!rowSettings) return () => ({});\n return typeof rowSettings === 'function' ? rowSettings : () => rowSettings;\n });\n const containedVariant = vui.setting('containedVariant');\n const sortedItemKeysRef = computed(() => props.items.map(item => item[props.itemKey]));\n const isEmptyRef = computed(() => props.items.length === 0);\n const headersRef = computed(() => {\n const {\n headers,\n selectable\n } = props;\n const ret = [];\n if (selectable) {\n ret.push({\n key: SELECTABLE_HEADER_SYMBOL\n });\n }\n ret.push(...headers.filter(({\n hidden\n }) => !(typeof hidden === 'function' ? hidden() : hidden)));\n return ret;\n });\n const searchQueryValues = computed(() => {\n let {\n searchQuery\n } = props;\n if (!searchQuery) {\n return [];\n }\n if (!Array.isArray(searchQuery)) {\n searchQuery = [searchQuery];\n }\n const values = [];\n searchQuery.forEach(query => {\n const value = vui.location.getQuery(query);\n if (value == null || value === '') {\n return;\n }\n if (typeof value === 'object' && !Object.keys(value).length) {\n return;\n }\n values.push(value);\n });\n return values;\n });\n const emptyMessage = computed(() => {\n let message;\n if (searchQueryValues.value.length) {\n message = props.noResultsMessage || vui.setting('noResultsMessage') || 'No search results found.'; // 検索結果が見つかりませんでした。\n } else {\n message = props.noDataMessage || vui.setting('noDataMessage') || 'No data was available.'; // データはありませんでした。\n }\n\n return typeof message === 'function' ? message(vui) : message;\n });\n const classesRef = computed(() => [{\n 'v-data-table--fixed-header': props.fixedHeader\n }]);\n const layout = VueAppLayout.use();\n const bodyInnerStylesRef = computed(() => {\n if (!bootedRef.value) return;\n const {\n fixedHeader,\n maxHeight\n } = props;\n const footerHeight = footerHeightRef.value;\n const _maxHeight = maxHeight || (fixedHeader ? '100%' : maxHeight);\n if (!_maxHeight) {\n return;\n }\n return {\n maxHeight: layout.calicurateViewHeight(_maxHeight, -footerHeight - 100, 200)\n };\n });\n const defaultOrderQueryRef = computed(() => props.defaultOrder === props.ascQueryValue ? props.ascQueryValue : props.descQueryValue);\n const isTransitioningRef = computed(() => {\n return vui.location.isQueryOnlyTransitioning([props.pageQuery, props.sortQuery, props.orderQuery, props.limitQuery]);\n });\n const pageRef = computed(() => vui.location.getQuery(props.pageQuery, Number, 1));\n const needShowHeaderControlRef = computed(() => props.items.length > props.contorolThreshold);\n const sortByRef = computed({\n get: () => {\n return vui.location.getQuery(props.sortQuery);\n },\n set(value) {\n vui.location.pushQuery({\n [props.sortQuery]: value || null,\n [props.pageQuery]: 1\n });\n }\n });\n const ordersRef = computed(() => [props.ascQueryValue, props.descQueryValue]);\n const usePaigingRef = computed(() => props.limits.length > 0);\n const orderByRef = computed({\n get: () => {\n const value = vui.location.getQuery(props.orderQuery);\n if (typeof value !== 'string' || !ordersRef.value.includes(value)) {\n return;\n }\n return value;\n },\n set(value) {\n vui.location.pushQuery({\n [props.orderQuery]: value || null,\n [props.pageQuery]: 1\n });\n }\n });\n const offsetRef = computed(() => (pageRef.value - 1) * limitRef.value);\n const limitRef = computed({\n get: () => vui.location.getQuery(props.limitQuery, Number, props.limitDefault),\n set: value => {\n const page = Math.floor(offsetRef.value / value) + 1;\n vui.location.pushQuery({\n [props.limitQuery]: value,\n [props.pageQuery]: page\n });\n }\n });\n const pageLengthRef = computed(() => {\n const {\n total\n } = props;\n const _limit = limitRef.value;\n if (!total) return 0;\n return Math.ceil(total / _limit);\n });\n const lengthRef = computed(() => props.items.length);\n const isASCRef = computed(() => orderByRef.value === props.ascQueryValue);\n // const isDESCRef = computed(() => orderByRef.value === props.descQueryValue);\n const sortIconRef = computed(() => {\n let icon = vui.icon('sort');\n if (typeof icon === 'string') {\n const name = icon;\n icon = gen => {\n return gen({\n name,\n rotate: isASCRef.value ? 180 : 0\n });\n };\n }\n return icon;\n });\n const isIndeterminateRef = computed(() => {\n const {\n length\n } = internalValues.value;\n return length > 0 && length < sortedItemKeysRef.value.length;\n });\n const isAllSelectedRef = computed(() => internalValues.value.length === sortedItemKeysRef.value.length);\n function setSort(settings) {\n const {\n sort,\n order\n } = settings;\n if ((sort === undefined || sortByRef.value === sort) && (order === undefined || orderByRef.value === order)) return;\n const queries = {};\n if (sort) {\n queries[props.sortQuery] = sort;\n }\n if (order) {\n queries[props.orderQuery] = order;\n }\n vui.location.pushQuery({\n ...queries,\n ...(usePaigingRef.value ? {\n [props.pageQuery]: 1\n } : undefined)\n });\n }\n function toggleOrderBy() {\n return setSort({\n order: orderByRef.value === props.ascQueryValue ? props.descQueryValue : props.ascQueryValue\n });\n }\n function isSelected(key) {\n return internalValues.value.includes(key);\n }\n function select(key) {\n if (!internalValues.value.includes(key)) {\n const values = internalValues.value.slice();\n values.push(key);\n const sortedKeys = sortedItemKeysRef.value;\n values.sort((a, b) => {\n const ai = sortedKeys.indexOf(a);\n const bi = sortedKeys.indexOf(b);\n if (ai < bi) return -1;\n if (ai > bi) return 1;\n return 0;\n });\n internalValues.value = values;\n ctx.emit('input', values);\n }\n }\n function selectAll() {\n if (!isAllSelectedRef.value) {\n const values = sortedItemKeysRef.value.slice();\n internalValues.value = values;\n ctx.emit('input', values);\n }\n }\n function deselectAll() {\n if (internalValues.value.length) {\n const values = [];\n internalValues.value = values;\n ctx.emit('input', values);\n }\n }\n function deselect(key) {\n const values = internalValues.value.slice();\n const index = values.indexOf(key);\n if (index !== -1) {\n values.splice(index, 1);\n internalValues.value = values;\n ctx.emit('input', values);\n }\n }\n function handleClickSortHeader(header, ev) {\n const {\n sortQuery\n } = header;\n if (!sortQuery) return;\n if (sortByRef.value === sortQuery) {\n return toggleOrderBy();\n }\n return setSort({\n sort: sortQuery,\n order: defaultOrderQueryRef.value\n });\n }\n function genPagination() {\n return _createVNode(VPagination, {\n \"class\": \"v-data-table__pagination\",\n \"dense\": true,\n \"align\": \"right\",\n \"routeQuery\": props.pageQuery,\n \"modelValue\": pageRef.value,\n \"length\": pageLengthRef.value\n }, null);\n }\n function genControls() {\n const {\n total\n } = props;\n const offset = offsetRef.value;\n const length = lengthRef.value;\n return _createVNode(\"div\", {\n \"class\": \"v-data-table__controls\"\n }, [_createVNode(\"div\", {\n \"class\": \"v-data-table__controls__info\"\n }, [_createVNode(\"small\", {\n \"class\": \"v-data-table__controls__info__length\"\n }, [`全 ${total} 件中 ${offset + 1} 件 〜 ${offset + length} 件を表示`])]), _createVNode(\"div\", {\n \"class\": \"v-data-table__controls__select-limit\"\n }, [_createVNode(\"span\", {\n \"class\": \"v-data-table__controls__select-limit__prefix\"\n }, [_createTextVNode(\"1\\u30DA\\u30FC\\u30B8\\u306B\")]), _createVNode(VSelect, {\n \"class\": \"v-data-table__controls__select-limit__node\",\n \"size\": \"sm\",\n \"hiddenInfo\": true,\n \"disabled\": isTransitioningRef.value,\n \"items\": props.limits.map(limit => {\n return {\n label: `${limit}件`,\n value: limit\n };\n }),\n \"modelValue\": limitRef.value,\n \"onUpdate:modelValue\": $event => limitRef.value = $event\n }, null)]), _createVNode(\"div\", {\n \"class\": \"v-data-table__controls__pagination\"\n }, [genPagination()])]);\n }\n function genTableHeader() {\n const sortBy = sortByRef.value;\n const isIndeterminate = isIndeterminateRef.value;\n const isAllSelected = isAllSelectedRef.value;\n const {\n defaultOrder,\n ascQueryValue\n } = props;\n // const usePaiging = usePaigingRef.value;\n\n const children = headersRef.value.map(header => {\n const {\n label,\n sortQuery,\n align,\n key\n } = header;\n const headerChildren = [];\n if (label != null && typeof label !== 'boolean') {\n let _children = typeof label === 'function' ? label(vui) : label;\n if (_children && !Array.isArray(_children) && typeof _children === 'object') {\n _children = JSON.stringify(_children);\n }\n headerChildren.push(_children);\n }\n if (key === SELECTABLE_HEADER_SYMBOL) {\n headerChildren.push(_createVNode(VCheckbox, {\n \"modelValue\": isAllSelected,\n \"indeterminate\": isIndeterminate,\n \"onChange\": ev => {\n if (isAllSelectedRef.value) {\n deselectAll();\n } else {\n selectAll();\n }\n }\n }, null));\n }\n // if (key === DELETOR_HEADER_SYMBOL) {\n // headerChildren.push('削除');\n // }\n\n const sortActive = sortBy === sortQuery;\n if (sortQuery) {\n const isASC = sortActive ? isASCRef.value : defaultOrder === ascQueryValue;\n headerChildren.unshift(_createVNode(VIcon, {\n \"class\": \"v-data-table__table__sort-icon v-data-table__table__sort-icon--empty\",\n \"name\": \"$empty\"\n }, null));\n headerChildren.push(resolveRawIconProp(false, sortIconRef.value, {\n class: ['v-data-table__table__sort-icon v-data-table__table__sort-icon--arrow', {\n 'v-data-table__table__sort-icon--asc': isASC,\n 'v-data-table__table__sort-icon--desc': !isASC\n }]\n })\n // <VIcon\n // class={[\n // 'v-data-table__table__sort-icon v-data-table__table__sort-icon--arrow',\n // {\n // 'v-data-table__table__sort-icon--asc': isASC,\n // 'v-data-table__table__sort-icon--desc': !isASC,\n // },\n // ]}\n // name=\"mdi-chevron-down\"\n // />,\n );\n }\n\n const classes = ['v-data-table__table__cell', {\n 'v-data-table__table__cell--active': sortActive\n }];\n if (align) {\n classes.push(`v-data-table__table__cell--${align}`);\n }\n return _createVNode(\"th\", {\n \"class\": classes,\n \"key\": header.key,\n \"tabindex\": sortQuery ? 0 : undefined,\n \"onClick\": ev => {\n if (!sortQuery) return;\n handleClickSortHeader(header, ev);\n }\n }, [_createVNode(\"div\", {\n \"class\": \"v-data-table__table__cell__tile\"\n }, [headerChildren])]);\n });\n return _createVNode(\"thead\", {\n \"class\": \"v-data-table__table__header\"\n }, [_createVNode(\"tr\", null, [children])]);\n }\n function toggleSelect(key) {\n return isSelected(key) ? deselect(key) : select(key);\n }\n function defaultItemSlot(payload) {\n const {\n key,\n item,\n selected\n } = payload;\n const headers = headersRef.value;\n // const { $scopedSlots, $createElement, deletor } = this;\n const children = headers.map(header => {\n const {\n cell,\n align,\n key: headerKey\n } = header;\n const cellSlot = cell || ctx.slots.cell;\n let cellChildren;\n if (cellSlot) {\n const cellPayload = {\n vui,\n item,\n selected\n };\n let _children = cellSlot(cellPayload);\n if (_children && !Array.isArray(_children) && typeof _children === 'object' && !isVNode(_children)) {\n _children = JSON.stringify(_children);\n }\n cellChildren = _children;\n }\n if (!cellChildren) {\n switch (headerKey) {\n case SELECTABLE_HEADER_SYMBOL:\n {\n cellChildren = [_createVNode(VCheckbox, {\n \"modelValue\": selected,\n \"onChange\": ev => {\n toggleSelect(key);\n }\n }, null)];\n break;\n }\n // case DELETOR_HEADER_SYMBOL: {\n // if (deletor) {\n // const onClick = async (event: MouseEvent) => {\n // if (\n // await this.$confirm(`${key}を削除します。よろしいですか?`)\n // ) {\n // this.deletingTargets.push(key);\n // await deletor(item);\n // this.deletingTargets.splice(\n // this.deletingTargets.indexOf(key),\n // 1,\n // );\n // }\n // };\n // cellChildren = [\n // <VBtn\n // icon=\"trush\"\n // onClick={onClick}\n // disabled={this.deletingTargets.includes(key)}\n // />,\n // ];\n // }\n // break;\n // }\n }\n }\n\n const classes = align ? {\n [`v-data-table__table__cell--${align}`]: true\n } : undefined;\n return _createVNode(\"td\", {\n \"class\": ['v-data-table__table__cell', classes],\n \"key\": header.key\n }, [cellChildren]);\n });\n const {\n color,\n attrs\n } = rowSettings.value(payload);\n const colorClass = color && toScopeColorClass(color);\n const classes = ['v-data-table__table__item', {\n 'v-data-table__table__item--selected': selected\n }];\n if (colorClass) {\n classes.push(colorClass, containedVariant);\n }\n return _createVNode(\"tr\", _mergeProps({\n \"class\": classes,\n \"key\": key\n }, attrs), [children]);\n }\n function genBody() {\n const {\n items,\n itemKey\n } = props;\n const {\n item: itemSlot = defaultItemSlot\n } = ctx.slots;\n const children = items.map(item => {\n const key = item[itemKey];\n const payload = {\n key,\n item,\n selected: isSelected(key)\n };\n return itemSlot(payload);\n });\n return _createVNode(\"tbody\", {\n \"class\": \"v-data-table__table__body\"\n }, [children]);\n }\n watch(() => props.modelValue, modelValue => {\n internalValues.value = modelValue.slice();\n });\n watch(() => props.items, items => {\n internalValues.value = internalValues.value.filter(key => {\n return sortedItemKeysRef.value.includes(key);\n });\n });\n onMounted(() => {\n bootedRef.value = true;\n });\n return () => {\n const isEmpty = isEmptyRef.value;\n const usePaiging = usePaigingRef.value;\n return _createVNode(\"div\", {\n \"class\": ['v-data-table', classesRef.value]\n }, [!isEmpty && usePaiging && needShowHeaderControlRef.value && _createVNode(\"div\", {\n \"class\": \"v-data-table__header\"\n }, [genControls()]), _createVNode(\"div\", {\n \"class\": \"v-data-table__body container-pull\"\n }, [isEmpty ? _createVNode(\"div\", {\n \"class\": \"v-data-table__empty--message\"\n }, [emptyMessage.value]) : _createVNode(VPaper, {\n \"class\": \"v-data-table__body__inner\",\n \"style\": bodyInnerStylesRef.value\n }, {\n default: () => [_createVNode(\"div\", {\n \"class\": \"v-data-table__table-wrapper\"\n }, [_createVNode(\"table\", {\n \"class\": \"v-data-table__table\"\n }, [genTableHeader(), genBody()])])]\n }), _createVNode(Transition, {\n \"name\": \"fade\"\n }, {\n default: () => [isTransitioningRef.value && _createVNode(\"div\", {\n \"class\": \"v-data-table__loading\"\n }, [_createVNode(VProgressCircular, {\n \"indeterminate\": true\n }, null)])]\n })]), !isEmpty && usePaiging && withDirectives(_createVNode(\"div\", {\n \"class\": \"v-data-table__footer\"\n }, [genControls()]), [resizeDirectiveArgument(({\n height\n }) => {\n footerHeightRef.value = height;\n })])]);\n };\n }\n});","import { createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\nimport { defineComponent } from 'vue';\nimport { VAppLayout } from '@fastkit/vue-app-layout';\nimport { VDynamicStacks } from '@fastkit/vue-stack';\nimport { useInjectTheme } from '@fastkit/vue-color-scheme';\nexport const VApp = defineComponent({\n name: 'VApp',\n setup(_props, ctx) {\n useInjectTheme();\n return () => {\n return _createVNode(VDynamicStacks, null, {\n default: () => [_createVNode(VAppLayout, null, ctx.slots)]\n });\n };\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VToolbar.scss';\nimport { defineComponent, computed } from 'vue';\nimport { colorSchemeProps, useColorClasses } from '@fastkit/vue-color-scheme';\nimport { createElevationProps, useElevation } from '../../composables';\nimport { useVui } from '../../injections';\nexport const VToolbar = defineComponent({\n name: 'VToolbar',\n props: {\n ...createElevationProps(),\n ...colorSchemeProps(),\n dense: Boolean\n },\n setup(props, ctx) {\n const vui = useVui();\n const elevation = useElevation(props, {\n defaultValue: 4\n });\n const dense = computed(() => props.dense);\n const color = useColorClasses({\n color: () => props.color,\n variant: () => props.variant || vui.setting('containedVariant')\n });\n const classes = computed(() => {\n return [elevation.elevationClassName.value, color.colorClasses.value, {\n 'v-toolbar--plain': !color.color.value.value,\n 'v-toolbar--dense': dense.value\n }];\n });\n return () => {\n return _createVNode(\"div\", {\n \"class\": ['v-toolbar', classes.value]\n }, [ctx.slots.default?.()]);\n };\n }\n});","import { createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\nimport './VToolbarMenu.scss';\nimport { defineComponent } from 'vue';\nimport { VButton } from '../VButton';\nimport { useVui } from '../../injections';\n\n// @TODO Unable to resolve dts for `navigationableInheritProps`.\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nexport const VToolbarMenu = defineComponent({\n name: 'VToolbarMenu',\n inheritAttrs: false,\n props: {},\n setup(props, ctx) {\n const vui = useVui();\n const plain = vui.setting('plainVariant');\n return () => {\n const variant = props.variant || plain;\n return _createVNode(VButton, _mergeProps(ctx.attrs, {\n \"variant\": variant,\n \"class\": ['v-toolbar-menu']\n }), {\n default: () => [ctx.slots.default?.()]\n });\n };\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VToolbarEdge.scss';\nimport { defineComponent, computed } from 'vue';\nimport { renderSlotOrEmpty } from '@fastkit/vue-utils';\nexport const VToolbarEdge = defineComponent({\n name: 'VToolbarEdge',\n props: {\n edge: {\n type: String,\n required: true\n }\n },\n setup(props, ctx) {\n const edge = computed(() => props.edge);\n return () => {\n const children = renderSlotOrEmpty(ctx.slots, 'default');\n const hasChildren = !!children && children.length > 0;\n return _createVNode(\"div\", {\n \"class\": ['v-toolbar-edge', `v-toolbar-edge--${edge.value}`, {\n [`v-toolbar-edge--empty`]: !hasChildren\n }]\n }, [children]);\n };\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport './VToolbarTitle.scss';\nimport { defineComponent, computed } from 'vue';\nimport { defineSlots } from '@fastkit/vue-utils';\nconst slots = defineSlots();\nexport const VToolbarTitle = defineComponent({\n name: 'VToolbarTitle',\n props: {\n tag: {\n type: String,\n default: 'span'\n },\n ...slots()\n },\n slots,\n setup(props, ctx) {\n const _TagName = computed(() => props.tag);\n return () => {\n const TagName = _TagName.value;\n return _createVNode(TagName, {\n \"class\": \"v-toolbar-title\"\n }, {\n default: () => [ctx.slots.default?.()]\n });\n };\n }\n});","import { resolveDirective as _resolveDirective, createVNode as _createVNode, mergeProps as _mergeProps, createTextVNode as _createTextVNode } from \"vue\";\nexport { VuiInjectionKey } from './injections';\nimport { reactive } from 'vue';\nimport { BUILTIN_ACTION_HANDLERS } from '@fastkit/vue-stack';\nimport { RouterLink, useLink } from 'vue-router';\nimport { setDefaultRouterLink } from '@fastkit/vue-action';\nimport { LocationService } from '@fastkit/vue-location';\nimport { VForm } from './components/VForm';\nimport { VTextField } from './components/VTextField';\nimport { getDocumentScroller } from '@fastkit/vue-scroller';\nimport { VButton } from './components/VButton';\nimport { VDialog } from './components/VDialog';\nimport { VSnackbar } from './components/VSnackbar';\nimport { VMenu } from './components/VMenu';\nimport { VSheetModal } from './components/VSheetModal';\nconst DEFAULT_AUTO_SCROLL_TO_ELEMENT_OFFSET_TOP = -20;\nconst DEFAULT_TEXTAREA_ROWS = 3;\nexport function mergeVuiServiceUISettings(base, overrides) {\n if (!overrides) {\n return base;\n }\n const merged = {\n ...base\n };\n Object.entries(overrides).forEach(([key, value]) => {\n if (value) {\n merged[key] = value;\n }\n });\n return merged;\n}\nexport function mergeVuiServiceIconSettings(base, overrides) {\n if (!overrides) {\n return base;\n }\n const merged = {\n ...base\n };\n Object.entries(overrides).forEach(([key, value]) => {\n if (value) {\n merged[key] = value;\n }\n });\n return merged;\n}\nexport function mergeVuiServiceOptions(base, overrides) {\n if (!overrides) {\n return base;\n }\n const merged = {\n ...base,\n uiSettings: mergeVuiServiceUISettings(base.uiSettings, overrides.uiSettings),\n icons: mergeVuiServiceIconSettings(base.icons, overrides.icons)\n };\n const excludes = ['uiSettings', 'icons'];\n Object.entries(overrides).forEach(([key, value]) => {\n if (value && !excludes.includes(key)) {\n merged[key] = value;\n }\n });\n return merged;\n}\nexport class VuiService {\n get scroller() {\n return getDocumentScroller();\n }\n constructor(options, stackService) {\n this.options = options;\n this.configure();\n const {\n selectionSeparator = () => ', ',\n autoScrollToElementOffsetTop = DEFAULT_AUTO_SCROLL_TO_ELEMENT_OFFSET_TOP,\n textareaRows = DEFAULT_TEXTAREA_ROWS,\n requiredChip = () => '*'\n } = options;\n this.selectionSeparator = selectionSeparator;\n this.autoScrollToElementOffsetTop = autoScrollToElementOffsetTop;\n this.textareaRows = textareaRows;\n this.requiredChip = requiredChip;\n this.router = options.router;\n this.location = new LocationService({\n router: this.router\n });\n this.useLink = options.useLink || useLink;\n this.stack = stackService;\n const {\n uiSettings\n } = options;\n this.stackActions = {\n ok: ({\n bindings\n }) => _createVNode(VButton, _mergeProps(uiSettings.dialogOk, bindings), {\n default: () => [_createTextVNode(\"OK\")]\n }),\n cancel: ({\n bindings\n }) => _createVNode(VButton, _mergeProps(uiSettings.dialogCancel, bindings), {\n default: () => [_createTextVNode(\"CANCEL\")]\n }),\n close: ({\n bindings\n }) => _createVNode(VButton, _mergeProps(uiSettings.dialogClose, bindings), {\n default: () => [_createTextVNode(\"CLOSE\")]\n })\n };\n this.dialog = stackService.createLauncher(VDialog);\n this.alert = stackService.createLauncher(VDialog, props => {\n const actions = [...(props?.actions || [])];\n if (!actions.length) {\n actions.push(this.stackAction('ok'));\n }\n const backdrop = props?.backdrop == null ? true : props?.backdrop;\n return {\n ...props,\n backdrop,\n actions\n };\n });\n this.confirm = stackService.createLauncher(VDialog, props => {\n const actions = [...(props?.actions || [])];\n if (!actions.length) {\n actions.push(this.stackAction('cancel'), this.stackAction('ok'));\n }\n const backdrop = props?.backdrop == null ? true : props?.backdrop;\n return {\n ...props,\n backdrop,\n actions\n };\n });\n this.snackbar = stackService.createLauncher(VSnackbar);\n this.menu = stackService.createLauncher(VMenu);\n this.sheet = stackService.createLauncher(VSheetModal);\n }\n configure(options) {\n options && Object.assign(this.options, options);\n setDefaultRouterLink(this.getRouterLink());\n }\n getRouterLink() {\n return this.options.RouterLink || RouterLink;\n }\n setting(key) {\n return this.options.uiSettings[key];\n }\n icon(iconType) {\n return this.options.icons[iconType];\n }\n getAutoScrollToElementOffsetTop() {\n let {\n autoScrollToElementOffsetTop\n } = this;\n if (typeof autoScrollToElementOffsetTop === 'function') {\n autoScrollToElementOffsetTop = autoScrollToElementOffsetTop();\n }\n return autoScrollToElementOffsetTop || 0;\n }\n getRequiredChip() {\n const {\n requiredChip\n } = this;\n return requiredChip && requiredChip();\n }\n formPrompt(settings, slot) {\n let form;\n const options = {\n dense: true,\n ...settings\n };\n const {\n size,\n state\n } = options;\n const _state = reactive(state);\n options.actions = options.actions || [this.stackAction('cancel', undefined, {\n size\n }), this.stackAction('ok', undefined, {\n size,\n onClick: () => {\n if (form) {\n const ev = new Event('submit');\n form.handleSubmit(ev);\n }\n }\n })];\n return this.dialog(options, stack => {\n return _createVNode(VForm, {\n \"disableAutoScroll\": true,\n \"size\": size,\n \"onVnodeBeforeUnmount\": () => {\n form = undefined;\n },\n \"onSubmit\": ev => {\n stack.resolve(_state);\n }\n }, {\n default: _form => {\n form = _form;\n return slot(_state, {\n form,\n stack\n });\n }\n });\n });\n }\n prompt(rawOptions = {}) {\n const options = typeof rawOptions === 'string' ? {\n input: {\n label: rawOptions\n }\n } : {\n ...rawOptions\n };\n options.input = {\n ...options.input\n };\n options.dense = true;\n const {\n initialValue: value = ''\n } = options.input;\n const {\n size\n } = options.input;\n delete options.input.initialValue;\n return this.formPrompt({\n size,\n ...options,\n state: {\n input: value\n }\n }, state => _createVNode(VTextField, _mergeProps(options.input, {\n \"modelValue\": state.input,\n \"onUpdate:modelValue\": $event => state.input = $event\n }), null)).then(result => {\n return result ? result.input : result;\n });\n }\n stackAction(key, override, attrs) {\n const factory = this.stackActions[key];\n const _onClick = BUILTIN_ACTION_HANDLERS[key];\n const action = {\n key,\n content: ({\n control,\n key\n }) => {\n const onClick = ev => _onClick(control, ev);\n return factory({\n service: this.stack,\n control,\n key,\n bindings: {\n onClick,\n ...attrs\n }\n });\n },\n ...override\n };\n return action;\n }\n}","import { VuiService, mergeVuiServiceOptions, VuiInjectionKey } from './service';\nimport { installVueStackPlugin } from '@fastkit/vue-stack';\nimport { installBodyScrollLockDirective } from '@fastkit/vue-body-scroll-lock';\nimport { installClickOutsideDirective } from '@fastkit/vue-click-outside';\nimport { installResizeDirective } from '@fastkit/vue-resize';\nimport { VueColorSchemePlugin } from '@fastkit/vue-color-scheme';\nimport { installVueAppLayout } from '@fastkit/vue-app-layout';\nimport { onAppUnmount } from '@fastkit/vue-utils';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\n\nexport function mergeVuiPluginOptions(base, override) {\n if (!override) return base;\n const merged = mergeVuiServiceOptions(base, override);\n if (override.stack) {\n merged.stack = {\n ...merged.stack,\n ...override.stack\n };\n }\n return merged;\n}\nexport class VuiPlugin {\n static install(app, opts) {\n const {\n colorScheme,\n stack\n } = opts;\n\n // ColorScheme\n const vueColorSchemePlugin = new VueColorSchemePlugin(colorScheme);\n app.use(vueColorSchemePlugin);\n\n // Stack\n installVueStackPlugin(app, stack);\n installVueAppLayout(app);\n installBodyScrollLockDirective(app);\n installClickOutsideDirective(app);\n installResizeDirective(app);\n\n // Vui\n const $vui = new VuiService(opts, app.config.globalProperties.$vstack);\n app.provide(VuiInjectionKey, $vui);\n app.config.globalProperties.$vui = $vui;\n onAppUnmount(app, () => {\n delete app.config.globalProperties.$vui;\n });\n }\n}\nexport function installVuiPlugin(app, opts) {\n return app.use(VuiPlugin, opts);\n}"]}