@celldl/editor 0.20260217.0 → 0.20260227.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/README.md +2 -17
  2. package/dist/CellDLEditor.css +1 -1
  3. package/dist/CellDLEditor.es.js +62796 -6
  4. package/dist/CellDLEditor.es.js.map +1 -1
  5. package/dist/index.d.ts +24 -10
  6. package/dist/index.d.ts.map +1 -0
  7. package/dist/src/CellDL/SVGElements/boundedelement.d.ts +25 -5
  8. package/dist/src/CellDL/SVGElements/boundedelement.d.ts.map +1 -0
  9. package/dist/src/CellDL/SVGElements/index.d.ts +25 -5
  10. package/dist/src/CellDL/SVGElements/index.d.ts.map +1 -0
  11. package/dist/src/CellDL/SVGElements/linearpath.d.ts +23 -3
  12. package/dist/src/CellDL/SVGElements/linearpath.d.ts.map +1 -0
  13. package/dist/src/CellDL/SVGElements/pathelement.d.ts +27 -7
  14. package/dist/src/CellDL/SVGElements/pathelement.d.ts.map +1 -0
  15. package/dist/src/CellDL/SVGElements/rectilinearpath.d.ts +23 -3
  16. package/dist/src/CellDL/SVGElements/rectilinearpath.d.ts.map +1 -0
  17. package/dist/src/CellDL/SVGElements/svgconnection.d.ts +25 -5
  18. package/dist/src/CellDL/SVGElements/svgconnection.d.ts.map +1 -0
  19. package/dist/src/CellDL/celldlObjects/index.d.ts +28 -7
  20. package/dist/src/CellDL/celldlObjects/index.d.ts.map +1 -0
  21. package/dist/src/CellDL/components/index.d.ts +24 -4
  22. package/dist/src/CellDL/components/index.d.ts.map +1 -0
  23. package/dist/src/CellDL/components/properties.d.ts +4 -3
  24. package/dist/src/CellDL/components/properties.d.ts.map +1 -0
  25. package/dist/src/CellDL/connections/index.d.ts +1 -0
  26. package/dist/src/CellDL/connections/index.d.ts.map +1 -0
  27. package/dist/src/CellDL/connections/pathmaker.d.ts +26 -6
  28. package/dist/src/CellDL/connections/pathmaker.d.ts.map +1 -0
  29. package/dist/src/CellDL/diagram/index.d.ts +30 -10
  30. package/dist/src/CellDL/diagram/index.d.ts.map +1 -0
  31. package/dist/src/CellDL/editor/alerts.d.ts +1 -0
  32. package/dist/src/CellDL/editor/alerts.d.ts.map +1 -0
  33. package/dist/src/CellDL/editor/editguides.d.ts +25 -5
  34. package/dist/src/CellDL/editor/editguides.d.ts.map +1 -0
  35. package/dist/src/CellDL/editor/editorframe.d.ts +22 -2
  36. package/dist/src/CellDL/editor/editorframe.d.ts.map +1 -0
  37. package/dist/src/CellDL/editor/index.d.ts +23 -1
  38. package/dist/src/CellDL/editor/index.d.ts.map +1 -0
  39. package/dist/src/CellDL/editor/panzoom.d.ts +1 -0
  40. package/dist/src/CellDL/editor/panzoom.d.ts.map +1 -0
  41. package/dist/src/CellDL/editor/selectionbox.d.ts +23 -3
  42. package/dist/src/CellDL/editor/selectionbox.d.ts.map +1 -0
  43. package/dist/src/CellDL/editor/undoredo.d.ts +24 -4
  44. package/dist/src/CellDL/editor/undoredo.d.ts.map +1 -0
  45. package/dist/src/CellDL/geometry/controls.d.ts +24 -4
  46. package/dist/src/CellDL/geometry/controls.d.ts.map +1 -0
  47. package/dist/src/CellDL/geometry/index.d.ts +23 -3
  48. package/dist/src/CellDL/geometry/index.d.ts.map +1 -0
  49. package/dist/src/CellDL/geometry/intersections.d.ts +21 -1
  50. package/dist/src/CellDL/geometry/intersections.d.ts.map +1 -0
  51. package/dist/src/CellDL/geometry/pathutils.d.ts +22 -2
  52. package/dist/src/CellDL/geometry/pathutils.d.ts.map +1 -0
  53. package/dist/src/CellDL/geometry/spatialindex.d.ts +22 -2
  54. package/dist/src/CellDL/geometry/spatialindex.d.ts.map +1 -0
  55. package/dist/src/CellDL/geometry/transforms.d.ts +22 -2
  56. package/dist/src/CellDL/geometry/transforms.d.ts.map +1 -0
  57. package/dist/src/CellDL/geometry/units.d.ts +1 -0
  58. package/dist/src/CellDL/geometry/units.d.ts.map +1 -0
  59. package/dist/src/CellDL/utils.d.ts +21 -1
  60. package/dist/src/CellDL/utils.d.ts.map +1 -0
  61. package/dist/src/common/EditorTypes.d.ts +1 -0
  62. package/dist/src/common/EditorTypes.d.ts.map +1 -0
  63. package/dist/src/common/common.d.ts +1 -0
  64. package/dist/src/common/common.d.ts.map +1 -0
  65. package/dist/src/common/constants.d.ts +1 -0
  66. package/dist/src/common/constants.d.ts.map +1 -0
  67. package/dist/src/common/points.d.ts +1 -0
  68. package/dist/src/common/points.d.ts.map +1 -0
  69. package/dist/src/common/styling.d.ts +1 -0
  70. package/dist/src/common/styling.d.ts.map +1 -0
  71. package/dist/src/common/svgUtils.d.ts +23 -3
  72. package/dist/src/common/svgUtils.d.ts.map +1 -0
  73. package/dist/src/common/themeCssVariables.d.ts +1 -0
  74. package/dist/src/common/themeCssVariables.d.ts.map +1 -0
  75. package/dist/src/common/types.d.ts +1 -0
  76. package/dist/src/common/types.d.ts.map +1 -0
  77. package/dist/src/common/vueCommon.d.ts +2 -1
  78. package/dist/src/common/vueCommon.d.ts.map +1 -0
  79. package/dist/src/libopencor/locUIJsonApi.d.ts +1 -0
  80. package/dist/src/libopencor/locUIJsonApi.d.ts.map +1 -0
  81. package/dist/src/mathjax/index.d.ts +28 -0
  82. package/dist/src/mathjax/index.d.ts.map +1 -0
  83. package/dist/src/metadata/index.d.ts +14 -13
  84. package/dist/src/metadata/index.d.ts.map +1 -0
  85. package/dist/src/metadata/namespaces.d.ts +26 -5
  86. package/dist/src/metadata/namespaces.d.ts.map +1 -0
  87. package/dist/src/metadata/store.d.ts +31 -18
  88. package/dist/src/metadata/store.d.ts.map +1 -0
  89. package/dist/src/plugins/bondgraph/definitions.d.ts +21 -1
  90. package/dist/src/plugins/bondgraph/definitions.d.ts.map +1 -0
  91. package/dist/src/plugins/bondgraph/index.d.ts +31 -9
  92. package/dist/src/plugins/bondgraph/index.d.ts.map +1 -0
  93. package/dist/src/plugins/bondgraph/utils.d.ts +23 -2
  94. package/dist/src/plugins/bondgraph/utils.d.ts.map +1 -0
  95. package/dist/src/plugins/index.d.ts +8 -5
  96. package/dist/src/plugins/index.d.ts.map +1 -0
  97. package/package.json +13 -8
  98. package/dist/CellDLEditor-ZFePDCI0.js +0 -13851
  99. package/dist/CellDLEditor-ZFePDCI0.js.map +0 -1
  100. package/dist/app/src/App.vue.d.ts +0 -2
  101. package/dist/app/src/common/common.d.ts +0 -8
  102. package/dist/app/src/common/constants.d.ts +0 -5
  103. package/dist/app/src/common/electron.d.ts +0 -5
  104. package/dist/app/src/common/electronApi.d.ts +0 -8
  105. package/dist/app/src/common/settings.d.ts +0 -18
  106. package/dist/app/src/common/version.d.ts +0 -7
  107. package/dist/app/src/common/vueCommon.d.ts +0 -9
  108. package/dist/app/src/main.d.ts +0 -1
  109. package/dist/favicon.ico +0 -0
  110. package/dist/index--lsZkhLY.js +0 -47445
  111. package/dist/index--lsZkhLY.js.map +0 -1
  112. package/dist/oxigraph-Dx4bu2IN.js +0 -838
  113. package/dist/oxigraph-Dx4bu2IN.js.map +0 -1
  114. package/dist/package.json.d.ts +0 -106
  115. package/dist/src/assets/oxigraph/web.d.ts +0 -279
  116. package/dist/src/components/CellDLEditor.vue.d.ts +0 -19
  117. package/dist/src/components/WrappedEditor.vue.d.ts +0 -19
  118. package/dist/src/components/panels/FillStyle.vue.d.ts +0 -20
  119. package/dist/src/components/panels/PathStyle.vue.d.ts +0 -20
  120. package/dist/src/components/panels/PropertiesPanel.vue.d.ts +0 -21
  121. package/dist/src/components/popovers/ComponentPopover.vue.d.ts +0 -19
  122. package/dist/src/components/popovers/ConnectionStylePopover.vue.d.ts +0 -19
  123. package/dist/src/components/toolbar/EditorToolbar.vue.d.ts +0 -23
  124. package/dist/src/components/toolbar/ToolButton.vue.d.ts +0 -26
  125. package/dist/src/components/toolbar/ToolPanel.vue.d.ts +0 -2
  126. package/dist/src/components/toolbar/ToolPopover.vue.d.ts +0 -3
  127. package/dist/src/components/widgets/InputWidget.vue.d.ts +0 -34
  128. package/dist/src/metadata/oxigraphStore.d.ts +0 -61
  129. package/dist/src/metadata/oximock.d.ts +0 -36
  130. package/dist/vite.config.d.ts +0 -3
  131. package/dist/vite.lib.config.d.ts +0 -3
@@ -1 +0,0 @@
1
- {"version":3,"file":"CellDLEditor-ZFePDCI0.js","sources":["../../../node_modules/@primeuix/themes/dist/aura/accordion/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/autocomplete/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/avatar/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/badge/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/base/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/blockui/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/breadcrumb/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/button/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/card/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/carousel/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/cascadeselect/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/checkbox/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/chip/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/colorpicker/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/confirmdialog/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/confirmpopup/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/contextmenu/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/css/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/datatable/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/dataview/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/datepicker/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/dialog/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/divider/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/dock/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/drawer/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/editor/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/fieldset/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/fileupload/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/floatlabel/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/galleria/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/iconfield/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/iftalabel/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/image/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/imagecompare/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/inlinemessage/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/inplace/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/inputchips/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/inputgroup/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/inputnumber/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/inputotp/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/inputtext/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/knob/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/listbox/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/megamenu/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/menu/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/menubar/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/message/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/metergroup/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/multiselect/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/orderlist/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/organizationchart/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/overlaybadge/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/paginator/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/panel/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/panelmenu/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/password/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/picklist/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/popover/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/progressbar/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/progressspinner/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/radiobutton/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/rating/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/ripple/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/scrollpanel/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/select/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/selectbutton/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/skeleton/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/slider/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/speeddial/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/splitbutton/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/splitter/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/stepper/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/steps/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/tabmenu/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/tabs/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/tabview/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/tag/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/terminal/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/textarea/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/tieredmenu/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/timeline/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/toast/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/togglebutton/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/toggleswitch/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/toolbar/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/tooltip/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/tree/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/treeselect/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/treetable/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/virtualscroller/index.mjs","../../../node_modules/@primeuix/themes/dist/aura/index.mjs","../../../node_modules/@primeuix/utils/object/index.mjs","../../../node_modules/@primeuix/utils/eventbus/index.mjs","../../../node_modules/@primevue/core/node_modules/@primeuix/styled/index.mjs","../../../node_modules/@primeuix/utils/dom/index.mjs","../../../node_modules/@primeuix/utils/uuid/index.mjs","../../../node_modules/@primeuix/utils/zindex/index.mjs","../../../node_modules/@primevue/core/api/index.mjs","../../../node_modules/@primevue/core/usestyle/index.mjs","../../../node_modules/@primevue/core/base/style/index.mjs","../../../node_modules/@primevue/core/service/index.mjs","../../../node_modules/@primevue/core/config/index.mjs","../../../node_modules/@vueuse/shared/dist/index.js","../src/common/vueCommon.ts","../../../node_modules/kld-affine/lib/Point2D.js","../../../node_modules/kld-affine/lib/Vector2D.js","../../../node_modules/kld-affine/lib/Matrix2D.js","../../../node_modules/kld-affine/index.js","../../../node_modules/kld-polynomial/lib/Polynomial.js","../../../node_modules/kld-polynomial/lib/SqrtPolynomial.js","../../../node_modules/svg-intersections/lib/IntersectionParams.js","../../../node_modules/svg-intersections/lib/Intersection.js","../../../node_modules/svg-intersections/lib/functions/bezier.js","../../../node_modules/svg-intersections/lib/intersect.js","../../../node_modules/svg-intersections/index.js","../src/CellDL/geometry/intersections.ts","../../../node_modules/quickselect/index.js","../../../node_modules/rbush/index.js","../src/CellDL/geometry/spatialindex.ts","../src/CellDL/geometry/pathutils.ts","../src/CellDL/diagram/index.ts","../../../node_modules/@primevue/core/base/index.mjs","../../../node_modules/@primevue/core/basecomponent/index.mjs","../../../node_modules/primevue/toolbar/style/index.mjs","../../../node_modules/primevue/toolbar/index.mjs","../src/common/themeCssVariables.ts","../src/components/toolbar/ToolButton.vue","../src/components/toolbar/EditorToolbar.vue","../src/CellDL/components/index.ts","../../../node_modules/primevue/card/style/index.mjs","../../../node_modules/primevue/card/index.mjs","../src/components/toolbar/ToolPopover.vue","../src/components/popovers/ComponentPopover.vue","../../../node_modules/@primevue/core/utils/index.mjs","../../../node_modules/@primevue/icons/baseicon/style/index.mjs","../../../node_modules/@primevue/icons/baseicon/index.mjs","../../../node_modules/@primevue/icons/blank/index.mjs","../../../node_modules/@primevue/icons/check/index.mjs","../../../node_modules/@primevue/icons/chevrondown/index.mjs","../../../node_modules/@primevue/icons/search/index.mjs","../../../node_modules/@primevue/icons/spinner/index.mjs","../../../node_modules/@primevue/icons/times/index.mjs","../../../node_modules/primevue/iconfield/style/index.mjs","../../../node_modules/primevue/iconfield/index.mjs","../../../node_modules/primevue/inputicon/style/index.mjs","../../../node_modules/primevue/inputicon/index.mjs","../../../node_modules/@primevue/core/baseeditableholder/index.mjs","../../../node_modules/@primevue/core/baseinput/index.mjs","../../../node_modules/primevue/inputtext/style/index.mjs","../../../node_modules/primevue/inputtext/index.mjs","../../../node_modules/primevue/overlayeventbus/index.mjs","../../../node_modules/primevue/portal/index.mjs","../../../node_modules/@primevue/core/basedirective/index.mjs","../../../node_modules/primevue/ripple/style/index.mjs","../../../node_modules/primevue/ripple/index.mjs","../../../node_modules/primevue/virtualscroller/style/index.mjs","../../../node_modules/primevue/virtualscroller/index.mjs","../../../node_modules/primevue/select/style/index.mjs","../../../node_modules/primevue/select/index.mjs","../src/components/popovers/ConnectionStylePopover.vue","../../../node_modules/@primevue/icons/chevronright/index.mjs","../../../node_modules/@primevue/icons/chevronup/index.mjs","../../../node_modules/primevue/accordioncontent/style/index.mjs","../../../node_modules/primevue/accordioncontent/index.mjs","../../../node_modules/primevue/accordionheader/style/index.mjs","../../../node_modules/primevue/accordionheader/index.mjs","../../../node_modules/primevue/accordionpanel/style/index.mjs","../../../node_modules/primevue/accordionpanel/index.mjs","../../../node_modules/primevue/accordion/style/index.mjs","../../../node_modules/primevue/accordion/index.mjs","../../../node_modules/primevue/scrollpanel/style/index.mjs","../../../node_modules/primevue/scrollpanel/index.mjs","../src/components/toolbar/ToolPanel.vue","../../../node_modules/primevue/keyfilter/style/index.mjs","../../../node_modules/primevue/keyfilter/index.mjs","../../../node_modules/primevue/floatlabel/style/index.mjs","../../../node_modules/primevue/floatlabel/index.mjs","../src/components/widgets/InputWidget.vue","../../../node_modules/primevue/radiobutton/style/index.mjs","../../../node_modules/primevue/radiobutton/index.mjs","../../../node_modules/primevue/badge/style/index.mjs","../../../node_modules/primevue/badge/index.mjs","../../../node_modules/primevue/button/style/index.mjs","../../../node_modules/primevue/button/index.mjs","../../../node_modules/primevue/divider/style/index.mjs","../../../node_modules/primevue/divider/index.mjs","../../../node_modules/@primevue/icons/minus/index.mjs","../../../node_modules/primevue/checkbox/style/index.mjs","../../../node_modules/primevue/checkbox/index.mjs","../../../node_modules/@ctrl/tinycolor/dist/module/util.js","../../../node_modules/@ctrl/tinycolor/dist/module/conversion.js","../../../node_modules/@ctrl/tinycolor/dist/module/css-color-names.js","../../../node_modules/@ctrl/tinycolor/dist/module/format-input.js","../../../node_modules/@ctrl/tinycolor/dist/module/index.js","../src/components/panels/FillStyle.vue","../../../node_modules/primevue/slider/style/index.mjs","../../../node_modules/primevue/slider/index.mjs","../src/components/panels/PathStyle.vue","../src/components/panels/PropertiesPanel.vue","../src/components/CellDLEditor.vue"],"sourcesContent":["var o={transitionDuration:\"{transition.duration}\"},r={borderWidth:\"0 0 1px 0\",borderColor:\"{content.border.color}\"},t={color:\"{text.muted.color}\",hoverColor:\"{text.color}\",activeColor:\"{text.color}\",activeHoverColor:\"{text.color}\",padding:\"1.125rem\",fontWeight:\"600\",borderRadius:\"0\",borderWidth:\"0\",borderColor:\"{content.border.color}\",background:\"{content.background}\",hoverBackground:\"{content.background}\",activeBackground:\"{content.background}\",activeHoverBackground:\"{content.background}\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"-1px\",shadow:\"{focus.ring.shadow}\"},toggleIcon:{color:\"{text.muted.color}\",hoverColor:\"{text.color}\",activeColor:\"{text.color}\",activeHoverColor:\"{text.color}\"},first:{topBorderRadius:\"{content.border.radius}\",borderWidth:\"0\"},last:{bottomBorderRadius:\"{content.border.radius}\",activeBottomBorderRadius:\"0\"}},e={borderWidth:\"0\",borderColor:\"{content.border.color}\",background:\"{content.background}\",color:\"{text.color}\",padding:\"0 1.125rem 1.125rem 1.125rem\"},c={root:o,panel:r,header:t,content:e};export{e as content,c as default,t as header,r as panel,o as root};//# sourceMappingURL=index.mjs.map","var o={background:\"{form.field.background}\",disabledBackground:\"{form.field.disabled.background}\",filledBackground:\"{form.field.filled.background}\",filledHoverBackground:\"{form.field.filled.hover.background}\",filledFocusBackground:\"{form.field.filled.focus.background}\",borderColor:\"{form.field.border.color}\",hoverBorderColor:\"{form.field.hover.border.color}\",focusBorderColor:\"{form.field.focus.border.color}\",invalidBorderColor:\"{form.field.invalid.border.color}\",color:\"{form.field.color}\",disabledColor:\"{form.field.disabled.color}\",placeholderColor:\"{form.field.placeholder.color}\",invalidPlaceholderColor:\"{form.field.invalid.placeholder.color}\",shadow:\"{form.field.shadow}\",paddingX:\"{form.field.padding.x}\",paddingY:\"{form.field.padding.y}\",borderRadius:\"{form.field.border.radius}\",focusRing:{width:\"{form.field.focus.ring.width}\",style:\"{form.field.focus.ring.style}\",color:\"{form.field.focus.ring.color}\",offset:\"{form.field.focus.ring.offset}\",shadow:\"{form.field.focus.ring.shadow}\"},transitionDuration:\"{form.field.transition.duration}\"},r={background:\"{overlay.select.background}\",borderColor:\"{overlay.select.border.color}\",borderRadius:\"{overlay.select.border.radius}\",color:\"{overlay.select.color}\",shadow:\"{overlay.select.shadow}\"},d={padding:\"{list.padding}\",gap:\"{list.gap}\"},e={focusBackground:\"{list.option.focus.background}\",selectedBackground:\"{list.option.selected.background}\",selectedFocusBackground:\"{list.option.selected.focus.background}\",color:\"{list.option.color}\",focusColor:\"{list.option.focus.color}\",selectedColor:\"{list.option.selected.color}\",selectedFocusColor:\"{list.option.selected.focus.color}\",padding:\"{list.option.padding}\",borderRadius:\"{list.option.border.radius}\"},l={background:\"{list.option.group.background}\",color:\"{list.option.group.color}\",fontWeight:\"{list.option.group.font.weight}\",padding:\"{list.option.group.padding}\"},i={width:\"2.5rem\",sm:{width:\"2rem\"},lg:{width:\"3rem\"},borderColor:\"{form.field.border.color}\",hoverBorderColor:\"{form.field.border.color}\",activeBorderColor:\"{form.field.border.color}\",borderRadius:\"{form.field.border.radius}\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"{focus.ring.offset}\",shadow:\"{focus.ring.shadow}\"}},c={borderRadius:\"{border.radius.sm}\"},f={padding:\"{list.option.padding}\"},s={light:{chip:{focusBackground:\"{surface.200}\",focusColor:\"{surface.800}\"},dropdown:{background:\"{surface.100}\",hoverBackground:\"{surface.200}\",activeBackground:\"{surface.300}\",color:\"{surface.600}\",hoverColor:\"{surface.700}\",activeColor:\"{surface.800}\"}},dark:{chip:{focusBackground:\"{surface.700}\",focusColor:\"{surface.0}\"},dropdown:{background:\"{surface.800}\",hoverBackground:\"{surface.700}\",activeBackground:\"{surface.600}\",color:\"{surface.300}\",hoverColor:\"{surface.200}\",activeColor:\"{surface.100}\"}}},a={root:o,overlay:r,list:d,option:e,optionGroup:l,dropdown:i,chip:c,emptyMessage:f,colorScheme:s};export{c as chip,s as colorScheme,a as default,i as dropdown,f as emptyMessage,d as list,e as option,l as optionGroup,r as overlay,o as root};//# sourceMappingURL=index.mjs.map","var e={width:\"2rem\",height:\"2rem\",fontSize:\"1rem\",background:\"{content.border.color}\",color:\"{content.color}\",borderRadius:\"{content.border.radius}\"},r={size:\"1rem\"},o={borderColor:\"{content.background}\",offset:\"-0.75rem\"},t={width:\"3rem\",height:\"3rem\",fontSize:\"1.5rem\",icon:{size:\"1.5rem\"},group:{offset:\"-1rem\"}},i={width:\"4rem\",height:\"4rem\",fontSize:\"2rem\",icon:{size:\"2rem\"},group:{offset:\"-1.5rem\"}},n={root:e,icon:r,group:o,lg:t,xl:i};export{n as default,o as group,r as icon,t as lg,e as root,i as xl};//# sourceMappingURL=index.mjs.map","var r={borderRadius:\"{border.radius.md}\",padding:\"0 0.5rem\",fontSize:\"0.75rem\",fontWeight:\"700\",minWidth:\"1.5rem\",height:\"1.5rem\"},o={size:\"0.5rem\"},e={fontSize:\"0.625rem\",minWidth:\"1.25rem\",height:\"1.25rem\"},c={fontSize:\"0.875rem\",minWidth:\"1.75rem\",height:\"1.75rem\"},a={fontSize:\"1rem\",minWidth:\"2rem\",height:\"2rem\"},n={light:{primary:{background:\"{primary.color}\",color:\"{primary.contrast.color}\"},secondary:{background:\"{surface.100}\",color:\"{surface.600}\"},success:{background:\"{green.500}\",color:\"{surface.0}\"},info:{background:\"{sky.500}\",color:\"{surface.0}\"},warn:{background:\"{orange.500}\",color:\"{surface.0}\"},danger:{background:\"{red.500}\",color:\"{surface.0}\"},contrast:{background:\"{surface.950}\",color:\"{surface.0}\"}},dark:{primary:{background:\"{primary.color}\",color:\"{primary.contrast.color}\"},secondary:{background:\"{surface.800}\",color:\"{surface.300}\"},success:{background:\"{green.400}\",color:\"{green.950}\"},info:{background:\"{sky.400}\",color:\"{sky.950}\"},warn:{background:\"{orange.400}\",color:\"{orange.950}\"},danger:{background:\"{red.400}\",color:\"{red.950}\"},contrast:{background:\"{surface.0}\",color:\"{surface.950}\"}}},d={root:r,dot:o,sm:e,lg:c,xl:a,colorScheme:n};export{n as colorScheme,d as default,o as dot,c as lg,r as root,e as sm,a as xl};//# sourceMappingURL=index.mjs.map","var r={borderRadius:{none:\"0\",xs:\"2px\",sm:\"4px\",md:\"6px\",lg:\"8px\",xl:\"12px\"},emerald:{50:\"#ecfdf5\",100:\"#d1fae5\",200:\"#a7f3d0\",300:\"#6ee7b7\",400:\"#34d399\",500:\"#10b981\",600:\"#059669\",700:\"#047857\",800:\"#065f46\",900:\"#064e3b\",950:\"#022c22\"},green:{50:\"#f0fdf4\",100:\"#dcfce7\",200:\"#bbf7d0\",300:\"#86efac\",400:\"#4ade80\",500:\"#22c55e\",600:\"#16a34a\",700:\"#15803d\",800:\"#166534\",900:\"#14532d\",950:\"#052e16\"},lime:{50:\"#f7fee7\",100:\"#ecfccb\",200:\"#d9f99d\",300:\"#bef264\",400:\"#a3e635\",500:\"#84cc16\",600:\"#65a30d\",700:\"#4d7c0f\",800:\"#3f6212\",900:\"#365314\",950:\"#1a2e05\"},red:{50:\"#fef2f2\",100:\"#fee2e2\",200:\"#fecaca\",300:\"#fca5a5\",400:\"#f87171\",500:\"#ef4444\",600:\"#dc2626\",700:\"#b91c1c\",800:\"#991b1b\",900:\"#7f1d1d\",950:\"#450a0a\"},orange:{50:\"#fff7ed\",100:\"#ffedd5\",200:\"#fed7aa\",300:\"#fdba74\",400:\"#fb923c\",500:\"#f97316\",600:\"#ea580c\",700:\"#c2410c\",800:\"#9a3412\",900:\"#7c2d12\",950:\"#431407\"},amber:{50:\"#fffbeb\",100:\"#fef3c7\",200:\"#fde68a\",300:\"#fcd34d\",400:\"#fbbf24\",500:\"#f59e0b\",600:\"#d97706\",700:\"#b45309\",800:\"#92400e\",900:\"#78350f\",950:\"#451a03\"},yellow:{50:\"#fefce8\",100:\"#fef9c3\",200:\"#fef08a\",300:\"#fde047\",400:\"#facc15\",500:\"#eab308\",600:\"#ca8a04\",700:\"#a16207\",800:\"#854d0e\",900:\"#713f12\",950:\"#422006\"},teal:{50:\"#f0fdfa\",100:\"#ccfbf1\",200:\"#99f6e4\",300:\"#5eead4\",400:\"#2dd4bf\",500:\"#14b8a6\",600:\"#0d9488\",700:\"#0f766e\",800:\"#115e59\",900:\"#134e4a\",950:\"#042f2e\"},cyan:{50:\"#ecfeff\",100:\"#cffafe\",200:\"#a5f3fc\",300:\"#67e8f9\",400:\"#22d3ee\",500:\"#06b6d4\",600:\"#0891b2\",700:\"#0e7490\",800:\"#155e75\",900:\"#164e63\",950:\"#083344\"},sky:{50:\"#f0f9ff\",100:\"#e0f2fe\",200:\"#bae6fd\",300:\"#7dd3fc\",400:\"#38bdf8\",500:\"#0ea5e9\",600:\"#0284c7\",700:\"#0369a1\",800:\"#075985\",900:\"#0c4a6e\",950:\"#082f49\"},blue:{50:\"#eff6ff\",100:\"#dbeafe\",200:\"#bfdbfe\",300:\"#93c5fd\",400:\"#60a5fa\",500:\"#3b82f6\",600:\"#2563eb\",700:\"#1d4ed8\",800:\"#1e40af\",900:\"#1e3a8a\",950:\"#172554\"},indigo:{50:\"#eef2ff\",100:\"#e0e7ff\",200:\"#c7d2fe\",300:\"#a5b4fc\",400:\"#818cf8\",500:\"#6366f1\",600:\"#4f46e5\",700:\"#4338ca\",800:\"#3730a3\",900:\"#312e81\",950:\"#1e1b4b\"},violet:{50:\"#f5f3ff\",100:\"#ede9fe\",200:\"#ddd6fe\",300:\"#c4b5fd\",400:\"#a78bfa\",500:\"#8b5cf6\",600:\"#7c3aed\",700:\"#6d28d9\",800:\"#5b21b6\",900:\"#4c1d95\",950:\"#2e1065\"},purple:{50:\"#faf5ff\",100:\"#f3e8ff\",200:\"#e9d5ff\",300:\"#d8b4fe\",400:\"#c084fc\",500:\"#a855f7\",600:\"#9333ea\",700:\"#7e22ce\",800:\"#6b21a8\",900:\"#581c87\",950:\"#3b0764\"},fuchsia:{50:\"#fdf4ff\",100:\"#fae8ff\",200:\"#f5d0fe\",300:\"#f0abfc\",400:\"#e879f9\",500:\"#d946ef\",600:\"#c026d3\",700:\"#a21caf\",800:\"#86198f\",900:\"#701a75\",950:\"#4a044e\"},pink:{50:\"#fdf2f8\",100:\"#fce7f3\",200:\"#fbcfe8\",300:\"#f9a8d4\",400:\"#f472b6\",500:\"#ec4899\",600:\"#db2777\",700:\"#be185d\",800:\"#9d174d\",900:\"#831843\",950:\"#500724\"},rose:{50:\"#fff1f2\",100:\"#ffe4e6\",200:\"#fecdd3\",300:\"#fda4af\",400:\"#fb7185\",500:\"#f43f5e\",600:\"#e11d48\",700:\"#be123c\",800:\"#9f1239\",900:\"#881337\",950:\"#4c0519\"},slate:{50:\"#f8fafc\",100:\"#f1f5f9\",200:\"#e2e8f0\",300:\"#cbd5e1\",400:\"#94a3b8\",500:\"#64748b\",600:\"#475569\",700:\"#334155\",800:\"#1e293b\",900:\"#0f172a\",950:\"#020617\"},gray:{50:\"#f9fafb\",100:\"#f3f4f6\",200:\"#e5e7eb\",300:\"#d1d5db\",400:\"#9ca3af\",500:\"#6b7280\",600:\"#4b5563\",700:\"#374151\",800:\"#1f2937\",900:\"#111827\",950:\"#030712\"},zinc:{50:\"#fafafa\",100:\"#f4f4f5\",200:\"#e4e4e7\",300:\"#d4d4d8\",400:\"#a1a1aa\",500:\"#71717a\",600:\"#52525b\",700:\"#3f3f46\",800:\"#27272a\",900:\"#18181b\",950:\"#09090b\"},neutral:{50:\"#fafafa\",100:\"#f5f5f5\",200:\"#e5e5e5\",300:\"#d4d4d4\",400:\"#a3a3a3\",500:\"#737373\",600:\"#525252\",700:\"#404040\",800:\"#262626\",900:\"#171717\",950:\"#0a0a0a\"},stone:{50:\"#fafaf9\",100:\"#f5f5f4\",200:\"#e7e5e4\",300:\"#d6d3d1\",400:\"#a8a29e\",500:\"#78716c\",600:\"#57534e\",700:\"#44403c\",800:\"#292524\",900:\"#1c1917\",950:\"#0c0a09\"}},o={transitionDuration:\"0.2s\",focusRing:{width:\"1px\",style:\"solid\",color:\"{primary.color}\",offset:\"2px\",shadow:\"none\"},disabledOpacity:\"0.6\",iconSize:\"1rem\",anchorGutter:\"2px\",primary:{50:\"{emerald.50}\",100:\"{emerald.100}\",200:\"{emerald.200}\",300:\"{emerald.300}\",400:\"{emerald.400}\",500:\"{emerald.500}\",600:\"{emerald.600}\",700:\"{emerald.700}\",800:\"{emerald.800}\",900:\"{emerald.900}\",950:\"{emerald.950}\"},formField:{paddingX:\"0.75rem\",paddingY:\"0.5rem\",sm:{fontSize:\"0.875rem\",paddingX:\"0.625rem\",paddingY:\"0.375rem\"},lg:{fontSize:\"1.125rem\",paddingX:\"0.875rem\",paddingY:\"0.625rem\"},borderRadius:\"{border.radius.md}\",focusRing:{width:\"0\",style:\"none\",color:\"transparent\",offset:\"0\",shadow:\"none\"},transitionDuration:\"{transition.duration}\"},list:{padding:\"0.25rem 0.25rem\",gap:\"2px\",header:{padding:\"0.5rem 1rem 0.25rem 1rem\"},option:{padding:\"0.5rem 0.75rem\",borderRadius:\"{border.radius.sm}\"},optionGroup:{padding:\"0.5rem 0.75rem\",fontWeight:\"600\"}},content:{borderRadius:\"{border.radius.md}\"},mask:{transitionDuration:\"0.3s\"},navigation:{list:{padding:\"0.25rem 0.25rem\",gap:\"2px\"},item:{padding:\"0.5rem 0.75rem\",borderRadius:\"{border.radius.sm}\",gap:\"0.5rem\"},submenuLabel:{padding:\"0.5rem 0.75rem\",fontWeight:\"600\"},submenuIcon:{size:\"0.875rem\"}},overlay:{select:{borderRadius:\"{border.radius.md}\",shadow:\"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)\"},popover:{borderRadius:\"{border.radius.md}\",padding:\"0.75rem\",shadow:\"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)\"},modal:{borderRadius:\"{border.radius.xl}\",padding:\"1.25rem\",shadow:\"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1)\"},navigation:{shadow:\"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)\"}},colorScheme:{light:{surface:{0:\"#ffffff\",50:\"{slate.50}\",100:\"{slate.100}\",200:\"{slate.200}\",300:\"{slate.300}\",400:\"{slate.400}\",500:\"{slate.500}\",600:\"{slate.600}\",700:\"{slate.700}\",800:\"{slate.800}\",900:\"{slate.900}\",950:\"{slate.950}\"},primary:{color:\"{primary.500}\",contrastColor:\"#ffffff\",hoverColor:\"{primary.600}\",activeColor:\"{primary.700}\"},highlight:{background:\"{primary.50}\",focusBackground:\"{primary.100}\",color:\"{primary.700}\",focusColor:\"{primary.800}\"},mask:{background:\"rgba(0,0,0,0.4)\",color:\"{surface.200}\"},formField:{background:\"{surface.0}\",disabledBackground:\"{surface.200}\",filledBackground:\"{surface.50}\",filledHoverBackground:\"{surface.50}\",filledFocusBackground:\"{surface.50}\",borderColor:\"{surface.300}\",hoverBorderColor:\"{surface.400}\",focusBorderColor:\"{primary.color}\",invalidBorderColor:\"{red.400}\",color:\"{surface.700}\",disabledColor:\"{surface.500}\",placeholderColor:\"{surface.500}\",invalidPlaceholderColor:\"{red.600}\",floatLabelColor:\"{surface.500}\",floatLabelFocusColor:\"{primary.600}\",floatLabelActiveColor:\"{surface.500}\",floatLabelInvalidColor:\"{form.field.invalid.placeholder.color}\",iconColor:\"{surface.400}\",shadow:\"0 0 #0000, 0 0 #0000, 0 1px 2px 0 rgba(18, 18, 23, 0.05)\"},text:{color:\"{surface.700}\",hoverColor:\"{surface.800}\",mutedColor:\"{surface.500}\",hoverMutedColor:\"{surface.600}\"},content:{background:\"{surface.0}\",hoverBackground:\"{surface.100}\",borderColor:\"{surface.200}\",color:\"{text.color}\",hoverColor:\"{text.hover.color}\"},overlay:{select:{background:\"{surface.0}\",borderColor:\"{surface.200}\",color:\"{text.color}\"},popover:{background:\"{surface.0}\",borderColor:\"{surface.200}\",color:\"{text.color}\"},modal:{background:\"{surface.0}\",borderColor:\"{surface.200}\",color:\"{text.color}\"}},list:{option:{focusBackground:\"{surface.100}\",selectedBackground:\"{highlight.background}\",selectedFocusBackground:\"{highlight.focus.background}\",color:\"{text.color}\",focusColor:\"{text.hover.color}\",selectedColor:\"{highlight.color}\",selectedFocusColor:\"{highlight.focus.color}\",icon:{color:\"{surface.400}\",focusColor:\"{surface.500}\"}},optionGroup:{background:\"transparent\",color:\"{text.muted.color}\"}},navigation:{item:{focusBackground:\"{surface.100}\",activeBackground:\"{surface.100}\",color:\"{text.color}\",focusColor:\"{text.hover.color}\",activeColor:\"{text.hover.color}\",icon:{color:\"{surface.400}\",focusColor:\"{surface.500}\",activeColor:\"{surface.500}\"}},submenuLabel:{background:\"transparent\",color:\"{text.muted.color}\"},submenuIcon:{color:\"{surface.400}\",focusColor:\"{surface.500}\",activeColor:\"{surface.500}\"}}},dark:{surface:{0:\"#ffffff\",50:\"{zinc.50}\",100:\"{zinc.100}\",200:\"{zinc.200}\",300:\"{zinc.300}\",400:\"{zinc.400}\",500:\"{zinc.500}\",600:\"{zinc.600}\",700:\"{zinc.700}\",800:\"{zinc.800}\",900:\"{zinc.900}\",950:\"{zinc.950}\"},primary:{color:\"{primary.400}\",contrastColor:\"{surface.900}\",hoverColor:\"{primary.300}\",activeColor:\"{primary.200}\"},highlight:{background:\"color-mix(in srgb, {primary.400}, transparent 84%)\",focusBackground:\"color-mix(in srgb, {primary.400}, transparent 76%)\",color:\"rgba(255,255,255,.87)\",focusColor:\"rgba(255,255,255,.87)\"},mask:{background:\"rgba(0,0,0,0.6)\",color:\"{surface.200}\"},formField:{background:\"{surface.950}\",disabledBackground:\"{surface.700}\",filledBackground:\"{surface.800}\",filledHoverBackground:\"{surface.800}\",filledFocusBackground:\"{surface.800}\",borderColor:\"{surface.600}\",hoverBorderColor:\"{surface.500}\",focusBorderColor:\"{primary.color}\",invalidBorderColor:\"{red.300}\",color:\"{surface.0}\",disabledColor:\"{surface.400}\",placeholderColor:\"{surface.400}\",invalidPlaceholderColor:\"{red.400}\",floatLabelColor:\"{surface.400}\",floatLabelFocusColor:\"{primary.color}\",floatLabelActiveColor:\"{surface.400}\",floatLabelInvalidColor:\"{form.field.invalid.placeholder.color}\",iconColor:\"{surface.400}\",shadow:\"0 0 #0000, 0 0 #0000, 0 1px 2px 0 rgba(18, 18, 23, 0.05)\"},text:{color:\"{surface.0}\",hoverColor:\"{surface.0}\",mutedColor:\"{surface.400}\",hoverMutedColor:\"{surface.300}\"},content:{background:\"{surface.900}\",hoverBackground:\"{surface.800}\",borderColor:\"{surface.700}\",color:\"{text.color}\",hoverColor:\"{text.hover.color}\"},overlay:{select:{background:\"{surface.900}\",borderColor:\"{surface.700}\",color:\"{text.color}\"},popover:{background:\"{surface.900}\",borderColor:\"{surface.700}\",color:\"{text.color}\"},modal:{background:\"{surface.900}\",borderColor:\"{surface.700}\",color:\"{text.color}\"}},list:{option:{focusBackground:\"{surface.800}\",selectedBackground:\"{highlight.background}\",selectedFocusBackground:\"{highlight.focus.background}\",color:\"{text.color}\",focusColor:\"{text.hover.color}\",selectedColor:\"{highlight.color}\",selectedFocusColor:\"{highlight.focus.color}\",icon:{color:\"{surface.500}\",focusColor:\"{surface.400}\"}},optionGroup:{background:\"transparent\",color:\"{text.muted.color}\"}},navigation:{item:{focusBackground:\"{surface.800}\",activeBackground:\"{surface.800}\",color:\"{text.color}\",focusColor:\"{text.hover.color}\",activeColor:\"{text.hover.color}\",icon:{color:\"{surface.500}\",focusColor:\"{surface.400}\",activeColor:\"{surface.400}\"}},submenuLabel:{background:\"transparent\",color:\"{text.muted.color}\"},submenuIcon:{color:\"{surface.500}\",focusColor:\"{surface.400}\",activeColor:\"{surface.400}\"}}}}},e={primitive:r,semantic:o};export{e as default,r as primitive,o as semantic};//# sourceMappingURL=index.mjs.map","var r={borderRadius:\"{content.border.radius}\"},o={root:r};export{o as default,r as root};//# sourceMappingURL=index.mjs.map","var o={padding:\"1rem\",background:\"{content.background}\",gap:\"0.5rem\",transitionDuration:\"{transition.duration}\"},r={color:\"{text.muted.color}\",hoverColor:\"{text.color}\",borderRadius:\"{content.border.radius}\",gap:\"{navigation.item.gap}\",icon:{color:\"{navigation.item.icon.color}\",hoverColor:\"{navigation.item.icon.focus.color}\"},focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"{focus.ring.offset}\",shadow:\"{focus.ring.shadow}\"}},i={color:\"{navigation.item.icon.color}\"},t={root:o,item:r,separator:i};export{t as default,r as item,o as root,i as separator};//# sourceMappingURL=index.mjs.map","var r={borderRadius:\"{form.field.border.radius}\",roundedBorderRadius:\"2rem\",gap:\"0.5rem\",paddingX:\"{form.field.padding.x}\",paddingY:\"{form.field.padding.y}\",iconOnlyWidth:\"2.5rem\",sm:{fontSize:\"{form.field.sm.font.size}\",paddingX:\"{form.field.sm.padding.x}\",paddingY:\"{form.field.sm.padding.y}\",iconOnlyWidth:\"2rem\"},lg:{fontSize:\"{form.field.lg.font.size}\",paddingX:\"{form.field.lg.padding.x}\",paddingY:\"{form.field.lg.padding.y}\",iconOnlyWidth:\"3rem\"},label:{fontWeight:\"500\"},raisedShadow:\"0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12)\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",offset:\"{focus.ring.offset}\"},badgeSize:\"1rem\",transitionDuration:\"{form.field.transition.duration}\"},o={light:{root:{primary:{background:\"{primary.color}\",hoverBackground:\"{primary.hover.color}\",activeBackground:\"{primary.active.color}\",borderColor:\"{primary.color}\",hoverBorderColor:\"{primary.hover.color}\",activeBorderColor:\"{primary.active.color}\",color:\"{primary.contrast.color}\",hoverColor:\"{primary.contrast.color}\",activeColor:\"{primary.contrast.color}\",focusRing:{color:\"{primary.color}\",shadow:\"none\"}},secondary:{background:\"{surface.100}\",hoverBackground:\"{surface.200}\",activeBackground:\"{surface.300}\",borderColor:\"{surface.100}\",hoverBorderColor:\"{surface.200}\",activeBorderColor:\"{surface.300}\",color:\"{surface.600}\",hoverColor:\"{surface.700}\",activeColor:\"{surface.800}\",focusRing:{color:\"{surface.600}\",shadow:\"none\"}},info:{background:\"{sky.500}\",hoverBackground:\"{sky.600}\",activeBackground:\"{sky.700}\",borderColor:\"{sky.500}\",hoverBorderColor:\"{sky.600}\",activeBorderColor:\"{sky.700}\",color:\"#ffffff\",hoverColor:\"#ffffff\",activeColor:\"#ffffff\",focusRing:{color:\"{sky.500}\",shadow:\"none\"}},success:{background:\"{green.500}\",hoverBackground:\"{green.600}\",activeBackground:\"{green.700}\",borderColor:\"{green.500}\",hoverBorderColor:\"{green.600}\",activeBorderColor:\"{green.700}\",color:\"#ffffff\",hoverColor:\"#ffffff\",activeColor:\"#ffffff\",focusRing:{color:\"{green.500}\",shadow:\"none\"}},warn:{background:\"{orange.500}\",hoverBackground:\"{orange.600}\",activeBackground:\"{orange.700}\",borderColor:\"{orange.500}\",hoverBorderColor:\"{orange.600}\",activeBorderColor:\"{orange.700}\",color:\"#ffffff\",hoverColor:\"#ffffff\",activeColor:\"#ffffff\",focusRing:{color:\"{orange.500}\",shadow:\"none\"}},help:{background:\"{purple.500}\",hoverBackground:\"{purple.600}\",activeBackground:\"{purple.700}\",borderColor:\"{purple.500}\",hoverBorderColor:\"{purple.600}\",activeBorderColor:\"{purple.700}\",color:\"#ffffff\",hoverColor:\"#ffffff\",activeColor:\"#ffffff\",focusRing:{color:\"{purple.500}\",shadow:\"none\"}},danger:{background:\"{red.500}\",hoverBackground:\"{red.600}\",activeBackground:\"{red.700}\",borderColor:\"{red.500}\",hoverBorderColor:\"{red.600}\",activeBorderColor:\"{red.700}\",color:\"#ffffff\",hoverColor:\"#ffffff\",activeColor:\"#ffffff\",focusRing:{color:\"{red.500}\",shadow:\"none\"}},contrast:{background:\"{surface.950}\",hoverBackground:\"{surface.900}\",activeBackground:\"{surface.800}\",borderColor:\"{surface.950}\",hoverBorderColor:\"{surface.900}\",activeBorderColor:\"{surface.800}\",color:\"{surface.0}\",hoverColor:\"{surface.0}\",activeColor:\"{surface.0}\",focusRing:{color:\"{surface.950}\",shadow:\"none\"}}},outlined:{primary:{hoverBackground:\"{primary.50}\",activeBackground:\"{primary.100}\",borderColor:\"{primary.200}\",color:\"{primary.color}\"},secondary:{hoverBackground:\"{surface.50}\",activeBackground:\"{surface.100}\",borderColor:\"{surface.200}\",color:\"{surface.500}\"},success:{hoverBackground:\"{green.50}\",activeBackground:\"{green.100}\",borderColor:\"{green.200}\",color:\"{green.500}\"},info:{hoverBackground:\"{sky.50}\",activeBackground:\"{sky.100}\",borderColor:\"{sky.200}\",color:\"{sky.500}\"},warn:{hoverBackground:\"{orange.50}\",activeBackground:\"{orange.100}\",borderColor:\"{orange.200}\",color:\"{orange.500}\"},help:{hoverBackground:\"{purple.50}\",activeBackground:\"{purple.100}\",borderColor:\"{purple.200}\",color:\"{purple.500}\"},danger:{hoverBackground:\"{red.50}\",activeBackground:\"{red.100}\",borderColor:\"{red.200}\",color:\"{red.500}\"},contrast:{hoverBackground:\"{surface.50}\",activeBackground:\"{surface.100}\",borderColor:\"{surface.700}\",color:\"{surface.950}\"},plain:{hoverBackground:\"{surface.50}\",activeBackground:\"{surface.100}\",borderColor:\"{surface.200}\",color:\"{surface.700}\"}},text:{primary:{hoverBackground:\"{primary.50}\",activeBackground:\"{primary.100}\",color:\"{primary.color}\"},secondary:{hoverBackground:\"{surface.50}\",activeBackground:\"{surface.100}\",color:\"{surface.500}\"},success:{hoverBackground:\"{green.50}\",activeBackground:\"{green.100}\",color:\"{green.500}\"},info:{hoverBackground:\"{sky.50}\",activeBackground:\"{sky.100}\",color:\"{sky.500}\"},warn:{hoverBackground:\"{orange.50}\",activeBackground:\"{orange.100}\",color:\"{orange.500}\"},help:{hoverBackground:\"{purple.50}\",activeBackground:\"{purple.100}\",color:\"{purple.500}\"},danger:{hoverBackground:\"{red.50}\",activeBackground:\"{red.100}\",color:\"{red.500}\"},contrast:{hoverBackground:\"{surface.50}\",activeBackground:\"{surface.100}\",color:\"{surface.950}\"},plain:{hoverBackground:\"{surface.50}\",activeBackground:\"{surface.100}\",color:\"{surface.700}\"}},link:{color:\"{primary.color}\",hoverColor:\"{primary.color}\",activeColor:\"{primary.color}\"}},dark:{root:{primary:{background:\"{primary.color}\",hoverBackground:\"{primary.hover.color}\",activeBackground:\"{primary.active.color}\",borderColor:\"{primary.color}\",hoverBorderColor:\"{primary.hover.color}\",activeBorderColor:\"{primary.active.color}\",color:\"{primary.contrast.color}\",hoverColor:\"{primary.contrast.color}\",activeColor:\"{primary.contrast.color}\",focusRing:{color:\"{primary.color}\",shadow:\"none\"}},secondary:{background:\"{surface.800}\",hoverBackground:\"{surface.700}\",activeBackground:\"{surface.600}\",borderColor:\"{surface.800}\",hoverBorderColor:\"{surface.700}\",activeBorderColor:\"{surface.600}\",color:\"{surface.300}\",hoverColor:\"{surface.200}\",activeColor:\"{surface.100}\",focusRing:{color:\"{surface.300}\",shadow:\"none\"}},info:{background:\"{sky.400}\",hoverBackground:\"{sky.300}\",activeBackground:\"{sky.200}\",borderColor:\"{sky.400}\",hoverBorderColor:\"{sky.300}\",activeBorderColor:\"{sky.200}\",color:\"{sky.950}\",hoverColor:\"{sky.950}\",activeColor:\"{sky.950}\",focusRing:{color:\"{sky.400}\",shadow:\"none\"}},success:{background:\"{green.400}\",hoverBackground:\"{green.300}\",activeBackground:\"{green.200}\",borderColor:\"{green.400}\",hoverBorderColor:\"{green.300}\",activeBorderColor:\"{green.200}\",color:\"{green.950}\",hoverColor:\"{green.950}\",activeColor:\"{green.950}\",focusRing:{color:\"{green.400}\",shadow:\"none\"}},warn:{background:\"{orange.400}\",hoverBackground:\"{orange.300}\",activeBackground:\"{orange.200}\",borderColor:\"{orange.400}\",hoverBorderColor:\"{orange.300}\",activeBorderColor:\"{orange.200}\",color:\"{orange.950}\",hoverColor:\"{orange.950}\",activeColor:\"{orange.950}\",focusRing:{color:\"{orange.400}\",shadow:\"none\"}},help:{background:\"{purple.400}\",hoverBackground:\"{purple.300}\",activeBackground:\"{purple.200}\",borderColor:\"{purple.400}\",hoverBorderColor:\"{purple.300}\",activeBorderColor:\"{purple.200}\",color:\"{purple.950}\",hoverColor:\"{purple.950}\",activeColor:\"{purple.950}\",focusRing:{color:\"{purple.400}\",shadow:\"none\"}},danger:{background:\"{red.400}\",hoverBackground:\"{red.300}\",activeBackground:\"{red.200}\",borderColor:\"{red.400}\",hoverBorderColor:\"{red.300}\",activeBorderColor:\"{red.200}\",color:\"{red.950}\",hoverColor:\"{red.950}\",activeColor:\"{red.950}\",focusRing:{color:\"{red.400}\",shadow:\"none\"}},contrast:{background:\"{surface.0}\",hoverBackground:\"{surface.100}\",activeBackground:\"{surface.200}\",borderColor:\"{surface.0}\",hoverBorderColor:\"{surface.100}\",activeBorderColor:\"{surface.200}\",color:\"{surface.950}\",hoverColor:\"{surface.950}\",activeColor:\"{surface.950}\",focusRing:{color:\"{surface.0}\",shadow:\"none\"}}},outlined:{primary:{hoverBackground:\"color-mix(in srgb, {primary.color}, transparent 96%)\",activeBackground:\"color-mix(in srgb, {primary.color}, transparent 84%)\",borderColor:\"{primary.700}\",color:\"{primary.color}\"},secondary:{hoverBackground:\"rgba(255,255,255,0.04)\",activeBackground:\"rgba(255,255,255,0.16)\",borderColor:\"{surface.700}\",color:\"{surface.400}\"},success:{hoverBackground:\"color-mix(in srgb, {green.400}, transparent 96%)\",activeBackground:\"color-mix(in srgb, {green.400}, transparent 84%)\",borderColor:\"{green.700}\",color:\"{green.400}\"},info:{hoverBackground:\"color-mix(in srgb, {sky.400}, transparent 96%)\",activeBackground:\"color-mix(in srgb, {sky.400}, transparent 84%)\",borderColor:\"{sky.700}\",color:\"{sky.400}\"},warn:{hoverBackground:\"color-mix(in srgb, {orange.400}, transparent 96%)\",activeBackground:\"color-mix(in srgb, {orange.400}, transparent 84%)\",borderColor:\"{orange.700}\",color:\"{orange.400}\"},help:{hoverBackground:\"color-mix(in srgb, {purple.400}, transparent 96%)\",activeBackground:\"color-mix(in srgb, {purple.400}, transparent 84%)\",borderColor:\"{purple.700}\",color:\"{purple.400}\"},danger:{hoverBackground:\"color-mix(in srgb, {red.400}, transparent 96%)\",activeBackground:\"color-mix(in srgb, {red.400}, transparent 84%)\",borderColor:\"{red.700}\",color:\"{red.400}\"},contrast:{hoverBackground:\"{surface.800}\",activeBackground:\"{surface.700}\",borderColor:\"{surface.500}\",color:\"{surface.0}\"},plain:{hoverBackground:\"{surface.800}\",activeBackground:\"{surface.700}\",borderColor:\"{surface.600}\",color:\"{surface.0}\"}},text:{primary:{hoverBackground:\"color-mix(in srgb, {primary.color}, transparent 96%)\",activeBackground:\"color-mix(in srgb, {primary.color}, transparent 84%)\",color:\"{primary.color}\"},secondary:{hoverBackground:\"{surface.800}\",activeBackground:\"{surface.700}\",color:\"{surface.400}\"},success:{hoverBackground:\"color-mix(in srgb, {green.400}, transparent 96%)\",activeBackground:\"color-mix(in srgb, {green.400}, transparent 84%)\",color:\"{green.400}\"},info:{hoverBackground:\"color-mix(in srgb, {sky.400}, transparent 96%)\",activeBackground:\"color-mix(in srgb, {sky.400}, transparent 84%)\",color:\"{sky.400}\"},warn:{hoverBackground:\"color-mix(in srgb, {orange.400}, transparent 96%)\",activeBackground:\"color-mix(in srgb, {orange.400}, transparent 84%)\",color:\"{orange.400}\"},help:{hoverBackground:\"color-mix(in srgb, {purple.400}, transparent 96%)\",activeBackground:\"color-mix(in srgb, {purple.400}, transparent 84%)\",color:\"{purple.400}\"},danger:{hoverBackground:\"color-mix(in srgb, {red.400}, transparent 96%)\",activeBackground:\"color-mix(in srgb, {red.400}, transparent 84%)\",color:\"{red.400}\"},contrast:{hoverBackground:\"{surface.800}\",activeBackground:\"{surface.700}\",color:\"{surface.0}\"},plain:{hoverBackground:\"{surface.800}\",activeBackground:\"{surface.700}\",color:\"{surface.0}\"}},link:{color:\"{primary.color}\",hoverColor:\"{primary.color}\",activeColor:\"{primary.color}\"}}},e={root:r,colorScheme:o};export{o as colorScheme,e as default,r as root};//# sourceMappingURL=index.mjs.map","var o={background:\"{content.background}\",borderRadius:\"{border.radius.xl}\",color:\"{content.color}\",shadow:\"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)\"},r={padding:\"1.25rem\",gap:\"0.5rem\"},t={gap:\"0.5rem\"},e={fontSize:\"1.25rem\",fontWeight:\"500\"},a={color:\"{text.muted.color}\"},d={root:o,body:r,caption:t,title:e,subtitle:a};export{r as body,t as caption,d as default,o as root,a as subtitle,e as title};//# sourceMappingURL=index.mjs.map","var r={transitionDuration:\"{transition.duration}\"},o={gap:\"0.25rem\"},a={padding:\"1rem\",gap:\"0.5rem\"},i={width:\"2rem\",height:\"0.5rem\",borderRadius:\"{content.border.radius}\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"{focus.ring.offset}\",shadow:\"{focus.ring.shadow}\"}},c={light:{indicator:{background:\"{surface.200}\",hoverBackground:\"{surface.300}\",activeBackground:\"{primary.color}\"}},dark:{indicator:{background:\"{surface.700}\",hoverBackground:\"{surface.600}\",activeBackground:\"{primary.color}\"}}},t={root:r,content:o,indicatorList:a,indicator:i,colorScheme:c};export{c as colorScheme,o as content,t as default,i as indicator,a as indicatorList,r as root};//# sourceMappingURL=index.mjs.map","var o={background:\"{form.field.background}\",disabledBackground:\"{form.field.disabled.background}\",filledBackground:\"{form.field.filled.background}\",filledHoverBackground:\"{form.field.filled.hover.background}\",filledFocusBackground:\"{form.field.filled.focus.background}\",borderColor:\"{form.field.border.color}\",hoverBorderColor:\"{form.field.hover.border.color}\",focusBorderColor:\"{form.field.focus.border.color}\",invalidBorderColor:\"{form.field.invalid.border.color}\",color:\"{form.field.color}\",disabledColor:\"{form.field.disabled.color}\",placeholderColor:\"{form.field.placeholder.color}\",invalidPlaceholderColor:\"{form.field.invalid.placeholder.color}\",shadow:\"{form.field.shadow}\",paddingX:\"{form.field.padding.x}\",paddingY:\"{form.field.padding.y}\",borderRadius:\"{form.field.border.radius}\",focusRing:{width:\"{form.field.focus.ring.width}\",style:\"{form.field.focus.ring.style}\",color:\"{form.field.focus.ring.color}\",offset:\"{form.field.focus.ring.offset}\",shadow:\"{form.field.focus.ring.shadow}\"},transitionDuration:\"{form.field.transition.duration}\",sm:{fontSize:\"{form.field.sm.font.size}\",paddingX:\"{form.field.sm.padding.x}\",paddingY:\"{form.field.sm.padding.y}\"},lg:{fontSize:\"{form.field.lg.font.size}\",paddingX:\"{form.field.lg.padding.x}\",paddingY:\"{form.field.lg.padding.y}\"}},r={width:\"2.5rem\",color:\"{form.field.icon.color}\"},d={background:\"{overlay.select.background}\",borderColor:\"{overlay.select.border.color}\",borderRadius:\"{overlay.select.border.radius}\",color:\"{overlay.select.color}\",shadow:\"{overlay.select.shadow}\"},l={padding:\"{list.padding}\",gap:\"{list.gap}\",mobileIndent:\"1rem\"},e={focusBackground:\"{list.option.focus.background}\",selectedBackground:\"{list.option.selected.background}\",selectedFocusBackground:\"{list.option.selected.focus.background}\",color:\"{list.option.color}\",focusColor:\"{list.option.focus.color}\",selectedColor:\"{list.option.selected.color}\",selectedFocusColor:\"{list.option.selected.focus.color}\",padding:\"{list.option.padding}\",borderRadius:\"{list.option.border.radius}\",icon:{color:\"{list.option.icon.color}\",focusColor:\"{list.option.icon.focus.color}\",size:\"0.875rem\"}},i={color:\"{form.field.icon.color}\"},f={root:o,dropdown:r,overlay:d,list:l,option:e,clearIcon:i};export{i as clearIcon,f as default,r as dropdown,l as list,e as option,d as overlay,o as root};//# sourceMappingURL=index.mjs.map","var r={borderRadius:\"{border.radius.sm}\",width:\"1.25rem\",height:\"1.25rem\",background:\"{form.field.background}\",checkedBackground:\"{primary.color}\",checkedHoverBackground:\"{primary.hover.color}\",disabledBackground:\"{form.field.disabled.background}\",filledBackground:\"{form.field.filled.background}\",borderColor:\"{form.field.border.color}\",hoverBorderColor:\"{form.field.hover.border.color}\",focusBorderColor:\"{form.field.border.color}\",checkedBorderColor:\"{primary.color}\",checkedHoverBorderColor:\"{primary.hover.color}\",checkedFocusBorderColor:\"{primary.color}\",checkedDisabledBorderColor:\"{form.field.border.color}\",invalidBorderColor:\"{form.field.invalid.border.color}\",shadow:\"{form.field.shadow}\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"{focus.ring.offset}\",shadow:\"{focus.ring.shadow}\"},transitionDuration:\"{form.field.transition.duration}\",sm:{width:\"1rem\",height:\"1rem\"},lg:{width:\"1.5rem\",height:\"1.5rem\"}},o={size:\"0.875rem\",color:\"{form.field.color}\",checkedColor:\"{primary.contrast.color}\",checkedHoverColor:\"{primary.contrast.color}\",disabledColor:\"{form.field.disabled.color}\",sm:{size:\"0.75rem\"},lg:{size:\"1rem\"}},e={root:r,icon:o};export{e as default,o as icon,r as root};//# sourceMappingURL=index.mjs.map","var o={borderRadius:\"16px\",paddingX:\"0.75rem\",paddingY:\"0.5rem\",gap:\"0.5rem\",transitionDuration:\"{transition.duration}\"},r={width:\"2rem\",height:\"2rem\"},e={size:\"1rem\"},c={size:\"1rem\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"{focus.ring.offset}\",shadow:\"{form.field.focus.ring.shadow}\"}},i={light:{root:{background:\"{surface.100}\",color:\"{surface.800}\"},icon:{color:\"{surface.800}\"},removeIcon:{color:\"{surface.800}\"}},dark:{root:{background:\"{surface.800}\",color:\"{surface.0}\"},icon:{color:\"{surface.0}\"},removeIcon:{color:\"{surface.0}\"}}},s={root:o,image:r,icon:e,removeIcon:c,colorScheme:i};export{i as colorScheme,s as default,e as icon,r as image,c as removeIcon,o as root};//# sourceMappingURL=index.mjs.map","var r={transitionDuration:\"{transition.duration}\"},o={width:\"1.5rem\",height:\"1.5rem\",borderRadius:\"{form.field.border.radius}\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"{focus.ring.offset}\",shadow:\"{focus.ring.shadow}\"}},e={shadow:\"{overlay.popover.shadow}\",borderRadius:\"{overlay.popover.borderRadius}\"},a={light:{panel:{background:\"{surface.800}\",borderColor:\"{surface.900}\"},handle:{color:\"{surface.0}\"}},dark:{panel:{background:\"{surface.900}\",borderColor:\"{surface.700}\"},handle:{color:\"{surface.0}\"}}},s={root:r,preview:o,panel:e,colorScheme:a};export{a as colorScheme,s as default,e as panel,o as preview,r as root};//# sourceMappingURL=index.mjs.map","var o={size:\"2rem\",color:\"{overlay.modal.color}\"},e={gap:\"1rem\"},r={icon:o,content:e};export{e as content,r as default,o as icon};//# sourceMappingURL=index.mjs.map","var o={background:\"{overlay.popover.background}\",borderColor:\"{overlay.popover.border.color}\",color:\"{overlay.popover.color}\",borderRadius:\"{overlay.popover.border.radius}\",shadow:\"{overlay.popover.shadow}\",gutter:\"10px\",arrowOffset:\"1.25rem\"},r={padding:\"{overlay.popover.padding}\",gap:\"1rem\"},e={size:\"1.5rem\",color:\"{overlay.popover.color}\"},p={gap:\"0.5rem\",padding:\"0 {overlay.popover.padding} {overlay.popover.padding} {overlay.popover.padding}\"},a={root:o,content:r,icon:e,footer:p};export{r as content,a as default,p as footer,e as icon,o as root};//# sourceMappingURL=index.mjs.map","var o={background:\"{content.background}\",borderColor:\"{content.border.color}\",color:\"{content.color}\",borderRadius:\"{content.border.radius}\",shadow:\"{overlay.navigation.shadow}\",transitionDuration:\"{transition.duration}\"},i={padding:\"{navigation.list.padding}\",gap:\"{navigation.list.gap}\"},n={focusBackground:\"{navigation.item.focus.background}\",activeBackground:\"{navigation.item.active.background}\",color:\"{navigation.item.color}\",focusColor:\"{navigation.item.focus.color}\",activeColor:\"{navigation.item.active.color}\",padding:\"{navigation.item.padding}\",borderRadius:\"{navigation.item.border.radius}\",gap:\"{navigation.item.gap}\",icon:{color:\"{navigation.item.icon.color}\",focusColor:\"{navigation.item.icon.focus.color}\",activeColor:\"{navigation.item.icon.active.color}\"}},a={mobileIndent:\"1rem\"},t={size:\"{navigation.submenu.icon.size}\",color:\"{navigation.submenu.icon.color}\",focusColor:\"{navigation.submenu.icon.focus.color}\",activeColor:\"{navigation.submenu.icon.active.color}\"},r={borderColor:\"{content.border.color}\"},c={root:o,list:i,item:n,submenu:a,submenuIcon:t,separator:r};export{c as default,n as item,i as list,o as root,r as separator,a as submenu,t as submenuIcon};//# sourceMappingURL=index.mjs.map","var t=\"\\n li.p-autocomplete-option,\\n div.p-cascadeselect-option-content,\\n li.p-listbox-option,\\n li.p-multiselect-option,\\n li.p-select-option,\\n li.p-listbox-option,\\n div.p-tree-node-content,\\n li.p-datatable-filter-constraint,\\n .p-datatable .p-datatable-tbody > tr,\\n .p-treetable .p-treetable-tbody > tr,\\n div.p-menu-item-content,\\n div.p-tieredmenu-item-content,\\n div.p-contextmenu-item-content,\\n div.p-menubar-item-content,\\n div.p-megamenu-item-content,\\n div.p-panelmenu-header-content,\\n div.p-panelmenu-item-content,\\n th.p-datatable-header-cell,\\n th.p-treetable-header-cell,\\n thead.p-datatable-thead > tr > th,\\n .p-treetable thead.p-treetable-thead>tr>th {\\n transition: none;\\n }\\n\";export{t as default};//# sourceMappingURL=index.mjs.map","var o={transitionDuration:\"{transition.duration}\"},r={background:\"{content.background}\",borderColor:\"{datatable.border.color}\",color:\"{content.color}\",borderWidth:\"0 0 1px 0\",padding:\"0.75rem 1rem\",sm:{padding:\"0.375rem 0.5rem\"},lg:{padding:\"1rem 1.25rem\"}},e={background:\"{content.background}\",hoverBackground:\"{content.hover.background}\",selectedBackground:\"{highlight.background}\",borderColor:\"{datatable.border.color}\",color:\"{content.color}\",hoverColor:\"{content.hover.color}\",selectedColor:\"{highlight.color}\",gap:\"0.5rem\",padding:\"0.75rem 1rem\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"-1px\",shadow:\"{focus.ring.shadow}\"},sm:{padding:\"0.375rem 0.5rem\"},lg:{padding:\"1rem 1.25rem\"}},d={fontWeight:\"600\"},t={background:\"{content.background}\",hoverBackground:\"{content.hover.background}\",selectedBackground:\"{highlight.background}\",color:\"{content.color}\",hoverColor:\"{content.hover.color}\",selectedColor:\"{highlight.color}\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"-1px\",shadow:\"{focus.ring.shadow}\"}},l={borderColor:\"{datatable.border.color}\",padding:\"0.75rem 1rem\",sm:{padding:\"0.375rem 0.5rem\"},lg:{padding:\"1rem 1.25rem\"}},c={background:\"{content.background}\",borderColor:\"{datatable.border.color}\",color:\"{content.color}\",padding:\"0.75rem 1rem\",sm:{padding:\"0.375rem 0.5rem\"},lg:{padding:\"1rem 1.25rem\"}},a={fontWeight:\"600\"},n={background:\"{content.background}\",borderColor:\"{datatable.border.color}\",color:\"{content.color}\",borderWidth:\"0 0 1px 0\",padding:\"0.75rem 1rem\",sm:{padding:\"0.375rem 0.5rem\"},lg:{padding:\"1rem 1.25rem\"}},i={color:\"{primary.color}\"},s={width:\"0.5rem\"},g={width:\"1px\",color:\"{primary.color}\"},u={color:\"{text.muted.color}\",hoverColor:\"{text.hover.muted.color}\",size:\"0.875rem\"},b={size:\"2rem\"},p={hoverBackground:\"{content.hover.background}\",selectedHoverBackground:\"{content.background}\",color:\"{text.muted.color}\",hoverColor:\"{text.color}\",selectedHoverColor:\"{primary.color}\",size:\"1.75rem\",borderRadius:\"50%\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"{focus.ring.offset}\",shadow:\"{focus.ring.shadow}\"}},m={inlineGap:\"0.5rem\",overlaySelect:{background:\"{overlay.select.background}\",borderColor:\"{overlay.select.border.color}\",borderRadius:\"{overlay.select.border.radius}\",color:\"{overlay.select.color}\",shadow:\"{overlay.select.shadow}\"},overlayPopover:{background:\"{overlay.popover.background}\",borderColor:\"{overlay.popover.border.color}\",borderRadius:\"{overlay.popover.border.radius}\",color:\"{overlay.popover.color}\",shadow:\"{overlay.popover.shadow}\",padding:\"{overlay.popover.padding}\",gap:\"0.5rem\"},rule:{borderColor:\"{content.border.color}\"},constraintList:{padding:\"{list.padding}\",gap:\"{list.gap}\"},constraint:{focusBackground:\"{list.option.focus.background}\",selectedBackground:\"{list.option.selected.background}\",selectedFocusBackground:\"{list.option.selected.focus.background}\",color:\"{list.option.color}\",focusColor:\"{list.option.focus.color}\",selectedColor:\"{list.option.selected.color}\",selectedFocusColor:\"{list.option.selected.focus.color}\",separator:{borderColor:\"{content.border.color}\"},padding:\"{list.option.padding}\",borderRadius:\"{list.option.border.radius}\"}},h={borderColor:\"{datatable.border.color}\",borderWidth:\"0 0 1px 0\"},k={borderColor:\"{datatable.border.color}\",borderWidth:\"0 0 1px 0\"},f={light:{root:{borderColor:\"{content.border.color}\"},row:{stripedBackground:\"{surface.50}\"},bodyCell:{selectedBorderColor:\"{primary.100}\"}},dark:{root:{borderColor:\"{surface.800}\"},row:{stripedBackground:\"{surface.950}\"},bodyCell:{selectedBorderColor:\"{primary.900}\"}}},css=\"\\n .p-datatable-mask.p-overlay-mask {\\n --px-mask-background: light-dark(rgba(255,255,255,0.5),rgba(0,0,0,0.3));\\n }\\n\",v={root:o,header:r,headerCell:e,columnTitle:d,row:t,bodyCell:l,footerCell:c,columnFooter:a,footer:n,dropPoint:i,columnResizer:s,resizeIndicator:g,sortIcon:u,loadingIcon:b,rowToggleButton:p,filter:m,paginatorTop:h,paginatorBottom:k,colorScheme:f,css:css};export{l as bodyCell,f as colorScheme,a as columnFooter,s as columnResizer,d as columnTitle,css,v as default,i as dropPoint,m as filter,n as footer,c as footerCell,r as header,e as headerCell,b as loadingIcon,k as paginatorBottom,h as paginatorTop,g as resizeIndicator,o as root,t as row,p as rowToggleButton,u as sortIcon};//# sourceMappingURL=index.mjs.map","var o={borderColor:\"transparent\",borderWidth:\"0\",borderRadius:\"0\",padding:\"0\"},r={background:\"{content.background}\",color:\"{content.color}\",borderColor:\"{content.border.color}\",borderWidth:\"0 0 1px 0\",padding:\"0.75rem 1rem\",borderRadius:\"0\"},d={background:\"{content.background}\",color:\"{content.color}\",borderColor:\"transparent\",borderWidth:\"0\",padding:\"0\",borderRadius:\"0\"},e={background:\"{content.background}\",color:\"{content.color}\",borderColor:\"{content.border.color}\",borderWidth:\"1px 0 0 0\",padding:\"0.75rem 1rem\",borderRadius:\"0\"},t={borderColor:\"{content.border.color}\",borderWidth:\"0 0 1px 0\"},n={borderColor:\"{content.border.color}\",borderWidth:\"1px 0 0 0\"},c={root:o,header:r,content:d,footer:e,paginatorTop:t,paginatorBottom:n};export{d as content,c as default,e as footer,r as header,n as paginatorBottom,t as paginatorTop,o as root};//# sourceMappingURL=index.mjs.map","var o={transitionDuration:\"{transition.duration}\"},r={background:\"{content.background}\",borderColor:\"{content.border.color}\",color:\"{content.color}\",borderRadius:\"{content.border.radius}\",shadow:\"{overlay.popover.shadow}\",padding:\"{overlay.popover.padding}\"},e={background:\"{content.background}\",borderColor:\"{content.border.color}\",color:\"{content.color}\",padding:\"0 0 0.5rem 0\"},c={gap:\"0.5rem\",fontWeight:\"500\"},d={width:\"2.5rem\",sm:{width:\"2rem\"},lg:{width:\"3rem\"},borderColor:\"{form.field.border.color}\",hoverBorderColor:\"{form.field.border.color}\",activeBorderColor:\"{form.field.border.color}\",borderRadius:\"{form.field.border.radius}\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"{focus.ring.offset}\",shadow:\"{focus.ring.shadow}\"}},n={color:\"{form.field.icon.color}\"},t={hoverBackground:\"{content.hover.background}\",color:\"{content.color}\",hoverColor:\"{content.hover.color}\",padding:\"0.25rem 0.5rem\",borderRadius:\"{content.border.radius}\"},a={hoverBackground:\"{content.hover.background}\",color:\"{content.color}\",hoverColor:\"{content.hover.color}\",padding:\"0.25rem 0.5rem\",borderRadius:\"{content.border.radius}\"},i={borderColor:\"{content.border.color}\",gap:\"{overlay.popover.padding}\"},l={margin:\"0.5rem 0 0 0\"},u={padding:\"0.25rem\",fontWeight:\"500\",color:\"{content.color}\"},s={hoverBackground:\"{content.hover.background}\",selectedBackground:\"{primary.color}\",rangeSelectedBackground:\"{highlight.background}\",color:\"{content.color}\",hoverColor:\"{content.hover.color}\",selectedColor:\"{primary.contrast.color}\",rangeSelectedColor:\"{highlight.color}\",width:\"2rem\",height:\"2rem\",borderRadius:\"50%\",padding:\"0.25rem\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"{focus.ring.offset}\",shadow:\"{focus.ring.shadow}\"}},g={margin:\"0.5rem 0 0 0\"},f={padding:\"0.375rem\",borderRadius:\"{content.border.radius}\"},h={margin:\"0.5rem 0 0 0\"},b={padding:\"0.375rem\",borderRadius:\"{content.border.radius}\"},m={padding:\"0.5rem 0 0 0\",borderColor:\"{content.border.color}\"},p={padding:\"0.5rem 0 0 0\",borderColor:\"{content.border.color}\",gap:\"0.5rem\",buttonGap:\"0.25rem\"},v={light:{dropdown:{background:\"{surface.100}\",hoverBackground:\"{surface.200}\",activeBackground:\"{surface.300}\",color:\"{surface.600}\",hoverColor:\"{surface.700}\",activeColor:\"{surface.800}\"},today:{background:\"{surface.200}\",color:\"{surface.900}\"}},dark:{dropdown:{background:\"{surface.800}\",hoverBackground:\"{surface.700}\",activeBackground:\"{surface.600}\",color:\"{surface.300}\",hoverColor:\"{surface.200}\",activeColor:\"{surface.100}\"},today:{background:\"{surface.700}\",color:\"{surface.0}\"}}},k={root:o,panel:r,header:e,title:c,dropdown:d,inputIcon:n,selectMonth:t,selectYear:a,group:i,dayView:l,weekDay:u,date:s,monthView:g,month:f,yearView:h,year:b,buttonbar:m,timePicker:p,colorScheme:v};export{m as buttonbar,v as colorScheme,s as date,l as dayView,k as default,d as dropdown,i as group,e as header,n as inputIcon,f as month,g as monthView,r as panel,o as root,t as selectMonth,a as selectYear,p as timePicker,c as title,u as weekDay,b as year,h as yearView};//# sourceMappingURL=index.mjs.map","var o={background:\"{overlay.modal.background}\",borderColor:\"{overlay.modal.border.color}\",color:\"{overlay.modal.color}\",borderRadius:\"{overlay.modal.border.radius}\",shadow:\"{overlay.modal.shadow}\"},a={padding:\"{overlay.modal.padding}\",gap:\"0.5rem\"},d={fontSize:\"1.25rem\",fontWeight:\"600\"},r={padding:\"0 {overlay.modal.padding} {overlay.modal.padding} {overlay.modal.padding}\"},l={padding:\"0 {overlay.modal.padding} {overlay.modal.padding} {overlay.modal.padding}\",gap:\"0.5rem\"},e={root:o,header:a,title:d,content:r,footer:l};export{r as content,e as default,l as footer,a as header,o as root,d as title};//# sourceMappingURL=index.mjs.map","var r={borderColor:\"{content.border.color}\"},o={background:\"{content.background}\",color:\"{text.color}\"},n={margin:\"1rem 0\",padding:\"0 1rem\",content:{padding:\"0 0.5rem\"}},e={margin:\"0 1rem\",padding:\"0.5rem 0\",content:{padding:\"0.5rem 0\"}},t={root:r,content:o,horizontal:n,vertical:e};export{o as content,t as default,n as horizontal,r as root,e as vertical};//# sourceMappingURL=index.mjs.map","var r={background:\"rgba(255, 255, 255, 0.1)\",borderColor:\"rgba(255, 255, 255, 0.2)\",padding:\"0.5rem\",borderRadius:\"{border.radius.xl}\"},o={borderRadius:\"{content.border.radius}\",padding:\"0.5rem\",size:\"3rem\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"{focus.ring.offset}\",shadow:\"{focus.ring.shadow}\"}},d={root:r,item:o};export{d as default,o as item,r as root};//# sourceMappingURL=index.mjs.map","var o={background:\"{overlay.modal.background}\",borderColor:\"{overlay.modal.border.color}\",color:\"{overlay.modal.color}\",shadow:\"{overlay.modal.shadow}\"},a={padding:\"{overlay.modal.padding}\"},d={fontSize:\"1.5rem\",fontWeight:\"600\"},r={padding:\"0 {overlay.modal.padding} {overlay.modal.padding} {overlay.modal.padding}\"},l={padding:\"{overlay.modal.padding}\"},e={root:o,header:a,title:d,content:r,footer:l};export{r as content,e as default,l as footer,a as header,o as root,d as title};//# sourceMappingURL=index.mjs.map","var o={background:\"{content.background}\",borderColor:\"{content.border.color}\",borderRadius:\"{content.border.radius}\"},r={color:\"{text.muted.color}\",hoverColor:\"{text.color}\",activeColor:\"{primary.color}\"},e={background:\"{overlay.select.background}\",borderColor:\"{overlay.select.border.color}\",borderRadius:\"{overlay.select.border.radius}\",color:\"{overlay.select.color}\",shadow:\"{overlay.select.shadow}\",padding:\"{list.padding}\"},t={focusBackground:\"{list.option.focus.background}\",color:\"{list.option.color}\",focusColor:\"{list.option.focus.color}\",padding:\"{list.option.padding}\",borderRadius:\"{list.option.border.radius}\"},d={background:\"{content.background}\",borderColor:\"{content.border.color}\",color:\"{content.color}\",borderRadius:\"{content.border.radius}\"},l={toolbar:o,toolbarItem:r,overlay:e,overlayOption:t,content:d};export{d as content,l as default,e as overlay,t as overlayOption,o as toolbar,r as toolbarItem};//# sourceMappingURL=index.mjs.map","var o={background:\"{content.background}\",borderColor:\"{content.border.color}\",borderRadius:\"{content.border.radius}\",color:\"{content.color}\",padding:\"0 1.125rem 1.125rem 1.125rem\",transitionDuration:\"{transition.duration}\"},r={background:\"{content.background}\",hoverBackground:\"{content.hover.background}\",color:\"{content.color}\",hoverColor:\"{content.hover.color}\",borderRadius:\"{content.border.radius}\",borderWidth:\"1px\",borderColor:\"transparent\",padding:\"0.5rem 0.75rem\",gap:\"0.5rem\",fontWeight:\"600\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"{focus.ring.offset}\",shadow:\"{focus.ring.shadow}\"}},t={color:\"{text.muted.color}\",hoverColor:\"{text.hover.muted.color}\"},n={padding:\"0\"},e={root:o,legend:r,toggleIcon:t,content:n};export{n as content,e as default,r as legend,o as root,t as toggleIcon};//# sourceMappingURL=index.mjs.map","var r={background:\"{content.background}\",borderColor:\"{content.border.color}\",color:\"{content.color}\",borderRadius:\"{content.border.radius}\",transitionDuration:\"{transition.duration}\"},o={background:\"transparent\",color:\"{text.color}\",padding:\"1.125rem\",borderColor:\"unset\",borderWidth:\"0\",borderRadius:\"0\",gap:\"0.5rem\"},e={highlightBorderColor:\"{primary.color}\",padding:\"0 1.125rem 1.125rem 1.125rem\",gap:\"1rem\"},t={padding:\"1rem\",gap:\"1rem\",borderColor:\"{content.border.color}\",info:{gap:\"0.5rem\"}},a={gap:\"0.5rem\"},n={height:\"0.25rem\"},d={gap:\"0.5rem\"},i={root:r,header:o,content:e,file:t,fileList:a,progressbar:n,basic:d};export{d as basic,e as content,i as default,t as file,a as fileList,o as header,n as progressbar,r as root};//# sourceMappingURL=index.mjs.map","var o={color:\"{form.field.float.label.color}\",focusColor:\"{form.field.float.label.focus.color}\",activeColor:\"{form.field.float.label.active.color}\",invalidColor:\"{form.field.float.label.invalid.color}\",transitionDuration:\"0.2s\",positionX:\"{form.field.padding.x}\",positionY:\"{form.field.padding.y}\",fontWeight:\"500\",active:{fontSize:\"0.75rem\",fontWeight:\"400\"}},i={active:{top:\"-1.25rem\"}},r={input:{paddingTop:\"1.5rem\",paddingBottom:\"{form.field.padding.y}\"},active:{top:\"{form.field.padding.y}\"}},a={borderRadius:\"{border.radius.xs}\",active:{background:\"{form.field.background}\",padding:\"0 0.125rem\"}},d={root:o,over:i,in:r,on:a};export{d as default,r as inside,a as on,i as over,o as root};//# sourceMappingURL=index.mjs.map","var o={borderWidth:\"1px\",borderColor:\"{content.border.color}\",borderRadius:\"{content.border.radius}\",transitionDuration:\"{transition.duration}\"},r={background:\"rgba(255, 255, 255, 0.1)\",hoverBackground:\"rgba(255, 255, 255, 0.2)\",color:\"{surface.100}\",hoverColor:\"{surface.0}\",size:\"3rem\",gutter:\"0.5rem\",prev:{borderRadius:\"50%\"},next:{borderRadius:\"50%\"},focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"{focus.ring.offset}\",shadow:\"{focus.ring.shadow}\"}},e={size:\"1.5rem\"},t={background:\"{content.background}\",padding:\"1rem 0.25rem\"},c={size:\"2rem\",borderRadius:\"{content.border.radius}\",gutter:\"0.5rem\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"{focus.ring.offset}\",shadow:\"{focus.ring.shadow}\"}},n={size:\"1rem\"},a={background:\"rgba(0, 0, 0, 0.5)\",color:\"{surface.100}\",padding:\"1rem\"},s={gap:\"0.5rem\",padding:\"1rem\"},u={width:\"1rem\",height:\"1rem\",activeBackground:\"{primary.color}\",borderRadius:\"50%\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"{focus.ring.offset}\",shadow:\"{focus.ring.shadow}\"}},i={background:\"rgba(0, 0, 0, 0.5)\"},d={background:\"rgba(255, 255, 255, 0.4)\",hoverBackground:\"rgba(255, 255, 255, 0.6)\",activeBackground:\"rgba(255, 255, 255, 0.9)\"},g={size:\"3rem\",gutter:\"0.5rem\",background:\"rgba(255, 255, 255, 0.1)\",hoverBackground:\"rgba(255, 255, 255, 0.2)\",color:\"{surface.50}\",hoverColor:\"{surface.0}\",borderRadius:\"50%\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"{focus.ring.offset}\",shadow:\"{focus.ring.shadow}\"}},f={size:\"1.5rem\"},h={light:{thumbnailNavButton:{hoverBackground:\"{surface.100}\",color:\"{surface.600}\",hoverColor:\"{surface.700}\"},indicatorButton:{background:\"{surface.200}\",hoverBackground:\"{surface.300}\"}},dark:{thumbnailNavButton:{hoverBackground:\"{surface.700}\",color:\"{surface.400}\",hoverColor:\"{surface.0}\"},indicatorButton:{background:\"{surface.700}\",hoverBackground:\"{surface.600}\"}}},l={root:o,navButton:r,navIcon:e,thumbnailsContent:t,thumbnailNavButton:c,thumbnailNavButtonIcon:n,caption:a,indicatorList:s,indicatorButton:u,insetIndicatorList:i,insetIndicatorButton:d,closeButton:g,closeButtonIcon:f,colorScheme:h};export{a as caption,g as closeButton,f as closeButtonIcon,h as colorScheme,l as default,u as indicatorButton,s as indicatorList,d as insetIndicatorButton,i as insetIndicatorList,r as navButton,e as navIcon,o as root,c as thumbnailNavButton,n as thumbnailNavButtonIcon,t as thumbnailsContent};//# sourceMappingURL=index.mjs.map","var o={color:\"{form.field.icon.color}\"},r={icon:o};export{r as default,o as icon};//# sourceMappingURL=index.mjs.map","var o={color:\"{form.field.float.label.color}\",focusColor:\"{form.field.float.label.focus.color}\",invalidColor:\"{form.field.float.label.invalid.color}\",transitionDuration:\"0.2s\",positionX:\"{form.field.padding.x}\",top:\"{form.field.padding.y}\",fontSize:\"0.75rem\",fontWeight:\"400\"},l={paddingTop:\"1.5rem\",paddingBottom:\"{form.field.padding.y}\"},i={root:o,input:l};export{i as default,l as input,o as root};//# sourceMappingURL=index.mjs.map","var o={transitionDuration:\"{transition.duration}\"},r={icon:{size:\"1.5rem\"},mask:{background:\"{mask.background}\",color:\"{mask.color}\"}},a={position:{left:\"auto\",right:\"1rem\",top:\"1rem\",bottom:\"auto\"},blur:\"8px\",background:\"rgba(255,255,255,0.1)\",borderColor:\"rgba(255,255,255,0.2)\",borderWidth:\"1px\",borderRadius:\"30px\",padding:\".5rem\",gap:\"0.5rem\"},i={hoverBackground:\"rgba(255,255,255,0.1)\",color:\"{surface.50}\",hoverColor:\"{surface.0}\",size:\"3rem\",iconSize:\"1.5rem\",borderRadius:\"50%\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"{focus.ring.offset}\",shadow:\"{focus.ring.shadow}\"}},e={root:o,preview:r,toolbar:a,action:i};export{i as action,e as default,r as preview,o as root,a as toolbar};//# sourceMappingURL=index.mjs.map","var o={size:\"15px\",hoverSize:\"30px\",background:\"rgba(255,255,255,0.3)\",hoverBackground:\"rgba(255,255,255,0.3)\",borderColor:\"unset\",hoverBorderColor:\"unset\",borderWidth:\"0\",borderRadius:\"50%\",transitionDuration:\"{transition.duration}\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"rgba(255,255,255,0.3)\",offset:\"{focus.ring.offset}\",shadow:\"{focus.ring.shadow}\"}},r={handle:o};export{r as default,o as handle};//# sourceMappingURL=index.mjs.map","var r={padding:\"{form.field.padding.y} {form.field.padding.x}\",borderRadius:\"{content.border.radius}\",gap:\"0.5rem\"},o={fontWeight:\"500\"},e={size:\"1rem\"},n={light:{info:{background:\"color-mix(in srgb, {blue.50}, transparent 5%)\",borderColor:\"{blue.200}\",color:\"{blue.600}\",shadow:\"0px 4px 8px 0px color-mix(in srgb, {blue.500}, transparent 96%)\"},success:{background:\"color-mix(in srgb, {green.50}, transparent 5%)\",borderColor:\"{green.200}\",color:\"{green.600}\",shadow:\"0px 4px 8px 0px color-mix(in srgb, {green.500}, transparent 96%)\"},warn:{background:\"color-mix(in srgb,{yellow.50}, transparent 5%)\",borderColor:\"{yellow.200}\",color:\"{yellow.600}\",shadow:\"0px 4px 8px 0px color-mix(in srgb, {yellow.500}, transparent 96%)\"},error:{background:\"color-mix(in srgb, {red.50}, transparent 5%)\",borderColor:\"{red.200}\",color:\"{red.600}\",shadow:\"0px 4px 8px 0px color-mix(in srgb, {red.500}, transparent 96%)\"},secondary:{background:\"{surface.100}\",borderColor:\"{surface.200}\",color:\"{surface.600}\",shadow:\"0px 4px 8px 0px color-mix(in srgb, {surface.500}, transparent 96%)\"},contrast:{background:\"{surface.900}\",borderColor:\"{surface.950}\",color:\"{surface.50}\",shadow:\"0px 4px 8px 0px color-mix(in srgb, {surface.950}, transparent 96%)\"}},dark:{info:{background:\"color-mix(in srgb, {blue.500}, transparent 84%)\",borderColor:\"color-mix(in srgb, {blue.700}, transparent 64%)\",color:\"{blue.500}\",shadow:\"0px 4px 8px 0px color-mix(in srgb, {blue.500}, transparent 96%)\"},success:{background:\"color-mix(in srgb, {green.500}, transparent 84%)\",borderColor:\"color-mix(in srgb, {green.700}, transparent 64%)\",color:\"{green.500}\",shadow:\"0px 4px 8px 0px color-mix(in srgb, {green.500}, transparent 96%)\"},warn:{background:\"color-mix(in srgb, {yellow.500}, transparent 84%)\",borderColor:\"color-mix(in srgb, {yellow.700}, transparent 64%)\",color:\"{yellow.500}\",shadow:\"0px 4px 8px 0px color-mix(in srgb, {yellow.500}, transparent 96%)\"},error:{background:\"color-mix(in srgb, {red.500}, transparent 84%)\",borderColor:\"color-mix(in srgb, {red.700}, transparent 64%)\",color:\"{red.500}\",shadow:\"0px 4px 8px 0px color-mix(in srgb, {red.500}, transparent 96%)\"},secondary:{background:\"{surface.800}\",borderColor:\"{surface.700}\",color:\"{surface.300}\",shadow:\"0px 4px 8px 0px color-mix(in srgb, {surface.500}, transparent 96%)\"},contrast:{background:\"{surface.0}\",borderColor:\"{surface.100}\",color:\"{surface.950}\",shadow:\"0px 4px 8px 0px color-mix(in srgb, {surface.950}, transparent 96%)\"}}},a={root:r,text:o,icon:e,colorScheme:n};export{n as colorScheme,a as default,e as icon,r as root,o as text};//# sourceMappingURL=index.mjs.map","var o={padding:\"{form.field.padding.y} {form.field.padding.x}\",borderRadius:\"{content.border.radius}\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"{focus.ring.offset}\",shadow:\"{focus.ring.shadow}\"},transitionDuration:\"{transition.duration}\"},r={hoverBackground:\"{content.hover.background}\",hoverColor:\"{content.hover.color}\"},n={root:o,display:r};export{n as default,r as display,o as root};//# sourceMappingURL=index.mjs.map","var o={background:\"{form.field.background}\",disabledBackground:\"{form.field.disabled.background}\",filledBackground:\"{form.field.filled.background}\",filledFocusBackground:\"{form.field.filled.focus.background}\",borderColor:\"{form.field.border.color}\",hoverBorderColor:\"{form.field.hover.border.color}\",focusBorderColor:\"{form.field.focus.border.color}\",invalidBorderColor:\"{form.field.invalid.border.color}\",color:\"{form.field.color}\",disabledColor:\"{form.field.disabled.color}\",placeholderColor:\"{form.field.placeholder.color}\",shadow:\"{form.field.shadow}\",paddingX:\"{form.field.padding.x}\",paddingY:\"{form.field.padding.y}\",borderRadius:\"{form.field.border.radius}\",focusRing:{width:\"{form.field.focus.ring.width}\",style:\"{form.field.focus.ring.style}\",color:\"{form.field.focus.ring.color}\",offset:\"{form.field.focus.ring.offset}\",shadow:\"{form.field.focus.ring.shadow}\"},transitionDuration:\"{form.field.transition.duration}\"},r={borderRadius:\"{border.radius.sm}\"},d={light:{chip:{focusBackground:\"{surface.200}\",color:\"{surface.800}\"}},dark:{chip:{focusBackground:\"{surface.700}\",color:\"{surface.0}\"}}},f={root:o,chip:r,colorScheme:d};export{r as chip,d as colorScheme,f as default,o as root};//# sourceMappingURL=index.mjs.map","var r={background:\"{form.field.background}\",borderColor:\"{form.field.border.color}\",color:\"{form.field.icon.color}\",borderRadius:\"{form.field.border.radius}\",padding:\"0.5rem\",minWidth:\"2.5rem\"},o={addon:r};export{r as addon,o as default};//# sourceMappingURL=index.mjs.map","var r={transitionDuration:\"{transition.duration}\"},o={width:\"2.5rem\",borderRadius:\"{form.field.border.radius}\",verticalPadding:\"{form.field.padding.y}\"},e={light:{button:{background:\"transparent\",hoverBackground:\"{surface.100}\",activeBackground:\"{surface.200}\",borderColor:\"{form.field.border.color}\",hoverBorderColor:\"{form.field.border.color}\",activeBorderColor:\"{form.field.border.color}\",color:\"{surface.400}\",hoverColor:\"{surface.500}\",activeColor:\"{surface.600}\"}},dark:{button:{background:\"transparent\",hoverBackground:\"{surface.800}\",activeBackground:\"{surface.700}\",borderColor:\"{form.field.border.color}\",hoverBorderColor:\"{form.field.border.color}\",activeBorderColor:\"{form.field.border.color}\",color:\"{surface.400}\",hoverColor:\"{surface.300}\",activeColor:\"{surface.200}\"}}},a={root:r,button:o,colorScheme:e};export{o as button,e as colorScheme,a as default,r as root};//# sourceMappingURL=index.mjs.map","var r={gap:\"0.5rem\"},t={width:\"2.5rem\",sm:{width:\"2rem\"},lg:{width:\"3rem\"}},e={root:r,input:t};export{e as default,t as input,r as root};//# sourceMappingURL=index.mjs.map","var o={background:\"{form.field.background}\",disabledBackground:\"{form.field.disabled.background}\",filledBackground:\"{form.field.filled.background}\",filledHoverBackground:\"{form.field.filled.hover.background}\",filledFocusBackground:\"{form.field.filled.focus.background}\",borderColor:\"{form.field.border.color}\",hoverBorderColor:\"{form.field.hover.border.color}\",focusBorderColor:\"{form.field.focus.border.color}\",invalidBorderColor:\"{form.field.invalid.border.color}\",color:\"{form.field.color}\",disabledColor:\"{form.field.disabled.color}\",placeholderColor:\"{form.field.placeholder.color}\",invalidPlaceholderColor:\"{form.field.invalid.placeholder.color}\",shadow:\"{form.field.shadow}\",paddingX:\"{form.field.padding.x}\",paddingY:\"{form.field.padding.y}\",borderRadius:\"{form.field.border.radius}\",focusRing:{width:\"{form.field.focus.ring.width}\",style:\"{form.field.focus.ring.style}\",color:\"{form.field.focus.ring.color}\",offset:\"{form.field.focus.ring.offset}\",shadow:\"{form.field.focus.ring.shadow}\"},transitionDuration:\"{form.field.transition.duration}\",sm:{fontSize:\"{form.field.sm.font.size}\",paddingX:\"{form.field.sm.padding.x}\",paddingY:\"{form.field.sm.padding.y}\"},lg:{fontSize:\"{form.field.lg.font.size}\",paddingX:\"{form.field.lg.padding.x}\",paddingY:\"{form.field.lg.padding.y}\"}},d={root:o};export{d as default,o as root};//# sourceMappingURL=index.mjs.map","var o={transitionDuration:\"{transition.duration}\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"{focus.ring.offset}\",shadow:\"{focus.ring.shadow}\"}},r={background:\"{primary.color}\"},t={background:\"{content.border.color}\"},n={color:\"{text.muted.color}\"},c={root:o,value:r,range:t,text:n};export{c as default,t as range,o as root,n as text,r as value};//# sourceMappingURL=index.mjs.map","var o={background:\"{form.field.background}\",disabledBackground:\"{form.field.disabled.background}\",borderColor:\"{form.field.border.color}\",invalidBorderColor:\"{form.field.invalid.border.color}\",color:\"{form.field.color}\",disabledColor:\"{form.field.disabled.color}\",shadow:\"{form.field.shadow}\",borderRadius:\"{form.field.border.radius}\",transitionDuration:\"{form.field.transition.duration}\"},r={padding:\"{list.padding}\",gap:\"{list.gap}\",header:{padding:\"{list.header.padding}\"}},d={focusBackground:\"{list.option.focus.background}\",selectedBackground:\"{list.option.selected.background}\",selectedFocusBackground:\"{list.option.selected.focus.background}\",color:\"{list.option.color}\",focusColor:\"{list.option.focus.color}\",selectedColor:\"{list.option.selected.color}\",selectedFocusColor:\"{list.option.selected.focus.color}\",padding:\"{list.option.padding}\",borderRadius:\"{list.option.border.radius}\"},i={background:\"{list.option.group.background}\",color:\"{list.option.group.color}\",fontWeight:\"{list.option.group.font.weight}\",padding:\"{list.option.group.padding}\"},t={color:\"{list.option.color}\",gutterStart:\"-0.375rem\",gutterEnd:\"0.375rem\"},e={padding:\"{list.option.padding}\"},l={light:{option:{stripedBackground:\"{surface.50}\"}},dark:{option:{stripedBackground:\"{surface.900}\"}}},n={root:o,list:r,option:d,optionGroup:i,checkmark:t,emptyMessage:e,colorScheme:l};export{t as checkmark,l as colorScheme,n as default,e as emptyMessage,r as list,d as option,i as optionGroup,o as root};//# sourceMappingURL=index.mjs.map","var o={background:\"{content.background}\",borderColor:\"{content.border.color}\",borderRadius:\"{content.border.radius}\",color:\"{content.color}\",gap:\"0.5rem\",verticalOrientation:{padding:\"{navigation.list.padding}\",gap:\"{navigation.list.gap}\"},horizontalOrientation:{padding:\"0.5rem 0.75rem\",gap:\"0.5rem\"},transitionDuration:\"{transition.duration}\"},n={borderRadius:\"{content.border.radius}\",padding:\"{navigation.item.padding}\"},i={focusBackground:\"{navigation.item.focus.background}\",activeBackground:\"{navigation.item.active.background}\",color:\"{navigation.item.color}\",focusColor:\"{navigation.item.focus.color}\",activeColor:\"{navigation.item.active.color}\",padding:\"{navigation.item.padding}\",borderRadius:\"{navigation.item.border.radius}\",gap:\"{navigation.item.gap}\",icon:{color:\"{navigation.item.icon.color}\",focusColor:\"{navigation.item.icon.focus.color}\",activeColor:\"{navigation.item.icon.active.color}\"}},a={padding:\"0\",background:\"{content.background}\",borderColor:\"{content.border.color}\",borderRadius:\"{content.border.radius}\",color:\"{content.color}\",shadow:\"{overlay.navigation.shadow}\",gap:\"0.5rem\"},r={padding:\"{navigation.list.padding}\",gap:\"{navigation.list.gap}\"},t={padding:\"{navigation.submenu.label.padding}\",fontWeight:\"{navigation.submenu.label.font.weight}\",background:\"{navigation.submenu.label.background}\",color:\"{navigation.submenu.label.color}\"},e={size:\"{navigation.submenu.icon.size}\",color:\"{navigation.submenu.icon.color}\",focusColor:\"{navigation.submenu.icon.focus.color}\",activeColor:\"{navigation.submenu.icon.active.color}\"},c={borderColor:\"{content.border.color}\"},d={borderRadius:\"50%\",size:\"1.75rem\",color:\"{text.muted.color}\",hoverColor:\"{text.hover.muted.color}\",hoverBackground:\"{content.hover.background}\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"{focus.ring.offset}\",shadow:\"{focus.ring.shadow}\"}},g={root:o,baseItem:n,item:i,overlay:a,submenu:r,submenuLabel:t,submenuIcon:e,separator:c,mobileButton:d};export{n as baseItem,g as default,i as item,d as mobileButton,a as overlay,o as root,c as separator,r as submenu,e as submenuIcon,t as submenuLabel};//# sourceMappingURL=index.mjs.map","var o={background:\"{content.background}\",borderColor:\"{content.border.color}\",color:\"{content.color}\",borderRadius:\"{content.border.radius}\",shadow:\"{overlay.navigation.shadow}\",transitionDuration:\"{transition.duration}\"},n={padding:\"{navigation.list.padding}\",gap:\"{navigation.list.gap}\"},a={focusBackground:\"{navigation.item.focus.background}\",color:\"{navigation.item.color}\",focusColor:\"{navigation.item.focus.color}\",padding:\"{navigation.item.padding}\",borderRadius:\"{navigation.item.border.radius}\",gap:\"{navigation.item.gap}\",icon:{color:\"{navigation.item.icon.color}\",focusColor:\"{navigation.item.icon.focus.color}\"}},i={padding:\"{navigation.submenu.label.padding}\",fontWeight:\"{navigation.submenu.label.font.weight}\",background:\"{navigation.submenu.label.background}\",color:\"{navigation.submenu.label.color}\"},t={borderColor:\"{content.border.color}\"},r={root:o,list:n,item:a,submenuLabel:i,separator:t};export{r as default,a as item,n as list,o as root,t as separator,i as submenuLabel};//# sourceMappingURL=index.mjs.map","var o={background:\"{content.background}\",borderColor:\"{content.border.color}\",borderRadius:\"{content.border.radius}\",color:\"{content.color}\",gap:\"0.5rem\",padding:\"0.5rem 0.75rem\",transitionDuration:\"{transition.duration}\"},i={borderRadius:\"{content.border.radius}\",padding:\"{navigation.item.padding}\"},n={focusBackground:\"{navigation.item.focus.background}\",activeBackground:\"{navigation.item.active.background}\",color:\"{navigation.item.color}\",focusColor:\"{navigation.item.focus.color}\",activeColor:\"{navigation.item.active.color}\",padding:\"{navigation.item.padding}\",borderRadius:\"{navigation.item.border.radius}\",gap:\"{navigation.item.gap}\",icon:{color:\"{navigation.item.icon.color}\",focusColor:\"{navigation.item.icon.focus.color}\",activeColor:\"{navigation.item.icon.active.color}\"}},r={padding:\"{navigation.list.padding}\",gap:\"{navigation.list.gap}\",background:\"{content.background}\",borderColor:\"{content.border.color}\",borderRadius:\"{content.border.radius}\",shadow:\"{overlay.navigation.shadow}\",mobileIndent:\"1rem\",icon:{size:\"{navigation.submenu.icon.size}\",color:\"{navigation.submenu.icon.color}\",focusColor:\"{navigation.submenu.icon.focus.color}\",activeColor:\"{navigation.submenu.icon.active.color}\"}},a={borderColor:\"{content.border.color}\"},t={borderRadius:\"50%\",size:\"1.75rem\",color:\"{text.muted.color}\",hoverColor:\"{text.hover.muted.color}\",hoverBackground:\"{content.hover.background}\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"{focus.ring.offset}\",shadow:\"{focus.ring.shadow}\"}},e={root:o,baseItem:i,item:n,submenu:r,separator:a,mobileButton:t};export{i as baseItem,e as default,n as item,t as mobileButton,o as root,a as separator,r as submenu};//# sourceMappingURL=index.mjs.map","var o={borderRadius:\"{content.border.radius}\",borderWidth:\"1px\",transitionDuration:\"{transition.duration}\"},r={padding:\"0.5rem 0.75rem\",gap:\"0.5rem\",sm:{padding:\"0.375rem 0.625rem\"},lg:{padding:\"0.625rem 0.875rem\"}},e={fontSize:\"1rem\",fontWeight:\"500\",sm:{fontSize:\"0.875rem\"},lg:{fontSize:\"1.125rem\"}},n={size:\"1.125rem\",sm:{size:\"1rem\"},lg:{size:\"1.25rem\"}},l={width:\"1.75rem\",height:\"1.75rem\",borderRadius:\"50%\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",offset:\"{focus.ring.offset}\"}},s={size:\"1rem\",sm:{size:\"0.875rem\"},lg:{size:\"1.125rem\"}},c={root:{borderWidth:\"1px\"}},a={content:{padding:\"0\"}},d={light:{info:{background:\"color-mix(in srgb, {blue.50}, transparent 5%)\",borderColor:\"{blue.200}\",color:\"{blue.600}\",shadow:\"0px 4px 8px 0px color-mix(in srgb, {blue.500}, transparent 96%)\",closeButton:{hoverBackground:\"{blue.100}\",focusRing:{color:\"{blue.600}\",shadow:\"none\"}},outlined:{color:\"{blue.600}\",borderColor:\"{blue.600}\"},simple:{color:\"{blue.600}\"}},success:{background:\"color-mix(in srgb, {green.50}, transparent 5%)\",borderColor:\"{green.200}\",color:\"{green.600}\",shadow:\"0px 4px 8px 0px color-mix(in srgb, {green.500}, transparent 96%)\",closeButton:{hoverBackground:\"{green.100}\",focusRing:{color:\"{green.600}\",shadow:\"none\"}},outlined:{color:\"{green.600}\",borderColor:\"{green.600}\"},simple:{color:\"{green.600}\"}},warn:{background:\"color-mix(in srgb,{yellow.50}, transparent 5%)\",borderColor:\"{yellow.200}\",color:\"{yellow.600}\",shadow:\"0px 4px 8px 0px color-mix(in srgb, {yellow.500}, transparent 96%)\",closeButton:{hoverBackground:\"{yellow.100}\",focusRing:{color:\"{yellow.600}\",shadow:\"none\"}},outlined:{color:\"{yellow.600}\",borderColor:\"{yellow.600}\"},simple:{color:\"{yellow.600}\"}},error:{background:\"color-mix(in srgb, {red.50}, transparent 5%)\",borderColor:\"{red.200}\",color:\"{red.600}\",shadow:\"0px 4px 8px 0px color-mix(in srgb, {red.500}, transparent 96%)\",closeButton:{hoverBackground:\"{red.100}\",focusRing:{color:\"{red.600}\",shadow:\"none\"}},outlined:{color:\"{red.600}\",borderColor:\"{red.600}\"},simple:{color:\"{red.600}\"}},secondary:{background:\"{surface.100}\",borderColor:\"{surface.200}\",color:\"{surface.600}\",shadow:\"0px 4px 8px 0px color-mix(in srgb, {surface.500}, transparent 96%)\",closeButton:{hoverBackground:\"{surface.200}\",focusRing:{color:\"{surface.600}\",shadow:\"none\"}},outlined:{color:\"{surface.500}\",borderColor:\"{surface.500}\"},simple:{color:\"{surface.500}\"}},contrast:{background:\"{surface.900}\",borderColor:\"{surface.950}\",color:\"{surface.50}\",shadow:\"0px 4px 8px 0px color-mix(in srgb, {surface.950}, transparent 96%)\",closeButton:{hoverBackground:\"{surface.800}\",focusRing:{color:\"{surface.50}\",shadow:\"none\"}},outlined:{color:\"{surface.950}\",borderColor:\"{surface.950}\"},simple:{color:\"{surface.950}\"}}},dark:{info:{background:\"color-mix(in srgb, {blue.500}, transparent 84%)\",borderColor:\"color-mix(in srgb, {blue.700}, transparent 64%)\",color:\"{blue.500}\",shadow:\"0px 4px 8px 0px color-mix(in srgb, {blue.500}, transparent 96%)\",closeButton:{hoverBackground:\"rgba(255, 255, 255, 0.05)\",focusRing:{color:\"{blue.500}\",shadow:\"none\"}},outlined:{color:\"{blue.500}\",borderColor:\"{blue.500}\"},simple:{color:\"{blue.500}\"}},success:{background:\"color-mix(in srgb, {green.500}, transparent 84%)\",borderColor:\"color-mix(in srgb, {green.700}, transparent 64%)\",color:\"{green.500}\",shadow:\"0px 4px 8px 0px color-mix(in srgb, {green.500}, transparent 96%)\",closeButton:{hoverBackground:\"rgba(255, 255, 255, 0.05)\",focusRing:{color:\"{green.500}\",shadow:\"none\"}},outlined:{color:\"{green.500}\",borderColor:\"{green.500}\"},simple:{color:\"{green.500}\"}},warn:{background:\"color-mix(in srgb, {yellow.500}, transparent 84%)\",borderColor:\"color-mix(in srgb, {yellow.700}, transparent 64%)\",color:\"{yellow.500}\",shadow:\"0px 4px 8px 0px color-mix(in srgb, {yellow.500}, transparent 96%)\",closeButton:{hoverBackground:\"rgba(255, 255, 255, 0.05)\",focusRing:{color:\"{yellow.500}\",shadow:\"none\"}},outlined:{color:\"{yellow.500}\",borderColor:\"{yellow.500}\"},simple:{color:\"{yellow.500}\"}},error:{background:\"color-mix(in srgb, {red.500}, transparent 84%)\",borderColor:\"color-mix(in srgb, {red.700}, transparent 64%)\",color:\"{red.500}\",shadow:\"0px 4px 8px 0px color-mix(in srgb, {red.500}, transparent 96%)\",closeButton:{hoverBackground:\"rgba(255, 255, 255, 0.05)\",focusRing:{color:\"{red.500}\",shadow:\"none\"}},outlined:{color:\"{red.500}\",borderColor:\"{red.500}\"},simple:{color:\"{red.500}\"}},secondary:{background:\"{surface.800}\",borderColor:\"{surface.700}\",color:\"{surface.300}\",shadow:\"0px 4px 8px 0px color-mix(in srgb, {surface.500}, transparent 96%)\",closeButton:{hoverBackground:\"{surface.700}\",focusRing:{color:\"{surface.300}\",shadow:\"none\"}},outlined:{color:\"{surface.400}\",borderColor:\"{surface.400}\"},simple:{color:\"{surface.400}\"}},contrast:{background:\"{surface.0}\",borderColor:\"{surface.100}\",color:\"{surface.950}\",shadow:\"0px 4px 8px 0px color-mix(in srgb, {surface.950}, transparent 96%)\",closeButton:{hoverBackground:\"{surface.100}\",focusRing:{color:\"{surface.950}\",shadow:\"none\"}},outlined:{color:\"{surface.0}\",borderColor:\"{surface.0}\"},simple:{color:\"{surface.0}\"}}}},u={root:o,content:r,text:e,icon:n,closeButton:l,closeIcon:s,outlined:c,simple:a,colorScheme:d};export{l as closeButton,s as closeIcon,d as colorScheme,r as content,u as default,n as icon,c as outlined,o as root,a as simple,e as text};//# sourceMappingURL=index.mjs.map","var e={borderRadius:\"{content.border.radius}\",gap:\"1rem\"},r={background:\"{content.border.color}\",size:\"0.5rem\"},a={gap:\"0.5rem\"},o={size:\"0.5rem\"},l={size:\"1rem\"},t={verticalGap:\"0.5rem\",horizontalGap:\"1rem\"},b={root:e,meters:r,label:a,labelMarker:o,labelIcon:l,labelList:t};export{b as default,a as label,l as labelIcon,t as labelList,o as labelMarker,r as meters,e as root};//# sourceMappingURL=index.mjs.map","var o={background:\"{form.field.background}\",disabledBackground:\"{form.field.disabled.background}\",filledBackground:\"{form.field.filled.background}\",filledHoverBackground:\"{form.field.filled.hover.background}\",filledFocusBackground:\"{form.field.filled.focus.background}\",borderColor:\"{form.field.border.color}\",hoverBorderColor:\"{form.field.hover.border.color}\",focusBorderColor:\"{form.field.focus.border.color}\",invalidBorderColor:\"{form.field.invalid.border.color}\",color:\"{form.field.color}\",disabledColor:\"{form.field.disabled.color}\",placeholderColor:\"{form.field.placeholder.color}\",invalidPlaceholderColor:\"{form.field.invalid.placeholder.color}\",shadow:\"{form.field.shadow}\",paddingX:\"{form.field.padding.x}\",paddingY:\"{form.field.padding.y}\",borderRadius:\"{form.field.border.radius}\",focusRing:{width:\"{form.field.focus.ring.width}\",style:\"{form.field.focus.ring.style}\",color:\"{form.field.focus.ring.color}\",offset:\"{form.field.focus.ring.offset}\",shadow:\"{form.field.focus.ring.shadow}\"},transitionDuration:\"{form.field.transition.duration}\",sm:{fontSize:\"{form.field.sm.font.size}\",paddingX:\"{form.field.sm.padding.x}\",paddingY:\"{form.field.sm.padding.y}\"},lg:{fontSize:\"{form.field.lg.font.size}\",paddingX:\"{form.field.lg.padding.x}\",paddingY:\"{form.field.lg.padding.y}\"}},d={width:\"2.5rem\",color:\"{form.field.icon.color}\"},r={background:\"{overlay.select.background}\",borderColor:\"{overlay.select.border.color}\",borderRadius:\"{overlay.select.border.radius}\",color:\"{overlay.select.color}\",shadow:\"{overlay.select.shadow}\"},l={padding:\"{list.padding}\",gap:\"{list.gap}\",header:{padding:\"{list.header.padding}\"}},i={focusBackground:\"{list.option.focus.background}\",selectedBackground:\"{list.option.selected.background}\",selectedFocusBackground:\"{list.option.selected.focus.background}\",color:\"{list.option.color}\",focusColor:\"{list.option.focus.color}\",selectedColor:\"{list.option.selected.color}\",selectedFocusColor:\"{list.option.selected.focus.color}\",padding:\"{list.option.padding}\",borderRadius:\"{list.option.border.radius}\",gap:\"0.5rem\"},e={background:\"{list.option.group.background}\",color:\"{list.option.group.color}\",fontWeight:\"{list.option.group.font.weight}\",padding:\"{list.option.group.padding}\"},f={color:\"{form.field.icon.color}\"},a={borderRadius:\"{border.radius.sm}\"},c={padding:\"{list.option.padding}\"},n={root:o,dropdown:d,overlay:r,list:l,option:i,optionGroup:e,chip:a,clearIcon:f,emptyMessage:c};export{a as chip,f as clearIcon,n as default,d as dropdown,c as emptyMessage,l as list,i as option,e as optionGroup,r as overlay,o as root};//# sourceMappingURL=index.mjs.map","var r={gap:\"1.125rem\"},a={gap:\"0.5rem\"},o={root:r,controls:a};export{a as controls,o as default,r as root};//# sourceMappingURL=index.mjs.map","var o={gutter:\"0.75rem\",transitionDuration:\"{transition.duration}\"},r={background:\"{content.background}\",hoverBackground:\"{content.hover.background}\",selectedBackground:\"{highlight.background}\",borderColor:\"{content.border.color}\",color:\"{content.color}\",selectedColor:\"{highlight.color}\",hoverColor:\"{content.hover.color}\",padding:\"0.75rem 1rem\",toggleablePadding:\"0.75rem 1rem 1.25rem 1rem\",borderRadius:\"{content.border.radius}\"},e={background:\"{content.background}\",hoverBackground:\"{content.hover.background}\",borderColor:\"{content.border.color}\",color:\"{text.muted.color}\",hoverColor:\"{text.color}\",size:\"1.5rem\",borderRadius:\"50%\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"{focus.ring.offset}\",shadow:\"{focus.ring.shadow}\"}},t={color:\"{content.border.color}\",borderRadius:\"{content.border.radius}\",height:\"24px\"},n={root:o,node:r,nodeToggleButton:e,connector:t};export{t as connector,n as default,r as node,e as nodeToggleButton,o as root};//# sourceMappingURL=index.mjs.map","var o={outline:{width:\"2px\",color:\"{content.background}\"}},t={root:o};export{t as default,o as root};//# sourceMappingURL=index.mjs.map","var o={padding:\"0.5rem 1rem\",gap:\"0.25rem\",borderRadius:\"{content.border.radius}\",background:\"{content.background}\",color:\"{content.color}\",transitionDuration:\"{transition.duration}\"},r={background:\"transparent\",hoverBackground:\"{content.hover.background}\",selectedBackground:\"{highlight.background}\",color:\"{text.muted.color}\",hoverColor:\"{text.hover.muted.color}\",selectedColor:\"{highlight.color}\",width:\"2.5rem\",height:\"2.5rem\",borderRadius:\"50%\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"{focus.ring.offset}\",shadow:\"{focus.ring.shadow}\"}},t={color:\"{text.muted.color}\"},e={maxWidth:\"2.5rem\"},n={root:o,navButton:r,currentPageReport:t,jumpToPageInput:e};export{t as currentPageReport,n as default,e as jumpToPageInput,r as navButton,o as root};//# sourceMappingURL=index.mjs.map","var r={background:\"{content.background}\",borderColor:\"{content.border.color}\",color:\"{content.color}\",borderRadius:\"{content.border.radius}\"},o={background:\"transparent\",color:\"{text.color}\",padding:\"1.125rem\",borderColor:\"{content.border.color}\",borderWidth:\"0\",borderRadius:\"0\"},e={padding:\"0.375rem 1.125rem\"},d={fontWeight:\"600\"},t={padding:\"0 1.125rem 1.125rem 1.125rem\"},n={padding:\"0 1.125rem 1.125rem 1.125rem\"},a={root:r,header:o,toggleableHeader:e,title:d,content:t,footer:n};export{t as content,a as default,n as footer,o as header,r as root,d as title,e as toggleableHeader};//# sourceMappingURL=index.mjs.map","var o={gap:\"0.5rem\",transitionDuration:\"{transition.duration}\"},r={background:\"{content.background}\",borderColor:\"{content.border.color}\",borderWidth:\"1px\",color:\"{content.color}\",padding:\"0.25rem 0.25rem\",borderRadius:\"{content.border.radius}\",first:{borderWidth:\"1px\",topBorderRadius:\"{content.border.radius}\"},last:{borderWidth:\"1px\",bottomBorderRadius:\"{content.border.radius}\"}},n={focusBackground:\"{navigation.item.focus.background}\",color:\"{navigation.item.color}\",focusColor:\"{navigation.item.focus.color}\",gap:\"0.5rem\",padding:\"{navigation.item.padding}\",borderRadius:\"{content.border.radius}\",icon:{color:\"{navigation.item.icon.color}\",focusColor:\"{navigation.item.icon.focus.color}\"}},i={indent:\"1rem\"},t={color:\"{navigation.submenu.icon.color}\",focusColor:\"{navigation.submenu.icon.focus.color}\"},a={root:o,panel:r,item:n,submenu:i,submenuIcon:t};export{a as default,n as item,r as panel,o as root,i as submenu,t as submenuIcon};//# sourceMappingURL=index.mjs.map","var r={background:\"{content.border.color}\",borderRadius:\"{content.border.radius}\",height:\".75rem\"},o={color:\"{form.field.icon.color}\"},e={background:\"{overlay.popover.background}\",borderColor:\"{overlay.popover.border.color}\",borderRadius:\"{overlay.popover.border.radius}\",color:\"{overlay.popover.color}\",padding:\"{overlay.popover.padding}\",shadow:\"{overlay.popover.shadow}\"},a={gap:\"0.5rem\"},d={light:{strength:{weakBackground:\"{red.500}\",mediumBackground:\"{amber.500}\",strongBackground:\"{green.500}\"}},dark:{strength:{weakBackground:\"{red.400}\",mediumBackground:\"{amber.400}\",strongBackground:\"{green.400}\"}}},n={meter:r,icon:o,overlay:e,content:a,colorScheme:d};export{d as colorScheme,a as content,n as default,o as icon,r as meter,e as overlay};//# sourceMappingURL=index.mjs.map","var r={gap:\"1.125rem\"},a={gap:\"0.5rem\"},o={root:r,controls:a};export{a as controls,o as default,r as root};//# sourceMappingURL=index.mjs.map","var o={background:\"{overlay.popover.background}\",borderColor:\"{overlay.popover.border.color}\",color:\"{overlay.popover.color}\",borderRadius:\"{overlay.popover.border.radius}\",shadow:\"{overlay.popover.shadow}\",gutter:\"10px\",arrowOffset:\"1.25rem\"},r={padding:\"{overlay.popover.padding}\"},e={root:o,content:r};export{r as content,e as default,o as root};//# sourceMappingURL=index.mjs.map","var r={background:\"{content.border.color}\",borderRadius:\"{content.border.radius}\",height:\"1.25rem\"},o={background:\"{primary.color}\"},e={color:\"{primary.contrast.color}\",fontSize:\"0.75rem\",fontWeight:\"600\"},t={root:r,value:o,label:e};export{t as default,e as label,r as root,o as value};//# sourceMappingURL=index.mjs.map","var o={light:{root:{colorOne:\"{red.500}\",colorTwo:\"{blue.500}\",colorThree:\"{green.500}\",colorFour:\"{yellow.500}\"}},dark:{root:{colorOne:\"{red.400}\",colorTwo:\"{blue.400}\",colorThree:\"{green.400}\",colorFour:\"{yellow.400}\"}}},r={colorScheme:o};export{o as colorScheme,r as default};//# sourceMappingURL=index.mjs.map","var o={width:\"1.25rem\",height:\"1.25rem\",background:\"{form.field.background}\",checkedBackground:\"{primary.color}\",checkedHoverBackground:\"{primary.hover.color}\",disabledBackground:\"{form.field.disabled.background}\",filledBackground:\"{form.field.filled.background}\",borderColor:\"{form.field.border.color}\",hoverBorderColor:\"{form.field.hover.border.color}\",focusBorderColor:\"{form.field.border.color}\",checkedBorderColor:\"{primary.color}\",checkedHoverBorderColor:\"{primary.hover.color}\",checkedFocusBorderColor:\"{primary.color}\",checkedDisabledBorderColor:\"{form.field.border.color}\",invalidBorderColor:\"{form.field.invalid.border.color}\",shadow:\"{form.field.shadow}\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"{focus.ring.offset}\",shadow:\"{focus.ring.shadow}\"},transitionDuration:\"{form.field.transition.duration}\",sm:{width:\"1rem\",height:\"1rem\"},lg:{width:\"1.5rem\",height:\"1.5rem\"}},r={size:\"0.75rem\",checkedColor:\"{primary.contrast.color}\",checkedHoverColor:\"{primary.contrast.color}\",disabledColor:\"{form.field.disabled.color}\",sm:{size:\"0.5rem\"},lg:{size:\"1rem\"}},e={root:o,icon:r};export{e as default,r as icon,o as root};//# sourceMappingURL=index.mjs.map","var o={gap:\"0.25rem\",transitionDuration:\"{transition.duration}\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"{focus.ring.offset}\",shadow:\"{focus.ring.shadow}\"}},r={size:\"1rem\",color:\"{text.muted.color}\",hoverColor:\"{primary.color}\",activeColor:\"{primary.color}\"},i={root:o,icon:r};export{i as default,r as icon,o as root};//# sourceMappingURL=index.mjs.map","var r={light:{root:{background:\"rgba(0,0,0,0.1)\"}},dark:{root:{background:\"rgba(255,255,255,0.3)\"}}},o={colorScheme:r};export{r as colorScheme,o as default};//# sourceMappingURL=index.mjs.map","var r={transitionDuration:\"{transition.duration}\"},o={size:\"9px\",borderRadius:\"{border.radius.sm}\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"{focus.ring.offset}\",shadow:\"{focus.ring.shadow}\"}},s={light:{bar:{background:\"{surface.100}\"}},dark:{bar:{background:\"{surface.800}\"}}},a={root:r,bar:o,colorScheme:s};export{o as bar,s as colorScheme,a as default,r as root};//# sourceMappingURL=index.mjs.map","var o={background:\"{form.field.background}\",disabledBackground:\"{form.field.disabled.background}\",filledBackground:\"{form.field.filled.background}\",filledHoverBackground:\"{form.field.filled.hover.background}\",filledFocusBackground:\"{form.field.filled.focus.background}\",borderColor:\"{form.field.border.color}\",hoverBorderColor:\"{form.field.hover.border.color}\",focusBorderColor:\"{form.field.focus.border.color}\",invalidBorderColor:\"{form.field.invalid.border.color}\",color:\"{form.field.color}\",disabledColor:\"{form.field.disabled.color}\",placeholderColor:\"{form.field.placeholder.color}\",invalidPlaceholderColor:\"{form.field.invalid.placeholder.color}\",shadow:\"{form.field.shadow}\",paddingX:\"{form.field.padding.x}\",paddingY:\"{form.field.padding.y}\",borderRadius:\"{form.field.border.radius}\",focusRing:{width:\"{form.field.focus.ring.width}\",style:\"{form.field.focus.ring.style}\",color:\"{form.field.focus.ring.color}\",offset:\"{form.field.focus.ring.offset}\",shadow:\"{form.field.focus.ring.shadow}\"},transitionDuration:\"{form.field.transition.duration}\",sm:{fontSize:\"{form.field.sm.font.size}\",paddingX:\"{form.field.sm.padding.x}\",paddingY:\"{form.field.sm.padding.y}\"},lg:{fontSize:\"{form.field.lg.font.size}\",paddingX:\"{form.field.lg.padding.x}\",paddingY:\"{form.field.lg.padding.y}\"}},r={width:\"2.5rem\",color:\"{form.field.icon.color}\"},d={background:\"{overlay.select.background}\",borderColor:\"{overlay.select.border.color}\",borderRadius:\"{overlay.select.border.radius}\",color:\"{overlay.select.color}\",shadow:\"{overlay.select.shadow}\"},l={padding:\"{list.padding}\",gap:\"{list.gap}\",header:{padding:\"{list.header.padding}\"}},i={focusBackground:\"{list.option.focus.background}\",selectedBackground:\"{list.option.selected.background}\",selectedFocusBackground:\"{list.option.selected.focus.background}\",color:\"{list.option.color}\",focusColor:\"{list.option.focus.color}\",selectedColor:\"{list.option.selected.color}\",selectedFocusColor:\"{list.option.selected.focus.color}\",padding:\"{list.option.padding}\",borderRadius:\"{list.option.border.radius}\"},e={background:\"{list.option.group.background}\",color:\"{list.option.group.color}\",fontWeight:\"{list.option.group.font.weight}\",padding:\"{list.option.group.padding}\"},f={color:\"{form.field.icon.color}\"},c={color:\"{list.option.color}\",gutterStart:\"-0.375rem\",gutterEnd:\"0.375rem\"},a={padding:\"{list.option.padding}\"},n={root:o,dropdown:r,overlay:d,list:l,option:i,optionGroup:e,clearIcon:f,checkmark:c,emptyMessage:a};export{c as checkmark,f as clearIcon,n as default,r as dropdown,a as emptyMessage,l as list,i as option,e as optionGroup,d as overlay,o as root};//# sourceMappingURL=index.mjs.map","var r={borderRadius:\"{form.field.border.radius}\"},o={light:{root:{invalidBorderColor:\"{form.field.invalid.border.color}\"}},dark:{root:{invalidBorderColor:\"{form.field.invalid.border.color}\"}}},d={root:r,colorScheme:o};export{o as colorScheme,d as default,r as root};//# sourceMappingURL=index.mjs.map","var r={borderRadius:\"{content.border.radius}\"},a={light:{root:{background:\"{surface.200}\",animationBackground:\"rgba(255,255,255,0.4)\"}},dark:{root:{background:\"rgba(255, 255, 255, 0.06)\",animationBackground:\"rgba(255, 255, 255, 0.04)\"}}},o={root:r,colorScheme:a};export{a as colorScheme,o as default,r as root};//# sourceMappingURL=index.mjs.map","var o={transitionDuration:\"{transition.duration}\"},r={background:\"{content.border.color}\",borderRadius:\"{content.border.radius}\",size:\"3px\"},n={background:\"{primary.color}\"},t={width:\"20px\",height:\"20px\",borderRadius:\"50%\",background:\"{content.border.color}\",hoverBackground:\"{content.border.color}\",content:{borderRadius:\"50%\",hoverBackground:\"{content.background}\",width:\"16px\",height:\"16px\",shadow:\"0px 0.5px 0px 0px rgba(0, 0, 0, 0.08), 0px 1px 1px 0px rgba(0, 0, 0, 0.14)\"},focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"{focus.ring.offset}\",shadow:\"{focus.ring.shadow}\"}},e={light:{handle:{content:{background:\"{surface.0}\"}}},dark:{handle:{content:{background:\"{surface.950}\"}}}},a={root:o,track:r,range:n,handle:t,colorScheme:e};export{e as colorScheme,a as default,t as handle,n as range,o as root,r as track};//# sourceMappingURL=index.mjs.map","var t={gap:\"0.5rem\",transitionDuration:\"{transition.duration}\"},a={root:t};export{a as default,t as root};//# sourceMappingURL=index.mjs.map","var r={borderRadius:\"{form.field.border.radius}\",roundedBorderRadius:\"2rem\",raisedShadow:\"0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12)\"},d={root:r};export{d as default,r as root};//# sourceMappingURL=index.mjs.map","var o={background:\"{content.background}\",borderColor:\"{content.border.color}\",color:\"{content.color}\",transitionDuration:\"{transition.duration}\"},r={background:\"{content.border.color}\"},n={size:\"24px\",background:\"transparent\",borderRadius:\"{content.border.radius}\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"{focus.ring.offset}\",shadow:\"{focus.ring.shadow}\"}},t={root:o,gutter:r,handle:n};export{t as default,r as gutter,n as handle,o as root};//# sourceMappingURL=index.mjs.map","var o={transitionDuration:\"{transition.duration}\"},r={background:\"{content.border.color}\",activeBackground:\"{primary.color}\",margin:\"0 0 0 1.625rem\",size:\"2px\"},e={padding:\"0.5rem\",gap:\"1rem\"},t={padding:\"0\",borderRadius:\"{content.border.radius}\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"{focus.ring.offset}\",shadow:\"{focus.ring.shadow}\"},gap:\"0.5rem\"},n={color:\"{text.muted.color}\",activeColor:\"{primary.color}\",fontWeight:\"500\"},a={background:\"{content.background}\",activeBackground:\"{content.background}\",borderColor:\"{content.border.color}\",activeBorderColor:\"{content.border.color}\",color:\"{text.muted.color}\",activeColor:\"{primary.color}\",size:\"2rem\",fontSize:\"1.143rem\",fontWeight:\"500\",borderRadius:\"50%\",shadow:\"0px 0.5px 0px 0px rgba(0, 0, 0, 0.06), 0px 1px 1px 0px rgba(0, 0, 0, 0.12)\"},c={padding:\"0.875rem 0.5rem 1.125rem 0.5rem\"},d={background:\"{content.background}\",color:\"{content.color}\",padding:\"0\",indent:\"1rem\"},i={root:o,separator:r,step:e,stepHeader:t,stepTitle:n,stepNumber:a,steppanels:c,steppanel:d};export{i as default,o as root,r as separator,e as step,t as stepHeader,a as stepNumber,n as stepTitle,d as steppanel,c as steppanels};//# sourceMappingURL=index.mjs.map","var o={transitionDuration:\"{transition.duration}\"},r={background:\"{content.border.color}\"},t={borderRadius:\"{content.border.radius}\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"{focus.ring.offset}\",shadow:\"{focus.ring.shadow}\"},gap:\"0.5rem\"},e={color:\"{text.muted.color}\",activeColor:\"{primary.color}\",fontWeight:\"500\"},n={background:\"{content.background}\",activeBackground:\"{content.background}\",borderColor:\"{content.border.color}\",activeBorderColor:\"{content.border.color}\",color:\"{text.muted.color}\",activeColor:\"{primary.color}\",size:\"2rem\",fontSize:\"1.143rem\",fontWeight:\"500\",borderRadius:\"50%\",shadow:\"0px 0.5px 0px 0px rgba(0, 0, 0, 0.06), 0px 1px 1px 0px rgba(0, 0, 0, 0.12)\"},c={root:o,separator:r,itemLink:t,itemLabel:e,itemNumber:n};export{c as default,e as itemLabel,t as itemLink,n as itemNumber,o as root,r as separator};//# sourceMappingURL=index.mjs.map","var o={transitionDuration:\"{transition.duration}\"},r={borderWidth:\"0 0 1px 0\",background:\"{content.background}\",borderColor:\"{content.border.color}\"},t={background:\"transparent\",hoverBackground:\"transparent\",activeBackground:\"transparent\",borderWidth:\"0 0 1px 0\",borderColor:\"{content.border.color}\",hoverBorderColor:\"{content.border.color}\",activeBorderColor:\"{primary.color}\",color:\"{text.muted.color}\",hoverColor:\"{text.color}\",activeColor:\"{primary.color}\",padding:\"1rem 1.125rem\",fontWeight:\"600\",margin:\"0 0 -1px 0\",gap:\"0.5rem\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"{focus.ring.offset}\",shadow:\"{focus.ring.shadow}\"}},e={color:\"{text.muted.color}\",hoverColor:\"{text.color}\",activeColor:\"{primary.color}\"},c={height:\"1px\",bottom:\"-1px\",background:\"{primary.color}\"},n={root:o,tablist:r,item:t,itemIcon:e,activeBar:c};export{c as activeBar,n as default,t as item,e as itemIcon,o as root,r as tablist};//# sourceMappingURL=index.mjs.map","var o={transitionDuration:\"{transition.duration}\"},r={borderWidth:\"0 0 1px 0\",background:\"{content.background}\",borderColor:\"{content.border.color}\"},t={background:\"transparent\",hoverBackground:\"transparent\",activeBackground:\"transparent\",borderWidth:\"0 0 1px 0\",borderColor:\"{content.border.color}\",hoverBorderColor:\"{content.border.color}\",activeBorderColor:\"{primary.color}\",color:\"{text.muted.color}\",hoverColor:\"{text.color}\",activeColor:\"{primary.color}\",padding:\"1rem 1.125rem\",fontWeight:\"600\",margin:\"0 0 -1px 0\",gap:\"0.5rem\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"-1px\",shadow:\"{focus.ring.shadow}\"}},n={background:\"{content.background}\",color:\"{content.color}\",padding:\"0.875rem 1.125rem 1.125rem 1.125rem\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"{focus.ring.offset}\",shadow:\"inset {focus.ring.shadow}\"}},c={background:\"{content.background}\",color:\"{text.muted.color}\",hoverColor:\"{text.color}\",width:\"2.5rem\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"-1px\",shadow:\"{focus.ring.shadow}\"}},e={height:\"1px\",bottom:\"-1px\",background:\"{primary.color}\"},a={light:{navButton:{shadow:\"0px 0px 10px 50px rgba(255, 255, 255, 0.6)\"}},dark:{navButton:{shadow:\"0px 0px 10px 50px color-mix(in srgb, {content.background}, transparent 50%)\"}}},i={root:o,tablist:r,tab:t,tabpanel:n,navButton:c,activeBar:e,colorScheme:a};export{e as activeBar,a as colorScheme,i as default,c as navButton,o as root,t as tab,r as tablist,n as tabpanel};//# sourceMappingURL=index.mjs.map","var o={transitionDuration:\"{transition.duration}\"},r={background:\"{content.background}\",borderColor:\"{content.border.color}\"},t={borderColor:\"{content.border.color}\",activeBorderColor:\"{primary.color}\",color:\"{text.muted.color}\",hoverColor:\"{text.color}\",activeColor:\"{primary.color}\"},n={background:\"{content.background}\",color:\"{content.color}\"},a={background:\"{content.background}\",color:\"{text.muted.color}\",hoverColor:\"{text.color}\"},c={light:{navButton:{shadow:\"0px 0px 10px 50px rgba(255, 255, 255, 0.6)\"}},dark:{navButton:{shadow:\"0px 0px 10px 50px color-mix(in srgb, {content.background}, transparent 50%)\"}}},e={root:o,tabList:r,tab:t,tabPanel:n,navButton:a,colorScheme:c};export{c as colorScheme,e as default,a as navButton,o as root,t as tab,r as tabList,n as tabPanel};//# sourceMappingURL=index.mjs.map","var r={fontSize:\"0.875rem\",fontWeight:\"700\",padding:\"0.25rem 0.5rem\",gap:\"0.25rem\",borderRadius:\"{content.border.radius}\",roundedBorderRadius:\"{border.radius.xl}\"},o={size:\"0.75rem\"},a={light:{primary:{background:\"{primary.100}\",color:\"{primary.700}\"},secondary:{background:\"{surface.100}\",color:\"{surface.600}\"},success:{background:\"{green.100}\",color:\"{green.700}\"},info:{background:\"{sky.100}\",color:\"{sky.700}\"},warn:{background:\"{orange.100}\",color:\"{orange.700}\"},danger:{background:\"{red.100}\",color:\"{red.700}\"},contrast:{background:\"{surface.950}\",color:\"{surface.0}\"}},dark:{primary:{background:\"color-mix(in srgb, {primary.500}, transparent 84%)\",color:\"{primary.300}\"},secondary:{background:\"{surface.800}\",color:\"{surface.300}\"},success:{background:\"color-mix(in srgb, {green.500}, transparent 84%)\",color:\"{green.300}\"},info:{background:\"color-mix(in srgb, {sky.500}, transparent 84%)\",color:\"{sky.300}\"},warn:{background:\"color-mix(in srgb, {orange.500}, transparent 84%)\",color:\"{orange.300}\"},danger:{background:\"color-mix(in srgb, {red.500}, transparent 84%)\",color:\"{red.300}\"},contrast:{background:\"{surface.0}\",color:\"{surface.950}\"}}},n={root:r,icon:o,colorScheme:a};export{a as colorScheme,n as default,o as icon,r as root};//# sourceMappingURL=index.mjs.map","var r={background:\"{form.field.background}\",borderColor:\"{form.field.border.color}\",color:\"{form.field.color}\",height:\"18rem\",padding:\"{form.field.padding.y} {form.field.padding.x}\",borderRadius:\"{form.field.border.radius}\"},o={gap:\"0.25rem\"},d={margin:\"2px 0\"},e={root:r,prompt:o,commandResponse:d};export{d as commandResponse,e as default,o as prompt,r as root};//# sourceMappingURL=index.mjs.map","var o={background:\"{form.field.background}\",disabledBackground:\"{form.field.disabled.background}\",filledBackground:\"{form.field.filled.background}\",filledHoverBackground:\"{form.field.filled.hover.background}\",filledFocusBackground:\"{form.field.filled.focus.background}\",borderColor:\"{form.field.border.color}\",hoverBorderColor:\"{form.field.hover.border.color}\",focusBorderColor:\"{form.field.focus.border.color}\",invalidBorderColor:\"{form.field.invalid.border.color}\",color:\"{form.field.color}\",disabledColor:\"{form.field.disabled.color}\",placeholderColor:\"{form.field.placeholder.color}\",invalidPlaceholderColor:\"{form.field.invalid.placeholder.color}\",shadow:\"{form.field.shadow}\",paddingX:\"{form.field.padding.x}\",paddingY:\"{form.field.padding.y}\",borderRadius:\"{form.field.border.radius}\",focusRing:{width:\"{form.field.focus.ring.width}\",style:\"{form.field.focus.ring.style}\",color:\"{form.field.focus.ring.color}\",offset:\"{form.field.focus.ring.offset}\",shadow:\"{form.field.focus.ring.shadow}\"},transitionDuration:\"{form.field.transition.duration}\",sm:{fontSize:\"{form.field.sm.font.size}\",paddingX:\"{form.field.sm.padding.x}\",paddingY:\"{form.field.sm.padding.y}\"},lg:{fontSize:\"{form.field.lg.font.size}\",paddingX:\"{form.field.lg.padding.x}\",paddingY:\"{form.field.lg.padding.y}\"}},d={root:o};export{d as default,o as root};//# sourceMappingURL=index.mjs.map","var o={background:\"{content.background}\",borderColor:\"{content.border.color}\",color:\"{content.color}\",borderRadius:\"{content.border.radius}\",shadow:\"{overlay.navigation.shadow}\",transitionDuration:\"{transition.duration}\"},i={padding:\"{navigation.list.padding}\",gap:\"{navigation.list.gap}\"},n={focusBackground:\"{navigation.item.focus.background}\",activeBackground:\"{navigation.item.active.background}\",color:\"{navigation.item.color}\",focusColor:\"{navigation.item.focus.color}\",activeColor:\"{navigation.item.active.color}\",padding:\"{navigation.item.padding}\",borderRadius:\"{navigation.item.border.radius}\",gap:\"{navigation.item.gap}\",icon:{color:\"{navigation.item.icon.color}\",focusColor:\"{navigation.item.icon.focus.color}\",activeColor:\"{navigation.item.icon.active.color}\"}},a={mobileIndent:\"1rem\"},t={size:\"{navigation.submenu.icon.size}\",color:\"{navigation.submenu.icon.color}\",focusColor:\"{navigation.submenu.icon.focus.color}\",activeColor:\"{navigation.submenu.icon.active.color}\"},r={borderColor:\"{content.border.color}\"},c={root:o,list:i,item:n,submenu:a,submenuIcon:t,separator:r};export{c as default,n as item,i as list,o as root,r as separator,a as submenu,t as submenuIcon};//# sourceMappingURL=index.mjs.map","var e={minHeight:\"5rem\"},r={eventContent:{padding:\"1rem 0\"}},o={eventContent:{padding:\"0 1rem\"}},n={size:\"1.125rem\",borderRadius:\"50%\",borderWidth:\"2px\",background:\"{content.background}\",borderColor:\"{content.border.color}\",content:{borderRadius:\"50%\",size:\"0.375rem\",background:\"{primary.color}\",insetShadow:\"0px 0.5px 0px 0px rgba(0, 0, 0, 0.06), 0px 1px 1px 0px rgba(0, 0, 0, 0.12)\"}},t={color:\"{content.border.color}\",size:\"2px\"},d={event:e,horizontal:r,vertical:o,eventMarker:n,eventConnector:t};export{d as default,e as event,t as eventConnector,n as eventMarker,r as horizontal,o as vertical};//# sourceMappingURL=index.mjs.map","var o={width:\"25rem\",borderRadius:\"{content.border.radius}\",borderWidth:\"1px\",transitionDuration:\"{transition.duration}\"},r={size:\"1.125rem\"},e={padding:\"{overlay.popover.padding}\",gap:\"0.5rem\"},n={gap:\"0.5rem\"},a={fontWeight:\"500\",fontSize:\"1rem\"},s={fontWeight:\"500\",fontSize:\"0.875rem\"},c={width:\"1.75rem\",height:\"1.75rem\",borderRadius:\"50%\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",offset:\"{focus.ring.offset}\"}},l={size:\"1rem\"},t={light:{root:{blur:\"1.5px\"},info:{background:\"color-mix(in srgb, {blue.50}, transparent 5%)\",borderColor:\"{blue.200}\",color:\"{blue.600}\",detailColor:\"{surface.700}\",shadow:\"0px 4px 8px 0px color-mix(in srgb, {blue.500}, transparent 96%)\",closeButton:{hoverBackground:\"{blue.100}\",focusRing:{color:\"{blue.600}\",shadow:\"none\"}}},success:{background:\"color-mix(in srgb, {green.50}, transparent 5%)\",borderColor:\"{green.200}\",color:\"{green.600}\",detailColor:\"{surface.700}\",shadow:\"0px 4px 8px 0px color-mix(in srgb, {green.500}, transparent 96%)\",closeButton:{hoverBackground:\"{green.100}\",focusRing:{color:\"{green.600}\",shadow:\"none\"}}},warn:{background:\"color-mix(in srgb,{yellow.50}, transparent 5%)\",borderColor:\"{yellow.200}\",color:\"{yellow.600}\",detailColor:\"{surface.700}\",shadow:\"0px 4px 8px 0px color-mix(in srgb, {yellow.500}, transparent 96%)\",closeButton:{hoverBackground:\"{yellow.100}\",focusRing:{color:\"{yellow.600}\",shadow:\"none\"}}},error:{background:\"color-mix(in srgb, {red.50}, transparent 5%)\",borderColor:\"{red.200}\",color:\"{red.600}\",detailColor:\"{surface.700}\",shadow:\"0px 4px 8px 0px color-mix(in srgb, {red.500}, transparent 96%)\",closeButton:{hoverBackground:\"{red.100}\",focusRing:{color:\"{red.600}\",shadow:\"none\"}}},secondary:{background:\"{surface.100}\",borderColor:\"{surface.200}\",color:\"{surface.600}\",detailColor:\"{surface.700}\",shadow:\"0px 4px 8px 0px color-mix(in srgb, {surface.500}, transparent 96%)\",closeButton:{hoverBackground:\"{surface.200}\",focusRing:{color:\"{surface.600}\",shadow:\"none\"}}},contrast:{background:\"{surface.900}\",borderColor:\"{surface.950}\",color:\"{surface.50}\",detailColor:\"{surface.0}\",shadow:\"0px 4px 8px 0px color-mix(in srgb, {surface.950}, transparent 96%)\",closeButton:{hoverBackground:\"{surface.800}\",focusRing:{color:\"{surface.50}\",shadow:\"none\"}}}},dark:{root:{blur:\"10px\"},info:{background:\"color-mix(in srgb, {blue.500}, transparent 84%)\",borderColor:\"color-mix(in srgb, {blue.700}, transparent 64%)\",color:\"{blue.500}\",detailColor:\"{surface.0}\",shadow:\"0px 4px 8px 0px color-mix(in srgb, {blue.500}, transparent 96%)\",closeButton:{hoverBackground:\"rgba(255, 255, 255, 0.05)\",focusRing:{color:\"{blue.500}\",shadow:\"none\"}}},success:{background:\"color-mix(in srgb, {green.500}, transparent 84%)\",borderColor:\"color-mix(in srgb, {green.700}, transparent 64%)\",color:\"{green.500}\",detailColor:\"{surface.0}\",shadow:\"0px 4px 8px 0px color-mix(in srgb, {green.500}, transparent 96%)\",closeButton:{hoverBackground:\"rgba(255, 255, 255, 0.05)\",focusRing:{color:\"{green.500}\",shadow:\"none\"}}},warn:{background:\"color-mix(in srgb, {yellow.500}, transparent 84%)\",borderColor:\"color-mix(in srgb, {yellow.700}, transparent 64%)\",color:\"{yellow.500}\",detailColor:\"{surface.0}\",shadow:\"0px 4px 8px 0px color-mix(in srgb, {yellow.500}, transparent 96%)\",closeButton:{hoverBackground:\"rgba(255, 255, 255, 0.05)\",focusRing:{color:\"{yellow.500}\",shadow:\"none\"}}},error:{background:\"color-mix(in srgb, {red.500}, transparent 84%)\",borderColor:\"color-mix(in srgb, {red.700}, transparent 64%)\",color:\"{red.500}\",detailColor:\"{surface.0}\",shadow:\"0px 4px 8px 0px color-mix(in srgb, {red.500}, transparent 96%)\",closeButton:{hoverBackground:\"rgba(255, 255, 255, 0.05)\",focusRing:{color:\"{red.500}\",shadow:\"none\"}}},secondary:{background:\"{surface.800}\",borderColor:\"{surface.700}\",color:\"{surface.300}\",detailColor:\"{surface.0}\",shadow:\"0px 4px 8px 0px color-mix(in srgb, {surface.500}, transparent 96%)\",closeButton:{hoverBackground:\"{surface.700}\",focusRing:{color:\"{surface.300}\",shadow:\"none\"}}},contrast:{background:\"{surface.0}\",borderColor:\"{surface.100}\",color:\"{surface.950}\",detailColor:\"{surface.950}\",shadow:\"0px 4px 8px 0px color-mix(in srgb, {surface.950}, transparent 96%)\",closeButton:{hoverBackground:\"{surface.100}\",focusRing:{color:\"{surface.950}\",shadow:\"none\"}}}}},u={root:o,icon:r,content:e,text:n,summary:a,detail:s,closeButton:c,closeIcon:l,colorScheme:t};export{c as closeButton,l as closeIcon,t as colorScheme,e as content,u as default,s as detail,r as icon,o as root,a as summary,n as text};//# sourceMappingURL=index.mjs.map","var r={padding:\"0.25rem\",borderRadius:\"{content.border.radius}\",gap:\"0.5rem\",fontWeight:\"500\",disabledBackground:\"{form.field.disabled.background}\",disabledBorderColor:\"{form.field.disabled.background}\",disabledColor:\"{form.field.disabled.color}\",invalidBorderColor:\"{form.field.invalid.border.color}\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"{focus.ring.offset}\",shadow:\"{focus.ring.shadow}\"},transitionDuration:\"{form.field.transition.duration}\",sm:{fontSize:\"{form.field.sm.font.size}\",padding:\"0.25rem\"},lg:{fontSize:\"{form.field.lg.font.size}\",padding:\"0.25rem\"}},o={disabledColor:\"{form.field.disabled.color}\"},e={padding:\"0.25rem 0.75rem\",borderRadius:\"{content.border.radius}\",checkedShadow:\"0px 1px 2px 0px rgba(0, 0, 0, 0.02), 0px 1px 2px 0px rgba(0, 0, 0, 0.04)\",sm:{padding:\"0.25rem 0.75rem\"},lg:{padding:\"0.25rem 0.75rem\"}},d={light:{root:{background:\"{surface.100}\",checkedBackground:\"{surface.100}\",hoverBackground:\"{surface.100}\",borderColor:\"{surface.100}\",color:\"{surface.500}\",hoverColor:\"{surface.700}\",checkedColor:\"{surface.900}\",checkedBorderColor:\"{surface.100}\"},content:{checkedBackground:\"{surface.0}\"},icon:{color:\"{surface.500}\",hoverColor:\"{surface.700}\",checkedColor:\"{surface.900}\"}},dark:{root:{background:\"{surface.950}\",checkedBackground:\"{surface.950}\",hoverBackground:\"{surface.950}\",borderColor:\"{surface.950}\",color:\"{surface.400}\",hoverColor:\"{surface.300}\",checkedColor:\"{surface.0}\",checkedBorderColor:\"{surface.950}\"},content:{checkedBackground:\"{surface.800}\"},icon:{color:\"{surface.400}\",hoverColor:\"{surface.300}\",checkedColor:\"{surface.0}\"}}},c={root:r,icon:o,content:e,colorScheme:d};export{d as colorScheme,e as content,c as default,o as icon,r as root};//# sourceMappingURL=index.mjs.map","var r={width:\"2.5rem\",height:\"1.5rem\",borderRadius:\"30px\",gap:\"0.25rem\",shadow:\"{form.field.shadow}\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"{focus.ring.offset}\",shadow:\"{focus.ring.shadow}\"},borderWidth:\"1px\",borderColor:\"transparent\",hoverBorderColor:\"transparent\",checkedBorderColor:\"transparent\",checkedHoverBorderColor:\"transparent\",invalidBorderColor:\"{form.field.invalid.border.color}\",transitionDuration:\"{form.field.transition.duration}\",slideDuration:\"0.2s\"},o={borderRadius:\"50%\",size:\"1rem\"},e={light:{root:{background:\"{surface.300}\",disabledBackground:\"{form.field.disabled.background}\",hoverBackground:\"{surface.400}\",checkedBackground:\"{primary.color}\",checkedHoverBackground:\"{primary.hover.color}\"},handle:{background:\"{surface.0}\",disabledBackground:\"{form.field.disabled.color}\",hoverBackground:\"{surface.0}\",checkedBackground:\"{surface.0}\",checkedHoverBackground:\"{surface.0}\",color:\"{text.muted.color}\",hoverColor:\"{text.color}\",checkedColor:\"{primary.color}\",checkedHoverColor:\"{primary.hover.color}\"}},dark:{root:{background:\"{surface.700}\",disabledBackground:\"{surface.600}\",hoverBackground:\"{surface.600}\",checkedBackground:\"{primary.color}\",checkedHoverBackground:\"{primary.hover.color}\"},handle:{background:\"{surface.400}\",disabledBackground:\"{surface.900}\",hoverBackground:\"{surface.300}\",checkedBackground:\"{surface.900}\",checkedHoverBackground:\"{surface.900}\",color:\"{surface.900}\",hoverColor:\"{surface.800}\",checkedColor:\"{primary.color}\",checkedHoverColor:\"{primary.hover.color}\"}}},c={root:r,handle:o,colorScheme:e};export{e as colorScheme,c as default,o as handle,r as root};//# sourceMappingURL=index.mjs.map","var o={background:\"{content.background}\",borderColor:\"{content.border.color}\",borderRadius:\"{content.border.radius}\",color:\"{content.color}\",gap:\"0.5rem\",padding:\"0.75rem\"},r={root:o};export{r as default,o as root};//# sourceMappingURL=index.mjs.map","var r={maxWidth:\"12.5rem\",gutter:\"0.25rem\",shadow:\"{overlay.popover.shadow}\",padding:\"0.5rem 0.75rem\",borderRadius:\"{overlay.popover.border.radius}\"},o={light:{root:{background:\"{surface.700}\",color:\"{surface.0}\"}},dark:{root:{background:\"{surface.700}\",color:\"{surface.0}\"}}},e={root:r,colorScheme:o};export{o as colorScheme,e as default,r as root};//# sourceMappingURL=index.mjs.map","var o={background:\"{content.background}\",color:\"{content.color}\",padding:\"1rem\",gap:\"2px\",indent:\"1rem\",transitionDuration:\"{transition.duration}\"},r={padding:\"0.25rem 0.5rem\",borderRadius:\"{content.border.radius}\",hoverBackground:\"{content.hover.background}\",selectedBackground:\"{highlight.background}\",color:\"{text.color}\",hoverColor:\"{text.hover.color}\",selectedColor:\"{highlight.color}\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"-1px\",shadow:\"{focus.ring.shadow}\"},gap:\"0.25rem\"},e={color:\"{text.muted.color}\",hoverColor:\"{text.hover.muted.color}\",selectedColor:\"{highlight.color}\"},t={borderRadius:\"50%\",size:\"1.75rem\",hoverBackground:\"{content.hover.background}\",selectedHoverBackground:\"{content.background}\",color:\"{text.muted.color}\",hoverColor:\"{text.hover.muted.color}\",selectedHoverColor:\"{primary.color}\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"{focus.ring.offset}\",shadow:\"{focus.ring.shadow}\"}},n={size:\"2rem\"},c={margin:\"0 0 0.5rem 0\"},css=\"\\n .p-tree-mask.p-overlay-mask {\\n --px-mask-background: light-dark(rgba(255,255,255,0.5),rgba(0,0,0,0.3));\\n }\\n\",d={root:o,node:r,nodeIcon:e,nodeToggleButton:t,loadingIcon:n,filter:c,css:css};export{css,d as default,c as filter,n as loadingIcon,r as node,e as nodeIcon,t as nodeToggleButton,o as root};//# sourceMappingURL=index.mjs.map","var o={background:\"{form.field.background}\",disabledBackground:\"{form.field.disabled.background}\",filledBackground:\"{form.field.filled.background}\",filledHoverBackground:\"{form.field.filled.hover.background}\",filledFocusBackground:\"{form.field.filled.focus.background}\",borderColor:\"{form.field.border.color}\",hoverBorderColor:\"{form.field.hover.border.color}\",focusBorderColor:\"{form.field.focus.border.color}\",invalidBorderColor:\"{form.field.invalid.border.color}\",color:\"{form.field.color}\",disabledColor:\"{form.field.disabled.color}\",placeholderColor:\"{form.field.placeholder.color}\",invalidPlaceholderColor:\"{form.field.invalid.placeholder.color}\",shadow:\"{form.field.shadow}\",paddingX:\"{form.field.padding.x}\",paddingY:\"{form.field.padding.y}\",borderRadius:\"{form.field.border.radius}\",focusRing:{width:\"{form.field.focus.ring.width}\",style:\"{form.field.focus.ring.style}\",color:\"{form.field.focus.ring.color}\",offset:\"{form.field.focus.ring.offset}\",shadow:\"{form.field.focus.ring.shadow}\"},transitionDuration:\"{form.field.transition.duration}\",sm:{fontSize:\"{form.field.sm.font.size}\",paddingX:\"{form.field.sm.padding.x}\",paddingY:\"{form.field.sm.padding.y}\"},lg:{fontSize:\"{form.field.lg.font.size}\",paddingX:\"{form.field.lg.padding.x}\",paddingY:\"{form.field.lg.padding.y}\"}},r={width:\"2.5rem\",color:\"{form.field.icon.color}\"},d={background:\"{overlay.select.background}\",borderColor:\"{overlay.select.border.color}\",borderRadius:\"{overlay.select.border.radius}\",color:\"{overlay.select.color}\",shadow:\"{overlay.select.shadow}\"},l={padding:\"{list.padding}\"},e={padding:\"{list.option.padding}\"},i={borderRadius:\"{border.radius.sm}\"},f={color:\"{form.field.icon.color}\"},a={root:o,dropdown:r,overlay:d,tree:l,emptyMessage:e,chip:i,clearIcon:f};export{i as chip,f as clearIcon,a as default,r as dropdown,e as emptyMessage,d as overlay,o as root,l as tree};//# sourceMappingURL=index.mjs.map","var o={transitionDuration:\"{transition.duration}\"},r={background:\"{content.background}\",borderColor:\"{treetable.border.color}\",color:\"{content.color}\",borderWidth:\"0 0 1px 0\",padding:\"0.75rem 1rem\"},e={background:\"{content.background}\",hoverBackground:\"{content.hover.background}\",selectedBackground:\"{highlight.background}\",borderColor:\"{treetable.border.color}\",color:\"{content.color}\",hoverColor:\"{content.hover.color}\",selectedColor:\"{highlight.color}\",gap:\"0.5rem\",padding:\"0.75rem 1rem\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"-1px\",shadow:\"{focus.ring.shadow}\"}},t={fontWeight:\"600\"},c={background:\"{content.background}\",hoverBackground:\"{content.hover.background}\",selectedBackground:\"{highlight.background}\",color:\"{content.color}\",hoverColor:\"{content.hover.color}\",selectedColor:\"{highlight.color}\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"-1px\",shadow:\"{focus.ring.shadow}\"}},n={borderColor:\"{treetable.border.color}\",padding:\"0.75rem 1rem\",gap:\"0.5rem\"},l={background:\"{content.background}\",borderColor:\"{treetable.border.color}\",color:\"{content.color}\",padding:\"0.75rem 1rem\"},d={fontWeight:\"600\"},a={background:\"{content.background}\",borderColor:\"{treetable.border.color}\",color:\"{content.color}\",borderWidth:\"0 0 1px 0\",padding:\"0.75rem 1rem\"},i={width:\"0.5rem\"},g={width:\"1px\",color:\"{primary.color}\"},s={color:\"{text.muted.color}\",hoverColor:\"{text.hover.muted.color}\",size:\"0.875rem\"},u={size:\"2rem\"},b={hoverBackground:\"{content.hover.background}\",selectedHoverBackground:\"{content.background}\",color:\"{text.muted.color}\",hoverColor:\"{text.color}\",selectedHoverColor:\"{primary.color}\",size:\"1.75rem\",borderRadius:\"50%\",focusRing:{width:\"{focus.ring.width}\",style:\"{focus.ring.style}\",color:\"{focus.ring.color}\",offset:\"{focus.ring.offset}\",shadow:\"{focus.ring.shadow}\"}},h={borderColor:\"{content.border.color}\",borderWidth:\"0 0 1px 0\"},m={borderColor:\"{content.border.color}\",borderWidth:\"0 0 1px 0\"},f={light:{root:{borderColor:\"{content.border.color}\"},bodyCell:{selectedBorderColor:\"{primary.100}\"}},dark:{root:{borderColor:\"{surface.800}\"},bodyCell:{selectedBorderColor:\"{primary.900}\"}}},css=\"\\n .p-treetable-mask.p-overlay-mask {\\n --px-mask-background: light-dark(rgba(255,255,255,0.5),rgba(0,0,0,0.3));\\n }\\n\",k={root:o,header:r,headerCell:e,columnTitle:t,row:c,bodyCell:n,footerCell:l,columnFooter:d,footer:a,columnResizer:i,resizeIndicator:g,sortIcon:s,loadingIcon:u,nodeToggleButton:b,paginatorTop:h,paginatorBottom:m,colorScheme:f,css:css};export{n as bodyCell,f as colorScheme,d as columnFooter,i as columnResizer,t as columnTitle,css,k as default,a as footer,l as footerCell,r as header,e as headerCell,u as loadingIcon,b as nodeToggleButton,m as paginatorBottom,h as paginatorTop,g as resizeIndicator,o as root,c as row,s as sortIcon};//# sourceMappingURL=index.mjs.map","var o={mask:{background:\"{content.background}\",color:\"{text.muted.color}\"},icon:{size:\"2rem\"}},e={loader:o};export{e as default,o as loader};//# sourceMappingURL=index.mjs.map","var r=Object.defineProperty,e=Object.defineProperties,m=Object.getOwnPropertyDescriptors,i=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable,o=(e,m,i)=>m in e?r(e,m,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[m]=i;import p from\"@primeuix/themes/aura/accordion\";import u from\"@primeuix/themes/aura/autocomplete\";import s from\"@primeuix/themes/aura/avatar\";import l from\"@primeuix/themes/aura/badge\";import f from\"@primeuix/themes/aura/base\";import h from\"@primeuix/themes/aura/blockui\";import x from\"@primeuix/themes/aura/breadcrumb\";import n from\"@primeuix/themes/aura/button\";import c from\"@primeuix/themes/aura/card\";import b from\"@primeuix/themes/aura/carousel\";import d from\"@primeuix/themes/aura/cascadeselect\";import g from\"@primeuix/themes/aura/checkbox\";import v from\"@primeuix/themes/aura/chip\";import k from\"@primeuix/themes/aura/colorpicker\";import w from\"@primeuix/themes/aura/confirmdialog\";import y from\"@primeuix/themes/aura/confirmpopup\";import O from\"@primeuix/themes/aura/contextmenu\";import css from\"@primeuix/themes/aura/css\";import j from\"@primeuix/themes/aura/datatable\";import P from\"@primeuix/themes/aura/dataview\";import z from\"@primeuix/themes/aura/datepicker\";import D from\"@primeuix/themes/aura/dialog\";import E from\"@primeuix/themes/aura/divider\";import I from\"@primeuix/themes/aura/dock\";import S from\"@primeuix/themes/aura/drawer\";import q from\"@primeuix/themes/aura/editor\";import A from\"@primeuix/themes/aura/fieldset\";import B from\"@primeuix/themes/aura/fileupload\";import C from\"@primeuix/themes/aura/floatlabel\";import F from\"@primeuix/themes/aura/galleria\";import G from\"@primeuix/themes/aura/iconfield\";import H from\"@primeuix/themes/aura/iftalabel\";import J from\"@primeuix/themes/aura/image\";import K from\"@primeuix/themes/aura/imagecompare\";import L from\"@primeuix/themes/aura/inlinemessage\";import M from\"@primeuix/themes/aura/inplace\";import N from\"@primeuix/themes/aura/inputchips\";import Q from\"@primeuix/themes/aura/inputgroup\";import R from\"@primeuix/themes/aura/inputnumber\";import T from\"@primeuix/themes/aura/inputotp\";import U from\"@primeuix/themes/aura/inputtext\";import V from\"@primeuix/themes/aura/knob\";import W from\"@primeuix/themes/aura/listbox\";import X from\"@primeuix/themes/aura/megamenu\";import Y from\"@primeuix/themes/aura/menu\";import Z from\"@primeuix/themes/aura/menubar\";import $ from\"@primeuix/themes/aura/message\";import _ from\"@primeuix/themes/aura/metergroup\";import rr from\"@primeuix/themes/aura/multiselect\";import er from\"@primeuix/themes/aura/orderlist\";import mr from\"@primeuix/themes/aura/organizationchart\";import ir from\"@primeuix/themes/aura/overlaybadge\";import tr from\"@primeuix/themes/aura/paginator\";import ar from\"@primeuix/themes/aura/panel\";import or from\"@primeuix/themes/aura/panelmenu\";import pr from\"@primeuix/themes/aura/password\";import ur from\"@primeuix/themes/aura/picklist\";import sr from\"@primeuix/themes/aura/popover\";import lr from\"@primeuix/themes/aura/progressbar\";import fr from\"@primeuix/themes/aura/progressspinner\";import hr from\"@primeuix/themes/aura/radiobutton\";import xr from\"@primeuix/themes/aura/rating\";import nr from\"@primeuix/themes/aura/ripple\";import cr from\"@primeuix/themes/aura/scrollpanel\";import br from\"@primeuix/themes/aura/select\";import dr from\"@primeuix/themes/aura/selectbutton\";import gr from\"@primeuix/themes/aura/skeleton\";import vr from\"@primeuix/themes/aura/slider\";import kr from\"@primeuix/themes/aura/speeddial\";import wr from\"@primeuix/themes/aura/splitbutton\";import yr from\"@primeuix/themes/aura/splitter\";import Or from\"@primeuix/themes/aura/stepper\";import jr from\"@primeuix/themes/aura/steps\";import Pr from\"@primeuix/themes/aura/tabmenu\";import zr from\"@primeuix/themes/aura/tabs\";import Dr from\"@primeuix/themes/aura/tabview\";import Er from\"@primeuix/themes/aura/tag\";import Ir from\"@primeuix/themes/aura/terminal\";import Sr from\"@primeuix/themes/aura/textarea\";import qr from\"@primeuix/themes/aura/tieredmenu\";import Ar from\"@primeuix/themes/aura/timeline\";import Br from\"@primeuix/themes/aura/toast\";import Cr from\"@primeuix/themes/aura/togglebutton\";import Fr from\"@primeuix/themes/aura/toggleswitch\";import Gr from\"@primeuix/themes/aura/toolbar\";import Hr from\"@primeuix/themes/aura/tooltip\";import Jr from\"@primeuix/themes/aura/tree\";import Kr from\"@primeuix/themes/aura/treeselect\";import Lr from\"@primeuix/themes/aura/treetable\";import Mr from\"@primeuix/themes/aura/virtualscroller\";var Nr,Qr=(Nr=((r,e)=>{for(var m in e||(e={}))t.call(e,m)&&o(r,m,e[m]);if(i)for(var m of i(e))a.call(e,m)&&o(r,m,e[m]);return r})({},f),e(Nr,m({components:{accordion:p,autocomplete:u,avatar:s,badge:l,blockui:h,breadcrumb:x,button:n,card:c,carousel:b,cascadeselect:d,checkbox:g,chip:v,colorpicker:k,confirmdialog:w,confirmpopup:y,contextmenu:O,datatable:j,dataview:P,datepicker:z,dialog:D,divider:E,dock:I,drawer:S,editor:q,fieldset:A,fileupload:B,floatlabel:C,galleria:F,iconfield:G,iftalabel:H,image:J,imagecompare:K,inlinemessage:L,inplace:M,inputchips:N,inputgroup:Q,inputnumber:R,inputotp:T,inputtext:U,knob:V,listbox:W,megamenu:X,menu:Y,menubar:Z,message:$,metergroup:_,multiselect:rr,orderlist:er,organizationchart:mr,overlaybadge:ir,paginator:tr,panel:ar,panelmenu:or,password:pr,picklist:ur,popover:sr,progressbar:lr,progressspinner:fr,radiobutton:hr,rating:xr,ripple:nr,scrollpanel:cr,select:br,selectbutton:dr,skeleton:gr,slider:vr,speeddial:kr,splitbutton:wr,splitter:yr,stepper:Or,steps:jr,tabmenu:Pr,tabs:zr,tabview:Dr,tag:Er,terminal:Ir,textarea:Sr,tieredmenu:qr,timeline:Ar,toast:Br,togglebutton:Cr,toggleswitch:Fr,toolbar:Gr,tooltip:Hr,tree:Jr,treeselect:Kr,treetable:Lr,virtualscroller:Mr},css:css})));export{Qr as default};//# sourceMappingURL=index.mjs.map","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\n\n// src/object/methods/isEmpty.ts\nfunction isEmpty(value) {\n return value === null || value === void 0 || value === \"\" || Array.isArray(value) && value.length === 0 || !(value instanceof Date) && typeof value === \"object\" && Object.keys(value).length === 0;\n}\n\n// src/object/methods/compare.ts\nfunction compare(value1, value2, comparator, order = 1) {\n let result = -1;\n const emptyValue1 = isEmpty(value1);\n const emptyValue2 = isEmpty(value2);\n if (emptyValue1 && emptyValue2) result = 0;\n else if (emptyValue1) result = order;\n else if (emptyValue2) result = -order;\n else if (typeof value1 === \"string\" && typeof value2 === \"string\") result = comparator(value1, value2);\n else result = value1 < value2 ? -1 : value1 > value2 ? 1 : 0;\n return result;\n}\n\n// src/object/methods/deepEquals.ts\nfunction _deepEquals(obj1, obj2, visited = /* @__PURE__ */ new WeakSet()) {\n if (obj1 === obj2) return true;\n if (!obj1 || !obj2 || typeof obj1 !== \"object\" || typeof obj2 !== \"object\") return false;\n if (visited.has(obj1) || visited.has(obj2)) return false;\n visited.add(obj1).add(obj2);\n let arrObj1 = Array.isArray(obj1), arrObj2 = Array.isArray(obj2), i, length, key;\n if (arrObj1 && arrObj2) {\n length = obj1.length;\n if (length != obj2.length) return false;\n for (i = length; i-- !== 0; ) if (!_deepEquals(obj1[i], obj2[i], visited)) return false;\n return true;\n }\n if (arrObj1 != arrObj2) return false;\n let dateObj1 = obj1 instanceof Date, dateObj2 = obj2 instanceof Date;\n if (dateObj1 != dateObj2) return false;\n if (dateObj1 && dateObj2) return obj1.getTime() == obj2.getTime();\n let regexpObj1 = obj1 instanceof RegExp, regexpObj2 = obj2 instanceof RegExp;\n if (regexpObj1 != regexpObj2) return false;\n if (regexpObj1 && regexpObj2) return obj1.toString() == obj2.toString();\n let keys = Object.keys(obj1);\n length = keys.length;\n if (length !== Object.keys(obj2).length) return false;\n for (i = length; i-- !== 0; ) if (!Object.prototype.hasOwnProperty.call(obj2, keys[i])) return false;\n for (i = length; i-- !== 0; ) {\n key = keys[i];\n if (!_deepEquals(obj1[key], obj2[key], visited)) return false;\n }\n return true;\n}\nfunction deepEquals(obj1, obj2) {\n return _deepEquals(obj1, obj2);\n}\n\n// src/object/methods/isFunction.ts\nfunction isFunction(value) {\n return !!(value && value.constructor && value.call && value.apply);\n}\n\n// src/object/methods/isNotEmpty.ts\nfunction isNotEmpty(value) {\n return !isEmpty(value);\n}\n\n// src/object/methods/resolveFieldData.ts\nfunction resolveFieldData(data, field) {\n if (!data || !field) {\n return null;\n }\n try {\n const value = data[field];\n if (isNotEmpty(value)) return value;\n } catch (e) {\n }\n if (Object.keys(data).length) {\n if (isFunction(field)) {\n return field(data);\n } else if (field.indexOf(\".\") === -1) {\n return data[field];\n } else {\n let fields = field.split(\".\");\n let value = data;\n for (let i = 0, len = fields.length; i < len; ++i) {\n if (value == null) {\n return null;\n }\n value = value[fields[i]];\n }\n return value;\n }\n }\n return null;\n}\n\n// src/object/methods/equals.ts\nfunction equals(obj1, obj2, field) {\n if (field) return resolveFieldData(obj1, field) === resolveFieldData(obj2, field);\n else return deepEquals(obj1, obj2);\n}\n\n// src/object/methods/contains.ts\nfunction contains(value, list) {\n if (value != null && list && list.length) {\n for (let val of list) {\n if (equals(value, val)) return true;\n }\n }\n return false;\n}\n\n// src/object/methods/filter.ts\nfunction filter(value, fields, filterValue) {\n let filteredItems = [];\n if (value) {\n for (let item of value) {\n for (let field of fields) {\n if (String(resolveFieldData(item, field)).toLowerCase().indexOf(filterValue.toLowerCase()) > -1) {\n filteredItems.push(item);\n break;\n }\n }\n }\n }\n return filteredItems;\n}\n\n// src/object/methods/findIndexInList.ts\nfunction findIndexInList(value, list) {\n let index = -1;\n if (list) {\n for (let i = 0; i < list.length; i++) {\n if (list[i] === value) {\n index = i;\n break;\n }\n }\n }\n return index;\n}\n\n// src/object/methods/findLast.ts\nfunction findLast(arr, callback) {\n let item;\n if (isNotEmpty(arr)) {\n try {\n item = arr.findLast(callback);\n } catch (e) {\n item = [...arr].reverse().find(callback);\n }\n }\n return item;\n}\n\n// src/object/methods/findLastIndex.ts\nfunction findLastIndex(arr, callback) {\n let index = -1;\n if (isNotEmpty(arr)) {\n try {\n index = arr.findLastIndex(callback);\n } catch (e) {\n index = arr.lastIndexOf([...arr].reverse().find(callback));\n }\n }\n return index;\n}\n\n// src/object/methods/isObject.ts\nfunction isObject(value, empty = true) {\n return value instanceof Object && value.constructor === Object && (empty || Object.keys(value).length !== 0);\n}\n\n// src/object/methods/resolve.ts\nfunction resolve(obj, ...params) {\n return isFunction(obj) ? obj(...params) : obj;\n}\n\n// src/object/methods/isString.ts\nfunction isString(value, empty = true) {\n return typeof value === \"string\" && (empty || value !== \"\");\n}\n\n// src/object/methods/toFlatCase.ts\nfunction toFlatCase(str) {\n return isString(str) ? str.replace(/(-|_)/g, \"\").toLowerCase() : str;\n}\n\n// src/object/methods/getKeyValue.ts\nfunction getKeyValue(obj, key = \"\", params = {}) {\n const fKeys = toFlatCase(key).split(\".\");\n const fKey = fKeys.shift();\n return fKey ? isObject(obj) ? getKeyValue(resolve(obj[Object.keys(obj).find((k) => toFlatCase(k) === fKey) || \"\"], params), fKeys.join(\".\"), params) : void 0 : resolve(obj, params);\n}\n\n// src/object/methods/insertIntoOrderedArray.ts\nfunction insertIntoOrderedArray(item, index, arr, sourceArr) {\n if (arr.length > 0) {\n let injected = false;\n for (let i = 0; i < arr.length; i++) {\n let currentItemIndex = findIndexInList(arr[i], sourceArr);\n if (currentItemIndex > index) {\n arr.splice(i, 0, item);\n injected = true;\n break;\n }\n }\n if (!injected) {\n arr.push(item);\n }\n } else {\n arr.push(item);\n }\n}\n\n// src/object/methods/isArray.ts\nfunction isArray(value, empty = true) {\n return Array.isArray(value) && (empty || value.length !== 0);\n}\n\n// src/object/methods/isDate.ts\nfunction isDate(value) {\n return value instanceof Date && value.constructor === Date;\n}\n\n// src/object/methods/isLetter.ts\nfunction isLetter(char) {\n return /^[a-zA-Z\\u00C0-\\u017F]$/.test(char);\n}\n\n// src/object/methods/isNumber.ts\nfunction isNumber(value) {\n return isNotEmpty(value) && !isNaN(value);\n}\n\n// src/object/methods/isPrintableCharacter.ts\nfunction isPrintableCharacter(char = \"\") {\n return isNotEmpty(char) && char.length === 1 && !!char.match(/\\S| /);\n}\n\n// src/object/methods/isScalar.ts\nfunction isScalar(value) {\n return value != null && (typeof value === \"string\" || typeof value === \"number\" || typeof value === \"bigint\" || typeof value === \"boolean\");\n}\n\n// src/object/methods/localeComparator.ts\nfunction localeComparator() {\n return new Intl.Collator(void 0, { numeric: true }).compare;\n}\n\n// src/object/methods/matchRegex.ts\nfunction matchRegex(str, regex) {\n if (regex) {\n const match = regex.test(str);\n regex.lastIndex = 0;\n return match;\n }\n return false;\n}\n\n// src/object/methods/mergeKeys.ts\nfunction mergeKeys(...args) {\n const _mergeKeys = (target = {}, source = {}) => {\n const mergedObj = __spreadValues({}, target);\n Object.keys(source).forEach((key) => {\n if (isObject(source[key]) && key in target && isObject(target[key])) {\n mergedObj[key] = _mergeKeys(target[key], source[key]);\n } else {\n mergedObj[key] = source[key];\n }\n });\n return mergedObj;\n };\n return args.reduce((acc, obj, i) => i === 0 ? obj : _mergeKeys(acc, obj), {});\n}\n\n// src/object/methods/minifyCSS.ts\nfunction minifyCSS(css) {\n return css ? css.replace(/\\/\\*(?:(?!\\*\\/)[\\s\\S])*\\*\\/|[\\r\\n\\t]+/g, \"\").replace(/ {2,}/g, \" \").replace(/ ([{:}]) /g, \"$1\").replace(/([;,]) /g, \"$1\").replace(/ !/g, \"!\").replace(/: /g, \":\") : css;\n}\n\n// src/object/methods/nestedKeys.ts\nfunction nestedKeys(obj = {}, parentKey = \"\") {\n return Object.entries(obj).reduce((o, [key, value]) => {\n const currentKey = parentKey ? `${parentKey}.${key}` : key;\n isObject(value) ? o = o.concat(nestedKeys(value, currentKey)) : o.push(currentKey);\n return o;\n }, []);\n}\n\n// src/object/methods/omit.ts\nfunction omit(obj, ...keys) {\n if (!isObject(obj)) return obj;\n const copy = __spreadValues({}, obj);\n keys == null ? void 0 : keys.flat().forEach((key) => delete copy[key]);\n return copy;\n}\n\n// src/object/methods/removeAccents.ts\nfunction removeAccents(str) {\n const accentCheckRegex = /[\\xC0-\\xFF\\u0100-\\u017E]/;\n if (str && accentCheckRegex.test(str)) {\n const accentsMap = {\n A: /[\\xC0-\\xC5\\u0100\\u0102\\u0104]/g,\n AE: /[\\xC6]/g,\n C: /[\\xC7\\u0106\\u0108\\u010A\\u010C]/g,\n D: /[\\xD0\\u010E\\u0110]/g,\n E: /[\\xC8-\\xCB\\u0112\\u0114\\u0116\\u0118\\u011A]/g,\n G: /[\\u011C\\u011E\\u0120\\u0122]/g,\n H: /[\\u0124\\u0126]/g,\n I: /[\\xCC-\\xCF\\u0128\\u012A\\u012C\\u012E\\u0130]/g,\n IJ: /[\\u0132]/g,\n J: /[\\u0134]/g,\n K: /[\\u0136]/g,\n L: /[\\u0139\\u013B\\u013D\\u013F\\u0141]/g,\n N: /[\\xD1\\u0143\\u0145\\u0147\\u014A]/g,\n O: /[\\xD2-\\xD6\\xD8\\u014C\\u014E\\u0150]/g,\n OE: /[\\u0152]/g,\n R: /[\\u0154\\u0156\\u0158]/g,\n S: /[\\u015A\\u015C\\u015E\\u0160]/g,\n T: /[\\u0162\\u0164\\u0166]/g,\n U: /[\\xD9-\\xDC\\u0168\\u016A\\u016C\\u016E\\u0170\\u0172]/g,\n W: /[\\u0174]/g,\n Y: /[\\xDD\\u0176\\u0178]/g,\n Z: /[\\u0179\\u017B\\u017D]/g,\n a: /[\\xE0-\\xE5\\u0101\\u0103\\u0105]/g,\n ae: /[\\xE6]/g,\n c: /[\\xE7\\u0107\\u0109\\u010B\\u010D]/g,\n d: /[\\u010F\\u0111]/g,\n e: /[\\xE8-\\xEB\\u0113\\u0115\\u0117\\u0119\\u011B]/g,\n g: /[\\u011D\\u011F\\u0121\\u0123]/g,\n i: /[\\xEC-\\xEF\\u0129\\u012B\\u012D\\u012F\\u0131]/g,\n ij: /[\\u0133]/g,\n j: /[\\u0135]/g,\n k: /[\\u0137,\\u0138]/g,\n l: /[\\u013A\\u013C\\u013E\\u0140\\u0142]/g,\n n: /[\\xF1\\u0144\\u0146\\u0148\\u014B]/g,\n p: /[\\xFE]/g,\n o: /[\\xF2-\\xF6\\xF8\\u014D\\u014F\\u0151]/g,\n oe: /[\\u0153]/g,\n r: /[\\u0155\\u0157\\u0159]/g,\n s: /[\\u015B\\u015D\\u015F\\u0161]/g,\n t: /[\\u0163\\u0165\\u0167]/g,\n u: /[\\xF9-\\xFC\\u0169\\u016B\\u016D\\u016F\\u0171\\u0173]/g,\n w: /[\\u0175]/g,\n y: /[\\xFD\\xFF\\u0177]/g,\n z: /[\\u017A\\u017C\\u017E]/g\n };\n for (let key in accentsMap) {\n str = str.replace(accentsMap[key], key);\n }\n }\n return str;\n}\n\n// src/object/methods/reorderArray.ts\nfunction reorderArray(value, from, to) {\n if (value && from !== to) {\n if (to >= value.length) {\n to %= value.length;\n from %= value.length;\n }\n value.splice(to, 0, value.splice(from, 1)[0]);\n }\n}\n\n// src/object/methods/sort.ts\nfunction sort(value1, value2, order = 1, comparator, nullSortOrder = 1) {\n const result = compare(value1, value2, comparator, order);\n let finalSortOrder = order;\n if (isEmpty(value1) || isEmpty(value2)) {\n finalSortOrder = nullSortOrder === 1 ? order : nullSortOrder;\n }\n return finalSortOrder * result;\n}\n\n// src/object/methods/stringify.ts\nfunction stringify(value, indent = 2, currentIndent = 0) {\n const currentIndentStr = \" \".repeat(currentIndent);\n const nextIndentStr = \" \".repeat(currentIndent + indent);\n if (isArray(value)) {\n return \"[\" + value.map((v) => stringify(v, indent, currentIndent + indent)).join(\", \") + \"]\";\n } else if (isDate(value)) {\n return value.toISOString();\n } else if (isFunction(value)) {\n return value.toString();\n } else if (isObject(value)) {\n return \"{\\n\" + Object.entries(value).map(([k, v]) => `${nextIndentStr}${k}: ${stringify(v, indent, currentIndent + indent)}`).join(\",\\n\") + `\n${currentIndentStr}}`;\n } else {\n return JSON.stringify(value);\n }\n}\n\n// src/object/methods/toCapitalCase.ts\nfunction toCapitalCase(str) {\n return isString(str, false) ? str[0].toUpperCase() + str.slice(1) : str;\n}\n\n// src/object/methods/toKebabCase.ts\nfunction toKebabCase(str) {\n return isString(str) ? str.replace(/(_)/g, \"-\").replace(/[A-Z]/g, (c, i) => i === 0 ? c : \"-\" + c.toLowerCase()).toLowerCase() : str;\n}\n\n// src/object/methods/toTokenKey.ts\nfunction toTokenKey(str) {\n return isString(str) ? str.replace(/[A-Z]/g, (c, i) => i === 0 ? c : \".\" + c.toLowerCase()).toLowerCase() : str;\n}\n\n// src/object/methods/toValue.ts\nfunction toValue(value) {\n if (value && typeof value === \"object\") {\n if (value.hasOwnProperty(\"current\")) {\n return value.current;\n } else if (value.hasOwnProperty(\"value\")) {\n return value.value;\n }\n }\n return resolve(value);\n}\nexport {\n compare,\n contains,\n deepEquals,\n equals,\n filter,\n findIndexInList,\n findLast,\n findLastIndex,\n getKeyValue,\n insertIntoOrderedArray,\n isArray,\n isDate,\n isEmpty,\n isFunction,\n isLetter,\n isNotEmpty,\n isNumber,\n isObject,\n isPrintableCharacter,\n isScalar,\n isString,\n localeComparator,\n matchRegex,\n mergeKeys,\n minifyCSS,\n nestedKeys,\n omit,\n removeAccents,\n reorderArray,\n resolve,\n resolveFieldData,\n sort,\n stringify,\n toCapitalCase,\n toFlatCase,\n toKebabCase,\n toTokenKey,\n toValue\n};\n//# sourceMappingURL=index.mjs.map","// src/eventbus/index.ts\nfunction EventBus() {\n const allHandlers = /* @__PURE__ */ new Map();\n return {\n on(type, handler) {\n let handlers = allHandlers.get(type);\n if (!handlers) handlers = [handler];\n else handlers.push(handler);\n allHandlers.set(type, handlers);\n return this;\n },\n off(type, handler) {\n let handlers = allHandlers.get(type);\n if (handlers) {\n handlers.splice(handlers.indexOf(handler) >>> 0, 1);\n }\n return this;\n },\n emit(type, evt) {\n let handlers = allHandlers.get(type);\n if (handlers) {\n handlers.slice().map((handler) => {\n handler(evt);\n });\n }\n },\n clear() {\n allHandlers.clear();\n }\n };\n}\nexport {\n EventBus\n};\n//# sourceMappingURL=index.mjs.map","var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\n\n// src/actions/definePreset.ts\nimport { mergeKeys } from \"@primeuix/utils/object\";\nfunction definePreset(...presets) {\n return mergeKeys(...presets);\n}\n\n// src/actions/updatePreset.ts\nimport { mergeKeys as mergeKeys3 } from \"@primeuix/utils/object\";\n\n// src/service/index.ts\nimport { EventBus } from \"@primeuix/utils/eventbus\";\nvar ThemeService = EventBus();\nvar service_default = ThemeService;\n\n// src/utils/sharedUtils.ts\nimport { getKeyValue, isArray, isNotEmpty, isNumber, isObject, isString, matchRegex, toKebabCase } from \"@primeuix/utils/object\";\nfunction toTokenKey(str) {\n return isString(str) ? str.replace(/[A-Z]/g, (c, i) => i === 0 ? c : \".\" + c.toLowerCase()).toLowerCase() : str;\n}\nfunction merge(value1, value2) {\n if (isArray(value1)) {\n value1.push(...value2 || []);\n } else if (isObject(value1)) {\n Object.assign(value1, value2);\n }\n}\nfunction toValue(value) {\n return isObject(value) && value.hasOwnProperty(\"value\") && value.hasOwnProperty(\"type\") ? value.value : value;\n}\nfunction toUnit(value, variable = \"\") {\n const excludedProperties = [\"opacity\", \"z-index\", \"line-height\", \"font-weight\", \"flex\", \"flex-grow\", \"flex-shrink\", \"order\"];\n if (!excludedProperties.some((property) => variable.endsWith(property))) {\n const val = `${value}`.trim();\n const valArr = val.split(\" \");\n return valArr.map((v) => isNumber(v) ? `${v}px` : v).join(\" \");\n }\n return value;\n}\nfunction toNormalizePrefix(prefix) {\n return prefix.replaceAll(/ /g, \"\").replace(/[^\\w]/g, \"-\");\n}\nfunction toNormalizeVariable(prefix = \"\", variable = \"\") {\n return toNormalizePrefix(`${isString(prefix, false) && isString(variable, false) ? `${prefix}-` : prefix}${variable}`);\n}\nfunction getVariableName(prefix = \"\", variable = \"\") {\n return `--${toNormalizeVariable(prefix, variable)}`;\n}\nfunction hasOddBraces(str = \"\") {\n const openBraces = (str.match(/{/g) || []).length;\n const closeBraces = (str.match(/}/g) || []).length;\n return (openBraces + closeBraces) % 2 !== 0;\n}\nfunction getVariableValue(value, variable = \"\", prefix = \"\", excludedKeyRegexes = [], fallback) {\n if (isString(value)) {\n const regex = /{([^}]*)}/g;\n const val = value.trim();\n if (hasOddBraces(val)) {\n return void 0;\n } else if (matchRegex(val, regex)) {\n const _val = val.replaceAll(regex, (v) => {\n const path = v.replace(/{|}/g, \"\");\n const keys = path.split(\".\").filter((_v) => !excludedKeyRegexes.some((_r) => matchRegex(_v, _r)));\n return `var(${getVariableName(prefix, toKebabCase(keys.join(\"-\")))}${isNotEmpty(fallback) ? `, ${fallback}` : \"\"})`;\n });\n const calculationRegex = /(\\d+\\s+[\\+\\-\\*\\/]\\s+\\d+)/g;\n const cleanedVarRegex = /var\\([^)]+\\)/g;\n return matchRegex(_val.replace(cleanedVarRegex, \"0\"), calculationRegex) ? `calc(${_val})` : _val;\n }\n return val;\n } else if (isNumber(value)) {\n return value;\n }\n return void 0;\n}\nfunction getComputedValue(obj = {}, value) {\n if (isString(value)) {\n const regex = /{([^}]*)}/g;\n const val = value.trim();\n return matchRegex(val, regex) ? val.replaceAll(regex, (v) => getKeyValue(obj, v.replace(/{|}/g, \"\"))) : val;\n } else if (isNumber(value)) {\n return value;\n }\n return void 0;\n}\nfunction setProperty(properties, key, value) {\n if (isString(key, false)) {\n properties.push(`${key}:${value};`);\n }\n}\nfunction getRule(selector, properties) {\n if (selector) {\n return `${selector}{${properties}}`;\n }\n return \"\";\n}\n\n// src/utils/themeUtils.ts\nimport { isArray as isArray2, isEmpty as isEmpty2, isNotEmpty as isNotEmpty2, isObject as isObject3, matchRegex as matchRegex4, minifyCSS, resolve as resolve2, toTokenKey as toTokenKey2 } from \"@primeuix/utils/object\";\n\n// src/helpers/color/mix.ts\nfunction normalizeColor(color) {\n if (color.length === 4) {\n return `#${color[1]}${color[1]}${color[2]}${color[2]}${color[3]}${color[3]}`;\n }\n return color;\n}\nfunction hexToRgb(hex) {\n var bigint = parseInt(hex.substring(1), 16);\n var r = bigint >> 16 & 255;\n var g = bigint >> 8 & 255;\n var b = bigint & 255;\n return { r, g, b };\n}\nfunction rgbToHex(r, g, b) {\n return `#${r.toString(16).padStart(2, \"0\")}${g.toString(16).padStart(2, \"0\")}${b.toString(16).padStart(2, \"0\")}`;\n}\nvar mix_default = (color1, color2, weight) => {\n color1 = normalizeColor(color1);\n color2 = normalizeColor(color2);\n var p = weight / 100;\n var w = p * 2 - 1;\n var w1 = (w + 1) / 2;\n var w2 = 1 - w1;\n var rgb1 = hexToRgb(color1);\n var rgb2 = hexToRgb(color2);\n var r = Math.round(rgb1.r * w1 + rgb2.r * w2);\n var g = Math.round(rgb1.g * w1 + rgb2.g * w2);\n var b = Math.round(rgb1.b * w1 + rgb2.b * w2);\n return rgbToHex(r, g, b);\n};\n\n// src/helpers/color/shade.ts\nvar shade_default = (color, percent) => mix_default(\"#000000\", color, percent);\n\n// src/helpers/color/tint.ts\nvar tint_default = (color, percent) => mix_default(\"#ffffff\", color, percent);\n\n// src/helpers/color/palette.ts\nvar scales = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950];\nvar palette_default = (color) => {\n if (/{([^}]*)}/g.test(color)) {\n const token = color.replace(/{|}/g, \"\");\n return scales.reduce((acc, scale) => (acc[scale] = `{${token}.${scale}}`, acc), {});\n }\n return typeof color === \"string\" ? scales.reduce((acc, scale, i) => (acc[scale] = i <= 5 ? tint_default(color, (5 - i) * 19) : shade_default(color, (i - 5) * 15), acc), {}) : color;\n};\n\n// src/helpers/css.ts\nimport { resolve } from \"@primeuix/utils/object\";\n\n// src/helpers/dt.ts\nimport { isEmpty, matchRegex as matchRegex2 } from \"@primeuix/utils/object\";\nvar $dt = (tokenPath) => {\n var _a;\n const theme = config_default.getTheme();\n const variable = dtwt(theme, tokenPath, void 0, \"variable\");\n const name = (_a = variable == null ? void 0 : variable.match(/--[\\w-]+/g)) == null ? void 0 : _a[0];\n const value = dtwt(theme, tokenPath, void 0, \"value\");\n return {\n name,\n variable,\n value\n };\n};\nvar dt = (...args) => {\n return dtwt(config_default.getTheme(), ...args);\n};\nvar dtwt = (theme = {}, tokenPath, fallback, type) => {\n if (tokenPath) {\n const { variable: VARIABLE, options: OPTIONS } = config_default.defaults || {};\n const { prefix, transform } = (theme == null ? void 0 : theme.options) || OPTIONS || {};\n const regex = /{([^}]*)}/g;\n const token = matchRegex2(tokenPath, regex) ? tokenPath : `{${tokenPath}}`;\n const isStrictTransform = type === \"value\" || isEmpty(type) && transform === \"strict\";\n return isStrictTransform ? config_default.getTokenValue(tokenPath) : getVariableValue(token, void 0, prefix, [VARIABLE.excludedKeyRegex], fallback);\n }\n return \"\";\n};\n\n// src/helpers/css.ts\nfunction css(style) {\n return resolve(style, { dt });\n}\n\n// src/helpers/t.ts\nimport { mergeKeys as mergeKeys2 } from \"@primeuix/utils/object\";\nvar $t = (theme = {}) => {\n let { preset: _preset, options: _options } = theme;\n return {\n preset(value) {\n _preset = _preset ? mergeKeys2(_preset, value) : value;\n return this;\n },\n options(value) {\n _options = _options ? __spreadValues(__spreadValues({}, _options), value) : value;\n return this;\n },\n // features\n primaryPalette(primary) {\n const { semantic } = _preset || {};\n _preset = __spreadProps(__spreadValues({}, _preset), { semantic: __spreadProps(__spreadValues({}, semantic), { primary }) });\n return this;\n },\n surfacePalette(surface) {\n var _a, _b;\n const { semantic } = _preset || {};\n const lightSurface = (surface == null ? void 0 : surface.hasOwnProperty(\"light\")) ? surface == null ? void 0 : surface.light : surface;\n const darkSurface = (surface == null ? void 0 : surface.hasOwnProperty(\"dark\")) ? surface == null ? void 0 : surface.dark : surface;\n const newColorScheme = {\n colorScheme: {\n light: __spreadValues(__spreadValues({}, (_a = semantic == null ? void 0 : semantic.colorScheme) == null ? void 0 : _a.light), !!lightSurface && { surface: lightSurface }),\n dark: __spreadValues(__spreadValues({}, (_b = semantic == null ? void 0 : semantic.colorScheme) == null ? void 0 : _b.dark), !!darkSurface && { surface: darkSurface })\n }\n };\n _preset = __spreadProps(__spreadValues({}, _preset), { semantic: __spreadValues(__spreadValues({}, semantic), newColorScheme) });\n return this;\n },\n // actions\n define({ useDefaultPreset = false, useDefaultOptions = false } = {}) {\n return {\n preset: useDefaultPreset ? config_default.getPreset() : _preset,\n options: useDefaultOptions ? config_default.getOptions() : _options\n };\n },\n update({ mergePresets = true, mergeOptions = true } = {}) {\n const newTheme = {\n preset: mergePresets ? mergeKeys2(config_default.getPreset(), _preset) : _preset,\n options: mergeOptions ? __spreadValues(__spreadValues({}, config_default.getOptions()), _options) : _options\n };\n config_default.setTheme(newTheme);\n return newTheme;\n },\n use(options) {\n const newTheme = this.define(options);\n config_default.setTheme(newTheme);\n return newTheme;\n }\n };\n};\n\n// src/helpers/toVariables.ts\nimport { isObject as isObject2, matchRegex as matchRegex3, toKebabCase as toKebabCase2 } from \"@primeuix/utils/object\";\nfunction toVariables_default(theme, options = {}) {\n const VARIABLE = config_default.defaults.variable;\n const { prefix = VARIABLE.prefix, selector = VARIABLE.selector, excludedKeyRegex = VARIABLE.excludedKeyRegex } = options;\n const _toVariables = (_theme, _prefix = \"\") => {\n return Object.entries(_theme).reduce(\n (acc, [key, value]) => {\n const px = matchRegex3(key, excludedKeyRegex) ? toNormalizeVariable(_prefix) : toNormalizeVariable(_prefix, toKebabCase2(key));\n const v = toValue(value);\n if (isObject2(v)) {\n const { variables: variables2, tokens: tokens2 } = _toVariables(v, px);\n merge(acc[\"tokens\"], tokens2);\n merge(acc[\"variables\"], variables2);\n } else {\n acc[\"tokens\"].push((prefix ? px.replace(`${prefix}-`, \"\") : px).replaceAll(\"-\", \".\"));\n setProperty(acc[\"variables\"], getVariableName(px), getVariableValue(v, px, prefix, [excludedKeyRegex]));\n }\n return acc;\n },\n { variables: [], tokens: [] }\n );\n };\n const { variables, tokens } = _toVariables(theme, prefix);\n return {\n value: variables,\n tokens,\n declarations: variables.join(\"\"),\n css: getRule(selector, variables.join(\"\"))\n };\n}\n\n// src/utils/themeUtils.ts\nvar themeUtils_default = {\n regex: {\n rules: {\n class: {\n pattern: /^\\.([a-zA-Z][\\w-]*)$/,\n resolve(value) {\n return { type: \"class\", selector: value, matched: this.pattern.test(value.trim()) };\n }\n },\n attr: {\n pattern: /^\\[(.*)\\]$/,\n resolve(value) {\n return { type: \"attr\", selector: `:root${value}`, matched: this.pattern.test(value.trim()) };\n }\n },\n media: {\n pattern: /^@media (.*)$/,\n resolve(value) {\n return { type: \"media\", selector: `${value}{:root{[CSS]}}`, matched: this.pattern.test(value.trim()) };\n }\n },\n system: {\n pattern: /^system$/,\n resolve(value) {\n return { type: \"system\", selector: \"@media (prefers-color-scheme: dark){:root{[CSS]}}\", matched: this.pattern.test(value.trim()) };\n }\n },\n custom: {\n resolve(value) {\n return { type: \"custom\", selector: value, matched: true };\n }\n }\n },\n resolve(value) {\n const rules = Object.keys(this.rules).filter((k) => k !== \"custom\").map((r) => this.rules[r]);\n return [value].flat().map((v) => {\n var _a;\n return (_a = rules.map((r) => r.resolve(v)).find((rr) => rr.matched)) != null ? _a : this.rules.custom.resolve(v);\n });\n }\n },\n _toVariables(theme, options) {\n return toVariables_default(theme, { prefix: options == null ? void 0 : options.prefix });\n },\n getCommon({ name = \"\", theme = {}, params, set, defaults }) {\n var _e, _f, _g, _h, _i, _j, _k;\n const { preset, options } = theme;\n let primitive_css, primitive_tokens, semantic_css, semantic_tokens, global_css, global_tokens, style;\n if (isNotEmpty2(preset) && options.transform !== \"strict\") {\n const { primitive, semantic, extend } = preset;\n const _a = semantic || {}, { colorScheme } = _a, sRest = __objRest(_a, [\"colorScheme\"]);\n const _b = extend || {}, { colorScheme: eColorScheme } = _b, eRest = __objRest(_b, [\"colorScheme\"]);\n const _c = colorScheme || {}, { dark } = _c, csRest = __objRest(_c, [\"dark\"]);\n const _d = eColorScheme || {}, { dark: eDark } = _d, ecsRest = __objRest(_d, [\"dark\"]);\n const prim_var = isNotEmpty2(primitive) ? this._toVariables({ primitive }, options) : {};\n const sRest_var = isNotEmpty2(sRest) ? this._toVariables({ semantic: sRest }, options) : {};\n const csRest_var = isNotEmpty2(csRest) ? this._toVariables({ light: csRest }, options) : {};\n const csDark_var = isNotEmpty2(dark) ? this._toVariables({ dark }, options) : {};\n const eRest_var = isNotEmpty2(eRest) ? this._toVariables({ semantic: eRest }, options) : {};\n const ecsRest_var = isNotEmpty2(ecsRest) ? this._toVariables({ light: ecsRest }, options) : {};\n const ecsDark_var = isNotEmpty2(eDark) ? this._toVariables({ dark: eDark }, options) : {};\n const [prim_css, prim_tokens] = [(_e = prim_var.declarations) != null ? _e : \"\", prim_var.tokens];\n const [sRest_css, sRest_tokens] = [(_f = sRest_var.declarations) != null ? _f : \"\", sRest_var.tokens || []];\n const [csRest_css, csRest_tokens] = [(_g = csRest_var.declarations) != null ? _g : \"\", csRest_var.tokens || []];\n const [csDark_css, csDark_tokens] = [(_h = csDark_var.declarations) != null ? _h : \"\", csDark_var.tokens || []];\n const [eRest_css, eRest_tokens] = [(_i = eRest_var.declarations) != null ? _i : \"\", eRest_var.tokens || []];\n const [ecsRest_css, ecsRest_tokens] = [(_j = ecsRest_var.declarations) != null ? _j : \"\", ecsRest_var.tokens || []];\n const [ecsDark_css, ecsDark_tokens] = [(_k = ecsDark_var.declarations) != null ? _k : \"\", ecsDark_var.tokens || []];\n primitive_css = this.transformCSS(name, prim_css, \"light\", \"variable\", options, set, defaults);\n primitive_tokens = prim_tokens;\n const semantic_light_css = this.transformCSS(name, `${sRest_css}${csRest_css}`, \"light\", \"variable\", options, set, defaults);\n const semantic_dark_css = this.transformCSS(name, `${csDark_css}`, \"dark\", \"variable\", options, set, defaults);\n semantic_css = `${semantic_light_css}${semantic_dark_css}`;\n semantic_tokens = [.../* @__PURE__ */ new Set([...sRest_tokens, ...csRest_tokens, ...csDark_tokens])];\n const global_light_css = this.transformCSS(name, `${eRest_css}${ecsRest_css}color-scheme:light`, \"light\", \"variable\", options, set, defaults);\n const global_dark_css = this.transformCSS(name, `${ecsDark_css}color-scheme:dark`, \"dark\", \"variable\", options, set, defaults);\n global_css = `${global_light_css}${global_dark_css}`;\n global_tokens = [.../* @__PURE__ */ new Set([...eRest_tokens, ...ecsRest_tokens, ...ecsDark_tokens])];\n style = resolve2(preset.css, { dt });\n }\n return {\n primitive: {\n css: primitive_css,\n tokens: primitive_tokens\n },\n semantic: {\n css: semantic_css,\n tokens: semantic_tokens\n },\n global: {\n css: global_css,\n tokens: global_tokens\n },\n style\n };\n },\n getPreset({ name = \"\", preset = {}, options, params, set, defaults, selector }) {\n var _e, _f, _g;\n let p_css, p_tokens, p_style;\n if (isNotEmpty2(preset) && options.transform !== \"strict\") {\n const _name = name.replace(\"-directive\", \"\");\n const _a = preset, { colorScheme, extend, css: css2 } = _a, vRest = __objRest(_a, [\"colorScheme\", \"extend\", \"css\"]);\n const _b = extend || {}, { colorScheme: eColorScheme } = _b, evRest = __objRest(_b, [\"colorScheme\"]);\n const _c = colorScheme || {}, { dark } = _c, csRest = __objRest(_c, [\"dark\"]);\n const _d = eColorScheme || {}, { dark: ecsDark } = _d, ecsRest = __objRest(_d, [\"dark\"]);\n const vRest_var = isNotEmpty2(vRest) ? this._toVariables({ [_name]: __spreadValues(__spreadValues({}, vRest), evRest) }, options) : {};\n const csRest_var = isNotEmpty2(csRest) ? this._toVariables({ [_name]: __spreadValues(__spreadValues({}, csRest), ecsRest) }, options) : {};\n const csDark_var = isNotEmpty2(dark) ? this._toVariables({ [_name]: __spreadValues(__spreadValues({}, dark), ecsDark) }, options) : {};\n const [vRest_css, vRest_tokens] = [(_e = vRest_var.declarations) != null ? _e : \"\", vRest_var.tokens || []];\n const [csRest_css, csRest_tokens] = [(_f = csRest_var.declarations) != null ? _f : \"\", csRest_var.tokens || []];\n const [csDark_css, csDark_tokens] = [(_g = csDark_var.declarations) != null ? _g : \"\", csDark_var.tokens || []];\n const light_variable_css = this.transformCSS(_name, `${vRest_css}${csRest_css}`, \"light\", \"variable\", options, set, defaults, selector);\n const dark_variable_css = this.transformCSS(_name, csDark_css, \"dark\", \"variable\", options, set, defaults, selector);\n p_css = `${light_variable_css}${dark_variable_css}`;\n p_tokens = [.../* @__PURE__ */ new Set([...vRest_tokens, ...csRest_tokens, ...csDark_tokens])];\n p_style = resolve2(css2, { dt });\n }\n return {\n css: p_css,\n tokens: p_tokens,\n style: p_style\n };\n },\n getPresetC({ name = \"\", theme = {}, params, set, defaults }) {\n var _a;\n const { preset, options } = theme;\n const cPreset = (_a = preset == null ? void 0 : preset.components) == null ? void 0 : _a[name];\n return this.getPreset({ name, preset: cPreset, options, params, set, defaults });\n },\n getPresetD({ name = \"\", theme = {}, params, set, defaults }) {\n var _a;\n const dName = name.replace(\"-directive\", \"\");\n const { preset, options } = theme;\n const dPreset = (_a = preset == null ? void 0 : preset.directives) == null ? void 0 : _a[dName];\n return this.getPreset({ name: dName, preset: dPreset, options, params, set, defaults });\n },\n applyDarkColorScheme(options) {\n return !(options.darkModeSelector === \"none\" || options.darkModeSelector === false);\n },\n getColorSchemeOption(options, defaults) {\n var _a;\n return this.applyDarkColorScheme(options) ? this.regex.resolve(options.darkModeSelector === true ? defaults.options.darkModeSelector : (_a = options.darkModeSelector) != null ? _a : defaults.options.darkModeSelector) : [];\n },\n getLayerOrder(name, options = {}, params, defaults) {\n const { cssLayer } = options;\n if (cssLayer) {\n const order = resolve2(cssLayer.order || \"primeui\", params);\n return `@layer ${order}`;\n }\n return \"\";\n },\n getCommonStyleSheet({ name = \"\", theme = {}, params, props = {}, set, defaults }) {\n const common = this.getCommon({ name, theme, params, set, defaults });\n const _props = Object.entries(props).reduce((acc, [k, v]) => acc.push(`${k}=\"${v}\"`) && acc, []).join(\" \");\n return Object.entries(common || {}).reduce((acc, [key, value]) => {\n if (value == null ? void 0 : value.css) {\n const _css = minifyCSS(value == null ? void 0 : value.css);\n const id = `${key}-variables`;\n acc.push(`<style type=\"text/css\" data-primevue-style-id=\"${id}\" ${_props}>${_css}</style>`);\n }\n return acc;\n }, []).join(\"\");\n },\n getStyleSheet({ name = \"\", theme = {}, params, props = {}, set, defaults }) {\n var _a;\n const options = { name, theme, params, set, defaults };\n const preset_css = (_a = name.includes(\"-directive\") ? this.getPresetD(options) : this.getPresetC(options)) == null ? void 0 : _a.css;\n const _props = Object.entries(props).reduce((acc, [k, v]) => acc.push(`${k}=\"${v}\"`) && acc, []).join(\" \");\n return preset_css ? `<style type=\"text/css\" data-primevue-style-id=\"${name}-variables\" ${_props}>${minifyCSS(preset_css)}</style>` : \"\";\n },\n createTokens(obj = {}, defaults, parentKey = \"\", parentPath = \"\", tokens = {}) {\n Object.entries(obj).forEach(([key, value]) => {\n const currentKey = matchRegex4(key, defaults.variable.excludedKeyRegex) ? parentKey : parentKey ? `${parentKey}.${toTokenKey2(key)}` : toTokenKey2(key);\n const currentPath = parentPath ? `${parentPath}.${key}` : key;\n if (isObject3(value)) {\n this.createTokens(value, defaults, currentKey, currentPath, tokens);\n } else {\n tokens[currentKey] || (tokens[currentKey] = {\n paths: [],\n computed(colorScheme, tokenPathMap = {}) {\n var _a, _b;\n if (this.paths.length === 1) {\n return (_a = this.paths[0]) == null ? void 0 : _a.computed(this.paths[0].scheme, tokenPathMap[\"binding\"]);\n } else if (colorScheme && colorScheme !== \"none\") {\n return (_b = this.paths.find((p) => p.scheme === colorScheme)) == null ? void 0 : _b.computed(colorScheme, tokenPathMap[\"binding\"]);\n }\n return this.paths.map((p) => p.computed(p.scheme, tokenPathMap[p.scheme]));\n }\n });\n tokens[currentKey].paths.push({\n path: currentPath,\n value,\n scheme: currentPath.includes(\"colorScheme.light\") ? \"light\" : currentPath.includes(\"colorScheme.dark\") ? \"dark\" : \"none\",\n computed(colorScheme, tokenPathMap = {}) {\n const regex = /{([^}]*)}/g;\n let computedValue = value;\n tokenPathMap[\"name\"] = this.path;\n tokenPathMap[\"binding\"] || (tokenPathMap[\"binding\"] = {});\n if (matchRegex4(value, regex)) {\n const val = value.trim();\n const _val = val.replaceAll(regex, (v) => {\n var _a;\n const path = v.replace(/{|}/g, \"\");\n const computed = (_a = tokens[path]) == null ? void 0 : _a.computed(colorScheme, tokenPathMap);\n return isArray2(computed) && computed.length === 2 ? `light-dark(${computed[0].value},${computed[1].value})` : computed == null ? void 0 : computed.value;\n });\n const calculationRegex = /(\\d+\\w*\\s+[\\+\\-\\*\\/]\\s+\\d+\\w*)/g;\n const cleanedVarRegex = /var\\([^)]+\\)/g;\n computedValue = matchRegex4(_val.replace(cleanedVarRegex, \"0\"), calculationRegex) ? `calc(${_val})` : _val;\n }\n isEmpty2(tokenPathMap[\"binding\"]) && delete tokenPathMap[\"binding\"];\n return {\n colorScheme,\n path: this.path,\n paths: tokenPathMap,\n value: computedValue.includes(\"undefined\") ? void 0 : computedValue\n };\n }\n });\n }\n });\n return tokens;\n },\n getTokenValue(tokens, path, defaults) {\n var _a;\n const normalizePath = (str) => {\n const strArr = str.split(\".\");\n return strArr.filter((s) => !matchRegex4(s.toLowerCase(), defaults.variable.excludedKeyRegex)).join(\".\");\n };\n const token = normalizePath(path);\n const colorScheme = path.includes(\"colorScheme.light\") ? \"light\" : path.includes(\"colorScheme.dark\") ? \"dark\" : void 0;\n const computedValues = [(_a = tokens[token]) == null ? void 0 : _a.computed(colorScheme)].flat().filter((computed) => computed);\n return computedValues.length === 1 ? computedValues[0].value : computedValues.reduce((acc = {}, computed) => {\n const _a2 = computed, { colorScheme: cs } = _a2, rest = __objRest(_a2, [\"colorScheme\"]);\n acc[cs] = rest;\n return acc;\n }, void 0);\n },\n getSelectorRule(selector1, selector2, type, css2) {\n return type === \"class\" || type === \"attr\" ? getRule(isNotEmpty2(selector2) ? `${selector1}${selector2},${selector1} ${selector2}` : selector1, css2) : getRule(selector1, isNotEmpty2(selector2) ? getRule(selector2, css2) : css2);\n },\n transformCSS(name, css2, mode, type, options = {}, set, defaults, selector) {\n if (isNotEmpty2(css2)) {\n const { cssLayer } = options;\n if (type !== \"style\") {\n const colorSchemeOption = this.getColorSchemeOption(options, defaults);\n css2 = mode === \"dark\" ? colorSchemeOption.reduce((acc, { type: type2, selector: _selector }) => {\n if (isNotEmpty2(_selector)) {\n acc += _selector.includes(\"[CSS]\") ? _selector.replace(\"[CSS]\", css2) : this.getSelectorRule(_selector, selector, type2, css2);\n }\n return acc;\n }, \"\") : getRule(selector != null ? selector : \":root\", css2);\n }\n if (cssLayer) {\n const layerOptions = {\n name: \"primeui\",\n order: \"primeui\"\n };\n isObject3(cssLayer) && (layerOptions.name = resolve2(cssLayer.name, { name, type }));\n if (isNotEmpty2(layerOptions.name)) {\n css2 = getRule(`@layer ${layerOptions.name}`, css2);\n set == null ? void 0 : set.layerNames(layerOptions.name);\n }\n }\n return css2;\n }\n return \"\";\n }\n};\n\n// src/config/index.ts\nvar config_default = {\n defaults: {\n variable: {\n prefix: \"p\",\n selector: \":root\",\n excludedKeyRegex: /^(primitive|semantic|components|directives|variables|colorscheme|light|dark|common|root|states|extend|css)$/gi\n },\n options: {\n prefix: \"p\",\n darkModeSelector: \"system\",\n cssLayer: false\n }\n },\n _theme: void 0,\n _layerNames: /* @__PURE__ */ new Set(),\n _loadedStyleNames: /* @__PURE__ */ new Set(),\n _loadingStyles: /* @__PURE__ */ new Set(),\n _tokens: {},\n update(newValues = {}) {\n const { theme } = newValues;\n if (theme) {\n this._theme = __spreadProps(__spreadValues({}, theme), {\n options: __spreadValues(__spreadValues({}, this.defaults.options), theme.options)\n });\n this._tokens = themeUtils_default.createTokens(this.preset, this.defaults);\n this.clearLoadedStyleNames();\n }\n },\n get theme() {\n return this._theme;\n },\n get preset() {\n var _a;\n return ((_a = this.theme) == null ? void 0 : _a.preset) || {};\n },\n get options() {\n var _a;\n return ((_a = this.theme) == null ? void 0 : _a.options) || {};\n },\n get tokens() {\n return this._tokens;\n },\n getTheme() {\n return this.theme;\n },\n setTheme(newValue) {\n this.update({ theme: newValue });\n service_default.emit(\"theme:change\", newValue);\n },\n getPreset() {\n return this.preset;\n },\n setPreset(newValue) {\n this._theme = __spreadProps(__spreadValues({}, this.theme), { preset: newValue });\n this._tokens = themeUtils_default.createTokens(newValue, this.defaults);\n this.clearLoadedStyleNames();\n service_default.emit(\"preset:change\", newValue);\n service_default.emit(\"theme:change\", this.theme);\n },\n getOptions() {\n return this.options;\n },\n setOptions(newValue) {\n this._theme = __spreadProps(__spreadValues({}, this.theme), { options: newValue });\n this.clearLoadedStyleNames();\n service_default.emit(\"options:change\", newValue);\n service_default.emit(\"theme:change\", this.theme);\n },\n getLayerNames() {\n return [...this._layerNames];\n },\n setLayerNames(layerName) {\n this._layerNames.add(layerName);\n },\n getLoadedStyleNames() {\n return this._loadedStyleNames;\n },\n isStyleNameLoaded(name) {\n return this._loadedStyleNames.has(name);\n },\n setLoadedStyleName(name) {\n this._loadedStyleNames.add(name);\n },\n deleteLoadedStyleName(name) {\n this._loadedStyleNames.delete(name);\n },\n clearLoadedStyleNames() {\n this._loadedStyleNames.clear();\n },\n getTokenValue(tokenPath) {\n return themeUtils_default.getTokenValue(this.tokens, tokenPath, this.defaults);\n },\n getCommon(name = \"\", params) {\n return themeUtils_default.getCommon({ name, theme: this.theme, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } });\n },\n getComponent(name = \"\", params) {\n const options = { name, theme: this.theme, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } };\n return themeUtils_default.getPresetC(options);\n },\n getDirective(name = \"\", params) {\n const options = { name, theme: this.theme, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } };\n return themeUtils_default.getPresetD(options);\n },\n getCustomPreset(name = \"\", preset, selector, params) {\n const options = { name, preset, options: this.options, selector, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } };\n return themeUtils_default.getPreset(options);\n },\n getLayerOrderCSS(name = \"\") {\n return themeUtils_default.getLayerOrder(name, this.options, { names: this.getLayerNames() }, this.defaults);\n },\n transformCSS(name = \"\", css2, type = \"style\", mode) {\n return themeUtils_default.transformCSS(name, css2, mode, type, this.options, { layerNames: this.setLayerNames.bind(this) }, this.defaults);\n },\n getCommonStyleSheet(name = \"\", params, props = {}) {\n return themeUtils_default.getCommonStyleSheet({ name, theme: this.theme, params, props, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } });\n },\n getStyleSheet(name, params, props = {}) {\n return themeUtils_default.getStyleSheet({ name, theme: this.theme, params, props, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } });\n },\n onStyleMounted(name) {\n this._loadingStyles.add(name);\n },\n onStyleUpdated(name) {\n this._loadingStyles.add(name);\n },\n onStyleLoaded(event, { name }) {\n if (this._loadingStyles.size) {\n this._loadingStyles.delete(name);\n service_default.emit(`theme:${name}:load`, event);\n !this._loadingStyles.size && service_default.emit(\"theme:load\");\n }\n }\n};\n\n// src/actions/updatePreset.ts\nfunction updatePreset(...presets) {\n const newPreset = mergeKeys3(config_default.getPreset(), ...presets);\n config_default.setPreset(newPreset);\n return newPreset;\n}\n\n// src/actions/updatePrimaryPalette.ts\nfunction updatePrimaryPalette(primary) {\n return $t().primaryPalette(primary).update().preset;\n}\n\n// src/actions/updateSurfacePalette.ts\nfunction updateSurfacePalette(palette) {\n return $t().surfacePalette(palette).update().preset;\n}\n\n// src/actions/usePreset.ts\nimport { mergeKeys as mergeKeys4 } from \"@primeuix/utils/object\";\nfunction usePreset(...presets) {\n const newPreset = mergeKeys4(...presets);\n config_default.setPreset(newPreset);\n return newPreset;\n}\n\n// src/actions/useTheme.ts\nfunction useTheme(theme) {\n return $t(theme).update({ mergePresets: false });\n}\nexport {\n $dt,\n $t,\n config_default as Theme,\n service_default as ThemeService,\n themeUtils_default as ThemeUtils,\n css,\n definePreset,\n dt,\n dtwt,\n getComputedValue,\n getRule,\n getVariableName,\n getVariableValue,\n hasOddBraces,\n merge,\n mix_default as mix,\n palette_default as palette,\n setProperty,\n shade_default as shade,\n tint_default as tint,\n toNormalizePrefix,\n toNormalizeVariable,\n toTokenKey,\n toUnit,\n toValue,\n toVariables_default as toVariables,\n updatePreset,\n updatePrimaryPalette,\n updateSurfacePalette,\n usePreset,\n useTheme\n};\n//# sourceMappingURL=index.mjs.map","// src/dom/methods/hasClass.ts\nfunction hasClass(element, className) {\n if (element) {\n if (element.classList) return element.classList.contains(className);\n else return new RegExp(\"(^| )\" + className + \"( |$)\", \"gi\").test(element.className);\n }\n return false;\n}\n\n// src/dom/methods/addClass.ts\nfunction addClass(element, className) {\n if (element && className) {\n const fn = (_className) => {\n if (!hasClass(element, _className)) {\n if (element.classList) element.classList.add(_className);\n else element.className += \" \" + _className;\n }\n };\n [className].flat().filter(Boolean).forEach((_classNames) => _classNames.split(\" \").forEach(fn));\n }\n}\n\n// src/dom/methods/calculateBodyScrollbarWidth.ts\nfunction calculateBodyScrollbarWidth() {\n return window.innerWidth - document.documentElement.offsetWidth;\n}\n\n// src/dom/methods/getCSSVariableByRegex.ts\nfunction getCSSVariableByRegex(variableRegex) {\n for (const sheet of document == null ? void 0 : document.styleSheets) {\n try {\n for (const rule of sheet == null ? void 0 : sheet.cssRules) {\n for (const property of rule == null ? void 0 : rule.style) {\n if (variableRegex.test(property)) {\n return { name: property, value: rule.style.getPropertyValue(property).trim() };\n }\n }\n }\n } catch (e) {\n }\n }\n return null;\n}\n\n// src/dom/helpers/blockBodyScroll.ts\nfunction blockBodyScroll(className = \"p-overflow-hidden\") {\n const variableData = getCSSVariableByRegex(/-scrollbar-width$/);\n (variableData == null ? void 0 : variableData.name) && document.body.style.setProperty(variableData.name, calculateBodyScrollbarWidth() + \"px\");\n addClass(document.body, className);\n}\n\n// src/dom/helpers/saveAs.ts\nfunction saveAs(file) {\n if (file) {\n let link = document.createElement(\"a\");\n if (link.download !== void 0) {\n const { name, src } = file;\n link.setAttribute(\"href\", src);\n link.setAttribute(\"download\", name);\n link.style.display = \"none\";\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n return true;\n }\n }\n return false;\n}\n\n// src/dom/helpers/exportCSV.ts\nfunction exportCSV(csv, filename) {\n let blob = new Blob([csv], {\n type: \"application/csv;charset=utf-8;\"\n });\n if (window.navigator.msSaveOrOpenBlob) {\n navigator.msSaveOrOpenBlob(blob, filename + \".csv\");\n } else {\n const isDownloaded = saveAs({ name: filename + \".csv\", src: URL.createObjectURL(blob) });\n if (!isDownloaded) {\n csv = \"data:text/csv;charset=utf-8,\" + csv;\n window.open(encodeURI(csv));\n }\n }\n}\n\n// src/dom/methods/removeClass.ts\nfunction removeClass(element, className) {\n if (element && className) {\n const fn = (_className) => {\n if (element.classList) element.classList.remove(_className);\n else element.className = element.className.replace(new RegExp(\"(^|\\\\b)\" + _className.split(\" \").join(\"|\") + \"(\\\\b|$)\", \"gi\"), \" \");\n };\n [className].flat().filter(Boolean).forEach((_classNames) => _classNames.split(\" \").forEach(fn));\n }\n}\n\n// src/dom/helpers/unblockBodyScroll.ts\nfunction unblockBodyScroll(className = \"p-overflow-hidden\") {\n const variableData = getCSSVariableByRegex(/-scrollbar-width$/);\n (variableData == null ? void 0 : variableData.name) && document.body.style.removeProperty(variableData.name);\n removeClass(document.body, className);\n}\n\n// src/dom/methods/getHiddenElementDimensions.ts\nfunction getHiddenElementDimensions(element) {\n let dimensions = { width: 0, height: 0 };\n if (element) {\n element.style.visibility = \"hidden\";\n element.style.display = \"block\";\n dimensions.width = element.offsetWidth;\n dimensions.height = element.offsetHeight;\n element.style.display = \"none\";\n element.style.visibility = \"visible\";\n }\n return dimensions;\n}\n\n// src/dom/methods/getViewport.ts\nfunction getViewport() {\n let win = window, d = document, e = d.documentElement, g = d.getElementsByTagName(\"body\")[0], w = win.innerWidth || e.clientWidth || g.clientWidth, h = win.innerHeight || e.clientHeight || g.clientHeight;\n return { width: w, height: h };\n}\n\n// src/dom/methods/getWindowScrollLeft.ts\nfunction getWindowScrollLeft() {\n let doc = document.documentElement;\n return (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0);\n}\n\n// src/dom/methods/getWindowScrollTop.ts\nfunction getWindowScrollTop() {\n let doc = document.documentElement;\n return (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);\n}\n\n// src/dom/methods/absolutePosition.ts\nfunction absolutePosition(element, target, gutter = true) {\n var _a, _b, _c, _d;\n if (element) {\n const elementDimensions = element.offsetParent ? { width: element.offsetWidth, height: element.offsetHeight } : getHiddenElementDimensions(element);\n const elementOuterHeight = elementDimensions.height;\n const elementOuterWidth = elementDimensions.width;\n const targetOuterHeight = target.offsetHeight;\n const targetOuterWidth = target.offsetWidth;\n const targetOffset = target.getBoundingClientRect();\n const windowScrollTop = getWindowScrollTop();\n const windowScrollLeft = getWindowScrollLeft();\n const viewport = getViewport();\n let top, left, origin = \"top\";\n if (targetOffset.top + targetOuterHeight + elementOuterHeight > viewport.height) {\n top = targetOffset.top + windowScrollTop - elementOuterHeight;\n origin = \"bottom\";\n if (top < 0) {\n top = windowScrollTop;\n }\n } else {\n top = targetOuterHeight + targetOffset.top + windowScrollTop;\n }\n if (targetOffset.left + elementOuterWidth > viewport.width) left = Math.max(0, targetOffset.left + windowScrollLeft + targetOuterWidth - elementOuterWidth);\n else left = targetOffset.left + windowScrollLeft;\n element.style.top = top + \"px\";\n element.style.left = left + \"px\";\n element.style.transformOrigin = origin;\n gutter && (element.style.marginTop = origin === \"bottom\" ? `calc(${(_b = (_a = getCSSVariableByRegex(/-anchor-gutter$/)) == null ? void 0 : _a.value) != null ? _b : \"2px\"} * -1)` : (_d = (_c = getCSSVariableByRegex(/-anchor-gutter$/)) == null ? void 0 : _c.value) != null ? _d : \"\");\n }\n}\n\n// src/dom/methods/addStyle.ts\nfunction addStyle(element, style) {\n if (element) {\n if (typeof style === \"string\") {\n element.style.cssText = style;\n } else {\n Object.entries(style || {}).forEach(([key, value]) => element.style[key] = value);\n }\n }\n}\n\n// src/dom/methods/getOuterWidth.ts\nfunction getOuterWidth(element, margin) {\n if (element instanceof HTMLElement) {\n let width = element.offsetWidth;\n if (margin) {\n let style = getComputedStyle(element);\n width += parseFloat(style.marginLeft) + parseFloat(style.marginRight);\n }\n return width;\n }\n return 0;\n}\n\n// src/dom/methods/relativePosition.ts\nfunction relativePosition(element, target, gutter = true) {\n var _a, _b, _c, _d;\n if (element) {\n const elementDimensions = element.offsetParent ? { width: element.offsetWidth, height: element.offsetHeight } : getHiddenElementDimensions(element);\n const targetHeight = target.offsetHeight;\n const targetOffset = target.getBoundingClientRect();\n const viewport = getViewport();\n let top, left, origin = \"top\";\n if (targetOffset.top + targetHeight + elementDimensions.height > viewport.height) {\n top = -1 * elementDimensions.height;\n origin = \"bottom\";\n if (targetOffset.top + top < 0) {\n top = -1 * targetOffset.top;\n }\n } else {\n top = targetHeight;\n }\n if (elementDimensions.width > viewport.width) {\n left = targetOffset.left * -1;\n } else if (targetOffset.left + elementDimensions.width > viewport.width) {\n left = (targetOffset.left + elementDimensions.width - viewport.width) * -1;\n } else {\n left = 0;\n }\n element.style.top = top + \"px\";\n element.style.left = left + \"px\";\n element.style.transformOrigin = origin;\n gutter && (element.style.marginTop = origin === \"bottom\" ? `calc(${(_b = (_a = getCSSVariableByRegex(/-anchor-gutter$/)) == null ? void 0 : _a.value) != null ? _b : \"2px\"} * -1)` : (_d = (_c = getCSSVariableByRegex(/-anchor-gutter$/)) == null ? void 0 : _c.value) != null ? _d : \"\");\n }\n}\n\n// src/dom/methods/alignOverlay.ts\nfunction alignOverlay(overlay, target, appendTo, calculateMinWidth = true) {\n if (overlay && target) {\n if (appendTo === \"self\") {\n relativePosition(overlay, target);\n } else {\n calculateMinWidth && (overlay.style.minWidth = getOuterWidth(target) + \"px\");\n absolutePosition(overlay, target);\n }\n }\n}\n\n// src/dom/methods/isElement.ts\nfunction isElement(element) {\n return typeof HTMLElement === \"object\" ? element instanceof HTMLElement : element && typeof element === \"object\" && element !== null && element.nodeType === 1 && typeof element.nodeName === \"string\";\n}\n\n// src/dom/methods/toElement.ts\nfunction toElement(element) {\n let target = element;\n if (element && typeof element === \"object\") {\n if (element.hasOwnProperty(\"current\")) {\n target = element.current;\n } else if (element.hasOwnProperty(\"el\")) {\n if (element.el.hasOwnProperty(\"nativeElement\")) {\n target = element.el.nativeElement;\n } else {\n target = element.el;\n }\n }\n }\n return isElement(target) ? target : void 0;\n}\n\n// src/dom/methods/appendChild.ts\nfunction appendChild(element, child) {\n const target = toElement(element);\n if (target) target.appendChild(child);\n else throw new Error(\"Cannot append \" + child + \" to \" + element);\n}\n\n// src/dom/methods/calculateScrollbarHeight.ts\nvar calculatedScrollbarHeight = void 0;\nfunction calculateScrollbarHeight(element) {\n if (element) {\n let style = getComputedStyle(element);\n return element.offsetHeight - element.clientHeight - parseFloat(style.borderTopWidth) - parseFloat(style.borderBottomWidth);\n } else {\n if (calculatedScrollbarHeight != null) return calculatedScrollbarHeight;\n let scrollDiv = document.createElement(\"div\");\n addStyle(scrollDiv, {\n width: \"100px\",\n height: \"100px\",\n overflow: \"scroll\",\n position: \"absolute\",\n top: \"-9999px\"\n });\n document.body.appendChild(scrollDiv);\n let scrollbarHeight = scrollDiv.offsetHeight - scrollDiv.clientHeight;\n document.body.removeChild(scrollDiv);\n calculatedScrollbarHeight = scrollbarHeight;\n return scrollbarHeight;\n }\n}\n\n// src/dom/methods/calculateScrollbarWidth.ts\nvar calculatedScrollbarWidth = void 0;\nfunction calculateScrollbarWidth(element) {\n if (element) {\n let style = getComputedStyle(element);\n return element.offsetWidth - element.clientWidth - parseFloat(style.borderLeftWidth) - parseFloat(style.borderRightWidth);\n } else {\n if (calculatedScrollbarWidth != null) return calculatedScrollbarWidth;\n let scrollDiv = document.createElement(\"div\");\n addStyle(scrollDiv, {\n width: \"100px\",\n height: \"100px\",\n overflow: \"scroll\",\n position: \"absolute\",\n top: \"-9999px\"\n });\n document.body.appendChild(scrollDiv);\n let scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n calculatedScrollbarWidth = scrollbarWidth;\n return scrollbarWidth;\n }\n}\n\n// src/dom/methods/clearSelection.ts\nfunction clearSelection() {\n if (window.getSelection) {\n const selection = window.getSelection() || {};\n if (selection.empty) {\n selection.empty();\n } else if (selection.removeAllRanges && selection.rangeCount > 0 && selection.getRangeAt(0).getClientRects().length > 0) {\n selection.removeAllRanges();\n }\n }\n}\n\n// src/dom/methods/setAttributes.ts\nfunction setAttributes(element, attributes = {}) {\n if (isElement(element)) {\n const computedStyles = (rule, value) => {\n var _a, _b;\n const styles = ((_a = element == null ? void 0 : element.$attrs) == null ? void 0 : _a[rule]) ? [(_b = element == null ? void 0 : element.$attrs) == null ? void 0 : _b[rule]] : [];\n return [value].flat().reduce((cv, v) => {\n if (v !== null && v !== void 0) {\n const type = typeof v;\n if (type === \"string\" || type === \"number\") {\n cv.push(v);\n } else if (type === \"object\") {\n const _cv = Array.isArray(v) ? computedStyles(rule, v) : Object.entries(v).map(([_k, _v]) => rule === \"style\" && (!!_v || _v === 0) ? `${_k.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase()}:${_v}` : !!_v ? _k : void 0);\n cv = _cv.length ? cv.concat(_cv.filter((c) => !!c)) : cv;\n }\n }\n return cv;\n }, styles);\n };\n Object.entries(attributes).forEach(([key, value]) => {\n if (value !== void 0 && value !== null) {\n const matchedEvent = key.match(/^on(.+)/);\n if (matchedEvent) {\n element.addEventListener(matchedEvent[1].toLowerCase(), value);\n } else if (key === \"p-bind\" || key === \"pBind\") {\n setAttributes(element, value);\n } else {\n value = key === \"class\" ? [...new Set(computedStyles(\"class\", value))].join(\" \").trim() : key === \"style\" ? computedStyles(\"style\", value).join(\";\").trim() : value;\n (element.$attrs = element.$attrs || {}) && (element.$attrs[key] = value);\n element.setAttribute(key, value);\n }\n }\n });\n }\n}\n\n// src/dom/methods/createElement.ts\nfunction createElement(type, attributes = {}, ...children) {\n if (type) {\n const element = document.createElement(type);\n setAttributes(element, attributes);\n element.append(...children);\n return element;\n }\n return void 0;\n}\n\n// src/dom/methods/createStyleAsString.ts\nfunction createStyleAsString(css, options = {}) {\n return css ? `'<style ${Object.entries(options).reduce((s, [k, v]) => s + `${k}=\"${v}\"`, \" \")}>${css}</style>'` : \"\";\n}\n\n// src/dom/methods/createStyleTag.ts\nfunction createStyleTag(attributes = {}, container) {\n let element = document.createElement(\"style\");\n setAttributes(element, attributes);\n if (!container) {\n container = document.head;\n }\n container.appendChild(element);\n return element;\n}\n\n// src/dom/methods/fadeIn.ts\nfunction fadeIn(element, duration) {\n if (element) {\n element.style.opacity = \"0\";\n let last = +/* @__PURE__ */ new Date();\n let opacity = \"0\";\n let tick = function() {\n opacity = `${+element.style.opacity + ((/* @__PURE__ */ new Date()).getTime() - last) / duration}`;\n element.style.opacity = opacity;\n last = +/* @__PURE__ */ new Date();\n if (+opacity < 1) {\n !!window.requestAnimationFrame && requestAnimationFrame(tick) || setTimeout(tick, 16);\n }\n };\n tick();\n }\n}\n\n// src/dom/methods/fadeOut.ts\nfunction fadeOut(element, duration) {\n if (element) {\n let opacity = 1, interval = 50, gap = interval / duration;\n let fading = setInterval(() => {\n opacity -= gap;\n if (opacity <= 0) {\n opacity = 0;\n clearInterval(fading);\n }\n element.style.opacity = opacity.toString();\n }, interval);\n }\n}\n\n// src/dom/methods/find.ts\nfunction find(element, selector) {\n return isElement(element) ? Array.from(element.querySelectorAll(selector)) : [];\n}\n\n// src/dom/methods/findSingle.ts\nfunction findSingle(element, selector) {\n return isElement(element) ? element.matches(selector) ? element : element.querySelector(selector) : null;\n}\n\n// src/dom/methods/focus.ts\nfunction focus(element, options) {\n element && document.activeElement !== element && element.focus(options);\n}\n\n// src/dom/methods/getAttribute.ts\nfunction getAttribute(element, name) {\n if (isElement(element)) {\n const value = element.getAttribute(name);\n if (!isNaN(value)) {\n return +value;\n }\n if (value === \"true\" || value === \"false\") {\n return value === \"true\";\n }\n return value;\n }\n return void 0;\n}\n\n// src/dom/methods/resolveUserAgent.ts\nfunction resolveUserAgent() {\n let ua = navigator.userAgent.toLowerCase();\n let match = /(chrome)[ ]([\\w.]+)/.exec(ua) || /(webkit)[ ]([\\w.]+)/.exec(ua) || /(opera)(?:.*version|)[ ]([\\w.]+)/.exec(ua) || /(msie) ([\\w.]+)/.exec(ua) || ua.indexOf(\"compatible\") < 0 && /(mozilla)(?:.*? rv:([\\w.]+)|)/.exec(ua) || [];\n return {\n browser: match[1] || \"\",\n version: match[2] || \"0\"\n };\n}\n\n// src/dom/methods/getBrowser.ts\nvar browser = null;\nfunction getBrowser() {\n if (!browser) {\n browser = {};\n let matched = resolveUserAgent();\n if (matched.browser) {\n browser[matched.browser] = true;\n browser[\"version\"] = matched.version;\n }\n if (browser[\"chrome\"]) {\n browser[\"webkit\"] = true;\n } else if (browser[\"webkit\"]) {\n browser[\"safari\"] = true;\n }\n }\n return browser;\n}\n\n// src/dom/methods/getBrowserLanguage.ts\nfunction getBrowserLanguage() {\n return navigator.languages && navigator.languages.length && navigator.languages[0] || navigator.language || \"en\";\n}\n\n// src/dom/methods/getCSSProperty.ts\nfunction getCSSProperty(element, property, inline) {\n var _a;\n if (element && property) {\n return inline ? (_a = element == null ? void 0 : element.style) == null ? void 0 : _a.getPropertyValue(property) : getComputedStyle(element).getPropertyValue(property);\n }\n return null;\n}\n\n// src/dom/methods/getCursorOffset.ts\nfunction getCursorOffset(element, prevText, nextText, currentText) {\n if (element) {\n let style = getComputedStyle(element);\n let ghostDiv = document.createElement(\"div\");\n ghostDiv.style.position = \"absolute\";\n ghostDiv.style.top = \"0px\";\n ghostDiv.style.left = \"0px\";\n ghostDiv.style.visibility = \"hidden\";\n ghostDiv.style.pointerEvents = \"none\";\n ghostDiv.style.overflow = style.overflow;\n ghostDiv.style.width = style.width;\n ghostDiv.style.height = style.height;\n ghostDiv.style.padding = style.padding;\n ghostDiv.style.border = style.border;\n ghostDiv.style.overflowWrap = style.overflowWrap;\n ghostDiv.style.whiteSpace = style.whiteSpace;\n ghostDiv.style.lineHeight = style.lineHeight;\n ghostDiv.innerHTML = prevText.replace(/\\r\\n|\\r|\\n/g, \"<br />\");\n let ghostSpan = document.createElement(\"span\");\n ghostSpan.textContent = currentText;\n ghostDiv.appendChild(ghostSpan);\n let text = document.createTextNode(nextText);\n ghostDiv.appendChild(text);\n document.body.appendChild(ghostDiv);\n const { offsetLeft, offsetTop, clientHeight } = ghostSpan;\n document.body.removeChild(ghostDiv);\n return {\n left: Math.abs(offsetLeft - element.scrollLeft),\n top: Math.abs(offsetTop - element.scrollTop) + clientHeight\n };\n }\n return {\n top: \"auto\",\n left: \"auto\"\n };\n}\n\n// src/dom/methods/getFocusableElements.ts\nfunction getFocusableElements(element, selector = \"\") {\n let focusableElements = find(\n element,\n `button:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [href][clientHeight][clientWidth]:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n input:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n select:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n textarea:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [tabIndex]:not([tabIndex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [contenteditable]:not([tabIndex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector}`\n );\n let visibleFocusableElements = [];\n for (let focusableElement of focusableElements) {\n if (getComputedStyle(focusableElement).display != \"none\" && getComputedStyle(focusableElement).visibility != \"hidden\") visibleFocusableElements.push(focusableElement);\n }\n return visibleFocusableElements;\n}\n\n// src/dom/methods/getFirstFocusableElement.ts\nfunction getFirstFocusableElement(element, selector) {\n const focusableElements = getFocusableElements(element, selector);\n return focusableElements.length > 0 ? focusableElements[0] : null;\n}\n\n// src/dom/methods/getHeight.ts\nfunction getHeight(element) {\n if (element) {\n let height = element.offsetHeight;\n let style = getComputedStyle(element);\n height -= parseFloat(style.paddingTop) + parseFloat(style.paddingBottom) + parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth);\n return height;\n }\n return 0;\n}\n\n// src/dom/methods/getHiddenElementOuterHeight.ts\nfunction getHiddenElementOuterHeight(element) {\n if (element) {\n element.style.visibility = \"hidden\";\n element.style.display = \"block\";\n let elementHeight = element.offsetHeight;\n element.style.display = \"none\";\n element.style.visibility = \"visible\";\n return elementHeight;\n }\n return 0;\n}\n\n// src/dom/methods/getHiddenElementOuterWidth.ts\nfunction getHiddenElementOuterWidth(element) {\n if (element) {\n element.style.visibility = \"hidden\";\n element.style.display = \"block\";\n let elementWidth = element.offsetWidth;\n element.style.display = \"none\";\n element.style.visibility = \"visible\";\n return elementWidth;\n }\n return 0;\n}\n\n// src/dom/methods/getParentNode.ts\nfunction getParentNode(element) {\n if (element) {\n let parent = element.parentNode;\n if (parent && parent instanceof ShadowRoot && parent.host) {\n parent = parent.host;\n }\n return parent;\n }\n return null;\n}\n\n// src/dom/methods/getIndex.ts\nfunction getIndex(element) {\n var _a;\n if (element) {\n let children = (_a = getParentNode(element)) == null ? void 0 : _a.childNodes;\n let num = 0;\n if (children) {\n for (let i = 0; i < children.length; i++) {\n if (children[i] === element) return num;\n if (children[i].nodeType === 1) num++;\n }\n }\n }\n return -1;\n}\n\n// src/dom/methods/getInnerWidth.ts\nfunction getInnerWidth(element) {\n if (element) {\n let width = element.offsetWidth;\n let style = getComputedStyle(element);\n width -= parseFloat(style.borderLeft) + parseFloat(style.borderRight);\n return width;\n }\n return 0;\n}\n\n// src/dom/methods/getLastFocusableElement.ts\nfunction getLastFocusableElement(element, selector) {\n const focusableElements = getFocusableElements(element, selector);\n return focusableElements.length > 0 ? focusableElements[focusableElements.length - 1] : null;\n}\n\n// src/dom/methods/getNextElementSibling.ts\nfunction getNextElementSibling(element, selector) {\n let nextElement = element.nextElementSibling;\n while (nextElement) {\n if (nextElement.matches(selector)) {\n return nextElement;\n } else {\n nextElement = nextElement.nextElementSibling;\n }\n }\n return null;\n}\n\n// src/dom/methods/getNextFocusableElement.ts\nfunction getNextFocusableElement(container, element, selector) {\n const focusableElements = getFocusableElements(container, selector);\n const index = focusableElements.length > 0 ? focusableElements.findIndex((el) => el === element) : -1;\n const nextIndex = index > -1 && focusableElements.length >= index + 1 ? index + 1 : -1;\n return nextIndex > -1 ? focusableElements[nextIndex] : null;\n}\n\n// src/dom/methods/getOffset.ts\nfunction getOffset(element) {\n if (element) {\n let rect = element.getBoundingClientRect();\n return {\n top: rect.top + (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0),\n left: rect.left + (window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0)\n };\n }\n return {\n top: \"auto\",\n left: \"auto\"\n };\n}\n\n// src/dom/methods/getOuterHeight.ts\nfunction getOuterHeight(element, margin) {\n if (element) {\n let height = element.offsetHeight;\n if (margin) {\n let style = getComputedStyle(element);\n height += parseFloat(style.marginTop) + parseFloat(style.marginBottom);\n }\n return height;\n }\n return 0;\n}\n\n// src/dom/methods/getParents.ts\nfunction getParents(element, parents = []) {\n const parent = getParentNode(element);\n return parent === null ? parents : getParents(parent, parents.concat([parent]));\n}\n\n// src/dom/methods/getPreviousElementSibling.ts\nfunction getPreviousElementSibling(element, selector) {\n let previousElement = element.previousElementSibling;\n while (previousElement) {\n if (previousElement.matches(selector)) {\n return previousElement;\n } else {\n previousElement = previousElement.previousElementSibling;\n }\n }\n return null;\n}\n\n// src/dom/methods/getScrollableParents.ts\nfunction getScrollableParents(element) {\n let scrollableParents = [];\n if (element) {\n let parents = getParents(element);\n const overflowRegex = /(auto|scroll)/;\n const overflowCheck = (node) => {\n try {\n let styleDeclaration = window[\"getComputedStyle\"](node, null);\n return overflowRegex.test(styleDeclaration.getPropertyValue(\"overflow\")) || overflowRegex.test(styleDeclaration.getPropertyValue(\"overflowX\")) || overflowRegex.test(styleDeclaration.getPropertyValue(\"overflowY\"));\n } catch (err) {\n return false;\n }\n };\n for (let parent of parents) {\n let scrollSelectors = parent.nodeType === 1 && parent.dataset[\"scrollselectors\"];\n if (scrollSelectors) {\n let selectors = scrollSelectors.split(\",\");\n for (let selector of selectors) {\n let el = findSingle(parent, selector);\n if (el && overflowCheck(el)) {\n scrollableParents.push(el);\n }\n }\n }\n if (parent.nodeType !== 9 && overflowCheck(parent)) {\n scrollableParents.push(parent);\n }\n }\n }\n return scrollableParents;\n}\n\n// src/dom/methods/getSelection.ts\nfunction getSelection() {\n if (window.getSelection) return window.getSelection().toString();\n else if (document.getSelection) return document.getSelection().toString();\n return void 0;\n}\n\n// src/dom/methods/isExist.ts\nfunction isExist(element) {\n return !!(element !== null && typeof element !== \"undefined\" && element.nodeName && getParentNode(element));\n}\n\n// src/dom/methods/getTargetElement.ts\nfunction getTargetElement(target, currentElement) {\n var _a;\n if (!target) return void 0;\n switch (target) {\n case \"document\":\n return document;\n case \"window\":\n return window;\n case \"body\":\n return document.body;\n case \"@next\":\n return currentElement == null ? void 0 : currentElement.nextElementSibling;\n case \"@prev\":\n return currentElement == null ? void 0 : currentElement.previousElementSibling;\n case \"@parent\":\n return currentElement == null ? void 0 : currentElement.parentElement;\n case \"@grandparent\":\n return (_a = currentElement == null ? void 0 : currentElement.parentElement) == null ? void 0 : _a.parentElement;\n default:\n if (typeof target === \"string\") {\n return document.querySelector(target);\n }\n const isFunction = (obj) => !!(obj && obj.constructor && obj.call && obj.apply);\n const element = toElement(isFunction(target) ? target() : target);\n return (element == null ? void 0 : element.nodeType) === 9 || isExist(element) ? element : void 0;\n }\n}\n\n// src/dom/methods/getUserAgent.ts\nfunction getUserAgent() {\n return navigator.userAgent;\n}\n\n// src/dom/methods/getWidth.ts\nfunction getWidth(element) {\n if (element) {\n let width = element.offsetWidth;\n let style = getComputedStyle(element);\n width -= parseFloat(style.paddingLeft) + parseFloat(style.paddingRight) + parseFloat(style.borderLeftWidth) + parseFloat(style.borderRightWidth);\n return width;\n }\n return 0;\n}\n\n// src/dom/methods/hasCSSAnimation.ts\nfunction hasCSSAnimation(element) {\n if (element) {\n const style = getComputedStyle(element);\n const animationDuration = parseFloat(style.getPropertyValue(\"animation-duration\") || \"0\");\n return animationDuration > 0;\n }\n return false;\n}\n\n// src/dom/methods/hasCSSTransition.ts\nfunction hasCSSTransition(element) {\n if (element) {\n const style = getComputedStyle(element);\n const transitionDuration = parseFloat(style.getPropertyValue(\"transition-duration\") || \"0\");\n return transitionDuration > 0;\n }\n return false;\n}\n\n// src/dom/methods/invokeElementMethod.ts\nfunction invokeElementMethod(element, methodName, args) {\n element[methodName].apply(element, args);\n}\n\n// src/dom/methods/isAndroid.ts\nfunction isAndroid() {\n return /(android)/i.test(navigator.userAgent);\n}\n\n// src/dom/methods/isAttributeEquals.ts\nfunction isAttributeEquals(element, name, value) {\n return isElement(element) ? getAttribute(element, name) === value : false;\n}\n\n// src/dom/methods/isAttributeNotEquals.ts\nfunction isAttributeNotEquals(element, name, value) {\n return !isAttributeEquals(element, name, value);\n}\n\n// src/dom/methods/isClickable.ts\nfunction isClickable(element) {\n if (element) {\n const targetNode = element.nodeName;\n const parentNode = element.parentElement && element.parentElement.nodeName;\n return targetNode === \"INPUT\" || targetNode === \"TEXTAREA\" || targetNode === \"BUTTON\" || targetNode === \"A\" || parentNode === \"INPUT\" || parentNode === \"TEXTAREA\" || parentNode === \"BUTTON\" || parentNode === \"A\" || !!element.closest(\".p-button, .p-checkbox, .p-radiobutton\");\n }\n return false;\n}\n\n// src/dom/methods/isClient.ts\nfunction isClient() {\n return !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\n}\n\n// src/dom/methods/isFocusableElement.ts\nfunction isFocusableElement(element, selector = \"\") {\n return isElement(element) ? element.matches(`button:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [href][clientHeight][clientWidth]:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n input:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n select:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n textarea:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [tabIndex]:not([tabIndex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [contenteditable]:not([tabIndex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector}`) : false;\n}\n\n// src/dom/methods/isVisible.ts\nfunction isVisible(element) {\n return !!(element && element.offsetParent != null);\n}\n\n// src/dom/methods/isHidden.ts\nfunction isHidden(element) {\n return !isVisible(element);\n}\n\n// src/dom/methods/isIOS.ts\nfunction isIOS() {\n return /iPad|iPhone|iPod/.test(navigator.userAgent) && !window[\"MSStream\"];\n}\n\n// src/dom/methods/isRTL.ts\nfunction isRTL(element) {\n return element ? getComputedStyle(element).direction === \"rtl\" : false;\n}\n\n// src/dom/methods/isServer.ts\nfunction isServer() {\n return !isClient();\n}\n\n// src/dom/methods/isTouchDevice.ts\nfunction isTouchDevice() {\n return \"ontouchstart\" in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;\n}\n\n// src/dom/methods/nestedPosition.ts\nfunction nestedPosition(element, level) {\n var _a, _b;\n if (element) {\n const parentItem = element.parentElement;\n const elementOffset = getOffset(parentItem);\n const viewport = getViewport();\n const sublistWidth = element.offsetParent ? element.offsetWidth : getHiddenElementOuterWidth(element);\n const sublistHeight = element.offsetParent ? element.offsetHeight : getHiddenElementOuterHeight(element);\n const itemOuterWidth = getOuterWidth((_a = parentItem == null ? void 0 : parentItem.children) == null ? void 0 : _a[0]);\n const itemOuterHeight = getOuterHeight((_b = parentItem == null ? void 0 : parentItem.children) == null ? void 0 : _b[0]);\n let left = \"\";\n let top = \"\";\n if (elementOffset.left + itemOuterWidth + sublistWidth > viewport.width - calculateScrollbarWidth()) {\n if (elementOffset.left < sublistWidth) {\n if (level % 2 === 1) {\n left = elementOffset.left ? \"-\" + elementOffset.left + \"px\" : \"100%\";\n } else if (level % 2 === 0) {\n left = viewport.width - sublistWidth - calculateScrollbarWidth() + \"px\";\n }\n } else {\n left = \"-100%\";\n }\n } else {\n left = \"100%\";\n }\n if (element.getBoundingClientRect().top + itemOuterHeight + sublistHeight > viewport.height) {\n top = `-${sublistHeight - itemOuterHeight}px`;\n } else {\n top = \"0px\";\n }\n element.style.top = top;\n element.style.left = left;\n }\n}\n\n// src/dom/methods/remove.ts\nfunction remove(element) {\n var _a;\n if (element) {\n if (!(\"remove\" in Element.prototype)) (_a = element.parentNode) == null ? void 0 : _a.removeChild(element);\n else element.remove();\n }\n}\n\n// src/dom/methods/removeChild.ts\nfunction removeChild(element, child) {\n const target = toElement(element);\n if (target) target.removeChild(child);\n else throw new Error(\"Cannot remove \" + child + \" from \" + element);\n}\n\n// src/dom/methods/removeStyleTag.ts\nfunction removeStyleTag(element) {\n var _a;\n if (isExist(element)) {\n try {\n (_a = element.parentNode) == null ? void 0 : _a.removeChild(element);\n } catch (error) {\n }\n return null;\n }\n return element;\n}\n\n// src/dom/methods/scrollInView.ts\nfunction scrollInView(container, item) {\n let borderTopValue = getComputedStyle(container).getPropertyValue(\"borderTopWidth\");\n let borderTop = borderTopValue ? parseFloat(borderTopValue) : 0;\n let paddingTopValue = getComputedStyle(container).getPropertyValue(\"paddingTop\");\n let paddingTop = paddingTopValue ? parseFloat(paddingTopValue) : 0;\n let containerRect = container.getBoundingClientRect();\n let itemRect = item.getBoundingClientRect();\n let offset = itemRect.top + document.body.scrollTop - (containerRect.top + document.body.scrollTop) - borderTop - paddingTop;\n let scroll = container.scrollTop;\n let elementHeight = container.clientHeight;\n let itemHeight = getOuterHeight(item);\n if (offset < 0) {\n container.scrollTop = scroll + offset;\n } else if (offset + itemHeight > elementHeight) {\n container.scrollTop = scroll + offset - elementHeight + itemHeight;\n }\n}\n\n// src/dom/methods/setAttribute.ts\nfunction setAttribute(element, attribute = \"\", value) {\n if (isElement(element) && value !== null && value !== void 0) {\n element.setAttribute(attribute, value);\n }\n}\n\n// src/dom/methods/setCSSProperty.ts\nfunction setCSSProperty(element, property, value = null, priority) {\n var _a;\n property && ((_a = element == null ? void 0 : element.style) == null ? void 0 : _a.setProperty(property, value, priority));\n}\nexport {\n absolutePosition,\n addClass,\n addStyle,\n alignOverlay,\n appendChild,\n blockBodyScroll,\n calculateBodyScrollbarWidth,\n calculateScrollbarHeight,\n calculateScrollbarWidth,\n clearSelection,\n createElement,\n createStyleAsString,\n createStyleTag,\n exportCSV,\n fadeIn,\n fadeOut,\n find,\n findSingle,\n focus,\n getAttribute,\n getBrowser,\n getBrowserLanguage,\n getCSSProperty,\n getCSSVariableByRegex,\n getCursorOffset,\n getFirstFocusableElement,\n getFocusableElements,\n getHeight,\n getHiddenElementDimensions,\n getHiddenElementOuterHeight,\n getHiddenElementOuterWidth,\n getIndex,\n getInnerWidth,\n getLastFocusableElement,\n getNextElementSibling,\n getNextFocusableElement,\n getOffset,\n getOuterHeight,\n getOuterWidth,\n getParentNode,\n getParents,\n getPreviousElementSibling,\n getScrollableParents,\n getSelection,\n getTargetElement,\n getUserAgent,\n getViewport,\n getWidth,\n getWindowScrollLeft,\n getWindowScrollTop,\n hasCSSAnimation,\n hasCSSTransition,\n hasClass,\n invokeElementMethod,\n isAndroid,\n isAttributeEquals,\n isAttributeNotEquals,\n isClickable,\n isClient,\n isElement,\n isExist,\n isFocusableElement,\n isHidden,\n isIOS,\n isRTL,\n isServer,\n isTouchDevice,\n isVisible,\n nestedPosition,\n relativePosition,\n remove,\n removeChild,\n removeClass,\n removeStyleTag,\n resolveUserAgent,\n saveAs,\n scrollInView,\n setAttribute,\n setAttributes,\n setCSSProperty,\n toElement,\n unblockBodyScroll\n};\n//# sourceMappingURL=index.mjs.map","// src/uuid/index.ts\nvar lastIds = {};\nfunction uuid(prefix = \"pui_id_\") {\n if (!lastIds.hasOwnProperty(prefix)) {\n lastIds[prefix] = 0;\n }\n lastIds[prefix]++;\n return `${prefix}${lastIds[prefix]}`;\n}\nexport {\n uuid\n};\n//# sourceMappingURL=index.mjs.map","// src/zindex/index.ts\nfunction handler() {\n let zIndexes = [];\n const generateZIndex = (key, autoZIndex, baseZIndex = 999) => {\n const lastZIndex = getLastZIndex(key, autoZIndex, baseZIndex);\n const newZIndex = lastZIndex.value + (lastZIndex.key === key ? 0 : baseZIndex) + 1;\n zIndexes.push({ key, value: newZIndex });\n return newZIndex;\n };\n const revertZIndex = (zIndex) => {\n zIndexes = zIndexes.filter((obj) => obj.value !== zIndex);\n };\n const getCurrentZIndex = (key, autoZIndex) => {\n return getLastZIndex(key, autoZIndex).value;\n };\n const getLastZIndex = (key, autoZIndex, baseZIndex = 0) => {\n return [...zIndexes].reverse().find((obj) => autoZIndex ? true : obj.key === key) || { key, value: baseZIndex };\n };\n const getZIndex = (element) => {\n return element ? parseInt(element.style.zIndex, 10) || 0 : 0;\n };\n return {\n get: getZIndex,\n set: (key, element, baseZIndex) => {\n if (element) {\n element.style.zIndex = String(generateZIndex(key, true, baseZIndex));\n }\n },\n clear: (element) => {\n if (element) {\n revertZIndex(getZIndex(element));\n element.style.zIndex = \"\";\n }\n },\n getCurrent: (key) => getCurrentZIndex(key, true)\n };\n}\nvar ZIndex = handler();\nexport {\n ZIndex\n};\n//# sourceMappingURL=index.mjs.map","import { resolveFieldData, removeAccents, equals } from '@primeuix/utils/object';\n\nvar FilterMatchMode = {\n STARTS_WITH: 'startsWith',\n CONTAINS: 'contains',\n NOT_CONTAINS: 'notContains',\n ENDS_WITH: 'endsWith',\n EQUALS: 'equals',\n NOT_EQUALS: 'notEquals',\n IN: 'in',\n LESS_THAN: 'lt',\n LESS_THAN_OR_EQUAL_TO: 'lte',\n GREATER_THAN: 'gt',\n GREATER_THAN_OR_EQUAL_TO: 'gte',\n BETWEEN: 'between',\n DATE_IS: 'dateIs',\n DATE_IS_NOT: 'dateIsNot',\n DATE_BEFORE: 'dateBefore',\n DATE_AFTER: 'dateAfter'\n};\n\nvar FilterOperator = {\n AND: 'and',\n OR: 'or'\n};\n\nfunction _createForOfIteratorHelper(r, e) { var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t[\"return\"] || t[\"return\"](); } finally { if (u) throw o; } } }; }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nvar FilterService = {\n filter: function filter(value, fields, filterValue, filterMatchMode, filterLocale) {\n var filteredItems = [];\n if (!value) {\n return filteredItems;\n }\n var _iterator = _createForOfIteratorHelper(value),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var item = _step.value;\n if (typeof item === 'string') {\n if (this.filters[filterMatchMode](item, filterValue, filterLocale)) {\n filteredItems.push(item);\n continue;\n }\n } else {\n var _iterator2 = _createForOfIteratorHelper(fields),\n _step2;\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var field = _step2.value;\n var fieldValue = resolveFieldData(item, field);\n if (this.filters[filterMatchMode](fieldValue, filterValue, filterLocale)) {\n filteredItems.push(item);\n break;\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n return filteredItems;\n },\n filters: {\n startsWith: function startsWith(value, filter, filterLocale) {\n if (filter === undefined || filter === null || filter === '') {\n return true;\n }\n if (value === undefined || value === null) {\n return false;\n }\n var filterValue = removeAccents(filter.toString()).toLocaleLowerCase(filterLocale);\n var stringValue = removeAccents(value.toString()).toLocaleLowerCase(filterLocale);\n return stringValue.slice(0, filterValue.length) === filterValue;\n },\n contains: function contains(value, filter, filterLocale) {\n if (filter === undefined || filter === null || filter === '') {\n return true;\n }\n if (value === undefined || value === null) {\n return false;\n }\n var filterValue = removeAccents(filter.toString()).toLocaleLowerCase(filterLocale);\n var stringValue = removeAccents(value.toString()).toLocaleLowerCase(filterLocale);\n return stringValue.indexOf(filterValue) !== -1;\n },\n notContains: function notContains(value, filter, filterLocale) {\n if (filter === undefined || filter === null || filter === '') {\n return true;\n }\n if (value === undefined || value === null) {\n return false;\n }\n var filterValue = removeAccents(filter.toString()).toLocaleLowerCase(filterLocale);\n var stringValue = removeAccents(value.toString()).toLocaleLowerCase(filterLocale);\n return stringValue.indexOf(filterValue) === -1;\n },\n endsWith: function endsWith(value, filter, filterLocale) {\n if (filter === undefined || filter === null || filter === '') {\n return true;\n }\n if (value === undefined || value === null) {\n return false;\n }\n var filterValue = removeAccents(filter.toString()).toLocaleLowerCase(filterLocale);\n var stringValue = removeAccents(value.toString()).toLocaleLowerCase(filterLocale);\n return stringValue.indexOf(filterValue, stringValue.length - filterValue.length) !== -1;\n },\n equals: function equals(value, filter, filterLocale) {\n if (filter === undefined || filter === null || filter === '') {\n return true;\n }\n if (value === undefined || value === null) {\n return false;\n }\n if (value.getTime && filter.getTime) return value.getTime() === filter.getTime();else return removeAccents(value.toString()).toLocaleLowerCase(filterLocale) == removeAccents(filter.toString()).toLocaleLowerCase(filterLocale);\n },\n notEquals: function notEquals(value, filter, filterLocale) {\n if (filter === undefined || filter === null || filter === '') {\n return false;\n }\n if (value === undefined || value === null) {\n return true;\n }\n if (value.getTime && filter.getTime) return value.getTime() !== filter.getTime();else return removeAccents(value.toString()).toLocaleLowerCase(filterLocale) != removeAccents(filter.toString()).toLocaleLowerCase(filterLocale);\n },\n \"in\": function _in(value, filter) {\n if (filter === undefined || filter === null || filter.length === 0) {\n return true;\n }\n for (var i = 0; i < filter.length; i++) {\n if (equals(value, filter[i])) {\n return true;\n }\n }\n return false;\n },\n between: function between(value, filter) {\n if (filter == null || filter[0] == null || filter[1] == null) {\n return true;\n }\n if (value === undefined || value === null) {\n return false;\n }\n if (value.getTime) return filter[0].getTime() <= value.getTime() && value.getTime() <= filter[1].getTime();else return filter[0] <= value && value <= filter[1];\n },\n lt: function lt(value, filter) {\n if (filter === undefined || filter === null) {\n return true;\n }\n if (value === undefined || value === null) {\n return false;\n }\n if (value.getTime && filter.getTime) return value.getTime() < filter.getTime();else return value < filter;\n },\n lte: function lte(value, filter) {\n if (filter === undefined || filter === null) {\n return true;\n }\n if (value === undefined || value === null) {\n return false;\n }\n if (value.getTime && filter.getTime) return value.getTime() <= filter.getTime();else return value <= filter;\n },\n gt: function gt(value, filter) {\n if (filter === undefined || filter === null) {\n return true;\n }\n if (value === undefined || value === null) {\n return false;\n }\n if (value.getTime && filter.getTime) return value.getTime() > filter.getTime();else return value > filter;\n },\n gte: function gte(value, filter) {\n if (filter === undefined || filter === null) {\n return true;\n }\n if (value === undefined || value === null) {\n return false;\n }\n if (value.getTime && filter.getTime) return value.getTime() >= filter.getTime();else return value >= filter;\n },\n dateIs: function dateIs(value, filter) {\n if (filter === undefined || filter === null) {\n return true;\n }\n if (value === undefined || value === null) {\n return false;\n }\n return value.toDateString() === filter.toDateString();\n },\n dateIsNot: function dateIsNot(value, filter) {\n if (filter === undefined || filter === null) {\n return true;\n }\n if (value === undefined || value === null) {\n return false;\n }\n return value.toDateString() !== filter.toDateString();\n },\n dateBefore: function dateBefore(value, filter) {\n if (filter === undefined || filter === null) {\n return true;\n }\n if (value === undefined || value === null) {\n return false;\n }\n return value.getTime() < filter.getTime();\n },\n dateAfter: function dateAfter(value, filter) {\n if (filter === undefined || filter === null) {\n return true;\n }\n if (value === undefined || value === null) {\n return false;\n }\n return value.getTime() > filter.getTime();\n }\n },\n register: function register(rule, fn) {\n this.filters[rule] = fn;\n }\n};\n\nvar PrimeIcons = {\n ALIGN_CENTER: 'pi pi-align-center',\n ALIGN_JUSTIFY: 'pi pi-align-justify',\n ALIGN_LEFT: 'pi pi-align-left',\n ALIGN_RIGHT: 'pi pi-align-right',\n AMAZON: 'pi pi-amazon',\n ANDROID: 'pi pi-android',\n ANGLE_DOUBLE_DOWN: 'pi pi-angle-double-down',\n ANGLE_DOUBLE_LEFT: 'pi pi-angle-double-left',\n ANGLE_DOUBLE_RIGHT: 'pi pi-angle-double-right',\n ANGLE_DOUBLE_UP: 'pi pi-angle-double-up',\n ANGLE_DOWN: 'pi pi-angle-down',\n ANGLE_LEFT: 'pi pi-angle-left',\n ANGLE_RIGHT: 'pi pi-angle-right',\n ANGLE_UP: 'pi pi-angle-up',\n APPLE: 'pi pi-apple',\n ARROW_CIRCLE_DOWN: 'pi pi-arrow-circle-down',\n ARROW_CIRCLE_LEFT: 'pi pi-arrow-circle-left',\n ARROW_CIRCLE_RIGHT: 'pi pi-arrow-circle-right',\n ARROW_CIRCLE_UP: 'pi pi-arrow-circle-up',\n ARROW_DOWN: 'pi pi-arrow-down',\n ARROW_DOWN_LEFT: 'pi pi-arrow-down-left',\n ARROW_DOWN_RIGHT: 'pi pi-arrow-down-right',\n ARROW_LEFT: 'pi pi-arrow-left',\n ARROW_RIGHT: 'pi pi-arrow-right',\n ARROW_RIGHT_ARROW_LEFT: 'pi pi-arrow-right-arrow-left',\n ARROW_UP: 'pi pi-arrow-up',\n ARROW_UP_LEFT: 'pi pi-arrow-up-left',\n ARROW_UP_RIGHT: 'pi pi-arrow-up-right',\n ARROWS_H: 'pi pi-arrows-h',\n ARROWS_V: 'pi pi-arrows-v',\n ARROWS_ALT: 'pi pi-arrows-alt',\n AT: 'pi pi-at',\n BACKWARD: 'pi pi-backward',\n BAN: 'pi pi-ban',\n BARS: 'pi pi-bars',\n BELL: 'pi pi-bell',\n BITCOIN: 'pi pi-bitcoin',\n BOLT: 'pi pi-bolt',\n BOOK: 'pi pi-book',\n BOOKMARK: 'pi pi-bookmark',\n BOOKMARK_FILL: 'pi pi-bookmark-fill',\n BOX: 'pi pi-box',\n BRIEFCASE: 'pi pi-briefcase',\n BUILDING: 'pi pi-building',\n CALENDAR: 'pi pi-calendar',\n CALENDAR_MINUS: 'pi pi-calendar-minus',\n CALENDAR_PLUS: 'pi pi-calendar-plus',\n CALENDAR_TIMES: 'pi pi-calendar-times',\n CALCULATOR: 'pi pi-calculator',\n CAMERA: 'pi pi-camera',\n CAR: 'pi pi-car',\n CARET_DOWN: 'pi pi-caret-down',\n CARET_LEFT: 'pi pi-caret-left',\n CARET_RIGHT: 'pi pi-caret-right',\n CARET_UP: 'pi pi-caret-up',\n CART_PLUS: 'pi pi-cart-plus',\n CHART_BAR: 'pi pi-chart-bar',\n CHART_LINE: 'pi pi-chart-line',\n CHART_PIE: 'pi pi-chart-pie',\n CHECK: 'pi pi-check',\n CHECK_CIRCLE: 'pi pi-check-circle',\n CHECK_SQUARE: 'pi pi-check-square',\n CHEVRON_CIRCLE_DOWN: 'pi pi-chevron-circle-down',\n CHEVRON_CIRCLE_LEFT: 'pi pi-chevron-circle-left',\n CHEVRON_CIRCLE_RIGHT: 'pi pi-chevron-circle-right',\n CHEVRON_CIRCLE_UP: 'pi pi-chevron-circle-up',\n CHEVRON_DOWN: 'pi pi-chevron-down',\n CHEVRON_LEFT: 'pi pi-chevron-left',\n CHEVRON_RIGHT: 'pi pi-chevron-right',\n CHEVRON_UP: 'pi pi-chevron-up',\n CIRCLE: 'pi pi-circle',\n CIRCLE_FILL: 'pi pi-circle-fill',\n CLOCK: 'pi pi-clock',\n CLONE: 'pi pi-clone',\n CLOUD: 'pi pi-cloud',\n CLOUD_DOWNLOAD: 'pi pi-cloud-download',\n CLOUD_UPLOAD: 'pi pi-cloud-upload',\n CODE: 'pi pi-code',\n COG: 'pi pi-cog',\n COMMENT: 'pi pi-comment',\n COMMENTS: 'pi pi-comments',\n COMPASS: 'pi pi-compass',\n COPY: 'pi pi-copy',\n CREDIT_CARD: 'pi pi-credit-card',\n DATABASE: 'pi pi-database',\n DELETELEFT: 'pi pi-delete-left',\n DESKTOP: 'pi pi-desktop',\n DIRECTIONS: 'pi pi-directions',\n DIRECTIONS_ALT: 'pi pi-directions-alt',\n DISCORD: 'pi pi-discord',\n DOLLAR: 'pi pi-dollar',\n DOWNLOAD: 'pi pi-download',\n EJECT: 'pi pi-eject',\n ELLIPSIS_H: 'pi pi-ellipsis-h',\n ELLIPSIS_V: 'pi pi-ellipsis-v',\n ENVELOPE: 'pi pi-envelope',\n ERASER: 'pi pi-eraser',\n EURO: 'pi pi-euro',\n EXCLAMATION_CIRCLE: 'pi pi-exclamation-circle',\n EXCLAMATION_TRIANGLE: 'pi pi-exclamation-triangle',\n EXTERNAL_LINK: 'pi pi-external-link',\n EYE: 'pi pi-eye',\n EYE_SLASH: 'pi pi-eye-slash',\n FACEBOOK: 'pi pi-facebook',\n FAST_BACKWARD: 'pi pi-fast-backward',\n FAST_FORWARD: 'pi pi-fast-forward',\n FILE: 'pi pi-file',\n FILE_EDIT: 'pi pi-file-edit',\n FILE_EXCEL: 'pi pi-file-excel',\n FILE_EXPORT: 'pi pi-file-export',\n FILE_IMPORT: 'pi pi-file-import',\n FILE_PDF: 'pi pi-file-pdf',\n FILE_WORD: 'pi pi-file-word',\n FILTER: 'pi pi-filter',\n FILTER_FILL: 'pi pi-filter-fill',\n FILTER_SLASH: 'pi pi-filter-slash',\n FLAG: 'pi pi-flag',\n FLAG_FILL: 'pi pi-flag-fill',\n FOLDER: 'pi pi-folder',\n FOLDER_OPEN: 'pi pi-folder-open',\n FORWARD: 'pi pi-forward',\n GIFT: 'pi pi-gift',\n GITHUB: 'pi pi-github',\n GLOBE: 'pi pi-globe',\n GOOGLE: 'pi pi-google',\n HASHTAG: 'pi pi-hashtag',\n HEART: 'pi pi-heart',\n HEART_FILL: 'pi pi-heart-fill',\n HISTORY: 'pi pi-history',\n HOURGLASS: 'pi pi-hourglass',\n HOME: 'pi pi-home',\n ID_CARD: 'pi pi-id-card',\n IMAGE: 'pi pi-image',\n IMAGES: 'pi pi-images',\n INBOX: 'pi pi-inbox',\n INFO: 'pi pi-info',\n INFO_CIRCLE: 'pi pi-info-circle',\n INSTAGRAM: 'pi pi-instagram',\n KEY: 'pi pi-key',\n LANGUAGE: 'pi pi-language',\n LINK: 'pi pi-link',\n LINKEDIN: 'pi pi-linkedin',\n LIST: 'pi pi-list',\n LOCK: 'pi pi-lock',\n LOCK_OPEN: 'pi pi-lock-open',\n MAP: 'pi pi-map',\n MAP_MARKER: 'pi pi-map-marker',\n MEGAPHONE: 'pi pi-megaphone',\n MICROPHONE: 'pi pi-microphone',\n MICROSOFT: 'pi pi-microsoft',\n MINUS: 'pi pi-minus',\n MINUS_CIRCLE: 'pi pi-minus-circle',\n MOBILE: 'pi pi-mobile',\n MONEY_BILL: 'pi pi-money-bill',\n MOON: 'pi pi-moon',\n PALETTE: 'pi pi-palette',\n PAPERCLIP: 'pi pi-paperclip',\n PAUSE: 'pi pi-pause',\n PAYPAL: 'pi pi-paypal',\n PENCIL: 'pi pi-pencil',\n PERCENTAGE: 'pi pi-percentage',\n PHONE: 'pi pi-phone',\n PLAY: 'pi pi-play',\n PLUS: 'pi pi-plus',\n PLUS_CIRCLE: 'pi pi-plus-circle',\n POUND: 'pi pi-pound',\n POWER_OFF: 'pi pi-power-off',\n PRIME: 'pi pi-prime',\n PRINT: 'pi pi-print',\n QRCODE: 'pi pi-qrcode',\n QUESTION: 'pi pi-question',\n QUESTION_CIRCLE: 'pi pi-question-circle',\n REDDIT: 'pi pi-reddit',\n REFRESH: 'pi pi-refresh',\n REPLAY: 'pi pi-replay',\n REPLY: 'pi pi-reply',\n SAVE: 'pi pi-save',\n SEARCH: 'pi pi-search',\n SEARCH_MINUS: 'pi pi-search-minus',\n SEARCH_PLUS: 'pi pi-search-plus',\n SEND: 'pi pi-send',\n SERVER: 'pi pi-server',\n SHARE_ALT: 'pi pi-share-alt',\n SHIELD: 'pi pi-shield',\n SHOPPING_BAG: 'pi pi-shopping-bag',\n SHOPPING_CART: 'pi pi-shopping-cart',\n SIGN_IN: 'pi pi-sign-in',\n SIGN_OUT: 'pi pi-sign-out',\n SITEMAP: 'pi pi-sitemap',\n SLACK: 'pi pi-slack',\n SLIDERS_H: 'pi pi-sliders-h',\n SLIDERS_V: 'pi pi-sliders-v',\n SORT: 'pi pi-sort',\n SORT_ALPHA_DOWN: 'pi pi-sort-alpha-down',\n SORT_ALPHA_DOWN_ALT: 'pi pi-sort-alpha-down-alt',\n SORT_ALPHA_UP: 'pi pi-sort-alpha-up',\n SORT_ALPHA_UP_ALT: 'pi pi-sort-alpha-up-alt',\n SORT_ALT: 'pi pi-sort-alt',\n SORT_ALT_SLASH: 'pi pi-sort-alt-slash',\n SORT_AMOUNT_DOWN: 'pi pi-sort-amount-down',\n SORT_AMOUNT_DOWN_ALT: 'pi pi-sort-amount-down-alt',\n SORT_AMOUNT_UP: 'pi pi-sort-amount-up',\n SORT_AMOUNT_UP_ALT: 'pi pi-sort-amount-up-alt',\n SORT_DOWN: 'pi pi-sort-down',\n SORT_NUMERIC_DOWN: 'pi pi-sort-numeric-down',\n SORT_NUMERIC_DOWN_ALT: 'pi pi-sort-numeric-down-alt',\n SORT_NUMERIC_UP: 'pi pi-sort-numeric-up',\n SORT_NUMERIC_UP_ALT: 'pi pi-sort-numeric-up-alt',\n SORT_UP: 'pi pi-sort-up',\n SPINNER: 'pi pi-spinner',\n STAR: 'pi pi-star',\n STAR_FILL: 'pi pi-star-fill',\n STEP_BACKWARD: 'pi pi-step-backward',\n STEP_BACKWARD_ALT: 'pi pi-step-backward-alt',\n STEP_FORWARD: 'pi pi-step-forward',\n STEP_FORWARD_ALT: 'pi pi-step-forward-alt',\n STOP: 'pi pi-stop',\n STOPWATCH: 'pi pi-stopwatch',\n STOP_CIRCLE: 'pi pi-stop-circle',\n SUN: 'pi pi-sun',\n SYNC: 'pi pi-sync',\n TABLE: 'pi pi-table',\n TABLET: 'pi pi-tablet',\n TAG: 'pi pi-tag',\n TAGS: 'pi pi-tags',\n TELEGRAM: 'pi pi-telegram',\n TH_LARGE: 'pi pi-th-large',\n THUMBS_DOWN: 'pi pi-thumbs-down',\n THUMBS_DOWN_FILL: 'pi pi-thumbs-down-fill',\n THUMBS_UP: 'pi pi-thumbs-up',\n THUMBS_UP_FILL: 'pi pi-thumbs-up-fill',\n TICKET: 'pi pi-ticket',\n TIMES: 'pi pi-times',\n TIMES_CIRCLE: 'pi pi-times-circle',\n TRASH: 'pi pi-trash',\n TRUCK: 'pi pi-truck',\n TWITTER: 'pi pi-twitter',\n UNDO: 'pi pi-undo',\n UNLOCK: 'pi pi-unlock',\n UPLOAD: 'pi pi-upload',\n USER: 'pi pi-user',\n USER_EDIT: 'pi pi-user-edit',\n USER_MINUS: 'pi pi-user-minus',\n USER_PLUS: 'pi pi-user-plus',\n USERS: 'pi pi-users',\n VERIFIED: 'pi pi-verified',\n VIDEO: 'pi pi-video',\n VIMEO: 'pi pi-vimeo',\n VOLUME_DOWN: 'pi pi-volume-down',\n VOLUME_OFF: 'pi pi-volume-off',\n VOLUME_UP: 'pi pi-volume-up',\n WALLET: 'pi pi-wallet',\n WHATSAPP: 'pi pi-whatsapp',\n WIFI: 'pi pi-wifi',\n WINDOW_MAXIMIZE: 'pi pi-window-maximize',\n WINDOW_MINIMIZE: 'pi pi-window-minimize',\n WRENCH: 'pi pi-wrench',\n YOUTUBE: 'pi pi-youtube'\n};\n\nvar ToastSeverities = {\n INFO: 'info',\n WARN: 'warn',\n ERROR: 'error',\n SUCCESS: 'success'\n};\n\nexport { FilterMatchMode, FilterOperator, FilterService, PrimeIcons, ToastSeverities as ToastSeverity };\n//# sourceMappingURL=index.mjs.map\n","import { isClient, setAttributes, setAttribute, isExist } from '@primeuix/utils/dom';\nimport { ref, readonly, getCurrentInstance, onMounted, nextTick, watch } from 'vue';\n\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction tryOnMounted(fn) {\n var sync = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n if (getCurrentInstance()) onMounted(fn);else if (sync) fn();else nextTick(fn);\n}\nvar _id = 0;\nfunction useStyle(css) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var isLoaded = ref(false);\n var cssRef = ref(css);\n var styleRef = ref(null);\n var defaultDocument = isClient() ? window.document : undefined;\n var _options$document = options.document,\n document = _options$document === void 0 ? defaultDocument : _options$document,\n _options$immediate = options.immediate,\n immediate = _options$immediate === void 0 ? true : _options$immediate,\n _options$manual = options.manual,\n manual = _options$manual === void 0 ? false : _options$manual,\n _options$name = options.name,\n name = _options$name === void 0 ? \"style_\".concat(++_id) : _options$name,\n _options$id = options.id,\n id = _options$id === void 0 ? undefined : _options$id,\n _options$media = options.media,\n media = _options$media === void 0 ? undefined : _options$media,\n _options$nonce = options.nonce,\n nonce = _options$nonce === void 0 ? undefined : _options$nonce,\n _options$first = options.first,\n first = _options$first === void 0 ? false : _options$first,\n _options$onMounted = options.onMounted,\n onStyleMounted = _options$onMounted === void 0 ? undefined : _options$onMounted,\n _options$onUpdated = options.onUpdated,\n onStyleUpdated = _options$onUpdated === void 0 ? undefined : _options$onUpdated,\n _options$onLoad = options.onLoad,\n onStyleLoaded = _options$onLoad === void 0 ? undefined : _options$onLoad,\n _options$props = options.props,\n props = _options$props === void 0 ? {} : _options$props;\n var stop = function stop() {};\n\n /* @todo: Improve _options params */\n var load = function load(_css) {\n var _props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!document) return;\n var _styleProps = _objectSpread(_objectSpread({}, props), _props);\n var _name = _styleProps.name || name,\n _id = _styleProps.id || id,\n _nonce = _styleProps.nonce || nonce;\n styleRef.value = document.querySelector(\"style[data-primevue-style-id=\\\"\".concat(_name, \"\\\"]\")) || document.getElementById(_id) || document.createElement('style');\n if (!styleRef.value.isConnected) {\n cssRef.value = _css || css;\n setAttributes(styleRef.value, {\n type: 'text/css',\n id: _id,\n media: media,\n nonce: _nonce\n });\n first ? document.head.prepend(styleRef.value) : document.head.appendChild(styleRef.value);\n setAttribute(styleRef.value, 'data-primevue-style-id', _name);\n setAttributes(styleRef.value, _styleProps);\n styleRef.value.onload = function (event) {\n return onStyleLoaded === null || onStyleLoaded === void 0 ? void 0 : onStyleLoaded(event, {\n name: _name\n });\n };\n onStyleMounted === null || onStyleMounted === void 0 || onStyleMounted(_name);\n }\n if (isLoaded.value) return;\n stop = watch(cssRef, function (value) {\n styleRef.value.textContent = value;\n onStyleUpdated === null || onStyleUpdated === void 0 || onStyleUpdated(_name);\n }, {\n immediate: true\n });\n isLoaded.value = true;\n };\n var unload = function unload() {\n if (!document || !isLoaded.value) return;\n stop();\n isExist(styleRef.value) && document.head.removeChild(styleRef.value);\n isLoaded.value = false;\n };\n if (immediate && !manual) tryOnMounted(load);\n\n /*if (!manual)\n tryOnScopeDispose(unload)*/\n\n return {\n id: id,\n name: name,\n el: styleRef,\n css: cssRef,\n unload: unload,\n load: load,\n isLoaded: readonly(isLoaded)\n };\n}\n\nexport { useStyle };\n//# sourceMappingURL=index.mjs.map\n","import { dt, Theme } from '@primeuix/styled';\nimport { resolve, isNotEmpty, minifyCSS } from '@primeuix/utils/object';\nimport { useStyle } from '@primevue/core/usestyle';\n\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) ; else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n*,\\n::before,\\n::after {\\n box-sizing: border-box;\\n}\\n\\n/* Non vue overlay animations */\\n.p-connected-overlay {\\n opacity: 0;\\n transform: scaleY(0.8);\\n transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1),\\n opacity 0.12s cubic-bezier(0, 0, 0.2, 1);\\n}\\n\\n.p-connected-overlay-visible {\\n opacity: 1;\\n transform: scaleY(1);\\n}\\n\\n.p-connected-overlay-hidden {\\n opacity: 0;\\n transform: scaleY(1);\\n transition: opacity 0.1s linear;\\n}\\n\\n/* Vue based overlay animations */\\n.p-connected-overlay-enter-from {\\n opacity: 0;\\n transform: scaleY(0.8);\\n}\\n\\n.p-connected-overlay-leave-to {\\n opacity: 0;\\n}\\n\\n.p-connected-overlay-enter-active {\\n transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1),\\n opacity 0.12s cubic-bezier(0, 0, 0.2, 1);\\n}\\n\\n.p-connected-overlay-leave-active {\\n transition: opacity 0.1s linear;\\n}\\n\\n/* Toggleable Content */\\n.p-toggleable-content-enter-from,\\n.p-toggleable-content-leave-to {\\n max-height: 0;\\n}\\n\\n.p-toggleable-content-enter-to,\\n.p-toggleable-content-leave-from {\\n max-height: 1000px;\\n}\\n\\n.p-toggleable-content-leave-active {\\n overflow: hidden;\\n transition: max-height 0.45s cubic-bezier(0, 1, 0, 1);\\n}\\n\\n.p-toggleable-content-enter-active {\\n overflow: hidden;\\n transition: max-height 1s ease-in-out;\\n}\\n\\n.p-disabled,\\n.p-disabled * {\\n cursor: default;\\n pointer-events: none;\\n user-select: none;\\n}\\n\\n.p-disabled,\\n.p-component:disabled {\\n opacity: \".concat(dt('disabled.opacity'), \";\\n}\\n\\n.pi {\\n font-size: \").concat(dt('icon.size'), \";\\n}\\n\\n.p-icon {\\n width: \").concat(dt('icon.size'), \";\\n height: \").concat(dt('icon.size'), \";\\n}\\n\\n.p-overlay-mask {\\n background: \").concat(dt('mask.background'), \";\\n color: \").concat(dt('mask.color'), \";\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n}\\n\\n.p-overlay-mask-enter {\\n animation: p-overlay-mask-enter-animation \").concat(dt('mask.transition.duration'), \" forwards;\\n}\\n\\n.p-overlay-mask-leave {\\n animation: p-overlay-mask-leave-animation \").concat(dt('mask.transition.duration'), \" forwards;\\n}\\n\\n@keyframes p-overlay-mask-enter-animation {\\n from {\\n background: transparent;\\n }\\n to {\\n background: \").concat(dt('mask.background'), \";\\n }\\n}\\n@keyframes p-overlay-mask-leave-animation {\\n from {\\n background: \").concat(dt('mask.background'), \";\\n }\\n to {\\n background: transparent;\\n }\\n}\\n\");\n};\nvar css = function css(_ref2) {\n var dt = _ref2.dt;\n return \"\\n.p-hidden-accessible {\\n border: 0;\\n clip: rect(0 0 0 0);\\n height: 1px;\\n margin: -1px;\\n overflow: hidden;\\n padding: 0;\\n position: absolute;\\n width: 1px;\\n}\\n\\n.p-hidden-accessible input,\\n.p-hidden-accessible select {\\n transform: scale(0);\\n}\\n\\n.p-overflow-hidden {\\n overflow: hidden;\\n padding-right: \".concat(dt('scrollbar.width'), \";\\n}\\n\");\n};\nvar classes = {};\nvar inlineStyles = {};\nvar BaseStyle = {\n name: 'base',\n css: css,\n theme: theme,\n classes: classes,\n inlineStyles: inlineStyles,\n load: function load(style) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var transform = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function (cs) {\n return cs;\n };\n var computedStyle = transform(resolve(style, {\n dt: dt\n }));\n return isNotEmpty(computedStyle) ? useStyle(minifyCSS(computedStyle), _objectSpread({\n name: this.name\n }, options)) : {};\n },\n loadCSS: function loadCSS() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return this.load(this.css, options);\n },\n loadTheme: function loadTheme() {\n var _this = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var style = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n return this.load(this.theme, options, function () {\n var computedStyle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n return Theme.transformCSS(options.name || _this.name, \"\".concat(computedStyle).concat(style));\n });\n },\n getCommonTheme: function getCommonTheme(params) {\n return Theme.getCommon(this.name, params);\n },\n getComponentTheme: function getComponentTheme(params) {\n return Theme.getComponent(this.name, params);\n },\n getDirectiveTheme: function getDirectiveTheme(params) {\n return Theme.getDirective(this.name, params);\n },\n getPresetTheme: function getPresetTheme(preset, selector, params) {\n return Theme.getCustomPreset(this.name, preset, selector, params);\n },\n getLayerOrderThemeCSS: function getLayerOrderThemeCSS() {\n return Theme.getLayerOrderCSS(this.name);\n },\n getStyleSheet: function getStyleSheet() {\n var extendedCSS = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (this.css) {\n var _css = resolve(this.css, {\n dt: dt\n }) || '';\n var _style = minifyCSS(\"\".concat(_css).concat(extendedCSS));\n var _props = Object.entries(props).reduce(function (acc, _ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n k = _ref4[0],\n v = _ref4[1];\n return acc.push(\"\".concat(k, \"=\\\"\").concat(v, \"\\\"\")) && acc;\n }, []).join(' ');\n return isNotEmpty(_style) ? \"<style type=\\\"text/css\\\" data-primevue-style-id=\\\"\".concat(this.name, \"\\\" \").concat(_props, \">\").concat(_style, \"</style>\") : '';\n }\n return '';\n },\n getCommonThemeStyleSheet: function getCommonThemeStyleSheet(params) {\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return Theme.getCommonStyleSheet(this.name, params, props);\n },\n getThemeStyleSheet: function getThemeStyleSheet(params) {\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var css = [Theme.getStyleSheet(this.name, params, props)];\n if (this.theme) {\n var name = this.name === 'base' ? 'global-style' : \"\".concat(this.name, \"-style\");\n var _css = resolve(this.theme, {\n dt: dt\n });\n var _style = minifyCSS(Theme.transformCSS(name, _css));\n var _props = Object.entries(props).reduce(function (acc, _ref5) {\n var _ref6 = _slicedToArray(_ref5, 2),\n k = _ref6[0],\n v = _ref6[1];\n return acc.push(\"\".concat(k, \"=\\\"\").concat(v, \"\\\"\")) && acc;\n }, []).join(' ');\n isNotEmpty(_style) && css.push(\"<style type=\\\"text/css\\\" data-primevue-style-id=\\\"\".concat(name, \"\\\" \").concat(_props, \">\").concat(_style, \"</style>\"));\n }\n return css.join('');\n },\n extend: function extend(style) {\n return _objectSpread(_objectSpread({}, this), {}, {\n css: undefined,\n theme: undefined\n }, style);\n }\n};\n\nexport { BaseStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { EventBus } from '@primeuix/utils/eventbus';\n\nvar PrimeVueService = EventBus();\n\nexport { PrimeVueService as default };\n//# sourceMappingURL=index.mjs.map\n","import { ThemeService, Theme } from '@primeuix/styled';\nimport { mergeKeys } from '@primeuix/utils';\nimport { FilterMatchMode } from '@primevue/core/api';\nimport BaseStyle from '@primevue/core/base/style';\nimport PrimeVueService from '@primevue/core/service';\nimport { inject, reactive, ref, watch } from 'vue';\n\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nvar defaultOptions = {\n ripple: false,\n inputStyle: null,\n inputVariant: null,\n locale: {\n startsWith: 'Starts with',\n contains: 'Contains',\n notContains: 'Not contains',\n endsWith: 'Ends with',\n equals: 'Equals',\n notEquals: 'Not equals',\n noFilter: 'No Filter',\n lt: 'Less than',\n lte: 'Less than or equal to',\n gt: 'Greater than',\n gte: 'Greater than or equal to',\n dateIs: 'Date is',\n dateIsNot: 'Date is not',\n dateBefore: 'Date is before',\n dateAfter: 'Date is after',\n clear: 'Clear',\n apply: 'Apply',\n matchAll: 'Match All',\n matchAny: 'Match Any',\n addRule: 'Add Rule',\n removeRule: 'Remove Rule',\n accept: 'Yes',\n reject: 'No',\n choose: 'Choose',\n upload: 'Upload',\n cancel: 'Cancel',\n completed: 'Completed',\n pending: 'Pending',\n fileSizeTypes: ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'],\n dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n dayNamesMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n chooseYear: 'Choose Year',\n chooseMonth: 'Choose Month',\n chooseDate: 'Choose Date',\n prevDecade: 'Previous Decade',\n nextDecade: 'Next Decade',\n prevYear: 'Previous Year',\n nextYear: 'Next Year',\n prevMonth: 'Previous Month',\n nextMonth: 'Next Month',\n prevHour: 'Previous Hour',\n nextHour: 'Next Hour',\n prevMinute: 'Previous Minute',\n nextMinute: 'Next Minute',\n prevSecond: 'Previous Second',\n nextSecond: 'Next Second',\n am: 'am',\n pm: 'pm',\n today: 'Today',\n weekHeader: 'Wk',\n firstDayOfWeek: 0,\n showMonthAfterYear: false,\n dateFormat: 'mm/dd/yy',\n weak: 'Weak',\n medium: 'Medium',\n strong: 'Strong',\n passwordPrompt: 'Enter a password',\n emptyFilterMessage: 'No results found',\n searchMessage: '{0} results are available',\n selectionMessage: '{0} items selected',\n emptySelectionMessage: 'No selected item',\n emptySearchMessage: 'No results found',\n fileChosenMessage: '{0} files',\n noFileChosenMessage: 'No file chosen',\n emptyMessage: 'No available options',\n aria: {\n trueLabel: 'True',\n falseLabel: 'False',\n nullLabel: 'Not Selected',\n star: '1 star',\n stars: '{star} stars',\n selectAll: 'All items selected',\n unselectAll: 'All items unselected',\n close: 'Close',\n previous: 'Previous',\n next: 'Next',\n navigation: 'Navigation',\n scrollTop: 'Scroll Top',\n moveTop: 'Move Top',\n moveUp: 'Move Up',\n moveDown: 'Move Down',\n moveBottom: 'Move Bottom',\n moveToTarget: 'Move to Target',\n moveToSource: 'Move to Source',\n moveAllToTarget: 'Move All to Target',\n moveAllToSource: 'Move All to Source',\n pageLabel: 'Page {page}',\n firstPageLabel: 'First Page',\n lastPageLabel: 'Last Page',\n nextPageLabel: 'Next Page',\n prevPageLabel: 'Previous Page',\n rowsPerPageLabel: 'Rows per page',\n jumpToPageDropdownLabel: 'Jump to Page Dropdown',\n jumpToPageInputLabel: 'Jump to Page Input',\n selectRow: 'Row Selected',\n unselectRow: 'Row Unselected',\n expandRow: 'Row Expanded',\n collapseRow: 'Row Collapsed',\n showFilterMenu: 'Show Filter Menu',\n hideFilterMenu: 'Hide Filter Menu',\n filterOperator: 'Filter Operator',\n filterConstraint: 'Filter Constraint',\n editRow: 'Row Edit',\n saveEdit: 'Save Edit',\n cancelEdit: 'Cancel Edit',\n listView: 'List View',\n gridView: 'Grid View',\n slide: 'Slide',\n slideNumber: '{slideNumber}',\n zoomImage: 'Zoom Image',\n zoomIn: 'Zoom In',\n zoomOut: 'Zoom Out',\n rotateRight: 'Rotate Right',\n rotateLeft: 'Rotate Left',\n listLabel: 'Option List'\n }\n },\n filterMatchModeOptions: {\n text: [FilterMatchMode.STARTS_WITH, FilterMatchMode.CONTAINS, FilterMatchMode.NOT_CONTAINS, FilterMatchMode.ENDS_WITH, FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS],\n numeric: [FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.LESS_THAN, FilterMatchMode.LESS_THAN_OR_EQUAL_TO, FilterMatchMode.GREATER_THAN, FilterMatchMode.GREATER_THAN_OR_EQUAL_TO],\n date: [FilterMatchMode.DATE_IS, FilterMatchMode.DATE_IS_NOT, FilterMatchMode.DATE_BEFORE, FilterMatchMode.DATE_AFTER]\n },\n zIndex: {\n modal: 1100,\n overlay: 1000,\n menu: 1000,\n tooltip: 1100\n },\n theme: undefined,\n unstyled: false,\n pt: undefined,\n ptOptions: {\n mergeSections: true,\n mergeProps: false\n },\n csp: {\n nonce: undefined\n }\n};\nvar PrimeVueSymbol = Symbol();\nfunction usePrimeVue() {\n var PrimeVue = inject(PrimeVueSymbol);\n if (!PrimeVue) {\n throw new Error('PrimeVue is not installed!');\n }\n return PrimeVue;\n}\nfunction setup(app, options) {\n var PrimeVue = {\n config: reactive(options)\n };\n app.config.globalProperties.$primevue = PrimeVue;\n app.provide(PrimeVueSymbol, PrimeVue);\n clearConfig();\n setupConfig(app, PrimeVue);\n return PrimeVue;\n}\nvar stopWatchers = [];\nfunction clearConfig() {\n ThemeService.clear();\n stopWatchers.forEach(function (fn) {\n return fn === null || fn === void 0 ? void 0 : fn();\n });\n stopWatchers = [];\n}\nfunction setupConfig(app, PrimeVue) {\n var isThemeChanged = ref(false);\n\n /*** Methods and Services ***/\n var loadCommonTheme = function loadCommonTheme() {\n var _PrimeVue$config;\n if (((_PrimeVue$config = PrimeVue.config) === null || _PrimeVue$config === void 0 ? void 0 : _PrimeVue$config.theme) === 'none') return;\n\n // common\n if (!Theme.isStyleNameLoaded('common')) {\n var _BaseStyle$getCommonT, _PrimeVue$config2;\n var _ref = ((_BaseStyle$getCommonT = BaseStyle.getCommonTheme) === null || _BaseStyle$getCommonT === void 0 ? void 0 : _BaseStyle$getCommonT.call(BaseStyle)) || {},\n primitive = _ref.primitive,\n semantic = _ref.semantic,\n global = _ref.global,\n style = _ref.style;\n var styleOptions = {\n nonce: (_PrimeVue$config2 = PrimeVue.config) === null || _PrimeVue$config2 === void 0 || (_PrimeVue$config2 = _PrimeVue$config2.csp) === null || _PrimeVue$config2 === void 0 ? void 0 : _PrimeVue$config2.nonce\n };\n BaseStyle.load(primitive === null || primitive === void 0 ? void 0 : primitive.css, _objectSpread({\n name: 'primitive-variables'\n }, styleOptions));\n BaseStyle.load(semantic === null || semantic === void 0 ? void 0 : semantic.css, _objectSpread({\n name: 'semantic-variables'\n }, styleOptions));\n BaseStyle.load(global === null || global === void 0 ? void 0 : global.css, _objectSpread({\n name: 'global-variables'\n }, styleOptions));\n BaseStyle.loadTheme(_objectSpread({\n name: 'global-style'\n }, styleOptions), style);\n Theme.setLoadedStyleName('common');\n }\n };\n ThemeService.on('theme:change', function (newTheme) {\n if (!isThemeChanged.value) {\n app.config.globalProperties.$primevue.config.theme = newTheme;\n isThemeChanged.value = true;\n }\n });\n\n /*** Watchers ***/\n var stopConfigWatcher = watch(PrimeVue.config, function (newValue, oldValue) {\n PrimeVueService.emit('config:change', {\n newValue: newValue,\n oldValue: oldValue\n });\n }, {\n immediate: true,\n deep: true\n });\n var stopRippleWatcher = watch(function () {\n return PrimeVue.config.ripple;\n }, function (newValue, oldValue) {\n PrimeVueService.emit('config:ripple:change', {\n newValue: newValue,\n oldValue: oldValue\n });\n }, {\n immediate: true,\n deep: true\n });\n var stopThemeWatcher = watch(function () {\n return PrimeVue.config.theme;\n }, function (newValue, oldValue) {\n if (!isThemeChanged.value) {\n Theme.setTheme(newValue);\n }\n if (!PrimeVue.config.unstyled) {\n loadCommonTheme();\n }\n isThemeChanged.value = false;\n PrimeVueService.emit('config:theme:change', {\n newValue: newValue,\n oldValue: oldValue\n });\n }, {\n immediate: true,\n deep: false\n });\n var stopUnstyledWatcher = watch(function () {\n return PrimeVue.config.unstyled;\n }, function (newValue, oldValue) {\n if (!newValue && PrimeVue.config.theme) {\n loadCommonTheme();\n }\n PrimeVueService.emit('config:unstyled:change', {\n newValue: newValue,\n oldValue: oldValue\n });\n }, {\n immediate: true,\n deep: true\n });\n stopWatchers.push(stopConfigWatcher);\n stopWatchers.push(stopRippleWatcher);\n stopWatchers.push(stopThemeWatcher);\n stopWatchers.push(stopUnstyledWatcher);\n}\nvar PrimeVue = {\n install: function install(app, options) {\n var configOptions = mergeKeys(defaultOptions, options);\n setup(app, configOptions);\n }\n};\n\nexport { clearConfig, PrimeVue as default, defaultOptions, setup, setupConfig, usePrimeVue };\n//# sourceMappingURL=index.mjs.map\n","import { computed, customRef, effectScope, getCurrentInstance, getCurrentScope, hasInjectionContext, inject, isReactive, isRef, nextTick, onBeforeMount, onBeforeUnmount, onMounted, onScopeDispose, onUnmounted, provide, reactive, readonly, ref, shallowReadonly, shallowRef, toRef as toRef$1, toRefs as toRefs$1, toValue, unref, watch, watchEffect } from \"vue\";\n\n//#region computedEager/index.ts\n/**\n*\n* @deprecated This function will be removed in future version.\n*\n* Note: If you are using Vue 3.4+, you can straight use computed instead.\n* Because in Vue 3.4+, if computed new value does not change,\n* computed, effect, watch, watchEffect, render dependencies will not be triggered.\n* refer: https://github.com/vuejs/core/pull/5912\n*\n* @param fn effect function\n* @param options WatchOptionsBase\n* @returns readonly shallowRef\n*/\nfunction computedEager(fn, options) {\n\tvar _options$flush;\n\tconst result = shallowRef();\n\twatchEffect(() => {\n\t\tresult.value = fn();\n\t}, {\n\t\t...options,\n\t\tflush: (_options$flush = options === null || options === void 0 ? void 0 : options.flush) !== null && _options$flush !== void 0 ? _options$flush : \"sync\"\n\t});\n\treturn readonly(result);\n}\n/** @deprecated use `computedEager` instead */\nconst eagerComputed = computedEager;\n\n//#endregion\n//#region computedWithControl/index.ts\n/**\n* Explicitly define the deps of computed.\n*\n* @param source\n* @param fn\n*/\nfunction computedWithControl(source, fn, options = {}) {\n\tlet v = void 0;\n\tlet track;\n\tlet trigger;\n\tlet dirty = true;\n\tconst update = () => {\n\t\tdirty = true;\n\t\ttrigger();\n\t};\n\twatch(source, update, {\n\t\tflush: \"sync\",\n\t\t...options\n\t});\n\tconst get$1 = typeof fn === \"function\" ? fn : fn.get;\n\tconst set$1 = typeof fn === \"function\" ? void 0 : fn.set;\n\tconst result = customRef((_track, _trigger) => {\n\t\ttrack = _track;\n\t\ttrigger = _trigger;\n\t\treturn {\n\t\t\tget() {\n\t\t\t\tif (dirty) {\n\t\t\t\t\tv = get$1(v);\n\t\t\t\t\tdirty = false;\n\t\t\t\t}\n\t\t\t\ttrack();\n\t\t\t\treturn v;\n\t\t\t},\n\t\t\tset(v$1) {\n\t\t\t\tset$1 === null || set$1 === void 0 || set$1(v$1);\n\t\t\t}\n\t\t};\n\t});\n\tresult.trigger = update;\n\treturn result;\n}\n/** @deprecated use `computedWithControl` instead */\nconst controlledComputed = computedWithControl;\n\n//#endregion\n//#region tryOnScopeDispose/index.ts\n/**\n* Call onScopeDispose() if it's inside an effect scope lifecycle, if not, do nothing\n*\n* @param fn\n*/\nfunction tryOnScopeDispose(fn, failSilently) {\n\tif (getCurrentScope()) {\n\t\tonScopeDispose(fn, failSilently);\n\t\treturn true;\n\t}\n\treturn false;\n}\n\n//#endregion\n//#region createEventHook/index.ts\n/**\n* Utility for creating event hooks\n*\n* @see https://vueuse.org/createEventHook\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction createEventHook() {\n\tconst fns = /* @__PURE__ */ new Set();\n\tconst off = (fn) => {\n\t\tfns.delete(fn);\n\t};\n\tconst clear = () => {\n\t\tfns.clear();\n\t};\n\tconst on = (fn) => {\n\t\tfns.add(fn);\n\t\tconst offFn = () => off(fn);\n\t\ttryOnScopeDispose(offFn);\n\t\treturn { off: offFn };\n\t};\n\tconst trigger = (...args) => {\n\t\treturn Promise.all(Array.from(fns).map((fn) => fn(...args)));\n\t};\n\treturn {\n\t\ton,\n\t\toff,\n\t\ttrigger,\n\t\tclear\n\t};\n}\n\n//#endregion\n//#region createGlobalState/index.ts\n/**\n* Keep states in the global scope to be reusable across Vue instances.\n*\n* @see https://vueuse.org/createGlobalState\n* @param stateFactory A factory function to create the state\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction createGlobalState(stateFactory) {\n\tlet initialized = false;\n\tlet state;\n\tconst scope = effectScope(true);\n\treturn ((...args) => {\n\t\tif (!initialized) {\n\t\t\tstate = scope.run(() => stateFactory(...args));\n\t\t\tinitialized = true;\n\t\t}\n\t\treturn state;\n\t});\n}\n\n//#endregion\n//#region provideLocal/map.ts\nconst localProvidedStateMap = /* @__PURE__ */ new WeakMap();\n\n//#endregion\n//#region injectLocal/index.ts\n/**\n* On the basis of `inject`, it is allowed to directly call inject to obtain the value after call provide in the same component.\n*\n* @example\n* ```ts\n* injectLocal('MyInjectionKey', 1)\n* const injectedValue = injectLocal('MyInjectionKey') // injectedValue === 1\n* ```\n*\n* @__NO_SIDE_EFFECTS__\n*/\nconst injectLocal = (...args) => {\n\tvar _getCurrentInstance;\n\tconst key = args[0];\n\tconst instance = (_getCurrentInstance = getCurrentInstance()) === null || _getCurrentInstance === void 0 ? void 0 : _getCurrentInstance.proxy;\n\tconst owner = instance !== null && instance !== void 0 ? instance : getCurrentScope();\n\tif (owner == null && !hasInjectionContext()) throw new Error(\"injectLocal must be called in setup\");\n\tif (owner && localProvidedStateMap.has(owner) && key in localProvidedStateMap.get(owner)) return localProvidedStateMap.get(owner)[key];\n\treturn inject(...args);\n};\n\n//#endregion\n//#region provideLocal/index.ts\n/**\n* On the basis of `provide`, it is allowed to directly call inject to obtain the value after call provide in the same component.\n*\n* @example\n* ```ts\n* provideLocal('MyInjectionKey', 1)\n* const injectedValue = injectLocal('MyInjectionKey') // injectedValue === 1\n* ```\n*/\nfunction provideLocal(key, value) {\n\tvar _getCurrentInstance;\n\tconst instance = (_getCurrentInstance = getCurrentInstance()) === null || _getCurrentInstance === void 0 ? void 0 : _getCurrentInstance.proxy;\n\tconst owner = instance !== null && instance !== void 0 ? instance : getCurrentScope();\n\tif (owner == null) throw new Error(\"provideLocal must be called in setup\");\n\tif (!localProvidedStateMap.has(owner)) localProvidedStateMap.set(owner, Object.create(null));\n\tconst localProvidedState = localProvidedStateMap.get(owner);\n\tlocalProvidedState[key] = value;\n\treturn provide(key, value);\n}\n\n//#endregion\n//#region createInjectionState/index.ts\n/**\n* Create global state that can be injected into components.\n*\n* @see https://vueuse.org/createInjectionState\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction createInjectionState(composable, options) {\n\tconst key = (options === null || options === void 0 ? void 0 : options.injectionKey) || Symbol(composable.name || \"InjectionState\");\n\tconst defaultValue = options === null || options === void 0 ? void 0 : options.defaultValue;\n\tconst useProvidingState = (...args) => {\n\t\tconst state = composable(...args);\n\t\tprovideLocal(key, state);\n\t\treturn state;\n\t};\n\tconst useInjectedState = () => injectLocal(key, defaultValue);\n\treturn [useProvidingState, useInjectedState];\n}\n\n//#endregion\n//#region createRef/index.ts\n/**\n* Returns a `deepRef` or `shallowRef` depending on the `deep` param.\n*\n* @example createRef(1) // ShallowRef<number>\n* @example createRef(1, false) // ShallowRef<number>\n* @example createRef(1, true) // Ref<number>\n* @example createRef(\"string\") // ShallowRef<string>\n* @example createRef<\"A\"|\"B\">(\"A\", true) // Ref<\"A\"|\"B\">\n*\n* @param value\n* @param deep\n* @returns the `deepRef` or `shallowRef`\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction createRef(value, deep) {\n\tif (deep === true) return ref(value);\n\telse return shallowRef(value);\n}\n\n//#endregion\n//#region utils/is.ts\nconst isClient = typeof window !== \"undefined\" && typeof document !== \"undefined\";\nconst isWorker = typeof WorkerGlobalScope !== \"undefined\" && globalThis instanceof WorkerGlobalScope;\nconst isDef = (val) => typeof val !== \"undefined\";\nconst notNullish = (val) => val != null;\nconst assert = (condition, ...infos) => {\n\tif (!condition) console.warn(...infos);\n};\nconst toString = Object.prototype.toString;\nconst isObject = (val) => toString.call(val) === \"[object Object]\";\nconst now = () => Date.now();\nconst timestamp = () => +Date.now();\nconst clamp = (n, min, max) => Math.min(max, Math.max(min, n));\nconst noop = () => {};\nconst rand = (min, max) => {\n\tmin = Math.ceil(min);\n\tmax = Math.floor(max);\n\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n};\nconst hasOwn = (val, key) => Object.prototype.hasOwnProperty.call(val, key);\nconst isIOS = /* @__PURE__ */ getIsIOS();\nfunction getIsIOS() {\n\tvar _window, _window2, _window3;\n\treturn isClient && !!((_window = window) === null || _window === void 0 || (_window = _window.navigator) === null || _window === void 0 ? void 0 : _window.userAgent) && (/iP(?:ad|hone|od)/.test(window.navigator.userAgent) || ((_window2 = window) === null || _window2 === void 0 || (_window2 = _window2.navigator) === null || _window2 === void 0 ? void 0 : _window2.maxTouchPoints) > 2 && /iPad|Macintosh/.test((_window3 = window) === null || _window3 === void 0 ? void 0 : _window3.navigator.userAgent));\n}\n\n//#endregion\n//#region toRef/index.ts\nfunction toRef(...args) {\n\tif (args.length !== 1) return toRef$1(...args);\n\tconst r = args[0];\n\treturn typeof r === \"function\" ? readonly(customRef(() => ({\n\t\tget: r,\n\t\tset: noop\n\t}))) : ref(r);\n}\n\n//#endregion\n//#region utils/filters.ts\n/**\n* @internal\n*/\nfunction createFilterWrapper(filter, fn) {\n\tfunction wrapper(...args) {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tPromise.resolve(filter(() => fn.apply(this, args), {\n\t\t\t\tfn,\n\t\t\t\tthisArg: this,\n\t\t\t\targs\n\t\t\t})).then(resolve).catch(reject);\n\t\t});\n\t}\n\treturn wrapper;\n}\nconst bypassFilter = (invoke$1) => {\n\treturn invoke$1();\n};\n/**\n* Create an EventFilter that debounce the events\n*/\nfunction debounceFilter(ms, options = {}) {\n\tlet timer;\n\tlet maxTimer;\n\tlet lastRejector = noop;\n\tconst _clearTimeout = (timer$1) => {\n\t\tclearTimeout(timer$1);\n\t\tlastRejector();\n\t\tlastRejector = noop;\n\t};\n\tlet lastInvoker;\n\tconst filter = (invoke$1) => {\n\t\tconst duration = toValue(ms);\n\t\tconst maxDuration = toValue(options.maxWait);\n\t\tif (timer) _clearTimeout(timer);\n\t\tif (duration <= 0 || maxDuration !== void 0 && maxDuration <= 0) {\n\t\t\tif (maxTimer) {\n\t\t\t\t_clearTimeout(maxTimer);\n\t\t\t\tmaxTimer = void 0;\n\t\t\t}\n\t\t\treturn Promise.resolve(invoke$1());\n\t\t}\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tlastRejector = options.rejectOnCancel ? reject : resolve;\n\t\t\tlastInvoker = invoke$1;\n\t\t\tif (maxDuration && !maxTimer) maxTimer = setTimeout(() => {\n\t\t\t\tif (timer) _clearTimeout(timer);\n\t\t\t\tmaxTimer = void 0;\n\t\t\t\tresolve(lastInvoker());\n\t\t\t}, maxDuration);\n\t\t\ttimer = setTimeout(() => {\n\t\t\t\tif (maxTimer) _clearTimeout(maxTimer);\n\t\t\t\tmaxTimer = void 0;\n\t\t\t\tresolve(invoke$1());\n\t\t\t}, duration);\n\t\t});\n\t};\n\treturn filter;\n}\nfunction throttleFilter(...args) {\n\tlet lastExec = 0;\n\tlet timer;\n\tlet isLeading = true;\n\tlet lastRejector = noop;\n\tlet lastValue;\n\tlet ms;\n\tlet trailing;\n\tlet leading;\n\tlet rejectOnCancel;\n\tif (!isRef(args[0]) && typeof args[0] === \"object\") ({delay: ms, trailing = true, leading = true, rejectOnCancel = false} = args[0]);\n\telse [ms, trailing = true, leading = true, rejectOnCancel = false] = args;\n\tconst clear = () => {\n\t\tif (timer) {\n\t\t\tclearTimeout(timer);\n\t\t\ttimer = void 0;\n\t\t\tlastRejector();\n\t\t\tlastRejector = noop;\n\t\t}\n\t};\n\tconst filter = (_invoke) => {\n\t\tconst duration = toValue(ms);\n\t\tconst elapsed = Date.now() - lastExec;\n\t\tconst invoke$1 = () => {\n\t\t\treturn lastValue = _invoke();\n\t\t};\n\t\tclear();\n\t\tif (duration <= 0) {\n\t\t\tlastExec = Date.now();\n\t\t\treturn invoke$1();\n\t\t}\n\t\tif (elapsed > duration) {\n\t\t\tlastExec = Date.now();\n\t\t\tif (leading || !isLeading) invoke$1();\n\t\t} else if (trailing) lastValue = new Promise((resolve, reject) => {\n\t\t\tlastRejector = rejectOnCancel ? reject : resolve;\n\t\t\ttimer = setTimeout(() => {\n\t\t\t\tlastExec = Date.now();\n\t\t\t\tisLeading = true;\n\t\t\t\tresolve(invoke$1());\n\t\t\t\tclear();\n\t\t\t}, Math.max(0, duration - elapsed));\n\t\t});\n\t\tif (!leading && !timer) timer = setTimeout(() => isLeading = true, duration);\n\t\tisLeading = false;\n\t\treturn lastValue;\n\t};\n\treturn filter;\n}\n/**\n* EventFilter that gives extra controls to pause and resume the filter\n*\n* @param extendFilter Extra filter to apply when the PausableFilter is active, default to none\n* @param options Options to configure the filter\n*/\nfunction pausableFilter(extendFilter = bypassFilter, options = {}) {\n\tconst { initialState = \"active\" } = options;\n\tconst isActive = toRef(initialState === \"active\");\n\tfunction pause() {\n\t\tisActive.value = false;\n\t}\n\tfunction resume() {\n\t\tisActive.value = true;\n\t}\n\tconst eventFilter = (...args) => {\n\t\tif (isActive.value) extendFilter(...args);\n\t};\n\treturn {\n\t\tisActive: readonly(isActive),\n\t\tpause,\n\t\tresume,\n\t\teventFilter\n\t};\n}\n\n//#endregion\n//#region utils/general.ts\nfunction promiseTimeout(ms, throwOnTimeout = false, reason = \"Timeout\") {\n\treturn new Promise((resolve, reject) => {\n\t\tif (throwOnTimeout) setTimeout(() => reject(reason), ms);\n\t\telse setTimeout(resolve, ms);\n\t});\n}\nfunction identity(arg) {\n\treturn arg;\n}\n/**\n* Create singleton promise function\n*\n* @example\n* ```\n* const promise = createSingletonPromise(async () => { ... })\n*\n* await promise()\n* await promise() // all of them will be bind to a single promise instance\n* await promise() // and be resolved together\n* ```\n*/\nfunction createSingletonPromise(fn) {\n\tlet _promise;\n\tfunction wrapper() {\n\t\tif (!_promise) _promise = fn();\n\t\treturn _promise;\n\t}\n\twrapper.reset = async () => {\n\t\tconst _prev = _promise;\n\t\t_promise = void 0;\n\t\tif (_prev) await _prev;\n\t};\n\treturn wrapper;\n}\nfunction invoke(fn) {\n\treturn fn();\n}\nfunction containsProp(obj, ...props) {\n\treturn props.some((k) => k in obj);\n}\nfunction increaseWithUnit(target, delta) {\n\tvar _target$match;\n\tif (typeof target === \"number\") return target + delta;\n\tconst value = ((_target$match = target.match(/^-?\\d+\\.?\\d*/)) === null || _target$match === void 0 ? void 0 : _target$match[0]) || \"\";\n\tconst unit = target.slice(value.length);\n\tconst result = Number.parseFloat(value) + delta;\n\tif (Number.isNaN(result)) return target;\n\treturn result + unit;\n}\n/**\n* Get a px value for SSR use, do not rely on this method outside of SSR as REM unit is assumed at 16px, which might not be the case on the client\n*/\nfunction pxValue(px) {\n\treturn px.endsWith(\"rem\") ? Number.parseFloat(px) * 16 : Number.parseFloat(px);\n}\n/**\n* Create a new subset object by giving keys\n*/\nfunction objectPick(obj, keys, omitUndefined = false) {\n\treturn keys.reduce((n, k) => {\n\t\tif (k in obj) {\n\t\t\tif (!omitUndefined || obj[k] !== void 0) n[k] = obj[k];\n\t\t}\n\t\treturn n;\n\t}, {});\n}\n/**\n* Create a new subset object by omit giving keys\n*/\nfunction objectOmit(obj, keys, omitUndefined = false) {\n\treturn Object.fromEntries(Object.entries(obj).filter(([key, value]) => {\n\t\treturn (!omitUndefined || value !== void 0) && !keys.includes(key);\n\t}));\n}\nfunction objectEntries(obj) {\n\treturn Object.entries(obj);\n}\nfunction toArray(value) {\n\treturn Array.isArray(value) ? value : [value];\n}\n\n//#endregion\n//#region utils/port.ts\nfunction cacheStringFunction(fn) {\n\tconst cache = Object.create(null);\n\treturn ((str) => {\n\t\treturn cache[str] || (cache[str] = fn(str));\n\t});\n}\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, \"-$1\").toLowerCase());\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction((str) => {\n\treturn str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n});\n\n//#endregion\n//#region utils/vue.ts\nfunction getLifeCycleTarget(target) {\n\treturn target || getCurrentInstance();\n}\n\n//#endregion\n//#region createSharedComposable/index.ts\n/**\n* Make a composable function usable with multiple Vue instances.\n*\n* @see https://vueuse.org/createSharedComposable\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction createSharedComposable(composable) {\n\tif (!isClient) return composable;\n\tlet subscribers = 0;\n\tlet state;\n\tlet scope;\n\tconst dispose = () => {\n\t\tsubscribers -= 1;\n\t\tif (scope && subscribers <= 0) {\n\t\t\tscope.stop();\n\t\t\tstate = void 0;\n\t\t\tscope = void 0;\n\t\t}\n\t};\n\treturn ((...args) => {\n\t\tsubscribers += 1;\n\t\tif (!scope) {\n\t\t\tscope = effectScope(true);\n\t\t\tstate = scope.run(() => composable(...args));\n\t\t}\n\t\ttryOnScopeDispose(dispose);\n\t\treturn state;\n\t});\n}\n\n//#endregion\n//#region extendRef/index.ts\nfunction extendRef(ref$1, extend, { enumerable = false, unwrap = true } = {}) {\n\tfor (const [key, value] of Object.entries(extend)) {\n\t\tif (key === \"value\") continue;\n\t\tif (isRef(value) && unwrap) Object.defineProperty(ref$1, key, {\n\t\t\tget() {\n\t\t\t\treturn value.value;\n\t\t\t},\n\t\t\tset(v) {\n\t\t\t\tvalue.value = v;\n\t\t\t},\n\t\t\tenumerable\n\t\t});\n\t\telse Object.defineProperty(ref$1, key, {\n\t\t\tvalue,\n\t\t\tenumerable\n\t\t});\n\t}\n\treturn ref$1;\n}\n\n//#endregion\n//#region get/index.ts\nfunction get(obj, key) {\n\tif (key == null) return unref(obj);\n\treturn unref(obj)[key];\n}\n\n//#endregion\n//#region isDefined/index.ts\nfunction isDefined(v) {\n\treturn unref(v) != null;\n}\n\n//#endregion\n//#region makeDestructurable/index.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction makeDestructurable(obj, arr) {\n\tif (typeof Symbol !== \"undefined\") {\n\t\tconst clone = { ...obj };\n\t\tObject.defineProperty(clone, Symbol.iterator, {\n\t\t\tenumerable: false,\n\t\t\tvalue() {\n\t\t\t\tlet index = 0;\n\t\t\t\treturn { next: () => ({\n\t\t\t\t\tvalue: arr[index++],\n\t\t\t\t\tdone: index > arr.length\n\t\t\t\t}) };\n\t\t\t}\n\t\t});\n\t\treturn clone;\n\t} else return Object.assign([...arr], obj);\n}\n\n//#endregion\n//#region reactify/index.ts\n/**\n* Converts plain function into a reactive function.\n* The converted function accepts refs as it's arguments\n* and returns a ComputedRef, with proper typing.\n*\n* @param fn - Source function\n* @param options - Options\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction reactify(fn, options) {\n\tconst unrefFn = (options === null || options === void 0 ? void 0 : options.computedGetter) === false ? unref : toValue;\n\treturn function(...args) {\n\t\treturn computed(() => fn.apply(this, args.map((i) => unrefFn(i))));\n\t};\n}\n/** @deprecated use `reactify` instead */\nconst createReactiveFn = reactify;\n\n//#endregion\n//#region reactifyObject/index.ts\n/**\n* Apply `reactify` to an object\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction reactifyObject(obj, optionsOrKeys = {}) {\n\tlet keys = [];\n\tlet options;\n\tif (Array.isArray(optionsOrKeys)) keys = optionsOrKeys;\n\telse {\n\t\toptions = optionsOrKeys;\n\t\tconst { includeOwnProperties = true } = optionsOrKeys;\n\t\tkeys.push(...Object.keys(obj));\n\t\tif (includeOwnProperties) keys.push(...Object.getOwnPropertyNames(obj));\n\t}\n\treturn Object.fromEntries(keys.map((key) => {\n\t\tconst value = obj[key];\n\t\treturn [key, typeof value === \"function\" ? reactify(value.bind(obj), options) : value];\n\t}));\n}\n\n//#endregion\n//#region toReactive/index.ts\n/**\n* Converts ref to reactive.\n*\n* @see https://vueuse.org/toReactive\n* @param objectRef A ref of object\n*/\nfunction toReactive(objectRef) {\n\tif (!isRef(objectRef)) return reactive(objectRef);\n\treturn reactive(new Proxy({}, {\n\t\tget(_, p, receiver) {\n\t\t\treturn unref(Reflect.get(objectRef.value, p, receiver));\n\t\t},\n\t\tset(_, p, value) {\n\t\t\tif (isRef(objectRef.value[p]) && !isRef(value)) objectRef.value[p].value = value;\n\t\t\telse objectRef.value[p] = value;\n\t\t\treturn true;\n\t\t},\n\t\tdeleteProperty(_, p) {\n\t\t\treturn Reflect.deleteProperty(objectRef.value, p);\n\t\t},\n\t\thas(_, p) {\n\t\t\treturn Reflect.has(objectRef.value, p);\n\t\t},\n\t\townKeys() {\n\t\t\treturn Object.keys(objectRef.value);\n\t\t},\n\t\tgetOwnPropertyDescriptor() {\n\t\t\treturn {\n\t\t\t\tenumerable: true,\n\t\t\t\tconfigurable: true\n\t\t\t};\n\t\t}\n\t}));\n}\n\n//#endregion\n//#region reactiveComputed/index.ts\n/**\n* Computed reactive object.\n*/\nfunction reactiveComputed(fn) {\n\treturn toReactive(computed(fn));\n}\n\n//#endregion\n//#region reactiveOmit/index.ts\n/**\n* Reactively omit fields from a reactive object\n*\n* @see https://vueuse.org/reactiveOmit\n*/\nfunction reactiveOmit(obj, ...keys) {\n\tconst flatKeys = keys.flat();\n\tconst predicate = flatKeys[0];\n\treturn reactiveComputed(() => typeof predicate === \"function\" ? Object.fromEntries(Object.entries(toRefs$1(obj)).filter(([k, v]) => !predicate(toValue(v), k))) : Object.fromEntries(Object.entries(toRefs$1(obj)).filter((e) => !flatKeys.includes(e[0]))));\n}\n\n//#endregion\n//#region reactivePick/index.ts\n/**\n* Reactively pick fields from a reactive object\n*\n* @see https://vueuse.org/reactivePick\n*/\nfunction reactivePick(obj, ...keys) {\n\tconst flatKeys = keys.flat();\n\tconst predicate = flatKeys[0];\n\treturn reactiveComputed(() => typeof predicate === \"function\" ? Object.fromEntries(Object.entries(toRefs$1(obj)).filter(([k, v]) => predicate(toValue(v), k))) : Object.fromEntries(flatKeys.map((k) => [k, toRef(obj, k)])));\n}\n\n//#endregion\n//#region refAutoReset/index.ts\n/**\n* Create a ref which will be reset to the default value after some time.\n*\n* @see https://vueuse.org/refAutoReset\n* @param defaultValue The value which will be set.\n* @param afterMs A zero-or-greater delay in milliseconds.\n*/\nfunction refAutoReset(defaultValue, afterMs = 1e4) {\n\treturn customRef((track, trigger) => {\n\t\tlet value = toValue(defaultValue);\n\t\tlet timer;\n\t\tconst resetAfter = () => setTimeout(() => {\n\t\t\tvalue = toValue(defaultValue);\n\t\t\ttrigger();\n\t\t}, toValue(afterMs));\n\t\ttryOnScopeDispose(() => {\n\t\t\tclearTimeout(timer);\n\t\t});\n\t\treturn {\n\t\t\tget() {\n\t\t\t\ttrack();\n\t\t\t\treturn value;\n\t\t\t},\n\t\t\tset(newValue) {\n\t\t\t\tvalue = newValue;\n\t\t\t\ttrigger();\n\t\t\t\tclearTimeout(timer);\n\t\t\t\ttimer = resetAfter();\n\t\t\t}\n\t\t};\n\t});\n}\n/** @deprecated use `refAutoReset` instead */\nconst autoResetRef = refAutoReset;\n\n//#endregion\n//#region useDebounceFn/index.ts\n/**\n* Debounce execution of a function.\n*\n* @see https://vueuse.org/useDebounceFn\n* @param fn A function to be executed after delay milliseconds debounced.\n* @param ms A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n* @param options Options\n*\n* @return A new, debounce, function.\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useDebounceFn(fn, ms = 200, options = {}) {\n\treturn createFilterWrapper(debounceFilter(ms, options), fn);\n}\n\n//#endregion\n//#region refDebounced/index.ts\n/**\n* Debounce updates of a ref.\n*\n* @return A new debounced ref.\n*/\nfunction refDebounced(value, ms = 200, options = {}) {\n\tconst debounced = ref(toValue(value));\n\tconst updater = useDebounceFn(() => {\n\t\tdebounced.value = value.value;\n\t}, ms, options);\n\twatch(value, () => updater());\n\treturn shallowReadonly(debounced);\n}\n/** @deprecated use `refDebounced` instead */\nconst debouncedRef = refDebounced;\n/** @deprecated use `refDebounced` instead */\nconst useDebounce = refDebounced;\n\n//#endregion\n//#region refDefault/index.ts\n/**\n* Apply default value to a ref.\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction refDefault(source, defaultValue) {\n\treturn computed({\n\t\tget() {\n\t\t\tvar _source$value;\n\t\t\treturn (_source$value = source.value) !== null && _source$value !== void 0 ? _source$value : defaultValue;\n\t\t},\n\t\tset(value) {\n\t\t\tsource.value = value;\n\t\t}\n\t});\n}\n\n//#endregion\n//#region refManualReset/index.ts\n/**\n* Create a ref with manual reset functionality.\n*\n* @see https://vueuse.org/refManualReset\n* @param defaultValue The value which will be set.\n*/\nfunction refManualReset(defaultValue) {\n\tlet value = toValue(defaultValue);\n\tlet trigger;\n\tconst reset = () => {\n\t\tvalue = toValue(defaultValue);\n\t\ttrigger();\n\t};\n\tconst refValue = customRef((track, _trigger) => {\n\t\ttrigger = _trigger;\n\t\treturn {\n\t\t\tget() {\n\t\t\t\ttrack();\n\t\t\t\treturn value;\n\t\t\t},\n\t\t\tset(newValue) {\n\t\t\t\tvalue = newValue;\n\t\t\t\ttrigger();\n\t\t\t}\n\t\t};\n\t});\n\trefValue.reset = reset;\n\treturn refValue;\n}\n\n//#endregion\n//#region useThrottleFn/index.ts\n/**\n* Throttle execution of a function. Especially useful for rate limiting\n* execution of handlers on events like resize and scroll.\n*\n* @param fn A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n* to `callback` when the throttled-function is executed.\n* @param ms A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n* (default value: 200)\n*\n* @param [trailing] if true, call fn again after the time is up (default value: false)\n*\n* @param [leading] if true, call fn on the leading edge of the ms timeout (default value: true)\n*\n* @param [rejectOnCancel] if true, reject the last call if it's been cancel (default value: false)\n*\n* @return A new, throttled, function.\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useThrottleFn(fn, ms = 200, trailing = false, leading = true, rejectOnCancel = false) {\n\treturn createFilterWrapper(throttleFilter(ms, trailing, leading, rejectOnCancel), fn);\n}\n\n//#endregion\n//#region refThrottled/index.ts\n/**\n* Throttle execution of a function. Especially useful for rate limiting\n* execution of handlers on events like resize and scroll.\n*\n* @param value Ref value to be watched with throttle effect\n* @param delay A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n* @param trailing if true, update the value again after the delay time is up\n* @param leading if true, update the value on the leading edge of the ms timeout\n*/\nfunction refThrottled(value, delay = 200, trailing = true, leading = true) {\n\tif (delay <= 0) return value;\n\tconst throttled = ref(toValue(value));\n\tconst updater = useThrottleFn(() => {\n\t\tthrottled.value = value.value;\n\t}, delay, trailing, leading);\n\twatch(value, () => updater());\n\treturn throttled;\n}\n/** @deprecated use `refThrottled` instead */\nconst throttledRef = refThrottled;\n/** @deprecated use `refThrottled` instead */\nconst useThrottle = refThrottled;\n\n//#endregion\n//#region refWithControl/index.ts\n/**\n* Fine-grained controls over ref and its reactivity.\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction refWithControl(initial, options = {}) {\n\tlet source = initial;\n\tlet track;\n\tlet trigger;\n\tconst ref$1 = customRef((_track, _trigger) => {\n\t\ttrack = _track;\n\t\ttrigger = _trigger;\n\t\treturn {\n\t\t\tget() {\n\t\t\t\treturn get$1();\n\t\t\t},\n\t\t\tset(v) {\n\t\t\t\tset$1(v);\n\t\t\t}\n\t\t};\n\t});\n\tfunction get$1(tracking = true) {\n\t\tif (tracking) track();\n\t\treturn source;\n\t}\n\tfunction set$1(value, triggering = true) {\n\t\tvar _options$onBeforeChan, _options$onChanged;\n\t\tif (value === source) return;\n\t\tconst old = source;\n\t\tif (((_options$onBeforeChan = options.onBeforeChange) === null || _options$onBeforeChan === void 0 ? void 0 : _options$onBeforeChan.call(options, value, old)) === false) return;\n\t\tsource = value;\n\t\t(_options$onChanged = options.onChanged) === null || _options$onChanged === void 0 || _options$onChanged.call(options, value, old);\n\t\tif (triggering) trigger();\n\t}\n\t/**\n\t* Get the value without tracked in the reactivity system\n\t*/\n\tconst untrackedGet = () => get$1(false);\n\t/**\n\t* Set the value without triggering the reactivity system\n\t*/\n\tconst silentSet = (v) => set$1(v, false);\n\t/**\n\t* Get the value without tracked in the reactivity system.\n\t*\n\t* Alias for `untrackedGet()`\n\t*/\n\tconst peek = () => get$1(false);\n\t/**\n\t* Set the value without triggering the reactivity system\n\t*\n\t* Alias for `silentSet(v)`\n\t*/\n\tconst lay = (v) => set$1(v, false);\n\treturn extendRef(ref$1, {\n\t\tget: get$1,\n\t\tset: set$1,\n\t\tuntrackedGet,\n\t\tsilentSet,\n\t\tpeek,\n\t\tlay\n\t}, { enumerable: true });\n}\n/** @deprecated use `refWithControl` instead */\nconst controlledRef = refWithControl;\n\n//#endregion\n//#region set/index.ts\n/**\n* Shorthand for `ref.value = x`\n*/\nfunction set(...args) {\n\tif (args.length === 2) {\n\t\tconst [ref$1, value] = args;\n\t\tref$1.value = value;\n\t}\n\tif (args.length === 3) {\n\t\tconst [target, key, value] = args;\n\t\ttarget[key] = value;\n\t}\n}\n\n//#endregion\n//#region watchWithFilter/index.ts\nfunction watchWithFilter(source, cb, options = {}) {\n\tconst { eventFilter = bypassFilter,...watchOptions } = options;\n\treturn watch(source, createFilterWrapper(eventFilter, cb), watchOptions);\n}\n\n//#endregion\n//#region watchPausable/index.ts\nfunction watchPausable(source, cb, options = {}) {\n\tconst { eventFilter: filter, initialState = \"active\",...watchOptions } = options;\n\tconst { eventFilter, pause, resume, isActive } = pausableFilter(filter, { initialState });\n\treturn {\n\t\tstop: watchWithFilter(source, cb, {\n\t\t\t...watchOptions,\n\t\t\teventFilter\n\t\t}),\n\t\tpause,\n\t\tresume,\n\t\tisActive\n\t};\n}\n/** @deprecated use `watchPausable` instead */\nconst pausableWatch = watchPausable;\n\n//#endregion\n//#region syncRef/index.ts\n/**\n* Two-way refs synchronization.\n* From the set theory perspective to restrict the option's type\n* Check in the following order:\n* 1. L = R\n* 2. L ∩ R ≠ ∅\n* 3. L ⊆ R\n* 4. L ∩ R = ∅\n*/\nfunction syncRef(left, right, ...[options]) {\n\tconst { flush = \"sync\", deep = false, immediate = true, direction = \"both\", transform = {} } = options || {};\n\tconst watchers = [];\n\tconst transformLTR = \"ltr\" in transform && transform.ltr || ((v) => v);\n\tconst transformRTL = \"rtl\" in transform && transform.rtl || ((v) => v);\n\tif (direction === \"both\" || direction === \"ltr\") watchers.push(pausableWatch(left, (newValue) => {\n\t\twatchers.forEach((w) => w.pause());\n\t\tright.value = transformLTR(newValue);\n\t\twatchers.forEach((w) => w.resume());\n\t}, {\n\t\tflush,\n\t\tdeep,\n\t\timmediate\n\t}));\n\tif (direction === \"both\" || direction === \"rtl\") watchers.push(pausableWatch(right, (newValue) => {\n\t\twatchers.forEach((w) => w.pause());\n\t\tleft.value = transformRTL(newValue);\n\t\twatchers.forEach((w) => w.resume());\n\t}, {\n\t\tflush,\n\t\tdeep,\n\t\timmediate\n\t}));\n\tconst stop = () => {\n\t\twatchers.forEach((w) => w.stop());\n\t};\n\treturn stop;\n}\n\n//#endregion\n//#region syncRefs/index.ts\n/**\n* Keep target ref(s) in sync with the source ref\n*\n* @param source source ref\n* @param targets\n*/\nfunction syncRefs(source, targets, options = {}) {\n\tconst { flush = \"sync\", deep = false, immediate = true } = options;\n\tconst targetsArray = toArray(targets);\n\treturn watch(source, (newValue) => targetsArray.forEach((target) => target.value = newValue), {\n\t\tflush,\n\t\tdeep,\n\t\timmediate\n\t});\n}\n\n//#endregion\n//#region toRefs/index.ts\n/**\n* Extended `toRefs` that also accepts refs of an object.\n*\n* @see https://vueuse.org/toRefs\n* @param objectRef A ref or normal object or array.\n* @param options Options\n*/\nfunction toRefs(objectRef, options = {}) {\n\tif (!isRef(objectRef)) return toRefs$1(objectRef);\n\tconst result = Array.isArray(objectRef.value) ? Array.from({ length: objectRef.value.length }) : {};\n\tfor (const key in objectRef.value) result[key] = customRef(() => ({\n\t\tget() {\n\t\t\treturn objectRef.value[key];\n\t\t},\n\t\tset(v) {\n\t\t\tvar _toValue;\n\t\t\tif ((_toValue = toValue(options.replaceRef)) !== null && _toValue !== void 0 ? _toValue : true) if (Array.isArray(objectRef.value)) {\n\t\t\t\tconst copy = [...objectRef.value];\n\t\t\t\tcopy[key] = v;\n\t\t\t\tobjectRef.value = copy;\n\t\t\t} else {\n\t\t\t\tconst newObject = {\n\t\t\t\t\t...objectRef.value,\n\t\t\t\t\t[key]: v\n\t\t\t\t};\n\t\t\t\tObject.setPrototypeOf(newObject, Object.getPrototypeOf(objectRef.value));\n\t\t\t\tobjectRef.value = newObject;\n\t\t\t}\n\t\t\telse objectRef.value[key] = v;\n\t\t}\n\t}));\n\treturn result;\n}\n\n//#endregion\n//#region tryOnBeforeMount/index.ts\n/**\n* Call onBeforeMount() if it's inside a component lifecycle, if not, just call the function\n*\n* @param fn\n* @param sync if set to false, it will run in the nextTick() of Vue\n* @param target\n*/\nfunction tryOnBeforeMount(fn, sync = true, target) {\n\tif (getLifeCycleTarget(target)) onBeforeMount(fn, target);\n\telse if (sync) fn();\n\telse nextTick(fn);\n}\n\n//#endregion\n//#region tryOnBeforeUnmount/index.ts\n/**\n* Call onBeforeUnmount() if it's inside a component lifecycle, if not, do nothing\n*\n* @param fn\n* @param target\n*/\nfunction tryOnBeforeUnmount(fn, target) {\n\tif (getLifeCycleTarget(target)) onBeforeUnmount(fn, target);\n}\n\n//#endregion\n//#region tryOnMounted/index.ts\n/**\n* Call onMounted() if it's inside a component lifecycle, if not, just call the function\n*\n* @param fn\n* @param sync if set to false, it will run in the nextTick() of Vue\n* @param target\n*/\nfunction tryOnMounted(fn, sync = true, target) {\n\tif (getLifeCycleTarget(target)) onMounted(fn, target);\n\telse if (sync) fn();\n\telse nextTick(fn);\n}\n\n//#endregion\n//#region tryOnUnmounted/index.ts\n/**\n* Call onUnmounted() if it's inside a component lifecycle, if not, do nothing\n*\n* @param fn\n* @param target\n*/\nfunction tryOnUnmounted(fn, target) {\n\tif (getLifeCycleTarget(target)) onUnmounted(fn, target);\n}\n\n//#endregion\n//#region until/index.ts\nfunction createUntil(r, isNot = false) {\n\tfunction toMatch(condition, { flush = \"sync\", deep = false, timeout, throwOnTimeout } = {}) {\n\t\tlet stop = null;\n\t\tconst promises = [new Promise((resolve) => {\n\t\t\tstop = watch(r, (v) => {\n\t\t\t\tif (condition(v) !== isNot) {\n\t\t\t\t\tif (stop) stop();\n\t\t\t\t\telse nextTick(() => stop === null || stop === void 0 ? void 0 : stop());\n\t\t\t\t\tresolve(v);\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tflush,\n\t\t\t\tdeep,\n\t\t\t\timmediate: true\n\t\t\t});\n\t\t})];\n\t\tif (timeout != null) promises.push(promiseTimeout(timeout, throwOnTimeout).then(() => toValue(r)).finally(() => stop === null || stop === void 0 ? void 0 : stop()));\n\t\treturn Promise.race(promises);\n\t}\n\tfunction toBe(value, options) {\n\t\tif (!isRef(value)) return toMatch((v) => v === value, options);\n\t\tconst { flush = \"sync\", deep = false, timeout, throwOnTimeout } = options !== null && options !== void 0 ? options : {};\n\t\tlet stop = null;\n\t\tconst promises = [new Promise((resolve) => {\n\t\t\tstop = watch([r, value], ([v1, v2]) => {\n\t\t\t\tif (isNot !== (v1 === v2)) {\n\t\t\t\t\tif (stop) stop();\n\t\t\t\t\telse nextTick(() => stop === null || stop === void 0 ? void 0 : stop());\n\t\t\t\t\tresolve(v1);\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tflush,\n\t\t\t\tdeep,\n\t\t\t\timmediate: true\n\t\t\t});\n\t\t})];\n\t\tif (timeout != null) promises.push(promiseTimeout(timeout, throwOnTimeout).then(() => toValue(r)).finally(() => {\n\t\t\tstop === null || stop === void 0 || stop();\n\t\t\treturn toValue(r);\n\t\t}));\n\t\treturn Promise.race(promises);\n\t}\n\tfunction toBeTruthy(options) {\n\t\treturn toMatch((v) => Boolean(v), options);\n\t}\n\tfunction toBeNull(options) {\n\t\treturn toBe(null, options);\n\t}\n\tfunction toBeUndefined(options) {\n\t\treturn toBe(void 0, options);\n\t}\n\tfunction toBeNaN(options) {\n\t\treturn toMatch(Number.isNaN, options);\n\t}\n\tfunction toContains(value, options) {\n\t\treturn toMatch((v) => {\n\t\t\tconst array = Array.from(v);\n\t\t\treturn array.includes(value) || array.includes(toValue(value));\n\t\t}, options);\n\t}\n\tfunction changed(options) {\n\t\treturn changedTimes(1, options);\n\t}\n\tfunction changedTimes(n = 1, options) {\n\t\tlet count = -1;\n\t\treturn toMatch(() => {\n\t\t\tcount += 1;\n\t\t\treturn count >= n;\n\t\t}, options);\n\t}\n\tif (Array.isArray(toValue(r))) return {\n\t\ttoMatch,\n\t\ttoContains,\n\t\tchanged,\n\t\tchangedTimes,\n\t\tget not() {\n\t\t\treturn createUntil(r, !isNot);\n\t\t}\n\t};\n\telse return {\n\t\ttoMatch,\n\t\ttoBe,\n\t\ttoBeTruthy,\n\t\ttoBeNull,\n\t\ttoBeNaN,\n\t\ttoBeUndefined,\n\t\tchanged,\n\t\tchangedTimes,\n\t\tget not() {\n\t\t\treturn createUntil(r, !isNot);\n\t\t}\n\t};\n}\nfunction until(r) {\n\treturn createUntil(r);\n}\n\n//#endregion\n//#region useArrayDifference/index.ts\nfunction defaultComparator(value, othVal) {\n\treturn value === othVal;\n}\n/**\n* Reactive get array difference of two array\n* @see https://vueuse.org/useArrayDifference\n* @returns - the difference of two array\n* @param args\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useArrayDifference(...args) {\n\tvar _args$, _args$2;\n\tconst list = args[0];\n\tconst values = args[1];\n\tlet compareFn = (_args$ = args[2]) !== null && _args$ !== void 0 ? _args$ : defaultComparator;\n\tconst { symmetric = false } = (_args$2 = args[3]) !== null && _args$2 !== void 0 ? _args$2 : {};\n\tif (typeof compareFn === \"string\") {\n\t\tconst key = compareFn;\n\t\tcompareFn = (value, othVal) => value[key] === othVal[key];\n\t}\n\tconst diff1 = computed(() => toValue(list).filter((x) => toValue(values).findIndex((y) => compareFn(x, y)) === -1));\n\tif (symmetric) {\n\t\tconst diff2 = computed(() => toValue(values).filter((x) => toValue(list).findIndex((y) => compareFn(x, y)) === -1));\n\t\treturn computed(() => symmetric ? [...toValue(diff1), ...toValue(diff2)] : toValue(diff1));\n\t} else return diff1;\n}\n\n//#endregion\n//#region useArrayEvery/index.ts\n/**\n* Reactive `Array.every`\n*\n* @see https://vueuse.org/useArrayEvery\n* @param list - the array was called upon.\n* @param fn - a function to test each element.\n*\n* @returns **true** if the `fn` function returns a **truthy** value for every element from the array. Otherwise, **false**.\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useArrayEvery(list, fn) {\n\treturn computed(() => toValue(list).every((element, index, array) => fn(toValue(element), index, array)));\n}\n\n//#endregion\n//#region useArrayFilter/index.ts\n/**\n* Reactive `Array.filter`\n*\n* @see https://vueuse.org/useArrayFilter\n* @param list - the array was called upon.\n* @param fn - a function that is called for every element of the given `list`. Each time `fn` executes, the returned value is added to the new array.\n*\n* @returns a shallow copy of a portion of the given array, filtered down to just the elements from the given array that pass the test implemented by the provided function. If no elements pass the test, an empty array will be returned.\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useArrayFilter(list, fn) {\n\treturn computed(() => toValue(list).map((i) => toValue(i)).filter(fn));\n}\n\n//#endregion\n//#region useArrayFind/index.ts\n/**\n* Reactive `Array.find`\n*\n* @see https://vueuse.org/useArrayFind\n* @param list - the array was called upon.\n* @param fn - a function to test each element.\n*\n* @returns the first element in the array that satisfies the provided testing function. Otherwise, undefined is returned.\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useArrayFind(list, fn) {\n\treturn computed(() => toValue(toValue(list).find((element, index, array) => fn(toValue(element), index, array))));\n}\n\n//#endregion\n//#region useArrayFindIndex/index.ts\n/**\n* Reactive `Array.findIndex`\n*\n* @see https://vueuse.org/useArrayFindIndex\n* @param list - the array was called upon.\n* @param fn - a function to test each element.\n*\n* @returns the index of the first element in the array that passes the test. Otherwise, \"-1\".\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useArrayFindIndex(list, fn) {\n\treturn computed(() => toValue(list).findIndex((element, index, array) => fn(toValue(element), index, array)));\n}\n\n//#endregion\n//#region useArrayFindLast/index.ts\nfunction findLast(arr, cb) {\n\tlet index = arr.length;\n\twhile (index-- > 0) if (cb(arr[index], index, arr)) return arr[index];\n}\n/**\n* Reactive `Array.findLast`\n*\n* @see https://vueuse.org/useArrayFindLast\n* @param list - the array was called upon.\n* @param fn - a function to test each element.\n*\n* @returns the last element in the array that satisfies the provided testing function. Otherwise, undefined is returned.\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useArrayFindLast(list, fn) {\n\treturn computed(() => toValue(!Array.prototype.findLast ? findLast(toValue(list), (element, index, array) => fn(toValue(element), index, array)) : toValue(list).findLast((element, index, array) => fn(toValue(element), index, array))));\n}\n\n//#endregion\n//#region useArrayIncludes/index.ts\nfunction isArrayIncludesOptions(obj) {\n\treturn isObject(obj) && containsProp(obj, \"formIndex\", \"comparator\");\n}\n/**\n* Reactive `Array.includes`\n*\n* @see https://vueuse.org/useArrayIncludes\n*\n* @returns true if the `value` is found in the array. Otherwise, false.\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useArrayIncludes(...args) {\n\tvar _comparator;\n\tconst list = args[0];\n\tconst value = args[1];\n\tlet comparator = args[2];\n\tlet formIndex = 0;\n\tif (isArrayIncludesOptions(comparator)) {\n\t\tvar _comparator$fromIndex;\n\t\tformIndex = (_comparator$fromIndex = comparator.fromIndex) !== null && _comparator$fromIndex !== void 0 ? _comparator$fromIndex : 0;\n\t\tcomparator = comparator.comparator;\n\t}\n\tif (typeof comparator === \"string\") {\n\t\tconst key = comparator;\n\t\tcomparator = (element, value$1) => element[key] === toValue(value$1);\n\t}\n\tcomparator = (_comparator = comparator) !== null && _comparator !== void 0 ? _comparator : ((element, value$1) => element === toValue(value$1));\n\treturn computed(() => toValue(list).slice(formIndex).some((element, index, array) => comparator(toValue(element), toValue(value), index, toValue(array))));\n}\n\n//#endregion\n//#region useArrayJoin/index.ts\n/**\n* Reactive `Array.join`\n*\n* @see https://vueuse.org/useArrayJoin\n* @param list - the array was called upon.\n* @param separator - a string to separate each pair of adjacent elements of the array. If omitted, the array elements are separated with a comma (\",\").\n*\n* @returns a string with all array elements joined. If arr.length is 0, the empty string is returned.\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useArrayJoin(list, separator) {\n\treturn computed(() => toValue(list).map((i) => toValue(i)).join(toValue(separator)));\n}\n\n//#endregion\n//#region useArrayMap/index.ts\n/**\n* Reactive `Array.map`\n*\n* @see https://vueuse.org/useArrayMap\n* @param list - the array was called upon.\n* @param fn - a function that is called for every element of the given `list`. Each time `fn` executes, the returned value is added to the new array.\n*\n* @returns a new array with each element being the result of the callback function.\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useArrayMap(list, fn) {\n\treturn computed(() => toValue(list).map((i) => toValue(i)).map(fn));\n}\n\n//#endregion\n//#region useArrayReduce/index.ts\n/**\n* Reactive `Array.reduce`\n*\n* @see https://vueuse.org/useArrayReduce\n* @param list - the array was called upon.\n* @param reducer - a \"reducer\" function.\n* @param args\n*\n* @returns the value that results from running the \"reducer\" callback function to completion over the entire array.\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useArrayReduce(list, reducer, ...args) {\n\tconst reduceCallback = (sum, value, index) => reducer(toValue(sum), toValue(value), index);\n\treturn computed(() => {\n\t\tconst resolved = toValue(list);\n\t\treturn args.length ? resolved.reduce(reduceCallback, typeof args[0] === \"function\" ? toValue(args[0]()) : toValue(args[0])) : resolved.reduce(reduceCallback);\n\t});\n}\n\n//#endregion\n//#region useArraySome/index.ts\n/**\n* Reactive `Array.some`\n*\n* @see https://vueuse.org/useArraySome\n* @param list - the array was called upon.\n* @param fn - a function to test each element.\n*\n* @returns **true** if the `fn` function returns a **truthy** value for any element from the array. Otherwise, **false**.\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useArraySome(list, fn) {\n\treturn computed(() => toValue(list).some((element, index, array) => fn(toValue(element), index, array)));\n}\n\n//#endregion\n//#region useArrayUnique/index.ts\nfunction uniq(array) {\n\treturn Array.from(new Set(array));\n}\nfunction uniqueElementsBy(array, fn) {\n\treturn array.reduce((acc, v) => {\n\t\tif (!acc.some((x) => fn(v, x, array))) acc.push(v);\n\t\treturn acc;\n\t}, []);\n}\n/**\n* reactive unique array\n* @see https://vueuse.org/useArrayUnique\n* @param list - the array was called upon.\n* @param compareFn\n* @returns A computed ref that returns a unique array of items.\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useArrayUnique(list, compareFn) {\n\treturn computed(() => {\n\t\tconst resolvedList = toValue(list).map((element) => toValue(element));\n\t\treturn compareFn ? uniqueElementsBy(resolvedList, compareFn) : uniq(resolvedList);\n\t});\n}\n\n//#endregion\n//#region useCounter/index.ts\n/**\n* Basic counter with utility functions.\n*\n* @see https://vueuse.org/useCounter\n* @param [initialValue]\n* @param options\n*/\nfunction useCounter(initialValue = 0, options = {}) {\n\tlet _initialValue = unref(initialValue);\n\tconst count = shallowRef(initialValue);\n\tconst { max = Number.POSITIVE_INFINITY, min = Number.NEGATIVE_INFINITY } = options;\n\tconst inc = (delta = 1) => count.value = Math.max(Math.min(max, count.value + delta), min);\n\tconst dec = (delta = 1) => count.value = Math.min(Math.max(min, count.value - delta), max);\n\tconst get$1 = () => count.value;\n\tconst set$1 = (val) => count.value = Math.max(min, Math.min(max, val));\n\tconst reset = (val = _initialValue) => {\n\t\t_initialValue = val;\n\t\treturn set$1(val);\n\t};\n\treturn {\n\t\tcount: shallowReadonly(count),\n\t\tinc,\n\t\tdec,\n\t\tget: get$1,\n\t\tset: set$1,\n\t\treset\n\t};\n}\n\n//#endregion\n//#region useDateFormat/index.ts\nconst REGEX_PARSE = /^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[T\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/i;\nconst REGEX_FORMAT = /[YMDHhms]o|\\[([^\\]]+)\\]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|z{1,4}|SSS/g;\nfunction defaultMeridiem(hours, minutes, isLowercase, hasPeriod) {\n\tlet m = hours < 12 ? \"AM\" : \"PM\";\n\tif (hasPeriod) m = m.split(\"\").reduce((acc, curr) => acc += `${curr}.`, \"\");\n\treturn isLowercase ? m.toLowerCase() : m;\n}\nfunction formatOrdinal(num) {\n\tconst suffixes = [\n\t\t\"th\",\n\t\t\"st\",\n\t\t\"nd\",\n\t\t\"rd\"\n\t];\n\tconst v = num % 100;\n\treturn num + (suffixes[(v - 20) % 10] || suffixes[v] || suffixes[0]);\n}\nfunction formatDate(date, formatStr, options = {}) {\n\tvar _options$customMeridi;\n\tconst years = date.getFullYear();\n\tconst month = date.getMonth();\n\tconst days = date.getDate();\n\tconst hours = date.getHours();\n\tconst minutes = date.getMinutes();\n\tconst seconds = date.getSeconds();\n\tconst milliseconds = date.getMilliseconds();\n\tconst day = date.getDay();\n\tconst meridiem = (_options$customMeridi = options.customMeridiem) !== null && _options$customMeridi !== void 0 ? _options$customMeridi : defaultMeridiem;\n\tconst stripTimeZone = (dateString) => {\n\t\tvar _dateString$split$;\n\t\treturn (_dateString$split$ = dateString.split(\" \")[1]) !== null && _dateString$split$ !== void 0 ? _dateString$split$ : \"\";\n\t};\n\tconst matches = {\n\t\tYo: () => formatOrdinal(years),\n\t\tYY: () => String(years).slice(-2),\n\t\tYYYY: () => years,\n\t\tM: () => month + 1,\n\t\tMo: () => formatOrdinal(month + 1),\n\t\tMM: () => `${month + 1}`.padStart(2, \"0\"),\n\t\tMMM: () => date.toLocaleDateString(toValue(options.locales), { month: \"short\" }),\n\t\tMMMM: () => date.toLocaleDateString(toValue(options.locales), { month: \"long\" }),\n\t\tD: () => String(days),\n\t\tDo: () => formatOrdinal(days),\n\t\tDD: () => `${days}`.padStart(2, \"0\"),\n\t\tH: () => String(hours),\n\t\tHo: () => formatOrdinal(hours),\n\t\tHH: () => `${hours}`.padStart(2, \"0\"),\n\t\th: () => `${hours % 12 || 12}`.padStart(1, \"0\"),\n\t\tho: () => formatOrdinal(hours % 12 || 12),\n\t\thh: () => `${hours % 12 || 12}`.padStart(2, \"0\"),\n\t\tm: () => String(minutes),\n\t\tmo: () => formatOrdinal(minutes),\n\t\tmm: () => `${minutes}`.padStart(2, \"0\"),\n\t\ts: () => String(seconds),\n\t\tso: () => formatOrdinal(seconds),\n\t\tss: () => `${seconds}`.padStart(2, \"0\"),\n\t\tSSS: () => `${milliseconds}`.padStart(3, \"0\"),\n\t\td: () => day,\n\t\tdd: () => date.toLocaleDateString(toValue(options.locales), { weekday: \"narrow\" }),\n\t\tddd: () => date.toLocaleDateString(toValue(options.locales), { weekday: \"short\" }),\n\t\tdddd: () => date.toLocaleDateString(toValue(options.locales), { weekday: \"long\" }),\n\t\tA: () => meridiem(hours, minutes),\n\t\tAA: () => meridiem(hours, minutes, false, true),\n\t\ta: () => meridiem(hours, minutes, true),\n\t\taa: () => meridiem(hours, minutes, true, true),\n\t\tz: () => stripTimeZone(date.toLocaleDateString(toValue(options.locales), { timeZoneName: \"shortOffset\" })),\n\t\tzz: () => stripTimeZone(date.toLocaleDateString(toValue(options.locales), { timeZoneName: \"shortOffset\" })),\n\t\tzzz: () => stripTimeZone(date.toLocaleDateString(toValue(options.locales), { timeZoneName: \"shortOffset\" })),\n\t\tzzzz: () => stripTimeZone(date.toLocaleDateString(toValue(options.locales), { timeZoneName: \"longOffset\" }))\n\t};\n\treturn formatStr.replace(REGEX_FORMAT, (match, $1) => {\n\t\tvar _ref, _matches$match;\n\t\treturn (_ref = $1 !== null && $1 !== void 0 ? $1 : (_matches$match = matches[match]) === null || _matches$match === void 0 ? void 0 : _matches$match.call(matches)) !== null && _ref !== void 0 ? _ref : match;\n\t});\n}\nfunction normalizeDate(date) {\n\tif (date === null) return /* @__PURE__ */ new Date(NaN);\n\tif (date === void 0) return /* @__PURE__ */ new Date();\n\tif (date instanceof Date) return new Date(date);\n\tif (typeof date === \"string\" && !/Z$/i.test(date)) {\n\t\tconst d = date.match(REGEX_PARSE);\n\t\tif (d) {\n\t\t\tconst m = d[2] - 1 || 0;\n\t\t\tconst ms = (d[7] || \"0\").substring(0, 3);\n\t\t\treturn new Date(d[1], m, d[3] || 1, d[4] || 0, d[5] || 0, d[6] || 0, ms);\n\t\t}\n\t}\n\treturn new Date(date);\n}\n/**\n* Get the formatted date according to the string of tokens passed in.\n*\n* @see https://vueuse.org/useDateFormat\n* @param date - The date to format, can either be a `Date` object, a timestamp, or a string\n* @param formatStr - The combination of tokens to format the date\n* @param options - UseDateFormatOptions\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useDateFormat(date, formatStr = \"HH:mm:ss\", options = {}) {\n\treturn computed(() => formatDate(normalizeDate(toValue(date)), toValue(formatStr), options));\n}\n\n//#endregion\n//#region useIntervalFn/index.ts\n/**\n* Wrapper for `setInterval` with controls\n*\n* @see https://vueuse.org/useIntervalFn\n* @param cb\n* @param interval\n* @param options\n*/\nfunction useIntervalFn(cb, interval = 1e3, options = {}) {\n\tconst { immediate = true, immediateCallback = false } = options;\n\tlet timer = null;\n\tconst isActive = shallowRef(false);\n\tfunction clean() {\n\t\tif (timer) {\n\t\t\tclearInterval(timer);\n\t\t\ttimer = null;\n\t\t}\n\t}\n\tfunction pause() {\n\t\tisActive.value = false;\n\t\tclean();\n\t}\n\tfunction resume() {\n\t\tconst intervalValue = toValue(interval);\n\t\tif (intervalValue <= 0) return;\n\t\tisActive.value = true;\n\t\tif (immediateCallback) cb();\n\t\tclean();\n\t\tif (isActive.value) timer = setInterval(cb, intervalValue);\n\t}\n\tif (immediate && isClient) resume();\n\tif (isRef(interval) || typeof interval === \"function\") tryOnScopeDispose(watch(interval, () => {\n\t\tif (isActive.value && isClient) resume();\n\t}));\n\ttryOnScopeDispose(pause);\n\treturn {\n\t\tisActive: shallowReadonly(isActive),\n\t\tpause,\n\t\tresume\n\t};\n}\n\n//#endregion\n//#region useInterval/index.ts\nfunction useInterval(interval = 1e3, options = {}) {\n\tconst { controls: exposeControls = false, immediate = true, callback } = options;\n\tconst counter = shallowRef(0);\n\tconst update = () => counter.value += 1;\n\tconst reset = () => {\n\t\tcounter.value = 0;\n\t};\n\tconst controls = useIntervalFn(callback ? () => {\n\t\tupdate();\n\t\tcallback(counter.value);\n\t} : update, interval, { immediate });\n\tif (exposeControls) return {\n\t\tcounter: shallowReadonly(counter),\n\t\treset,\n\t\t...controls\n\t};\n\telse return shallowReadonly(counter);\n}\n\n//#endregion\n//#region useLastChanged/index.ts\nfunction useLastChanged(source, options = {}) {\n\tvar _options$initialValue;\n\tconst ms = shallowRef((_options$initialValue = options.initialValue) !== null && _options$initialValue !== void 0 ? _options$initialValue : null);\n\twatch(source, () => ms.value = timestamp(), options);\n\treturn shallowReadonly(ms);\n}\n\n//#endregion\n//#region useTimeoutFn/index.ts\n/**\n* Wrapper for `setTimeout` with controls.\n*\n* @param cb\n* @param interval\n* @param options\n*/\nfunction useTimeoutFn(cb, interval, options = {}) {\n\tconst { immediate = true, immediateCallback = false } = options;\n\tconst isPending = shallowRef(false);\n\tlet timer;\n\tfunction clear() {\n\t\tif (timer) {\n\t\t\tclearTimeout(timer);\n\t\t\ttimer = void 0;\n\t\t}\n\t}\n\tfunction stop() {\n\t\tisPending.value = false;\n\t\tclear();\n\t}\n\tfunction start(...args) {\n\t\tif (immediateCallback) cb();\n\t\tclear();\n\t\tisPending.value = true;\n\t\ttimer = setTimeout(() => {\n\t\t\tisPending.value = false;\n\t\t\ttimer = void 0;\n\t\t\tcb(...args);\n\t\t}, toValue(interval));\n\t}\n\tif (immediate) {\n\t\tisPending.value = true;\n\t\tif (isClient) start();\n\t}\n\ttryOnScopeDispose(stop);\n\treturn {\n\t\tisPending: shallowReadonly(isPending),\n\t\tstart,\n\t\tstop\n\t};\n}\n\n//#endregion\n//#region useTimeout/index.ts\nfunction useTimeout(interval = 1e3, options = {}) {\n\tconst { controls: exposeControls = false, callback } = options;\n\tconst controls = useTimeoutFn(callback !== null && callback !== void 0 ? callback : noop, interval, options);\n\tconst ready = computed(() => !controls.isPending.value);\n\tif (exposeControls) return {\n\t\tready,\n\t\t...controls\n\t};\n\telse return ready;\n}\n\n//#endregion\n//#region useToNumber/index.ts\n/**\n* Reactively convert a string ref to number.\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useToNumber(value, options = {}) {\n\tconst { method = \"parseFloat\", radix, nanToZero } = options;\n\treturn computed(() => {\n\t\tlet resolved = toValue(value);\n\t\tif (typeof method === \"function\") resolved = method(resolved);\n\t\telse if (typeof resolved === \"string\") resolved = Number[method](resolved, radix);\n\t\tif (nanToZero && Number.isNaN(resolved)) resolved = 0;\n\t\treturn resolved;\n\t});\n}\n\n//#endregion\n//#region useToString/index.ts\n/**\n* Reactively convert a ref to string.\n*\n* @see https://vueuse.org/useToString\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useToString(value) {\n\treturn computed(() => `${toValue(value)}`);\n}\n\n//#endregion\n//#region useToggle/index.ts\n/**\n* A boolean ref with a toggler\n*\n* @see https://vueuse.org/useToggle\n* @param [initialValue]\n* @param options\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useToggle(initialValue = false, options = {}) {\n\tconst { truthyValue = true, falsyValue = false } = options;\n\tconst valueIsRef = isRef(initialValue);\n\tconst _value = shallowRef(initialValue);\n\tfunction toggle(value) {\n\t\tif (arguments.length) {\n\t\t\t_value.value = value;\n\t\t\treturn _value.value;\n\t\t} else {\n\t\t\tconst truthy = toValue(truthyValue);\n\t\t\t_value.value = _value.value === truthy ? toValue(falsyValue) : truthy;\n\t\t\treturn _value.value;\n\t\t}\n\t}\n\tif (valueIsRef) return toggle;\n\telse return [_value, toggle];\n}\n\n//#endregion\n//#region watchArray/index.ts\n/**\n* Watch for an array with additions and removals.\n*\n* @see https://vueuse.org/watchArray\n*/\nfunction watchArray(source, cb, options) {\n\tlet oldList = (options === null || options === void 0 ? void 0 : options.immediate) ? [] : [...typeof source === \"function\" ? source() : Array.isArray(source) ? source : toValue(source)];\n\treturn watch(source, (newList, _, onCleanup) => {\n\t\tconst oldListRemains = Array.from({ length: oldList.length });\n\t\tconst added = [];\n\t\tfor (const obj of newList) {\n\t\t\tlet found = false;\n\t\t\tfor (let i = 0; i < oldList.length; i++) if (!oldListRemains[i] && obj === oldList[i]) {\n\t\t\t\toldListRemains[i] = true;\n\t\t\t\tfound = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (!found) added.push(obj);\n\t\t}\n\t\tconst removed = oldList.filter((_$1, i) => !oldListRemains[i]);\n\t\tcb(newList, oldList, added, removed, onCleanup);\n\t\toldList = [...newList];\n\t}, options);\n}\n\n//#endregion\n//#region watchAtMost/index.ts\nfunction watchAtMost(source, cb, options) {\n\tconst { count,...watchOptions } = options;\n\tconst current = shallowRef(0);\n\tconst { stop, resume, pause } = watchWithFilter(source, (...args) => {\n\t\tcurrent.value += 1;\n\t\tif (current.value >= toValue(count)) nextTick(() => stop());\n\t\tcb(...args);\n\t}, watchOptions);\n\treturn {\n\t\tcount: current,\n\t\tstop,\n\t\tresume,\n\t\tpause\n\t};\n}\n\n//#endregion\n//#region watchDebounced/index.ts\nfunction watchDebounced(source, cb, options = {}) {\n\tconst { debounce = 0, maxWait = void 0,...watchOptions } = options;\n\treturn watchWithFilter(source, cb, {\n\t\t...watchOptions,\n\t\teventFilter: debounceFilter(debounce, { maxWait })\n\t});\n}\n/** @deprecated use `watchDebounced` instead */\nconst debouncedWatch = watchDebounced;\n\n//#endregion\n//#region watchDeep/index.ts\n/**\n* Shorthand for watching value with {deep: true}\n*\n* @see https://vueuse.org/watchDeep\n*/\nfunction watchDeep(source, cb, options) {\n\treturn watch(source, cb, {\n\t\t...options,\n\t\tdeep: true\n\t});\n}\n\n//#endregion\n//#region watchIgnorable/index.ts\nfunction watchIgnorable(source, cb, options = {}) {\n\tconst { eventFilter = bypassFilter,...watchOptions } = options;\n\tconst filteredCb = createFilterWrapper(eventFilter, cb);\n\tlet ignoreUpdates;\n\tlet ignorePrevAsyncUpdates;\n\tlet stop;\n\tif (watchOptions.flush === \"sync\") {\n\t\tlet ignore = false;\n\t\tignorePrevAsyncUpdates = () => {};\n\t\tignoreUpdates = (updater) => {\n\t\t\tignore = true;\n\t\t\tupdater();\n\t\t\tignore = false;\n\t\t};\n\t\tstop = watch(source, (...args) => {\n\t\t\tif (!ignore) filteredCb(...args);\n\t\t}, watchOptions);\n\t} else {\n\t\tconst disposables = [];\n\t\tlet ignoreCounter = 0;\n\t\tlet syncCounter = 0;\n\t\tignorePrevAsyncUpdates = () => {\n\t\t\tignoreCounter = syncCounter;\n\t\t};\n\t\tdisposables.push(watch(source, () => {\n\t\t\tsyncCounter++;\n\t\t}, {\n\t\t\t...watchOptions,\n\t\t\tflush: \"sync\"\n\t\t}));\n\t\tignoreUpdates = (updater) => {\n\t\t\tconst syncCounterPrev = syncCounter;\n\t\t\tupdater();\n\t\t\tignoreCounter += syncCounter - syncCounterPrev;\n\t\t};\n\t\tdisposables.push(watch(source, (...args) => {\n\t\t\tconst ignore = ignoreCounter > 0 && ignoreCounter === syncCounter;\n\t\t\tignoreCounter = 0;\n\t\t\tsyncCounter = 0;\n\t\t\tif (ignore) return;\n\t\t\tfilteredCb(...args);\n\t\t}, watchOptions));\n\t\tstop = () => {\n\t\t\tdisposables.forEach((fn) => fn());\n\t\t};\n\t}\n\treturn {\n\t\tstop,\n\t\tignoreUpdates,\n\t\tignorePrevAsyncUpdates\n\t};\n}\n/** @deprecated use `watchIgnorable` instead */\nconst ignorableWatch = watchIgnorable;\n\n//#endregion\n//#region watchImmediate/index.ts\n/**\n* Shorthand for watching value with {immediate: true}\n*\n* @see https://vueuse.org/watchImmediate\n*/\nfunction watchImmediate(source, cb, options) {\n\treturn watch(source, cb, {\n\t\t...options,\n\t\timmediate: true\n\t});\n}\n\n//#endregion\n//#region watchOnce/index.ts\n/**\n* Shorthand for watching value with { once: true }\n*\n* @see https://vueuse.org/watchOnce\n*/\nfunction watchOnce(source, cb, options) {\n\treturn watch(source, cb, {\n\t\t...options,\n\t\tonce: true\n\t});\n}\n\n//#endregion\n//#region watchThrottled/index.ts\nfunction watchThrottled(source, cb, options = {}) {\n\tconst { throttle = 0, trailing = true, leading = true,...watchOptions } = options;\n\treturn watchWithFilter(source, cb, {\n\t\t...watchOptions,\n\t\teventFilter: throttleFilter(throttle, trailing, leading)\n\t});\n}\n/** @deprecated use `watchThrottled` instead */\nconst throttledWatch = watchThrottled;\n\n//#endregion\n//#region watchTriggerable/index.ts\nfunction watchTriggerable(source, cb, options = {}) {\n\tlet cleanupFn;\n\tfunction onEffect() {\n\t\tif (!cleanupFn) return;\n\t\tconst fn = cleanupFn;\n\t\tcleanupFn = void 0;\n\t\tfn();\n\t}\n\t/** Register the function `cleanupFn` */\n\tfunction onCleanup(callback) {\n\t\tcleanupFn = callback;\n\t}\n\tconst _cb = (value, oldValue) => {\n\t\tonEffect();\n\t\treturn cb(value, oldValue, onCleanup);\n\t};\n\tconst res = watchIgnorable(source, _cb, options);\n\tconst { ignoreUpdates } = res;\n\tconst trigger = () => {\n\t\tlet res$1;\n\t\tignoreUpdates(() => {\n\t\t\tres$1 = _cb(getWatchSources(source), getOldValue(source));\n\t\t});\n\t\treturn res$1;\n\t};\n\treturn {\n\t\t...res,\n\t\ttrigger\n\t};\n}\nfunction getWatchSources(sources) {\n\tif (isReactive(sources)) return sources;\n\tif (Array.isArray(sources)) return sources.map((item) => toValue(item));\n\treturn toValue(sources);\n}\nfunction getOldValue(source) {\n\treturn Array.isArray(source) ? source.map(() => void 0) : void 0;\n}\n\n//#endregion\n//#region whenever/index.ts\n/**\n* Shorthand for watching value to be truthy\n*\n* @see https://vueuse.org/whenever\n*/\nfunction whenever(source, cb, options) {\n\tconst stop = watch(source, (v, ov, onInvalidate) => {\n\t\tif (v) {\n\t\t\tif (options === null || options === void 0 ? void 0 : options.once) nextTick(() => stop());\n\t\t\tcb(v, ov, onInvalidate);\n\t\t}\n\t}, {\n\t\t...options,\n\t\tonce: false\n\t});\n\treturn stop;\n}\n\n//#endregion\nexport { assert, autoResetRef, bypassFilter, camelize, clamp, computedEager, computedWithControl, containsProp, controlledComputed, controlledRef, createEventHook, createFilterWrapper, createGlobalState, createInjectionState, createReactiveFn, createRef, createSharedComposable, createSingletonPromise, debounceFilter, debouncedRef, debouncedWatch, eagerComputed, extendRef, formatDate, get, getLifeCycleTarget, hasOwn, hyphenate, identity, ignorableWatch, increaseWithUnit, injectLocal, invoke, isClient, isDef, isDefined, isIOS, isObject, isWorker, makeDestructurable, noop, normalizeDate, notNullish, now, objectEntries, objectOmit, objectPick, pausableFilter, pausableWatch, promiseTimeout, provideLocal, pxValue, rand, reactify, reactifyObject, reactiveComputed, reactiveOmit, reactivePick, refAutoReset, refDebounced, refDefault, refManualReset, refThrottled, refWithControl, set, syncRef, syncRefs, throttleFilter, throttledRef, throttledWatch, timestamp, toArray, toReactive, toRef, toRefs, tryOnBeforeMount, tryOnBeforeUnmount, tryOnMounted, tryOnScopeDispose, tryOnUnmounted, until, useArrayDifference, useArrayEvery, useArrayFilter, useArrayFind, useArrayFindIndex, useArrayFindLast, useArrayIncludes, useArrayJoin, useArrayMap, useArrayReduce, useArraySome, useArrayUnique, useCounter, useDateFormat, useDebounce, useDebounceFn, useInterval, useIntervalFn, useLastChanged, useThrottle, useThrottleFn, useTimeout, useTimeoutFn, useToNumber, useToString, useToggle, watchArray, watchAtMost, watchDebounced, watchDeep, watchIgnorable, watchImmediate, watchOnce, watchPausable, watchThrottled, watchTriggerable, watchWithFilter, whenever };","// From https://github.com/agarny/webapp/blob/main/src/renderer/src/common/vueCommon.ts\n\nimport * as vueusecore from '@vueuse/core';\n\nimport * as vue from 'vue';\n\nimport type { Theme } from '../../index.ts';\n\n// A constant to know the UID of the active instance of OpenCOR.\n\nexport const activeInstanceUid = vueusecore.createGlobalState(() => vue.ref<string | null>(null));\n\n// Theme composable to know whether OpenCOR uses light mode, dark mode, or system mode.\n\nexport const useTheme = vueusecore.createGlobalState(() => {\n const prefersColorScheme = window.matchMedia('(prefers-color-scheme: light)');\n const isLightMode = vue.ref(prefersColorScheme.matches);\n const isDarkMode = vue.ref(!prefersColorScheme.matches);\n const _theme = vue.ref<Theme>('system');\n\n function updateLightAndDarkModes(prefersColorScheme: MediaQueryList | MediaQueryListEvent) {\n isLightMode.value = prefersColorScheme.matches;\n isDarkMode.value = !prefersColorScheme.matches;\n }\n\n function updateDocumentClasses() {\n document.documentElement.classList.toggle('celldl-dark-mode', isDarkMode.value);\n }\n\n prefersColorScheme.addEventListener('change', (event) => {\n if (_theme.value === 'system') {\n updateLightAndDarkModes(event);\n updateDocumentClasses();\n }\n });\n\n function theme(): Theme {\n return _theme.value;\n }\n\n function setTheme(newTheme: Theme | undefined) {\n _theme.value = newTheme ?? 'system';\n\n if (_theme.value === 'light') {\n isLightMode.value = true;\n isDarkMode.value = false;\n } else if (_theme.value === 'dark') {\n isLightMode.value = false;\n isDarkMode.value = true;\n } else {\n updateLightAndDarkModes(prefersColorScheme);\n }\n\n updateDocumentClasses();\n }\n\n function useLightMode(): boolean {\n return isLightMode.value;\n }\n\n function useDarkMode(): boolean {\n return isDarkMode.value;\n }\n\n return {\n theme,\n setTheme,\n useLightMode,\n useDarkMode\n };\n});\n","/**\n *\n * Point2D.js\n *\n * copyright 2001-2002, 2013 Kevin Lindsey\n *\n */\n\n/**\n * Point2D\n *\n * @param {Number} x\n * @param {Number} y\n * @returns {Point2D}\n */\nfunction Point2D(x, y) {\n Object.defineProperties(this, {\n \"x\": {\n value: x,\n writable: false,\n enumerable: true,\n configurable: false\n },\n \"y\": {\n value: y,\n writable: false,\n enumerable: true,\n configurable: false\n }\n });\n // this.x = x;\n // this.y = y;\n}\n\n/**\n * clone\n *\n * @returns {Point2D}\n */\nPoint2D.prototype.clone = function() {\n return new this.constructor(this.x, this.y);\n};\n\n/**\n * add\n *\n * @param {Point2D|Vector2D} that\n * @returns {Point2D}\n */\nPoint2D.prototype.add = function(that) {\n return new this.constructor(this.x+that.x, this.y+that.y);\n};\n\n/**\n * subtract\n *\n * @param { Vector2D | Point2D } that\n * @returns {Point2D}\n */\nPoint2D.prototype.subtract = function(that) {\n return new this.constructor(this.x-that.x, this.y-that.y);\n};\n\n/**\n * multiply\n *\n * @param {Number} scalar\n * @returns {Point2D}\n */\nPoint2D.prototype.multiply = function(scalar) {\n return new this.constructor(this.x*scalar, this.y*scalar);\n};\n\n/**\n * divide\n *\n * @param {Number} scalar\n * @returns {Point2D}\n */\nPoint2D.prototype.divide = function(scalar) {\n return new this.constructor(this.x/scalar, this.y/scalar);\n};\n\n/**\n * equals\n *\n * @param {Point2D} that\n * @returns {Boolean}\n */\nPoint2D.prototype.equals = function(that) {\n return ( this.x === that.x && this.y === that.y );\n};\n\n// utility methods\n\n/**\n * lerp\n *\n * @param { Vector2D | Point2D } that\n * @param {Number} t\n @ @returns {Point2D}\n */\nPoint2D.prototype.lerp = function(that, t) {\n var omt = 1.0 - t;\n\n return new this.constructor(\n this.x * omt + that.x * t,\n this.y * omt + that.y * t\n );\n};\n\n/**\n * distanceFrom\n *\n * @param {Point2D} that\n * @returns {Number}\n */\nPoint2D.prototype.distanceFrom = function(that) {\n var dx = this.x - that.x;\n var dy = this.y - that.y;\n\n return Math.sqrt(dx*dx + dy*dy);\n};\n\n/**\n * min\n *\n * @param {Point2D} that\n * @returns {Number}\n */\nPoint2D.prototype.min = function(that) {\n return new this.constructor(\n Math.min( this.x, that.x ),\n Math.min( this.y, that.y )\n );\n};\n\n/**\n * max\n *\n * @param {Point2D} that\n * @returns {Number}\n */\nPoint2D.prototype.max = function(that) {\n return new this.constructor(\n Math.max( this.x, that.x ),\n Math.max( this.y, that.y )\n );\n};\n\n/**\n * transform\n *\n * @param {Matrix2D}\n * @result {Point2D}\n */\nPoint2D.prototype.transform = function(matrix) {\n return new this.constructor(\n matrix.a * this.x + matrix.c * this.y + matrix.e,\n matrix.b * this.x + matrix.d * this.y + matrix.f\n );\n};\n\n/**\n * toString\n *\n * @returns {String}\n */\nPoint2D.prototype.toString = function() {\n return \"point(\" + this.x + \",\" + this.y + \")\";\n};\n\nif (typeof module !== \"undefined\") {\n module.exports = Point2D;\n}\n","/**\n *\n * Vector2D.js\n *\n * copyright 2001-2002, 2013 Kevin Lindsey\n *\n */\n\n/**\n * Vector2D\n *\n * @param {Number} x\n * @param {Number} y\n * @returns {Vector2D}\n */\nfunction Vector2D(x, y) {\n Object.defineProperties(this, {\n \"x\": {\n value: x,\n writable: false,\n enumerable: true,\n configurable: false\n },\n \"y\": {\n value: y,\n writable: false,\n enumerable: true,\n configurable: false\n }\n });\n // this.x = x;\n // this.y = y;\n}\n\n/**\n * fromPoints\n *\n * @param {Point2D} p1\n * @param {Point2D} p2\n * @returns {Vector2D}\n */\nVector2D.fromPoints = function(p1, p2) {\n return new Vector2D(\n p2.x - p1.x,\n p2.y - p1.y\n );\n};\n\n/**\n * length\n *\n * @returns {Number}\n */\nVector2D.prototype.length = function() {\n return Math.sqrt(this.x*this.x + this.y*this.y);\n};\n\n/**\n * magnitude\n *\n * @returns {Number}\n */\nVector2D.prototype.magnitude = function() {\n return this.x*this.x + this.y*this.y;\n};\n\n/**\n * dot\n *\n * @param {Vector2D} that\n * @returns {Number}\n */\nVector2D.prototype.dot = function(that) {\n return this.x*that.x + this.y*that.y;\n};\n\n/**\n * cross\n *\n * @param {Vector2D} that\n * @returns {Number}\n */\nVector2D.prototype.cross = function(that) {\n return this.x*that.y - this.y*that.x;\n};\n\n/**\n * determinant\n *\n * @param {Vector2D} that\n * @returns {Number}\n */\nVector2D.prototype.determinant = function(that) {\n return this.x*that.y - this.y*that.x;\n};\n\n/**\n * unit\n *\n * @returns {Vector2D}\n */\nVector2D.prototype.unit = function() {\n return this.divide( this.length() );\n};\n\n/**\n * add\n *\n * @param {Vector2D} that\n * @returns {Vector2D}\n */\nVector2D.prototype.add = function(that) {\n return new this.constructor(this.x + that.x, this.y + that.y);\n};\n\n/**\n * subtract\n *\n * @param {Vector2D} that\n * @returns {Vector2D}\n */\nVector2D.prototype.subtract = function(that) {\n return new this.constructor(this.x - that.x, this.y - that.y);\n};\n\n/**\n * multiply\n *\n * @param {Number} scalar\n * @returns {Vector2D}\n */\nVector2D.prototype.multiply = function(scalar) {\n return new this.constructor(this.x * scalar, this.y * scalar);\n};\n\n/**\n * divide\n *\n * @param {Number} scalar\n * @returns {Vector2D}\n */\nVector2D.prototype.divide = function(scalar) {\n return new this.constructor(this.x / scalar, this.y / scalar);\n};\n\n/**\n * angleBetween\n *\n * @param {Vector2D} that\n * @returns {Number}\n */\nVector2D.prototype.angleBetween = function(that) {\n var cos = this.dot(that) / (this.length() * that.length());\n cos = Math.max(-1, Math.min(cos, 1));\n var radians = Math.acos(cos);\n\n return (this.cross(that) < 0.0) ? -radians : radians;\n};\n\n/**\n * Find a vector is that is perpendicular to this vector\n *\n * @returns {Vector2D}\n */\nVector2D.prototype.perp = function() {\n return new this.constructor(-this.y, this.x);\n};\n\n/**\n * Find the component of the specified vector that is perpendicular to\n * this vector\n *\n * @param {Vector2D} that\n * @returns {Vector2D}\n */\nVector2D.prototype.perpendicular = function(that) {\n return this.subtract(this.project(that));\n};\n\n/**\n * project\n *\n * @param {Vector2D} that\n * @returns {Vector2D}\n */\nVector2D.prototype.project = function(that) {\n var percent = this.dot(that) / that.dot(that);\n\n return that.multiply(percent);\n};\n\n/**\n * transform\n *\n * @param {Matrix2D}\n * @returns {Vector2D}\n */\nVector2D.prototype.transform = function(matrix) {\n return new this.constructor(\n matrix.a * this.x + matrix.c * this.y,\n matrix.b * this.x + matrix.d * this.y\n );\n};\n\n/**\n * equals\n *\n * @param {Vector2D} that\n * @returns {Boolean}\n */\nVector2D.prototype.equals = function(that) {\n return (\n this.x === that.x &&\n this.y === that.y\n );\n};\n\n/**\n * toString\n *\n * @returns {String}\n */\nVector2D.prototype.toString = function() {\n return \"vector(\" + this.x + \",\" + this.y + \")\";\n};\n\nif (typeof module !== \"undefined\") {\n module.exports = Vector2D;\n}\n","/**\n * Matrix2D.js\n *\n * copyright 2001-2002, 2013 Kevin Lindsey\n */\n\n/**\n * Matrix2D\n *\n * [a c e]\n * [b d f]\n * [0 0 1]\n *\n * @param {Number} a\n * @param {Number} b\n * @param {Number} c\n * @param {Number} d\n * @param {Number} e\n * @param {Number} f\n * @returns {Matrix2D}\n */\nfunction Matrix2D(a, b, c, d, e, f) {\n Object.defineProperties(this, {\n \"a\": {\n value: (a !== undefined) ? a : 1,\n writable: false,\n enumerable: true,\n configurable: false\n },\n \"b\": {\n value: (b !== undefined) ? b : 0,\n writable: false,\n enumerable: true,\n configurable: false\n },\n \"c\": {\n value: (c !== undefined) ? c : 0,\n writable: false,\n enumerable: true,\n configurable: false\n },\n \"d\": {\n value: (d !== undefined) ? d : 1,\n writable: false,\n enumerable: true,\n configurable: false\n },\n \"e\": {\n value: (e !== undefined) ? e : 0,\n writable: false,\n enumerable: true,\n configurable: false\n },\n \"f\": {\n value: (f !== undefined) ? f : 0,\n writable: false,\n enumerable: true,\n configurable: false\n }\n });\n}\n\n/**\n * Identity matrix\n *\n * @returns {Matrix2D}\n */\n// TODO: consider using Object#defineProperty to make this read-only\nMatrix2D.IDENTITY = new Matrix2D(1, 0, 0, 1, 0, 0);\nMatrix2D.IDENTITY.isIdentity = function () { return true; };\n\n/**\n * multiply\n *\n * @pararm {Matrix2D} that\n * @returns {Matrix2D}\n */\nMatrix2D.prototype.multiply = function (that) {\n if (this.isIdentity()) {\n return that;\n }\n\n if (that.isIdentity()) {\n return this;\n }\n\n return new this.constructor(\n this.a * that.a + this.c * that.b,\n this.b * that.a + this.d * that.b,\n this.a * that.c + this.c * that.d,\n this.b * that.c + this.d * that.d,\n this.a * that.e + this.c * that.f + this.e,\n this.b * that.e + this.d * that.f + this.f\n );\n};\n\n/**\n * inverse\n *\n * @returns {Matrix2D}\n */\nMatrix2D.prototype.inverse = function () {\n if (this.isIdentity()) {\n return this;\n }\n\n var det1 = this.a * this.d - this.b * this.c;\n\n if ( det1 === 0.0 ) {\n throw(\"Matrix is not invertible\");\n }\n\n var idet = 1.0 / det1;\n var det2 = this.f * this.c - this.e * this.d;\n var det3 = this.e * this.b - this.f * this.a;\n\n return new this.constructor(\n this.d * idet,\n -this.b * idet,\n -this.c * idet,\n this.a * idet,\n det2 * idet,\n det3 * idet\n );\n};\n\n/**\n * translate\n *\n * @param {Number} tx\n * @param {Number} ty\n * @returns {Matrix2D}\n */\nMatrix2D.prototype.translate = function(tx, ty) {\n return new this.constructor(\n this.a,\n this.b,\n this.c,\n this.d,\n this.a * tx + this.c * ty + this.e,\n this.b * tx + this.d * ty + this.f\n );\n};\n\n/**\n * scale\n *\n * @param {Number} scale\n * @returns {Matrix2D}\n */\nMatrix2D.prototype.scale = function(scale) {\n return new this.constructor(\n this.a * scale,\n this.b * scale,\n this.c * scale,\n this.d * scale,\n this.e,\n this.f\n );\n};\n\n/**\n * scaleAt\n *\n * @param {Number} scale\n * @param {Point2D} center\n * @returns {Matrix2D}\n */\nMatrix2D.prototype.scaleAt = function(scale, center) {\n var dx = center.x - scale * center.x;\n var dy = center.y - scale * center.y;\n\n return new this.constructor(\n this.a * scale,\n this.b * scale,\n this.c * scale,\n this.d * scale,\n this.a * dx + this.c * dy + this.e,\n this.b * dx + this.d * dy + this.f\n );\n};\n\n/**\n * scaleNonUniform\n *\n * @param {Number} scaleX\n * @param {Number} scaleY\n * @returns {Matrix2D}\n */\nMatrix2D.prototype.scaleNonUniform = function(scaleX, scaleY) {\n return new this.constructor(\n this.a * scaleX,\n this.b * scaleX,\n this.c * scaleY,\n this.d * scaleY,\n this.e,\n this.f\n );\n};\n\n/**\n * scaleNonUniformAt\n *\n * @param {Number} scaleX\n * @param {Number} scaleY\n * @param {Point2D} center\n * @returns {Matrix2D}\n */\nMatrix2D.prototype.scaleNonUniformAt = function(scaleX, scaleY, center) {\n var dx = center.x - scaleX * center.x;\n var dy = center.y - scaleY * center.y;\n\n return new this.constructor(\n this.a * scaleX,\n this.b * scaleX,\n this.c * scaleY,\n this.d * scaleY,\n this.a * dx + this.c * dy + this.e,\n this.b * dx + this.d * dy + this.f\n );\n};\n\n/**\n * rotate\n *\n * @param {Number} radians\n * @returns {Matrix2D}\n */\nMatrix2D.prototype.rotate = function(radians) {\n var c = Math.cos(radians);\n var s = Math.sin(radians);\n\n return new this.constructor(\n this.a * c + this.c * s,\n this.b * c + this.d * s,\n this.a * -s + this.c * c,\n this.b * -s + this.d * c,\n this.e,\n this.f\n );\n};\n\n/**\n * rotateAt\n *\n * @param {Number} radians\n * @param {Point2D} center\n * @result {Matrix2D}\n */\nMatrix2D.prototype.rotateAt = function(radians, center) {\n var c = Math.cos(radians);\n var s = Math.sin(radians);\n var t1 = -center.x + center.x * c - center.y * s;\n var t2 = -center.y + center.y * c + center.x * s;\n\n return new this.constructor(\n this.a * c + this.c * s,\n this.b * c + this.d * s,\n this.a * -s + this.c * c,\n this.b * -s + this.d * c,\n this.a * t1 + this.c * t2 + this.e,\n this.b * t1 + this.d * t2 + this.f\n );\n};\n\n/**\n * rotateFromVector\n *\n * @param {Vector2D}\n * @returns {Matrix2D}\n */\nMatrix2D.prototype.rotateFromVector = function(vector) {\n var unit = vector.unit();\n var c = unit.x; // cos\n var s = unit.y; // sin\n\n return new this.constructor(\n this.a * c + this.c * s,\n this.b * c + this.d * s,\n this.a * -s + this.c * c,\n this.b * -s + this.d * c,\n this.e,\n this.f\n );\n};\n\n/**\n * flipX\n *\n * @returns {Matrix2D}\n */\nMatrix2D.prototype.flipX = function() {\n return new this.constructor(\n -this.a,\n -this.b,\n this.c,\n this.d,\n this.e,\n this.f\n );\n};\n\n/**\n * flipY\n *\n * @returns {Matrix2D}\n */\nMatrix2D.prototype.flipY = function() {\n return new this.constructor(\n this.a,\n this.b,\n -this.c,\n -this.d,\n this.e,\n this.f\n );\n};\n\n/**\n * skewX\n *\n * @pararm {Number} radians\n * @returns {Matrix2D}\n */\nMatrix2D.prototype.skewX = function(radians) {\n var t = Math.tan(radians);\n\n return new this.constructor(\n this.a,\n this.b,\n this.a * t + this.c,\n this.b * t + this.d,\n this.e,\n this.f\n );\n};\n\n// TODO: skewXAt\n\n/**\n * skewY\n *\n * @pararm {Number} radians\n * @returns {Matrix2D}\n */\nMatrix2D.prototype.skewY = function(radians) {\n var t = Math.tan(radians);\n\n return new this.constructor(\n this.a + this.c * t,\n this.b + this.d * t,\n this.c,\n this.d,\n this.e,\n this.f\n );\n};\n\n// TODO: skewYAt\n\n/**\n * isIdentity\n *\n * @returns {Boolean}\n */\nMatrix2D.prototype.isIdentity = function() {\n return (\n this.a === 1.0 &&\n this.b === 0.0 &&\n this.c === 0.0 &&\n this.d === 1.0 &&\n this.e === 0.0 &&\n this.f === 0.0\n );\n};\n\n/**\n * isInvertible\n *\n * @returns {Boolean}\n */\nMatrix2D.prototype.isInvertible = function() {\n return this.a * this.d - this.b * this.c !== 0.0;\n};\n\n/**\n * getScale\n *\n * @returns {{ scaleX: Number, scaleY: Number }}\n */\nMatrix2D.prototype.getScale = function() {\n return {\n scaleX: Math.sqrt(this.a * this.a + this.c * this.c),\n scaleY: Math.sqrt(this.b * this.b + this.d * this.d)\n };\n};\n\n/**\n * getDecomposition\n *\n * Calculates matrix Singular Value Decomposition\n *\n * The resulting matrices, translation, rotation, scale, and rotation0, return\n * this matrix when they are muliplied together in the listed order\n *\n * @see Jim Blinn's article {@link http://dx.doi.org/10.1109/38.486688}\n * @see {@link http://math.stackexchange.com/questions/861674/decompose-a-2d-arbitrary-transform-into-only-scaling-and-rotation}\n *\n * @returns {{ translation: Matrix2D, rotation: Matrix2D, scale: Matrix2D, rotation0: Matrix2D }}\n */\nMatrix2D.prototype.getDecomposition = function () {\n var E = (this.a + this.d) * 0.5;\n var F = (this.a - this.d) * 0.5;\n var G = (this.b + this.c) * 0.5;\n var H = (this.b - this.c) * 0.5;\n\n var Q = Math.sqrt(E * E + H * H);\n var R = Math.sqrt(F * F + G * G);\n var scaleX = Q + R;\n var scaleY = Q - R;\n\n var a1 = Math.atan2(G, F);\n var a2 = Math.atan2(H, E);\n var theta = (a2 - a1) * 0.5;\n var phi = (a2 + a1) * 0.5;\n\n // TODO: Add static methods to generate translation, rotation, etc.\n // matrices directly\n\n return {\n translation: new this.constructor(1, 0, 0, 1, this.e, this.f),\n rotation: this.constructor.IDENTITY.rotate(phi),\n scale: new this.constructor(scaleX, 0, 0, scaleY, 0, 0),\n rotation0: this.constructor.IDENTITY.rotate(theta)\n };\n};\n\n/**\n * equals\n *\n * @param {Matrix2D} that\n * @returns {Boolean}\n */\nMatrix2D.prototype.equals = function(that) {\n return (\n this.a === that.a &&\n this.b === that.b &&\n this.c === that.c &&\n this.d === that.d &&\n this.e === that.e &&\n this.f === that.f\n );\n};\n\n/**\n * toString\n *\n * @returns {String}\n */\nMatrix2D.prototype.toString = function() {\n return \"matrix(\" + [this.a, this.b, this.c, this.d, this.e, this.f].join(\",\") + \")\";\n};\n\nif (typeof module !== \"undefined\") {\n module.exports = Matrix2D;\n}\n","// expose classes\n\nexports.Point2D = require('./lib/Point2D');\nexports.Vector2D = require('./lib/Vector2D');\nexports.Matrix2D = require('./lib/Matrix2D');\n","/* eslint-disable camelcase */\n/**\n * Polynomial.js\n *\n * @module Polynomial\n * @copyright 2002-2019 Kevin Lindsey<br>\n * -<br>\n * Contribution {@link http://github.com/Quazistax/kld-polynomial}<br>\n * copyright 2015 Robert Benko (Quazistax) <quazistax@gmail.com><br>\n * MIT license\n */\n\n/**\n * Sign of a number (+1, -1, +0, -0).\n *\n * @param {number} x\n * @returns {number}\n */\nfunction sign(x) {\n // eslint-disable-next-line no-self-compare\n return typeof x === \"number\" ? x ? x < 0 ? -1 : 1 : x === x ? x : NaN : NaN;\n}\n\n/**\n * Polynomial\n *\n * @memberof module:kld-polynomial\n */\nclass Polynomial {\n /**\n * Polynomial\n *\n * @param {Array<number>} coefs\n * @returns {module:kld-polynomial.Polynomial}\n */\n constructor(...coefs) {\n this.coefs = [];\n\n for (let i = coefs.length - 1; i >= 0; i--) {\n this.coefs.push(coefs[i]);\n }\n\n this._variable = \"t\";\n this._s = 0;\n }\n\n /**\n * Based on polint in \"Numerical Recipes in C, 2nd Edition\", pages 109-110\n *\n * @param {Array<number>} xs\n * @param {Array<number>} ys\n * @param {number} n\n * @param {number} offset\n * @param {number} x\n *\n * @returns {{y: number, dy: number}}\n */\n static interpolate(xs, ys, n, offset, x) {\n if (xs.constructor !== Array || ys.constructor !== Array) {\n throw new TypeError(\"xs and ys must be arrays\");\n }\n if (isNaN(n) || isNaN(offset) || isNaN(x)) {\n throw new TypeError(\"n, offset, and x must be numbers\");\n }\n\n let i, y;\n let dy = 0;\n const c = new Array(n);\n const d = new Array(n);\n let ns = 0;\n\n let diff = Math.abs(x - xs[offset]);\n\n for (i = 0; i < n; i++) {\n const dift = Math.abs(x - xs[offset + i]);\n\n if (dift < diff) {\n ns = i;\n diff = dift;\n }\n c[i] = d[i] = ys[offset + i];\n }\n\n y = ys[offset + ns];\n ns--;\n\n for (let m = 1; m < n; m++) {\n for (i = 0; i < n - m; i++) {\n const ho = xs[offset + i] - x;\n const hp = xs[offset + i + m] - x;\n const w = c[i + 1] - d[i];\n let den = ho - hp;\n\n if (den === 0.0) {\n throw new RangeError(\"Unable to interpolate polynomial. Two numbers in n were identical (to within roundoff)\");\n }\n\n den = w / den;\n d[i] = hp * den;\n c[i] = ho * den;\n }\n\n dy = (2 * (ns + 1) < (n - m)) ? c[ns + 1] : d[ns--];\n y += dy;\n }\n\n return {y, dy};\n }\n\n /**\n * Newton's (Newton-Raphson) method for finding Real roots on univariate function. <br/>\n * When using bounds, algorithm falls back to secant if newton goes out of range.\n * Bisection is fallback for secant when determined secant is not efficient enough.\n * @see {@link http://en.wikipedia.org/wiki/Newton%27s_method}\n * @see {@link http://en.wikipedia.org/wiki/Secant_method}\n * @see {@link http://en.wikipedia.org/wiki/Bisection_method}\n *\n * @param {number} x0 - Initial root guess\n * @param {Function} f - Function which root we are trying to find\n * @param {Function} df - Derivative of function f\n * @param {number} max_iterations - Maximum number of algorithm iterations\n * @param {number} [min] - Left bound value\n * @param {number} [max] - Right bound value\n * @returns {number} root\n */\n static newtonSecantBisection(x0, f, df, max_iterations, min, max) {\n let x, prev_dfx = 0, dfx, prev_x_ef_correction = 0, x_correction, x_new;\n let y, y_atmin, y_atmax;\n\n x = x0;\n\n const ACCURACY = 14;\n const min_correction_factor = Math.pow(10, -ACCURACY);\n const isBounded = (typeof min === \"number\" && typeof max === \"number\");\n\n if (isBounded) {\n if (min > max) {\n throw new RangeError(\"Min must be greater than max\");\n }\n\n y_atmin = f(min);\n y_atmax = f(max);\n\n if (sign(y_atmin) === sign(y_atmax)) {\n throw new RangeError(\"Y values of bounds must be of opposite sign\");\n }\n }\n\n const isEnoughCorrection = function() {\n // stop if correction is too small or if correction is in simple loop\n return (Math.abs(x_correction) <= min_correction_factor * Math.abs(x)) ||\n (prev_x_ef_correction === (x - x_correction) - x);\n };\n\n for (let i = 0; i < max_iterations; i++) {\n dfx = df(x);\n\n if (dfx === 0) {\n if (prev_dfx === 0) {\n // error\n throw new RangeError(\"df(x) is zero\");\n }\n else {\n // use previous derivation value\n dfx = prev_dfx;\n }\n // or move x a little?\n // dfx = df(x != 0 ? x + x * 1e-15 : 1e-15);\n }\n\n prev_dfx = dfx;\n y = f(x);\n x_correction = y / dfx;\n x_new = x - x_correction;\n\n if (isEnoughCorrection()) {\n break;\n }\n\n if (isBounded) {\n if (sign(y) === sign(y_atmax)) {\n max = x;\n y_atmax = y;\n }\n else if (sign(y) === sign(y_atmin)) {\n min = x;\n y_atmin = y;\n }\n else {\n x = x_new;\n break;\n }\n\n if ((x_new < min) || (x_new > max)) {\n if (sign(y_atmin) === sign(y_atmax)) {\n break;\n }\n\n const RATIO_LIMIT = 50;\n const AIMED_BISECT_OFFSET = 0.25; // [0, 0.5)\n const dy = y_atmax - y_atmin;\n const dx = max - min;\n\n if (dy === 0) {\n x_correction = x - (min + dx * 0.5);\n }\n else if (Math.abs(dy / Math.min(y_atmin, y_atmax)) > RATIO_LIMIT) {\n x_correction = x - (min + dx * (0.5 + (Math.abs(y_atmin) < Math.abs(y_atmax) ? -AIMED_BISECT_OFFSET : AIMED_BISECT_OFFSET)));\n }\n else {\n x_correction = x - (min - y_atmin / dy * dx);\n }\n x_new = x - x_correction;\n\n if (isEnoughCorrection()) {\n break;\n }\n }\n }\n\n prev_x_ef_correction = x - x_new;\n x = x_new;\n }\n\n return x;\n }\n\n /**\n * Clones this polynomial and return the clone.\n *\n * @returns {module:kld-polynomial.Polynomial}\n */\n clone() {\n const poly = new Polynomial();\n\n poly.coefs = this.coefs.slice();\n\n return poly;\n }\n\n /**\n * eval\n *\n * @param {number} x\n */\n eval(x) {\n if (isNaN(x)) {\n throw new TypeError(`Parameter must be a number. Found '${x}'`);\n }\n\n let result = 0;\n\n for (let i = this.coefs.length - 1; i >= 0; i--) {\n result = result * x + this.coefs[i];\n }\n\n return result;\n }\n\n /**\n * add\n *\n * @param {module:kld-polynomial.Polynomial} that\n * @returns {module:kld-polynomial.Polynomial}\n */\n add(that) {\n const result = new Polynomial();\n const d1 = this.getDegree();\n const d2 = that.getDegree();\n const dmax = Math.max(d1, d2);\n\n for (let i = 0; i <= dmax; i++) {\n const v1 = (i <= d1) ? this.coefs[i] : 0;\n const v2 = (i <= d2) ? that.coefs[i] : 0;\n\n result.coefs[i] = v1 + v2;\n }\n\n return result;\n }\n\n /**\n * multiply\n *\n * @param {module:kld-polynomial.Polynomial} that\n * @returns {module:kld-polynomial.Polynomial}\n */\n multiply(that) {\n const result = new Polynomial();\n\n for (let i = 0; i <= this.getDegree() + that.getDegree(); i++) {\n result.coefs.push(0);\n }\n\n for (let i = 0; i <= this.getDegree(); i++) {\n for (let j = 0; j <= that.getDegree(); j++) {\n result.coefs[i + j] += this.coefs[i] * that.coefs[j];\n }\n }\n\n return result;\n }\n\n /**\n * divideEqualsScalar\n *\n * @deprecated To be replaced by divideScalar\n * @param {number} scalar\n */\n divideEqualsScalar(scalar) {\n for (let i = 0; i < this.coefs.length; i++) {\n this.coefs[i] /= scalar;\n }\n }\n\n /**\n * simplifyEquals\n *\n * @deprecated To be replaced by simplify\n * @param {number} TOLERANCE\n */\n simplifyEquals(TOLERANCE = 1e-12) {\n for (let i = this.getDegree(); i >= 0; i--) {\n if (Math.abs(this.coefs[i]) <= TOLERANCE) {\n this.coefs.pop();\n }\n else {\n break;\n }\n }\n }\n\n /**\n * Sets small coefficients to zero.\n *\n * @deprecated To be replaced by removeZeros\n * @param {number} TOLERANCE\n * @returns {module:kld-polynomial.Polynomial}\n */\n removeZerosEquals(TOLERANCE = 1e-15) {\n const c = this.coefs;\n const err = 10 * TOLERANCE * Math.abs(\n c.reduce((pv, cv) => {\n return Math.abs(cv) > Math.abs(pv) ? cv : pv;\n })\n );\n\n for (let i = 0; i < c.length - 1; i++) {\n if (Math.abs(c[i]) < err) {\n c[i] = 0;\n }\n }\n\n return this;\n }\n\n /**\n * Scales polynomial so that leading coefficient becomes 1.\n *\n * @deprecated To be replaced by getMonic\n * @returns {module:kld-polynomial.Polynomial}\n */\n monicEquals() {\n const c = this.coefs;\n\n if (c[c.length - 1] !== 1) {\n this.divideEqualsScalar(c[c.length - 1]);\n }\n\n return this;\n }\n\n /**\n * toString\n *\n * @returns {string}\n */\n toString() {\n const coefs = [];\n const signs = [];\n\n for (let i = this.coefs.length - 1; i >= 0; i--) {\n let value = Math.round(this.coefs[i] * 1000) / 1000;\n\n if (value !== 0) {\n const signString = (value < 0) ? \" - \" : \" + \";\n\n value = Math.abs(value);\n\n if (i > 0) {\n if (value === 1) {\n value = this._variable;\n }\n else {\n value += this._variable;\n }\n }\n\n if (i > 1) {\n value += \"^\" + i;\n }\n\n signs.push(signString);\n coefs.push(value);\n }\n }\n\n signs[0] = (signs[0] === \" + \") ? \"\" : \"-\";\n\n let result = \"\";\n\n for (let i = 0; i < coefs.length; i++) {\n result += signs[i] + coefs[i];\n }\n\n return result;\n }\n\n /**\n * bisection\n *\n * @param {number} min\n * @param {number} max\n * @param {number} [TOLERANCE]\n * @param {number} [ACCURACY]\n * @returns {number}\n */\n bisection(min, max, TOLERANCE = 1e-6, ACCURACY = 15) {\n let minValue = this.eval(min);\n let maxValue = this.eval(max);\n let result;\n\n if (Math.abs(minValue) <= TOLERANCE) {\n result = min;\n }\n else if (Math.abs(maxValue) <= TOLERANCE) {\n result = max;\n }\n else if (minValue * maxValue <= 0) {\n const tmp1 = Math.log(max - min);\n const tmp2 = Math.LN10 * ACCURACY;\n const maxIterations = Math.ceil((tmp1 + tmp2) / Math.LN2);\n\n for (let i = 0; i < maxIterations; i++) {\n result = 0.5 * (min + max);\n const value = this.eval(result);\n\n if (Math.abs(value) <= TOLERANCE) {\n break;\n }\n\n if (value * minValue < 0) {\n max = result;\n maxValue = value;\n }\n else {\n min = result;\n minValue = value;\n }\n }\n }\n\n return result;\n }\n\n /**\n * Based on trapzd in \"Numerical Recipes in C, 2nd Edition\", page 137\n *\n * @param {number} min\n * @param {number} max\n * @param {number} n\n * @returns {number}\n */\n trapezoid(min, max, n) {\n if (isNaN(min) || isNaN(max) || isNaN(n)) {\n throw new TypeError(\"Parameters must be numbers\");\n }\n\n const range = max - min;\n\n if (n === 1) {\n const minValue = this.eval(min);\n const maxValue = this.eval(max);\n\n this._s = 0.5 * range * (minValue + maxValue);\n }\n else {\n const iter = 1 << (n - 2);\n const delta = range / iter;\n let x = min + 0.5 * delta;\n let sum = 0;\n\n for (let i = 0; i < iter; i++) {\n sum += this.eval(x);\n x += delta;\n }\n\n this._s = 0.5 * (this._s + range * sum / iter);\n }\n\n if (isNaN(this._s)) {\n throw new TypeError(\"this._s is NaN\");\n }\n\n return this._s;\n }\n\n /**\n * Based on trapzd in \"Numerical Recipes in C, 2nd Edition\", page 139\n *\n * @param {number} min\n * @param {number} max\n * @returns {number}\n */\n simpson(min, max) {\n if (isNaN(min) || isNaN(max)) {\n throw new TypeError(\"Parameters must be numbers\");\n }\n\n const range = max - min;\n let st = 0.5 * range * (this.eval(min) + this.eval(max));\n let t = st;\n let s = 4.0 * st / 3.0;\n let os = s;\n let ost = st;\n const TOLERANCE = 1e-7;\n\n let iter = 1;\n\n for (let n = 2; n <= 20; n++) {\n const delta = range / iter;\n let x = min + 0.5 * delta;\n let sum = 0;\n\n for (let i = 1; i <= iter; i++) {\n sum += this.eval(x);\n x += delta;\n }\n\n t = 0.5 * (t + range * sum / iter);\n st = t;\n s = (4.0 * st - ost) / 3.0;\n\n if (Math.abs(s - os) < TOLERANCE * Math.abs(os)) {\n break;\n }\n\n os = s;\n ost = st;\n iter <<= 1;\n }\n\n return s;\n }\n\n /**\n * romberg\n *\n * @param {number} min\n * @param {number} max\n * @returns {number}\n */\n romberg(min, max) {\n if (isNaN(min) || isNaN(max)) {\n throw new TypeError(\"Parameters must be numbers\");\n }\n\n const MAX = 20;\n const K = 3;\n const TOLERANCE = 1e-6;\n const s = new Array(MAX + 1);\n const h = new Array(MAX + 1);\n let result = {y: 0, dy: 0};\n\n h[0] = 1.0;\n\n for (let j = 1; j <= MAX; j++) {\n s[j - 1] = this.trapezoid(min, max, j);\n\n if (j >= K) {\n result = Polynomial.interpolate(h, s, K, j - K, 0.0);\n if (Math.abs(result.dy) <= TOLERANCE * result.y) {\n break;\n }\n }\n\n s[j] = s[j - 1];\n h[j] = 0.25 * h[j - 1];\n }\n\n return result.y;\n }\n\n /**\n * Estimate what is the maximum polynomial evaluation error value under which polynomial evaluation could be in fact 0.\n *\n * @param {number} maxAbsX\n * @returns {number}\n */\n zeroErrorEstimate(maxAbsX) {\n const poly = this;\n const ERRF = 1e-15;\n\n if (typeof maxAbsX === \"undefined\") {\n const rb = poly.bounds();\n\n maxAbsX = Math.max(Math.abs(rb.minX), Math.abs(rb.maxX));\n }\n\n if (maxAbsX < 0.001) {\n return 2 * Math.abs(poly.eval(ERRF));\n }\n\n const n = poly.coefs.length - 1;\n const an = poly.coefs[n];\n\n return 10 * ERRF * poly.coefs.reduce((m, v, i) => {\n const nm = v / an * Math.pow(maxAbsX, i);\n return nm > m ? nm : m;\n }, 0);\n }\n\n /**\n * Calculates upper Real roots bounds. <br/>\n * Real roots are in interval [negX, posX]. Determined by Fujiwara method.\n * @see {@link http://en.wikipedia.org/wiki/Properties_of_polynomial_roots}\n *\n * @returns {{ negX: number, posX: number }}\n */\n boundsUpperRealFujiwara() {\n let a = this.coefs;\n const n = a.length - 1;\n const an = a[n];\n\n if (an !== 1) {\n a = this.coefs.map(v => v / an);\n }\n\n const b = a.map((v, i) => {\n return (i < n)\n ? Math.pow(Math.abs((i === 0) ? v / 2 : v), 1 / (n - i))\n : v;\n });\n\n let coefSelectionFunc;\n const find2Max = function(acc, bi, i) {\n if (coefSelectionFunc(i)) {\n if (acc.max < bi) {\n acc.nearmax = acc.max;\n acc.max = bi;\n }\n else if (acc.nearmax < bi) {\n acc.nearmax = bi;\n }\n }\n return acc;\n };\n\n coefSelectionFunc = function(i) {\n return i < n && a[i] < 0;\n };\n\n // eslint-disable-next-line unicorn/no-fn-reference-in-iterator\n const max_nearmax_pos = b.reduce(find2Max, {max: 0, nearmax: 0});\n\n coefSelectionFunc = function(i) {\n return i < n && ((n % 2 === i % 2) ? a[i] < 0 : a[i] > 0);\n };\n\n // eslint-disable-next-line unicorn/no-fn-reference-in-iterator\n const max_nearmax_neg = b.reduce(find2Max, {max: 0, nearmax: 0});\n\n return {\n negX: -2 * max_nearmax_neg.max,\n posX: 2 * max_nearmax_pos.max\n };\n }\n\n /**\n * Calculates lower Real roots bounds. <br/>\n * There are no Real roots in interval <negX, posX>. Determined by Fujiwara method.\n * @see {@link http://en.wikipedia.org/wiki/Properties_of_polynomial_roots}\n *\n * @returns {{ negX: number, posX: number }}\n */\n boundsLowerRealFujiwara() {\n const poly = new Polynomial();\n\n poly.coefs = this.coefs.slice().reverse();\n\n const res = poly.boundsUpperRealFujiwara();\n\n res.negX = 1 / res.negX;\n res.posX = 1 / res.posX;\n\n return res;\n }\n\n /**\n * Calculates left and right Real roots bounds. <br/>\n * Real roots are in interval [minX, maxX]. Combines Fujiwara lower and upper bounds to get minimal interval.\n * @see {@link http://en.wikipedia.org/wiki/Properties_of_polynomial_roots}\n *\n * @returns {{ minX: number, maxX: number }}\n */\n bounds() {\n const urb = this.boundsUpperRealFujiwara();\n const rb = {minX: urb.negX, maxX: urb.posX};\n\n if (urb.negX === 0 && urb.posX === 0) {\n return rb;\n }\n\n if (urb.negX === 0) {\n rb.minX = this.boundsLowerRealFujiwara().posX;\n }\n else if (urb.posX === 0) {\n rb.maxX = this.boundsLowerRealFujiwara().negX;\n }\n\n if (rb.minX > rb.maxX) {\n rb.minX = rb.maxX = 0;\n }\n\n return rb;\n // TODO: if sure that there are no complex roots\n // (maybe by using Sturm's theorem) use:\n // return this.boundsRealLaguerre();\n }\n\n /**\n * Calculates absolute upper roots bound. <br/>\n * All (Complex and Real) roots magnitudes are &lt;= result. Determined by Rouche method.\n * @see {@link http://en.wikipedia.org/wiki/Properties_of_polynomial_roots}\n *\n * @returns {number}\n */\n boundUpperAbsRouche() {\n const a = this.coefs;\n const n = a.length - 1;\n const max = a.reduce((prev, curr, i) => {\n if (i !== n) {\n curr = Math.abs(curr);\n return (prev < curr) ? curr : prev;\n }\n return prev;\n }, 0);\n\n return 1 + max / Math.abs(a[n]);\n }\n\n /**\n * Calculates absolute lower roots bound. <br/>\n * All (Complex and Real) roots magnitudes are &gt;= result. Determined by Rouche method.\n * @see {@link http://en.wikipedia.org/wiki/Properties_of_polynomial_roots}\n *\n * @returns {number}\n */\n boundLowerAbsRouche() {\n const a = this.coefs;\n const max = a.reduce((prev, curr, i) => {\n if (i !== 0) {\n curr = Math.abs(curr);\n return (prev < curr) ? curr : prev;\n }\n return prev;\n }, 0);\n\n return Math.abs(a[0]) / (Math.abs(a[0]) + max);\n }\n\n /**\n * Calculates left and right Real roots bounds.<br/>\n * WORKS ONLY if all polynomial roots are Real.\n * Real roots are in interval [minX, maxX]. Determined by Laguerre method.\n * @see {@link http://en.wikipedia.org/wiki/Properties_of_polynomial_roots}\n *\n * @returns {{ minX: number, maxX: number }}\n */\n boundsRealLaguerre() {\n const a = this.coefs;\n const n = a.length - 1;\n const p1 = -a[n - 1] / (n * a[n]);\n const undersqrt = a[n - 1] * a[n - 1] - 2 * n / (n - 1) * a[n] * a[n - 2];\n let p2 = (n - 1) / (n * a[n]) * Math.sqrt(undersqrt);\n\n if (p2 < 0) {\n p2 = -p2;\n }\n\n return {\n minX: p1 - p2,\n maxX: p1 + p2\n };\n }\n\n /**\n * Root count by Descartes rule of signs. <br/>\n * Returns maximum number of positive and negative real roots and minimum number of complex roots.\n * @see {@link http://en.wikipedia.org/wiki/Descartes%27_rule_of_signs}\n *\n * @returns {{maxRealPos: number, maxRealNeg: number, minComplex: number}}\n */\n countRootsDescartes() {\n const a = this.coefs;\n const n = a.length - 1;\n const accum = a.reduce((acc, ai, i) => {\n if (acc.prev_a !== 0 && ai !== 0) {\n if ((acc.prev_a < 0) === (ai > 0)) {\n acc.pos++;\n }\n if (((i % 2 === 0) !== (acc.prev_a < 0)) === ((i % 2 === 1) !== (ai > 0))) {\n acc.neg++;\n }\n }\n acc.prev_a = ai;\n return acc;\n }, {pos: 0, neg: 0, prev_a: 0});\n\n return {\n maxRealPos: accum.pos,\n maxRealNeg: accum.neg,\n minComplex: n - (accum.pos + accum.neg)\n };\n }\n\n // getters and setters\n\n /**\n * get degree\n *\n * @returns {number}\n */\n getDegree() {\n return this.coefs.length - 1;\n }\n\n /**\n * getDerivative\n *\n * @returns {module:kld-polynomial.Polynomial}\n */\n getDerivative() {\n const derivative = new Polynomial();\n\n for (let i = 1; i < this.coefs.length; i++) {\n derivative.coefs.push(i * this.coefs[i]);\n }\n\n return derivative;\n }\n\n /**\n * getRoots\n *\n * @returns {Array<number>}\n */\n getRoots() {\n let result;\n\n this.simplifyEquals();\n\n switch (this.getDegree()) {\n case 0: result = []; break;\n case 1: result = this.getLinearRoot(); break;\n case 2: result = this.getQuadraticRoots(); break;\n case 3: result = this.getCubicRoots(); break;\n case 4: result = this.getQuarticRoots(); break;\n default:\n result = [];\n }\n\n return result;\n }\n\n /**\n * getRootsInInterval\n *\n * @param {number} min\n * @param {number} max\n * @returns {Array<number>}\n */\n getRootsInInterval(min, max) {\n const roots = [];\n\n /**\n * @param {number} value\n */\n function push(value) {\n if (typeof value === \"number\") {\n roots.push(value);\n }\n }\n\n if (this.getDegree() === 0) {\n throw new RangeError(\"Unexpected empty polynomial\");\n }\n else if (this.getDegree() === 1) {\n push(this.bisection(min, max));\n }\n else {\n // get roots of derivative\n const deriv = this.getDerivative();\n const droots = deriv.getRootsInInterval(min, max);\n\n if (droots.length > 0) {\n // find root on [min, droots[0]]\n push(this.bisection(min, droots[0]));\n\n // find root on [droots[i],droots[i+1]] for 0 <= i <= count-2\n for (let i = 0; i <= droots.length - 2; i++) {\n push(this.bisection(droots[i], droots[i + 1]));\n }\n\n // find root on [droots[count-1],xmax]\n push(this.bisection(droots[droots.length - 1], max));\n }\n else {\n // polynomial is monotone on [min,max], has at most one root\n push(this.bisection(min, max));\n }\n }\n\n return roots;\n }\n\n /**\n * getLinearRoot\n *\n * @returns {number}\n */\n getLinearRoot() {\n const result = [];\n const a = this.coefs[1];\n\n if (a !== 0) {\n result.push(-this.coefs[0] / a);\n }\n\n return result;\n }\n\n /**\n * getQuadraticRoots\n *\n * @returns {Array<number>}\n */\n getQuadraticRoots() {\n const results = [];\n\n if (this.getDegree() === 2) {\n const a = this.coefs[2];\n const b = this.coefs[1] / a;\n const c = this.coefs[0] / a;\n const d = b * b - 4 * c;\n\n if (d > 0) {\n const e = Math.sqrt(d);\n\n results.push(0.5 * (-b + e));\n results.push(0.5 * (-b - e));\n }\n else if (d === 0) {\n // really two roots with same value, but we only return one\n results.push(0.5 * -b);\n }\n // else imaginary results\n }\n\n return results;\n }\n\n /**\n * getCubicRoots\n *\n * This code is based on MgcPolynomial.cpp written by David Eberly. His\n * code along with many other excellent examples are avaiable at his site:\n * http://www.geometrictools.com\n *\n * @returns {Array<number>}\n */\n getCubicRoots() {\n const results = [];\n\n if (this.getDegree() === 3) {\n const c3 = this.coefs[3];\n const c2 = this.coefs[2] / c3;\n const c1 = this.coefs[1] / c3;\n const c0 = this.coefs[0] / c3;\n\n const a = (3 * c1 - c2 * c2) / 3;\n const b = (2 * c2 * c2 * c2 - 9 * c1 * c2 + 27 * c0) / 27;\n const offset = c2 / 3;\n let discrim = b * b / 4 + a * a * a / 27;\n const halfB = b / 2;\n\n const ZEROepsilon = this.zeroErrorEstimate();\n\n if (Math.abs(discrim) <= ZEROepsilon) {\n discrim = 0;\n }\n\n if (discrim > 0) {\n const e = Math.sqrt(discrim);\n let root; // eslint-disable-line no-shadow\n\n let tmp = -halfB + e;\n\n if (tmp >= 0) {\n root = Math.pow(tmp, 1 / 3);\n }\n else {\n root = -Math.pow(-tmp, 1 / 3);\n }\n\n tmp = -halfB - e;\n\n if (tmp >= 0) {\n root += Math.pow(tmp, 1 / 3);\n }\n else {\n root -= Math.pow(-tmp, 1 / 3);\n }\n\n results.push(root - offset);\n }\n else if (discrim < 0) {\n const distance = Math.sqrt(-a / 3);\n const angle = Math.atan2(Math.sqrt(-discrim), -halfB) / 3;\n const cos = Math.cos(angle);\n const sin = Math.sin(angle);\n const sqrt3 = Math.sqrt(3);\n\n results.push(2 * distance * cos - offset);\n results.push(-distance * (cos + sqrt3 * sin) - offset);\n results.push(-distance * (cos - sqrt3 * sin) - offset);\n }\n else {\n let tmp;\n\n if (halfB >= 0) {\n tmp = -Math.pow(halfB, 1 / 3);\n }\n else {\n tmp = Math.pow(-halfB, 1 / 3);\n }\n\n results.push(2 * tmp - offset);\n // really should return next root twice, but we return only one\n results.push(-tmp - offset);\n }\n }\n\n return results;\n }\n\n /**\n * Calculates roots of quartic polynomial. <br/>\n * First, derivative roots are found, then used to split quartic polynomial\n * into segments, each containing one root of quartic polynomial.\n * Segments are then passed to newton's method to find roots.\n *\n * @returns {Array<number>} roots\n */\n getQuarticRoots() {\n let results = [];\n const n = this.getDegree();\n\n if (n === 4) {\n const poly = new Polynomial();\n\n poly.coefs = this.coefs.slice();\n poly.divideEqualsScalar(poly.coefs[n]);\n\n const ERRF = 1e-15;\n\n if (Math.abs(poly.coefs[0]) < 10 * ERRF * Math.abs(poly.coefs[3])) {\n poly.coefs[0] = 0;\n }\n\n const poly_d = poly.getDerivative();\n const derrt = poly_d.getRoots().sort((a, b) => a - b);\n const dery = [];\n const nr = derrt.length - 1;\n const rb = this.bounds();\n\n const maxabsX = Math.max(Math.abs(rb.minX), Math.abs(rb.maxX));\n const ZEROepsilon = this.zeroErrorEstimate(maxabsX);\n\n for (let i = 0; i <= nr; i++) {\n dery.push(poly.eval(derrt[i]));\n }\n\n for (let i = 0; i <= nr; i++) {\n if (Math.abs(dery[i]) < ZEROepsilon) {\n dery[i] = 0;\n }\n }\n\n let i = 0;\n const dx = Math.max(0.1 * (rb.maxX - rb.minX) / n, ERRF);\n const guesses = [];\n const minmax = [];\n\n if (nr > -1) {\n if (dery[0] !== 0) {\n if (sign(dery[0]) !== sign(poly.eval(derrt[0] - dx) - dery[0])) {\n guesses.push(derrt[0] - dx);\n minmax.push([rb.minX, derrt[0]]);\n }\n }\n else {\n results.push(derrt[0], derrt[0]);\n i++;\n }\n\n for (; i < nr; i++) {\n if (dery[i + 1] === 0) {\n results.push(derrt[i + 1], derrt[i + 1]);\n i++;\n }\n else if (sign(dery[i]) !== sign(dery[i + 1])) {\n guesses.push((derrt[i] + derrt[i + 1]) / 2);\n minmax.push([derrt[i], derrt[i + 1]]);\n }\n }\n if (dery[nr] !== 0 && sign(dery[nr]) !== sign(poly.eval(derrt[nr] + dx) - dery[nr])) {\n guesses.push(derrt[nr] + dx);\n minmax.push([derrt[nr], rb.maxX]);\n }\n }\n\n /**\n * @param {number} x\n * @returns {number}\n */\n const f = function(x) {\n return poly.eval(x);\n };\n\n /**\n * @param {number} x\n * @returns {number}\n */\n const df = function(x) {\n return poly_d.eval(x);\n };\n\n if (guesses.length > 0) {\n for (i = 0; i < guesses.length; i++) {\n guesses[i] = Polynomial.newtonSecantBisection(guesses[i], f, df, 32, minmax[i][0], minmax[i][1]);\n }\n }\n\n results = results.concat(guesses);\n }\n\n return results;\n }\n}\n\nexport default Polynomial;\n","/**\n * SqrtPolynomial.js\n *\n * @module SqrtPolynomial\n * @copyright 2002-2019 Kevin Lindsey\n */\n\nimport Polynomial from \"./Polynomial.js\";\n\n/**\n * SqrtPolynomial\n *\n * @deprecated\n * @memberof module:kld-polynomial\n */\nclass SqrtPolynomial extends Polynomial {\n /**\n * eval\n *\n * @param {number} x\n * @returns {number}\n */\n eval(x) {\n const TOLERANCE = 1e-7;\n\n let result = super.eval(x);\n\n // NOTE: May need to change the following. I added these to capture\n // some really small negative values that were being generated by one\n // of my Bezier arcLength functions\n if (Math.abs(result) < TOLERANCE) {\n result = 0;\n }\n\n if (result < 0) {\n throw new RangeError(\"Cannot take square root of negative number\");\n }\n\n return Math.sqrt(result);\n }\n\n /**\n * toString\n *\n * @returns {string}\n */\n toString() {\n const result = super.toString();\n\n return \"sqrt(\" + result + \")\";\n }\n}\n\nexport default SqrtPolynomial;\n","var Point2D = require('kld-affine').Point2D;\n\n\n/**\n getArcParameters\n\n @param {Point2D} startPoint\n @param {Point2D} endPoint\n @param {Number} rx\n @param {Number} ry\n @param {Number} angle - in degrees\n @param {Boolean} arcFlag\n @param {Boolean} sweepFlag\n @returns {{ center: Point2D, rx: Number, ry: Number, theta1: Number, deltaTheta: Number }}\n*/\nfunction getArcParameters(startPoint, endPoint, rx, ry, angle, arcFlag, sweepFlag) {\n function radian(ux, uy, vx, vy) {\n var dot = ux * vx + uy * vy;\n var mod = Math.sqrt((ux * ux + uy * uy) * (vx * vx + vy * vy));\n var rad = Math.acos(dot / mod);\n if (ux * vy - uy * vx < 0.0) rad = -rad;\n return rad;\n }\n angle = angle * Math.PI / 180;\n var c = Math.cos(angle);\n var s = Math.sin(angle);\n var TOLERANCE = 1e-6;\n var halfDiff = startPoint.subtract(endPoint).divide(2);\n var x1p = halfDiff.x * c + halfDiff.y * s;\n var y1p = halfDiff.x * -s + halfDiff.y * c;\n var x1px1p = x1p * x1p;\n var y1py1p = y1p * y1p;\n var lambda = (x1px1p / (rx * rx)) + (y1py1p / (ry * ry));\n var factor;\n if (lambda > 1) {\n factor = Math.sqrt(lambda);\n rx *= factor;\n ry *= factor;\n }\n var rxrx = rx * rx;\n var ryry = ry * ry;\n var rxy1 = rxrx * y1py1p;\n var ryx1 = ryry * x1px1p;\n factor = (rxrx * ryry - rxy1 - ryx1) / (rxy1 + ryx1);\n if (Math.abs(factor) < TOLERANCE) factor = 0;\n var sq = Math.sqrt(factor);\n if (arcFlag == sweepFlag) sq = -sq;\n var mid = startPoint.add(endPoint).divide(2);\n var cxp = sq * rx * y1p / ry;\n var cyp = sq * -ry * x1p / rx;\n //return new Point2D(cxp * c - cyp * s + mid.x, cxp * s + cyp * c + mid.y);\n\n var xcr1 = (x1p - cxp) / rx;\n var xcr2 = (x1p + cxp) / rx;\n var ycr1 = (y1p - cyp) / ry;\n var ycr2 = (y1p + cyp) / ry;\n\n var theta1 = radian(1.0, 0.0, xcr1, ycr1);\n\n var deltaTheta = radian(xcr1, ycr1, -xcr2, -ycr2);\n var PIx2 = Math.PI * 2.0;\n while (deltaTheta > PIx2) deltaTheta -= PIx2;\n while (deltaTheta < 0.0) deltaTheta += PIx2;\n if (sweepFlag == false) deltaTheta -= PIx2;\n\n return {\n center: new Point2D(cxp * c - cyp * s + mid.x, cxp * s + cyp * c + mid.y),\n rx: rx,\n ry: ry,\n theta1: theta1,\n deltaTheta: deltaTheta\n };\n}\n\n\n/**\n * IntersectionParams\n *\n * @param {String} name\n * @param {Array<Point2D} params\n * @returns {IntersectionParams}\n */\nfunction IntersectionParams(name, params) {\n this.init(name, params);\n}\n\n/**\n * init\n *\n * @param {String} type\n * @param {Array<Point2D>} params\n */\nIntersectionParams.prototype.init = function (type, params) {\n this.type = type;\n this.params = params;\n this.meta = {};\n};\n\nIntersectionParams.TYPE = {};\nvar IPTYPE = IntersectionParams.TYPE;\nIPTYPE.LINE = 'Line';\nIPTYPE.RECT = 'Rectangle';\nIPTYPE.ROUNDRECT = 'RoundRectangle';\nIPTYPE.CIRCLE = 'Circle';\nIPTYPE.ELLIPSE = 'Ellipse';\nIPTYPE.POLYGON = 'Polygon';\nIPTYPE.POLYLINE = 'Polyline';\nIPTYPE.PATH = 'Path';\nIPTYPE.ARC = 'Arc';\nIPTYPE.BEZIER2 = 'Bezier2';\nIPTYPE.BEZIER3 = 'Bezier3';\n\n\nfunction parsePointsString(points) {\n return points.split(\" \").map(function(point) {\n point = point.split(\",\");\n return new Point2D(+point[0], +point[1]);\n });\n}\n\nIntersectionParams.newShape = function(svgElementName, props) {\n svgElementName = svgElementName.toLowerCase();\n\n if(svgElementName === \"line\") {\n return IntersectionParams.newLine(\n new Point2D(+props.x1, +props.y1),\n new Point2D(+props.x2, +props.y2)\n );\n }\n\n if(svgElementName === \"rect\") {\n if(+props.rx > 0 || +props.ry > 0) {\n return IntersectionParams.newRoundRect(\n +props.x, +props.y,\n +props.width, +props.height,\n +props.rx, +props.ry\n );\n } else {\n return IntersectionParams.newRect(\n +props.x, +props.y,\n +props.width, +props.height\n );\n }\n }\n\n if(svgElementName === \"circle\") {\n return IntersectionParams.newCircle(\n new Point2D(+props.cx, +props.cy),\n +props.r\n );\n }\n\n if(svgElementName === \"ellipse\") {\n return IntersectionParams.newEllipse(\n new Point2D(+props.cx, +props.cy),\n +props.rx, +props.ry\n );\n }\n\n if(svgElementName === \"polygon\") {\n return IntersectionParams.newPolygon(\n parsePointsString(props.points)\n );\n }\n\n if(svgElementName === \"polyline\") {\n return IntersectionParams.newPolyline(\n parsePointsString(props.points)\n );\n }\n\n if(svgElementName === \"path\") {\n return IntersectionParams.newPath(\n props.d\n );\n }\n\n}\n\n\n///////////////////////////////////////////////////////////////////\n/**\n Creates IntersectionParams for arc.\n\n @param {Point2D} startPoint - arc start point\n @param {Point2D} endPoint - arc end point\n @param {Number} rx - arc ellipse x radius\n @param {Number} ry - arc ellipse y radius\n @param {Number} angle - arc ellipse rotation in degrees\n @param {Boolean} largeArcFlag\n @param {Boolean} sweepFlag\n @returns {IntersectionParams}\n*/\nIntersectionParams.newArc = function (startPoint, endPoint, rx, ry, angle, largeArcFlag, sweepFlag) {\n var p = getArcParameters(startPoint, endPoint, rx, ry, angle, largeArcFlag, sweepFlag);\n return new IntersectionParams(IPTYPE.ARC, [p.center, p.rx, p.ry, (angle * Math.PI / 180), p.theta1, p.deltaTheta]);\n};\n\n///////////////////////////////////////////////////////////////////\n/**\n Creates IntersectionParams for bezier2.\n\n @param {Point2D} p1\n @param {Point2D} p2\n @param {Point2D} p3\n @returns {IntersectionParams}\n*/\nIntersectionParams.newBezier2 = function (p1, p2, p3) {\n return new IntersectionParams(IPTYPE.BEZIER2, [p1, p2, p3]);\n};\n\n///////////////////////////////////////////////////////////////////\n/**\n Creates IntersectionParams for bezier3.\n\n @param {Point2D} p1\n @param {Point2D} p2\n @param {Point2D} p3\n @param {Point2D} p4\n @returns {IntersectionParams}\n*/\nIntersectionParams.newBezier3 = function (p1, p2, p3, p4) {\n return new IntersectionParams(IPTYPE.BEZIER3, [p1, p2, p3, p4]);\n};\n\n///////////////////////////////////////////////////////////////////\n/**\n Creates IntersectionParams for circle.\n\n @param {Point2D} c\n @param {Number} r\n @returns {IntersectionParams}\n*/\nIntersectionParams.newCircle = function (c, r) {\n return new IntersectionParams(IPTYPE.CIRCLE, [c, r]);\n};\n\n///////////////////////////////////////////////////////////////////\n/**\n Creates IntersectionParams for ellipse.\n\n @param {Point2D} c\n @param {Number} rx\n @param {Number} ry\n @returns {IntersectionParams}\n*/\nIntersectionParams.newEllipse = function (c, rx, ry) {\n return new IntersectionParams(IPTYPE.ELLIPSE, [c, rx, ry]);\n};\n\n///////////////////////////////////////////////////////////////////\n/**\n Creates IntersectionParams for line.\n\n @param {Point2D} a1\n @param {Point2D} a2\n @returns {IntersectionParams}\n*/\nIntersectionParams.newLine = function (a1, a2) {\n return new IntersectionParams(IPTYPE.LINE, [a1, a2]);\n};\n\n///////////////////////////////////////////////////////////////////\n/**\n Creates IntersectionParams for polygon.\n\n @param {Array<Point2D>} points\n @returns {IntersectionParams}\n*/\nIntersectionParams.newPolygon = function (points) {\n return new IntersectionParams(IPTYPE.POLYGON, [points]);\n};\n\n///////////////////////////////////////////////////////////////////\n/**\n Creates IntersectionParams for polyline.\n\n @param {Array<Point2D>} points\n @returns {IntersectionParams}\n*/\nIntersectionParams.newPolyline = function (points) {\n return new IntersectionParams(IPTYPE.POLYLINE, [points]);\n};\n\n\n///////////////////////////////////////////////////////////////////\n/**\n Creates IntersectionParams for rectangle.\n\n @param {Number} x\n @param {Number} y\n @param {Number} width\n @param {Number} height\n @returns {IntersectionParams}\n*/\nIntersectionParams.newRect = function (x, y, width, height) {\n var points = [];\n points.push(new Point2D(x, y));\n points.push(new Point2D(x + width, y));\n points.push(new Point2D(x + width, y + height));\n points.push(new Point2D(x, y + height));\n return new IntersectionParams(IPTYPE.RECT, [points]);\n};\n\nvar degreesToRadians = function (angle) {\n return angle * Math.PI / 180;\n};\n///////////////////////////////////////////////////////////////////\n/**\n Creates IntersectionParams for round rectangle, or for rectangle if rx and ry are 0.\n\n @param {Number} x\n @param {Number} y\n @param {Number} width\n @param {Number} height\n @param {Number} rx\n @param {Number} ry\n @returns {IntersectionParams}\n*/\nIntersectionParams.newRoundRect = function (x, y, width, height, rx, ry) {\n if (rx === 0 && ry === 0)\n return IntersectionParams.newRect(x, y, width, height);\n if (rx === 0)\n rx = ry;\n if (ry === 0)\n ry = rx;\n if (rx > width / 2)\n rx = width / 2;\n if (ry > height / 2)\n rx = height / 2;\n var shape = [];\n var x0 = x, x1 = x + rx, x2 = x + width - rx, x3 = x + width;\n var y0 = y, y1 = y + ry, y2 = y + height - ry, y3 = y + height;\n shape.push(new IntersectionParams(IPTYPE.ARC, [new Point2D(x1, y1), rx, ry, 0, degreesToRadians(180), degreesToRadians(90)]));\n shape.push(new IntersectionParams(IPTYPE.LINE, [new Point2D(x1, y0), new Point2D(x2, y0)]));\n shape.push(new IntersectionParams(IPTYPE.ARC, [new Point2D(x2, y1), rx, ry, 0, degreesToRadians(-90), degreesToRadians(90)]));\n shape.push(new IntersectionParams(IPTYPE.LINE, [new Point2D(x3, y1), new Point2D(x3, y2)]));\n shape.push(new IntersectionParams(IPTYPE.ARC, [new Point2D(x2, y2), rx, ry, 0, degreesToRadians(0), degreesToRadians(90)]));\n shape.push(new IntersectionParams(IPTYPE.LINE, [new Point2D(x2, y3), new Point2D(x1, y3)]));\n shape.push(new IntersectionParams(IPTYPE.ARC, [new Point2D(x1, y2), rx, ry, 0, degreesToRadians(90), degreesToRadians(90)]));\n shape.push(new IntersectionParams(IPTYPE.LINE, [new Point2D(x0, y2), new Point2D(x0, y1)]));\n shape[shape.length - 1].meta.closePath = true;\n return new IntersectionParams(IPTYPE.ROUNDRECT, [shape]);\n};\n\n\n\n\nfunction Token(type, text) {\n if (arguments.length > 0) {\n this.init(type, text);\n }\n}\nToken.prototype.init = function(type, text) {\n this.type = type;\n this.text = text;\n};\nToken.prototype.typeis = function(type) {\n return this.type == type;\n}\nvar Path = {};\nPath.COMMAND = 0;\nPath.NUMBER = 1;\nPath.EOD = 2;\nPath.PARAMS = {\n A: [\"rx\", \"ry\", \"x-axis-rotation\", \"large-arc-flag\", \"sweep-flag\", \"x\", \"y\"],\n a: [\"rx\", \"ry\", \"x-axis-rotation\", \"large-arc-flag\", \"sweep-flag\", \"x\", \"y\"],\n C: [\"x1\", \"y1\", \"x2\", \"y2\", \"x\", \"y\"],\n c: [\"x1\", \"y1\", \"x2\", \"y2\", \"x\", \"y\"],\n H: [\"x\"],\n h: [\"x\"],\n L: [\"x\", \"y\"],\n l: [\"x\", \"y\"],\n M: [\"x\", \"y\"],\n m: [\"x\", \"y\"],\n Q: [\"x1\", \"y1\", \"x\", \"y\"],\n q: [\"x1\", \"y1\", \"x\", \"y\"],\n S: [\"x2\", \"y2\", \"x\", \"y\"],\n s: [\"x2\", \"y2\", \"x\", \"y\"],\n T: [\"x\", \"y\"],\n t: [\"x\", \"y\"],\n V: [\"y\"],\n v: [\"y\"],\n Z: [],\n z: []\n};\n\nfunction tokenize(d) {\n var tokens = new Array();\n while (d != \"\") {\n if (d.match(/^([ \\t\\r\\n,]+)/)) {\n d = d.substr(RegExp.$1.length);\n } else if (d.match(/^([aAcChHlLmMqQsStTvVzZ])/)) {\n tokens[tokens.length] = new Token(Path.COMMAND, RegExp.$1);\n d = d.substr(RegExp.$1.length);\n } else if (d.match(/^(([-+]?[0-9]+(\\.[0-9]*)?|[-+]?\\.[0-9]+)([eE][-+]?[0-9]+)?)/)) {\n tokens[tokens.length] = new Token(Path.NUMBER, parseFloat(RegExp.$1));\n d = d.substr(RegExp.$1.length);\n } else {\n throw new Error(\"Unrecognized segment command: \" + d);\n }\n }\n tokens[tokens.length] = new Token(Path.EOD, null);\n return tokens;\n}\n\nIntersectionParams.newPath = function(d) {\n var tokens = tokenize(d);\n var index = 0;\n var token = tokens[index];\n var mode = \"BOD\";\n var segments = [];\n\n while (!token.typeis(Path.EOD)) {\n var param_length;\n var params = new Array();\n if (mode == \"BOD\") {\n if (token.text == \"M\" || token.text == \"m\") {\n index++;\n param_length = Path.PARAMS[token.text].length;\n mode = token.text;\n } else {\n throw new Error(\"Path data must begin with a moveto command\");\n }\n } else {\n if (token.typeis(Path.NUMBER)) {\n param_length = Path.PARAMS[mode].length;\n } else {\n index++;\n param_length = Path.PARAMS[token.text].length;\n mode = token.text;\n }\n }\n if ((index + param_length) < tokens.length) {\n for (var i = index; i < index + param_length; i++) {\n var number = tokens[i];\n if (number.typeis(Path.NUMBER)) params[params.length] = number.text;\n else throw new Error(\"Parameter type is not a number: \" + mode + \",\" + number.text);\n }\n var segment;\n var length = segments.length;\n var previous = (length == 0) ? null : segments[length - 1];\n switch (mode) {\n case \"A\":\n segment = new AbsoluteArcPath(params, previous);\n break;\n case \"C\":\n segment = new AbsoluteCurveto3(params, previous);\n break;\n case \"c\":\n segment = new RelativeCurveto3(params, previous);\n break;\n case \"H\":\n segment = new AbsoluteHLineto(params, previous);\n break;\n case \"V\":\n segment = new AbsoluteVLineto(params, previous);\n break;\n case \"L\":\n segment = new AbsoluteLineto(params, previous);\n break;\n case \"l\":\n segment = new RelativeLineto(params, previous);\n break;\n case \"M\":\n segment = new AbsoluteMoveto(params, previous);\n break;\n case \"m\":\n segment = new RelativeMoveto(params, previous);\n break;\n case \"Q\":\n segment = new AbsoluteCurveto2(params, previous);\n break;\n case \"q\":\n segment = new RelativeCurveto2(params, previous);\n break;\n case \"S\":\n segment = new AbsoluteSmoothCurveto3(params, previous);\n break;\n case \"s\":\n segment = new RelativeSmoothCurveto3(params, previous);\n break;\n case \"T\":\n segment = new AbsoluteSmoothCurveto2(params, previous);\n break;\n case \"t\":\n segment = new RelativeSmoothCurveto2(params, previous);\n break;\n case \"Z\":\n segment = new RelativeClosePath(params, previous);\n break;\n case \"z\":\n segment = new RelativeClosePath(params, previous);\n break;\n default:\n throw new Error(\"Unsupported segment type: \" + mode);\n }\n segments.push(segment);\n index += param_length;\n token = tokens[index];\n if (mode == \"M\") mode = \"L\";\n if (mode == \"m\") mode = \"l\";\n } else {\n throw new Error(\"Path data ended before all parameters were found\");\n }\n }\n\n var segmentParams = [];\n for(i=0; i<segments.length; i++) {\n var ip = segments[i].getIntersectionParams();\n if(ip) {\n segmentParams.push(ip);\n }\n }\n\n return new IntersectionParams(IPTYPE.PATH, [segmentParams]);\n}\n\n\nfunction AbsolutePathSegment(command, params, previous) {\n if (arguments.length > 0) this.init(command, params, previous);\n}\nAbsolutePathSegment.prototype.init = function(command, params, previous) {\n this.command = command;\n this.previous = previous;\n this.points = [];\n var index = 0;\n while (index < params.length) {\n this.points.push(new Point2D(params[index], params[index + 1]));\n index += 2;\n }\n};\nAbsolutePathSegment.prototype.getLastPoint = function() {\n return this.points[this.points.length - 1];\n};\nAbsolutePathSegment.prototype.getIntersectionParams = function() {\n return null;\n};\n\n\n\nfunction AbsoluteArcPath(params, previous) {\n if (arguments.length > 0) {\n this.init(\"A\", params, previous);\n }\n}\nAbsoluteArcPath.prototype = new AbsolutePathSegment();\nAbsoluteArcPath.prototype.constructor = AbsoluteCurveto2;\nAbsoluteArcPath.superclass = AbsolutePathSegment.prototype;\n\nAbsoluteArcPath.prototype.init = function(command, params, previous) {\n var point = new Array();\n var y = params.pop();\n var x = params.pop();\n point.push(x, y);\n AbsoluteArcPath.superclass.init.call(this, command, point, previous);\n this.rx = parseFloat(params.shift());\n this.ry = parseFloat(params.shift());\n this.angle = parseFloat(params.shift());\n this.arcFlag = parseFloat(params.shift());\n this.sweepFlag = parseFloat(params.shift());\n};\nAbsoluteArcPath.prototype.getIntersectionParams = function() {\n return IntersectionParams.newArc(this.previous.getLastPoint(),\n this.points[0],\n this.rx,\n this.ry,\n this.angle,\n this.arcFlag,\n this.sweepFlag);\n};\n\n\nfunction AbsoluteCurveto2(params, previous) {\n if (arguments.length > 0) {\n this.init(\"Q\", params, previous);\n }\n}\nAbsoluteCurveto2.prototype = new AbsolutePathSegment();\nAbsoluteCurveto2.prototype.constructor = AbsoluteCurveto2;\nAbsoluteCurveto2.superclass = AbsolutePathSegment.prototype;\n\nAbsoluteCurveto2.prototype.getIntersectionParams = function() {\n return IntersectionParams.newBezier2(this.previous.getLastPoint(), this.points[0], this.points[1]);\n};\n\n\n\nfunction AbsoluteCurveto3(params, previous) {\n if (arguments.length > 0) {\n this.init(\"C\", params, previous);\n }\n}\nAbsoluteCurveto3.prototype = new AbsolutePathSegment();\nAbsoluteCurveto3.prototype.constructor = AbsoluteCurveto3;\nAbsoluteCurveto3.superclass = AbsolutePathSegment.prototype;\n\nAbsoluteCurveto3.prototype.getLastControlPoint = function() {\n return this.points[1];\n};\nAbsoluteCurveto3.prototype.getIntersectionParams = function() {\n return IntersectionParams.newBezier3(this.previous.getLastPoint(), this.points[0], this.points[1], this.points[2]);\n};\n\n\nfunction AbsoluteHLineto(params, previous) {\n if (arguments.length > 0) {\n this.init(\"H\", params, previous);\n }\n}\nAbsoluteHLineto.prototype = new AbsolutePathSegment();\nAbsoluteHLineto.prototype.constructor = AbsoluteHLineto;\nAbsoluteHLineto.superclass = AbsolutePathSegment.prototype;\n\nAbsoluteHLineto.prototype.init = function(command, params, previous) {\n var prevPoint = previous.getLastPoint();\n var point = new Array();\n point.push(params.pop(), prevPoint.y);\n AbsoluteHLineto.superclass.init.call(this, command, point, previous);\n};\n\nfunction AbsoluteVLineto(params, previous) {\n if (arguments.length > 0) {\n this.init(\"V\", params, previous);\n }\n}\nAbsoluteVLineto.prototype = new AbsolutePathSegment();\nAbsoluteVLineto.prototype.constructor = AbsoluteVLineto;\nAbsoluteVLineto.superclass = AbsolutePathSegment.prototype;\n\nAbsoluteVLineto.prototype.init = function(command, params, previous) {\n var prevPoint = previous.getLastPoint();\n var point = new Array();\n point.push(prevPoint.x, params.pop());\n AbsoluteVLineto.superclass.init.call(this, command, point, previous);\n};\n\n\nfunction AbsoluteLineto(params, previous) {\n if (arguments.length > 0) {\n this.init(\"L\", params, previous);\n }\n}\nAbsoluteLineto.prototype = new AbsolutePathSegment();\nAbsoluteLineto.prototype.constructor = AbsoluteLineto;\nAbsoluteLineto.superclass = AbsolutePathSegment.prototype;\n\nAbsoluteLineto.prototype.getIntersectionParams = function() {\n return IntersectionParams.newLine(this.previous.getLastPoint(), this.points[0]);\n};\n\n\n\nfunction AbsoluteMoveto(params, previous) {\n if (arguments.length > 0) {\n this.init(\"M\", params, previous);\n }\n}\nAbsoluteMoveto.prototype = new AbsolutePathSegment();\nAbsoluteMoveto.prototype.constructor = AbsoluteMoveto;\nAbsoluteMoveto.superclass = AbsolutePathSegment.prototype;\n\n\nfunction AbsoluteSmoothCurveto2(params, previous) {\n if (arguments.length > 0) {\n this.init(\"T\", params, previous);\n }\n}\nAbsoluteSmoothCurveto2.prototype = new AbsolutePathSegment();\nAbsoluteSmoothCurveto2.prototype.constructor = AbsoluteSmoothCurveto2;\nAbsoluteSmoothCurveto2.superclass = AbsolutePathSegment.prototype;\n\nAbsoluteSmoothCurveto2.prototype.getControlPoint = function() {\n var lastPoint = this.previous.getLastPoint();\n var point;\n if (this.previous.command.match(/^[QqTt]$/)) {\n var ctrlPoint = this.previous.getControlPoint();\n var diff = ctrlPoint.subtract(lastPoint);\n point = lastPoint.subtract(diff);\n } else {\n point = lastPoint;\n }\n return point;\n};\nAbsoluteSmoothCurveto2.prototype.getIntersectionParams = function() {\n return IntersectionParams.newBezier2(this.previous.getLastPoint(), this.getControlPoint(), this.points[0]);\n};\n\n\nfunction AbsoluteSmoothCurveto3(params, previous) {\n if (arguments.length > 0) {\n this.init(\"S\", params, previous);\n }\n}\nAbsoluteSmoothCurveto3.prototype = new AbsolutePathSegment();\nAbsoluteSmoothCurveto3.prototype.constructor = AbsoluteSmoothCurveto3;\nAbsoluteSmoothCurveto3.superclass = AbsolutePathSegment.prototype;\n\nAbsoluteSmoothCurveto3.prototype.getFirstControlPoint = function() {\n var lastPoint = this.previous.getLastPoint();\n var point;\n if (this.previous.command.match(/^[SsCc]$/)) {\n var lastControl = this.previous.getLastControlPoint();\n var diff = lastControl.subtract(lastPoint);\n point = lastPoint.subtract(diff);\n } else {\n point = lastPoint;\n }\n return point;\n};\nAbsoluteSmoothCurveto3.prototype.getLastControlPoint = function() {\n return this.points[0];\n};\nAbsoluteSmoothCurveto3.prototype.getIntersectionParams = function() {\n return IntersectionParams.newBezier3(this.previous.getLastPoint(), this.getFirstControlPoint(), this.points[0], this.points[1]);\n};\n\n\nfunction RelativePathSegment(command, params, previous) {\n if (arguments.length > 0) this.init(command, params, previous);\n}\nRelativePathSegment.prototype = new AbsolutePathSegment();\nRelativePathSegment.prototype.constructor = RelativePathSegment;\nRelativePathSegment.superclass = AbsolutePathSegment.prototype;\n\nRelativePathSegment.prototype.init = function(command, params, previous) {\n this.command = command;\n this.previous = previous;\n this.points = [];\n var lastPoint;\n if (this.previous) lastPoint = this.previous.getLastPoint();\n else lastPoint = new Point2D(0, 0);\n var index = 0;\n while (index < params.length) {\n var point = new Point2D(lastPoint.x + params[index], lastPoint.y + params[index + 1]);\n this.points.push(point);\n index += 2;\n }\n};\n\nfunction RelativeClosePath(params, previous) {\n if (arguments.length > 0) {\n this.init(\"z\", params, previous);\n }\n}\nRelativeClosePath.prototype = new RelativePathSegment();\nRelativeClosePath.prototype.constructor = RelativeClosePath;\nRelativeClosePath.superclass = RelativePathSegment.prototype;\nRelativeClosePath.prototype.getLastPoint = function() {\n var current = this.previous;\n var point;\n while (current) {\n if (current.command.match(/^[mMzZ]$/)) {\n point = current.getLastPoint();\n break;\n }\n current = current.previous;\n }\n return point;\n};\nRelativeClosePath.prototype.getIntersectionParams = function() {\n return IntersectionParams.newLine(this.previous.getLastPoint(), this.getLastPoint());\n};\n\n\nfunction RelativeCurveto2(params, previous) {\n if (arguments.length > 0) {\n this.init(\"q\", params, previous);\n }\n}\nRelativeCurveto2.prototype = new RelativePathSegment();\nRelativeCurveto2.prototype.constructor = RelativeCurveto2;\nRelativeCurveto2.superclass = RelativePathSegment.prototype;\n\nRelativeCurveto2.prototype.getControlPoint = function() {\n return this.points[0];\n};\nRelativeCurveto2.prototype.getIntersectionParams = function() {\n return IntersectionParams.newBezier2(this.previous.getLastPoint(), this.points[0], this.points[1]);\n};\n\n\nfunction RelativeCurveto3(params, previous) {\n if (arguments.length > 0) {\n this.init(\"c\", params, previous);\n }\n}\nRelativeCurveto3.prototype = new RelativePathSegment();\nRelativeCurveto3.prototype.constructor = RelativeCurveto3;\nRelativeCurveto3.superclass = RelativePathSegment.prototype;\n\nRelativeCurveto3.prototype.getLastControlPoint = function() {\n return this.points[1];\n};\nRelativeCurveto3.prototype.getIntersectionParams = function() {\n return IntersectionParams.newBezier3(this.previous.getLastPoint(), this.points[0], this.points[1], this.points[2]);\n};\n\n\nfunction RelativeLineto(params, previous) {\n if (arguments.length > 0) {\n this.init(\"l\", params, previous);\n }\n}\nRelativeLineto.prototype = new RelativePathSegment();\nRelativeLineto.prototype.constructor = RelativeLineto;\nRelativeLineto.superclass = RelativePathSegment.prototype;\n\nRelativeLineto.prototype.toString = function() {\n var lastPoint;\n var point;\n var cmd;\n if (this.previous) lastPoint = this.previous.getLastPoint();\n else lastPoint = new Point2D(0, 0);\n point = this.points[0].subtract(lastPoint);\n if (this.previous.constructor != this.constuctor)\n if (this.previous.constructor != RelativeMoveto) cmd = this.command;\n return cmd + point.toString();\n};\nRelativeLineto.prototype.getIntersectionParams = function() {\n return IntersectionParams.newLine(this.previous.getLastPoint(), this.points[0]);\n};\n\n\n\nfunction RelativeMoveto(params, previous) {\n if (arguments.length > 0) {\n this.init(\"m\", params, previous);\n }\n}\nRelativeMoveto.prototype = new RelativePathSegment();\nRelativeMoveto.prototype.constructor = RelativeMoveto;\nRelativeMoveto.superclass = RelativePathSegment.prototype;\n\n\n\nfunction RelativeSmoothCurveto2(params, previous) {\n if (arguments.length > 0) {\n this.init(\"t\", params, previous);\n }\n}\nRelativeSmoothCurveto2.prototype = new RelativePathSegment();\nRelativeSmoothCurveto2.prototype.constructor = RelativeSmoothCurveto2;\nRelativeSmoothCurveto2.superclass = RelativePathSegment.prototype;\n\nRelativeSmoothCurveto2.prototype.getControlPoint = function() {\n var lastPoint = this.previous.getLastPoint();\n var point;\n if (this.previous.command.match(/^[QqTt]$/)) {\n var ctrlPoint = this.previous.getControlPoint();\n var diff = ctrlPoint.subtract(lastPoint);\n point = lastPoint.subtract(diff);\n } else {\n point = lastPoint;\n }\n return point;\n};\nRelativeSmoothCurveto2.prototype.getIntersectionParams = function() {\n return IntersectionParams.newBezier2(this.previous.getLastPoint(), this.getControlPoint(), this.points[0]);\n};\n\n\n\nfunction RelativeSmoothCurveto3(params, previous) {\n if (arguments.length > 0) {\n this.init(\"s\", params, previous);\n }\n}\nRelativeSmoothCurveto3.prototype = new RelativePathSegment();\nRelativeSmoothCurveto3.prototype.constructor = RelativeSmoothCurveto3;\nRelativeSmoothCurveto3.superclass = RelativePathSegment.prototype;\n\nRelativeSmoothCurveto3.prototype.getFirstControlPoint = function() {\n var lastPoint = this.previous.getLastPoint();\n var point;\n if (this.previous.command.match(/^[SsCc]$/)) {\n var lastControl = this.previous.getLastControlPoint();\n var diff = lastControl.subtract(lastPoint);\n point = lastPoint.subtract(diff);\n } else {\n point = lastPoint;\n }\n return point;\n};\nRelativeSmoothCurveto3.prototype.getLastControlPoint = function() {\n return this.points[0];\n};\nRelativeSmoothCurveto3.prototype.getIntersectionParams = function() {\n return IntersectionParams.newBezier3(this.previous.getLastPoint(), this.getFirstControlPoint(), this.points[0], this.points[1]);\n};\n\n\nmodule.exports = IntersectionParams;\n","/**\n * Intersection\n */\nfunction Intersection(status) {\n this.init(status);\n}\n\n/**\n * init\n *\n * @param {String} status\n * @returns {Intersection}\n */\nIntersection.prototype.init = function(status) {\n this.status = status;\n this.points = [];\n};\n\n/**\n * appendPoint\n *\n * @param {Point2D} point\n */\nIntersection.prototype.appendPoint = function(point) {\n this.points.push(point);\n};\n\n/**\n * appendPoints\n *\n * @param {Array<Point2D>} points\n */\nIntersection.prototype.appendPoints = function(points) {\n this.points = this.points.concat(points);\n};\n\nmodule.exports = Intersection;\n","var Intersection = require('../Intersection');\n\nvar affine = require('kld-affine');\nvar Point2D = affine.Point2D;\nvar Vector2D = affine.Vector2D;\n\nvar Polynomial = require('kld-polynomial').Polynomial;\n\nfunction removeMultipleRootsIn01(roots) {\n var ZEROepsilon = 1e-15;\n roots.sort(function (a, b) { return a - b; });\n for (var i = 1; i < roots.length;) {\n if (Math.abs(roots[i] - roots[i - 1]) < ZEROepsilon) {\n roots.splice(i, 1);\n }\n else {\n i++;\n }\n }\n}\n\nmodule.exports = {};\n\n/**\n * intersectBezier2Bezier2\n *\n * @param {Point2D} a1\n * @param {Point2D} a2\n * @param {Point2D} a3\n * @param {Point2D} b1\n * @param {Point2D} b2\n * @param {Point2D} b3\n * @returns {Intersection}\n */\nmodule.exports.intersectBezier2Bezier2 = function(a1, a2, a3, b1, b2, b3) {\n var a, b;\n var c12, c11, c10;\n var c22, c21, c20;\n var result = new Intersection();\n var poly;\n\n a = a2.multiply(-2);\n c12 = a1.add(a.add(a3));\n\n a = a1.multiply(-2);\n b = a2.multiply(2);\n c11 = a.add(b);\n\n c10 = new Point2D(a1.x, a1.y);\n\n a = b2.multiply(-2);\n c22 = b1.add(a.add(b3));\n\n a = b1.multiply(-2);\n b = b2.multiply(2);\n c21 = a.add(b);\n\n c20 = new Point2D(b1.x, b1.y);\n\n var v0, v1, v2, v3, v4, v5, v6;\n if ( c12.y === 0 ) {\n v0 = c12.x*(c10.y - c20.y);\n v1 = v0 - c11.x*c11.y;\n v2 = v0 + v1;\n v3 = c11.y*c11.y;\n\n poly = new Polynomial(\n c12.x*c22.y*c22.y,\n 2*c12.x*c21.y*c22.y,\n c12.x*c21.y*c21.y - c22.x*v3 - c22.y*v0 - c22.y*v1,\n -c21.x*v3 - c21.y*v0 - c21.y*v1,\n (c10.x - c20.x)*v3 + (c10.y - c20.y)*v1\n );\n } else {\n v0 = c12.x*c22.y - c12.y*c22.x;\n v1 = c12.x*c21.y - c21.x*c12.y;\n v2 = c11.x*c12.y - c11.y*c12.x;\n v3 = c10.y - c20.y;\n v4 = c12.y*(c10.x - c20.x) - c12.x*v3;\n v5 = -c11.y*v2 + c12.y*v4;\n v6 = v2*v2;\n\n poly = new Polynomial(\n v0*v0,\n 2*v0*v1,\n (-c22.y*v6 + c12.y*v1*v1 + c12.y*v0*v4 + v0*v5) / c12.y,\n (-c21.y*v6 + c12.y*v1*v4 + v1*v5) / c12.y,\n (v3*v6 + v4*v5) / c12.y\n );\n }\n\n var roots = poly.getRoots();\n for ( var i = 0; i < roots.length; i++ ) {\n var s = roots[i];\n\n if ( 0 <= s && s <= 1 ) {\n var xRoots = new Polynomial(\n c12.x,\n c11.x,\n c10.x - c20.x - s*c21.x - s*s*c22.x\n ).getRoots();\n var yRoots = new Polynomial(\n c12.y,\n c11.y,\n c10.y - c20.y - s*c21.y - s*s*c22.y\n ).getRoots();\n\n if ( xRoots.length > 0 && yRoots.length > 0 ) {\n var TOLERANCE = 1e-4;\n\n checkRoots:\n for ( var j = 0; j < xRoots.length; j++ ) {\n var xRoot = xRoots[j];\n\n if ( 0 <= xRoot && xRoot <= 1 ) {\n for ( var k = 0; k < yRoots.length; k++ ) {\n if ( Math.abs( xRoot - yRoots[k] ) < TOLERANCE ) {\n result.points.push( c22.multiply(s*s).add(c21.multiply(s).add(c20)) );\n break checkRoots;\n }\n }\n }\n }\n }\n }\n }\n\n return result;\n};\n\n\n/**\n * intersectBezier2Bezier3\n *\n * @param {Point2D} a1\n * @param {Point2D} a2\n * @param {Point2D} a3\n * @param {Point2D} b1\n * @param {Point2D} b2\n * @param {Point2D} b3\n * @param {Point2D} b4\n * @returns {Intersection}\n */\nmodule.exports.intersectBezier2Bezier3 = function(a1, a2, a3, b1, b2, b3, b4) {\n var a, b,c, d;\n var c12, c11, c10;\n var c23, c22, c21, c20;\n var result = new Intersection();\n\n a = a2.multiply(-2);\n c12 = a1.add(a.add(a3));\n\n a = a1.multiply(-2);\n b = a2.multiply(2);\n c11 = a.add(b);\n\n c10 = new Point2D(a1.x, a1.y);\n\n a = b1.multiply(-1);\n b = b2.multiply(3);\n c = b3.multiply(-3);\n d = a.add(b.add(c.add(b4)));\n c23 = new Vector2D(d.x, d.y);\n\n a = b1.multiply(3);\n b = b2.multiply(-6);\n c = b3.multiply(3);\n d = a.add(b.add(c));\n c22 = new Vector2D(d.x, d.y);\n\n a = b1.multiply(-3);\n b = b2.multiply(3);\n c = a.add(b);\n c21 = new Vector2D(c.x, c.y);\n\n c20 = new Vector2D(b1.x, b1.y);\n\n var c10x2 = c10.x*c10.x;\n var c10y2 = c10.y*c10.y;\n var c11x2 = c11.x*c11.x;\n var c11y2 = c11.y*c11.y;\n var c12x2 = c12.x*c12.x;\n var c12y2 = c12.y*c12.y;\n var c20x2 = c20.x*c20.x;\n var c20y2 = c20.y*c20.y;\n var c21x2 = c21.x*c21.x;\n var c21y2 = c21.y*c21.y;\n var c22x2 = c22.x*c22.x;\n var c22y2 = c22.y*c22.y;\n var c23x2 = c23.x*c23.x;\n var c23y2 = c23.y*c23.y;\n\n var poly = new Polynomial(\n -2*c12.x*c12.y*c23.x*c23.y + c12x2*c23y2 + c12y2*c23x2,\n -2*c12.x*c12.y*c22.x*c23.y - 2*c12.x*c12.y*c22.y*c23.x + 2*c12y2*c22.x*c23.x +\n 2*c12x2*c22.y*c23.y,\n -2*c12.x*c21.x*c12.y*c23.y - 2*c12.x*c12.y*c21.y*c23.x - 2*c12.x*c12.y*c22.x*c22.y +\n 2*c21.x*c12y2*c23.x + c12y2*c22x2 + c12x2*(2*c21.y*c23.y + c22y2),\n 2*c10.x*c12.x*c12.y*c23.y + 2*c10.y*c12.x*c12.y*c23.x + c11.x*c11.y*c12.x*c23.y +\n c11.x*c11.y*c12.y*c23.x - 2*c20.x*c12.x*c12.y*c23.y - 2*c12.x*c20.y*c12.y*c23.x -\n 2*c12.x*c21.x*c12.y*c22.y - 2*c12.x*c12.y*c21.y*c22.x - 2*c10.x*c12y2*c23.x -\n 2*c10.y*c12x2*c23.y + 2*c20.x*c12y2*c23.x + 2*c21.x*c12y2*c22.x -\n c11y2*c12.x*c23.x - c11x2*c12.y*c23.y + c12x2*(2*c20.y*c23.y + 2*c21.y*c22.y),\n 2*c10.x*c12.x*c12.y*c22.y + 2*c10.y*c12.x*c12.y*c22.x + c11.x*c11.y*c12.x*c22.y +\n c11.x*c11.y*c12.y*c22.x - 2*c20.x*c12.x*c12.y*c22.y - 2*c12.x*c20.y*c12.y*c22.x -\n 2*c12.x*c21.x*c12.y*c21.y - 2*c10.x*c12y2*c22.x - 2*c10.y*c12x2*c22.y +\n 2*c20.x*c12y2*c22.x - c11y2*c12.x*c22.x - c11x2*c12.y*c22.y + c21x2*c12y2 +\n c12x2*(2*c20.y*c22.y + c21y2),\n 2*c10.x*c12.x*c12.y*c21.y + 2*c10.y*c12.x*c21.x*c12.y + c11.x*c11.y*c12.x*c21.y +\n c11.x*c11.y*c21.x*c12.y - 2*c20.x*c12.x*c12.y*c21.y - 2*c12.x*c20.y*c21.x*c12.y -\n 2*c10.x*c21.x*c12y2 - 2*c10.y*c12x2*c21.y + 2*c20.x*c21.x*c12y2 -\n c11y2*c12.x*c21.x - c11x2*c12.y*c21.y + 2*c12x2*c20.y*c21.y,\n -2*c10.x*c10.y*c12.x*c12.y - c10.x*c11.x*c11.y*c12.y - c10.y*c11.x*c11.y*c12.x +\n 2*c10.x*c12.x*c20.y*c12.y + 2*c10.y*c20.x*c12.x*c12.y + c11.x*c20.x*c11.y*c12.y +\n c11.x*c11.y*c12.x*c20.y - 2*c20.x*c12.x*c20.y*c12.y - 2*c10.x*c20.x*c12y2 +\n c10.x*c11y2*c12.x + c10.y*c11x2*c12.y - 2*c10.y*c12x2*c20.y -\n c20.x*c11y2*c12.x - c11x2*c20.y*c12.y + c10x2*c12y2 + c10y2*c12x2 +\n c20x2*c12y2 + c12x2*c20y2\n );\n var roots = poly.getRootsInInterval(0,1);\n removeMultipleRootsIn01(roots);\n\n for ( var i = 0; i < roots.length; i++ ) {\n var s = roots[i];\n var xRoots = new Polynomial(\n c12.x,\n c11.x,\n c10.x - c20.x - s*c21.x - s*s*c22.x - s*s*s*c23.x\n ).getRoots();\n var yRoots = new Polynomial(\n c12.y,\n c11.y,\n c10.y - c20.y - s*c21.y - s*s*c22.y - s*s*s*c23.y\n ).getRoots();\n\n if ( xRoots.length > 0 && yRoots.length > 0 ) {\n var TOLERANCE = 1e-4;\n\n checkRoots:\n for ( var j = 0; j < xRoots.length; j++ ) {\n var xRoot = xRoots[j];\n\n if ( 0 <= xRoot && xRoot <= 1 ) {\n for ( var k = 0; k < yRoots.length; k++ ) {\n if ( Math.abs( xRoot - yRoots[k] ) < TOLERANCE ) {\n var v = c23.multiply(s * s * s).add(c22.multiply(s * s).add(c21.multiply(s).add(c20)));\n result.points.push(new Point2D(v.x, v.y));\n break checkRoots;\n }\n }\n }\n }\n }\n }\n\n return result;\n\n};\n\n/**\n * intersectBezier2Ellipse\n *\n * @param {Point2D} p1\n * @param {Point2D} p2\n * @param {Point2D} p3\n * @param {Point2D} ec\n * @param {Number} rx\n * @param {Number} ry\n * @returns {Intersection}\n */\nmodule.exports.intersectBezier2Ellipse = function(p1, p2, p3, ec, rx, ry) {\n var a, b; // temporary variables\n var c2, c1, c0; // coefficients of quadratic\n var result = new Intersection();\n\n a = p2.multiply(-2);\n c2 = p1.add(a.add(p3));\n\n a = p1.multiply(-2);\n b = p2.multiply(2);\n c1 = a.add(b);\n\n c0 = new Point2D(p1.x, p1.y);\n\n var rxrx = rx*rx;\n var ryry = ry*ry;\n var roots = new Polynomial(\n ryry*c2.x*c2.x + rxrx*c2.y*c2.y,\n 2*(ryry*c2.x*c1.x + rxrx*c2.y*c1.y),\n ryry*(2*c2.x*c0.x + c1.x*c1.x) + rxrx*(2*c2.y*c0.y+c1.y*c1.y) -\n 2*(ryry*ec.x*c2.x + rxrx*ec.y*c2.y),\n 2*(ryry*c1.x*(c0.x-ec.x) + rxrx*c1.y*(c0.y-ec.y)),\n ryry*(c0.x*c0.x+ec.x*ec.x) + rxrx*(c0.y*c0.y + ec.y*ec.y) -\n 2*(ryry*ec.x*c0.x + rxrx*ec.y*c0.y) - rxrx*ryry\n ).getRoots();\n\n for ( var i = 0; i < roots.length; i++ ) {\n var t = roots[i];\n\n if ( 0 <= t && t <= 1 )\n result.points.push( c2.multiply(t*t).add(c1.multiply(t).add(c0)) );\n }\n\n return result;\n};\n\n\n/**\n * intersectBezier2Line\n *\n * @param {Point2D} p1\n * @param {Point2D} p2\n * @param {Point2D} p3\n * @param {Point2D} a1\n * @param {Point2D} a2\n * @returns {Intersection}\n */\nmodule.exports.intersectBezier2Line = function(p1, p2, p3, a1, a2) {\n var a, b; // temporary variables\n var c2, c1, c0; // coefficients of quadratic\n var cl; // c coefficient for normal form of line\n var n; // normal for normal form of line\n var min = a1.min(a2); // used to determine if point is on line segment\n var max = a1.max(a2); // used to determine if point is on line segment\n var result = new Intersection();\n\n a = p2.multiply(-2);\n c2 = p1.add(a.add(p3));\n\n a = p1.multiply(-2);\n b = p2.multiply(2);\n c1 = a.add(b);\n\n c0 = new Point2D(p1.x, p1.y);\n\n // Convert line to normal form: ax + by + c = 0\n // Find normal to line: negative inverse of original line's slope\n n = new Vector2D(a1.y - a2.y, a2.x - a1.x);\n\n // Determine new c coefficient\n cl = a1.x*a2.y - a2.x*a1.y;\n\n // Transform cubic coefficients to line's coordinate system and find roots\n // of cubic\n var roots = new Polynomial(\n n.dot(c2),\n n.dot(c1),\n n.dot(c0) + cl\n ).getRoots();\n\n // Any roots in closed interval [0,1] are intersections on Bezier, but\n // might not be on the line segment.\n // Find intersections and calculate point coordinates\n for ( var i = 0; i < roots.length; i++ ) {\n var t = roots[i];\n\n if ( 0 <= t && t <= 1 ) {\n // We're within the Bezier curve\n // Find point on Bezier\n var p4 = p1.lerp(p2, t);\n var p5 = p2.lerp(p3, t);\n\n var p6 = p4.lerp(p5, t);\n\n // See if point is on line segment\n // Had to make special cases for vertical and horizontal lines due\n // to slight errors in calculation of p6\n if ( a1.x == a2.x ) {\n if ( min.y <= p6.y && p6.y <= max.y ) {\n result.appendPoint( p6 );\n }\n } else if ( a1.y == a2.y ) {\n if ( min.x <= p6.x && p6.x <= max.x ) {\n result.appendPoint( p6 );\n }\n } else if (min.x <= p6.x && p6.x <= max.x && min.y <= p6.y && p6.y <= max.y) {\n result.appendPoint( p6 );\n }\n }\n }\n\n return result;\n};\n\n\n/**\n * intersectBezier3Bezier3\n *\n * @param {Point2D} a1\n * @param {Point2D} a2\n * @param {Point2D} a3\n * @param {Point2D} a4\n * @param {Point2D} b1\n * @param {Point2D} b2\n * @param {Point2D} b3\n * @param {Point2D} b4\n * @returns {Intersection}\n */\nmodule.exports.intersectBezier3Bezier3 = function(a1, a2, a3, a4, b1, b2, b3, b4) {\n var a, b, c, d; // temporary variables\n var c13, c12, c11, c10; // coefficients of cubic\n var c23, c22, c21, c20; // coefficients of cubic\n var result = new Intersection();\n\n // Calculate the coefficients of cubic polynomial\n a = a1.multiply(-1);\n b = a2.multiply(3);\n c = a3.multiply(-3);\n d = a.add(b.add(c.add(a4)));\n c13 = new Vector2D(d.x, d.y);\n\n a = a1.multiply(3);\n b = a2.multiply(-6);\n c = a3.multiply(3);\n d = a.add(b.add(c));\n c12 = new Vector2D(d.x, d.y);\n\n a = a1.multiply(-3);\n b = a2.multiply(3);\n c = a.add(b);\n c11 = new Vector2D(c.x, c.y);\n\n c10 = new Vector2D(a1.x, a1.y);\n\n a = b1.multiply(-1);\n b = b2.multiply(3);\n c = b3.multiply(-3);\n d = a.add(b.add(c.add(b4)));\n c23 = new Vector2D(d.x, d.y);\n\n a = b1.multiply(3);\n b = b2.multiply(-6);\n c = b3.multiply(3);\n d = a.add(b.add(c));\n c22 = new Vector2D(d.x, d.y);\n\n a = b1.multiply(-3);\n b = b2.multiply(3);\n c = a.add(b);\n c21 = new Vector2D(c.x, c.y);\n\n c20 = new Vector2D(b1.x, b1.y);\n\n var c10x2 = c10.x*c10.x;\n var c10x3 = c10.x*c10.x*c10.x;\n var c10y2 = c10.y*c10.y;\n var c10y3 = c10.y*c10.y*c10.y;\n var c11x2 = c11.x*c11.x;\n var c11x3 = c11.x*c11.x*c11.x;\n var c11y2 = c11.y*c11.y;\n var c11y3 = c11.y*c11.y*c11.y;\n var c12x2 = c12.x*c12.x;\n var c12x3 = c12.x*c12.x*c12.x;\n var c12y2 = c12.y*c12.y;\n var c12y3 = c12.y*c12.y*c12.y;\n var c13x2 = c13.x*c13.x;\n var c13x3 = c13.x*c13.x*c13.x;\n var c13y2 = c13.y*c13.y;\n var c13y3 = c13.y*c13.y*c13.y;\n var c20x2 = c20.x*c20.x;\n var c20x3 = c20.x*c20.x*c20.x;\n var c20y2 = c20.y*c20.y;\n var c20y3 = c20.y*c20.y*c20.y;\n var c21x2 = c21.x*c21.x;\n var c21x3 = c21.x*c21.x*c21.x;\n var c21y2 = c21.y*c21.y;\n var c22x2 = c22.x*c22.x;\n var c22x3 = c22.x*c22.x*c22.x;\n var c22y2 = c22.y*c22.y;\n var c23x2 = c23.x*c23.x;\n var c23x3 = c23.x*c23.x*c23.x;\n var c23y2 = c23.y*c23.y;\n var c23y3 = c23.y*c23.y*c23.y;\n var poly = new Polynomial(\n -c13x3*c23y3 + c13y3*c23x3 - 3*c13.x*c13y2*c23x2*c23.y +\n 3*c13x2*c13.y*c23.x*c23y2,\n -6*c13.x*c22.x*c13y2*c23.x*c23.y + 6*c13x2*c13.y*c22.y*c23.x*c23.y + 3*c22.x*c13y3*c23x2 -\n 3*c13x3*c22.y*c23y2 - 3*c13.x*c13y2*c22.y*c23x2 + 3*c13x2*c22.x*c13.y*c23y2,\n -6*c21.x*c13.x*c13y2*c23.x*c23.y - 6*c13.x*c22.x*c13y2*c22.y*c23.x + 6*c13x2*c22.x*c13.y*c22.y*c23.y +\n 3*c21.x*c13y3*c23x2 + 3*c22x2*c13y3*c23.x + 3*c21.x*c13x2*c13.y*c23y2 - 3*c13.x*c21.y*c13y2*c23x2 -\n 3*c13.x*c22x2*c13y2*c23.y + c13x2*c13.y*c23.x*(6*c21.y*c23.y + 3*c22y2) + c13x3*(-c21.y*c23y2 -\n 2*c22y2*c23.y - c23.y*(2*c21.y*c23.y + c22y2)),\n c11.x*c12.y*c13.x*c13.y*c23.x*c23.y - c11.y*c12.x*c13.x*c13.y*c23.x*c23.y + 6*c21.x*c22.x*c13y3*c23.x +\n 3*c11.x*c12.x*c13.x*c13.y*c23y2 + 6*c10.x*c13.x*c13y2*c23.x*c23.y - 3*c11.x*c12.x*c13y2*c23.x*c23.y -\n 3*c11.y*c12.y*c13.x*c13.y*c23x2 - 6*c10.y*c13x2*c13.y*c23.x*c23.y - 6*c20.x*c13.x*c13y2*c23.x*c23.y +\n 3*c11.y*c12.y*c13x2*c23.x*c23.y - 2*c12.x*c12y2*c13.x*c23.x*c23.y - 6*c21.x*c13.x*c22.x*c13y2*c23.y -\n 6*c21.x*c13.x*c13y2*c22.y*c23.x - 6*c13.x*c21.y*c22.x*c13y2*c23.x + 6*c21.x*c13x2*c13.y*c22.y*c23.y +\n 2*c12x2*c12.y*c13.y*c23.x*c23.y + c22x3*c13y3 - 3*c10.x*c13y3*c23x2 + 3*c10.y*c13x3*c23y2 +\n 3*c20.x*c13y3*c23x2 + c12y3*c13.x*c23x2 - c12x3*c13.y*c23y2 - 3*c10.x*c13x2*c13.y*c23y2 +\n 3*c10.y*c13.x*c13y2*c23x2 - 2*c11.x*c12.y*c13x2*c23y2 + c11.x*c12.y*c13y2*c23x2 - c11.y*c12.x*c13x2*c23y2 +\n 2*c11.y*c12.x*c13y2*c23x2 + 3*c20.x*c13x2*c13.y*c23y2 - c12.x*c12y2*c13.y*c23x2 -\n 3*c20.y*c13.x*c13y2*c23x2 + c12x2*c12.y*c13.x*c23y2 - 3*c13.x*c22x2*c13y2*c22.y +\n c13x2*c13.y*c23.x*(6*c20.y*c23.y + 6*c21.y*c22.y) + c13x2*c22.x*c13.y*(6*c21.y*c23.y + 3*c22y2) +\n c13x3*(-2*c21.y*c22.y*c23.y - c20.y*c23y2 - c22.y*(2*c21.y*c23.y + c22y2) - c23.y*(2*c20.y*c23.y + 2*c21.y*c22.y)),\n 6*c11.x*c12.x*c13.x*c13.y*c22.y*c23.y + c11.x*c12.y*c13.x*c22.x*c13.y*c23.y + c11.x*c12.y*c13.x*c13.y*c22.y*c23.x -\n c11.y*c12.x*c13.x*c22.x*c13.y*c23.y - c11.y*c12.x*c13.x*c13.y*c22.y*c23.x - 6*c11.y*c12.y*c13.x*c22.x*c13.y*c23.x -\n 6*c10.x*c22.x*c13y3*c23.x + 6*c20.x*c22.x*c13y3*c23.x + 6*c10.y*c13x3*c22.y*c23.y + 2*c12y3*c13.x*c22.x*c23.x -\n 2*c12x3*c13.y*c22.y*c23.y + 6*c10.x*c13.x*c22.x*c13y2*c23.y + 6*c10.x*c13.x*c13y2*c22.y*c23.x +\n 6*c10.y*c13.x*c22.x*c13y2*c23.x - 3*c11.x*c12.x*c22.x*c13y2*c23.y - 3*c11.x*c12.x*c13y2*c22.y*c23.x +\n 2*c11.x*c12.y*c22.x*c13y2*c23.x + 4*c11.y*c12.x*c22.x*c13y2*c23.x - 6*c10.x*c13x2*c13.y*c22.y*c23.y -\n 6*c10.y*c13x2*c22.x*c13.y*c23.y - 6*c10.y*c13x2*c13.y*c22.y*c23.x - 4*c11.x*c12.y*c13x2*c22.y*c23.y -\n 6*c20.x*c13.x*c22.x*c13y2*c23.y - 6*c20.x*c13.x*c13y2*c22.y*c23.x - 2*c11.y*c12.x*c13x2*c22.y*c23.y +\n 3*c11.y*c12.y*c13x2*c22.x*c23.y + 3*c11.y*c12.y*c13x2*c22.y*c23.x - 2*c12.x*c12y2*c13.x*c22.x*c23.y -\n 2*c12.x*c12y2*c13.x*c22.y*c23.x - 2*c12.x*c12y2*c22.x*c13.y*c23.x - 6*c20.y*c13.x*c22.x*c13y2*c23.x -\n 6*c21.x*c13.x*c21.y*c13y2*c23.x - 6*c21.x*c13.x*c22.x*c13y2*c22.y + 6*c20.x*c13x2*c13.y*c22.y*c23.y +\n 2*c12x2*c12.y*c13.x*c22.y*c23.y + 2*c12x2*c12.y*c22.x*c13.y*c23.y + 2*c12x2*c12.y*c13.y*c22.y*c23.x +\n 3*c21.x*c22x2*c13y3 + 3*c21x2*c13y3*c23.x - 3*c13.x*c21.y*c22x2*c13y2 - 3*c21x2*c13.x*c13y2*c23.y +\n c13x2*c22.x*c13.y*(6*c20.y*c23.y + 6*c21.y*c22.y) + c13x2*c13.y*c23.x*(6*c20.y*c22.y + 3*c21y2) +\n c21.x*c13x2*c13.y*(6*c21.y*c23.y + 3*c22y2) + c13x3*(-2*c20.y*c22.y*c23.y - c23.y*(2*c20.y*c22.y + c21y2) -\n c21.y*(2*c21.y*c23.y + c22y2) - c22.y*(2*c20.y*c23.y + 2*c21.y*c22.y)),\n c11.x*c21.x*c12.y*c13.x*c13.y*c23.y + c11.x*c12.y*c13.x*c21.y*c13.y*c23.x + c11.x*c12.y*c13.x*c22.x*c13.y*c22.y -\n c11.y*c12.x*c21.x*c13.x*c13.y*c23.y - c11.y*c12.x*c13.x*c21.y*c13.y*c23.x - c11.y*c12.x*c13.x*c22.x*c13.y*c22.y -\n 6*c11.y*c21.x*c12.y*c13.x*c13.y*c23.x - 6*c10.x*c21.x*c13y3*c23.x + 6*c20.x*c21.x*c13y3*c23.x +\n 2*c21.x*c12y3*c13.x*c23.x + 6*c10.x*c21.x*c13.x*c13y2*c23.y + 6*c10.x*c13.x*c21.y*c13y2*c23.x +\n 6*c10.x*c13.x*c22.x*c13y2*c22.y + 6*c10.y*c21.x*c13.x*c13y2*c23.x - 3*c11.x*c12.x*c21.x*c13y2*c23.y -\n 3*c11.x*c12.x*c21.y*c13y2*c23.x - 3*c11.x*c12.x*c22.x*c13y2*c22.y + 2*c11.x*c21.x*c12.y*c13y2*c23.x +\n 4*c11.y*c12.x*c21.x*c13y2*c23.x - 6*c10.y*c21.x*c13x2*c13.y*c23.y - 6*c10.y*c13x2*c21.y*c13.y*c23.x -\n 6*c10.y*c13x2*c22.x*c13.y*c22.y - 6*c20.x*c21.x*c13.x*c13y2*c23.y - 6*c20.x*c13.x*c21.y*c13y2*c23.x -\n 6*c20.x*c13.x*c22.x*c13y2*c22.y + 3*c11.y*c21.x*c12.y*c13x2*c23.y - 3*c11.y*c12.y*c13.x*c22x2*c13.y +\n 3*c11.y*c12.y*c13x2*c21.y*c23.x + 3*c11.y*c12.y*c13x2*c22.x*c22.y - 2*c12.x*c21.x*c12y2*c13.x*c23.y -\n 2*c12.x*c21.x*c12y2*c13.y*c23.x - 2*c12.x*c12y2*c13.x*c21.y*c23.x - 2*c12.x*c12y2*c13.x*c22.x*c22.y -\n 6*c20.y*c21.x*c13.x*c13y2*c23.x - 6*c21.x*c13.x*c21.y*c22.x*c13y2 + 6*c20.y*c13x2*c21.y*c13.y*c23.x +\n 2*c12x2*c21.x*c12.y*c13.y*c23.y + 2*c12x2*c12.y*c21.y*c13.y*c23.x + 2*c12x2*c12.y*c22.x*c13.y*c22.y -\n 3*c10.x*c22x2*c13y3 + 3*c20.x*c22x2*c13y3 + 3*c21x2*c22.x*c13y3 + c12y3*c13.x*c22x2 +\n 3*c10.y*c13.x*c22x2*c13y2 + c11.x*c12.y*c22x2*c13y2 + 2*c11.y*c12.x*c22x2*c13y2 -\n c12.x*c12y2*c22x2*c13.y - 3*c20.y*c13.x*c22x2*c13y2 - 3*c21x2*c13.x*c13y2*c22.y +\n c12x2*c12.y*c13.x*(2*c21.y*c23.y + c22y2) + c11.x*c12.x*c13.x*c13.y*(6*c21.y*c23.y + 3*c22y2) +\n c21.x*c13x2*c13.y*(6*c20.y*c23.y + 6*c21.y*c22.y) + c12x3*c13.y*(-2*c21.y*c23.y - c22y2) +\n c10.y*c13x3*(6*c21.y*c23.y + 3*c22y2) + c11.y*c12.x*c13x2*(-2*c21.y*c23.y - c22y2) +\n c11.x*c12.y*c13x2*(-4*c21.y*c23.y - 2*c22y2) + c10.x*c13x2*c13.y*(-6*c21.y*c23.y - 3*c22y2) +\n c13x2*c22.x*c13.y*(6*c20.y*c22.y + 3*c21y2) + c20.x*c13x2*c13.y*(6*c21.y*c23.y + 3*c22y2) +\n c13x3*(-2*c20.y*c21.y*c23.y - c22.y*(2*c20.y*c22.y + c21y2) - c20.y*(2*c21.y*c23.y + c22y2) -\n c21.y*(2*c20.y*c23.y + 2*c21.y*c22.y)),\n -c10.x*c11.x*c12.y*c13.x*c13.y*c23.y + c10.x*c11.y*c12.x*c13.x*c13.y*c23.y + 6*c10.x*c11.y*c12.y*c13.x*c13.y*c23.x -\n 6*c10.y*c11.x*c12.x*c13.x*c13.y*c23.y - c10.y*c11.x*c12.y*c13.x*c13.y*c23.x + c10.y*c11.y*c12.x*c13.x*c13.y*c23.x +\n c11.x*c11.y*c12.x*c12.y*c13.x*c23.y - c11.x*c11.y*c12.x*c12.y*c13.y*c23.x + c11.x*c20.x*c12.y*c13.x*c13.y*c23.y +\n c11.x*c20.y*c12.y*c13.x*c13.y*c23.x + c11.x*c21.x*c12.y*c13.x*c13.y*c22.y + c11.x*c12.y*c13.x*c21.y*c22.x*c13.y -\n c20.x*c11.y*c12.x*c13.x*c13.y*c23.y - 6*c20.x*c11.y*c12.y*c13.x*c13.y*c23.x - c11.y*c12.x*c20.y*c13.x*c13.y*c23.x -\n c11.y*c12.x*c21.x*c13.x*c13.y*c22.y - c11.y*c12.x*c13.x*c21.y*c22.x*c13.y - 6*c11.y*c21.x*c12.y*c13.x*c22.x*c13.y -\n 6*c10.x*c20.x*c13y3*c23.x - 6*c10.x*c21.x*c22.x*c13y3 - 2*c10.x*c12y3*c13.x*c23.x + 6*c20.x*c21.x*c22.x*c13y3 +\n 2*c20.x*c12y3*c13.x*c23.x + 2*c21.x*c12y3*c13.x*c22.x + 2*c10.y*c12x3*c13.y*c23.y - 6*c10.x*c10.y*c13.x*c13y2*c23.x +\n 3*c10.x*c11.x*c12.x*c13y2*c23.y - 2*c10.x*c11.x*c12.y*c13y2*c23.x - 4*c10.x*c11.y*c12.x*c13y2*c23.x +\n 3*c10.y*c11.x*c12.x*c13y2*c23.x + 6*c10.x*c10.y*c13x2*c13.y*c23.y + 6*c10.x*c20.x*c13.x*c13y2*c23.y -\n 3*c10.x*c11.y*c12.y*c13x2*c23.y + 2*c10.x*c12.x*c12y2*c13.x*c23.y + 2*c10.x*c12.x*c12y2*c13.y*c23.x +\n 6*c10.x*c20.y*c13.x*c13y2*c23.x + 6*c10.x*c21.x*c13.x*c13y2*c22.y + 6*c10.x*c13.x*c21.y*c22.x*c13y2 +\n 4*c10.y*c11.x*c12.y*c13x2*c23.y + 6*c10.y*c20.x*c13.x*c13y2*c23.x + 2*c10.y*c11.y*c12.x*c13x2*c23.y -\n 3*c10.y*c11.y*c12.y*c13x2*c23.x + 2*c10.y*c12.x*c12y2*c13.x*c23.x + 6*c10.y*c21.x*c13.x*c22.x*c13y2 -\n 3*c11.x*c20.x*c12.x*c13y2*c23.y + 2*c11.x*c20.x*c12.y*c13y2*c23.x + c11.x*c11.y*c12y2*c13.x*c23.x -\n 3*c11.x*c12.x*c20.y*c13y2*c23.x - 3*c11.x*c12.x*c21.x*c13y2*c22.y - 3*c11.x*c12.x*c21.y*c22.x*c13y2 +\n 2*c11.x*c21.x*c12.y*c22.x*c13y2 + 4*c20.x*c11.y*c12.x*c13y2*c23.x + 4*c11.y*c12.x*c21.x*c22.x*c13y2 -\n 2*c10.x*c12x2*c12.y*c13.y*c23.y - 6*c10.y*c20.x*c13x2*c13.y*c23.y - 6*c10.y*c20.y*c13x2*c13.y*c23.x -\n 6*c10.y*c21.x*c13x2*c13.y*c22.y - 2*c10.y*c12x2*c12.y*c13.x*c23.y - 2*c10.y*c12x2*c12.y*c13.y*c23.x -\n 6*c10.y*c13x2*c21.y*c22.x*c13.y - c11.x*c11.y*c12x2*c13.y*c23.y - 2*c11.x*c11y2*c13.x*c13.y*c23.x +\n 3*c20.x*c11.y*c12.y*c13x2*c23.y - 2*c20.x*c12.x*c12y2*c13.x*c23.y - 2*c20.x*c12.x*c12y2*c13.y*c23.x -\n 6*c20.x*c20.y*c13.x*c13y2*c23.x - 6*c20.x*c21.x*c13.x*c13y2*c22.y - 6*c20.x*c13.x*c21.y*c22.x*c13y2 +\n 3*c11.y*c20.y*c12.y*c13x2*c23.x + 3*c11.y*c21.x*c12.y*c13x2*c22.y + 3*c11.y*c12.y*c13x2*c21.y*c22.x -\n 2*c12.x*c20.y*c12y2*c13.x*c23.x - 2*c12.x*c21.x*c12y2*c13.x*c22.y - 2*c12.x*c21.x*c12y2*c22.x*c13.y -\n 2*c12.x*c12y2*c13.x*c21.y*c22.x - 6*c20.y*c21.x*c13.x*c22.x*c13y2 - c11y2*c12.x*c12.y*c13.x*c23.x +\n 2*c20.x*c12x2*c12.y*c13.y*c23.y + 6*c20.y*c13x2*c21.y*c22.x*c13.y + 2*c11x2*c11.y*c13.x*c13.y*c23.y +\n c11x2*c12.x*c12.y*c13.y*c23.y + 2*c12x2*c20.y*c12.y*c13.y*c23.x + 2*c12x2*c21.x*c12.y*c13.y*c22.y +\n 2*c12x2*c12.y*c21.y*c22.x*c13.y + c21x3*c13y3 + 3*c10x2*c13y3*c23.x - 3*c10y2*c13x3*c23.y +\n 3*c20x2*c13y3*c23.x + c11y3*c13x2*c23.x - c11x3*c13y2*c23.y - c11.x*c11y2*c13x2*c23.y +\n c11x2*c11.y*c13y2*c23.x - 3*c10x2*c13.x*c13y2*c23.y + 3*c10y2*c13x2*c13.y*c23.x - c11x2*c12y2*c13.x*c23.y +\n c11y2*c12x2*c13.y*c23.x - 3*c21x2*c13.x*c21.y*c13y2 - 3*c20x2*c13.x*c13y2*c23.y + 3*c20y2*c13x2*c13.y*c23.x +\n c11.x*c12.x*c13.x*c13.y*(6*c20.y*c23.y + 6*c21.y*c22.y) + c12x3*c13.y*(-2*c20.y*c23.y - 2*c21.y*c22.y) +\n c10.y*c13x3*(6*c20.y*c23.y + 6*c21.y*c22.y) + c11.y*c12.x*c13x2*(-2*c20.y*c23.y - 2*c21.y*c22.y) +\n c12x2*c12.y*c13.x*(2*c20.y*c23.y + 2*c21.y*c22.y) + c11.x*c12.y*c13x2*(-4*c20.y*c23.y - 4*c21.y*c22.y) +\n c10.x*c13x2*c13.y*(-6*c20.y*c23.y - 6*c21.y*c22.y) + c20.x*c13x2*c13.y*(6*c20.y*c23.y + 6*c21.y*c22.y) +\n c21.x*c13x2*c13.y*(6*c20.y*c22.y + 3*c21y2) + c13x3*(-2*c20.y*c21.y*c22.y - c20y2*c23.y -\n c21.y*(2*c20.y*c22.y + c21y2) - c20.y*(2*c20.y*c23.y + 2*c21.y*c22.y)),\n -c10.x*c11.x*c12.y*c13.x*c13.y*c22.y + c10.x*c11.y*c12.x*c13.x*c13.y*c22.y + 6*c10.x*c11.y*c12.y*c13.x*c22.x*c13.y -\n 6*c10.y*c11.x*c12.x*c13.x*c13.y*c22.y - c10.y*c11.x*c12.y*c13.x*c22.x*c13.y + c10.y*c11.y*c12.x*c13.x*c22.x*c13.y +\n c11.x*c11.y*c12.x*c12.y*c13.x*c22.y - c11.x*c11.y*c12.x*c12.y*c22.x*c13.y + c11.x*c20.x*c12.y*c13.x*c13.y*c22.y +\n c11.x*c20.y*c12.y*c13.x*c22.x*c13.y + c11.x*c21.x*c12.y*c13.x*c21.y*c13.y - c20.x*c11.y*c12.x*c13.x*c13.y*c22.y -\n 6*c20.x*c11.y*c12.y*c13.x*c22.x*c13.y - c11.y*c12.x*c20.y*c13.x*c22.x*c13.y - c11.y*c12.x*c21.x*c13.x*c21.y*c13.y -\n 6*c10.x*c20.x*c22.x*c13y3 - 2*c10.x*c12y3*c13.x*c22.x + 2*c20.x*c12y3*c13.x*c22.x + 2*c10.y*c12x3*c13.y*c22.y -\n 6*c10.x*c10.y*c13.x*c22.x*c13y2 + 3*c10.x*c11.x*c12.x*c13y2*c22.y - 2*c10.x*c11.x*c12.y*c22.x*c13y2 -\n 4*c10.x*c11.y*c12.x*c22.x*c13y2 + 3*c10.y*c11.x*c12.x*c22.x*c13y2 + 6*c10.x*c10.y*c13x2*c13.y*c22.y +\n 6*c10.x*c20.x*c13.x*c13y2*c22.y - 3*c10.x*c11.y*c12.y*c13x2*c22.y + 2*c10.x*c12.x*c12y2*c13.x*c22.y +\n 2*c10.x*c12.x*c12y2*c22.x*c13.y + 6*c10.x*c20.y*c13.x*c22.x*c13y2 + 6*c10.x*c21.x*c13.x*c21.y*c13y2 +\n 4*c10.y*c11.x*c12.y*c13x2*c22.y + 6*c10.y*c20.x*c13.x*c22.x*c13y2 + 2*c10.y*c11.y*c12.x*c13x2*c22.y -\n 3*c10.y*c11.y*c12.y*c13x2*c22.x + 2*c10.y*c12.x*c12y2*c13.x*c22.x - 3*c11.x*c20.x*c12.x*c13y2*c22.y +\n 2*c11.x*c20.x*c12.y*c22.x*c13y2 + c11.x*c11.y*c12y2*c13.x*c22.x - 3*c11.x*c12.x*c20.y*c22.x*c13y2 -\n 3*c11.x*c12.x*c21.x*c21.y*c13y2 + 4*c20.x*c11.y*c12.x*c22.x*c13y2 - 2*c10.x*c12x2*c12.y*c13.y*c22.y -\n 6*c10.y*c20.x*c13x2*c13.y*c22.y - 6*c10.y*c20.y*c13x2*c22.x*c13.y - 6*c10.y*c21.x*c13x2*c21.y*c13.y -\n 2*c10.y*c12x2*c12.y*c13.x*c22.y - 2*c10.y*c12x2*c12.y*c22.x*c13.y - c11.x*c11.y*c12x2*c13.y*c22.y -\n 2*c11.x*c11y2*c13.x*c22.x*c13.y + 3*c20.x*c11.y*c12.y*c13x2*c22.y - 2*c20.x*c12.x*c12y2*c13.x*c22.y -\n 2*c20.x*c12.x*c12y2*c22.x*c13.y - 6*c20.x*c20.y*c13.x*c22.x*c13y2 - 6*c20.x*c21.x*c13.x*c21.y*c13y2 +\n 3*c11.y*c20.y*c12.y*c13x2*c22.x + 3*c11.y*c21.x*c12.y*c13x2*c21.y - 2*c12.x*c20.y*c12y2*c13.x*c22.x -\n 2*c12.x*c21.x*c12y2*c13.x*c21.y - c11y2*c12.x*c12.y*c13.x*c22.x + 2*c20.x*c12x2*c12.y*c13.y*c22.y -\n 3*c11.y*c21x2*c12.y*c13.x*c13.y + 6*c20.y*c21.x*c13x2*c21.y*c13.y + 2*c11x2*c11.y*c13.x*c13.y*c22.y +\n c11x2*c12.x*c12.y*c13.y*c22.y + 2*c12x2*c20.y*c12.y*c22.x*c13.y + 2*c12x2*c21.x*c12.y*c21.y*c13.y -\n 3*c10.x*c21x2*c13y3 + 3*c20.x*c21x2*c13y3 + 3*c10x2*c22.x*c13y3 - 3*c10y2*c13x3*c22.y + 3*c20x2*c22.x*c13y3 +\n c21x2*c12y3*c13.x + c11y3*c13x2*c22.x - c11x3*c13y2*c22.y + 3*c10.y*c21x2*c13.x*c13y2 -\n c11.x*c11y2*c13x2*c22.y + c11.x*c21x2*c12.y*c13y2 + 2*c11.y*c12.x*c21x2*c13y2 + c11x2*c11.y*c22.x*c13y2 -\n c12.x*c21x2*c12y2*c13.y - 3*c20.y*c21x2*c13.x*c13y2 - 3*c10x2*c13.x*c13y2*c22.y + 3*c10y2*c13x2*c22.x*c13.y -\n c11x2*c12y2*c13.x*c22.y + c11y2*c12x2*c22.x*c13.y - 3*c20x2*c13.x*c13y2*c22.y + 3*c20y2*c13x2*c22.x*c13.y +\n c12x2*c12.y*c13.x*(2*c20.y*c22.y + c21y2) + c11.x*c12.x*c13.x*c13.y*(6*c20.y*c22.y + 3*c21y2) +\n c12x3*c13.y*(-2*c20.y*c22.y - c21y2) + c10.y*c13x3*(6*c20.y*c22.y + 3*c21y2) +\n c11.y*c12.x*c13x2*(-2*c20.y*c22.y - c21y2) + c11.x*c12.y*c13x2*(-4*c20.y*c22.y - 2*c21y2) +\n c10.x*c13x2*c13.y*(-6*c20.y*c22.y - 3*c21y2) + c20.x*c13x2*c13.y*(6*c20.y*c22.y + 3*c21y2) +\n c13x3*(-2*c20.y*c21y2 - c20y2*c22.y - c20.y*(2*c20.y*c22.y + c21y2)),\n -c10.x*c11.x*c12.y*c13.x*c21.y*c13.y + c10.x*c11.y*c12.x*c13.x*c21.y*c13.y + 6*c10.x*c11.y*c21.x*c12.y*c13.x*c13.y -\n 6*c10.y*c11.x*c12.x*c13.x*c21.y*c13.y - c10.y*c11.x*c21.x*c12.y*c13.x*c13.y + c10.y*c11.y*c12.x*c21.x*c13.x*c13.y -\n c11.x*c11.y*c12.x*c21.x*c12.y*c13.y + c11.x*c11.y*c12.x*c12.y*c13.x*c21.y + c11.x*c20.x*c12.y*c13.x*c21.y*c13.y +\n 6*c11.x*c12.x*c20.y*c13.x*c21.y*c13.y + c11.x*c20.y*c21.x*c12.y*c13.x*c13.y - c20.x*c11.y*c12.x*c13.x*c21.y*c13.y -\n 6*c20.x*c11.y*c21.x*c12.y*c13.x*c13.y - c11.y*c12.x*c20.y*c21.x*c13.x*c13.y - 6*c10.x*c20.x*c21.x*c13y3 -\n 2*c10.x*c21.x*c12y3*c13.x + 6*c10.y*c20.y*c13x3*c21.y + 2*c20.x*c21.x*c12y3*c13.x + 2*c10.y*c12x3*c21.y*c13.y -\n 2*c12x3*c20.y*c21.y*c13.y - 6*c10.x*c10.y*c21.x*c13.x*c13y2 + 3*c10.x*c11.x*c12.x*c21.y*c13y2 -\n 2*c10.x*c11.x*c21.x*c12.y*c13y2 - 4*c10.x*c11.y*c12.x*c21.x*c13y2 + 3*c10.y*c11.x*c12.x*c21.x*c13y2 +\n 6*c10.x*c10.y*c13x2*c21.y*c13.y + 6*c10.x*c20.x*c13.x*c21.y*c13y2 - 3*c10.x*c11.y*c12.y*c13x2*c21.y +\n 2*c10.x*c12.x*c21.x*c12y2*c13.y + 2*c10.x*c12.x*c12y2*c13.x*c21.y + 6*c10.x*c20.y*c21.x*c13.x*c13y2 +\n 4*c10.y*c11.x*c12.y*c13x2*c21.y + 6*c10.y*c20.x*c21.x*c13.x*c13y2 + 2*c10.y*c11.y*c12.x*c13x2*c21.y -\n 3*c10.y*c11.y*c21.x*c12.y*c13x2 + 2*c10.y*c12.x*c21.x*c12y2*c13.x - 3*c11.x*c20.x*c12.x*c21.y*c13y2 +\n 2*c11.x*c20.x*c21.x*c12.y*c13y2 + c11.x*c11.y*c21.x*c12y2*c13.x - 3*c11.x*c12.x*c20.y*c21.x*c13y2 +\n 4*c20.x*c11.y*c12.x*c21.x*c13y2 - 6*c10.x*c20.y*c13x2*c21.y*c13.y - 2*c10.x*c12x2*c12.y*c21.y*c13.y -\n 6*c10.y*c20.x*c13x2*c21.y*c13.y - 6*c10.y*c20.y*c21.x*c13x2*c13.y - 2*c10.y*c12x2*c21.x*c12.y*c13.y -\n 2*c10.y*c12x2*c12.y*c13.x*c21.y - c11.x*c11.y*c12x2*c21.y*c13.y - 4*c11.x*c20.y*c12.y*c13x2*c21.y -\n 2*c11.x*c11y2*c21.x*c13.x*c13.y + 3*c20.x*c11.y*c12.y*c13x2*c21.y - 2*c20.x*c12.x*c21.x*c12y2*c13.y -\n 2*c20.x*c12.x*c12y2*c13.x*c21.y - 6*c20.x*c20.y*c21.x*c13.x*c13y2 - 2*c11.y*c12.x*c20.y*c13x2*c21.y +\n 3*c11.y*c20.y*c21.x*c12.y*c13x2 - 2*c12.x*c20.y*c21.x*c12y2*c13.x - c11y2*c12.x*c21.x*c12.y*c13.x +\n 6*c20.x*c20.y*c13x2*c21.y*c13.y + 2*c20.x*c12x2*c12.y*c21.y*c13.y + 2*c11x2*c11.y*c13.x*c21.y*c13.y +\n c11x2*c12.x*c12.y*c21.y*c13.y + 2*c12x2*c20.y*c21.x*c12.y*c13.y + 2*c12x2*c20.y*c12.y*c13.x*c21.y +\n 3*c10x2*c21.x*c13y3 - 3*c10y2*c13x3*c21.y + 3*c20x2*c21.x*c13y3 + c11y3*c21.x*c13x2 - c11x3*c21.y*c13y2 -\n 3*c20y2*c13x3*c21.y - c11.x*c11y2*c13x2*c21.y + c11x2*c11.y*c21.x*c13y2 - 3*c10x2*c13.x*c21.y*c13y2 +\n 3*c10y2*c21.x*c13x2*c13.y - c11x2*c12y2*c13.x*c21.y + c11y2*c12x2*c21.x*c13.y - 3*c20x2*c13.x*c21.y*c13y2 +\n 3*c20y2*c21.x*c13x2*c13.y,\n c10.x*c10.y*c11.x*c12.y*c13.x*c13.y - c10.x*c10.y*c11.y*c12.x*c13.x*c13.y + c10.x*c11.x*c11.y*c12.x*c12.y*c13.y -\n c10.y*c11.x*c11.y*c12.x*c12.y*c13.x - c10.x*c11.x*c20.y*c12.y*c13.x*c13.y + 6*c10.x*c20.x*c11.y*c12.y*c13.x*c13.y +\n c10.x*c11.y*c12.x*c20.y*c13.x*c13.y - c10.y*c11.x*c20.x*c12.y*c13.x*c13.y - 6*c10.y*c11.x*c12.x*c20.y*c13.x*c13.y +\n c10.y*c20.x*c11.y*c12.x*c13.x*c13.y - c11.x*c20.x*c11.y*c12.x*c12.y*c13.y + c11.x*c11.y*c12.x*c20.y*c12.y*c13.x +\n c11.x*c20.x*c20.y*c12.y*c13.x*c13.y - c20.x*c11.y*c12.x*c20.y*c13.x*c13.y - 2*c10.x*c20.x*c12y3*c13.x +\n 2*c10.y*c12x3*c20.y*c13.y - 3*c10.x*c10.y*c11.x*c12.x*c13y2 - 6*c10.x*c10.y*c20.x*c13.x*c13y2 +\n 3*c10.x*c10.y*c11.y*c12.y*c13x2 - 2*c10.x*c10.y*c12.x*c12y2*c13.x - 2*c10.x*c11.x*c20.x*c12.y*c13y2 -\n c10.x*c11.x*c11.y*c12y2*c13.x + 3*c10.x*c11.x*c12.x*c20.y*c13y2 - 4*c10.x*c20.x*c11.y*c12.x*c13y2 +\n 3*c10.y*c11.x*c20.x*c12.x*c13y2 + 6*c10.x*c10.y*c20.y*c13x2*c13.y + 2*c10.x*c10.y*c12x2*c12.y*c13.y +\n 2*c10.x*c11.x*c11y2*c13.x*c13.y + 2*c10.x*c20.x*c12.x*c12y2*c13.y + 6*c10.x*c20.x*c20.y*c13.x*c13y2 -\n 3*c10.x*c11.y*c20.y*c12.y*c13x2 + 2*c10.x*c12.x*c20.y*c12y2*c13.x + c10.x*c11y2*c12.x*c12.y*c13.x +\n c10.y*c11.x*c11.y*c12x2*c13.y + 4*c10.y*c11.x*c20.y*c12.y*c13x2 - 3*c10.y*c20.x*c11.y*c12.y*c13x2 +\n 2*c10.y*c20.x*c12.x*c12y2*c13.x + 2*c10.y*c11.y*c12.x*c20.y*c13x2 + c11.x*c20.x*c11.y*c12y2*c13.x -\n 3*c11.x*c20.x*c12.x*c20.y*c13y2 - 2*c10.x*c12x2*c20.y*c12.y*c13.y - 6*c10.y*c20.x*c20.y*c13x2*c13.y -\n 2*c10.y*c20.x*c12x2*c12.y*c13.y - 2*c10.y*c11x2*c11.y*c13.x*c13.y - c10.y*c11x2*c12.x*c12.y*c13.y -\n 2*c10.y*c12x2*c20.y*c12.y*c13.x - 2*c11.x*c20.x*c11y2*c13.x*c13.y - c11.x*c11.y*c12x2*c20.y*c13.y +\n 3*c20.x*c11.y*c20.y*c12.y*c13x2 - 2*c20.x*c12.x*c20.y*c12y2*c13.x - c20.x*c11y2*c12.x*c12.y*c13.x +\n 3*c10y2*c11.x*c12.x*c13.x*c13.y + 3*c11.x*c12.x*c20y2*c13.x*c13.y + 2*c20.x*c12x2*c20.y*c12.y*c13.y -\n 3*c10x2*c11.y*c12.y*c13.x*c13.y + 2*c11x2*c11.y*c20.y*c13.x*c13.y + c11x2*c12.x*c20.y*c12.y*c13.y -\n 3*c20x2*c11.y*c12.y*c13.x*c13.y - c10x3*c13y3 + c10y3*c13x3 + c20x3*c13y3 - c20y3*c13x3 -\n 3*c10.x*c20x2*c13y3 - c10.x*c11y3*c13x2 + 3*c10x2*c20.x*c13y3 + c10.y*c11x3*c13y2 +\n 3*c10.y*c20y2*c13x3 + c20.x*c11y3*c13x2 + c10x2*c12y3*c13.x - 3*c10y2*c20.y*c13x3 - c10y2*c12x3*c13.y +\n c20x2*c12y3*c13.x - c11x3*c20.y*c13y2 - c12x3*c20y2*c13.y - c10.x*c11x2*c11.y*c13y2 +\n c10.y*c11.x*c11y2*c13x2 - 3*c10.x*c10y2*c13x2*c13.y - c10.x*c11y2*c12x2*c13.y + c10.y*c11x2*c12y2*c13.x -\n c11.x*c11y2*c20.y*c13x2 + 3*c10x2*c10.y*c13.x*c13y2 + c10x2*c11.x*c12.y*c13y2 +\n 2*c10x2*c11.y*c12.x*c13y2 - 2*c10y2*c11.x*c12.y*c13x2 - c10y2*c11.y*c12.x*c13x2 + c11x2*c20.x*c11.y*c13y2 -\n 3*c10.x*c20y2*c13x2*c13.y + 3*c10.y*c20x2*c13.x*c13y2 + c11.x*c20x2*c12.y*c13y2 - 2*c11.x*c20y2*c12.y*c13x2 +\n c20.x*c11y2*c12x2*c13.y - c11.y*c12.x*c20y2*c13x2 - c10x2*c12.x*c12y2*c13.y - 3*c10x2*c20.y*c13.x*c13y2 +\n 3*c10y2*c20.x*c13x2*c13.y + c10y2*c12x2*c12.y*c13.x - c11x2*c20.y*c12y2*c13.x + 2*c20x2*c11.y*c12.x*c13y2 +\n 3*c20.x*c20y2*c13x2*c13.y - c20x2*c12.x*c12y2*c13.y - 3*c20x2*c20.y*c13.x*c13y2 + c12x2*c20y2*c12.y*c13.x\n );\n var roots = poly.getRootsInInterval(0,1);\n removeMultipleRootsIn01(roots);\n\n for ( var i = 0; i < roots.length; i++ ) {\n var s = roots[i];\n var xRoots = new Polynomial(\n c13.x,\n c12.x,\n c11.x,\n c10.x - c20.x - s*c21.x - s*s*c22.x - s*s*s*c23.x\n ).getRoots();\n var yRoots = new Polynomial(\n c13.y,\n c12.y,\n c11.y,\n c10.y - c20.y - s*c21.y - s*s*c22.y - s*s*s*c23.y\n ).getRoots();\n\n if ( xRoots.length > 0 && yRoots.length > 0 ) {\n var TOLERANCE = 1e-4;\n\n checkRoots:\n for ( var j = 0; j < xRoots.length; j++ ) {\n var xRoot = xRoots[j];\n\n if ( 0 <= xRoot && xRoot <= 1 ) {\n for ( var k = 0; k < yRoots.length; k++ ) {\n if ( Math.abs( xRoot - yRoots[k] ) < TOLERANCE ) {\n var v = c23.multiply(s * s * s).add(c22.multiply(s * s).add(c21.multiply(s).add(c20)));\n result.points.push(new Point2D(v.x, v.y));\n break checkRoots;\n }\n }\n }\n }\n }\n }\n\n return result;\n};\n\n/**\n * intersectBezier3Ellipse\n *\n * @param {Point2D} p1\n * @param {Point2D} p2\n * @param {Point2D} p3\n * @param {Point2D} p4\n * @param {Point2D} ec\n * @param {Number} rx\n * @param {Number} ry\n * @returns {Intersection}\n */\nmodule.exports.intersectBezier3Ellipse = function(p1, p2, p3, p4, ec, rx, ry) {\n var a, b, c, d; // temporary variables\n var c3, c2, c1, c0; // coefficients of cubic\n var result = new Intersection();\n\n // Calculate the coefficients of cubic polynomial\n a = p1.multiply(-1);\n b = p2.multiply(3);\n c = p3.multiply(-3);\n d = a.add(b.add(c.add(p4)));\n c3 = new Vector2D(d.x, d.y);\n\n a = p1.multiply(3);\n b = p2.multiply(-6);\n c = p3.multiply(3);\n d = a.add(b.add(c));\n c2 = new Vector2D(d.x, d.y);\n\n a = p1.multiply(-3);\n b = p2.multiply(3);\n c = a.add(b);\n c1 = new Vector2D(c.x, c.y);\n\n c0 = new Vector2D(p1.x, p1.y);\n\n var rxrx = rx*rx;\n var ryry = ry*ry;\n var poly = new Polynomial(\n c3.x*c3.x*ryry + c3.y*c3.y*rxrx,\n 2*(c3.x*c2.x*ryry + c3.y*c2.y*rxrx),\n 2*(c3.x*c1.x*ryry + c3.y*c1.y*rxrx) + c2.x*c2.x*ryry + c2.y*c2.y*rxrx,\n 2*c3.x*ryry*(c0.x - ec.x) + 2*c3.y*rxrx*(c0.y - ec.y) +\n 2*(c2.x*c1.x*ryry + c2.y*c1.y*rxrx),\n 2*c2.x*ryry*(c0.x - ec.x) + 2*c2.y*rxrx*(c0.y - ec.y) +\n c1.x*c1.x*ryry + c1.y*c1.y*rxrx,\n 2*c1.x*ryry*(c0.x - ec.x) + 2*c1.y*rxrx*(c0.y - ec.y),\n c0.x*c0.x*ryry - 2*c0.y*ec.y*rxrx - 2*c0.x*ec.x*ryry +\n c0.y*c0.y*rxrx + ec.x*ec.x*ryry + ec.y*ec.y*rxrx - rxrx*ryry\n );\n var roots = poly.getRootsInInterval(0,1);\n removeMultipleRootsIn01(roots);\n\n for ( var i = 0; i < roots.length; i++ ) {\n var t = roots[i];\n var v = c3.multiply(t * t * t).add(c2.multiply(t * t).add(c1.multiply(t).add(c0)));\n result.points.push(new Point2D(v.x, v.y));\n }\n\n return result;\n};\n\n\n/**\n * intersectBezier3Line\n *\n * Many thanks to Dan Sunday at SoftSurfer.com. He gave me a very thorough\n * sketch of the algorithm used here. Without his help, I'm not sure when I\n * would have figured out this intersection problem.\n *\n * @param {Point2D} p1\n * @param {Point2D} p2\n * @param {Point2D} p3\n * @param {Point2D} p4\n * @param {Point2D} a1\n * @param {Point2D} a2\n * @returns {Intersection}\n */\nmodule.exports.intersectBezier3Line = function(p1, p2, p3, p4, a1, a2) {\n var a, b, c, d; // temporary variables\n var c3, c2, c1, c0; // coefficients of cubic\n var cl; // c coefficient for normal form of line\n var n; // normal for normal form of line\n var min = a1.min(a2); // used to determine if point is on line segment\n var max = a1.max(a2); // used to determine if point is on line segment\n var result = new Intersection();\n\n // Start with Bezier using Bernstein polynomials for weighting functions:\n // (1-t^3)P1 + 3t(1-t)^2P2 + 3t^2(1-t)P3 + t^3P4\n //\n // Expand and collect terms to form linear combinations of original Bezier\n // controls. This ends up with a vector cubic in t:\n // (-P1+3P2-3P3+P4)t^3 + (3P1-6P2+3P3)t^2 + (-3P1+3P2)t + P1\n // /\\ /\\ /\\ /\\\n // || || || ||\n // c3 c2 c1 c0\n\n // Calculate the coefficients\n a = p1.multiply(-1);\n b = p2.multiply(3);\n c = p3.multiply(-3);\n d = a.add(b.add(c.add(p4)));\n c3 = new Vector2D(d.x, d.y);\n\n a = p1.multiply(3);\n b = p2.multiply(-6);\n c = p3.multiply(3);\n d = a.add(b.add(c));\n c2 = new Vector2D(d.x, d.y);\n\n a = p1.multiply(-3);\n b = p2.multiply(3);\n c = a.add(b);\n c1 = new Vector2D(c.x, c.y);\n\n c0 = new Vector2D(p1.x, p1.y);\n\n // Convert line to normal form: ax + by + c = 0\n // Find normal to line: negative inverse of original line's slope\n n = new Vector2D(a1.y - a2.y, a2.x - a1.x);\n\n // Determine new c coefficient\n cl = a1.x*a2.y - a2.x*a1.y;\n\n // ?Rotate each cubic coefficient using line for new coordinate system?\n // Find roots of rotated cubic\n var roots = new Polynomial(\n n.dot(c3),\n n.dot(c2),\n n.dot(c1),\n n.dot(c0) + cl\n ).getRoots();\n\n // Any roots in closed interval [0,1] are intersections on Bezier, but\n // might not be on the line segment.\n // Find intersections and calculate point coordinates\n for ( var i = 0; i < roots.length; i++ ) {\n var t = roots[i];\n\n if ( 0 <= t && t <= 1 ) {\n // We're within the Bezier curve\n // Find point on Bezier\n var p5 = p1.lerp(p2, t);\n var p6 = p2.lerp(p3, t);\n var p7 = p3.lerp(p4, t);\n\n var p8 = p5.lerp(p6, t);\n var p9 = p6.lerp(p7, t);\n\n var p10 = p8.lerp(p9, t);\n\n // See if point is on line segment\n // Had to make special cases for vertical and horizontal lines due\n // to slight errors in calculation of p10\n if ( a1.x == a2.x ) {\n if ( min.y <= p10.y && p10.y <= max.y ) {\n result.appendPoint( p10 );\n }\n } else if ( a1.y == a2.y ) {\n if ( min.x <= p10.x && p10.x <= max.x ) {\n result.appendPoint( p10 );\n }\n } else if (min.x <= p10.x && p10.x <= max.x && min.y <= p10.y && p10.y <= max.y) {\n result.appendPoint( p10 );\n }\n }\n }\n\n return result;\n};\n","/**\n *\n * Intersection.js\n *\n * copyright 2002, 2013 Kevin Lindsey\n *\n * contribution {@link http://github.com/Quazistax/kld-intersections}\n * @copyright 2015 Robert Benko (Quazistax) <quazistax@gmail.com>\n * @license MIT\n */\n\nvar Point2D = require('kld-affine').Point2D;\nvar Vector2D = require('kld-affine').Vector2D;\nvar Matrix2D = require('kld-affine').Matrix2D;\nvar Polynomial = require('kld-polynomial').Polynomial;\nvar IntersectionParams = require('./IntersectionParams');\nvar Intersection = require('./Intersection');\nvar bezierIntersectionFunctions = require('./functions/bezier')\n\nvar IPTYPE = IntersectionParams.TYPE;\n\n\n\n/**\n * bezout\n *\n * This code is based on MgcIntr2DElpElp.cpp written by David Eberly. His\n * code along with many other excellent examples are avaiable at his site:\n * http://www.geometrictools.com\n *\n * @param {Array<Point2D>} e1\n * @param {Array<Point2D>} e2\n * @returns {Polynomial}\n */\nfunction bezout(e1, e2) {\n var AB = e1[0]*e2[1] - e2[0]*e1[1];\n var AC = e1[0]*e2[2] - e2[0]*e1[2];\n var AD = e1[0]*e2[3] - e2[0]*e1[3];\n var AE = e1[0]*e2[4] - e2[0]*e1[4];\n var AF = e1[0]*e2[5] - e2[0]*e1[5];\n var BC = e1[1]*e2[2] - e2[1]*e1[2];\n var BE = e1[1]*e2[4] - e2[1]*e1[4];\n var BF = e1[1]*e2[5] - e2[1]*e1[5];\n var CD = e1[2]*e2[3] - e2[2]*e1[3];\n var DE = e1[3]*e2[4] - e2[3]*e1[4];\n var DF = e1[3]*e2[5] - e2[3]*e1[5];\n var BFpDE = BF + DE;\n var BEmCD = BE - CD;\n\n return new Polynomial(\n AB*BC - AC*AC,\n AB*BEmCD + AD*BC - 2*AC*AE,\n AB*BFpDE + AD*BEmCD - AE*AE - 2*AC*AF,\n AB*DF + AD*BFpDE - 2*AE*AF,\n AD*DF - AF*AF\n );\n}\n\n/**\n Removes from intersection points those points that are not between two rays determined by arc parameters.\n Rays begin at ellipse center and go through arc startPoint/endPoint.\n\n @param {Intersection} intersection - will be modified and returned\n @param {Point2D} c - center of arc ellipse\n @param {Number} rx\n @param {Number} ry\n @param {Number} phi - in radians\n @param {Number} th1 - in radians\n @param {Number} dth - in radians\n @param {Matrix2D} [m] - arc transformation matrix\n @returns {Intersection}\n*/\nfunction removePointsNotInArc(intersection, c, rx, ry, phi, th1, dth, m) {\n if (intersection.points.length === 0) return intersection;\n if (m && !m.isIdentity())\n var mp = m.inverse();\n var np = [];\n var vx = new Vector2D(1, 0);\n var pi2 = Math.PI * 2;\n var wasNeg = dth < 0;\n var wasBig = Math.abs(dth) > Math.PI;\n var m1 = new Matrix2D().scaleNonUniform(1, ry / rx).rotate(th1);\n var m2 = new Matrix2D().scaleNonUniform(1, ry / rx).rotate(th1 + dth);\n\n th1 = (vx.angleBetween(vx.transform(m1)) + pi2) % pi2;\n dth = vx.transform(m1).angleBetween(vx.transform(m2));\n dth = (wasBig ? pi2 - Math.abs(dth) : Math.abs(dth)) * (wasNeg ? -1 : 1);\n var m3 = new Matrix2D().rotate(phi).multiply(m1);\n\n for (var i = 0, p, a; i < intersection.points.length; i++) {\n p = intersection.points[i];\n a = vx.transform(m3).angleBetween(Vector2D.fromPoints(c, (mp) ? p.transform(mp) : p));\n if (dth >= 0) {\n a = (a + 2 * pi2) % pi2;\n if (a <= dth)\n np.push(p);\n } else {\n a = (a - 2 * pi2) % pi2;\n if (a >= dth)\n np.push(p);\n }\n }\n intersection.points = np;\n return intersection;\n}\n\n/**\n points1 will be modified, points close (almost identical) to any point in points2 will be removed\n\n @param {Array<Point2D>} points1 - will be modified, points close to any point in points2 will be removed\n @param {Array<Point2D>} points2\n*/\nfunction removeClosePoints(points1, points2) {\n if (points1.length === 0 || points2.length === 0)\n return;\n var maxf = function (p, v) { if (p < v.x) p = v.x; if (p < v.y) p = v.y; return p; };\n var max = points1.reduce(maxf, 0);\n max = points2.reduce(maxf, max);\n var ERRF = 1e-15;\n var ZEROepsilon = 100 * max * ERRF * Math.SQRT2;\n var j;\n for (var i = 0; i < points1.length;) {\n for (j = 0; j < points2.length; j++) {\n if (points1[i].distanceFrom(points2[j]) <= ZEROepsilon) {\n points1.splice(i, 1);\n break;\n }\n }\n if (j == points2.length)\n i++;\n }\n}\n\nvar intersectionFunctions = {\n\n /**\n intersectPathShape\n\n @param {IntersectionParams} path\n @param {IntersectionParams} shape\n @param {Matrix2D} [m1]\n @param {Matrix2D} [m2]\n @returns {Intersection}\n */\n intersectPathShape: function (path, shape, m1, m2) {\n var result = new Intersection();\n var pathParams = path.params[0];\n var inter0;\n var previnter;\n for (var inter, i = 0; i < pathParams.length; i++) {\n inter = intersect(pathParams[i], shape, m1, m2);\n if (!inter0)\n inter0 = inter;\n if (previnter) {\n removeClosePoints(previnter.points, inter.points);\n result.appendPoints(previnter.points);\n }\n previnter = inter;\n }\n if (previnter) {\n result.appendPoints(previnter.points);\n }\n return result;\n },\n\n\n /**\n intersectLinesShape\n\n @param {IntersectionParams} lines - IntersectionParams with points as first parameter (like types RECT, POLYLINE or POLYGON)\n @param {IntersectionParams} shape - IntersectionParams of other shape\n @param {Matrix2D} [m1]\n @param {Matrix2D} [m2]\n @param {Boolean} [closed] - if set, determines if line between first and last point will be taken into callculation too. If not set, it's true for RECT and POLYGON, false for other <b>lines</b> types.\n @returns {Intersection}\n */\n intersectLinesShape: function (lines, shape, m1, m2, closed) {\n var IPTYPE = IntersectionParams.TYPE;\n var line_points = lines.params[0];\n var ip = new IntersectionParams(IPTYPE.LINE, [0, 0]);\n var result = new Intersection();\n var inter, i;\n var intersectLine = function (i1, i2) {\n ip.params[0] = line_points[i1];\n ip.params[1] = line_points[i2];\n inter = intersect(ip, shape, m1, m2);\n removeClosePoints(inter.points, [line_points[i2]]);\n result.appendPoints(inter.points);\n }\n for (i = 0; i < line_points.length - 1; i++) {\n intersectLine(i, i + 1);\n }\n if (typeof closed !== 'undefined' && closed || lines.type === IPTYPE.RECT || lines.type === IPTYPE.POLYGON) {\n intersectLine(line_points.length - 1, 0);\n }\n return result;\n },\n\n ///////////////////////////////////////////////////////////////////\n /**\n intersectArcShape\n\n @param {IntersectionParams} arc\n @param {IntersectionParams} shape\n @param {Matrix2D} [m1]\n @param {Matrix2D} [m2]\n @returns {Intersection}\n */\n intersectArcShape: function (arc, shape, m1, m2) {\n m1 = m1 || Matrix2D.IDENTITY;\n m2 = m2 || Matrix2D.IDENTITY;\n var c1 = arc.params[0],\n rx1 = arc.params[1],\n ry1 = arc.params[2],\n phi1 = arc.params[3],\n th1 = arc.params[4],\n dth1 = arc.params[5];\n\n var res;\n if (m1.isIdentity() && phi1 === 0) {\n res = intersect(IntersectionParams.newEllipse(c1, rx1, ry1), shape, m1, m2);\n }\n else {\n m1 = m1.multiply(Matrix2D.IDENTITY.translate(c1.x, c1.y).rotate(phi1));\n c1 = new Point2D(0, 0);\n phi1 = 0;\n res = intersect(IntersectionParams.newEllipse(c1, rx1, ry1), shape, m1, m2);\n }\n res = removePointsNotInArc(res, c1, rx1, ry1, phi1, th1, dth1, m1);\n return res;\n },\n\n /**\n * Finds intersection points of two ellipses. <br/>\n *\n * This code is based on MgcIntr2DElpElp.cpp written by David Eberly. His\n * code along with many other excellent examples are avaiable at his site:\n * http://www.geometrictools.com\n *\n * Changes - 2015 Robert Benko (Quazistax)\n *\n * @param {Point2D} c1\n * @param {Number} rx1\n * @param {Number} ry1\n * @param {Point2D} c2\n * @param {Number} rx2\n * @param {Number} ry2\n * @returns {Intersection}\n */\n intersectEllipseEllipse: function (c1, rx1, ry1, c2, rx2, ry2) {\n var a = [\n ry1 * ry1, 0, rx1 * rx1, -2 * ry1 * ry1 * c1.x, -2 * rx1 * rx1 * c1.y,\n ry1 * ry1 * c1.x * c1.x + rx1 * rx1 * c1.y * c1.y - rx1 * rx1 * ry1 * ry1\n ];\n var b = [\n ry2 * ry2, 0, rx2 * rx2, -2 * ry2 * ry2 * c2.x, -2 * rx2 * rx2 * c2.y,\n ry2 * ry2 * c2.x * c2.x + rx2 * rx2 * c2.y * c2.y - rx2 * rx2 * ry2 * ry2\n ];\n\n var yPoly = bezout(a, b);\n var yRoots = yPoly.getRoots();\n var epsilon = 1e-3;\n var norm0 = (a[0] * a[0] + 2 * a[1] * a[1] + a[2] * a[2]) * epsilon;\n var norm1 = (b[0] * b[0] + 2 * b[1] * b[1] + b[2] * b[2]) * epsilon;\n var result = new Intersection();\n\n var i;\n //Handling root calculation error causing not detecting intersection\n var clip = function (val, min, max) { return Math.max(min, Math.min(max, val)); };\n for (i = 0 ; i < yRoots.length; i++) {\n yRoots[i] = clip(yRoots[i], c1.y - ry1, c1.y + ry1);\n yRoots[i] = clip(yRoots[i], c2.y - ry2, c2.y + ry2);\n }\n\n //For detection of multiplicated intersection points\n yRoots.sort(function (a, b) { return a - b; });\n var rootPointsN = [];\n\n for (var y = 0; y < yRoots.length; y++) {\n var xPoly = new Polynomial(\n a[0],\n a[3] + yRoots[y] * a[1],\n a[5] + yRoots[y] * (a[4] + yRoots[y] * a[2])\n );\n var ERRF = 1e-15;\n if (Math.abs(xPoly.coefs[0]) < 10 * ERRF * Math.abs(xPoly.coefs[2]))\n xPoly.coefs[0] = 0;\n var xRoots = xPoly.getRoots();\n\n rootPointsN.push(0);\n for (var x = 0; x < xRoots.length; x++) {\n var test =\n (a[0] * xRoots[x] + a[1] * yRoots[y] + a[3]) * xRoots[x] +\n (a[2] * yRoots[y] + a[4]) * yRoots[y] + a[5];\n if (Math.abs(test) < norm0) {\n test =\n (b[0] * xRoots[x] + b[1] * yRoots[y] + b[3]) * xRoots[x] +\n (b[2] * yRoots[y] + b[4]) * yRoots[y] + b[5];\n if (Math.abs(test) < norm1) {\n result.appendPoint(new Point2D(xRoots[x], yRoots[y]));\n rootPointsN[y] += 1;\n }\n }\n }\n }\n\n if (result.points.length <= 0)\n return result;\n\n //Removal of multiplicated intersection points\n var pts = result.points;\n if (pts.length == 8) {\n pts = pts.splice(0, 6);\n pts.splice(2, 2);\n }\n else if (pts.length == 7) {\n pts = pts.splice(0, 6);\n pts.splice(2, 2);\n pts.splice(rootPointsN.indexOf(1), 1);\n }\n else if (pts.length == 6) {\n pts.splice(2, 2);\n //console.log('ElEl 6pts: N: ' + rootPointsN.toString());\n if (rootPointsN.indexOf(0) > -1) {\n if (pts[0].distanceFrom(pts[1]) < pts[2].distanceFrom(pts[3])) {\n pts.splice(0, 1);\n }\n else {\n pts.splice(2, 1);\n }\n }\n else if (rootPointsN[0] == rootPointsN[3]) {\n pts.splice(1, 2);\n }\n }\n else if (pts.length == 4) {\n if (\n (yRoots.length == 2)\n || (yRoots.length == 4 && (rootPointsN[0] == 2 && rootPointsN[1] == 2 || rootPointsN[2] == 2 && rootPointsN[3] == 2))\n ) {\n pts.splice(2, 2);\n }\n }\n else if (pts.length == 3 || pts.length == 5) {\n i = rootPointsN.indexOf(2);\n if (i > -1) {\n if (pts.length == 3)\n i = i % 2;\n var ii = i + (i % 2 ? -1 : 2);\n var d1, d2, d3;\n d1 = pts[i].distanceFrom(pts[i + 1]);\n d2 = pts[i].distanceFrom(pts[ii]);\n d3 = pts[i + 1].distanceFrom(pts[ii]);\n if (d1 < d2 && d1 < d3) {\n pts.splice(i, 1);\n }\n else {\n pts.splice(ii, 1);\n }\n }\n }\n\n var ZEROepsilon = yPoly.zeroErrorEstimate();\n ZEROepsilon *= 100 * Math.SQRT2;\n for (i = 0; i < pts.length - 1;) {\n if (pts[i].distanceFrom(pts[i + 1]) < ZEROepsilon) {\n pts.splice(i + 1, 1);\n continue;\n }\n i++;\n }\n\n result.points = pts;\n return result;\n },\n\n\n /**\n * intersectEllipseLine\n *\n * NOTE: Rotation will need to be added to this function\n *\n * @param {Point2D} c\n * @param {Number} rx\n * @param {Number} ry\n * @param {Point2D} a1\n * @param {Point2D} a2\n * @returns {Intersection}\n */\n intersectEllipseLine: function(c, rx, ry, a1, a2) {\n var result;\n var origin = new Vector2D(a1.x, a1.y);\n var dir = Vector2D.fromPoints(a1, a2);\n var center = new Vector2D(c.x, c.y);\n var diff = origin.subtract(center);\n var mDir = new Vector2D( dir.x/(rx*rx), dir.y/(ry*ry) );\n var mDiff = new Vector2D( diff.x/(rx*rx), diff.y/(ry*ry) );\n\n var a = dir.dot(mDir);\n var b = dir.dot(mDiff);\n c = diff.dot(mDiff) - 1.0;\n var d = b*b - a*c;\n\n var ERRF = 1e-15;\n var ZEROepsilon = 10 * Math.max(Math.abs(a), Math.abs(b), Math.abs(c)) * ERRF;\n if (Math.abs(d) < ZEROepsilon) {\n d = 0;\n }\n\n if ( d < 0 ) {\n result = new Intersection(\"Outside\");\n } else if ( d > 0 ) {\n var root = Math.sqrt(d);\n var t_a = (-b - root) / a;\n var t_b = (-b + root) / a;\n\n t_b = (t_b > 1) ? t_b - ERRF : (t_b < 0) ? t_b + ERRF : t_b;\n t_a = (t_a > 1) ? t_a - ERRF : (t_a < 0) ? t_a + ERRF : t_a;\n\n if ( (t_a < 0 || 1 < t_a) && (t_b < 0 || 1 < t_b) ) {\n if ( (t_a < 0 && t_b < 0) || (t_a > 1 && t_b > 1) )\n result = new Intersection(\"Outside\");\n else\n result = new Intersection(\"Inside\");\n } else {\n result = new Intersection();\n if ( 0 <= t_a && t_a <= 1 )\n result.appendPoint( a1.lerp(a2, t_a) );\n if ( 0 <= t_b && t_b <= 1 )\n result.appendPoint( a1.lerp(a2, t_b) );\n }\n } else {\n var t = -b/a;\n if ( 0 <= t && t <= 1 ) {\n result = new Intersection();\n result.appendPoint( a1.lerp(a2, t) );\n } else {\n result = new Intersection(\"Outside\");\n }\n }\n\n return result;\n },\n\n\n /**\n * intersectLineLine\n *\n * @param {Point2D} a1\n * @param {Point2D} a2\n * @param {Point2D} b1\n * @param {Point2D} b2\n * @returns {Intersection}\n */\n intersectLineLine: function(a1, a2, b1, b2) {\n var result;\n var ua_t = (b2.x - b1.x) * (a1.y - b1.y) - (b2.y - b1.y) * (a1.x - b1.x);\n var ub_t = (a2.x - a1.x) * (a1.y - b1.y) - (a2.y - a1.y) * (a1.x - b1.x);\n var u_b = (b2.y - b1.y) * (a2.x - a1.x) - (b2.x - b1.x) * (a2.y - a1.y);\n\n if ( u_b !== 0 ) {\n var ua = ua_t / u_b;\n var ub = ub_t / u_b;\n\n if ( 0 <= ua && ua <= 1 && 0 <= ub && ub <= 1 ) {\n result = new Intersection();\n result.points.push(\n new Point2D(\n a1.x + ua * (a2.x - a1.x),\n a1.y + ua * (a2.y - a1.y)\n )\n );\n } else {\n result = new Intersection();\n }\n } else {\n if ( ua_t === 0 || ub_t === 0 ) {\n result = new Intersection(\"Coincident\");\n } else {\n result = new Intersection(\"Parallel\");\n }\n }\n\n return result;\n },\n\n\n /**\n * intersectRayRay\n *\n * @param {Point2D} a1\n * @param {Point2D} a2\n * @param {Point2D} b1\n * @param {Point2D} b2\n * @returns {Intersection}\n */\n intersectRayRay: function(a1, a2, b1, b2) {\n var result;\n\n var ua_t = (b2.x - b1.x) * (a1.y - b1.y) - (b2.y - b1.y) * (a1.x - b1.x);\n var ub_t = (a2.x - a1.x) * (a1.y - b1.y) - (a2.y - a1.y) * (a1.x - b1.x);\n var u_b = (b2.y - b1.y) * (a2.x - a1.x) - (b2.x - b1.x) * (a2.y - a1.y);\n\n if ( u_b !== 0 ) {\n var ua = ua_t / u_b;\n\n result = new Intersection();\n result.points.push(\n new Point2D(\n a1.x + ua * (a2.x - a1.x),\n a1.y + ua * (a2.y - a1.y)\n )\n );\n } else {\n if ( ua_t === 0 || ub_t === 0 ) {\n result = new Intersection(\"Coincident\");\n } else {\n result = new Intersection(\"Parallel\");\n }\n }\n\n return result;\n }\n};\n\nvar composedShapeMethods = {};\ncomposedShapeMethods[IPTYPE.PATH] = intersectionFunctions.intersectPathShape;\ncomposedShapeMethods[IPTYPE.POLYLINE] = intersectionFunctions.intersectLinesShape;\ncomposedShapeMethods[IPTYPE.POLYGON] = intersectionFunctions.intersectLinesShape;\ncomposedShapeMethods[IPTYPE.RECT] = intersectionFunctions.intersectLinesShape;\ncomposedShapeMethods[IPTYPE.ROUNDRECT] = intersectionFunctions.intersectPathShape;\ncomposedShapeMethods[IPTYPE.ARC] = intersectionFunctions.intersectArcShape;\n\n\n\nfunction intersect(shape1, shape2, m1, m2) {\n var ip1 = shape1;\n var ip2 = shape2;\n var result;\n\n if (ip1 !== null && ip2 !== null) {\n var method;\n if ((method = composedShapeMethods[ip1.type])) {\n result = method(ip1, ip2, m1, m2);\n }\n else if ((method = composedShapeMethods[ip2.type])) {\n result = method(ip2, ip1, m2, m1);\n }\n else {\n var params;\n\n var params1, params2, type1, type2;\n\n if (ip1.type === IPTYPE.CIRCLE) {\n params1 = [ip1.params[0], ip1.params[1], ip1.params[1]];\n type1 = IPTYPE.ELLIPSE;\n }\n else {\n params1 = ip1.params.slice();\n type1 = ip1.type;\n }\n\n if (ip2.type === IPTYPE.CIRCLE) {\n params2 = [ip2.params[0], ip2.params[1], ip2.params[1]];\n type2 = IPTYPE.ELLIPSE;\n }\n else {\n params2 = ip2.params.slice();\n type2 = ip2.type;\n }\n\n //var m1 = new Matrix2D(), m2 = new Matrix2D();\n var SMF = 1;\n var itm;\n var useCTM = (m1 instanceof Matrix2D && m2 instanceof Matrix2D);// && (!m1.isIdentity() || !m2.isIdentity()));\n if (useCTM) {\n var rx1, ry1, c1;\n if (type1 === IPTYPE.ELLIPSE && type2 === IPTYPE.ELLIPSE) {\n var m1_, m2_;\n var d2;\n c1 = params1[0];\n rx1 = params1[1];\n ry1 = params1[2];\n var c2 = params2[0], rx2 = params2[1], ry2 = params2[2];\n\n m1 = m1.multiply(Matrix2D.IDENTITY.translate(c1.x, c1.y).scaleNonUniform(rx1 / SMF, ry1 / SMF));\n c1 = new Point2D(0, 0);\n rx1 = ry1 = SMF;\n\n m2 = m2.multiply(Matrix2D.IDENTITY.translate(c2.x, c2.y).scaleNonUniform(rx2, ry2));\n c2 = new Point2D(0, 0);\n rx2 = ry2 = 1;\n\n d2 = m1.inverse().multiply(m2).getDecomposition();\n m1_ = d2.rotation.inverse().multiply(d2.translation.inverse());\n m2_ = d2.scale;\n\n rx2 = m2_.a;\n ry2 = m2_.d;\n c1 = c1.transform(m1_);\n itm = m1.multiply(m1_.inverse());\n\n params1[0] = c1;\n params1[1] = rx1;\n params1[2] = ry1;\n params2[0] = c2;\n params2[1] = rx2;\n params2[2] = ry2;\n }\n else {\n var transParams = function (type, params, m) {\n var transParam = function (i) {\n params[i] = params[i].transform(m);\n }\n\n if (type === IPTYPE.LINE) {\n transParam(0);\n transParam(1);\n }\n else if (type === IPTYPE.BEZIER2) {\n transParam(0);\n transParam(1);\n transParam(2);\n }\n else if (type === IPTYPE.BEZIER3) {\n transParam(0);\n transParam(1);\n transParam(2);\n transParam(3);\n }\n else {\n throw new Error('Unknown shape: ' + type);\n }\n }\n\n if (type2 === IPTYPE.ELLIPSE) {\n var tmp;\n tmp = params2; params2 = params1; params1 = tmp;\n tmp = type2; type2 = type1; type1 = tmp;\n tmp = m2; m2 = m1; m1 = tmp;\n }\n\n if (type1 === IPTYPE.ELLIPSE) {\n c1 = params1[0];\n rx1 = params1[1];\n ry1 = params1[2];\n\n m1 = m1.multiply(Matrix2D.IDENTITY.translate(c1.x, c1.y).scaleNonUniform(rx1 / SMF, ry1 / SMF));\n c1 = new Point2D(0, 0);\n rx1 = ry1 = SMF;\n\n m2_ = m1.inverse().multiply(m2);\n transParams(type2, params2, m2_);\n\n itm = m1;\n\n params1[0] = c1;\n params1[1] = rx1;\n params1[2] = ry1;\n }\n else {\n transParams(type1, params1, m1);\n transParams(type2, params2, m2);\n itm = Matrix2D.IDENTITY;\n }\n }\n }\n\n if (type1 < type2) {\n method = \"intersect\" + type1 + type2;\n params = params1.concat(params2);\n } else {\n method = \"intersect\" + type2 + type1;\n params = params2.concat(params1);\n }\n\n result = intersectionFunctions[method].apply(null, params);\n\n if (useCTM) {\n for (var i = 0; i < result.points.length; i++) {\n result.points[i] = result.points[i].transform(itm);\n }\n }\n }\n } else {\n result = new Intersection();\n }\n\n return result;\n}\n\nfor(var key in bezierIntersectionFunctions) {\n if(bezierIntersectionFunctions.hasOwnProperty(key)) {\n intersectionFunctions[key] = bezierIntersectionFunctions[key];\n }\n}\n\nmodule.exports = intersect;\n","// expose module classes\n\nexports.intersect = require('./lib/intersect');\nexports.shape = require('./lib/IntersectionParams').newShape;\n","/******************************************************************************\n\nCellDL Editor\n\nCopyright (c) 2022 - 2025 David Brooks\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n******************************************************************************/\n\nimport { intersect, type Point2D, type Shape, shape, type SvgElements, type SvgProperties } from 'svg-intersections'\n\n//==============================================================================\n\nexport class ShapeIntersections {\n #shape: Shape\n\n constructor(element: Element) {\n this.#shape = this.#shapeFromElement(element)\n }\n\n #shapeFromElement(element: Element): Shape {\n const elementName: SvgElements = <SvgElements>element.tagName\n const attrs = {}\n element.getAttributeNames().map((n) => {\n attrs[n] = element.getAttribute(n)\n })\n return shape(elementName, <SvgProperties<typeof elementName>>attrs)\n }\n\n intersections(element: Element): Point2D[] {\n const elementShape = this.#shapeFromElement(element)\n const i = intersect(this.#shape, elementShape)\n return i.points\n }\n}\n\n//==============================================================================\n","\n/**\n * Rearranges items so that all items in the [left, k] are the smallest.\n * The k-th element will have the (k - left + 1)-th smallest value in [left, right].\n *\n * @template T\n * @param {T[]} arr the array to partially sort (in place)\n * @param {number} k middle index for partial sorting (as defined above)\n * @param {number} [left=0] left index of the range to sort\n * @param {number} [right=arr.length-1] right index\n * @param {(a: T, b: T) => number} [compare = (a, b) => a - b] compare function\n */\nexport default function quickselect(arr, k, left = 0, right = arr.length - 1, compare = defaultCompare) {\n\n while (right > left) {\n if (right - left > 600) {\n const n = right - left + 1;\n const m = k - left + 1;\n const z = Math.log(n);\n const s = 0.5 * Math.exp(2 * z / 3);\n const sd = 0.5 * Math.sqrt(z * s * (n - s) / n) * (m - n / 2 < 0 ? -1 : 1);\n const newLeft = Math.max(left, Math.floor(k - m * s / n + sd));\n const newRight = Math.min(right, Math.floor(k + (n - m) * s / n + sd));\n quickselect(arr, k, newLeft, newRight, compare);\n }\n\n const t = arr[k];\n let i = left;\n /** @type {number} */\n let j = right;\n\n swap(arr, left, k);\n if (compare(arr[right], t) > 0) swap(arr, left, right);\n\n while (i < j) {\n swap(arr, i, j);\n i++;\n j--;\n while (compare(arr[i], t) < 0) i++;\n while (compare(arr[j], t) > 0) j--;\n }\n\n if (compare(arr[left], t) === 0) swap(arr, left, j);\n else {\n j++;\n swap(arr, j, right);\n }\n\n if (j <= k) left = j + 1;\n if (k <= j) right = j - 1;\n }\n}\n\n/**\n * @template T\n * @param {T[]} arr\n * @param {number} i\n * @param {number} j\n */\nfunction swap(arr, i, j) {\n const tmp = arr[i];\n arr[i] = arr[j];\n arr[j] = tmp;\n}\n\n/**\n * @template T\n * @param {T} a\n * @param {T} b\n * @returns {number}\n */\nfunction defaultCompare(a, b) {\n return a < b ? -1 : a > b ? 1 : 0;\n}\n","import quickselect from 'quickselect';\n\nexport default class RBush {\n constructor(maxEntries = 9) {\n // max entries in a node is 9 by default; min node fill is 40% for best performance\n this._maxEntries = Math.max(4, maxEntries);\n this._minEntries = Math.max(2, Math.ceil(this._maxEntries * 0.4));\n this.clear();\n }\n\n all() {\n return this._all(this.data, []);\n }\n\n search(bbox) {\n let node = this.data;\n const result = [];\n\n if (!intersects(bbox, node)) return result;\n\n const toBBox = this.toBBox;\n const nodesToSearch = [];\n\n while (node) {\n for (let i = 0; i < node.children.length; i++) {\n const child = node.children[i];\n const childBBox = node.leaf ? toBBox(child) : child;\n\n if (intersects(bbox, childBBox)) {\n if (node.leaf) result.push(child);\n else if (contains(bbox, childBBox)) this._all(child, result);\n else nodesToSearch.push(child);\n }\n }\n node = nodesToSearch.pop();\n }\n\n return result;\n }\n\n collides(bbox) {\n let node = this.data;\n\n if (!intersects(bbox, node)) return false;\n\n const nodesToSearch = [];\n while (node) {\n for (let i = 0; i < node.children.length; i++) {\n const child = node.children[i];\n const childBBox = node.leaf ? this.toBBox(child) : child;\n\n if (intersects(bbox, childBBox)) {\n if (node.leaf || contains(bbox, childBBox)) return true;\n nodesToSearch.push(child);\n }\n }\n node = nodesToSearch.pop();\n }\n\n return false;\n }\n\n load(data) {\n if (!(data && data.length)) return this;\n\n if (data.length < this._minEntries) {\n for (let i = 0; i < data.length; i++) {\n this.insert(data[i]);\n }\n return this;\n }\n\n // recursively build the tree with the given data from scratch using OMT algorithm\n let node = this._build(data.slice(), 0, data.length - 1, 0);\n\n if (!this.data.children.length) {\n // save as is if tree is empty\n this.data = node;\n\n } else if (this.data.height === node.height) {\n // split root if trees have the same height\n this._splitRoot(this.data, node);\n\n } else {\n if (this.data.height < node.height) {\n // swap trees if inserted one is bigger\n const tmpNode = this.data;\n this.data = node;\n node = tmpNode;\n }\n\n // insert the small tree into the large tree at appropriate level\n this._insert(node, this.data.height - node.height - 1, true);\n }\n\n return this;\n }\n\n insert(item) {\n if (item) this._insert(item, this.data.height - 1);\n return this;\n }\n\n clear() {\n this.data = createNode([]);\n return this;\n }\n\n remove(item, equalsFn) {\n if (!item) return this;\n\n let node = this.data;\n const bbox = this.toBBox(item);\n const path = [];\n const indexes = [];\n let i, parent, goingUp;\n\n // depth-first iterative tree traversal\n while (node || path.length) {\n\n if (!node) { // go up\n node = path.pop();\n parent = path[path.length - 1];\n i = indexes.pop();\n goingUp = true;\n }\n\n if (node.leaf) { // check current node\n const index = findItem(item, node.children, equalsFn);\n\n if (index !== -1) {\n // item found, remove the item and condense tree upwards\n node.children.splice(index, 1);\n path.push(node);\n this._condense(path);\n return this;\n }\n }\n\n if (!goingUp && !node.leaf && contains(node, bbox)) { // go down\n path.push(node);\n indexes.push(i);\n i = 0;\n parent = node;\n node = node.children[0];\n\n } else if (parent) { // go right\n i++;\n node = parent.children[i];\n goingUp = false;\n\n } else node = null; // nothing found\n }\n\n return this;\n }\n\n toBBox(item) { return item; }\n\n compareMinX(a, b) { return a.minX - b.minX; }\n compareMinY(a, b) { return a.minY - b.minY; }\n\n toJSON() { return this.data; }\n\n fromJSON(data) {\n this.data = data;\n return this;\n }\n\n _all(node, result) {\n const nodesToSearch = [];\n while (node) {\n if (node.leaf) result.push(...node.children);\n else nodesToSearch.push(...node.children);\n\n node = nodesToSearch.pop();\n }\n return result;\n }\n\n _build(items, left, right, height) {\n\n const N = right - left + 1;\n let M = this._maxEntries;\n let node;\n\n if (N <= M) {\n // reached leaf level; return leaf\n node = createNode(items.slice(left, right + 1));\n calcBBox(node, this.toBBox);\n return node;\n }\n\n if (!height) {\n // target height of the bulk-loaded tree\n height = Math.ceil(Math.log(N) / Math.log(M));\n\n // target number of root entries to maximize storage utilization\n M = Math.ceil(N / Math.pow(M, height - 1));\n }\n\n node = createNode([]);\n node.leaf = false;\n node.height = height;\n\n // split the items into M mostly square tiles\n\n const N2 = Math.ceil(N / M);\n const N1 = N2 * Math.ceil(Math.sqrt(M));\n\n multiSelect(items, left, right, N1, this.compareMinX);\n\n for (let i = left; i <= right; i += N1) {\n\n const right2 = Math.min(i + N1 - 1, right);\n\n multiSelect(items, i, right2, N2, this.compareMinY);\n\n for (let j = i; j <= right2; j += N2) {\n\n const right3 = Math.min(j + N2 - 1, right2);\n\n // pack each entry recursively\n node.children.push(this._build(items, j, right3, height - 1));\n }\n }\n\n calcBBox(node, this.toBBox);\n\n return node;\n }\n\n _chooseSubtree(bbox, node, level, path) {\n while (true) {\n path.push(node);\n\n if (node.leaf || path.length - 1 === level) break;\n\n let minArea = Infinity;\n let minEnlargement = Infinity;\n let targetNode;\n\n for (let i = 0; i < node.children.length; i++) {\n const child = node.children[i];\n const area = bboxArea(child);\n const enlargement = enlargedArea(bbox, child) - area;\n\n // choose entry with the least area enlargement\n if (enlargement < minEnlargement) {\n minEnlargement = enlargement;\n minArea = area < minArea ? area : minArea;\n targetNode = child;\n\n } else if (enlargement === minEnlargement) {\n // otherwise choose one with the smallest area\n if (area < minArea) {\n minArea = area;\n targetNode = child;\n }\n }\n }\n\n node = targetNode || node.children[0];\n }\n\n return node;\n }\n\n _insert(item, level, isNode) {\n const bbox = isNode ? item : this.toBBox(item);\n const insertPath = [];\n\n // find the best node for accommodating the item, saving all nodes along the path too\n const node = this._chooseSubtree(bbox, this.data, level, insertPath);\n\n // put the item into the node\n node.children.push(item);\n extend(node, bbox);\n\n // split on node overflow; propagate upwards if necessary\n while (level >= 0) {\n if (insertPath[level].children.length > this._maxEntries) {\n this._split(insertPath, level);\n level--;\n } else break;\n }\n\n // adjust bboxes along the insertion path\n this._adjustParentBBoxes(bbox, insertPath, level);\n }\n\n // split overflowed node into two\n _split(insertPath, level) {\n const node = insertPath[level];\n const M = node.children.length;\n const m = this._minEntries;\n\n this._chooseSplitAxis(node, m, M);\n\n const splitIndex = this._chooseSplitIndex(node, m, M);\n\n const newNode = createNode(node.children.splice(splitIndex, node.children.length - splitIndex));\n newNode.height = node.height;\n newNode.leaf = node.leaf;\n\n calcBBox(node, this.toBBox);\n calcBBox(newNode, this.toBBox);\n\n if (level) insertPath[level - 1].children.push(newNode);\n else this._splitRoot(node, newNode);\n }\n\n _splitRoot(node, newNode) {\n // split root node\n this.data = createNode([node, newNode]);\n this.data.height = node.height + 1;\n this.data.leaf = false;\n calcBBox(this.data, this.toBBox);\n }\n\n _chooseSplitIndex(node, m, M) {\n let index;\n let minOverlap = Infinity;\n let minArea = Infinity;\n\n for (let i = m; i <= M - m; i++) {\n const bbox1 = distBBox(node, 0, i, this.toBBox);\n const bbox2 = distBBox(node, i, M, this.toBBox);\n\n const overlap = intersectionArea(bbox1, bbox2);\n const area = bboxArea(bbox1) + bboxArea(bbox2);\n\n // choose distribution with minimum overlap\n if (overlap < minOverlap) {\n minOverlap = overlap;\n index = i;\n\n minArea = area < minArea ? area : minArea;\n\n } else if (overlap === minOverlap) {\n // otherwise choose distribution with minimum area\n if (area < minArea) {\n minArea = area;\n index = i;\n }\n }\n }\n\n return index || M - m;\n }\n\n // sorts node children by the best axis for split\n _chooseSplitAxis(node, m, M) {\n const compareMinX = node.leaf ? this.compareMinX : compareNodeMinX;\n const compareMinY = node.leaf ? this.compareMinY : compareNodeMinY;\n const xMargin = this._allDistMargin(node, m, M, compareMinX);\n const yMargin = this._allDistMargin(node, m, M, compareMinY);\n\n // if total distributions margin value is minimal for x, sort by minX,\n // otherwise it's already sorted by minY\n if (xMargin < yMargin) node.children.sort(compareMinX);\n }\n\n // total margin of all possible split distributions where each node is at least m full\n _allDistMargin(node, m, M, compare) {\n node.children.sort(compare);\n\n const toBBox = this.toBBox;\n const leftBBox = distBBox(node, 0, m, toBBox);\n const rightBBox = distBBox(node, M - m, M, toBBox);\n let margin = bboxMargin(leftBBox) + bboxMargin(rightBBox);\n\n for (let i = m; i < M - m; i++) {\n const child = node.children[i];\n extend(leftBBox, node.leaf ? toBBox(child) : child);\n margin += bboxMargin(leftBBox);\n }\n\n for (let i = M - m - 1; i >= m; i--) {\n const child = node.children[i];\n extend(rightBBox, node.leaf ? toBBox(child) : child);\n margin += bboxMargin(rightBBox);\n }\n\n return margin;\n }\n\n _adjustParentBBoxes(bbox, path, level) {\n // adjust bboxes along the given tree path\n for (let i = level; i >= 0; i--) {\n extend(path[i], bbox);\n }\n }\n\n _condense(path) {\n // go through the path, removing empty nodes and updating bboxes\n for (let i = path.length - 1, siblings; i >= 0; i--) {\n if (path[i].children.length === 0) {\n if (i > 0) {\n siblings = path[i - 1].children;\n siblings.splice(siblings.indexOf(path[i]), 1);\n\n } else this.clear();\n\n } else calcBBox(path[i], this.toBBox);\n }\n }\n}\n\nfunction findItem(item, items, equalsFn) {\n if (!equalsFn) return items.indexOf(item);\n\n for (let i = 0; i < items.length; i++) {\n if (equalsFn(item, items[i])) return i;\n }\n return -1;\n}\n\n// calculate node's bbox from bboxes of its children\nfunction calcBBox(node, toBBox) {\n distBBox(node, 0, node.children.length, toBBox, node);\n}\n\n// min bounding rectangle of node children from k to p-1\nfunction distBBox(node, k, p, toBBox, destNode) {\n if (!destNode) destNode = createNode(null);\n destNode.minX = Infinity;\n destNode.minY = Infinity;\n destNode.maxX = -Infinity;\n destNode.maxY = -Infinity;\n\n for (let i = k; i < p; i++) {\n const child = node.children[i];\n extend(destNode, node.leaf ? toBBox(child) : child);\n }\n\n return destNode;\n}\n\nfunction extend(a, b) {\n a.minX = Math.min(a.minX, b.minX);\n a.minY = Math.min(a.minY, b.minY);\n a.maxX = Math.max(a.maxX, b.maxX);\n a.maxY = Math.max(a.maxY, b.maxY);\n return a;\n}\n\nfunction compareNodeMinX(a, b) { return a.minX - b.minX; }\nfunction compareNodeMinY(a, b) { return a.minY - b.minY; }\n\nfunction bboxArea(a) { return (a.maxX - a.minX) * (a.maxY - a.minY); }\nfunction bboxMargin(a) { return (a.maxX - a.minX) + (a.maxY - a.minY); }\n\nfunction enlargedArea(a, b) {\n return (Math.max(b.maxX, a.maxX) - Math.min(b.minX, a.minX)) *\n (Math.max(b.maxY, a.maxY) - Math.min(b.minY, a.minY));\n}\n\nfunction intersectionArea(a, b) {\n const minX = Math.max(a.minX, b.minX);\n const minY = Math.max(a.minY, b.minY);\n const maxX = Math.min(a.maxX, b.maxX);\n const maxY = Math.min(a.maxY, b.maxY);\n\n return Math.max(0, maxX - minX) *\n Math.max(0, maxY - minY);\n}\n\nfunction contains(a, b) {\n return a.minX <= b.minX &&\n a.minY <= b.minY &&\n b.maxX <= a.maxX &&\n b.maxY <= a.maxY;\n}\n\nfunction intersects(a, b) {\n return b.minX <= a.maxX &&\n b.minY <= a.maxY &&\n b.maxX >= a.minX &&\n b.maxY >= a.minY;\n}\n\nfunction createNode(children) {\n return {\n children,\n height: 1,\n leaf: true,\n minX: Infinity,\n minY: Infinity,\n maxX: -Infinity,\n maxY: -Infinity\n };\n}\n\n// sort an array so that items come in groups of n unsorted items, with groups sorted between each other;\n// combines selection algorithm with binary divide & conquer approach\n\nfunction multiSelect(arr, left, right, n, compare) {\n const stack = [left, right];\n\n while (stack.length) {\n right = stack.pop();\n left = stack.pop();\n\n if (right - left <= n) continue;\n\n const mid = left + Math.ceil((right - left) / n / 2) * n;\n quickselect(arr, mid, left, right, compare);\n\n stack.push(left, mid, mid, right);\n }\n}\n","/******************************************************************************\n\nCellDL Editor\n\nCopyright (c) 2022 - 2025 David Brooks\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n******************************************************************************/\n\nimport Flatbush from 'flatbush'\nimport RBush from 'rbush'\n\n//==============================================================================\n\nimport type { CellDLObject } from '@editor/celldlObjects/index'\n\nimport type { Bounds } from './index'\n\n//==============================================================================\n\nexport type ContainedObject = {\n object: CellDLObject\n exact: boolean\n}\n\n//==============================================================================\n\nclass IdBounds {\n id: string\n bounds: Bounds\n\n constructor(celldlObject: CellDLObject) {\n this.bounds = celldlObject.celldlSvgElement!.svgBounds()\n this.id = celldlObject.id\n }\n}\n\n//==============================================================================\n\nclass ExtendableSpatialIndex extends RBush<IdBounds> {\n toBBox(item: IdBounds) {\n return {\n minX: item.bounds.left,\n minY: item.bounds.top,\n maxX: item.bounds.right,\n maxY: item.bounds.bottom\n }\n }\n\n compareMinX(a: IdBounds, b: IdBounds): number {\n return a.bounds.left - b.bounds.left\n }\n\n compareMinY(a: IdBounds, b: IdBounds): number {\n return a.bounds.top - b.bounds.top\n }\n\n remove(item: IdBounds) {\n return super.remove(item, (a, b) => a.id === b.id)\n }\n}\n\n//==============================================================================\n\nexport class CellDLSpatialIndex {\n #index: ExtendableSpatialIndex = new ExtendableSpatialIndex()\n #objects: Map<string, [CellDLObject, IdBounds]> = new Map()\n\n add(celldlObject: CellDLObject) {\n // An object, declared in metadata, might not have a corresponding SVG element...\n if (celldlObject.celldlSvgElement) {\n const item = new IdBounds(celldlObject)\n this.#index.insert(item)\n this.#objects.set(celldlObject.id, [celldlObject, item])\n }\n }\n\n remove(celldlObject: CellDLObject) {\n if (this.#objects.has(celldlObject.id)) {\n this.#index.remove(this.#objects.get(celldlObject.id)![1])\n this.#objects.delete(celldlObject.id)\n }\n }\n\n update(celldlObject: CellDLObject) {\n if (this.#objects.has(celldlObject.id)) {\n const savedItem = this.#objects.get(celldlObject.id)![1]\n const item = new IdBounds(celldlObject)\n if (!savedItem.bounds.equal(item.bounds)) {\n this.#index.remove(savedItem)\n this.#index.insert(item)\n this.#objects.get(celldlObject.id)![1] = item\n }\n }\n }\n\n objectsContainedIn(bounds: Bounds): ContainedObject[] {\n const intersectingItems = this.#index.search({\n minX: bounds.left,\n minY: bounds.top,\n maxX: bounds.right,\n maxY: bounds.bottom\n })\n return intersectingItems.map((item) => {\n return {\n object: this.#objects.get(item.id)![0],\n exact: item.bounds.inContainer(bounds)\n }\n })\n }\n}\n\n//==============================================================================\n\nexport type SpatialSearchResult = {\n object: CellDLObject\n bounds: Bounds\n}\n\n//==============================================================================\n\nexport class SpatialObjectIndex {\n #spatialBounds: Map<number, Bounds> = new Map()\n #spatialObjects: Map<number, CellDLObject> = new Map()\n #spatialObjectIndex: Flatbush | null = null\n\n constructor(celldlObjects: CellDLObject[]) {\n if (celldlObjects.length) {\n this.#spatialObjectIndex = new Flatbush(celldlObjects.length)\n for (const object of celldlObjects) {\n const bounds = object.celldlSvgElement!.svgBounds()\n const index = this.#spatialObjectIndex.add(...bounds.asArray())\n this.#spatialBounds.set(index, bounds)\n this.#spatialObjects.set(index, object)\n }\n this.#spatialObjectIndex.finish()\n }\n }\n\n search(bounds: Bounds): SpatialSearchResult[] {\n return this.#spatialObjectIndex\n ? this.#spatialObjectIndex.search(...bounds.asArray()).map((index) => {\n return {\n object: this.#spatialObjects.get(index)!,\n bounds: this.#spatialBounds.get(index)!\n }\n })\n : []\n }\n}\n\n//==============================================================================\n","/******************************************************************************\n\nCellDL Editor\n\nCopyright (c) 2022 - 2025 David Brooks\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n******************************************************************************/\n\nimport type { NormalArray } from 'svg-path-commander'\n\n//==============================================================================\n\nimport { POINT_EPSILON_SQUARED, Point, type PointLike } from '@renderer/common/points'\nimport { NormalTransform } from './transforms'\n\n//==============================================================================\n\nexport type FoundPoint = {\n point: PointLike\n offset: number | null\n segment: number | null\n}\n\n//==============================================================================\n\nexport class PointFinder {\n #transforms: NormalTransform[] = []\n\n constructor(pathArray: NormalArray) {\n const pathPoints = pathArray\n .filter((p) => ['M', 'L'].includes(p[0]))\n // @ts-expect-error: p.slice(1) will be two numbers\n .map((p) => Point.fromArray(p.slice(1)))\n for (let segment = 0; segment < pathPoints.length - 1; segment += 1) {\n this.#transforms.push(new NormalTransform(pathPoints[segment], pathPoints[segment + 1]))\n }\n }\n\n findPoint(point: PointLike): FoundPoint {\n for (let segment = 0; segment < this.#transforms.length; segment += 1) {\n const p = this.#transforms[segment].normalise(point)\n if (p.x >= 0 && p.x <= 1.0 && p.y * p.y < POINT_EPSILON_SQUARED) {\n return {\n point: this.#transforms[segment].invert({ x: p.x, y: 0 }),\n offset: segment + p.x,\n segment\n }\n }\n }\n return {\n point,\n offset: null,\n segment: null\n }\n }\n}\n\n//==============================================================================\n","/******************************************************************************\n\nCellDL Editor\n\nCopyright (c) 2022 - 2025 David Brooks\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n******************************************************************************/\n\nimport type { PointLike } from '@renderer/common/points'\nimport {\n CELLDL_BACKGROUND_CLASS,\n CellDLStylesheet,\n CONNECTION_COLOUR,\n OLD_CONNECTION_COLOUR\n} from '@renderer/common/styling'\nimport { svgCircleElement, SVG_URI, svgRectElement } from '@renderer/common/svgUtils'\nimport type { Constructor, StringProperties } from '@renderer/common/types'\n\nimport * as $rdf from '@renderer/metadata/index'\nimport {\n CELLDL,\n CELLDL_DECLARATIONS,\n DCT,\n type NamedNode,\n MetadataPropertiesMap,\n type MetadataPropertyValue,\n OWL,\n RDF\n} from '@renderer/metadata/index'\n\nimport type { Bounds, Extent } from '@editor/geometry/index'\nimport { ShapeIntersections } from '@editor/geometry/intersections'\nimport { CellDLSpatialIndex } from '@editor/geometry/spatialindex'\nimport type { ContainedObject } from '@editor/geometry/spatialindex'\nimport { lengthToPixels } from '@editor/geometry/units'\nimport { type FoundPoint, PointFinder } from '@editor/geometry/pathutils'\n\nimport {\n CellDLAnnotation,\n CellDLComponent,\n CellDLConduit,\n type CellDLConnectedObject,\n CellDLConnection,\n CellDLCompartment,\n CellDLInterface,\n type CellDLObject,\n CELLDL_STYLE_CLASS,\n CellDLUnconnectedPort\n} from '@editor/celldlObjects/index.ts'\n\nimport { setInternalIds } from '@editor/SVGElements/index'\nimport type { BoundedElement } from '@editor/SVGElements/boundedelement'\nimport type { SvgConnection } from '@editor/SVGElements/svgconnection'\n\nimport { type CellDLEditor, notifyChanges } from '@editor/editor/index'\nimport { editGuides } from '@editor/editor/editguides'\nimport { type EditorUndoAction, undoRedo } from '@editor/editor/undoredo'\n\nimport type { ObjectTemplate } from '@editor/components/index'\n\nimport { componentLibraryPlugin } from '@renderer/plugins/index'\n\n//==============================================================================\n\nexport const CELLDL_VERSION = '1.0'\n\n//==============================================================================\n\nfunction DIAGRAM_METADATA() {\n return {\n author: DCT.uri('creator'),\n created: DCT.uri('created'),\n description: DCT.uri('description'),\n modified: DCT.uri('modified'),\n title: DCT.uri('title'),\n celldlVersion: OWL.uri('versionInfo')\n }\n}\n\n//==============================================================================\n\nconst NEW_DIAGRAM_URI = 'file:///tmp/new_file.celldl'\n\n//==============================================================================\n\n// These ids need to come from a schema for CellDL files...\nconst CELLDL_DEFINITIONS_ID = 'celldl-svg-definitions'\nconst CELLDL_METADATA_ID = 'celldl-rdf-metadata'\nconst CELLDL_STYLESHEET_ID = 'celldl-svg-stylesheet'\n\nconst DIAGRAM_MARGIN = 20\n\n//==============================================================================\n\nconst CELLDL_DIAGRAM_ID = 'celldl-diagram-layer'\n\nconst ID_PREFIX = 'ID-'\n\n//==============================================================================\n\nexport class CellDLDiagram {\n #svgDiagram!: SVGSVGElement\n\n #kb = new $rdf.RdfStore()\n #celldlEditor: CellDLEditor\n\n #documentNode: NamedNode\n #documentNS: $rdf.Namespace\n #filePath: string\n\n #diagramMetadata: Record<string, NamedNode>\n #diagramProperties: StringProperties = {}\n\n #currentLayer: SVGGElement | null = null\n #imported: boolean\n #lastIdentifier: number = 0\n #layers: Map<string, SVGGElement> = new Map()\n #objects: Map<string, CellDLObject> = new Map()\n #orderedLayerIds: string[] = []\n #spatialIndex = new CellDLSpatialIndex()\n\n constructor(filePath: string, celldlData: string, celldlEditor: CellDLEditor, importSvg: boolean = false) {\n this.#diagramMetadata = DIAGRAM_METADATA()\n this.#filePath = filePath\n this.#celldlEditor = celldlEditor\n this.#imported = importSvg\n if (this.#filePath !== '') {\n let documentUri = encodeURI(this.#filePath)\n if (\n !documentUri.startsWith('file:') &&\n !documentUri.startsWith('http:') &&\n !documentUri.startsWith('https:')\n ) {\n documentUri = `file://${documentUri}`\n }\n this.#documentNode = $rdf.namedNode(documentUri)\n this.#documentNS = new $rdf.Namespace(`${documentUri}#`)\n this.#loadCellDL(celldlData)\n this.#loadMetadata()\n } else {\n this.#documentNode = $rdf.namedNode(NEW_DIAGRAM_URI)\n this.#documentNS = new $rdf.Namespace(`${NEW_DIAGRAM_URI}#`)\n if (importSvg) {\n this.#importSvg(celldlData)\n } else {\n this.#newDiagram()\n }\n this.#initaliseMetadata()\n }\n this.#setLastIdentifier()\n this.#setupDefines()\n this.#setStylesheet()\n componentLibraryPlugin.newDocument(this.#documentNode.uri, this.#kb)\n }\n\n finishSetup() {\n // Called when the loaded diagram has been drawn as SVG\n this.#loadComponents()\n this.#loadInterfaces()\n this.#loadConduits()\n this.#loadConnections()\n this.#loadAnnotations()\n if (this.#imported) {\n // We want the file to be flagged as modified\n notifyChanges()\n }\n }\n\n async edit() {\n await this.#celldlEditor.editDiagram(this)\n }\n\n get editorFrame() {\n return this.#celldlEditor.editorFrame\n }\n\n get metadata(): StringProperties {\n return Object.keys(this.#diagramProperties)\n .filter((key) => key in this.#diagramMetadata)\n .reduce((obj: Record<string, any>, key: string) => {\n obj[key] = this.#diagramProperties[key]\n return obj\n }, {})\n }\n set metadata(data: StringProperties) {\n Object.keys(data)\n .filter((key) => key in this.#diagramMetadata)\n .forEach((key) => {\n // @ts-expect-error: `key` is a valid key for `data`\n this.#diagramProperties[key] = data[key]\n })\n notifyChanges()\n }\n\n get rdfStore() {\n return this.#kb\n }\n\n get svgDiagram() {\n return this.#svgDiagram\n }\n\n get uri(): string {\n return this.#documentNode.value\n }\n\n domToSvgCoords(domCoords: PointLike): DOMPoint {\n // Transform from screen coordinates to SVG coordinates\n const dom_to_svg_transform: DOMMatrix | undefined = this.#svgDiagram?.getScreenCTM()?.inverse()\n return DOMPoint.fromPoint(domCoords).matrixTransform(dom_to_svg_transform)\n }\n\n svgToDomCoords(svgCoords: PointLike): DOMPoint {\n // Transform from SVG coordinates to screen coordinates\n const svg_to_dom_transform: DOMMatrix | undefined = this.#svgDiagram?.getScreenCTM() as DOMMatrix\n return DOMPoint.fromPoint(svgCoords).matrixTransform(svg_to_dom_transform)\n }\n\n makeUri(id: string): NamedNode {\n return this.#documentNS.uri(id)\n }\n\n #nextIdentifier(): string {\n this.#lastIdentifier += 1\n return `${ID_PREFIX}${this.#lastIdentifier.toString().padStart(8, '0')}`\n }\n\n removeKnowledge(subject: NamedNode, predicates: NamedNode[]) {\n for (const predicate of predicates) {\n for (const stmt of this.#kb.statementsMatching(subject, predicate, null)) {\n if ($rdf.isBlankNode(stmt.object)) {\n // @ts-expect-error: `stmt.object` is a BlankNode\n this.#kb.removeStatements(stmt.object, null, null)\n }\n }\n this.#kb.removeStatements(subject, predicate, null)\n }\n }\n\n #loadDiagramProperties() {\n for (const [key, property] of Object.entries(this.#diagramMetadata)) {\n for (const stmt of this.#kb.statementsMatching(this.#documentNode, property, null)) {\n this.#diagramProperties[key] = stmt.object.value\n break\n }\n }\n }\n\n #saveDiagramProperties() {\n if (!('created' in this.#diagramProperties)) {\n this.#diagramProperties.created = new Date(Date.now()).toISOString()\n } else {\n this.#diagramProperties.modified = new Date(Date.now()).toISOString()\n }\n for (const [key, property] of Object.entries(this.#diagramMetadata)) {\n this.#kb.removeStatements(this.#documentNode, property, null)\n if (key in this.#diagramProperties) {\n const value = this.#diagramProperties[key]\n if (value && this.#documentNode) {\n this.#kb.add(this.#documentNode, property, $rdf.literal(value))\n }\n }\n }\n }\n\n #setLastIdentifier() {\n for (const element of this.#svgDiagram.querySelectorAll(`[id]`)) {\n if (element.id.startsWith(ID_PREFIX)) {\n const parts = element.id.substring(ID_PREFIX.length).split('-')\n if (parts.length) {\n const lastIdentifier = +parts[0]\n if (lastIdentifier > this.#lastIdentifier) {\n this.#lastIdentifier = lastIdentifier\n }\n }\n }\n }\n }\n\n #setupDefines() {\n // Make sure there is a <defs> and it has a arrow markers for connections\n // (and also a `free-end-connector` ??)\n let defsElement = this.#svgDiagram.getElementById(CELLDL_DEFINITIONS_ID)\n if (defsElement === null) {\n this.#svgDiagram.insertAdjacentHTML('afterbegin', `<defs></defs>`)\n defsElement = this.#svgDiagram.firstChild as SVGDefsElement\n defsElement.id = CELLDL_DEFINITIONS_ID\n defsElement.insertAdjacentHTML('afterbegin', componentLibraryPlugin.svgDefinitions())\n }\n }\n\n #setStylesheet() {\n const css = `${CellDLStylesheet}${componentLibraryPlugin.styleRules()}`\n let styleElement = this.#svgDiagram.querySelector(\n `defs#${CELLDL_DEFINITIONS_ID} > style#${CELLDL_STYLESHEET_ID}`\n )\n if (styleElement === null) {\n const defsElement = this.#svgDiagram.getElementById(CELLDL_DEFINITIONS_ID)\n styleElement = document.createElementNS(SVG_URI, 'style')\n styleElement.id = CELLDL_STYLESHEET_ID\n defsElement.prepend(styleElement)\n styleElement.textContent = css\n }\n }\n\n objectById(id: string): CellDLObject | null {\n return this.#objects.get(id) || null\n }\n\n #saveMetadata(svgDiagram: SVGSVGElement, metadata: string) {\n let metadataElement = svgDiagram.getElementById(CELLDL_METADATA_ID) as SVGMetadataElement\n if (metadataElement === null) {\n svgDiagram.insertAdjacentHTML('afterbegin', `<metadata id=\"${CELLDL_METADATA_ID}\"></metadata>`)\n metadataElement = svgDiagram.getElementById(CELLDL_METADATA_ID) as SVGMetadataElement\n }\n const parser = new DOMParser()\n const xmlDocument = parser.parseFromString('<xml></xml>', 'application/xml')\n const metadataContent = xmlDocument.createCDATASection(metadata)\n metadataElement.replaceChildren(metadataContent)\n metadataElement.dataset.contentType = $rdf.TurtleContentType\n }\n\n #importSvg(svgData: string) {\n this.#loadSvgDiagram(svgData)\n\n // Put all existing content into group with class of CELLDL_BACKGROUND_CLASS\n let backgroundGroup: SVGGraphicsElement | null | undefined\n const backgroundElements: SVGGraphicsElement[] = []\n const children = this.#svgDiagram.children\n for (let index = 0; index < children.length; ++index) {\n // biome-ignore lint/style/noNonNullAssertion: index is in range\n const child = children[index]!\n if (child.tagName !== 'defs') {\n backgroundElements.push(child as SVGGraphicsElement)\n if (child.tagName === 'g' && backgroundGroup === undefined) {\n backgroundGroup = child as SVGGraphicsElement\n } else {\n backgroundGroup = null\n }\n }\n }\n if (!backgroundGroup) {\n backgroundGroup = document.createElementNS(SVG_URI, 'g')\n this.#svgDiagram.appendChild(backgroundGroup)\n for (const child of backgroundElements) {\n backgroundGroup.appendChild(child)\n }\n }\n backgroundGroup.setAttribute('class', CELLDL_BACKGROUND_CLASS)\n this.#setLayer(CELLDL_DIAGRAM_ID)\n }\n\n #loadCellDL(celldlData: string) {\n this.#loadSvgDiagram(celldlData)\n this.#findLayers()\n this.#setLayer(CELLDL_DIAGRAM_ID)\n }\n\n #loadSvgDiagram(svgData: string) {\n const parser = new DOMParser()\n const svgDocument = parser.parseFromString(svgData, 'image/svg+xml')\n const svgDiagram = <SVGSVGElement>svgDocument.firstElementChild\n if (svgDiagram.hasAttribute('width') && svgDiagram.hasAttribute('height')) {\n const width = lengthToPixels(<string>svgDiagram.getAttribute('width'))\n const height = lengthToPixels(<string>svgDiagram.getAttribute('height'))\n if (width !== null && height !== null) {\n svgDiagram.attributes.removeNamedItem('width')\n svgDiagram.attributes.removeNamedItem('height')\n if (!svgDiagram.hasAttribute('viewBox')) {\n svgDiagram.setAttribute('viewBox', `0 0 ${width} ${height}`)\n }\n }\n }\n // Tweak the colour of <path> elements in existing CellDL files so they show\n // better in dark mode.\n const strokedPaths = svgDiagram.querySelectorAll(`path[stroke=\"${OLD_CONNECTION_COLOUR}\"]`)\n for (let index = 0; index < strokedPaths.length; ++index) {\n const path = strokedPaths[index]!\n path.setAttribute('stroke', CONNECTION_COLOUR)\n }\n this.#svgDiagram = svgDiagram\n }\n\n #newDiagram() {\n const windowSize = this.#celldlEditor.windowSize\n const svgDiagram = document.createElementNS(SVG_URI, 'svg')\n svgDiagram.setAttribute('viewBox', `0 0 ${windowSize[0]} ${windowSize[1]}`)\n this.#svgDiagram = svgDiagram\n this.#setLayer(CELLDL_DIAGRAM_ID)\n }\n\n #setLayer(layerId: string) {\n let newLayer = <SVGGElement>this.#svgDiagram.querySelector(`svg > g.${CELLDL_STYLE_CLASS.Layer}[id=\"${layerId}\"]`)\n if (newLayer === null) {\n newLayer = document.createElementNS(SVG_URI, 'g')\n newLayer.id = layerId\n newLayer.setAttribute('class', CELLDL_STYLE_CLASS.Layer)\n this.#svgDiagram.appendChild(newLayer)\n this.#layers.set(layerId, newLayer)\n this.#orderedLayerIds.push(layerId)\n }\n this.#currentLayer = newLayer\n }\n\n #findLayers() {\n for (const layer of this.#svgDiagram.querySelectorAll(`g.${CELLDL_STYLE_CLASS.Layer}[id]`)) {\n this.#layers.set(layer.id, <SVGGElement>layer)\n this.#orderedLayerIds.push(layer.id)\n }\n }\n\n #initaliseMetadata() {\n this.#kb.add(this.#documentNode, RDF.uri('type'), CELLDL.uri('Document'))\n this.#diagramProperties.celldlVersion = CELLDL_VERSION\n }\n\n #loadMetadata() {\n const metadataElement = this.#svgDiagram.getElementById(CELLDL_METADATA_ID) as SVGMetadataElement\n if (\n metadataElement &&\n (!('contentType' in metadataElement.dataset) || metadataElement.dataset.contentType === $rdf.TurtleContentType)\n ) {\n const childNodes = metadataElement.childNodes\n for (let index = 0; index < childNodes.length; ++index) {\n // biome-ignore lint/style/noNonNullAssertion: index is in range\n const childNode = childNodes[index]!\n if (childNode.nodeName === '#cdata-section') {\n this.#kb.load(this.#documentNode.uri, (<CDATASection>childNode).data, $rdf.TurtleContentType)\n break\n }\n }\n }\n if (!this.#kb.contains(this.#documentNode, RDF.uri('type'), CELLDL.uri('Document'))) {\n throw new Error(`${this.#filePath} metadata doesn't describe a valid CellDL document`)\n }\n this.#loadDiagramProperties()\n if ('celldlVersion' in this.#diagramProperties) {\n if (this.#diagramProperties.celldlVersion !== CELLDL_VERSION) {\n throw new Error(\n `${this.#filePath} metadata version ${this.#diagramProperties.celldlVersion} is not compatible with editor`\n )\n }\n } else {\n this.#diagramProperties.celldlVersion = CELLDL_VERSION\n }\n }\n\n #trimSVGDiagram(svgDiagram: SVGSVGElement): Extent | null {\n const bounds = (<SVGGraphicsElement[]>(\n [...svgDiagram.children].filter(\n (child) => 'getBBox' in child && !child.classList.contains('editor-specific')\n )\n ))\n .map((child) => child.getBBox())\n .reduce(\n (bounds, bbox) => {\n return bbox.width > 0 && bbox.height > 0\n ? {\n xMin: Math.min(bounds.xMin, bbox.x),\n xMax: Math.max(bounds.xMax, bbox.x + bbox.width),\n yMin: Math.min(bounds.yMin, bbox.y),\n yMax: Math.max(bounds.yMax, bbox.y + bbox.height)\n }\n : bounds\n },\n {\n xMin: Infinity,\n xMax: -Infinity,\n yMin: Infinity,\n yMax: -Infinity\n }\n )\n const round10 = (x: number) => 10 * Math.round(x / 10)\n if (bounds.xMin < bounds.xMax && bounds.yMin < bounds.yMax) {\n return [\n round10(bounds.xMin - DIAGRAM_MARGIN),\n round10(bounds.yMin - DIAGRAM_MARGIN),\n round10(bounds.xMax - bounds.xMin + 2 * DIAGRAM_MARGIN),\n round10(bounds.yMax - bounds.yMin + 2 * DIAGRAM_MARGIN)\n ]\n }\n return null\n }\n\n export(format: string) {\n return {\n error: `Unsupported export format: ${format}`\n }\n }\n\n async serialise(): Promise<string> {\n if (this.#svgDiagram !== null) {\n // Remove active/selected class from elements\n this.#celldlEditor.resetObjectStates()\n\n // Clone our diagram and remove editor specific elements from the SVG\n const svgDiagram = this.#svgDiagram.cloneNode(true) as SVGSVGElement\n svgDiagram.removeAttribute('style')\n this.#removeEditorElements(svgDiagram)\n\n // Remove extraneous whitespace around the diagram\n const trimmedViewbox = this.#trimSVGDiagram(this.#svgDiagram)\n if (trimmedViewbox) {\n svgDiagram.setAttribute('viewBox', trimmedViewbox.map((n) => String(n)).join(' '))\n }\n\n // Add statements about the document from plugins\n componentLibraryPlugin.addDocumentMetadataToStore(this.rdfStore)\n\n // Make sure metadata is up-to-date\n this.#saveDiagramProperties()\n\n // Serialise metadata as Turtle into CDATA section in <metadata> element\n const metadata: string = await this.#serialiseMetadata($rdf.TurtleContentType)\n if (metadata !== '') {\n this.#saveMetadata(svgDiagram, metadata)\n }\n\n // Serialise the actual diagram\n const svgSerializer = new XMLSerializer()\n const svgData = svgSerializer.serializeToString(svgDiagram)\n return svgData\n }\n return ''\n }\n\n async #serialiseMetadata(metadataFormat: $rdf.ContentType): Promise<string> {\n let metadata: string = ''\n try {\n metadata = await this.#kb.serialise(this.#documentNode.uri, metadataFormat, CELLDL_DECLARATIONS)\n } catch (err) {\n console.log(err)\n }\n return metadata\n }\n\n #setUniqueId(svgElement: SVGGraphicsElement) {\n svgElement.id = this.#nextIdentifier()\n setInternalIds(svgElement)\n }\n\n addEditorElement(element: SVGElement, prepend = false) {\n if (prepend) {\n this.#svgDiagram.prepend(element)\n } else {\n this.#svgDiagram.append(element)\n }\n element.classList.add('editor-specific')\n }\n\n #removeEditorElements(svgDiagram: SVGSVGElement) {\n // We save matched elements as an array because ``getElementsByClassName()``\n // returns a live collection\n const editorSpecificElements = Array.from(svgDiagram.getElementsByClassName('editor-specific'))\n for (const element of editorSpecificElements) {\n element.remove()\n }\n }\n\n associatedObjects(object: CellDLObject): CellDLObject[] {\n const objects: CellDLObject[] = []\n for (const associated of this.#associatedObjects(object)) {\n if (associated?.svgElement) {\n objects.push(associated)\n }\n }\n return objects\n }\n\n #associatedObjects(object: CellDLObject | undefined): Set<CellDLObject> {\n let result: Set<CellDLObject> = new Set()\n if (object) {\n if (object.isConnection) {\n result = new Set((<CellDLConnection>object).connectedObjects)\n } else if (object.isConnectable) {\n const objects: CellDLObject[] = []\n for (const connection of (<CellDLConnectedObject>object).connections.values()) {\n objects.push(connection)\n const associatedObjects = this.#associatedObjects(connection)\n objects.push(...associatedObjects)\n }\n result = new Set(objects)\n result.delete(object)\n }\n }\n return result\n }\n\n #addMoveableObject(object: CellDLObject) {\n this.#objects.set(object.id, object)\n this.#spatialIndex.add(object)\n }\n\n #addConnection(connection: CellDLConnection) {\n this.#objects.set(connection.id, connection)\n }\n\n addConnectedObject(svgElement: SVGGraphicsElement, template: ObjectTemplate): CellDLConnectedObject | null {\n const object = this.#addNewObject(svgElement, template) as CellDLConnectedObject\n if (object) {\n this.#addMoveableObject(object)\n }\n notifyChanges()\n return object\n }\n\n addNewConnection(svgElement: SVGGraphicsElement, template: ObjectTemplate): CellDLConnection {\n const connection = this.#addNewObject(svgElement, template) as CellDLConnection\n // let the plugins know\n componentLibraryPlugin.addNewConnection(connection, this.rdfStore)\n notifyChanges()\n return connection\n }\n\n createCompartment(bounds: Bounds, objects: CellDLObject[]): CellDLCompartment {\n // we could simply pass ids into #objects\n const compartmentGroup = document.createElementNS(SVG_URI, 'g')\n compartmentGroup.id = this.#nextIdentifier()\n const cornerPoints = bounds.asPoints()\n const compartmentRect = svgRectElement(cornerPoints[0], cornerPoints[1], { class: 'compartment' })\n const compartmentShape = new ShapeIntersections(compartmentRect)\n compartmentGroup.appendChild(compartmentRect)\n const objectIds = new Set(objects.map((obj) => obj.id))\n const interfacePorts: CellDLInterface[] = []\n for (const object of objects) {\n if (\n !object.isConnection ||\n objectIds.isSupersetOf(new Set((<CellDLConnection>object).connectedObjects.map((obj) => obj.id)))\n ) {\n // Component or connection all inside bounds\n compartmentGroup.appendChild(object.celldlSvgElement!.svgElement)\n if (!object.isConnection) {\n this.#spatialIndex.remove(object)\n }\n } else {\n // Connection that crosses the compartment's boundary\n const connectionPorts = this.#addConnectionToCompartment(\n compartmentGroup,\n compartmentShape,\n objectIds,\n <CellDLConnection>object\n )\n interfacePorts.push(...connectionPorts)\n }\n }\n const compartment = this.#addNewObject(\n compartmentGroup, {\n CellDLClass: CellDLCompartment,\n metadataProperties: MetadataPropertiesMap.fromProperties([\n [CELLDL.uri('hasInterface'), interfacePorts.map((p) => p.uri)]\n ])\n },\n false\n ) as CellDLCompartment\n if (compartment) {\n this.#addMoveableObject(compartment)\n }\n notifyChanges()\n return compartment\n }\n\n #createConnection(connectedObjects: CellDLConnectedObject[], svgElements: SVGGraphicsElement[]): CellDLConnection {\n let svgElement: SVGGraphicsElement\n if (svgElements.length === 0) {\n console.log('No SVG elements to connect...')\n }\n if (svgElements.length > 1) {\n svgElement = document.createElementNS(SVG_URI, 'g')\n svgElement.classList.add(CELLDL_STYLE_CLASS.Connection)\n svgElements.forEach((element) => { element.classList.add('parent-id') })\n svgElements.forEach((element) => { element.classList.remove('selected') })\n svgElements.forEach((element) => { svgElement.appendChild(element) })\n } else {\n svgElement = svgElements[0]!\n svgElement.classList.remove('parent-id', 'selected')\n }\n if (!svgElement.hasAttribute('id')) {\n svgElement.setAttribute('id', this.#nextIdentifier())\n }\n // what ComponentPlugin was used to create the object?\n const metadataProperties = MetadataPropertiesMap.fromProperties([\n [CELLDL.uri('hasSource'), connectedObjects[0]!.uri],\n [CELLDL.uri('hasTarget'), connectedObjects[connectedObjects.length - 1]!.uri],\n [CELLDL.uri('hasIntermediate'), connectedObjects.slice(1, -1).map((c) => c.uri)]\n ])\n const connection = this.#addNewObject(\n svgElement, {\n CellDLClass: CellDLConnection,\n metadataProperties\n },\n false\n ) as CellDLConnection\n this.#addConnection(connection)\n // let the plugins know\n componentLibraryPlugin.addNewConnection(connection, this.rdfStore)\n return connection\n }\n\n #createPort<T extends CellDLConnectedObject>(newObjectClass: Constructor<CellDLObject>, point: PointLike): T {\n const connector = this.#addNewObject(\n svgCircleElement(point, 0, { id: this.#nextIdentifier() }), {\n CellDLClass: newObjectClass,\n metadataProperties: new MetadataPropertiesMap()\n },\n false\n ) as T\n this.#addMoveableObject(connector)\n return connector\n }\n\n createInterfacePort(point: PointLike): CellDLInterface {\n return this.#createPort<CellDLInterface>(CellDLInterface, point)\n }\n\n createUnconnectedPort(point: PointLike): CellDLUnconnectedPort {\n return this.#createPort<CellDLUnconnectedPort>(CellDLUnconnectedPort, point)\n }\n\n #addConnectionToCompartment(\n compartmentGroup: SVGGElement,\n compartmentShape: ShapeIntersections,\n objectIds: Set<string>,\n connection: CellDLConnection\n ): CellDLInterface[] {\n // The connection might intersect the compartment's boundary multiple times, once\n // for each path element, resulting in multiple new connections, both inside and\n // outside of the new compartment. e.g:\n //\n // =========================\n // || ||\n // || +----R R-----+ ||\n // ====1====2===3=====4=====\n // | R---+ |\n // | |\n // A B\n //\n // Connection [A, R, R, R, B] would become:\n //\n // [1, R, 2], [3, R, 4] inside\n // [A, 1], [2, R, 3], [4, B] outside\n //\n // and:\n // +-------K------+\n // R R\n // | |\n // ====1==============2=====\n // || | | ||\n // || A B ||\n // =========================\n //\n // Connection [A, R, K, B] would become:\n //\n // [A, 1], [2, B] inside\n // [1, R, K, R, 2] outside\n //\n const interfacePorts: CellDLInterface[] = []\n const connectors = connection.connectedObjects\n const pathElements = (<SvgConnection>connection.celldlSvgElement!).pathElements\n const pathStart = connectors[0]!\n const newConnectors: CellDLConnectedObject[] = []\n newConnectors.push(pathStart)\n const newElements: SVGPathElement[] = []\n\n // The connection will be split into several, so first remove the original one\n this.removeObject(connection)\n\n let currentPathInside = objectIds.has(pathStart.id)\n let pathEnd: CellDLConnectedObject\n for (let pathElementIndex = 0; pathElementIndex < pathElements.length; pathElementIndex += 1) {\n const pathElement = pathElements[pathElementIndex]!\n pathEnd = connectors[pathElementIndex + 1]!\n if (\n (currentPathInside && objectIds.has(pathEnd.id)) ||\n (!currentPathInside && !objectIds.has(pathEnd.id))\n ) {\n newConnectors.push(pathEnd)\n newElements.push(pathElement.svgElement)\n continue\n }\n const pathIntersections = compartmentShape.intersections(pathElement.svgElement)\n if (pathIntersections.length % 2 === 0) {\n console.warn(`Path unexpectedly intersects selection boundary...`)\n } else {\n let splitPoint: FoundPoint | null = null\n let closestOffset = currentPathInside ? -Infinity : Infinity\n const pointFinder = new PointFinder(pathElement.pathArray)\n // We use the pathElement's intersection which is closest to the inside end\n // for the new interface's location\n for (const point of pathIntersections) {\n const foundPoint = pointFinder.findPoint(point)\n if (\n foundPoint.offset !== null &&\n ((!currentPathInside && foundPoint.offset < closestOffset) ||\n (currentPathInside && foundPoint.offset > closestOffset))\n ) {\n closestOffset = foundPoint.offset\n splitPoint = foundPoint\n }\n }\n if (splitPoint === null) {\n console.warn(`Path unexpectedly doesn't intersect selection boundary...`)\n } else {\n // Create an Interface at the split point\n const interfacePort = this.createInterfacePort(splitPoint.point)\n interfacePorts.push(interfacePort)\n newConnectors.push(interfacePort)\n const interfaceElement = <BoundedElement>interfacePort.celldlSvgElement!\n compartmentGroup.appendChild(interfaceElement.svgElement)\n const tailSvgElement = pathElement.splitPath(splitPoint, interfaceElement)\n const headSvgElement = pathElement.svgElement.cloneNode(true) as SVGPathElement\n headSvgElement.removeAttribute('id')\n newElements.push(headSvgElement)\n const newConnection = this.#createConnection(newConnectors, newElements)\n this.#connectCompartmentConnection(newConnection, compartmentGroup, currentPathInside)\n newConnectors.length = 0\n newConnectors.push(interfacePort)\n newConnectors.push(pathEnd)\n newElements.length = 0\n newElements.push(tailSvgElement)\n currentPathInside = !currentPathInside\n }\n }\n }\n if (newConnectors.length) {\n // && newElements.length ?? Or newConnectors.length > 1\n const newConnection = this.#createConnection(newConnectors, newElements)\n this.#connectCompartmentConnection(newConnection, compartmentGroup, currentPathInside)\n }\n\n return interfacePorts\n }\n\n #connectCompartmentConnection(\n connection: CellDLConnection,\n compartmentGroup: SVGGElement,\n currentPathInside: boolean\n ) {\n if (currentPathInside) {\n compartmentGroup.appendChild(connection.celldlSvgElement!.svgElement)\n } else {\n if (connection.source?.isInterface) {\n ;(<CellDLInterface>connection.source!).addExternalConnection(connection)\n }\n if (connection.target?.isInterface) {\n ;(<CellDLInterface>connection.target!).addExternalConnection(connection)\n }\n }\n }\n\n #addNewObject(svgElement: SVGGraphicsElement, objectTemplate: ObjectTemplate, assignId = true) {\n const CellDLClass = objectTemplate.CellDLClass\n if (assignId) {\n this.#setUniqueId(svgElement)\n }\n // @ts-expect-error:\n svgElement.classList.add(CellDLClass.celldlStyleClass)\n if (this.#currentLayer) {\n this.#currentLayer.appendChild(svgElement)\n }\n // This is where we create an instanced object of its objectTemplate's class\n const celldlObject = new CellDLClass(this.makeUri(svgElement.id), objectTemplate, {}, this)\n if (celldlObject.isConnection) {\n this.#addConnection(<CellDLConnection>celldlObject)\n }\n celldlObject.assignSvgElement(svgElement, true)\n const undoAction = undoRedo.undoInsertAction()\n undoAction.addObjectDetails(celldlObject)\n // WIP... undoAction.addKnowledge(celldlObject.knowledge)\n return celldlObject\n }\n\n #setObjectSvgElement(celldlObject: CellDLObject): boolean {\n const svgElement = <SVGGraphicsElement>this.#svgDiagram.getElementById(celldlObject.id)\n if (svgElement) {\n celldlObject.assignSvgElement(svgElement, false)\n if (celldlObject.hasEditGuides) {\n editGuides.addGuide(<CellDLComponent>celldlObject)\n }\n return true\n }\n console.error(`Missing SVG element for ${celldlObject.id}`)\n return false\n }\n\n #celldlObjectFromRdf<T extends CellDLObject>(CellDLClass: Constructor<T>, subject: $rdf.SubjectType, options = {}): T {\n const metadata = this.#kb.metadataPropertiesForSubject(subject)\n const objectTemplate = componentLibraryPlugin.getObjectTemplate(subject, metadata, this.#kb)\n return new CellDLClass(subject, objectTemplate, options, this, false)\n }\n\n #subjectsOfType(parentType: NamedNode): [$rdf.SubjectType, NamedNode][] {\n return this.#kb.subjectsOfType(parentType).filter((st) => st[0].value.startsWith(this.#documentNode.value))\n }\n\n #loadObject<T extends CellDLObject>(type: NamedNode, CellDLClass: Constructor<T>) {\n for (const subjectType of this.#subjectsOfType(type)) {\n if (subjectType[1].equals(type)) {\n const object = this.#celldlObjectFromRdf(CellDLClass, subjectType[0])\n if (this.#setObjectSvgElement(object)) {\n this.#addMoveableObject(object)\n }\n }\n }\n }\n\n #loadAnnotations() {\n this.#loadObject(CELLDL.uri('Annotation'), CellDLAnnotation)\n }\n\n #loadComponents() {\n this.#loadObject(CELLDL.uri('Component'), CellDLComponent)\n this.#loadObject(CELLDL.uri('UnconnectedPort'), CellDLUnconnectedPort)\n }\n\n #loadInterfaces() {\n this.#loadObject(CELLDL.uri('Connector'), CellDLInterface)\n }\n\n #loadConduits() {\n this.#loadObject(CELLDL.uri('Conduit'), CellDLConduit)\n }\n\n getConnector(connectorNode: MetadataPropertyValue | null): CellDLConnectedObject | null {\n // @ts-expect-error: `value` property exists on a NamedNode\n if (connectorNode && $rdf.isNamedNode(connectorNode) && connectorNode.value.startsWith(this.#documentNode.value)) {\n const connectorId = (<NamedNode>connectorNode).id()\n const connector = this.#objects.get(connectorId) as CellDLConnectedObject\n return connector?.isConnectable ? connector : null\n }\n return null\n }\n\n #loadConnections() {\n this.#loadObject(CELLDL.uri('Connection'), CellDLConnection)\n }\n\n objectsContainedIn(compartment: Bounds): ContainedObject[] {\n return this.#spatialIndex.objectsContainedIn(compartment)\n }\n\n objectMoved(celldlObject: CellDLObject) {\n this.#spatialIndex.update(celldlObject)\n notifyChanges()\n }\n\n deleteInsertedObject(undoAction: EditorUndoAction) {\n for (const objectDetails of [...undoAction.objectDetails].reverse()) {\n const celldlObject = objectDetails.object\n if (celldlObject.isComponent) {\n editGuides.removeGuide(<CellDLComponent>celldlObject)\n }\n celldlObject.celldlSvgElement!.remove() // Will remove SVG element from DOM\n const statements = this.#kb.statementsMatching(celldlObject.uri)\n this.#kb.removeStatementList(statements)\n this.#objects.delete(celldlObject.id)\n }\n }\n\n insertDeletedObject(undoAction: EditorUndoAction) {\n // Add back objects in reverse order, so last removed is first reinserted\n for (const objectDetails of [...undoAction.objectDetails].reverse()) {\n objectDetails.insertSvg(this.svgDiagram) // adds SVG element to DOM\n const celldlObject = objectDetails.object\n if (celldlObject.isComponent) {\n editGuides.addGuide(<CellDLComponent>celldlObject)\n }\n this.#objects.set(celldlObject.id, celldlObject)\n }\n this.#kb.addStatementList(undoAction.knowledge)\n }\n\n removeObject(celldlObject: CellDLObject) {\n if (this.#objects.has(celldlObject.id)) {\n const undoAction = undoRedo.undoDeleteAction()\n this.#removeObject(celldlObject, undoAction)\n notifyChanges()\n }\n }\n\n #removeObject(celldlObject: CellDLObject, undoAction: EditorUndoAction) {\n undoAction.addObjectDetails(celldlObject)\n if (celldlObject.isComponent) {\n editGuides.removeGuide(<CellDLComponent>celldlObject)\n }\n celldlObject.celldlSvgElement!.remove() // Will remove SVG element from DOM\n const statements = this.#kb.statementsMatching(celldlObject.uri)\n undoAction.addKnowledge(statements)\n this.#kb.removeStatementList(statements)\n this.#objects.delete(celldlObject.id)\n this.#spatialIndex.remove(celldlObject)\n if (celldlObject.isConnectable) {\n const connector = <CellDLConnectedObject>celldlObject\n const connections = (<CellDLConnectedObject>celldlObject).connections\n for (const connection of connections) {\n this.#removeObject(connection, undoAction)\n componentLibraryPlugin.deleteConnection(connection, this.rdfStore)\n connector.deleteConnection(connection)\n }\n }\n if (celldlObject.isConnection) {\n const connection = <CellDLConnection>celldlObject\n componentLibraryPlugin.deleteConnection(connection, this.rdfStore)\n for (const connector of connection.connectedObjects) {\n connector.deleteConnection(connection)\n }\n }\n }\n}\n\n//==============================================================================\n","var Base = {\n _loadedStyleNames: new Set(),\n getLoadedStyleNames: function getLoadedStyleNames() {\n return this._loadedStyleNames;\n },\n isStyleNameLoaded: function isStyleNameLoaded(name) {\n return this._loadedStyleNames.has(name);\n },\n setLoadedStyleName: function setLoadedStyleName(name) {\n this._loadedStyleNames.add(name);\n },\n deleteLoadedStyleName: function deleteLoadedStyleName(name) {\n this._loadedStyleNames[\"delete\"](name);\n },\n clearLoadedStyleNames: function clearLoadedStyleNames() {\n this._loadedStyleNames.clear();\n }\n};\n\nexport { Base as default };\n//# sourceMappingURL=index.mjs.map\n","import { Theme, ThemeService } from '@primeuix/styled';\nimport { findSingle, isClient } from '@primeuix/utils/dom';\nimport { toFlatCase, isFunction, isNotEmpty, getKeyValue, isString, isArray, resolve } from '@primeuix/utils/object';\nimport { uuid } from '@primeuix/utils/uuid';\nimport Base from '@primevue/core/base';\nimport BaseStyle from '@primevue/core/base/style';\nimport { mergeProps } from 'vue';\n\nvar BaseComponentStyle = BaseStyle.extend({\n name: 'common'\n});\n\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _toArray(r) { return _arrayWithHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableRest(); }\nfunction _iterableToArray(r) { if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r); }\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nvar script = {\n name: 'BaseComponent',\n props: {\n pt: {\n type: Object,\n \"default\": undefined\n },\n ptOptions: {\n type: Object,\n \"default\": undefined\n },\n unstyled: {\n type: Boolean,\n \"default\": undefined\n },\n dt: {\n type: Object,\n \"default\": undefined\n }\n },\n inject: {\n $parentInstance: {\n \"default\": undefined\n }\n },\n watch: {\n isUnstyled: {\n immediate: true,\n handler: function handler(newValue) {\n if (!newValue) {\n this._loadCoreStyles();\n this._themeChangeListener(this._loadCoreStyles); // update styles with theme settings\n }\n }\n },\n dt: {\n immediate: true,\n handler: function handler(newValue) {\n var _this = this;\n if (newValue) {\n this._loadScopedThemeStyles(newValue);\n this._themeChangeListener(function () {\n return _this._loadScopedThemeStyles(newValue);\n });\n } else {\n this._unloadScopedThemeStyles();\n }\n }\n }\n },\n scopedStyleEl: undefined,\n rootEl: undefined,\n $attrSelector: undefined,\n beforeCreate: function beforeCreate() {\n var _this$pt, _this$pt2, _this$pt3, _ref, _ref$onBeforeCreate, _this$$primevueConfig, _this$$primevue, _this$$primevue2, _this$$primevue3, _ref2, _ref2$onBeforeCreate;\n var _usept = (_this$pt = this.pt) === null || _this$pt === void 0 ? void 0 : _this$pt['_usept'];\n var originalValue = _usept ? (_this$pt2 = this.pt) === null || _this$pt2 === void 0 || (_this$pt2 = _this$pt2.originalValue) === null || _this$pt2 === void 0 ? void 0 : _this$pt2[this.$.type.name] : undefined;\n var value = _usept ? (_this$pt3 = this.pt) === null || _this$pt3 === void 0 || (_this$pt3 = _this$pt3.value) === null || _this$pt3 === void 0 ? void 0 : _this$pt3[this.$.type.name] : this.pt;\n (_ref = value || originalValue) === null || _ref === void 0 || (_ref = _ref.hooks) === null || _ref === void 0 || (_ref$onBeforeCreate = _ref['onBeforeCreate']) === null || _ref$onBeforeCreate === void 0 || _ref$onBeforeCreate.call(_ref);\n var _useptInConfig = (_this$$primevueConfig = this.$primevueConfig) === null || _this$$primevueConfig === void 0 || (_this$$primevueConfig = _this$$primevueConfig.pt) === null || _this$$primevueConfig === void 0 ? void 0 : _this$$primevueConfig['_usept'];\n var originalValueInConfig = _useptInConfig ? (_this$$primevue = this.$primevue) === null || _this$$primevue === void 0 || (_this$$primevue = _this$$primevue.config) === null || _this$$primevue === void 0 || (_this$$primevue = _this$$primevue.pt) === null || _this$$primevue === void 0 ? void 0 : _this$$primevue.originalValue : undefined;\n var valueInConfig = _useptInConfig ? (_this$$primevue2 = this.$primevue) === null || _this$$primevue2 === void 0 || (_this$$primevue2 = _this$$primevue2.config) === null || _this$$primevue2 === void 0 || (_this$$primevue2 = _this$$primevue2.pt) === null || _this$$primevue2 === void 0 ? void 0 : _this$$primevue2.value : (_this$$primevue3 = this.$primevue) === null || _this$$primevue3 === void 0 || (_this$$primevue3 = _this$$primevue3.config) === null || _this$$primevue3 === void 0 ? void 0 : _this$$primevue3.pt;\n (_ref2 = valueInConfig || originalValueInConfig) === null || _ref2 === void 0 || (_ref2 = _ref2[this.$.type.name]) === null || _ref2 === void 0 || (_ref2 = _ref2.hooks) === null || _ref2 === void 0 || (_ref2$onBeforeCreate = _ref2['onBeforeCreate']) === null || _ref2$onBeforeCreate === void 0 || _ref2$onBeforeCreate.call(_ref2);\n this.$attrSelector = uuid('pc');\n },\n created: function created() {\n this._hook('onCreated');\n },\n beforeMount: function beforeMount() {\n // @todo - improve performance\n this.rootEl = findSingle(this.$el, \"[data-pc-name=\\\"\".concat(toFlatCase(this.$.type.name), \"\\\"]\"));\n if (this.rootEl) {\n this.$attrSelector && !this.rootEl.hasAttribute(this.$attrSelector) && this.rootEl.setAttribute(this.$attrSelector, '');\n this.rootEl.$pc = _objectSpread({\n name: this.$.type.name,\n attrSelector: this.$attrSelector\n }, this.$params);\n }\n this._loadStyles();\n this._hook('onBeforeMount');\n },\n mounted: function mounted() {\n this._hook('onMounted');\n },\n beforeUpdate: function beforeUpdate() {\n this._hook('onBeforeUpdate');\n },\n updated: function updated() {\n this._hook('onUpdated');\n },\n beforeUnmount: function beforeUnmount() {\n this._hook('onBeforeUnmount');\n },\n unmounted: function unmounted() {\n this._unloadScopedThemeStyles();\n this._hook('onUnmounted');\n },\n methods: {\n _hook: function _hook(hookName) {\n if (!this.$options.hostName) {\n var selfHook = this._usePT(this._getPT(this.pt, this.$.type.name), this._getOptionValue, \"hooks.\".concat(hookName));\n var defaultHook = this._useDefaultPT(this._getOptionValue, \"hooks.\".concat(hookName));\n selfHook === null || selfHook === void 0 || selfHook();\n defaultHook === null || defaultHook === void 0 || defaultHook();\n }\n },\n _mergeProps: function _mergeProps(fn) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key2 = 1; _key2 < _len; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n return isFunction(fn) ? fn.apply(void 0, args) : mergeProps.apply(void 0, args);\n },\n _loadStyles: function _loadStyles() {\n var _this2 = this;\n var _load = function _load() {\n // @todo\n if (!Base.isStyleNameLoaded('base')) {\n BaseStyle.loadCSS(_this2.$styleOptions);\n _this2._loadGlobalStyles();\n Base.setLoadedStyleName('base');\n }\n _this2._loadThemeStyles();\n };\n _load();\n this._themeChangeListener(_load);\n },\n _loadCoreStyles: function _loadCoreStyles() {\n var _this$$style, _this$$style2;\n if (!Base.isStyleNameLoaded((_this$$style = this.$style) === null || _this$$style === void 0 ? void 0 : _this$$style.name) && (_this$$style2 = this.$style) !== null && _this$$style2 !== void 0 && _this$$style2.name) {\n BaseComponentStyle.loadCSS(this.$styleOptions);\n this.$options.style && this.$style.loadCSS(this.$styleOptions);\n Base.setLoadedStyleName(this.$style.name);\n }\n },\n _loadGlobalStyles: function _loadGlobalStyles() {\n /*\n * @todo Add self custom css support;\n * <Panel :pt=\"{ css: `...` }\" .../>\n *\n * const selfCSS = this._getPTClassValue(this.pt, 'css', this.$params);\n * const defaultCSS = this._getPTClassValue(this.defaultPT, 'css', this.$params);\n * const mergedCSS = mergeProps(selfCSS, defaultCSS);\n * isNotEmpty(mergedCSS?.class) && this.$css.loadCustomStyle(mergedCSS?.class);\n */\n\n var globalCSS = this._useGlobalPT(this._getOptionValue, 'global.css', this.$params);\n isNotEmpty(globalCSS) && BaseStyle.load(globalCSS, _objectSpread({\n name: 'global'\n }, this.$styleOptions));\n },\n _loadThemeStyles: function _loadThemeStyles() {\n var _this$$style4, _this$$style5;\n if (this.isUnstyled || this.$theme === 'none') return;\n\n // common\n if (!Theme.isStyleNameLoaded('common')) {\n var _this$$style3, _this$$style3$getComm;\n var _ref3 = ((_this$$style3 = this.$style) === null || _this$$style3 === void 0 || (_this$$style3$getComm = _this$$style3.getCommonTheme) === null || _this$$style3$getComm === void 0 ? void 0 : _this$$style3$getComm.call(_this$$style3)) || {},\n primitive = _ref3.primitive,\n semantic = _ref3.semantic,\n global = _ref3.global,\n style = _ref3.style;\n BaseStyle.load(primitive === null || primitive === void 0 ? void 0 : primitive.css, _objectSpread({\n name: 'primitive-variables'\n }, this.$styleOptions));\n BaseStyle.load(semantic === null || semantic === void 0 ? void 0 : semantic.css, _objectSpread({\n name: 'semantic-variables'\n }, this.$styleOptions));\n BaseStyle.load(global === null || global === void 0 ? void 0 : global.css, _objectSpread({\n name: 'global-variables'\n }, this.$styleOptions));\n BaseStyle.loadTheme(_objectSpread({\n name: 'global-style'\n }, this.$styleOptions), style);\n Theme.setLoadedStyleName('common');\n }\n\n // component\n if (!Theme.isStyleNameLoaded((_this$$style4 = this.$style) === null || _this$$style4 === void 0 ? void 0 : _this$$style4.name) && (_this$$style5 = this.$style) !== null && _this$$style5 !== void 0 && _this$$style5.name) {\n var _this$$style6, _this$$style6$getComp, _this$$style7, _this$$style8;\n var _ref4 = ((_this$$style6 = this.$style) === null || _this$$style6 === void 0 || (_this$$style6$getComp = _this$$style6.getComponentTheme) === null || _this$$style6$getComp === void 0 ? void 0 : _this$$style6$getComp.call(_this$$style6)) || {},\n css = _ref4.css,\n _style = _ref4.style;\n (_this$$style7 = this.$style) === null || _this$$style7 === void 0 || _this$$style7.load(css, _objectSpread({\n name: \"\".concat(this.$style.name, \"-variables\")\n }, this.$styleOptions));\n (_this$$style8 = this.$style) === null || _this$$style8 === void 0 || _this$$style8.loadTheme(_objectSpread({\n name: \"\".concat(this.$style.name, \"-style\")\n }, this.$styleOptions), _style);\n Theme.setLoadedStyleName(this.$style.name);\n }\n\n // layer order\n if (!Theme.isStyleNameLoaded('layer-order')) {\n var _this$$style9, _this$$style9$getLaye;\n var layerOrder = (_this$$style9 = this.$style) === null || _this$$style9 === void 0 || (_this$$style9$getLaye = _this$$style9.getLayerOrderThemeCSS) === null || _this$$style9$getLaye === void 0 ? void 0 : _this$$style9$getLaye.call(_this$$style9);\n BaseStyle.load(layerOrder, _objectSpread({\n name: 'layer-order',\n first: true\n }, this.$styleOptions));\n Theme.setLoadedStyleName('layer-order');\n }\n },\n _loadScopedThemeStyles: function _loadScopedThemeStyles(preset) {\n var _this$$style10, _this$$style10$getPre, _this$$style11;\n var _ref5 = ((_this$$style10 = this.$style) === null || _this$$style10 === void 0 || (_this$$style10$getPre = _this$$style10.getPresetTheme) === null || _this$$style10$getPre === void 0 ? void 0 : _this$$style10$getPre.call(_this$$style10, preset, \"[\".concat(this.$attrSelector, \"]\"))) || {},\n css = _ref5.css;\n var scopedStyle = (_this$$style11 = this.$style) === null || _this$$style11 === void 0 ? void 0 : _this$$style11.load(css, _objectSpread({\n name: \"\".concat(this.$attrSelector, \"-\").concat(this.$style.name)\n }, this.$styleOptions));\n this.scopedStyleEl = scopedStyle.el;\n },\n _unloadScopedThemeStyles: function _unloadScopedThemeStyles() {\n var _this$scopedStyleEl;\n (_this$scopedStyleEl = this.scopedStyleEl) === null || _this$scopedStyleEl === void 0 || (_this$scopedStyleEl = _this$scopedStyleEl.value) === null || _this$scopedStyleEl === void 0 || _this$scopedStyleEl.remove();\n },\n _themeChangeListener: function _themeChangeListener() {\n var callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function () {};\n Base.clearLoadedStyleNames();\n ThemeService.on('theme:change', callback);\n },\n _getHostInstance: function _getHostInstance(instance) {\n return instance ? this.$options.hostName ? instance.$.type.name === this.$options.hostName ? instance : this._getHostInstance(instance.$parentInstance) : instance.$parentInstance : undefined;\n },\n _getPropValue: function _getPropValue(name) {\n var _this$_getHostInstanc;\n return this[name] || ((_this$_getHostInstanc = this._getHostInstance(this)) === null || _this$_getHostInstanc === void 0 ? void 0 : _this$_getHostInstanc[name]);\n },\n _getOptionValue: function _getOptionValue(options) {\n var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return getKeyValue(options, key, params);\n },\n _getPTValue: function _getPTValue() {\n var _this$$primevueConfig2;\n var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var searchInDefaultPT = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;\n var searchOut = /./g.test(key) && !!params[key.split('.')[0]];\n var _ref6 = this._getPropValue('ptOptions') || ((_this$$primevueConfig2 = this.$primevueConfig) === null || _this$$primevueConfig2 === void 0 ? void 0 : _this$$primevueConfig2.ptOptions) || {},\n _ref6$mergeSections = _ref6.mergeSections,\n mergeSections = _ref6$mergeSections === void 0 ? true : _ref6$mergeSections,\n _ref6$mergeProps = _ref6.mergeProps,\n useMergeProps = _ref6$mergeProps === void 0 ? false : _ref6$mergeProps;\n var global = searchInDefaultPT ? searchOut ? this._useGlobalPT(this._getPTClassValue, key, params) : this._useDefaultPT(this._getPTClassValue, key, params) : undefined;\n var self = searchOut ? undefined : this._getPTSelf(obj, this._getPTClassValue, key, _objectSpread(_objectSpread({}, params), {}, {\n global: global || {}\n }));\n var datasets = this._getPTDatasets(key);\n return mergeSections || !mergeSections && self ? useMergeProps ? this._mergeProps(useMergeProps, global, self, datasets) : _objectSpread(_objectSpread(_objectSpread({}, global), self), datasets) : _objectSpread(_objectSpread({}, self), datasets);\n },\n _getPTSelf: function _getPTSelf() {\n var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key3 = 1; _key3 < _len2; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n return mergeProps(this._usePT.apply(this, [this._getPT(obj, this.$name)].concat(args)),\n // Exp; <component :pt=\"{}\"\n this._usePT.apply(this, [this.$_attrsPT].concat(args)) // Exp; <component :pt:[passthrough_key]:[attribute]=\"{value}\" or <component :pt:[passthrough_key]=\"() =>{value}\"\n );\n },\n _getPTDatasets: function _getPTDatasets() {\n var _this$pt4, _this$pt5;\n var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var datasetPrefix = 'data-pc-';\n var isExtended = key === 'root' && isNotEmpty((_this$pt4 = this.pt) === null || _this$pt4 === void 0 ? void 0 : _this$pt4['data-pc-section']);\n return key !== 'transition' && _objectSpread(_objectSpread({}, key === 'root' && _objectSpread(_objectSpread(_defineProperty({}, \"\".concat(datasetPrefix, \"name\"), toFlatCase(isExtended ? (_this$pt5 = this.pt) === null || _this$pt5 === void 0 ? void 0 : _this$pt5['data-pc-section'] : this.$.type.name)), isExtended && _defineProperty({}, \"\".concat(datasetPrefix, \"extend\"), toFlatCase(this.$.type.name))), isClient() && _defineProperty({}, \"\".concat(this.$attrSelector), ''))), {}, _defineProperty({}, \"\".concat(datasetPrefix, \"section\"), toFlatCase(key)));\n },\n _getPTClassValue: function _getPTClassValue() {\n var value = this._getOptionValue.apply(this, arguments);\n return isString(value) || isArray(value) ? {\n \"class\": value\n } : value;\n },\n _getPT: function _getPT(pt) {\n var _this3 = this;\n var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var callback = arguments.length > 2 ? arguments[2] : undefined;\n var getValue = function getValue(value) {\n var _ref9;\n var checkSameKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var computedValue = callback ? callback(value) : value;\n var _key = toFlatCase(key);\n var _cKey = toFlatCase(_this3.$name);\n return (_ref9 = checkSameKey ? _key !== _cKey ? computedValue === null || computedValue === void 0 ? void 0 : computedValue[_key] : undefined : computedValue === null || computedValue === void 0 ? void 0 : computedValue[_key]) !== null && _ref9 !== void 0 ? _ref9 : computedValue;\n };\n return pt !== null && pt !== void 0 && pt.hasOwnProperty('_usept') ? {\n _usept: pt['_usept'],\n originalValue: getValue(pt.originalValue),\n value: getValue(pt.value)\n } : getValue(pt, true);\n },\n _usePT: function _usePT(pt, callback, key, params) {\n var fn = function fn(value) {\n return callback(value, key, params);\n };\n if (pt !== null && pt !== void 0 && pt.hasOwnProperty('_usept')) {\n var _this$$primevueConfig3;\n var _ref10 = pt['_usept'] || ((_this$$primevueConfig3 = this.$primevueConfig) === null || _this$$primevueConfig3 === void 0 ? void 0 : _this$$primevueConfig3.ptOptions) || {},\n _ref10$mergeSections = _ref10.mergeSections,\n mergeSections = _ref10$mergeSections === void 0 ? true : _ref10$mergeSections,\n _ref10$mergeProps = _ref10.mergeProps,\n useMergeProps = _ref10$mergeProps === void 0 ? false : _ref10$mergeProps;\n var originalValue = fn(pt.originalValue);\n var value = fn(pt.value);\n if (originalValue === undefined && value === undefined) return undefined;else if (isString(value)) return value;else if (isString(originalValue)) return originalValue;\n return mergeSections || !mergeSections && value ? useMergeProps ? this._mergeProps(useMergeProps, originalValue, value) : _objectSpread(_objectSpread({}, originalValue), value) : value;\n }\n return fn(pt);\n },\n _useGlobalPT: function _useGlobalPT(callback, key, params) {\n return this._usePT(this.globalPT, callback, key, params);\n },\n _useDefaultPT: function _useDefaultPT(callback, key, params) {\n return this._usePT(this.defaultPT, callback, key, params);\n },\n ptm: function ptm() {\n var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return this._getPTValue(this.pt, key, _objectSpread(_objectSpread({}, this.$params), params));\n },\n ptmi: function ptmi() {\n var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n // inheritAttrs:true\n return mergeProps(this.$_attrsWithoutPT, this.ptm(key, params));\n },\n ptmo: function ptmo() {\n var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this._getPTValue(obj, key, _objectSpread({\n instance: this\n }, params), false);\n },\n cx: function cx() {\n var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return !this.isUnstyled ? this._getOptionValue(this.$style.classes, key, _objectSpread(_objectSpread({}, this.$params), params)) : undefined;\n },\n sx: function sx() {\n var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var when = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n if (when) {\n var self = this._getOptionValue(this.$style.inlineStyles, key, _objectSpread(_objectSpread({}, this.$params), params));\n var base = this._getOptionValue(BaseComponentStyle.inlineStyles, key, _objectSpread(_objectSpread({}, this.$params), params));\n return [base, self];\n }\n return undefined;\n }\n },\n computed: {\n globalPT: function globalPT() {\n var _this$$primevueConfig4,\n _this4 = this;\n return this._getPT((_this$$primevueConfig4 = this.$primevueConfig) === null || _this$$primevueConfig4 === void 0 ? void 0 : _this$$primevueConfig4.pt, undefined, function (value) {\n return resolve(value, {\n instance: _this4\n });\n });\n },\n defaultPT: function defaultPT() {\n var _this$$primevueConfig5,\n _this5 = this;\n return this._getPT((_this$$primevueConfig5 = this.$primevueConfig) === null || _this$$primevueConfig5 === void 0 ? void 0 : _this$$primevueConfig5.pt, undefined, function (value) {\n return _this5._getOptionValue(value, _this5.$name, _objectSpread({}, _this5.$params)) || resolve(value, _objectSpread({}, _this5.$params));\n });\n },\n isUnstyled: function isUnstyled() {\n var _this$$primevueConfig6;\n return this.unstyled !== undefined ? this.unstyled : (_this$$primevueConfig6 = this.$primevueConfig) === null || _this$$primevueConfig6 === void 0 ? void 0 : _this$$primevueConfig6.unstyled;\n },\n $inProps: function $inProps() {\n var _this$$$vnode;\n var nodePropKeys = Object.keys(((_this$$$vnode = this.$.vnode) === null || _this$$$vnode === void 0 ? void 0 : _this$$$vnode.props) || {});\n return Object.fromEntries(Object.entries(this.$props).filter(function (_ref11) {\n var _ref12 = _slicedToArray(_ref11, 1),\n k = _ref12[0];\n return nodePropKeys === null || nodePropKeys === void 0 ? void 0 : nodePropKeys.includes(k);\n }));\n },\n $theme: function $theme() {\n var _this$$primevueConfig7;\n return (_this$$primevueConfig7 = this.$primevueConfig) === null || _this$$primevueConfig7 === void 0 ? void 0 : _this$$primevueConfig7.theme;\n },\n $style: function $style() {\n return _objectSpread(_objectSpread({\n classes: undefined,\n inlineStyles: undefined,\n load: function load() {},\n loadCSS: function loadCSS() {},\n loadTheme: function loadTheme() {}\n }, (this._getHostInstance(this) || {}).$style), this.$options.style);\n },\n $styleOptions: function $styleOptions() {\n var _this$$primevueConfig8;\n return {\n nonce: (_this$$primevueConfig8 = this.$primevueConfig) === null || _this$$primevueConfig8 === void 0 || (_this$$primevueConfig8 = _this$$primevueConfig8.csp) === null || _this$$primevueConfig8 === void 0 ? void 0 : _this$$primevueConfig8.nonce\n };\n },\n $primevueConfig: function $primevueConfig() {\n var _this$$primevue4;\n return (_this$$primevue4 = this.$primevue) === null || _this$$primevue4 === void 0 ? void 0 : _this$$primevue4.config;\n },\n $name: function $name() {\n return this.$options.hostName || this.$.type.name;\n },\n $params: function $params() {\n var parentInstance = this._getHostInstance(this) || this.$parent;\n return {\n instance: this,\n props: this.$props,\n state: this.$data,\n attrs: this.$attrs,\n parent: {\n instance: parentInstance,\n props: parentInstance === null || parentInstance === void 0 ? void 0 : parentInstance.$props,\n state: parentInstance === null || parentInstance === void 0 ? void 0 : parentInstance.$data,\n attrs: parentInstance === null || parentInstance === void 0 ? void 0 : parentInstance.$attrs\n }\n };\n },\n $_attrsPT: function $_attrsPT() {\n return Object.entries(this.$attrs || {}).filter(function (_ref13) {\n var _ref14 = _slicedToArray(_ref13, 1),\n key = _ref14[0];\n return key === null || key === void 0 ? void 0 : key.startsWith('pt:');\n }).reduce(function (result, _ref15) {\n var _ref16 = _slicedToArray(_ref15, 2),\n key = _ref16[0],\n value = _ref16[1];\n var _key$split = key.split(':'),\n _key$split2 = _toArray(_key$split),\n rest = _key$split2.slice(1);\n rest === null || rest === void 0 || rest.reduce(function (currentObj, nestedKey, index, array) {\n !currentObj[nestedKey] && (currentObj[nestedKey] = index === array.length - 1 ? value : {});\n return currentObj[nestedKey];\n }, result);\n return result;\n }, {});\n },\n $_attrsWithoutPT: function $_attrsWithoutPT() {\n return Object.entries(this.$attrs || {}).filter(function (_ref17) {\n var _ref18 = _slicedToArray(_ref17, 1),\n key = _ref18[0];\n return !(key !== null && key !== void 0 && key.startsWith('pt:'));\n }).reduce(function (acc, _ref19) {\n var _ref20 = _slicedToArray(_ref19, 2),\n key = _ref20[0],\n value = _ref20[1];\n acc[key] = value;\n return acc;\n }, {});\n }\n }\n};\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-toolbar {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n flex-wrap: wrap;\\n padding: \".concat(dt('toolbar.padding'), \";\\n background: \").concat(dt('toolbar.background'), \";\\n border: 1px solid \").concat(dt('toolbar.border.color'), \";\\n color: \").concat(dt('toolbar.color'), \";\\n border-radius: \").concat(dt('toolbar.border.radius'), \";\\n gap: \").concat(dt('toolbar.gap'), \";\\n}\\n\\n.p-toolbar-start,\\n.p-toolbar-center,\\n.p-toolbar-end {\\n display: flex;\\n align-items: center;\\n}\\n\");\n};\nvar classes = {\n root: 'p-toolbar p-component',\n start: 'p-toolbar-start',\n center: 'p-toolbar-center',\n end: 'p-toolbar-end'\n};\nvar ToolbarStyle = BaseStyle.extend({\n name: 'toolbar',\n theme: theme,\n classes: classes\n});\n\nexport { ToolbarStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseComponent from '@primevue/core/basecomponent';\nimport ToolbarStyle from 'primevue/toolbar/style';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode, renderSlot } from 'vue';\n\nvar script$1 = {\n name: 'BaseToolbar',\n \"extends\": BaseComponent,\n props: {\n ariaLabelledby: {\n type: String,\n \"default\": null\n }\n },\n style: ToolbarStyle,\n provide: function provide() {\n return {\n $pcToolbar: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'Toolbar',\n \"extends\": script$1,\n inheritAttrs: false\n};\n\nvar _hoisted_1 = [\"aria-labelledby\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": _ctx.cx('root'),\n role: \"toolbar\",\n \"aria-labelledby\": _ctx.ariaLabelledby\n }, _ctx.ptmi('root')), [createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('start')\n }, _ctx.ptm('start')), [renderSlot(_ctx.$slots, \"start\")], 16), createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('center')\n }, _ctx.ptm('center')), [renderSlot(_ctx.$slots, \"center\")], 16), createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('end')\n }, _ctx.ptm('end')), [renderSlot(_ctx.$slots, \"end\")], 16)], 16, _hoisted_1);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","/**\n * Composable utility for injecting PrimeVue theme CSS variables into the DOM.\n *\n * Ex https://github.com/CellDL/CellDLEditor/pull/4/changes from https://github.com/akhuoa\n */\n\nimport { onBeforeMount, getCurrentInstance } from 'vue';\n\n/**\n * @param componentName The key name in the preset (e.g., 'card', 'button', 'select')\n */\nexport function useThemeCssVariables(componentName: string) {\n onBeforeMount(() => {\n const instance = getCurrentInstance();\n const primevue = instance?.appContext.config.globalProperties.$primevue;\n const preset = primevue?.config?.theme?.preset;\n\n if (preset?.components[componentName]) {\n const styles = generateComponentStyles(preset.components[componentName], componentName);\n injectStyles(`lib-fix-${componentName}`, styles);\n }\n });\n}\n\nfunction injectStyles(id: string, css: string) {\n if (document.getElementById(id)) return;\n const style = document.createElement('style');\n style.id = id;\n style.textContent = css;\n document.head.appendChild(style);\n}\n\nfunction resolveReference<T>(value: T|string): T|string {\n if (typeof value !== 'string') return value;\n return value.replace(/\\{([^}]+)\\}/g, (_, path) => {\n return `var(--p-${path.replace(/\\./g, '-')})`;\n });\n}\n\nfunction toKebabCase(str: string) {\n return str.replace(/[A-Z]/g, letter => `-${letter.toLowerCase()}`);\n}\n\nfunction generateComponentStyles(tokenObj: object, prefix: string) {\n let css = `:root {`;\n\n const traverse = (obj: object, parentKey: string) => {\n Object.entries(obj).forEach(([key, value]) => {\n const kebabKey = toKebabCase(key);\n let newKey: string;\n\n if (key === 'root') {\n newKey = parentKey;\n } else {\n newKey = parentKey ? `${parentKey}-${kebabKey}` : kebabKey;\n }\n\n if (typeof value === 'object' && value !== null) {\n traverse(value, newKey);\n } else {\n const resolvedValue = resolveReference(value);\n css += `--p-${prefix}-${newKey}: ${resolvedValue};`;\n }\n });\n };\n\n traverse(tokenObj, '');\n css += `}`;\n return css;\n}\n","<template lang=\"pug\">\n .popover(\n v-if=\"type === 'popover'\"\n ref=\"toolPopover\"\n :class=\"{ hidden: !popoverVisible }\"\n :style=\"{ top: popoverTop }\"\n )\n slot\n .ci.tool-button(\n :id=\"toolId\"\n :class=\"buttonClasses\"\n :style=\"buttonStyle\"\n v-tippy=\"{ content: prompt, placement: 'right' }\"\n :aria-label=\"prompt\"\n @click=\"toolButtonClick\"\n )\n</template>\n\n<script setup lang=\"ts\">\nimport * as vue from 'vue'\n\nconst props = defineProps<{\n toolId?: string\n active?: boolean\n icon?: string\n image?: string\n prompt?: string\n modal?: boolean\n type?: string\n panel?: vue.Raw<vue.Component>\n}>()\n\nconst buttonClasses = vue.computed(() => {\n const classes = []\n if (props.icon) {\n classes.push(props.icon)\n }\n if (props.active) {\n classes.push('active')\n }\n if (props.type === 'popover' && props.modal) {\n classes.push('modal')\n }\n if (props.image) {\n classes.push('image')\n }\n return classes.join(' ')\n})\n\nconst buttonStyle = vue.computed(() => {\n const style = []\n if (props.image) {\n style.push(`background: url(\"${props.image}\");`)\n }\n return style.join(' ')\n})\n\nconst popoverVisible = vue.ref()\npopoverVisible.value = false\n\nconst popoverTop = vue.ref()\n\nconst pointerPos = vue.ref<number>()\nvue.provide('pointerPos', vue.readonly(pointerPos))\n\nconst toolPopover = vue.ref(null)\nlet popoverElement: HTMLElement | null = null\n\nvue.onMounted(() => {\n if (toolPopover.value) {\n popoverElement = (<HTMLElement>toolPopover.value).firstElementChild as HTMLElement\n }\n})\n\n// Make sure popover is closed when button is deactivated\nvue.watch(\n () => props.active,\n () => {\n if (!props.active) {\n popoverVisible.value = false\n }\n }\n)\n\nconst emit = defineEmits(['button-event'])\n\nasync function toolButtonClick(e: MouseEvent) {\n const target: HTMLElement | null = e.target as HTMLElement\n if (target) {\n if (props.type === 'panel') {\n // Simply toggle the panel button; event emission controls panel visibility\n\n target.classList.toggle('active')\n } else {\n if (!target.classList.contains('active')) {\n target.classList.add('active')\n } else if (popoverElement) {\n if (popoverVisible.value) {\n popoverVisible.value = false\n } else {\n popoverVisible.value = true\n\n // Wait for panel to be rendered before getting its height\n await vue.nextTick()\n\n const popoverHeight = popoverElement?.clientHeight\n let top = target.offsetTop + (target.clientWidth - popoverHeight) / 2\n pointerPos.value = popoverHeight / 2 - 10 // 10 is half of pointer's height\n\n if (top < (20 + window.scrollY)) {\n // Make sure our top is at least 20px below top containing element\n const adjustment = (20 + window.scrollY) - top\n top = (20 + window.scrollY)\n pointerPos.value -= adjustment\n }\n popoverTop.value = `${top}px`\n }\n }\n }\n emit('button-event', target.id, target.classList.contains('active'), props.panel || null)\n }\n}\n</script>\n\n<style scoped>\n.tool-button {\n border-style: solid;\n border-color: var(--editor-border-color);\n border-width: 0 1px 2px;\n}\n.tool-button:hover {\n background-color: lightgrey;\n}\n\n.tool-button.ci {\n width: 36px !important;\n height: 36px !important;\n scale: 1 !important;\n padding: 0;\n}\n\n.tool-button.image {\n background-size: 100% 100% !important;\n}\n\n.tool-button.modal::before {\n display: inline-block;\n position: relative;\n transform: scale(0.3);\n width: 10px;\n height: 10px;\n top: 22px;\n left: 22px;\n}\n\n.tool-button.modal::before {\n content: url(\"./icons/ModalButtonLight.svg\");\n}\n\n.celldl-dark-mode .tool-button.modal::before {\n content: url(\"./icons/ModalButtonDark.svg\");\n}\n\n.hidden {\n display: none;\n}\n\n.popover {\n position: absolute;\n}\n\n.active {\n background-color: #3584e4 !important;\n}\n</style>\n","<template lang=\"pug\">\n Toolbar.vertical\n template(#start)\n ToolButton(\n v-for=\"button in buttons\"\n :toolId=\"button.toolId\"\n :active=\"button?.active\"\n :prompt=\"button.prompt\"\n :icon=\"button.icon\"\n :image=\"button.image\"\n :modal=\"!!button?.panel\"\n :type=\"type\"\n :panel=\"button.panel\"\n @button-event=\"buttonEvent\"\n )\n component(\n v-if=\"type === 'popover' && button.panel\"\n :is=\"button.panel\"\n :toolId=\"button.toolId\"\n @popover-event=\"popoverEvent\"\n )\n</template>\n\n<script setup lang=\"ts\">\nimport * as vue from 'vue'\nimport { useThemeCssVariables } from '@renderer/common/themeCssVariables'\n\nuseThemeCssVariables('toolbar')\n\n//==============================================================================\n\nimport { type EditorToolButton } from '@renderer/common/EditorTypes'\n\nimport ToolButton from './ToolButton.vue'\n\n//==============================================================================\n\nconst props = defineProps<{\n type?: string\n buttons: EditorToolButton[]\n}>()\n\nconst emit = defineEmits(['button-event', 'popover-event'])\n\nfunction buttonEvent(toolId: string, active: boolean, panel: vue.Raw<vue.Component> | null) {\n for (const button of props.buttons) {\n if (active && toolId === button.toolId) {\n button.active = true\n } else {\n button.active = false\n }\n }\n emit('button-event', toolId, active, props.type == 'panel' ? panel : null)\n}\n\nfunction popoverEvent(id: string, data: any) {\n emit('popover-event', id, data)\n}\n\n//==============================================================================\n\n</script>\n\n<style>\n.p-toolbar.vertical,\n.p-toolbar.vertical > .p-toolbar-start {\n flex-direction: column !important;\n width: 38px !important;\n padding: 0 !important;\n border-top: 1px solid grey;\n flex-wrap: nowrap !important;\n border-radius: 0 !important;\n}\n</style>\n","/******************************************************************************\n\nCellDL Editor\n\nCopyright (c) 2022 - 2025 David Brooks\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n******************************************************************************/\n\nimport type { CellDLObject } from '@editor/celldlObjects/index'\nimport type { MetadataPropertiesMap } from '@renderer/metadata/index'\n\nimport type { PointLike } from '@renderer/common/points'\nimport type { Constructor, StringProperties } from '@renderer/common/types'\n\n//==============================================================================\n\nexport interface ObjectTemplate {\n CellDLClass: Constructor<CellDLObject>\n description?: string\n image?: string\n metadataProperties: MetadataPropertiesMap\n name?: string\n}\n\n//==============================================================================\n\nexport interface LibraryComponentTemplate {\n id: string\n name: string\n image: string\n selected?: boolean\n}\n\nexport interface ComponentLibrary {\n id: string\n name: string\n templates: LibraryComponentTemplate[]\n}\n\nexport interface ElementTypeName {\n type: string\n name: string\n}\n\n//==============================================================================\n\nexport interface NamedProperty {\n name: string\n property: string\n}\n\n//==============================================================================\n\nexport interface TemplateProperties {\n nodeSettings?: StringProperties\n}\n\n//==============================================================================\n\nexport type TemplateEventDetails = {\n id: string,\n centre: PointLike\n offset: PointLike\n}\n\n//==============================================================================\n\nexport function getTemplateEventDetails(id: string, target: HTMLImageElement,\n event: DragEvent|MouseEvent|null): TemplateEventDetails {\n const details = {\n id: id,\n // Centre of target.x/y wrt image top left\n centre: {\n x: target.naturalWidth / 2,\n y: target.naturalHeight / 2\n },\n offset: { x: 0, y: 0 }\n }\n if (event) {\n // Offset of event.x/y wrt centre\n details.offset = {\n x: event.offsetX - target.scrollWidth / 2,\n y: event.offsetY - target.scrollHeight / 2\n }\n }\n return details\n}\n\n//==============================================================================\n//==============================================================================\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-card {\\n background: \".concat(dt('card.background'), \";\\n color: \").concat(dt('card.color'), \";\\n box-shadow: \").concat(dt('card.shadow'), \";\\n border-radius: \").concat(dt('card.border.radius'), \";\\n display: flex;\\n flex-direction: column;\\n}\\n\\n.p-card-caption {\\n display: flex;\\n flex-direction: column;\\n gap: \").concat(dt('card.caption.gap'), \";\\n}\\n\\n.p-card-body {\\n padding: \").concat(dt('card.body.padding'), \";\\n display: flex;\\n flex-direction: column;\\n gap: \").concat(dt('card.body.gap'), \";\\n}\\n\\n.p-card-title {\\n font-size: \").concat(dt('card.title.font.size'), \";\\n font-weight: \").concat(dt('card.title.font.weight'), \";\\n}\\n\\n.p-card-subtitle {\\n color: \").concat(dt('card.subtitle.color'), \";\\n}\\n\");\n};\nvar classes = {\n root: 'p-card p-component',\n header: 'p-card-header',\n body: 'p-card-body',\n caption: 'p-card-caption',\n title: 'p-card-title',\n subtitle: 'p-card-subtitle',\n content: 'p-card-content',\n footer: 'p-card-footer'\n};\nvar CardStyle = BaseStyle.extend({\n name: 'card',\n theme: theme,\n classes: classes\n});\n\nexport { CardStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseComponent from '@primevue/core/basecomponent';\nimport CardStyle from 'primevue/card/style';\nimport { openBlock, createElementBlock, mergeProps, renderSlot, createCommentVNode, createElementVNode } from 'vue';\n\nvar script$1 = {\n name: 'BaseCard',\n \"extends\": BaseComponent,\n style: CardStyle,\n provide: function provide() {\n return {\n $pcCard: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'Card',\n \"extends\": script$1,\n inheritAttrs: false\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": _ctx.cx('root')\n }, _ctx.ptmi('root')), [_ctx.$slots.header ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n \"class\": _ctx.cx('header')\n }, _ctx.ptm('header')), [renderSlot(_ctx.$slots, \"header\")], 16)) : createCommentVNode(\"\", true), createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('body')\n }, _ctx.ptm('body')), [_ctx.$slots.title || _ctx.$slots.subtitle ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n \"class\": _ctx.cx('caption')\n }, _ctx.ptm('caption')), [_ctx.$slots.title ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n \"class\": _ctx.cx('title')\n }, _ctx.ptm('title')), [renderSlot(_ctx.$slots, \"title\")], 16)) : createCommentVNode(\"\", true), _ctx.$slots.subtitle ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 1,\n \"class\": _ctx.cx('subtitle')\n }, _ctx.ptm('subtitle')), [renderSlot(_ctx.$slots, \"subtitle\")], 16)) : createCommentVNode(\"\", true)], 16)) : createCommentVNode(\"\", true), createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('content')\n }, _ctx.ptm('content')), [renderSlot(_ctx.$slots, \"content\")], 16), _ctx.$slots.footer ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 1,\n \"class\": _ctx.cx('footer')\n }, _ctx.ptm('footer')), [renderSlot(_ctx.$slots, \"footer\")], 16)) : createCommentVNode(\"\", true)], 16)], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","<template lang=\"pug\">\n Card.left-popover(\n :class=\"{ 'no-gap': !hasTitle, showtip: showtip }\"\n :data-tip-top=\"pointerPos\"\n )\n template(#title)\n div(v-if=\"hasTitle\")\n slot(name=\"title\")\n template(#content)\n slot(name=\"content\")\n</template>\n\n<script setup lang=\"ts\">\nimport * as vue from 'vue'\nimport { useThemeCssVariables } from '@renderer/common/themeCssVariables'\n\nuseThemeCssVariables('card')\n\nconst slots = vue.useSlots()\n\nconst hasTitle = vue.computed(() => !!slots.title);\n\nconst pointerPos = vue.inject<vue.DeepReadonly<number>>('pointerPos')\n\n// Don't show a wrongly positioned tooltip in Firefox\nconst showtip = vue.ref()\nshowtip.value = true //CSS.supports(\"x: attr(x type(*))\")\n</script>\n\n<style>\n.p-card.no-gap > .p-card-body {\n gap: 0px !important;\n}\n</style>\n\n<style scoped>\n.left-popover {\n position: absolute;\n margin-left: 36px;\n z-index: 100;\n border: 1px solid grey;\n}\n\n.left-popover.showtip::before {\n display: inline-block;\n position: absolute;\n width: 20px;\n left: -16px;\n top: attr(data-tip-top px);\n z-index: 99;\n}\n\n.left-popover.showtip::before {\n content: url(\"./icons/LeftPanelArrowLight.svg\");\n}\n\n.celldl-dark-mode .left-popover.showtip::before {\n content: url(\"./icons/LeftPanelArrowDark.svg\");\n}\n\n</style>\n","<template lang=\"pug\">\n ToolPopover\n template(#content)\n .component-library(v-for=\"library in libraries\")\n .library-title {{ library.name }}\n .library-icons\n img.library-icon(\n v-for=\"template in library.templates\"\n :class=\"{ selected: template.selected }\"\n :library=\"library.id\"\n :id=\"fullId(library, template)\"\n :src=\"template.image\"\n :aria-label=\"template.name\"\n v-tippy=\"{ content: template.name, placement: 'right' }\"\n draggable=\"true\"\n @dragstart=\"dragstart\"\n @mousedown=\"selected\"\n )\n</template>\n\n<script setup lang=\"ts\">\nimport * as vue from 'vue'\n\nimport {\n type ComponentLibrary,\n type LibraryComponentTemplate,\n getTemplateEventDetails\n} from '@editor/components/index'\n\nimport ToolPopover from '../toolbar/ToolPopover.vue'\n\nconst libraries = vue.inject<vue.Ref<ComponentLibrary[]>>('componentLibraries')\n\nconst props = defineProps<{\n toolId: string\n}>()\n\nconst idToComponent: Map<string, LibraryComponentTemplate> = new Map()\nlet selectedId: string | undefined\n\nfunction fullId(library: ComponentLibrary, template: LibraryComponentTemplate): string {\n return `${library.id}/${template.id}`\n}\n\nvue.onMounted(() => {\n libraries.value.forEach((library: ComponentLibrary) => {\n library.templates.forEach((template: LibraryComponentTemplate) => {\n const id = fullId(library, template)\n idToComponent.set(id, template)\n if (template.selected) {\n selectedId = id\n }\n })\n })\n if (selectedId) {\n const selectedElement = document.getElementById(selectedId) as HTMLImageElement\n if (selectedElement) {\n document.dispatchEvent(\n new CustomEvent('component-selected', {\n detail: getTemplateEventDetails(selectedId, selectedElement, null)\n })\n )\n }\n }\n})\n\nconst emit = defineEmits(['popover-event'])\n\nfunction selected(e: MouseEvent) {\n const target = e.target as HTMLImageElement\n const component = idToComponent.get(target.id)\n if (target.id && component) {\n if (selectedId) {\n idToComponent.get(selectedId)!.selected = false\n }\n component.selected = true\n selectedId = target.id\n }\n // Tell the editor what template has been selected\n document.dispatchEvent(\n new CustomEvent('component-selected', {\n detail: getTemplateEventDetails(target.id, target, e)\n })\n )\n // Tell the toolbar what component template has been selected\n emit('popover-event', props.toolId, component)\n}\n\nfunction dragstart(e: DragEvent) {\n const target = e.target as HTMLImageElement\n e.dataTransfer!.items.add(JSON.stringify(getTemplateEventDetails(target.id, target, e)), 'text/plain')\n document.dispatchEvent(\n new CustomEvent('component-drag', {\n detail: {\n type: 'dragstart',\n source: props.toolId,\n value: target.id\n }\n })\n )\n}\n</script>\n\n<style scoped>\n.component-library\n{\n width: 150px;\n display: flex;\n flex-direction: column;\n border: var(--p-accordion-header-border-width) solid var(--p-content-border-color);\n}\n.library-title {\n padding: 2px;\n border-bottom: 1px solid green;\n font-size: var(--p-card-title-font-size);\n font-weight: var(--p-card-title-font-weight);\n}\n.library-icons\n{\n display: flex;\n flex-wrap: wrap;\n align-items: start;\n justify-content: space-between;\n gap: 3px;\n overflow-y: auto;\n margin: 1px;\n}\n.library-icon\n{\n width: 45px;\n height: 45px;\n border: 1px solid lightgrey;\n background: var(--p-content-background);\n margin: 0;\n padding: 2px;\n}\n.library-icon:hover {\n background-color: lightgrey;\n}\n.library-icon.selected\n{\n background: #3584e4;\n}\n</style>\n","export * from '@primeuix/utils';\nimport { getScrollableParents } from '@primeuix/utils/dom';\nimport { isNotEmpty } from '@primeuix/utils/object';\nimport { uuid } from '@primeuix/utils/uuid';\n\nfunction _typeof$1(o) { \"@babel/helpers - typeof\"; return _typeof$1 = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof$1(o); }\nfunction _classCallCheck$1(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties$1(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey$1(o.key), o); } }\nfunction _createClass$1(e, r, t) { return r && _defineProperties$1(e.prototype, r), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey$1(t) { var i = _toPrimitive$1(t, \"string\"); return \"symbol\" == _typeof$1(i) ? i : i + \"\"; }\nfunction _toPrimitive$1(t, r) { if (\"object\" != _typeof$1(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r); if (\"object\" != _typeof$1(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (String )(t); }\nvar ConnectedOverlayScrollHandler = /*#__PURE__*/function () {\n function ConnectedOverlayScrollHandler(element) {\n var listener = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () {};\n _classCallCheck$1(this, ConnectedOverlayScrollHandler);\n this.element = element;\n this.listener = listener;\n }\n return _createClass$1(ConnectedOverlayScrollHandler, [{\n key: \"bindScrollListener\",\n value: function bindScrollListener() {\n this.scrollableParents = getScrollableParents(this.element);\n for (var i = 0; i < this.scrollableParents.length; i++) {\n this.scrollableParents[i].addEventListener('scroll', this.listener);\n }\n }\n }, {\n key: \"unbindScrollListener\",\n value: function unbindScrollListener() {\n if (this.scrollableParents) {\n for (var i = 0; i < this.scrollableParents.length; i++) {\n this.scrollableParents[i].removeEventListener('scroll', this.listener);\n }\n }\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.unbindScrollListener();\n this.element = null;\n this.listener = null;\n this.scrollableParents = null;\n }\n }]);\n}();\n\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _iterableToArray(r) { if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r); }\nfunction _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (String )(t); }\nvar _default = /*#__PURE__*/function () {\n function _default(_ref) {\n var init = _ref.init,\n type = _ref.type;\n _classCallCheck(this, _default);\n _defineProperty(this, \"helpers\", void 0);\n _defineProperty(this, \"type\", void 0);\n this.helpers = new Set(init);\n this.type = type;\n }\n return _createClass(_default, [{\n key: \"add\",\n value: function add(instance) {\n this.helpers.add(instance);\n }\n }, {\n key: \"update\",\n value: function update() {\n // @todo\n }\n }, {\n key: \"delete\",\n value: function _delete(instance) {\n this.helpers[\"delete\"](instance);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.helpers.clear();\n }\n }, {\n key: \"get\",\n value: function get(parentInstance, slots) {\n var children = this._get(parentInstance, slots);\n var computed = children ? this._recursive(_toConsumableArray(this.helpers), children) : null;\n return isNotEmpty(computed) ? computed : null;\n }\n }, {\n key: \"_isMatched\",\n value: function _isMatched(instance, key) {\n var _parent$vnode;\n var parent = instance === null || instance === void 0 ? void 0 : instance.parent;\n return (parent === null || parent === void 0 || (_parent$vnode = parent.vnode) === null || _parent$vnode === void 0 ? void 0 : _parent$vnode.key) === key || parent && this._isMatched(parent, key) || false;\n }\n }, {\n key: \"_get\",\n value: function _get(parentInstance, slots) {\n var _ref2, _ref2$default;\n return ((_ref2 = slots || (parentInstance === null || parentInstance === void 0 ? void 0 : parentInstance.$slots)) === null || _ref2 === void 0 || (_ref2$default = _ref2[\"default\"]) === null || _ref2$default === void 0 ? void 0 : _ref2$default.call(_ref2)) || null;\n }\n }, {\n key: \"_recursive\",\n value: function _recursive() {\n var _this = this;\n var helpers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var children = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var components = [];\n children.forEach(function (child) {\n if (child.children instanceof Array) {\n components = components.concat(_this._recursive(components, child.children));\n } else if (child.type.name === _this.type) {\n components.push(child);\n } else if (isNotEmpty(child.key)) {\n components = components.concat(helpers.filter(function (c) {\n return _this._isMatched(c, child.key);\n }).map(function (c) {\n return c.vnode;\n }));\n }\n });\n return components;\n }\n }]);\n}();\n\nfunction UniqueComponentId () {\n var prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'pv_id_';\n return uuid(prefix);\n}\n\nfunction getVNodeProp(vnode, prop) {\n if (vnode) {\n var props = vnode.props;\n if (props) {\n var kebabProp = prop.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n var propName = Object.prototype.hasOwnProperty.call(props, kebabProp) ? kebabProp : prop;\n return vnode.type[\"extends\"].props[prop].type === Boolean && props[propName] === '' ? true : props[propName];\n }\n }\n return null;\n}\n\nexport { ConnectedOverlayScrollHandler, _default as HelperSet, UniqueComponentId, getVNodeProp };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar css = \"\\n.p-icon {\\n display: inline-block;\\n vertical-align: baseline;\\n}\\n\\n.p-icon-spin {\\n -webkit-animation: p-icon-spin 2s infinite linear;\\n animation: p-icon-spin 2s infinite linear;\\n}\\n\\n@-webkit-keyframes p-icon-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(359deg);\\n transform: rotate(359deg);\\n }\\n}\\n\\n@keyframes p-icon-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(359deg);\\n transform: rotate(359deg);\\n }\\n}\\n\";\nvar BaseIconStyle = BaseStyle.extend({\n name: 'baseicon',\n css: css\n});\n\nexport { BaseIconStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { isEmpty } from '@primeuix/utils/object';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport BaseIconStyle from '@primevue/icons/baseicon/style';\n\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nvar script = {\n name: 'BaseIcon',\n \"extends\": BaseComponent,\n props: {\n label: {\n type: String,\n \"default\": undefined\n },\n spin: {\n type: Boolean,\n \"default\": false\n }\n },\n style: BaseIconStyle,\n provide: function provide() {\n return {\n $pcIcon: this,\n $parentInstance: this\n };\n },\n methods: {\n pti: function pti() {\n var isLabelEmpty = isEmpty(this.label);\n return _objectSpread(_objectSpread({}, !this.isUnstyled && {\n \"class\": ['p-icon', {\n 'p-icon-spin': this.spin\n }]\n }), {}, {\n role: !isLabelEmpty ? 'img' : undefined,\n 'aria-label': !isLabelEmpty ? this.label : undefined,\n 'aria-hidden': isLabelEmpty\n });\n }\n }\n};\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseIcon from '@primevue/icons/baseicon';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode } from 'vue';\n\nvar script = {\n name: 'BlankIcon',\n \"extends\": BaseIcon\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", mergeProps({\n width: \"14\",\n height: \"14\",\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, _ctx.pti()), _cache[0] || (_cache[0] = [createElementVNode(\"rect\", {\n width: \"1\",\n height: \"1\",\n fill: \"currentColor\",\n \"fill-opacity\": \"0\"\n }, null, -1)]), 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseIcon from '@primevue/icons/baseicon';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode } from 'vue';\n\nvar script = {\n name: 'CheckIcon',\n \"extends\": BaseIcon\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", mergeProps({\n width: \"14\",\n height: \"14\",\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, _ctx.pti()), _cache[0] || (_cache[0] = [createElementVNode(\"path\", {\n d: \"M4.86199 11.5948C4.78717 11.5923 4.71366 11.5745 4.64596 11.5426C4.57826 11.5107 4.51779 11.4652 4.46827 11.4091L0.753985 7.69483C0.683167 7.64891 0.623706 7.58751 0.580092 7.51525C0.536478 7.44299 0.509851 7.36177 0.502221 7.27771C0.49459 7.19366 0.506156 7.10897 0.536046 7.03004C0.565935 6.95111 0.613367 6.88 0.674759 6.82208C0.736151 6.76416 0.8099 6.72095 0.890436 6.69571C0.970973 6.67046 1.05619 6.66385 1.13966 6.67635C1.22313 6.68886 1.30266 6.72017 1.37226 6.76792C1.44186 6.81567 1.4997 6.8786 1.54141 6.95197L4.86199 10.2503L12.6397 2.49483C12.7444 2.42694 12.8689 2.39617 12.9932 2.40745C13.1174 2.41873 13.2343 2.47141 13.3251 2.55705C13.4159 2.64268 13.4753 2.75632 13.4938 2.87973C13.5123 3.00315 13.4888 3.1292 13.4271 3.23768L5.2557 11.4091C5.20618 11.4652 5.14571 11.5107 5.07801 11.5426C5.01031 11.5745 4.9368 11.5923 4.86199 11.5948Z\",\n fill: \"currentColor\"\n }, null, -1)]), 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseIcon from '@primevue/icons/baseicon';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode } from 'vue';\n\nvar script = {\n name: 'ChevronDownIcon',\n \"extends\": BaseIcon\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", mergeProps({\n width: \"14\",\n height: \"14\",\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, _ctx.pti()), _cache[0] || (_cache[0] = [createElementVNode(\"path\", {\n d: \"M7.01744 10.398C6.91269 10.3985 6.8089 10.378 6.71215 10.3379C6.61541 10.2977 6.52766 10.2386 6.45405 10.1641L1.13907 4.84913C1.03306 4.69404 0.985221 4.5065 1.00399 4.31958C1.02276 4.13266 1.10693 3.95838 1.24166 3.82747C1.37639 3.69655 1.55301 3.61742 1.74039 3.60402C1.92777 3.59062 2.11386 3.64382 2.26584 3.75424L7.01744 8.47394L11.769 3.75424C11.9189 3.65709 12.097 3.61306 12.2748 3.62921C12.4527 3.64535 12.6199 3.72073 12.7498 3.84328C12.8797 3.96582 12.9647 4.12842 12.9912 4.30502C13.0177 4.48162 12.9841 4.662 12.8958 4.81724L7.58083 10.1322C7.50996 10.2125 7.42344 10.2775 7.32656 10.3232C7.22968 10.3689 7.12449 10.3944 7.01744 10.398Z\",\n fill: \"currentColor\"\n }, null, -1)]), 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseIcon from '@primevue/icons/baseicon';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode } from 'vue';\n\nvar script = {\n name: 'SearchIcon',\n \"extends\": BaseIcon\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", mergeProps({\n width: \"14\",\n height: \"14\",\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, _ctx.pti()), _cache[0] || (_cache[0] = [createElementVNode(\"path\", {\n \"fill-rule\": \"evenodd\",\n \"clip-rule\": \"evenodd\",\n d: \"M2.67602 11.0265C3.6661 11.688 4.83011 12.0411 6.02086 12.0411C6.81149 12.0411 7.59438 11.8854 8.32483 11.5828C8.87005 11.357 9.37808 11.0526 9.83317 10.6803L12.9769 13.8241C13.0323 13.8801 13.0983 13.9245 13.171 13.9548C13.2438 13.985 13.3219 14.0003 13.4007 14C13.4795 14.0003 13.5575 13.985 13.6303 13.9548C13.7031 13.9245 13.7691 13.8801 13.8244 13.8241C13.9367 13.7116 13.9998 13.5592 13.9998 13.4003C13.9998 13.2414 13.9367 13.089 13.8244 12.9765L10.6807 9.8328C11.053 9.37773 11.3573 8.86972 11.5831 8.32452C11.8857 7.59408 12.0414 6.81119 12.0414 6.02056C12.0414 4.8298 11.6883 3.66579 11.0268 2.67572C10.3652 1.68564 9.42494 0.913972 8.32483 0.45829C7.22472 0.00260857 6.01418 -0.116618 4.84631 0.115686C3.67844 0.34799 2.60568 0.921393 1.76369 1.76338C0.921698 2.60537 0.348296 3.67813 0.115991 4.84601C-0.116313 6.01388 0.00291375 7.22441 0.458595 8.32452C0.914277 9.42464 1.68595 10.3649 2.67602 11.0265ZM3.35565 2.0158C4.14456 1.48867 5.07206 1.20731 6.02086 1.20731C7.29317 1.20731 8.51338 1.71274 9.41304 2.6124C10.3127 3.51206 10.8181 4.73226 10.8181 6.00457C10.8181 6.95337 10.5368 7.88088 10.0096 8.66978C9.48251 9.45868 8.73328 10.0736 7.85669 10.4367C6.98011 10.7997 6.01554 10.8947 5.08496 10.7096C4.15439 10.5245 3.2996 10.0676 2.62869 9.39674C1.95778 8.72583 1.50089 7.87104 1.31579 6.94046C1.13068 6.00989 1.22568 5.04532 1.58878 4.16874C1.95187 3.29215 2.56675 2.54292 3.35565 2.0158Z\",\n fill: \"currentColor\"\n }, null, -1)]), 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseIcon from '@primevue/icons/baseicon';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode } from 'vue';\n\nvar script = {\n name: 'SpinnerIcon',\n \"extends\": BaseIcon\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", mergeProps({\n width: \"14\",\n height: \"14\",\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, _ctx.pti()), _cache[0] || (_cache[0] = [createElementVNode(\"path\", {\n d: \"M6.99701 14C5.85441 13.999 4.72939 13.7186 3.72012 13.1832C2.71084 12.6478 1.84795 11.8737 1.20673 10.9284C0.565504 9.98305 0.165424 8.89526 0.041387 7.75989C-0.0826496 6.62453 0.073125 5.47607 0.495122 4.4147C0.917119 3.35333 1.59252 2.4113 2.46241 1.67077C3.33229 0.930247 4.37024 0.413729 5.4857 0.166275C6.60117 -0.0811796 7.76026 -0.0520535 8.86188 0.251112C9.9635 0.554278 10.9742 1.12227 11.8057 1.90555C11.915 2.01493 11.9764 2.16319 11.9764 2.31778C11.9764 2.47236 11.915 2.62062 11.8057 2.73C11.7521 2.78503 11.688 2.82877 11.6171 2.85864C11.5463 2.8885 11.4702 2.90389 11.3933 2.90389C11.3165 2.90389 11.2404 2.8885 11.1695 2.85864C11.0987 2.82877 11.0346 2.78503 10.9809 2.73C9.9998 1.81273 8.73246 1.26138 7.39226 1.16876C6.05206 1.07615 4.72086 1.44794 3.62279 2.22152C2.52471 2.99511 1.72683 4.12325 1.36345 5.41602C1.00008 6.70879 1.09342 8.08723 1.62775 9.31926C2.16209 10.5513 3.10478 11.5617 4.29713 12.1803C5.48947 12.7989 6.85865 12.988 8.17414 12.7157C9.48963 12.4435 10.6711 11.7264 11.5196 10.6854C12.3681 9.64432 12.8319 8.34282 12.8328 7C12.8328 6.84529 12.8943 6.69692 13.0038 6.58752C13.1132 6.47812 13.2616 6.41667 13.4164 6.41667C13.5712 6.41667 13.7196 6.47812 13.8291 6.58752C13.9385 6.69692 14 6.84529 14 7C14 8.85651 13.2622 10.637 11.9489 11.9497C10.6356 13.2625 8.85432 14 6.99701 14Z\",\n fill: \"currentColor\"\n }, null, -1)]), 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseIcon from '@primevue/icons/baseicon';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode } from 'vue';\n\nvar script = {\n name: 'TimesIcon',\n \"extends\": BaseIcon\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", mergeProps({\n width: \"14\",\n height: \"14\",\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, _ctx.pti()), _cache[0] || (_cache[0] = [createElementVNode(\"path\", {\n d: \"M8.01186 7.00933L12.27 2.75116C12.341 2.68501 12.398 2.60524 12.4375 2.51661C12.4769 2.42798 12.4982 2.3323 12.4999 2.23529C12.5016 2.13827 12.4838 2.0419 12.4474 1.95194C12.4111 1.86197 12.357 1.78024 12.2884 1.71163C12.2198 1.64302 12.138 1.58893 12.0481 1.55259C11.9581 1.51625 11.8617 1.4984 11.7647 1.50011C11.6677 1.50182 11.572 1.52306 11.4834 1.56255C11.3948 1.60204 11.315 1.65898 11.2488 1.72997L6.99067 5.98814L2.7325 1.72997C2.59553 1.60234 2.41437 1.53286 2.22718 1.53616C2.03999 1.53946 1.8614 1.61529 1.72901 1.74767C1.59663 1.88006 1.5208 2.05865 1.5175 2.24584C1.5142 2.43303 1.58368 2.61419 1.71131 2.75116L5.96948 7.00933L1.71131 11.2675C1.576 11.403 1.5 11.5866 1.5 11.7781C1.5 11.9696 1.576 12.1532 1.71131 12.2887C1.84679 12.424 2.03043 12.5 2.2219 12.5C2.41338 12.5 2.59702 12.424 2.7325 12.2887L6.99067 8.03052L11.2488 12.2887C11.3843 12.424 11.568 12.5 11.7594 12.5C11.9509 12.5 12.1346 12.424 12.27 12.2887C12.4053 12.1532 12.4813 11.9696 12.4813 11.7781C12.4813 11.5866 12.4053 11.403 12.27 11.2675L8.01186 7.00933Z\",\n fill: \"currentColor\"\n }, null, -1)]), 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-iconfield {\\n position: relative;\\n}\\n\\n.p-inputicon {\\n position: absolute;\\n top: 50%;\\n margin-top: calc(-1 * (\".concat(dt('icon.size'), \" / 2));\\n color: \").concat(dt('iconfield.icon.color'), \";\\n line-height: 1;\\n}\\n\\n.p-iconfield .p-inputicon:first-child {\\n inset-inline-start: \").concat(dt('form.field.padding.x'), \";\\n}\\n\\n.p-iconfield .p-inputicon:last-child {\\n inset-inline-end: \").concat(dt('form.field.padding.x'), \";\\n}\\n\\n.p-iconfield .p-inputtext:not(:first-child) {\\n padding-inline-start: calc((\").concat(dt('form.field.padding.x'), \" * 2) + \").concat(dt('icon.size'), \");\\n}\\n\\n.p-iconfield .p-inputtext:not(:last-child) {\\n padding-inline-end: calc((\").concat(dt('form.field.padding.x'), \" * 2) + \").concat(dt('icon.size'), \");\\n}\\n\\n.p-iconfield:has(.p-inputfield-sm) .p-inputicon {\\n font-size: \").concat(dt('form.field.sm.font.size'), \";\\n width: \").concat(dt('form.field.sm.font.size'), \";\\n height: \").concat(dt('form.field.sm.font.size'), \";\\n margin-top: calc(-1 * (\").concat(dt('form.field.sm.font.size'), \" / 2));\\n}\\n\\n.p-iconfield:has(.p-inputfield-lg) .p-inputicon {\\n font-size: \").concat(dt('form.field.lg.font.size'), \";\\n width: \").concat(dt('form.field.lg.font.size'), \";\\n height: \").concat(dt('form.field.lg.font.size'), \";\\n margin-top: calc(-1 * (\").concat(dt('form.field.lg.font.size'), \" / 2));\\n}\\n\");\n};\nvar classes = {\n root: 'p-iconfield'\n};\nvar IconFieldStyle = BaseStyle.extend({\n name: 'iconfield',\n theme: theme,\n classes: classes\n});\n\nexport { IconFieldStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseComponent from '@primevue/core/basecomponent';\nimport IconFieldStyle from 'primevue/iconfield/style';\nimport { openBlock, createElementBlock, mergeProps, renderSlot } from 'vue';\n\nvar script$1 = {\n name: 'BaseIconField',\n \"extends\": BaseComponent,\n style: IconFieldStyle,\n provide: function provide() {\n return {\n $pcIconField: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'IconField',\n \"extends\": script$1,\n inheritAttrs: false\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": _ctx.cx('root')\n }, _ctx.ptmi('root')), [renderSlot(_ctx.$slots, \"default\")], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar classes = {\n root: 'p-inputicon'\n};\nvar InputIconStyle = BaseStyle.extend({\n name: 'inputicon',\n classes: classes\n});\n\nexport { InputIconStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseComponent from '@primevue/core/basecomponent';\nimport InputIconStyle from 'primevue/inputicon/style';\nimport { openBlock, createElementBlock, mergeProps, renderSlot } from 'vue';\n\nvar script$1 = {\n name: 'BaseInputIcon',\n \"extends\": BaseComponent,\n style: InputIconStyle,\n props: {\n \"class\": null\n },\n provide: function provide() {\n return {\n $pcInputIcon: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'InputIcon',\n \"extends\": script$1,\n inheritAttrs: false,\n computed: {\n containerClass: function containerClass() {\n return [this.cx('root'), this[\"class\"]];\n }\n }\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps({\n \"class\": $options.containerClass\n }, _ctx.ptmi('root')), [renderSlot(_ctx.$slots, \"default\")], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import { isNotEmpty } from '@primeuix/utils';\nimport BaseComponent from '@primevue/core/basecomponent';\n\nvar script = {\n name: 'BaseEditableHolder',\n \"extends\": BaseComponent,\n emits: ['update:modelValue', 'value-change'],\n props: {\n modelValue: {\n type: null,\n \"default\": undefined\n },\n defaultValue: {\n type: null,\n \"default\": undefined\n },\n name: {\n type: String,\n \"default\": undefined\n },\n invalid: {\n type: Boolean,\n \"default\": undefined\n },\n disabled: {\n type: Boolean,\n \"default\": false\n },\n formControl: {\n type: Object,\n \"default\": undefined\n }\n },\n inject: {\n $parentInstance: {\n \"default\": undefined\n },\n $pcForm: {\n \"default\": undefined\n },\n $pcFormField: {\n \"default\": undefined\n }\n },\n data: function data() {\n return {\n d_value: this.defaultValue || this.modelValue\n };\n },\n watch: {\n modelValue: function modelValue(newValue) {\n this.d_value = newValue;\n },\n defaultValue: function defaultValue(newValue) {\n this.d_value = newValue;\n },\n $formName: {\n immediate: true,\n handler: function handler(newValue) {\n var _this$$pcForm, _this$$pcForm$registe;\n this.formField = ((_this$$pcForm = this.$pcForm) === null || _this$$pcForm === void 0 || (_this$$pcForm$registe = _this$$pcForm.register) === null || _this$$pcForm$registe === void 0 ? void 0 : _this$$pcForm$registe.call(_this$$pcForm, newValue, this.$formControl)) || {};\n }\n },\n $formControl: {\n immediate: true,\n handler: function handler(newValue) {\n var _this$$pcForm2, _this$$pcForm2$regist;\n this.formField = ((_this$$pcForm2 = this.$pcForm) === null || _this$$pcForm2 === void 0 || (_this$$pcForm2$regist = _this$$pcForm2.register) === null || _this$$pcForm2$regist === void 0 ? void 0 : _this$$pcForm2$regist.call(_this$$pcForm2, this.$formName, newValue)) || {};\n }\n },\n $formDefaultValue: {\n immediate: true,\n handler: function handler(newValue) {\n this.d_value !== newValue && (this.d_value = newValue);\n }\n }\n },\n formField: {},\n methods: {\n writeValue: function writeValue(value, event) {\n var _this$formField$onCha, _this$formField;\n if (this.controlled) {\n this.d_value = value;\n this.$emit('update:modelValue', value);\n }\n this.$emit('value-change', value);\n (_this$formField$onCha = (_this$formField = this.formField).onChange) === null || _this$formField$onCha === void 0 || _this$formField$onCha.call(_this$formField, {\n originalEvent: event,\n value: value\n });\n }\n },\n computed: {\n $filled: function $filled() {\n return isNotEmpty(this.d_value);\n },\n $invalid: function $invalid() {\n var _ref, _this$invalid, _this$$pcFormField, _this$$pcForm3;\n return (_ref = (_this$invalid = this.invalid) !== null && _this$invalid !== void 0 ? _this$invalid : (_this$$pcFormField = this.$pcFormField) === null || _this$$pcFormField === void 0 || (_this$$pcFormField = _this$$pcFormField.$field) === null || _this$$pcFormField === void 0 ? void 0 : _this$$pcFormField.invalid) !== null && _ref !== void 0 ? _ref : (_this$$pcForm3 = this.$pcForm) === null || _this$$pcForm3 === void 0 || (_this$$pcForm3 = _this$$pcForm3.states) === null || _this$$pcForm3 === void 0 || (_this$$pcForm3 = _this$$pcForm3[this.$formName]) === null || _this$$pcForm3 === void 0 ? void 0 : _this$$pcForm3.invalid;\n },\n $formName: function $formName() {\n var _this$$formControl;\n return this.name || ((_this$$formControl = this.$formControl) === null || _this$$formControl === void 0 ? void 0 : _this$$formControl.name);\n },\n $formControl: function $formControl() {\n var _this$$pcFormField2;\n return this.formControl || ((_this$$pcFormField2 = this.$pcFormField) === null || _this$$pcFormField2 === void 0 ? void 0 : _this$$pcFormField2.formControl);\n },\n $formDefaultValue: function $formDefaultValue() {\n var _ref2, _this$d_value, _this$$pcFormField3, _this$$pcForm4;\n return (_ref2 = (_this$d_value = this.d_value) !== null && _this$d_value !== void 0 ? _this$d_value : (_this$$pcFormField3 = this.$pcFormField) === null || _this$$pcFormField3 === void 0 ? void 0 : _this$$pcFormField3.initialValue) !== null && _ref2 !== void 0 ? _ref2 : (_this$$pcForm4 = this.$pcForm) === null || _this$$pcForm4 === void 0 || (_this$$pcForm4 = _this$$pcForm4.initialValues) === null || _this$$pcForm4 === void 0 ? void 0 : _this$$pcForm4[this.$formName];\n },\n controlled: function controlled() {\n return this.$inProps.hasOwnProperty('modelValue') || !this.$inProps.hasOwnProperty('modelValue') && !this.$inProps.hasOwnProperty('defaultValue');\n },\n // @deprecated use $filled instead\n filled: function filled() {\n return this.$filled;\n }\n }\n};\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseEditableHolder from '@primevue/core/baseeditableholder';\n\nvar script = {\n name: 'BaseInput',\n \"extends\": BaseEditableHolder,\n props: {\n size: {\n type: String,\n \"default\": null\n },\n fluid: {\n type: Boolean,\n \"default\": null\n },\n variant: {\n type: String,\n \"default\": null\n }\n },\n inject: {\n $parentInstance: {\n \"default\": undefined\n },\n $pcFluid: {\n \"default\": undefined\n }\n },\n computed: {\n $variant: function $variant() {\n var _this$variant;\n return (_this$variant = this.variant) !== null && _this$variant !== void 0 ? _this$variant : this.$primevue.config.inputStyle || this.$primevue.config.inputVariant;\n },\n $fluid: function $fluid() {\n var _this$fluid;\n return (_this$fluid = this.fluid) !== null && _this$fluid !== void 0 ? _this$fluid : !!this.$pcFluid;\n },\n // @deprecated use $fluid instead\n hasFluid: function hasFluid() {\n return this.$fluid;\n }\n }\n};\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-inputtext {\\n font-family: inherit;\\n font-feature-settings: inherit;\\n font-size: 1rem;\\n color: \".concat(dt('inputtext.color'), \";\\n background: \").concat(dt('inputtext.background'), \";\\n padding-block: \").concat(dt('inputtext.padding.y'), \";\\n padding-inline: \").concat(dt('inputtext.padding.x'), \";\\n border: 1px solid \").concat(dt('inputtext.border.color'), \";\\n transition: background \").concat(dt('inputtext.transition.duration'), \", color \").concat(dt('inputtext.transition.duration'), \", border-color \").concat(dt('inputtext.transition.duration'), \", outline-color \").concat(dt('inputtext.transition.duration'), \", box-shadow \").concat(dt('inputtext.transition.duration'), \";\\n appearance: none;\\n border-radius: \").concat(dt('inputtext.border.radius'), \";\\n outline-color: transparent;\\n box-shadow: \").concat(dt('inputtext.shadow'), \";\\n}\\n\\n.p-inputtext:enabled:hover {\\n border-color: \").concat(dt('inputtext.hover.border.color'), \";\\n}\\n\\n.p-inputtext:enabled:focus {\\n border-color: \").concat(dt('inputtext.focus.border.color'), \";\\n box-shadow: \").concat(dt('inputtext.focus.ring.shadow'), \";\\n outline: \").concat(dt('inputtext.focus.ring.width'), \" \").concat(dt('inputtext.focus.ring.style'), \" \").concat(dt('inputtext.focus.ring.color'), \";\\n outline-offset: \").concat(dt('inputtext.focus.ring.offset'), \";\\n}\\n\\n.p-inputtext.p-invalid {\\n border-color: \").concat(dt('inputtext.invalid.border.color'), \";\\n}\\n\\n.p-inputtext.p-variant-filled {\\n background: \").concat(dt('inputtext.filled.background'), \";\\n}\\n\\n.p-inputtext.p-variant-filled:enabled:hover {\\n background: \").concat(dt('inputtext.filled.hover.background'), \";\\n}\\n\\n.p-inputtext.p-variant-filled:enabled:focus {\\n background: \").concat(dt('inputtext.filled.focus.background'), \";\\n}\\n\\n.p-inputtext:disabled {\\n opacity: 1;\\n background: \").concat(dt('inputtext.disabled.background'), \";\\n color: \").concat(dt('inputtext.disabled.color'), \";\\n}\\n\\n.p-inputtext::placeholder {\\n color: \").concat(dt('inputtext.placeholder.color'), \";\\n}\\n\\n.p-inputtext.p-invalid::placeholder {\\n color: \").concat(dt('inputtext.invalid.placeholder.color'), \";\\n}\\n\\n.p-inputtext-sm {\\n font-size: \").concat(dt('inputtext.sm.font.size'), \";\\n padding-block: \").concat(dt('inputtext.sm.padding.y'), \";\\n padding-inline: \").concat(dt('inputtext.sm.padding.x'), \";\\n}\\n\\n.p-inputtext-lg {\\n font-size: \").concat(dt('inputtext.lg.font.size'), \";\\n padding-block: \").concat(dt('inputtext.lg.padding.y'), \";\\n padding-inline: \").concat(dt('inputtext.lg.padding.x'), \";\\n}\\n\\n.p-inputtext-fluid {\\n width: 100%;\\n}\\n\");\n};\nvar classes = {\n root: function root(_ref2) {\n var instance = _ref2.instance,\n props = _ref2.props;\n return ['p-inputtext p-component', {\n 'p-filled': instance.$filled,\n 'p-inputtext-sm p-inputfield-sm': props.size === 'small',\n 'p-inputtext-lg p-inputfield-lg': props.size === 'large',\n 'p-invalid': instance.$invalid,\n 'p-variant-filled': instance.$variant === 'filled',\n 'p-inputtext-fluid': instance.$fluid\n }];\n }\n};\nvar InputTextStyle = BaseStyle.extend({\n name: 'inputtext',\n theme: theme,\n classes: classes\n});\n\nexport { InputTextStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { mergeProps, openBlock, createElementBlock } from 'vue';\nimport BaseInput from '@primevue/core/baseinput';\nimport InputTextStyle from 'primevue/inputtext/style';\n\nvar script$1 = {\n name: 'BaseInputText',\n \"extends\": BaseInput,\n style: InputTextStyle,\n provide: function provide() {\n return {\n $pcInputText: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'InputText',\n \"extends\": script$1,\n inheritAttrs: false,\n methods: {\n onInput: function onInput(event) {\n this.writeValue(event.target.value, event);\n }\n },\n computed: {\n attrs: function attrs() {\n return mergeProps(this.ptmi('root', {\n context: {\n filled: this.$filled,\n disabled: this.disabled\n }\n }), this.formField);\n }\n }\n};\n\nvar _hoisted_1 = [\"value\", \"disabled\", \"aria-invalid\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"input\", mergeProps({\n type: \"text\",\n \"class\": _ctx.cx('root'),\n value: _ctx.d_value,\n disabled: _ctx.disabled,\n \"aria-invalid\": _ctx.$invalid || undefined,\n onInput: _cache[0] || (_cache[0] = function () {\n return $options.onInput && $options.onInput.apply($options, arguments);\n })\n }, $options.attrs), null, 16, _hoisted_1);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import { EventBus } from '@primeuix/utils/eventbus';\n\nvar OverlayEventBus = EventBus();\n\nexport { OverlayEventBus as default };\n//# sourceMappingURL=index.mjs.map\n","import { isClient } from '@primeuix/utils/dom';\nimport { renderSlot, openBlock, createBlock, Teleport, createCommentVNode } from 'vue';\n\nvar script = {\n name: 'Portal',\n props: {\n appendTo: {\n type: [String, Object],\n \"default\": 'body'\n },\n disabled: {\n type: Boolean,\n \"default\": false\n }\n },\n data: function data() {\n return {\n mounted: false\n };\n },\n mounted: function mounted() {\n this.mounted = isClient();\n },\n computed: {\n inline: function inline() {\n return this.disabled || this.appendTo === 'self';\n }\n }\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return $options.inline ? renderSlot(_ctx.$slots, \"default\", {\n key: 0\n }) : $data.mounted ? (openBlock(), createBlock(Teleport, {\n key: 1,\n to: $props.appendTo\n }, [renderSlot(_ctx.$slots, \"default\")], 8, [\"to\"])) : createCommentVNode(\"\", true);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import { Theme, ThemeService } from '@primeuix/styled';\nimport { isObject, resolve, getKeyValue, toFlatCase, isString, toCapitalCase, isFunction, isArray, isEmpty } from '@primeuix/utils/object';\nimport { uuid } from '@primeuix/utils/uuid';\nimport Base from '@primevue/core/base';\nimport BaseStyle from '@primevue/core/base/style';\nimport PrimeVueService from '@primevue/core/service';\nimport { mergeProps } from 'vue';\n\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) ; else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nvar BaseDirective = {\n _getMeta: function _getMeta() {\n return [isObject(arguments.length <= 0 ? undefined : arguments[0]) ? undefined : arguments.length <= 0 ? undefined : arguments[0], resolve(isObject(arguments.length <= 0 ? undefined : arguments[0]) ? arguments.length <= 0 ? undefined : arguments[0] : arguments.length <= 1 ? undefined : arguments[1])];\n },\n _getConfig: function _getConfig(binding, vnode) {\n var _ref, _binding$instance, _vnode$ctx;\n return (_ref = (binding === null || binding === void 0 || (_binding$instance = binding.instance) === null || _binding$instance === void 0 ? void 0 : _binding$instance.$primevue) || (vnode === null || vnode === void 0 || (_vnode$ctx = vnode.ctx) === null || _vnode$ctx === void 0 || (_vnode$ctx = _vnode$ctx.appContext) === null || _vnode$ctx === void 0 || (_vnode$ctx = _vnode$ctx.config) === null || _vnode$ctx === void 0 || (_vnode$ctx = _vnode$ctx.globalProperties) === null || _vnode$ctx === void 0 ? void 0 : _vnode$ctx.$primevue)) === null || _ref === void 0 ? void 0 : _ref.config;\n },\n _getOptionValue: getKeyValue,\n _getPTValue: function _getPTValue() {\n var _instance$binding, _instance$$primevueCo;\n var instance = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var obj = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n var params = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var searchInDefaultPT = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n var getValue = function getValue() {\n var value = BaseDirective._getOptionValue.apply(BaseDirective, arguments);\n return isString(value) || isArray(value) ? {\n \"class\": value\n } : value;\n };\n var _ref2 = ((_instance$binding = instance.binding) === null || _instance$binding === void 0 || (_instance$binding = _instance$binding.value) === null || _instance$binding === void 0 ? void 0 : _instance$binding.ptOptions) || ((_instance$$primevueCo = instance.$primevueConfig) === null || _instance$$primevueCo === void 0 ? void 0 : _instance$$primevueCo.ptOptions) || {},\n _ref2$mergeSections = _ref2.mergeSections,\n mergeSections = _ref2$mergeSections === void 0 ? true : _ref2$mergeSections,\n _ref2$mergeProps = _ref2.mergeProps,\n useMergeProps = _ref2$mergeProps === void 0 ? false : _ref2$mergeProps;\n var global = searchInDefaultPT ? BaseDirective._useDefaultPT(instance, instance.defaultPT(), getValue, key, params) : undefined;\n var self = BaseDirective._usePT(instance, BaseDirective._getPT(obj, instance.$name), getValue, key, _objectSpread(_objectSpread({}, params), {}, {\n global: global || {}\n }));\n var datasets = BaseDirective._getPTDatasets(instance, key);\n return mergeSections || !mergeSections && self ? useMergeProps ? BaseDirective._mergeProps(instance, useMergeProps, global, self, datasets) : _objectSpread(_objectSpread(_objectSpread({}, global), self), datasets) : _objectSpread(_objectSpread({}, self), datasets);\n },\n _getPTDatasets: function _getPTDatasets() {\n var instance = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var datasetPrefix = 'data-pc-';\n return _objectSpread(_objectSpread({}, key === 'root' && _defineProperty({}, \"\".concat(datasetPrefix, \"name\"), toFlatCase(instance.$name))), {}, _defineProperty({}, \"\".concat(datasetPrefix, \"section\"), toFlatCase(key)));\n },\n _getPT: function _getPT(pt) {\n var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var callback = arguments.length > 2 ? arguments[2] : undefined;\n var getValue = function getValue(value) {\n var _computedValue$_key;\n var computedValue = callback ? callback(value) : value;\n var _key = toFlatCase(key);\n return (_computedValue$_key = computedValue === null || computedValue === void 0 ? void 0 : computedValue[_key]) !== null && _computedValue$_key !== void 0 ? _computedValue$_key : computedValue;\n };\n return pt !== null && pt !== void 0 && pt.hasOwnProperty('_usept') ? {\n _usept: pt['_usept'],\n originalValue: getValue(pt.originalValue),\n value: getValue(pt.value)\n } : getValue(pt);\n },\n _usePT: function _usePT() {\n var instance = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var pt = arguments.length > 1 ? arguments[1] : undefined;\n var callback = arguments.length > 2 ? arguments[2] : undefined;\n var key = arguments.length > 3 ? arguments[3] : undefined;\n var params = arguments.length > 4 ? arguments[4] : undefined;\n var fn = function fn(value) {\n return callback(value, key, params);\n };\n if (pt !== null && pt !== void 0 && pt.hasOwnProperty('_usept')) {\n var _instance$$primevueCo2;\n var _ref4 = pt['_usept'] || ((_instance$$primevueCo2 = instance.$primevueConfig) === null || _instance$$primevueCo2 === void 0 ? void 0 : _instance$$primevueCo2.ptOptions) || {},\n _ref4$mergeSections = _ref4.mergeSections,\n mergeSections = _ref4$mergeSections === void 0 ? true : _ref4$mergeSections,\n _ref4$mergeProps = _ref4.mergeProps,\n useMergeProps = _ref4$mergeProps === void 0 ? false : _ref4$mergeProps;\n var originalValue = fn(pt.originalValue);\n var value = fn(pt.value);\n if (originalValue === undefined && value === undefined) return undefined;else if (isString(value)) return value;else if (isString(originalValue)) return originalValue;\n return mergeSections || !mergeSections && value ? useMergeProps ? BaseDirective._mergeProps(instance, useMergeProps, originalValue, value) : _objectSpread(_objectSpread({}, originalValue), value) : value;\n }\n return fn(pt);\n },\n _useDefaultPT: function _useDefaultPT() {\n var instance = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var defaultPT = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var callback = arguments.length > 2 ? arguments[2] : undefined;\n var key = arguments.length > 3 ? arguments[3] : undefined;\n var params = arguments.length > 4 ? arguments[4] : undefined;\n return BaseDirective._usePT(instance, defaultPT, callback, key, params);\n },\n _loadStyles: function _loadStyles(el, binding, vnode) {\n var _config$csp;\n var config = BaseDirective._getConfig(binding, vnode);\n var useStyleOptions = {\n nonce: config === null || config === void 0 || (_config$csp = config.csp) === null || _config$csp === void 0 ? void 0 : _config$csp.nonce\n };\n BaseDirective._loadCoreStyles(el.$instance, useStyleOptions);\n BaseDirective._loadThemeStyles(el.$instance, useStyleOptions);\n BaseDirective._loadScopedThemeStyles(el.$instance, useStyleOptions);\n BaseDirective._themeChangeListener(function () {\n return BaseDirective._loadThemeStyles(el.$instance, useStyleOptions);\n });\n },\n _loadCoreStyles: function _loadCoreStyles() {\n var _instance$$style, _instance$$style2;\n var instance = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var useStyleOptions = arguments.length > 1 ? arguments[1] : undefined;\n if (!Base.isStyleNameLoaded((_instance$$style = instance.$style) === null || _instance$$style === void 0 ? void 0 : _instance$$style.name) && (_instance$$style2 = instance.$style) !== null && _instance$$style2 !== void 0 && _instance$$style2.name) {\n var _instance$$style3;\n BaseStyle.loadCSS(useStyleOptions);\n (_instance$$style3 = instance.$style) === null || _instance$$style3 === void 0 || _instance$$style3.loadCSS(useStyleOptions);\n Base.setLoadedStyleName(instance.$style.name);\n }\n },\n _loadThemeStyles: function _loadThemeStyles() {\n var _instance$theme, _instance$$style5, _instance$$style6;\n var instance = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var useStyleOptions = arguments.length > 1 ? arguments[1] : undefined;\n if (instance !== null && instance !== void 0 && instance.isUnstyled() || (instance === null || instance === void 0 || (_instance$theme = instance.theme) === null || _instance$theme === void 0 ? void 0 : _instance$theme.call(instance)) === 'none') return;\n\n // common\n if (!Theme.isStyleNameLoaded('common')) {\n var _instance$$style4, _instance$$style4$get;\n var _ref5 = ((_instance$$style4 = instance.$style) === null || _instance$$style4 === void 0 || (_instance$$style4$get = _instance$$style4.getCommonTheme) === null || _instance$$style4$get === void 0 ? void 0 : _instance$$style4$get.call(_instance$$style4)) || {},\n primitive = _ref5.primitive,\n semantic = _ref5.semantic,\n global = _ref5.global,\n style = _ref5.style;\n BaseStyle.load(primitive === null || primitive === void 0 ? void 0 : primitive.css, _objectSpread({\n name: 'primitive-variables'\n }, useStyleOptions));\n BaseStyle.load(semantic === null || semantic === void 0 ? void 0 : semantic.css, _objectSpread({\n name: 'semantic-variables'\n }, useStyleOptions));\n BaseStyle.load(global === null || global === void 0 ? void 0 : global.css, _objectSpread({\n name: 'global-variables'\n }, useStyleOptions));\n BaseStyle.loadTheme(_objectSpread({\n name: 'global-style'\n }, useStyleOptions), style);\n Theme.setLoadedStyleName('common');\n }\n\n // directive\n if (!Theme.isStyleNameLoaded((_instance$$style5 = instance.$style) === null || _instance$$style5 === void 0 ? void 0 : _instance$$style5.name) && (_instance$$style6 = instance.$style) !== null && _instance$$style6 !== void 0 && _instance$$style6.name) {\n var _instance$$style7, _instance$$style7$get, _instance$$style8, _instance$$style9;\n var _ref6 = ((_instance$$style7 = instance.$style) === null || _instance$$style7 === void 0 || (_instance$$style7$get = _instance$$style7.getDirectiveTheme) === null || _instance$$style7$get === void 0 ? void 0 : _instance$$style7$get.call(_instance$$style7)) || {},\n css = _ref6.css,\n _style = _ref6.style;\n (_instance$$style8 = instance.$style) === null || _instance$$style8 === void 0 || _instance$$style8.load(css, _objectSpread({\n name: \"\".concat(instance.$style.name, \"-variables\")\n }, useStyleOptions));\n (_instance$$style9 = instance.$style) === null || _instance$$style9 === void 0 || _instance$$style9.loadTheme(_objectSpread({\n name: \"\".concat(instance.$style.name, \"-style\")\n }, useStyleOptions), _style);\n Theme.setLoadedStyleName(instance.$style.name);\n }\n\n // layer order\n if (!Theme.isStyleNameLoaded('layer-order')) {\n var _instance$$style10, _instance$$style10$ge;\n var layerOrder = (_instance$$style10 = instance.$style) === null || _instance$$style10 === void 0 || (_instance$$style10$ge = _instance$$style10.getLayerOrderThemeCSS) === null || _instance$$style10$ge === void 0 ? void 0 : _instance$$style10$ge.call(_instance$$style10);\n BaseStyle.load(layerOrder, _objectSpread({\n name: 'layer-order',\n first: true\n }, useStyleOptions));\n Theme.setLoadedStyleName('layer-order');\n }\n },\n _loadScopedThemeStyles: function _loadScopedThemeStyles() {\n var instance = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var useStyleOptions = arguments.length > 1 ? arguments[1] : undefined;\n var preset = instance.preset();\n if (preset && instance.$attrSelector) {\n var _instance$$style11, _instance$$style11$ge, _instance$$style12;\n var _ref7 = ((_instance$$style11 = instance.$style) === null || _instance$$style11 === void 0 || (_instance$$style11$ge = _instance$$style11.getPresetTheme) === null || _instance$$style11$ge === void 0 ? void 0 : _instance$$style11$ge.call(_instance$$style11, preset, \"[\".concat(instance.$attrSelector, \"]\"))) || {},\n css = _ref7.css;\n var scopedStyle = (_instance$$style12 = instance.$style) === null || _instance$$style12 === void 0 ? void 0 : _instance$$style12.load(css, _objectSpread({\n name: \"\".concat(instance.$attrSelector, \"-\").concat(instance.$style.name)\n }, useStyleOptions));\n instance.scopedStyleEl = scopedStyle.el;\n }\n },\n _themeChangeListener: function _themeChangeListener() {\n var callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function () {};\n Base.clearLoadedStyleNames();\n ThemeService.on('theme:change', callback);\n },\n _hook: function _hook(directiveName, hookName, el, binding, vnode, prevVnode) {\n var _binding$value, _config$pt;\n var name = \"on\".concat(toCapitalCase(hookName));\n var config = BaseDirective._getConfig(binding, vnode);\n var instance = el === null || el === void 0 ? void 0 : el.$instance;\n var selfHook = BaseDirective._usePT(instance, BaseDirective._getPT(binding === null || binding === void 0 || (_binding$value = binding.value) === null || _binding$value === void 0 ? void 0 : _binding$value.pt, directiveName), BaseDirective._getOptionValue, \"hooks.\".concat(name));\n var defaultHook = BaseDirective._useDefaultPT(instance, config === null || config === void 0 || (_config$pt = config.pt) === null || _config$pt === void 0 || (_config$pt = _config$pt.directives) === null || _config$pt === void 0 ? void 0 : _config$pt[directiveName], BaseDirective._getOptionValue, \"hooks.\".concat(name));\n var options = {\n el: el,\n binding: binding,\n vnode: vnode,\n prevVnode: prevVnode\n };\n selfHook === null || selfHook === void 0 || selfHook(instance, options);\n defaultHook === null || defaultHook === void 0 || defaultHook(instance, options);\n },\n _mergeProps: function _mergeProps() {\n var fn = arguments.length > 1 ? arguments[1] : undefined;\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key2 = 2; _key2 < _len; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n return isFunction(fn) ? fn.apply(void 0, args) : mergeProps.apply(void 0, args);\n },\n _extend: function _extend(name) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var handleHook = function handleHook(hook, el, binding, vnode, prevVnode) {\n var _el$$pd, _el$$instance$hook, _el$$instance9, _el$$pd2;\n el._$instances = el._$instances || {};\n var config = BaseDirective._getConfig(binding, vnode);\n var $prevInstance = el._$instances[name] || {};\n var $options = isEmpty($prevInstance) ? _objectSpread(_objectSpread({}, options), options === null || options === void 0 ? void 0 : options.methods) : {};\n el._$instances[name] = _objectSpread(_objectSpread({}, $prevInstance), {}, {\n /* new instance variables to pass in directive methods */\n $name: name,\n $host: el,\n $binding: binding,\n $modifiers: binding === null || binding === void 0 ? void 0 : binding.modifiers,\n $value: binding === null || binding === void 0 ? void 0 : binding.value,\n $el: $prevInstance['$el'] || el || undefined,\n $style: _objectSpread({\n classes: undefined,\n inlineStyles: undefined,\n load: function load() {},\n loadCSS: function loadCSS() {},\n loadTheme: function loadTheme() {}\n }, options === null || options === void 0 ? void 0 : options.style),\n $primevueConfig: config,\n $attrSelector: (_el$$pd = el.$pd) === null || _el$$pd === void 0 || (_el$$pd = _el$$pd[name]) === null || _el$$pd === void 0 ? void 0 : _el$$pd.attrSelector,\n /* computed instance variables */\n defaultPT: function defaultPT() {\n return BaseDirective._getPT(config === null || config === void 0 ? void 0 : config.pt, undefined, function (value) {\n var _value$directives;\n return value === null || value === void 0 || (_value$directives = value.directives) === null || _value$directives === void 0 ? void 0 : _value$directives[name];\n });\n },\n isUnstyled: function isUnstyled() {\n var _el$$instance, _el$$instance2;\n return ((_el$$instance = el.$instance) === null || _el$$instance === void 0 || (_el$$instance = _el$$instance.$binding) === null || _el$$instance === void 0 || (_el$$instance = _el$$instance.value) === null || _el$$instance === void 0 ? void 0 : _el$$instance.unstyled) !== undefined ? (_el$$instance2 = el.$instance) === null || _el$$instance2 === void 0 || (_el$$instance2 = _el$$instance2.$binding) === null || _el$$instance2 === void 0 || (_el$$instance2 = _el$$instance2.value) === null || _el$$instance2 === void 0 ? void 0 : _el$$instance2.unstyled : config === null || config === void 0 ? void 0 : config.unstyled;\n },\n theme: function theme() {\n var _el$$instance3;\n return (_el$$instance3 = el.$instance) === null || _el$$instance3 === void 0 || (_el$$instance3 = _el$$instance3.$primevueConfig) === null || _el$$instance3 === void 0 ? void 0 : _el$$instance3.theme;\n },\n preset: function preset() {\n var _el$$instance4;\n return (_el$$instance4 = el.$instance) === null || _el$$instance4 === void 0 || (_el$$instance4 = _el$$instance4.$binding) === null || _el$$instance4 === void 0 || (_el$$instance4 = _el$$instance4.value) === null || _el$$instance4 === void 0 ? void 0 : _el$$instance4.dt;\n },\n /* instance's methods */\n ptm: function ptm() {\n var _el$$instance5;\n var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return BaseDirective._getPTValue(el.$instance, (_el$$instance5 = el.$instance) === null || _el$$instance5 === void 0 || (_el$$instance5 = _el$$instance5.$binding) === null || _el$$instance5 === void 0 || (_el$$instance5 = _el$$instance5.value) === null || _el$$instance5 === void 0 ? void 0 : _el$$instance5.pt, key, _objectSpread({}, params));\n },\n ptmo: function ptmo() {\n var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return BaseDirective._getPTValue(el.$instance, obj, key, params, false);\n },\n cx: function cx() {\n var _el$$instance6, _el$$instance7;\n var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return !((_el$$instance6 = el.$instance) !== null && _el$$instance6 !== void 0 && _el$$instance6.isUnstyled()) ? BaseDirective._getOptionValue((_el$$instance7 = el.$instance) === null || _el$$instance7 === void 0 || (_el$$instance7 = _el$$instance7.$style) === null || _el$$instance7 === void 0 ? void 0 : _el$$instance7.classes, key, _objectSpread({}, params)) : undefined;\n },\n sx: function sx() {\n var _el$$instance8;\n var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var when = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return when ? BaseDirective._getOptionValue((_el$$instance8 = el.$instance) === null || _el$$instance8 === void 0 || (_el$$instance8 = _el$$instance8.$style) === null || _el$$instance8 === void 0 ? void 0 : _el$$instance8.inlineStyles, key, _objectSpread({}, params)) : undefined;\n }\n }, $options);\n el.$instance = el._$instances[name]; // pass instance data to hooks\n (_el$$instance$hook = (_el$$instance9 = el.$instance)[hook]) === null || _el$$instance$hook === void 0 || _el$$instance$hook.call(_el$$instance9, el, binding, vnode, prevVnode); // handle hook in directive implementation\n el[\"$\".concat(name)] = el.$instance; // expose all options with $<directive_name>\n BaseDirective._hook(name, hook, el, binding, vnode, prevVnode); // handle hooks during directive uses (global and self-definition)\n\n el.$pd || (el.$pd = {});\n el.$pd[name] = _objectSpread(_objectSpread({}, (_el$$pd2 = el.$pd) === null || _el$$pd2 === void 0 ? void 0 : _el$$pd2[name]), {}, {\n name: name,\n instance: el.$instance\n });\n };\n var handleWatch = function handleWatch(el) {\n var _el$$instance10, _watchers$config, _el$$instance11, _watchers$configRipp, _el$$instance12;\n var watchers = (_el$$instance10 = el.$instance) === null || _el$$instance10 === void 0 ? void 0 : _el$$instance10.watch;\n\n // for 'config'\n watchers === null || watchers === void 0 || (_watchers$config = watchers['config']) === null || _watchers$config === void 0 || _watchers$config.call(el.$instance, (_el$$instance11 = el.$instance) === null || _el$$instance11 === void 0 ? void 0 : _el$$instance11.$primevueConfig);\n PrimeVueService.on('config:change', function (_ref8) {\n var _watchers$config2;\n var newValue = _ref8.newValue,\n oldValue = _ref8.oldValue;\n return watchers === null || watchers === void 0 || (_watchers$config2 = watchers['config']) === null || _watchers$config2 === void 0 ? void 0 : _watchers$config2.call(el.$instance, newValue, oldValue);\n });\n\n // for 'config.ripple'\n watchers === null || watchers === void 0 || (_watchers$configRipp = watchers['config.ripple']) === null || _watchers$configRipp === void 0 || _watchers$configRipp.call(el.$instance, (_el$$instance12 = el.$instance) === null || _el$$instance12 === void 0 || (_el$$instance12 = _el$$instance12.$primevueConfig) === null || _el$$instance12 === void 0 ? void 0 : _el$$instance12.ripple);\n PrimeVueService.on('config:ripple:change', function (_ref9) {\n var _watchers$configRipp2;\n var newValue = _ref9.newValue,\n oldValue = _ref9.oldValue;\n return watchers === null || watchers === void 0 || (_watchers$configRipp2 = watchers['config.ripple']) === null || _watchers$configRipp2 === void 0 ? void 0 : _watchers$configRipp2.call(el.$instance, newValue, oldValue);\n });\n };\n return {\n created: function created(el, binding, vnode, prevVnode) {\n el.$pd || (el.$pd = {});\n el.$pd[name] = {\n name: name,\n attrSelector: uuid('pd')\n };\n handleHook('created', el, binding, vnode, prevVnode);\n },\n beforeMount: function beforeMount(el, binding, vnode, prevVnode) {\n BaseDirective._loadStyles(el, binding, vnode);\n handleHook('beforeMount', el, binding, vnode, prevVnode);\n handleWatch(el);\n },\n mounted: function mounted(el, binding, vnode, prevVnode) {\n BaseDirective._loadStyles(el, binding, vnode);\n handleHook('mounted', el, binding, vnode, prevVnode);\n },\n beforeUpdate: function beforeUpdate(el, binding, vnode, prevVnode) {\n handleHook('beforeUpdate', el, binding, vnode, prevVnode);\n },\n updated: function updated(el, binding, vnode, prevVnode) {\n BaseDirective._loadStyles(el, binding, vnode);\n handleHook('updated', el, binding, vnode, prevVnode);\n },\n beforeUnmount: function beforeUnmount(el, binding, vnode, prevVnode) {\n handleHook('beforeUnmount', el, binding, vnode, prevVnode);\n },\n unmounted: function unmounted(el, binding, vnode, prevVnode) {\n var _el$$instance13;\n (_el$$instance13 = el.$instance) === null || _el$$instance13 === void 0 || (_el$$instance13 = _el$$instance13.scopedStyleEl) === null || _el$$instance13 === void 0 || (_el$$instance13 = _el$$instance13.value) === null || _el$$instance13 === void 0 || _el$$instance13.remove();\n handleHook('unmounted', el, binding, vnode, prevVnode);\n }\n };\n },\n extend: function extend() {\n var _BaseDirective$_getMe = BaseDirective._getMeta.apply(BaseDirective, arguments),\n _BaseDirective$_getMe2 = _slicedToArray(_BaseDirective$_getMe, 2),\n name = _BaseDirective$_getMe2[0],\n options = _BaseDirective$_getMe2[1];\n return _objectSpread({\n extend: function extend() {\n var _BaseDirective$_getMe3 = BaseDirective._getMeta.apply(BaseDirective, arguments),\n _BaseDirective$_getMe4 = _slicedToArray(_BaseDirective$_getMe3, 2),\n _name = _BaseDirective$_getMe4[0],\n _options = _BaseDirective$_getMe4[1];\n return BaseDirective.extend(_name, _objectSpread(_objectSpread(_objectSpread({}, options), options === null || options === void 0 ? void 0 : options.methods), _options));\n }\n }, BaseDirective._extend(name, options));\n }\n};\n\nexport { BaseDirective as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-ink {\\n display: block;\\n position: absolute;\\n background: \".concat(dt('ripple.background'), \";\\n border-radius: 100%;\\n transform: scale(0);\\n pointer-events: none;\\n}\\n\\n.p-ink-active {\\n animation: ripple 0.4s linear;\\n}\\n\\n@keyframes ripple {\\n 100% {\\n opacity: 0;\\n transform: scale(2.5);\\n }\\n}\\n\");\n};\nvar classes = {\n root: 'p-ink'\n};\nvar RippleStyle = BaseStyle.extend({\n name: 'ripple-directive',\n theme: theme,\n classes: classes\n});\n\nexport { RippleStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { createElement, removeClass, getHeight, getWidth, getOuterWidth, getOuterHeight, getOffset, addClass, getAttribute } from '@primeuix/utils/dom';\nimport BaseDirective from '@primevue/core/basedirective';\nimport RippleStyle from 'primevue/ripple/style';\n\nvar BaseRipple = BaseDirective.extend({\n style: RippleStyle\n});\n\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _iterableToArray(r) { if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r); }\nfunction _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nvar Ripple = BaseRipple.extend('ripple', {\n watch: {\n 'config.ripple': function configRipple(newValue) {\n if (newValue) {\n this.createRipple(this.$host);\n this.bindEvents(this.$host);\n this.$host.setAttribute('data-pd-ripple', true);\n this.$host.style['overflow'] = 'hidden';\n this.$host.style['position'] = 'relative';\n } else {\n this.remove(this.$host);\n this.$host.removeAttribute('data-pd-ripple');\n }\n }\n },\n unmounted: function unmounted(el) {\n this.remove(el);\n },\n timeout: undefined,\n methods: {\n bindEvents: function bindEvents(el) {\n el.addEventListener('mousedown', this.onMouseDown.bind(this));\n },\n unbindEvents: function unbindEvents(el) {\n el.removeEventListener('mousedown', this.onMouseDown.bind(this));\n },\n createRipple: function createRipple(el) {\n var ink = createElement('span', _defineProperty(_defineProperty({\n role: 'presentation',\n 'aria-hidden': true,\n 'data-p-ink': true,\n 'data-p-ink-active': false,\n \"class\": !this.isUnstyled() && this.cx('root'),\n onAnimationEnd: this.onAnimationEnd.bind(this)\n }, this.$attrSelector, ''), 'p-bind', this.ptm('root')));\n el.appendChild(ink);\n this.$el = ink;\n },\n remove: function remove(el) {\n var ink = this.getInk(el);\n if (ink) {\n this.$host.style['overflow'] = '';\n this.$host.style['position'] = '';\n this.unbindEvents(el);\n ink.removeEventListener('animationend', this.onAnimationEnd);\n ink.remove();\n }\n },\n onMouseDown: function onMouseDown(event) {\n var _this = this;\n var target = event.currentTarget;\n var ink = this.getInk(target);\n if (!ink || getComputedStyle(ink, null).display === 'none') {\n return;\n }\n !this.isUnstyled() && removeClass(ink, 'p-ink-active');\n ink.setAttribute('data-p-ink-active', 'false');\n if (!getHeight(ink) && !getWidth(ink)) {\n var d = Math.max(getOuterWidth(target), getOuterHeight(target));\n ink.style.height = d + 'px';\n ink.style.width = d + 'px';\n }\n var offset = getOffset(target);\n var x = event.pageX - offset.left + document.body.scrollTop - getWidth(ink) / 2;\n var y = event.pageY - offset.top + document.body.scrollLeft - getHeight(ink) / 2;\n ink.style.top = y + 'px';\n ink.style.left = x + 'px';\n !this.isUnstyled() && addClass(ink, 'p-ink-active');\n ink.setAttribute('data-p-ink-active', 'true');\n this.timeout = setTimeout(function () {\n if (ink) {\n !_this.isUnstyled() && removeClass(ink, 'p-ink-active');\n ink.setAttribute('data-p-ink-active', 'false');\n }\n }, 401);\n },\n onAnimationEnd: function onAnimationEnd(event) {\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n !this.isUnstyled() && removeClass(event.currentTarget, 'p-ink-active');\n event.currentTarget.setAttribute('data-p-ink-active', 'false');\n },\n getInk: function getInk(el) {\n return el && el.children ? _toConsumableArray(el.children).find(function (child) {\n return getAttribute(child, 'data-pc-name') === 'ripple';\n }) : undefined;\n }\n }\n});\n\nexport { Ripple as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-virtualscroller-loader {\\n background: \".concat(dt('virtualscroller.loader.mask.background'), \";\\n color: \").concat(dt('virtualscroller.loader.mask.color'), \";\\n}\\n\\n.p-virtualscroller-loading-icon {\\n font-size: \").concat(dt('virtualscroller.loader.icon.size'), \";\\n width: \").concat(dt('virtualscroller.loader.icon.size'), \";\\n height: \").concat(dt('virtualscroller.loader.icon.size'), \";\\n}\\n\");\n};\nvar css = \"\\n.p-virtualscroller {\\n position: relative;\\n overflow: auto;\\n contain: strict;\\n transform: translateZ(0);\\n will-change: scroll-position;\\n outline: 0 none;\\n}\\n\\n.p-virtualscroller-content {\\n position: absolute;\\n top: 0;\\n left: 0;\\n min-height: 100%;\\n min-width: 100%;\\n will-change: transform;\\n}\\n\\n.p-virtualscroller-spacer {\\n position: absolute;\\n top: 0;\\n left: 0;\\n height: 1px;\\n width: 1px;\\n transform-origin: 0 0;\\n pointer-events: none;\\n}\\n\\n.p-virtualscroller-loader {\\n position: sticky;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n}\\n\\n.p-virtualscroller-loader-mask {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n}\\n\\n.p-virtualscroller-horizontal > .p-virtualscroller-content {\\n display: flex;\\n}\\n\\n.p-virtualscroller-inline .p-virtualscroller-content {\\n position: static;\\n}\\n\";\nvar VirtualScrollerStyle = BaseStyle.extend({\n name: 'virtualscroller',\n css: css,\n theme: theme\n});\n\nexport { VirtualScrollerStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { isVisible, getWidth, getHeight, findSingle } from '@primeuix/utils/dom';\nimport SpinnerIcon from '@primevue/icons/spinner';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport VirtualScrollerStyle from 'primevue/virtualscroller/style';\nimport { resolveComponent, openBlock, createElementBlock, mergeProps, renderSlot, createElementVNode, Fragment, renderList, createCommentVNode, createVNode } from 'vue';\n\nvar script$1 = {\n name: 'BaseVirtualScroller',\n \"extends\": BaseComponent,\n props: {\n id: {\n type: String,\n \"default\": null\n },\n style: null,\n \"class\": null,\n items: {\n type: Array,\n \"default\": null\n },\n itemSize: {\n type: [Number, Array],\n \"default\": 0\n },\n scrollHeight: null,\n scrollWidth: null,\n orientation: {\n type: String,\n \"default\": 'vertical'\n },\n numToleratedItems: {\n type: Number,\n \"default\": null\n },\n delay: {\n type: Number,\n \"default\": 0\n },\n resizeDelay: {\n type: Number,\n \"default\": 10\n },\n lazy: {\n type: Boolean,\n \"default\": false\n },\n disabled: {\n type: Boolean,\n \"default\": false\n },\n loaderDisabled: {\n type: Boolean,\n \"default\": false\n },\n columns: {\n type: Array,\n \"default\": null\n },\n loading: {\n type: Boolean,\n \"default\": false\n },\n showSpacer: {\n type: Boolean,\n \"default\": true\n },\n showLoader: {\n type: Boolean,\n \"default\": false\n },\n tabindex: {\n type: Number,\n \"default\": 0\n },\n inline: {\n type: Boolean,\n \"default\": false\n },\n step: {\n type: Number,\n \"default\": 0\n },\n appendOnly: {\n type: Boolean,\n \"default\": false\n },\n autoSize: {\n type: Boolean,\n \"default\": false\n }\n },\n style: VirtualScrollerStyle,\n provide: function provide() {\n return {\n $pcVirtualScroller: this,\n $parentInstance: this\n };\n },\n beforeMount: function beforeMount() {\n var _this$$primevueConfig;\n VirtualScrollerStyle.loadCSS({\n nonce: (_this$$primevueConfig = this.$primevueConfig) === null || _this$$primevueConfig === void 0 || (_this$$primevueConfig = _this$$primevueConfig.csp) === null || _this$$primevueConfig === void 0 ? void 0 : _this$$primevueConfig.nonce\n });\n }\n};\n\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nvar script = {\n name: 'VirtualScroller',\n \"extends\": script$1,\n inheritAttrs: false,\n emits: ['update:numToleratedItems', 'scroll', 'scroll-index-change', 'lazy-load'],\n data: function data() {\n var both = this.isBoth();\n return {\n first: both ? {\n rows: 0,\n cols: 0\n } : 0,\n last: both ? {\n rows: 0,\n cols: 0\n } : 0,\n page: both ? {\n rows: 0,\n cols: 0\n } : 0,\n numItemsInViewport: both ? {\n rows: 0,\n cols: 0\n } : 0,\n lastScrollPos: both ? {\n top: 0,\n left: 0\n } : 0,\n d_numToleratedItems: this.numToleratedItems,\n d_loading: this.loading,\n loaderArr: [],\n spacerStyle: {},\n contentStyle: {}\n };\n },\n element: null,\n content: null,\n lastScrollPos: null,\n scrollTimeout: null,\n resizeTimeout: null,\n defaultWidth: 0,\n defaultHeight: 0,\n defaultContentWidth: 0,\n defaultContentHeight: 0,\n isRangeChanged: false,\n lazyLoadState: {},\n resizeListener: null,\n initialized: false,\n watch: {\n numToleratedItems: function numToleratedItems(newValue) {\n this.d_numToleratedItems = newValue;\n },\n loading: function loading(newValue, oldValue) {\n if (this.lazy && newValue !== oldValue && newValue !== this.d_loading) {\n this.d_loading = newValue;\n }\n },\n items: function items(newValue, oldValue) {\n if (!oldValue || oldValue.length !== (newValue || []).length) {\n this.init();\n this.calculateAutoSize();\n }\n },\n itemSize: function itemSize() {\n this.init();\n this.calculateAutoSize();\n },\n orientation: function orientation() {\n this.lastScrollPos = this.isBoth() ? {\n top: 0,\n left: 0\n } : 0;\n },\n scrollHeight: function scrollHeight() {\n this.init();\n this.calculateAutoSize();\n },\n scrollWidth: function scrollWidth() {\n this.init();\n this.calculateAutoSize();\n }\n },\n mounted: function mounted() {\n this.viewInit();\n this.lastScrollPos = this.isBoth() ? {\n top: 0,\n left: 0\n } : 0;\n this.lazyLoadState = this.lazyLoadState || {};\n },\n updated: function updated() {\n !this.initialized && this.viewInit();\n },\n unmounted: function unmounted() {\n this.unbindResizeListener();\n this.initialized = false;\n },\n methods: {\n viewInit: function viewInit() {\n if (isVisible(this.element)) {\n this.setContentEl(this.content);\n this.init();\n this.calculateAutoSize();\n this.bindResizeListener();\n this.defaultWidth = getWidth(this.element);\n this.defaultHeight = getHeight(this.element);\n this.defaultContentWidth = getWidth(this.content);\n this.defaultContentHeight = getHeight(this.content);\n this.initialized = true;\n }\n },\n init: function init() {\n if (!this.disabled) {\n this.setSize();\n this.calculateOptions();\n this.setSpacerSize();\n }\n },\n isVertical: function isVertical() {\n return this.orientation === 'vertical';\n },\n isHorizontal: function isHorizontal() {\n return this.orientation === 'horizontal';\n },\n isBoth: function isBoth() {\n return this.orientation === 'both';\n },\n scrollTo: function scrollTo(options) {\n //this.lastScrollPos = this.both ? { top: 0, left: 0 } : 0;\n this.element && this.element.scrollTo(options);\n },\n scrollToIndex: function scrollToIndex(index) {\n var _this = this;\n var behavior = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'auto';\n var both = this.isBoth();\n var horizontal = this.isHorizontal();\n var valid = both ? index.every(function (i) {\n return i > -1;\n }) : index > -1;\n if (valid) {\n var first = this.first;\n var _this$element = this.element,\n _this$element$scrollT = _this$element.scrollTop,\n scrollTop = _this$element$scrollT === void 0 ? 0 : _this$element$scrollT,\n _this$element$scrollL = _this$element.scrollLeft,\n scrollLeft = _this$element$scrollL === void 0 ? 0 : _this$element$scrollL;\n var _this$calculateNumIte = this.calculateNumItems(),\n numToleratedItems = _this$calculateNumIte.numToleratedItems;\n var contentPos = this.getContentPosition();\n var itemSize = this.itemSize;\n var calculateFirst = function calculateFirst() {\n var _index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var _numT = arguments.length > 1 ? arguments[1] : undefined;\n return _index <= _numT ? 0 : _index;\n };\n var calculateCoord = function calculateCoord(_first, _size, _cpos) {\n return _first * _size + _cpos;\n };\n var scrollTo = function scrollTo() {\n var left = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var top = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n return _this.scrollTo({\n left: left,\n top: top,\n behavior: behavior\n });\n };\n var newFirst = both ? {\n rows: 0,\n cols: 0\n } : 0;\n var isRangeChanged = false,\n isScrollChanged = false;\n if (both) {\n newFirst = {\n rows: calculateFirst(index[0], numToleratedItems[0]),\n cols: calculateFirst(index[1], numToleratedItems[1])\n };\n scrollTo(calculateCoord(newFirst.cols, itemSize[1], contentPos.left), calculateCoord(newFirst.rows, itemSize[0], contentPos.top));\n isScrollChanged = this.lastScrollPos.top !== scrollTop || this.lastScrollPos.left !== scrollLeft;\n isRangeChanged = newFirst.rows !== first.rows || newFirst.cols !== first.cols;\n } else {\n newFirst = calculateFirst(index, numToleratedItems);\n horizontal ? scrollTo(calculateCoord(newFirst, itemSize, contentPos.left), scrollTop) : scrollTo(scrollLeft, calculateCoord(newFirst, itemSize, contentPos.top));\n isScrollChanged = this.lastScrollPos !== (horizontal ? scrollLeft : scrollTop);\n isRangeChanged = newFirst !== first;\n }\n this.isRangeChanged = isRangeChanged;\n isScrollChanged && (this.first = newFirst);\n }\n },\n scrollInView: function scrollInView(index, to) {\n var _this2 = this;\n var behavior = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'auto';\n if (to) {\n var both = this.isBoth();\n var horizontal = this.isHorizontal();\n var valid = both ? index.every(function (i) {\n return i > -1;\n }) : index > -1;\n if (valid) {\n var _this$getRenderedRang = this.getRenderedRange(),\n first = _this$getRenderedRang.first,\n viewport = _this$getRenderedRang.viewport;\n var scrollTo = function scrollTo() {\n var left = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var top = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n return _this2.scrollTo({\n left: left,\n top: top,\n behavior: behavior\n });\n };\n var isToStart = to === 'to-start';\n var isToEnd = to === 'to-end';\n if (isToStart) {\n if (both) {\n if (viewport.first.rows - first.rows > index[0]) {\n scrollTo(viewport.first.cols * this.itemSize[1], (viewport.first.rows - 1) * this.itemSize[0]);\n } else if (viewport.first.cols - first.cols > index[1]) {\n scrollTo((viewport.first.cols - 1) * this.itemSize[1], viewport.first.rows * this.itemSize[0]);\n }\n } else {\n if (viewport.first - first > index) {\n var pos = (viewport.first - 1) * this.itemSize;\n horizontal ? scrollTo(pos, 0) : scrollTo(0, pos);\n }\n }\n } else if (isToEnd) {\n if (both) {\n if (viewport.last.rows - first.rows <= index[0] + 1) {\n scrollTo(viewport.first.cols * this.itemSize[1], (viewport.first.rows + 1) * this.itemSize[0]);\n } else if (viewport.last.cols - first.cols <= index[1] + 1) {\n scrollTo((viewport.first.cols + 1) * this.itemSize[1], viewport.first.rows * this.itemSize[0]);\n }\n } else {\n if (viewport.last - first <= index + 1) {\n var _pos2 = (viewport.first + 1) * this.itemSize;\n horizontal ? scrollTo(_pos2, 0) : scrollTo(0, _pos2);\n }\n }\n }\n }\n } else {\n this.scrollToIndex(index, behavior);\n }\n },\n getRenderedRange: function getRenderedRange() {\n var calculateFirstInViewport = function calculateFirstInViewport(_pos, _size) {\n return Math.floor(_pos / (_size || _pos));\n };\n var firstInViewport = this.first;\n var lastInViewport = 0;\n if (this.element) {\n var both = this.isBoth();\n var horizontal = this.isHorizontal();\n var _this$element2 = this.element,\n scrollTop = _this$element2.scrollTop,\n scrollLeft = _this$element2.scrollLeft;\n if (both) {\n firstInViewport = {\n rows: calculateFirstInViewport(scrollTop, this.itemSize[0]),\n cols: calculateFirstInViewport(scrollLeft, this.itemSize[1])\n };\n lastInViewport = {\n rows: firstInViewport.rows + this.numItemsInViewport.rows,\n cols: firstInViewport.cols + this.numItemsInViewport.cols\n };\n } else {\n var scrollPos = horizontal ? scrollLeft : scrollTop;\n firstInViewport = calculateFirstInViewport(scrollPos, this.itemSize);\n lastInViewport = firstInViewport + this.numItemsInViewport;\n }\n }\n return {\n first: this.first,\n last: this.last,\n viewport: {\n first: firstInViewport,\n last: lastInViewport\n }\n };\n },\n calculateNumItems: function calculateNumItems() {\n var both = this.isBoth();\n var horizontal = this.isHorizontal();\n var itemSize = this.itemSize;\n var contentPos = this.getContentPosition();\n var contentWidth = this.element ? this.element.offsetWidth - contentPos.left : 0;\n var contentHeight = this.element ? this.element.offsetHeight - contentPos.top : 0;\n var calculateNumItemsInViewport = function calculateNumItemsInViewport(_contentSize, _itemSize) {\n return Math.ceil(_contentSize / (_itemSize || _contentSize));\n };\n var calculateNumToleratedItems = function calculateNumToleratedItems(_numItems) {\n return Math.ceil(_numItems / 2);\n };\n var numItemsInViewport = both ? {\n rows: calculateNumItemsInViewport(contentHeight, itemSize[0]),\n cols: calculateNumItemsInViewport(contentWidth, itemSize[1])\n } : calculateNumItemsInViewport(horizontal ? contentWidth : contentHeight, itemSize);\n var numToleratedItems = this.d_numToleratedItems || (both ? [calculateNumToleratedItems(numItemsInViewport.rows), calculateNumToleratedItems(numItemsInViewport.cols)] : calculateNumToleratedItems(numItemsInViewport));\n return {\n numItemsInViewport: numItemsInViewport,\n numToleratedItems: numToleratedItems\n };\n },\n calculateOptions: function calculateOptions() {\n var _this3 = this;\n var both = this.isBoth();\n var first = this.first;\n var _this$calculateNumIte2 = this.calculateNumItems(),\n numItemsInViewport = _this$calculateNumIte2.numItemsInViewport,\n numToleratedItems = _this$calculateNumIte2.numToleratedItems;\n var calculateLast = function calculateLast(_first, _num, _numT) {\n var _isCols = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n return _this3.getLast(_first + _num + (_first < _numT ? 2 : 3) * _numT, _isCols);\n };\n var last = both ? {\n rows: calculateLast(first.rows, numItemsInViewport.rows, numToleratedItems[0]),\n cols: calculateLast(first.cols, numItemsInViewport.cols, numToleratedItems[1], true)\n } : calculateLast(first, numItemsInViewport, numToleratedItems);\n this.last = last;\n this.numItemsInViewport = numItemsInViewport;\n this.d_numToleratedItems = numToleratedItems;\n this.$emit('update:numToleratedItems', this.d_numToleratedItems);\n if (this.showLoader) {\n this.loaderArr = both ? Array.from({\n length: numItemsInViewport.rows\n }).map(function () {\n return Array.from({\n length: numItemsInViewport.cols\n });\n }) : Array.from({\n length: numItemsInViewport\n });\n }\n if (this.lazy) {\n Promise.resolve().then(function () {\n var _this3$items;\n _this3.lazyLoadState = {\n first: _this3.step ? both ? {\n rows: 0,\n cols: first.cols\n } : 0 : first,\n last: Math.min(_this3.step ? _this3.step : last, ((_this3$items = _this3.items) === null || _this3$items === void 0 ? void 0 : _this3$items.length) || 0)\n };\n _this3.$emit('lazy-load', _this3.lazyLoadState);\n });\n }\n },\n calculateAutoSize: function calculateAutoSize() {\n var _this4 = this;\n if (this.autoSize && !this.d_loading) {\n Promise.resolve().then(function () {\n if (_this4.content) {\n var both = _this4.isBoth();\n var horizontal = _this4.isHorizontal();\n var vertical = _this4.isVertical();\n _this4.content.style.minHeight = _this4.content.style.minWidth = 'auto';\n _this4.content.style.position = 'relative';\n _this4.element.style.contain = 'none';\n\n /*const [contentWidth, contentHeight] = [getWidth(this.content), getHeight(this.content)];\n contentWidth !== this.defaultContentWidth && (this.element.style.width = '');\n contentHeight !== this.defaultContentHeight && (this.element.style.height = '');*/\n\n var _ref = [getWidth(_this4.element), getHeight(_this4.element)],\n width = _ref[0],\n height = _ref[1];\n (both || horizontal) && (_this4.element.style.width = width < _this4.defaultWidth ? width + 'px' : _this4.scrollWidth || _this4.defaultWidth + 'px');\n (both || vertical) && (_this4.element.style.height = height < _this4.defaultHeight ? height + 'px' : _this4.scrollHeight || _this4.defaultHeight + 'px');\n _this4.content.style.minHeight = _this4.content.style.minWidth = '';\n _this4.content.style.position = '';\n _this4.element.style.contain = '';\n }\n });\n }\n },\n getLast: function getLast() {\n var _ref2, _this$items;\n var last = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var isCols = arguments.length > 1 ? arguments[1] : undefined;\n return this.items ? Math.min(isCols ? ((_ref2 = this.columns || this.items[0]) === null || _ref2 === void 0 ? void 0 : _ref2.length) || 0 : ((_this$items = this.items) === null || _this$items === void 0 ? void 0 : _this$items.length) || 0, last) : 0;\n },\n getContentPosition: function getContentPosition() {\n if (this.content) {\n var style = getComputedStyle(this.content);\n var left = parseFloat(style.paddingLeft) + Math.max(parseFloat(style.left) || 0, 0);\n var right = parseFloat(style.paddingRight) + Math.max(parseFloat(style.right) || 0, 0);\n var top = parseFloat(style.paddingTop) + Math.max(parseFloat(style.top) || 0, 0);\n var bottom = parseFloat(style.paddingBottom) + Math.max(parseFloat(style.bottom) || 0, 0);\n return {\n left: left,\n right: right,\n top: top,\n bottom: bottom,\n x: left + right,\n y: top + bottom\n };\n }\n return {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n x: 0,\n y: 0\n };\n },\n setSize: function setSize() {\n var _this5 = this;\n if (this.element) {\n var both = this.isBoth();\n var horizontal = this.isHorizontal();\n var parentElement = this.element.parentElement;\n var width = this.scrollWidth || \"\".concat(this.element.offsetWidth || parentElement.offsetWidth, \"px\");\n var height = this.scrollHeight || \"\".concat(this.element.offsetHeight || parentElement.offsetHeight, \"px\");\n var setProp = function setProp(_name, _value) {\n return _this5.element.style[_name] = _value;\n };\n if (both || horizontal) {\n setProp('height', height);\n setProp('width', width);\n } else {\n setProp('height', height);\n }\n }\n },\n setSpacerSize: function setSpacerSize() {\n var _this6 = this;\n var items = this.items;\n if (items) {\n var both = this.isBoth();\n var horizontal = this.isHorizontal();\n var contentPos = this.getContentPosition();\n var setProp = function setProp(_name, _value, _size) {\n var _cpos = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n return _this6.spacerStyle = _objectSpread(_objectSpread({}, _this6.spacerStyle), _defineProperty({}, \"\".concat(_name), (_value || []).length * _size + _cpos + 'px'));\n };\n if (both) {\n setProp('height', items, this.itemSize[0], contentPos.y);\n setProp('width', this.columns || items[1], this.itemSize[1], contentPos.x);\n } else {\n horizontal ? setProp('width', this.columns || items, this.itemSize, contentPos.x) : setProp('height', items, this.itemSize, contentPos.y);\n }\n }\n },\n setContentPosition: function setContentPosition(pos) {\n var _this7 = this;\n if (this.content && !this.appendOnly) {\n var both = this.isBoth();\n var horizontal = this.isHorizontal();\n var first = pos ? pos.first : this.first;\n var calculateTranslateVal = function calculateTranslateVal(_first, _size) {\n return _first * _size;\n };\n var setTransform = function setTransform() {\n var _x = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var _y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n return _this7.contentStyle = _objectSpread(_objectSpread({}, _this7.contentStyle), {\n transform: \"translate3d(\".concat(_x, \"px, \").concat(_y, \"px, 0)\")\n });\n };\n if (both) {\n setTransform(calculateTranslateVal(first.cols, this.itemSize[1]), calculateTranslateVal(first.rows, this.itemSize[0]));\n } else {\n var translateVal = calculateTranslateVal(first, this.itemSize);\n horizontal ? setTransform(translateVal, 0) : setTransform(0, translateVal);\n }\n }\n },\n onScrollPositionChange: function onScrollPositionChange(event) {\n var _this8 = this;\n var target = event.target;\n var both = this.isBoth();\n var horizontal = this.isHorizontal();\n var contentPos = this.getContentPosition();\n var calculateScrollPos = function calculateScrollPos(_pos, _cpos) {\n return _pos ? _pos > _cpos ? _pos - _cpos : _pos : 0;\n };\n var calculateCurrentIndex = function calculateCurrentIndex(_pos, _size) {\n return Math.floor(_pos / (_size || _pos));\n };\n var calculateTriggerIndex = function calculateTriggerIndex(_currentIndex, _first, _last, _num, _numT, _isScrollDownOrRight) {\n return _currentIndex <= _numT ? _numT : _isScrollDownOrRight ? _last - _num - _numT : _first + _numT - 1;\n };\n var calculateFirst = function calculateFirst(_currentIndex, _triggerIndex, _first, _last, _num, _numT, _isScrollDownOrRight) {\n if (_currentIndex <= _numT) return 0;else return Math.max(0, _isScrollDownOrRight ? _currentIndex < _triggerIndex ? _first : _currentIndex - _numT : _currentIndex > _triggerIndex ? _first : _currentIndex - 2 * _numT);\n };\n var calculateLast = function calculateLast(_currentIndex, _first, _last, _num, _numT, _isCols) {\n var lastValue = _first + _num + 2 * _numT;\n if (_currentIndex >= _numT) {\n lastValue += _numT + 1;\n }\n return _this8.getLast(lastValue, _isCols);\n };\n var scrollTop = calculateScrollPos(target.scrollTop, contentPos.top);\n var scrollLeft = calculateScrollPos(target.scrollLeft, contentPos.left);\n var newFirst = both ? {\n rows: 0,\n cols: 0\n } : 0;\n var newLast = this.last;\n var isRangeChanged = false;\n var newScrollPos = this.lastScrollPos;\n if (both) {\n var isScrollDown = this.lastScrollPos.top <= scrollTop;\n var isScrollRight = this.lastScrollPos.left <= scrollLeft;\n if (!this.appendOnly || this.appendOnly && (isScrollDown || isScrollRight)) {\n var currentIndex = {\n rows: calculateCurrentIndex(scrollTop, this.itemSize[0]),\n cols: calculateCurrentIndex(scrollLeft, this.itemSize[1])\n };\n var triggerIndex = {\n rows: calculateTriggerIndex(currentIndex.rows, this.first.rows, this.last.rows, this.numItemsInViewport.rows, this.d_numToleratedItems[0], isScrollDown),\n cols: calculateTriggerIndex(currentIndex.cols, this.first.cols, this.last.cols, this.numItemsInViewport.cols, this.d_numToleratedItems[1], isScrollRight)\n };\n newFirst = {\n rows: calculateFirst(currentIndex.rows, triggerIndex.rows, this.first.rows, this.last.rows, this.numItemsInViewport.rows, this.d_numToleratedItems[0], isScrollDown),\n cols: calculateFirst(currentIndex.cols, triggerIndex.cols, this.first.cols, this.last.cols, this.numItemsInViewport.cols, this.d_numToleratedItems[1], isScrollRight)\n };\n newLast = {\n rows: calculateLast(currentIndex.rows, newFirst.rows, this.last.rows, this.numItemsInViewport.rows, this.d_numToleratedItems[0]),\n cols: calculateLast(currentIndex.cols, newFirst.cols, this.last.cols, this.numItemsInViewport.cols, this.d_numToleratedItems[1], true)\n };\n isRangeChanged = newFirst.rows !== this.first.rows || newLast.rows !== this.last.rows || newFirst.cols !== this.first.cols || newLast.cols !== this.last.cols || this.isRangeChanged;\n newScrollPos = {\n top: scrollTop,\n left: scrollLeft\n };\n }\n } else {\n var scrollPos = horizontal ? scrollLeft : scrollTop;\n var isScrollDownOrRight = this.lastScrollPos <= scrollPos;\n if (!this.appendOnly || this.appendOnly && isScrollDownOrRight) {\n var _currentIndex2 = calculateCurrentIndex(scrollPos, this.itemSize);\n var _triggerIndex2 = calculateTriggerIndex(_currentIndex2, this.first, this.last, this.numItemsInViewport, this.d_numToleratedItems, isScrollDownOrRight);\n newFirst = calculateFirst(_currentIndex2, _triggerIndex2, this.first, this.last, this.numItemsInViewport, this.d_numToleratedItems, isScrollDownOrRight);\n newLast = calculateLast(_currentIndex2, newFirst, this.last, this.numItemsInViewport, this.d_numToleratedItems);\n isRangeChanged = newFirst !== this.first || newLast !== this.last || this.isRangeChanged;\n newScrollPos = scrollPos;\n }\n }\n return {\n first: newFirst,\n last: newLast,\n isRangeChanged: isRangeChanged,\n scrollPos: newScrollPos\n };\n },\n onScrollChange: function onScrollChange(event) {\n var _this$onScrollPositio = this.onScrollPositionChange(event),\n first = _this$onScrollPositio.first,\n last = _this$onScrollPositio.last,\n isRangeChanged = _this$onScrollPositio.isRangeChanged,\n scrollPos = _this$onScrollPositio.scrollPos;\n if (isRangeChanged) {\n var newState = {\n first: first,\n last: last\n };\n this.setContentPosition(newState);\n this.first = first;\n this.last = last;\n this.lastScrollPos = scrollPos;\n this.$emit('scroll-index-change', newState);\n if (this.lazy && this.isPageChanged(first)) {\n var _this$items2, _this$items3;\n var lazyLoadState = {\n first: this.step ? Math.min(this.getPageByFirst(first) * this.step, (((_this$items2 = this.items) === null || _this$items2 === void 0 ? void 0 : _this$items2.length) || 0) - this.step) : first,\n last: Math.min(this.step ? (this.getPageByFirst(first) + 1) * this.step : last, ((_this$items3 = this.items) === null || _this$items3 === void 0 ? void 0 : _this$items3.length) || 0)\n };\n var isLazyStateChanged = this.lazyLoadState.first !== lazyLoadState.first || this.lazyLoadState.last !== lazyLoadState.last;\n isLazyStateChanged && this.$emit('lazy-load', lazyLoadState);\n this.lazyLoadState = lazyLoadState;\n }\n }\n },\n onScroll: function onScroll(event) {\n var _this9 = this;\n this.$emit('scroll', event);\n if (this.delay) {\n if (this.scrollTimeout) {\n clearTimeout(this.scrollTimeout);\n }\n if (this.isPageChanged()) {\n if (!this.d_loading && this.showLoader) {\n var _this$onScrollPositio2 = this.onScrollPositionChange(event),\n isRangeChanged = _this$onScrollPositio2.isRangeChanged;\n var changed = isRangeChanged || (this.step ? this.isPageChanged() : false);\n changed && (this.d_loading = true);\n }\n this.scrollTimeout = setTimeout(function () {\n _this9.onScrollChange(event);\n if (_this9.d_loading && _this9.showLoader && (!_this9.lazy || _this9.loading === undefined)) {\n _this9.d_loading = false;\n _this9.page = _this9.getPageByFirst();\n }\n }, this.delay);\n }\n } else {\n this.onScrollChange(event);\n }\n },\n onResize: function onResize() {\n var _this10 = this;\n if (this.resizeTimeout) {\n clearTimeout(this.resizeTimeout);\n }\n this.resizeTimeout = setTimeout(function () {\n if (isVisible(_this10.element)) {\n var both = _this10.isBoth();\n var vertical = _this10.isVertical();\n var horizontal = _this10.isHorizontal();\n var _ref3 = [getWidth(_this10.element), getHeight(_this10.element)],\n width = _ref3[0],\n height = _ref3[1];\n var isDiffWidth = width !== _this10.defaultWidth,\n isDiffHeight = height !== _this10.defaultHeight;\n var reinit = both ? isDiffWidth || isDiffHeight : horizontal ? isDiffWidth : vertical ? isDiffHeight : false;\n if (reinit) {\n _this10.d_numToleratedItems = _this10.numToleratedItems;\n _this10.defaultWidth = width;\n _this10.defaultHeight = height;\n _this10.defaultContentWidth = getWidth(_this10.content);\n _this10.defaultContentHeight = getHeight(_this10.content);\n _this10.init();\n }\n }\n }, this.resizeDelay);\n },\n bindResizeListener: function bindResizeListener() {\n if (!this.resizeListener) {\n this.resizeListener = this.onResize.bind(this);\n window.addEventListener('resize', this.resizeListener);\n window.addEventListener('orientationchange', this.resizeListener);\n }\n },\n unbindResizeListener: function unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n window.removeEventListener('orientationchange', this.resizeListener);\n this.resizeListener = null;\n }\n },\n getOptions: function getOptions(renderedIndex) {\n var count = (this.items || []).length;\n var index = this.isBoth() ? this.first.rows + renderedIndex : this.first + renderedIndex;\n return {\n index: index,\n count: count,\n first: index === 0,\n last: index === count - 1,\n even: index % 2 === 0,\n odd: index % 2 !== 0\n };\n },\n getLoaderOptions: function getLoaderOptions(index, extOptions) {\n var count = this.loaderArr.length;\n return _objectSpread({\n index: index,\n count: count,\n first: index === 0,\n last: index === count - 1,\n even: index % 2 === 0,\n odd: index % 2 !== 0\n }, extOptions);\n },\n getPageByFirst: function getPageByFirst(first) {\n return Math.floor(((first !== null && first !== void 0 ? first : this.first) + this.d_numToleratedItems * 4) / (this.step || 1));\n },\n isPageChanged: function isPageChanged(first) {\n return this.step && !this.lazy ? this.page !== this.getPageByFirst(first !== null && first !== void 0 ? first : this.first) : true;\n },\n setContentEl: function setContentEl(el) {\n this.content = el || this.content || findSingle(this.element, '[data-pc-section=\"content\"]');\n },\n elementRef: function elementRef(el) {\n this.element = el;\n },\n contentRef: function contentRef(el) {\n this.content = el;\n }\n },\n computed: {\n containerClass: function containerClass() {\n return ['p-virtualscroller', this[\"class\"], {\n 'p-virtualscroller-inline': this.inline,\n 'p-virtualscroller-both p-both-scroll': this.isBoth(),\n 'p-virtualscroller-horizontal p-horizontal-scroll': this.isHorizontal()\n }];\n },\n contentClass: function contentClass() {\n return ['p-virtualscroller-content', {\n 'p-virtualscroller-loading': this.d_loading\n }];\n },\n loaderClass: function loaderClass() {\n return ['p-virtualscroller-loader', {\n 'p-virtualscroller-loader-mask': !this.$slots.loader\n }];\n },\n loadedItems: function loadedItems() {\n var _this11 = this;\n if (this.items && !this.d_loading) {\n if (this.isBoth()) return this.items.slice(this.appendOnly ? 0 : this.first.rows, this.last.rows).map(function (item) {\n return _this11.columns ? item : item.slice(_this11.appendOnly ? 0 : _this11.first.cols, _this11.last.cols);\n });else if (this.isHorizontal() && this.columns) return this.items;else return this.items.slice(this.appendOnly ? 0 : this.first, this.last);\n }\n return [];\n },\n loadedRows: function loadedRows() {\n return this.d_loading ? this.loaderDisabled ? this.loaderArr : [] : this.loadedItems;\n },\n loadedColumns: function loadedColumns() {\n if (this.columns) {\n var both = this.isBoth();\n var horizontal = this.isHorizontal();\n if (both || horizontal) {\n return this.d_loading && this.loaderDisabled ? both ? this.loaderArr[0] : this.loaderArr : this.columns.slice(both ? this.first.cols : this.first, both ? this.last.cols : this.last);\n }\n }\n return this.columns;\n }\n },\n components: {\n SpinnerIcon: SpinnerIcon\n }\n};\n\nvar _hoisted_1 = [\"tabindex\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_SpinnerIcon = resolveComponent(\"SpinnerIcon\");\n return !_ctx.disabled ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n ref: $options.elementRef,\n \"class\": $options.containerClass,\n tabindex: _ctx.tabindex,\n style: _ctx.style,\n onScroll: _cache[0] || (_cache[0] = function () {\n return $options.onScroll && $options.onScroll.apply($options, arguments);\n })\n }, _ctx.ptmi('root')), [renderSlot(_ctx.$slots, \"content\", {\n styleClass: $options.contentClass,\n items: $options.loadedItems,\n getItemOptions: $options.getOptions,\n loading: $data.d_loading,\n getLoaderOptions: $options.getLoaderOptions,\n itemSize: _ctx.itemSize,\n rows: $options.loadedRows,\n columns: $options.loadedColumns,\n contentRef: $options.contentRef,\n spacerStyle: $data.spacerStyle,\n contentStyle: $data.contentStyle,\n vertical: $options.isVertical(),\n horizontal: $options.isHorizontal(),\n both: $options.isBoth()\n }, function () {\n return [createElementVNode(\"div\", mergeProps({\n ref: $options.contentRef,\n \"class\": $options.contentClass,\n style: $data.contentStyle\n }, _ctx.ptm('content')), [(openBlock(true), createElementBlock(Fragment, null, renderList($options.loadedItems, function (item, index) {\n return renderSlot(_ctx.$slots, \"item\", {\n key: index,\n item: item,\n options: $options.getOptions(index)\n });\n }), 128))], 16)];\n }), _ctx.showSpacer ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n \"class\": \"p-virtualscroller-spacer\",\n style: $data.spacerStyle\n }, _ctx.ptm('spacer')), null, 16)) : createCommentVNode(\"\", true), !_ctx.loaderDisabled && _ctx.showLoader && $data.d_loading ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 1,\n \"class\": $options.loaderClass\n }, _ctx.ptm('loader')), [_ctx.$slots && _ctx.$slots.loader ? (openBlock(true), createElementBlock(Fragment, {\n key: 0\n }, renderList($data.loaderArr, function (_, index) {\n return renderSlot(_ctx.$slots, \"loader\", {\n key: index,\n options: $options.getLoaderOptions(index, $options.isBoth() && {\n numCols: _ctx.d_numItemsInViewport.cols\n })\n });\n }), 128)) : createCommentVNode(\"\", true), renderSlot(_ctx.$slots, \"loadingicon\", {}, function () {\n return [createVNode(_component_SpinnerIcon, mergeProps({\n spin: \"\",\n \"class\": \"p-virtualscroller-loading-icon\"\n }, _ctx.ptm('loadingIcon')), null, 16)];\n })], 16)) : createCommentVNode(\"\", true)], 16, _hoisted_1)) : (openBlock(), createElementBlock(Fragment, {\n key: 1\n }, [renderSlot(_ctx.$slots, \"default\"), renderSlot(_ctx.$slots, \"content\", {\n items: _ctx.items,\n rows: _ctx.items,\n columns: $options.loadedColumns\n })], 64));\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-select {\\n display: inline-flex;\\n cursor: pointer;\\n position: relative;\\n user-select: none;\\n background: \".concat(dt('select.background'), \";\\n border: 1px solid \").concat(dt('select.border.color'), \";\\n transition: background \").concat(dt('select.transition.duration'), \", color \").concat(dt('select.transition.duration'), \", border-color \").concat(dt('select.transition.duration'), \",\\n outline-color \").concat(dt('select.transition.duration'), \", box-shadow \").concat(dt('select.transition.duration'), \";\\n border-radius: \").concat(dt('select.border.radius'), \";\\n outline-color: transparent;\\n box-shadow: \").concat(dt('select.shadow'), \";\\n}\\n\\n.p-select:not(.p-disabled):hover {\\n border-color: \").concat(dt('select.hover.border.color'), \";\\n}\\n\\n.p-select:not(.p-disabled).p-focus {\\n border-color: \").concat(dt('select.focus.border.color'), \";\\n box-shadow: \").concat(dt('select.focus.ring.shadow'), \";\\n outline: \").concat(dt('select.focus.ring.width'), \" \").concat(dt('select.focus.ring.style'), \" \").concat(dt('select.focus.ring.color'), \";\\n outline-offset: \").concat(dt('select.focus.ring.offset'), \";\\n}\\n\\n.p-select.p-variant-filled {\\n background: \").concat(dt('select.filled.background'), \";\\n}\\n\\n.p-select.p-variant-filled:not(.p-disabled):hover {\\n background: \").concat(dt('select.filled.hover.background'), \";\\n}\\n\\n.p-select.p-variant-filled:not(.p-disabled).p-focus {\\n background: \").concat(dt('select.filled.focus.background'), \";\\n}\\n\\n.p-select.p-invalid {\\n border-color: \").concat(dt('select.invalid.border.color'), \";\\n}\\n\\n.p-select.p-disabled {\\n opacity: 1;\\n background: \").concat(dt('select.disabled.background'), \";\\n}\\n\\n.p-select-clear-icon {\\n position: absolute;\\n top: 50%;\\n margin-top: -0.5rem;\\n color: \").concat(dt('select.clear.icon.color'), \";\\n inset-inline-end: \").concat(dt('select.dropdown.width'), \";\\n}\\n\\n.p-select-dropdown {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n flex-shrink: 0;\\n background: transparent;\\n color: \").concat(dt('select.dropdown.color'), \";\\n width: \").concat(dt('select.dropdown.width'), \";\\n border-start-end-radius: \").concat(dt('select.border.radius'), \";\\n border-end-end-radius: \").concat(dt('select.border.radius'), \";\\n}\\n\\n.p-select-label {\\n display: block;\\n white-space: nowrap;\\n overflow: hidden;\\n flex: 1 1 auto;\\n width: 1%;\\n padding: \").concat(dt('select.padding.y'), \" \").concat(dt('select.padding.x'), \";\\n text-overflow: ellipsis;\\n cursor: pointer;\\n color: \").concat(dt('select.color'), \";\\n background: transparent;\\n border: 0 none;\\n outline: 0 none;\\n}\\n\\n.p-select-label.p-placeholder {\\n color: \").concat(dt('select.placeholder.color'), \";\\n}\\n\\n.p-select.p-invalid .p-select-label.p-placeholder {\\n color: \").concat(dt('select.invalid.placeholder.color'), \";\\n}\\n\\n.p-select:has(.p-select-clear-icon) .p-select-label {\\n padding-inline-end: calc(1rem + \").concat(dt('select.padding.x'), \");\\n}\\n\\n.p-select.p-disabled .p-select-label {\\n color: \").concat(dt('select.disabled.color'), \";\\n}\\n\\n.p-select-label-empty {\\n overflow: hidden;\\n opacity: 0;\\n}\\n\\ninput.p-select-label {\\n cursor: default;\\n}\\n\\n.p-select .p-select-overlay {\\n min-width: 100%;\\n}\\n\\n.p-select-overlay {\\n position: absolute;\\n top: 0;\\n left: 0;\\n background: \").concat(dt('select.overlay.background'), \";\\n color: \").concat(dt('select.overlay.color'), \";\\n border: 1px solid \").concat(dt('select.overlay.border.color'), \";\\n border-radius: \").concat(dt('select.overlay.border.radius'), \";\\n box-shadow: \").concat(dt('select.overlay.shadow'), \";\\n}\\n\\n.p-select-header {\\n padding: \").concat(dt('select.list.header.padding'), \";\\n}\\n\\n.p-select-filter {\\n width: 100%;\\n}\\n\\n.p-select-list-container {\\n overflow: auto;\\n}\\n\\n.p-select-option-group {\\n cursor: auto;\\n margin: 0;\\n padding: \").concat(dt('select.option.group.padding'), \";\\n background: \").concat(dt('select.option.group.background'), \";\\n color: \").concat(dt('select.option.group.color'), \";\\n font-weight: \").concat(dt('select.option.group.font.weight'), \";\\n}\\n\\n.p-select-list {\\n margin: 0;\\n padding: 0;\\n list-style-type: none;\\n padding: \").concat(dt('select.list.padding'), \";\\n gap: \").concat(dt('select.list.gap'), \";\\n display: flex;\\n flex-direction: column;\\n}\\n\\n.p-select-option {\\n cursor: pointer;\\n font-weight: normal;\\n white-space: nowrap;\\n position: relative;\\n overflow: hidden;\\n display: flex;\\n align-items: center;\\n padding: \").concat(dt('select.option.padding'), \";\\n border: 0 none;\\n color: \").concat(dt('select.option.color'), \";\\n background: transparent;\\n transition: background \").concat(dt('select.transition.duration'), \", color \").concat(dt('select.transition.duration'), \", border-color \").concat(dt('select.transition.duration'), \",\\n box-shadow \").concat(dt('select.transition.duration'), \", outline-color \").concat(dt('select.transition.duration'), \";\\n border-radius: \").concat(dt('select.option.border.radius'), \";\\n}\\n\\n.p-select-option:not(.p-select-option-selected):not(.p-disabled).p-focus {\\n background: \").concat(dt('select.option.focus.background'), \";\\n color: \").concat(dt('select.option.focus.color'), \";\\n}\\n\\n.p-select-option.p-select-option-selected {\\n background: \").concat(dt('select.option.selected.background'), \";\\n color: \").concat(dt('select.option.selected.color'), \";\\n}\\n\\n.p-select-option.p-select-option-selected.p-focus {\\n background: \").concat(dt('select.option.selected.focus.background'), \";\\n color: \").concat(dt('select.option.selected.focus.color'), \";\\n}\\n\\n.p-select-option-check-icon {\\n position: relative;\\n margin-inline-start: \").concat(dt('select.checkmark.gutter.start'), \";\\n margin-inline-end: \").concat(dt('select.checkmark.gutter.end'), \";\\n color: \").concat(dt('select.checkmark.color'), \";\\n}\\n\\n.p-select-empty-message {\\n padding: \").concat(dt('select.empty.message.padding'), \";\\n}\\n\\n.p-select-fluid {\\n display: flex;\\n width: 100%;\\n}\\n\\n.p-select-sm .p-select-label {\\n font-size: \").concat(dt('select.sm.font.size'), \";\\n padding-block: \").concat(dt('select.sm.padding.y'), \";\\n padding-inline: \").concat(dt('select.sm.padding.x'), \";\\n}\\n\\n.p-select-sm .p-select-dropdown .p-icon {\\n font-size: \").concat(dt('select.sm.font.size'), \";\\n width: \").concat(dt('select.sm.font.size'), \";\\n height: \").concat(dt('select.sm.font.size'), \";\\n}\\n\\n.p-select-lg .p-select-label {\\n font-size: \").concat(dt('select.lg.font.size'), \";\\n padding-block: \").concat(dt('select.lg.padding.y'), \";\\n padding-inline: \").concat(dt('select.lg.padding.x'), \";\\n}\\n\\n.p-select-lg .p-select-dropdown .p-icon {\\n font-size: \").concat(dt('select.lg.font.size'), \";\\n width: \").concat(dt('select.lg.font.size'), \";\\n height: \").concat(dt('select.lg.font.size'), \";\\n}\\n\");\n};\nvar classes = {\n root: function root(_ref2) {\n var instance = _ref2.instance,\n props = _ref2.props,\n state = _ref2.state;\n return ['p-select p-component p-inputwrapper', {\n 'p-disabled': props.disabled,\n 'p-invalid': instance.$invalid,\n 'p-variant-filled': instance.$variant === 'filled',\n 'p-focus': state.focused,\n 'p-inputwrapper-filled': instance.$filled,\n 'p-inputwrapper-focus': state.focused || state.overlayVisible,\n 'p-select-open': state.overlayVisible,\n 'p-select-fluid': instance.$fluid,\n 'p-select-sm p-inputfield-sm': props.size === 'small',\n 'p-select-lg p-inputfield-lg': props.size === 'large'\n }];\n },\n label: function label(_ref3) {\n var instance = _ref3.instance,\n props = _ref3.props;\n return ['p-select-label', {\n 'p-placeholder': !props.editable && instance.label === props.placeholder,\n 'p-select-label-empty': !props.editable && !instance.$slots['value'] && (instance.label === 'p-emptylabel' || instance.label.length === 0)\n }];\n },\n clearIcon: 'p-select-clear-icon',\n dropdown: 'p-select-dropdown',\n loadingicon: 'p-select-loading-icon',\n dropdownIcon: 'p-select-dropdown-icon',\n overlay: 'p-select-overlay p-component',\n header: 'p-select-header',\n pcFilter: 'p-select-filter',\n listContainer: 'p-select-list-container',\n list: 'p-select-list',\n optionGroup: 'p-select-option-group',\n optionGroupLabel: 'p-select-option-group-label',\n option: function option(_ref4) {\n var instance = _ref4.instance,\n props = _ref4.props,\n state = _ref4.state,\n _option = _ref4.option,\n focusedOption = _ref4.focusedOption;\n return ['p-select-option', {\n 'p-select-option-selected': instance.isSelected(_option) && props.highlightOnSelect,\n 'p-focus': state.focusedOptionIndex === focusedOption,\n 'p-disabled': instance.isOptionDisabled(_option)\n }];\n },\n optionLabel: 'p-select-option-label',\n optionCheckIcon: 'p-select-option-check-icon',\n optionBlankIcon: 'p-select-option-blank-icon',\n emptyMessage: 'p-select-empty-message'\n};\nvar SelectStyle = BaseStyle.extend({\n name: 'select',\n theme: theme,\n classes: classes\n});\n\nexport { SelectStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { focus, isAndroid, getFirstFocusableElement, getLastFocusableElement, addStyle, relativePosition, getOuterWidth, absolutePosition, isTouchDevice, isVisible, getFocusableElements, findSingle } from '@primeuix/utils/dom';\nimport { resolveFieldData, isPrintableCharacter, isNotEmpty, equals, findLastIndex } from '@primeuix/utils/object';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport { FilterService } from '@primevue/core/api';\nimport { UniqueComponentId, ConnectedOverlayScrollHandler } from '@primevue/core/utils';\nimport BlankIcon from '@primevue/icons/blank';\nimport CheckIcon from '@primevue/icons/check';\nimport ChevronDownIcon from '@primevue/icons/chevrondown';\nimport SearchIcon from '@primevue/icons/search';\nimport SpinnerIcon from '@primevue/icons/spinner';\nimport TimesIcon from '@primevue/icons/times';\nimport IconField from 'primevue/iconfield';\nimport InputIcon from 'primevue/inputicon';\nimport InputText from 'primevue/inputtext';\nimport OverlayEventBus from 'primevue/overlayeventbus';\nimport Portal from 'primevue/portal';\nimport Ripple from 'primevue/ripple';\nimport VirtualScroller from 'primevue/virtualscroller';\nimport BaseInput from '@primevue/core/baseinput';\nimport SelectStyle from 'primevue/select/style';\nimport { resolveComponent, resolveDirective, openBlock, createElementBlock, mergeProps, renderSlot, createTextVNode, toDisplayString, normalizeClass, createBlock, resolveDynamicComponent, createCommentVNode, createElementVNode, createVNode, withCtx, Transition, normalizeProps, createSlots, Fragment, renderList, withDirectives } from 'vue';\n\nvar script$1 = {\n name: 'BaseSelect',\n \"extends\": BaseInput,\n props: {\n options: Array,\n optionLabel: [String, Function],\n optionValue: [String, Function],\n optionDisabled: [String, Function],\n optionGroupLabel: [String, Function],\n optionGroupChildren: [String, Function],\n scrollHeight: {\n type: String,\n \"default\": '14rem'\n },\n filter: Boolean,\n filterPlaceholder: String,\n filterLocale: String,\n filterMatchMode: {\n type: String,\n \"default\": 'contains'\n },\n filterFields: {\n type: Array,\n \"default\": null\n },\n editable: Boolean,\n placeholder: {\n type: String,\n \"default\": null\n },\n dataKey: null,\n showClear: {\n type: Boolean,\n \"default\": false\n },\n inputId: {\n type: String,\n \"default\": null\n },\n inputClass: {\n type: [String, Object],\n \"default\": null\n },\n inputStyle: {\n type: Object,\n \"default\": null\n },\n labelId: {\n type: String,\n \"default\": null\n },\n labelClass: {\n type: [String, Object],\n \"default\": null\n },\n labelStyle: {\n type: Object,\n \"default\": null\n },\n panelClass: {\n type: [String, Object],\n \"default\": null\n },\n overlayStyle: {\n type: Object,\n \"default\": null\n },\n overlayClass: {\n type: [String, Object],\n \"default\": null\n },\n panelStyle: {\n type: Object,\n \"default\": null\n },\n appendTo: {\n type: [String, Object],\n \"default\": 'body'\n },\n loading: {\n type: Boolean,\n \"default\": false\n },\n clearIcon: {\n type: String,\n \"default\": undefined\n },\n dropdownIcon: {\n type: String,\n \"default\": undefined\n },\n filterIcon: {\n type: String,\n \"default\": undefined\n },\n loadingIcon: {\n type: String,\n \"default\": undefined\n },\n resetFilterOnHide: {\n type: Boolean,\n \"default\": false\n },\n resetFilterOnClear: {\n type: Boolean,\n \"default\": false\n },\n virtualScrollerOptions: {\n type: Object,\n \"default\": null\n },\n autoOptionFocus: {\n type: Boolean,\n \"default\": false\n },\n autoFilterFocus: {\n type: Boolean,\n \"default\": false\n },\n selectOnFocus: {\n type: Boolean,\n \"default\": false\n },\n focusOnHover: {\n type: Boolean,\n \"default\": true\n },\n highlightOnSelect: {\n type: Boolean,\n \"default\": true\n },\n checkmark: {\n type: Boolean,\n \"default\": false\n },\n filterMessage: {\n type: String,\n \"default\": null\n },\n selectionMessage: {\n type: String,\n \"default\": null\n },\n emptySelectionMessage: {\n type: String,\n \"default\": null\n },\n emptyFilterMessage: {\n type: String,\n \"default\": null\n },\n emptyMessage: {\n type: String,\n \"default\": null\n },\n tabindex: {\n type: Number,\n \"default\": 0\n },\n ariaLabel: {\n type: String,\n \"default\": null\n },\n ariaLabelledby: {\n type: String,\n \"default\": null\n }\n },\n style: SelectStyle,\n provide: function provide() {\n return {\n $pcSelect: this,\n $parentInstance: this\n };\n }\n};\n\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _iterableToArray(r) { if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r); }\nfunction _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nvar script = {\n name: 'Select',\n \"extends\": script$1,\n inheritAttrs: false,\n emits: ['change', 'focus', 'blur', 'before-show', 'before-hide', 'show', 'hide', 'filter'],\n outsideClickListener: null,\n scrollHandler: null,\n resizeListener: null,\n labelClickListener: null,\n overlay: null,\n list: null,\n virtualScroller: null,\n searchTimeout: null,\n searchValue: null,\n isModelValueChanged: false,\n data: function data() {\n return {\n id: this.$attrs.id,\n clicked: false,\n focused: false,\n focusedOptionIndex: -1,\n filterValue: null,\n overlayVisible: false\n };\n },\n watch: {\n '$attrs.id': function $attrsId(newValue) {\n this.id = newValue || UniqueComponentId();\n },\n modelValue: function modelValue() {\n this.isModelValueChanged = true;\n },\n options: function options() {\n this.autoUpdateModel();\n }\n },\n mounted: function mounted() {\n this.id = this.id || UniqueComponentId();\n this.autoUpdateModel();\n this.bindLabelClickListener();\n },\n updated: function updated() {\n if (this.overlayVisible && this.isModelValueChanged) {\n this.scrollInView(this.findSelectedOptionIndex());\n }\n this.isModelValueChanged = false;\n },\n beforeUnmount: function beforeUnmount() {\n this.unbindOutsideClickListener();\n this.unbindResizeListener();\n this.unbindLabelClickListener();\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n if (this.overlay) {\n ZIndex.clear(this.overlay);\n this.overlay = null;\n }\n },\n methods: {\n getOptionIndex: function getOptionIndex(index, fn) {\n return this.virtualScrollerDisabled ? index : fn && fn(index)['index'];\n },\n getOptionLabel: function getOptionLabel(option) {\n return this.optionLabel ? resolveFieldData(option, this.optionLabel) : option;\n },\n getOptionValue: function getOptionValue(option) {\n return this.optionValue ? resolveFieldData(option, this.optionValue) : option;\n },\n getOptionRenderKey: function getOptionRenderKey(option, index) {\n return (this.dataKey ? resolveFieldData(option, this.dataKey) : this.getOptionLabel(option)) + '_' + index;\n },\n getPTItemOptions: function getPTItemOptions(option, itemOptions, index, key) {\n return this.ptm(key, {\n context: {\n option: option,\n index: index,\n selected: this.isSelected(option),\n focused: this.focusedOptionIndex === this.getOptionIndex(index, itemOptions),\n disabled: this.isOptionDisabled(option)\n }\n });\n },\n isOptionDisabled: function isOptionDisabled(option) {\n return this.optionDisabled ? resolveFieldData(option, this.optionDisabled) : false;\n },\n isOptionGroup: function isOptionGroup(option) {\n return this.optionGroupLabel && option.optionGroup && option.group;\n },\n getOptionGroupLabel: function getOptionGroupLabel(optionGroup) {\n return resolveFieldData(optionGroup, this.optionGroupLabel);\n },\n getOptionGroupChildren: function getOptionGroupChildren(optionGroup) {\n return resolveFieldData(optionGroup, this.optionGroupChildren);\n },\n getAriaPosInset: function getAriaPosInset(index) {\n var _this = this;\n return (this.optionGroupLabel ? index - this.visibleOptions.slice(0, index).filter(function (option) {\n return _this.isOptionGroup(option);\n }).length : index) + 1;\n },\n show: function show(isFocus) {\n this.$emit('before-show');\n this.overlayVisible = true;\n this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : this.editable ? -1 : this.findSelectedOptionIndex();\n isFocus && focus(this.$refs.focusInput);\n },\n hide: function hide(isFocus) {\n var _this2 = this;\n var _hide = function _hide() {\n _this2.$emit('before-hide');\n _this2.overlayVisible = false;\n _this2.clicked = false;\n _this2.focusedOptionIndex = -1;\n _this2.searchValue = '';\n _this2.resetFilterOnHide && (_this2.filterValue = null);\n isFocus && focus(_this2.$refs.focusInput);\n };\n setTimeout(function () {\n _hide();\n }, 0); // For ScreenReaders\n },\n onFocus: function onFocus(event) {\n if (this.disabled) {\n // For ScreenReaders\n return;\n }\n this.focused = true;\n if (this.overlayVisible) {\n this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : this.editable ? -1 : this.findSelectedOptionIndex();\n this.scrollInView(this.focusedOptionIndex);\n }\n this.$emit('focus', event);\n },\n onBlur: function onBlur(event) {\n var _this$formField$onBlu, _this$formField;\n this.focused = false;\n this.focusedOptionIndex = -1;\n this.searchValue = '';\n this.$emit('blur', event);\n (_this$formField$onBlu = (_this$formField = this.formField).onBlur) === null || _this$formField$onBlu === void 0 || _this$formField$onBlu.call(_this$formField, event);\n },\n onKeyDown: function onKeyDown(event) {\n if (this.disabled || isAndroid()) {\n event.preventDefault();\n return;\n }\n var metaKey = event.metaKey || event.ctrlKey;\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n case 'ArrowUp':\n this.onArrowUpKey(event, this.editable);\n break;\n case 'ArrowLeft':\n case 'ArrowRight':\n this.onArrowLeftKey(event, this.editable);\n break;\n case 'Home':\n this.onHomeKey(event, this.editable);\n break;\n case 'End':\n this.onEndKey(event, this.editable);\n break;\n case 'PageDown':\n this.onPageDownKey(event);\n break;\n case 'PageUp':\n this.onPageUpKey(event);\n break;\n case 'Space':\n this.onSpaceKey(event, this.editable);\n break;\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n case 'Escape':\n this.onEscapeKey(event);\n break;\n case 'Tab':\n this.onTabKey(event);\n break;\n case 'Backspace':\n this.onBackspaceKey(event, this.editable);\n break;\n case 'ShiftLeft':\n case 'ShiftRight':\n //NOOP\n break;\n default:\n if (!metaKey && isPrintableCharacter(event.key)) {\n !this.overlayVisible && this.show();\n !this.editable && this.searchOptions(event, event.key);\n }\n break;\n }\n this.clicked = false;\n },\n onEditableInput: function onEditableInput(event) {\n var value = event.target.value;\n this.searchValue = '';\n var matched = this.searchOptions(event, value);\n !matched && (this.focusedOptionIndex = -1);\n this.updateModel(event, value);\n !this.overlayVisible && isNotEmpty(value) && this.show();\n },\n onContainerClick: function onContainerClick(event) {\n if (this.disabled || this.loading) {\n return;\n }\n if (event.target.tagName === 'INPUT' || event.target.getAttribute('data-pc-section') === 'clearicon' || event.target.closest('[data-pc-section=\"clearicon\"]')) {\n return;\n } else if (!this.overlay || !this.overlay.contains(event.target)) {\n this.overlayVisible ? this.hide(true) : this.show(true);\n }\n this.clicked = true;\n },\n onClearClick: function onClearClick(event) {\n this.updateModel(event, null);\n this.resetFilterOnClear && (this.filterValue = null);\n },\n onFirstHiddenFocus: function onFirstHiddenFocus(event) {\n var focusableEl = event.relatedTarget === this.$refs.focusInput ? getFirstFocusableElement(this.overlay, ':not([data-p-hidden-focusable=\"true\"])') : this.$refs.focusInput;\n focus(focusableEl);\n },\n onLastHiddenFocus: function onLastHiddenFocus(event) {\n var focusableEl = event.relatedTarget === this.$refs.focusInput ? getLastFocusableElement(this.overlay, ':not([data-p-hidden-focusable=\"true\"])') : this.$refs.focusInput;\n focus(focusableEl);\n },\n onOptionSelect: function onOptionSelect(event, option) {\n var isHide = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var value = this.getOptionValue(option);\n this.updateModel(event, value);\n isHide && this.hide(true);\n },\n onOptionMouseMove: function onOptionMouseMove(event, index) {\n if (this.focusOnHover) {\n this.changeFocusedOptionIndex(event, index);\n }\n },\n onFilterChange: function onFilterChange(event) {\n var value = event.target.value;\n this.filterValue = value;\n this.focusedOptionIndex = -1;\n this.$emit('filter', {\n originalEvent: event,\n value: value\n });\n !this.virtualScrollerDisabled && this.virtualScroller.scrollToIndex(0);\n },\n onFilterKeyDown: function onFilterKeyDown(event) {\n // Check if the event is part of a text composition process (e.g., for Asian languages).\n // If event.isComposing is true, it means the user is still composing text and the input is not finalized.\n if (event.isComposing) return;\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n case 'ArrowUp':\n this.onArrowUpKey(event, true);\n break;\n case 'ArrowLeft':\n case 'ArrowRight':\n this.onArrowLeftKey(event, true);\n break;\n case 'Home':\n this.onHomeKey(event, true);\n break;\n case 'End':\n this.onEndKey(event, true);\n break;\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n case 'Escape':\n this.onEscapeKey(event);\n break;\n case 'Tab':\n this.onTabKey(event, true);\n break;\n }\n },\n onFilterBlur: function onFilterBlur() {\n this.focusedOptionIndex = -1;\n },\n onFilterUpdated: function onFilterUpdated() {\n if (this.overlayVisible) {\n this.alignOverlay();\n }\n },\n onOverlayClick: function onOverlayClick(event) {\n OverlayEventBus.emit('overlay-click', {\n originalEvent: event,\n target: this.$el\n });\n },\n onOverlayKeyDown: function onOverlayKeyDown(event) {\n switch (event.code) {\n case 'Escape':\n this.onEscapeKey(event);\n break;\n }\n },\n onArrowDownKey: function onArrowDownKey(event) {\n if (!this.overlayVisible) {\n this.show();\n this.editable && this.changeFocusedOptionIndex(event, this.findSelectedOptionIndex());\n } else {\n var optionIndex = this.focusedOptionIndex !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex) : this.clicked ? this.findFirstOptionIndex() : this.findFirstFocusedOptionIndex();\n this.changeFocusedOptionIndex(event, optionIndex);\n }\n event.preventDefault();\n },\n onArrowUpKey: function onArrowUpKey(event) {\n var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (event.altKey && !pressedInInputText) {\n if (this.focusedOptionIndex !== -1) {\n this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]);\n }\n this.overlayVisible && this.hide();\n event.preventDefault();\n } else {\n var optionIndex = this.focusedOptionIndex !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex) : this.clicked ? this.findLastOptionIndex() : this.findLastFocusedOptionIndex();\n this.changeFocusedOptionIndex(event, optionIndex);\n !this.overlayVisible && this.show();\n event.preventDefault();\n }\n },\n onArrowLeftKey: function onArrowLeftKey(event) {\n var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n pressedInInputText && (this.focusedOptionIndex = -1);\n },\n onHomeKey: function onHomeKey(event) {\n var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (pressedInInputText) {\n var target = event.currentTarget;\n if (event.shiftKey) {\n target.setSelectionRange(0, event.target.selectionStart);\n } else {\n target.setSelectionRange(0, 0);\n this.focusedOptionIndex = -1;\n }\n } else {\n this.changeFocusedOptionIndex(event, this.findFirstOptionIndex());\n !this.overlayVisible && this.show();\n }\n event.preventDefault();\n },\n onEndKey: function onEndKey(event) {\n var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (pressedInInputText) {\n var target = event.currentTarget;\n if (event.shiftKey) {\n target.setSelectionRange(event.target.selectionStart, target.value.length);\n } else {\n var len = target.value.length;\n target.setSelectionRange(len, len);\n this.focusedOptionIndex = -1;\n }\n } else {\n this.changeFocusedOptionIndex(event, this.findLastOptionIndex());\n !this.overlayVisible && this.show();\n }\n event.preventDefault();\n },\n onPageUpKey: function onPageUpKey(event) {\n this.scrollInView(0);\n event.preventDefault();\n },\n onPageDownKey: function onPageDownKey(event) {\n this.scrollInView(this.visibleOptions.length - 1);\n event.preventDefault();\n },\n onEnterKey: function onEnterKey(event) {\n if (!this.overlayVisible) {\n this.focusedOptionIndex = -1; // reset\n this.onArrowDownKey(event);\n } else {\n if (this.focusedOptionIndex !== -1) {\n this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]);\n }\n this.hide();\n }\n event.preventDefault();\n },\n onSpaceKey: function onSpaceKey(event) {\n var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n !pressedInInputText && this.onEnterKey(event);\n },\n onEscapeKey: function onEscapeKey(event) {\n this.overlayVisible && this.hide(true);\n event.preventDefault();\n event.stopPropagation(); //@todo will be changed next versionss\n },\n onTabKey: function onTabKey(event) {\n var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (!pressedInInputText) {\n if (this.overlayVisible && this.hasFocusableElements()) {\n focus(this.$refs.firstHiddenFocusableElementOnOverlay);\n event.preventDefault();\n } else {\n if (this.focusedOptionIndex !== -1) {\n this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]);\n }\n this.overlayVisible && this.hide(this.filter);\n }\n }\n },\n onBackspaceKey: function onBackspaceKey(event) {\n var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (pressedInInputText) {\n !this.overlayVisible && this.show();\n }\n },\n onOverlayEnter: function onOverlayEnter(el) {\n var _this3 = this;\n ZIndex.set('overlay', el, this.$primevue.config.zIndex.overlay);\n addStyle(el, {\n position: 'absolute',\n top: '0',\n left: '0'\n });\n this.alignOverlay();\n this.scrollInView();\n setTimeout(function () {\n _this3.autoFilterFocus && _this3.filter && focus(_this3.$refs.filterInput.$el);\n }, 1);\n },\n onOverlayAfterEnter: function onOverlayAfterEnter() {\n this.bindOutsideClickListener();\n this.bindScrollListener();\n this.bindResizeListener();\n this.$emit('show');\n },\n onOverlayLeave: function onOverlayLeave() {\n var _this4 = this;\n this.unbindOutsideClickListener();\n this.unbindScrollListener();\n this.unbindResizeListener();\n if (this.autoFilterFocus && this.filter && !this.editable) {\n this.$nextTick(function () {\n focus(_this4.$refs.filterInput.$el);\n });\n }\n this.$emit('hide');\n this.overlay = null;\n },\n onOverlayAfterLeave: function onOverlayAfterLeave(el) {\n ZIndex.clear(el);\n },\n alignOverlay: function alignOverlay() {\n if (this.appendTo === 'self') {\n relativePosition(this.overlay, this.$el);\n } else {\n this.overlay.style.minWidth = getOuterWidth(this.$el) + 'px';\n absolutePosition(this.overlay, this.$el);\n }\n },\n bindOutsideClickListener: function bindOutsideClickListener() {\n var _this5 = this;\n if (!this.outsideClickListener) {\n this.outsideClickListener = function (event) {\n if (_this5.overlayVisible && _this5.overlay && !_this5.$el.contains(event.target) && !_this5.overlay.contains(event.target)) {\n _this5.hide();\n }\n };\n document.addEventListener('click', this.outsideClickListener);\n }\n },\n unbindOutsideClickListener: function unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener);\n this.outsideClickListener = null;\n }\n },\n bindScrollListener: function bindScrollListener() {\n var _this6 = this;\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.$refs.container, function () {\n if (_this6.overlayVisible) {\n _this6.hide();\n }\n });\n }\n this.scrollHandler.bindScrollListener();\n },\n unbindScrollListener: function unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n },\n bindResizeListener: function bindResizeListener() {\n var _this7 = this;\n if (!this.resizeListener) {\n this.resizeListener = function () {\n if (_this7.overlayVisible && !isTouchDevice()) {\n _this7.hide();\n }\n };\n window.addEventListener('resize', this.resizeListener);\n }\n },\n unbindResizeListener: function unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n },\n bindLabelClickListener: function bindLabelClickListener() {\n var _this8 = this;\n if (!this.editable && !this.labelClickListener) {\n var label = document.querySelector(\"label[for=\\\"\".concat(this.labelId, \"\\\"]\"));\n if (label && isVisible(label)) {\n this.labelClickListener = function () {\n focus(_this8.$refs.focusInput);\n };\n label.addEventListener('click', this.labelClickListener);\n }\n }\n },\n unbindLabelClickListener: function unbindLabelClickListener() {\n if (this.labelClickListener) {\n var label = document.querySelector(\"label[for=\\\"\".concat(this.labelId, \"\\\"]\"));\n if (label && isVisible(label)) {\n label.removeEventListener('click', this.labelClickListener);\n }\n }\n },\n hasFocusableElements: function hasFocusableElements() {\n return getFocusableElements(this.overlay, ':not([data-p-hidden-focusable=\"true\"])').length > 0;\n },\n isOptionMatched: function isOptionMatched(option) {\n var _this$getOptionLabel;\n return this.isValidOption(option) && typeof this.getOptionLabel(option) === 'string' && ((_this$getOptionLabel = this.getOptionLabel(option)) === null || _this$getOptionLabel === void 0 ? void 0 : _this$getOptionLabel.toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale)));\n },\n isValidOption: function isValidOption(option) {\n return isNotEmpty(option) && !(this.isOptionDisabled(option) || this.isOptionGroup(option));\n },\n isValidSelectedOption: function isValidSelectedOption(option) {\n return this.isValidOption(option) && this.isSelected(option);\n },\n isSelected: function isSelected(option) {\n return equals(this.d_value, this.getOptionValue(option), this.equalityKey);\n },\n findFirstOptionIndex: function findFirstOptionIndex() {\n var _this9 = this;\n return this.visibleOptions.findIndex(function (option) {\n return _this9.isValidOption(option);\n });\n },\n findLastOptionIndex: function findLastOptionIndex() {\n var _this10 = this;\n return findLastIndex(this.visibleOptions, function (option) {\n return _this10.isValidOption(option);\n });\n },\n findNextOptionIndex: function findNextOptionIndex(index) {\n var _this11 = this;\n var matchedOptionIndex = index < this.visibleOptions.length - 1 ? this.visibleOptions.slice(index + 1).findIndex(function (option) {\n return _this11.isValidOption(option);\n }) : -1;\n return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;\n },\n findPrevOptionIndex: function findPrevOptionIndex(index) {\n var _this12 = this;\n var matchedOptionIndex = index > 0 ? findLastIndex(this.visibleOptions.slice(0, index), function (option) {\n return _this12.isValidOption(option);\n }) : -1;\n return matchedOptionIndex > -1 ? matchedOptionIndex : index;\n },\n findSelectedOptionIndex: function findSelectedOptionIndex() {\n var _this13 = this;\n return this.$filled ? this.visibleOptions.findIndex(function (option) {\n return _this13.isValidSelectedOption(option);\n }) : -1;\n },\n findFirstFocusedOptionIndex: function findFirstFocusedOptionIndex() {\n var selectedIndex = this.findSelectedOptionIndex();\n return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;\n },\n findLastFocusedOptionIndex: function findLastFocusedOptionIndex() {\n var selectedIndex = this.findSelectedOptionIndex();\n return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;\n },\n searchOptions: function searchOptions(event, _char) {\n var _this14 = this;\n this.searchValue = (this.searchValue || '') + _char;\n var optionIndex = -1;\n var matched = false;\n if (isNotEmpty(this.searchValue)) {\n if (this.focusedOptionIndex !== -1) {\n optionIndex = this.visibleOptions.slice(this.focusedOptionIndex).findIndex(function (option) {\n return _this14.isOptionMatched(option);\n });\n optionIndex = optionIndex === -1 ? this.visibleOptions.slice(0, this.focusedOptionIndex).findIndex(function (option) {\n return _this14.isOptionMatched(option);\n }) : optionIndex + this.focusedOptionIndex;\n } else {\n optionIndex = this.visibleOptions.findIndex(function (option) {\n return _this14.isOptionMatched(option);\n });\n }\n if (optionIndex !== -1) {\n matched = true;\n }\n if (optionIndex === -1 && this.focusedOptionIndex === -1) {\n optionIndex = this.findFirstFocusedOptionIndex();\n }\n if (optionIndex !== -1) {\n this.changeFocusedOptionIndex(event, optionIndex);\n }\n }\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n this.searchTimeout = setTimeout(function () {\n _this14.searchValue = '';\n _this14.searchTimeout = null;\n }, 500);\n return matched;\n },\n changeFocusedOptionIndex: function changeFocusedOptionIndex(event, index) {\n if (this.focusedOptionIndex !== index) {\n this.focusedOptionIndex = index;\n this.scrollInView();\n if (this.selectOnFocus) {\n this.onOptionSelect(event, this.visibleOptions[index], false);\n }\n }\n },\n scrollInView: function scrollInView() {\n var _this15 = this;\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;\n this.$nextTick(function () {\n var id = index !== -1 ? \"\".concat(_this15.id, \"_\").concat(index) : _this15.focusedOptionId;\n var element = findSingle(_this15.list, \"li[id=\\\"\".concat(id, \"\\\"]\"));\n if (element) {\n element.scrollIntoView && element.scrollIntoView({\n block: 'nearest',\n inline: 'start'\n });\n } else if (!_this15.virtualScrollerDisabled) {\n _this15.virtualScroller && _this15.virtualScroller.scrollToIndex(index !== -1 ? index : _this15.focusedOptionIndex);\n }\n });\n },\n autoUpdateModel: function autoUpdateModel() {\n if (this.selectOnFocus && this.autoOptionFocus && !this.$filled) {\n this.focusedOptionIndex = this.findFirstFocusedOptionIndex();\n this.onOptionSelect(null, this.visibleOptions[this.focusedOptionIndex], false);\n }\n },\n updateModel: function updateModel(event, value) {\n this.writeValue(value, event);\n this.$emit('change', {\n originalEvent: event,\n value: value\n });\n },\n flatOptions: function flatOptions(options) {\n var _this16 = this;\n return (options || []).reduce(function (result, option, index) {\n result.push({\n optionGroup: option,\n group: true,\n index: index\n });\n var optionGroupChildren = _this16.getOptionGroupChildren(option);\n optionGroupChildren && optionGroupChildren.forEach(function (o) {\n return result.push(o);\n });\n return result;\n }, []);\n },\n overlayRef: function overlayRef(el) {\n this.overlay = el;\n },\n listRef: function listRef(el, contentRef) {\n this.list = el;\n contentRef && contentRef(el); // For VirtualScroller\n },\n virtualScrollerRef: function virtualScrollerRef(el) {\n this.virtualScroller = el;\n }\n },\n computed: {\n visibleOptions: function visibleOptions() {\n var _this17 = this;\n var options = this.optionGroupLabel ? this.flatOptions(this.options) : this.options || [];\n if (this.filterValue) {\n var filteredOptions = FilterService.filter(options, this.searchFields, this.filterValue, this.filterMatchMode, this.filterLocale);\n if (this.optionGroupLabel) {\n var optionGroups = this.options || [];\n var filtered = [];\n optionGroups.forEach(function (group) {\n var groupChildren = _this17.getOptionGroupChildren(group);\n var filteredItems = groupChildren.filter(function (item) {\n return filteredOptions.includes(item);\n });\n if (filteredItems.length > 0) filtered.push(_objectSpread(_objectSpread({}, group), {}, _defineProperty({}, typeof _this17.optionGroupChildren === 'string' ? _this17.optionGroupChildren : 'items', _toConsumableArray(filteredItems))));\n });\n return this.flatOptions(filtered);\n }\n return filteredOptions;\n }\n return options;\n },\n // @deprecated use $filled instead\n hasSelectedOption: function hasSelectedOption() {\n return this.$filled;\n },\n label: function label() {\n var selectedOptionIndex = this.findSelectedOptionIndex();\n return selectedOptionIndex !== -1 ? this.getOptionLabel(this.visibleOptions[selectedOptionIndex]) : this.placeholder || 'p-emptylabel';\n },\n editableInputValue: function editableInputValue() {\n var selectedOptionIndex = this.findSelectedOptionIndex();\n return selectedOptionIndex !== -1 ? this.getOptionLabel(this.visibleOptions[selectedOptionIndex]) : this.d_value || '';\n },\n equalityKey: function equalityKey() {\n return this.optionValue ? null : this.dataKey;\n },\n searchFields: function searchFields() {\n return this.filterFields || [this.optionLabel];\n },\n filterResultMessageText: function filterResultMessageText() {\n return isNotEmpty(this.visibleOptions) ? this.filterMessageText.replaceAll('{0}', this.visibleOptions.length) : this.emptyFilterMessageText;\n },\n filterMessageText: function filterMessageText() {\n return this.filterMessage || this.$primevue.config.locale.searchMessage || '';\n },\n emptyFilterMessageText: function emptyFilterMessageText() {\n return this.emptyFilterMessage || this.$primevue.config.locale.emptySearchMessage || this.$primevue.config.locale.emptyFilterMessage || '';\n },\n emptyMessageText: function emptyMessageText() {\n return this.emptyMessage || this.$primevue.config.locale.emptyMessage || '';\n },\n selectionMessageText: function selectionMessageText() {\n return this.selectionMessage || this.$primevue.config.locale.selectionMessage || '';\n },\n emptySelectionMessageText: function emptySelectionMessageText() {\n return this.emptySelectionMessage || this.$primevue.config.locale.emptySelectionMessage || '';\n },\n selectedMessageText: function selectedMessageText() {\n return this.$filled ? this.selectionMessageText.replaceAll('{0}', '1') : this.emptySelectionMessageText;\n },\n focusedOptionId: function focusedOptionId() {\n return this.focusedOptionIndex !== -1 ? \"\".concat(this.id, \"_\").concat(this.focusedOptionIndex) : null;\n },\n ariaSetSize: function ariaSetSize() {\n var _this18 = this;\n return this.visibleOptions.filter(function (option) {\n return !_this18.isOptionGroup(option);\n }).length;\n },\n isClearIconVisible: function isClearIconVisible() {\n return this.showClear && this.d_value != null && isNotEmpty(this.options);\n },\n virtualScrollerDisabled: function virtualScrollerDisabled() {\n return !this.virtualScrollerOptions;\n }\n },\n directives: {\n ripple: Ripple\n },\n components: {\n InputText: InputText,\n VirtualScroller: VirtualScroller,\n Portal: Portal,\n InputIcon: InputIcon,\n IconField: IconField,\n TimesIcon: TimesIcon,\n ChevronDownIcon: ChevronDownIcon,\n SpinnerIcon: SpinnerIcon,\n SearchIcon: SearchIcon,\n CheckIcon: CheckIcon,\n BlankIcon: BlankIcon\n }\n};\n\nvar _hoisted_1 = [\"id\"];\nvar _hoisted_2 = [\"id\", \"value\", \"placeholder\", \"tabindex\", \"disabled\", \"aria-label\", \"aria-labelledby\", \"aria-expanded\", \"aria-controls\", \"aria-activedescendant\", \"aria-invalid\"];\nvar _hoisted_3 = [\"id\", \"tabindex\", \"aria-label\", \"aria-labelledby\", \"aria-expanded\", \"aria-controls\", \"aria-activedescendant\", \"aria-disabled\"];\nvar _hoisted_4 = [\"id\"];\nvar _hoisted_5 = [\"id\"];\nvar _hoisted_6 = [\"id\", \"aria-label\", \"aria-selected\", \"aria-disabled\", \"aria-setsize\", \"aria-posinset\", \"onClick\", \"onMousemove\", \"data-p-selected\", \"data-p-focused\", \"data-p-disabled\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_SpinnerIcon = resolveComponent(\"SpinnerIcon\");\n var _component_InputText = resolveComponent(\"InputText\");\n var _component_SearchIcon = resolveComponent(\"SearchIcon\");\n var _component_InputIcon = resolveComponent(\"InputIcon\");\n var _component_IconField = resolveComponent(\"IconField\");\n var _component_CheckIcon = resolveComponent(\"CheckIcon\");\n var _component_BlankIcon = resolveComponent(\"BlankIcon\");\n var _component_VirtualScroller = resolveComponent(\"VirtualScroller\");\n var _component_Portal = resolveComponent(\"Portal\");\n var _directive_ripple = resolveDirective(\"ripple\");\n return openBlock(), createElementBlock(\"div\", mergeProps({\n ref: \"container\",\n id: $data.id,\n \"class\": _ctx.cx('root'),\n onClick: _cache[11] || (_cache[11] = function () {\n return $options.onContainerClick && $options.onContainerClick.apply($options, arguments);\n })\n }, _ctx.ptmi('root')), [_ctx.editable ? (openBlock(), createElementBlock(\"input\", mergeProps({\n key: 0,\n ref: \"focusInput\",\n id: _ctx.labelId || _ctx.inputId,\n type: \"text\",\n \"class\": [_ctx.cx('label'), _ctx.inputClass, _ctx.labelClass],\n style: [_ctx.inputStyle, _ctx.labelStyle],\n value: $options.editableInputValue,\n placeholder: _ctx.placeholder,\n tabindex: !_ctx.disabled ? _ctx.tabindex : -1,\n disabled: _ctx.disabled,\n autocomplete: \"off\",\n role: \"combobox\",\n \"aria-label\": _ctx.ariaLabel,\n \"aria-labelledby\": _ctx.ariaLabelledby,\n \"aria-haspopup\": \"listbox\",\n \"aria-expanded\": $data.overlayVisible,\n \"aria-controls\": $data.id + '_list',\n \"aria-activedescendant\": $data.focused ? $options.focusedOptionId : undefined,\n \"aria-invalid\": _ctx.invalid || undefined,\n onFocus: _cache[0] || (_cache[0] = function () {\n return $options.onFocus && $options.onFocus.apply($options, arguments);\n }),\n onBlur: _cache[1] || (_cache[1] = function () {\n return $options.onBlur && $options.onBlur.apply($options, arguments);\n }),\n onKeydown: _cache[2] || (_cache[2] = function () {\n return $options.onKeyDown && $options.onKeyDown.apply($options, arguments);\n }),\n onInput: _cache[3] || (_cache[3] = function () {\n return $options.onEditableInput && $options.onEditableInput.apply($options, arguments);\n })\n }, _ctx.ptm('label')), null, 16, _hoisted_2)) : (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 1,\n ref: \"focusInput\",\n id: _ctx.labelId || _ctx.inputId,\n \"class\": [_ctx.cx('label'), _ctx.inputClass, _ctx.labelClass],\n style: [_ctx.inputStyle, _ctx.labelStyle],\n tabindex: !_ctx.disabled ? _ctx.tabindex : -1,\n role: \"combobox\",\n \"aria-label\": _ctx.ariaLabel || ($options.label === 'p-emptylabel' ? undefined : $options.label),\n \"aria-labelledby\": _ctx.ariaLabelledby,\n \"aria-haspopup\": \"listbox\",\n \"aria-expanded\": $data.overlayVisible,\n \"aria-controls\": $data.id + '_list',\n \"aria-activedescendant\": $data.focused ? $options.focusedOptionId : undefined,\n \"aria-disabled\": _ctx.disabled,\n onFocus: _cache[4] || (_cache[4] = function () {\n return $options.onFocus && $options.onFocus.apply($options, arguments);\n }),\n onBlur: _cache[5] || (_cache[5] = function () {\n return $options.onBlur && $options.onBlur.apply($options, arguments);\n }),\n onKeydown: _cache[6] || (_cache[6] = function () {\n return $options.onKeyDown && $options.onKeyDown.apply($options, arguments);\n })\n }, _ctx.ptm('label')), [renderSlot(_ctx.$slots, \"value\", {\n value: _ctx.d_value,\n placeholder: _ctx.placeholder\n }, function () {\n var _$options$label;\n return [createTextVNode(toDisplayString($options.label === 'p-emptylabel' ? ' ' : (_$options$label = $options.label) !== null && _$options$label !== void 0 ? _$options$label : 'empty'), 1)];\n })], 16, _hoisted_3)), $options.isClearIconVisible ? renderSlot(_ctx.$slots, \"clearicon\", {\n key: 2,\n \"class\": normalizeClass(_ctx.cx('clearIcon')),\n clearCallback: $options.onClearClick\n }, function () {\n return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.clearIcon ? 'i' : 'TimesIcon'), mergeProps({\n ref: \"clearIcon\",\n \"class\": [_ctx.cx('clearIcon'), _ctx.clearIcon],\n onClick: $options.onClearClick\n }, _ctx.ptm('clearIcon'), {\n \"data-pc-section\": \"clearicon\"\n }), null, 16, [\"class\", \"onClick\"]))];\n }) : createCommentVNode(\"\", true), createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('dropdown')\n }, _ctx.ptm('dropdown')), [_ctx.loading ? renderSlot(_ctx.$slots, \"loadingicon\", {\n key: 0,\n \"class\": normalizeClass(_ctx.cx('loadingIcon'))\n }, function () {\n return [_ctx.loadingIcon ? (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 0,\n \"class\": [_ctx.cx('loadingIcon'), 'pi-spin', _ctx.loadingIcon],\n \"aria-hidden\": \"true\"\n }, _ctx.ptm('loadingIcon')), null, 16)) : (openBlock(), createBlock(_component_SpinnerIcon, mergeProps({\n key: 1,\n \"class\": _ctx.cx('loadingIcon'),\n spin: \"\",\n \"aria-hidden\": \"true\"\n }, _ctx.ptm('loadingIcon')), null, 16, [\"class\"]))];\n }) : renderSlot(_ctx.$slots, \"dropdownicon\", {\n key: 1,\n \"class\": normalizeClass(_ctx.cx('dropdownIcon'))\n }, function () {\n return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.dropdownIcon ? 'span' : 'ChevronDownIcon'), mergeProps({\n \"class\": [_ctx.cx('dropdownIcon'), _ctx.dropdownIcon],\n \"aria-hidden\": \"true\"\n }, _ctx.ptm('dropdownIcon')), null, 16, [\"class\"]))];\n })], 16), createVNode(_component_Portal, {\n appendTo: _ctx.appendTo\n }, {\n \"default\": withCtx(function () {\n return [createVNode(Transition, mergeProps({\n name: \"p-connected-overlay\",\n onEnter: $options.onOverlayEnter,\n onAfterEnter: $options.onOverlayAfterEnter,\n onLeave: $options.onOverlayLeave,\n onAfterLeave: $options.onOverlayAfterLeave\n }, _ctx.ptm('transition')), {\n \"default\": withCtx(function () {\n return [$data.overlayVisible ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n ref: $options.overlayRef,\n \"class\": [_ctx.cx('overlay'), _ctx.panelClass, _ctx.overlayClass],\n style: [_ctx.panelStyle, _ctx.overlayStyle],\n onClick: _cache[9] || (_cache[9] = function () {\n return $options.onOverlayClick && $options.onOverlayClick.apply($options, arguments);\n }),\n onKeydown: _cache[10] || (_cache[10] = function () {\n return $options.onOverlayKeyDown && $options.onOverlayKeyDown.apply($options, arguments);\n })\n }, _ctx.ptm('overlay')), [createElementVNode(\"span\", mergeProps({\n ref: \"firstHiddenFocusableElementOnOverlay\",\n role: \"presentation\",\n \"aria-hidden\": \"true\",\n \"class\": \"p-hidden-accessible p-hidden-focusable\",\n tabindex: 0,\n onFocus: _cache[7] || (_cache[7] = function () {\n return $options.onFirstHiddenFocus && $options.onFirstHiddenFocus.apply($options, arguments);\n })\n }, _ctx.ptm('hiddenFirstFocusableEl'), {\n \"data-p-hidden-accessible\": true,\n \"data-p-hidden-focusable\": true\n }), null, 16), renderSlot(_ctx.$slots, \"header\", {\n value: _ctx.d_value,\n options: $options.visibleOptions\n }), _ctx.filter ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n \"class\": _ctx.cx('header')\n }, _ctx.ptm('header')), [createVNode(_component_IconField, {\n unstyled: _ctx.unstyled,\n pt: _ctx.ptm('pcFilterContainer')\n }, {\n \"default\": withCtx(function () {\n return [createVNode(_component_InputText, {\n ref: \"filterInput\",\n type: \"text\",\n value: $data.filterValue,\n onVnodeMounted: $options.onFilterUpdated,\n onVnodeUpdated: $options.onFilterUpdated,\n \"class\": normalizeClass(_ctx.cx('pcFilter')),\n placeholder: _ctx.filterPlaceholder,\n variant: _ctx.variant,\n unstyled: _ctx.unstyled,\n role: \"searchbox\",\n autocomplete: \"off\",\n \"aria-owns\": $data.id + '_list',\n \"aria-activedescendant\": $options.focusedOptionId,\n onKeydown: $options.onFilterKeyDown,\n onBlur: $options.onFilterBlur,\n onInput: $options.onFilterChange,\n pt: _ctx.ptm('pcFilter')\n }, null, 8, [\"value\", \"onVnodeMounted\", \"onVnodeUpdated\", \"class\", \"placeholder\", \"variant\", \"unstyled\", \"aria-owns\", \"aria-activedescendant\", \"onKeydown\", \"onBlur\", \"onInput\", \"pt\"]), createVNode(_component_InputIcon, {\n unstyled: _ctx.unstyled,\n pt: _ctx.ptm('pcFilterIconContainer')\n }, {\n \"default\": withCtx(function () {\n return [renderSlot(_ctx.$slots, \"filtericon\", {}, function () {\n return [_ctx.filterIcon ? (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 0,\n \"class\": _ctx.filterIcon\n }, _ctx.ptm('filterIcon')), null, 16)) : (openBlock(), createBlock(_component_SearchIcon, normalizeProps(mergeProps({\n key: 1\n }, _ctx.ptm('filterIcon'))), null, 16))];\n })];\n }),\n _: 3\n }, 8, [\"unstyled\", \"pt\"])];\n }),\n _: 3\n }, 8, [\"unstyled\", \"pt\"]), createElementVNode(\"span\", mergeProps({\n role: \"status\",\n \"aria-live\": \"polite\",\n \"class\": \"p-hidden-accessible\"\n }, _ctx.ptm('hiddenFilterResult'), {\n \"data-p-hidden-accessible\": true\n }), toDisplayString($options.filterResultMessageText), 17)], 16)) : createCommentVNode(\"\", true), createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('listContainer'),\n style: {\n 'max-height': $options.virtualScrollerDisabled ? _ctx.scrollHeight : ''\n }\n }, _ctx.ptm('listContainer')), [createVNode(_component_VirtualScroller, mergeProps({\n ref: $options.virtualScrollerRef\n }, _ctx.virtualScrollerOptions, {\n items: $options.visibleOptions,\n style: {\n height: _ctx.scrollHeight\n },\n tabindex: -1,\n disabled: $options.virtualScrollerDisabled,\n pt: _ctx.ptm('virtualScroller')\n }), createSlots({\n content: withCtx(function (_ref) {\n var styleClass = _ref.styleClass,\n contentRef = _ref.contentRef,\n items = _ref.items,\n getItemOptions = _ref.getItemOptions,\n contentStyle = _ref.contentStyle,\n itemSize = _ref.itemSize;\n return [createElementVNode(\"ul\", mergeProps({\n ref: function ref(el) {\n return $options.listRef(el, contentRef);\n },\n id: $data.id + '_list',\n \"class\": [_ctx.cx('list'), styleClass],\n style: contentStyle,\n role: \"listbox\"\n }, _ctx.ptm('list')), [(openBlock(true), createElementBlock(Fragment, null, renderList(items, function (option, i) {\n return openBlock(), createElementBlock(Fragment, {\n key: $options.getOptionRenderKey(option, $options.getOptionIndex(i, getItemOptions))\n }, [$options.isOptionGroup(option) ? (openBlock(), createElementBlock(\"li\", mergeProps({\n key: 0,\n id: $data.id + '_' + $options.getOptionIndex(i, getItemOptions),\n style: {\n height: itemSize ? itemSize + 'px' : undefined\n },\n \"class\": _ctx.cx('optionGroup'),\n role: \"option\",\n ref_for: true\n }, _ctx.ptm('optionGroup')), [renderSlot(_ctx.$slots, \"optiongroup\", {\n option: option.optionGroup,\n index: $options.getOptionIndex(i, getItemOptions)\n }, function () {\n return [createElementVNode(\"span\", mergeProps({\n \"class\": _ctx.cx('optionGroupLabel'),\n ref_for: true\n }, _ctx.ptm('optionGroupLabel')), toDisplayString($options.getOptionGroupLabel(option.optionGroup)), 17)];\n })], 16, _hoisted_5)) : withDirectives((openBlock(), createElementBlock(\"li\", mergeProps({\n key: 1,\n id: $data.id + '_' + $options.getOptionIndex(i, getItemOptions),\n \"class\": _ctx.cx('option', {\n option: option,\n focusedOption: $options.getOptionIndex(i, getItemOptions)\n }),\n style: {\n height: itemSize ? itemSize + 'px' : undefined\n },\n role: \"option\",\n \"aria-label\": $options.getOptionLabel(option),\n \"aria-selected\": $options.isSelected(option),\n \"aria-disabled\": $options.isOptionDisabled(option),\n \"aria-setsize\": $options.ariaSetSize,\n \"aria-posinset\": $options.getAriaPosInset($options.getOptionIndex(i, getItemOptions)),\n onClick: function onClick($event) {\n return $options.onOptionSelect($event, option);\n },\n onMousemove: function onMousemove($event) {\n return $options.onOptionMouseMove($event, $options.getOptionIndex(i, getItemOptions));\n },\n \"data-p-selected\": $options.isSelected(option),\n \"data-p-focused\": $data.focusedOptionIndex === $options.getOptionIndex(i, getItemOptions),\n \"data-p-disabled\": $options.isOptionDisabled(option),\n ref_for: true\n }, $options.getPTItemOptions(option, getItemOptions, i, 'option')), [_ctx.checkmark ? (openBlock(), createElementBlock(Fragment, {\n key: 0\n }, [$options.isSelected(option) ? (openBlock(), createBlock(_component_CheckIcon, mergeProps({\n key: 0,\n \"class\": _ctx.cx('optionCheckIcon'),\n ref_for: true\n }, _ctx.ptm('optionCheckIcon')), null, 16, [\"class\"])) : (openBlock(), createBlock(_component_BlankIcon, mergeProps({\n key: 1,\n \"class\": _ctx.cx('optionBlankIcon'),\n ref_for: true\n }, _ctx.ptm('optionBlankIcon')), null, 16, [\"class\"]))], 64)) : createCommentVNode(\"\", true), renderSlot(_ctx.$slots, \"option\", {\n option: option,\n selected: $options.isSelected(option),\n index: $options.getOptionIndex(i, getItemOptions)\n }, function () {\n return [createElementVNode(\"span\", mergeProps({\n \"class\": _ctx.cx('optionLabel'),\n ref_for: true\n }, _ctx.ptm('optionLabel')), toDisplayString($options.getOptionLabel(option)), 17)];\n })], 16, _hoisted_6)), [[_directive_ripple]])], 64);\n }), 128)), $data.filterValue && (!items || items && items.length === 0) ? (openBlock(), createElementBlock(\"li\", mergeProps({\n key: 0,\n \"class\": _ctx.cx('emptyMessage'),\n role: \"option\"\n }, _ctx.ptm('emptyMessage'), {\n \"data-p-hidden-accessible\": true\n }), [renderSlot(_ctx.$slots, \"emptyfilter\", {}, function () {\n return [createTextVNode(toDisplayString($options.emptyFilterMessageText), 1)];\n })], 16)) : !_ctx.options || _ctx.options && _ctx.options.length === 0 ? (openBlock(), createElementBlock(\"li\", mergeProps({\n key: 1,\n \"class\": _ctx.cx('emptyMessage'),\n role: \"option\"\n }, _ctx.ptm('emptyMessage'), {\n \"data-p-hidden-accessible\": true\n }), [renderSlot(_ctx.$slots, \"empty\", {}, function () {\n return [createTextVNode(toDisplayString($options.emptyMessageText), 1)];\n })], 16)) : createCommentVNode(\"\", true)], 16, _hoisted_4)];\n }),\n _: 2\n }, [_ctx.$slots.loader ? {\n name: \"loader\",\n fn: withCtx(function (_ref2) {\n var options = _ref2.options;\n return [renderSlot(_ctx.$slots, \"loader\", {\n options: options\n })];\n }),\n key: \"0\"\n } : undefined]), 1040, [\"items\", \"style\", \"disabled\", \"pt\"])], 16), renderSlot(_ctx.$slots, \"footer\", {\n value: _ctx.d_value,\n options: $options.visibleOptions\n }), !_ctx.options || _ctx.options && _ctx.options.length === 0 ? (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 1,\n role: \"status\",\n \"aria-live\": \"polite\",\n \"class\": \"p-hidden-accessible\"\n }, _ctx.ptm('hiddenEmptyMessage'), {\n \"data-p-hidden-accessible\": true\n }), toDisplayString($options.emptyMessageText), 17)) : createCommentVNode(\"\", true), createElementVNode(\"span\", mergeProps({\n role: \"status\",\n \"aria-live\": \"polite\",\n \"class\": \"p-hidden-accessible\"\n }, _ctx.ptm('hiddenSelectedMessage'), {\n \"data-p-hidden-accessible\": true\n }), toDisplayString($options.selectedMessageText), 17), createElementVNode(\"span\", mergeProps({\n ref: \"lastHiddenFocusableElementOnOverlay\",\n role: \"presentation\",\n \"aria-hidden\": \"true\",\n \"class\": \"p-hidden-accessible p-hidden-focusable\",\n tabindex: 0,\n onFocus: _cache[8] || (_cache[8] = function () {\n return $options.onLastHiddenFocus && $options.onLastHiddenFocus.apply($options, arguments);\n })\n }, _ctx.ptm('hiddenLastFocusableEl'), {\n \"data-p-hidden-accessible\": true,\n \"data-p-hidden-focusable\": true\n }), null, 16)], 16)) : createCommentVNode(\"\", true)];\n }),\n _: 3\n }, 16, [\"onEnter\", \"onAfterEnter\", \"onLeave\", \"onAfterLeave\"])];\n }),\n _: 3\n }, 8, [\"appendTo\"])], 16, _hoisted_1);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","<template lang=\"pug\">\n ToolPopover\n template(#title) Path Style\n template(#content)\n Select(\n v-model=\"selectedItem\"\n :options=\"items\"\n optionLabel=\"name\"\n :highlightOnSelect=\"true\"\n @change=\"changed\"\n )\n template(#value=\"slotProps\")\n .flex.items-center(v-if=\"slotProps.value\")\n span.ci(:class=\"[slotProps.value.icon]\") &nbsp;\n span {{ slotProps.value.name }}\n span(v-else) {{ slotProps.placeholder }}\n template(#option=\"slotProps\")\n .flex.items-center\n span {{ slotProps.option.name }}\n</template>\n\n<script setup lang=\"ts\">\nimport * as vue from 'vue'\nimport { type SelectChangeEvent } from 'primevue/select'\nimport { useThemeCssVariables } from '@renderer/common/themeCssVariables'\n\nuseThemeCssVariables('select')\n\nimport ToolPopover from '../toolbar/ToolPopover.vue'\n\nimport {\n type ConnectionStyleDefinition,\n CONNECTION_STYLE_DEFINITIONS,\n DEFAULT_CONNECTION_STYLE\n} from '@editor/connections/index'\n\n//==============================================================================\n\nconst selectedId: string = DEFAULT_CONNECTION_STYLE\nconst items = vue.ref<ConnectionStyleDefinition[]>(CONNECTION_STYLE_DEFINITIONS)\n\nconst selectedItem = vue.ref<ConnectionStyleDefinition>()\n\nfor (const item of items.value) {\n if (item.id === selectedId) {\n selectedItem.value = item\n break\n }\n}\n\n//==============================================================================\n\nconst props = defineProps<{\n toolId: string\n}>()\n\nconst emit = defineEmits(['popover-event'])\n\nfunction changed(e: SelectChangeEvent) {\n emit('popover-event', props.toolId, e.value)\n}\n\n//==============================================================================\n</script>\n\n<style scoped>\n/* What does `md.w-56` do?? */\n.p-select {\n width: 170px !important;\n}\n</style>\n\n","import BaseIcon from '@primevue/icons/baseicon';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode } from 'vue';\n\nvar script = {\n name: 'ChevronRightIcon',\n \"extends\": BaseIcon\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", mergeProps({\n width: \"14\",\n height: \"14\",\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, _ctx.pti()), _cache[0] || (_cache[0] = [createElementVNode(\"path\", {\n d: \"M4.38708 13C4.28408 13.0005 4.18203 12.9804 4.08691 12.9409C3.99178 12.9014 3.9055 12.8433 3.83313 12.7701C3.68634 12.6231 3.60388 12.4238 3.60388 12.2161C3.60388 12.0084 3.68634 11.8091 3.83313 11.6622L8.50507 6.99022L3.83313 2.31827C3.69467 2.16968 3.61928 1.97313 3.62287 1.77005C3.62645 1.56698 3.70872 1.37322 3.85234 1.22959C3.99596 1.08597 4.18972 1.00371 4.3928 1.00012C4.59588 0.996539 4.79242 1.07192 4.94102 1.21039L10.1669 6.43628C10.3137 6.58325 10.3962 6.78249 10.3962 6.99022C10.3962 7.19795 10.3137 7.39718 10.1669 7.54416L4.94102 12.7701C4.86865 12.8433 4.78237 12.9014 4.68724 12.9409C4.59212 12.9804 4.49007 13.0005 4.38708 13Z\",\n fill: \"currentColor\"\n }, null, -1)]), 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseIcon from '@primevue/icons/baseicon';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode } from 'vue';\n\nvar script = {\n name: 'ChevronUpIcon',\n \"extends\": BaseIcon\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", mergeProps({\n width: \"14\",\n height: \"14\",\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, _ctx.pti()), _cache[0] || (_cache[0] = [createElementVNode(\"path\", {\n d: \"M12.2097 10.4113C12.1057 10.4118 12.0027 10.3915 11.9067 10.3516C11.8107 10.3118 11.7237 10.2532 11.6506 10.1792L6.93602 5.46461L2.22139 10.1476C2.07272 10.244 1.89599 10.2877 1.71953 10.2717C1.54307 10.2556 1.3771 10.1808 1.24822 10.0593C1.11933 9.93766 1.035 9.77633 1.00874 9.6011C0.982477 9.42587 1.0158 9.2469 1.10338 9.09287L6.37701 3.81923C6.52533 3.6711 6.72639 3.58789 6.93602 3.58789C7.14565 3.58789 7.3467 3.6711 7.49502 3.81923L12.7687 9.09287C12.9168 9.24119 13 9.44225 13 9.65187C13 9.8615 12.9168 10.0626 12.7687 10.2109C12.616 10.3487 12.4151 10.4207 12.2097 10.4113Z\",\n fill: \"currentColor\"\n }, null, -1)]), 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar classes = {\n root: 'p-accordioncontent',\n content: 'p-accordioncontent-content'\n};\nvar AccordionContentStyle = BaseStyle.extend({\n name: 'accordioncontent',\n classes: classes\n});\n\nexport { AccordionContentStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { mergeProps, openBlock, createBlock, Transition, withCtx, withDirectives, resolveDynamicComponent, createElementVNode, renderSlot, vShow, createCommentVNode, normalizeClass } from 'vue';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport AccordionContentStyle from 'primevue/accordioncontent/style';\n\nvar script$1 = {\n name: 'BaseAccordionContent',\n \"extends\": BaseComponent,\n props: {\n as: {\n type: [String, Object],\n \"default\": 'DIV'\n },\n asChild: {\n type: Boolean,\n \"default\": false\n }\n },\n style: AccordionContentStyle,\n provide: function provide() {\n return {\n $pcAccordionContent: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'AccordionContent',\n \"extends\": script$1,\n inheritAttrs: false,\n inject: ['$pcAccordion', '$pcAccordionPanel'],\n computed: {\n id: function id() {\n return \"\".concat(this.$pcAccordion.id, \"_accordioncontent_\").concat(this.$pcAccordionPanel.value);\n },\n ariaLabelledby: function ariaLabelledby() {\n return \"\".concat(this.$pcAccordion.id, \"_accordionheader_\").concat(this.$pcAccordionPanel.value);\n },\n attrs: function attrs() {\n return mergeProps(this.a11yAttrs, this.ptmi('root', this.ptParams));\n },\n a11yAttrs: function a11yAttrs() {\n return {\n id: this.id,\n role: 'region',\n 'aria-labelledby': this.ariaLabelledby,\n 'data-pc-name': 'accordioncontent',\n 'data-p-active': this.$pcAccordionPanel.active\n };\n },\n ptParams: function ptParams() {\n return {\n context: {\n active: this.$pcAccordionPanel.active\n }\n };\n }\n }\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return !_ctx.asChild ? (openBlock(), createBlock(Transition, mergeProps({\n key: 0,\n name: \"p-toggleable-content\"\n }, _ctx.ptm('transition', $options.ptParams)), {\n \"default\": withCtx(function () {\n return [($options.$pcAccordion.lazy ? $options.$pcAccordionPanel.active : true) ? withDirectives((openBlock(), createBlock(resolveDynamicComponent(_ctx.as), mergeProps({\n key: 0,\n \"class\": _ctx.cx('root')\n }, $options.attrs), {\n \"default\": withCtx(function () {\n return [createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('content')\n }, _ctx.ptm('content', $options.ptParams)), [renderSlot(_ctx.$slots, \"default\")], 16)];\n }),\n _: 3\n }, 16, [\"class\"])), [[vShow, $options.$pcAccordion.lazy ? true : $options.$pcAccordionPanel.active]]) : createCommentVNode(\"\", true)];\n }),\n _: 3\n }, 16)) : renderSlot(_ctx.$slots, \"default\", {\n key: 1,\n \"class\": normalizeClass(_ctx.cx('root')),\n active: $options.$pcAccordionPanel.active,\n a11yAttrs: $options.a11yAttrs\n });\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar classes = {\n root: 'p-accordionheader',\n toggleicon: 'p-accordionheader-toggle-icon'\n};\nvar AccordionHeaderStyle = BaseStyle.extend({\n name: 'accordionheader',\n classes: classes\n});\n\nexport { AccordionHeaderStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { findSingle, getAttribute, focus } from '@primeuix/utils/dom';\nimport ChevronDownIcon from '@primevue/icons/chevrondown';\nimport ChevronUpIcon from '@primevue/icons/chevronup';\nimport Ripple from 'primevue/ripple';\nimport { mergeProps, resolveDirective, withDirectives, openBlock, createBlock, resolveDynamicComponent, withCtx, renderSlot, normalizeClass } from 'vue';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport AccordionHeaderStyle from 'primevue/accordionheader/style';\n\nvar script$1 = {\n name: 'BaseAccordionHeader',\n \"extends\": BaseComponent,\n props: {\n as: {\n type: [String, Object],\n \"default\": 'BUTTON'\n },\n asChild: {\n type: Boolean,\n \"default\": false\n }\n },\n style: AccordionHeaderStyle,\n provide: function provide() {\n return {\n $pcAccordionHeader: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'AccordionHeader',\n \"extends\": script$1,\n inheritAttrs: false,\n inject: ['$pcAccordion', '$pcAccordionPanel'],\n methods: {\n onFocus: function onFocus() {\n this.$pcAccordion.selectOnFocus && this.changeActiveValue();\n },\n onClick: function onClick() {\n this.changeActiveValue();\n },\n onKeydown: function onKeydown(event) {\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n case 'Home':\n this.onHomeKey(event);\n break;\n case 'End':\n this.onEndKey(event);\n break;\n case 'Enter':\n case 'NumpadEnter':\n case 'Space':\n this.onEnterKey(event);\n break;\n }\n },\n onArrowDownKey: function onArrowDownKey(event) {\n var nextPanel = this.findNextPanel(this.findPanel(event.currentTarget));\n nextPanel ? this.changeFocusedPanel(event, nextPanel) : this.onHomeKey(event);\n event.preventDefault();\n },\n onArrowUpKey: function onArrowUpKey(event) {\n var prevPanel = this.findPrevPanel(this.findPanel(event.currentTarget));\n prevPanel ? this.changeFocusedPanel(event, prevPanel) : this.onEndKey(event);\n event.preventDefault();\n },\n onHomeKey: function onHomeKey(event) {\n var firstPanel = this.findFirstPanel();\n this.changeFocusedPanel(event, firstPanel);\n event.preventDefault();\n },\n onEndKey: function onEndKey(event) {\n var lastPanel = this.findLastPanel();\n this.changeFocusedPanel(event, lastPanel);\n event.preventDefault();\n },\n onEnterKey: function onEnterKey(event) {\n this.changeActiveValue();\n event.preventDefault();\n },\n findPanel: function findPanel(headerElement) {\n return headerElement === null || headerElement === void 0 ? void 0 : headerElement.closest('[data-pc-name=\"accordionpanel\"]');\n },\n findHeader: function findHeader(panelElement) {\n return findSingle(panelElement, '[data-pc-name=\"accordionheader\"]');\n },\n findNextPanel: function findNextPanel(panelElement) {\n var selfCheck = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var element = selfCheck ? panelElement : panelElement.nextElementSibling;\n return element ? getAttribute(element, 'data-p-disabled') ? this.findNextPanel(element) : this.findHeader(element) : null;\n },\n findPrevPanel: function findPrevPanel(panelElement) {\n var selfCheck = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var element = selfCheck ? panelElement : panelElement.previousElementSibling;\n return element ? getAttribute(element, 'data-p-disabled') ? this.findPrevPanel(element) : this.findHeader(element) : null;\n },\n findFirstPanel: function findFirstPanel() {\n return this.findNextPanel(this.$pcAccordion.$el.firstElementChild, true);\n },\n findLastPanel: function findLastPanel() {\n return this.findPrevPanel(this.$pcAccordion.$el.lastElementChild, true);\n },\n changeActiveValue: function changeActiveValue() {\n this.$pcAccordion.updateValue(this.$pcAccordionPanel.value);\n },\n changeFocusedPanel: function changeFocusedPanel(event, element) {\n focus(this.findHeader(element));\n }\n },\n computed: {\n id: function id() {\n return \"\".concat(this.$pcAccordion.id, \"_accordionheader_\").concat(this.$pcAccordionPanel.value);\n },\n ariaControls: function ariaControls() {\n return \"\".concat(this.$pcAccordion.id, \"_accordioncontent_\").concat(this.$pcAccordionPanel.value);\n },\n attrs: function attrs() {\n return mergeProps(this.asAttrs, this.a11yAttrs, this.ptmi('root', this.ptParams));\n },\n asAttrs: function asAttrs() {\n return this.as === 'BUTTON' ? {\n type: 'button',\n disabled: this.$pcAccordionPanel.disabled\n } : undefined;\n },\n a11yAttrs: function a11yAttrs() {\n return {\n id: this.id,\n tabindex: this.$pcAccordion.tabindex,\n 'aria-expanded': this.$pcAccordionPanel.active,\n 'aria-controls': this.ariaControls,\n 'data-pc-name': 'accordionheader',\n 'data-p-disabled': this.$pcAccordionPanel.disabled,\n 'data-p-active': this.$pcAccordionPanel.active,\n onFocus: this.onFocus,\n onKeydown: this.onKeydown\n };\n },\n ptParams: function ptParams() {\n return {\n context: {\n active: this.$pcAccordionPanel.active\n }\n };\n }\n },\n components: {\n ChevronUpIcon: ChevronUpIcon,\n ChevronDownIcon: ChevronDownIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _directive_ripple = resolveDirective(\"ripple\");\n return !_ctx.asChild ? withDirectives((openBlock(), createBlock(resolveDynamicComponent(_ctx.as), mergeProps({\n key: 0,\n \"class\": _ctx.cx('root'),\n onClick: $options.onClick\n }, $options.attrs), {\n \"default\": withCtx(function () {\n return [renderSlot(_ctx.$slots, \"default\", {\n active: $options.$pcAccordionPanel.active\n }), renderSlot(_ctx.$slots, \"toggleicon\", {\n active: $options.$pcAccordionPanel.active,\n \"class\": normalizeClass(_ctx.cx('toggleicon'))\n }, function () {\n return [$options.$pcAccordionPanel.active ? (openBlock(), createBlock(resolveDynamicComponent($options.$pcAccordion.$slots.collapseicon ? $options.$pcAccordion.$slots.collapseicon : $options.$pcAccordion.collapseIcon ? 'span' : 'ChevronDownIcon'), mergeProps({\n key: 0,\n \"class\": [$options.$pcAccordion.collapseIcon, _ctx.cx('toggleicon')],\n \"aria-hidden\": \"true\"\n }, _ctx.ptm('toggleicon', $options.ptParams)), null, 16, [\"class\"])) : (openBlock(), createBlock(resolveDynamicComponent($options.$pcAccordion.$slots.expandicon ? $options.$pcAccordion.$slots.expandicon : $options.$pcAccordion.expandIcon ? 'span' : 'ChevronUpIcon'), mergeProps({\n key: 1,\n \"class\": [$options.$pcAccordion.expandIcon, _ctx.cx('toggleicon')],\n \"aria-hidden\": \"true\"\n }, _ctx.ptm('toggleicon', $options.ptParams)), null, 16, [\"class\"]))];\n })];\n }),\n _: 3\n }, 16, [\"class\", \"onClick\"])), [[_directive_ripple]]) : renderSlot(_ctx.$slots, \"default\", {\n key: 1,\n \"class\": normalizeClass(_ctx.cx('root')),\n active: $options.$pcAccordionPanel.active,\n a11yAttrs: $options.a11yAttrs,\n onClick: $options.onClick\n });\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar classes = {\n root: function root(_ref) {\n var instance = _ref.instance,\n props = _ref.props;\n return ['p-accordionpanel', {\n 'p-accordionpanel-active': instance.active,\n 'p-disabled': props.disabled\n }];\n }\n};\nvar AccordionPanelStyle = BaseStyle.extend({\n name: 'accordionpanel',\n classes: classes\n});\n\nexport { AccordionPanelStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { mergeProps, openBlock, createBlock, resolveDynamicComponent, withCtx, renderSlot, normalizeClass } from 'vue';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport AccordionPanelStyle from 'primevue/accordionpanel/style';\n\nvar script$1 = {\n name: 'BaseAccordionPanel',\n \"extends\": BaseComponent,\n props: {\n value: {\n type: [String, Number],\n \"default\": undefined\n },\n disabled: {\n type: Boolean,\n \"default\": false\n },\n as: {\n type: [String, Object],\n \"default\": 'DIV'\n },\n asChild: {\n type: Boolean,\n \"default\": false\n }\n },\n style: AccordionPanelStyle,\n provide: function provide() {\n return {\n $pcAccordionPanel: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'AccordionPanel',\n \"extends\": script$1,\n inheritAttrs: false,\n inject: ['$pcAccordion'],\n computed: {\n active: function active() {\n return this.$pcAccordion.isItemActive(this.value);\n },\n attrs: function attrs() {\n return mergeProps(this.a11yAttrs, this.ptmi('root', this.ptParams));\n },\n a11yAttrs: function a11yAttrs() {\n return {\n 'data-pc-name': 'accordionpanel',\n 'data-p-disabled': this.disabled,\n 'data-p-active': this.active\n };\n },\n ptParams: function ptParams() {\n return {\n context: {\n active: this.active\n }\n };\n }\n }\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return !_ctx.asChild ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.as), mergeProps({\n key: 0,\n \"class\": _ctx.cx('root')\n }, $options.attrs), {\n \"default\": withCtx(function () {\n return [renderSlot(_ctx.$slots, \"default\")];\n }),\n _: 3\n }, 16, [\"class\"])) : renderSlot(_ctx.$slots, \"default\", {\n key: 1,\n \"class\": normalizeClass(_ctx.cx('root')),\n active: $options.active,\n a11yAttrs: $options.a11yAttrs\n });\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-accordionpanel {\\n display: flex;\\n flex-direction: column;\\n border-style: solid;\\n border-width: \".concat(dt('accordion.panel.border.width'), \";\\n border-color: \").concat(dt('accordion.panel.border.color'), \";\\n}\\n\\n.p-accordionheader {\\n all: unset;\\n cursor: pointer;\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n padding: \").concat(dt('accordion.header.padding'), \";\\n color: \").concat(dt('accordion.header.color'), \";\\n background: \").concat(dt('accordion.header.background'), \";\\n border-style: solid;\\n border-width: \").concat(dt('accordion.header.border.width'), \";\\n border-color: \").concat(dt('accordion.header.border.color'), \";\\n font-weight: \").concat(dt('accordion.header.font.weight'), \";\\n border-radius: \").concat(dt('accordion.header.border.radius'), \";\\n transition: background \").concat(dt('accordion.transition.duration'), \"; color \").concat(dt('accordion.transition.duration'), \"color \").concat(dt('accordion.transition.duration'), \", outline-color \").concat(dt('accordion.transition.duration'), \", box-shadow \").concat(dt('accordion.transition.duration'), \";\\n outline-color: transparent;\\n}\\n\\n.p-accordionpanel:first-child > .p-accordionheader {\\n border-width: \").concat(dt('accordion.header.first.border.width'), \";\\n border-start-start-radius: \").concat(dt('accordion.header.first.top.border.radius'), \";\\n border-start-end-radius: \").concat(dt('accordion.header.first.top.border.radius'), \";\\n}\\n\\n.p-accordionpanel:last-child > .p-accordionheader {\\n border-end-start-radius: \").concat(dt('accordion.header.last.bottom.border.radius'), \";\\n border-end-end-radius: \").concat(dt('accordion.header.last.bottom.border.radius'), \";\\n}\\n\\n.p-accordionpanel:last-child.p-accordionpanel-active > .p-accordionheader {\\n border-end-start-radius: \").concat(dt('accordion.header.last.active.bottom.border.radius'), \";\\n border-end-end-radius: \").concat(dt('accordion.header.last.active.bottom.border.radius'), \";\\n}\\n\\n.p-accordionheader-toggle-icon {\\n color: \").concat(dt('accordion.header.toggle.icon.color'), \";\\n}\\n\\n.p-accordionpanel:not(.p-disabled) .p-accordionheader:focus-visible {\\n box-shadow: \").concat(dt('accordion.header.focus.ring.shadow'), \";\\n outline: \").concat(dt('accordion.header.focus.ring.width'), \" \").concat(dt('accordion.header.focus.ring.style'), \" \").concat(dt('accordion.header.focus.ring.color'), \";\\n outline-offset: \").concat(dt('accordion.header.focus.ring.offset'), \";\\n}\\n\\n.p-accordionpanel:not(.p-accordionpanel-active):not(.p-disabled) > .p-accordionheader:hover {\\n background: \").concat(dt('accordion.header.hover.background'), \";\\n color: \").concat(dt('accordion.header.hover.color'), \";\\n}\\n\\n.p-accordionpanel:not(.p-accordionpanel-active):not(.p-disabled) .p-accordionheader:hover .p-accordionheader-toggle-icon {\\n color: \").concat(dt('accordion.header.toggle.icon.hover.color'), \";\\n}\\n\\n.p-accordionpanel:not(.p-disabled).p-accordionpanel-active > .p-accordionheader {\\n background: \").concat(dt('accordion.header.active.background'), \";\\n color: \").concat(dt('accordion.header.active.color'), \";\\n}\\n\\n.p-accordionpanel:not(.p-disabled).p-accordionpanel-active > .p-accordionheader .p-accordionheader-toggle-icon {\\n color: \").concat(dt('accordion.header.toggle.icon.active.color'), \";\\n}\\n\\n.p-accordionpanel:not(.p-disabled).p-accordionpanel-active > .p-accordionheader:hover {\\n background: \").concat(dt('accordion.header.active.hover.background'), \";\\n color: \").concat(dt('accordion.header.active.hover.color'), \";\\n}\\n\\n.p-accordionpanel:not(.p-disabled).p-accordionpanel-active > .p-accordionheader:hover .p-accordionheader-toggle-icon {\\n color: \").concat(dt('accordion.header.toggle.icon.active.hover.color'), \";\\n}\\n\\n.p-accordioncontent-content {\\n border-style: solid;\\n border-width: \").concat(dt('accordion.content.border.width'), \";\\n border-color: \").concat(dt('accordion.content.border.color'), \";\\n background-color: \").concat(dt('accordion.content.background'), \";\\n color: \").concat(dt('accordion.content.color'), \";\\n padding: \").concat(dt('accordion.content.padding'), \";\\n}\\n\");\n};\nvar classes = {\n root: 'p-accordion p-component'\n};\nvar AccordionStyle = BaseStyle.extend({\n name: 'accordion',\n theme: theme,\n classes: classes\n});\n\nexport { AccordionStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { UniqueComponentId } from '@primevue/core/utils';\nimport ChevronRightIcon from '@primevue/icons/chevronright';\nimport ChevronUpIcon from '@primevue/icons/chevronup';\nimport AccordionContent from 'primevue/accordioncontent';\nimport AccordionHeader from 'primevue/accordionheader';\nimport AccordionPanel from 'primevue/accordionpanel';\nimport { mergeProps, resolveComponent, openBlock, createElementBlock, Fragment, renderList, createBlock, withCtx, createVNode, normalizeClass, resolveDynamicComponent, createCommentVNode, toDisplayString, renderSlot } from 'vue';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport AccordionStyle from 'primevue/accordion/style';\n\nvar script$1 = {\n name: 'BaseAccordion',\n \"extends\": BaseComponent,\n props: {\n value: {\n type: [String, Number, Array],\n \"default\": undefined\n },\n multiple: {\n type: Boolean,\n \"default\": false\n },\n lazy: {\n type: Boolean,\n \"default\": false\n },\n tabindex: {\n type: Number,\n \"default\": 0\n },\n selectOnFocus: {\n type: Boolean,\n \"default\": false\n },\n expandIcon: {\n type: String,\n \"default\": undefined\n },\n collapseIcon: {\n type: String,\n \"default\": undefined\n },\n // @deprecated since v4.\n activeIndex: {\n type: [Number, Array],\n \"default\": null\n }\n },\n style: AccordionStyle,\n provide: function provide() {\n return {\n $pcAccordion: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'Accordion',\n \"extends\": script$1,\n inheritAttrs: false,\n emits: ['update:value', 'update:activeIndex', 'tab-open', 'tab-close', 'tab-click'],\n data: function data() {\n return {\n id: this.$attrs.id,\n d_value: this.value\n };\n },\n watch: {\n '$attrs.id': function $attrsId(newValue) {\n this.id = newValue || UniqueComponentId();\n },\n value: function value(newValue) {\n this.d_value = newValue;\n },\n activeIndex: {\n immediate: true,\n handler: function handler(newValue) {\n if (this.hasAccordionTab) {\n this.d_value = this.multiple ? newValue === null || newValue === void 0 ? void 0 : newValue.map(String) : newValue === null || newValue === void 0 ? void 0 : newValue.toString();\n }\n }\n }\n },\n mounted: function mounted() {\n this.id = this.id || UniqueComponentId();\n },\n methods: {\n isItemActive: function isItemActive(value) {\n var _this$d_value;\n return this.multiple ? (_this$d_value = this.d_value) === null || _this$d_value === void 0 ? void 0 : _this$d_value.includes(value) : this.d_value === value;\n },\n updateValue: function updateValue(newValue) {\n var _this$d_value2;\n var active = this.isItemActive(newValue);\n if (this.multiple) {\n if (active) {\n this.d_value = this.d_value.filter(function (v) {\n return v !== newValue;\n });\n } else {\n if (this.d_value) this.d_value.push(newValue);else this.d_value = [newValue];\n }\n } else {\n this.d_value = active ? null : newValue;\n }\n this.$emit('update:value', this.d_value);\n\n // @deprecated since v4.\n this.$emit('update:activeIndex', this.multiple ? (_this$d_value2 = this.d_value) === null || _this$d_value2 === void 0 ? void 0 : _this$d_value2.map(Number) : Number(this.d_value));\n this.$emit(active ? 'tab-close' : 'tab-open', {\n originalEvent: undefined,\n index: Number(newValue)\n });\n },\n // @deprecated since v4. Use new structure instead.\n isAccordionTab: function isAccordionTab(child) {\n return child.type.name === 'AccordionTab';\n },\n getTabProp: function getTabProp(tab, name) {\n return tab.props ? tab.props[name] : undefined;\n },\n getKey: function getKey(tab, index) {\n return this.getTabProp(tab, 'header') || index;\n },\n getHeaderPT: function getHeaderPT(tab, index) {\n var _this = this;\n return {\n root: mergeProps({\n onClick: function onClick(event) {\n return _this.onTabClick(event, index);\n }\n }, this.getTabProp(tab, 'headerProps'), this.getTabPT(tab, 'header', index)),\n toggleicon: mergeProps(this.getTabProp(tab, 'headeractionprops'), this.getTabPT(tab, 'headeraction', index))\n };\n },\n getContentPT: function getContentPT(tab, index) {\n return {\n root: mergeProps(this.getTabProp(tab, 'contentProps'), this.getTabPT(tab, 'toggleablecontent', index)),\n transition: this.getTabPT(tab, 'transition', index),\n content: this.getTabPT(tab, 'content', index)\n };\n },\n getTabPT: function getTabPT(tab, key, index) {\n var count = this.tabs.length;\n var tabMetaData = {\n props: tab.props || {},\n parent: {\n instance: this,\n props: this.$props,\n state: this.$data\n },\n context: {\n index: index,\n count: count,\n first: index === 0,\n last: index === count - 1,\n active: this.isItemActive(\"\".concat(index))\n }\n };\n return mergeProps(this.ptm(\"accordiontab.\".concat(key), tabMetaData), this.ptmo(this.getTabProp(tab, 'pt'), key, tabMetaData));\n },\n onTabClick: function onTabClick(event, index) {\n this.$emit('tab-click', {\n originalEvent: event,\n index: index\n });\n }\n },\n computed: {\n // @deprecated since v4.\n tabs: function tabs() {\n var _this2 = this;\n return this.$slots[\"default\"]().reduce(function (tabs, child) {\n if (_this2.isAccordionTab(child)) {\n tabs.push(child);\n } else if (child.children && child.children instanceof Array) {\n child.children.forEach(function (nestedChild) {\n if (_this2.isAccordionTab(nestedChild)) {\n tabs.push(nestedChild);\n }\n });\n }\n return tabs;\n }, []);\n },\n hasAccordionTab: function hasAccordionTab() {\n return this.tabs.length;\n }\n },\n components: {\n AccordionPanel: AccordionPanel,\n AccordionHeader: AccordionHeader,\n AccordionContent: AccordionContent,\n ChevronUpIcon: ChevronUpIcon,\n ChevronRightIcon: ChevronRightIcon\n }\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_AccordionHeader = resolveComponent(\"AccordionHeader\");\n var _component_AccordionContent = resolveComponent(\"AccordionContent\");\n var _component_AccordionPanel = resolveComponent(\"AccordionPanel\");\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": _ctx.cx('root')\n }, _ctx.ptmi('root')), [$options.hasAccordionTab ? (openBlock(true), createElementBlock(Fragment, {\n key: 0\n }, renderList($options.tabs, function (tab, i) {\n return openBlock(), createBlock(_component_AccordionPanel, {\n key: $options.getKey(tab, i),\n value: \"\".concat(i),\n pt: {\n root: $options.getTabPT(tab, 'root', i)\n },\n disabled: $options.getTabProp(tab, 'disabled')\n }, {\n \"default\": withCtx(function () {\n return [createVNode(_component_AccordionHeader, {\n \"class\": normalizeClass($options.getTabProp(tab, 'headerClass')),\n pt: $options.getHeaderPT(tab, i)\n }, {\n toggleicon: withCtx(function (slotProps) {\n return [slotProps.active ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.$slots.collapseicon ? _ctx.$slots.collapseicon : _ctx.collapseIcon ? 'span' : 'ChevronDownIcon'), mergeProps({\n key: 0,\n \"class\": [_ctx.collapseIcon, slotProps[\"class\"]],\n \"aria-hidden\": \"true\",\n ref_for: true\n }, $options.getTabPT(tab, 'headericon', i)), null, 16, [\"class\"])) : (openBlock(), createBlock(resolveDynamicComponent(_ctx.$slots.expandicon ? _ctx.$slots.expandicon : _ctx.expandIcon ? 'span' : 'ChevronUpIcon'), mergeProps({\n key: 1,\n \"class\": [_ctx.expandIcon, slotProps[\"class\"]],\n \"aria-hidden\": \"true\",\n ref_for: true\n }, $options.getTabPT(tab, 'headericon', i)), null, 16, [\"class\"]))];\n }),\n \"default\": withCtx(function () {\n return [tab.children && tab.children.headericon ? (openBlock(), createBlock(resolveDynamicComponent(tab.children.headericon), {\n key: 0,\n isTabActive: $options.isItemActive(\"\".concat(i)),\n active: $options.isItemActive(\"\".concat(i)),\n index: i\n }, null, 8, [\"isTabActive\", \"active\", \"index\"])) : createCommentVNode(\"\", true), tab.props && tab.props.header ? (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 1,\n ref_for: true\n }, $options.getTabPT(tab, 'headertitle', i)), toDisplayString(tab.props.header), 17)) : createCommentVNode(\"\", true), tab.children && tab.children.header ? (openBlock(), createBlock(resolveDynamicComponent(tab.children.header), {\n key: 2\n })) : createCommentVNode(\"\", true)];\n }),\n _: 2\n }, 1032, [\"class\", \"pt\"]), createVNode(_component_AccordionContent, {\n pt: $options.getContentPT(tab, i)\n }, {\n \"default\": withCtx(function () {\n return [(openBlock(), createBlock(resolveDynamicComponent(tab)))];\n }),\n _: 2\n }, 1032, [\"pt\"])];\n }),\n _: 2\n }, 1032, [\"value\", \"pt\", \"disabled\"]);\n }), 128)) : renderSlot(_ctx.$slots, \"default\", {\n key: 1\n })], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-scrollpanel-content-container {\\n overflow: hidden;\\n width: 100%;\\n height: 100%;\\n position: relative;\\n z-index: 1;\\n float: left;\\n}\\n\\n.p-scrollpanel-content {\\n height: calc(100% + calc(2 * \".concat(dt('scrollpanel.bar.size'), \"));\\n width: calc(100% + calc(2 * \").concat(dt('scrollpanel.bar.size'), \"));\\n padding-inline: 0 calc(2 * \").concat(dt('scrollpanel.bar.size'), \");\\n padding-block: 0 calc(2 * \").concat(dt('scrollpanel.bar.size'), \");\\n position: relative;\\n overflow: auto;\\n box-sizing: border-box;\\n scrollbar-width: none;\\n}\\n\\n.p-scrollpanel-content::-webkit-scrollbar {\\n display: none;\\n}\\n\\n.p-scrollpanel-bar {\\n position: relative;\\n border-radius: \").concat(dt('scrollpanel.bar.border.radius'), \";\\n z-index: 2;\\n cursor: pointer;\\n opacity: 0;\\n outline-color: transparent;\\n background: \").concat(dt('scrollpanel.bar.background'), \";\\n border: 0 none;\\n transition: outline-color \").concat(dt('scrollpanel.transition.duration'), \", opacity \").concat(dt('scrollpanel.transition.duration'), \";\\n}\\n\\n.p-scrollpanel-bar:focus-visible {\\n box-shadow: \").concat(dt('scrollpanel.bar.focus.ring.shadow'), \";\\n outline: \").concat(dt('scrollpanel.barfocus.ring.width'), \" \").concat(dt('scrollpanel.bar.focus.ring.style'), \" \").concat(dt('scrollpanel.bar.focus.ring.color'), \";\\n outline-offset: \").concat(dt('scrollpanel.barfocus.ring.offset'), \";\\n}\\n\\n.p-scrollpanel-bar-y {\\n width: \").concat(dt('scrollpanel.bar.size'), \";\\n inset-block-start: 0;\\n}\\n\\n.p-scrollpanel-bar-x {\\n height: \").concat(dt('scrollpanel.bar.size'), \";\\n inset-block-end: 0;\\n}\\n\\n.p-scrollpanel-hidden {\\n visibility: hidden;\\n}\\n\\n.p-scrollpanel:hover .p-scrollpanel-bar,\\n.p-scrollpanel:active .p-scrollpanel-bar {\\n opacity: 1;\\n}\\n\\n.p-scrollpanel-grabbed {\\n user-select: none;\\n}\\n\");\n};\nvar classes = {\n root: 'p-scrollpanel p-component',\n contentContainer: 'p-scrollpanel-content-container',\n content: 'p-scrollpanel-content',\n barX: 'p-scrollpanel-bar p-scrollpanel-bar-x',\n barY: 'p-scrollpanel-bar p-scrollpanel-bar-y'\n};\nvar ScrollPanelStyle = BaseStyle.extend({\n name: 'scrollpanel',\n theme: theme,\n classes: classes\n});\n\nexport { ScrollPanelStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { getHeight, addClass, removeClass } from '@primeuix/utils/dom';\nimport { UniqueComponentId } from '@primevue/core/utils';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport ScrollPanelStyle from 'primevue/scrollpanel/style';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode, renderSlot } from 'vue';\n\nvar script$1 = {\n name: 'BaseScrollPanel',\n \"extends\": BaseComponent,\n props: {\n step: {\n type: Number,\n \"default\": 5\n }\n },\n style: ScrollPanelStyle,\n provide: function provide() {\n return {\n $pcScrollPanel: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'ScrollPanel',\n \"extends\": script$1,\n inheritAttrs: false,\n initialized: false,\n documentResizeListener: null,\n documentMouseMoveListener: null,\n documentMouseUpListener: null,\n frame: null,\n scrollXRatio: null,\n scrollYRatio: null,\n isXBarClicked: false,\n isYBarClicked: false,\n lastPageX: null,\n lastPageY: null,\n timer: null,\n outsideClickListener: null,\n data: function data() {\n return {\n id: this.$attrs.id,\n orientation: 'vertical',\n lastScrollTop: 0,\n lastScrollLeft: 0\n };\n },\n watch: {\n '$attrs.id': function $attrsId(newValue) {\n this.id = newValue || UniqueComponentId();\n }\n },\n mounted: function mounted() {\n this.id = this.id || UniqueComponentId();\n if (this.$el.offsetParent) {\n this.initialize();\n }\n },\n updated: function updated() {\n if (!this.initialized && this.$el.offsetParent) {\n this.initialize();\n }\n },\n beforeUnmount: function beforeUnmount() {\n this.unbindDocumentResizeListener();\n if (this.frame) {\n window.cancelAnimationFrame(this.frame);\n }\n },\n methods: {\n initialize: function initialize() {\n this.moveBar();\n this.bindDocumentResizeListener();\n this.calculateContainerHeight();\n },\n calculateContainerHeight: function calculateContainerHeight() {\n var containerStyles = getComputedStyle(this.$el),\n xBarStyles = getComputedStyle(this.$refs.xBar),\n pureContainerHeight = getHeight(this.$el) - parseInt(xBarStyles['height'], 10);\n if (containerStyles['max-height'] !== 'none' && pureContainerHeight === 0) {\n if (this.$refs.content.offsetHeight + parseInt(xBarStyles['height'], 10) > parseInt(containerStyles['max-height'], 10)) {\n this.$el.style.height = containerStyles['max-height'];\n } else {\n this.$el.style.height = this.$refs.content.offsetHeight + parseFloat(containerStyles.paddingTop) + parseFloat(containerStyles.paddingBottom) + parseFloat(containerStyles.borderTopWidth) + parseFloat(containerStyles.borderBottomWidth) + 'px';\n }\n }\n },\n moveBar: function moveBar() {\n var _this = this;\n if (this.$refs.content) {\n /* horizontal scroll */\n var totalWidth = this.$refs.content.scrollWidth;\n var ownWidth = this.$refs.content.clientWidth;\n var bottom = (this.$el.clientHeight - this.$refs.xBar.clientHeight) * -1;\n this.scrollXRatio = ownWidth / totalWidth;\n\n /* vertical scroll */\n var totalHeight = this.$refs.content.scrollHeight;\n var ownHeight = this.$refs.content.clientHeight;\n var right = (this.$el.clientWidth - this.$refs.yBar.clientWidth) * -1;\n this.scrollYRatio = ownHeight / totalHeight;\n this.frame = this.requestAnimationFrame(function () {\n if (_this.$refs.xBar) {\n if (_this.scrollXRatio >= 1) {\n _this.$refs.xBar.setAttribute('data-p-scrollpanel-hidden', 'true');\n !_this.isUnstyled && addClass(_this.$refs.xBar, 'p-scrollpanel-hidden');\n } else {\n _this.$refs.xBar.setAttribute('data-p-scrollpanel-hidden', 'false');\n !_this.isUnstyled && removeClass(_this.$refs.xBar, 'p-scrollpanel-hidden');\n _this.$refs.xBar.style.cssText = 'width:' + Math.max(_this.scrollXRatio * 100, 10) + '%; inset-inline-start:' + Math.abs(_this.$refs.content.scrollLeft) / totalWidth * 100 + '%;bottom:' + bottom + 'px;';\n }\n }\n if (_this.$refs.yBar) {\n if (_this.scrollYRatio >= 1) {\n _this.$refs.yBar.setAttribute('data-p-scrollpanel-hidden', 'true');\n !_this.isUnstyled && addClass(_this.$refs.yBar, 'p-scrollpanel-hidden');\n } else {\n _this.$refs.yBar.setAttribute('data-p-scrollpanel-hidden', 'false');\n !_this.isUnstyled && removeClass(_this.$refs.yBar, 'p-scrollpanel-hidden');\n _this.$refs.yBar.style.cssText = 'height:' + Math.max(_this.scrollYRatio * 100, 10) + '%; top: calc(' + _this.$refs.content.scrollTop / totalHeight * 100 + '% - ' + _this.$refs.xBar.clientHeight + 'px); inset-inline-end:' + right + 'px;';\n }\n }\n });\n }\n },\n onYBarMouseDown: function onYBarMouseDown(e) {\n this.isYBarClicked = true;\n this.$refs.yBar.focus();\n this.lastPageY = e.pageY;\n this.$refs.yBar.setAttribute('data-p-scrollpanel-grabbed', 'true');\n !this.isUnstyled && addClass(this.$refs.yBar, 'p-scrollpanel-grabbed');\n document.body.setAttribute('data-p-scrollpanel-grabbed', 'true');\n !this.isUnstyled && addClass(document.body, 'p-scrollpanel-grabbed');\n this.bindDocumentMouseListeners();\n e.preventDefault();\n },\n onXBarMouseDown: function onXBarMouseDown(e) {\n this.isXBarClicked = true;\n this.$refs.xBar.focus();\n this.lastPageX = e.pageX;\n this.$refs.yBar.setAttribute('data-p-scrollpanel-grabbed', 'false');\n !this.isUnstyled && addClass(this.$refs.xBar, 'p-scrollpanel-grabbed');\n document.body.setAttribute('data-p-scrollpanel-grabbed', 'false');\n !this.isUnstyled && addClass(document.body, 'p-scrollpanel-grabbed');\n this.bindDocumentMouseListeners();\n e.preventDefault();\n },\n onScroll: function onScroll(event) {\n if (this.lastScrollLeft !== event.target.scrollLeft) {\n this.lastScrollLeft = event.target.scrollLeft;\n this.orientation = 'horizontal';\n } else if (this.lastScrollTop !== event.target.scrollTop) {\n this.lastScrollTop = event.target.scrollTop;\n this.orientation = 'vertical';\n }\n this.moveBar();\n },\n onKeyDown: function onKeyDown(event) {\n if (this.orientation === 'vertical') {\n switch (event.code) {\n case 'ArrowDown':\n {\n this.setTimer('scrollTop', this.step);\n event.preventDefault();\n break;\n }\n case 'ArrowUp':\n {\n this.setTimer('scrollTop', this.step * -1);\n event.preventDefault();\n break;\n }\n case 'ArrowLeft':\n case 'ArrowRight':\n {\n event.preventDefault();\n break;\n }\n }\n } else if (this.orientation === 'horizontal') {\n switch (event.code) {\n case 'ArrowRight':\n {\n this.setTimer('scrollLeft', this.step);\n event.preventDefault();\n break;\n }\n case 'ArrowLeft':\n {\n this.setTimer('scrollLeft', this.step * -1);\n event.preventDefault();\n break;\n }\n case 'ArrowDown':\n case 'ArrowUp':\n {\n event.preventDefault();\n break;\n }\n }\n }\n },\n onKeyUp: function onKeyUp() {\n this.clearTimer();\n },\n repeat: function repeat(bar, step) {\n this.$refs.content[bar] += step;\n this.moveBar();\n },\n setTimer: function setTimer(bar, step) {\n var _this2 = this;\n this.clearTimer();\n this.timer = setTimeout(function () {\n _this2.repeat(bar, step);\n }, 40);\n },\n clearTimer: function clearTimer() {\n if (this.timer) {\n clearTimeout(this.timer);\n }\n },\n onDocumentMouseMove: function onDocumentMouseMove(e) {\n if (this.isXBarClicked) {\n this.onMouseMoveForXBar(e);\n } else if (this.isYBarClicked) {\n this.onMouseMoveForYBar(e);\n } else {\n this.onMouseMoveForXBar(e);\n this.onMouseMoveForYBar(e);\n }\n },\n onMouseMoveForXBar: function onMouseMoveForXBar(e) {\n var _this3 = this;\n var deltaX = e.pageX - this.lastPageX;\n this.lastPageX = e.pageX;\n this.frame = this.requestAnimationFrame(function () {\n _this3.$refs.content.scrollLeft += deltaX / _this3.scrollXRatio;\n });\n },\n onMouseMoveForYBar: function onMouseMoveForYBar(e) {\n var _this4 = this;\n var deltaY = e.pageY - this.lastPageY;\n this.lastPageY = e.pageY;\n this.frame = this.requestAnimationFrame(function () {\n _this4.$refs.content.scrollTop += deltaY / _this4.scrollYRatio;\n });\n },\n onFocus: function onFocus(event) {\n if (this.$refs.xBar.isSameNode(event.target)) {\n this.orientation = 'horizontal';\n } else if (this.$refs.yBar.isSameNode(event.target)) {\n this.orientation = 'vertical';\n }\n },\n onBlur: function onBlur() {\n if (this.orientation === 'horizontal') {\n this.orientation = 'vertical';\n }\n },\n onDocumentMouseUp: function onDocumentMouseUp() {\n this.$refs.yBar.setAttribute('data-p-scrollpanel-grabbed', 'false');\n !this.isUnstyled && removeClass(this.$refs.yBar, 'p-scrollpanel-grabbed');\n this.$refs.xBar.setAttribute('data-p-scrollpanel-grabbed', 'false');\n !this.isUnstyled && removeClass(this.$refs.xBar, 'p-scrollpanel-grabbed');\n document.body.setAttribute('data-p-scrollpanel-grabbed', 'false');\n !this.isUnstyled && removeClass(document.body, 'p-scrollpanel-grabbed');\n this.unbindDocumentMouseListeners();\n this.isXBarClicked = false;\n this.isYBarClicked = false;\n },\n requestAnimationFrame: function requestAnimationFrame(f) {\n var frame = window.requestAnimationFrame || this.timeoutFrame;\n return frame(f);\n },\n refresh: function refresh() {\n this.moveBar();\n },\n scrollTop: function scrollTop(_scrollTop) {\n var scrollableHeight = this.$refs.content.scrollHeight - this.$refs.content.clientHeight;\n _scrollTop = _scrollTop > scrollableHeight ? scrollableHeight : _scrollTop > 0 ? _scrollTop : 0;\n this.$refs.content.scrollTop = _scrollTop;\n },\n timeoutFrame: function timeoutFrame(fn) {\n setTimeout(fn, 0);\n },\n bindDocumentMouseListeners: function bindDocumentMouseListeners() {\n var _this5 = this;\n if (!this.documentMouseMoveListener) {\n this.documentMouseMoveListener = function (e) {\n _this5.onDocumentMouseMove(e);\n };\n document.addEventListener('mousemove', this.documentMouseMoveListener);\n }\n if (!this.documentMouseUpListener) {\n this.documentMouseUpListener = function (e) {\n _this5.onDocumentMouseUp(e);\n };\n document.addEventListener('mouseup', this.documentMouseUpListener);\n }\n },\n unbindDocumentMouseListeners: function unbindDocumentMouseListeners() {\n if (this.documentMouseMoveListener) {\n document.removeEventListener('mousemove', this.documentMouseMoveListener);\n this.documentMouseMoveListener = null;\n }\n if (this.documentMouseUpListener) {\n document.removeEventListener('mouseup', this.documentMouseUpListener);\n this.documentMouseUpListener = null;\n }\n },\n bindDocumentResizeListener: function bindDocumentResizeListener() {\n var _this6 = this;\n if (!this.documentResizeListener) {\n this.documentResizeListener = function () {\n _this6.moveBar();\n };\n window.addEventListener('resize', this.documentResizeListener);\n }\n },\n unbindDocumentResizeListener: function unbindDocumentResizeListener() {\n if (this.documentResizeListener) {\n window.removeEventListener('resize', this.documentResizeListener);\n this.documentResizeListener = null;\n }\n }\n },\n computed: {\n contentId: function contentId() {\n return this.id + '_content';\n }\n }\n};\n\nvar _hoisted_1 = [\"id\"];\nvar _hoisted_2 = [\"aria-controls\", \"aria-valuenow\"];\nvar _hoisted_3 = [\"aria-controls\", \"aria-valuenow\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": _ctx.cx('root')\n }, _ctx.ptmi('root')), [createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('contentContainer')\n }, _ctx.ptm('contentContainer')), [createElementVNode(\"div\", mergeProps({\n ref: \"content\",\n id: $options.contentId,\n \"class\": _ctx.cx('content'),\n onScroll: _cache[0] || (_cache[0] = function () {\n return $options.onScroll && $options.onScroll.apply($options, arguments);\n }),\n onMouseenter: _cache[1] || (_cache[1] = function () {\n return $options.moveBar && $options.moveBar.apply($options, arguments);\n })\n }, _ctx.ptm('content')), [renderSlot(_ctx.$slots, \"default\")], 16, _hoisted_1)], 16), createElementVNode(\"div\", mergeProps({\n ref: \"xBar\",\n \"class\": _ctx.cx('barx'),\n tabindex: \"0\",\n role: \"scrollbar\",\n \"aria-orientation\": \"horizontal\",\n \"aria-controls\": $options.contentId,\n \"aria-valuenow\": $data.lastScrollLeft,\n onMousedown: _cache[2] || (_cache[2] = function () {\n return $options.onXBarMouseDown && $options.onXBarMouseDown.apply($options, arguments);\n }),\n onKeydown: _cache[3] || (_cache[3] = function ($event) {\n return $options.onKeyDown($event);\n }),\n onKeyup: _cache[4] || (_cache[4] = function () {\n return $options.onKeyUp && $options.onKeyUp.apply($options, arguments);\n }),\n onFocus: _cache[5] || (_cache[5] = function () {\n return $options.onFocus && $options.onFocus.apply($options, arguments);\n }),\n onBlur: _cache[6] || (_cache[6] = function () {\n return $options.onBlur && $options.onBlur.apply($options, arguments);\n })\n }, _ctx.ptm('barx'), {\n \"data-pc-group-section\": \"bar\"\n }), null, 16, _hoisted_2), createElementVNode(\"div\", mergeProps({\n ref: \"yBar\",\n \"class\": _ctx.cx('bary'),\n tabindex: \"0\",\n role: \"scrollbar\",\n \"aria-orientation\": \"vertical\",\n \"aria-controls\": $options.contentId,\n \"aria-valuenow\": $data.lastScrollTop,\n onMousedown: _cache[7] || (_cache[7] = function () {\n return $options.onYBarMouseDown && $options.onYBarMouseDown.apply($options, arguments);\n }),\n onKeydown: _cache[8] || (_cache[8] = function ($event) {\n return $options.onKeyDown($event);\n }),\n onKeyup: _cache[9] || (_cache[9] = function () {\n return $options.onKeyUp && $options.onKeyUp.apply($options, arguments);\n }),\n onFocus: _cache[10] || (_cache[10] = function () {\n return $options.onFocus && $options.onFocus.apply($options, arguments);\n })\n }, _ctx.ptm('bary'), {\n \"data-pc-group-section\": \"bar\"\n }), null, 16, _hoisted_3)], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","<template lang=\"pug\">\n .right-panel\n ScrollPanel(class=\"h-full\")\n .panel-title\n slot(name=\"title\")\n .panel-content\n slot(name=\"content\")\n</template>\n\n<script setup lang=\"ts\">\nimport { useThemeCssVariables } from '@renderer/common/themeCssVariables'\n\nuseThemeCssVariables('scrollpanel')\n</script>\n\n<style scoped>\n.right-panel {\n height: 100%;\n display: flex;\n flex-direction: column;\n background: var(--p-card-background);\n color: var(--p-card-color);\n padding: var(--p-card-body-padding);\n gap: var(--p-card-caption-gap);\n}\n\n.panel-title {\n font-size: var(--p-card-title-font-size);\n font-weight: var(--p-card-title-font-weight);\n}\n\n.panel-content {\n flex: 1;\n}\n</style>\n","import BaseStyle from '@primevue/core/base/style';\n\nvar KeyFilterStyle = BaseStyle.extend({\n name: 'keyfilter-directive'\n});\n\nexport { KeyFilterStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { isAttributeEquals } from '@primeuix/utils/dom';\nimport BaseDirective from '@primevue/core/basedirective';\nimport KeyFilterStyle from 'primevue/keyfilter/style';\n\nvar BaseKeyFilter = BaseDirective.extend({\n style: KeyFilterStyle\n});\n\nfunction _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _iterableToArray(r) { if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r); }\nfunction _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nvar KeyFilter = BaseKeyFilter.extend('keyfilter', {\n beforeMount: function beforeMount(el, options) {\n var target = this.getTarget(el);\n if (!target) return;\n target.$_pkeyfilterModifier = this.getModifiers(options);\n if (_typeof(options.value)) {\n var _options$value, _options$value2;\n target.$_pkeyfilterPattern = ((_options$value = options.value) === null || _options$value === void 0 ? void 0 : _options$value.pattern) || options.value;\n target.$_pkeyfilterValidateOnly = ((_options$value2 = options.value) === null || _options$value2 === void 0 ? void 0 : _options$value2.validateOnly) || false;\n }\n this.bindEvents(target);\n target.setAttribute('data-pd-keyfilter', true);\n },\n updated: function updated(el, options) {\n var target = this.getTarget(el);\n if (!target) return;\n target.$_pkeyfilterModifier = this.getModifiers(options);\n this.unbindEvents(el, options);\n if (_typeof(options.value)) {\n var _options$value3, _options$value4;\n target.$_pkeyfilterPattern = ((_options$value3 = options.value) === null || _options$value3 === void 0 ? void 0 : _options$value3.pattern) || options.value;\n target.$_pkeyfilterValidateOnly = ((_options$value4 = options.value) === null || _options$value4 === void 0 ? void 0 : _options$value4.validateOnly) || false;\n }\n this.bindEvents(target);\n },\n unmounted: function unmounted(el, options) {\n this.unbindEvents(el, options);\n },\n DEFAULT_PATTERNS: {\n pint: /[\\d]/,\n \"int\": /[\\d\\-]/,\n pnum: /[\\d\\.]/,\n money: /[\\d\\.\\s,]/,\n num: /[\\d\\-\\.]/,\n hex: /[0-9a-f]/i,\n email: /[a-z0-9_\\.\\-@]/i,\n alpha: /[a-z_]/i,\n alphanum: /[a-z0-9_]/i\n },\n methods: {\n getTarget: function getTarget(el) {\n return isAttributeEquals(el, 'data-pc-name', 'inputtext') || isAttributeEquals(el, 'data-pc-name', 'textarea') ? el : null;\n },\n getModifiers: function getModifiers(options) {\n if (options.modifiers && Object.keys(options.modifiers).length) {\n return Object.keys(options.modifiers)[Object.keys.length - 1];\n }\n return '';\n },\n getRegex: function getRegex(target) {\n return target.$_pkeyfilterPattern ? target.$_pkeyfilterPattern : target.$_pkeyfilterModifier ? this.DEFAULT_PATTERNS[target.$_pkeyfilterModifier] : /./;\n },\n bindEvents: function bindEvents(el) {\n var _this = this;\n el.$_keyfilterKeydownEvent = function (event) {\n return _this.onKeydown(event, el);\n };\n el.$_keyfilterPasteEvent = function (event) {\n return _this.onPaste(event, el);\n };\n el.addEventListener('keypress', el.$_keyfilterKeydownEvent);\n el.addEventListener('paste', el.$_keyfilterPasteEvent);\n },\n unbindEvents: function unbindEvents(el) {\n el.removeEventListener('keypress', el.$_keyfilterKeydownEvent);\n el.removeEventListener('paste', el.$_keyfilterPasteEvent);\n el.$_keyfilterKeydownEvent = null;\n el.$_keyfilterPasteEvent = null;\n },\n onKeydown: function onKeydown(event, target) {\n if (event.ctrlKey || event.altKey || event.metaKey || event.key === 'Tab') {\n return;\n }\n var regex = this.getRegex(target);\n if (regex === '') {\n return;\n }\n var testKey = \"\".concat(event.key);\n if (target.$_pkeyfilterValidateOnly) {\n testKey = \"\".concat(event.target.value).concat(event.key);\n }\n if (!regex.test(testKey)) {\n // runs before @update:modelValue emit\n event.preventDefault();\n }\n },\n onPaste: function onPaste(event, target) {\n var regex = this.getRegex(target);\n if (regex === '') {\n return;\n }\n var clipboard = event.clipboardData.getData('text');\n var testKey = '';\n\n // loop over each letter pasted and if any fail prevent the paste\n _toConsumableArray(clipboard).forEach(function (c) {\n if (target.$_pkeyfilterValidateOnly) {\n testKey += c;\n } else {\n testKey = c;\n }\n if (!regex.test(testKey)) {\n event.preventDefault();\n return false;\n }\n });\n }\n }\n});\n\nexport { KeyFilter as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-floatlabel {\\n display: block;\\n position: relative;\\n}\\n\\n.p-floatlabel label {\\n position: absolute;\\n pointer-events: none;\\n top: 50%;\\n transform: translateY(-50%);\\n transition-property: all;\\n transition-timing-function: ease;\\n line-height: 1;\\n font-weight: \".concat(dt('floatlabel.font.weight'), \";\\n inset-inline-start: \").concat(dt('floatlabel.position.x'), \";\\n color: \").concat(dt('floatlabel.color'), \";\\n transition-duration: \").concat(dt('floatlabel.transition.duration'), \";\\n}\\n\\n.p-floatlabel:has(.p-textarea) label {\\n top: \").concat(dt('floatlabel.position.y'), \";\\n transform: translateY(0);\\n}\\n\\n.p-floatlabel:has(.p-inputicon:first-child) label {\\n inset-inline-start: calc((\").concat(dt('form.field.padding.x'), \" * 2) + \").concat(dt('icon.size'), \");\\n}\\n\\n.p-floatlabel:has(.p-invalid) label {\\n color: \").concat(dt('floatlabel.invalid.color'), \";\\n}\\n\\n.p-floatlabel:has(input:focus) label,\\n.p-floatlabel:has(input.p-filled) label,\\n.p-floatlabel:has(input:-webkit-autofill) label,\\n.p-floatlabel:has(textarea:focus) label,\\n.p-floatlabel:has(textarea.p-filled) label,\\n.p-floatlabel:has(.p-inputwrapper-focus) label,\\n.p-floatlabel:has(.p-inputwrapper-filled) label {\\n top: \").concat(dt('floatlabel.over.active.top'), \";\\n transform: translateY(0);\\n font-size: \").concat(dt('floatlabel.active.font.size'), \";\\n font-weight: \").concat(dt('floatlabel.label.active.font.weight'), \";\\n}\\n\\n.p-floatlabel:has(input.p-filled) label,\\n.p-floatlabel:has(textarea.p-filled) label,\\n.p-floatlabel:has(.p-inputwrapper-filled) label {\\n color: \").concat(dt('floatlabel.active.color'), \";\\n}\\n\\n.p-floatlabel:has(input:focus) label,\\n.p-floatlabel:has(input:-webkit-autofill) label,\\n.p-floatlabel:has(textarea:focus) label,\\n.p-floatlabel:has(.p-inputwrapper-focus) label {\\n color: \").concat(dt('floatlabel.focus.color'), \";\\n}\\n\\n.p-floatlabel-in .p-inputtext,\\n.p-floatlabel-in .p-textarea,\\n.p-floatlabel-in .p-select-label,\\n.p-floatlabel-in .p-multiselect-label,\\n.p-floatlabel-in .p-autocomplete-input-multiple,\\n.p-floatlabel-in .p-cascadeselect-label,\\n.p-floatlabel-in .p-treeselect-label {\\n padding-block-start: \").concat(dt('floatlabel.in.input.padding.top'), \";\\n padding-block-end: \").concat(dt('floatlabel.in.input.padding.bottom'), \";\\n}\\n\\n.p-floatlabel-in:has(input:focus) label,\\n.p-floatlabel-in:has(input.p-filled) label,\\n.p-floatlabel-in:has(input:-webkit-autofill) label,\\n.p-floatlabel-in:has(textarea:focus) label,\\n.p-floatlabel-in:has(textarea.p-filled) label,\\n.p-floatlabel-in:has(.p-inputwrapper-focus) label,\\n.p-floatlabel-in:has(.p-inputwrapper-filled) label {\\n top: \").concat(dt('floatlabel.in.active.top'), \";\\n}\\n\\n.p-floatlabel-on:has(input:focus) label,\\n.p-floatlabel-on:has(input.p-filled) label,\\n.p-floatlabel-on:has(input:-webkit-autofill) label,\\n.p-floatlabel-on:has(textarea:focus) label,\\n.p-floatlabel-on:has(textarea.p-filled) label,\\n.p-floatlabel-on:has(.p-inputwrapper-focus) label,\\n.p-floatlabel-on:has(.p-inputwrapper-filled) label {\\n top: 0;\\n transform: translateY(-50%);\\n border-radius: \").concat(dt('floatlabel.on.border.radius'), \";\\n background: \").concat(dt('floatlabel.on.active.background'), \";\\n padding: \").concat(dt('floatlabel.on.active.padding'), \";\\n}\\n\");\n};\nvar classes = {\n root: function root(_ref2) {\n _ref2.instance;\n var props = _ref2.props;\n return ['p-floatlabel', {\n 'p-floatlabel-over': props.variant === 'over',\n 'p-floatlabel-on': props.variant === 'on',\n 'p-floatlabel-in': props.variant === 'in'\n }];\n }\n};\nvar FloatLabelStyle = BaseStyle.extend({\n name: 'floatlabel',\n theme: theme,\n classes: classes\n});\n\nexport { FloatLabelStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseComponent from '@primevue/core/basecomponent';\nimport FloatLabelStyle from 'primevue/floatlabel/style';\nimport { openBlock, createElementBlock, mergeProps, renderSlot } from 'vue';\n\nvar script$1 = {\n name: 'BaseFloatLabel',\n \"extends\": BaseComponent,\n props: {\n variant: {\n type: String,\n \"default\": 'over'\n }\n },\n style: FloatLabelStyle,\n provide: function provide() {\n return {\n $pcFloatLabel: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'FloatLabel',\n \"extends\": script$1,\n inheritAttrs: false\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps({\n \"class\": _ctx.cx('root')\n }, _ctx.ptmi('root')), [renderSlot(_ctx.$slots, \"default\")], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","<template lang=\"pug\">\n .bottom-margin(v-if=\"possibleValues !== undefined\")\n FloatLabel(variant=\"on\")\n Select(\n v-model=\"discreteValue\"\n :options=\"possibleValues\"\n optionLabel=\"name\"\n @change=\"selectChange\"\n class=\"w-full\"\n scrollHeight=\"400px\"\n size=\"small\"\n )\n template(#value=\"slotProps\")\n span(\n v-if=\"slotProps.value\"\n :class=\"{ emphasise: slotProps.value.emphasise }\"\n ) {{ slotProps.value.name }}\n span(v-else) {{ slotProps.placeholder }}\n template(#option=\"slotProps\")\n .flex.items-center\n span(:class=\"{ emphasise: slotProps.option.emphasise }\") {{ slotProps.option.name }}\n label {{ name }}\n .bottom-margin(v-else-if=\"scalarType\")\n FloatLabel(variant=\"on\")\n InputText(\n v-model=\"scalarValue\"\n v-keyfilter.num\n v-on:focusout=\"inputTextFocusOut\"\n v-on:keypress=\"inputTextKeyPress\"\n class=\"w-full\"\n size=\"small\"\n )\n label {{ nameUnits }}\n .bottom-margin(v-else)\n FloatLabel(variant=\"on\")\n InputText(\n v-model=\"value\"\n @value-change=\"inputTextChange\"\n class=\"w-full\"\n size=\"small\"\n )\n label {{ name }}\n</template>\n\n<script setup lang=\"ts\">\nimport * as vue from 'vue'\nimport { useThemeCssVariables } from '@renderer/common/themeCssVariables'\n\nuseThemeCssVariables('floatlabel')\nuseThemeCssVariables('inputtext')\nuseThemeCssVariables('select')\n\nimport KeyFilter from 'primevue/keyfilter';\n// v-keyfilter=\"{ pattern: /^[+-]?((\\d+(\\.\\d*)?)|(\\.\\d+))([eE][+-]?\\d+)?$/, validateOnly: true }\"\n\nimport type * as locApi from '../../libopencor/locUIJsonApi'\n\ntype ValueType = number|string|locApi.IUiJsonDiscreteInputPossibleValue\n\nconst value = defineModel<ValueType>({ required: true })\n\nconst emits = defineEmits(['change'])\n\nconst props = defineProps<{\n name: string\n value: ValueType\n maximumValue?: number\n minimumValue?: number\n itemId: string\n units?: string\n numeric?: boolean\n possibleValues?: locApi.IUiJsonDiscreteInputPossibleValue[]\n stepValue?: number\n}>()\n\nconst nameUnits = vue.computed(() => props.units ? `${props.name} (${props.units})` : props.name)\n\nconst scalarType = !!props.numeric\n\nlet oldValue = (props.possibleValues === undefined) ? value.value : value.value.value\n\nconst discreteValue = vue.computed<locApi.IUiJsonDiscreteInputPossibleValue>({\n get() {\n return value.value\n },\n set(_: number | string) {\n }\n})\n\nconst scalarValue = vue.ref<number>(value.value)\nconst stringValue = vue.ref<string>(String(value.value))\n\nvue.watch(\n () => props.value,\n () => {\n if (scalarType) {\n scalarValue.value = props.value\n stringValue.value = String(value.value)\n }\n }\n)\n\n// Some methods to handle a scalar value using an input text and a slider.\n\nfunction emitChange(newValue: number | string) {\n void vue.nextTick().then(() => {\n if (scalarType && props.possibleValues === undefined) {\n value.value = newValue\n scalarValue.value = <number>newValue\n stringValue.value = String(newValue) // This will properly format the input text.\n }\n\n emits('change', props.itemId, oldValue, newValue)\n oldValue = newValue\n })\n}\n\ninterface ISelectChangeEvent {\n value: {\n name: string\n value: number\n }\n}\n\nfunction selectChange(event: ISelectChangeEvent) {\n if (event.value.value !== oldValue) {\n emitChange(event.value.value)\n }\n}\n\nfunction inputTextChange(newValueString: string) {\n if (scalarType && newValueString === '') {\n newValueString = String(props.minimumValue)\n }\n\n if (props.minimumValue !== undefined && Number(newValueString) < props.minimumValue) {\n newValueString = String(props.minimumValue)\n }\n\n if (props.maximumValue !== undefined && Number(newValueString) > props.maximumValue) {\n newValueString = String(props.maximumValue)\n }\n\n const newValue = scalarType ? Number(newValueString) : newValueString\n\n if (newValue !== oldValue) {\n emitChange(newValue)\n }\n}\n\nfunction inputTextFocusOut(event: Event) {\n inputTextChange((event.target as HTMLInputElement).value)\n}\n\nfunction inputTextKeyPress(event: KeyboardEvent) {\n if (event.key === 'Enter') {\n inputTextChange((event.target as HTMLInputElement).value)\n }\n}\n</script>\n\n<style scoped>\n .bottom-margin {\n margin-bottom: 30px;\n }\n .emphasise {\n font-style: italic;\n }\n</style>\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-radiobutton {\\n position: relative;\\n display: inline-flex;\\n user-select: none;\\n vertical-align: bottom;\\n width: \".concat(dt('radiobutton.width'), \";\\n height: \").concat(dt('radiobutton.height'), \";\\n}\\n\\n.p-radiobutton-input {\\n cursor: pointer;\\n appearance: none;\\n position: absolute;\\n top: 0;\\n inset-inline-start: 0;\\n width: 100%;\\n height: 100%;\\n padding: 0;\\n margin: 0;\\n opacity: 0;\\n z-index: 1;\\n outline: 0 none;\\n border: 1px solid transparent;\\n border-radius: 50%;\\n}\\n\\n.p-radiobutton-box {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n border-radius: 50%;\\n border: 1px solid \").concat(dt('radiobutton.border.color'), \";\\n background: \").concat(dt('radiobutton.background'), \";\\n width: \").concat(dt('radiobutton.width'), \";\\n height: \").concat(dt('radiobutton.height'), \";\\n transition: background \").concat(dt('radiobutton.transition.duration'), \", color \").concat(dt('radiobutton.transition.duration'), \", border-color \").concat(dt('radiobutton.transition.duration'), \", box-shadow \").concat(dt('radiobutton.transition.duration'), \", outline-color \").concat(dt('radiobutton.transition.duration'), \";\\n outline-color: transparent;\\n box-shadow: \").concat(dt('radiobutton.shadow'), \";\\n}\\n\\n.p-radiobutton-icon {\\n transition-duration: \").concat(dt('radiobutton.transition.duration'), \";\\n background: transparent;\\n font-size: \").concat(dt('radiobutton.icon.size'), \";\\n width: \").concat(dt('radiobutton.icon.size'), \";\\n height: \").concat(dt('radiobutton.icon.size'), \";\\n border-radius: 50%;\\n backface-visibility: hidden;\\n transform: translateZ(0) scale(0.1);\\n}\\n\\n.p-radiobutton:not(.p-disabled):has(.p-radiobutton-input:hover) .p-radiobutton-box {\\n border-color: \").concat(dt('radiobutton.hover.border.color'), \";\\n}\\n\\n.p-radiobutton-checked .p-radiobutton-box {\\n border-color: \").concat(dt('radiobutton.checked.border.color'), \";\\n background: \").concat(dt('radiobutton.checked.background'), \";\\n}\\n\\n.p-radiobutton-checked .p-radiobutton-box .p-radiobutton-icon {\\n background: \").concat(dt('radiobutton.icon.checked.color'), \";\\n transform: translateZ(0) scale(1, 1);\\n visibility: visible;\\n}\\n\\n.p-radiobutton-checked:not(.p-disabled):has(.p-radiobutton-input:hover) .p-radiobutton-box {\\n border-color: \").concat(dt('radiobutton.checked.hover.border.color'), \";\\n background: \").concat(dt('radiobutton.checked.hover.background'), \";\\n}\\n\\n.p-radiobutton:not(.p-disabled):has(.p-radiobutton-input:hover).p-radiobutton-checked .p-radiobutton-box .p-radiobutton-icon {\\n background: \").concat(dt('radiobutton.icon.checked.hover.color'), \";\\n}\\n\\n.p-radiobutton:not(.p-disabled):has(.p-radiobutton-input:focus-visible) .p-radiobutton-box {\\n border-color: \").concat(dt('radiobutton.focus.border.color'), \";\\n box-shadow: \").concat(dt('radiobutton.focus.ring.shadow'), \";\\n outline: \").concat(dt('radiobutton.focus.ring.width'), \" \").concat(dt('radiobutton.focus.ring.style'), \" \").concat(dt('radiobutton.focus.ring.color'), \";\\n outline-offset: \").concat(dt('radiobutton.focus.ring.offset'), \";\\n}\\n\\n.p-radiobutton-checked:not(.p-disabled):has(.p-radiobutton-input:focus-visible) .p-radiobutton-box {\\n border-color: \").concat(dt('radiobutton.checked.focus.border.color'), \";\\n}\\n\\n.p-radiobutton.p-invalid > .p-radiobutton-box {\\n border-color: \").concat(dt('radiobutton.invalid.border.color'), \";\\n}\\n\\n.p-radiobutton.p-variant-filled .p-radiobutton-box {\\n background: \").concat(dt('radiobutton.filled.background'), \";\\n}\\n\\n.p-radiobutton.p-variant-filled.p-radiobutton-checked .p-radiobutton-box {\\n background: \").concat(dt('radiobutton.checked.background'), \";\\n}\\n\\n.p-radiobutton.p-variant-filled:not(.p-disabled):has(.p-radiobutton-input:hover).p-radiobutton-checked .p-radiobutton-box {\\n background: \").concat(dt('radiobutton.checked.hover.background'), \";\\n}\\n\\n.p-radiobutton.p-disabled {\\n opacity: 1;\\n}\\n\\n.p-radiobutton.p-disabled .p-radiobutton-box {\\n background: \").concat(dt('radiobutton.disabled.background'), \";\\n border-color: \").concat(dt('radiobutton.checked.disabled.border.color'), \";\\n}\\n\\n.p-radiobutton-checked.p-disabled .p-radiobutton-box .p-radiobutton-icon {\\n background: \").concat(dt('radiobutton.icon.disabled.color'), \";\\n}\\n\\n.p-radiobutton-sm,\\n.p-radiobutton-sm .p-radiobutton-box {\\n width: \").concat(dt('radiobutton.sm.width'), \";\\n height: \").concat(dt('radiobutton.sm.height'), \";\\n}\\n\\n.p-radiobutton-sm .p-radiobutton-icon {\\n font-size: \").concat(dt('radiobutton.icon.sm.size'), \";\\n width: \").concat(dt('radiobutton.icon.sm.size'), \";\\n height: \").concat(dt('radiobutton.icon.sm.size'), \";\\n}\\n\\n.p-radiobutton-lg,\\n.p-radiobutton-lg .p-radiobutton-box {\\n width: \").concat(dt('radiobutton.lg.width'), \";\\n height: \").concat(dt('radiobutton.lg.height'), \";\\n}\\n\\n.p-radiobutton-lg .p-radiobutton-icon {\\n font-size: \").concat(dt('radiobutton.icon.lg.size'), \";\\n width: \").concat(dt('radiobutton.icon.lg.size'), \";\\n height: \").concat(dt('radiobutton.icon.lg.size'), \";\\n}\\n\");\n};\nvar classes = {\n root: function root(_ref2) {\n var instance = _ref2.instance,\n props = _ref2.props;\n return ['p-radiobutton p-component', {\n 'p-radiobutton-checked': instance.checked,\n 'p-disabled': props.disabled,\n 'p-invalid': instance.$pcRadioButtonGroup ? instance.$pcRadioButtonGroup.$invalid : instance.$invalid,\n 'p-variant-filled': instance.$variant === 'filled',\n 'p-radiobutton-sm p-inputfield-sm': props.size === 'small',\n 'p-radiobutton-lg p-inputfield-lg': props.size === 'large'\n }];\n },\n box: 'p-radiobutton-box',\n input: 'p-radiobutton-input',\n icon: 'p-radiobutton-icon'\n};\nvar RadioButtonStyle = BaseStyle.extend({\n name: 'radiobutton',\n theme: theme,\n classes: classes\n});\n\nexport { RadioButtonStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { equals } from '@primeuix/utils/object';\nimport BaseInput from '@primevue/core/baseinput';\nimport RadioButtonStyle from 'primevue/radiobutton/style';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode } from 'vue';\n\nvar script$1 = {\n name: 'BaseRadioButton',\n \"extends\": BaseInput,\n props: {\n value: null,\n binary: Boolean,\n readonly: {\n type: Boolean,\n \"default\": false\n },\n tabindex: {\n type: Number,\n \"default\": null\n },\n inputId: {\n type: String,\n \"default\": null\n },\n inputClass: {\n type: [String, Object],\n \"default\": null\n },\n inputStyle: {\n type: Object,\n \"default\": null\n },\n ariaLabelledby: {\n type: String,\n \"default\": null\n },\n ariaLabel: {\n type: String,\n \"default\": null\n }\n },\n style: RadioButtonStyle,\n provide: function provide() {\n return {\n $pcRadioButton: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'RadioButton',\n \"extends\": script$1,\n inheritAttrs: false,\n emits: ['change', 'focus', 'blur'],\n inject: {\n $pcRadioButtonGroup: {\n \"default\": undefined\n }\n },\n methods: {\n getPTOptions: function getPTOptions(key) {\n var _ptm = key === 'root' ? this.ptmi : this.ptm;\n return _ptm(key, {\n context: {\n checked: this.checked,\n disabled: this.disabled\n }\n });\n },\n onChange: function onChange(event) {\n if (!this.disabled && !this.readonly) {\n var newModelValue = this.binary ? !this.checked : this.value;\n this.$pcRadioButtonGroup ? this.$pcRadioButtonGroup.writeValue(newModelValue, event) : this.writeValue(newModelValue, event);\n this.$emit('change', event);\n }\n },\n onFocus: function onFocus(event) {\n this.$emit('focus', event);\n },\n onBlur: function onBlur(event) {\n var _this$formField$onBlu, _this$formField;\n this.$emit('blur', event);\n (_this$formField$onBlu = (_this$formField = this.formField).onBlur) === null || _this$formField$onBlu === void 0 || _this$formField$onBlu.call(_this$formField, event);\n }\n },\n computed: {\n groupName: function groupName() {\n return this.$pcRadioButtonGroup ? this.$pcRadioButtonGroup.groupName : this.$formName;\n },\n checked: function checked() {\n var value = this.$pcRadioButtonGroup ? this.$pcRadioButtonGroup.d_value : this.d_value;\n return value != null && (this.binary ? !!value : equals(value, this.value));\n }\n }\n};\n\nvar _hoisted_1 = [\"data-p-checked\", \"data-p-disabled\"];\nvar _hoisted_2 = [\"id\", \"value\", \"name\", \"checked\", \"tabindex\", \"disabled\", \"readonly\", \"aria-labelledby\", \"aria-label\", \"aria-invalid\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": _ctx.cx('root')\n }, $options.getPTOptions('root'), {\n \"data-p-checked\": $options.checked,\n \"data-p-disabled\": _ctx.disabled\n }), [createElementVNode(\"input\", mergeProps({\n id: _ctx.inputId,\n type: \"radio\",\n \"class\": [_ctx.cx('input'), _ctx.inputClass],\n style: _ctx.inputStyle,\n value: _ctx.value,\n name: $options.groupName,\n checked: $options.checked,\n tabindex: _ctx.tabindex,\n disabled: _ctx.disabled,\n readonly: _ctx.readonly,\n \"aria-labelledby\": _ctx.ariaLabelledby,\n \"aria-label\": _ctx.ariaLabel,\n \"aria-invalid\": _ctx.invalid || undefined,\n onFocus: _cache[0] || (_cache[0] = function () {\n return $options.onFocus && $options.onFocus.apply($options, arguments);\n }),\n onBlur: _cache[1] || (_cache[1] = function () {\n return $options.onBlur && $options.onBlur.apply($options, arguments);\n }),\n onChange: _cache[2] || (_cache[2] = function () {\n return $options.onChange && $options.onChange.apply($options, arguments);\n })\n }, $options.getPTOptions('input')), null, 16, _hoisted_2), createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('box')\n }, $options.getPTOptions('box')), [createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('icon')\n }, $options.getPTOptions('icon')), null, 16)], 16)], 16, _hoisted_1);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import { isNotEmpty, isEmpty } from '@primeuix/utils/object';\nimport BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-badge {\\n display: inline-flex;\\n border-radius: \".concat(dt('badge.border.radius'), \";\\n align-items: center;\\n justify-content: center;\\n padding: \").concat(dt('badge.padding'), \";\\n background: \").concat(dt('badge.primary.background'), \";\\n color: \").concat(dt('badge.primary.color'), \";\\n font-size: \").concat(dt('badge.font.size'), \";\\n font-weight: \").concat(dt('badge.font.weight'), \";\\n min-width: \").concat(dt('badge.min.width'), \";\\n height: \").concat(dt('badge.height'), \";\\n}\\n\\n.p-badge-dot {\\n width: \").concat(dt('badge.dot.size'), \";\\n min-width: \").concat(dt('badge.dot.size'), \";\\n height: \").concat(dt('badge.dot.size'), \";\\n border-radius: 50%;\\n padding: 0;\\n}\\n\\n.p-badge-circle {\\n padding: 0;\\n border-radius: 50%;\\n}\\n\\n.p-badge-secondary {\\n background: \").concat(dt('badge.secondary.background'), \";\\n color: \").concat(dt('badge.secondary.color'), \";\\n}\\n\\n.p-badge-success {\\n background: \").concat(dt('badge.success.background'), \";\\n color: \").concat(dt('badge.success.color'), \";\\n}\\n\\n.p-badge-info {\\n background: \").concat(dt('badge.info.background'), \";\\n color: \").concat(dt('badge.info.color'), \";\\n}\\n\\n.p-badge-warn {\\n background: \").concat(dt('badge.warn.background'), \";\\n color: \").concat(dt('badge.warn.color'), \";\\n}\\n\\n.p-badge-danger {\\n background: \").concat(dt('badge.danger.background'), \";\\n color: \").concat(dt('badge.danger.color'), \";\\n}\\n\\n.p-badge-contrast {\\n background: \").concat(dt('badge.contrast.background'), \";\\n color: \").concat(dt('badge.contrast.color'), \";\\n}\\n\\n.p-badge-sm {\\n font-size: \").concat(dt('badge.sm.font.size'), \";\\n min-width: \").concat(dt('badge.sm.min.width'), \";\\n height: \").concat(dt('badge.sm.height'), \";\\n}\\n\\n.p-badge-lg {\\n font-size: \").concat(dt('badge.lg.font.size'), \";\\n min-width: \").concat(dt('badge.lg.min.width'), \";\\n height: \").concat(dt('badge.lg.height'), \";\\n}\\n\\n.p-badge-xl {\\n font-size: \").concat(dt('badge.xl.font.size'), \";\\n min-width: \").concat(dt('badge.xl.min.width'), \";\\n height: \").concat(dt('badge.xl.height'), \";\\n}\\n\");\n};\nvar classes = {\n root: function root(_ref2) {\n var props = _ref2.props,\n instance = _ref2.instance;\n return ['p-badge p-component', {\n 'p-badge-circle': isNotEmpty(props.value) && String(props.value).length === 1,\n 'p-badge-dot': isEmpty(props.value) && !instance.$slots[\"default\"],\n 'p-badge-sm': props.size === 'small',\n 'p-badge-lg': props.size === 'large',\n 'p-badge-xl': props.size === 'xlarge',\n 'p-badge-info': props.severity === 'info',\n 'p-badge-success': props.severity === 'success',\n 'p-badge-warn': props.severity === 'warn',\n 'p-badge-danger': props.severity === 'danger',\n 'p-badge-secondary': props.severity === 'secondary',\n 'p-badge-contrast': props.severity === 'contrast'\n }];\n }\n};\nvar BadgeStyle = BaseStyle.extend({\n name: 'badge',\n theme: theme,\n classes: classes\n});\n\nexport { BadgeStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseComponent from '@primevue/core/basecomponent';\nimport BadgeStyle from 'primevue/badge/style';\nimport { openBlock, createElementBlock, mergeProps, renderSlot, createTextVNode, toDisplayString } from 'vue';\n\nvar script$1 = {\n name: 'BaseBadge',\n \"extends\": BaseComponent,\n props: {\n value: {\n type: [String, Number],\n \"default\": null\n },\n severity: {\n type: String,\n \"default\": null\n },\n size: {\n type: String,\n \"default\": null\n }\n },\n style: BadgeStyle,\n provide: function provide() {\n return {\n $pcBadge: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'Badge',\n \"extends\": script$1,\n inheritAttrs: false\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps({\n \"class\": _ctx.cx('root')\n }, _ctx.ptmi('root')), [renderSlot(_ctx.$slots, \"default\", {}, function () {\n return [createTextVNode(toDisplayString(_ctx.value), 1)];\n })], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-button {\\n display: inline-flex;\\n cursor: pointer;\\n user-select: none;\\n align-items: center;\\n justify-content: center;\\n overflow: hidden;\\n position: relative;\\n color: \".concat(dt('button.primary.color'), \";\\n background: \").concat(dt('button.primary.background'), \";\\n border: 1px solid \").concat(dt('button.primary.border.color'), \";\\n padding: \").concat(dt('button.padding.y'), \" \").concat(dt('button.padding.x'), \";\\n font-size: 1rem;\\n font-family: inherit;\\n font-feature-settings: inherit;\\n transition: background \").concat(dt('button.transition.duration'), \", color \").concat(dt('button.transition.duration'), \", border-color \").concat(dt('button.transition.duration'), \",\\n outline-color \").concat(dt('button.transition.duration'), \", box-shadow \").concat(dt('button.transition.duration'), \";\\n border-radius: \").concat(dt('button.border.radius'), \";\\n outline-color: transparent;\\n gap: \").concat(dt('button.gap'), \";\\n}\\n\\n.p-button:disabled {\\n cursor: default;\\n}\\n\\n.p-button-icon-right {\\n order: 1;\\n}\\n\\n.p-button-icon-right:dir(rtl) {\\n order: -1;\\n}\\n\\n.p-button:not(.p-button-vertical) .p-button-icon:not(.p-button-icon-right):dir(rtl) {\\n order: 1;\\n}\\n\\n.p-button-icon-bottom {\\n order: 2;\\n}\\n\\n.p-button-icon-only {\\n width: \").concat(dt('button.icon.only.width'), \";\\n padding-inline-start: 0;\\n padding-inline-end: 0;\\n gap: 0;\\n}\\n\\n.p-button-icon-only.p-button-rounded {\\n border-radius: 50%;\\n height: \").concat(dt('button.icon.only.width'), \";\\n}\\n\\n.p-button-icon-only .p-button-label {\\n visibility: hidden;\\n width: 0;\\n}\\n\\n.p-button-sm {\\n font-size: \").concat(dt('button.sm.font.size'), \";\\n padding: \").concat(dt('button.sm.padding.y'), \" \").concat(dt('button.sm.padding.x'), \";\\n}\\n\\n.p-button-sm .p-button-icon {\\n font-size: \").concat(dt('button.sm.font.size'), \";\\n}\\n\\n.p-button-lg {\\n font-size: \").concat(dt('button.lg.font.size'), \";\\n padding: \").concat(dt('button.lg.padding.y'), \" \").concat(dt('button.lg.padding.x'), \";\\n}\\n\\n.p-button-lg .p-button-icon {\\n font-size: \").concat(dt('button.lg.font.size'), \";\\n}\\n\\n.p-button-vertical {\\n flex-direction: column;\\n}\\n\\n.p-button-label {\\n font-weight: \").concat(dt('button.label.font.weight'), \";\\n}\\n\\n.p-button-fluid {\\n width: 100%;\\n}\\n\\n.p-button-fluid.p-button-icon-only {\\n width: \").concat(dt('button.icon.only.width'), \";\\n}\\n\\n.p-button:not(:disabled):hover {\\n background: \").concat(dt('button.primary.hover.background'), \";\\n border: 1px solid \").concat(dt('button.primary.hover.border.color'), \";\\n color: \").concat(dt('button.primary.hover.color'), \";\\n}\\n\\n.p-button:not(:disabled):active {\\n background: \").concat(dt('button.primary.active.background'), \";\\n border: 1px solid \").concat(dt('button.primary.active.border.color'), \";\\n color: \").concat(dt('button.primary.active.color'), \";\\n}\\n\\n.p-button:focus-visible {\\n box-shadow: \").concat(dt('button.primary.focus.ring.shadow'), \";\\n outline: \").concat(dt('button.focus.ring.width'), \" \").concat(dt('button.focus.ring.style'), \" \").concat(dt('button.primary.focus.ring.color'), \";\\n outline-offset: \").concat(dt('button.focus.ring.offset'), \";\\n}\\n\\n.p-button .p-badge {\\n min-width: \").concat(dt('button.badge.size'), \";\\n height: \").concat(dt('button.badge.size'), \";\\n line-height: \").concat(dt('button.badge.size'), \";\\n}\\n\\n.p-button-raised {\\n box-shadow: \").concat(dt('button.raised.shadow'), \";\\n}\\n\\n.p-button-rounded {\\n border-radius: \").concat(dt('button.rounded.border.radius'), \";\\n}\\n\\n.p-button-secondary {\\n background: \").concat(dt('button.secondary.background'), \";\\n border: 1px solid \").concat(dt('button.secondary.border.color'), \";\\n color: \").concat(dt('button.secondary.color'), \";\\n}\\n\\n.p-button-secondary:not(:disabled):hover {\\n background: \").concat(dt('button.secondary.hover.background'), \";\\n border: 1px solid \").concat(dt('button.secondary.hover.border.color'), \";\\n color: \").concat(dt('button.secondary.hover.color'), \";\\n}\\n\\n.p-button-secondary:not(:disabled):active {\\n background: \").concat(dt('button.secondary.active.background'), \";\\n border: 1px solid \").concat(dt('button.secondary.active.border.color'), \";\\n color: \").concat(dt('button.secondary.active.color'), \";\\n}\\n\\n.p-button-secondary:focus-visible {\\n outline-color: \").concat(dt('button.secondary.focus.ring.color'), \";\\n box-shadow: \").concat(dt('button.secondary.focus.ring.shadow'), \";\\n}\\n\\n.p-button-success {\\n background: \").concat(dt('button.success.background'), \";\\n border: 1px solid \").concat(dt('button.success.border.color'), \";\\n color: \").concat(dt('button.success.color'), \";\\n}\\n\\n.p-button-success:not(:disabled):hover {\\n background: \").concat(dt('button.success.hover.background'), \";\\n border: 1px solid \").concat(dt('button.success.hover.border.color'), \";\\n color: \").concat(dt('button.success.hover.color'), \";\\n}\\n\\n.p-button-success:not(:disabled):active {\\n background: \").concat(dt('button.success.active.background'), \";\\n border: 1px solid \").concat(dt('button.success.active.border.color'), \";\\n color: \").concat(dt('button.success.active.color'), \";\\n}\\n\\n.p-button-success:focus-visible {\\n outline-color: \").concat(dt('button.success.focus.ring.color'), \";\\n box-shadow: \").concat(dt('button.success.focus.ring.shadow'), \";\\n}\\n\\n.p-button-info {\\n background: \").concat(dt('button.info.background'), \";\\n border: 1px solid \").concat(dt('button.info.border.color'), \";\\n color: \").concat(dt('button.info.color'), \";\\n}\\n\\n.p-button-info:not(:disabled):hover {\\n background: \").concat(dt('button.info.hover.background'), \";\\n border: 1px solid \").concat(dt('button.info.hover.border.color'), \";\\n color: \").concat(dt('button.info.hover.color'), \";\\n}\\n\\n.p-button-info:not(:disabled):active {\\n background: \").concat(dt('button.info.active.background'), \";\\n border: 1px solid \").concat(dt('button.info.active.border.color'), \";\\n color: \").concat(dt('button.info.active.color'), \";\\n}\\n\\n.p-button-info:focus-visible {\\n outline-color: \").concat(dt('button.info.focus.ring.color'), \";\\n box-shadow: \").concat(dt('button.info.focus.ring.shadow'), \";\\n}\\n\\n.p-button-warn {\\n background: \").concat(dt('button.warn.background'), \";\\n border: 1px solid \").concat(dt('button.warn.border.color'), \";\\n color: \").concat(dt('button.warn.color'), \";\\n}\\n\\n.p-button-warn:not(:disabled):hover {\\n background: \").concat(dt('button.warn.hover.background'), \";\\n border: 1px solid \").concat(dt('button.warn.hover.border.color'), \";\\n color: \").concat(dt('button.warn.hover.color'), \";\\n}\\n\\n.p-button-warn:not(:disabled):active {\\n background: \").concat(dt('button.warn.active.background'), \";\\n border: 1px solid \").concat(dt('button.warn.active.border.color'), \";\\n color: \").concat(dt('button.warn.active.color'), \";\\n}\\n\\n.p-button-warn:focus-visible {\\n outline-color: \").concat(dt('button.warn.focus.ring.color'), \";\\n box-shadow: \").concat(dt('button.warn.focus.ring.shadow'), \";\\n}\\n\\n.p-button-help {\\n background: \").concat(dt('button.help.background'), \";\\n border: 1px solid \").concat(dt('button.help.border.color'), \";\\n color: \").concat(dt('button.help.color'), \";\\n}\\n\\n.p-button-help:not(:disabled):hover {\\n background: \").concat(dt('button.help.hover.background'), \";\\n border: 1px solid \").concat(dt('button.help.hover.border.color'), \";\\n color: \").concat(dt('button.help.hover.color'), \";\\n}\\n\\n.p-button-help:not(:disabled):active {\\n background: \").concat(dt('button.help.active.background'), \";\\n border: 1px solid \").concat(dt('button.help.active.border.color'), \";\\n color: \").concat(dt('button.help.active.color'), \";\\n}\\n\\n.p-button-help:focus-visible {\\n outline-color: \").concat(dt('button.help.focus.ring.color'), \";\\n box-shadow: \").concat(dt('button.help.focus.ring.shadow'), \";\\n}\\n\\n.p-button-danger {\\n background: \").concat(dt('button.danger.background'), \";\\n border: 1px solid \").concat(dt('button.danger.border.color'), \";\\n color: \").concat(dt('button.danger.color'), \";\\n}\\n\\n.p-button-danger:not(:disabled):hover {\\n background: \").concat(dt('button.danger.hover.background'), \";\\n border: 1px solid \").concat(dt('button.danger.hover.border.color'), \";\\n color: \").concat(dt('button.danger.hover.color'), \";\\n}\\n\\n.p-button-danger:not(:disabled):active {\\n background: \").concat(dt('button.danger.active.background'), \";\\n border: 1px solid \").concat(dt('button.danger.active.border.color'), \";\\n color: \").concat(dt('button.danger.active.color'), \";\\n}\\n\\n.p-button-danger:focus-visible {\\n outline-color: \").concat(dt('button.danger.focus.ring.color'), \";\\n box-shadow: \").concat(dt('button.danger.focus.ring.shadow'), \";\\n}\\n\\n.p-button-contrast {\\n background: \").concat(dt('button.contrast.background'), \";\\n border: 1px solid \").concat(dt('button.contrast.border.color'), \";\\n color: \").concat(dt('button.contrast.color'), \";\\n}\\n\\n.p-button-contrast:not(:disabled):hover {\\n background: \").concat(dt('button.contrast.hover.background'), \";\\n border: 1px solid \").concat(dt('button.contrast.hover.border.color'), \";\\n color: \").concat(dt('button.contrast.hover.color'), \";\\n}\\n\\n.p-button-contrast:not(:disabled):active {\\n background: \").concat(dt('button.contrast.active.background'), \";\\n border: 1px solid \").concat(dt('button.contrast.active.border.color'), \";\\n color: \").concat(dt('button.contrast.active.color'), \";\\n}\\n\\n.p-button-contrast:focus-visible {\\n outline-color: \").concat(dt('button.contrast.focus.ring.color'), \";\\n box-shadow: \").concat(dt('button.contrast.focus.ring.shadow'), \";\\n}\\n\\n.p-button-outlined {\\n background: transparent;\\n border-color: \").concat(dt('button.outlined.primary.border.color'), \";\\n color: \").concat(dt('button.outlined.primary.color'), \";\\n}\\n\\n.p-button-outlined:not(:disabled):hover {\\n background: \").concat(dt('button.outlined.primary.hover.background'), \";\\n border-color: \").concat(dt('button.outlined.primary.border.color'), \";\\n color: \").concat(dt('button.outlined.primary.color'), \";\\n}\\n\\n.p-button-outlined:not(:disabled):active {\\n background: \").concat(dt('button.outlined.primary.active.background'), \";\\n border-color: \").concat(dt('button.outlined.primary.border.color'), \";\\n color: \").concat(dt('button.outlined.primary.color'), \";\\n}\\n\\n.p-button-outlined.p-button-secondary {\\n border-color: \").concat(dt('button.outlined.secondary.border.color'), \";\\n color: \").concat(dt('button.outlined.secondary.color'), \";\\n}\\n\\n.p-button-outlined.p-button-secondary:not(:disabled):hover {\\n background: \").concat(dt('button.outlined.secondary.hover.background'), \";\\n border-color: \").concat(dt('button.outlined.secondary.border.color'), \";\\n color: \").concat(dt('button.outlined.secondary.color'), \";\\n}\\n\\n.p-button-outlined.p-button-secondary:not(:disabled):active {\\n background: \").concat(dt('button.outlined.secondary.active.background'), \";\\n border-color: \").concat(dt('button.outlined.secondary.border.color'), \";\\n color: \").concat(dt('button.outlined.secondary.color'), \";\\n}\\n\\n.p-button-outlined.p-button-success {\\n border-color: \").concat(dt('button.outlined.success.border.color'), \";\\n color: \").concat(dt('button.outlined.success.color'), \";\\n}\\n\\n.p-button-outlined.p-button-success:not(:disabled):hover {\\n background: \").concat(dt('button.outlined.success.hover.background'), \";\\n border-color: \").concat(dt('button.outlined.success.border.color'), \";\\n color: \").concat(dt('button.outlined.success.color'), \";\\n}\\n\\n.p-button-outlined.p-button-success:not(:disabled):active {\\n background: \").concat(dt('button.outlined.success.active.background'), \";\\n border-color: \").concat(dt('button.outlined.success.border.color'), \";\\n color: \").concat(dt('button.outlined.success.color'), \";\\n}\\n\\n.p-button-outlined.p-button-info {\\n border-color: \").concat(dt('button.outlined.info.border.color'), \";\\n color: \").concat(dt('button.outlined.info.color'), \";\\n}\\n\\n.p-button-outlined.p-button-info:not(:disabled):hover {\\n background: \").concat(dt('button.outlined.info.hover.background'), \";\\n border-color: \").concat(dt('button.outlined.info.border.color'), \";\\n color: \").concat(dt('button.outlined.info.color'), \";\\n}\\n\\n.p-button-outlined.p-button-info:not(:disabled):active {\\n background: \").concat(dt('button.outlined.info.active.background'), \";\\n border-color: \").concat(dt('button.outlined.info.border.color'), \";\\n color: \").concat(dt('button.outlined.info.color'), \";\\n}\\n\\n.p-button-outlined.p-button-warn {\\n border-color: \").concat(dt('button.outlined.warn.border.color'), \";\\n color: \").concat(dt('button.outlined.warn.color'), \";\\n}\\n\\n.p-button-outlined.p-button-warn:not(:disabled):hover {\\n background: \").concat(dt('button.outlined.warn.hover.background'), \";\\n border-color: \").concat(dt('button.outlined.warn.border.color'), \";\\n color: \").concat(dt('button.outlined.warn.color'), \";\\n}\\n\\n.p-button-outlined.p-button-warn:not(:disabled):active {\\n background: \").concat(dt('button.outlined.warn.active.background'), \";\\n border-color: \").concat(dt('button.outlined.warn.border.color'), \";\\n color: \").concat(dt('button.outlined.warn.color'), \";\\n}\\n\\n.p-button-outlined.p-button-help {\\n border-color: \").concat(dt('button.outlined.help.border.color'), \";\\n color: \").concat(dt('button.outlined.help.color'), \";\\n}\\n\\n.p-button-outlined.p-button-help:not(:disabled):hover {\\n background: \").concat(dt('button.outlined.help.hover.background'), \";\\n border-color: \").concat(dt('button.outlined.help.border.color'), \";\\n color: \").concat(dt('button.outlined.help.color'), \";\\n}\\n\\n.p-button-outlined.p-button-help:not(:disabled):active {\\n background: \").concat(dt('button.outlined.help.active.background'), \";\\n border-color: \").concat(dt('button.outlined.help.border.color'), \";\\n color: \").concat(dt('button.outlined.help.color'), \";\\n}\\n\\n.p-button-outlined.p-button-danger {\\n border-color: \").concat(dt('button.outlined.danger.border.color'), \";\\n color: \").concat(dt('button.outlined.danger.color'), \";\\n}\\n\\n.p-button-outlined.p-button-danger:not(:disabled):hover {\\n background: \").concat(dt('button.outlined.danger.hover.background'), \";\\n border-color: \").concat(dt('button.outlined.danger.border.color'), \";\\n color: \").concat(dt('button.outlined.danger.color'), \";\\n}\\n\\n.p-button-outlined.p-button-danger:not(:disabled):active {\\n background: \").concat(dt('button.outlined.danger.active.background'), \";\\n border-color: \").concat(dt('button.outlined.danger.border.color'), \";\\n color: \").concat(dt('button.outlined.danger.color'), \";\\n}\\n\\n.p-button-outlined.p-button-contrast {\\n border-color: \").concat(dt('button.outlined.contrast.border.color'), \";\\n color: \").concat(dt('button.outlined.contrast.color'), \";\\n}\\n\\n.p-button-outlined.p-button-contrast:not(:disabled):hover {\\n background: \").concat(dt('button.outlined.contrast.hover.background'), \";\\n border-color: \").concat(dt('button.outlined.contrast.border.color'), \";\\n color: \").concat(dt('button.outlined.contrast.color'), \";\\n}\\n\\n.p-button-outlined.p-button-contrast:not(:disabled):active {\\n background: \").concat(dt('button.outlined.contrast.active.background'), \";\\n border-color: \").concat(dt('button.outlined.contrast.border.color'), \";\\n color: \").concat(dt('button.outlined.contrast.color'), \";\\n}\\n\\n.p-button-outlined.p-button-plain {\\n border-color: \").concat(dt('button.outlined.plain.border.color'), \";\\n color: \").concat(dt('button.outlined.plain.color'), \";\\n}\\n\\n.p-button-outlined.p-button-plain:not(:disabled):hover {\\n background: \").concat(dt('button.outlined.plain.hover.background'), \";\\n border-color: \").concat(dt('button.outlined.plain.border.color'), \";\\n color: \").concat(dt('button.outlined.plain.color'), \";\\n}\\n\\n.p-button-outlined.p-button-plain:not(:disabled):active {\\n background: \").concat(dt('button.outlined.plain.active.background'), \";\\n border-color: \").concat(dt('button.outlined.plain.border.color'), \";\\n color: \").concat(dt('button.outlined.plain.color'), \";\\n}\\n\\n.p-button-text {\\n background: transparent;\\n border-color: transparent;\\n color: \").concat(dt('button.text.primary.color'), \";\\n}\\n\\n.p-button-text:not(:disabled):hover {\\n background: \").concat(dt('button.text.primary.hover.background'), \";\\n border-color: transparent;\\n color: \").concat(dt('button.text.primary.color'), \";\\n}\\n\\n.p-button-text:not(:disabled):active {\\n background: \").concat(dt('button.text.primary.active.background'), \";\\n border-color: transparent;\\n color: \").concat(dt('button.text.primary.color'), \";\\n}\\n\\n.p-button-text.p-button-secondary {\\n background: transparent;\\n border-color: transparent;\\n color: \").concat(dt('button.text.secondary.color'), \";\\n}\\n\\n.p-button-text.p-button-secondary:not(:disabled):hover {\\n background: \").concat(dt('button.text.secondary.hover.background'), \";\\n border-color: transparent;\\n color: \").concat(dt('button.text.secondary.color'), \";\\n}\\n\\n.p-button-text.p-button-secondary:not(:disabled):active {\\n background: \").concat(dt('button.text.secondary.active.background'), \";\\n border-color: transparent;\\n color: \").concat(dt('button.text.secondary.color'), \";\\n}\\n\\n.p-button-text.p-button-success {\\n background: transparent;\\n border-color: transparent;\\n color: \").concat(dt('button.text.success.color'), \";\\n}\\n\\n.p-button-text.p-button-success:not(:disabled):hover {\\n background: \").concat(dt('button.text.success.hover.background'), \";\\n border-color: transparent;\\n color: \").concat(dt('button.text.success.color'), \";\\n}\\n\\n.p-button-text.p-button-success:not(:disabled):active {\\n background: \").concat(dt('button.text.success.active.background'), \";\\n border-color: transparent;\\n color: \").concat(dt('button.text.success.color'), \";\\n}\\n\\n.p-button-text.p-button-info {\\n background: transparent;\\n border-color: transparent;\\n color: \").concat(dt('button.text.info.color'), \";\\n}\\n\\n.p-button-text.p-button-info:not(:disabled):hover {\\n background: \").concat(dt('button.text.info.hover.background'), \";\\n border-color: transparent;\\n color: \").concat(dt('button.text.info.color'), \";\\n}\\n\\n.p-button-text.p-button-info:not(:disabled):active {\\n background: \").concat(dt('button.text.info.active.background'), \";\\n border-color: transparent;\\n color: \").concat(dt('button.text.info.color'), \";\\n}\\n\\n.p-button-text.p-button-warn {\\n background: transparent;\\n border-color: transparent;\\n color: \").concat(dt('button.text.warn.color'), \";\\n}\\n\\n.p-button-text.p-button-warn:not(:disabled):hover {\\n background: \").concat(dt('button.text.warn.hover.background'), \";\\n border-color: transparent;\\n color: \").concat(dt('button.text.warn.color'), \";\\n}\\n\\n.p-button-text.p-button-warn:not(:disabled):active {\\n background: \").concat(dt('button.text.warn.active.background'), \";\\n border-color: transparent;\\n color: \").concat(dt('button.text.warn.color'), \";\\n}\\n\\n.p-button-text.p-button-help {\\n background: transparent;\\n border-color: transparent;\\n color: \").concat(dt('button.text.help.color'), \";\\n}\\n\\n.p-button-text.p-button-help:not(:disabled):hover {\\n background: \").concat(dt('button.text.help.hover.background'), \";\\n border-color: transparent;\\n color: \").concat(dt('button.text.help.color'), \";\\n}\\n\\n.p-button-text.p-button-help:not(:disabled):active {\\n background: \").concat(dt('button.text.help.active.background'), \";\\n border-color: transparent;\\n color: \").concat(dt('button.text.help.color'), \";\\n}\\n\\n.p-button-text.p-button-danger {\\n background: transparent;\\n border-color: transparent;\\n color: \").concat(dt('button.text.danger.color'), \";\\n}\\n\\n.p-button-text.p-button-danger:not(:disabled):hover {\\n background: \").concat(dt('button.text.danger.hover.background'), \";\\n border-color: transparent;\\n color: \").concat(dt('button.text.danger.color'), \";\\n}\\n\\n.p-button-text.p-button-danger:not(:disabled):active {\\n background: \").concat(dt('button.text.danger.active.background'), \";\\n border-color: transparent;\\n color: \").concat(dt('button.text.danger.color'), \";\\n}\\n\\n.p-button-text.p-button-contrast {\\n background: transparent;\\n border-color: transparent;\\n color: \").concat(dt('button.text.contrast.color'), \";\\n}\\n\\n.p-button-text.p-button-contrast:not(:disabled):hover {\\n background: \").concat(dt('button.text.contrast.hover.background'), \";\\n border-color: transparent;\\n color: \").concat(dt('button.text.contrast.color'), \";\\n}\\n\\n.p-button-text.p-button-contrast:not(:disabled):active {\\n background: \").concat(dt('button.text.contrast.active.background'), \";\\n border-color: transparent;\\n color: \").concat(dt('button.text.contrast.color'), \";\\n}\\n\\n.p-button-text.p-button-plain {\\n background: transparent;\\n border-color: transparent;\\n color: \").concat(dt('button.text.plain.color'), \";\\n}\\n\\n.p-button-text.p-button-plain:not(:disabled):hover {\\n background: \").concat(dt('button.text.plain.hover.background'), \";\\n border-color: transparent;\\n color: \").concat(dt('button.text.plain.color'), \";\\n}\\n\\n.p-button-text.p-button-plain:not(:disabled):active {\\n background: \").concat(dt('button.text.plain.active.background'), \";\\n border-color: transparent;\\n color: \").concat(dt('button.text.plain.color'), \";\\n}\\n\\n.p-button-link {\\n background: transparent;\\n border-color: transparent;\\n color: \").concat(dt('button.link.color'), \";\\n}\\n\\n.p-button-link:not(:disabled):hover {\\n background: transparent;\\n border-color: transparent;\\n color: \").concat(dt('button.link.hover.color'), \";\\n}\\n\\n.p-button-link:not(:disabled):hover .p-button-label {\\n text-decoration: underline;\\n}\\n\\n.p-button-link:not(:disabled):active {\\n background: transparent;\\n border-color: transparent;\\n color: \").concat(dt('button.link.active.color'), \";\\n}\\n\");\n};\nvar classes = {\n root: function root(_ref2) {\n var instance = _ref2.instance,\n props = _ref2.props;\n return ['p-button p-component', _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({\n 'p-button-icon-only': instance.hasIcon && !props.label && !props.badge,\n 'p-button-vertical': (props.iconPos === 'top' || props.iconPos === 'bottom') && props.label,\n 'p-button-loading': props.loading,\n 'p-button-link': props.link || props.variant === 'link'\n }, \"p-button-\".concat(props.severity), props.severity), 'p-button-raised', props.raised), 'p-button-rounded', props.rounded), 'p-button-text', props.text || props.variant === 'text'), 'p-button-outlined', props.outlined || props.variant === 'outlined'), 'p-button-sm', props.size === 'small'), 'p-button-lg', props.size === 'large'), 'p-button-plain', props.plain), 'p-button-fluid', instance.hasFluid)];\n },\n loadingIcon: 'p-button-loading-icon',\n icon: function icon(_ref4) {\n var props = _ref4.props;\n return ['p-button-icon', _defineProperty({}, \"p-button-icon-\".concat(props.iconPos), props.label)];\n },\n label: 'p-button-label'\n};\nvar ButtonStyle = BaseStyle.extend({\n name: 'button',\n theme: theme,\n classes: classes\n});\n\nexport { ButtonStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { isEmpty } from '@primeuix/utils/object';\nimport SpinnerIcon from '@primevue/icons/spinner';\nimport Badge from 'primevue/badge';\nimport Ripple from 'primevue/ripple';\nimport { mergeProps, resolveComponent, resolveDirective, withDirectives, openBlock, createBlock, resolveDynamicComponent, withCtx, renderSlot, createElementBlock, createCommentVNode, createElementVNode, toDisplayString, normalizeClass } from 'vue';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport ButtonStyle from 'primevue/button/style';\n\nvar script$1 = {\n name: 'BaseButton',\n \"extends\": BaseComponent,\n props: {\n label: {\n type: String,\n \"default\": null\n },\n icon: {\n type: String,\n \"default\": null\n },\n iconPos: {\n type: String,\n \"default\": 'left'\n },\n iconClass: {\n type: [String, Object],\n \"default\": null\n },\n badge: {\n type: String,\n \"default\": null\n },\n badgeClass: {\n type: [String, Object],\n \"default\": null\n },\n badgeSeverity: {\n type: String,\n \"default\": 'secondary'\n },\n loading: {\n type: Boolean,\n \"default\": false\n },\n loadingIcon: {\n type: String,\n \"default\": undefined\n },\n as: {\n type: [String, Object],\n \"default\": 'BUTTON'\n },\n asChild: {\n type: Boolean,\n \"default\": false\n },\n link: {\n type: Boolean,\n \"default\": false\n },\n severity: {\n type: String,\n \"default\": null\n },\n raised: {\n type: Boolean,\n \"default\": false\n },\n rounded: {\n type: Boolean,\n \"default\": false\n },\n text: {\n type: Boolean,\n \"default\": false\n },\n outlined: {\n type: Boolean,\n \"default\": false\n },\n size: {\n type: String,\n \"default\": null\n },\n variant: {\n type: String,\n \"default\": null\n },\n plain: {\n type: Boolean,\n \"default\": false\n },\n fluid: {\n type: Boolean,\n \"default\": null\n }\n },\n style: ButtonStyle,\n provide: function provide() {\n return {\n $pcButton: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'Button',\n \"extends\": script$1,\n inheritAttrs: false,\n inject: {\n $pcFluid: {\n \"default\": null\n }\n },\n methods: {\n getPTOptions: function getPTOptions(key) {\n var _ptm = key === 'root' ? this.ptmi : this.ptm;\n return _ptm(key, {\n context: {\n disabled: this.disabled\n }\n });\n }\n },\n computed: {\n disabled: function disabled() {\n return this.$attrs.disabled || this.$attrs.disabled === '' || this.loading;\n },\n defaultAriaLabel: function defaultAriaLabel() {\n return this.label ? this.label + (this.badge ? ' ' + this.badge : '') : this.$attrs.ariaLabel;\n },\n hasIcon: function hasIcon() {\n return this.icon || this.$slots.icon;\n },\n attrs: function attrs() {\n return mergeProps(this.asAttrs, this.a11yAttrs, this.getPTOptions('root'));\n },\n asAttrs: function asAttrs() {\n return this.as === 'BUTTON' ? {\n type: 'button',\n disabled: this.disabled\n } : undefined;\n },\n a11yAttrs: function a11yAttrs() {\n return {\n 'aria-label': this.defaultAriaLabel,\n 'data-pc-name': 'button',\n 'data-p-disabled': this.disabled,\n 'data-p-severity': this.severity\n };\n },\n hasFluid: function hasFluid() {\n return isEmpty(this.fluid) ? !!this.$pcFluid : this.fluid;\n }\n },\n components: {\n SpinnerIcon: SpinnerIcon,\n Badge: Badge\n },\n directives: {\n ripple: Ripple\n }\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_SpinnerIcon = resolveComponent(\"SpinnerIcon\");\n var _component_Badge = resolveComponent(\"Badge\");\n var _directive_ripple = resolveDirective(\"ripple\");\n return !_ctx.asChild ? withDirectives((openBlock(), createBlock(resolveDynamicComponent(_ctx.as), mergeProps({\n key: 0,\n \"class\": _ctx.cx('root')\n }, $options.attrs), {\n \"default\": withCtx(function () {\n return [renderSlot(_ctx.$slots, \"default\", {}, function () {\n return [_ctx.loading ? renderSlot(_ctx.$slots, \"loadingicon\", mergeProps({\n key: 0,\n \"class\": [_ctx.cx('loadingIcon'), _ctx.cx('icon')]\n }, _ctx.ptm('loadingIcon')), function () {\n return [_ctx.loadingIcon ? (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 0,\n \"class\": [_ctx.cx('loadingIcon'), _ctx.cx('icon'), _ctx.loadingIcon]\n }, _ctx.ptm('loadingIcon')), null, 16)) : (openBlock(), createBlock(_component_SpinnerIcon, mergeProps({\n key: 1,\n \"class\": [_ctx.cx('loadingIcon'), _ctx.cx('icon')],\n spin: \"\"\n }, _ctx.ptm('loadingIcon')), null, 16, [\"class\"]))];\n }) : renderSlot(_ctx.$slots, \"icon\", mergeProps({\n key: 1,\n \"class\": [_ctx.cx('icon')]\n }, _ctx.ptm('icon')), function () {\n return [_ctx.icon ? (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 0,\n \"class\": [_ctx.cx('icon'), _ctx.icon, _ctx.iconClass]\n }, _ctx.ptm('icon')), null, 16)) : createCommentVNode(\"\", true)];\n }), createElementVNode(\"span\", mergeProps({\n \"class\": _ctx.cx('label')\n }, _ctx.ptm('label')), toDisplayString(_ctx.label || ' '), 17), _ctx.badge ? (openBlock(), createBlock(_component_Badge, {\n key: 2,\n value: _ctx.badge,\n \"class\": normalizeClass(_ctx.badgeClass),\n severity: _ctx.badgeSeverity,\n unstyled: _ctx.unstyled,\n pt: _ctx.ptm('pcBadge')\n }, null, 8, [\"value\", \"class\", \"severity\", \"unstyled\", \"pt\"])) : createCommentVNode(\"\", true)];\n })];\n }),\n _: 3\n }, 16, [\"class\"])), [[_directive_ripple]]) : renderSlot(_ctx.$slots, \"default\", {\n key: 1,\n \"class\": normalizeClass(_ctx.cx('root')),\n a11yAttrs: $options.a11yAttrs\n });\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-divider-horizontal {\\n display: flex;\\n width: 100%;\\n position: relative;\\n align-items: center;\\n margin: \".concat(dt('divider.horizontal.margin'), \";\\n padding: \").concat(dt('divider.horizontal.padding'), \";\\n}\\n\\n.p-divider-horizontal:before {\\n position: absolute;\\n display: block;\\n inset-block-start: 50%;\\n inset-inline-start: 0;\\n width: 100%;\\n content: \\\"\\\";\\n border-block-start: 1px solid \").concat(dt('divider.border.color'), \";\\n}\\n\\n.p-divider-horizontal .p-divider-content {\\n padding: \").concat(dt('divider.horizontal.content.padding'), \";\\n}\\n\\n.p-divider-vertical {\\n min-height: 100%;\\n display: flex;\\n position: relative;\\n justify-content: center;\\n margin: \").concat(dt('divider.vertical.margin'), \";\\n padding: \").concat(dt('divider.vertical.padding'), \";\\n}\\n\\n.p-divider-vertical:before {\\n position: absolute;\\n display: block;\\n inset-block-start: 0;\\n inset-inline-start: 50%;\\n height: 100%;\\n content: \\\"\\\";\\n border-inline-start: 1px solid \").concat(dt('divider.border.color'), \";\\n}\\n\\n.p-divider.p-divider-vertical .p-divider-content {\\n padding: \").concat(dt('divider.vertical.content.padding'), \";\\n}\\n\\n.p-divider-content {\\n z-index: 1;\\n background: \").concat(dt('divider.content.background'), \";\\n color: \").concat(dt('divider.content.color'), \";\\n}\\n\\n.p-divider-solid.p-divider-horizontal:before {\\n border-block-start-style: solid;\\n}\\n\\n.p-divider-solid.p-divider-vertical:before {\\n border-inline-start-style: solid;\\n}\\n\\n.p-divider-dashed.p-divider-horizontal:before {\\n border-block-start-style: dashed;\\n}\\n\\n.p-divider-dashed.p-divider-vertical:before {\\n border-inline-start-style: dashed;\\n}\\n\\n.p-divider-dotted.p-divider-horizontal:before {\\n border-block-start-style: dotted;\\n}\\n\\n.p-divider-dotted.p-divider-vertical:before {\\n border-inline-start-style: dotted;\\n}\\n\\n.p-divider-left:dir(rtl),\\n.p-divider-right:dir(rtl) {\\n flex-direction: row-reverse;\\n}\\n\");\n};\n\n/* Position */\nvar inlineStyles = {\n root: function root(_ref2) {\n var props = _ref2.props;\n return {\n justifyContent: props.layout === 'horizontal' ? props.align === 'center' || props.align === null ? 'center' : props.align === 'left' ? 'flex-start' : props.align === 'right' ? 'flex-end' : null : null,\n alignItems: props.layout === 'vertical' ? props.align === 'center' || props.align === null ? 'center' : props.align === 'top' ? 'flex-start' : props.align === 'bottom' ? 'flex-end' : null : null\n };\n }\n};\nvar classes = {\n root: function root(_ref3) {\n var props = _ref3.props;\n return ['p-divider p-component', 'p-divider-' + props.layout, 'p-divider-' + props.type, {\n 'p-divider-left': props.layout === 'horizontal' && (!props.align || props.align === 'left')\n }, {\n 'p-divider-center': props.layout === 'horizontal' && props.align === 'center'\n }, {\n 'p-divider-right': props.layout === 'horizontal' && props.align === 'right'\n }, {\n 'p-divider-top': props.layout === 'vertical' && props.align === 'top'\n }, {\n 'p-divider-center': props.layout === 'vertical' && (!props.align || props.align === 'center')\n }, {\n 'p-divider-bottom': props.layout === 'vertical' && props.align === 'bottom'\n }];\n },\n content: 'p-divider-content'\n};\nvar DividerStyle = BaseStyle.extend({\n name: 'divider',\n theme: theme,\n classes: classes,\n inlineStyles: inlineStyles\n});\n\nexport { DividerStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseComponent from '@primevue/core/basecomponent';\nimport DividerStyle from 'primevue/divider/style';\nimport { openBlock, createElementBlock, mergeProps, renderSlot, createCommentVNode } from 'vue';\n\nvar script$1 = {\n name: 'BaseDivider',\n \"extends\": BaseComponent,\n props: {\n align: {\n type: String,\n \"default\": null\n },\n layout: {\n type: String,\n \"default\": 'horizontal'\n },\n type: {\n type: String,\n \"default\": 'solid'\n }\n },\n style: DividerStyle,\n provide: function provide() {\n return {\n $pcDivider: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'Divider',\n \"extends\": script$1,\n inheritAttrs: false\n};\n\nvar _hoisted_1 = [\"aria-orientation\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": _ctx.cx('root'),\n style: _ctx.sx('root'),\n role: \"separator\",\n \"aria-orientation\": _ctx.layout\n }, _ctx.ptmi('root')), [_ctx.$slots[\"default\"] ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n \"class\": _ctx.cx('content')\n }, _ctx.ptm('content')), [renderSlot(_ctx.$slots, \"default\")], 16)) : createCommentVNode(\"\", true)], 16, _hoisted_1);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseIcon from '@primevue/icons/baseicon';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode } from 'vue';\n\nvar script = {\n name: 'MinusIcon',\n \"extends\": BaseIcon\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", mergeProps({\n width: \"14\",\n height: \"14\",\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, _ctx.pti()), _cache[0] || (_cache[0] = [createElementVNode(\"path\", {\n d: \"M13.2222 7.77778H0.777778C0.571498 7.77778 0.373667 7.69584 0.227806 7.54998C0.0819442 7.40412 0 7.20629 0 7.00001C0 6.79373 0.0819442 6.5959 0.227806 6.45003C0.373667 6.30417 0.571498 6.22223 0.777778 6.22223H13.2222C13.4285 6.22223 13.6263 6.30417 13.7722 6.45003C13.9181 6.5959 14 6.79373 14 7.00001C14 7.20629 13.9181 7.40412 13.7722 7.54998C13.6263 7.69584 13.4285 7.77778 13.2222 7.77778Z\",\n fill: \"currentColor\"\n }, null, -1)]), 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-checkbox {\\n position: relative;\\n display: inline-flex;\\n user-select: none;\\n vertical-align: bottom;\\n width: \".concat(dt('checkbox.width'), \";\\n height: \").concat(dt('checkbox.height'), \";\\n}\\n\\n.p-checkbox-input {\\n cursor: pointer;\\n appearance: none;\\n position: absolute;\\n inset-block-start: 0;\\n inset-inline-start: 0;\\n width: 100%;\\n height: 100%;\\n padding: 0;\\n margin: 0;\\n opacity: 0;\\n z-index: 1;\\n outline: 0 none;\\n border: 1px solid transparent;\\n border-radius: \").concat(dt('checkbox.border.radius'), \";\\n}\\n\\n.p-checkbox-box {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n border-radius: \").concat(dt('checkbox.border.radius'), \";\\n border: 1px solid \").concat(dt('checkbox.border.color'), \";\\n background: \").concat(dt('checkbox.background'), \";\\n width: \").concat(dt('checkbox.width'), \";\\n height: \").concat(dt('checkbox.height'), \";\\n transition: background \").concat(dt('checkbox.transition.duration'), \", color \").concat(dt('checkbox.transition.duration'), \", border-color \").concat(dt('checkbox.transition.duration'), \", box-shadow \").concat(dt('checkbox.transition.duration'), \", outline-color \").concat(dt('checkbox.transition.duration'), \";\\n outline-color: transparent;\\n box-shadow: \").concat(dt('checkbox.shadow'), \";\\n}\\n\\n.p-checkbox-icon {\\n transition-duration: \").concat(dt('checkbox.transition.duration'), \";\\n color: \").concat(dt('checkbox.icon.color'), \";\\n font-size: \").concat(dt('checkbox.icon.size'), \";\\n width: \").concat(dt('checkbox.icon.size'), \";\\n height: \").concat(dt('checkbox.icon.size'), \";\\n}\\n\\n.p-checkbox:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box {\\n border-color: \").concat(dt('checkbox.hover.border.color'), \";\\n}\\n\\n.p-checkbox-checked .p-checkbox-box {\\n border-color: \").concat(dt('checkbox.checked.border.color'), \";\\n background: \").concat(dt('checkbox.checked.background'), \";\\n}\\n\\n.p-checkbox-checked .p-checkbox-icon {\\n color: \").concat(dt('checkbox.icon.checked.color'), \";\\n}\\n\\n.p-checkbox-checked:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box {\\n background: \").concat(dt('checkbox.checked.hover.background'), \";\\n border-color: \").concat(dt('checkbox.checked.hover.border.color'), \";\\n}\\n\\n.p-checkbox-checked:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-icon {\\n color: \").concat(dt('checkbox.icon.checked.hover.color'), \";\\n}\\n\\n.p-checkbox:not(.p-disabled):has(.p-checkbox-input:focus-visible) .p-checkbox-box {\\n border-color: \").concat(dt('checkbox.focus.border.color'), \";\\n box-shadow: \").concat(dt('checkbox.focus.ring.shadow'), \";\\n outline: \").concat(dt('checkbox.focus.ring.width'), \" \").concat(dt('checkbox.focus.ring.style'), \" \").concat(dt('checkbox.focus.ring.color'), \";\\n outline-offset: \").concat(dt('checkbox.focus.ring.offset'), \";\\n}\\n\\n.p-checkbox-checked:not(.p-disabled):has(.p-checkbox-input:focus-visible) .p-checkbox-box {\\n border-color: \").concat(dt('checkbox.checked.focus.border.color'), \";\\n}\\n\\n.p-checkbox.p-invalid > .p-checkbox-box {\\n border-color: \").concat(dt('checkbox.invalid.border.color'), \";\\n}\\n\\n.p-checkbox.p-variant-filled .p-checkbox-box {\\n background: \").concat(dt('checkbox.filled.background'), \";\\n}\\n\\n.p-checkbox-checked.p-variant-filled .p-checkbox-box {\\n background: \").concat(dt('checkbox.checked.background'), \";\\n}\\n\\n.p-checkbox-checked.p-variant-filled:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box {\\n background: \").concat(dt('checkbox.checked.hover.background'), \";\\n}\\n\\n.p-checkbox.p-disabled {\\n opacity: 1;\\n}\\n\\n.p-checkbox.p-disabled .p-checkbox-box {\\n background: \").concat(dt('checkbox.disabled.background'), \";\\n border-color: \").concat(dt('checkbox.checked.disabled.border.color'), \";\\n}\\n\\n.p-checkbox.p-disabled .p-checkbox-box .p-checkbox-icon {\\n color: \").concat(dt('checkbox.icon.disabled.color'), \";\\n}\\n\\n.p-checkbox-sm,\\n.p-checkbox-sm .p-checkbox-box {\\n width: \").concat(dt('checkbox.sm.width'), \";\\n height: \").concat(dt('checkbox.sm.height'), \";\\n}\\n\\n.p-checkbox-sm .p-checkbox-icon {\\n font-size: \").concat(dt('checkbox.icon.sm.size'), \";\\n width: \").concat(dt('checkbox.icon.sm.size'), \";\\n height: \").concat(dt('checkbox.icon.sm.size'), \";\\n}\\n\\n.p-checkbox-lg,\\n.p-checkbox-lg .p-checkbox-box {\\n width: \").concat(dt('checkbox.lg.width'), \";\\n height: \").concat(dt('checkbox.lg.height'), \";\\n}\\n\\n.p-checkbox-lg .p-checkbox-icon {\\n font-size: \").concat(dt('checkbox.icon.lg.size'), \";\\n width: \").concat(dt('checkbox.icon.lg.size'), \";\\n height: \").concat(dt('checkbox.icon.lg.size'), \";\\n}\\n\");\n};\nvar classes = {\n root: function root(_ref2) {\n var instance = _ref2.instance,\n props = _ref2.props;\n return ['p-checkbox p-component', {\n 'p-checkbox-checked': instance.checked,\n 'p-disabled': props.disabled,\n 'p-invalid': instance.$pcCheckboxGroup ? instance.$pcCheckboxGroup.$invalid : instance.$invalid,\n 'p-variant-filled': instance.$variant === 'filled',\n 'p-checkbox-sm p-inputfield-sm': props.size === 'small',\n 'p-checkbox-lg p-inputfield-lg': props.size === 'large'\n }];\n },\n box: 'p-checkbox-box',\n input: 'p-checkbox-input',\n icon: 'p-checkbox-icon'\n};\nvar CheckboxStyle = BaseStyle.extend({\n name: 'checkbox',\n theme: theme,\n classes: classes\n});\n\nexport { CheckboxStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { equals, contains } from '@primeuix/utils/object';\nimport CheckIcon from '@primevue/icons/check';\nimport MinusIcon from '@primevue/icons/minus';\nimport BaseInput from '@primevue/core/baseinput';\nimport CheckboxStyle from 'primevue/checkbox/style';\nimport { resolveComponent, openBlock, createElementBlock, mergeProps, createElementVNode, renderSlot, normalizeClass, createBlock, createCommentVNode } from 'vue';\n\nvar script$1 = {\n name: 'BaseCheckbox',\n \"extends\": BaseInput,\n props: {\n value: null,\n binary: Boolean,\n indeterminate: {\n type: Boolean,\n \"default\": false\n },\n trueValue: {\n type: null,\n \"default\": true\n },\n falseValue: {\n type: null,\n \"default\": false\n },\n readonly: {\n type: Boolean,\n \"default\": false\n },\n required: {\n type: Boolean,\n \"default\": false\n },\n tabindex: {\n type: Number,\n \"default\": null\n },\n inputId: {\n type: String,\n \"default\": null\n },\n inputClass: {\n type: [String, Object],\n \"default\": null\n },\n inputStyle: {\n type: Object,\n \"default\": null\n },\n ariaLabelledby: {\n type: String,\n \"default\": null\n },\n ariaLabel: {\n type: String,\n \"default\": null\n }\n },\n style: CheckboxStyle,\n provide: function provide() {\n return {\n $pcCheckbox: this,\n $parentInstance: this\n };\n }\n};\n\nfunction _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _iterableToArray(r) { if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r); }\nfunction _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nvar script = {\n name: 'Checkbox',\n \"extends\": script$1,\n inheritAttrs: false,\n emits: ['change', 'focus', 'blur', 'update:indeterminate'],\n inject: {\n $pcCheckboxGroup: {\n \"default\": undefined\n }\n },\n data: function data() {\n return {\n d_indeterminate: this.indeterminate\n };\n },\n watch: {\n indeterminate: function indeterminate(newValue) {\n this.d_indeterminate = newValue;\n }\n },\n methods: {\n getPTOptions: function getPTOptions(key) {\n var _ptm = key === 'root' ? this.ptmi : this.ptm;\n return _ptm(key, {\n context: {\n checked: this.checked,\n indeterminate: this.d_indeterminate,\n disabled: this.disabled\n }\n });\n },\n onChange: function onChange(event) {\n var _this = this;\n if (!this.disabled && !this.readonly) {\n var value = this.$pcCheckboxGroup ? this.$pcCheckboxGroup.d_value : this.d_value;\n var newModelValue;\n if (this.binary) {\n newModelValue = this.d_indeterminate ? this.trueValue : this.checked ? this.falseValue : this.trueValue;\n } else {\n if (this.checked || this.d_indeterminate) newModelValue = value.filter(function (val) {\n return !equals(val, _this.value);\n });else newModelValue = value ? [].concat(_toConsumableArray(value), [this.value]) : [this.value];\n }\n if (this.d_indeterminate) {\n this.d_indeterminate = false;\n this.$emit('update:indeterminate', this.d_indeterminate);\n }\n this.$pcCheckboxGroup ? this.$pcCheckboxGroup.writeValue(newModelValue, event) : this.writeValue(newModelValue, event);\n this.$emit('change', event);\n }\n },\n onFocus: function onFocus(event) {\n this.$emit('focus', event);\n },\n onBlur: function onBlur(event) {\n var _this$formField$onBlu, _this$formField;\n this.$emit('blur', event);\n (_this$formField$onBlu = (_this$formField = this.formField).onBlur) === null || _this$formField$onBlu === void 0 || _this$formField$onBlu.call(_this$formField, event);\n }\n },\n computed: {\n groupName: function groupName() {\n return this.$pcCheckboxGroup ? this.$pcCheckboxGroup.groupName : this.$formName;\n },\n checked: function checked() {\n var value = this.$pcCheckboxGroup ? this.$pcCheckboxGroup.d_value : this.d_value;\n return this.d_indeterminate ? false : this.binary ? value === this.trueValue : contains(this.value, value);\n }\n },\n components: {\n CheckIcon: CheckIcon,\n MinusIcon: MinusIcon\n }\n};\n\nvar _hoisted_1 = [\"data-p-checked\", \"data-p-indeterminate\", \"data-p-disabled\"];\nvar _hoisted_2 = [\"id\", \"value\", \"name\", \"checked\", \"tabindex\", \"disabled\", \"readonly\", \"required\", \"aria-labelledby\", \"aria-label\", \"aria-invalid\", \"aria-checked\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_CheckIcon = resolveComponent(\"CheckIcon\");\n var _component_MinusIcon = resolveComponent(\"MinusIcon\");\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": _ctx.cx('root')\n }, $options.getPTOptions('root'), {\n \"data-p-checked\": $options.checked,\n \"data-p-indeterminate\": $data.d_indeterminate || undefined,\n \"data-p-disabled\": _ctx.disabled\n }), [createElementVNode(\"input\", mergeProps({\n id: _ctx.inputId,\n type: \"checkbox\",\n \"class\": [_ctx.cx('input'), _ctx.inputClass],\n style: _ctx.inputStyle,\n value: _ctx.value,\n name: $options.groupName,\n checked: $options.checked,\n tabindex: _ctx.tabindex,\n disabled: _ctx.disabled,\n readonly: _ctx.readonly,\n required: _ctx.required,\n \"aria-labelledby\": _ctx.ariaLabelledby,\n \"aria-label\": _ctx.ariaLabel,\n \"aria-invalid\": _ctx.invalid || undefined,\n \"aria-checked\": $data.d_indeterminate ? 'mixed' : undefined,\n onFocus: _cache[0] || (_cache[0] = function () {\n return $options.onFocus && $options.onFocus.apply($options, arguments);\n }),\n onBlur: _cache[1] || (_cache[1] = function () {\n return $options.onBlur && $options.onBlur.apply($options, arguments);\n }),\n onChange: _cache[2] || (_cache[2] = function () {\n return $options.onChange && $options.onChange.apply($options, arguments);\n })\n }, $options.getPTOptions('input')), null, 16, _hoisted_2), createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('box')\n }, $options.getPTOptions('box')), [renderSlot(_ctx.$slots, \"icon\", {\n checked: $options.checked,\n indeterminate: $data.d_indeterminate,\n \"class\": normalizeClass(_ctx.cx('icon'))\n }, function () {\n return [$options.checked ? (openBlock(), createBlock(_component_CheckIcon, mergeProps({\n key: 0,\n \"class\": _ctx.cx('icon')\n }, $options.getPTOptions('icon')), null, 16, [\"class\"])) : $data.d_indeterminate ? (openBlock(), createBlock(_component_MinusIcon, mergeProps({\n key: 1,\n \"class\": _ctx.cx('icon')\n }, $options.getPTOptions('icon')), null, 16, [\"class\"])) : createCommentVNode(\"\", true)];\n })], 16)], 16, _hoisted_1);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","/**\n * Take input from [0, n] and return it as [0, 1]\n * @hidden\n */\nexport function bound01(n, max) {\n if (isOnePointZero(n)) {\n n = '100%';\n }\n const isPercent = isPercentage(n);\n n = max === 360 ? n : Math.min(max, Math.max(0, parseFloat(n)));\n // Automatically convert percentage into number\n if (isPercent) {\n n = parseInt(String(n * max), 10) / 100;\n }\n // Handle floating point rounding errors\n if (Math.abs(n - max) < 0.000001) {\n return 1;\n }\n // Convert into [0, 1] range if it isn't already\n if (max === 360) {\n // If n is a hue given in degrees,\n // wrap around out-of-range values into [0, 360] range\n // then convert into [0, 1].\n n = (n < 0 ? (n % max) + max : n % max) / parseFloat(String(max));\n }\n else {\n // If n not a hue given in degrees\n // Convert into [0, 1] range if it isn't already.\n n = (n % max) / parseFloat(String(max));\n }\n return n;\n}\n/**\n * Force a number between 0 and 1\n * @hidden\n */\nexport function clamp01(val) {\n return Math.min(1, Math.max(0, val));\n}\n/**\n * Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n * <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0>\n * @hidden\n */\nexport function isOnePointZero(n) {\n return typeof n === 'string' && n.indexOf('.') !== -1 && parseFloat(n) === 1;\n}\n/**\n * Check to see if string passed in is a percentage\n * @hidden\n */\nexport function isPercentage(n) {\n return typeof n === 'string' && n.indexOf('%') !== -1;\n}\n/**\n * Return a valid alpha value [0,1] with all invalid values being set to 1\n * @hidden\n */\nexport function boundAlpha(a) {\n a = parseFloat(a);\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n return a;\n}\n/**\n * Replace a decimal with it's percentage value\n * @hidden\n */\nexport function convertToPercentage(n) {\n if (Number(n) <= 1) {\n return `${Number(n) * 100}%`;\n }\n return n;\n}\n/**\n * Force a hex value to have 2 characters\n * @hidden\n */\nexport function pad2(c) {\n return c.length === 1 ? '0' + c : String(c);\n}\n","import { bound01, pad2 } from './util.js';\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// <http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript>\n/**\n * Handle bounds / percentage checking to conform to CSS color spec\n * <http://www.w3.org/TR/css3-color/>\n * *Assumes:* r, g, b in [0, 255] or [0, 1]\n * *Returns:* { r, g, b } in [0, 255]\n */\nexport function rgbToRgb(r, g, b) {\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255,\n };\n}\n/**\n * Converts an RGB color value to HSL.\n * *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n * *Returns:* { h, s, l } in [0,1]\n */\nexport function rgbToHsl(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n let h = 0;\n let s = 0;\n const l = (max + min) / 2;\n if (max === min) {\n s = 0;\n h = 0; // achromatic\n }\n else {\n const d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n return { h, s, l };\n}\nfunction hue2rgb(p, q, t) {\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * (6 * t);\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n}\n/**\n * Converts an HSL color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\nexport function hslToRgb(h, s, l) {\n let r;\n let g;\n let b;\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n if (s === 0) {\n // achromatic\n g = l;\n b = l;\n r = l;\n }\n else {\n const q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n/**\n * Converts an RGB color value to HSV\n *\n * *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n * *Returns:* { h, s, v } in [0,1]\n */\nexport function rgbToHsv(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n let h = 0;\n const v = max;\n const d = max - min;\n const s = max === 0 ? 0 : d / max;\n if (max === min) {\n h = 0; // achromatic\n }\n else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n return { h, s, v };\n}\n/**\n * Converts an HSV color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\nexport function hsvToRgb(h, s, v) {\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n const i = Math.floor(h);\n const f = h - i;\n const p = v * (1 - s);\n const q = v * (1 - f * s);\n const t = v * (1 - (1 - f) * s);\n const mod = i % 6;\n const r = [v, q, p, p, t, v][mod];\n const g = [t, v, v, q, p, p][mod];\n const b = [p, p, t, v, v, q][mod];\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n/**\n * Converts an RGB color to hex\n *\n * *Assumes:* r, g, and b are contained in the set [0, 255]\n * *Returns:* a 3 or 6 character hex\n */\nexport function rgbToHex(r, g, b, allow3Char) {\n const hex = [\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n ];\n // Return a 3 character hex if possible\n if (allow3Char &&\n hex[0].startsWith(hex[0].charAt(1)) &&\n hex[1].startsWith(hex[1].charAt(1)) &&\n hex[2].startsWith(hex[2].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n return hex.join('');\n}\n/**\n * Converts an RGBA color plus alpha transparency to hex\n *\n * *Assumes:* r, g, b are contained in the set [0, 255] and a in [0, 1]\n * *Returns:* a 4 or 8 character rgba hex\n */\n// eslint-disable-next-line max-params\nexport function rgbaToHex(r, g, b, a, allow4Char) {\n const hex = [\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n pad2(convertDecimalToHex(a)),\n ];\n // Return a 4 character hex if possible\n if (allow4Char &&\n hex[0].startsWith(hex[0].charAt(1)) &&\n hex[1].startsWith(hex[1].charAt(1)) &&\n hex[2].startsWith(hex[2].charAt(1)) &&\n hex[3].startsWith(hex[3].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n return hex.join('');\n}\n/**\n * Converts an RGBA color to an ARGB Hex8 string\n * Rarely used, but required for \"toFilter()\"\n *\n * *Assumes:* r, g, b are contained in the set [0, 255] and a in [0, 1]\n * *Returns:* a 8 character argb hex\n */\nexport function rgbaToArgbHex(r, g, b, a) {\n const hex = [\n pad2(convertDecimalToHex(a)),\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n ];\n return hex.join('');\n}\n/**\n * Converts CMYK to RBG\n * Assumes c, m, y, k are in the set [0, 100]\n */\nexport function cmykToRgb(c, m, y, k) {\n const cConv = c / 100;\n const mConv = m / 100;\n const yConv = y / 100;\n const kConv = k / 100;\n const r = 255 * (1 - cConv) * (1 - kConv);\n const g = 255 * (1 - mConv) * (1 - kConv);\n const b = 255 * (1 - yConv) * (1 - kConv);\n return { r, g, b };\n}\nexport function rgbToCmyk(r, g, b) {\n let c = 1 - r / 255;\n let m = 1 - g / 255;\n let y = 1 - b / 255;\n let k = Math.min(c, m, y);\n if (k === 1) {\n c = 0;\n m = 0;\n y = 0;\n }\n else {\n c = ((c - k) / (1 - k)) * 100;\n m = ((m - k) / (1 - k)) * 100;\n y = ((y - k) / (1 - k)) * 100;\n }\n k *= 100;\n return {\n c: Math.round(c),\n m: Math.round(m),\n y: Math.round(y),\n k: Math.round(k),\n };\n}\n/** Converts a decimal to a hex value */\nexport function convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n/** Converts a hex value to a decimal */\nexport function convertHexToDecimal(h) {\n return parseIntFromHex(h) / 255;\n}\n/** Parse a base-16 hex value into a base-10 integer */\nexport function parseIntFromHex(val) {\n return parseInt(val, 16);\n}\nexport function numberInputToObject(color) {\n return {\n r: color >> 16,\n g: (color & 0xff00) >> 8,\n b: color & 0xff,\n };\n}\n","// https://github.com/bahamas10/css-color-names/blob/master/css-color-names.json\n/**\n * @hidden\n */\nexport const names = {\n aliceblue: '#f0f8ff',\n antiquewhite: '#faebd7',\n aqua: '#00ffff',\n aquamarine: '#7fffd4',\n azure: '#f0ffff',\n beige: '#f5f5dc',\n bisque: '#ffe4c4',\n black: '#000000',\n blanchedalmond: '#ffebcd',\n blue: '#0000ff',\n blueviolet: '#8a2be2',\n brown: '#a52a2a',\n burlywood: '#deb887',\n cadetblue: '#5f9ea0',\n chartreuse: '#7fff00',\n chocolate: '#d2691e',\n coral: '#ff7f50',\n cornflowerblue: '#6495ed',\n cornsilk: '#fff8dc',\n crimson: '#dc143c',\n cyan: '#00ffff',\n darkblue: '#00008b',\n darkcyan: '#008b8b',\n darkgoldenrod: '#b8860b',\n darkgray: '#a9a9a9',\n darkgreen: '#006400',\n darkgrey: '#a9a9a9',\n darkkhaki: '#bdb76b',\n darkmagenta: '#8b008b',\n darkolivegreen: '#556b2f',\n darkorange: '#ff8c00',\n darkorchid: '#9932cc',\n darkred: '#8b0000',\n darksalmon: '#e9967a',\n darkseagreen: '#8fbc8f',\n darkslateblue: '#483d8b',\n darkslategray: '#2f4f4f',\n darkslategrey: '#2f4f4f',\n darkturquoise: '#00ced1',\n darkviolet: '#9400d3',\n deeppink: '#ff1493',\n deepskyblue: '#00bfff',\n dimgray: '#696969',\n dimgrey: '#696969',\n dodgerblue: '#1e90ff',\n firebrick: '#b22222',\n floralwhite: '#fffaf0',\n forestgreen: '#228b22',\n fuchsia: '#ff00ff',\n gainsboro: '#dcdcdc',\n ghostwhite: '#f8f8ff',\n goldenrod: '#daa520',\n gold: '#ffd700',\n gray: '#808080',\n green: '#008000',\n greenyellow: '#adff2f',\n grey: '#808080',\n honeydew: '#f0fff0',\n hotpink: '#ff69b4',\n indianred: '#cd5c5c',\n indigo: '#4b0082',\n ivory: '#fffff0',\n khaki: '#f0e68c',\n lavenderblush: '#fff0f5',\n lavender: '#e6e6fa',\n lawngreen: '#7cfc00',\n lemonchiffon: '#fffacd',\n lightblue: '#add8e6',\n lightcoral: '#f08080',\n lightcyan: '#e0ffff',\n lightgoldenrodyellow: '#fafad2',\n lightgray: '#d3d3d3',\n lightgreen: '#90ee90',\n lightgrey: '#d3d3d3',\n lightpink: '#ffb6c1',\n lightsalmon: '#ffa07a',\n lightseagreen: '#20b2aa',\n lightskyblue: '#87cefa',\n lightslategray: '#778899',\n lightslategrey: '#778899',\n lightsteelblue: '#b0c4de',\n lightyellow: '#ffffe0',\n lime: '#00ff00',\n limegreen: '#32cd32',\n linen: '#faf0e6',\n magenta: '#ff00ff',\n maroon: '#800000',\n mediumaquamarine: '#66cdaa',\n mediumblue: '#0000cd',\n mediumorchid: '#ba55d3',\n mediumpurple: '#9370db',\n mediumseagreen: '#3cb371',\n mediumslateblue: '#7b68ee',\n mediumspringgreen: '#00fa9a',\n mediumturquoise: '#48d1cc',\n mediumvioletred: '#c71585',\n midnightblue: '#191970',\n mintcream: '#f5fffa',\n mistyrose: '#ffe4e1',\n moccasin: '#ffe4b5',\n navajowhite: '#ffdead',\n navy: '#000080',\n oldlace: '#fdf5e6',\n olive: '#808000',\n olivedrab: '#6b8e23',\n orange: '#ffa500',\n orangered: '#ff4500',\n orchid: '#da70d6',\n palegoldenrod: '#eee8aa',\n palegreen: '#98fb98',\n paleturquoise: '#afeeee',\n palevioletred: '#db7093',\n papayawhip: '#ffefd5',\n peachpuff: '#ffdab9',\n peru: '#cd853f',\n pink: '#ffc0cb',\n plum: '#dda0dd',\n powderblue: '#b0e0e6',\n purple: '#800080',\n rebeccapurple: '#663399',\n red: '#ff0000',\n rosybrown: '#bc8f8f',\n royalblue: '#4169e1',\n saddlebrown: '#8b4513',\n salmon: '#fa8072',\n sandybrown: '#f4a460',\n seagreen: '#2e8b57',\n seashell: '#fff5ee',\n sienna: '#a0522d',\n silver: '#c0c0c0',\n skyblue: '#87ceeb',\n slateblue: '#6a5acd',\n slategray: '#708090',\n slategrey: '#708090',\n snow: '#fffafa',\n springgreen: '#00ff7f',\n steelblue: '#4682b4',\n tan: '#d2b48c',\n teal: '#008080',\n thistle: '#d8bfd8',\n tomato: '#ff6347',\n turquoise: '#40e0d0',\n violet: '#ee82ee',\n wheat: '#f5deb3',\n white: '#ffffff',\n whitesmoke: '#f5f5f5',\n yellow: '#ffff00',\n yellowgreen: '#9acd32',\n};\n","import { cmykToRgb, convertHexToDecimal, hslToRgb, hsvToRgb, parseIntFromHex, rgbToRgb, } from './conversion.js';\nimport { names } from './css-color-names.js';\nimport { boundAlpha, convertToPercentage } from './util.js';\n/**\n * Given a string or object, convert that input to RGB\n *\n * Possible string inputs:\n * ```\n * \"red\"\n * \"#f00\" or \"f00\"\n * \"#ff0000\" or \"ff0000\"\n * \"#ff000000\" or \"ff000000\"\n * \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n * \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n * \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n * \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n * \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n * \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n * \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n * \"cmyk(0, 20, 0, 0)\" or \"cmyk 0 20 0 0\"\n * ```\n */\nexport function inputToRGB(color) {\n let rgb = { r: 0, g: 0, b: 0 };\n let a = 1;\n let s = null;\n let v = null;\n let l = null;\n let ok = false;\n let format = false;\n if (typeof color === 'string') {\n color = stringInputToObject(color);\n }\n if (typeof color === 'object') {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === '%' ? 'prgb' : 'rgb';\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = 'hsv';\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = 'hsl';\n }\n else if (isValidCSSUnit(color.c) &&\n isValidCSSUnit(color.m) &&\n isValidCSSUnit(color.y) &&\n isValidCSSUnit(color.k)) {\n rgb = cmykToRgb(color.c, color.m, color.y, color.k);\n ok = true;\n format = 'cmyk';\n }\n if (Object.prototype.hasOwnProperty.call(color, 'a')) {\n a = color.a;\n }\n }\n a = boundAlpha(a);\n return {\n ok,\n format: color.format || format,\n r: Math.min(255, Math.max(rgb.r, 0)),\n g: Math.min(255, Math.max(rgb.g, 0)),\n b: Math.min(255, Math.max(rgb.b, 0)),\n a,\n };\n}\n// <http://www.w3.org/TR/css3-values/#integers>\nconst CSS_INTEGER = '[-\\\\+]?\\\\d+%?';\n// <http://www.w3.org/TR/css3-values/#number-value>\nconst CSS_NUMBER = '[-\\\\+]?\\\\d*\\\\.\\\\d+%?';\n// Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\nconst CSS_UNIT = '(?:' + CSS_NUMBER + ')|(?:' + CSS_INTEGER + ')';\n// Actual matching.\n// Parentheses and commas are optional, but not required.\n// Whitespace can take the place of commas or opening paren\n// eslint-disable-next-line prettier/prettier\nconst PERMISSIVE_MATCH3 = '[\\\\s|\\\\(]+(' + CSS_UNIT + ')[,|\\\\s]+(' + CSS_UNIT + ')[,|\\\\s]+(' + CSS_UNIT + ')\\\\s*\\\\)?';\nconst PERMISSIVE_MATCH4 = \n// eslint-disable-next-line prettier/prettier\n'[\\\\s|\\\\(]+(' + CSS_UNIT + ')[,|\\\\s]+(' + CSS_UNIT + ')[,|\\\\s]+(' + CSS_UNIT + ')[,|\\\\s]+(' + CSS_UNIT + ')\\\\s*\\\\)?';\nconst matchers = {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp('rgb' + PERMISSIVE_MATCH3),\n rgba: new RegExp('rgba' + PERMISSIVE_MATCH4),\n hsl: new RegExp('hsl' + PERMISSIVE_MATCH3),\n hsla: new RegExp('hsla' + PERMISSIVE_MATCH4),\n hsv: new RegExp('hsv' + PERMISSIVE_MATCH3),\n hsva: new RegExp('hsva' + PERMISSIVE_MATCH4),\n cmyk: new RegExp('cmyk' + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n};\n/**\n * Permissive string parsing. Take in a number of formats, and output an object\n * based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}` or `{c, m, y, k}` or `{c, m, y, k, a}`\n */\nexport function stringInputToObject(color) {\n color = color.trim().toLowerCase();\n if (color.length === 0) {\n return false;\n }\n let named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color === 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: 'name' };\n }\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n let match = matchers.rgb.exec(color);\n if (match) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n match = matchers.rgba.exec(color);\n if (match) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n match = matchers.hsl.exec(color);\n if (match) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n match = matchers.hsla.exec(color);\n if (match) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n match = matchers.hsv.exec(color);\n if (match) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n match = matchers.hsva.exec(color);\n if (match) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n match = matchers.cmyk.exec(color);\n if (match) {\n return {\n c: match[1],\n m: match[2],\n y: match[3],\n k: match[4],\n };\n }\n match = matchers.hex8.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? 'name' : 'hex8',\n };\n }\n match = matchers.hex6.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? 'name' : 'hex',\n };\n }\n match = matchers.hex4.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1] + match[1]),\n g: parseIntFromHex(match[2] + match[2]),\n b: parseIntFromHex(match[3] + match[3]),\n a: convertHexToDecimal(match[4] + match[4]),\n format: named ? 'name' : 'hex8',\n };\n }\n match = matchers.hex3.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1] + match[1]),\n g: parseIntFromHex(match[2] + match[2]),\n b: parseIntFromHex(match[3] + match[3]),\n format: named ? 'name' : 'hex',\n };\n }\n return false;\n}\n/**\n * Check to see if it looks like a CSS unit\n * (see `matchers` above for definition).\n */\nexport function isValidCSSUnit(color) {\n if (typeof color === 'number') {\n return !Number.isNaN(color);\n }\n return matchers.CSS_UNIT.test(color);\n}\n","import { numberInputToObject, rgbaToHex, rgbToCmyk, rgbToHex, rgbToHsl, rgbToHsv, } from './conversion.js';\nimport { names } from './css-color-names.js';\nimport { inputToRGB } from './format-input.js';\nimport { bound01, boundAlpha, clamp01 } from './util.js';\nexport class TinyColor {\n constructor(color = '', opts = {}) {\n // If input is already a tinycolor, return itself\n if (color instanceof TinyColor) {\n // eslint-disable-next-line no-constructor-return\n return color;\n }\n if (typeof color === 'number') {\n color = numberInputToObject(color);\n }\n this.originalInput = color;\n const rgb = inputToRGB(color);\n this.originalInput = color;\n this.r = rgb.r;\n this.g = rgb.g;\n this.b = rgb.b;\n this.a = rgb.a;\n this.roundA = Math.round(100 * this.a) / 100;\n this.format = opts.format ?? rgb.format;\n this.gradientType = opts.gradientType;\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this.r < 1) {\n this.r = Math.round(this.r);\n }\n if (this.g < 1) {\n this.g = Math.round(this.g);\n }\n if (this.b < 1) {\n this.b = Math.round(this.b);\n }\n this.isValid = rgb.ok;\n }\n isDark() {\n return this.getBrightness() < 128;\n }\n isLight() {\n return !this.isDark();\n }\n /**\n * Returns the perceived brightness of the color, from 0-255.\n */\n getBrightness() {\n // http://www.w3.org/TR/AERT#color-contrast\n const rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n }\n /**\n * Returns the perceived luminance of a color, from 0-1.\n */\n getLuminance() {\n // http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n const rgb = this.toRgb();\n let R;\n let G;\n let B;\n const RsRGB = rgb.r / 255;\n const GsRGB = rgb.g / 255;\n const BsRGB = rgb.b / 255;\n if (RsRGB <= 0.03928) {\n R = RsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n R = Math.pow((RsRGB + 0.055) / 1.055, 2.4);\n }\n if (GsRGB <= 0.03928) {\n G = GsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n G = Math.pow((GsRGB + 0.055) / 1.055, 2.4);\n }\n if (BsRGB <= 0.03928) {\n B = BsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n B = Math.pow((BsRGB + 0.055) / 1.055, 2.4);\n }\n return 0.2126 * R + 0.7152 * G + 0.0722 * B;\n }\n /**\n * Returns the alpha value of a color, from 0-1.\n */\n getAlpha() {\n return this.a;\n }\n /**\n * Sets the alpha value on the current color.\n *\n * @param alpha - The new alpha value. The accepted range is 0-1.\n */\n setAlpha(alpha) {\n this.a = boundAlpha(alpha);\n this.roundA = Math.round(100 * this.a) / 100;\n return this;\n }\n /**\n * Returns whether the color is monochrome.\n */\n isMonochrome() {\n const { s } = this.toHsl();\n return s === 0;\n }\n /**\n * Returns the object as a HSVA object.\n */\n toHsv() {\n const hsv = rgbToHsv(this.r, this.g, this.b);\n return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this.a };\n }\n /**\n * Returns the hsva values interpolated into a string with the following format:\n * \"hsva(xxx, xxx, xxx, xx)\".\n */\n toHsvString() {\n const hsv = rgbToHsv(this.r, this.g, this.b);\n const h = Math.round(hsv.h * 360);\n const s = Math.round(hsv.s * 100);\n const v = Math.round(hsv.v * 100);\n return this.a === 1 ? `hsv(${h}, ${s}%, ${v}%)` : `hsva(${h}, ${s}%, ${v}%, ${this.roundA})`;\n }\n /**\n * Returns the object as a HSLA object.\n */\n toHsl() {\n const hsl = rgbToHsl(this.r, this.g, this.b);\n return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this.a };\n }\n /**\n * Returns the hsla values interpolated into a string with the following format:\n * \"hsla(xxx, xxx, xxx, xx)\".\n */\n toHslString() {\n const hsl = rgbToHsl(this.r, this.g, this.b);\n const h = Math.round(hsl.h * 360);\n const s = Math.round(hsl.s * 100);\n const l = Math.round(hsl.l * 100);\n return this.a === 1 ? `hsl(${h}, ${s}%, ${l}%)` : `hsla(${h}, ${s}%, ${l}%, ${this.roundA})`;\n }\n /**\n * Returns the hex value of the color.\n * @param allow3Char will shorten hex value to 3 char if possible\n */\n toHex(allow3Char = false) {\n return rgbToHex(this.r, this.g, this.b, allow3Char);\n }\n /**\n * Returns the hex value of the color -with a # prefixed.\n * @param allow3Char will shorten hex value to 3 char if possible\n */\n toHexString(allow3Char = false) {\n return '#' + this.toHex(allow3Char);\n }\n /**\n * Returns the hex 8 value of the color.\n * @param allow4Char will shorten hex value to 4 char if possible\n */\n toHex8(allow4Char = false) {\n return rgbaToHex(this.r, this.g, this.b, this.a, allow4Char);\n }\n /**\n * Returns the hex 8 value of the color -with a # prefixed.\n * @param allow4Char will shorten hex value to 4 char if possible\n */\n toHex8String(allow4Char = false) {\n return '#' + this.toHex8(allow4Char);\n }\n /**\n * Returns the shorter hex value of the color depends on its alpha -with a # prefixed.\n * @param allowShortChar will shorten hex value to 3 or 4 char if possible\n */\n toHexShortString(allowShortChar = false) {\n return this.a === 1 ? this.toHexString(allowShortChar) : this.toHex8String(allowShortChar);\n }\n /**\n * Returns the object as a RGBA object.\n */\n toRgb() {\n return {\n r: Math.round(this.r),\n g: Math.round(this.g),\n b: Math.round(this.b),\n a: this.a,\n };\n }\n /**\n * Returns the RGBA values interpolated into a string with the following format:\n * \"RGBA(xxx, xxx, xxx, xx)\".\n */\n toRgbString() {\n const r = Math.round(this.r);\n const g = Math.round(this.g);\n const b = Math.round(this.b);\n return this.a === 1 ? `rgb(${r}, ${g}, ${b})` : `rgba(${r}, ${g}, ${b}, ${this.roundA})`;\n }\n /**\n * Returns the object as a RGBA object.\n */\n toPercentageRgb() {\n const fmt = (x) => `${Math.round(bound01(x, 255) * 100)}%`;\n return {\n r: fmt(this.r),\n g: fmt(this.g),\n b: fmt(this.b),\n a: this.a,\n };\n }\n /**\n * Returns the RGBA relative values interpolated into a string\n */\n toPercentageRgbString() {\n const rnd = (x) => Math.round(bound01(x, 255) * 100);\n return this.a === 1\n ? `rgb(${rnd(this.r)}%, ${rnd(this.g)}%, ${rnd(this.b)}%)`\n : `rgba(${rnd(this.r)}%, ${rnd(this.g)}%, ${rnd(this.b)}%, ${this.roundA})`;\n }\n toCmyk() {\n return {\n ...rgbToCmyk(this.r, this.g, this.b),\n };\n }\n toCmykString() {\n const { c, m, y, k } = rgbToCmyk(this.r, this.g, this.b);\n return `cmyk(${c}, ${m}, ${y}, ${k})`;\n }\n /**\n * The 'real' name of the color -if there is one.\n */\n toName() {\n if (this.a === 0) {\n return 'transparent';\n }\n if (this.a < 1) {\n return false;\n }\n const hex = '#' + rgbToHex(this.r, this.g, this.b, false);\n for (const [key, value] of Object.entries(names)) {\n if (hex === value) {\n return key;\n }\n }\n return false;\n }\n toString(format) {\n const formatSet = Boolean(format);\n format = format ?? this.format;\n let formattedString = false;\n const hasAlpha = this.a < 1 && this.a >= 0;\n const needsAlphaFormat = !formatSet && hasAlpha && (format.startsWith('hex') || format === 'name');\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === 'name' && this.a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === 'rgb') {\n formattedString = this.toRgbString();\n }\n if (format === 'prgb') {\n formattedString = this.toPercentageRgbString();\n }\n if (format === 'hex' || format === 'hex6') {\n formattedString = this.toHexString();\n }\n if (format === 'hex3') {\n formattedString = this.toHexString(true);\n }\n if (format === 'hex4') {\n formattedString = this.toHex8String(true);\n }\n if (format === 'hex8') {\n formattedString = this.toHex8String();\n }\n if (format === 'name') {\n formattedString = this.toName();\n }\n if (format === 'hsl') {\n formattedString = this.toHslString();\n }\n if (format === 'hsv') {\n formattedString = this.toHsvString();\n }\n if (format === 'cmyk') {\n formattedString = this.toCmykString();\n }\n return formattedString || this.toHexString();\n }\n toNumber() {\n return (Math.round(this.r) << 16) + (Math.round(this.g) << 8) + Math.round(this.b);\n }\n clone() {\n return new TinyColor(this.toString());\n }\n /**\n * Lighten the color a given amount. Providing 100 will always return white.\n * @param amount - valid between 1-100\n */\n lighten(amount = 10) {\n const hsl = this.toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return new TinyColor(hsl);\n }\n /**\n * Brighten the color a given amount, from 0 to 100.\n * @param amount - valid between 1-100\n */\n brighten(amount = 10) {\n const rgb = this.toRgb();\n rgb.r = Math.max(0, Math.min(255, rgb.r - Math.round(255 * -(amount / 100))));\n rgb.g = Math.max(0, Math.min(255, rgb.g - Math.round(255 * -(amount / 100))));\n rgb.b = Math.max(0, Math.min(255, rgb.b - Math.round(255 * -(amount / 100))));\n return new TinyColor(rgb);\n }\n /**\n * Darken the color a given amount, from 0 to 100.\n * Providing 100 will always return black.\n * @param amount - valid between 1-100\n */\n darken(amount = 10) {\n const hsl = this.toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return new TinyColor(hsl);\n }\n /**\n * Mix the color with pure white, from 0 to 100.\n * Providing 0 will do nothing, providing 100 will always return white.\n * @param amount - valid between 1-100\n */\n tint(amount = 10) {\n return this.mix('white', amount);\n }\n /**\n * Mix the color with pure black, from 0 to 100.\n * Providing 0 will do nothing, providing 100 will always return black.\n * @param amount - valid between 1-100\n */\n shade(amount = 10) {\n return this.mix('black', amount);\n }\n /**\n * Desaturate the color a given amount, from 0 to 100.\n * Providing 100 will is the same as calling greyscale\n * @param amount - valid between 1-100\n */\n desaturate(amount = 10) {\n const hsl = this.toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return new TinyColor(hsl);\n }\n /**\n * Saturate the color a given amount, from 0 to 100.\n * @param amount - valid between 1-100\n */\n saturate(amount = 10) {\n const hsl = this.toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return new TinyColor(hsl);\n }\n /**\n * Completely desaturates a color into greyscale.\n * Same as calling `desaturate(100)`\n */\n greyscale() {\n return this.desaturate(100);\n }\n /**\n * Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n * Values outside of this range will be wrapped into this range.\n */\n spin(amount) {\n const hsl = this.toHsl();\n const hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return new TinyColor(hsl);\n }\n /**\n * Mix the current color a given amount with another color, from 0 to 100.\n * 0 means no mixing (return current color).\n */\n mix(color, amount = 50) {\n const rgb1 = this.toRgb();\n const rgb2 = new TinyColor(color).toRgb();\n const p = amount / 100;\n const rgba = {\n r: (rgb2.r - rgb1.r) * p + rgb1.r,\n g: (rgb2.g - rgb1.g) * p + rgb1.g,\n b: (rgb2.b - rgb1.b) * p + rgb1.b,\n a: (rgb2.a - rgb1.a) * p + rgb1.a,\n };\n return new TinyColor(rgba);\n }\n analogous(results = 6, slices = 30) {\n const hsl = this.toHsl();\n const part = 360 / slices;\n const ret = [this];\n for (hsl.h = (hsl.h - ((part * results) >> 1) + 720) % 360; --results;) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(new TinyColor(hsl));\n }\n return ret;\n }\n /**\n * taken from https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js\n */\n complement() {\n const hsl = this.toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return new TinyColor(hsl);\n }\n monochromatic(results = 6) {\n const hsv = this.toHsv();\n const { h } = hsv;\n const { s } = hsv;\n let { v } = hsv;\n const res = [];\n const modification = 1 / results;\n while (results--) {\n res.push(new TinyColor({ h, s, v }));\n v = (v + modification) % 1;\n }\n return res;\n }\n splitcomplement() {\n const hsl = this.toHsl();\n const { h } = hsl;\n return [\n this,\n new TinyColor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l }),\n new TinyColor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l }),\n ];\n }\n /**\n * Compute how the color would appear on a background\n */\n onBackground(background) {\n const fg = this.toRgb();\n const bg = new TinyColor(background).toRgb();\n const alpha = fg.a + bg.a * (1 - fg.a);\n return new TinyColor({\n r: (fg.r * fg.a + bg.r * bg.a * (1 - fg.a)) / alpha,\n g: (fg.g * fg.a + bg.g * bg.a * (1 - fg.a)) / alpha,\n b: (fg.b * fg.a + bg.b * bg.a * (1 - fg.a)) / alpha,\n a: alpha,\n });\n }\n /**\n * Alias for `polyad(3)`\n */\n triad() {\n return this.polyad(3);\n }\n /**\n * Alias for `polyad(4)`\n */\n tetrad() {\n return this.polyad(4);\n }\n /**\n * Get polyad colors, like (for 1, 2, 3, 4, 5, 6, 7, 8, etc...)\n * monad, dyad, triad, tetrad, pentad, hexad, heptad, octad, etc...\n */\n polyad(n) {\n const hsl = this.toHsl();\n const { h } = hsl;\n const result = [this];\n const increment = 360 / n;\n for (let i = 1; i < n; i++) {\n result.push(new TinyColor({ h: (h + i * increment) % 360, s: hsl.s, l: hsl.l }));\n }\n return result;\n }\n /**\n * compare color vs current color\n */\n equals(color) {\n const comparedColor = new TinyColor(color);\n /**\n * RGB and CMYK do not have the same color gamut, so a CMYK conversion will never be 100%.\n * This means we need to compare CMYK to CMYK to ensure accuracy of the equals function.\n */\n if (this.format === 'cmyk' || comparedColor.format === 'cmyk') {\n return this.toCmykString() === comparedColor.toCmykString();\n }\n return this.toRgbString() === comparedColor.toRgbString();\n }\n}\n","<template lang=\"pug\">\n .card\n .flexPrompt\n label(for=\"gradientCheckbox\") Gradient fill:\n Checkbox#gradientCheckbox(\n v-model=\"fillStyle.gradientFill\"\n @change=\"styleChange\"\n binary\n )\n Divider\n .flexPrompt\n label(for=\"startInput\") {{ startPrompt }}:\n input.colour#startInput(\n type=\"color\"\n :value=\"startColour\"\n @input=\"colourChange\"\n )\n Button#swapButton(\n icon=\"pi pi-sort-alt\"\n variant=\"text\"\n aria-label=\"Swap colours\"\n size=\"small\"\n :class=\"{ hidden: !fillStyle.gradientFill }\"\n @click=\"swapColours\"\n )\n .flexPrompt#stopColour(:class=\"{ hidden: !fillStyle.gradientFill }\")\n label(for=\"stopInput\") Stop colour:\n input.colour#stopInput(\n type=\"color\"\n :value=\"stopColour\"\n @input=\"colourChange\"\n )\n .spacer\n .flexPrompt#stopColour(:class=\"{ hidden: !fillStyle.gradientFill }\")\n label Direction:\n #directions\n .flex.items-right.gap-2\n label(for=\"horizontal\") H\n RadioButton#horizontal(\n v-model=\"gradientDirn\"\n inputId=\"horizontal\"\n name=\"dirn\"\n value=\"H\"\n @change=\"emitChange\"\n )\n .flex.items-right.gap-2\n label(for=\"vertical\") V\n RadioButton#vertical(\n v-model=\"gradientDirn\"\n inputId=\"vertical\"\n name=\"dirn\"\n value=\"V\"\n @change=\"emitChange\"\n )\n</template>\n\n<script setup lang=\"ts\">\nimport * as vue from 'vue'\nimport { TinyColor } from '@ctrl/tinycolor'\nimport { useThemeCssVariables } from '@renderer/common/themeCssVariables'\n\nuseThemeCssVariables('button')\nuseThemeCssVariables('checkbox')\nuseThemeCssVariables('divider')\nuseThemeCssVariables('radiobutton')\n\nimport { type INodeStyle } from '@renderer/common/svgUtils'\n\nconst props = defineProps<{\n fillStyle: INodeStyle\n}>()\n\nconst startPrompt = vue.ref(props.fillStyle.gradientFill ? 'Start colour' : 'Fill colour')\n\nfunction styleChange(e: Event) {\n const target = e.target as HTMLInputElement\n if (target.checked) {\n startPrompt.value = 'Start colour'\n props.fillStyle.gradientFill = true\n } else {\n startPrompt.value = 'Fill colour'\n props.fillStyle.gradientFill = false\n }\n emitChange()\n}\n\nvue.watch(\n () => props.fillStyle,\n () => {\n startPrompt.value = props.fillStyle.gradientFill ? 'Start colour' : 'Fill colour'\n gradientDirn.value = props.fillStyle.direction ?? 'H'\n }\n)\n\nconst colours = vue.computed<{\n start: string\n stop: string\n}>(() => {\n return {\n start: props.fillStyle.colours[0],\n stop: props.fillStyle.colours[1] ?? props.fillStyle.colours[0]\n }\n})\n\nconst startColour = vue.computed<string>(() => {\n return new TinyColor(colours.value.start).toHexString()\n})\n\nconst stopColour = vue.computed<string>(() => {\n const stopColour = colours.value.stop || colours.value.start\n return new TinyColor(stopColour).toHexString()\n})\n\nconst gradientDirn = vue.ref<string>(props.fillStyle.direction ?? 'H')\n\nfunction colourChange(e: Event) {\n const target = e.target as HTMLInputElement\n if (target.id === 'startInput') {\n colours.value.start = target.value\n } else if (target.id === 'stopInput') {\n colours.value.stop = target.value\n }\n emitChange()\n}\n\nfunction swapColours(e: Event) {\n const stopColour = colours.value.stop\n colours.value.stop = colours.value.start\n colours.value.start = stopColour\n emitChange()\n}\n\nconst emit = defineEmits(['change'])\n\nfunction emitChange() {\n if (props.fillStyle.gradientFill) {\n emit('change', {\n gradientFill: true,\n colours: [colours.value.start, colours.value.stop],\n direction: gradientDirn.value\n })\n } else {\n emit('change', {\n gradientFill: false,\n colours: [colours.value.start]\n })\n }\n}\n</script>\n\n<style>\n/* Otherwise the tick mark is not obvious */\n.p-checkbox-checked .p-checkbox-icon {\n color: red !important;\n}\n</style>\n\n<style scoped>\n.flexPrompt {\n display: flex;\n justify-content: space-between;\n margin-bottom: 4px;\n}\n\n#gradientCheckbox {\n margin-right: 3px;\n}\n#swapButton {\n padding: 0;\n}\n#directions {\n display: flex;\n flex-direction: column;\n}\n\n.hidden {\n display: none;\n}\n\n.spacer {\n height: 10px;\n}\n/* Based on https://rebeccamdeprey.com/blog/styling-the-html-color-input */\n\ninput[type=\"color\" i] {\n inline-size: 24px;\n block-size: 24px;\n}\n\n/* Affects area between outer circle and color swatch. Firefox doesn't have an equivalent. */\ninput[type=\"color\" i]::-webkit-color-swatch-wrapper {\n padding: 1px;\n}\n\n/* Affects the inner circle, i.e. the current color selection */\ninput[type=\"color\" i]::-webkit-color-swatch {\n border-radius: 40%;\n}\n\ninput[type=\"color\" i]::-moz-color-swatch {\n border-radius: 40%;\n}\n</style>\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-slider {\\n position: relative;\\n background: \".concat(dt('slider.track.background'), \";\\n border-radius: \").concat(dt('slider.track.border.radius'), \";\\n}\\n\\n.p-slider-handle {\\n cursor: grab;\\n touch-action: none;\\n user-select: none;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n height: \").concat(dt('slider.handle.height'), \";\\n width: \").concat(dt('slider.handle.width'), \";\\n background: \").concat(dt('slider.handle.background'), \";\\n border-radius: \").concat(dt('slider.handle.border.radius'), \";\\n transition: background \").concat(dt('slider.transition.duration'), \", color \").concat(dt('slider.transition.duration'), \", border-color \").concat(dt('slider.transition.duration'), \", box-shadow \").concat(dt('slider.transition.duration'), \", outline-color \").concat(dt('slider.transition.duration'), \";\\n outline-color: transparent;\\n}\\n\\n.p-slider-handle::before {\\n content: \\\"\\\";\\n width: \").concat(dt('slider.handle.content.width'), \";\\n height: \").concat(dt('slider.handle.content.height'), \";\\n display: block;\\n background: \").concat(dt('slider.handle.content.background'), \";\\n border-radius: \").concat(dt('slider.handle.content.border.radius'), \";\\n box-shadow: \").concat(dt('slider.handle.content.shadow'), \";\\n transition: background \").concat(dt('slider.transition.duration'), \";\\n}\\n\\n.p-slider:not(.p-disabled) .p-slider-handle:hover {\\n background: \").concat(dt('slider.handle.hover.background'), \";\\n}\\n\\n.p-slider:not(.p-disabled) .p-slider-handle:hover::before {\\n background: \").concat(dt('slider.handle.content.hover.background'), \";\\n}\\n\\n.p-slider-handle:focus-visible {\\n box-shadow: \").concat(dt('slider.handle.focus.ring.shadow'), \";\\n outline: \").concat(dt('slider.handle.focus.ring.width'), \" \").concat(dt('slider.handle.focus.ring.style'), \" \").concat(dt('slider.handle.focus.ring.color'), \";\\n outline-offset: \").concat(dt('slider.handle.focus.ring.offset'), \";\\n}\\n\\n.p-slider-range {\\n display: block;\\n background: \").concat(dt('slider.range.background'), \";\\n border-radius: \").concat(dt('slider.border.radius'), \";\\n}\\n\\n.p-slider.p-slider-horizontal {\\n height: \").concat(dt('slider.track.size'), \";\\n}\\n\\n.p-slider-horizontal .p-slider-range {\\n inset-block-start: 0;\\n inset-inline-start: 0;\\n height: 100%;\\n}\\n\\n.p-slider-horizontal .p-slider-handle {\\n inset-block-start: 50%;\\n margin-block-start: calc(-1 * calc(\").concat(dt('slider.handle.height'), \" / 2));\\n margin-inline-start: calc(-1 * calc(\").concat(dt('slider.handle.width'), \" / 2));\\n}\\n\\n.p-slider-vertical {\\n min-height: 100px;\\n width: \").concat(dt('slider.track.size'), \";\\n}\\n\\n.p-slider-vertical .p-slider-handle {\\n inset-inline-start: 50%;\\n margin-inline-start: calc(-1 * calc(\").concat(dt('slider.handle.width'), \" / 2));\\n margin-block-end: calc(-1 * calc(\").concat(dt('slider.handle.height'), \" / 2));\\n}\\n\\n.p-slider-vertical .p-slider-range {\\n inset-block-end: 0;\\n inset-inline-start: 0;\\n width: 100%;\\n}\\n\");\n};\nvar inlineStyles = {\n handle: {\n position: 'absolute'\n },\n range: {\n position: 'absolute'\n }\n};\nvar classes = {\n root: function root(_ref2) {\n var instance = _ref2.instance,\n props = _ref2.props;\n return ['p-slider p-component', {\n 'p-disabled': props.disabled,\n 'p-invalid': instance.$invalid,\n 'p-slider-horizontal': props.orientation === 'horizontal',\n 'p-slider-vertical': props.orientation === 'vertical'\n }];\n },\n range: 'p-slider-range',\n handle: 'p-slider-handle'\n};\nvar SliderStyle = BaseStyle.extend({\n name: 'slider',\n theme: theme,\n classes: classes,\n inlineStyles: inlineStyles\n});\n\nexport { SliderStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { getWindowScrollLeft, getWindowScrollTop, isRTL, getAttribute } from '@primeuix/utils/dom';\nimport BaseEditableHolder from '@primevue/core/baseeditableholder';\nimport SliderStyle from 'primevue/slider/style';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode, createCommentVNode } from 'vue';\n\nvar script$1 = {\n name: 'BaseSlider',\n \"extends\": BaseEditableHolder,\n props: {\n min: {\n type: Number,\n \"default\": 0\n },\n max: {\n type: Number,\n \"default\": 100\n },\n orientation: {\n type: String,\n \"default\": 'horizontal'\n },\n step: {\n type: Number,\n \"default\": null\n },\n range: {\n type: Boolean,\n \"default\": false\n },\n tabindex: {\n type: Number,\n \"default\": 0\n },\n ariaLabelledby: {\n type: String,\n \"default\": null\n },\n ariaLabel: {\n type: String,\n \"default\": null\n }\n },\n style: SliderStyle,\n provide: function provide() {\n return {\n $pcSlider: this,\n $parentInstance: this\n };\n }\n};\n\nfunction _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _iterableToArray(r) { if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r); }\nfunction _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nvar script = {\n name: 'Slider',\n \"extends\": script$1,\n inheritAttrs: false,\n emits: ['change', 'slideend'],\n dragging: false,\n handleIndex: null,\n initX: null,\n initY: null,\n barWidth: null,\n barHeight: null,\n dragListener: null,\n dragEndListener: null,\n beforeUnmount: function beforeUnmount() {\n this.unbindDragListeners();\n },\n methods: {\n updateDomData: function updateDomData() {\n var rect = this.$el.getBoundingClientRect();\n this.initX = rect.left + getWindowScrollLeft();\n this.initY = rect.top + getWindowScrollTop();\n this.barWidth = this.$el.offsetWidth;\n this.barHeight = this.$el.offsetHeight;\n },\n setValue: function setValue(event) {\n var handleValue;\n var pageX = event.touches ? event.touches[0].pageX : event.pageX;\n var pageY = event.touches ? event.touches[0].pageY : event.pageY;\n if (this.orientation === 'horizontal') {\n // @todo: Check this\n if (isRTL(this.$el)) {\n handleValue = (this.initX + this.barWidth - pageX) * 100 / this.barWidth;\n } else {\n handleValue = (pageX - this.initX) * 100 / this.barWidth;\n }\n } else {\n handleValue = (this.initY + this.barHeight - pageY) * 100 / this.barHeight;\n }\n var newValue = (this.max - this.min) * (handleValue / 100) + this.min;\n if (this.step) {\n var oldValue = this.range ? this.value[this.handleIndex] : this.value;\n var diff = newValue - oldValue;\n if (diff < 0) newValue = oldValue + Math.ceil(newValue / this.step - oldValue / this.step) * this.step;else if (diff > 0) newValue = oldValue + Math.floor(newValue / this.step - oldValue / this.step) * this.step;\n } else {\n newValue = Math.floor(newValue);\n }\n this.updateModel(event, newValue);\n },\n updateModel: function updateModel(event, value) {\n var newValue = parseFloat(value.toFixed(10));\n var modelValue;\n if (this.range) {\n modelValue = this.value ? _toConsumableArray(this.value) : [];\n if (this.handleIndex == 0) {\n if (newValue < this.min) newValue = this.min;else if (newValue >= this.max) newValue = this.max;\n modelValue[0] = newValue;\n } else {\n if (newValue > this.max) newValue = this.max;else if (newValue <= this.min) newValue = this.min;\n modelValue[1] = newValue;\n }\n } else {\n if (newValue < this.min) newValue = this.min;else if (newValue > this.max) newValue = this.max;\n modelValue = newValue;\n }\n this.writeValue(modelValue, event);\n this.$emit('change', modelValue);\n },\n onDragStart: function onDragStart(event, index) {\n if (this.disabled) {\n return;\n }\n this.$el.setAttribute('data-p-sliding', true);\n this.dragging = true;\n this.updateDomData();\n if (this.range && this.value[0] === this.max) {\n this.handleIndex = 0;\n } else {\n this.handleIndex = index;\n }\n event.currentTarget.focus();\n },\n onDrag: function onDrag(event) {\n if (this.dragging) {\n this.setValue(event);\n }\n },\n onDragEnd: function onDragEnd(event) {\n if (this.dragging) {\n this.dragging = false;\n this.$el.setAttribute('data-p-sliding', false);\n this.$emit('slideend', {\n originalEvent: event,\n value: this.value\n });\n }\n },\n onBarClick: function onBarClick(event) {\n if (this.disabled) {\n return;\n }\n if (getAttribute(event.target, 'data-pc-section') !== 'handle') {\n this.updateDomData();\n this.setValue(event);\n }\n },\n onMouseDown: function onMouseDown(event, index) {\n this.bindDragListeners();\n this.onDragStart(event, index);\n },\n onKeyDown: function onKeyDown(event, index) {\n this.handleIndex = index;\n switch (event.code) {\n case 'ArrowDown':\n case 'ArrowLeft':\n this.decrementValue(event, index);\n event.preventDefault();\n break;\n case 'ArrowUp':\n case 'ArrowRight':\n this.incrementValue(event, index);\n event.preventDefault();\n break;\n case 'PageDown':\n this.decrementValue(event, index, true);\n event.preventDefault();\n break;\n case 'PageUp':\n this.incrementValue(event, index, true);\n event.preventDefault();\n break;\n case 'Home':\n this.updateModel(event, this.min);\n event.preventDefault();\n break;\n case 'End':\n this.updateModel(event, this.max);\n event.preventDefault();\n break;\n }\n },\n onBlur: function onBlur(event, index) {\n var _this$formField$onBlu, _this$formField;\n (_this$formField$onBlu = (_this$formField = this.formField).onBlur) === null || _this$formField$onBlu === void 0 || _this$formField$onBlu.call(_this$formField, event);\n },\n decrementValue: function decrementValue(event, index) {\n var pageKey = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var newValue;\n if (this.range) {\n if (this.step) newValue = this.value[index] - this.step;else newValue = this.value[index] - 1;\n } else {\n if (this.step) newValue = this.value - this.step;else if (!this.step && pageKey) newValue = this.value - 10;else newValue = this.value - 1;\n }\n this.updateModel(event, newValue);\n event.preventDefault();\n },\n incrementValue: function incrementValue(event, index) {\n var pageKey = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var newValue;\n if (this.range) {\n if (this.step) newValue = this.value[index] + this.step;else newValue = this.value[index] + 1;\n } else {\n if (this.step) newValue = this.value + this.step;else if (!this.step && pageKey) newValue = this.value + 10;else newValue = this.value + 1;\n }\n this.updateModel(event, newValue);\n event.preventDefault();\n },\n bindDragListeners: function bindDragListeners() {\n if (!this.dragListener) {\n this.dragListener = this.onDrag.bind(this);\n document.addEventListener('mousemove', this.dragListener);\n }\n if (!this.dragEndListener) {\n this.dragEndListener = this.onDragEnd.bind(this);\n document.addEventListener('mouseup', this.dragEndListener);\n }\n },\n unbindDragListeners: function unbindDragListeners() {\n if (this.dragListener) {\n document.removeEventListener('mousemove', this.dragListener);\n this.dragListener = null;\n }\n if (this.dragEndListener) {\n document.removeEventListener('mouseup', this.dragEndListener);\n this.dragEndListener = null;\n }\n },\n rangeStyle: function rangeStyle() {\n if (this.range) {\n var rangeSliderWidth = this.rangeEndPosition > this.rangeStartPosition ? this.rangeEndPosition - this.rangeStartPosition : this.rangeStartPosition - this.rangeEndPosition;\n var rangeSliderPosition = this.rangeEndPosition > this.rangeStartPosition ? this.rangeStartPosition : this.rangeEndPosition;\n if (this.horizontal) {\n return {\n 'inset-inline-start': rangeSliderPosition + '%',\n width: rangeSliderWidth + '%'\n };\n } else {\n return {\n bottom: rangeSliderPosition + '%',\n height: rangeSliderWidth + '%'\n };\n }\n } else {\n if (this.horizontal) {\n return {\n width: this.handlePosition + '%'\n };\n } else {\n return {\n height: this.handlePosition + '%'\n };\n }\n }\n },\n handleStyle: function handleStyle() {\n if (this.horizontal) {\n return {\n 'inset-inline-start': this.handlePosition + '%'\n };\n } else {\n return {\n bottom: this.handlePosition + '%'\n };\n }\n },\n rangeStartHandleStyle: function rangeStartHandleStyle() {\n if (this.horizontal) {\n return {\n 'inset-inline-start': this.rangeStartPosition + '%'\n };\n } else {\n return {\n bottom: this.rangeStartPosition + '%'\n };\n }\n },\n rangeEndHandleStyle: function rangeEndHandleStyle() {\n if (this.horizontal) {\n return {\n 'inset-inline-start': this.rangeEndPosition + '%'\n };\n } else {\n return {\n bottom: this.rangeEndPosition + '%'\n };\n }\n }\n },\n computed: {\n value: function value() {\n var _this$d_value3;\n if (this.range) {\n var _this$d_value$, _this$d_value, _this$d_value$2, _this$d_value2;\n return [(_this$d_value$ = (_this$d_value = this.d_value) === null || _this$d_value === void 0 ? void 0 : _this$d_value[0]) !== null && _this$d_value$ !== void 0 ? _this$d_value$ : this.min, (_this$d_value$2 = (_this$d_value2 = this.d_value) === null || _this$d_value2 === void 0 ? void 0 : _this$d_value2[1]) !== null && _this$d_value$2 !== void 0 ? _this$d_value$2 : this.max];\n }\n return (_this$d_value3 = this.d_value) !== null && _this$d_value3 !== void 0 ? _this$d_value3 : this.min;\n },\n horizontal: function horizontal() {\n return this.orientation === 'horizontal';\n },\n vertical: function vertical() {\n return this.orientation === 'vertical';\n },\n handlePosition: function handlePosition() {\n if (this.value < this.min) return 0;else if (this.value > this.max) return 100;else return (this.value - this.min) * 100 / (this.max - this.min);\n },\n rangeStartPosition: function rangeStartPosition() {\n if (this.value && this.value[0] !== undefined) {\n if (this.value[0] < this.min) return 0;else return (this.value[0] - this.min) * 100 / (this.max - this.min);\n } else return 0;\n },\n rangeEndPosition: function rangeEndPosition() {\n if (this.value && this.value.length === 2 && this.value[1] !== undefined) {\n if (this.value[1] > this.max) return 100;else return (this.value[1] - this.min) * 100 / (this.max - this.min);\n } else return 100;\n }\n }\n};\n\nvar _hoisted_1 = [\"tabindex\", \"aria-valuemin\", \"aria-valuenow\", \"aria-valuemax\", \"aria-labelledby\", \"aria-label\", \"aria-orientation\"];\nvar _hoisted_2 = [\"tabindex\", \"aria-valuemin\", \"aria-valuenow\", \"aria-valuemax\", \"aria-labelledby\", \"aria-label\", \"aria-orientation\"];\nvar _hoisted_3 = [\"tabindex\", \"aria-valuemin\", \"aria-valuenow\", \"aria-valuemax\", \"aria-labelledby\", \"aria-label\", \"aria-orientation\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": _ctx.cx('root'),\n onClick: _cache[18] || (_cache[18] = function () {\n return $options.onBarClick && $options.onBarClick.apply($options, arguments);\n })\n }, _ctx.ptmi('root'), {\n \"data-p-sliding\": false\n }), [createElementVNode(\"span\", mergeProps({\n \"class\": _ctx.cx('range'),\n style: [_ctx.sx('range'), $options.rangeStyle()]\n }, _ctx.ptm('range')), null, 16), !_ctx.range ? (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 0,\n \"class\": _ctx.cx('handle'),\n style: [_ctx.sx('handle'), $options.handleStyle()],\n onTouchstartPassive: _cache[0] || (_cache[0] = function ($event) {\n return $options.onDragStart($event);\n }),\n onTouchmovePassive: _cache[1] || (_cache[1] = function ($event) {\n return $options.onDrag($event);\n }),\n onTouchend: _cache[2] || (_cache[2] = function ($event) {\n return $options.onDragEnd($event);\n }),\n onMousedown: _cache[3] || (_cache[3] = function ($event) {\n return $options.onMouseDown($event);\n }),\n onKeydown: _cache[4] || (_cache[4] = function ($event) {\n return $options.onKeyDown($event);\n }),\n onBlur: _cache[5] || (_cache[5] = function ($event) {\n return $options.onBlur($event);\n }),\n tabindex: _ctx.tabindex,\n role: \"slider\",\n \"aria-valuemin\": _ctx.min,\n \"aria-valuenow\": _ctx.d_value,\n \"aria-valuemax\": _ctx.max,\n \"aria-labelledby\": _ctx.ariaLabelledby,\n \"aria-label\": _ctx.ariaLabel,\n \"aria-orientation\": _ctx.orientation\n }, _ctx.ptm('handle')), null, 16, _hoisted_1)) : createCommentVNode(\"\", true), _ctx.range ? (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 1,\n \"class\": _ctx.cx('handle'),\n style: [_ctx.sx('handle'), $options.rangeStartHandleStyle()],\n onTouchstartPassive: _cache[6] || (_cache[6] = function ($event) {\n return $options.onDragStart($event, 0);\n }),\n onTouchmovePassive: _cache[7] || (_cache[7] = function ($event) {\n return $options.onDrag($event);\n }),\n onTouchend: _cache[8] || (_cache[8] = function ($event) {\n return $options.onDragEnd($event);\n }),\n onMousedown: _cache[9] || (_cache[9] = function ($event) {\n return $options.onMouseDown($event, 0);\n }),\n onKeydown: _cache[10] || (_cache[10] = function ($event) {\n return $options.onKeyDown($event, 0);\n }),\n onBlur: _cache[11] || (_cache[11] = function ($event) {\n return $options.onBlur($event, 0);\n }),\n tabindex: _ctx.tabindex,\n role: \"slider\",\n \"aria-valuemin\": _ctx.min,\n \"aria-valuenow\": _ctx.d_value ? _ctx.d_value[0] : null,\n \"aria-valuemax\": _ctx.max,\n \"aria-labelledby\": _ctx.ariaLabelledby,\n \"aria-label\": _ctx.ariaLabel,\n \"aria-orientation\": _ctx.orientation\n }, _ctx.ptm('startHandler')), null, 16, _hoisted_2)) : createCommentVNode(\"\", true), _ctx.range ? (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 2,\n \"class\": _ctx.cx('handle'),\n style: [_ctx.sx('handle'), $options.rangeEndHandleStyle()],\n onTouchstartPassive: _cache[12] || (_cache[12] = function ($event) {\n return $options.onDragStart($event, 1);\n }),\n onTouchmovePassive: _cache[13] || (_cache[13] = function ($event) {\n return $options.onDrag($event);\n }),\n onTouchend: _cache[14] || (_cache[14] = function ($event) {\n return $options.onDragEnd($event);\n }),\n onMousedown: _cache[15] || (_cache[15] = function ($event) {\n return $options.onMouseDown($event, 1);\n }),\n onKeydown: _cache[16] || (_cache[16] = function ($event) {\n return $options.onKeyDown($event, 1);\n }),\n onBlur: _cache[17] || (_cache[17] = function ($event) {\n return $options.onBlur($event, 1);\n }),\n tabindex: _ctx.tabindex,\n role: \"slider\",\n \"aria-valuemin\": _ctx.min,\n \"aria-valuenow\": _ctx.d_value ? _ctx.d_value[1] : null,\n \"aria-valuemax\": _ctx.max,\n \"aria-labelledby\": _ctx.ariaLabelledby,\n \"aria-label\": _ctx.ariaLabel,\n \"aria-orientation\": _ctx.orientation\n }, _ctx.ptm('endHandler')), null, 16, _hoisted_3)) : createCommentVNode(\"\", true)], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","<template lang=\"pug\">\n .card\n .flexPrompt\n label(for=\"colour\") Path colour\n input.colour#colour(\n type=\"color\"\n :value=\"pathColour\"\n @input=\"colourChange\"\n )\n .spacer\n FloatLabel(variant=\"on\")\n InputText(v-model.number=\"width\")\n Slider(\n v-model=\"width\"\n :min=\"minWidth\"\n :max=\"maxWidth\"\n :step=\"widthStep\"\n @change=\"emitChange\"\n )\n label Width (px)\n .spacer\n .flexPrompt\n label(for=\"dashed\") Dashed:\n Checkbox#gradientCheckbox(\n v-model=\"dashed\"\n binary\n @change=\"emitChange\"\n )\n</template>\n\n<script setup lang=\"ts\">\nimport * as vue from 'vue'\nimport Slider from 'primevue/slider'\nimport { TinyColor } from '@ctrl/tinycolor'\nimport { useThemeCssVariables } from '@renderer/common/themeCssVariables'\n\nuseThemeCssVariables('checkbox')\nuseThemeCssVariables('floatlabel')\nuseThemeCssVariables('inputtext')\nuseThemeCssVariables('slider')\n\nimport { type IPathStyle } from '@renderer/common/svgUtils'\n\nconst props = defineProps<{\n pathStyle: IPathStyle\n}>()\n\nconst colour = vue.ref(props.pathStyle.colour)\nconst dashed = vue.ref(props.pathStyle.dashed)\nconst width = vue.ref(props.pathStyle.width)\n\nconst minWidth = vue.ref<number>(0.5)\nconst maxWidth = vue.ref<number>(10)\nconst widthStep = vue.ref<number>(0.5)\n\nvue.watch(\n () => props.pathStyle,\n () => {\n colour.value = props.pathStyle.colour\n dashed.value = props.pathStyle.dashed\n width.value = props.pathStyle.width\n }\n)\n\nconst pathColour = vue.computed<string>(() => {\n return new TinyColor(colour.value).toHexString()\n})\n\nfunction colourChange(e: Event) {\n const target = e.target as HTMLInputElement\n colour.value = target.value\n emitChange()\n}\n\nconst emit = defineEmits(['change'])\n\nfunction emitChange() {\n emit('change', {\n colour: colour.value,\n dashed: dashed.value,\n width: width.value\n })\n}\n</script>\n\n<style>\n/* Otherwise the tick mark is not obvious */\n.p-checkbox-checked .p-checkbox-icon {\n color: red !important;\n}\n</style>\n\n<style scoped>\n.flexPrompt {\n display: flex;\n justify-content: space-between;\n margin-bottom: 4px;\n}\n\n.spacer {\n height: 10px;\n}\n/* Based on https://rebeccamdeprey.com/blog/styling-the-html-color-input */\n\ninput[type=\"color\" i] {\n inline-size: 24px;\n block-size: 24px;\n}\n\n/* Affects area between outer circle and color swatch. Firefox doesn't have an equivalent. */\ninput[type=\"color\" i]::-webkit-color-swatch-wrapper {\n padding: 1px;\n}\n\n/* Affects the inner circle, i.e. the current color selection */\ninput[type=\"color\" i]::-webkit-color-swatch {\n border-radius: 40%;\n}\n\ninput[type=\"color\" i]::-moz-color-swatch {\n border-radius: 40%;\n}\n</style>\n","<template lang=\"pug\">\n ToolPanel(:id=toolId)\n template(#content)\n div(\n v-if=\"disabled\"\n ) Please select an element or path.\n Accordion(\n v-if=\"!disabled\"\n v-model:value=\"openPanel\"\n )\n AccordionPanel.group(\n v-for=\"(group, groupIndex) in groups\"\n :key=\"group.title\"\n :disabled=\"disabled\"\n :value=\"String(groupIndex)\"\n )\n AccordionHeader(\n v-if=\"hasContent[groupIndex]\"\n ) {{ group.title }}\n AccordionContent(\n v-if=\"hasContent[groupIndex] && groupIndex < (groups.length - 1)\"\n )\n InputWidget(\n v-for=\"(item, index) in group.items\"\n v-model=\"item.value\"\n :itemId=\"item.itemId\"\n :name=\"item.name\"\n :value=\"item.value\"\n :units=\"item.units\"\n :numeric=\"item.numeric\"\n :maximumValue=\"item.maximumValue\"\n :minimumValue=\"item.minimumValue\"\n :possibleValues=\"item.possibleValues\"\n :stepValue=\"item.stepValue\"\n @change=\"updateProperties\"\n )\n AccordionContent(\n v-if=\"hasContent[groupIndex] && groupIndex == (groups.length - 1)\"\n )\n FillStyle(\n v-if=\"objectType === 'node'\"\n :fillStyle=\"objectStyle\"\n @change=\"updateNodeStyle\"\n )\n PathStyle(\n v-if=\"objectType === 'path'\"\n :pathStyle=\"objectStyle\"\n @change=\"updatePathStyle\"\n )\n</template>\n\n<script setup lang=\"ts\">\nimport * as vue from 'vue'\nimport { useThemeCssVariables } from '@renderer/common/themeCssVariables'\n\nuseThemeCssVariables('accordion')\nuseThemeCssVariables('accordioncontent')\nuseThemeCssVariables('accordioncontent')\nuseThemeCssVariables('accordionpanel')\n\nimport type { PropertyGroup, StylingGroup } from '@editor/components/properties'\n\nimport ToolPanel from '../toolbar/ToolPanel.vue'\nimport InputWidget from '../widgets/InputWidget.vue'\n\nimport FillStyle from './FillStyle.vue'\nimport PathStyle from './PathStyle.vue'\n\n\nimport type {\n INodeStyle,\n IPathStyle\n} from '@renderer/common/svgUtils'\n\nconst props = defineProps<{\n toolId: string\n}>()\n\nconst groups = vue.inject<vue.Ref<PropertyGroup[]>>('componentProperties')\n\n// Remember last opened AccordionPanel\n\nconst openPanel = vue.ref<string>('')\n\nconst disabled = vue.computed<boolean>(() => {\n for (const group of groups!.value) {\n if (group.items.length\n || (group.styling\n && 'fillColours' in group.styling\n && group.styling.fillColours\n && Array.isArray(group.styling.fillColours)\n && group.styling.fillColours.length)) {\n return false\n }\n }\n return true\n})\n\nconst hasContent = vue.computed<boolean[]>(() => {\n return groups!.value.map((group: PropertyGroup) => {\n return (group.items.length > 0\n || (group.styling !== undefined && 'fillColours' in group.styling\n && group.styling.fillColours !== undefined\n && Array.isArray(group.styling.fillColours)\n && group.styling.fillColours.length > 0)\n || (group.styling !== undefined && 'pathStyle' in group.styling)\n )\n })\n})\n\nconst objectStyle = vue.computed<INodeStyle|IPathStyle|undefined>(() => {\n const stylingGroup: StylingGroup = groups!.value.at(-1)! as StylingGroup\n if ('fillColours' in stylingGroup.styling) {\n const fillColours: string[] = [...(stylingGroup.styling.fillColours || [])]\n let direction = 'H'\n const colours: string[] = []\n if (fillColours.length && ['H', 'V'].includes(fillColours[0]!)) {\n direction = fillColours.shift()!\n }\n if (fillColours.length === 1) {\n colours.push(fillColours[0]!.trim())\n } else if (fillColours.length) {\n fillColours.forEach(colour => {\n colours.push(colour.trim())\n })\n }\n return {\n gradientFill: colours.length > 1,\n colours,\n direction\n } as INodeStyle\n } else if ('pathStyle' in stylingGroup.styling) {\n return stylingGroup.styling.pathStyle!\n }\n})\n\nconst objectType = vue.computed<string>(() => {\n const stylingGroup: StylingGroup = groups!.value.at(-1)! as StylingGroup\n if ('fillColours' in stylingGroup.styling) {\n return 'node'\n } else if ('pathStyle' in stylingGroup.styling) {\n return 'path'\n }\n return ''\n})\n\nconst emit = defineEmits(['panel-event', 'style-event'])\n\nfunction updateProperties(itemId: string, oldValue: number | string, newValue: number | string) {\n vue.nextTick().then(() => {\n emit('panel-event', props.toolId, itemId, oldValue, newValue)\n })\n}\n\nfunction updateNodeStyle(fillStyle: INodeStyle) {\n void vue.nextTick().then(() => {\n const fillColours: string[] = []\n if (fillStyle.gradientFill) {\n fillColours.push(fillStyle.direction || 'H')\n }\n fillColours.push(...fillStyle.colours)\n emit('style-event', props.toolId, 'node', { fillColours })\n })\n}\n\nfunction updatePathStyle(pathStyle: IPathStyle) {\n void vue.nextTick().then(() => {\n emit('style-event', props.toolId, 'path', { pathStyle })\n })\n}\n</script>\n\n<style>\n/* Allow for FloatLabel text of InputWidget */\n.p-accordioncontent-content {\n padding-top: 8px !important;\n}\n</style>\n","<template lang=\"pug\">\n .flex.flex-col.h-full\n main.editor-pane.relative.flex.grow\n EditorToolbar.editor-bar(\n :buttons=\"toolButtons\"\n type=\"popover\"\n @button-event=\"buttonEvent\"\n @popover-event=\"popoverEvent\"\n )\n div#svg-content(ref=\"svgContent\")\n <!-- context-menu(id=\"context-menu\") -->\n #panel-content(\n :class=\"{ hidden: !panelVisible }\"\n )\n component(\n v-if=\"panelComponent\"\n :is=\"panelComponent\"\n :toolId=\"panelToolId\"\n @panel-event=\"panelEvent\"\n @style-event=\"styleEvent\"\n )\n EditorToolbar.editor-bar(\n :buttons=\"panelButtons\"\n type=\"panel\"\n @button-event=\"buttonEvent\"\n )\n footer.status-bar\n span#status-msg\n span#status-pos\n</template>\n\n<script setup lang=\"ts\">\nimport * as vue from 'vue'\n\nimport primeVueAuraTheme from '@primeuix/themes/aura'\nimport primeVueConfig from 'primevue/config'\n\nimport vueTippy from 'vue-tippy'\nimport 'tippy.js/dist/tippy.css'\n\n//==============================================================================\n\nimport '@renderer/assets/style.css'\nimport '@renderer/assets/icons.css'\n\nimport * as vueCommon from '@renderer/common/vueCommon'\n\nimport { type StyleObject } from '@editor/components/properties'\nimport { CellDLDiagram } from '@editor/diagram/index'\n\nimport { CellDLEditor } from '@editor/editor/index'\nimport { DEFAULT_EDITOR_TOOL_ID, EDITOR_TOOL_IDS, PANEL_IDS } from '@editor/editor/index'\nimport { editGuides } from '@editor/editor/editguides'\nimport { undoRedo } from '@editor/editor/undoredo'\n\nimport { type EditorToolButton } from '@renderer/common/EditorTypes'\nimport EditorToolbar from '@renderer/components/toolbar/EditorToolbar.vue'\n\nimport ComponentPopover from '@renderer/components/popovers/ComponentPopover.vue'\nimport ConnectionStylePopover from '@renderer/components/popovers/ConnectionStylePopover.vue'\n\nimport PropertiesPanel from '@renderer/components/panels/PropertiesPanel.vue'\n\nimport { componentLibraryPlugin } from '@renderer/plugins/index'\n\n//==============================================================================\n\nimport type {\n CellDLEditorProps,\n EditorData,\n EditorEditCommand,\n EditorFileCommand,\n EditorSetStateCommand,\n EditorViewCommand\n} from '../../index'\n\nconst props = defineProps<CellDLEditorProps>()\n\n//==============================================================================\n//==============================================================================\n\n// Setup PrimeVue's theme and vue-tippy\n\nconst crtInstance = vue.getCurrentInstance();\n\nif (crtInstance) {\n const app = crtInstance.appContext.app;\n\n if (!app.config.globalProperties.$primevue) {\n app.use(primeVueConfig as unknown as vue.Plugin, {\n theme: {\n preset: primeVueAuraTheme,\n options: {\n darkModeSelector: '.celldl-dark-mode'\n }\n }\n })\n }\n\n app.use(vueTippy)\n}\n\nvueCommon.useTheme().setTheme(props.theme)\n\n//==============================================================================\n\nvue.watch(\n () => props.theme,\n () => {\n vueCommon.useTheme().setTheme(props.theme)\n }\n)\n\n//==============================================================================\n\n// Set the default component from the component library\n\nconst defaultComponent = componentLibraryPlugin.getSelectedTemplate()!\n\n//==============================================================================\n//==============================================================================\n\nconst svgContent = vue.ref(null)\n\nlet celldlDiagram: CellDLDiagram|undefined\n\n//==============================================================================\n\nfunction despatchToolbarEvent(type: string, source: string, value: boolean|string) {\n document.dispatchEvent(\n new CustomEvent('toolbar-event', {\n detail: {\n type,\n source,\n value\n }\n })\n )\n}\n\n//==============================================================================\n\nimport { DEFAULT_CONNECTION_STYLE_DEFINITION } from '@editor/connections/index'\n\nfunction connectionStylePrompt(name: string): string {\n return `Draw ${name.toLowerCase()} connection`\n}\n\n//==============================================================================\n\n// Plugins need to be initialised before creating the editor\n\nlet celldlEditor: CellDLEditor = new CellDLEditor()\n\n//==============================================================================\n//==============================================================================\n\nconst toolButtons = vue.ref<EditorToolButton[]>([\n {\n toolId: EDITOR_TOOL_IDS.SelectTool,\n active: (DEFAULT_EDITOR_TOOL_ID as EDITOR_TOOL_IDS) === EDITOR_TOOL_IDS.SelectTool,\n prompt: 'Selection tool',\n icon: 'ci-pointer'\n },\n {\n toolId: EDITOR_TOOL_IDS.DrawConnectionTool,\n active: (DEFAULT_EDITOR_TOOL_ID as EDITOR_TOOL_IDS) === EDITOR_TOOL_IDS.DrawConnectionTool,\n prompt: connectionStylePrompt(DEFAULT_CONNECTION_STYLE_DEFINITION.name),\n icon: DEFAULT_CONNECTION_STYLE_DEFINITION.icon,\n panel: vue.markRaw(ConnectionStylePopover)\n },\n {\n toolId: EDITOR_TOOL_IDS.AddComponentTool,\n active: (DEFAULT_EDITOR_TOOL_ID as EDITOR_TOOL_IDS) === EDITOR_TOOL_IDS.AddComponentTool,\n prompt: defaultComponent.name,\n image: defaultComponent.image,\n panel: vue.markRaw(ComponentPopover)\n }\n])\n\n//==============================================================================\n\nconst panelButtons = vue.ref<EditorToolButton[]>([\n {\n toolId: PANEL_IDS.PropertyPanel,\n prompt: 'Component properties',\n icon: 'ci-cog',\n panel: vue.markRaw(PropertiesPanel)\n }\n])\n\nconst panelComponent = vue.ref<vue.Raw<vue.Component>>()\n\nconst panelVisible = vue.ref<boolean>()\npanelVisible.value = false\n\nconst panelToolId = vue.ref<string>()\n\n//==============================================================================\n\nfunction resetToolBars() {\n // Set the toolbar to its default tool\n\n for (const toolButton of toolButtons.value) {\n toolButton.active = (DEFAULT_EDITOR_TOOL_ID as EDITOR_TOOL_IDS) === toolButton.toolId\n }\n\n // Hide any open panel\n // FUTURE: reset to default panel tool\n\n panelVisible.value = false\n}\n\n//==============================================================================\n\nfunction buttonEvent(toolId: string, active: boolean, newComponent: vue.Raw<vue.Component> | null) {\n if (newComponent) {\n // Update the RH panel to show its current component\n\n if (active) {\n panelComponent.value = newComponent\n panelToolId.value = toolId\n }\n panelVisible.value = active\n }\n\n // Tell the editor that a tool has changed\n\n despatchToolbarEvent('state', toolId, active)\n}\n\n//==============================================================================\n\nfunction popoverEvent(toolId: string, data: any) {\n if (toolId === EDITOR_TOOL_IDS.DrawConnectionTool) {\n toolButtons.value[1]!.prompt = connectionStylePrompt(data.name)\n toolButtons.value[1]!.icon = data.icon\n\n // Tell the editor that the connection style has changed\n\n despatchToolbarEvent('value', toolId, data.id)\n\n } else if (toolId === EDITOR_TOOL_IDS.AddComponentTool) {\n toolButtons.value[2]!.prompt = data.name\n toolButtons.value[2]!.image = data.image\n\n // Tell the editor that the component template has changed\n\n despatchToolbarEvent('value', toolId, data.id)\n }\n}\n\nfunction panelEvent(toolId: string, itemId: string, oldValue: string, newValue: string) {\n document.dispatchEvent(\n new CustomEvent('panel-event', {\n detail: {\n type: 'value',\n source: toolId,\n itemId: itemId,\n value: {\n oldValue,\n newValue\n }\n }\n })\n )\n}\n\nfunction styleEvent(toolId: string, object: string, styling: StyleObject) {\n document.dispatchEvent(\n new CustomEvent('style-event', {\n detail: {\n type: 'value',\n source: toolId,\n object,\n styling\n }\n })\n )\n}\n\n//==============================================================================\n//==============================================================================\n\nconst emit = defineEmits<{\n 'editor-data': [data: EditorData],\n 'error': [msg: string]\n}>()\n\nvue.watch(\n () => props.editorCommand,\n async () => {\n if (props.editorCommand?.command === 'file') {\n const command = props.editorCommand as EditorFileCommand\n const options = command.options\n if (options.action === 'close') {\n resetToolBars()\n celldlDiagram = new CellDLDiagram('', '', celldlEditor)\n await celldlEditor.editDiagram(celldlDiagram)\n } else if (options.action === 'open') {\n resetToolBars()\n if (options.data !== undefined) {\n try {\n celldlDiagram = new CellDLDiagram(options?.name || '', options.data, celldlEditor)\n await celldlEditor.editDiagram(celldlDiagram)\n } catch(err) {\n emit('error', `Cannot open ${options?.name} -- invalid CellDL file?`)\n }\n }\n } else if (options.action === 'data') {\n const celldl = await celldlDiagram?.serialise()\n emit('editor-data', {\n data: celldl,\n kind: options.kind\n } as EditorData)\n }\n } else if (props.editorCommand?.command === 'edit') {\n const command = props.editorCommand as EditorEditCommand\n const options = command.options\n if (options.action === 'clean') {\n undoRedo.clean()\n }\n } else if (props.editorCommand?.command === 'set-state') {\n const command = props.editorCommand as EditorSetStateCommand\n const options = command.options\n if (options.action === 'reset-tools') {\n resetToolBars()\n }\n } else if (props.editorCommand?.command === 'view') {\n const command = props.editorCommand as EditorViewCommand\n editGuides.setState(command.options)\n }\n }\n)\n\n//==============================================================================\n\nvue.onMounted(async () => {\n\n // Tell the editor about the default connection style and component\n\n despatchToolbarEvent('value', EDITOR_TOOL_IDS.DrawConnectionTool, DEFAULT_CONNECTION_STYLE_DEFINITION.id)\n despatchToolbarEvent('value', EDITOR_TOOL_IDS.AddComponentTool, defaultComponent.id)\n\n if (svgContent.value) {\n celldlEditor.mount(svgContent.value)\n\n // Create a new diagram in the editor's window\n celldlDiagram = new CellDLDiagram('', '', celldlEditor)\n\n await celldlDiagram.edit()\n }\n})\n\n//==============================================================================\n//==============================================================================\n</script>\n\n<style scoped>\n.editor-pane {\n min-height: calc(100% - 1.6em);\n}\n.editor-bar {\n width: 40px;\n overflow: auto;\n}\n#svg-content {\n margin: 0;\n border: 2px solid var(--editor-border-color);\n flex: 1;\n overflow: hidden;\n}\n#panel-content {\n width: 250px;\n border: 2px solid var(--editor-border-color);\n border-left-width: 1px;\n right: 38px; /* This depends on panel bar width... */\n top: 0px;\n bottom: 1.6em;\n position: absolute;\n}\n.hidden {\n display: none;\n}\n.status-bar {\n min-height: 1.6em;\n border-top: 1px solid var(--editor-border-color);\n padding-left: 16px;\n padding-right: 16px;\n background-color: var(--editor-statusbar-background);\n}\n#status-msg.error {\n color: red;\n}\n#status-msg.warn {\n color: blue;\n}\n#status-pos {\n float: right;\n}\n</style>\n"],"names":["o","r","t","e","c","d","l","i","f","s","a","n","p","g","u","b","m","h","k","css","v","Nr","Qr","x","w","y","O","j","P","z","D","E","I","S","q","A","B","C","F","G","H","J","K","L","M","N","Q","R","T","U","V","W","X","Y","Z","$","_","rr","er","mr","ir","tr","ar","or","pr","ur","sr","lr","fr","hr","xr","nr","cr","br","dr","gr","vr","kr","wr","yr","Or","jr","Pr","zr","Dr","Er","Ir","Sr","qr","Ar","Br","Cr","Fr","Gr","Hr","Jr","Kr","Lr","Mr","__defProp","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","obj","key","value","__spreadValues","prop","isEmpty","_deepEquals","obj1","obj2","visited","arrObj1","arrObj2","length","dateObj1","dateObj2","regexpObj1","regexpObj2","keys","deepEquals","isFunction","isNotEmpty","resolveFieldData","data","field","fields","len","equals","contains","list","val","findLastIndex","arr","callback","index","isObject","empty","resolve","params","isString","toFlatCase","str","getKeyValue","fKeys","fKey","isArray","isNumber","isPrintableCharacter","char","matchRegex","regex","match","mergeKeys","args","_mergeKeys","target","source","mergedObj","acc","minifyCSS","removeAccents","accentsMap","toCapitalCase","toKebabCase","toTokenKey","EventBus","allHandlers","type","handler","handlers","evt","__defProps","__getOwnPropDescs","__spreadProps","__objRest","exclude","ThemeService","service_default","merge","value1","value2","toValue","toNormalizePrefix","prefix","toNormalizeVariable","variable","getVariableName","hasOddBraces","openBraces","closeBraces","getVariableValue","excludedKeyRegexes","fallback","_val","_v","_r","calculationRegex","cleanedVarRegex","setProperty","properties","getRule","selector","dt","dtwt","config_default","theme","tokenPath","VARIABLE","OPTIONS","transform","token","matchRegex2","toVariables_default","options","excludedKeyRegex","_toVariables","_theme","_prefix","px","matchRegex3","toKebabCase2","isObject2","variables2","tokens2","variables","tokens","themeUtils_default","rules","_a","name","set","defaults","_e","_f","_g","_h","_i","_j","_k","preset","primitive_css","primitive_tokens","semantic_css","semantic_tokens","global_css","global_tokens","style","isNotEmpty2","primitive","semantic","extend","colorScheme","sRest","_b","eColorScheme","eRest","_c","dark","csRest","_d","eDark","ecsRest","prim_var","sRest_var","csRest_var","csDark_var","eRest_var","ecsRest_var","ecsDark_var","prim_css","prim_tokens","sRest_css","sRest_tokens","csRest_css","csRest_tokens","csDark_css","csDark_tokens","eRest_css","eRest_tokens","ecsRest_css","ecsRest_tokens","ecsDark_css","ecsDark_tokens","semantic_light_css","semantic_dark_css","global_light_css","global_dark_css","resolve2","p_css","p_tokens","p_style","_name","css2","vRest","evRest","ecsDark","vRest_var","vRest_css","vRest_tokens","light_variable_css","dark_variable_css","cPreset","dName","dPreset","cssLayer","props","common","_props","_css","id","preset_css","parentKey","parentPath","currentKey","matchRegex4","toTokenKey2","currentPath","isObject3","tokenPathMap","computedValue","path","computed","isArray2","isEmpty2","computedValues","_a2","cs","rest","selector1","selector2","mode","colorSchemeOption","type2","_selector","layerOptions","newValues","newValue","layerName","event","hasClass","element","className","addClass","fn","_className","_classNames","getCSSVariableByRegex","variableRegex","sheet","rule","property","removeClass","getHiddenElementDimensions","dimensions","getViewport","win","getWindowScrollLeft","doc","getWindowScrollTop","absolutePosition","gutter","elementDimensions","elementOuterHeight","elementOuterWidth","targetOuterHeight","targetOuterWidth","targetOffset","windowScrollTop","windowScrollLeft","viewport","top","left","origin","addStyle","getOuterWidth","margin","relativePosition","targetHeight","isElement","setAttributes","attributes","computedStyles","styles","cv","_cv","matchedEvent","createElement","children","find","findSingle","focus","getAttribute","getFocusableElements","focusableElements","visibleFocusableElements","focusableElement","getFirstFocusableElement","getHeight","height","getParentNode","parent","getLastFocusableElement","getOffset","rect","getOuterHeight","getParents","parents","getScrollableParents","scrollableParents","overflowRegex","overflowCheck","node","styleDeclaration","scrollSelectors","selectors","el","isExist","getWidth","width","isAndroid","isAttributeEquals","isClient","isVisible","isRTL","isTouchDevice","setAttribute","attribute","lastIds","uuid","zIndexes","generateZIndex","autoZIndex","baseZIndex","lastZIndex","getLastZIndex","newZIndex","revertZIndex","zIndex","getCurrentZIndex","getZIndex","ZIndex","FilterMatchMode","_createForOfIteratorHelper","_unsupportedIterableToArray","_n","_arrayLikeToArray","FilterService","filterValue","filterMatchMode","filterLocale","filteredItems","_iterator","_step","item","_iterator2","_step2","fieldValue","err","filter","stringValue","_typeof","ownKeys","_objectSpread","_defineProperty","_toPropertyKey","_toPrimitive","tryOnMounted","sync","getCurrentInstance","onMounted","nextTick","_id","useStyle","isLoaded","ref","cssRef","styleRef","defaultDocument","_options$document","document","_options$immediate","immediate","_options$manual","manual","_options$name","_options$id","_options$media","media","_options$nonce","nonce","_options$first","first","_options$onMounted","onStyleMounted","_options$onUpdated","onStyleUpdated","_options$onLoad","onStyleLoaded","_options$props","stop","load","_styleProps","_nonce","watch","unload","readonly","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_ref","_ref2","classes","inlineStyles","BaseStyle","computedStyle","_this","Theme","extendedCSS","_style","_ref3","_ref4","_ref5","_ref6","PrimeVueService","defaultOptions","PrimeVueSymbol","setup","app","PrimeVue","reactive","clearConfig","setupConfig","stopWatchers","isThemeChanged","loadCommonTheme","_PrimeVue$config","_BaseStyle$getCommonT","_PrimeVue$config2","global","styleOptions","newTheme","stopConfigWatcher","oldValue","stopRippleWatcher","stopThemeWatcher","stopUnstyledWatcher","configOptions","createGlobalState","stateFactory","initialized","state","scope","effectScope","useTheme","vueusecore.createGlobalState","prefersColorScheme","isLightMode","vue","isDarkMode","updateLightAndDarkModes","updateDocumentClasses","setTheme","useLightMode","useDarkMode","Point2D","that","scalar","omt","dx","dy","matrix","module","Vector2D","p1","p2","cos","radians","percent","Matrix2D","det1","idet","det2","det3","tx","ty","scale","center","scaleX","scaleY","t1","t2","vector","unit","a1","a2","theta","phi","kldAffine","require$$0","require$$1","require$$2","sign","Polynomial","coefs","xs","ys","offset","ns","diff","dift","ho","hp","den","x0","df","max_iterations","min","max","prev_dfx","dfx","prev_x_ef_correction","x_correction","x_new","y_atmin","y_atmax","min_correction_factor","isBounded","isEnoughCorrection","RATIO_LIMIT","AIMED_BISECT_OFFSET","poly","result","d1","d2","dmax","v1","v2","TOLERANCE","pv","signs","signString","ACCURACY","minValue","maxValue","tmp1","tmp2","maxIterations","range","iter","delta","sum","st","os","ost","MAX","maxAbsX","ERRF","rb","an","nm","coefSelectionFunc","find2Max","bi","max_nearmax_pos","res","urb","prev","curr","undersqrt","accum","ai","derivative","roots","push","droots","results","c3","c2","c1","c0","discrim","halfB","ZEROepsilon","root","tmp","distance","angle","sin","sqrt3","poly_d","derrt","dery","maxabsX","guesses","minmax","SqrtPolynomial","getArcParameters","startPoint","endPoint","rx","ry","arcFlag","sweepFlag","radian","ux","uy","vx","vy","dot","mod","rad","halfDiff","x1p","y1p","x1px1p","y1py1p","lambda","factor","rxrx","ryry","rxy1","ryx1","sq","mid","cxp","cyp","xcr1","xcr2","ycr1","ycr2","theta1","deltaTheta","PIx2","IntersectionParams","IPTYPE","parsePointsString","points","point","svgElementName","largeArcFlag","p3","p4","degreesToRadians","shape","x1","x2","x3","y0","y1","y2","y3","Token","text","Path","tokenize","segments","param_length","number","segment","previous","AbsoluteArcPath","AbsoluteCurveto3","RelativeCurveto3","AbsoluteHLineto","AbsoluteVLineto","AbsoluteLineto","RelativeLineto","AbsoluteMoveto","RelativeMoveto","AbsoluteCurveto2","RelativeCurveto2","AbsoluteSmoothCurveto3","RelativeSmoothCurveto3","AbsoluteSmoothCurveto2","RelativeSmoothCurveto2","RelativeClosePath","segmentParams","ip","AbsolutePathSegment","command","prevPoint","lastPoint","ctrlPoint","lastControl","RelativePathSegment","current","cmd","IntersectionParams_1","Intersection","status","Intersection_1","affine","removeMultipleRootsIn01","bezierModule","a3","b1","b2","b3","c12","c11","c10","c22","c21","c20","v0","v3","v4","v5","v6","xRoots","yRoots","checkRoots","xRoot","b4","c23","c10x2","c10y2","c11x2","c11y2","c12x2","c12y2","c20x2","c20y2","c21x2","c21y2","c22x2","c22y2","c23x2","c23y2","ec","cl","p5","p6","a4","c13","c10x3","c10y3","c11x3","c11y3","c12x3","c12y3","c13x2","c13x3","c13y2","c13y3","c20x3","c20y3","c21x3","c22x3","c23x3","c23y3","p7","p8","p9","p10","require$$3","bezierIntersectionFunctions","require$$4","bezout","e1","e2","AB","AC","AD","AE","AF","BC","BE","BF","CD","DE","DF","BFpDE","BEmCD","removePointsNotInArc","intersection","th1","dth","mp","np","pi2","wasNeg","wasBig","m1","m2","m3","removeClosePoints","points1","points2","maxf","intersectionFunctions","pathParams","previnter","inter","intersect","lines","closed","line_points","intersectLine","i1","i2","arc","rx1","ry1","phi1","dth1","rx2","ry2","yPoly","epsilon","norm0","norm1","clip","rootPointsN","xPoly","test","pts","ii","d3","dir","mDir","mDiff","t_a","t_b","ua_t","ub_t","u_b","ua","ub","composedShapeMethods","shape1","shape2","ip1","ip2","method","params1","params2","type1","SMF","itm","useCTM","m1_","m2_","transParams","transParam","intersect_1","svgIntersections","ShapeIntersections","#shape","#shapeFromElement","elementName","attrs","elementShape","quickselect","right","compare","defaultCompare","sd","newLeft","newRight","swap","RBush","maxEntries","bbox","intersects","toBBox","nodesToSearch","child","childBBox","tmpNode","createNode","equalsFn","indexes","goingUp","findItem","items","calcBBox","N2","N1","multiSelect","right2","right3","level","minArea","minEnlargement","targetNode","area","bboxArea","enlargement","enlargedArea","isNode","insertPath","splitIndex","newNode","minOverlap","bbox1","distBBox","bbox2","overlap","intersectionArea","compareMinX","compareNodeMinX","compareMinY","compareNodeMinY","xMargin","yMargin","leftBBox","rightBBox","bboxMargin","siblings","destNode","minX","minY","maxX","maxY","stack","IdBounds","celldlObject","ExtendableSpatialIndex","CellDLSpatialIndex","#index","#objects","savedItem","bounds","PointFinder","#transforms","pathArray","pathPoints","Point","NormalTransform","POINT_EPSILON_SQUARED","CELLDL_VERSION","DIAGRAM_METADATA","DCT","OWL","NEW_DIAGRAM_URI","CELLDL_DEFINITIONS_ID","CELLDL_METADATA_ID","CELLDL_STYLESHEET_ID","DIAGRAM_MARGIN","CELLDL_DIAGRAM_ID","ID_PREFIX","CellDLDiagram","#svgDiagram","#kb","$rdf.RdfStore","#celldlEditor","#documentNode","#documentNS","#filePath","#diagramMetadata","#diagramProperties","#currentLayer","#imported","#lastIdentifier","#layers","#orderedLayerIds","#spatialIndex","filePath","celldlData","celldlEditor","importSvg","documentUri","$rdf.namedNode","$rdf.Namespace","#loadCellDL","#loadMetadata","#importSvg","#newDiagram","#initaliseMetadata","#setLastIdentifier","#setupDefines","#setStylesheet","componentLibraryPlugin","#loadComponents","#loadInterfaces","#loadConduits","#loadConnections","#loadAnnotations","notifyChanges","domCoords","dom_to_svg_transform","svgCoords","svg_to_dom_transform","#nextIdentifier","subject","predicates","predicate","stmt","$rdf.isBlankNode","#loadDiagramProperties","#saveDiagramProperties","$rdf.literal","parts","lastIdentifier","defsElement","CellDLStylesheet","styleElement","SVG_URI","#saveMetadata","svgDiagram","metadata","metadataElement","metadataContent","$rdf.TurtleContentType","svgData","#loadSvgDiagram","backgroundGroup","backgroundElements","CELLDL_BACKGROUND_CLASS","#setLayer","#findLayers","lengthToPixels","strokedPaths","OLD_CONNECTION_COLOUR","CONNECTION_COLOUR","windowSize","layerId","newLayer","CELLDL_STYLE_CLASS","layer","RDF","CELLDL","childNodes","childNode","#trimSVGDiagram","round10","format","#removeEditorElements","trimmedViewbox","#serialiseMetadata","metadataFormat","CELLDL_DECLARATIONS","#setUniqueId","svgElement","setInternalIds","prepend","editorSpecificElements","object","objects","associated","#associatedObjects","connection","associatedObjects","#addMoveableObject","#addConnection","template","#addNewObject","compartmentGroup","cornerPoints","compartmentRect","svgRectElement","compartmentShape","objectIds","interfacePorts","connectionPorts","#addConnectionToCompartment","compartment","CellDLCompartment","MetadataPropertiesMap","#createConnection","connectedObjects","svgElements","metadataProperties","CellDLConnection","#createPort","newObjectClass","connector","svgCircleElement","CellDLInterface","CellDLUnconnectedPort","connectors","pathElements","pathStart","newConnectors","newElements","currentPathInside","pathEnd","pathElementIndex","pathElement","pathIntersections","splitPoint","closestOffset","pointFinder","foundPoint","interfacePort","interfaceElement","tailSvgElement","headSvgElement","newConnection","#connectCompartmentConnection","objectTemplate","assignId","CellDLClass","undoRedo","#setObjectSvgElement","editGuides","#celldlObjectFromRdf","#subjectsOfType","parentType","#loadObject","subjectType","CellDLAnnotation","CellDLComponent","CellDLConduit","connectorNode","$rdf.isNamedNode","connectorId","undoAction","objectDetails","statements","#removeObject","connections","Base","BaseComponentStyle","_toArray","_iterableToArray","script","_this$pt","_this$pt2","_this$pt3","_ref$onBeforeCreate","_this$$primevueConfig","_this$$primevue","_this$$primevue2","_this$$primevue3","_ref2$onBeforeCreate","_usept","originalValue","_useptInConfig","originalValueInConfig","valueInConfig","hookName","selfHook","defaultHook","_len","_key2","mergeProps","_this2","_load","_this$$style","_this$$style2","globalCSS","_this$$style4","_this$$style5","_this$$style3","_this$$style3$getComm","_this$$style6","_this$$style6$getComp","_this$$style7","_this$$style8","_this$$style9","_this$$style9$getLaye","layerOrder","_this$$style10","_this$$style10$getPre","_this$$style11","scopedStyle","_this$scopedStyleEl","instance","_this$_getHostInstanc","_this$$primevueConfig2","searchInDefaultPT","searchOut","_ref6$mergeSections","mergeSections","_ref6$mergeProps","useMergeProps","self","datasets","_len2","_key3","_this$pt4","_this$pt5","datasetPrefix","isExtended","pt","_this3","getValue","_ref9","checkSameKey","_key","_cKey","_this$$primevueConfig3","_ref10","_ref10$mergeSections","_ref10$mergeProps","when","base","_this$$primevueConfig4","_this4","_this$$primevueConfig5","_this5","_this$$primevueConfig6","_this$$$vnode","nodePropKeys","_ref11","_ref12","_this$$primevueConfig7","_this$$primevueConfig8","_this$$primevue4","parentInstance","_ref13","_ref14","_ref15","_ref16","_key$split","_key$split2","currentObj","nestedKey","array","_ref17","_ref18","_ref19","_ref20","ToolbarStyle","script$1","BaseComponent","_hoisted_1","render","_ctx","_cache","$props","$setup","$data","$options","openBlock","createElementBlock","createElementVNode","renderSlot","useThemeCssVariables","componentName","onBeforeMount","generateComponentStyles","injectStyles","resolveReference","letter","tokenObj","traverse","kebabKey","newKey","resolvedValue","__props","buttonClasses","buttonStyle","popoverVisible","popoverTop","pointerPos","toolPopover","popoverElement","emit","__emit","toolButtonClick","popoverHeight","adjustment","buttonEvent","toolId","active","panel","button","popoverEvent","getTemplateEventDetails","details","CardStyle","createCommentVNode","slots","hasTitle","showtip","libraries","idToComponent","selectedId","fullId","library","selectedElement","selected","component","dragstart","_typeof$1","_classCallCheck$1","_defineProperties$1","_toPropertyKey$1","_createClass$1","_toPrimitive$1","ConnectedOverlayScrollHandler","listener","UniqueComponentId","BaseIconStyle","isLabelEmpty","BaseIcon","IconFieldStyle","InputIconStyle","_this$$pcForm","_this$$pcForm$registe","_this$$pcForm2","_this$$pcForm2$regist","_this$formField$onCha","_this$formField","_this$invalid","_this$$pcFormField","_this$$pcForm3","_this$$formControl","_this$$pcFormField2","_this$d_value","_this$$pcFormField3","_this$$pcForm4","BaseEditableHolder","_this$variant","_this$fluid","InputTextStyle","BaseInput","OverlayEventBus","createBlock","Teleport","BaseDirective","binding","vnode","_binding$instance","_vnode$ctx","_instance$binding","_instance$$primevueCo","_ref2$mergeSections","_ref2$mergeProps","_computedValue$_key","_instance$$primevueCo2","_ref4$mergeSections","_ref4$mergeProps","defaultPT","_config$csp","config","useStyleOptions","_instance$$style","_instance$$style2","_instance$$style3","_instance$theme","_instance$$style5","_instance$$style6","_instance$$style4","_instance$$style4$get","_instance$$style7","_instance$$style7$get","_instance$$style8","_instance$$style9","_instance$$style10","_instance$$style10$ge","_instance$$style11","_instance$$style11$ge","_instance$$style12","_ref7","directiveName","prevVnode","_binding$value","_config$pt","handleHook","hook","_el$$pd","_el$$instance$hook","_el$$instance9","_el$$pd2","$prevInstance","_value$directives","_el$$instance","_el$$instance2","_el$$instance3","_el$$instance4","_el$$instance5","_el$$instance6","_el$$instance7","_el$$instance8","handleWatch","_el$$instance10","_watchers$config","_el$$instance11","_watchers$configRipp","_el$$instance12","watchers","_ref8","_watchers$config2","_watchers$configRipp2","_el$$instance13","_BaseDirective$_getMe","_BaseDirective$_getMe2","_BaseDirective$_getMe3","_BaseDirective$_getMe4","_options","RippleStyle","BaseRipple","_toConsumableArray","_arrayWithoutHoles","_nonIterableSpread","Ripple","ink","VirtualScrollerStyle","both","behavior","horizontal","valid","_this$element","_this$element$scrollT","scrollTop","_this$element$scrollL","scrollLeft","_this$calculateNumIte","numToleratedItems","contentPos","itemSize","calculateFirst","_index","_numT","calculateCoord","_first","_size","_cpos","scrollTo","newFirst","isRangeChanged","isScrollChanged","to","_this$getRenderedRang","isToStart","isToEnd","pos","_pos2","calculateFirstInViewport","_pos","firstInViewport","lastInViewport","_this$element2","scrollPos","contentWidth","contentHeight","calculateNumItemsInViewport","_contentSize","_itemSize","calculateNumToleratedItems","_numItems","numItemsInViewport","_this$calculateNumIte2","calculateLast","_num","_isCols","last","_this3$items","vertical","_this$items","isCols","bottom","parentElement","setProp","_value","_this6","_this7","calculateTranslateVal","setTransform","_x","_y","translateVal","_this8","calculateScrollPos","calculateCurrentIndex","calculateTriggerIndex","_currentIndex","_last","_isScrollDownOrRight","_triggerIndex","lastValue","newLast","newScrollPos","isScrollDown","isScrollRight","currentIndex","triggerIndex","isScrollDownOrRight","_currentIndex2","_triggerIndex2","_this$onScrollPositio","newState","_this$items2","_this$items3","lazyLoadState","isLazyStateChanged","_this9","_this$onScrollPositio2","changed","_this10","isDiffWidth","isDiffHeight","reinit","renderedIndex","count","extOptions","_this11","SpinnerIcon","_component_SpinnerIcon","resolveComponent","Fragment","renderList","createVNode","_option","focusedOption","SelectStyle","option","itemOptions","optionGroup","isFocus","_hide","_this$formField$onBlu","metaKey","matched","focusableEl","isHide","optionIndex","pressedInInputText","label","_this$getOptionLabel","matchedOptionIndex","_this12","_this13","selectedIndex","_char","_this14","_this15","_this16","optionGroupChildren","contentRef","_this17","filteredOptions","optionGroups","filtered","group","groupChildren","selectedOptionIndex","_this18","InputText","VirtualScroller","Portal","InputIcon","IconField","TimesIcon","ChevronDownIcon","SearchIcon","CheckIcon","BlankIcon","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_component_InputText","_component_SearchIcon","_component_InputIcon","_component_IconField","_component_CheckIcon","_component_BlankIcon","_component_VirtualScroller","_component_Portal","_directive_ripple","resolveDirective","_$options$label","createTextVNode","toDisplayString","normalizeClass","resolveDynamicComponent","withCtx","Transition","normalizeProps","createSlots","styleClass","getItemOptions","contentStyle","withDirectives","$event","DEFAULT_CONNECTION_STYLE","CONNECTION_STYLE_DEFINITIONS","selectedItem","AccordionContentStyle","vShow","AccordionHeaderStyle","nextPanel","prevPanel","firstPanel","lastPanel","headerElement","panelElement","selfCheck","ChevronUpIcon","AccordionPanelStyle","AccordionStyle","_this$d_value2","tab","tabMetaData","tabs","nestedChild","AccordionPanel","AccordionHeader","AccordionContent","ChevronRightIcon","_component_AccordionHeader","_component_AccordionContent","_component_AccordionPanel","slotProps","ScrollPanelStyle","containerStyles","xBarStyles","pureContainerHeight","totalWidth","ownWidth","totalHeight","ownHeight","bar","step","deltaX","deltaY","frame","_scrollTop","scrollableHeight","KeyFilterStyle","BaseKeyFilter","KeyFilter","_options$value","_options$value2","_options$value3","_options$value4","testKey","clipboard","FloatLabelStyle","_useModel","emits","nameUnits","scalarType","discreteValue","scalarValue","emitChange","selectChange","inputTextChange","newValueString","inputTextFocusOut","inputTextKeyPress","RadioButtonStyle","_ptm","newModelValue","BadgeStyle","ButtonStyle","Badge","_component_Badge","DividerStyle","CheckboxStyle","MinusIcon","_component_MinusIcon","bound01","isOnePointZero","isPercent","isPercentage","clamp01","boundAlpha","convertToPercentage","pad2","rgbToRgb","rgbToHsl","hue2rgb","hslToRgb","rgbToHsv","hsvToRgb","rgbToHex","allow3Char","hex","rgbaToHex","allow4Char","convertDecimalToHex","cmykToRgb","cConv","mConv","yConv","kConv","rgbToCmyk","convertHexToDecimal","parseIntFromHex","numberInputToObject","color","names","inputToRGB","rgb","ok","stringInputToObject","isValidCSSUnit","CSS_INTEGER","CSS_NUMBER","CSS_UNIT","PERMISSIVE_MATCH3","PERMISSIVE_MATCH4","matchers","named","TinyColor","opts","RsRGB","GsRGB","BsRGB","alpha","hsv","hsl","allowShortChar","fmt","rnd","formatSet","formattedString","hasAlpha","amount","hue","rgb1","rgb2","rgba","slices","part","ret","modification","background","fg","bg","increment","comparedColor","startPrompt","styleChange","gradientDirn","colours","startColour","stopColour","colourChange","swapColours","SliderStyle","handleValue","pageX","pageY","modelValue","pageKey","rangeSliderWidth","rangeSliderPosition","_this$d_value3","_this$d_value$","_this$d_value$2","colour","dashed","minWidth","maxWidth","widthStep","pathColour","groups","openPanel","disabled","hasContent","objectStyle","stylingGroup","fillColours","direction","objectType","updateProperties","itemId","updateNodeStyle","fillStyle","updatePathStyle","pathStyle","crtInstance","primeVueConfig","primeVueAuraTheme","vueTippy","vueCommon.useTheme","defaultComponent","svgContent","celldlDiagram","despatchToolbarEvent","connectionStylePrompt","CellDLEditor","toolButtons","EDITOR_TOOL_IDS","DEFAULT_EDITOR_TOOL_ID","DEFAULT_CONNECTION_STYLE_DEFINITION","ConnectionStylePopover","ComponentPopover","panelButtons","PANEL_IDS","PropertiesPanel","panelComponent","panelVisible","panelToolId","resetToolBars","toolButton","newComponent","panelEvent","styleEvent","styling","celldl"],"mappings":";;;AAAA,IAAIA,KAAE,EAAC,oBAAmB,wBAAuB,GAAEC,KAAE,EAAC,aAAY,aAAY,aAAY,yBAAwB,GAAEC,KAAE,EAAC,OAAM,sBAAqB,YAAW,gBAAe,aAAY,gBAAe,kBAAiB,gBAAe,SAAQ,YAAW,YAAW,OAAM,cAAa,KAAI,aAAY,KAAI,aAAY,0BAAyB,YAAW,wBAAuB,iBAAgB,wBAAuB,kBAAiB,wBAAuB,uBAAsB,wBAAuB,WAAU,EAAC,OAAM,sBAAqB,OAAM,sBAAqB,OAAM,sBAAqB,QAAO,QAAO,QAAO,sBAAqB,GAAE,YAAW,EAAC,OAAM,sBAAqB,YAAW,gBAAe,aAAY,gBAAe,kBAAiB,eAAc,GAAE,OAAM,EAAC,iBAAgB,2BAA0B,aAAY,IAAG,GAAE,MAAK,EAAC,oBAAmB,2BAA0B,0BAAyB,IAAG,EAAC,GAAEC,KAAE,EAAC,aAAY,KAAI,aAAY,0BAAyB,YAAW,wBAAuB,OAAM,gBAAe,SAAQ,+BAA8B,GAAEC,KAAE,EAAC,MAAKJ,IAAE,OAAMC,IAAE,QAAOC,IAAE,SAAQC,GAAC,GCA/jCH,KAAE,EAAC,YAAW,2BAA0B,oBAAmB,oCAAmC,kBAAiB,kCAAiC,uBAAsB,wCAAuC,uBAAsB,wCAAuC,aAAY,6BAA4B,kBAAiB,mCAAkC,kBAAiB,mCAAkC,oBAAmB,qCAAoC,OAAM,sBAAqB,eAAc,+BAA8B,kBAAiB,kCAAiC,yBAAwB,0CAAyC,QAAO,uBAAsB,UAAS,0BAAyB,UAAS,0BAAyB,cAAa,8BAA6B,WAAU,EAAC,OAAM,iCAAgC,OAAM,iCAAgC,OAAM,iCAAgC,QAAO,kCAAiC,QAAO,iCAAgC,GAAE,oBAAmB,mCAAkC,GAAEC,KAAE,EAAC,YAAW,+BAA8B,aAAY,iCAAgC,cAAa,kCAAiC,OAAM,0BAAyB,QAAO,0BAAyB,GAAEI,KAAE,EAAC,SAAQ,kBAAiB,KAAI,aAAY,GAAEF,KAAE,EAAC,iBAAgB,kCAAiC,oBAAmB,qCAAoC,yBAAwB,2CAA0C,OAAM,uBAAsB,YAAW,6BAA4B,eAAc,gCAA+B,oBAAmB,sCAAqC,SAAQ,yBAAwB,cAAa,8BAA6B,GAAEG,KAAE,EAAC,YAAW,kCAAiC,OAAM,6BAA4B,YAAW,mCAAkC,SAAQ,8BAA6B,GAAEC,KAAE,EAAC,OAAM,UAAS,IAAG,EAAC,OAAM,OAAM,GAAE,IAAG,EAAC,OAAM,OAAM,GAAE,aAAY,6BAA4B,kBAAiB,6BAA4B,mBAAkB,6BAA4B,cAAa,8BAA6B,WAAU,EAAC,OAAM,sBAAqB,OAAM,sBAAqB,OAAM,sBAAqB,QAAO,uBAAsB,QAAO,sBAAqB,EAAC,GAAEH,KAAE,EAAC,cAAa,qBAAoB,GAAEI,KAAE,EAAC,SAAQ,wBAAuB,GAAEC,KAAE,EAAC,OAAM,EAAC,MAAK,EAAC,iBAAgB,iBAAgB,YAAW,gBAAe,GAAE,UAAS,EAAC,YAAW,iBAAgB,iBAAgB,iBAAgB,kBAAiB,iBAAgB,OAAM,iBAAgB,YAAW,iBAAgB,aAAY,gBAAe,EAAC,GAAE,MAAK,EAAC,MAAK,EAAC,iBAAgB,iBAAgB,YAAW,cAAa,GAAE,UAAS,EAAC,YAAW,iBAAgB,iBAAgB,iBAAgB,kBAAiB,iBAAgB,OAAM,iBAAgB,YAAW,iBAAgB,aAAY,gBAAe,EAAC,EAAC,GAAEC,KAAE,EAAC,MAAKV,IAAE,SAAQC,IAAE,MAAKI,IAAE,QAAOF,IAAE,aAAYG,IAAE,UAASC,IAAE,MAAKH,IAAE,cAAaI,IAAE,aAAYC,GAAC,GCAt3FN,KAAE,EAAC,OAAM,QAAO,QAAO,QAAO,UAAS,QAAO,YAAW,0BAAyB,OAAM,mBAAkB,cAAa,0BAAyB,GAAEF,KAAE,EAAC,MAAK,OAAM,GAAED,KAAE,EAAC,aAAY,wBAAuB,QAAO,WAAU,GAAEE,KAAE,EAAC,OAAM,QAAO,QAAO,QAAO,UAAS,UAAS,MAAK,EAAC,MAAK,SAAQ,GAAE,OAAM,EAAC,QAAO,QAAO,EAAC,GAAEK,KAAE,EAAC,OAAM,QAAO,QAAO,QAAO,UAAS,QAAO,MAAK,EAAC,MAAK,OAAM,GAAE,OAAM,EAAC,QAAO,UAAS,EAAC,GAAEI,KAAE,EAAC,MAAKR,IAAE,MAAKF,IAAE,OAAMD,IAAE,IAAGE,IAAE,IAAGK,GAAC,GCArbN,KAAE,EAAC,cAAa,sBAAqB,SAAQ,YAAW,UAAS,WAAU,YAAW,OAAM,UAAS,UAAS,QAAO,SAAQ,GAAED,KAAE,EAAC,MAAK,SAAQ,GAAEG,KAAE,EAAC,UAAS,YAAW,UAAS,WAAU,QAAO,UAAS,GAAEC,KAAE,EAAC,UAAS,YAAW,UAAS,WAAU,QAAO,UAAS,GAAEM,KAAE,EAAC,UAAS,QAAO,UAAS,QAAO,QAAO,OAAM,GAAEC,KAAE,EAAC,OAAM,EAAC,SAAQ,EAAC,YAAW,mBAAkB,OAAM,2BAA0B,GAAE,WAAU,EAAC,YAAW,iBAAgB,OAAM,gBAAe,GAAE,SAAQ,EAAC,YAAW,eAAc,OAAM,cAAa,GAAE,MAAK,EAAC,YAAW,aAAY,OAAM,cAAa,GAAE,MAAK,EAAC,YAAW,gBAAe,OAAM,cAAa,GAAE,QAAO,EAAC,YAAW,aAAY,OAAM,cAAa,GAAE,UAAS,EAAC,YAAW,iBAAgB,OAAM,cAAa,EAAC,GAAE,MAAK,EAAC,SAAQ,EAAC,YAAW,mBAAkB,OAAM,2BAA0B,GAAE,WAAU,EAAC,YAAW,iBAAgB,OAAM,gBAAe,GAAE,SAAQ,EAAC,YAAW,eAAc,OAAM,cAAa,GAAE,MAAK,EAAC,YAAW,aAAY,OAAM,YAAW,GAAE,MAAK,EAAC,YAAW,gBAAe,OAAM,eAAc,GAAE,QAAO,EAAC,YAAW,aAAY,OAAM,YAAW,GAAE,UAAS,EAAC,YAAW,eAAc,OAAM,gBAAe,EAAC,EAAC,GAAEN,KAAE,EAAC,MAAKJ,IAAE,KAAID,IAAE,IAAGG,IAAE,IAAGC,IAAE,IAAGM,IAAE,aAAYC,GAAC,GCAzpCV,KAAE,EAAC,cAAa,EAAC,MAAK,KAAI,IAAG,OAAM,IAAG,OAAM,IAAG,OAAM,IAAG,OAAM,IAAG,OAAM,GAAE,SAAQ,EAAC,IAAG,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,UAAS,GAAE,OAAM,EAAC,IAAG,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,UAAS,GAAE,MAAK,EAAC,IAAG,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,UAAS,GAAE,KAAI,EAAC,IAAG,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,UAAS,GAAE,QAAO,EAAC,IAAG,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,UAAS,GAAE,OAAM,EAAC,IAAG,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,UAAS,GAAE,QAAO,EAAC,IAAG,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,UAAS,GAAE,MAAK,EAAC,IAAG,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,UAAS,GAAE,MAAK,EAAC,IAAG,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,UAAS,GAAE,KAAI,EAAC,IAAG,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,UAAS,GAAE,MAAK,EAAC,IAAG,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,UAAS,GAAE,QAAO,EAAC,IAAG,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,WAAU,KAAI,UAAS,GAAE,QAAO,E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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,104,105,106,107,108,109,110,111,112,113,114,116,117,121,122,123,124,129,130,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,160,161,162,163,164,165,166,167,168,169,170,171,173,174,175,176,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,195,196]}