@pie-element/math-templated 7.1.1-next.39 → 7.1.1-next.43

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 (119) hide show
  1. package/author.js +2 -0
  2. package/configure.js +2 -0
  3. package/controller.js +1 -0
  4. package/dist/author/defaults.d.ts +173 -0
  5. package/dist/author/defaults.js +123 -0
  6. package/dist/author/design.d.ts +35 -0
  7. package/dist/author/design.js +360 -0
  8. package/dist/author/index.d.ts +43 -0
  9. package/dist/author/index.js +100 -0
  10. package/dist/author/markupUtils.d.ts +11 -0
  11. package/dist/author/markupUtils.js +10 -0
  12. package/dist/author/response.d.ts +41 -0
  13. package/dist/author/response.js +238 -0
  14. package/dist/author/utils.d.ts +9 -0
  15. package/dist/author/utils.js +7 -0
  16. package/dist/browser/assets/Symbola-4c507403.woff2 +0 -0
  17. package/dist/browser/author/index.js +29883 -0
  18. package/dist/browser/author/index.js.map +1 -0
  19. package/dist/browser/browser-_ggI30Zt.js +342 -0
  20. package/dist/browser/browser-_ggI30Zt.js.map +1 -0
  21. package/dist/browser/controller/index.js +37733 -0
  22. package/dist/browser/controller/index.js.map +1 -0
  23. package/dist/browser/delivery/index.js +130 -0
  24. package/dist/browser/delivery/index.js.map +1 -0
  25. package/dist/browser/dist-DCmVXYeO.js +1528 -0
  26. package/dist/browser/dist-DCmVXYeO.js.map +1 -0
  27. package/dist/browser/editor-runtime/assets/Symbola-4c507403.woff2 +0 -0
  28. package/dist/browser/editor-runtime/author/index.js +13474 -0
  29. package/dist/browser/editor-runtime/author/index.js.map +1 -0
  30. package/dist/browser/editor-runtime/browser-CCIOWBDT.js +342 -0
  31. package/dist/browser/editor-runtime/browser-CCIOWBDT.js.map +1 -0
  32. package/dist/browser/editor-runtime/controller/index.js +37733 -0
  33. package/dist/browser/editor-runtime/controller/index.js.map +1 -0
  34. package/dist/browser/editor-runtime/delivery/index.js +130 -0
  35. package/dist/browser/editor-runtime/delivery/index.js.map +1 -0
  36. package/dist/browser/editor-runtime/dist-DCmVXYeO.js +1528 -0
  37. package/dist/browser/editor-runtime/dist-DCmVXYeO.js.map +1 -0
  38. package/dist/browser/editor-runtime/horizontal-keypad-B7HTUZrd.js +14576 -0
  39. package/dist/browser/editor-runtime/horizontal-keypad-B7HTUZrd.js.map +1 -0
  40. package/dist/browser/editor-runtime/main-DNc4tDWH.js +1270 -0
  41. package/dist/browser/editor-runtime/main-DNc4tDWH.js.map +1 -0
  42. package/dist/browser/editor-runtime/print/index.js +49 -0
  43. package/dist/browser/editor-runtime/print/index.js.map +1 -0
  44. package/dist/browser/horizontal-keypad-CdjdVnsZ.js +14576 -0
  45. package/dist/browser/horizontal-keypad-CdjdVnsZ.js.map +1 -0
  46. package/dist/browser/main-DI8JSt5y.js +1270 -0
  47. package/dist/browser/main-DI8JSt5y.js.map +1 -0
  48. package/dist/browser/print/index.js +49 -0
  49. package/dist/browser/print/index.js.map +1 -0
  50. package/dist/controller/defaults.d.ts +29 -0
  51. package/dist/controller/defaults.js +23 -0
  52. package/dist/controller/index.d.ts +45 -0
  53. package/dist/controller/index.js +154 -0
  54. package/dist/delivery/index.d.ts +20 -0
  55. package/dist/delivery/index.js +50 -0
  56. package/dist/delivery/main.d.ts +40 -0
  57. package/dist/delivery/main.js +492 -0
  58. package/dist/index.d.ts +1 -0
  59. package/dist/index.iife.d.ts +8 -0
  60. package/dist/index.iife.js +202 -0
  61. package/dist/index.js +2 -0
  62. package/dist/math-templated.css +2 -0
  63. package/dist/print/index.d.ts +15 -0
  64. package/dist/print/index.js +49 -0
  65. package/dist/runtime-support.d.ts +12 -0
  66. package/dist/runtime-support.js +12 -0
  67. package/module/assets/Symbola-4c507403.woff2 +0 -0
  68. package/module/print.js +23552 -1
  69. package/module/print.js.map +1 -0
  70. package/package.json +111 -23
  71. package/print.js +2 -0
  72. package/CHANGELOG.json +0 -1
  73. package/CHANGELOG.md +0 -1134
  74. package/LICENSE.md +0 -5
  75. package/README.md +0 -0
  76. package/configure/CHANGELOG.json +0 -1
  77. package/configure/CHANGELOG.md +0 -1011
  78. package/configure/lib/defaults.js +0 -172
  79. package/configure/lib/defaults.js.map +0 -1
  80. package/configure/lib/design.js +0 -546
  81. package/configure/lib/design.js.map +0 -1
  82. package/configure/lib/index.js +0 -169
  83. package/configure/lib/index.js.map +0 -1
  84. package/configure/lib/markupUtils.js +0 -39
  85. package/configure/lib/markupUtils.js.map +0 -1
  86. package/configure/lib/response.js +0 -394
  87. package/configure/lib/response.js.map +0 -1
  88. package/configure/lib/utils.js +0 -15
  89. package/configure/lib/utils.js.map +0 -1
  90. package/configure/package.json +0 -26
  91. package/controller/CHANGELOG.json +0 -1
  92. package/controller/CHANGELOG.md +0 -870
  93. package/controller/lib/defaults.js +0 -28
  94. package/controller/lib/defaults.js.map +0 -1
  95. package/controller/lib/index.js +0 -360
  96. package/controller/lib/index.js.map +0 -1
  97. package/controller/package.json +0 -17
  98. package/docs/config-schema.json +0 -2251
  99. package/docs/config-schema.json.md +0 -1658
  100. package/docs/demo/config.js +0 -8
  101. package/docs/demo/generate.js +0 -42
  102. package/docs/demo/index.html +0 -1
  103. package/docs/demo/session.js +0 -14
  104. package/docs/pie-schema.json +0 -1231
  105. package/docs/pie-schema.json.md +0 -894
  106. package/lib/index.js +0 -76
  107. package/lib/index.js.map +0 -1
  108. package/lib/main.js +0 -877
  109. package/lib/main.js.map +0 -1
  110. package/lib/print.js +0 -88
  111. package/lib/print.js.map +0 -1
  112. package/module/configure.js +0 -1
  113. package/module/controller.js +0 -3711
  114. package/module/demo.js +0 -67
  115. package/module/element.js +0 -1
  116. package/module/index.html +0 -21
  117. package/module/manifest.json +0 -22
  118. package/module/print-demo.js +0 -105
  119. package/module/print.html +0 -18
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["extendSxProp","SystemGlobalStyles","THEME_ID","extendSxProp","useIsomorphicLayoutEffect","React","React","e","t","useUtilityClasses","capitalize","useUtilityClasses","capitalize","React","isEmpty","areEqualValues","React","_span","capitalize","useUtilityClasses","useControlled","React","useForkRef","ownerDocument","_formatErrorMessage","areEqualValues","isEmpty","styles","React","capitalize","useUtilityClasses","React","useForkRef","ownerDocument","getActiveElement","_formatErrorMessage","useUtilityClasses","inputBaseRootOverridesResolver","inputBaseInputOverridesResolver","useUtilityClasses","capitalize","inputBaseRootOverridesResolver","inputBaseInputOverridesResolver","_span","NotchedOutlineRoot","useUtilityClasses","inputBaseRootOverridesResolver","inputBaseInputOverridesResolver","React","useUtilityClasses","ArrowDropDownIcon","useForkRef","React","overridesResolver","useUtilityClasses","React","useForkRef","useUtilityClasses","_span","useUtilityClasses","capitalize","useUtilityClasses","useUtilityClasses","useUtilityClasses","capitalize","React","useUtilityClasses","capitalize","React","debounce","ownerWindow","useUtilityClasses","KeyboardArrowLeft","KeyboardArrowRight","useUtilityClasses","React","useEventCallback","debounce","ownerWindow","getActiveElement","ownerDocument","useUtilityClasses","capitalize","React","useUtilityClasses","React","useUtilityClasses","useUtilityClasses","React","overridesResolver","useUtilityClasses","ListItem","React","isMuiElement","useForkRef","useUtilityClasses","useUtilityClasses","useUtilityClasses","capitalize","useControlled","useUtilityClasses","capitalize","defaultCheckedIcon","CheckBoxIcon","defaultIcon","CheckBoxOutlineBlankIcon","IndeterminateCheckBoxIcon","useUtilityClasses","capitalize","capitalize","useUtilityClasses","React","RadioButtonUncheckedIcon","RadioButtonCheckedIcon","React","useUtilityClasses","capitalize","createChainedFunction","capitalize","e","e","e","t","e","e","t","n","r","i","a","o","s","c","l","u","d","f","S","p","g","_","y","v","b","x","C","w","T","E","D","O","s","c","l","u","d","r","a","e","t","i","o","f"],"sources":["../../../../../../../node_modules/.bun/@mui+system@7.3.11+b39dd06066005000/node_modules/@mui/system/esm/styleFunctionSx/extendSxProp.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/GlobalStyles/GlobalStyles.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/zero-styled/index.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/utils/createChainedFunction.js","../../../../../../../node_modules/.bun/@dnd-kit+utilities@3.2.2+f4eacebf2041cd4f/node_modules/@dnd-kit/utilities/dist/utilities.esm.js","../../../../../../../node_modules/.bun/@dnd-kit+core@6.3.1+6dbf9a050bc9aadb/node_modules/@dnd-kit/core/dist/core.esm.js","../../../../../../lib-react/editable-html-tip-tap/dist/extensions/index.js","../../../../../../lib-react/editable-html-tip-tap/dist/utils/helper.js","../../../../../../lib-react/editable-html-tip-tap/dist/extensions/extended-table.js","../../../../../../lib-react/editable-html-tip-tap/dist/extensions/extended-table-cell.js","../../../../../../lib-react/editable-html-tip-tap/dist/extensions/div-node.js","../../../../../../lib-react/editable-html-tip-tap/dist/extensions/ensure-empty-root-div.js","../../../../../../lib-react/editable-html-tip-tap/dist/extensions/ensure-list-item-content-is-div.js","../../../../../../lib-react/editable-html-tip-tap/dist/constants.js","../../../../../../../node_modules/.bun/@mui+icons-material@7.3.11+44ccb211c00abd9d/node_modules/@mui/icons-material/esm/Check.js","../../../../../../lib-react/editable-html-tip-tap/dist/components/common/done-button.js","../../../../../../../node_modules/.bun/@mui+icons-material@7.3.11+44ccb211c00abd9d/node_modules/@mui/icons-material/esm/Delete.js","../../../../../../lib-react/editable-html-tip-tap/dist/extensions/custom-toolbar-wrapper.js","../../../../../../lib-react/editable-html-tip-tap/dist/utils/toolbar.js","../../../../../../../node_modules/.bun/use-sync-external-store@1.6.0+f4eacebf2041cd4f/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js","../../../../../../../node_modules/.bun/use-sync-external-store@1.6.0+f4eacebf2041cd4f/node_modules/use-sync-external-store/shim/index.js","../../../../../../../node_modules/.bun/fast-equals@5.4.0/node_modules/fast-equals/dist/es/index.mjs","../../../../../../../node_modules/.bun/use-sync-external-store@1.6.0+f4eacebf2041cd4f/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js","../../../../../../../node_modules/.bun/use-sync-external-store@1.6.0+f4eacebf2041cd4f/node_modules/use-sync-external-store/shim/with-selector.js","../../../../../../../node_modules/.bun/@tiptap+react@3.31.3+a92cc312c5bfc32a/node_modules/@tiptap/react/dist/index.js","../../../../../../lib-react/editable-html-tip-tap/dist/components/respArea/ExplicitConstructedResponse.js","../../../../../../lib-react/editable-html-tip-tap/dist/node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.js","../../../../../../../node_modules/.bun/@mui+icons-material@7.3.11+44ccb211c00abd9d/node_modules/@mui/icons-material/esm/ChevronRight.js","../../../../../../../node_modules/.bun/@mui+icons-material@7.3.11+44ccb211c00abd9d/node_modules/@mui/icons-material/esm/MoreVert.js","../../../../../../lib-react/editable-html-tip-tap/dist/components/icons/RespArea.js","../../../../../../lib-react/editable-html-tip-tap/dist/components/respArea/DragInTheBlank/choice.js","../../../../../../lib-react/editable-html-tip-tap/dist/components/respArea/DragInTheBlank/DragInTheBlank.js","../../../../../../lib-react/editable-html-tip-tap/dist/components/respArea/InlineDropdown.js","../../../../../../lib-react/editable-html-tip-tap/dist/components/respArea/MathTemplated.js","../../../../../../lib-react/editable-html-tip-tap/dist/extensions/responseArea.js","../../../../../../lib-react/math-toolbar/dist/utils.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/Divider/dividerClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/ListItemIcon/listItemIconClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/Typography/typographyClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/Typography/Typography.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/ListItemText/listItemTextClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/MenuItem/menuItemClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/NativeSelect/nativeSelectClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/NativeSelect/NativeSelectInput.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/Select/selectClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/Select/utils/getOpenInteractionType.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/Select/utils/isEmpty.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/Select/utils/areEqualValues.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/Select/utils/SelectFocusSourceContext.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/Select/SelectInput.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/internal/svg-icons/ArrowDropDown.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/TextareaAutosize/TextareaAutosize.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/InputBase/inputBaseClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/InputBase/InputBase.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/Input/inputClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/Input/Input.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/FilledInput/filledInputClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/FilledInput/FilledInput.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/OutlinedInput/NotchedOutline.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/OutlinedInput/outlinedInputClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/OutlinedInput/OutlinedInput.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/Select/Select.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/MenuItem/MenuItem.js","../../../../../../lib-react/math-toolbar/dist/editor-and-pad.js","../../../../../../lib-react/math-toolbar/dist/done-button.js","../../../../../../lib-react/math-toolbar/dist/math-preview.js","../../../../../../lib-react/math-toolbar/dist/index.js","../../../../../../lib-react/editable-html-tip-tap/dist/extensions/math.js","../../../../../../lib-react/editable-html-tip-tap/dist/components/image/findImageNode.js","../../../../../../lib-react/editable-html-tip-tap/dist/components/image/InsertImageHandler.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/DialogContent/dialogContentClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/DialogTitle/dialogTitleClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/DialogContent/DialogContent.js","../../../../../../../node_modules/.bun/@mui+icons-material@7.3.11+44ccb211c00abd9d/node_modules/@mui/icons-material/esm/ArrowBackIos.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/FormHelperText/formHelperTextClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/FormHelperText/FormHelperText.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/TextField/textFieldClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/TextField/TextField.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/DialogActions/dialogActionsClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/DialogActions/DialogActions.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/Dialog/dialogClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/Dialog/DialogContext.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/Dialog/Dialog.js","../../../../../../lib-react/editable-html-tip-tap/dist/components/image/AltDialog.js","../../../../../../lib-react/editable-html-tip-tap/dist/components/common/toolbar-buttons.js","../../../../../../lib-react/editable-html-tip-tap/dist/components/image/ImageToolbar.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/LinearProgress/linearProgressClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/LinearProgress/LinearProgress.js","../../../../../../lib-react/editable-html-tip-tap/dist/extensions/image-component.js","../../../../../../lib-react/editable-html-tip-tap/dist/extensions/image.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/internal/animate.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/Tabs/ScrollbarSize.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/internal/svg-icons/KeyboardArrowLeft.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/internal/svg-icons/KeyboardArrowRight.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/TabScrollButton/tabScrollButtonClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/TabScrollButton/TabScrollButton.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/Tabs/tabsClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/Tabs/Tabs.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/Tab/tabClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/Tab/Tab.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/DialogTitle/DialogTitle.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/DialogContentText/dialogContentTextClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/DialogContentText/DialogContentText.js","../../../../../../lib-react/editable-html-tip-tap/dist/components/media/MediaDialog.js","../../../../../../lib-react/editable-html-tip-tap/dist/components/media/MediaToolbar.js","../../../../../../lib-react/editable-html-tip-tap/dist/extensions/media.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/ListItem/listItemClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/ListItemButton/listItemButtonClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/ListItemSecondaryAction/listItemSecondaryActionClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/ListItemSecondaryAction/ListItemSecondaryAction.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/ListItem/ListItem.js","../../../../../../lib-react/editable-html-tip-tap/dist/extensions/css.js","../../../../../../lib-react/editable-html-tip-tap/dist/extensions/extended-list-item.js","../../../../../../lib-react/editable-html-tip-tap/dist/extensions/heading-paragraph.js","../../../../../../lib-react/editable-html-tip-tap/dist/utils/size.js","../../../../../../lib-react/editable-html-tip-tap/dist/components/respArea/ToolbarIcon.js","../../../../../../lib-react/editable-html-tip-tap/dist/components/characters/characterUtils.js","../../../../../../lib-react/editable-html-tip-tap/dist/components/icons/TextAlign.js","../../../../../../lib-react/editable-html-tip-tap/dist/components/icons/CssIcon.js","../../../../../../lib-react/editable-html-tip-tap/dist/components/icons/TableIcons.js","../../../../../../lib-react/editable-html-tip-tap/dist/components/characters/custom-popper.js","../../../../../../lib-react/editable-html-tip-tap/dist/components/CharacterPicker.js","../../../../../../../node_modules/.bun/@mui+icons-material@7.3.11+44ccb211c00abd9d/node_modules/@mui/icons-material/esm/FormatBold.js","../../../../../../../node_modules/.bun/@mui+icons-material@7.3.11+44ccb211c00abd9d/node_modules/@mui/icons-material/esm/FormatItalic.js","../../../../../../../node_modules/.bun/@mui+icons-material@7.3.11+44ccb211c00abd9d/node_modules/@mui/icons-material/esm/FormatStrikethrough.js","../../../../../../../node_modules/.bun/@mui+icons-material@7.3.11+44ccb211c00abd9d/node_modules/@mui/icons-material/esm/Code.js","../../../../../../../node_modules/.bun/@mui+icons-material@7.3.11+44ccb211c00abd9d/node_modules/@mui/icons-material/esm/GridOn.js","../../../../../../../node_modules/.bun/@mui+icons-material@7.3.11+44ccb211c00abd9d/node_modules/@mui/icons-material/esm/FormatListBulleted.js","../../../../../../../node_modules/.bun/@mui+icons-material@7.3.11+44ccb211c00abd9d/node_modules/@mui/icons-material/esm/FormatListNumbered.js","../../../../../../../node_modules/.bun/@mui+icons-material@7.3.11+44ccb211c00abd9d/node_modules/@mui/icons-material/esm/FormatUnderlined.js","../../../../../../../node_modules/.bun/@mui+icons-material@7.3.11+44ccb211c00abd9d/node_modules/@mui/icons-material/esm/Functions.js","../../../../../../../node_modules/.bun/@mui+icons-material@7.3.11+44ccb211c00abd9d/node_modules/@mui/icons-material/esm/Image.js","../../../../../../../node_modules/.bun/@mui+icons-material@7.3.11+44ccb211c00abd9d/node_modules/@mui/icons-material/esm/Redo.js","../../../../../../../node_modules/.bun/@mui+icons-material@7.3.11+44ccb211c00abd9d/node_modules/@mui/icons-material/esm/FormatQuote.js","../../../../../../../node_modules/.bun/@mui+icons-material@7.3.11+44ccb211c00abd9d/node_modules/@mui/icons-material/esm/Theaters.js","../../../../../../../node_modules/.bun/@mui+icons-material@7.3.11+44ccb211c00abd9d/node_modules/@mui/icons-material/esm/VolumeUp.js","../../../../../../../node_modules/.bun/@mui+icons-material@7.3.11+44ccb211c00abd9d/node_modules/@mui/icons-material/esm/BorderAll.js","../../../../../../lib-react/editable-html-tip-tap/dist/components/MenuBar.js","../../../../../../lib-react/editable-html-tip-tap/dist/components/TiptapContainer.js","../../../../../../lib-react/editable-html-tip-tap/dist/components/EditableHtml.js","../../../../../../lib-react/editable-html-tip-tap/dist/index.js","../../../../../../shared/configure-events/dist/index.js","../../../../../../../node_modules/.bun/@mui+icons-material@7.3.11+44ccb211c00abd9d/node_modules/@mui/icons-material/esm/Info.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/Card/cardClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/Card/Card.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/CardContent/cardContentClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/CardContent/CardContent.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/internal/switchBaseClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/internal/SwitchBase.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/internal/svg-icons/CheckBoxOutlineBlank.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/internal/svg-icons/CheckBox.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/internal/svg-icons/IndeterminateCheckBox.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/Checkbox/checkboxClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/Checkbox/Checkbox.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/FormControlLabel/formControlLabelClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/FormControlLabel/FormControlLabel.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/InputAdornment/inputAdornmentClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/InputAdornment/InputAdornment.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/internal/svg-icons/RadioButtonUnchecked.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/internal/svg-icons/RadioButtonChecked.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/Radio/RadioButtonIcon.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/RadioGroup/RadioGroupContext.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/RadioGroup/useRadioGroup.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/Radio/radioClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/Radio/Radio.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/Switch/switchClasses.js","../../../../../../../node_modules/.bun/@mui+material@7.3.11+eb26afe407ed7030/node_modules/@mui/material/esm/Switch/Switch.js","../../../../../../lib-react/config-ui/dist/radio-with-label.js","../../../../../../lib-react/config-ui/dist/tabs/index.js","../../../../../../lib-react/config-ui/dist/checkbox.js","../../../../../../lib-react/config-ui/dist/number-text-field.js","../../../../../../lib-react/config-ui/dist/two-choice.js","../../../../../../lib-react/config-ui/dist/_virtual/_rolldown/runtime.js","../../../../../../lib-react/config-ui/dist/layout/layout-contents.js","../../../../../../lib-react/config-ui/dist/node_modules/.bun/@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/extends.js","../../../../../../lib-react/config-ui/dist/node_modules/.bun/@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../../../../../lib-react/config-ui/dist/node_modules/.bun/@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../../../../../../lib-react/config-ui/dist/node_modules/.bun/@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../../../../../../lib-react/config-ui/dist/node_modules/.bun/resize-observer-polyfill@1.5.1/node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","../../../../../../lib-react/config-ui/dist/node_modules/.bun/react-measure@2.5.2_6dbf9a050bc9aadb/node_modules/react-measure/dist/index.esm.js","../../../../../../lib-react/config-ui/dist/layout/settings-box.js","../../../../../../lib-react/config-ui/dist/layout/config-layout.js","../../../../../../lib-react/config-ui/dist/layout/index.js","../../../../../../lib-react/config-ui/dist/settings/toggle.js","../../../../../../lib-react/config-ui/dist/settings/settings-radio-label.js","../../../../../../lib-react/config-ui/dist/settings/panel.js","../../../../../../lib-react/config-ui/dist/settings/index.js","../../../../../../lib-react/config-ui/dist/index.js","../../../../src/author/response.tsx","../../../../src/author/markupUtils.tsx","../../../../src/author/utils.ts","../../../../src/author/design.tsx","../../../../src/author/defaults.ts","../../../../src/author/index.ts"],"sourcesContent":["import { isPlainObject } from '@mui/utils/deepmerge';\nimport defaultSxConfig from \"./defaultSxConfig.js\";\nconst splitProps = props => {\n const result = {\n systemProps: {},\n otherProps: {}\n };\n const config = props?.theme?.unstable_sxConfig ?? defaultSxConfig;\n Object.keys(props).forEach(prop => {\n if (config[prop]) {\n result.systemProps[prop] = props[prop];\n } else {\n result.otherProps[prop] = props[prop];\n }\n });\n return result;\n};\nexport default function extendSxProp(props) {\n const {\n sx: inSx,\n ...other\n } = props;\n const {\n systemProps,\n otherProps\n } = splitProps(other);\n let finalSx;\n if (Array.isArray(inSx)) {\n finalSx = [systemProps, ...inSx];\n } else if (typeof inSx === 'function') {\n finalSx = (...args) => {\n const result = inSx(...args);\n if (!isPlainObject(result)) {\n return systemProps;\n }\n return {\n ...systemProps,\n ...result\n };\n };\n } else {\n finalSx = {\n ...systemProps,\n ...inSx\n };\n }\n return {\n ...otherProps,\n sx: finalSx\n };\n}","'use client';\n\nimport PropTypes from 'prop-types';\nimport { GlobalStyles as SystemGlobalStyles } from '@mui/system';\nimport defaultTheme from \"../styles/defaultTheme.js\";\nimport THEME_ID from \"../styles/identifier.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction GlobalStyles(props) {\n return /*#__PURE__*/_jsx(SystemGlobalStyles, {\n ...props,\n defaultTheme: defaultTheme,\n themeId: THEME_ID\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? GlobalStyles.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The styles you want to apply globally.\n */\n styles: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.array, PropTypes.func, PropTypes.number, PropTypes.object, PropTypes.string, PropTypes.bool])\n} : void 0;\nexport default GlobalStyles;","import { extendSxProp } from '@mui/system/styleFunctionSx';\nimport useTheme from \"../styles/useTheme.js\";\nimport GlobalStyles from \"../GlobalStyles/index.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport { css, keyframes } from '@mui/system';\nexport { default as styled } from \"../styles/styled.js\";\nexport function globalCss(styles) {\n return function GlobalStylesWrapper(props) {\n return (\n /*#__PURE__*/\n // Pigment CSS `globalCss` support callback with theme inside an object but `GlobalStyles` support theme as a callback value.\n _jsx(GlobalStyles, {\n styles: typeof styles === 'function' ? theme => styles({\n theme,\n ...props\n }) : styles\n })\n );\n };\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function internal_createExtendSxProp() {\n return extendSxProp;\n}\nexport { useTheme };","import createChainedFunction from '@mui/utils/createChainedFunction';\nexport default createChainedFunction;","import { useMemo, useLayoutEffect, useEffect, useRef, useCallback } from 'react';\n\nfunction useCombinedRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n return useMemo(() => node => {\n refs.forEach(ref => ref(node));\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n refs);\n}\n\n// https://github.com/facebook/react/blob/master/packages/shared/ExecutionEnvironment.js\nconst canUseDOM = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined';\n\nfunction isWindow(element) {\n const elementString = Object.prototype.toString.call(element);\n return elementString === '[object Window]' || // In Electron context the Window object serializes to [object global]\n elementString === '[object global]';\n}\n\nfunction isNode(node) {\n return 'nodeType' in node;\n}\n\nfunction getWindow(target) {\n var _target$ownerDocument, _target$ownerDocument2;\n\n if (!target) {\n return window;\n }\n\n if (isWindow(target)) {\n return target;\n }\n\n if (!isNode(target)) {\n return window;\n }\n\n return (_target$ownerDocument = (_target$ownerDocument2 = target.ownerDocument) == null ? void 0 : _target$ownerDocument2.defaultView) != null ? _target$ownerDocument : window;\n}\n\nfunction isDocument(node) {\n const {\n Document\n } = getWindow(node);\n return node instanceof Document;\n}\n\nfunction isHTMLElement(node) {\n if (isWindow(node)) {\n return false;\n }\n\n return node instanceof getWindow(node).HTMLElement;\n}\n\nfunction isSVGElement(node) {\n return node instanceof getWindow(node).SVGElement;\n}\n\nfunction getOwnerDocument(target) {\n if (!target) {\n return document;\n }\n\n if (isWindow(target)) {\n return target.document;\n }\n\n if (!isNode(target)) {\n return document;\n }\n\n if (isDocument(target)) {\n return target;\n }\n\n if (isHTMLElement(target) || isSVGElement(target)) {\n return target.ownerDocument;\n }\n\n return document;\n}\n\n/**\r\n * A hook that resolves to useEffect on the server and useLayoutEffect on the client\r\n * @param callback {function} Callback function that is invoked when the dependencies of the hook change\r\n */\n\nconst useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\n\nfunction useEvent(handler) {\n const handlerRef = useRef(handler);\n useIsomorphicLayoutEffect(() => {\n handlerRef.current = handler;\n });\n return useCallback(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return handlerRef.current == null ? void 0 : handlerRef.current(...args);\n }, []);\n}\n\nfunction useInterval() {\n const intervalRef = useRef(null);\n const set = useCallback((listener, duration) => {\n intervalRef.current = setInterval(listener, duration);\n }, []);\n const clear = useCallback(() => {\n if (intervalRef.current !== null) {\n clearInterval(intervalRef.current);\n intervalRef.current = null;\n }\n }, []);\n return [set, clear];\n}\n\nfunction useLatestValue(value, dependencies) {\n if (dependencies === void 0) {\n dependencies = [value];\n }\n\n const valueRef = useRef(value);\n useIsomorphicLayoutEffect(() => {\n if (valueRef.current !== value) {\n valueRef.current = value;\n }\n }, dependencies);\n return valueRef;\n}\n\nfunction useLazyMemo(callback, dependencies) {\n const valueRef = useRef();\n return useMemo(() => {\n const newValue = callback(valueRef.current);\n valueRef.current = newValue;\n return newValue;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [...dependencies]);\n}\n\nfunction useNodeRef(onChange) {\n const onChangeHandler = useEvent(onChange);\n const node = useRef(null);\n const setNodeRef = useCallback(element => {\n if (element !== node.current) {\n onChangeHandler == null ? void 0 : onChangeHandler(element, node.current);\n }\n\n node.current = element;\n }, //eslint-disable-next-line\n []);\n return [node, setNodeRef];\n}\n\nfunction usePrevious(value) {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref.current;\n}\n\nlet ids = {};\nfunction useUniqueId(prefix, value) {\n return useMemo(() => {\n if (value) {\n return value;\n }\n\n const id = ids[prefix] == null ? 0 : ids[prefix] + 1;\n ids[prefix] = id;\n return prefix + \"-\" + id;\n }, [prefix, value]);\n}\n\nfunction createAdjustmentFn(modifier) {\n return function (object) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((accumulator, adjustment) => {\n const entries = Object.entries(adjustment);\n\n for (const [key, valueAdjustment] of entries) {\n const value = accumulator[key];\n\n if (value != null) {\n accumulator[key] = value + modifier * valueAdjustment;\n }\n }\n\n return accumulator;\n }, { ...object\n });\n };\n}\n\nconst add = /*#__PURE__*/createAdjustmentFn(1);\nconst subtract = /*#__PURE__*/createAdjustmentFn(-1);\n\nfunction hasViewportRelativeCoordinates(event) {\n return 'clientX' in event && 'clientY' in event;\n}\n\nfunction isKeyboardEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n KeyboardEvent\n } = getWindow(event.target);\n return KeyboardEvent && event instanceof KeyboardEvent;\n}\n\nfunction isTouchEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n TouchEvent\n } = getWindow(event.target);\n return TouchEvent && event instanceof TouchEvent;\n}\n\n/**\r\n * Returns the normalized x and y coordinates for mouse and touch events.\r\n */\n\nfunction getEventCoordinates(event) {\n if (isTouchEvent(event)) {\n if (event.touches && event.touches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.touches[0];\n return {\n x,\n y\n };\n } else if (event.changedTouches && event.changedTouches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.changedTouches[0];\n return {\n x,\n y\n };\n }\n }\n\n if (hasViewportRelativeCoordinates(event)) {\n return {\n x: event.clientX,\n y: event.clientY\n };\n }\n\n return null;\n}\n\nconst CSS = /*#__PURE__*/Object.freeze({\n Translate: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n x,\n y\n } = transform;\n return \"translate3d(\" + (x ? Math.round(x) : 0) + \"px, \" + (y ? Math.round(y) : 0) + \"px, 0)\";\n }\n\n },\n Scale: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n scaleX,\n scaleY\n } = transform;\n return \"scaleX(\" + scaleX + \") scaleY(\" + scaleY + \")\";\n }\n\n },\n Transform: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n return [CSS.Translate.toString(transform), CSS.Scale.toString(transform)].join(' ');\n }\n\n },\n Transition: {\n toString(_ref) {\n let {\n property,\n duration,\n easing\n } = _ref;\n return property + \" \" + duration + \"ms \" + easing;\n }\n\n }\n});\n\nconst SELECTOR = 'a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]';\nfunction findFirstFocusableNode(element) {\n if (element.matches(SELECTOR)) {\n return element;\n }\n\n return element.querySelector(SELECTOR);\n}\n\nexport { CSS, add, canUseDOM, findFirstFocusableNode, getEventCoordinates, getOwnerDocument, getWindow, hasViewportRelativeCoordinates, isDocument, isHTMLElement, isKeyboardEvent, isNode, isSVGElement, isTouchEvent, isWindow, subtract, useCombinedRefs, useEvent, useInterval, useIsomorphicLayoutEffect, useLatestValue, useLazyMemo, useNodeRef, usePrevious, useUniqueId };\n//# sourceMappingURL=utilities.esm.js.map\n","import React, { createContext, useContext, useEffect, useState, useCallback, useMemo, useRef, memo, useReducer, cloneElement, forwardRef } from 'react';\nimport { createPortal, unstable_batchedUpdates } from 'react-dom';\nimport { useUniqueId, getEventCoordinates, getWindow, isDocument, isHTMLElement, isSVGElement, canUseDOM, isWindow, isNode, getOwnerDocument, add, isKeyboardEvent, subtract, useLazyMemo, useInterval, usePrevious, useLatestValue, useEvent, useIsomorphicLayoutEffect, useNodeRef, findFirstFocusableNode, CSS } from '@dnd-kit/utilities';\nimport { useAnnouncement, HiddenText, LiveRegion } from '@dnd-kit/accessibility';\n\nconst DndMonitorContext = /*#__PURE__*/createContext(null);\n\nfunction useDndMonitor(listener) {\n const registerListener = useContext(DndMonitorContext);\n useEffect(() => {\n if (!registerListener) {\n throw new Error('useDndMonitor must be used within a children of <DndContext>');\n }\n\n const unsubscribe = registerListener(listener);\n return unsubscribe;\n }, [listener, registerListener]);\n}\n\nfunction useDndMonitorProvider() {\n const [listeners] = useState(() => new Set());\n const registerListener = useCallback(listener => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n }, [listeners]);\n const dispatch = useCallback(_ref => {\n let {\n type,\n event\n } = _ref;\n listeners.forEach(listener => {\n var _listener$type;\n\n return (_listener$type = listener[type]) == null ? void 0 : _listener$type.call(listener, event);\n });\n }, [listeners]);\n return [dispatch, registerListener];\n}\n\nconst defaultScreenReaderInstructions = {\n draggable: \"\\n To pick up a draggable item, press the space bar.\\n While dragging, use the arrow keys to move the item.\\n Press space again to drop the item in its new position, or press escape to cancel.\\n \"\n};\nconst defaultAnnouncements = {\n onDragStart(_ref) {\n let {\n active\n } = _ref;\n return \"Picked up draggable item \" + active.id + \".\";\n },\n\n onDragOver(_ref2) {\n let {\n active,\n over\n } = _ref2;\n\n if (over) {\n return \"Draggable item \" + active.id + \" was moved over droppable area \" + over.id + \".\";\n }\n\n return \"Draggable item \" + active.id + \" is no longer over a droppable area.\";\n },\n\n onDragEnd(_ref3) {\n let {\n active,\n over\n } = _ref3;\n\n if (over) {\n return \"Draggable item \" + active.id + \" was dropped over droppable area \" + over.id;\n }\n\n return \"Draggable item \" + active.id + \" was dropped.\";\n },\n\n onDragCancel(_ref4) {\n let {\n active\n } = _ref4;\n return \"Dragging was cancelled. Draggable item \" + active.id + \" was dropped.\";\n }\n\n};\n\nfunction Accessibility(_ref) {\n let {\n announcements = defaultAnnouncements,\n container,\n hiddenTextDescribedById,\n screenReaderInstructions = defaultScreenReaderInstructions\n } = _ref;\n const {\n announce,\n announcement\n } = useAnnouncement();\n const liveRegionId = useUniqueId(\"DndLiveRegion\");\n const [mounted, setMounted] = useState(false);\n useEffect(() => {\n setMounted(true);\n }, []);\n useDndMonitor(useMemo(() => ({\n onDragStart(_ref2) {\n let {\n active\n } = _ref2;\n announce(announcements.onDragStart({\n active\n }));\n },\n\n onDragMove(_ref3) {\n let {\n active,\n over\n } = _ref3;\n\n if (announcements.onDragMove) {\n announce(announcements.onDragMove({\n active,\n over\n }));\n }\n },\n\n onDragOver(_ref4) {\n let {\n active,\n over\n } = _ref4;\n announce(announcements.onDragOver({\n active,\n over\n }));\n },\n\n onDragEnd(_ref5) {\n let {\n active,\n over\n } = _ref5;\n announce(announcements.onDragEnd({\n active,\n over\n }));\n },\n\n onDragCancel(_ref6) {\n let {\n active,\n over\n } = _ref6;\n announce(announcements.onDragCancel({\n active,\n over\n }));\n }\n\n }), [announce, announcements]));\n\n if (!mounted) {\n return null;\n }\n\n const markup = React.createElement(React.Fragment, null, React.createElement(HiddenText, {\n id: hiddenTextDescribedById,\n value: screenReaderInstructions.draggable\n }), React.createElement(LiveRegion, {\n id: liveRegionId,\n announcement: announcement\n }));\n return container ? createPortal(markup, container) : markup;\n}\n\nvar Action;\n\n(function (Action) {\n Action[\"DragStart\"] = \"dragStart\";\n Action[\"DragMove\"] = \"dragMove\";\n Action[\"DragEnd\"] = \"dragEnd\";\n Action[\"DragCancel\"] = \"dragCancel\";\n Action[\"DragOver\"] = \"dragOver\";\n Action[\"RegisterDroppable\"] = \"registerDroppable\";\n Action[\"SetDroppableDisabled\"] = \"setDroppableDisabled\";\n Action[\"UnregisterDroppable\"] = \"unregisterDroppable\";\n})(Action || (Action = {}));\n\nfunction noop() {}\n\nfunction useSensor(sensor, options) {\n return useMemo(() => ({\n sensor,\n options: options != null ? options : {}\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [sensor, options]);\n}\n\nfunction useSensors() {\n for (var _len = arguments.length, sensors = new Array(_len), _key = 0; _key < _len; _key++) {\n sensors[_key] = arguments[_key];\n }\n\n return useMemo(() => [...sensors].filter(sensor => sensor != null), // eslint-disable-next-line react-hooks/exhaustive-deps\n [...sensors]);\n}\n\nconst defaultCoordinates = /*#__PURE__*/Object.freeze({\n x: 0,\n y: 0\n});\n\n/**\r\n * Returns the distance between two points\r\n */\nfunction distanceBetween(p1, p2) {\n return Math.sqrt(Math.pow(p1.x - p2.x, 2) + Math.pow(p1.y - p2.y, 2));\n}\n\nfunction getRelativeTransformOrigin(event, rect) {\n const eventCoordinates = getEventCoordinates(event);\n\n if (!eventCoordinates) {\n return '0 0';\n }\n\n const transformOrigin = {\n x: (eventCoordinates.x - rect.left) / rect.width * 100,\n y: (eventCoordinates.y - rect.top) / rect.height * 100\n };\n return transformOrigin.x + \"% \" + transformOrigin.y + \"%\";\n}\n\n/**\r\n * Sort collisions from smallest to greatest value\r\n */\nfunction sortCollisionsAsc(_ref, _ref2) {\n let {\n data: {\n value: a\n }\n } = _ref;\n let {\n data: {\n value: b\n }\n } = _ref2;\n return a - b;\n}\n/**\r\n * Sort collisions from greatest to smallest value\r\n */\n\nfunction sortCollisionsDesc(_ref3, _ref4) {\n let {\n data: {\n value: a\n }\n } = _ref3;\n let {\n data: {\n value: b\n }\n } = _ref4;\n return b - a;\n}\n/**\r\n * Returns the coordinates of the corners of a given rectangle:\r\n * [TopLeft {x, y}, TopRight {x, y}, BottomLeft {x, y}, BottomRight {x, y}]\r\n */\n\nfunction cornersOfRectangle(_ref5) {\n let {\n left,\n top,\n height,\n width\n } = _ref5;\n return [{\n x: left,\n y: top\n }, {\n x: left + width,\n y: top\n }, {\n x: left,\n y: top + height\n }, {\n x: left + width,\n y: top + height\n }];\n}\nfunction getFirstCollision(collisions, property) {\n if (!collisions || collisions.length === 0) {\n return null;\n }\n\n const [firstCollision] = collisions;\n return property ? firstCollision[property] : firstCollision;\n}\n\n/**\r\n * Returns the coordinates of the center of a given ClientRect\r\n */\n\nfunction centerOfRectangle(rect, left, top) {\n if (left === void 0) {\n left = rect.left;\n }\n\n if (top === void 0) {\n top = rect.top;\n }\n\n return {\n x: left + rect.width * 0.5,\n y: top + rect.height * 0.5\n };\n}\n/**\r\n * Returns the closest rectangles from an array of rectangles to the center of a given\r\n * rectangle.\r\n */\n\n\nconst closestCenter = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const centerRect = centerOfRectangle(collisionRect, collisionRect.left, collisionRect.top);\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const distBetween = distanceBetween(centerOfRectangle(rect), centerRect);\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: distBetween\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\n/**\r\n * Returns the closest rectangles from an array of rectangles to the corners of\r\n * another rectangle.\r\n */\n\nconst closestCorners = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const corners = cornersOfRectangle(collisionRect);\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const rectCorners = cornersOfRectangle(rect);\n const distances = corners.reduce((accumulator, corner, index) => {\n return accumulator + distanceBetween(rectCorners[index], corner);\n }, 0);\n const effectiveDistance = Number((distances / 4).toFixed(4));\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: effectiveDistance\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\n/**\r\n * Returns the intersecting rectangle area between two rectangles\r\n */\n\nfunction getIntersectionRatio(entry, target) {\n const top = Math.max(target.top, entry.top);\n const left = Math.max(target.left, entry.left);\n const right = Math.min(target.left + target.width, entry.left + entry.width);\n const bottom = Math.min(target.top + target.height, entry.top + entry.height);\n const width = right - left;\n const height = bottom - top;\n\n if (left < right && top < bottom) {\n const targetArea = target.width * target.height;\n const entryArea = entry.width * entry.height;\n const intersectionArea = width * height;\n const intersectionRatio = intersectionArea / (targetArea + entryArea - intersectionArea);\n return Number(intersectionRatio.toFixed(4));\n } // Rectangles do not overlap, or overlap has an area of zero (edge/corner overlap)\n\n\n return 0;\n}\n/**\r\n * Returns the rectangles that has the greatest intersection area with a given\r\n * rectangle in an array of rectangles.\r\n */\n\nconst rectIntersection = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const intersectionRatio = getIntersectionRatio(rect, collisionRect);\n\n if (intersectionRatio > 0) {\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: intersectionRatio\n }\n });\n }\n }\n }\n\n return collisions.sort(sortCollisionsDesc);\n};\n\n/**\r\n * Check if a given point is contained within a bounding rectangle\r\n */\n\nfunction isPointWithinRect(point, rect) {\n const {\n top,\n left,\n bottom,\n right\n } = rect;\n return top <= point.y && point.y <= bottom && left <= point.x && point.x <= right;\n}\n/**\r\n * Returns the rectangles that the pointer is hovering over\r\n */\n\n\nconst pointerWithin = _ref => {\n let {\n droppableContainers,\n droppableRects,\n pointerCoordinates\n } = _ref;\n\n if (!pointerCoordinates) {\n return [];\n }\n\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect && isPointWithinRect(pointerCoordinates, rect)) {\n /* There may be more than a single rectangle intersecting\r\n * with the pointer coordinates. In order to sort the\r\n * colliding rectangles, we measure the distance between\r\n * the pointer and the corners of the intersecting rectangle\r\n */\n const corners = cornersOfRectangle(rect);\n const distances = corners.reduce((accumulator, corner) => {\n return accumulator + distanceBetween(pointerCoordinates, corner);\n }, 0);\n const effectiveDistance = Number((distances / 4).toFixed(4));\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: effectiveDistance\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\nfunction adjustScale(transform, rect1, rect2) {\n return { ...transform,\n scaleX: rect1 && rect2 ? rect1.width / rect2.width : 1,\n scaleY: rect1 && rect2 ? rect1.height / rect2.height : 1\n };\n}\n\nfunction getRectDelta(rect1, rect2) {\n return rect1 && rect2 ? {\n x: rect1.left - rect2.left,\n y: rect1.top - rect2.top\n } : defaultCoordinates;\n}\n\nfunction createRectAdjustmentFn(modifier) {\n return function adjustClientRect(rect) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((acc, adjustment) => ({ ...acc,\n top: acc.top + modifier * adjustment.y,\n bottom: acc.bottom + modifier * adjustment.y,\n left: acc.left + modifier * adjustment.x,\n right: acc.right + modifier * adjustment.x\n }), { ...rect\n });\n };\n}\nconst getAdjustedRect = /*#__PURE__*/createRectAdjustmentFn(1);\n\nfunction parseTransform(transform) {\n if (transform.startsWith('matrix3d(')) {\n const transformArray = transform.slice(9, -1).split(/, /);\n return {\n x: +transformArray[12],\n y: +transformArray[13],\n scaleX: +transformArray[0],\n scaleY: +transformArray[5]\n };\n } else if (transform.startsWith('matrix(')) {\n const transformArray = transform.slice(7, -1).split(/, /);\n return {\n x: +transformArray[4],\n y: +transformArray[5],\n scaleX: +transformArray[0],\n scaleY: +transformArray[3]\n };\n }\n\n return null;\n}\n\nfunction inverseTransform(rect, transform, transformOrigin) {\n const parsedTransform = parseTransform(transform);\n\n if (!parsedTransform) {\n return rect;\n }\n\n const {\n scaleX,\n scaleY,\n x: translateX,\n y: translateY\n } = parsedTransform;\n const x = rect.left - translateX - (1 - scaleX) * parseFloat(transformOrigin);\n const y = rect.top - translateY - (1 - scaleY) * parseFloat(transformOrigin.slice(transformOrigin.indexOf(' ') + 1));\n const w = scaleX ? rect.width / scaleX : rect.width;\n const h = scaleY ? rect.height / scaleY : rect.height;\n return {\n width: w,\n height: h,\n top: y,\n right: x + w,\n bottom: y + h,\n left: x\n };\n}\n\nconst defaultOptions = {\n ignoreTransform: false\n};\n/**\r\n * Returns the bounding client rect of an element relative to the viewport.\r\n */\n\nfunction getClientRect(element, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n let rect = element.getBoundingClientRect();\n\n if (options.ignoreTransform) {\n const {\n transform,\n transformOrigin\n } = getWindow(element).getComputedStyle(element);\n\n if (transform) {\n rect = inverseTransform(rect, transform, transformOrigin);\n }\n }\n\n const {\n top,\n left,\n width,\n height,\n bottom,\n right\n } = rect;\n return {\n top,\n left,\n width,\n height,\n bottom,\n right\n };\n}\n/**\r\n * Returns the bounding client rect of an element relative to the viewport.\r\n *\r\n * @remarks\r\n * The ClientRect returned by this method does not take into account transforms\r\n * applied to the element it measures.\r\n *\r\n */\n\nfunction getTransformAgnosticClientRect(element) {\n return getClientRect(element, {\n ignoreTransform: true\n });\n}\n\nfunction getWindowClientRect(element) {\n const width = element.innerWidth;\n const height = element.innerHeight;\n return {\n top: 0,\n left: 0,\n right: width,\n bottom: height,\n width,\n height\n };\n}\n\nfunction isFixed(node, computedStyle) {\n if (computedStyle === void 0) {\n computedStyle = getWindow(node).getComputedStyle(node);\n }\n\n return computedStyle.position === 'fixed';\n}\n\nfunction isScrollable(element, computedStyle) {\n if (computedStyle === void 0) {\n computedStyle = getWindow(element).getComputedStyle(element);\n }\n\n const overflowRegex = /(auto|scroll|overlay)/;\n const properties = ['overflow', 'overflowX', 'overflowY'];\n return properties.some(property => {\n const value = computedStyle[property];\n return typeof value === 'string' ? overflowRegex.test(value) : false;\n });\n}\n\nfunction getScrollableAncestors(element, limit) {\n const scrollParents = [];\n\n function findScrollableAncestors(node) {\n if (limit != null && scrollParents.length >= limit) {\n return scrollParents;\n }\n\n if (!node) {\n return scrollParents;\n }\n\n if (isDocument(node) && node.scrollingElement != null && !scrollParents.includes(node.scrollingElement)) {\n scrollParents.push(node.scrollingElement);\n return scrollParents;\n }\n\n if (!isHTMLElement(node) || isSVGElement(node)) {\n return scrollParents;\n }\n\n if (scrollParents.includes(node)) {\n return scrollParents;\n }\n\n const computedStyle = getWindow(element).getComputedStyle(node);\n\n if (node !== element) {\n if (isScrollable(node, computedStyle)) {\n scrollParents.push(node);\n }\n }\n\n if (isFixed(node, computedStyle)) {\n return scrollParents;\n }\n\n return findScrollableAncestors(node.parentNode);\n }\n\n if (!element) {\n return scrollParents;\n }\n\n return findScrollableAncestors(element);\n}\nfunction getFirstScrollableAncestor(node) {\n const [firstScrollableAncestor] = getScrollableAncestors(node, 1);\n return firstScrollableAncestor != null ? firstScrollableAncestor : null;\n}\n\nfunction getScrollableElement(element) {\n if (!canUseDOM || !element) {\n return null;\n }\n\n if (isWindow(element)) {\n return element;\n }\n\n if (!isNode(element)) {\n return null;\n }\n\n if (isDocument(element) || element === getOwnerDocument(element).scrollingElement) {\n return window;\n }\n\n if (isHTMLElement(element)) {\n return element;\n }\n\n return null;\n}\n\nfunction getScrollXCoordinate(element) {\n if (isWindow(element)) {\n return element.scrollX;\n }\n\n return element.scrollLeft;\n}\nfunction getScrollYCoordinate(element) {\n if (isWindow(element)) {\n return element.scrollY;\n }\n\n return element.scrollTop;\n}\nfunction getScrollCoordinates(element) {\n return {\n x: getScrollXCoordinate(element),\n y: getScrollYCoordinate(element)\n };\n}\n\nvar Direction;\n\n(function (Direction) {\n Direction[Direction[\"Forward\"] = 1] = \"Forward\";\n Direction[Direction[\"Backward\"] = -1] = \"Backward\";\n})(Direction || (Direction = {}));\n\nfunction isDocumentScrollingElement(element) {\n if (!canUseDOM || !element) {\n return false;\n }\n\n return element === document.scrollingElement;\n}\n\nfunction getScrollPosition(scrollingContainer) {\n const minScroll = {\n x: 0,\n y: 0\n };\n const dimensions = isDocumentScrollingElement(scrollingContainer) ? {\n height: window.innerHeight,\n width: window.innerWidth\n } : {\n height: scrollingContainer.clientHeight,\n width: scrollingContainer.clientWidth\n };\n const maxScroll = {\n x: scrollingContainer.scrollWidth - dimensions.width,\n y: scrollingContainer.scrollHeight - dimensions.height\n };\n const isTop = scrollingContainer.scrollTop <= minScroll.y;\n const isLeft = scrollingContainer.scrollLeft <= minScroll.x;\n const isBottom = scrollingContainer.scrollTop >= maxScroll.y;\n const isRight = scrollingContainer.scrollLeft >= maxScroll.x;\n return {\n isTop,\n isLeft,\n isBottom,\n isRight,\n maxScroll,\n minScroll\n };\n}\n\nconst defaultThreshold = {\n x: 0.2,\n y: 0.2\n};\nfunction getScrollDirectionAndSpeed(scrollContainer, scrollContainerRect, _ref, acceleration, thresholdPercentage) {\n let {\n top,\n left,\n right,\n bottom\n } = _ref;\n\n if (acceleration === void 0) {\n acceleration = 10;\n }\n\n if (thresholdPercentage === void 0) {\n thresholdPercentage = defaultThreshold;\n }\n\n const {\n isTop,\n isBottom,\n isLeft,\n isRight\n } = getScrollPosition(scrollContainer);\n const direction = {\n x: 0,\n y: 0\n };\n const speed = {\n x: 0,\n y: 0\n };\n const threshold = {\n height: scrollContainerRect.height * thresholdPercentage.y,\n width: scrollContainerRect.width * thresholdPercentage.x\n };\n\n if (!isTop && top <= scrollContainerRect.top + threshold.height) {\n // Scroll Up\n direction.y = Direction.Backward;\n speed.y = acceleration * Math.abs((scrollContainerRect.top + threshold.height - top) / threshold.height);\n } else if (!isBottom && bottom >= scrollContainerRect.bottom - threshold.height) {\n // Scroll Down\n direction.y = Direction.Forward;\n speed.y = acceleration * Math.abs((scrollContainerRect.bottom - threshold.height - bottom) / threshold.height);\n }\n\n if (!isRight && right >= scrollContainerRect.right - threshold.width) {\n // Scroll Right\n direction.x = Direction.Forward;\n speed.x = acceleration * Math.abs((scrollContainerRect.right - threshold.width - right) / threshold.width);\n } else if (!isLeft && left <= scrollContainerRect.left + threshold.width) {\n // Scroll Left\n direction.x = Direction.Backward;\n speed.x = acceleration * Math.abs((scrollContainerRect.left + threshold.width - left) / threshold.width);\n }\n\n return {\n direction,\n speed\n };\n}\n\nfunction getScrollElementRect(element) {\n if (element === document.scrollingElement) {\n const {\n innerWidth,\n innerHeight\n } = window;\n return {\n top: 0,\n left: 0,\n right: innerWidth,\n bottom: innerHeight,\n width: innerWidth,\n height: innerHeight\n };\n }\n\n const {\n top,\n left,\n right,\n bottom\n } = element.getBoundingClientRect();\n return {\n top,\n left,\n right,\n bottom,\n width: element.clientWidth,\n height: element.clientHeight\n };\n}\n\nfunction getScrollOffsets(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return add(acc, getScrollCoordinates(node));\n }, defaultCoordinates);\n}\nfunction getScrollXOffset(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return acc + getScrollXCoordinate(node);\n }, 0);\n}\nfunction getScrollYOffset(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return acc + getScrollYCoordinate(node);\n }, 0);\n}\n\nfunction scrollIntoViewIfNeeded(element, measure) {\n if (measure === void 0) {\n measure = getClientRect;\n }\n\n if (!element) {\n return;\n }\n\n const {\n top,\n left,\n bottom,\n right\n } = measure(element);\n const firstScrollableAncestor = getFirstScrollableAncestor(element);\n\n if (!firstScrollableAncestor) {\n return;\n }\n\n if (bottom <= 0 || right <= 0 || top >= window.innerHeight || left >= window.innerWidth) {\n element.scrollIntoView({\n block: 'center',\n inline: 'center'\n });\n }\n}\n\nconst properties = [['x', ['left', 'right'], getScrollXOffset], ['y', ['top', 'bottom'], getScrollYOffset]];\nclass Rect {\n constructor(rect, element) {\n this.rect = void 0;\n this.width = void 0;\n this.height = void 0;\n this.top = void 0;\n this.bottom = void 0;\n this.right = void 0;\n this.left = void 0;\n const scrollableAncestors = getScrollableAncestors(element);\n const scrollOffsets = getScrollOffsets(scrollableAncestors);\n this.rect = { ...rect\n };\n this.width = rect.width;\n this.height = rect.height;\n\n for (const [axis, keys, getScrollOffset] of properties) {\n for (const key of keys) {\n Object.defineProperty(this, key, {\n get: () => {\n const currentOffsets = getScrollOffset(scrollableAncestors);\n const scrollOffsetsDeltla = scrollOffsets[axis] - currentOffsets;\n return this.rect[key] + scrollOffsetsDeltla;\n },\n enumerable: true\n });\n }\n }\n\n Object.defineProperty(this, 'rect', {\n enumerable: false\n });\n }\n\n}\n\nclass Listeners {\n constructor(target) {\n this.target = void 0;\n this.listeners = [];\n\n this.removeAll = () => {\n this.listeners.forEach(listener => {\n var _this$target;\n\n return (_this$target = this.target) == null ? void 0 : _this$target.removeEventListener(...listener);\n });\n };\n\n this.target = target;\n }\n\n add(eventName, handler, options) {\n var _this$target2;\n\n (_this$target2 = this.target) == null ? void 0 : _this$target2.addEventListener(eventName, handler, options);\n this.listeners.push([eventName, handler, options]);\n }\n\n}\n\nfunction getEventListenerTarget(target) {\n // If the `event.target` element is removed from the document events will still be targeted\n // at it, and hence won't always bubble up to the window or document anymore.\n // If there is any risk of an element being removed while it is being dragged,\n // the best practice is to attach the event listeners directly to the target.\n // https://developer.mozilla.org/en-US/docs/Web/API/EventTarget\n const {\n EventTarget\n } = getWindow(target);\n return target instanceof EventTarget ? target : getOwnerDocument(target);\n}\n\nfunction hasExceededDistance(delta, measurement) {\n const dx = Math.abs(delta.x);\n const dy = Math.abs(delta.y);\n\n if (typeof measurement === 'number') {\n return Math.sqrt(dx ** 2 + dy ** 2) > measurement;\n }\n\n if ('x' in measurement && 'y' in measurement) {\n return dx > measurement.x && dy > measurement.y;\n }\n\n if ('x' in measurement) {\n return dx > measurement.x;\n }\n\n if ('y' in measurement) {\n return dy > measurement.y;\n }\n\n return false;\n}\n\nvar EventName;\n\n(function (EventName) {\n EventName[\"Click\"] = \"click\";\n EventName[\"DragStart\"] = \"dragstart\";\n EventName[\"Keydown\"] = \"keydown\";\n EventName[\"ContextMenu\"] = \"contextmenu\";\n EventName[\"Resize\"] = \"resize\";\n EventName[\"SelectionChange\"] = \"selectionchange\";\n EventName[\"VisibilityChange\"] = \"visibilitychange\";\n})(EventName || (EventName = {}));\n\nfunction preventDefault(event) {\n event.preventDefault();\n}\nfunction stopPropagation(event) {\n event.stopPropagation();\n}\n\nvar KeyboardCode;\n\n(function (KeyboardCode) {\n KeyboardCode[\"Space\"] = \"Space\";\n KeyboardCode[\"Down\"] = \"ArrowDown\";\n KeyboardCode[\"Right\"] = \"ArrowRight\";\n KeyboardCode[\"Left\"] = \"ArrowLeft\";\n KeyboardCode[\"Up\"] = \"ArrowUp\";\n KeyboardCode[\"Esc\"] = \"Escape\";\n KeyboardCode[\"Enter\"] = \"Enter\";\n KeyboardCode[\"Tab\"] = \"Tab\";\n})(KeyboardCode || (KeyboardCode = {}));\n\nconst defaultKeyboardCodes = {\n start: [KeyboardCode.Space, KeyboardCode.Enter],\n cancel: [KeyboardCode.Esc],\n end: [KeyboardCode.Space, KeyboardCode.Enter, KeyboardCode.Tab]\n};\nconst defaultKeyboardCoordinateGetter = (event, _ref) => {\n let {\n currentCoordinates\n } = _ref;\n\n switch (event.code) {\n case KeyboardCode.Right:\n return { ...currentCoordinates,\n x: currentCoordinates.x + 25\n };\n\n case KeyboardCode.Left:\n return { ...currentCoordinates,\n x: currentCoordinates.x - 25\n };\n\n case KeyboardCode.Down:\n return { ...currentCoordinates,\n y: currentCoordinates.y + 25\n };\n\n case KeyboardCode.Up:\n return { ...currentCoordinates,\n y: currentCoordinates.y - 25\n };\n }\n\n return undefined;\n};\n\nclass KeyboardSensor {\n constructor(props) {\n this.props = void 0;\n this.autoScrollEnabled = false;\n this.referenceCoordinates = void 0;\n this.listeners = void 0;\n this.windowListeners = void 0;\n this.props = props;\n const {\n event: {\n target\n }\n } = props;\n this.props = props;\n this.listeners = new Listeners(getOwnerDocument(target));\n this.windowListeners = new Listeners(getWindow(target));\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleCancel = this.handleCancel.bind(this);\n this.attach();\n }\n\n attach() {\n this.handleStart();\n this.windowListeners.add(EventName.Resize, this.handleCancel);\n this.windowListeners.add(EventName.VisibilityChange, this.handleCancel);\n setTimeout(() => this.listeners.add(EventName.Keydown, this.handleKeyDown));\n }\n\n handleStart() {\n const {\n activeNode,\n onStart\n } = this.props;\n const node = activeNode.node.current;\n\n if (node) {\n scrollIntoViewIfNeeded(node);\n }\n\n onStart(defaultCoordinates);\n }\n\n handleKeyDown(event) {\n if (isKeyboardEvent(event)) {\n const {\n active,\n context,\n options\n } = this.props;\n const {\n keyboardCodes = defaultKeyboardCodes,\n coordinateGetter = defaultKeyboardCoordinateGetter,\n scrollBehavior = 'smooth'\n } = options;\n const {\n code\n } = event;\n\n if (keyboardCodes.end.includes(code)) {\n this.handleEnd(event);\n return;\n }\n\n if (keyboardCodes.cancel.includes(code)) {\n this.handleCancel(event);\n return;\n }\n\n const {\n collisionRect\n } = context.current;\n const currentCoordinates = collisionRect ? {\n x: collisionRect.left,\n y: collisionRect.top\n } : defaultCoordinates;\n\n if (!this.referenceCoordinates) {\n this.referenceCoordinates = currentCoordinates;\n }\n\n const newCoordinates = coordinateGetter(event, {\n active,\n context: context.current,\n currentCoordinates\n });\n\n if (newCoordinates) {\n const coordinatesDelta = subtract(newCoordinates, currentCoordinates);\n const scrollDelta = {\n x: 0,\n y: 0\n };\n const {\n scrollableAncestors\n } = context.current;\n\n for (const scrollContainer of scrollableAncestors) {\n const direction = event.code;\n const {\n isTop,\n isRight,\n isLeft,\n isBottom,\n maxScroll,\n minScroll\n } = getScrollPosition(scrollContainer);\n const scrollElementRect = getScrollElementRect(scrollContainer);\n const clampedCoordinates = {\n x: Math.min(direction === KeyboardCode.Right ? scrollElementRect.right - scrollElementRect.width / 2 : scrollElementRect.right, Math.max(direction === KeyboardCode.Right ? scrollElementRect.left : scrollElementRect.left + scrollElementRect.width / 2, newCoordinates.x)),\n y: Math.min(direction === KeyboardCode.Down ? scrollElementRect.bottom - scrollElementRect.height / 2 : scrollElementRect.bottom, Math.max(direction === KeyboardCode.Down ? scrollElementRect.top : scrollElementRect.top + scrollElementRect.height / 2, newCoordinates.y))\n };\n const canScrollX = direction === KeyboardCode.Right && !isRight || direction === KeyboardCode.Left && !isLeft;\n const canScrollY = direction === KeyboardCode.Down && !isBottom || direction === KeyboardCode.Up && !isTop;\n\n if (canScrollX && clampedCoordinates.x !== newCoordinates.x) {\n const newScrollCoordinates = scrollContainer.scrollLeft + coordinatesDelta.x;\n const canScrollToNewCoordinates = direction === KeyboardCode.Right && newScrollCoordinates <= maxScroll.x || direction === KeyboardCode.Left && newScrollCoordinates >= minScroll.x;\n\n if (canScrollToNewCoordinates && !coordinatesDelta.y) {\n // We don't need to update coordinates, the scroll adjustment alone will trigger\n // logic to auto-detect the new container we are over\n scrollContainer.scrollTo({\n left: newScrollCoordinates,\n behavior: scrollBehavior\n });\n return;\n }\n\n if (canScrollToNewCoordinates) {\n scrollDelta.x = scrollContainer.scrollLeft - newScrollCoordinates;\n } else {\n scrollDelta.x = direction === KeyboardCode.Right ? scrollContainer.scrollLeft - maxScroll.x : scrollContainer.scrollLeft - minScroll.x;\n }\n\n if (scrollDelta.x) {\n scrollContainer.scrollBy({\n left: -scrollDelta.x,\n behavior: scrollBehavior\n });\n }\n\n break;\n } else if (canScrollY && clampedCoordinates.y !== newCoordinates.y) {\n const newScrollCoordinates = scrollContainer.scrollTop + coordinatesDelta.y;\n const canScrollToNewCoordinates = direction === KeyboardCode.Down && newScrollCoordinates <= maxScroll.y || direction === KeyboardCode.Up && newScrollCoordinates >= minScroll.y;\n\n if (canScrollToNewCoordinates && !coordinatesDelta.x) {\n // We don't need to update coordinates, the scroll adjustment alone will trigger\n // logic to auto-detect the new container we are over\n scrollContainer.scrollTo({\n top: newScrollCoordinates,\n behavior: scrollBehavior\n });\n return;\n }\n\n if (canScrollToNewCoordinates) {\n scrollDelta.y = scrollContainer.scrollTop - newScrollCoordinates;\n } else {\n scrollDelta.y = direction === KeyboardCode.Down ? scrollContainer.scrollTop - maxScroll.y : scrollContainer.scrollTop - minScroll.y;\n }\n\n if (scrollDelta.y) {\n scrollContainer.scrollBy({\n top: -scrollDelta.y,\n behavior: scrollBehavior\n });\n }\n\n break;\n }\n }\n\n this.handleMove(event, add(subtract(newCoordinates, this.referenceCoordinates), scrollDelta));\n }\n }\n }\n\n handleMove(event, coordinates) {\n const {\n onMove\n } = this.props;\n event.preventDefault();\n onMove(coordinates);\n }\n\n handleEnd(event) {\n const {\n onEnd\n } = this.props;\n event.preventDefault();\n this.detach();\n onEnd();\n }\n\n handleCancel(event) {\n const {\n onCancel\n } = this.props;\n event.preventDefault();\n this.detach();\n onCancel();\n }\n\n detach() {\n this.listeners.removeAll();\n this.windowListeners.removeAll();\n }\n\n}\nKeyboardSensor.activators = [{\n eventName: 'onKeyDown',\n handler: (event, _ref, _ref2) => {\n let {\n keyboardCodes = defaultKeyboardCodes,\n onActivation\n } = _ref;\n let {\n active\n } = _ref2;\n const {\n code\n } = event.nativeEvent;\n\n if (keyboardCodes.start.includes(code)) {\n const activator = active.activatorNode.current;\n\n if (activator && event.target !== activator) {\n return false;\n }\n\n event.preventDefault();\n onActivation == null ? void 0 : onActivation({\n event: event.nativeEvent\n });\n return true;\n }\n\n return false;\n }\n}];\n\nfunction isDistanceConstraint(constraint) {\n return Boolean(constraint && 'distance' in constraint);\n}\n\nfunction isDelayConstraint(constraint) {\n return Boolean(constraint && 'delay' in constraint);\n}\n\nclass AbstractPointerSensor {\n constructor(props, events, listenerTarget) {\n var _getEventCoordinates;\n\n if (listenerTarget === void 0) {\n listenerTarget = getEventListenerTarget(props.event.target);\n }\n\n this.props = void 0;\n this.events = void 0;\n this.autoScrollEnabled = true;\n this.document = void 0;\n this.activated = false;\n this.initialCoordinates = void 0;\n this.timeoutId = null;\n this.listeners = void 0;\n this.documentListeners = void 0;\n this.windowListeners = void 0;\n this.props = props;\n this.events = events;\n const {\n event\n } = props;\n const {\n target\n } = event;\n this.props = props;\n this.events = events;\n this.document = getOwnerDocument(target);\n this.documentListeners = new Listeners(this.document);\n this.listeners = new Listeners(listenerTarget);\n this.windowListeners = new Listeners(getWindow(target));\n this.initialCoordinates = (_getEventCoordinates = getEventCoordinates(event)) != null ? _getEventCoordinates : defaultCoordinates;\n this.handleStart = this.handleStart.bind(this);\n this.handleMove = this.handleMove.bind(this);\n this.handleEnd = this.handleEnd.bind(this);\n this.handleCancel = this.handleCancel.bind(this);\n this.handleKeydown = this.handleKeydown.bind(this);\n this.removeTextSelection = this.removeTextSelection.bind(this);\n this.attach();\n }\n\n attach() {\n const {\n events,\n props: {\n options: {\n activationConstraint,\n bypassActivationConstraint\n }\n }\n } = this;\n this.listeners.add(events.move.name, this.handleMove, {\n passive: false\n });\n this.listeners.add(events.end.name, this.handleEnd);\n\n if (events.cancel) {\n this.listeners.add(events.cancel.name, this.handleCancel);\n }\n\n this.windowListeners.add(EventName.Resize, this.handleCancel);\n this.windowListeners.add(EventName.DragStart, preventDefault);\n this.windowListeners.add(EventName.VisibilityChange, this.handleCancel);\n this.windowListeners.add(EventName.ContextMenu, preventDefault);\n this.documentListeners.add(EventName.Keydown, this.handleKeydown);\n\n if (activationConstraint) {\n if (bypassActivationConstraint != null && bypassActivationConstraint({\n event: this.props.event,\n activeNode: this.props.activeNode,\n options: this.props.options\n })) {\n return this.handleStart();\n }\n\n if (isDelayConstraint(activationConstraint)) {\n this.timeoutId = setTimeout(this.handleStart, activationConstraint.delay);\n this.handlePending(activationConstraint);\n return;\n }\n\n if (isDistanceConstraint(activationConstraint)) {\n this.handlePending(activationConstraint);\n return;\n }\n }\n\n this.handleStart();\n }\n\n detach() {\n this.listeners.removeAll();\n this.windowListeners.removeAll(); // Wait until the next event loop before removing document listeners\n // This is necessary because we listen for `click` and `selection` events on the document\n\n setTimeout(this.documentListeners.removeAll, 50);\n\n if (this.timeoutId !== null) {\n clearTimeout(this.timeoutId);\n this.timeoutId = null;\n }\n }\n\n handlePending(constraint, offset) {\n const {\n active,\n onPending\n } = this.props;\n onPending(active, constraint, this.initialCoordinates, offset);\n }\n\n handleStart() {\n const {\n initialCoordinates\n } = this;\n const {\n onStart\n } = this.props;\n\n if (initialCoordinates) {\n this.activated = true; // Stop propagation of click events once activation constraints are met\n\n this.documentListeners.add(EventName.Click, stopPropagation, {\n capture: true\n }); // Remove any text selection from the document\n\n this.removeTextSelection(); // Prevent further text selection while dragging\n\n this.documentListeners.add(EventName.SelectionChange, this.removeTextSelection);\n onStart(initialCoordinates);\n }\n }\n\n handleMove(event) {\n var _getEventCoordinates2;\n\n const {\n activated,\n initialCoordinates,\n props\n } = this;\n const {\n onMove,\n options: {\n activationConstraint\n }\n } = props;\n\n if (!initialCoordinates) {\n return;\n }\n\n const coordinates = (_getEventCoordinates2 = getEventCoordinates(event)) != null ? _getEventCoordinates2 : defaultCoordinates;\n const delta = subtract(initialCoordinates, coordinates); // Constraint validation\n\n if (!activated && activationConstraint) {\n if (isDistanceConstraint(activationConstraint)) {\n if (activationConstraint.tolerance != null && hasExceededDistance(delta, activationConstraint.tolerance)) {\n return this.handleCancel();\n }\n\n if (hasExceededDistance(delta, activationConstraint.distance)) {\n return this.handleStart();\n }\n }\n\n if (isDelayConstraint(activationConstraint)) {\n if (hasExceededDistance(delta, activationConstraint.tolerance)) {\n return this.handleCancel();\n }\n }\n\n this.handlePending(activationConstraint, delta);\n return;\n }\n\n if (event.cancelable) {\n event.preventDefault();\n }\n\n onMove(coordinates);\n }\n\n handleEnd() {\n const {\n onAbort,\n onEnd\n } = this.props;\n this.detach();\n\n if (!this.activated) {\n onAbort(this.props.active);\n }\n\n onEnd();\n }\n\n handleCancel() {\n const {\n onAbort,\n onCancel\n } = this.props;\n this.detach();\n\n if (!this.activated) {\n onAbort(this.props.active);\n }\n\n onCancel();\n }\n\n handleKeydown(event) {\n if (event.code === KeyboardCode.Esc) {\n this.handleCancel();\n }\n }\n\n removeTextSelection() {\n var _this$document$getSel;\n\n (_this$document$getSel = this.document.getSelection()) == null ? void 0 : _this$document$getSel.removeAllRanges();\n }\n\n}\n\nconst events = {\n cancel: {\n name: 'pointercancel'\n },\n move: {\n name: 'pointermove'\n },\n end: {\n name: 'pointerup'\n }\n};\nclass PointerSensor extends AbstractPointerSensor {\n constructor(props) {\n const {\n event\n } = props; // Pointer events stop firing if the target is unmounted while dragging\n // Therefore we attach listeners to the owner document instead\n\n const listenerTarget = getOwnerDocument(event.target);\n super(props, events, listenerTarget);\n }\n\n}\nPointerSensor.activators = [{\n eventName: 'onPointerDown',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n\n if (!event.isPrimary || event.button !== 0) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nconst events$1 = {\n move: {\n name: 'mousemove'\n },\n end: {\n name: 'mouseup'\n }\n};\nvar MouseButton;\n\n(function (MouseButton) {\n MouseButton[MouseButton[\"RightClick\"] = 2] = \"RightClick\";\n})(MouseButton || (MouseButton = {}));\n\nclass MouseSensor extends AbstractPointerSensor {\n constructor(props) {\n super(props, events$1, getOwnerDocument(props.event.target));\n }\n\n}\nMouseSensor.activators = [{\n eventName: 'onMouseDown',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n\n if (event.button === MouseButton.RightClick) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nconst events$2 = {\n cancel: {\n name: 'touchcancel'\n },\n move: {\n name: 'touchmove'\n },\n end: {\n name: 'touchend'\n }\n};\nclass TouchSensor extends AbstractPointerSensor {\n constructor(props) {\n super(props, events$2);\n }\n\n static setup() {\n // Adding a non-capture and non-passive `touchmove` listener in order\n // to force `event.preventDefault()` calls to work in dynamically added\n // touchmove event handlers. This is required for iOS Safari.\n window.addEventListener(events$2.move.name, noop, {\n capture: false,\n passive: false\n });\n return function teardown() {\n window.removeEventListener(events$2.move.name, noop);\n }; // We create a new handler because the teardown function of another sensor\n // could remove our event listener if we use a referentially equal listener.\n\n function noop() {}\n }\n\n}\nTouchSensor.activators = [{\n eventName: 'onTouchStart',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n const {\n touches\n } = event;\n\n if (touches.length > 1) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nvar AutoScrollActivator;\n\n(function (AutoScrollActivator) {\n AutoScrollActivator[AutoScrollActivator[\"Pointer\"] = 0] = \"Pointer\";\n AutoScrollActivator[AutoScrollActivator[\"DraggableRect\"] = 1] = \"DraggableRect\";\n})(AutoScrollActivator || (AutoScrollActivator = {}));\n\nvar TraversalOrder;\n\n(function (TraversalOrder) {\n TraversalOrder[TraversalOrder[\"TreeOrder\"] = 0] = \"TreeOrder\";\n TraversalOrder[TraversalOrder[\"ReversedTreeOrder\"] = 1] = \"ReversedTreeOrder\";\n})(TraversalOrder || (TraversalOrder = {}));\n\nfunction useAutoScroller(_ref) {\n let {\n acceleration,\n activator = AutoScrollActivator.Pointer,\n canScroll,\n draggingRect,\n enabled,\n interval = 5,\n order = TraversalOrder.TreeOrder,\n pointerCoordinates,\n scrollableAncestors,\n scrollableAncestorRects,\n delta,\n threshold\n } = _ref;\n const scrollIntent = useScrollIntent({\n delta,\n disabled: !enabled\n });\n const [setAutoScrollInterval, clearAutoScrollInterval] = useInterval();\n const scrollSpeed = useRef({\n x: 0,\n y: 0\n });\n const scrollDirection = useRef({\n x: 0,\n y: 0\n });\n const rect = useMemo(() => {\n switch (activator) {\n case AutoScrollActivator.Pointer:\n return pointerCoordinates ? {\n top: pointerCoordinates.y,\n bottom: pointerCoordinates.y,\n left: pointerCoordinates.x,\n right: pointerCoordinates.x\n } : null;\n\n case AutoScrollActivator.DraggableRect:\n return draggingRect;\n }\n }, [activator, draggingRect, pointerCoordinates]);\n const scrollContainerRef = useRef(null);\n const autoScroll = useCallback(() => {\n const scrollContainer = scrollContainerRef.current;\n\n if (!scrollContainer) {\n return;\n }\n\n const scrollLeft = scrollSpeed.current.x * scrollDirection.current.x;\n const scrollTop = scrollSpeed.current.y * scrollDirection.current.y;\n scrollContainer.scrollBy(scrollLeft, scrollTop);\n }, []);\n const sortedScrollableAncestors = useMemo(() => order === TraversalOrder.TreeOrder ? [...scrollableAncestors].reverse() : scrollableAncestors, [order, scrollableAncestors]);\n useEffect(() => {\n if (!enabled || !scrollableAncestors.length || !rect) {\n clearAutoScrollInterval();\n return;\n }\n\n for (const scrollContainer of sortedScrollableAncestors) {\n if ((canScroll == null ? void 0 : canScroll(scrollContainer)) === false) {\n continue;\n }\n\n const index = scrollableAncestors.indexOf(scrollContainer);\n const scrollContainerRect = scrollableAncestorRects[index];\n\n if (!scrollContainerRect) {\n continue;\n }\n\n const {\n direction,\n speed\n } = getScrollDirectionAndSpeed(scrollContainer, scrollContainerRect, rect, acceleration, threshold);\n\n for (const axis of ['x', 'y']) {\n if (!scrollIntent[axis][direction[axis]]) {\n speed[axis] = 0;\n direction[axis] = 0;\n }\n }\n\n if (speed.x > 0 || speed.y > 0) {\n clearAutoScrollInterval();\n scrollContainerRef.current = scrollContainer;\n setAutoScrollInterval(autoScroll, interval);\n scrollSpeed.current = speed;\n scrollDirection.current = direction;\n return;\n }\n }\n\n scrollSpeed.current = {\n x: 0,\n y: 0\n };\n scrollDirection.current = {\n x: 0,\n y: 0\n };\n clearAutoScrollInterval();\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [acceleration, autoScroll, canScroll, clearAutoScrollInterval, enabled, interval, // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(rect), // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(scrollIntent), setAutoScrollInterval, scrollableAncestors, sortedScrollableAncestors, scrollableAncestorRects, // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(threshold)]);\n}\nconst defaultScrollIntent = {\n x: {\n [Direction.Backward]: false,\n [Direction.Forward]: false\n },\n y: {\n [Direction.Backward]: false,\n [Direction.Forward]: false\n }\n};\n\nfunction useScrollIntent(_ref2) {\n let {\n delta,\n disabled\n } = _ref2;\n const previousDelta = usePrevious(delta);\n return useLazyMemo(previousIntent => {\n if (disabled || !previousDelta || !previousIntent) {\n // Reset scroll intent tracking when auto-scrolling is disabled\n return defaultScrollIntent;\n }\n\n const direction = {\n x: Math.sign(delta.x - previousDelta.x),\n y: Math.sign(delta.y - previousDelta.y)\n }; // Keep track of the user intent to scroll in each direction for both axis\n\n return {\n x: {\n [Direction.Backward]: previousIntent.x[Direction.Backward] || direction.x === -1,\n [Direction.Forward]: previousIntent.x[Direction.Forward] || direction.x === 1\n },\n y: {\n [Direction.Backward]: previousIntent.y[Direction.Backward] || direction.y === -1,\n [Direction.Forward]: previousIntent.y[Direction.Forward] || direction.y === 1\n }\n };\n }, [disabled, delta, previousDelta]);\n}\n\nfunction useCachedNode(draggableNodes, id) {\n const draggableNode = id != null ? draggableNodes.get(id) : undefined;\n const node = draggableNode ? draggableNode.node.current : null;\n return useLazyMemo(cachedNode => {\n var _ref;\n\n if (id == null) {\n return null;\n } // In some cases, the draggable node can unmount while dragging\n // This is the case for virtualized lists. In those situations,\n // we fall back to the last known value for that node.\n\n\n return (_ref = node != null ? node : cachedNode) != null ? _ref : null;\n }, [node, id]);\n}\n\nfunction useCombineActivators(sensors, getSyntheticHandler) {\n return useMemo(() => sensors.reduce((accumulator, sensor) => {\n const {\n sensor: Sensor\n } = sensor;\n const sensorActivators = Sensor.activators.map(activator => ({\n eventName: activator.eventName,\n handler: getSyntheticHandler(activator.handler, sensor)\n }));\n return [...accumulator, ...sensorActivators];\n }, []), [sensors, getSyntheticHandler]);\n}\n\nvar MeasuringStrategy;\n\n(function (MeasuringStrategy) {\n MeasuringStrategy[MeasuringStrategy[\"Always\"] = 0] = \"Always\";\n MeasuringStrategy[MeasuringStrategy[\"BeforeDragging\"] = 1] = \"BeforeDragging\";\n MeasuringStrategy[MeasuringStrategy[\"WhileDragging\"] = 2] = \"WhileDragging\";\n})(MeasuringStrategy || (MeasuringStrategy = {}));\n\nvar MeasuringFrequency;\n\n(function (MeasuringFrequency) {\n MeasuringFrequency[\"Optimized\"] = \"optimized\";\n})(MeasuringFrequency || (MeasuringFrequency = {}));\n\nconst defaultValue = /*#__PURE__*/new Map();\nfunction useDroppableMeasuring(containers, _ref) {\n let {\n dragging,\n dependencies,\n config\n } = _ref;\n const [queue, setQueue] = useState(null);\n const {\n frequency,\n measure,\n strategy\n } = config;\n const containersRef = useRef(containers);\n const disabled = isDisabled();\n const disabledRef = useLatestValue(disabled);\n const measureDroppableContainers = useCallback(function (ids) {\n if (ids === void 0) {\n ids = [];\n }\n\n if (disabledRef.current) {\n return;\n }\n\n setQueue(value => {\n if (value === null) {\n return ids;\n }\n\n return value.concat(ids.filter(id => !value.includes(id)));\n });\n }, [disabledRef]);\n const timeoutId = useRef(null);\n const droppableRects = useLazyMemo(previousValue => {\n if (disabled && !dragging) {\n return defaultValue;\n }\n\n if (!previousValue || previousValue === defaultValue || containersRef.current !== containers || queue != null) {\n const map = new Map();\n\n for (let container of containers) {\n if (!container) {\n continue;\n }\n\n if (queue && queue.length > 0 && !queue.includes(container.id) && container.rect.current) {\n // This container does not need to be re-measured\n map.set(container.id, container.rect.current);\n continue;\n }\n\n const node = container.node.current;\n const rect = node ? new Rect(measure(node), node) : null;\n container.rect.current = rect;\n\n if (rect) {\n map.set(container.id, rect);\n }\n }\n\n return map;\n }\n\n return previousValue;\n }, [containers, queue, dragging, disabled, measure]);\n useEffect(() => {\n containersRef.current = containers;\n }, [containers]);\n useEffect(() => {\n if (disabled) {\n return;\n }\n\n measureDroppableContainers();\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [dragging, disabled]);\n useEffect(() => {\n if (queue && queue.length > 0) {\n setQueue(null);\n }\n }, //eslint-disable-next-line react-hooks/exhaustive-deps\n [JSON.stringify(queue)]);\n useEffect(() => {\n if (disabled || typeof frequency !== 'number' || timeoutId.current !== null) {\n return;\n }\n\n timeoutId.current = setTimeout(() => {\n measureDroppableContainers();\n timeoutId.current = null;\n }, frequency);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [frequency, disabled, measureDroppableContainers, ...dependencies]);\n return {\n droppableRects,\n measureDroppableContainers,\n measuringScheduled: queue != null\n };\n\n function isDisabled() {\n switch (strategy) {\n case MeasuringStrategy.Always:\n return false;\n\n case MeasuringStrategy.BeforeDragging:\n return dragging;\n\n default:\n return !dragging;\n }\n }\n}\n\nfunction useInitialValue(value, computeFn) {\n return useLazyMemo(previousValue => {\n if (!value) {\n return null;\n }\n\n if (previousValue) {\n return previousValue;\n }\n\n return typeof computeFn === 'function' ? computeFn(value) : value;\n }, [computeFn, value]);\n}\n\nfunction useInitialRect(node, measure) {\n return useInitialValue(node, measure);\n}\n\n/**\r\n * Returns a new MutationObserver instance.\r\n * If `MutationObserver` is undefined in the execution environment, returns `undefined`.\r\n */\n\nfunction useMutationObserver(_ref) {\n let {\n callback,\n disabled\n } = _ref;\n const handleMutations = useEvent(callback);\n const mutationObserver = useMemo(() => {\n if (disabled || typeof window === 'undefined' || typeof window.MutationObserver === 'undefined') {\n return undefined;\n }\n\n const {\n MutationObserver\n } = window;\n return new MutationObserver(handleMutations);\n }, [handleMutations, disabled]);\n useEffect(() => {\n return () => mutationObserver == null ? void 0 : mutationObserver.disconnect();\n }, [mutationObserver]);\n return mutationObserver;\n}\n\n/**\r\n * Returns a new ResizeObserver instance bound to the `onResize` callback.\r\n * If `ResizeObserver` is undefined in the execution environment, returns `undefined`.\r\n */\n\nfunction useResizeObserver(_ref) {\n let {\n callback,\n disabled\n } = _ref;\n const handleResize = useEvent(callback);\n const resizeObserver = useMemo(() => {\n if (disabled || typeof window === 'undefined' || typeof window.ResizeObserver === 'undefined') {\n return undefined;\n }\n\n const {\n ResizeObserver\n } = window;\n return new ResizeObserver(handleResize);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [disabled]);\n useEffect(() => {\n return () => resizeObserver == null ? void 0 : resizeObserver.disconnect();\n }, [resizeObserver]);\n return resizeObserver;\n}\n\nfunction defaultMeasure(element) {\n return new Rect(getClientRect(element), element);\n}\n\nfunction useRect(element, measure, fallbackRect) {\n if (measure === void 0) {\n measure = defaultMeasure;\n }\n\n const [rect, setRect] = useState(null);\n\n function measureRect() {\n setRect(currentRect => {\n if (!element) {\n return null;\n }\n\n if (element.isConnected === false) {\n var _ref;\n\n // Fall back to last rect we measured if the element is\n // no longer connected to the DOM.\n return (_ref = currentRect != null ? currentRect : fallbackRect) != null ? _ref : null;\n }\n\n const newRect = measure(element);\n\n if (JSON.stringify(currentRect) === JSON.stringify(newRect)) {\n return currentRect;\n }\n\n return newRect;\n });\n }\n\n const mutationObserver = useMutationObserver({\n callback(records) {\n if (!element) {\n return;\n }\n\n for (const record of records) {\n const {\n type,\n target\n } = record;\n\n if (type === 'childList' && target instanceof HTMLElement && target.contains(element)) {\n measureRect();\n break;\n }\n }\n }\n\n });\n const resizeObserver = useResizeObserver({\n callback: measureRect\n });\n useIsomorphicLayoutEffect(() => {\n measureRect();\n\n if (element) {\n resizeObserver == null ? void 0 : resizeObserver.observe(element);\n mutationObserver == null ? void 0 : mutationObserver.observe(document.body, {\n childList: true,\n subtree: true\n });\n } else {\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n mutationObserver == null ? void 0 : mutationObserver.disconnect();\n }\n }, [element]);\n return rect;\n}\n\nfunction useRectDelta(rect) {\n const initialRect = useInitialValue(rect);\n return getRectDelta(rect, initialRect);\n}\n\nconst defaultValue$1 = [];\nfunction useScrollableAncestors(node) {\n const previousNode = useRef(node);\n const ancestors = useLazyMemo(previousValue => {\n if (!node) {\n return defaultValue$1;\n }\n\n if (previousValue && previousValue !== defaultValue$1 && node && previousNode.current && node.parentNode === previousNode.current.parentNode) {\n return previousValue;\n }\n\n return getScrollableAncestors(node);\n }, [node]);\n useEffect(() => {\n previousNode.current = node;\n }, [node]);\n return ancestors;\n}\n\nfunction useScrollOffsets(elements) {\n const [scrollCoordinates, setScrollCoordinates] = useState(null);\n const prevElements = useRef(elements); // To-do: Throttle the handleScroll callback\n\n const handleScroll = useCallback(event => {\n const scrollingElement = getScrollableElement(event.target);\n\n if (!scrollingElement) {\n return;\n }\n\n setScrollCoordinates(scrollCoordinates => {\n if (!scrollCoordinates) {\n return null;\n }\n\n scrollCoordinates.set(scrollingElement, getScrollCoordinates(scrollingElement));\n return new Map(scrollCoordinates);\n });\n }, []);\n useEffect(() => {\n const previousElements = prevElements.current;\n\n if (elements !== previousElements) {\n cleanup(previousElements);\n const entries = elements.map(element => {\n const scrollableElement = getScrollableElement(element);\n\n if (scrollableElement) {\n scrollableElement.addEventListener('scroll', handleScroll, {\n passive: true\n });\n return [scrollableElement, getScrollCoordinates(scrollableElement)];\n }\n\n return null;\n }).filter(entry => entry != null);\n setScrollCoordinates(entries.length ? new Map(entries) : null);\n prevElements.current = elements;\n }\n\n return () => {\n cleanup(elements);\n cleanup(previousElements);\n };\n\n function cleanup(elements) {\n elements.forEach(element => {\n const scrollableElement = getScrollableElement(element);\n scrollableElement == null ? void 0 : scrollableElement.removeEventListener('scroll', handleScroll);\n });\n }\n }, [handleScroll, elements]);\n return useMemo(() => {\n if (elements.length) {\n return scrollCoordinates ? Array.from(scrollCoordinates.values()).reduce((acc, coordinates) => add(acc, coordinates), defaultCoordinates) : getScrollOffsets(elements);\n }\n\n return defaultCoordinates;\n }, [elements, scrollCoordinates]);\n}\n\nfunction useScrollOffsetsDelta(scrollOffsets, dependencies) {\n if (dependencies === void 0) {\n dependencies = [];\n }\n\n const initialScrollOffsets = useRef(null);\n useEffect(() => {\n initialScrollOffsets.current = null;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n dependencies);\n useEffect(() => {\n const hasScrollOffsets = scrollOffsets !== defaultCoordinates;\n\n if (hasScrollOffsets && !initialScrollOffsets.current) {\n initialScrollOffsets.current = scrollOffsets;\n }\n\n if (!hasScrollOffsets && initialScrollOffsets.current) {\n initialScrollOffsets.current = null;\n }\n }, [scrollOffsets]);\n return initialScrollOffsets.current ? subtract(scrollOffsets, initialScrollOffsets.current) : defaultCoordinates;\n}\n\nfunction useSensorSetup(sensors) {\n useEffect(() => {\n if (!canUseDOM) {\n return;\n }\n\n const teardownFns = sensors.map(_ref => {\n let {\n sensor\n } = _ref;\n return sensor.setup == null ? void 0 : sensor.setup();\n });\n return () => {\n for (const teardown of teardownFns) {\n teardown == null ? void 0 : teardown();\n }\n };\n }, // TO-DO: Sensors length could theoretically change which would not be a valid dependency\n // eslint-disable-next-line react-hooks/exhaustive-deps\n sensors.map(_ref2 => {\n let {\n sensor\n } = _ref2;\n return sensor;\n }));\n}\n\nfunction useSyntheticListeners(listeners, id) {\n return useMemo(() => {\n return listeners.reduce((acc, _ref) => {\n let {\n eventName,\n handler\n } = _ref;\n\n acc[eventName] = event => {\n handler(event, id);\n };\n\n return acc;\n }, {});\n }, [listeners, id]);\n}\n\nfunction useWindowRect(element) {\n return useMemo(() => element ? getWindowClientRect(element) : null, [element]);\n}\n\nconst defaultValue$2 = [];\nfunction useRects(elements, measure) {\n if (measure === void 0) {\n measure = getClientRect;\n }\n\n const [firstElement] = elements;\n const windowRect = useWindowRect(firstElement ? getWindow(firstElement) : null);\n const [rects, setRects] = useState(defaultValue$2);\n\n function measureRects() {\n setRects(() => {\n if (!elements.length) {\n return defaultValue$2;\n }\n\n return elements.map(element => isDocumentScrollingElement(element) ? windowRect : new Rect(measure(element), element));\n });\n }\n\n const resizeObserver = useResizeObserver({\n callback: measureRects\n });\n useIsomorphicLayoutEffect(() => {\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n measureRects();\n elements.forEach(element => resizeObserver == null ? void 0 : resizeObserver.observe(element));\n }, [elements]);\n return rects;\n}\n\nfunction getMeasurableNode(node) {\n if (!node) {\n return null;\n }\n\n if (node.children.length > 1) {\n return node;\n }\n\n const firstChild = node.children[0];\n return isHTMLElement(firstChild) ? firstChild : node;\n}\n\nfunction useDragOverlayMeasuring(_ref) {\n let {\n measure\n } = _ref;\n const [rect, setRect] = useState(null);\n const handleResize = useCallback(entries => {\n for (const {\n target\n } of entries) {\n if (isHTMLElement(target)) {\n setRect(rect => {\n const newRect = measure(target);\n return rect ? { ...rect,\n width: newRect.width,\n height: newRect.height\n } : newRect;\n });\n break;\n }\n }\n }, [measure]);\n const resizeObserver = useResizeObserver({\n callback: handleResize\n });\n const handleNodeChange = useCallback(element => {\n const node = getMeasurableNode(element);\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n\n if (node) {\n resizeObserver == null ? void 0 : resizeObserver.observe(node);\n }\n\n setRect(node ? measure(node) : null);\n }, [measure, resizeObserver]);\n const [nodeRef, setRef] = useNodeRef(handleNodeChange);\n return useMemo(() => ({\n nodeRef,\n rect,\n setRef\n }), [rect, nodeRef, setRef]);\n}\n\nconst defaultSensors = [{\n sensor: PointerSensor,\n options: {}\n}, {\n sensor: KeyboardSensor,\n options: {}\n}];\nconst defaultData = {\n current: {}\n};\nconst defaultMeasuringConfiguration = {\n draggable: {\n measure: getTransformAgnosticClientRect\n },\n droppable: {\n measure: getTransformAgnosticClientRect,\n strategy: MeasuringStrategy.WhileDragging,\n frequency: MeasuringFrequency.Optimized\n },\n dragOverlay: {\n measure: getClientRect\n }\n};\n\nclass DroppableContainersMap extends Map {\n get(id) {\n var _super$get;\n\n return id != null ? (_super$get = super.get(id)) != null ? _super$get : undefined : undefined;\n }\n\n toArray() {\n return Array.from(this.values());\n }\n\n getEnabled() {\n return this.toArray().filter(_ref => {\n let {\n disabled\n } = _ref;\n return !disabled;\n });\n }\n\n getNodeFor(id) {\n var _this$get$node$curren, _this$get;\n\n return (_this$get$node$curren = (_this$get = this.get(id)) == null ? void 0 : _this$get.node.current) != null ? _this$get$node$curren : undefined;\n }\n\n}\n\nconst defaultPublicContext = {\n activatorEvent: null,\n active: null,\n activeNode: null,\n activeNodeRect: null,\n collisions: null,\n containerNodeRect: null,\n draggableNodes: /*#__PURE__*/new Map(),\n droppableRects: /*#__PURE__*/new Map(),\n droppableContainers: /*#__PURE__*/new DroppableContainersMap(),\n over: null,\n dragOverlay: {\n nodeRef: {\n current: null\n },\n rect: null,\n setRef: noop\n },\n scrollableAncestors: [],\n scrollableAncestorRects: [],\n measuringConfiguration: defaultMeasuringConfiguration,\n measureDroppableContainers: noop,\n windowRect: null,\n measuringScheduled: false\n};\nconst defaultInternalContext = {\n activatorEvent: null,\n activators: [],\n active: null,\n activeNodeRect: null,\n ariaDescribedById: {\n draggable: ''\n },\n dispatch: noop,\n draggableNodes: /*#__PURE__*/new Map(),\n over: null,\n measureDroppableContainers: noop\n};\nconst InternalContext = /*#__PURE__*/createContext(defaultInternalContext);\nconst PublicContext = /*#__PURE__*/createContext(defaultPublicContext);\n\nfunction getInitialState() {\n return {\n draggable: {\n active: null,\n initialCoordinates: {\n x: 0,\n y: 0\n },\n nodes: new Map(),\n translate: {\n x: 0,\n y: 0\n }\n },\n droppable: {\n containers: new DroppableContainersMap()\n }\n };\n}\nfunction reducer(state, action) {\n switch (action.type) {\n case Action.DragStart:\n return { ...state,\n draggable: { ...state.draggable,\n initialCoordinates: action.initialCoordinates,\n active: action.active\n }\n };\n\n case Action.DragMove:\n if (state.draggable.active == null) {\n return state;\n }\n\n return { ...state,\n draggable: { ...state.draggable,\n translate: {\n x: action.coordinates.x - state.draggable.initialCoordinates.x,\n y: action.coordinates.y - state.draggable.initialCoordinates.y\n }\n }\n };\n\n case Action.DragEnd:\n case Action.DragCancel:\n return { ...state,\n draggable: { ...state.draggable,\n active: null,\n initialCoordinates: {\n x: 0,\n y: 0\n },\n translate: {\n x: 0,\n y: 0\n }\n }\n };\n\n case Action.RegisterDroppable:\n {\n const {\n element\n } = action;\n const {\n id\n } = element;\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.set(id, element);\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n case Action.SetDroppableDisabled:\n {\n const {\n id,\n key,\n disabled\n } = action;\n const element = state.droppable.containers.get(id);\n\n if (!element || key !== element.key) {\n return state;\n }\n\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.set(id, { ...element,\n disabled\n });\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n case Action.UnregisterDroppable:\n {\n const {\n id,\n key\n } = action;\n const element = state.droppable.containers.get(id);\n\n if (!element || key !== element.key) {\n return state;\n }\n\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.delete(id);\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n default:\n {\n return state;\n }\n }\n}\n\nfunction RestoreFocus(_ref) {\n let {\n disabled\n } = _ref;\n const {\n active,\n activatorEvent,\n draggableNodes\n } = useContext(InternalContext);\n const previousActivatorEvent = usePrevious(activatorEvent);\n const previousActiveId = usePrevious(active == null ? void 0 : active.id); // Restore keyboard focus on the activator node\n\n useEffect(() => {\n if (disabled) {\n return;\n }\n\n if (!activatorEvent && previousActivatorEvent && previousActiveId != null) {\n if (!isKeyboardEvent(previousActivatorEvent)) {\n return;\n }\n\n if (document.activeElement === previousActivatorEvent.target) {\n // No need to restore focus\n return;\n }\n\n const draggableNode = draggableNodes.get(previousActiveId);\n\n if (!draggableNode) {\n return;\n }\n\n const {\n activatorNode,\n node\n } = draggableNode;\n\n if (!activatorNode.current && !node.current) {\n return;\n }\n\n requestAnimationFrame(() => {\n for (const element of [activatorNode.current, node.current]) {\n if (!element) {\n continue;\n }\n\n const focusableNode = findFirstFocusableNode(element);\n\n if (focusableNode) {\n focusableNode.focus();\n break;\n }\n }\n });\n }\n }, [activatorEvent, disabled, draggableNodes, previousActiveId, previousActivatorEvent]);\n return null;\n}\n\nfunction applyModifiers(modifiers, _ref) {\n let {\n transform,\n ...args\n } = _ref;\n return modifiers != null && modifiers.length ? modifiers.reduce((accumulator, modifier) => {\n return modifier({\n transform: accumulator,\n ...args\n });\n }, transform) : transform;\n}\n\nfunction useMeasuringConfiguration(config) {\n return useMemo(() => ({\n draggable: { ...defaultMeasuringConfiguration.draggable,\n ...(config == null ? void 0 : config.draggable)\n },\n droppable: { ...defaultMeasuringConfiguration.droppable,\n ...(config == null ? void 0 : config.droppable)\n },\n dragOverlay: { ...defaultMeasuringConfiguration.dragOverlay,\n ...(config == null ? void 0 : config.dragOverlay)\n }\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [config == null ? void 0 : config.draggable, config == null ? void 0 : config.droppable, config == null ? void 0 : config.dragOverlay]);\n}\n\nfunction useLayoutShiftScrollCompensation(_ref) {\n let {\n activeNode,\n measure,\n initialRect,\n config = true\n } = _ref;\n const initialized = useRef(false);\n const {\n x,\n y\n } = typeof config === 'boolean' ? {\n x: config,\n y: config\n } : config;\n useIsomorphicLayoutEffect(() => {\n const disabled = !x && !y;\n\n if (disabled || !activeNode) {\n initialized.current = false;\n return;\n }\n\n if (initialized.current || !initialRect) {\n // Return early if layout shift scroll compensation was already attempted\n // or if there is no initialRect to compare to.\n return;\n } // Get the most up to date node ref for the active draggable\n\n\n const node = activeNode == null ? void 0 : activeNode.node.current;\n\n if (!node || node.isConnected === false) {\n // Return early if there is no attached node ref or if the node is\n // disconnected from the document.\n return;\n }\n\n const rect = measure(node);\n const rectDelta = getRectDelta(rect, initialRect);\n\n if (!x) {\n rectDelta.x = 0;\n }\n\n if (!y) {\n rectDelta.y = 0;\n } // Only perform layout shift scroll compensation once\n\n\n initialized.current = true;\n\n if (Math.abs(rectDelta.x) > 0 || Math.abs(rectDelta.y) > 0) {\n const firstScrollableAncestor = getFirstScrollableAncestor(node);\n\n if (firstScrollableAncestor) {\n firstScrollableAncestor.scrollBy({\n top: rectDelta.y,\n left: rectDelta.x\n });\n }\n }\n }, [activeNode, x, y, initialRect, measure]);\n}\n\nconst ActiveDraggableContext = /*#__PURE__*/createContext({ ...defaultCoordinates,\n scaleX: 1,\n scaleY: 1\n});\nvar Status;\n\n(function (Status) {\n Status[Status[\"Uninitialized\"] = 0] = \"Uninitialized\";\n Status[Status[\"Initializing\"] = 1] = \"Initializing\";\n Status[Status[\"Initialized\"] = 2] = \"Initialized\";\n})(Status || (Status = {}));\n\nconst DndContext = /*#__PURE__*/memo(function DndContext(_ref) {\n var _sensorContext$curren, _dragOverlay$nodeRef$, _dragOverlay$rect, _over$rect;\n\n let {\n id,\n accessibility,\n autoScroll = true,\n children,\n sensors = defaultSensors,\n collisionDetection = rectIntersection,\n measuring,\n modifiers,\n ...props\n } = _ref;\n const store = useReducer(reducer, undefined, getInitialState);\n const [state, dispatch] = store;\n const [dispatchMonitorEvent, registerMonitorListener] = useDndMonitorProvider();\n const [status, setStatus] = useState(Status.Uninitialized);\n const isInitialized = status === Status.Initialized;\n const {\n draggable: {\n active: activeId,\n nodes: draggableNodes,\n translate\n },\n droppable: {\n containers: droppableContainers\n }\n } = state;\n const node = activeId != null ? draggableNodes.get(activeId) : null;\n const activeRects = useRef({\n initial: null,\n translated: null\n });\n const active = useMemo(() => {\n var _node$data;\n\n return activeId != null ? {\n id: activeId,\n // It's possible for the active node to unmount while dragging\n data: (_node$data = node == null ? void 0 : node.data) != null ? _node$data : defaultData,\n rect: activeRects\n } : null;\n }, [activeId, node]);\n const activeRef = useRef(null);\n const [activeSensor, setActiveSensor] = useState(null);\n const [activatorEvent, setActivatorEvent] = useState(null);\n const latestProps = useLatestValue(props, Object.values(props));\n const draggableDescribedById = useUniqueId(\"DndDescribedBy\", id);\n const enabledDroppableContainers = useMemo(() => droppableContainers.getEnabled(), [droppableContainers]);\n const measuringConfiguration = useMeasuringConfiguration(measuring);\n const {\n droppableRects,\n measureDroppableContainers,\n measuringScheduled\n } = useDroppableMeasuring(enabledDroppableContainers, {\n dragging: isInitialized,\n dependencies: [translate.x, translate.y],\n config: measuringConfiguration.droppable\n });\n const activeNode = useCachedNode(draggableNodes, activeId);\n const activationCoordinates = useMemo(() => activatorEvent ? getEventCoordinates(activatorEvent) : null, [activatorEvent]);\n const autoScrollOptions = getAutoScrollerOptions();\n const initialActiveNodeRect = useInitialRect(activeNode, measuringConfiguration.draggable.measure);\n useLayoutShiftScrollCompensation({\n activeNode: activeId != null ? draggableNodes.get(activeId) : null,\n config: autoScrollOptions.layoutShiftCompensation,\n initialRect: initialActiveNodeRect,\n measure: measuringConfiguration.draggable.measure\n });\n const activeNodeRect = useRect(activeNode, measuringConfiguration.draggable.measure, initialActiveNodeRect);\n const containerNodeRect = useRect(activeNode ? activeNode.parentElement : null);\n const sensorContext = useRef({\n activatorEvent: null,\n active: null,\n activeNode,\n collisionRect: null,\n collisions: null,\n droppableRects,\n draggableNodes,\n draggingNode: null,\n draggingNodeRect: null,\n droppableContainers,\n over: null,\n scrollableAncestors: [],\n scrollAdjustedTranslate: null\n });\n const overNode = droppableContainers.getNodeFor((_sensorContext$curren = sensorContext.current.over) == null ? void 0 : _sensorContext$curren.id);\n const dragOverlay = useDragOverlayMeasuring({\n measure: measuringConfiguration.dragOverlay.measure\n }); // Use the rect of the drag overlay if it is mounted\n\n const draggingNode = (_dragOverlay$nodeRef$ = dragOverlay.nodeRef.current) != null ? _dragOverlay$nodeRef$ : activeNode;\n const draggingNodeRect = isInitialized ? (_dragOverlay$rect = dragOverlay.rect) != null ? _dragOverlay$rect : activeNodeRect : null;\n const usesDragOverlay = Boolean(dragOverlay.nodeRef.current && dragOverlay.rect); // The delta between the previous and new position of the draggable node\n // is only relevant when there is no drag overlay\n\n const nodeRectDelta = useRectDelta(usesDragOverlay ? null : activeNodeRect); // Get the window rect of the dragging node\n\n const windowRect = useWindowRect(draggingNode ? getWindow(draggingNode) : null); // Get scrollable ancestors of the dragging node\n\n const scrollableAncestors = useScrollableAncestors(isInitialized ? overNode != null ? overNode : activeNode : null);\n const scrollableAncestorRects = useRects(scrollableAncestors); // Apply modifiers\n\n const modifiedTranslate = applyModifiers(modifiers, {\n transform: {\n x: translate.x - nodeRectDelta.x,\n y: translate.y - nodeRectDelta.y,\n scaleX: 1,\n scaleY: 1\n },\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggingNodeRect,\n over: sensorContext.current.over,\n overlayNodeRect: dragOverlay.rect,\n scrollableAncestors,\n scrollableAncestorRects,\n windowRect\n });\n const pointerCoordinates = activationCoordinates ? add(activationCoordinates, translate) : null;\n const scrollOffsets = useScrollOffsets(scrollableAncestors); // Represents the scroll delta since dragging was initiated\n\n const scrollAdjustment = useScrollOffsetsDelta(scrollOffsets); // Represents the scroll delta since the last time the active node rect was measured\n\n const activeNodeScrollDelta = useScrollOffsetsDelta(scrollOffsets, [activeNodeRect]);\n const scrollAdjustedTranslate = add(modifiedTranslate, scrollAdjustment);\n const collisionRect = draggingNodeRect ? getAdjustedRect(draggingNodeRect, modifiedTranslate) : null;\n const collisions = active && collisionRect ? collisionDetection({\n active,\n collisionRect,\n droppableRects,\n droppableContainers: enabledDroppableContainers,\n pointerCoordinates\n }) : null;\n const overId = getFirstCollision(collisions, 'id');\n const [over, setOver] = useState(null); // When there is no drag overlay used, we need to account for the\n // window scroll delta\n\n const appliedTranslate = usesDragOverlay ? modifiedTranslate : add(modifiedTranslate, activeNodeScrollDelta);\n const transform = adjustScale(appliedTranslate, (_over$rect = over == null ? void 0 : over.rect) != null ? _over$rect : null, activeNodeRect);\n const activeSensorRef = useRef(null);\n const instantiateSensor = useCallback((event, _ref2) => {\n let {\n sensor: Sensor,\n options\n } = _ref2;\n\n if (activeRef.current == null) {\n return;\n }\n\n const activeNode = draggableNodes.get(activeRef.current);\n\n if (!activeNode) {\n return;\n }\n\n const activatorEvent = event.nativeEvent;\n const sensorInstance = new Sensor({\n active: activeRef.current,\n activeNode,\n event: activatorEvent,\n options,\n // Sensors need to be instantiated with refs for arguments that change over time\n // otherwise they are frozen in time with the stale arguments\n context: sensorContext,\n\n onAbort(id) {\n const draggableNode = draggableNodes.get(id);\n\n if (!draggableNode) {\n return;\n }\n\n const {\n onDragAbort\n } = latestProps.current;\n const event = {\n id\n };\n onDragAbort == null ? void 0 : onDragAbort(event);\n dispatchMonitorEvent({\n type: 'onDragAbort',\n event\n });\n },\n\n onPending(id, constraint, initialCoordinates, offset) {\n const draggableNode = draggableNodes.get(id);\n\n if (!draggableNode) {\n return;\n }\n\n const {\n onDragPending\n } = latestProps.current;\n const event = {\n id,\n constraint,\n initialCoordinates,\n offset\n };\n onDragPending == null ? void 0 : onDragPending(event);\n dispatchMonitorEvent({\n type: 'onDragPending',\n event\n });\n },\n\n onStart(initialCoordinates) {\n const id = activeRef.current;\n\n if (id == null) {\n return;\n }\n\n const draggableNode = draggableNodes.get(id);\n\n if (!draggableNode) {\n return;\n }\n\n const {\n onDragStart\n } = latestProps.current;\n const event = {\n activatorEvent,\n active: {\n id,\n data: draggableNode.data,\n rect: activeRects\n }\n };\n unstable_batchedUpdates(() => {\n onDragStart == null ? void 0 : onDragStart(event);\n setStatus(Status.Initializing);\n dispatch({\n type: Action.DragStart,\n initialCoordinates,\n active: id\n });\n dispatchMonitorEvent({\n type: 'onDragStart',\n event\n });\n setActiveSensor(activeSensorRef.current);\n setActivatorEvent(activatorEvent);\n });\n },\n\n onMove(coordinates) {\n dispatch({\n type: Action.DragMove,\n coordinates\n });\n },\n\n onEnd: createHandler(Action.DragEnd),\n onCancel: createHandler(Action.DragCancel)\n });\n activeSensorRef.current = sensorInstance;\n\n function createHandler(type) {\n return async function handler() {\n const {\n active,\n collisions,\n over,\n scrollAdjustedTranslate\n } = sensorContext.current;\n let event = null;\n\n if (active && scrollAdjustedTranslate) {\n const {\n cancelDrop\n } = latestProps.current;\n event = {\n activatorEvent,\n active: active,\n collisions,\n delta: scrollAdjustedTranslate,\n over\n };\n\n if (type === Action.DragEnd && typeof cancelDrop === 'function') {\n const shouldCancel = await Promise.resolve(cancelDrop(event));\n\n if (shouldCancel) {\n type = Action.DragCancel;\n }\n }\n }\n\n activeRef.current = null;\n unstable_batchedUpdates(() => {\n dispatch({\n type\n });\n setStatus(Status.Uninitialized);\n setOver(null);\n setActiveSensor(null);\n setActivatorEvent(null);\n activeSensorRef.current = null;\n const eventName = type === Action.DragEnd ? 'onDragEnd' : 'onDragCancel';\n\n if (event) {\n const handler = latestProps.current[eventName];\n handler == null ? void 0 : handler(event);\n dispatchMonitorEvent({\n type: eventName,\n event\n });\n }\n });\n };\n }\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [draggableNodes]);\n const bindActivatorToSensorInstantiator = useCallback((handler, sensor) => {\n return (event, active) => {\n const nativeEvent = event.nativeEvent;\n const activeDraggableNode = draggableNodes.get(active);\n\n if ( // Another sensor is already instantiating\n activeRef.current !== null || // No active draggable\n !activeDraggableNode || // Event has already been captured\n nativeEvent.dndKit || nativeEvent.defaultPrevented) {\n return;\n }\n\n const activationContext = {\n active: activeDraggableNode\n };\n const shouldActivate = handler(event, sensor.options, activationContext);\n\n if (shouldActivate === true) {\n nativeEvent.dndKit = {\n capturedBy: sensor.sensor\n };\n activeRef.current = active;\n instantiateSensor(event, sensor);\n }\n };\n }, [draggableNodes, instantiateSensor]);\n const activators = useCombineActivators(sensors, bindActivatorToSensorInstantiator);\n useSensorSetup(sensors);\n useIsomorphicLayoutEffect(() => {\n if (activeNodeRect && status === Status.Initializing) {\n setStatus(Status.Initialized);\n }\n }, [activeNodeRect, status]);\n useEffect(() => {\n const {\n onDragMove\n } = latestProps.current;\n const {\n active,\n activatorEvent,\n collisions,\n over\n } = sensorContext.current;\n\n if (!active || !activatorEvent) {\n return;\n }\n\n const event = {\n active,\n activatorEvent,\n collisions,\n delta: {\n x: scrollAdjustedTranslate.x,\n y: scrollAdjustedTranslate.y\n },\n over\n };\n unstable_batchedUpdates(() => {\n onDragMove == null ? void 0 : onDragMove(event);\n dispatchMonitorEvent({\n type: 'onDragMove',\n event\n });\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [scrollAdjustedTranslate.x, scrollAdjustedTranslate.y]);\n useEffect(() => {\n const {\n active,\n activatorEvent,\n collisions,\n droppableContainers,\n scrollAdjustedTranslate\n } = sensorContext.current;\n\n if (!active || activeRef.current == null || !activatorEvent || !scrollAdjustedTranslate) {\n return;\n }\n\n const {\n onDragOver\n } = latestProps.current;\n const overContainer = droppableContainers.get(overId);\n const over = overContainer && overContainer.rect.current ? {\n id: overContainer.id,\n rect: overContainer.rect.current,\n data: overContainer.data,\n disabled: overContainer.disabled\n } : null;\n const event = {\n active,\n activatorEvent,\n collisions,\n delta: {\n x: scrollAdjustedTranslate.x,\n y: scrollAdjustedTranslate.y\n },\n over\n };\n unstable_batchedUpdates(() => {\n setOver(over);\n onDragOver == null ? void 0 : onDragOver(event);\n dispatchMonitorEvent({\n type: 'onDragOver',\n event\n });\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [overId]);\n useIsomorphicLayoutEffect(() => {\n sensorContext.current = {\n activatorEvent,\n active,\n activeNode,\n collisionRect,\n collisions,\n droppableRects,\n draggableNodes,\n draggingNode,\n draggingNodeRect,\n droppableContainers,\n over,\n scrollableAncestors,\n scrollAdjustedTranslate\n };\n activeRects.current = {\n initial: draggingNodeRect,\n translated: collisionRect\n };\n }, [active, activeNode, collisions, collisionRect, draggableNodes, draggingNode, draggingNodeRect, droppableRects, droppableContainers, over, scrollableAncestors, scrollAdjustedTranslate]);\n useAutoScroller({ ...autoScrollOptions,\n delta: translate,\n draggingRect: collisionRect,\n pointerCoordinates,\n scrollableAncestors,\n scrollableAncestorRects\n });\n const publicContext = useMemo(() => {\n const context = {\n active,\n activeNode,\n activeNodeRect,\n activatorEvent,\n collisions,\n containerNodeRect,\n dragOverlay,\n draggableNodes,\n droppableContainers,\n droppableRects,\n over,\n measureDroppableContainers,\n scrollableAncestors,\n scrollableAncestorRects,\n measuringConfiguration,\n measuringScheduled,\n windowRect\n };\n return context;\n }, [active, activeNode, activeNodeRect, activatorEvent, collisions, containerNodeRect, dragOverlay, draggableNodes, droppableContainers, droppableRects, over, measureDroppableContainers, scrollableAncestors, scrollableAncestorRects, measuringConfiguration, measuringScheduled, windowRect]);\n const internalContext = useMemo(() => {\n const context = {\n activatorEvent,\n activators,\n active,\n activeNodeRect,\n ariaDescribedById: {\n draggable: draggableDescribedById\n },\n dispatch,\n draggableNodes,\n over,\n measureDroppableContainers\n };\n return context;\n }, [activatorEvent, activators, active, activeNodeRect, dispatch, draggableDescribedById, draggableNodes, over, measureDroppableContainers]);\n return React.createElement(DndMonitorContext.Provider, {\n value: registerMonitorListener\n }, React.createElement(InternalContext.Provider, {\n value: internalContext\n }, React.createElement(PublicContext.Provider, {\n value: publicContext\n }, React.createElement(ActiveDraggableContext.Provider, {\n value: transform\n }, children)), React.createElement(RestoreFocus, {\n disabled: (accessibility == null ? void 0 : accessibility.restoreFocus) === false\n })), React.createElement(Accessibility, { ...accessibility,\n hiddenTextDescribedById: draggableDescribedById\n }));\n\n function getAutoScrollerOptions() {\n const activeSensorDisablesAutoscroll = (activeSensor == null ? void 0 : activeSensor.autoScrollEnabled) === false;\n const autoScrollGloballyDisabled = typeof autoScroll === 'object' ? autoScroll.enabled === false : autoScroll === false;\n const enabled = isInitialized && !activeSensorDisablesAutoscroll && !autoScrollGloballyDisabled;\n\n if (typeof autoScroll === 'object') {\n return { ...autoScroll,\n enabled\n };\n }\n\n return {\n enabled\n };\n }\n});\n\nconst NullContext = /*#__PURE__*/createContext(null);\nconst defaultRole = 'button';\nconst ID_PREFIX = 'Draggable';\nfunction useDraggable(_ref) {\n let {\n id,\n data,\n disabled = false,\n attributes\n } = _ref;\n const key = useUniqueId(ID_PREFIX);\n const {\n activators,\n activatorEvent,\n active,\n activeNodeRect,\n ariaDescribedById,\n draggableNodes,\n over\n } = useContext(InternalContext);\n const {\n role = defaultRole,\n roleDescription = 'draggable',\n tabIndex = 0\n } = attributes != null ? attributes : {};\n const isDragging = (active == null ? void 0 : active.id) === id;\n const transform = useContext(isDragging ? ActiveDraggableContext : NullContext);\n const [node, setNodeRef] = useNodeRef();\n const [activatorNode, setActivatorNodeRef] = useNodeRef();\n const listeners = useSyntheticListeners(activators, id);\n const dataRef = useLatestValue(data);\n useIsomorphicLayoutEffect(() => {\n draggableNodes.set(id, {\n id,\n key,\n node,\n activatorNode,\n data: dataRef\n });\n return () => {\n const node = draggableNodes.get(id);\n\n if (node && node.key === key) {\n draggableNodes.delete(id);\n }\n };\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [draggableNodes, id]);\n const memoizedAttributes = useMemo(() => ({\n role,\n tabIndex,\n 'aria-disabled': disabled,\n 'aria-pressed': isDragging && role === defaultRole ? true : undefined,\n 'aria-roledescription': roleDescription,\n 'aria-describedby': ariaDescribedById.draggable\n }), [disabled, role, tabIndex, isDragging, roleDescription, ariaDescribedById.draggable]);\n return {\n active,\n activatorEvent,\n activeNodeRect,\n attributes: memoizedAttributes,\n isDragging,\n listeners: disabled ? undefined : listeners,\n node,\n over,\n setNodeRef,\n setActivatorNodeRef,\n transform\n };\n}\n\nfunction useDndContext() {\n return useContext(PublicContext);\n}\n\nconst ID_PREFIX$1 = 'Droppable';\nconst defaultResizeObserverConfig = {\n timeout: 25\n};\nfunction useDroppable(_ref) {\n let {\n data,\n disabled = false,\n id,\n resizeObserverConfig\n } = _ref;\n const key = useUniqueId(ID_PREFIX$1);\n const {\n active,\n dispatch,\n over,\n measureDroppableContainers\n } = useContext(InternalContext);\n const previous = useRef({\n disabled\n });\n const resizeObserverConnected = useRef(false);\n const rect = useRef(null);\n const callbackId = useRef(null);\n const {\n disabled: resizeObserverDisabled,\n updateMeasurementsFor,\n timeout: resizeObserverTimeout\n } = { ...defaultResizeObserverConfig,\n ...resizeObserverConfig\n };\n const ids = useLatestValue(updateMeasurementsFor != null ? updateMeasurementsFor : id);\n const handleResize = useCallback(() => {\n if (!resizeObserverConnected.current) {\n // ResizeObserver invokes the `handleResize` callback as soon as `observe` is called,\n // assuming the element is rendered and displayed.\n resizeObserverConnected.current = true;\n return;\n }\n\n if (callbackId.current != null) {\n clearTimeout(callbackId.current);\n }\n\n callbackId.current = setTimeout(() => {\n measureDroppableContainers(Array.isArray(ids.current) ? ids.current : [ids.current]);\n callbackId.current = null;\n }, resizeObserverTimeout);\n }, //eslint-disable-next-line react-hooks/exhaustive-deps\n [resizeObserverTimeout]);\n const resizeObserver = useResizeObserver({\n callback: handleResize,\n disabled: resizeObserverDisabled || !active\n });\n const handleNodeChange = useCallback((newElement, previousElement) => {\n if (!resizeObserver) {\n return;\n }\n\n if (previousElement) {\n resizeObserver.unobserve(previousElement);\n resizeObserverConnected.current = false;\n }\n\n if (newElement) {\n resizeObserver.observe(newElement);\n }\n }, [resizeObserver]);\n const [nodeRef, setNodeRef] = useNodeRef(handleNodeChange);\n const dataRef = useLatestValue(data);\n useEffect(() => {\n if (!resizeObserver || !nodeRef.current) {\n return;\n }\n\n resizeObserver.disconnect();\n resizeObserverConnected.current = false;\n resizeObserver.observe(nodeRef.current);\n }, [nodeRef, resizeObserver]);\n useEffect(() => {\n dispatch({\n type: Action.RegisterDroppable,\n element: {\n id,\n key,\n disabled,\n node: nodeRef,\n rect,\n data: dataRef\n }\n });\n return () => dispatch({\n type: Action.UnregisterDroppable,\n key,\n id\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [id]);\n useEffect(() => {\n if (disabled !== previous.current.disabled) {\n dispatch({\n type: Action.SetDroppableDisabled,\n id,\n key,\n disabled\n });\n previous.current.disabled = disabled;\n }\n }, [id, key, disabled, dispatch]);\n return {\n active,\n rect,\n isOver: (over == null ? void 0 : over.id) === id,\n node: nodeRef,\n over,\n setNodeRef\n };\n}\n\nfunction AnimationManager(_ref) {\n let {\n animation,\n children\n } = _ref;\n const [clonedChildren, setClonedChildren] = useState(null);\n const [element, setElement] = useState(null);\n const previousChildren = usePrevious(children);\n\n if (!children && !clonedChildren && previousChildren) {\n setClonedChildren(previousChildren);\n }\n\n useIsomorphicLayoutEffect(() => {\n if (!element) {\n return;\n }\n\n const key = clonedChildren == null ? void 0 : clonedChildren.key;\n const id = clonedChildren == null ? void 0 : clonedChildren.props.id;\n\n if (key == null || id == null) {\n setClonedChildren(null);\n return;\n }\n\n Promise.resolve(animation(id, element)).then(() => {\n setClonedChildren(null);\n });\n }, [animation, clonedChildren, element]);\n return React.createElement(React.Fragment, null, children, clonedChildren ? cloneElement(clonedChildren, {\n ref: setElement\n }) : null);\n}\n\nconst defaultTransform = {\n x: 0,\n y: 0,\n scaleX: 1,\n scaleY: 1\n};\nfunction NullifiedContextProvider(_ref) {\n let {\n children\n } = _ref;\n return React.createElement(InternalContext.Provider, {\n value: defaultInternalContext\n }, React.createElement(ActiveDraggableContext.Provider, {\n value: defaultTransform\n }, children));\n}\n\nconst baseStyles = {\n position: 'fixed',\n touchAction: 'none'\n};\n\nconst defaultTransition = activatorEvent => {\n const isKeyboardActivator = isKeyboardEvent(activatorEvent);\n return isKeyboardActivator ? 'transform 250ms ease' : undefined;\n};\n\nconst PositionedOverlay = /*#__PURE__*/forwardRef((_ref, ref) => {\n let {\n as,\n activatorEvent,\n adjustScale,\n children,\n className,\n rect,\n style,\n transform,\n transition = defaultTransition\n } = _ref;\n\n if (!rect) {\n return null;\n }\n\n const scaleAdjustedTransform = adjustScale ? transform : { ...transform,\n scaleX: 1,\n scaleY: 1\n };\n const styles = { ...baseStyles,\n width: rect.width,\n height: rect.height,\n top: rect.top,\n left: rect.left,\n transform: CSS.Transform.toString(scaleAdjustedTransform),\n transformOrigin: adjustScale && activatorEvent ? getRelativeTransformOrigin(activatorEvent, rect) : undefined,\n transition: typeof transition === 'function' ? transition(activatorEvent) : transition,\n ...style\n };\n return React.createElement(as, {\n className,\n style: styles,\n ref\n }, children);\n});\n\nconst defaultDropAnimationSideEffects = options => _ref => {\n let {\n active,\n dragOverlay\n } = _ref;\n const originalStyles = {};\n const {\n styles,\n className\n } = options;\n\n if (styles != null && styles.active) {\n for (const [key, value] of Object.entries(styles.active)) {\n if (value === undefined) {\n continue;\n }\n\n originalStyles[key] = active.node.style.getPropertyValue(key);\n active.node.style.setProperty(key, value);\n }\n }\n\n if (styles != null && styles.dragOverlay) {\n for (const [key, value] of Object.entries(styles.dragOverlay)) {\n if (value === undefined) {\n continue;\n }\n\n dragOverlay.node.style.setProperty(key, value);\n }\n }\n\n if (className != null && className.active) {\n active.node.classList.add(className.active);\n }\n\n if (className != null && className.dragOverlay) {\n dragOverlay.node.classList.add(className.dragOverlay);\n }\n\n return function cleanup() {\n for (const [key, value] of Object.entries(originalStyles)) {\n active.node.style.setProperty(key, value);\n }\n\n if (className != null && className.active) {\n active.node.classList.remove(className.active);\n }\n };\n};\n\nconst defaultKeyframeResolver = _ref2 => {\n let {\n transform: {\n initial,\n final\n }\n } = _ref2;\n return [{\n transform: CSS.Transform.toString(initial)\n }, {\n transform: CSS.Transform.toString(final)\n }];\n};\n\nconst defaultDropAnimationConfiguration = {\n duration: 250,\n easing: 'ease',\n keyframes: defaultKeyframeResolver,\n sideEffects: /*#__PURE__*/defaultDropAnimationSideEffects({\n styles: {\n active: {\n opacity: '0'\n }\n }\n })\n};\nfunction useDropAnimation(_ref3) {\n let {\n config,\n draggableNodes,\n droppableContainers,\n measuringConfiguration\n } = _ref3;\n return useEvent((id, node) => {\n if (config === null) {\n return;\n }\n\n const activeDraggable = draggableNodes.get(id);\n\n if (!activeDraggable) {\n return;\n }\n\n const activeNode = activeDraggable.node.current;\n\n if (!activeNode) {\n return;\n }\n\n const measurableNode = getMeasurableNode(node);\n\n if (!measurableNode) {\n return;\n }\n\n const {\n transform\n } = getWindow(node).getComputedStyle(node);\n const parsedTransform = parseTransform(transform);\n\n if (!parsedTransform) {\n return;\n }\n\n const animation = typeof config === 'function' ? config : createDefaultDropAnimation(config);\n scrollIntoViewIfNeeded(activeNode, measuringConfiguration.draggable.measure);\n return animation({\n active: {\n id,\n data: activeDraggable.data,\n node: activeNode,\n rect: measuringConfiguration.draggable.measure(activeNode)\n },\n draggableNodes,\n dragOverlay: {\n node,\n rect: measuringConfiguration.dragOverlay.measure(measurableNode)\n },\n droppableContainers,\n measuringConfiguration,\n transform: parsedTransform\n });\n });\n}\n\nfunction createDefaultDropAnimation(options) {\n const {\n duration,\n easing,\n sideEffects,\n keyframes\n } = { ...defaultDropAnimationConfiguration,\n ...options\n };\n return _ref4 => {\n let {\n active,\n dragOverlay,\n transform,\n ...rest\n } = _ref4;\n\n if (!duration) {\n // Do not animate if animation duration is zero.\n return;\n }\n\n const delta = {\n x: dragOverlay.rect.left - active.rect.left,\n y: dragOverlay.rect.top - active.rect.top\n };\n const scale = {\n scaleX: transform.scaleX !== 1 ? active.rect.width * transform.scaleX / dragOverlay.rect.width : 1,\n scaleY: transform.scaleY !== 1 ? active.rect.height * transform.scaleY / dragOverlay.rect.height : 1\n };\n const finalTransform = {\n x: transform.x - delta.x,\n y: transform.y - delta.y,\n ...scale\n };\n const animationKeyframes = keyframes({ ...rest,\n active,\n dragOverlay,\n transform: {\n initial: transform,\n final: finalTransform\n }\n });\n const [firstKeyframe] = animationKeyframes;\n const lastKeyframe = animationKeyframes[animationKeyframes.length - 1];\n\n if (JSON.stringify(firstKeyframe) === JSON.stringify(lastKeyframe)) {\n // The start and end keyframes are the same, infer that there is no animation needed.\n return;\n }\n\n const cleanup = sideEffects == null ? void 0 : sideEffects({\n active,\n dragOverlay,\n ...rest\n });\n const animation = dragOverlay.node.animate(animationKeyframes, {\n duration,\n easing,\n fill: 'forwards'\n });\n return new Promise(resolve => {\n animation.onfinish = () => {\n cleanup == null ? void 0 : cleanup();\n resolve();\n };\n });\n };\n}\n\nlet key = 0;\nfunction useKey(id) {\n return useMemo(() => {\n if (id == null) {\n return;\n }\n\n key++;\n return key;\n }, [id]);\n}\n\nconst DragOverlay = /*#__PURE__*/React.memo(_ref => {\n let {\n adjustScale = false,\n children,\n dropAnimation: dropAnimationConfig,\n style,\n transition,\n modifiers,\n wrapperElement = 'div',\n className,\n zIndex = 999\n } = _ref;\n const {\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggableNodes,\n droppableContainers,\n dragOverlay,\n over,\n measuringConfiguration,\n scrollableAncestors,\n scrollableAncestorRects,\n windowRect\n } = useDndContext();\n const transform = useContext(ActiveDraggableContext);\n const key = useKey(active == null ? void 0 : active.id);\n const modifiedTransform = applyModifiers(modifiers, {\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggingNodeRect: dragOverlay.rect,\n over,\n overlayNodeRect: dragOverlay.rect,\n scrollableAncestors,\n scrollableAncestorRects,\n transform,\n windowRect\n });\n const initialRect = useInitialValue(activeNodeRect);\n const dropAnimation = useDropAnimation({\n config: dropAnimationConfig,\n draggableNodes,\n droppableContainers,\n measuringConfiguration\n }); // We need to wait for the active node to be measured before connecting the drag overlay ref\n // otherwise collisions can be computed against a mispositioned drag overlay\n\n const ref = initialRect ? dragOverlay.setRef : undefined;\n return React.createElement(NullifiedContextProvider, null, React.createElement(AnimationManager, {\n animation: dropAnimation\n }, active && key ? React.createElement(PositionedOverlay, {\n key: key,\n id: active.id,\n ref: ref,\n as: wrapperElement,\n activatorEvent: activatorEvent,\n adjustScale: adjustScale,\n className: className,\n transition: transition,\n rect: initialRect,\n style: {\n zIndex,\n ...style\n },\n transform: modifiedTransform\n }, children) : null));\n});\n\nexport { AutoScrollActivator, DndContext, DragOverlay, KeyboardCode, KeyboardSensor, MeasuringFrequency, MeasuringStrategy, MouseSensor, PointerSensor, TouchSensor, TraversalOrder, applyModifiers, closestCenter, closestCorners, defaultAnnouncements, defaultCoordinates, defaultDropAnimationConfiguration as defaultDropAnimation, defaultDropAnimationSideEffects, defaultKeyboardCoordinateGetter, defaultScreenReaderInstructions, getClientRect, getFirstCollision, getScrollableAncestors, pointerWithin, rectIntersection, useDndContext, useDndMonitor, useDraggable, useDroppable, useSensor, useSensors };\n//# sourceMappingURL=core.esm.js.map\n","import { compact as e, isEmpty as t } from \"@pie-element/shared-lodash\";\nimport n from \"debug\";\n//#region src/extensions/index.tsx\nvar r = n(\"@pie-lib:editable-html:plugins\"), i = [\n\t\"bold\",\n\t\"html\",\n\t\"extraCSSRules\",\n\t\"italic\",\n\t\"underline\",\n\t\"strikethrough\",\n\t\"bulleted-list\",\n\t\"numbered-list\",\n\t\"image\",\n\t\"math\",\n\t\"languageCharacters\",\n\t\"text-align\",\n\t\"blockquote\",\n\t\"h3\",\n\t\"table\",\n\t\"video\",\n\t\"audio\",\n\t\"responseArea\",\n\t\"redo\",\n\t\"undo\",\n\t\"superscript\",\n\t\"subscript\"\n], a = {\n\t\"text-align\": \"textAlign\",\n\t\"bulleted-list\": \"ul_list\",\n\t\"numbered-list\": \"ol_list\"\n}, o = i.filter((e) => ![\n\t\"responseArea\",\n\t\"h3\",\n\t\"blockquote\"\n].includes(e)), s = (n, i, a) => {\n\tr(\"[buildPlugins] opts: \", a), n ||= o;\n\tlet s = (e, t = !0) => n.includes(e) && t && e, c = a.image && a.image.delete, l = a.math, u = a.responseArea && a.responseArea.type, d = !t(a.extraCSSRules), f = a?.languageCharacters || [];\n\treturn e([\n\t\ts(\"table\"),\n\t\ts(\"bold\"),\n\t\ts(\"italic\"),\n\t\ts(\"strikethrough\"),\n\t\ts(\"underline\"),\n\t\ts(\"superscript\"),\n\t\ts(\"subscript\"),\n\t\ts(\"image\", !!c),\n\t\ts(\"video\"),\n\t\ts(\"audio\"),\n\t\ts(\"math\", !!l),\n\t\t...f.map((e) => s(\"languageCharacters\", e)),\n\t\ts(\"text-align\"),\n\t\ts(\"blockquote\"),\n\t\ts(\"h3\"),\n\t\ts(\"bulleted-list\"),\n\t\ts(\"numbered-list\"),\n\t\ts(\"undo\"),\n\t\ts(\"redo\"),\n\t\ts(\"responseArea\", !!u),\n\t\ts(\"css\", !!d),\n\t\ts(\"html\", !!a.html)\n\t]);\n};\n//#endregion\nexport { i as ALL_PLUGINS, o as DEFAULT_PLUGINS, a as PLUGINS_MAP, s as buildExtensions };\n","//#region src/utils/helper.tsx\nvar e = (e) => String(e).replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\").replace(/\"/g, \"&quot;\").replace(/'/g, \"&#39;\"), t = (e) => {\n\tlet t = document.createElement(\"div\");\n\tt.innerHTML = e;\n\tlet n = Array.from(t.children);\n\treturn n.length < 2 || !n.every((e) => e.tagName === \"DIV\") || !n.every((e) => e.attributes.length === 0) || !n.every((e) => Array.from(e.children).every((e) => {\n\t\tlet t = e.tagName;\n\t\treturn [\n\t\t\t\"SPAN\",\n\t\t\t\"B\",\n\t\t\t\"I\",\n\t\t\t\"EM\",\n\t\t\t\"STRONG\",\n\t\t\t\"U\",\n\t\t\t\"SUB\",\n\t\t\t\"SUP\",\n\t\t\t\"A\",\n\t\t\t\"CODE\",\n\t\t\t\"BR\"\n\t\t].includes(t);\n\t})) ? e : `<p>${n.map((e) => e.innerHTML).join(\"<br>\")}</p>`;\n}, n = (n) => {\n\tlet r = String(n ?? \"\").trim();\n\treturn r ? /<[^>]+>/.test(r) ? t(r) : `<div>${e(r)}</div>` : \"<div></div>\";\n};\n//#endregion\nexport { n as normalizeInitialMarkup };\n","import { Table as e, TableView as t } from \"@tiptap/extension-table\";\n//#region src/extensions/extended-table.tsx\nvar n = (e, t) => {\n\tlet n = t?.border != null && t.border !== \"\" ? t.border : \"1\";\n\te.setAttribute(\"border\", n), e.style.setProperty(\"color\", \"var(--pie-text, black)\"), e.style.setProperty(\"background-color\", \"var(--pie-background, rgba(255, 255, 255))\");\n}, r = class extends t {\n\tconstructor(e, t, r) {\n\t\tsuper(e, t, r), n(this.table, e.attrs);\n\t}\n\tupdate(e) {\n\t\tlet t = super.update(e);\n\t\treturn t && n(this.table, e.attrs), t;\n\t}\n}, i = e.extend({\n\taddOptions() {\n\t\treturn {\n\t\t\t...this.parent?.(),\n\t\t\tresizable: !0,\n\t\t\thandleWidth: 0,\n\t\t\tView: r\n\t\t};\n\t},\n\taddAttributes() {\n\t\treturn { border: { default: \"1\" } };\n\t},\n\trenderHTML(e) {\n\t\tlet t = this.parent(e), { border: n } = e.HTMLAttributes, r = `${t[1].style}${t[1].style.match(/.*; */) ? \"\" : \";\"}`;\n\t\treturn t[1].style = `${r}\n color: var(--pie-text, black);\n background-color: var(--pie-background, rgba(255, 255, 255))`, t[1].border = n || \"1\", t;\n\t}\n});\n//#endregion\nexport { r as ExtendedTableView, n as applyPresentationToTableElement, i as default };\n","import { TableCell as e } from \"@tiptap/extension-table-cell\";\nimport { TableHeader as t } from \"@tiptap/extension-table-header\";\n//#region src/extensions/extended-table-cell.ts\nvar n = \"(div | paragraph | heading | bulletList | orderedList | blockquote | codeBlock | horizontalRule | image | imageUploadNode)+\", r = e.extend({ content: n }), i = t.extend({ content: n });\n//#endregion\nexport { r as ExtendedTableCell, i as ExtendedTableHeader };\n","import { Node as e } from \"@tiptap/core\";\n//#region src/extensions/div-node.tsx\nvar t = e.create({\n\tname: \"div\",\n\tgroup: \"block\",\n\tcontent: \"inline*\",\n\tparseHTML() {\n\t\treturn [{ tag: \"div\" }];\n\t},\n\trenderHTML({ HTMLAttributes: e }) {\n\t\treturn [\n\t\t\t\"div\",\n\t\t\te,\n\t\t\t0\n\t\t];\n\t},\n\taddKeyboardShortcuts() {\n\t\tlet e = (e) => {\n\t\t\tfor (let t = e.depth; t >= 0; --t) if (e.node(t).type.name === \"listItem\") return !0;\n\t\t\treturn !1;\n\t\t};\n\t\treturn {\n\t\t\tEnter: () => {\n\t\t\t\tlet { state: t } = this.editor, { $from: n } = t.selection;\n\t\t\t\treturn n.parent.type.name !== \"div\" || e(n) ? !1 : this.editor.chain().focus().setNode(\"paragraph\").splitBlock().run();\n\t\t\t},\n\t\t\tBackspace: () => {\n\t\t\t\tlet { state: e } = this.editor, { $from: t, empty: n } = e.selection;\n\t\t\t\tif (t.parent.type.name !== \"div\" || !n) return !1;\n\t\t\t\tlet r = t.parent.textContent;\n\t\t\t\tif (r.length === 0) return e.doc.childCount === 1;\n\t\t\t\tif (r.length === 1 && t.parentOffset === 1) {\n\t\t\t\t\tlet { tr: n } = e;\n\t\t\t\t\treturn n.delete(t.pos - 1, t.pos), this.editor.view.dispatch(n), !0;\n\t\t\t\t}\n\t\t\t\treturn !1;\n\t\t\t}\n\t\t};\n\t}\n});\n//#endregion\nexport { t as DivNode };\n","import { Extension as e } from \"@tiptap/core\";\nimport { Plugin as t, PluginKey as n } from \"@tiptap/pm/state\";\n//#region src/extensions/ensure-empty-root-div.tsx\nvar r = e.create({\n\tname: \"ensureEmptyRootIsDiv\",\n\taddProseMirrorPlugins() {\n\t\treturn [new t({\n\t\t\tkey: new n(this.name),\n\t\t\tappendTransaction(e, t, n) {\n\t\t\t\tif (!e.some((e) => e.docChanged)) return null;\n\t\t\t\tlet { doc: r } = n;\n\t\t\t\tif (r.childCount !== 1) return null;\n\t\t\t\tlet i = r.firstChild;\n\t\t\t\tif (i.type.name !== \"paragraph\" || i.content.size > 0) return null;\n\t\t\t\tlet a = n.schema.nodes.div;\n\t\t\t\tif (!a) return null;\n\t\t\t\tlet o = i.nodeSize;\n\t\t\t\treturn n.tr.replaceWith(0, o, a.create());\n\t\t\t}\n\t\t})];\n\t}\n});\n//#endregion\nexport { r as EnsureEmptyRootIsDiv };\n","import { Extension as e } from \"@tiptap/core\";\nimport { Plugin as t, PluginKey as n } from \"@tiptap/pm/state\";\n//#region src/extensions/ensure-list-item-content-is-div.ts\nvar r = e.create({\n\tname: \"ensureListItemContentIsDiv\",\n\taddProseMirrorPlugins() {\n\t\treturn [new t({\n\t\t\tkey: new n(this.name),\n\t\t\tappendTransaction(e, t, n) {\n\t\t\t\tif (!e.some((e) => e.docChanged)) return null;\n\t\t\t\tlet { doc: r, schema: i } = n, a = i.nodes.div;\n\t\t\t\tif (!a) return null;\n\t\t\t\tlet o = [];\n\t\t\t\tif (r.descendants((e, t) => {\n\t\t\t\t\tif (e.type.name !== \"listItem\") return;\n\t\t\t\t\tlet n = 1;\n\t\t\t\t\te.forEach((e) => {\n\t\t\t\t\t\te.type.name === \"paragraph\" && o.push({\n\t\t\t\t\t\t\tpos: t + n,\n\t\t\t\t\t\t\tattrs: e.attrs\n\t\t\t\t\t\t}), n += e.nodeSize;\n\t\t\t\t\t});\n\t\t\t\t}), o.length === 0) return null;\n\t\t\t\tlet s = n.tr;\n\t\t\t\treturn o.sort((e, t) => t.pos - e.pos).forEach(({ pos: e, attrs: t }) => s.setNodeMarkup(e, a, t)), s;\n\t\t\t}\n\t\t})];\n\t}\n});\n//#endregion\nexport { r as EnsureListItemContentIsDiv };\n","//#region src/constants.ts\nvar e = \"pie-toolbar\";\n//#endregion\nexport { e as PIE_TOOLBAR__CLASS };\n","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\n}), 'Check');","import \"react\";\nimport { styled as e } from \"@mui/material/styles\";\nimport t from \"prop-types\";\nimport n from \"@mui/material/IconButton\";\nimport r from \"@mui/icons-material/Check\";\nimport { jsx as i } from \"react/jsx-runtime\";\n//#region src/components/common/done-button.tsx\nvar a = e(n)({\n\tverticalAlign: \"top\",\n\twidth: \"28px\",\n\theight: \"28px\",\n\tcolor: \"var(--editable-html-toolbar-check, #00bb00)\",\n\tpadding: \"4px\"\n}), o = ({ onClick: e, doneButtonRef: t }) => /* @__PURE__ */ i(a, {\n\t\"aria-label\": \"Done\",\n\tbuttonRef: t,\n\tonClick: e,\n\tchildren: /* @__PURE__ */ i(r, {})\n});\no.propTypes = {\n\tonClick: t.func,\n\tdoneButtonRef: t.func\n};\nvar s = o;\n//#endregion\nexport { s as DoneButton, o as RawDoneButton };\n","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z\"\n}), 'Delete');","import { PIE_TOOLBAR__CLASS as e } from \"../constants.js\";\nimport { DoneButton as t } from \"../components/common/done-button.js\";\nimport \"react\";\nimport { styled as n } from \"@mui/material/styles\";\nimport r from \"@mui/material/IconButton\";\nimport i from \"@mui/icons-material/Delete\";\nimport { jsx as a, jsxs as o } from \"react/jsx-runtime\";\n//#region src/extensions/custom-toolbar-wrapper.tsx\nvar s = n(\"div\", { shouldForwardProp: (e) => ![\n\t\"showDone\",\n\t\"toolbarAlignment\",\n\t\"isFocused\",\n\t\"autoWidth\",\n\t\"isHidden\"\n].includes(e) })(({ showDone: e, toolbarAlignment: t, isFocused: n, autoWidth: r, isHidden: i }) => ({\n\tposition: \"absolute\",\n\tzIndex: 10,\n\tcursor: \"pointer\",\n\tjustifyContent: \"space-between\",\n\tbackground: \"var(--editable-html-toolbar-bg, #efefef)\",\n\tminWidth: e ? \"280px\" : \"265px\",\n\tmargin: \"5px 0 0 0\",\n\tpadding: \"2px\",\n\tboxShadow: \"0px 1px 5px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 3px 1px -2px rgba(0, 0, 0, 0.12)\",\n\tboxSizing: \"border-box\",\n\tdisplay: \"flex\",\n\topacity: 1,\n\t...t === \"right\" && { right: 0 },\n\t...r ? { width: \"auto\" } : { width: \"100%\" },\n\t...i && { visibility: \"hidden\" }\n})), c = n(r)({\n\twidth: \"28px\",\n\theight: \"28px\",\n\tpadding: \"4px\",\n\tverticalAlign: \"top\"\n}), l = n(\"div\")({ display: \"flex\" });\nfunction u(n) {\n\tlet { children: r, deletable: u, toolbarOpts: d, autoWidth: f, isFocused: p, doneButtonRef: m, onDelete: h, showDone: g, onDone: _, style: v } = n, y = d.minWidth === void 0 ? {} : { minWidth: d.minWidth };\n\treturn /* @__PURE__ */ o(s, {\n\t\tclassName: e,\n\t\tshowDone: g,\n\t\ttoolbarAlignment: d.alignment,\n\t\tisFocused: d.alwaysVisible || p,\n\t\tautoWidth: f,\n\t\tisHidden: d.isHidden === !0,\n\t\tstyle: {\n\t\t\t...y,\n\t\t\t...v\n\t\t},\n\t\tchildren: [r, /* @__PURE__ */ o(l, { children: [u && /* @__PURE__ */ a(c, {\n\t\t\t\"aria-label\": \"Delete\",\n\t\t\tonMouseDown: (e) => h?.(e),\n\t\t\tchildren: /* @__PURE__ */ a(i, {})\n\t\t}), g && /* @__PURE__ */ a(t, {\n\t\t\tdoneButtonRef: m,\n\t\t\tonClick: _\n\t\t})] })]\n\t});\n}\n//#endregion\nexport { u as default };\n","//#region src/utils/toolbar.ts\nvar e = \"toolbarOpenedChanged\", t = (t, n) => {\n\tlet r = !!n;\n\tt._toolbarOpened !== r && (t._toolbarOpened = r, t?.view && t?.state?.tr && t.view.dispatch(t.state.tr.setMeta(e, !0)));\n};\n//#endregion\nexport { e as TOOLBAR_OPENED_META_KEY, t as setToolbarOpened };\n","/**\n * @license React\n * use-sync-external-store-shim.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nfunction useSyncExternalStore$2(subscribe, getSnapshot) {\n var value = getSnapshot(),\n _useState = useState({ inst: { value: value, getSnapshot: getSnapshot } }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n}\nvar shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\nexports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","const { getOwnPropertyNames, getOwnPropertySymbols } = Object;\n// eslint-disable-next-line @typescript-eslint/unbound-method\nconst { hasOwnProperty } = Object.prototype;\n/**\n * Combine two comparators into a single comparators.\n */\nfunction combineComparators(comparatorA, comparatorB) {\n return function isEqual(a, b, state) {\n return comparatorA(a, b, state) && comparatorB(a, b, state);\n };\n}\n/**\n * Wrap the provided `areItemsEqual` method to manage the circular state, allowing\n * for circular references to be safely included in the comparison without creating\n * stack overflows.\n */\nfunction createIsCircular(areItemsEqual) {\n return function isCircular(a, b, state) {\n if (!a || !b || typeof a !== 'object' || typeof b !== 'object') {\n return areItemsEqual(a, b, state);\n }\n const { cache } = state;\n const cachedA = cache.get(a);\n const cachedB = cache.get(b);\n if (cachedA && cachedB) {\n return cachedA === b && cachedB === a;\n }\n cache.set(a, b);\n cache.set(b, a);\n const result = areItemsEqual(a, b, state);\n cache.delete(a);\n cache.delete(b);\n return result;\n };\n}\n/**\n * Get the `@@toStringTag` of the value, if it exists.\n */\nfunction getShortTag(value) {\n return value != null ? value[Symbol.toStringTag] : undefined;\n}\n/**\n * Get the properties to strictly examine, which include both own properties that are\n * not enumerable and symbol properties.\n */\nfunction getStrictProperties(object) {\n return getOwnPropertyNames(object).concat(getOwnPropertySymbols(object));\n}\n/**\n * Whether the object contains the property passed as an own property.\n */\nconst hasOwn = \n// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\nObject.hasOwn || ((object, property) => hasOwnProperty.call(object, property));\n/**\n * Whether the values passed are strictly equal or both NaN.\n */\nfunction sameValueZeroEqual(a, b) {\n return a === b || (!a && !b && a !== a && b !== b);\n}\n\nconst PREACT_VNODE = '__v';\nconst PREACT_OWNER = '__o';\nconst REACT_OWNER = '_owner';\nconst { getOwnPropertyDescriptor, keys } = Object;\n/**\n * Whether the array buffers are equal in value.\n */\nfunction areArrayBuffersEqual(a, b) {\n return a.byteLength === b.byteLength && areTypedArraysEqual(new Uint8Array(a), new Uint8Array(b));\n}\n/**\n * Whether the arrays are equal in value.\n */\nfunction areArraysEqual(a, b, state) {\n let index = a.length;\n if (b.length !== index) {\n return false;\n }\n while (index-- > 0) {\n if (!state.equals(a[index], b[index], index, index, a, b, state)) {\n return false;\n }\n }\n return true;\n}\n/**\n * Whether the dataviews are equal in value.\n */\nfunction areDataViewsEqual(a, b) {\n return (a.byteLength === b.byteLength\n && areTypedArraysEqual(new Uint8Array(a.buffer, a.byteOffset, a.byteLength), new Uint8Array(b.buffer, b.byteOffset, b.byteLength)));\n}\n/**\n * Whether the dates passed are equal in value.\n */\nfunction areDatesEqual(a, b) {\n return sameValueZeroEqual(a.getTime(), b.getTime());\n}\n/**\n * Whether the errors passed are equal in value.\n */\nfunction areErrorsEqual(a, b) {\n return a.name === b.name && a.message === b.message && a.cause === b.cause && a.stack === b.stack;\n}\n/**\n * Whether the functions passed are equal in value.\n */\nfunction areFunctionsEqual(a, b) {\n return a === b;\n}\n/**\n * Whether the `Map`s are equal in value.\n */\nfunction areMapsEqual(a, b, state) {\n const size = a.size;\n if (size !== b.size) {\n return false;\n }\n if (!size) {\n return true;\n }\n const matchedIndices = new Array(size);\n const aIterable = a.entries();\n let aResult;\n let bResult;\n let index = 0;\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n while ((aResult = aIterable.next())) {\n if (aResult.done) {\n break;\n }\n const bIterable = b.entries();\n let hasMatch = false;\n let matchIndex = 0;\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n while ((bResult = bIterable.next())) {\n if (bResult.done) {\n break;\n }\n if (matchedIndices[matchIndex]) {\n matchIndex++;\n continue;\n }\n const aEntry = aResult.value;\n const bEntry = bResult.value;\n if (state.equals(aEntry[0], bEntry[0], index, matchIndex, a, b, state)\n && state.equals(aEntry[1], bEntry[1], aEntry[0], bEntry[0], a, b, state)) {\n hasMatch = matchedIndices[matchIndex] = true;\n break;\n }\n matchIndex++;\n }\n if (!hasMatch) {\n return false;\n }\n index++;\n }\n return true;\n}\n/**\n * Whether the numbers are equal in value.\n */\nconst areNumbersEqual = sameValueZeroEqual;\n/**\n * Whether the objects are equal in value.\n */\nfunction areObjectsEqual(a, b, state) {\n const properties = keys(a);\n let index = properties.length;\n if (keys(b).length !== index) {\n return false;\n }\n // Decrementing `while` showed faster results than either incrementing or\n // decrementing `for` loop and than an incrementing `while` loop. Declarative\n // methods like `some` / `every` were not used to avoid incurring the garbage\n // cost of anonymous callbacks.\n while (index-- > 0) {\n if (!isPropertyEqual(a, b, state, properties[index])) {\n return false;\n }\n }\n return true;\n}\n/**\n * Whether the objects are equal in value with strict property checking.\n */\nfunction areObjectsEqualStrict(a, b, state) {\n const properties = getStrictProperties(a);\n let index = properties.length;\n if (getStrictProperties(b).length !== index) {\n return false;\n }\n let property;\n let descriptorA;\n let descriptorB;\n // Decrementing `while` showed faster results than either incrementing or\n // decrementing `for` loop and than an incrementing `while` loop. Declarative\n // methods like `some` / `every` were not used to avoid incurring the garbage\n // cost of anonymous callbacks.\n while (index-- > 0) {\n property = properties[index];\n if (!isPropertyEqual(a, b, state, property)) {\n return false;\n }\n descriptorA = getOwnPropertyDescriptor(a, property);\n descriptorB = getOwnPropertyDescriptor(b, property);\n if ((descriptorA || descriptorB)\n && (!descriptorA\n || !descriptorB\n || descriptorA.configurable !== descriptorB.configurable\n || descriptorA.enumerable !== descriptorB.enumerable\n || descriptorA.writable !== descriptorB.writable)) {\n return false;\n }\n }\n return true;\n}\n/**\n * Whether the primitive wrappers passed are equal in value.\n */\nfunction arePrimitiveWrappersEqual(a, b) {\n return sameValueZeroEqual(a.valueOf(), b.valueOf());\n}\n/**\n * Whether the regexps passed are equal in value.\n */\nfunction areRegExpsEqual(a, b) {\n return a.source === b.source && a.flags === b.flags;\n}\n/**\n * Whether the `Set`s are equal in value.\n */\nfunction areSetsEqual(a, b, state) {\n const size = a.size;\n if (size !== b.size) {\n return false;\n }\n if (!size) {\n return true;\n }\n const matchedIndices = new Array(size);\n const aIterable = a.values();\n let aResult;\n let bResult;\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n while ((aResult = aIterable.next())) {\n if (aResult.done) {\n break;\n }\n const bIterable = b.values();\n let hasMatch = false;\n let matchIndex = 0;\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n while ((bResult = bIterable.next())) {\n if (bResult.done) {\n break;\n }\n if (!matchedIndices[matchIndex]\n && state.equals(aResult.value, bResult.value, aResult.value, bResult.value, a, b, state)) {\n hasMatch = matchedIndices[matchIndex] = true;\n break;\n }\n matchIndex++;\n }\n if (!hasMatch) {\n return false;\n }\n }\n return true;\n}\n/**\n * Whether the TypedArray instances are equal in value.\n */\nfunction areTypedArraysEqual(a, b) {\n let index = a.byteLength;\n if (b.byteLength !== index || a.byteOffset !== b.byteOffset) {\n return false;\n }\n while (index-- > 0) {\n if (a[index] !== b[index]) {\n return false;\n }\n }\n return true;\n}\n/**\n * Whether the URL instances are equal in value.\n */\nfunction areUrlsEqual(a, b) {\n return (a.hostname === b.hostname\n && a.pathname === b.pathname\n && a.protocol === b.protocol\n && a.port === b.port\n && a.hash === b.hash\n && a.username === b.username\n && a.password === b.password);\n}\nfunction isPropertyEqual(a, b, state, property) {\n if ((property === REACT_OWNER || property === PREACT_OWNER || property === PREACT_VNODE)\n && (a.$$typeof || b.$$typeof)) {\n return true;\n }\n return hasOwn(b, property) && state.equals(a[property], b[property], property, property, a, b, state);\n}\n\nconst ARRAY_BUFFER_TAG = '[object ArrayBuffer]';\nconst ARGUMENTS_TAG = '[object Arguments]';\nconst BOOLEAN_TAG = '[object Boolean]';\nconst DATA_VIEW_TAG = '[object DataView]';\nconst DATE_TAG = '[object Date]';\nconst ERROR_TAG = '[object Error]';\nconst MAP_TAG = '[object Map]';\nconst NUMBER_TAG = '[object Number]';\nconst OBJECT_TAG = '[object Object]';\nconst REG_EXP_TAG = '[object RegExp]';\nconst SET_TAG = '[object Set]';\nconst STRING_TAG = '[object String]';\nconst TYPED_ARRAY_TAGS = {\n '[object Int8Array]': true,\n '[object Uint8Array]': true,\n '[object Uint8ClampedArray]': true,\n '[object Int16Array]': true,\n '[object Uint16Array]': true,\n '[object Int32Array]': true,\n '[object Uint32Array]': true,\n '[object Float16Array]': true,\n '[object Float32Array]': true,\n '[object Float64Array]': true,\n '[object BigInt64Array]': true,\n '[object BigUint64Array]': true,\n};\nconst URL_TAG = '[object URL]';\n// eslint-disable-next-line @typescript-eslint/unbound-method\nconst toString = Object.prototype.toString;\n/**\n * Create a comparator method based on the type-specific equality comparators passed.\n */\nfunction createEqualityComparator({ areArrayBuffersEqual, areArraysEqual, areDataViewsEqual, areDatesEqual, areErrorsEqual, areFunctionsEqual, areMapsEqual, areNumbersEqual, areObjectsEqual, arePrimitiveWrappersEqual, areRegExpsEqual, areSetsEqual, areTypedArraysEqual, areUrlsEqual, unknownTagComparators, }) {\n /**\n * compare the value of the two objects and return true if they are equivalent in values\n */\n return function comparator(a, b, state) {\n // If the items are strictly equal, no need to do a value comparison.\n if (a === b) {\n return true;\n }\n // If either of the items are nullish and fail the strictly equal check\n // above, then they must be unequal.\n if (a == null || b == null) {\n return false;\n }\n const type = typeof a;\n if (type !== typeof b) {\n return false;\n }\n if (type !== 'object') {\n if (type === 'number') {\n return areNumbersEqual(a, b, state);\n }\n if (type === 'function') {\n return areFunctionsEqual(a, b, state);\n }\n // If a primitive value that is not strictly equal, it must be unequal.\n return false;\n }\n const constructor = a.constructor;\n // Checks are listed in order of commonality of use-case:\n // 1. Common complex object types (plain object, array)\n // 2. Common data values (date, regexp)\n // 3. Less-common complex object types (map, set)\n // 4. Less-common data values (promise, primitive wrappers)\n // Inherently this is both subjective and assumptive, however\n // when reviewing comparable libraries in the wild this order\n // appears to be generally consistent.\n // Constructors should match, otherwise there is potential for false positives\n // between class and subclass or custom object and POJO.\n if (constructor !== b.constructor) {\n return false;\n }\n // `isPlainObject` only checks against the object's own realm. Cross-realm\n // comparisons are rare, and will be handled in the ultimate fallback, so\n // we can avoid capturing the string tag.\n if (constructor === Object) {\n return areObjectsEqual(a, b, state);\n }\n // `isArray()` works on subclasses and is cross-realm, so we can avoid capturing\n // the string tag or doing an `instanceof` check.\n if (Array.isArray(a)) {\n return areArraysEqual(a, b, state);\n }\n // Try to fast-path equality checks for other complex object types in the\n // same realm to avoid capturing the string tag. Strict equality is used\n // instead of `instanceof` because it is more performant for the common\n // use-case. If someone is subclassing a native class, it will be handled\n // with the string tag comparison.\n if (constructor === Date) {\n return areDatesEqual(a, b, state);\n }\n if (constructor === RegExp) {\n return areRegExpsEqual(a, b, state);\n }\n if (constructor === Map) {\n return areMapsEqual(a, b, state);\n }\n if (constructor === Set) {\n return areSetsEqual(a, b, state);\n }\n // Since this is a custom object, capture the string tag to determing its type.\n // This is reasonably performant in modern environments like v8 and SpiderMonkey.\n const tag = toString.call(a);\n if (tag === DATE_TAG) {\n return areDatesEqual(a, b, state);\n }\n // For RegExp, the properties are not enumerable, and therefore will give false positives if\n // tested like a standard object.\n if (tag === REG_EXP_TAG) {\n return areRegExpsEqual(a, b, state);\n }\n if (tag === MAP_TAG) {\n return areMapsEqual(a, b, state);\n }\n if (tag === SET_TAG) {\n return areSetsEqual(a, b, state);\n }\n if (tag === OBJECT_TAG) {\n // The exception for value comparison is custom `Promise`-like class instances. These should\n // be treated the same as standard `Promise` objects, which means strict equality, and if\n // it reaches this point then that strict equality comparison has already failed.\n return typeof a.then !== 'function' && typeof b.then !== 'function' && areObjectsEqual(a, b, state);\n }\n // If a URL tag, it should be tested explicitly. Like RegExp, the properties are not\n // enumerable, and therefore will give false positives if tested like a standard object.\n if (tag === URL_TAG) {\n return areUrlsEqual(a, b, state);\n }\n // If an error tag, it should be tested explicitly. Like RegExp, the properties are not\n // enumerable, and therefore will give false positives if tested like a standard object.\n if (tag === ERROR_TAG) {\n return areErrorsEqual(a, b, state);\n }\n // If an arguments tag, it should be treated as a standard object.\n if (tag === ARGUMENTS_TAG) {\n return areObjectsEqual(a, b, state);\n }\n if (TYPED_ARRAY_TAGS[tag]) {\n return areTypedArraysEqual(a, b, state);\n }\n if (tag === ARRAY_BUFFER_TAG) {\n return areArrayBuffersEqual(a, b, state);\n }\n if (tag === DATA_VIEW_TAG) {\n return areDataViewsEqual(a, b, state);\n }\n // As the penultimate fallback, check if the values passed are primitive wrappers. This\n // is very rare in modern JS, which is why it is deprioritized compared to all other object\n // types.\n if (tag === BOOLEAN_TAG || tag === NUMBER_TAG || tag === STRING_TAG) {\n return arePrimitiveWrappersEqual(a, b, state);\n }\n if (unknownTagComparators) {\n let unknownTagComparator = unknownTagComparators[tag];\n if (!unknownTagComparator) {\n const shortTag = getShortTag(a);\n if (shortTag) {\n unknownTagComparator = unknownTagComparators[shortTag];\n }\n }\n // If the custom config has an unknown tag comparator that matches the captured tag or the\n // @@toStringTag, it is the source of truth for whether the values are equal.\n if (unknownTagComparator) {\n return unknownTagComparator(a, b, state);\n }\n }\n // If not matching any tags that require a specific type of comparison, then we hard-code false because\n // the only thing remaining is strict equality, which has already been compared. This is for a few reasons:\n // - Certain types that cannot be introspected (e.g., `WeakMap`). For these types, this is the only\n // comparison that can be made.\n // - For types that can be introspected, but rarely have requirements to be compared\n // (`ArrayBuffer`, `DataView`, etc.), the cost is avoided to prioritize the common\n // use-cases (may be included in a future release, if requested enough).\n // - For types that can be introspected but do not have an objective definition of what\n // equality is (`Error`, etc.), the subjective decision is to be conservative and strictly compare.\n // In all cases, these decisions should be reevaluated based on changes to the language and\n // common development practices.\n return false;\n };\n}\n/**\n * Create the configuration object used for building comparators.\n */\nfunction createEqualityComparatorConfig({ circular, createCustomConfig, strict, }) {\n let config = {\n areArrayBuffersEqual,\n areArraysEqual: strict ? areObjectsEqualStrict : areArraysEqual,\n areDataViewsEqual,\n areDatesEqual: areDatesEqual,\n areErrorsEqual: areErrorsEqual,\n areFunctionsEqual: areFunctionsEqual,\n areMapsEqual: strict ? combineComparators(areMapsEqual, areObjectsEqualStrict) : areMapsEqual,\n areNumbersEqual: areNumbersEqual,\n areObjectsEqual: strict ? areObjectsEqualStrict : areObjectsEqual,\n arePrimitiveWrappersEqual: arePrimitiveWrappersEqual,\n areRegExpsEqual: areRegExpsEqual,\n areSetsEqual: strict ? combineComparators(areSetsEqual, areObjectsEqualStrict) : areSetsEqual,\n areTypedArraysEqual: strict\n ? combineComparators(areTypedArraysEqual, areObjectsEqualStrict)\n : areTypedArraysEqual,\n areUrlsEqual: areUrlsEqual,\n unknownTagComparators: undefined,\n };\n if (createCustomConfig) {\n config = Object.assign({}, config, createCustomConfig(config));\n }\n if (circular) {\n const areArraysEqual = createIsCircular(config.areArraysEqual);\n const areMapsEqual = createIsCircular(config.areMapsEqual);\n const areObjectsEqual = createIsCircular(config.areObjectsEqual);\n const areSetsEqual = createIsCircular(config.areSetsEqual);\n config = Object.assign({}, config, {\n areArraysEqual,\n areMapsEqual,\n areObjectsEqual,\n areSetsEqual,\n });\n }\n return config;\n}\n/**\n * Default equality comparator pass-through, used as the standard `isEqual` creator for\n * use inside the built comparator.\n */\nfunction createInternalEqualityComparator(compare) {\n return function (a, b, _indexOrKeyA, _indexOrKeyB, _parentA, _parentB, state) {\n return compare(a, b, state);\n };\n}\n/**\n * Create the `isEqual` function used by the consuming application.\n */\nfunction createIsEqual({ circular, comparator, createState, equals, strict }) {\n if (createState) {\n return function isEqual(a, b) {\n const { cache = circular ? new WeakMap() : undefined, meta } = createState();\n return comparator(a, b, {\n cache,\n equals,\n meta,\n strict,\n });\n };\n }\n if (circular) {\n return function isEqual(a, b) {\n return comparator(a, b, {\n cache: new WeakMap(),\n equals,\n meta: undefined,\n strict,\n });\n };\n }\n const state = {\n cache: undefined,\n equals,\n meta: undefined,\n strict,\n };\n return function isEqual(a, b) {\n return comparator(a, b, state);\n };\n}\n\n/**\n * Whether the items passed are deeply-equal in value.\n */\nconst deepEqual = createCustomEqual();\n/**\n * Whether the items passed are deeply-equal in value based on strict comparison.\n */\nconst strictDeepEqual = createCustomEqual({ strict: true });\n/**\n * Whether the items passed are deeply-equal in value, including circular references.\n */\nconst circularDeepEqual = createCustomEqual({ circular: true });\n/**\n * Whether the items passed are deeply-equal in value, including circular references,\n * based on strict comparison.\n */\nconst strictCircularDeepEqual = createCustomEqual({\n circular: true,\n strict: true,\n});\n/**\n * Whether the items passed are shallowly-equal in value.\n */\nconst shallowEqual = createCustomEqual({\n createInternalComparator: () => sameValueZeroEqual,\n});\n/**\n * Whether the items passed are shallowly-equal in value based on strict comparison\n */\nconst strictShallowEqual = createCustomEqual({\n strict: true,\n createInternalComparator: () => sameValueZeroEqual,\n});\n/**\n * Whether the items passed are shallowly-equal in value, including circular references.\n */\nconst circularShallowEqual = createCustomEqual({\n circular: true,\n createInternalComparator: () => sameValueZeroEqual,\n});\n/**\n * Whether the items passed are shallowly-equal in value, including circular references,\n * based on strict comparison.\n */\nconst strictCircularShallowEqual = createCustomEqual({\n circular: true,\n createInternalComparator: () => sameValueZeroEqual,\n strict: true,\n});\n/**\n * Create a custom equality comparison method.\n *\n * This can be done to create very targeted comparisons in extreme hot-path scenarios\n * where the standard methods are not performant enough, but can also be used to provide\n * support for legacy environments that do not support expected features like\n * `RegExp.prototype.flags` out of the box.\n */\nfunction createCustomEqual(options = {}) {\n const { circular = false, createInternalComparator: createCustomInternalComparator, createState, strict = false, } = options;\n const config = createEqualityComparatorConfig(options);\n const comparator = createEqualityComparator(config);\n const equals = createCustomInternalComparator\n ? createCustomInternalComparator(comparator)\n : createInternalEqualityComparator(comparator);\n return createIsEqual({ circular, comparator, createState, equals, strict });\n}\n\nexport { circularDeepEqual, circularShallowEqual, createCustomEqual, deepEqual, sameValueZeroEqual, shallowEqual, strictCircularDeepEqual, strictCircularShallowEqual, strictDeepEqual, strictShallowEqual };\n//# sourceMappingURL=index.mjs.map\n","/**\n * @license React\n * use-sync-external-store-shim/with-selector.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\"),\n shim = require(\"use-sync-external-store/shim\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useSyncExternalStore = shim.useSyncExternalStore,\n useRef = React.useRef,\n useEffect = React.useEffect,\n useMemo = React.useMemo,\n useDebugValue = React.useDebugValue;\nexports.useSyncExternalStoreWithSelector = function (\n subscribe,\n getSnapshot,\n getServerSnapshot,\n selector,\n isEqual\n) {\n var instRef = useRef(null);\n if (null === instRef.current) {\n var inst = { hasValue: !1, value: null };\n instRef.current = inst;\n } else inst = instRef.current;\n instRef = useMemo(\n function () {\n function memoizedSelector(nextSnapshot) {\n if (!hasMemo) {\n hasMemo = !0;\n memoizedSnapshot = nextSnapshot;\n nextSnapshot = selector(nextSnapshot);\n if (void 0 !== isEqual && inst.hasValue) {\n var currentSelection = inst.value;\n if (isEqual(currentSelection, nextSnapshot))\n return (memoizedSelection = currentSelection);\n }\n return (memoizedSelection = nextSnapshot);\n }\n currentSelection = memoizedSelection;\n if (objectIs(memoizedSnapshot, nextSnapshot)) return currentSelection;\n var nextSelection = selector(nextSnapshot);\n if (void 0 !== isEqual && isEqual(currentSelection, nextSelection))\n return (memoizedSnapshot = nextSnapshot), currentSelection;\n memoizedSnapshot = nextSnapshot;\n return (memoizedSelection = nextSelection);\n }\n var hasMemo = !1,\n memoizedSnapshot,\n memoizedSelection,\n maybeGetServerSnapshot =\n void 0 === getServerSnapshot ? null : getServerSnapshot;\n return [\n function () {\n return memoizedSelector(getSnapshot());\n },\n null === maybeGetServerSnapshot\n ? void 0\n : function () {\n return memoizedSelector(maybeGetServerSnapshot());\n }\n ];\n },\n [getSnapshot, getServerSnapshot, selector, isEqual]\n );\n var value = useSyncExternalStore(subscribe, instRef[0], instRef[1]);\n useEffect(\n function () {\n inst.hasValue = !0;\n inst.value = value;\n },\n [value]\n );\n useDebugValue(value);\n return value;\n};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.development.js');\n}\n","\"use client\";\nimport React, { createContext, createElement, createRef, forwardRef, memo, useContext, useDebugValue, useEffect, useLayoutEffect, useMemo, useRef, useState, version } from \"react\";\nimport ReactDOM, { flushSync } from \"react-dom\";\nimport { useSyncExternalStore } from \"use-sync-external-store/shim/index.js\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nimport { Editor, MarkView, NodeView, createWidgetDecoration, getRenderedAttributes, isTextSelection } from \"@tiptap/core\";\nimport { deepEqual } from \"fast-equals\";\nimport { useSyncExternalStoreWithSelector } from \"use-sync-external-store/shim/with-selector.js\";\nexport * from \"@tiptap/core\";\n//#region src/EditorContent.tsx\nconst mergeRefs = (...refs) => {\n\treturn (node) => {\n\t\trefs.forEach((ref) => {\n\t\t\tif (typeof ref === \"function\") ref(node);\n\t\t\telse if (ref) ref.current = node;\n\t\t});\n\t};\n};\n/**\n* This component renders all of the editor's node views.\n*/\nconst Portals = ({ contentComponent }) => {\n\tconst renderers = useSyncExternalStore(contentComponent.subscribe, contentComponent.getSnapshot, contentComponent.getServerSnapshot);\n\treturn /* @__PURE__ */ jsx(Fragment, { children: Object.values(renderers) });\n};\nfunction createContentComponent() {\n\tconst subscribers = /* @__PURE__ */ new Set();\n\tlet renderers = {};\n\tlet isNotificationQueued = false;\n\tconst notifySubscribers = () => {\n\t\tif (isNotificationQueued || !subscribers.size) return;\n\t\tisNotificationQueued = true;\n\t\tqueueMicrotask(() => {\n\t\t\tisNotificationQueued = false;\n\t\t\tsubscribers.forEach((subscriber) => subscriber());\n\t\t});\n\t};\n\treturn {\n\t\t/**\n\t\t* Subscribe to the editor instance's changes.\n\t\t*/\n\t\tsubscribe(callback) {\n\t\t\tsubscribers.add(callback);\n\t\t\treturn () => {\n\t\t\t\tsubscribers.delete(callback);\n\t\t\t};\n\t\t},\n\t\tgetSnapshot() {\n\t\t\treturn renderers;\n\t\t},\n\t\tgetServerSnapshot() {\n\t\t\treturn renderers;\n\t\t},\n\t\t/**\n\t\t* Adds a new NodeView Renderer to the editor.\n\t\t*/\n\t\tsetRenderer(id, renderer) {\n\t\t\trenderers = {\n\t\t\t\t...renderers,\n\t\t\t\t[id]: ReactDOM.createPortal(renderer.reactElement, renderer.element, id)\n\t\t\t};\n\t\t\tnotifySubscribers();\n\t\t},\n\t\t/**\n\t\t* Removes a NodeView Renderer from the editor.\n\t\t*/\n\t\tremoveRenderer(id) {\n\t\t\tconst nextRenderers = { ...renderers };\n\t\t\tdelete nextRenderers[id];\n\t\t\trenderers = nextRenderers;\n\t\t\tnotifySubscribers();\n\t\t}\n\t};\n}\nvar PureEditorContent = class extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.editorContentRef = React.createRef();\n\t}\n\tcomponentDidMount() {\n\t\tthis.init();\n\t}\n\tcomponentDidUpdate() {\n\t\tthis.init();\n\t}\n\tinit() {\n\t\tvar _editor$view$dom;\n\t\tconst editor = this.props.editor;\n\t\tif (editor && !editor.isDestroyed && ((_editor$view$dom = editor.view.dom) === null || _editor$view$dom === void 0 ? void 0 : _editor$view$dom.parentNode)) {\n\t\t\tif (editor.contentComponent) return;\n\t\t\tconst element = this.editorContentRef.current;\n\t\t\telement.append(...editor.view.dom.parentNode.childNodes);\n\t\t\teditor.setOptions({ element });\n\t\t\teditor.contentComponent = createContentComponent();\n\t\t\teditor.createNodeViews();\n\t\t\teditor.isEditorContentInitialized = true;\n\t\t\tthis.forceUpdate();\n\t\t}\n\t}\n\tcomponentWillUnmount() {\n\t\tconst editor = this.props.editor;\n\t\tif (!editor) return;\n\t\teditor.isEditorContentInitialized = false;\n\t\tif (!editor.isDestroyed) editor.view.setProps({ nodeViews: {} });\n\t\teditor.contentComponent = null;\n\t\ttry {\n\t\t\tvar _editor$view$dom2;\n\t\t\tif (!((_editor$view$dom2 = editor.view.dom) === null || _editor$view$dom2 === void 0 ? void 0 : _editor$view$dom2.parentNode)) return;\n\t\t\tconst newElement = document.createElement(\"div\");\n\t\t\tnewElement.append(...editor.view.dom.parentNode.childNodes);\n\t\t\teditor.setOptions({ element: newElement });\n\t\t} catch {}\n\t}\n\trender() {\n\t\tconst { editor, innerRef, ...rest } = this.props;\n\t\treturn /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(\"div\", {\n\t\t\tref: mergeRefs(innerRef, this.editorContentRef),\n\t\t\t...rest\n\t\t}), (editor === null || editor === void 0 ? void 0 : editor.contentComponent) && /* @__PURE__ */ jsx(Portals, { contentComponent: editor.contentComponent })] });\n\t}\n};\nconst EditorContentWithKey = forwardRef((props, ref) => {\n\tconst key = React.useMemo(() => {\n\t\treturn Math.floor(Math.random() * 4294967295).toString();\n\t}, [props.editor]);\n\treturn React.createElement(PureEditorContent, {\n\t\tkey,\n\t\tinnerRef: ref,\n\t\t...props\n\t});\n});\nconst EditorContent = React.memo(EditorContentWithKey);\n//#endregion\n//#region src/useEditorState.ts\nconst useIsomorphicLayoutEffect = typeof window !== \"undefined\" ? useLayoutEffect : useEffect;\n/**\n* To synchronize the editor instance with the component state,\n* we need to create a separate instance that is not affected by the component re-renders.\n*/\nvar EditorStateManager = class {\n\tconstructor(initialEditor) {\n\t\tthis.transactionNumber = 0;\n\t\tthis.lastTransactionNumber = 0;\n\t\tthis.subscribers = /* @__PURE__ */ new Set();\n\t\tthis.editor = initialEditor;\n\t\tthis.lastSnapshot = {\n\t\t\teditor: initialEditor,\n\t\t\ttransactionNumber: 0\n\t\t};\n\t\tthis.getSnapshot = this.getSnapshot.bind(this);\n\t\tthis.getServerSnapshot = this.getServerSnapshot.bind(this);\n\t\tthis.watch = this.watch.bind(this);\n\t\tthis.subscribe = this.subscribe.bind(this);\n\t}\n\t/**\n\t* Get the current editor instance.\n\t*/\n\tgetSnapshot() {\n\t\tif (this.transactionNumber === this.lastTransactionNumber) return this.lastSnapshot;\n\t\tthis.lastTransactionNumber = this.transactionNumber;\n\t\tthis.lastSnapshot = {\n\t\t\teditor: this.editor,\n\t\t\ttransactionNumber: this.transactionNumber\n\t\t};\n\t\treturn this.lastSnapshot;\n\t}\n\t/**\n\t* Always disable the editor on the server-side.\n\t*/\n\tgetServerSnapshot() {\n\t\treturn {\n\t\t\teditor: null,\n\t\t\ttransactionNumber: 0\n\t\t};\n\t}\n\t/**\n\t* Subscribe to the editor instance's changes.\n\t*/\n\tsubscribe(callback) {\n\t\tthis.subscribers.add(callback);\n\t\treturn () => {\n\t\t\tthis.subscribers.delete(callback);\n\t\t};\n\t}\n\t/**\n\t* Watch the editor instance for changes.\n\t*/\n\twatch(nextEditor) {\n\t\tthis.editor = nextEditor;\n\t\tif (this.editor) {\n\t\t\t/**\n\t\t\t* This will force a re-render when the editor state changes.\n\t\t\t* This is to support things like `editor.can().toggleBold()` in components that `useEditor`.\n\t\t\t* This could be more efficient, but it's a good trade-off for now.\n\t\t\t*/\n\t\t\tlet lastTransaction;\n\t\t\tconst fn = (props) => {\n\t\t\t\tif ((props === null || props === void 0 ? void 0 : props.transaction) !== void 0 && props.transaction === lastTransaction) return;\n\t\t\t\tlastTransaction = props === null || props === void 0 ? void 0 : props.transaction;\n\t\t\t\tthis.transactionNumber += 1;\n\t\t\t\tthis.subscribers.forEach((callback) => callback());\n\t\t\t};\n\t\t\tconst currentEditor = this.editor;\n\t\t\tcurrentEditor.on(\"transaction\", fn);\n\t\t\tcurrentEditor.on(\"update\", fn);\n\t\t\treturn () => {\n\t\t\t\tcurrentEditor.off(\"transaction\", fn);\n\t\t\t\tcurrentEditor.off(\"update\", fn);\n\t\t\t};\n\t\t}\n\t}\n};\n/**\n* This hook allows you to watch for changes on the editor instance.\n* It will allow you to select a part of the editor state and re-render the component when it changes.\n* @example\n* ```tsx\n* const editor = useEditor({...options})\n* const { currentSelection } = useEditorState({\n* editor,\n* selector: snapshot => ({ currentSelection: snapshot.editor.state.selection }),\n* })\n*/\nfunction useEditorState(options) {\n\tvar _options$equalityFn;\n\tconst [editorStateManager] = useState(() => new EditorStateManager(options.editor));\n\tconst selectedState = useSyncExternalStoreWithSelector(editorStateManager.subscribe, editorStateManager.getSnapshot, editorStateManager.getServerSnapshot, options.selector, (_options$equalityFn = options.equalityFn) !== null && _options$equalityFn !== void 0 ? _options$equalityFn : deepEqual);\n\tuseIsomorphicLayoutEffect(() => {\n\t\treturn editorStateManager.watch(options.editor);\n\t}, [options.editor, editorStateManager]);\n\tuseDebugValue(selectedState);\n\treturn selectedState;\n}\n//#endregion\n//#region src/useEditor.ts\nconst isDev = process.env.NODE_ENV !== \"production\";\nconst isSSR = typeof window === \"undefined\";\nconst isNext = isSSR || Boolean(typeof window !== \"undefined\" && window.next);\n/**\n* This class handles the creation, destruction, and re-creation of the editor instance.\n*/\nvar EditorInstanceManager = class EditorInstanceManager {\n\tconstructor(options) {\n\t\tthis.editor = null;\n\t\tthis.subscriptions = /* @__PURE__ */ new Set();\n\t\tthis.isComponentMounted = false;\n\t\tthis.previousDeps = null;\n\t\tthis.instanceId = \"\";\n\t\tthis.options = options;\n\t\tthis.subscriptions = /* @__PURE__ */ new Set();\n\t\tthis.setEditor(this.getInitialEditor());\n\t\tthis.scheduleDestroy();\n\t\tthis.getEditor = this.getEditor.bind(this);\n\t\tthis.getServerSnapshot = this.getServerSnapshot.bind(this);\n\t\tthis.subscribe = this.subscribe.bind(this);\n\t\tthis.refreshEditorInstance = this.refreshEditorInstance.bind(this);\n\t\tthis.scheduleDestroy = this.scheduleDestroy.bind(this);\n\t\tthis.onRender = this.onRender.bind(this);\n\t\tthis.createEditor = this.createEditor.bind(this);\n\t}\n\tsetEditor(editor) {\n\t\tthis.editor = editor;\n\t\tthis.instanceId = Math.random().toString(36).slice(2, 9);\n\t\tthis.subscriptions.forEach((cb) => cb());\n\t}\n\tgetInitialEditor() {\n\t\tconst explicit = this.options.current.immediatelyRender;\n\t\tlet immediatelyRender = explicit !== null && explicit !== void 0 ? explicit : true;\n\t\tif (isSSR) {\n\t\t\tif (immediatelyRender && isDev) console.warn(\"SSR detected. `immediatelyRender` has been set to false to avoid hydration mismatches\");\n\t\t\timmediatelyRender = false;\n\t\t} else if (isNext && explicit === void 0) {\n\t\t\timmediatelyRender = false;\n\t\t\tif (isDev) console.warn(\"Next.js detected. `immediatelyRender` defaults to false to avoid hydration mismatches. Pass `immediatelyRender: true` explicitly if you are rendering the editor only on the client.\");\n\t\t}\n\t\treturn immediatelyRender ? this.createEditor() : null;\n\t}\n\t/**\n\t* Create a new editor instance. And attach event listeners.\n\t*/\n\tcreateEditor() {\n\t\tconst optionsToApply = {\n\t\t\t...this.options.current,\n\t\t\tonBeforeCreate: (...args) => {\n\t\t\t\tvar _this$options$current, _this$options$current2;\n\t\t\t\treturn (_this$options$current = (_this$options$current2 = this.options.current).onBeforeCreate) === null || _this$options$current === void 0 ? void 0 : _this$options$current.call(_this$options$current2, ...args);\n\t\t\t},\n\t\t\tonBlur: (...args) => {\n\t\t\t\tvar _this$options$current3, _this$options$current4;\n\t\t\t\treturn (_this$options$current3 = (_this$options$current4 = this.options.current).onBlur) === null || _this$options$current3 === void 0 ? void 0 : _this$options$current3.call(_this$options$current4, ...args);\n\t\t\t},\n\t\t\tonCreate: (...args) => {\n\t\t\t\tvar _this$options$current5, _this$options$current6;\n\t\t\t\treturn (_this$options$current5 = (_this$options$current6 = this.options.current).onCreate) === null || _this$options$current5 === void 0 ? void 0 : _this$options$current5.call(_this$options$current6, ...args);\n\t\t\t},\n\t\t\tonDestroy: (...args) => {\n\t\t\t\tvar _this$options$current7, _this$options$current8;\n\t\t\t\treturn (_this$options$current7 = (_this$options$current8 = this.options.current).onDestroy) === null || _this$options$current7 === void 0 ? void 0 : _this$options$current7.call(_this$options$current8, ...args);\n\t\t\t},\n\t\t\tonFocus: (...args) => {\n\t\t\t\tvar _this$options$current9, _this$options$current10;\n\t\t\t\treturn (_this$options$current9 = (_this$options$current10 = this.options.current).onFocus) === null || _this$options$current9 === void 0 ? void 0 : _this$options$current9.call(_this$options$current10, ...args);\n\t\t\t},\n\t\t\tonSelectionUpdate: (...args) => {\n\t\t\t\tvar _this$options$current11, _this$options$current12;\n\t\t\t\treturn (_this$options$current11 = (_this$options$current12 = this.options.current).onSelectionUpdate) === null || _this$options$current11 === void 0 ? void 0 : _this$options$current11.call(_this$options$current12, ...args);\n\t\t\t},\n\t\t\tonTransaction: (...args) => {\n\t\t\t\tvar _this$options$current13, _this$options$current14;\n\t\t\t\treturn (_this$options$current13 = (_this$options$current14 = this.options.current).onTransaction) === null || _this$options$current13 === void 0 ? void 0 : _this$options$current13.call(_this$options$current14, ...args);\n\t\t\t},\n\t\t\tonUpdate: (...args) => {\n\t\t\t\tvar _this$options$current15, _this$options$current16;\n\t\t\t\treturn (_this$options$current15 = (_this$options$current16 = this.options.current).onUpdate) === null || _this$options$current15 === void 0 ? void 0 : _this$options$current15.call(_this$options$current16, ...args);\n\t\t\t},\n\t\t\tonContentError: (...args) => {\n\t\t\t\tvar _this$options$current17, _this$options$current18;\n\t\t\t\treturn (_this$options$current17 = (_this$options$current18 = this.options.current).onContentError) === null || _this$options$current17 === void 0 ? void 0 : _this$options$current17.call(_this$options$current18, ...args);\n\t\t\t},\n\t\t\tonDrop: (...args) => {\n\t\t\t\tvar _this$options$current19, _this$options$current20;\n\t\t\t\treturn (_this$options$current19 = (_this$options$current20 = this.options.current).onDrop) === null || _this$options$current19 === void 0 ? void 0 : _this$options$current19.call(_this$options$current20, ...args);\n\t\t\t},\n\t\t\tonPaste: (...args) => {\n\t\t\t\tvar _this$options$current21, _this$options$current22;\n\t\t\t\treturn (_this$options$current21 = (_this$options$current22 = this.options.current).onPaste) === null || _this$options$current21 === void 0 ? void 0 : _this$options$current21.call(_this$options$current22, ...args);\n\t\t\t},\n\t\t\tonDelete: (...args) => {\n\t\t\t\tvar _this$options$current23, _this$options$current24;\n\t\t\t\treturn (_this$options$current23 = (_this$options$current24 = this.options.current).onDelete) === null || _this$options$current23 === void 0 ? void 0 : _this$options$current23.call(_this$options$current24, ...args);\n\t\t\t},\n\t\t\tonMount: (...args) => {\n\t\t\t\tvar _this$options$current25, _this$options$current26;\n\t\t\t\treturn (_this$options$current25 = (_this$options$current26 = this.options.current).onMount) === null || _this$options$current25 === void 0 ? void 0 : _this$options$current25.call(_this$options$current26, ...args);\n\t\t\t},\n\t\t\tonUnmount: (...args) => {\n\t\t\t\tvar _this$options$current27, _this$options$current28;\n\t\t\t\treturn (_this$options$current27 = (_this$options$current28 = this.options.current).onUnmount) === null || _this$options$current27 === void 0 ? void 0 : _this$options$current27.call(_this$options$current28, ...args);\n\t\t\t}\n\t\t};\n\t\treturn new Editor(optionsToApply);\n\t}\n\t/**\n\t* Get the current editor instance.\n\t*/\n\tgetEditor() {\n\t\treturn this.editor;\n\t}\n\t/**\n\t* Always disable the editor on the server-side.\n\t*/\n\tgetServerSnapshot() {\n\t\treturn null;\n\t}\n\t/**\n\t* Subscribe to the editor instance's changes.\n\t*/\n\tsubscribe(onStoreChange) {\n\t\tthis.subscriptions.add(onStoreChange);\n\t\treturn () => {\n\t\t\tthis.subscriptions.delete(onStoreChange);\n\t\t};\n\t}\n\tstatic compareOptions(a, b) {\n\t\treturn Object.keys(a).every((key) => {\n\t\t\tif ([\n\t\t\t\t\"onCreate\",\n\t\t\t\t\"onBeforeCreate\",\n\t\t\t\t\"onDestroy\",\n\t\t\t\t\"onUpdate\",\n\t\t\t\t\"onTransaction\",\n\t\t\t\t\"onFocus\",\n\t\t\t\t\"onBlur\",\n\t\t\t\t\"onSelectionUpdate\",\n\t\t\t\t\"onContentError\",\n\t\t\t\t\"onDrop\",\n\t\t\t\t\"onPaste\"\n\t\t\t].includes(key)) return true;\n\t\t\tif (key === \"extensions\" && a.extensions && b.extensions) {\n\t\t\t\tif (a.extensions.length !== b.extensions.length) return false;\n\t\t\t\treturn a.extensions.every((extension, index) => {\n\t\t\t\t\tvar _b$extensions;\n\t\t\t\t\tif (extension !== ((_b$extensions = b.extensions) === null || _b$extensions === void 0 ? void 0 : _b$extensions[index])) return false;\n\t\t\t\t\treturn true;\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (a[key] !== b[key]) return false;\n\t\t\treturn true;\n\t\t});\n\t}\n\t/**\n\t* On each render, we will create, update, or destroy the editor instance.\n\t* @param deps The dependencies to watch for changes\n\t* @returns A cleanup function\n\t*/\n\tonRender(deps) {\n\t\treturn () => {\n\t\t\tthis.isComponentMounted = true;\n\t\t\tclearTimeout(this.scheduledDestructionTimeout);\n\t\t\tif (this.editor && !this.editor.isDestroyed && deps.length === 0) {\n\t\t\t\tif (!EditorInstanceManager.compareOptions(this.options.current, this.editor.options)) this.editor.setOptions({\n\t\t\t\t\t...this.options.current,\n\t\t\t\t\teditable: this.editor.isEditable\n\t\t\t\t});\n\t\t\t} else this.refreshEditorInstance(deps);\n\t\t\treturn () => {\n\t\t\t\tthis.isComponentMounted = false;\n\t\t\t\tthis.scheduleDestroy();\n\t\t\t};\n\t\t};\n\t}\n\t/**\n\t* Recreate the editor instance if the dependencies have changed.\n\t*/\n\trefreshEditorInstance(deps) {\n\t\tif (this.editor && !this.editor.isDestroyed) {\n\t\t\tif (this.previousDeps === null) {\n\t\t\t\tthis.previousDeps = deps;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (this.previousDeps.length === deps.length && this.previousDeps.every((dep, index) => dep === deps[index])) return;\n\t\t}\n\t\tif (this.editor && !this.editor.isDestroyed) this.editor.destroy();\n\t\tthis.setEditor(this.createEditor());\n\t\tthis.previousDeps = deps;\n\t}\n\t/**\n\t* Schedule the destruction of the editor instance.\n\t* This will only destroy the editor if it was not mounted on the next tick.\n\t* This is to avoid destroying the editor instance when it's actually still mounted.\n\t*/\n\tscheduleDestroy() {\n\t\tconst currentInstanceId = this.instanceId;\n\t\tconst currentEditor = this.editor;\n\t\tthis.scheduledDestructionTimeout = setTimeout(() => {\n\t\t\tif (this.isComponentMounted && this.instanceId === currentInstanceId) {\n\t\t\t\tif (currentEditor) currentEditor.setOptions(this.options.current);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (currentEditor && !currentEditor.isDestroyed) {\n\t\t\t\tcurrentEditor.destroy();\n\t\t\t\tif (this.instanceId === currentInstanceId) this.setEditor(null);\n\t\t\t}\n\t\t}, 1);\n\t}\n};\nfunction useEditor(options = {}, deps = []) {\n\tconst mostRecentOptions = useRef(options);\n\tmostRecentOptions.current = options;\n\tconst [instanceManager] = useState(() => new EditorInstanceManager(mostRecentOptions));\n\tconst editor = useSyncExternalStore(instanceManager.subscribe, instanceManager.getEditor, instanceManager.getServerSnapshot);\n\tuseDebugValue(editor);\n\tuseEffect(instanceManager.onRender(deps));\n\tuseEditorState({\n\t\teditor,\n\t\tselector: ({ transactionNumber }) => {\n\t\t\tif (options.shouldRerenderOnTransaction === false || options.shouldRerenderOnTransaction === void 0) return null;\n\t\t\tif (options.immediatelyRender && transactionNumber === 0) return 0;\n\t\t\treturn transactionNumber + 1;\n\t\t}\n\t});\n\treturn editor;\n}\n//#endregion\n//#region src/Context.tsx\nconst EditorContext = createContext({ editor: null });\nconst EditorConsumer = EditorContext.Consumer;\n/**\n* A hook to get the current editor instance.\n*/\nconst useCurrentEditor = () => useContext(EditorContext);\n/**\n* This is the provider component for the editor.\n* It allows the editor to be accessible across the entire component tree\n* with `useCurrentEditor`.\n*/\nfunction EditorProvider({ children, slotAfter, slotBefore, editorContainerProps = {}, ...editorOptions }) {\n\tconst editor = useEditor(editorOptions);\n\tconst contextValue = useMemo(() => ({ editor }), [editor]);\n\tif (!editor) return null;\n\treturn /* @__PURE__ */ jsxs(EditorContext.Provider, {\n\t\tvalue: contextValue,\n\t\tchildren: [\n\t\t\tslotBefore,\n\t\t\t/* @__PURE__ */ jsx(EditorConsumer, { children: ({ editor: currentEditor }) => /* @__PURE__ */ jsx(EditorContent, {\n\t\t\t\teditor: currentEditor,\n\t\t\t\t...editorContainerProps\n\t\t\t}) }),\n\t\t\tchildren,\n\t\t\tslotAfter\n\t\t]\n\t});\n}\n//#endregion\n//#region src/useReactNodeView.ts\nconst ReactNodeViewContext = createContext({\n\tonDragStart: () => {},\n\tnodeViewContentChildren: void 0,\n\tnodeViewContentRef: () => {}\n});\nconst ReactNodeViewContentProvider = ({ children, content }) => {\n\treturn createElement(ReactNodeViewContext.Provider, { value: { nodeViewContentChildren: content } }, children);\n};\nconst useReactNodeView = () => useContext(ReactNodeViewContext);\n//#endregion\n//#region src/NodeViewContent.tsx\nfunction NodeViewContent({ as: Tag = \"div\", ...props }) {\n\tconst { nodeViewContentRef, nodeViewContentChildren } = useReactNodeView();\n\treturn /* @__PURE__ */ jsx(Tag, {\n\t\t...props,\n\t\tref: nodeViewContentRef,\n\t\t\"data-node-view-content\": \"\",\n\t\tstyle: {\n\t\t\twhiteSpace: \"pre-wrap\",\n\t\t\t...props.style\n\t\t},\n\t\tchildren: nodeViewContentChildren\n\t});\n}\n//#endregion\n//#region src/NodeViewWrapper.tsx\nconst NodeViewWrapper = React.forwardRef((props, ref) => {\n\tconst { onDragStart } = useReactNodeView();\n\tconst Tag = props.as || \"div\";\n\treturn /* @__PURE__ */ jsx(Tag, {\n\t\t...props,\n\t\tref,\n\t\t\"data-node-view-wrapper\": \"\",\n\t\tonDragStart,\n\t\tstyle: {\n\t\t\twhiteSpace: \"normal\",\n\t\t\t...props.style\n\t\t}\n\t});\n});\n//#endregion\n//#region src/ReactRenderer.tsx\n/**\n* Check if a component is a class component.\n* @param Component\n* @returns {boolean}\n*/\nfunction isClassComponent(Component) {\n\treturn !!(typeof Component === \"function\" && Component.prototype && Component.prototype.isReactComponent);\n}\n/**\n* Check if a component is a forward ref component.\n* @param Component\n* @returns {boolean}\n*/\nfunction isForwardRefComponent(Component) {\n\treturn !!(typeof Component === \"object\" && Component.$$typeof && (Component.$$typeof.toString() === \"Symbol(react.forward_ref)\" || Component.$$typeof.description === \"react.forward_ref\"));\n}\n/**\n* Check if a component is a memoized component.\n* @param Component\n* @returns {boolean}\n*/\nfunction isMemoComponent(Component) {\n\treturn !!(typeof Component === \"object\" && Component.$$typeof && (Component.$$typeof.toString() === \"Symbol(react.memo)\" || Component.$$typeof.description === \"react.memo\"));\n}\n/**\n* Check if a component can safely receive a ref prop.\n* This includes class components, forwardRef components, and memoized components\n* that wrap forwardRef or class components.\n* @param Component\n* @returns {boolean}\n*/\nfunction canReceiveRef(Component) {\n\tif (isClassComponent(Component)) return true;\n\tif (isForwardRefComponent(Component)) return true;\n\tif (isMemoComponent(Component)) {\n\t\tconst wrappedComponent = Component.type;\n\t\tif (wrappedComponent) return isClassComponent(wrappedComponent) || isForwardRefComponent(wrappedComponent);\n\t}\n\treturn false;\n}\n/**\n* Check if we're running React 19+ by detecting if function components support ref props\n* @returns {boolean}\n*/\nfunction isReact19Plus() {\n\ttry {\n\t\tif (version) return parseInt(version.split(\".\")[0], 10) >= 19;\n\t} catch {}\n\treturn false;\n}\n/**\n* The ReactRenderer class. It's responsible for rendering React components inside the editor.\n* @example\n* new ReactRenderer(MyComponent, {\n* editor,\n* props: {\n* foo: 'bar',\n* },\n* as: 'span',\n* })\n*/\nvar ReactRenderer = class {\n\t/**\n\t* Immediately creates element and renders the provided React component.\n\t*/\n\tconstructor(component, { editor, props = {}, as = \"div\", className = \"\" }) {\n\t\tthis.ref = null;\n\t\tthis.destroyed = false;\n\t\tthis.id = Math.floor(Math.random() * 4294967295).toString();\n\t\tthis.component = component;\n\t\tthis.editor = editor;\n\t\tthis.props = props;\n\t\tthis.element = document.createElement(as);\n\t\tthis.element.classList.add(\"react-renderer\");\n\t\tif (className) this.element.classList.add(...className.split(\" \"));\n\t\tif (this.editor.isEditorContentInitialized) flushSync(() => {\n\t\t\tthis.render();\n\t\t});\n\t\telse queueMicrotask(() => {\n\t\t\tif (this.destroyed) return;\n\t\t\tthis.render();\n\t\t});\n\t}\n\t/**\n\t* Render the React component.\n\t*/\n\trender() {\n\t\tvar _editor$contentCompon;\n\t\tif (this.destroyed) return;\n\t\tconst Component = this.component;\n\t\tconst props = this.props;\n\t\tconst editor = this.editor;\n\t\tconst isReact19 = isReact19Plus();\n\t\tconst componentCanReceiveRef = canReceiveRef(Component);\n\t\tconst elementProps = { ...props };\n\t\tif (elementProps.ref && !(isReact19 || componentCanReceiveRef)) delete elementProps.ref;\n\t\tif (!elementProps.ref && (isReact19 || componentCanReceiveRef)) elementProps.ref = (ref) => {\n\t\t\tthis.ref = ref;\n\t\t};\n\t\tthis.reactElement = /* @__PURE__ */ jsx(Component, { ...elementProps });\n\t\teditor === null || editor === void 0 || (_editor$contentCompon = editor.contentComponent) === null || _editor$contentCompon === void 0 || _editor$contentCompon.setRenderer(this.id, this);\n\t}\n\t/**\n\t* Re-renders the React component with new props.\n\t* Skips the render if none of the supplied props actually changed,\n\t* to avoid unnecessary portal re-creation.\n\t*/\n\tupdateProps(props = {}) {\n\t\tif (this.destroyed) return;\n\t\tlet changed = false;\n\t\tconst keys = Object.keys(props);\n\t\tfor (let i = 0; i < keys.length; i += 1) {\n\t\t\tconst key = keys[i];\n\t\t\tif (props[key] !== this.props[key]) {\n\t\t\t\tchanged = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (!changed) return;\n\t\tthis.props = {\n\t\t\t...this.props,\n\t\t\t...props\n\t\t};\n\t\tthis.render();\n\t}\n\t/**\n\t* Destroy the React component.\n\t*/\n\tdestroy() {\n\t\tvar _editor$contentCompon2;\n\t\tthis.destroyed = true;\n\t\tconst editor = this.editor;\n\t\teditor === null || editor === void 0 || (_editor$contentCompon2 = editor.contentComponent) === null || _editor$contentCompon2 === void 0 || _editor$contentCompon2.removeRenderer(this.id);\n\t\ttry {\n\t\t\tif (this.element && this.element.parentNode) this.element.parentNode.removeChild(this.element);\n\t\t} catch {}\n\t}\n\t/**\n\t* Update the attributes of the element that holds the React component.\n\t*/\n\tupdateAttributes(attributes) {\n\t\tObject.keys(attributes).forEach((key) => {\n\t\t\tthis.element.setAttribute(key, attributes[key]);\n\t\t});\n\t}\n};\n//#endregion\n//#region src/ReactMarkViewRenderer.tsx\nconst ReactMarkViewContext = React.createContext({ markViewContentRef: () => {} });\nconst MarkViewContent = (props) => {\n\tconst { as: Tag = \"span\", ...rest } = props;\n\tconst { markViewContentRef } = React.useContext(ReactMarkViewContext);\n\treturn /* @__PURE__ */ jsx(Tag, {\n\t\t...rest,\n\t\tref: markViewContentRef,\n\t\t\"data-mark-view-content\": \"\"\n\t});\n};\nvar ReactMarkView = class extends MarkView {\n\tconstructor(component, props, options) {\n\t\tsuper(component, props, options);\n\t\tconst { as = \"span\", attrs, className = \"\" } = options || {};\n\t\tconst componentProps = {\n\t\t\t...props,\n\t\t\tupdateAttributes: this.updateAttributes.bind(this)\n\t\t};\n\t\tthis.contentDOMElement = document.createElement(\"span\");\n\t\tconst markViewContentRef = (el) => {\n\t\t\tif (el && !el.contains(this.contentDOMElement)) el.appendChild(this.contentDOMElement);\n\t\t};\n\t\tconst context = { markViewContentRef };\n\t\tconst ReactMarkViewProvider = React.memo((componentProps) => {\n\t\t\treturn /* @__PURE__ */ jsx(ReactMarkViewContext.Provider, {\n\t\t\t\tvalue: context,\n\t\t\t\tchildren: React.createElement(component, componentProps)\n\t\t\t});\n\t\t});\n\t\tReactMarkViewProvider.displayName = \"ReactMarkView\";\n\t\tthis.renderer = new ReactRenderer(ReactMarkViewProvider, {\n\t\t\teditor: props.editor,\n\t\t\tprops: componentProps,\n\t\t\tas,\n\t\t\tclassName: `mark-${props.mark.type.name} ${className}`.trim()\n\t\t});\n\t\tif (attrs) this.renderer.updateAttributes(attrs);\n\t}\n\tget dom() {\n\t\treturn this.renderer.element;\n\t}\n\tget contentDOM() {\n\t\treturn this.contentDOMElement;\n\t}\n};\nfunction ReactMarkViewRenderer(component, options = {}) {\n\treturn (props) => new ReactMarkView(component, props, options);\n}\n//#endregion\n//#region src/captureDOMSelection.ts\n/**\n* Saves the DOM selection inside `element`, returns a function to put it back.\n* Browsers drop the selection when an element moves, so restore it after the move.\n*/\nfunction captureDOMSelection(element) {\n\tvar _element$ownerDocumen;\n\tconst root = element.getRootNode();\n\tconst selection = typeof root.getSelection === \"function\" ? root.getSelection() : (_element$ownerDocumen = element.ownerDocument) === null || _element$ownerDocumen === void 0 || (_element$ownerDocumen = _element$ownerDocumen.defaultView) === null || _element$ownerDocumen === void 0 ? void 0 : _element$ownerDocumen.getSelection();\n\tif (!selection || selection.rangeCount === 0) return null;\n\tconst { anchorNode, anchorOffset, focusNode, focusOffset } = selection;\n\tif (!anchorNode || !focusNode) return null;\n\tif (!element.contains(anchorNode) || !element.contains(focusNode)) return null;\n\treturn () => {\n\t\ttry {\n\t\t\tselection.setBaseAndExtent(anchorNode, anchorOffset, focusNode, focusOffset);\n\t\t} catch {}\n\t};\n}\n//#endregion\n//#region src/lib/utils/getTextSelectionAncestorPositions.ts\nfunction isSameAncestor($from, $to, depth) {\n\treturn $from.node(depth) === $to.node(depth) && $from.before(depth) === $to.before(depth);\n}\nfunction getTextSelectionAncestorPositions(selection) {\n\tif (!isTextSelection(selection)) return [];\n\tconst { $from, $to } = selection;\n\tconst positions = [];\n\tconst maxDepth = Math.min($from.depth, $to.depth);\n\tfor (let depth = 1; depth <= maxDepth; depth += 1) {\n\t\tif (!isSameAncestor($from, $to, depth)) break;\n\t\tpositions.push($from.before(depth));\n\t}\n\treturn positions;\n}\n//#endregion\n//#region src/ReactNodeViewSelectionTracker.ts\nvar ReactNodeViewSelectionTracker = class {\n\tconstructor(editor) {\n\t\tthis.views = /* @__PURE__ */ new WeakMap();\n\t\tthis.viewCount = 0;\n\t\tthis.insideViews = /* @__PURE__ */ new Set();\n\t\tthis.syncQueued = false;\n\t\tthis.scheduleSync = () => {\n\t\t\tif (this.syncQueued) return;\n\t\t\tthis.syncQueued = true;\n\t\t\tqueueMicrotask(() => {\n\t\t\t\tthis.syncQueued = false;\n\t\t\t\tthis.sync();\n\t\t\t});\n\t\t};\n\t\tthis.handleTransaction = () => this.scheduleSync();\n\t\tthis.editor = editor;\n\t}\n\tregister(view) {\n\t\tif (this.viewCount === 0) this.editor.on(\"transaction\", this.handleTransaction);\n\t\tthis.views.set(view.dom, view);\n\t\tthis.viewCount += 1;\n\t\tthis.scheduleSync();\n\t}\n\tunregister(view) {\n\t\tthis.views.delete(view.dom);\n\t\tthis.viewCount -= 1;\n\t\tthis.insideViews.delete(view);\n\t\tif (this.viewCount === 0) this.editor.off(\"transaction\", this.handleTransaction);\n\t}\n\tsync() {\n\t\tif (this.viewCount === 0 || this.editor.isDestroyed) return;\n\t\tconst nextInsideViews = this.findInsideViews();\n\t\tthis.updateViews(this.insideViews, nextInsideViews, false);\n\t\tthis.updateViews(nextInsideViews, this.insideViews, true);\n\t\tthis.insideViews = nextInsideViews;\n\t}\n\tupdateViews(views, unchangedViews, selectionInside) {\n\t\tfor (const view of views) if (!unchangedViews.has(view)) view.setSelectionInside(selectionInside);\n\t}\n\tfindInsideViews() {\n\t\tconst insideViews = /* @__PURE__ */ new Set();\n\t\tfor (const position of getTextSelectionAncestorPositions(this.editor.state.selection)) {\n\t\t\tconst dom = this.editor.view.nodeDOM(position);\n\t\t\tconst view = dom ? this.views.get(dom) : void 0;\n\t\t\tif (view) insideViews.add(view);\n\t\t}\n\t\treturn insideViews;\n\t}\n};\nconst trackers = /* @__PURE__ */ new WeakMap();\nfunction getReactNodeViewSelectionTracker(editor) {\n\tlet tracker = trackers.get(editor);\n\tif (!tracker) {\n\t\ttracker = new ReactNodeViewSelectionTracker(editor);\n\t\ttrackers.set(editor, tracker);\n\t}\n\treturn tracker;\n}\n//#endregion\n//#region src/ReactNodeViewRenderer.tsx\nvar ReactNodeView = class extends NodeView {\n\tconstructor(component, props, options) {\n\t\tsuper(component, props, options);\n\t\tthis.nodeSelected = false;\n\t\tthis.handlePositionUpdate = () => {\n\t\t\tconst newPos = this.getPos();\n\t\t\tif (typeof newPos !== \"number\" || newPos === this.currentPos) return;\n\t\t\tthis.currentPos = newPos;\n\t\t\tthis.renderer.updateProps({ getPos: () => this.getPos() });\n\t\t\tif (typeof this.options.attrs === \"function\") this.updateElementAttributes();\n\t\t};\n\t\tthis.cachedExtensionWithSyncedStorage = null;\n\t\tif (!this.node.isLeaf) {\n\t\t\tif (this.options.contentDOMElementTag) this.contentDOMElement = document.createElement(this.options.contentDOMElementTag);\n\t\t\telse this.contentDOMElement = document.createElement(this.node.isInline ? \"span\" : \"div\");\n\t\t\tthis.contentDOMElement.dataset.nodeViewContentReact = \"\";\n\t\t\tthis.contentDOMElement.dataset.nodeViewWrapper = \"\";\n\t\t\tthis.contentDOMElement.style.whiteSpace = \"inherit\";\n\t\t\tconst contentTarget = this.dom.querySelector(\"[data-node-view-content]\");\n\t\t\tif (contentTarget) contentTarget.appendChild(this.contentDOMElement);\n\t\t\telse this.dom.appendChild(this.contentDOMElement);\n\t\t}\n\t\tif (this.options.trackNodeViewPosition) this.editor.on(\"update\", this.handlePositionUpdate);\n\t}\n\t/**\n\t* Returns a proxy of the extension that redirects storage access to the editor's mutable storage.\n\t* This preserves the original prototype chain (instanceof checks, methods like configure/extend work).\n\t* Cached to avoid proxy creation on every update.\n\t*/\n\tget extensionWithSyncedStorage() {\n\t\tif (!this.cachedExtensionWithSyncedStorage) {\n\t\t\tconst editor = this.editor;\n\t\t\tconst extension = this.extension;\n\t\t\tthis.cachedExtensionWithSyncedStorage = new Proxy(extension, { get(target, prop, receiver) {\n\t\t\t\tif (prop === \"storage\") {\n\t\t\t\t\tvar _editor$storage;\n\t\t\t\t\treturn (_editor$storage = editor.storage[extension.name]) !== null && _editor$storage !== void 0 ? _editor$storage : {};\n\t\t\t\t}\n\t\t\t\treturn Reflect.get(target, prop, receiver);\n\t\t\t} });\n\t\t}\n\t\treturn this.cachedExtensionWithSyncedStorage;\n\t}\n\t/**\n\t* Setup the React component.\n\t* Called on initialization.\n\t*/\n\tmount() {\n\t\tconst mountProps = {\n\t\t\teditor: this.editor,\n\t\t\tnode: this.node,\n\t\t\tdecorations: this.decorations,\n\t\t\tinnerDecorations: this.innerDecorations,\n\t\t\tview: this.view,\n\t\t\tselected: false,\n\t\t\tselectionInside: false,\n\t\t\textension: this.extensionWithSyncedStorage,\n\t\t\tHTMLAttributes: this.HTMLAttributes,\n\t\t\tgetPos: () => this.getPos(),\n\t\t\tupdateAttributes: (attributes = {}) => this.updateAttributes(attributes),\n\t\t\tdeleteNode: () => this.deleteNode(),\n\t\t\tref: createRef()\n\t\t};\n\t\tif (!this.component.displayName) {\n\t\t\tconst capitalizeFirstChar = (string) => {\n\t\t\t\treturn string.charAt(0).toUpperCase() + string.substring(1);\n\t\t\t};\n\t\t\tthis.component.displayName = capitalizeFirstChar(this.extension.name);\n\t\t}\n\t\tconst onDragStart = this.onDragStart.bind(this);\n\t\tconst nodeViewContentRef = (element) => {\n\t\t\tif (element && this.contentDOMElement && element.firstChild !== this.contentDOMElement) {\n\t\t\t\tif (element.hasAttribute(\"data-node-view-wrapper\")) element.removeAttribute(\"data-node-view-wrapper\");\n\t\t\t\tconst restoreSelection = captureDOMSelection(this.contentDOMElement);\n\t\t\t\telement.appendChild(this.contentDOMElement);\n\t\t\t\trestoreSelection === null || restoreSelection === void 0 || restoreSelection();\n\t\t\t}\n\t\t};\n\t\tconst context = {\n\t\t\tonDragStart,\n\t\t\tnodeViewContentRef\n\t\t};\n\t\tconst Component = this.component;\n\t\tconst ReactNodeViewProvider = memo((componentProps) => {\n\t\t\treturn /* @__PURE__ */ jsx(ReactNodeViewContext.Provider, {\n\t\t\t\tvalue: context,\n\t\t\t\tchildren: createElement(Component, componentProps)\n\t\t\t});\n\t\t});\n\t\tReactNodeViewProvider.displayName = \"ReactNodeView\";\n\t\tlet as = this.node.isInline ? \"span\" : \"div\";\n\t\tif (this.options.as) as = this.options.as;\n\t\tconst { className = \"\" } = this.options;\n\t\tthis.renderer = new ReactRenderer(ReactNodeViewProvider, {\n\t\t\teditor: this.editor,\n\t\t\tprops: mountProps,\n\t\t\tas,\n\t\t\tclassName: `node-${this.node.type.name} ${className}`.trim()\n\t\t});\n\t\tgetReactNodeViewSelectionTracker(this.editor).register(this);\n\t\tthis.updateElementAttributes();\n\t\tthis.currentPos = this.getPos();\n\t}\n\t/**\n\t* Return the DOM element.\n\t* This is the element that will be used to display the node view.\n\t*/\n\tget dom() {\n\t\tvar _this$renderer$elemen;\n\t\tif (this.renderer.element.firstElementChild && !((_this$renderer$elemen = this.renderer.element.firstElementChild) === null || _this$renderer$elemen === void 0 ? void 0 : _this$renderer$elemen.hasAttribute(\"data-node-view-wrapper\"))) throw Error(\"Please use the NodeViewWrapper component for your node view.\");\n\t\treturn this.renderer.element;\n\t}\n\t/**\n\t* Return the content DOM element.\n\t* This is the element that will be used to display the rich-text content of the node.\n\t*/\n\tget contentDOM() {\n\t\tif (this.node.isLeaf) return null;\n\t\treturn this.contentDOMElement;\n\t}\n\t/**\n\t* On update, update the React component.\n\t* To prevent unnecessary updates, the `update` option can be used.\n\t*/\n\tupdate(node, decorations, innerDecorations) {\n\t\tconst rerenderComponent = (props) => {\n\t\t\tthis.renderer.updateProps(props);\n\t\t\tif (typeof this.options.attrs === \"function\") this.updateElementAttributes();\n\t\t};\n\t\tif (node.type !== this.node.type) return false;\n\t\tif (typeof this.options.update === \"function\") {\n\t\t\tconst oldNode = this.node;\n\t\t\tconst oldDecorations = this.decorations;\n\t\t\tconst oldInnerDecorations = this.innerDecorations;\n\t\t\tthis.node = node;\n\t\t\tthis.decorations = decorations;\n\t\t\tthis.innerDecorations = innerDecorations;\n\t\t\tthis.currentPos = this.getPos();\n\t\t\treturn this.options.update({\n\t\t\t\toldNode,\n\t\t\t\toldDecorations,\n\t\t\t\tnewNode: node,\n\t\t\t\tnewDecorations: decorations,\n\t\t\t\toldInnerDecorations,\n\t\t\t\tinnerDecorations,\n\t\t\t\tupdateProps: () => rerenderComponent({\n\t\t\t\t\tnode,\n\t\t\t\t\tdecorations,\n\t\t\t\t\tinnerDecorations,\n\t\t\t\t\textension: this.extensionWithSyncedStorage\n\t\t\t\t})\n\t\t\t});\n\t\t}\n\t\tif (!(node !== this.node)) {\n\t\t\tthis.node = node;\n\t\t\tthis.decorations = decorations;\n\t\t\tthis.innerDecorations = innerDecorations;\n\t\t\treturn true;\n\t\t}\n\t\tconst newPos = this.getPos();\n\t\tthis.node = node;\n\t\tthis.decorations = decorations;\n\t\tthis.innerDecorations = innerDecorations;\n\t\tthis.currentPos = newPos;\n\t\tconst extraProps = {\n\t\t\tnode,\n\t\t\tdecorations,\n\t\t\tinnerDecorations,\n\t\t\textension: this.extensionWithSyncedStorage\n\t\t};\n\t\tif (this.options.trackNodeViewPosition) extraProps.getPos = () => this.getPos();\n\t\trerenderComponent(extraProps);\n\t\treturn true;\n\t}\n\t/**\n\t* Select the node.\n\t* Add the `selected` prop and the `ProseMirror-selectednode` class.\n\t*/\n\tselectNode() {\n\t\tthis.nodeSelected = true;\n\t\tthis.updateSelectedState(true);\n\t}\n\t/**\n\t* Deselect the node.\n\t* Remove the `selected` prop and the `ProseMirror-selectednode` class.\n\t*/\n\tdeselectNode() {\n\t\tthis.nodeSelected = false;\n\t\tthis.updateSelectedState(this.options.selectedOnTextSelection === true && this.isTextSelectionInside());\n\t}\n\tsetSelectionInside(selectionInside) {\n\t\tconst selected = this.nodeSelected || this.options.selectedOnTextSelection === true && selectionInside;\n\t\tthis.renderer.updateProps({\n\t\t\tselectionInside,\n\t\t\tselected\n\t\t});\n\t\tthis.renderer.element.classList.toggle(\"ProseMirror-selectednode\", selected);\n\t}\n\tupdateSelectedState(selected) {\n\t\tthis.renderer.updateProps({ selected });\n\t\tthis.renderer.element.classList.toggle(\"ProseMirror-selectednode\", selected);\n\t}\n\tisTextSelectionInside() {\n\t\tconst pos = this.getPos();\n\t\treturn typeof pos === \"number\" && getTextSelectionAncestorPositions(this.editor.state.selection).includes(pos);\n\t}\n\t/**\n\t* Destroy the React component instance.\n\t*/\n\tdestroy() {\n\t\tthis.renderer.destroy();\n\t\tgetReactNodeViewSelectionTracker(this.editor).unregister(this);\n\t\tif (this.options.trackNodeViewPosition) this.editor.off(\"update\", this.handlePositionUpdate);\n\t\tthis.contentDOMElement = null;\n\t}\n\t/**\n\t* Update the attributes of the top-level element that holds the React component.\n\t* Applying the attributes defined in the `attrs` option.\n\t*/\n\tupdateElementAttributes() {\n\t\tif (this.options.attrs) {\n\t\t\tlet attrsObj = {};\n\t\t\tif (typeof this.options.attrs === \"function\") {\n\t\t\t\tconst extensionAttributes = this.editor.extensionManager.attributes;\n\t\t\t\tconst HTMLAttributes = getRenderedAttributes(this.node, extensionAttributes);\n\t\t\t\tattrsObj = this.options.attrs({\n\t\t\t\t\tnode: this.node,\n\t\t\t\t\tHTMLAttributes\n\t\t\t\t});\n\t\t\t} else attrsObj = this.options.attrs;\n\t\t\tthis.renderer.updateAttributes(attrsObj);\n\t\t}\n\t}\n};\n/**\n* Create a React node view renderer.\n*/\nfunction ReactNodeViewRenderer(component, options) {\n\treturn (props) => {\n\t\tif (!props.editor.contentComponent) return {\n\t\t\tdom: document.createElement(\"span\"),\n\t\t\tcontentDOM: null,\n\t\t\tupdate: () => false,\n\t\t\tdestroy: () => {},\n\t\t\tselectNode: () => {},\n\t\t\tdeselectNode: () => {},\n\t\t\tstopEvent: () => false,\n\t\t\tignoreMutation: () => true\n\t\t};\n\t\treturn new ReactNodeView(component, props, options);\n\t};\n}\n//#endregion\n//#region src/ReactWidgetRenderer.tsx\nconst WIDGET_CACHE = Symbol(\"tiptapReactWidgetCache\");\n/**\n* Renders a React component into a ProseMirror widget decoration.\n* Reuses Tiptap's `ReactRenderer` so the component lives in the editor's\n* React tree (context and hooks work as usual). Use a stable `key` for\n* stateful widgets.\n* @example\n* addDecorations() {\n* return {\n* create: ({ editor, state }) =>\n* findMatches(state.doc).map(match =>\n* ReactWidgetRenderer(MyWidget, {\n* editor, pos: match.pos, key: `match-${match.id}`,\n* props: { label: match.label },\n* }),\n* ),\n* }\n* }\n*/\nfunction ReactWidgetRenderer(component, options) {\n\tconst { editor, props = {}, as = \"span\", className } = options;\n\treturn createWidgetDecoration({\n\t\t...options,\n\t\tprops,\n\t\tcacheKey: WIDGET_CACHE,\n\t\tcontext: (getPos) => ({\n\t\t\teditor,\n\t\t\tgetPos\n\t\t}),\n\t\tcreate: (renderProps) => new ReactRenderer(component, {\n\t\t\teditor,\n\t\t\tas,\n\t\t\tclassName,\n\t\t\tprops: renderProps\n\t\t}),\n\t\tmaterialize: (renderer) => {\n\t\t\trenderer.render();\n\t\t\treturn renderer.element;\n\t\t}\n\t});\n}\n//#endregion\n//#region src/Tiptap.tsx\n/**\n* React context that stores the current editor instance.\n*\n* Use `useTiptap()` to read from this context in child components.\n*/\nconst TiptapContext = createContext({ get editor() {\n\tthrow new Error(\"useTiptap must be used within a <Tiptap> provider\");\n} });\nTiptapContext.displayName = \"TiptapContext\";\n/**\n* Hook to read the Tiptap context and access the editor instance.\n*\n* This is a small convenience wrapper around `useContext(TiptapContext)`.\n* The editor is always available when used within a `<Tiptap>` provider.\n*\n* @returns The current `TiptapContextType` value from the provider.\n*\n* @example\n* ```tsx\n* import { useTiptap } from '@tiptap/react'\n*\n* function Toolbar() {\n* const { editor } = useTiptap()\n*\n* return (\n* <button onClick={() => editor.chain().focus().toggleBold().run()}>\n* Bold\n* </button>\n* )\n* }\n* ```\n*/\nconst useTiptap = () => useContext(TiptapContext);\n/**\n* Select a slice of the editor state using the context-provided editor.\n*\n* This is a thin wrapper around `useEditorState` that reads the `editor`\n* instance from `useTiptap()` so callers don't have to pass it manually.\n*\n* @typeParam TSelectorResult - The type returned by the selector.\n* @param selector - Function that receives the editor state snapshot and\n* returns the piece of state you want to subscribe to.\n* @param equalityFn - Optional function to compare previous/next selected\n* values and avoid unnecessary updates.\n* @returns The selected slice of the editor state.\n*\n* @example\n* ```tsx\n* function WordCount() {\n* const wordCount = useTiptapState(state => {\n* const text = state.editor.state.doc.textContent\n* return text.split(/\\s+/).filter(Boolean).length\n* })\n*\n* return <span>{wordCount} words</span>\n* }\n* ```\n*/\nfunction useTiptapState(selector, equalityFn) {\n\tconst { editor } = useTiptap();\n\treturn useEditorState({\n\t\teditor,\n\t\tselector,\n\t\tequalityFn\n\t});\n}\n/**\n* Top-level provider component that makes the editor instance available via\n* React context to all child components.\n*\n* This component also provides backwards compatibility with the legacy\n* `EditorContext`, so components using `useCurrentEditor()` will work\n* inside a `<Tiptap>` provider.\n*\n* @param props - Component props.\n* @returns A context provider element wrapping `children`.\n*\n* @example\n* ```tsx\n* import { Tiptap, useEditor } from '@tiptap/react'\n*\n* function App() {\n* const editor = useEditor({ extensions: [...] })\n*\n* return (\n* <Tiptap editor={editor}>\n* <Toolbar />\n* <Tiptap.Content />\n* </Tiptap>\n* )\n* }\n* ```\n*/\nfunction TiptapWrapper({ children, ...props }) {\n\tconst resolvedEditor = \"editor\" in props ? props.editor : props.instance;\n\tif (!resolvedEditor) throw new Error(\"Tiptap: An editor instance is required. Pass a non-null `editor` prop.\");\n\tconst tiptapContextValue = useMemo(() => ({ editor: resolvedEditor }), [resolvedEditor]);\n\tconst legacyContextValue = useMemo(() => ({ editor: resolvedEditor }), [resolvedEditor]);\n\treturn /* @__PURE__ */ jsx(EditorContext.Provider, {\n\t\tvalue: legacyContextValue,\n\t\tchildren: /* @__PURE__ */ jsx(TiptapContext.Provider, {\n\t\t\tvalue: tiptapContextValue,\n\t\t\tchildren\n\t\t})\n\t});\n}\nTiptapWrapper.displayName = \"Tiptap\";\n/**\n* Convenience component that renders `EditorContent` using the context-provided\n* editor instance. Use this instead of manually passing the `editor` prop.\n*\n* @param props - All `EditorContent` props except `editor` and `ref`.\n* @returns An `EditorContent` element bound to the context editor.\n*\n* @example\n* ```tsx\n* // inside a Tiptap provider\n* <Tiptap.Content className=\"editor\" />\n* ```\n*/\nfunction TiptapContent({ ...rest }) {\n\tconst { editor } = useTiptap();\n\treturn /* @__PURE__ */ jsx(EditorContent, {\n\t\teditor,\n\t\t...rest\n\t});\n}\nTiptapContent.displayName = \"Tiptap.Content\";\n/**\n* Root `Tiptap` component. Use it as the provider for all child components.\n*\n* The exported object includes the `Content` subcomponent for rendering the\n* editor content area.\n*\n* This component provides both the new `TiptapContext` (accessed via `useTiptap()`)\n* and the legacy `EditorContext` (accessed via `useCurrentEditor()`) for\n* backwards compatibility.\n*\n* For bubble menus and floating menus, import them separately from\n* `@tiptap/react/menus` to keep floating-ui as an optional dependency.\n*\n* @example\n* ```tsx\n* import { Tiptap, useEditor } from '@tiptap/react'\n* import { BubbleMenu } from '@tiptap/react/menus'\n*\n* function App() {\n* const editor = useEditor({ extensions: [...] })\n*\n* return (\n* <Tiptap editor={editor}>\n* <Tiptap.Content />\n* <BubbleMenu>\n* <button onClick={() => editor.chain().focus().toggleBold().run()}>Bold</button>\n* </BubbleMenu>\n* </Tiptap>\n* )\n* }\n* ```\n*/\nconst Tiptap = Object.assign(TiptapWrapper, { \n/**\n* The Tiptap Content component that renders the EditorContent with the editor instance from the context.\n* @see TiptapContent\n*/\nContent: TiptapContent });\n//#endregion\nexport { EditorConsumer, EditorContent, EditorContext, EditorProvider, MarkViewContent, NodeViewContent, NodeViewWrapper, PureEditorContent, ReactMarkView, ReactMarkViewContext, ReactMarkViewRenderer, ReactNodeView, ReactNodeViewContentProvider, ReactNodeViewContext, ReactNodeViewRenderer, ReactRenderer, ReactWidgetRenderer, Tiptap, TiptapContent, TiptapContext, TiptapWrapper, createContentComponent, useCurrentEditor, useEditor, useEditorState, useReactNodeView, useTiptap, useTiptapState };\n\n//# sourceMappingURL=index.js.map","import e from \"../../extensions/custom-toolbar-wrapper.js\";\nimport { setToolbarOpened as t } from \"../../utils/toolbar.js\";\nimport n, { useEffect as r, useRef as i, useState as a } from \"react\";\nimport { NodeViewWrapper as o } from \"@tiptap/react\";\nimport s from \"react-dom\";\nimport c from \"prop-types\";\nimport { jsx as l, jsxs as u } from \"react/jsx-runtime\";\n//#region src/components/respArea/ExplicitConstructedResponse.tsx\nvar d = (c) => {\n\tlet { editor: d, node: f, getPos: p, options: m, selected: h } = c, { attrs: g } = f, { value: _ } = g, { respAreaToolbar: v, error: y } = m, b = p(), [x, S] = a(!1), C = v([f, b], d, () => {}), w = i(null), T;\n\tif (y) {\n\t\tlet e = y(), t = parseInt(g.index, 10);\n\t\tT = !!e?.[t]?.[0];\n\t}\n\treturn r(() => {\n\t\tlet { selection: e } = d.state, t = e.from + f.nodeSize === e.to;\n\t\th ? t && S(h) : S(h);\n\t}, [\n\t\td,\n\t\tf,\n\t\th\n\t]), r(() => {\n\t\tlet e = (e) => {\n\t\t\t!(e.target.closest(\".insert-character-dialog\") || e.target.closest(\"[data-toolbar-for]\")) && w.current && !w.current.contains(e.target) && !e.target.closest(\"[data-inline-node]\") && S(!1);\n\t\t};\n\t\treturn x ? document.addEventListener(\"mousedown\", e) : document.removeEventListener(\"mousedown\", e), () => document.removeEventListener(\"mousedown\", e);\n\t}, [x]), /* @__PURE__ */ u(o, {\n\t\tclassName: \"drag-in-the-blank\",\n\t\t\"data-selected\": h,\n\t\tstyle: {\n\t\t\tdisplay: \"inline-flex\",\n\t\t\tminHeight: \"55px\",\n\t\t\tposition: \"relative\",\n\t\t\tcursor: \"pointer\"\n\t\t},\n\t\tchildren: [/* @__PURE__ */ l(\"div\", {\n\t\t\t...g,\n\t\t\tstyle: {\n\t\t\t\tdisplay: \"inline-flex\",\n\t\t\t\twidth: \"100%\",\n\t\t\t\tminHeight: \"46px\",\n\t\t\t\theight: \"46px\",\n\t\t\t\tbackgroundColor: \"#FFF\",\n\t\t\t\tborder: `1px solid ${T ? \"red\" : \"#C0C3CF\"}`,\n\t\t\t\tboxSizing: \"border-box\",\n\t\t\t\tborderRadius: \"4px\",\n\t\t\t\toverflow: \"hidden\",\n\t\t\t\tpadding: \"12px 21px\",\n\t\t\t\tmargin: \"0 4px\",\n\t\t\t\tminWidth: \"178px\",\n\t\t\t\tvisibility: x ? \"hidden\" : \"visible\"\n\t\t\t},\n\t\t\tonClick: () => S(!0),\n\t\t\tdangerouslySetInnerHTML: { __html: _ || \"<div>&nbsp;</div>\" }\n\t\t}), x && /* @__PURE__ */ u(n.Fragment, { children: [/* @__PURE__ */ l(\"div\", {\n\t\t\tref: w,\n\t\t\tclassName: \"absolute z-50 bg-white shadow-lg rounded p-2\",\n\t\t\tstyle: { zIndex: 1 },\n\t\t\tchildren: /* @__PURE__ */ l(C, {})\n\t\t}), d._tiptapContainerEl && s.createPortal(/* @__PURE__ */ l(e, {\n\t\t\tdeletable: !0,\n\t\t\ttoolbarOpts: { minWidth: \"auto\" },\n\t\t\tautoWidth: !0,\n\t\t\tstyle: {\n\t\t\t\ttop: -40,\n\t\t\t\tleft: 0,\n\t\t\t\tright: 0\n\t\t\t},\n\t\t\tonDelete: () => {\n\t\t\t\tlet { tr: e } = d.state;\n\t\t\t\te.delete(b, b + f.nodeSize), t(d, !1), d.view.dispatch(e), S(!1), d.commands.focus();\n\t\t\t},\n\t\t\tshowDone: !1\n\t\t}), d._tiptapContainerEl)] })]\n\t});\n};\nd.propTypes = {\n\tattributes: c.object,\n\terror: c.any,\n\tvalue: c.string,\n\tisFocused: c.bool\n};\n//#endregion\nexport { d as default };\n","//#region ../../../node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs\nfunction e(t) {\n\tvar n, r, i = \"\";\n\tif (typeof t == \"string\" || typeof t == \"number\") i += t;\n\telse if (typeof t == \"object\") if (Array.isArray(t)) {\n\t\tvar a = t.length;\n\t\tfor (n = 0; n < a; n++) t[n] && (r = e(t[n])) && (i && (i += \" \"), i += r);\n\t} else for (r in t) t[r] && (i && (i += \" \"), i += r);\n\treturn i;\n}\nfunction t() {\n\tfor (var t, n, r = 0, i = \"\", a = arguments.length; r < a; r++) (t = arguments[r]) && (n = e(t)) && (i && (i += \" \"), i += n);\n\treturn i;\n}\n//#endregion\nexport { t as clsx, t as default };\n","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"\n}), 'ChevronRight');","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2\"\n}), 'MoreVert');","import \"react\";\nimport { styled as e } from \"@mui/material/styles\";\nimport t from \"prop-types\";\nimport { jsx as n, jsxs as r } from \"react/jsx-runtime\";\nimport i from \"@mui/icons-material/ChevronRight\";\nimport a from \"@mui/icons-material/MoreVert\";\n//#region src/components/icons/RespArea.tsx\nvar o = (e) => {\n\tswitch (e) {\n\t\tcase \"down\": return 90;\n\t\tcase \"up\": return -90;\n\t\tcase \"left\": return 180;\n\t\tdefault: return 0;\n\t}\n}, s = (e) => {\n\tlet { direction: t, style: r } = e;\n\treturn /* @__PURE__ */ n(i, { style: {\n\t\ttransform: `rotate(${o(t)}deg)`,\n\t\t...r\n\t} });\n};\ns.propTypes = {\n\tdirection: t.string,\n\tstyle: t.object\n};\nvar c = ({ style: e }) => /* @__PURE__ */ r(\"span\", {\n\tstyle: e,\n\tchildren: [/* @__PURE__ */ n(a, { style: { margin: \"0 -16px\" } }), /* @__PURE__ */ n(a, {})]\n});\nc.propTypes = { style: t.object }, e(\"div\")(({ theme: e }) => ({\n\tfontFamily: \"Cerebri Sans !important\",\n\tfontSize: e.typography.fontSize,\n\tfontWeight: \"bold\",\n\tlineHeight: \"14px\",\n\tposition: \"relative\",\n\ttop: \"7px\",\n\twidth: \"110px\",\n\theight: \"28px\",\n\twhiteSpace: \"nowrap\"\n}));\n//#endregion\nexport { s as Chevron, c as GripIcon };\n","import { clsx as e } from \"../../../node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.js\";\nimport { GripIcon as t } from \"../../icons/RespArea.js\";\nimport { useEffect as n, useRef as r, useState as i } from \"react\";\nimport { styled as a } from \"@mui/material/styles\";\nimport o from \"prop-types\";\nimport { jsx as s, jsxs as c } from \"react/jsx-runtime\";\nimport { useDraggable as l, useDroppable as u } from \"@dnd-kit/core\";\nimport { color as d } from \"@pie-lib/render-ui\";\nimport { renderMath as f } from \"@pie-element/shared-math-rendering-mathjax\";\n//#region src/components/respArea/DragInTheBlank/choice.tsx\nvar p = a(\"span\")(({ theme: e }) => ({\n\tborder: `solid 0px ${e.palette.primary.main}`,\n\t\"& mjx-mn:has(~ mjx-mfrac), mjx-mfrac ~ mjx-mn\": { fontSize: \"120% !important\" },\n\t\"& mjx-frac\": { fontSize: \"120% !important\" }\n}));\nfunction m({ n: e, children: a, isDragging: o, isOver: l, dragItem: u, value: p, selected: m }) {\n\tlet [h, g] = i(null), _ = r(null), v = (e) => {\n\t\t_.current && (_.current.contains(e.target) ? _.current.classList.add(\"selected\") : _.current.classList.remove(\"selected\"));\n\t};\n\tn(() => (document.addEventListener(\"click\", v), () => {\n\t\tdocument.removeEventListener(\"click\", v);\n\t}), []), n(() => {\n\t\t_.current && typeof f == \"function\" && f(_.current);\n\t}, [\n\t\tp?.value,\n\t\tl,\n\t\tu?.value?.value\n\t]), n(() => {\n\t\tif (l && _.current && !h) {\n\t\t\tlet e = _.current;\n\t\t\tg({\n\t\t\t\twidth: e.offsetWidth,\n\t\t\t\theight: e.offsetHeight\n\t\t\t});\n\t\t} else !l && h && g(null);\n\t}, [l, h]);\n\tlet y = u && l ? u.value.value : p.value || \"\\xA0\", b = o ? \"\\xA0\" : y, x = b !== \"\\xA0\", S = u && l, C = m ? `2px solid ${d.primaryDark()}` : S ? `1px solid ${d.defaults.BORDER_DARK}` : `1px solid ${d.defaults.BORDER_LIGHT}`;\n\treturn /* @__PURE__ */ c(\"div\", {\n\t\tref: _,\n\t\tclassName: m ? \"selected\" : void 0,\n\t\tstyle: {\n\t\t\tdisplay: \"inline-flex\",\n\t\t\tminWidth: \"178px\",\n\t\t\tminHeight: \"36px\",\n\t\t\tbackground: S ? `${d.defaults.BORDER_LIGHT}` : `${d.defaults.WHITE}`,\n\t\t\tborder: C,\n\t\t\tboxSizing: \"border-box\",\n\t\t\tborderRadius: \"3px\",\n\t\t\toverflow: \"hidden\",\n\t\t\tposition: \"relative\",\n\t\t\tpadding: \"8px 8px 8px 35px\",\n\t\t\twidth: h ? h.width : void 0,\n\t\t\theight: h ? h.height : void 0,\n\t\t\ttouchAction: \"none\"\n\t\t},\n\t\t\"data-key\": e.index,\n\t\tcontentEditable: !1,\n\t\tchildren: [\n\t\t\tx && /* @__PURE__ */ s(t, {\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\ttop: \"6px\",\n\t\t\t\t\tleft: \"15px\",\n\t\t\t\t\tcolor: \"#9B9B9B\"\n\t\t\t\t},\n\t\t\t\tcontentEditable: !1\n\t\t\t}),\n\t\t\t/* @__PURE__ */ s(\"span\", { dangerouslySetInnerHTML: { __html: b } }),\n\t\t\ta\n\t\t]\n\t});\n}\nm.propTypes = {\n\tn: o.object,\n\tchildren: o.node,\n\tisDragging: o.bool,\n\tisOver: o.bool,\n\tdragItem: o.object,\n\tvalue: o.object,\n\tselected: o.bool\n};\nfunction h({ value: t, disabled: n, instanceId: r, children: i, n: a, onChange: o, removeResponse: c, duplicates: d, pos: f, selected: h }) {\n\tlet { attributes: g, listeners: _, setNodeRef: v, isDragging: y } = l({\n\t\tid: `drag-${a.index}`,\n\t\tdisabled: n || !t?.value,\n\t\tdata: {\n\t\t\tid: `drag-${a.index}`,\n\t\t\tvalue: t,\n\t\t\tinstanceId: r,\n\t\t\tn: a,\n\t\t\tpos: f,\n\t\t\topts: { duplicates: d },\n\t\t\ttype: \"drag-in-the-blank-placed-choice\",\n\t\t\tfromChoice: !t,\n\t\t\tonRemove: (e) => c(e),\n\t\t\tonDrop: (e, t) => {\n\t\t\t\tt?.type === \"drag-in-the-blank-drop-choice\" && (o(e), !d && e.fromChoice && c(e));\n\t\t\t}\n\t\t}\n\t}), { setNodeRef: b, isOver: x, active: S } = u({\n\t\tid: `drop-${a.index}`,\n\t\tdata: {\n\t\t\ttype: \"drag-in-the-blank-drop-choice\",\n\t\t\taccepts: [\"drag-in-the-blank-choice\", \"drag-in-the-blank-placed-choice\"],\n\t\t\tinstanceId: r,\n\t\t\tvalue: t,\n\t\t\tid: `drop-${a.index}`,\n\t\t\tpos: f,\n\t\t\tn: a,\n\t\t\topts: { duplicates: d },\n\t\t\tonDrop: (e, t) => {\n\t\t\t\tif (t?.type === \"drag-in-the-blank-drop-choice\" && e.value.id !== t.value.id) {\n\t\t\t\t\tif (e.type === \"drag-in-the-blank-choice\") {\n\t\t\t\t\t\to(e), !d && e.fromChoice && c(e);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\te.type === \"drag-in-the-blank-placed-choice\" && (c(t), o(e), setTimeout(() => c(e), 10));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}), C = (e) => {\n\t\tv(e), b(e);\n\t}, w = /* @__PURE__ */ s(m, {\n\t\tn: a,\n\t\tisDragging: y,\n\t\tisOver: x,\n\t\tdragItem: S?.data?.current,\n\t\tvalue: t,\n\t\tselected: h,\n\t\tchildren: i\n\t}), T = t ? /* @__PURE__ */ s(\"span\", {\n\t\tref: C,\n\t\t...g,\n\t\t..._,\n\t\tchildren: w\n\t}) : /* @__PURE__ */ s(\"span\", {\n\t\tref: b,\n\t\tchildren: w\n\t});\n\treturn /* @__PURE__ */ s(p, {\n\t\tclassName: e(x && \"over\"),\n\t\tchildren: T\n\t});\n}\nh.propTypes = {\n\tvalue: o.object,\n\tdisabled: o.bool,\n\tinstanceId: o.string,\n\tchildren: o.node,\n\tn: o.object.isRequired,\n\tonChange: o.func.isRequired,\n\tremoveResponse: o.func.isRequired,\n\tduplicates: o.bool,\n\tselected: o.bool\n};\n//#endregion\nexport { m as BlankContent, h as default };\n","import e from \"./choice.js\";\nimport \"react\";\nimport { omit as t } from \"@pie-element/shared-lodash\";\nimport { NodeViewWrapper as n } from \"@tiptap/react\";\nimport r from \"prop-types\";\nimport { jsx as i } from \"react/jsx-runtime\";\n//#region src/components/respArea/DragInTheBlank/DragInTheBlank.tsx\nvar a = (e, t, n, r) => {\n\tlet { tr: i } = e.state;\n\ti.setNodeMarkup(n, void 0, {\n\t\t...t.attrs,\n\t\t...r.value\n\t}), i.isDone = !0, e.view.dispatch(i);\n}, o = (e, n, r) => {\n\tlet { tr: i } = e.state;\n\ti.setNodeMarkup(r.pos, void 0, t(n.attrs, [\"value\", \"id\"])), i.isDone = !0, e.view.dispatch(i);\n}, s = (t) => {\n\tlet { editor: r, node: s, getPos: c, options: l, selected: u } = t, { attrs: d } = s, { inTable: f } = d, p = c();\n\treturn /* @__PURE__ */ i(n, {\n\t\tclassName: \"drag-in-the-blank\",\n\t\t\"data-selected\": u,\n\t\tstyle: {\n\t\t\tdisplay: \"inline\",\n\t\t\twhiteSpace: \"normal\"\n\t\t},\n\t\tchildren: /* @__PURE__ */ i(\"span\", {\n\t\t\t...d,\n\t\t\tstyle: {\n\t\t\t\tdisplay: \"inline-flex\",\n\t\t\t\tminHeight: \"50px\",\n\t\t\t\tminWidth: \"178px\",\n\t\t\t\tposition: \"relative\",\n\t\t\t\tmargin: f ? \"10px\" : \"0 10px\",\n\t\t\t\tcursor: \"pointer\"\n\t\t\t},\n\t\t\tchildren: /* @__PURE__ */ i(e, {\n\t\t\t\tn: d,\n\t\t\t\tdragKey: d.id,\n\t\t\t\ttargetId: \"0\",\n\t\t\t\tpos: p,\n\t\t\t\tvalue: d,\n\t\t\t\tduplicates: l.duplicates,\n\t\t\t\tselected: u,\n\t\t\t\tonChange: (e) => a(r, s, p, e),\n\t\t\t\tremoveResponse: (e) => o(r, s, e)\n\t\t\t})\n\t\t})\n\t});\n};\ns.propTypes = {\n\tattributes: r.object,\n\tdata: r.object,\n\tn: r.object,\n\tnodeProps: r.object,\n\topts: r.object\n};\n//#endregion\nexport { s as default, o as onRemoveResponse, a as onValueChange };\n","import e from \"../../extensions/custom-toolbar-wrapper.js\";\nimport { setToolbarOpened as t } from \"../../utils/toolbar.js\";\nimport { Chevron as n } from \"../icons/RespArea.js\";\nimport r, { useEffect as i, useRef as a, useState as o } from \"react\";\nimport { NodeViewWrapper as s } from \"@tiptap/react\";\nimport { NodeSelection as c } from \"prosemirror-state\";\nimport l from \"react-dom\";\nimport u from \"prop-types\";\nimport { jsx as d, jsxs as f } from \"react/jsx-runtime\";\nimport { renderMath as p } from \"@pie-element/shared-math-rendering-mathjax\";\n//#region src/components/respArea/InlineDropdown.tsx\nvar m = (u) => {\n\tlet { editor: m, node: h, getPos: g, options: _, selected: v } = u, { attrs: y } = h, { value: b, error: x } = y, S = b || \"<div>&nbsp</div>\", C = g(), w = a(null), T = a(null), E = a(!1), D = a(null), O = () => m._holdInlineDropdownToolbarIndex != null && String(m._holdInlineDropdownToolbarIndex) === String(h.attrs.index), [k, A] = o(!1), [j, M] = o({\n\t\ttop: 0,\n\t\tleft: 0\n\t}), N = () => {\n\t\tO() || (A(!1), _.onInlineDropdownToolbarClose?.(m));\n\t}, P = _.respAreaToolbar([h, C], m, N), F = () => {\n\t\tlet { tr: e } = m.state, t = e.doc.nodeAt(C);\n\t\tif (!t) return;\n\t\tlet { selection: n } = e;\n\t\tn.from === C && n.to === C + t.nodeSize || (e.setSelection(c.create(e.doc, C)), m.view.dispatch(e));\n\t}, I = () => {\n\t\tE.current || (_.onToolbarCloseRequest ? (E.current = !0, _.onToolbarCloseRequest([h, C], m, () => {\n\t\t\tE.current = !1, delete m._holdInlineDropdownToolbarIndex, N();\n\t\t}, () => {\n\t\t\tE.current = !1, delete m._holdInlineDropdownToolbarIndex, A(!0), setTimeout(F, 0);\n\t\t})) : N());\n\t};\n\ti(() => {\n\t\tlet { selection: e } = m.state, t = e.from + h.nodeSize === e.to;\n\t\tv ? t && A(!0) : k && I();\n\t}, [\n\t\tm,\n\t\th,\n\t\tv\n\t]);\n\tlet L = (e) => e.clientX > document.documentElement.clientWidth || e.clientY > document.documentElement.clientHeight || e.target === document.documentElement;\n\treturn i(() => {\n\t\tD.current && typeof p == \"function\" && p(D.current);\n\t}, [b]), i(() => {\n\t\tlet e = document.body.getBoundingClientRect(), { from: t } = m.state.selection, n = m.view.coordsAtPos(t);\n\t\tM({\n\t\t\ttop: n.top + Math.abs(e.top) + 40,\n\t\t\tleft: n.left\n\t\t});\n\t\tlet r = (e) => {\n\t\t\tif (L(e)) return;\n\t\t\tlet t = e.target.closest(\"[data-toolbar-for]\");\n\t\t\t!e.target.closest(\"[data-inline-dropdown-toolbar]\") && (!t || t.dataset.toolbarFor !== T.current?.instanceId) && !m._toolbarOpened && w.current && !w.current.contains(e.target) && !e.target.closest(\"[data-inline-node]\") && I();\n\t\t};\n\t\treturn k ? document.addEventListener(\"mousedown\", r) : document.removeEventListener(\"mousedown\", r), () => document.removeEventListener(\"mousedown\", r);\n\t}, [k, h]), /* @__PURE__ */ f(s, {\n\t\tclassName: \"inline-dropdown\",\n\t\t\"data-selected\": v,\n\t\tstyle: {\n\t\t\tdisplay: \"inline-flex\",\n\t\t\theight: \"50px\",\n\t\t\tcursor: \"pointer\"\n\t\t},\n\t\tchildren: [/* @__PURE__ */ f(\"div\", {\n\t\t\tref: D,\n\t\t\tstyle: {\n\t\t\t\tdisplay: \"inline-flex\",\n\t\t\t\tminWidth: \"178px\",\n\t\t\t\theight: \"36px\",\n\t\t\t\tbackground: \"#FFF\",\n\t\t\t\tborder: \"1px solid #C0C3CF\",\n\t\t\t\tboxSizing: \"border-box\",\n\t\t\t\tborderRadius: \"3px\",\n\t\t\t\tmargin: \"0 2px\",\n\t\t\t\tposition: \"relative\",\n\t\t\t\talignItems: \"center\"\n\t\t\t},\n\t\t\tonClick: () => A(!0),\n\t\t\tchildren: [/* @__PURE__ */ d(\"div\", {\n\t\t\t\tstyle: {\n\t\t\t\t\tflex: 1,\n\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\tpadding: \"0 25px 0 8px\",\n\t\t\t\t\twhiteSpace: \"nowrap\",\n\t\t\t\t\ttextOverflow: \"ellipsis\"\n\t\t\t\t},\n\t\t\t\tchildren: /* @__PURE__ */ d(\"span\", {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tdisplay: \"inline-block\",\n\t\t\t\t\t\tverticalAlign: \"middle\"\n\t\t\t\t\t},\n\t\t\t\t\tdangerouslySetInnerHTML: { __html: S }\n\t\t\t\t})\n\t\t\t}), /* @__PURE__ */ d(n, {\n\t\t\t\tdirection: \"down\",\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\ttop: \"5px\",\n\t\t\t\t\tright: \"5px\"\n\t\t\t\t}\n\t\t\t})]\n\t\t}), k && /* @__PURE__ */ f(r.Fragment, { children: [l.createPortal(/* @__PURE__ */ d(\"div\", {\n\t\t\tref: w,\n\t\t\tchildren: /* @__PURE__ */ d(P, { editorCallback: (e) => {\n\t\t\t\tT.current = e;\n\t\t\t} })\n\t\t}), m?._tiptapContainerEl || document.body), m._tiptapContainerEl && l.createPortal(/* @__PURE__ */ d(e, {\n\t\t\tdeletable: !0,\n\t\t\ttoolbarOpts: { minWidth: \"auto\" },\n\t\t\tautoWidth: !0,\n\t\t\tstyle: {\n\t\t\t\ttop: -40,\n\t\t\t\tleft: 0,\n\t\t\t\tright: 0\n\t\t\t},\n\t\t\tonDelete: () => {\n\t\t\t\tlet { tr: e } = m.state;\n\t\t\t\te.delete(C, C + h.nodeSize), t(m, !1), delete m._holdInlineDropdownToolbarIndex, m.view.dispatch(e), A(!1), m.commands.focus();\n\t\t\t},\n\t\t\tshowDone: !1\n\t\t}), m._tiptapContainerEl)] })]\n\t});\n};\nm.propTypes = {\n\tattributes: u.object,\n\tselectedItem: u.oneOfType([u.string, u.object])\n};\n//#endregion\nexport { m as default };\n","import \"react\";\nimport { NodeViewWrapper as e } from \"@tiptap/react\";\nimport { styled as t } from \"@mui/material/styles\";\nimport n from \"prop-types\";\nimport { jsx as r, jsxs as i } from \"react/jsx-runtime\";\nimport { color as a } from \"@pie-lib/render-ui\";\nimport { mq as o } from \"@pie-lib/math-input\";\n//#region src/components/respArea/MathTemplated.tsx\nvar s = t(\"span\")(() => ({\n\tdisplay: \"inline-flex\",\n\tborder: `1px solid ${a.border()}`,\n\tmargin: \"1px 5px\",\n\tcursor: \"pointer\",\n\talignItems: \"center\",\n\tjustifyContent: \"center\",\n\tminWidth: \"50px\",\n\tminHeight: \"36px\",\n\theight: \"fit-content\"\n})), c = t(\"div\")(() => ({\n\tbackground: a.backgroundDark(),\n\tcolor: a.text(),\n\tdisplay: \"inline-flex\",\n\tborderRight: `2px solid ${a.border()}`,\n\tboxSizing: \"border-box\",\n\toverflow: \"hidden\",\n\tfontSize: \"12px\",\n\tminHeight: \"36px\",\n\theight: \"100%\",\n\talignItems: \"center\",\n\tfontFamily: \"Symbola, Times New Roman, serif\",\n\tpadding: \"0 2px\"\n})), l = t(\"div\")(() => ({\n\tflex: 8,\n\tcolor: \"var(--pie-text, black)\",\n\tpadding: \"4px !important\",\n\tdisplay: \"flex\",\n\talignItems: \"center\",\n\tjustifyContent: \"center\",\n\tbackgroundColor: \"var(--pie-background, rgba(255, 255, 255, 0))\",\n\t\"& > .mq-math-mode sup.mq-nthroot\": {\n\t\tfontSize: \"70% !important\",\n\t\tverticalAlign: \"1em !important\"\n\t},\n\t\"& > .mq-math-mode .mq-sqrt-stem\": {\n\t\tborderTop: \"0.07em solid\",\n\t\tmarginLeft: \"-1.5px\",\n\t\tmarginTop: \"-2px !important\",\n\t\tpaddingTop: \"5px !important\"\n\t},\n\t\"& .mq-overarrow-inner\": {\n\t\tpaddingTop: \"0 !important\",\n\t\tborder: \"none !important\"\n\t},\n\t\"& .mq-overarrow.mq-arrow-both\": {\n\t\tmarginTop: \"0px\",\n\t\tminWidth: \"1.23em\",\n\t\t\"& *\": { lineHeight: \"1 !important\" },\n\t\t\"&:before\": {\n\t\t\ttop: \"-0.4em\",\n\t\t\tleft: \"-1px\"\n\t\t},\n\t\t\"&:after\": {\n\t\t\ttop: \"0px !important\",\n\t\t\tposition: \"absolute !important\",\n\t\t\tright: \"-2px\"\n\t\t},\n\t\t\"&.mq-empty:after\": { top: \"-0.45em\" }\n\t},\n\t\"& .mq-overarrow.mq-arrow-right\": { \"&:before\": {\n\t\ttop: \"-0.4em\",\n\t\tright: \"-1px\"\n\t} },\n\t\"& .mq-overarrow-inner-right\": { display: \"none !important\" },\n\t\"& .mq-overarrow-inner-left\": { display: \"none !important\" }\n})), u = (t) => {\n\tlet { node: n, options: a, selected: u } = t, { attrs: d } = n, { value: f, index: p } = d, m = `R ${parseInt(p) + 1}`;\n\treturn /* @__PURE__ */ r(e, {\n\t\tclassName: \"math-templated\",\n\t\t\"data-selected\": u,\n\t\tstyle: {\n\t\t\tdisplay: \"inline-flex\",\n\t\t\tminHeight: \"36px\",\n\t\t\tminWidth: \"50px\",\n\t\t\tcursor: \"pointer\"\n\t\t},\n\t\tchildren: /* @__PURE__ */ i(s, {\n\t\t\t...d,\n\t\t\tchildren: [/* @__PURE__ */ r(c, { children: m }), /* @__PURE__ */ r(l, { children: /* @__PURE__ */ r(o.Static, { latex: f }) })]\n\t\t})\n\t});\n};\nu.propTypes = {\n\tattributes: n.object,\n\tvalue: n.string,\n\tkeyToDisplay: n.string\n};\n//#endregion\nexport { u as default };\n","import e from \"../components/respArea/ExplicitConstructedResponse.js\";\nimport t from \"../components/respArea/DragInTheBlank/DragInTheBlank.js\";\nimport n from \"../components/respArea/InlineDropdown.js\";\nimport r from \"../components/respArea/MathTemplated.js\";\nimport \"react\";\nimport { Node as i, ReactNodeViewRenderer as a } from \"@tiptap/react\";\nimport { Extension as o } from \"@tiptap/core\";\nimport { NodeSelection as s, Plugin as c, PluginKey as l, TextSelection as u } from \"prosemirror-state\";\nimport { jsx as d } from \"react/jsx-runtime\";\n//#region src/extensions/responseArea.tsx\nvar f = {}, p = (e) => String(e || \"\").replace(/-/g, \"_\"), m = (e) => e && e.attrs && e.attrs.index != null ? String(e.attrs.index) : null, h = (e, t) => {\n\tlet n = [];\n\treturn e.descendants((e, r) => {\n\t\tif (e.type && e.type.name === t) {\n\t\t\tlet t = m(e);\n\t\t\tt != null && n.push({\n\t\t\t\tindex: t,\n\t\t\t\tpos: r,\n\t\t\t\tnode: e\n\t\t\t});\n\t\t}\n\t\treturn !0;\n\t}), n;\n}, g = (e, t) => {\n\tlet n = 0;\n\treturn e.descendants((e) => (e.type && e.type.name === t && (n += 1), !0)), n;\n}, _ = ({ schema: e, typeName: t, index: n }) => {\n\tlet r = e.nodes[t];\n\treturn r ? r.create({\n\t\tindex: String(n),\n\t\tid: String(n),\n\t\tvalue: \"\"\n\t}) : null;\n}, v = (e, t) => {\n\tlet n = e.resolve(Math.min(t, e.content.size));\n\treturn u.near(n, 1);\n}, y = o.create({\n\tname: \"responseArea\",\n\taddOptions() {\n\t\treturn {\n\t\t\tmaxResponseAreas: null,\n\t\t\terror: null,\n\t\t\toptions: null,\n\t\t\trespAreaToolbar: null,\n\t\t\tonHandleAreaChange: null\n\t\t};\n\t},\n\taddProseMirrorPlugins() {\n\t\tif (!this.options.type) return [];\n\t\tlet e = p(this.options.type);\n\t\treturn [new c({\n\t\t\tkey: new l(`response-area-watcher:${e}`),\n\t\t\tview: (t) => (f[e] === void 0 && (f[e] = 0, t.state.doc.descendants((t) => {\n\t\t\t\tif (t.type && t.type.name === e) {\n\t\t\t\t\tlet n = m(t);\n\t\t\t\t\tif (n != null) {\n\t\t\t\t\t\tlet t = parseInt(n, 10);\n\t\t\t\t\t\t!Number.isNaN(t) && t > f[e] && (f[e] = t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn !0;\n\t\t\t})), { update: (t, n) => {\n\t\t\t\tlet r = t.state;\n\t\t\t\tif (n.doc.eq(r.doc)) return;\n\t\t\t\tlet i = h(r.doc, e), a = h(n.doc, e);\n\t\t\t\tif (this.options.toolbar && (this.options.toolbar.disabled = i.length >= this.options.maxResponseAreas), a.length > i.length) {\n\t\t\t\t\tlet e = new Set(i.map((e) => e.index)), t = a.filter((t) => !e.has(t.index));\n\t\t\t\t\tt.length && typeof this.options.onHandleAreaChange == \"function\" && this.options.onHandleAreaChange(t);\n\t\t\t\t}\n\t\t\t} })\n\t\t})];\n\t},\n\taddCommands() {\n\t\treturn {\n\t\t\tinsertResponseArea: (e) => ({ tr: t, state: n, dispatch: r, commands: i }) => {\n\t\t\t\tlet a = p(e);\n\t\t\t\tif (g(n.doc, a) >= this.options.maxResponseAreas) return !1;\n\t\t\t\tf[a] === void 0 && (f[a] = 0);\n\t\t\t\tlet o = f[a] + 1;\n\t\t\t\tf[a] += 1;\n\t\t\t\tlet c = _({\n\t\t\t\t\tschema: n.schema,\n\t\t\t\t\ttypeName: a,\n\t\t\t\t\tindex: o\n\t\t\t\t});\n\t\t\t\tif (!c) return !1;\n\t\t\t\tlet { selection: l } = n, u = l.from, d = (e) => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\treturn t.insert(e, c), e;\n\t\t\t\t\t} catch {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t}, m = d(u);\n\t\t\t\tif (m ??= d(t.doc.content.size), m == null) return !1;\n\t\t\t\tif ([\"inline_dropdown\", \"explicit_constructed_response\"].includes(a)) t.setSelection(s.create(t.doc, m));\n\t\t\t\telse {\n\t\t\t\t\tlet e = m + c.nodeSize;\n\t\t\t\t\tt.setSelection(v(t.doc, e));\n\t\t\t\t}\n\t\t\t\treturn r && (i.focus(), r(t)), !0;\n\t\t\t},\n\t\t\trefreshResponseArea: () => ({ tr: e, state: t, commands: n, dispatch: r }) => {\n\t\t\t\tlet { selection: i } = t, a = i.$from.nodeAfter, o = i.from;\n\t\t\t\treturn e.setNodeMarkup(o, void 0, {\n\t\t\t\t\t...a?.attrs,\n\t\t\t\t\tupdated: `${Date.now()}`\n\t\t\t\t}), e.setSelection(s.create(e.doc, o)), r && (n.focus(), r(e)), !0;\n\t\t\t}\n\t\t};\n\t}\n}), b = i.create({\n\tname: \"explicit_constructed_response\",\n\tgroup: \"inline\",\n\tinline: !0,\n\tatom: !0,\n\taddAttributes() {\n\t\treturn {\n\t\t\tindex: { default: null },\n\t\t\tvalue: { default: \"\" },\n\t\t\tupdated: { default: \"\" }\n\t\t};\n\t},\n\tparseHTML() {\n\t\treturn [{\n\t\t\ttag: \"span[data-type=\\\"explicit_constructed_response\\\"]\",\n\t\t\tgetAttrs: (e) => ({\n\t\t\t\tindex: e.dataset.index,\n\t\t\t\tvalue: e.dataset.value\n\t\t\t})\n\t\t}];\n\t},\n\trenderHTML({ HTMLAttributes: e }) {\n\t\treturn [\"span\", {\n\t\t\t\"data-type\": \"explicit_constructed_response\",\n\t\t\t\"data-index\": e.index,\n\t\t\t\"data-value\": e.value\n\t\t}];\n\t},\n\taddNodeView() {\n\t\treturn a((t) => /* @__PURE__ */ d(e, {\n\t\t\t...t,\n\t\t\toptions: this.options\n\t\t}));\n\t}\n}), x = i.create({\n\tname: \"math_templated\",\n\tgroup: \"inline\",\n\tinline: !0,\n\tatom: !0,\n\taddAttributes() {\n\t\treturn {\n\t\t\tindex: { default: null },\n\t\t\tvalue: { default: \"\" },\n\t\t\tupdated: { default: \"\" }\n\t\t};\n\t},\n\tparseHTML() {\n\t\treturn [{\n\t\t\ttag: \"span[data-type=\\\"math_templated\\\"]\",\n\t\t\tgetAttrs: (e) => ({\n\t\t\t\tindex: e.dataset.index,\n\t\t\t\tvalue: e.dataset.value\n\t\t\t})\n\t\t}];\n\t},\n\trenderHTML({ HTMLAttributes: e }) {\n\t\treturn [\"span\", {\n\t\t\t\"data-type\": \"math_templated\",\n\t\t\t\"data-index\": e.index,\n\t\t\t\"data-value\": e.value\n\t\t}];\n\t},\n\taddNodeView() {\n\t\treturn a((e) => /* @__PURE__ */ d(r, {\n\t\t\t...e,\n\t\t\toptions: this.options\n\t\t}));\n\t}\n}), S = i.create({\n\tname: \"drag_in_the_blank\",\n\tgroup: \"inline\",\n\tinline: !0,\n\tatom: !0,\n\taddAttributes() {\n\t\treturn {\n\t\t\tindex: { default: null },\n\t\t\tid: { default: null },\n\t\t\tvalue: { default: \"\" },\n\t\t\tinTable: { default: null },\n\t\t\tupdated: { default: \"\" }\n\t\t};\n\t},\n\tparseHTML() {\n\t\treturn [{\n\t\t\ttag: \"span[data-type=\\\"drag_in_the_blank\\\"]\",\n\t\t\tgetAttrs: (e) => ({\n\t\t\t\tindex: e.dataset.index,\n\t\t\t\tid: e.dataset.id,\n\t\t\t\tvalue: e.dataset.value,\n\t\t\t\tinTable: e.dataset.inTable\n\t\t\t})\n\t\t}];\n\t},\n\trenderHTML({ HTMLAttributes: e }) {\n\t\treturn [\"span\", {\n\t\t\t\"data-type\": \"drag_in_the_blank\",\n\t\t\t\"data-index\": e.index,\n\t\t\t\"data-id\": e.id,\n\t\t\t\"data-value\": e.value,\n\t\t\t\"data-in-table\": e.inTable\n\t\t}];\n\t},\n\taddNodeView() {\n\t\treturn a((e) => /* @__PURE__ */ d(t, {\n\t\t\t...e,\n\t\t\toptions: this.options\n\t\t}));\n\t}\n}), C = i.create({\n\tname: \"inline_dropdown\",\n\tgroup: \"inline\",\n\tinline: !0,\n\tatom: !0,\n\taddAttributes() {\n\t\treturn {\n\t\t\tindex: { default: null },\n\t\t\tvalue: { default: \"\" },\n\t\t\tupdated: { default: \"\" }\n\t\t};\n\t},\n\tparseHTML() {\n\t\treturn [{\n\t\t\ttag: \"span[data-type=\\\"inline_dropdown\\\"]\",\n\t\t\tgetAttrs: (e) => ({\n\t\t\t\tindex: e.dataset.index,\n\t\t\t\tvalue: e.dataset.value\n\t\t\t})\n\t\t}];\n\t},\n\trenderHTML({ HTMLAttributes: e }) {\n\t\treturn [\"span\", {\n\t\t\t\"data-type\": \"inline_dropdown\",\n\t\t\t\"data-index\": e.index,\n\t\t\t\"data-value\": e.value\n\t\t}];\n\t},\n\taddNodeView() {\n\t\treturn a((e) => /* @__PURE__ */ d(n, {\n\t\t\t...e,\n\t\t\toptions: this.options\n\t\t}));\n\t}\n});\n//#endregion\nexport { S as DragInTheBlankNode, b as ExplicitConstructedResponseNode, C as InlineDropdownNode, x as MathTemplatedNode, y as ResponseAreaExtension };\n","//#region src/utils.ts\nvar e = () => {\n\tdocument.querySelectorAll(\".mq-supsub.mq-sup-only\").forEach((e) => {\n\t\tlet t = e.previousElementSibling;\n\t\tt && t.classList.contains(\"mq-non-leaf\") && t.querySelector(\".mq-fraction\") ? e.classList.add(\"mq-after-fraction-group\") : e.classList.remove(\"mq-after-fraction-group\");\n\t});\n};\n//#endregion\nexport { e as markFractionBaseSuperscripts };\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getDividerUtilityClass(slot) {\n return generateUtilityClass('MuiDivider', slot);\n}\nconst dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);\nexport default dividerClasses;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getListItemIconUtilityClass(slot) {\n return generateUtilityClass('MuiListItemIcon', slot);\n}\nconst listItemIconClasses = generateUtilityClasses('MuiListItemIcon', ['root', 'alignItemsFlexStart']);\nexport default listItemIconClasses;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTypographyUtilityClass(slot) {\n return generateUtilityClass('MuiTypography', slot);\n}\nconst typographyClasses = generateUtilityClasses('MuiTypography', ['root', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'subtitle1', 'subtitle2', 'body1', 'body2', 'inherit', 'button', 'caption', 'overline', 'alignLeft', 'alignRight', 'alignCenter', 'alignJustify', 'noWrap', 'gutterBottom', 'paragraph']);\nexport default typographyClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled, internal_createExtendSxProp } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport capitalize from \"../utils/capitalize.js\";\nimport createSimplePaletteValueFilter from \"../utils/createSimplePaletteValueFilter.js\";\nimport { getTypographyUtilityClass } from \"./typographyClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst v6Colors = {\n primary: true,\n secondary: true,\n error: true,\n info: true,\n success: true,\n warning: true,\n textPrimary: true,\n textSecondary: true,\n textDisabled: true\n};\nconst extendSxProp = internal_createExtendSxProp();\nconst useUtilityClasses = ownerState => {\n const {\n align,\n gutterBottom,\n noWrap,\n paragraph,\n variant,\n classes\n } = ownerState;\n const slots = {\n root: ['root', variant, ownerState.align !== 'inherit' && `align${capitalize(align)}`, gutterBottom && 'gutterBottom', noWrap && 'noWrap', paragraph && 'paragraph']\n };\n return composeClasses(slots, getTypographyUtilityClass, classes);\n};\nexport const TypographyRoot = styled('span', {\n name: 'MuiTypography',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.variant && styles[ownerState.variant], ownerState.align !== 'inherit' && styles[`align${capitalize(ownerState.align)}`], ownerState.noWrap && styles.noWrap, ownerState.gutterBottom && styles.gutterBottom, ownerState.paragraph && styles.paragraph];\n }\n})(memoTheme(({\n theme\n}) => ({\n margin: 0,\n variants: [{\n props: {\n variant: 'inherit'\n },\n style: {\n // Some elements, like <button> on Chrome have default font that doesn't inherit, reset this.\n font: 'inherit',\n lineHeight: 'inherit',\n letterSpacing: 'inherit'\n }\n }, ...Object.entries(theme.typography).filter(([variant, value]) => variant !== 'inherit' && value && typeof value === 'object').map(([variant, value]) => ({\n props: {\n variant\n },\n style: value\n })), ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({\n props: {\n color\n },\n style: {\n color: (theme.vars || theme).palette[color].main\n }\n })), ...Object.entries(theme.palette?.text || {}).filter(([, value]) => typeof value === 'string').map(([color]) => ({\n props: {\n color: `text${capitalize(color)}`\n },\n style: {\n color: (theme.vars || theme).palette.text[color]\n }\n })), {\n props: ({\n ownerState\n }) => ownerState.align !== 'inherit',\n style: {\n textAlign: 'var(--Typography-textAlign)'\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.noWrap,\n style: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.gutterBottom,\n style: {\n marginBottom: '0.35em'\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.paragraph,\n style: {\n marginBottom: 16\n }\n }]\n})));\nconst defaultVariantMapping = {\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n h4: 'h4',\n h5: 'h5',\n h6: 'h6',\n subtitle1: 'h6',\n subtitle2: 'h6',\n body1: 'p',\n body2: 'p',\n inherit: 'p'\n};\nconst Typography = /*#__PURE__*/React.forwardRef(function Typography(inProps, ref) {\n const {\n color,\n ...themeProps\n } = useDefaultProps({\n props: inProps,\n name: 'MuiTypography'\n });\n const isSxColor = !v6Colors[color];\n // TODO: Remove `extendSxProp` in v7\n const props = extendSxProp({\n ...themeProps,\n ...(isSxColor && {\n color\n })\n });\n const {\n align = 'inherit',\n className,\n component,\n gutterBottom = false,\n noWrap = false,\n paragraph = false,\n variant = 'body1',\n variantMapping = defaultVariantMapping,\n ...other\n } = props;\n const ownerState = {\n ...props,\n align,\n color,\n className,\n component,\n gutterBottom,\n noWrap,\n paragraph,\n variant,\n variantMapping\n };\n const Component = component || (paragraph ? 'p' : variantMapping[variant] || defaultVariantMapping[variant]) || 'span';\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(TypographyRoot, {\n as: Component,\n ref: ref,\n className: clsx(classes.root, className),\n ...other,\n ownerState: ownerState,\n style: {\n ...(align !== 'inherit' && {\n '--Typography-textAlign': align\n }),\n ...other.style\n }\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Typography.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Set the text-align on the component.\n * @default 'inherit'\n */\n align: PropTypes.oneOf(['center', 'inherit', 'justify', 'left', 'right']),\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary', 'success', 'error', 'info', 'warning', 'textPrimary', 'textSecondary', 'textDisabled']), PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the text will have a bottom margin.\n * @default false\n */\n gutterBottom: PropTypes.bool,\n /**\n * If `true`, the text will not wrap, but instead will truncate with a text overflow ellipsis.\n *\n * Note that text overflow can only happen with block or inline-block level elements\n * (the element needs to have a width in order to overflow).\n * @default false\n */\n noWrap: PropTypes.bool,\n /**\n * If `true`, the element will be a paragraph element.\n * @default false\n * @deprecated Use the `component` prop instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n paragraph: PropTypes.bool,\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Applies the theme typography styles.\n * @default 'body1'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['body1', 'body2', 'button', 'caption', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'inherit', 'overline', 'subtitle1', 'subtitle2']), PropTypes.string]),\n /**\n * The component maps the variant prop to a range of different HTML element types.\n * For instance, subtitle1 to `<h6>`.\n * If you wish to change that mapping, you can provide your own.\n * Alternatively, you can use the `component` prop.\n * @default {\n * h1: 'h1',\n * h2: 'h2',\n * h3: 'h3',\n * h4: 'h4',\n * h5: 'h5',\n * h6: 'h6',\n * subtitle1: 'h6',\n * subtitle2: 'h6',\n * body1: 'p',\n * body2: 'p',\n * inherit: 'p',\n * }\n */\n variantMapping: PropTypes /* @typescript-to-proptypes-ignore */.object\n} : void 0;\nexport default Typography;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getListItemTextUtilityClass(slot) {\n return generateUtilityClass('MuiListItemText', slot);\n}\nconst listItemTextClasses = generateUtilityClasses('MuiListItemText', ['root', 'multiline', 'dense', 'inset', 'primary', 'secondary']);\nexport default listItemTextClasses;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getMenuItemUtilityClass(slot) {\n return generateUtilityClass('MuiMenuItem', slot);\n}\nconst menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);\nexport default menuItemClasses;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getNativeSelectUtilityClasses(slot) {\n return generateUtilityClass('MuiNativeSelect', slot);\n}\nconst nativeSelectClasses = generateUtilityClasses('MuiNativeSelect', ['root', 'select', 'multiple', 'filled', 'outlined', 'standard', 'disabled', 'icon', 'iconOpen', 'iconFilled', 'iconOutlined', 'iconStandard', 'nativeInput', 'error']);\nexport default nativeSelectClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport capitalize from \"../utils/capitalize.js\";\nimport nativeSelectClasses, { getNativeSelectUtilityClasses } from \"./nativeSelectClasses.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport rootShouldForwardProp from \"../styles/rootShouldForwardProp.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant,\n disabled,\n multiple,\n open,\n error\n } = ownerState;\n const slots = {\n select: ['select', variant, disabled && 'disabled', multiple && 'multiple', error && 'error'],\n icon: ['icon', `icon${capitalize(variant)}`, open && 'iconOpen', disabled && 'disabled']\n };\n return composeClasses(slots, getNativeSelectUtilityClasses, classes);\n};\nexport const StyledSelectSelect = styled('select', {\n name: 'MuiNativeSelect'\n})(({\n theme\n}) => ({\n // Reset\n MozAppearance: 'none',\n // Reset\n WebkitAppearance: 'none',\n // When interacting quickly, the text can end up selected.\n // Native select can't be selected either.\n userSelect: 'none',\n // Reset\n borderRadius: 0,\n cursor: 'pointer',\n '&:focus': {\n // Reset Chrome style\n borderRadius: 0\n },\n [`&.${nativeSelectClasses.disabled}`]: {\n cursor: 'default'\n },\n '&[multiple]': {\n height: 'auto'\n },\n '&:not([multiple]) option, &:not([multiple]) optgroup': {\n backgroundColor: (theme.vars || theme).palette.background.paper\n },\n variants: [{\n props: ({\n ownerState\n }) => ownerState.variant !== 'filled' && ownerState.variant !== 'outlined',\n style: {\n // Bump specificity to allow extending custom inputs\n '&&&': {\n paddingRight: 24,\n minWidth: 16 // So it doesn't collapse.\n }\n }\n }, {\n props: {\n variant: 'filled'\n },\n style: {\n '&&&': {\n paddingRight: 32\n }\n }\n }, {\n props: {\n variant: 'outlined'\n },\n style: {\n borderRadius: (theme.vars || theme).shape.borderRadius,\n '&:focus': {\n borderRadius: (theme.vars || theme).shape.borderRadius // Reset the reset for Chrome style\n },\n '&&&': {\n paddingRight: 32\n }\n }\n }]\n}));\nconst NativeSelectSelect = styled(StyledSelectSelect, {\n name: 'MuiNativeSelect',\n slot: 'Select',\n shouldForwardProp: rootShouldForwardProp,\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.select, styles[ownerState.variant], ownerState.error && styles.error, {\n [`&.${nativeSelectClasses.multiple}`]: styles.multiple\n }];\n }\n})({});\nexport const StyledSelectIcon = styled('svg', {\n name: 'MuiNativeSelect'\n})(({\n theme\n}) => ({\n // We use a position absolute over a flexbox in order to forward the pointer events\n // to the input and to support wrapping tags..\n position: 'absolute',\n right: 0,\n // Center vertically, height is 1em\n top: 'calc(50% - .5em)',\n // Don't block pointer events on the select under the icon.\n pointerEvents: 'none',\n color: (theme.vars || theme).palette.action.active,\n [`&.${nativeSelectClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled\n },\n variants: [{\n props: ({\n ownerState\n }) => ownerState.open,\n style: {\n transform: 'rotate(180deg)'\n }\n }, {\n props: {\n variant: 'filled'\n },\n style: {\n right: 7\n }\n }, {\n props: {\n variant: 'outlined'\n },\n style: {\n right: 7\n }\n }]\n}));\nconst NativeSelectIcon = styled(StyledSelectIcon, {\n name: 'MuiNativeSelect',\n slot: 'Icon',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.icon, ownerState.variant && styles[`icon${capitalize(ownerState.variant)}`], ownerState.open && styles.iconOpen];\n }\n})({});\n\n/**\n * @ignore - internal component.\n */\nconst NativeSelectInput = /*#__PURE__*/React.forwardRef(function NativeSelectInput(props, ref) {\n const {\n className,\n disabled,\n error,\n IconComponent,\n inputRef,\n variant = 'standard',\n ...other\n } = props;\n const ownerState = {\n ...props,\n disabled,\n variant,\n error\n };\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(NativeSelectSelect, {\n ownerState: ownerState,\n className: clsx(classes.select, className),\n disabled: disabled,\n ref: inputRef || ref,\n ...other\n }), props.multiple ? null : /*#__PURE__*/_jsx(NativeSelectIcon, {\n as: IconComponent,\n ownerState: ownerState,\n className: classes.icon\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? NativeSelectInput.propTypes = {\n /**\n * The option elements to populate the select with.\n * Can be some `<option>` elements.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * The CSS class name of the select element.\n */\n className: PropTypes.string,\n /**\n * If `true`, the select is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the `select input` will indicate an error.\n */\n error: PropTypes.bool,\n /**\n * The icon that displays the arrow.\n */\n IconComponent: PropTypes.elementType.isRequired,\n /**\n * Use that prop to pass a ref to the native select element.\n * @deprecated\n */\n inputRef: refType,\n /**\n * @ignore\n */\n multiple: PropTypes.bool,\n /**\n * Name attribute of the `select` or hidden `input` element.\n */\n name: PropTypes.string,\n /**\n * Callback fired when a menu item is selected.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n */\n onChange: PropTypes.func,\n /**\n * The input value.\n */\n value: PropTypes.any,\n /**\n * The variant to use.\n */\n variant: PropTypes.oneOf(['standard', 'outlined', 'filled'])\n} : void 0;\nexport default NativeSelectInput;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSelectUtilityClasses(slot) {\n return generateUtilityClass('MuiSelect', slot);\n}\nconst selectClasses = generateUtilityClasses('MuiSelect', ['root', 'select', 'multiple', 'filled', 'outlined', 'standard', 'disabled', 'focused', 'icon', 'iconOpen', 'iconFilled', 'iconOutlined', 'iconStandard', 'nativeInput', 'error']);\nexport default selectClasses;","export default function getOpenInteractionType(event) {\n if (!event) {\n return null;\n }\n if (event.type === 'mousedown' || event.type === 'pointerdown' || event.type === 'touchstart') {\n return 'pointer';\n }\n if (event.type === 'keydown' || event.type === 'click' && event.detail === 0) {\n return 'keyboard';\n }\n return null;\n}","export default function isEmpty(display) {\n return display == null || typeof display === 'string' && !display.trim();\n}","export default function areEqualValues(a, b) {\n if (typeof b === 'object' && b !== null) {\n return a === b;\n }\n\n // The value could be a number, the DOM will stringify it anyway.\n return String(a) === String(b);\n}","'use client';\n\nimport * as React from 'react';\nconst SelectFocusSourceContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== 'production') {\n SelectFocusSourceContext.displayName = 'SelectFocusSourceContext';\n}\nfunction useSelectFocusSource() {\n const context = React.useContext(SelectFocusSourceContext);\n return context;\n}\nconst SelectFocusSourceProvider = SelectFocusSourceContext.Provider;\nexport { useSelectFocusSource, SelectFocusSourceProvider };","'use client';\n\nimport _formatErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\nvar _span;\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport useId from '@mui/utils/useId';\nimport refType from '@mui/utils/refType';\nimport ownerDocument from \"../utils/ownerDocument.js\";\nimport capitalize from \"../utils/capitalize.js\";\nimport Menu from \"../Menu/Menu.js\";\nimport { StyledSelectSelect, StyledSelectIcon } from \"../NativeSelect/NativeSelectInput.js\";\nimport { isFilled } from \"../InputBase/utils.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport slotShouldForwardProp from \"../styles/slotShouldForwardProp.js\";\nimport useForkRef from \"../utils/useForkRef.js\";\nimport useControlled from \"../utils/useControlled.js\";\nimport selectClasses, { getSelectUtilityClasses } from \"./selectClasses.js\";\nimport { areEqualValues, isEmpty, getOpenInteractionType } from \"./utils/index.js\";\nimport { SelectFocusSourceProvider } from \"./utils/SelectFocusSourceContext.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst SelectSelect = styled(StyledSelectSelect, {\n name: 'MuiSelect',\n slot: 'Select',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [\n // Win specificity over the input base\n {\n [`&.${selectClasses.select}`]: styles.select\n }, {\n [`&.${selectClasses.select}`]: styles[ownerState.variant]\n }, {\n [`&.${selectClasses.error}`]: styles.error\n }, {\n [`&.${selectClasses.multiple}`]: styles.multiple\n }];\n }\n})({\n // Win specificity over the input base\n [`&.${selectClasses.select}`]: {\n height: 'auto',\n // Resets for multiple select with chips\n minHeight: '1.4375em',\n // Required for select\\text-field height consistency\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n overflow: 'hidden'\n }\n});\nconst SelectIcon = styled(StyledSelectIcon, {\n name: 'MuiSelect',\n slot: 'Icon',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.icon, ownerState.variant && styles[`icon${capitalize(ownerState.variant)}`], ownerState.open && styles.iconOpen];\n }\n})({});\nconst SelectNativeInput = styled('input', {\n shouldForwardProp: prop => slotShouldForwardProp(prop) && prop !== 'classes',\n name: 'MuiSelect',\n slot: 'NativeInput'\n})({\n bottom: 0,\n left: 0,\n position: 'absolute',\n opacity: 0,\n pointerEvents: 'none',\n width: '100%',\n boxSizing: 'border-box'\n});\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant,\n disabled,\n multiple,\n open,\n error\n } = ownerState;\n const slots = {\n select: ['select', variant, disabled && 'disabled', multiple && 'multiple', error && 'error'],\n icon: ['icon', `icon${capitalize(variant)}`, open && 'iconOpen', disabled && 'disabled'],\n nativeInput: ['nativeInput']\n };\n return composeClasses(slots, getSelectUtilityClasses, classes);\n};\n\n/**\n * @ignore - internal component.\n */\nconst SelectInput = /*#__PURE__*/React.forwardRef(function SelectInput(props, ref) {\n const {\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n autoFocus,\n autoWidth,\n children,\n className,\n defaultOpen,\n defaultValue,\n disabled,\n displayEmpty,\n error = false,\n IconComponent,\n inputRef: inputRefProp,\n labelId,\n MenuProps = {},\n multiple,\n name,\n onBlur,\n onChange,\n onClose,\n onFocus,\n // eslint-disable-next-line react/prop-types\n onKeyDown,\n // eslint-disable-next-line react/prop-types\n onMouseDown,\n onOpen,\n open: openProp,\n readOnly,\n renderValue,\n required,\n SelectDisplayProps = {},\n tabIndex: tabIndexProp,\n // catching `type` from Input which makes no sense for SelectInput\n type,\n value: valueProp,\n variant = 'standard',\n ...other\n } = props;\n const [value, setValueState] = useControlled({\n controlled: valueProp,\n default: defaultValue,\n name: 'Select'\n });\n const [openState, setOpenState] = useControlled({\n controlled: openProp,\n default: defaultOpen,\n name: 'Select'\n });\n const inputRef = React.useRef(null);\n const displayRef = React.useRef(null);\n const [displayNode, setDisplayNode] = React.useState(null);\n const {\n current: isOpenControlled\n } = React.useRef(openProp != null);\n const [menuMinWidthState, setMenuMinWidthState] = React.useState();\n const [openInteractionType, setOpenInteractionType] = React.useState(null);\n const handleRef = useForkRef(ref, inputRefProp);\n const handleDisplayRef = React.useCallback(node => {\n displayRef.current = node;\n if (node) {\n setDisplayNode(node);\n }\n }, []);\n const anchorElement = displayNode?.parentNode;\n React.useImperativeHandle(handleRef, () => ({\n focus: () => {\n displayRef.current.focus();\n },\n node: inputRef.current,\n value\n }), [value]);\n const open = displayNode !== null && openState;\n React.useEffect(() => {\n if (!open || !anchorElement || autoWidth) {\n return undefined;\n }\n if (typeof ResizeObserver === 'undefined') {\n return undefined;\n }\n const observer = new ResizeObserver(() => {\n setMenuMinWidthState(anchorElement.clientWidth);\n });\n observer.observe(anchorElement);\n return () => {\n observer.disconnect();\n };\n }, [open, anchorElement, autoWidth]);\n\n // Resize menu on `defaultOpen` automatic toggle.\n React.useEffect(() => {\n if (defaultOpen && openState && displayNode && !isOpenControlled) {\n setMenuMinWidthState(autoWidth ? null : anchorElement.clientWidth);\n displayRef.current.focus();\n }\n // TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [displayNode, autoWidth]);\n // `isOpenControlled` is ignored because the component should never switch between controlled and uncontrolled modes.\n // `defaultOpen` and `openState` are ignored to avoid unnecessary callbacks.\n React.useEffect(() => {\n if (autoFocus) {\n displayRef.current.focus();\n }\n }, [autoFocus]);\n React.useEffect(() => {\n if (!labelId) {\n return undefined;\n }\n const label = ownerDocument(displayRef.current).getElementById(labelId);\n if (label) {\n const handler = () => {\n if (getSelection().isCollapsed) {\n displayRef.current.focus();\n }\n };\n label.addEventListener('click', handler);\n return () => {\n label.removeEventListener('click', handler);\n };\n }\n return undefined;\n }, [labelId]);\n const update = (openParam, event) => {\n if (openParam) {\n setOpenInteractionType(getOpenInteractionType(event));\n if (onOpen) {\n onOpen(event);\n }\n } else {\n setOpenInteractionType(null);\n if (onClose) {\n onClose(event);\n }\n }\n if (!isOpenControlled) {\n setMenuMinWidthState(autoWidth ? null : anchorElement.clientWidth);\n setOpenState(openParam);\n }\n };\n const handleMouseDown = event => {\n onMouseDown?.(event);\n // Ignore everything but left-click\n if (event.button !== 0) {\n return;\n }\n // Hijack the default focus behavior.\n event.preventDefault();\n displayRef.current.focus();\n update(true, event);\n };\n const handleClose = event => {\n update(false, event);\n };\n const childrenArray = React.Children.toArray(children);\n\n // Support autofill.\n const handleChange = event => {\n const child = childrenArray.find(childItem => childItem.props.value === event.target.value);\n if (child === undefined) {\n return;\n }\n setValueState(child.props.value);\n if (onChange) {\n onChange(event, child);\n }\n };\n const handleItemClick = child => event => {\n let newValue;\n\n // We use the tabindex attribute to signal the available options.\n if (!event.currentTarget.hasAttribute('tabindex')) {\n return;\n }\n if (multiple) {\n newValue = Array.isArray(value) ? value.slice() : [];\n const itemIndex = value.indexOf(child.props.value);\n if (itemIndex === -1) {\n newValue.push(child.props.value);\n } else {\n newValue.splice(itemIndex, 1);\n }\n } else {\n newValue = child.props.value;\n }\n if (child.props.onClick) {\n child.props.onClick(event);\n }\n if (value !== newValue) {\n setValueState(newValue);\n if (onChange) {\n // Redefine target to allow name and value to be read.\n // This allows seamless integration with the most popular form libraries.\n // https://github.com/mui/material-ui/issues/13485#issuecomment-676048492\n // Clone the event to not override `target` of the original event.\n const nativeEvent = event.nativeEvent || event;\n const clonedEvent = new nativeEvent.constructor(nativeEvent.type, nativeEvent);\n Object.defineProperty(clonedEvent, 'target', {\n writable: true,\n value: {\n value: newValue,\n name\n }\n });\n onChange(clonedEvent, child);\n }\n }\n if (!multiple) {\n update(false, event);\n }\n };\n const handleKeyDown = event => {\n if (!readOnly) {\n const validKeys = [' ', 'ArrowUp', 'ArrowDown',\n // The native select doesn't respond to enter on macOS, but it's recommended by\n // https://www.w3.org/WAI/ARIA/apg/patterns/combobox/examples/combobox-select-only/\n 'Enter'];\n if (validKeys.includes(event.key)) {\n event.preventDefault();\n update(true, event);\n }\n onKeyDown?.(event);\n }\n };\n const handleBlur = event => {\n // if open event.stopImmediatePropagation\n if (!open && onBlur) {\n // Preact support, target is read only property on a native event.\n Object.defineProperty(event, 'target', {\n writable: true,\n value: {\n value,\n name\n }\n });\n onBlur(event);\n }\n };\n delete other['aria-invalid'];\n let display;\n let displaySingle;\n const displayMultiple = [];\n let computeDisplay = false;\n let foundMatch = false;\n\n // No need to display any value if the field is empty.\n if (isFilled({\n value\n }) || displayEmpty) {\n if (renderValue) {\n display = renderValue(value);\n } else {\n computeDisplay = true;\n }\n }\n const items = childrenArray.map(child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (isFragment(child)) {\n console.error([\"MUI: The Select component doesn't accept a Fragment as a child.\", 'Consider providing an array instead.'].join('\\n'));\n }\n }\n let selected;\n if (multiple) {\n if (!Array.isArray(value)) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'MUI: The `value` prop must be an array ' + 'when using the `Select` component with `multiple`.' : _formatErrorMessage(2));\n }\n selected = value.some(v => areEqualValues(v, child.props.value));\n if (selected && computeDisplay) {\n displayMultiple.push(child.props.children);\n }\n } else {\n selected = areEqualValues(value, child.props.value);\n if (selected && computeDisplay) {\n displaySingle = child.props.children;\n }\n }\n if (selected) {\n foundMatch = true;\n }\n return /*#__PURE__*/React.cloneElement(child, {\n 'aria-selected': selected ? 'true' : 'false',\n onClick: handleItemClick(child),\n onKeyUp: event => {\n if (event.key === ' ') {\n // otherwise our MenuItems dispatches a click event\n // it's not behavior of the native <option> and causes\n // the select to close immediately since we open on space keydown\n event.preventDefault();\n }\n if (child.props.onKeyUp) {\n child.props.onKeyUp(event);\n }\n },\n role: 'option',\n selected,\n value: undefined,\n // The value is most likely not a valid HTML attribute.\n 'data-value': child.props.value // Instead, we provide it as a data attribute.\n });\n });\n if (process.env.NODE_ENV !== 'production') {\n // TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n if (!foundMatch && !multiple && value !== '') {\n const values = childrenArray.map(child => child.props.value);\n console.warn([`MUI: You have provided an out-of-range value \\`${value}\\` for the select ${name ? `(name=\"${name}\") ` : ''}component.`, \"Consider providing a value that matches one of the available options or ''.\", `The available values are ${values.filter(x => x != null).map(x => `\\`${x}\\``).join(', ') || '\"\"'}.`].join('\\n'));\n }\n }, [foundMatch, childrenArray, multiple, name, value]);\n }\n if (computeDisplay) {\n if (multiple) {\n if (displayMultiple.length === 0) {\n display = null;\n } else {\n display = displayMultiple.reduce((output, child, index) => {\n output.push(child);\n if (index < displayMultiple.length - 1) {\n output.push(', ');\n }\n return output;\n }, []);\n }\n } else {\n display = displaySingle;\n }\n }\n\n // Avoid performing a layout computation in the render method.\n let menuMinWidth = menuMinWidthState;\n if (!autoWidth && isOpenControlled && displayNode) {\n menuMinWidth = anchorElement.clientWidth;\n }\n let tabIndex;\n if (typeof tabIndexProp !== 'undefined') {\n tabIndex = tabIndexProp;\n } else {\n tabIndex = disabled ? null : 0;\n }\n const buttonId = SelectDisplayProps.id || (name ? `mui-component-select-${name}` : undefined);\n const ownerState = {\n ...props,\n variant,\n value,\n open,\n error\n };\n const classes = useUtilityClasses(ownerState);\n const paperProps = {\n ...MenuProps.PaperProps,\n ...(typeof MenuProps.slotProps?.paper === 'function' ? MenuProps.slotProps.paper(ownerState) : MenuProps.slotProps?.paper)\n };\n const listProps = {\n ...MenuProps.MenuListProps,\n ...(typeof MenuProps.slotProps?.list === 'function' ? MenuProps.slotProps.list(ownerState) : MenuProps.slotProps?.list)\n };\n const listboxId = useId();\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(SelectSelect, {\n as: \"div\",\n ref: handleDisplayRef,\n tabIndex: tabIndex,\n role: \"combobox\",\n \"aria-controls\": open ? listboxId : undefined,\n \"aria-disabled\": disabled ? 'true' : undefined,\n \"aria-expanded\": open ? 'true' : 'false',\n \"aria-haspopup\": \"listbox\",\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": [labelId, buttonId].filter(Boolean).join(' ') || undefined,\n \"aria-describedby\": ariaDescribedby,\n \"aria-required\": required ? 'true' : undefined,\n \"aria-invalid\": error ? 'true' : undefined,\n onKeyDown: handleKeyDown,\n onMouseDown: disabled || readOnly ? null : handleMouseDown,\n onBlur: handleBlur,\n onFocus: onFocus,\n ...SelectDisplayProps,\n ownerState: ownerState,\n className: clsx(SelectDisplayProps.className, classes.select, className)\n // The id is required for proper a11y\n ,\n id: buttonId,\n children: isEmpty(display) ? // notranslate needed while Google Translate will not fix zero-width space issue\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n \"aria-hidden\": true,\n children: \"\\u200B\"\n })) : display\n }), /*#__PURE__*/_jsx(SelectNativeInput, {\n \"aria-invalid\": error,\n value: Array.isArray(value) ? value.join(',') : value,\n name: name,\n ref: inputRef,\n \"aria-hidden\": true,\n onChange: handleChange,\n tabIndex: -1,\n disabled: disabled,\n className: classes.nativeInput,\n autoFocus: autoFocus,\n required: required,\n ...other,\n ownerState: ownerState\n }), /*#__PURE__*/_jsx(SelectIcon, {\n as: IconComponent,\n className: classes.icon,\n ownerState: ownerState\n }), /*#__PURE__*/_jsx(SelectFocusSourceProvider, {\n value: openInteractionType,\n children: /*#__PURE__*/_jsx(Menu, {\n id: `menu-${name || ''}`,\n anchorEl: anchorElement,\n open: open,\n onClose: handleClose,\n anchorOrigin: {\n vertical: 'bottom',\n horizontal: 'center'\n },\n transformOrigin: {\n vertical: 'top',\n horizontal: 'center'\n },\n ...MenuProps,\n slotProps: {\n ...MenuProps.slotProps,\n list: {\n 'aria-labelledby': labelId,\n role: 'listbox',\n 'aria-multiselectable': multiple ? 'true' : undefined,\n disableListWrap: true,\n id: listboxId,\n ...listProps\n },\n paper: {\n ...paperProps,\n style: {\n minWidth: menuMinWidth,\n ...(paperProps != null ? paperProps.style : null)\n }\n }\n },\n children: items\n })\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? SelectInput.propTypes = {\n /**\n * @ignore\n */\n 'aria-describedby': PropTypes.string,\n /**\n * @ignore\n */\n 'aria-label': PropTypes.string,\n /**\n * @ignore\n */\n autoFocus: PropTypes.bool,\n /**\n * If `true`, the width of the popover will automatically be set according to the items inside the\n * menu, otherwise it will be at least the width of the select input.\n */\n autoWidth: PropTypes.bool,\n /**\n * The option elements to populate the select with.\n * Can be some `<MenuItem>` elements.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * The CSS class name of the select element.\n */\n className: PropTypes.string,\n /**\n * If `true`, the component is toggled on mount. Use when the component open state is not controlled.\n * You can only use it when the `native` prop is `false` (default).\n */\n defaultOpen: PropTypes.bool,\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue: PropTypes.any,\n /**\n * If `true`, the select is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the selected item is displayed even if its value is empty.\n */\n displayEmpty: PropTypes.bool,\n /**\n * If `true`, the `select input` will indicate an error.\n */\n error: PropTypes.bool,\n /**\n * The icon that displays the arrow.\n */\n IconComponent: PropTypes.elementType.isRequired,\n /**\n * Imperative handle implementing `{ value: T, node: HTMLElement, focus(): void }`\n * Equivalent to `ref`\n */\n inputRef: refType,\n /**\n * The ID of an element that acts as an additional label. The Select will\n * be labelled by the additional label and the selected value.\n */\n labelId: PropTypes.string,\n /**\n * Props applied to the [`Menu`](/material-ui/api/menu/) element.\n */\n MenuProps: PropTypes.object,\n /**\n * If `true`, `value` must be an array and the menu will support multiple selections.\n */\n multiple: PropTypes.bool,\n /**\n * Name attribute of the `select` or hidden `input` element.\n */\n name: PropTypes.string,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n /**\n * Callback fired when a menu item is selected.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (any).\n * @param {object} [child] The react element that was selected.\n */\n onChange: PropTypes.func,\n /**\n * Callback fired when the component requests to be closed.\n * Use in controlled mode (see open).\n *\n * @param {object} event The event source of the callback.\n */\n onClose: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * Callback fired when the component requests to be opened.\n * Use in controlled mode (see open).\n *\n * @param {object} event The event source of the callback.\n */\n onOpen: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool,\n /**\n * @ignore\n */\n readOnly: PropTypes.bool,\n /**\n * Render the selected value.\n *\n * @param {any} value The `value` provided to the component.\n * @returns {ReactNode}\n */\n renderValue: PropTypes.func,\n /**\n * If `true`, the component is required.\n */\n required: PropTypes.bool,\n /**\n * Props applied to the clickable div element.\n */\n SelectDisplayProps: PropTypes.object,\n /**\n * @ignore\n */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * @ignore\n */\n type: PropTypes.any,\n /**\n * The input value.\n */\n value: PropTypes.any,\n /**\n * The variant to use.\n */\n variant: PropTypes.oneOf(['standard', 'outlined', 'filled'])\n} : void 0;\nexport default SelectInput;","'use client';\n\nimport createSvgIcon from \"../../utils/createSvgIcon.js\";\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M7 10l5 5 5-5z\"\n}), 'ArrowDropDown');","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from '@mui/utils/debounce';\nimport useForkRef from '@mui/utils/useForkRef';\nimport useEnhancedEffect from '@mui/utils/useEnhancedEffect';\nimport useEventCallback from '@mui/utils/useEventCallback';\nimport ownerWindow from '@mui/utils/ownerWindow';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction getStyleValue(value) {\n return parseInt(value, 10) || 0;\n}\nconst styles = {\n shadow: {\n // Visibility needed to hide the extra text area on iPads\n visibility: 'hidden',\n // Remove from the content flow\n position: 'absolute',\n // Ignore the scrollbar width\n overflow: 'hidden',\n height: 0,\n top: 0,\n left: 0,\n // Create a new layer, increase the isolation of the computed values\n transform: 'translateZ(0)'\n }\n};\nfunction isObjectEmpty(object) {\n // eslint-disable-next-line\n for (const _ in object) {\n return false;\n }\n return true;\n}\nfunction isEmpty(obj) {\n return isObjectEmpty(obj) || obj.outerHeightStyle === 0 && !obj.overflowing;\n}\n\n/**\n *\n * Demos:\n *\n * - [Textarea Autosize](https://v7.mui.com/material-ui/react-textarea-autosize/)\n *\n * API:\n *\n * - [TextareaAutosize API](https://v7.mui.com/material-ui/api/textarea-autosize/)\n */\nconst TextareaAutosize = /*#__PURE__*/React.forwardRef(function TextareaAutosize(props, forwardedRef) {\n const {\n onChange,\n maxRows,\n minRows = 1,\n style,\n value,\n ...other\n } = props;\n const {\n current: isControlled\n } = React.useRef(value != null);\n const textareaRef = React.useRef(null);\n const handleRef = useForkRef(forwardedRef, textareaRef);\n const heightRef = React.useRef(null);\n const hiddenTextareaRef = React.useRef(null);\n const calculateTextareaStyles = React.useCallback(() => {\n const textarea = textareaRef.current;\n const hiddenTextarea = hiddenTextareaRef.current;\n if (!textarea || !hiddenTextarea) {\n return undefined;\n }\n const containerWindow = ownerWindow(textarea);\n const computedStyle = containerWindow.getComputedStyle(textarea);\n\n // If input's width is shrunk and it's not visible, don't sync height.\n if (computedStyle.width === '0px') {\n return {\n outerHeightStyle: 0,\n overflowing: false\n };\n }\n hiddenTextarea.style.width = computedStyle.width;\n hiddenTextarea.value = textarea.value || props.placeholder || 'x';\n if (hiddenTextarea.value.slice(-1) === '\\n') {\n // Certain fonts which overflow the line height will cause the textarea\n // to report a different scrollHeight depending on whether the last line\n // is empty. Make it non-empty to avoid this issue.\n hiddenTextarea.value += ' ';\n }\n const boxSizing = computedStyle.boxSizing;\n const padding = getStyleValue(computedStyle.paddingBottom) + getStyleValue(computedStyle.paddingTop);\n const border = getStyleValue(computedStyle.borderBottomWidth) + getStyleValue(computedStyle.borderTopWidth);\n\n // The height of the inner content\n const innerHeight = hiddenTextarea.scrollHeight;\n\n // Measure height of a textarea with a single row\n hiddenTextarea.value = 'x';\n const singleRowHeight = hiddenTextarea.scrollHeight;\n\n // The height of the outer content\n let outerHeight = innerHeight;\n if (minRows) {\n outerHeight = Math.max(Number(minRows) * singleRowHeight, outerHeight);\n }\n if (maxRows) {\n outerHeight = Math.min(Number(maxRows) * singleRowHeight, outerHeight);\n }\n outerHeight = Math.max(outerHeight, singleRowHeight);\n\n // Take the box sizing into account for applying this value as a style.\n const outerHeightStyle = outerHeight + (boxSizing === 'border-box' ? padding + border : 0);\n const overflowing = Math.abs(outerHeight - innerHeight) <= 1;\n return {\n outerHeightStyle,\n overflowing\n };\n }, [maxRows, minRows, props.placeholder]);\n const didHeightChange = useEventCallback(() => {\n const textarea = textareaRef.current;\n const textareaStyles = calculateTextareaStyles();\n if (!textarea || !textareaStyles || isEmpty(textareaStyles)) {\n return false;\n }\n const outerHeightStyle = textareaStyles.outerHeightStyle;\n return heightRef.current != null && heightRef.current !== outerHeightStyle;\n });\n const syncHeight = React.useCallback(() => {\n const textarea = textareaRef.current;\n const textareaStyles = calculateTextareaStyles();\n if (!textarea || !textareaStyles || isEmpty(textareaStyles)) {\n return;\n }\n const outerHeightStyle = textareaStyles.outerHeightStyle;\n if (heightRef.current !== outerHeightStyle) {\n heightRef.current = outerHeightStyle;\n textarea.style.height = `${outerHeightStyle}px`;\n }\n textarea.style.overflow = textareaStyles.overflowing ? 'hidden' : '';\n }, [calculateTextareaStyles]);\n const frameRef = React.useRef(-1);\n useEnhancedEffect(() => {\n const debouncedHandleResize = debounce(syncHeight);\n const textarea = textareaRef?.current;\n if (!textarea) {\n return undefined;\n }\n const containerWindow = ownerWindow(textarea);\n containerWindow.addEventListener('resize', debouncedHandleResize);\n let resizeObserver;\n if (typeof ResizeObserver !== 'undefined') {\n resizeObserver = new ResizeObserver(() => {\n if (didHeightChange()) {\n // avoid \"ResizeObserver loop completed with undelivered notifications\" error\n // by temporarily unobserving the textarea element while manipulating the height\n // and reobserving one frame later\n resizeObserver.unobserve(textarea);\n cancelAnimationFrame(frameRef.current);\n syncHeight();\n frameRef.current = requestAnimationFrame(() => {\n resizeObserver.observe(textarea);\n });\n }\n });\n resizeObserver.observe(textarea);\n }\n return () => {\n debouncedHandleResize.clear();\n cancelAnimationFrame(frameRef.current);\n containerWindow.removeEventListener('resize', debouncedHandleResize);\n if (resizeObserver) {\n resizeObserver.disconnect();\n }\n };\n }, [calculateTextareaStyles, syncHeight, didHeightChange]);\n useEnhancedEffect(() => {\n syncHeight();\n });\n const handleChange = event => {\n if (!isControlled) {\n syncHeight();\n }\n const textarea = event.target;\n const countOfCharacters = textarea.value.length;\n const isLastCharacterNewLine = textarea.value.endsWith('\\n');\n const isEndOfTheLine = textarea.selectionStart === countOfCharacters;\n\n // Set the cursor position to the very end of the text.\n if (isLastCharacterNewLine && isEndOfTheLine) {\n textarea.setSelectionRange(countOfCharacters, countOfCharacters);\n }\n if (onChange) {\n onChange(event);\n }\n };\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(\"textarea\", {\n value: value,\n onChange: handleChange,\n ref: handleRef\n // Apply the rows prop to get a \"correct\" first SSR paint\n ,\n rows: minRows,\n style: style,\n ...other\n }), /*#__PURE__*/_jsx(\"textarea\", {\n \"aria-hidden\": true,\n className: props.className,\n readOnly: true,\n ref: hiddenTextareaRef,\n tabIndex: -1,\n style: {\n ...styles.shadow,\n ...style,\n paddingTop: 0,\n paddingBottom: 0\n }\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? TextareaAutosize.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * Maximum number of rows to display.\n */\n maxRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * Minimum number of rows to display.\n * @default 1\n */\n minRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * @ignore\n */\n onChange: PropTypes.func,\n /**\n * @ignore\n */\n placeholder: PropTypes.string,\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * @ignore\n */\n value: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.number, PropTypes.string])\n} : void 0;\nexport default TextareaAutosize;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getInputBaseUtilityClass(slot) {\n return generateUtilityClass('MuiInputBase', slot);\n}\nconst inputBaseClasses = generateUtilityClasses('MuiInputBase', ['root', 'formControl', 'focused', 'disabled', 'adornedStart', 'adornedEnd', 'error', 'sizeSmall', 'multiline', 'colorSecondary', 'fullWidth', 'hiddenLabel', 'readOnly', 'input', 'inputSizeSmall', 'inputMultiline', 'inputTypeSearch', 'inputAdornedStart', 'inputAdornedEnd', 'inputHiddenLabel']);\nexport default inputBaseClasses;","'use client';\n\nimport _formatErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\nvar _InputGlobalStyles;\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport isHostComponent from '@mui/utils/isHostComponent';\nimport TextareaAutosize from \"../TextareaAutosize/index.js\";\nimport formControlState from \"../FormControl/formControlState.js\";\nimport FormControlContext from \"../FormControl/FormControlContext.js\";\nimport useFormControl from \"../FormControl/useFormControl.js\";\nimport { styled, globalCss } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport capitalize from \"../utils/capitalize.js\";\nimport useForkRef from \"../utils/useForkRef.js\";\nimport useEnhancedEffect from \"../utils/useEnhancedEffect.js\";\nimport ownerDocument from \"../utils/ownerDocument.js\";\nimport getActiveElement from \"../utils/getActiveElement.js\";\nimport { isFilled } from \"./utils.js\";\nimport inputBaseClasses, { getInputBaseUtilityClass } from \"./inputBaseClasses.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst MUI_AUTO_FILL = 'mui-auto-fill';\nconst MUI_AUTO_FILL_CANCEL = 'mui-auto-fill-cancel';\nexport const rootOverridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.formControl && styles.formControl, ownerState.startAdornment && styles.adornedStart, ownerState.endAdornment && styles.adornedEnd, ownerState.error && styles.error, ownerState.size === 'small' && styles.sizeSmall, ownerState.multiline && styles.multiline, ownerState.color && styles[`color${capitalize(ownerState.color)}`], ownerState.fullWidth && styles.fullWidth, ownerState.hiddenLabel && styles.hiddenLabel];\n};\nexport const inputOverridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.input, ownerState.size === 'small' && styles.inputSizeSmall, ownerState.multiline && styles.inputMultiline, ownerState.type === 'search' && styles.inputTypeSearch, ownerState.startAdornment && styles.inputAdornedStart, ownerState.endAdornment && styles.inputAdornedEnd, ownerState.hiddenLabel && styles.inputHiddenLabel];\n};\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n color,\n disabled,\n error,\n endAdornment,\n focused,\n formControl,\n fullWidth,\n hiddenLabel,\n multiline,\n readOnly,\n size,\n startAdornment,\n type\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color)}`, disabled && 'disabled', error && 'error', fullWidth && 'fullWidth', focused && 'focused', formControl && 'formControl', size && size !== 'medium' && `size${capitalize(size)}`, multiline && 'multiline', startAdornment && 'adornedStart', endAdornment && 'adornedEnd', hiddenLabel && 'hiddenLabel', readOnly && 'readOnly'],\n input: ['input', disabled && 'disabled', type === 'search' && 'inputTypeSearch', multiline && 'inputMultiline', size === 'small' && 'inputSizeSmall', hiddenLabel && 'inputHiddenLabel', startAdornment && 'inputAdornedStart', endAdornment && 'inputAdornedEnd', readOnly && 'readOnly']\n };\n return composeClasses(slots, getInputBaseUtilityClass, classes);\n};\nexport const InputBaseRoot = styled('div', {\n name: 'MuiInputBase',\n slot: 'Root',\n overridesResolver: rootOverridesResolver\n})(memoTheme(({\n theme\n}) => ({\n ...theme.typography.body1,\n color: (theme.vars || theme).palette.text.primary,\n lineHeight: '1.4375em',\n // 23px\n boxSizing: 'border-box',\n // Prevent padding issue with fullWidth.\n position: 'relative',\n cursor: 'text',\n display: 'inline-flex',\n alignItems: 'center',\n [`&.${inputBaseClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled,\n cursor: 'default'\n },\n variants: [{\n props: ({\n ownerState\n }) => ownerState.multiline,\n style: {\n padding: '4px 0 5px'\n }\n }, {\n props: ({\n ownerState,\n size\n }) => ownerState.multiline && size === 'small',\n style: {\n paddingTop: 1\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.fullWidth,\n style: {\n width: '100%'\n }\n }]\n})));\nexport const InputBaseInput = styled('input', {\n name: 'MuiInputBase',\n slot: 'Input',\n overridesResolver: inputOverridesResolver\n})(memoTheme(({\n theme\n}) => {\n const light = theme.palette.mode === 'light';\n const placeholder = {\n color: 'currentColor',\n ...(theme.vars ? {\n opacity: theme.vars.opacity.inputPlaceholder\n } : {\n opacity: light ? 0.42 : 0.5\n }),\n transition: theme.transitions.create('opacity', {\n duration: theme.transitions.duration.shorter\n })\n };\n const placeholderHidden = {\n opacity: '0 !important'\n };\n const placeholderVisible = theme.vars ? {\n opacity: theme.vars.opacity.inputPlaceholder\n } : {\n opacity: light ? 0.42 : 0.5\n };\n return {\n font: 'inherit',\n letterSpacing: 'inherit',\n color: 'currentColor',\n padding: '4px 0 5px',\n border: 0,\n boxSizing: 'content-box',\n background: 'none',\n height: '1.4375em',\n // Reset 23pxthe native input line-height\n margin: 0,\n // Reset for Safari\n WebkitTapHighlightColor: 'transparent',\n display: 'block',\n // Make the flex item shrink with Firefox\n minWidth: 0,\n width: '100%',\n '&::-webkit-input-placeholder': placeholder,\n '&::-moz-placeholder': placeholder,\n // Firefox 19+\n '&::-ms-input-placeholder': placeholder,\n // Edge\n '&:focus': {\n outline: 0\n },\n // Reset Firefox invalid required input style\n '&:invalid': {\n boxShadow: 'none'\n },\n '&::-webkit-search-decoration': {\n // Remove the padding when type=search.\n WebkitAppearance: 'none'\n },\n // Show and hide the placeholder logic\n [`label[data-shrink=false] + .${inputBaseClasses.formControl} &`]: {\n '&::-webkit-input-placeholder': placeholderHidden,\n '&::-moz-placeholder': placeholderHidden,\n // Firefox 19+\n '&::-ms-input-placeholder': placeholderHidden,\n // Edge\n '&:focus::-webkit-input-placeholder': placeholderVisible,\n '&:focus::-moz-placeholder': placeholderVisible,\n // Firefox 19+\n '&:focus::-ms-input-placeholder': placeholderVisible // Edge\n },\n [`&.${inputBaseClasses.disabled}`]: {\n opacity: 1,\n // Reset iOS opacity\n WebkitTextFillColor: (theme.vars || theme).palette.text.disabled // Fix opacity Safari bug\n },\n variants: [{\n props: ({\n ownerState\n }) => !ownerState.disableInjectingGlobalStyles,\n style: {\n animationName: MUI_AUTO_FILL_CANCEL,\n animationDuration: '10ms',\n '&:-webkit-autofill': {\n animationDuration: '5000s',\n animationName: MUI_AUTO_FILL\n }\n }\n }, {\n props: {\n size: 'small'\n },\n style: {\n paddingTop: 1\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.multiline,\n style: {\n height: 'auto',\n resize: 'none',\n padding: 0,\n paddingTop: 0\n }\n }, {\n props: {\n type: 'search'\n },\n style: {\n MozAppearance: 'textfield' // Improve type search style.\n }\n }]\n };\n}));\nconst InputGlobalStyles = globalCss({\n // Keep keyframes non-empty for Emotion production builds. Animation properties are ignored\n // inside keyframes, avoiding the visible display animation triggered by Chrome 117+.\n [`@keyframes ${MUI_AUTO_FILL}`]: {\n from: {\n animationName: MUI_AUTO_FILL\n }\n },\n [`@keyframes ${MUI_AUTO_FILL_CANCEL}`]: {\n from: {\n animationName: MUI_AUTO_FILL_CANCEL\n }\n }\n});\n\n/**\n * `InputBase` contains as few styles as possible.\n * It aims to be a simple building block for creating an input.\n * It contains a load of style reset and some state logic.\n */\nconst InputBase = /*#__PURE__*/React.forwardRef(function InputBase(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiInputBase'\n });\n const {\n 'aria-describedby': ariaDescribedby,\n autoComplete,\n autoFocus,\n className,\n color,\n components = {},\n componentsProps = {},\n defaultValue,\n disabled,\n disableInjectingGlobalStyles,\n endAdornment,\n error,\n fullWidth = false,\n id,\n inputComponent = 'input',\n inputProps: inputPropsProp = {},\n inputRef: inputRefProp,\n margin,\n maxRows,\n minRows,\n multiline = false,\n name,\n onBlur,\n onChange,\n onClick,\n onFocus,\n onKeyDown,\n onKeyUp,\n placeholder,\n readOnly,\n renderSuffix,\n rows,\n size,\n slotProps = {},\n slots = {},\n startAdornment,\n type = 'text',\n value: valueProp,\n ...other\n } = props;\n const value = inputPropsProp.value != null ? inputPropsProp.value : valueProp;\n const {\n current: isControlled\n } = React.useRef(value != null);\n const inputRef = React.useRef();\n const handleInputRefWarning = React.useCallback(instance => {\n if (process.env.NODE_ENV !== 'production') {\n if (instance && instance.nodeName !== 'INPUT' && !instance.focus) {\n console.error(['MUI: You have provided a `inputComponent` to the input component', 'that does not correctly handle the `ref` prop.', 'Make sure the `ref` prop is called with a HTMLInputElement.'].join('\\n'));\n }\n }\n }, []);\n const handleInputRef = useForkRef(inputRef, inputRefProp, inputPropsProp.ref, handleInputRefWarning);\n const [focused, setFocused] = React.useState(false);\n const muiFormControl = useFormControl();\n if (process.env.NODE_ENV !== 'production') {\n // TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n if (muiFormControl) {\n return muiFormControl.registerEffect();\n }\n return undefined;\n }, [muiFormControl]);\n }\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['color', 'disabled', 'error', 'hiddenLabel', 'size', 'required', 'filled']\n });\n fcs.focused = muiFormControl ? muiFormControl.focused : focused;\n\n // The blur won't fire when the disabled state is set on a focused input.\n // We need to book keep the focused state manually.\n React.useEffect(() => {\n if (!muiFormControl && disabled && focused) {\n setFocused(false);\n if (onBlur) {\n onBlur();\n }\n }\n }, [muiFormControl, disabled, focused, onBlur]);\n const onFilled = muiFormControl && muiFormControl.onFilled;\n const onEmpty = muiFormControl && muiFormControl.onEmpty;\n const checkDirty = React.useCallback(obj => {\n if (isFilled(obj)) {\n if (onFilled) {\n onFilled();\n }\n } else if (onEmpty) {\n onEmpty();\n }\n }, [onFilled, onEmpty]);\n useEnhancedEffect(() => {\n if (isControlled) {\n checkDirty({\n value\n });\n }\n }, [value, checkDirty, isControlled]);\n\n // Sync focused state when autoFocus is used in SSR.\n // If the browser focused the element before hydration, the onFocus handler never\n // fires. If it did not, React hydration does not call focus() for autoFocus.\n useEnhancedEffect(() => {\n if (!autoFocus) {\n return;\n }\n const input = inputRef.current;\n if (!input) {\n return;\n }\n const doc = ownerDocument(input);\n const activeElement = getActiveElement(doc);\n const noElementFocused = activeElement == null || activeElement === doc.body || activeElement === doc.documentElement;\n if (input === activeElement) {\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus();\n } else {\n setFocused(true);\n }\n } else if (noElementFocused) {\n input.focus();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [autoFocus]);\n const handleFocus = event => {\n if (onFocus) {\n onFocus(event);\n }\n if (inputPropsProp.onFocus) {\n inputPropsProp.onFocus(event);\n }\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus(event);\n } else {\n setFocused(true);\n }\n };\n const handleBlur = event => {\n if (onBlur) {\n onBlur(event);\n }\n if (inputPropsProp.onBlur) {\n inputPropsProp.onBlur(event);\n }\n if (muiFormControl && muiFormControl.onBlur) {\n muiFormControl.onBlur(event);\n } else {\n setFocused(false);\n }\n };\n const handleChange = (event, ...args) => {\n if (!isControlled) {\n const element = event.target || inputRef.current;\n if (element == null) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'MUI: Expected valid input target. ' + 'Did you use a custom `inputComponent` and forget to forward refs? ' + 'See https://mui.com/r/input-component-ref-interface for more info.' : _formatErrorMessage(1));\n }\n checkDirty({\n value: element.value\n });\n }\n if (inputPropsProp.onChange) {\n inputPropsProp.onChange(event, ...args);\n }\n\n // Perform in the willUpdate\n if (onChange) {\n onChange(event, ...args);\n }\n };\n\n // Check the input state on mount, in case it was filled by the user\n // or auto filled by the browser before the hydration (for SSR).\n React.useEffect(() => {\n checkDirty(inputRef.current);\n // TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n const handleClick = event => {\n if (inputRef.current && event.currentTarget === event.target) {\n inputRef.current.focus();\n }\n if (onClick) {\n onClick(event);\n }\n };\n let InputComponent = inputComponent;\n let inputProps = inputPropsProp;\n if (multiline && InputComponent === 'input') {\n if (rows) {\n if (process.env.NODE_ENV !== 'production') {\n if (minRows || maxRows) {\n console.warn('MUI: You can not use the `minRows` or `maxRows` props when the input `rows` prop is set.');\n }\n }\n inputProps = {\n type: undefined,\n minRows: rows,\n maxRows: rows,\n ...inputProps\n };\n } else {\n inputProps = {\n type: undefined,\n maxRows,\n minRows,\n ...inputProps\n };\n }\n InputComponent = TextareaAutosize;\n }\n const handleAutoFill = event => {\n // Provide a fake value as Chrome might not let you access it for security reasons.\n checkDirty(event.animationName === MUI_AUTO_FILL_CANCEL ? inputRef.current : {\n value: 'x'\n });\n };\n React.useEffect(() => {\n if (muiFormControl) {\n muiFormControl.setAdornedStart(Boolean(startAdornment));\n }\n }, [muiFormControl, startAdornment]);\n const ownerState = {\n ...props,\n color: fcs.color || 'primary',\n disabled: fcs.disabled,\n endAdornment,\n error: fcs.error,\n focused: fcs.focused,\n formControl: muiFormControl,\n fullWidth,\n hiddenLabel: fcs.hiddenLabel,\n multiline,\n size: fcs.size,\n startAdornment,\n type\n };\n const classes = useUtilityClasses(ownerState);\n const Root = slots.root || components.Root || InputBaseRoot;\n const rootProps = slotProps.root || componentsProps.root || {};\n const Input = slots.input || components.Input || InputBaseInput;\n inputProps = {\n ...inputProps,\n ...(slotProps.input ?? componentsProps.input)\n };\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [!disableInjectingGlobalStyles && typeof InputGlobalStyles === 'function' && (// For Emotion/Styled-components, InputGlobalStyles will be a function\n // For Pigment CSS, this has no effect because the InputGlobalStyles will be null.\n _InputGlobalStyles || (_InputGlobalStyles = /*#__PURE__*/_jsx(InputGlobalStyles, {}))), /*#__PURE__*/_jsxs(Root, {\n ...rootProps,\n ref: ref,\n onClick: handleClick,\n ...other,\n ...(!isHostComponent(Root) && {\n ownerState: {\n ...ownerState,\n ...rootProps.ownerState\n }\n }),\n className: clsx(classes.root, rootProps.className, className, readOnly && 'MuiInputBase-readOnly'),\n children: [startAdornment, /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(Input, {\n \"aria-invalid\": fcs.error,\n \"aria-describedby\": ariaDescribedby,\n autoComplete: autoComplete,\n autoFocus: autoFocus,\n defaultValue: defaultValue,\n disabled: fcs.disabled,\n id: id,\n onAnimationStart: handleAutoFill,\n name: name,\n placeholder: placeholder,\n readOnly: readOnly,\n required: fcs.required,\n rows: rows,\n value: value,\n onKeyDown: onKeyDown,\n onKeyUp: onKeyUp,\n type: type,\n ...inputProps,\n ...(!isHostComponent(Input) && {\n as: InputComponent,\n ownerState: {\n ...ownerState,\n ...inputProps.ownerState\n }\n }),\n ref: handleInputRef,\n className: clsx(classes.input, inputProps.className, readOnly && 'MuiInputBase-readOnly'),\n onBlur: handleBlur,\n onChange: handleChange,\n onFocus: handleFocus\n })\n }), endAdornment, renderSuffix ? renderSuffix({\n ...fcs,\n startAdornment\n }) : null]\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputBase.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n 'aria-describedby': PropTypes.string,\n /**\n * This prop helps users to fill forms faster, especially on mobile devices.\n * The name can be confusing, as it's more like an autofill.\n * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).\n */\n autoComplete: PropTypes.string,\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component.\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The components used for each slot inside.\n *\n * @deprecated use the `slots` prop instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Input: PropTypes.elementType,\n Root: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * @deprecated use the `slotProps` prop instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n input: PropTypes.object,\n root: PropTypes.object\n }),\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue: PropTypes.any,\n /**\n * If `true`, the component is disabled.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, GlobalStyles for the auto-fill keyframes will not be injected/removed on mount/unmount. Make sure to inject them at the top of your application.\n * This option is intended to help with boosting the initial rendering performance if you are loading a big amount of Input components at once.\n * @default false\n */\n disableInjectingGlobalStyles: PropTypes.bool,\n /**\n * End `InputAdornment` for this component.\n */\n endAdornment: PropTypes.node,\n /**\n * If `true`, the `input` will indicate an error.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the `input` will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n /**\n * The component used for the `input` element.\n * Either a string to use a HTML element or a component.\n * @default 'input'\n */\n inputComponent: elementTypeAcceptingRef,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#attributes) applied to the `input` element.\n * @default {}\n */\n inputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n * The prop defaults to the value (`'none'`) inherited from the parent FormControl component.\n */\n margin: PropTypes.oneOf(['dense', 'none']),\n /**\n * Maximum number of rows to display when multiline option is set to true.\n */\n maxRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * Minimum number of rows to display when multiline option is set to true.\n */\n minRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * If `true`, a [TextareaAutosize](https://mui.com/material-ui/react-textarea-autosize/) element is rendered.\n * @default false\n */\n multiline: PropTypes.bool,\n /**\n * Name attribute of the `input` element.\n */\n name: PropTypes.string,\n /**\n * Callback fired when the `input` is blurred.\n *\n * Notice that the first argument (event) might be undefined.\n */\n onBlur: PropTypes.func,\n /**\n * Callback fired when the value is changed.\n *\n * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n */\n onChange: PropTypes.func,\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * Callback fired when the `input` doesn't satisfy its constraints.\n */\n onInvalid: PropTypes.func,\n /**\n * @ignore\n */\n onKeyDown: PropTypes.func,\n /**\n * @ignore\n */\n onKeyUp: PropTypes.func,\n /**\n * The short hint displayed in the `input` before the user enters a value.\n */\n placeholder: PropTypes.string,\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n /**\n * @ignore\n */\n renderSuffix: PropTypes.func,\n /**\n * If `true`, the `input` element is required.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n required: PropTypes.bool,\n /**\n * Number of rows to display when multiline option is set to true.\n */\n rows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * The size of the component.\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slotProps: PropTypes.shape({\n input: PropTypes.object,\n root: PropTypes.object\n }),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `components` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slots: PropTypes.shape({\n input: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * Start `InputAdornment` for this component.\n */\n startAdornment: PropTypes.node,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#input_types).\n * @default 'text'\n */\n type: PropTypes.string,\n /**\n * The value of the `input` element, required for a controlled component.\n */\n value: PropTypes.any\n} : void 0;\nexport default InputBase;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport { inputBaseClasses } from \"../InputBase/index.js\";\nexport function getInputUtilityClass(slot) {\n return generateUtilityClass('MuiInput', slot);\n}\nconst inputClasses = {\n ...inputBaseClasses,\n ...generateUtilityClasses('MuiInput', ['root', 'underline', 'input'])\n};\nexport default inputClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport composeClasses from '@mui/utils/composeClasses';\nimport deepmerge from '@mui/utils/deepmerge';\nimport refType from '@mui/utils/refType';\nimport InputBase from \"../InputBase/index.js\";\nimport rootShouldForwardProp from \"../styles/rootShouldForwardProp.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport createSimplePaletteValueFilter from \"../utils/createSimplePaletteValueFilter.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport inputClasses, { getInputUtilityClass } from \"./inputClasses.js\";\nimport { rootOverridesResolver as inputBaseRootOverridesResolver, inputOverridesResolver as inputBaseInputOverridesResolver, InputBaseRoot, InputBaseInput } from \"../InputBase/InputBase.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableUnderline\n } = ownerState;\n const slots = {\n root: ['root', !disableUnderline && 'underline'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getInputUtilityClass, classes);\n return {\n ...classes,\n // forward classes to the InputBase\n ...composedClasses\n };\n};\nconst InputRoot = styled(InputBaseRoot, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiInput',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [...inputBaseRootOverridesResolver(props, styles), !ownerState.disableUnderline && styles.underline];\n }\n})(memoTheme(({\n theme\n}) => {\n const light = theme.palette.mode === 'light';\n let bottomLineColor = light ? 'rgba(0, 0, 0, 0.42)' : 'rgba(255, 255, 255, 0.7)';\n if (theme.vars) {\n bottomLineColor = theme.alpha(theme.vars.palette.common.onBackground, theme.vars.opacity.inputUnderline);\n }\n return {\n position: 'relative',\n variants: [{\n props: ({\n ownerState\n }) => ownerState.formControl,\n style: {\n 'label + &': {\n marginTop: 16\n }\n }\n }, {\n props: ({\n ownerState\n }) => !ownerState.disableUnderline,\n style: {\n '&::after': {\n left: 0,\n bottom: 0,\n content: '\"\"',\n position: 'absolute',\n right: 0,\n transform: 'scaleX(0)',\n transition: theme.transitions.create('transform', {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut\n }),\n pointerEvents: 'none' // Transparent to the hover style.\n },\n [`&.${inputClasses.focused}:after`]: {\n // translateX(0) is a workaround for Safari transform scale bug\n // See https://github.com/mui/material-ui/issues/31766\n transform: 'scaleX(1) translateX(0)'\n },\n [`&.${inputClasses.error}`]: {\n '&::before, &::after': {\n borderBottomColor: (theme.vars || theme).palette.error.main\n }\n },\n '&::before': {\n borderBottom: `1px solid ${bottomLineColor}`,\n left: 0,\n bottom: 0,\n content: '\"\"',\n position: 'absolute',\n right: 0,\n transition: theme.transitions.create('border-bottom-color', {\n duration: theme.transitions.duration.shorter\n }),\n pointerEvents: 'none' // Transparent to the hover style.\n },\n [`&:hover:not(.${inputClasses.disabled}, .${inputClasses.error}):before`]: {\n borderBottom: `2px solid ${(theme.vars || theme).palette.text.primary}`,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n borderBottom: `1px solid ${bottomLineColor}`\n }\n },\n [`&.${inputClasses.disabled}:before`]: {\n borderBottomStyle: 'dotted'\n }\n }\n }, ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({\n props: {\n color,\n disableUnderline: false\n },\n style: {\n '&::after': {\n borderBottom: `2px solid ${(theme.vars || theme).palette[color].main}`\n }\n }\n }))]\n };\n}));\nconst InputInput = styled(InputBaseInput, {\n name: 'MuiInput',\n slot: 'Input',\n overridesResolver: inputBaseInputOverridesResolver\n})({});\nconst Input = /*#__PURE__*/React.forwardRef(function Input(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiInput'\n });\n const {\n disableUnderline = false,\n components = {},\n componentsProps: componentsPropsProp,\n fullWidth = false,\n inputComponent = 'input',\n multiline = false,\n slotProps,\n slots = {},\n type = 'text',\n ...other\n } = props;\n const classes = useUtilityClasses(props);\n const ownerState = {\n disableUnderline\n };\n const inputComponentsProps = {\n root: {\n ownerState\n }\n };\n const componentsProps = slotProps ?? componentsPropsProp ? deepmerge(slotProps ?? componentsPropsProp, inputComponentsProps) : inputComponentsProps;\n const RootSlot = slots.root ?? components.Root ?? InputRoot;\n const InputSlot = slots.input ?? components.Input ?? InputInput;\n return /*#__PURE__*/_jsx(InputBase, {\n slots: {\n root: RootSlot,\n input: InputSlot\n },\n slotProps: componentsProps,\n fullWidth: fullWidth,\n inputComponent: inputComponent,\n multiline: multiline,\n ref: ref,\n type: type,\n ...other,\n classes: classes\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Input.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * This prop helps users to fill forms faster, especially on mobile devices.\n * The name can be confusing, as it's more like an autofill.\n * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).\n */\n autoComplete: PropTypes.string,\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component.\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary']), PropTypes.string]),\n /**\n * The components used for each slot inside.\n *\n * @deprecated use the `slots` prop instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Input: PropTypes.elementType,\n Root: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * @deprecated use the `slotProps` prop instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n input: PropTypes.object,\n root: PropTypes.object\n }),\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue: PropTypes.any,\n /**\n * If `true`, the component is disabled.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the `input` will not have an underline.\n * @default false\n */\n disableUnderline: PropTypes.bool,\n /**\n * End `InputAdornment` for this component.\n */\n endAdornment: PropTypes.node,\n /**\n * If `true`, the `input` will indicate an error.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the `input` will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n /**\n * The component used for the `input` element.\n * Either a string to use a HTML element or a component.\n * @default 'input'\n */\n inputComponent: PropTypes.elementType,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#attributes) applied to the `input` element.\n * @default {}\n */\n inputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n * The prop defaults to the value (`'none'`) inherited from the parent FormControl component.\n */\n margin: PropTypes.oneOf(['dense', 'none']),\n /**\n * Maximum number of rows to display when multiline option is set to true.\n */\n maxRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * Minimum number of rows to display when multiline option is set to true.\n */\n minRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * If `true`, a [TextareaAutosize](https://mui.com/material-ui/react-textarea-autosize/) element is rendered.\n * @default false\n */\n multiline: PropTypes.bool,\n /**\n * Name attribute of the `input` element.\n */\n name: PropTypes.string,\n /**\n * Callback fired when the value is changed.\n *\n * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n */\n onChange: PropTypes.func,\n /**\n * The short hint displayed in the `input` before the user enters a value.\n */\n placeholder: PropTypes.string,\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n /**\n * If `true`, the `input` element is required.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n required: PropTypes.bool,\n /**\n * Number of rows to display when multiline option is set to true.\n */\n rows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slotProps: PropTypes.shape({\n input: PropTypes.object,\n root: PropTypes.object\n }),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `components` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slots: PropTypes.shape({\n input: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * Start `InputAdornment` for this component.\n */\n startAdornment: PropTypes.node,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#input_types).\n * @default 'text'\n */\n type: PropTypes.string,\n /**\n * The value of the `input` element, required for a controlled component.\n */\n value: PropTypes.any\n} : void 0;\nInput.muiName = 'Input';\nexport default Input;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport { inputBaseClasses } from \"../InputBase/index.js\";\nexport function getFilledInputUtilityClass(slot) {\n return generateUtilityClass('MuiFilledInput', slot);\n}\nconst filledInputClasses = {\n ...inputBaseClasses,\n ...generateUtilityClasses('MuiFilledInput', ['root', 'underline', 'input', 'adornedStart', 'adornedEnd', 'sizeSmall', 'multiline', 'hiddenLabel'])\n};\nexport default filledInputClasses;","'use client';\n\nimport * as React from 'react';\nimport deepmerge from '@mui/utils/deepmerge';\nimport refType from '@mui/utils/refType';\nimport PropTypes from 'prop-types';\nimport composeClasses from '@mui/utils/composeClasses';\nimport InputBase from \"../InputBase/index.js\";\nimport rootShouldForwardProp from \"../styles/rootShouldForwardProp.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport createSimplePaletteValueFilter from \"../utils/createSimplePaletteValueFilter.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport filledInputClasses, { getFilledInputUtilityClass } from \"./filledInputClasses.js\";\nimport { rootOverridesResolver as inputBaseRootOverridesResolver, inputOverridesResolver as inputBaseInputOverridesResolver, InputBaseRoot, InputBaseInput } from \"../InputBase/InputBase.js\";\nimport { capitalize } from \"../utils/index.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableUnderline,\n startAdornment,\n endAdornment,\n size,\n hiddenLabel,\n multiline\n } = ownerState;\n const slots = {\n root: ['root', !disableUnderline && 'underline', startAdornment && 'adornedStart', endAdornment && 'adornedEnd', size === 'small' && `size${capitalize(size)}`, hiddenLabel && 'hiddenLabel', multiline && 'multiline'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getFilledInputUtilityClass, classes);\n return {\n ...classes,\n // forward classes to the InputBase\n ...composedClasses\n };\n};\nconst FilledInputRoot = styled(InputBaseRoot, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiFilledInput',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [...inputBaseRootOverridesResolver(props, styles), !ownerState.disableUnderline && styles.underline];\n }\n})(memoTheme(({\n theme\n}) => {\n const light = theme.palette.mode === 'light';\n const bottomLineColor = light ? 'rgba(0, 0, 0, 0.42)' : 'rgba(255, 255, 255, 0.7)';\n const backgroundColor = light ? 'rgba(0, 0, 0, 0.06)' : 'rgba(255, 255, 255, 0.09)';\n const hoverBackground = light ? 'rgba(0, 0, 0, 0.09)' : 'rgba(255, 255, 255, 0.13)';\n const disabledBackground = light ? 'rgba(0, 0, 0, 0.12)' : 'rgba(255, 255, 255, 0.12)';\n return {\n position: 'relative',\n backgroundColor: theme.vars ? theme.vars.palette.FilledInput.bg : backgroundColor,\n borderTopLeftRadius: (theme.vars || theme).shape.borderRadius,\n borderTopRightRadius: (theme.vars || theme).shape.borderRadius,\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut\n }),\n '&:hover': {\n backgroundColor: theme.vars ? theme.vars.palette.FilledInput.hoverBg : hoverBackground,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: theme.vars ? theme.vars.palette.FilledInput.bg : backgroundColor\n }\n },\n [`&.${filledInputClasses.focused}`]: {\n backgroundColor: theme.vars ? theme.vars.palette.FilledInput.bg : backgroundColor\n },\n [`&.${filledInputClasses.disabled}`]: {\n backgroundColor: theme.vars ? theme.vars.palette.FilledInput.disabledBg : disabledBackground\n },\n variants: [{\n props: ({\n ownerState\n }) => !ownerState.disableUnderline,\n style: {\n '&::after': {\n left: 0,\n bottom: 0,\n content: '\"\"',\n position: 'absolute',\n right: 0,\n transform: 'scaleX(0)',\n transition: theme.transitions.create('transform', {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut\n }),\n pointerEvents: 'none' // Transparent to the hover style.\n },\n [`&.${filledInputClasses.focused}:after`]: {\n // translateX(0) is a workaround for Safari transform scale bug\n // See https://github.com/mui/material-ui/issues/31766\n transform: 'scaleX(1) translateX(0)'\n },\n [`&.${filledInputClasses.error}`]: {\n '&::before, &::after': {\n borderBottomColor: (theme.vars || theme).palette.error.main\n }\n },\n '&::before': {\n borderBottom: `1px solid ${theme.vars ? theme.alpha(theme.vars.palette.common.onBackground, theme.vars.opacity.inputUnderline) : bottomLineColor}`,\n left: 0,\n bottom: 0,\n content: '\"\"',\n position: 'absolute',\n right: 0,\n transition: theme.transitions.create('border-bottom-color', {\n duration: theme.transitions.duration.shorter\n }),\n pointerEvents: 'none' // Transparent to the hover style.\n },\n [`&:hover:not(.${filledInputClasses.disabled}, .${filledInputClasses.error}):before`]: {\n borderBottom: `1px solid ${(theme.vars || theme).palette.text.primary}`\n },\n [`&.${filledInputClasses.disabled}:before`]: {\n borderBottomStyle: 'dotted'\n }\n }\n }, ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()) // check all the used fields in the style below\n .map(([color]) => ({\n props: {\n disableUnderline: false,\n color\n },\n style: {\n '&::after': {\n borderBottom: `2px solid ${(theme.vars || theme).palette[color]?.main}`\n }\n }\n })), {\n props: ({\n ownerState\n }) => ownerState.startAdornment,\n style: {\n paddingLeft: 12\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.endAdornment,\n style: {\n paddingRight: 12\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.multiline,\n style: {\n padding: '25px 12px 8px'\n }\n }, {\n props: ({\n ownerState,\n size\n }) => ownerState.multiline && size === 'small',\n style: {\n paddingTop: 21,\n paddingBottom: 4\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.multiline && ownerState.hiddenLabel,\n style: {\n paddingTop: 16,\n paddingBottom: 17\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.multiline && ownerState.hiddenLabel && ownerState.size === 'small',\n style: {\n paddingTop: 8,\n paddingBottom: 9\n }\n }]\n };\n}));\nconst FilledInputInput = styled(InputBaseInput, {\n name: 'MuiFilledInput',\n slot: 'Input',\n overridesResolver: inputBaseInputOverridesResolver\n})(memoTheme(({\n theme\n}) => ({\n paddingTop: 25,\n paddingRight: 12,\n paddingBottom: 8,\n paddingLeft: 12,\n ...(!theme.vars && {\n '&:-webkit-autofill': {\n WebkitBoxShadow: theme.palette.mode === 'light' ? null : '0 0 0 100px #266798 inset',\n WebkitTextFillColor: theme.palette.mode === 'light' ? null : '#fff',\n caretColor: theme.palette.mode === 'light' ? null : '#fff',\n borderTopLeftRadius: 'inherit',\n borderTopRightRadius: 'inherit'\n }\n }),\n ...(theme.vars && {\n '&:-webkit-autofill': {\n borderTopLeftRadius: 'inherit',\n borderTopRightRadius: 'inherit'\n },\n [theme.getColorSchemeSelector('dark')]: {\n '&:-webkit-autofill': {\n WebkitBoxShadow: '0 0 0 100px #266798 inset',\n WebkitTextFillColor: '#fff',\n caretColor: '#fff'\n }\n }\n }),\n variants: [{\n props: {\n size: 'small'\n },\n style: {\n paddingTop: 21,\n paddingBottom: 4\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.hiddenLabel,\n style: {\n paddingTop: 16,\n paddingBottom: 17\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.startAdornment,\n style: {\n paddingLeft: 0\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.endAdornment,\n style: {\n paddingRight: 0\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.hiddenLabel && ownerState.size === 'small',\n style: {\n paddingTop: 8,\n paddingBottom: 9\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.multiline,\n style: {\n paddingTop: 0,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0\n }\n }]\n})));\nconst FilledInput = /*#__PURE__*/React.forwardRef(function FilledInput(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiFilledInput'\n });\n const {\n disableUnderline = false,\n components = {},\n componentsProps: componentsPropsProp,\n fullWidth = false,\n hiddenLabel,\n // declare here to prevent spreading to DOM\n inputComponent = 'input',\n multiline = false,\n slotProps,\n slots = {},\n type = 'text',\n ...other\n } = props;\n const ownerState = {\n ...props,\n disableUnderline,\n fullWidth,\n inputComponent,\n multiline,\n type\n };\n const classes = useUtilityClasses(props);\n const filledInputComponentsProps = {\n root: {\n ownerState\n },\n input: {\n ownerState\n }\n };\n const componentsProps = slotProps ?? componentsPropsProp ? deepmerge(filledInputComponentsProps, slotProps ?? componentsPropsProp) : filledInputComponentsProps;\n const RootSlot = slots.root ?? components.Root ?? FilledInputRoot;\n const InputSlot = slots.input ?? components.Input ?? FilledInputInput;\n return /*#__PURE__*/_jsx(InputBase, {\n slots: {\n root: RootSlot,\n input: InputSlot\n },\n slotProps: componentsProps,\n fullWidth: fullWidth,\n inputComponent: inputComponent,\n multiline: multiline,\n ref: ref,\n type: type,\n ...other,\n classes: classes\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? FilledInput.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * This prop helps users to fill forms faster, especially on mobile devices.\n * The name can be confusing, as it's more like an autofill.\n * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).\n */\n autoComplete: PropTypes.string,\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component.\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary']), PropTypes.string]),\n /**\n * The components used for each slot inside.\n *\n * @deprecated use the `slots` prop instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Input: PropTypes.elementType,\n Root: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * @deprecated use the `slotProps` prop instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n input: PropTypes.object,\n root: PropTypes.object\n }),\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue: PropTypes.any,\n /**\n * If `true`, the component is disabled.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the input will not have an underline.\n * @default false\n */\n disableUnderline: PropTypes.bool,\n /**\n * End `InputAdornment` for this component.\n */\n endAdornment: PropTypes.node,\n /**\n * If `true`, the `input` will indicate an error.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the `input` will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * If `true`, the label is hidden.\n * This is used to increase density for a `FilledInput`.\n * Be sure to add `aria-label` to the `input` element.\n * @default false\n */\n hiddenLabel: PropTypes.bool,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n /**\n * The component used for the `input` element.\n * Either a string to use a HTML element or a component.\n * @default 'input'\n */\n inputComponent: PropTypes.elementType,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#attributes) applied to the `input` element.\n * @default {}\n */\n inputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n * The prop defaults to the value (`'none'`) inherited from the parent FormControl component.\n */\n margin: PropTypes.oneOf(['dense', 'none']),\n /**\n * Maximum number of rows to display when multiline option is set to true.\n */\n maxRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * Minimum number of rows to display when multiline option is set to true.\n */\n minRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * If `true`, a [TextareaAutosize](https://mui.com/material-ui/react-textarea-autosize/) element is rendered.\n * @default false\n */\n multiline: PropTypes.bool,\n /**\n * Name attribute of the `input` element.\n */\n name: PropTypes.string,\n /**\n * Callback fired when the value is changed.\n *\n * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n */\n onChange: PropTypes.func,\n /**\n * The short hint displayed in the `input` before the user enters a value.\n */\n placeholder: PropTypes.string,\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n /**\n * If `true`, the `input` element is required.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n required: PropTypes.bool,\n /**\n * Number of rows to display when multiline option is set to true.\n */\n rows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slotProps: PropTypes.shape({\n input: PropTypes.object,\n root: PropTypes.object\n }),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `components` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slots: PropTypes.shape({\n input: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * Start `InputAdornment` for this component.\n */\n startAdornment: PropTypes.node,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#input_types).\n * @default 'text'\n */\n type: PropTypes.string,\n /**\n * The value of the `input` element, required for a controlled component.\n */\n value: PropTypes.any\n} : void 0;\nFilledInput.muiName = 'Input';\nexport default FilledInput;","'use client';\n\nvar _span;\nimport PropTypes from 'prop-types';\nimport rootShouldForwardProp from \"../styles/rootShouldForwardProp.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst NotchedOutlineRoot = styled('fieldset', {\n name: 'MuiNotchedOutlined',\n shouldForwardProp: rootShouldForwardProp\n})({\n textAlign: 'left',\n position: 'absolute',\n bottom: 0,\n right: 0,\n top: -5,\n left: 0,\n margin: 0,\n padding: '0 8px',\n pointerEvents: 'none',\n borderRadius: 'inherit',\n borderStyle: 'solid',\n borderWidth: 1,\n overflow: 'hidden',\n minWidth: '0%'\n});\nconst NotchedOutlineLegend = styled('legend', {\n name: 'MuiNotchedOutlined',\n shouldForwardProp: rootShouldForwardProp\n})(memoTheme(({\n theme\n}) => ({\n float: 'unset',\n // Fix conflict with bootstrap\n width: 'auto',\n // Fix conflict with bootstrap\n overflow: 'hidden',\n // Fix Horizontal scroll when label too long\n variants: [{\n props: ({\n ownerState\n }) => !ownerState.withLabel,\n style: {\n padding: 0,\n lineHeight: '11px',\n // sync with `height` in `legend` styles\n transition: theme.transitions.create('width', {\n duration: 150,\n easing: theme.transitions.easing.easeOut\n })\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.withLabel,\n style: {\n display: 'block',\n // Fix conflict with normalize.css and sanitize.css\n padding: 0,\n height: 11,\n // sync with `lineHeight` in `legend` styles\n fontSize: '0.75em',\n visibility: 'hidden',\n maxWidth: 0.01,\n transition: theme.transitions.create('max-width', {\n duration: 50,\n easing: theme.transitions.easing.easeOut\n }),\n whiteSpace: 'nowrap',\n '& > span': {\n paddingLeft: 5,\n paddingRight: 5,\n display: 'inline-block',\n opacity: 0,\n visibility: 'visible'\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.withLabel && ownerState.notched,\n style: {\n maxWidth: '100%',\n transition: theme.transitions.create('max-width', {\n duration: 100,\n easing: theme.transitions.easing.easeOut,\n delay: 50\n })\n }\n }]\n})));\n\n/**\n * @ignore - internal component.\n */\nexport default function NotchedOutline(props) {\n const {\n children,\n classes,\n className,\n label,\n notched,\n ...other\n } = props;\n const withLabel = label != null && label !== '';\n const ownerState = {\n ...props,\n notched,\n withLabel\n };\n return /*#__PURE__*/_jsx(NotchedOutlineRoot, {\n \"aria-hidden\": true,\n className: className,\n ownerState: ownerState,\n ...other,\n children: /*#__PURE__*/_jsx(NotchedOutlineLegend, {\n ownerState: ownerState,\n children: withLabel ? /*#__PURE__*/_jsx(\"span\", {\n children: label\n }) : // notranslate needed while Google Translate will not fix zero-width space issue\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n \"aria-hidden\": true,\n children: \"\\u200B\"\n }))\n })\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? NotchedOutline.propTypes /* remove-proptypes */ = {\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The label.\n */\n label: PropTypes.node,\n /**\n * If `true`, the outline is notched to accommodate the label.\n */\n notched: PropTypes.bool.isRequired,\n /**\n * @ignore\n */\n style: PropTypes.object\n} : void 0;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport { inputBaseClasses } from \"../InputBase/index.js\";\nexport function getOutlinedInputUtilityClass(slot) {\n return generateUtilityClass('MuiOutlinedInput', slot);\n}\nconst outlinedInputClasses = {\n ...inputBaseClasses,\n ...generateUtilityClasses('MuiOutlinedInput', ['root', 'notchedOutline', 'input'])\n};\nexport default outlinedInputClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport NotchedOutline from \"./NotchedOutline.js\";\nimport useFormControl from \"../FormControl/useFormControl.js\";\nimport formControlState from \"../FormControl/formControlState.js\";\nimport rootShouldForwardProp from \"../styles/rootShouldForwardProp.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport createSimplePaletteValueFilter from \"../utils/createSimplePaletteValueFilter.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport outlinedInputClasses, { getOutlinedInputUtilityClass } from \"./outlinedInputClasses.js\";\nimport InputBase, { rootOverridesResolver as inputBaseRootOverridesResolver, inputOverridesResolver as inputBaseInputOverridesResolver, InputBaseRoot, InputBaseInput } from \"../InputBase/InputBase.js\";\nimport useSlot from \"../utils/useSlot.js\";\nimport { jsxs as _jsxs, jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n notchedOutline: ['notchedOutline'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getOutlinedInputUtilityClass, classes);\n return {\n ...classes,\n // forward classes to the InputBase\n ...composedClasses\n };\n};\nconst OutlinedInputRoot = styled(InputBaseRoot, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiOutlinedInput',\n slot: 'Root',\n overridesResolver: inputBaseRootOverridesResolver\n})(memoTheme(({\n theme\n}) => {\n const borderColor = theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)';\n return {\n position: 'relative',\n borderRadius: (theme.vars || theme).shape.borderRadius,\n [`&:hover .${outlinedInputClasses.notchedOutline}`]: {\n borderColor: (theme.vars || theme).palette.text.primary\n },\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n [`&:hover .${outlinedInputClasses.notchedOutline}`]: {\n borderColor: theme.vars ? theme.alpha(theme.vars.palette.common.onBackground, 0.23) : borderColor\n }\n },\n [`&.${outlinedInputClasses.focused} .${outlinedInputClasses.notchedOutline}`]: {\n borderWidth: 2\n },\n variants: [...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({\n props: {\n color\n },\n style: {\n [`&.${outlinedInputClasses.focused} .${outlinedInputClasses.notchedOutline}`]: {\n borderColor: (theme.vars || theme).palette[color].main\n }\n }\n })), {\n props: {},\n // to override the above style\n style: {\n [`&.${outlinedInputClasses.error} .${outlinedInputClasses.notchedOutline}`]: {\n borderColor: (theme.vars || theme).palette.error.main\n },\n [`&.${outlinedInputClasses.disabled} .${outlinedInputClasses.notchedOutline}`]: {\n borderColor: (theme.vars || theme).palette.action.disabled\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.startAdornment,\n style: {\n paddingLeft: 14\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.endAdornment,\n style: {\n paddingRight: 14\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.multiline,\n style: {\n padding: '16.5px 14px'\n }\n }, {\n props: ({\n ownerState,\n size\n }) => ownerState.multiline && size === 'small',\n style: {\n padding: '8.5px 14px'\n }\n }]\n };\n}));\nconst NotchedOutlineRoot = styled(NotchedOutline, {\n name: 'MuiOutlinedInput',\n slot: 'NotchedOutline'\n})(memoTheme(({\n theme\n}) => {\n const borderColor = theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)';\n return {\n borderColor: theme.vars ? theme.alpha(theme.vars.palette.common.onBackground, 0.23) : borderColor\n };\n}));\nconst OutlinedInputInput = styled(InputBaseInput, {\n name: 'MuiOutlinedInput',\n slot: 'Input',\n overridesResolver: inputBaseInputOverridesResolver\n})(memoTheme(({\n theme\n}) => ({\n padding: '16.5px 14px',\n ...(!theme.vars && {\n '&:-webkit-autofill': {\n WebkitBoxShadow: theme.palette.mode === 'light' ? null : '0 0 0 100px #266798 inset',\n WebkitTextFillColor: theme.palette.mode === 'light' ? null : '#fff',\n caretColor: theme.palette.mode === 'light' ? null : '#fff',\n borderRadius: 'inherit'\n }\n }),\n ...(theme.vars && {\n '&:-webkit-autofill': {\n borderRadius: 'inherit'\n },\n [theme.getColorSchemeSelector('dark')]: {\n '&:-webkit-autofill': {\n WebkitBoxShadow: '0 0 0 100px #266798 inset',\n WebkitTextFillColor: '#fff',\n caretColor: '#fff'\n }\n }\n }),\n variants: [{\n props: {\n size: 'small'\n },\n style: {\n padding: '8.5px 14px'\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.multiline,\n style: {\n padding: 0\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.startAdornment,\n style: {\n paddingLeft: 0\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.endAdornment,\n style: {\n paddingRight: 0\n }\n }]\n})));\nconst OutlinedInput = /*#__PURE__*/React.forwardRef(function OutlinedInput(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiOutlinedInput'\n });\n const {\n components = {},\n fullWidth = false,\n inputComponent = 'input',\n label,\n multiline = false,\n notched,\n slots = {},\n slotProps = {},\n type = 'text',\n ...other\n } = props;\n const classes = useUtilityClasses(props);\n const muiFormControl = useFormControl();\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['color', 'disabled', 'error', 'focused', 'hiddenLabel', 'size', 'required']\n });\n const ownerState = {\n ...props,\n color: fcs.color || 'primary',\n disabled: fcs.disabled,\n error: fcs.error,\n focused: fcs.focused,\n formControl: muiFormControl,\n fullWidth,\n hiddenLabel: fcs.hiddenLabel,\n multiline,\n size: fcs.size,\n type\n };\n const RootSlot = slots.root ?? components.Root ?? OutlinedInputRoot;\n const InputSlot = slots.input ?? components.Input ?? OutlinedInputInput;\n const [NotchedSlot, notchedProps] = useSlot('notchedOutline', {\n elementType: NotchedOutlineRoot,\n className: classes.notchedOutline,\n shouldForwardComponentProp: true,\n ownerState,\n externalForwardedProps: {\n slots,\n slotProps\n },\n additionalProps: {\n label: label != null && label !== '' && fcs.required ? /*#__PURE__*/_jsxs(React.Fragment, {\n children: [label, \"\\u2009\", '*']\n }) : label\n }\n });\n return /*#__PURE__*/_jsx(InputBase, {\n slots: {\n root: RootSlot,\n input: InputSlot\n },\n slotProps: slotProps,\n renderSuffix: state => /*#__PURE__*/_jsx(NotchedSlot, {\n ...notchedProps,\n notched: typeof notched !== 'undefined' ? notched : Boolean(state.startAdornment || state.filled || state.focused)\n }),\n fullWidth: fullWidth,\n inputComponent: inputComponent,\n multiline: multiline,\n ref: ref,\n type: type,\n ...other,\n classes: {\n ...classes,\n notchedOutline: null\n }\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? OutlinedInput.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * This prop helps users to fill forms faster, especially on mobile devices.\n * The name can be confusing, as it's more like an autofill.\n * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).\n */\n autoComplete: PropTypes.string,\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component.\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary']), PropTypes.string]),\n /**\n * The components used for each slot inside.\n *\n * @deprecated use the `slots` prop instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Input: PropTypes.elementType,\n Root: PropTypes.elementType\n }),\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue: PropTypes.any,\n /**\n * If `true`, the component is disabled.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n disabled: PropTypes.bool,\n /**\n * End `InputAdornment` for this component.\n */\n endAdornment: PropTypes.node,\n /**\n * If `true`, the `input` will indicate an error.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the `input` will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n /**\n * The component used for the `input` element.\n * Either a string to use a HTML element or a component.\n * @default 'input'\n */\n inputComponent: PropTypes.elementType,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#attributes) applied to the `input` element.\n * @default {}\n */\n inputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * The label of the `input`. It is only used for layout. The actual labelling\n * is handled by `InputLabel`.\n */\n label: PropTypes.node,\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n * The prop defaults to the value (`'none'`) inherited from the parent FormControl component.\n */\n margin: PropTypes.oneOf(['dense', 'none']),\n /**\n * Maximum number of rows to display when multiline option is set to true.\n */\n maxRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * Minimum number of rows to display when multiline option is set to true.\n */\n minRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * If `true`, a [TextareaAutosize](https://mui.com/material-ui/react-textarea-autosize/) element is rendered.\n * @default false\n */\n multiline: PropTypes.bool,\n /**\n * Name attribute of the `input` element.\n */\n name: PropTypes.string,\n /**\n * If `true`, the outline is notched to accommodate the label.\n */\n notched: PropTypes.bool,\n /**\n * Callback fired when the value is changed.\n *\n * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n */\n onChange: PropTypes.func,\n /**\n * The short hint displayed in the `input` before the user enters a value.\n */\n placeholder: PropTypes.string,\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n /**\n * If `true`, the `input` element is required.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n required: PropTypes.bool,\n /**\n * Number of rows to display when multiline option is set to true.\n */\n rows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n input: PropTypes.object,\n notchedOutline: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.object\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n input: PropTypes.elementType,\n notchedOutline: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * Start `InputAdornment` for this component.\n */\n startAdornment: PropTypes.node,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#input_types).\n * @default 'text'\n */\n type: PropTypes.string,\n /**\n * The value of the `input` element, required for a controlled component.\n */\n value: PropTypes.any\n} : void 0;\nOutlinedInput.muiName = 'Input';\nexport default OutlinedInput;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport deepmerge from '@mui/utils/deepmerge';\nimport composeClasses from '@mui/utils/composeClasses';\nimport getReactElementRef from '@mui/utils/getReactElementRef';\nimport SelectInput from \"./SelectInput.js\";\nimport formControlState from \"../FormControl/formControlState.js\";\nimport useFormControl from \"../FormControl/useFormControl.js\";\nimport ArrowDropDownIcon from \"../internal/svg-icons/ArrowDropDown.js\";\nimport Input from \"../Input/index.js\";\nimport NativeSelectInput from \"../NativeSelect/NativeSelectInput.js\";\nimport FilledInput from \"../FilledInput/index.js\";\nimport OutlinedInput from \"../OutlinedInput/index.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport useForkRef from \"../utils/useForkRef.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport rootShouldForwardProp from \"../styles/rootShouldForwardProp.js\";\nimport { getSelectUtilityClasses } from \"./selectClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n const composedClasses = composeClasses(slots, getSelectUtilityClasses, classes);\n return {\n ...classes,\n ...composedClasses\n };\n};\nconst styledRootConfig = {\n name: 'MuiSelect',\n slot: 'Root',\n shouldForwardProp: prop => rootShouldForwardProp(prop) && prop !== 'variant'\n};\nconst StyledInput = styled(Input, styledRootConfig)('');\nconst StyledOutlinedInput = styled(OutlinedInput, styledRootConfig)('');\nconst StyledFilledInput = styled(FilledInput, styledRootConfig)('');\nconst Select = /*#__PURE__*/React.forwardRef(function Select(inProps, ref) {\n const props = useDefaultProps({\n name: 'MuiSelect',\n props: inProps\n });\n const {\n autoWidth = false,\n children,\n classes: classesProp = {},\n className,\n defaultOpen = false,\n displayEmpty = false,\n IconComponent = ArrowDropDownIcon,\n id,\n input,\n inputProps,\n label,\n labelId,\n MenuProps,\n multiple = false,\n native = false,\n onClose,\n onOpen,\n open,\n renderValue,\n SelectDisplayProps,\n variant: variantProp = 'outlined',\n ...other\n } = props;\n const inputComponent = native ? NativeSelectInput : SelectInput;\n const muiFormControl = useFormControl();\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['variant', 'error']\n });\n const variant = fcs.variant || variantProp;\n const ownerState = {\n ...props,\n variant,\n classes: classesProp\n };\n const classes = useUtilityClasses(ownerState);\n const {\n root,\n ...restOfClasses\n } = classes;\n const InputComponent = input || {\n standard: /*#__PURE__*/_jsx(StyledInput, {\n ownerState: ownerState\n }),\n outlined: /*#__PURE__*/_jsx(StyledOutlinedInput, {\n label: label,\n ownerState: ownerState\n }),\n filled: /*#__PURE__*/_jsx(StyledFilledInput, {\n ownerState: ownerState\n })\n }[variant];\n const inputComponentRef = useForkRef(ref, getReactElementRef(InputComponent));\n return /*#__PURE__*/_jsx(React.Fragment, {\n children: /*#__PURE__*/React.cloneElement(InputComponent, {\n // Most of the logic is implemented in `SelectInput`.\n // The `Select` component is a simple API wrapper to expose something better to play with.\n inputComponent,\n inputProps: {\n children,\n error: fcs.error,\n IconComponent,\n variant,\n type: undefined,\n // We render a select. We can ignore the type provided by the `Input`.\n multiple,\n ...(native ? {\n id\n } : {\n autoWidth,\n defaultOpen,\n displayEmpty,\n labelId,\n MenuProps,\n onClose,\n onOpen,\n open,\n renderValue,\n SelectDisplayProps: {\n id,\n ...SelectDisplayProps\n }\n }),\n ...inputProps,\n classes: inputProps ? deepmerge(restOfClasses, inputProps.classes) : restOfClasses,\n ...(input ? input.props.inputProps : {})\n },\n ...((multiple && native || displayEmpty) && variant === 'outlined' ? {\n notched: true\n } : {}),\n ref: inputComponentRef,\n className: clsx(InputComponent.props.className, className, classes.root),\n // If a custom input is provided via 'input' prop, do not allow 'variant' to be propagated to it's root element. See https://github.com/mui/material-ui/issues/33894.\n ...(!input && {\n variant\n }),\n ...other\n })\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Select.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, the width of the popover will automatically be set according to the items inside the\n * menu, otherwise it will be at least the width of the select input.\n * @default false\n */\n autoWidth: PropTypes.bool,\n /**\n * The option elements to populate the select with.\n * Can be some `MenuItem` when `native` is false and `option` when `native` is true.\n *\n * ⚠️The `MenuItem` elements **must** be direct descendants when `native` is false.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n * @default {}\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, the component is initially open. Use when the component open state is not controlled (i.e. the `open` prop is not defined).\n * You can only use it when the `native` prop is `false` (default).\n * @default false\n */\n defaultOpen: PropTypes.bool,\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue: PropTypes.any,\n /**\n * If `true`, a value is displayed even if no items are selected.\n *\n * In order to display a meaningful value, a function can be passed to the `renderValue` prop which\n * returns the value to be displayed when no items are selected.\n *\n * ⚠️ When using this prop, make sure the label doesn't overlap with the empty displayed value.\n * The label should either be hidden or forced to a shrunk state.\n * @default false\n */\n displayEmpty: PropTypes.bool,\n /**\n * The icon that displays the arrow.\n * @default ArrowDropDownIcon\n */\n IconComponent: PropTypes.elementType,\n /**\n * The `id` of the wrapper element or the `select` element when `native`.\n */\n id: PropTypes.string,\n /**\n * An `Input` element; does not have to be a material-ui specific `Input`.\n */\n input: PropTypes.element,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#attributes) applied to the `input` element.\n * When `native` is `true`, the attributes are applied on the `select` element.\n */\n inputProps: PropTypes.object,\n /**\n * See [OutlinedInput#label](https://mui.com/material-ui/api/outlined-input/#props)\n */\n label: PropTypes.node,\n /**\n * The ID of an element that acts as an additional label. The Select will\n * be labelled by the additional label and the selected value.\n */\n labelId: PropTypes.string,\n /**\n * Props applied to the [`Menu`](https://mui.com/material-ui/api/menu/) element.\n */\n MenuProps: PropTypes.object,\n /**\n * If `true`, `value` must be an array and the menu will support multiple selections.\n * @default false\n */\n multiple: PropTypes.bool,\n /**\n * If `true`, the component uses a native `select` element.\n * @default false\n */\n native: PropTypes.bool,\n /**\n * Callback fired when a menu item is selected.\n *\n * @param {SelectChangeEvent<Value>} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (any).\n * **Warning**: This is a generic event, not a change event, unless the change event is caused by browser autofill.\n * @param {object} [child] The react element that was selected when `native` is `false` (default).\n */\n onChange: PropTypes.func,\n /**\n * Callback fired when the component requests to be closed.\n * Use it in either controlled (see the `open` prop), or uncontrolled mode (to detect when the Select collapses).\n *\n * @param {object} event The event source of the callback.\n */\n onClose: PropTypes.func,\n /**\n * Callback fired when the component requests to be opened.\n * Use it in either controlled (see the `open` prop), or uncontrolled mode (to detect when the Select expands).\n *\n * @param {object} event The event source of the callback.\n */\n onOpen: PropTypes.func,\n /**\n * If `true`, the component is shown.\n * You can only use it when the `native` prop is `false` (default).\n */\n open: PropTypes.bool,\n /**\n * Render the selected value.\n * You can only use it when the `native` prop is `false` (default).\n *\n * @param {any} value The `value` provided to the component.\n * @returns {ReactNode}\n */\n renderValue: PropTypes.func,\n /**\n * Props applied to the clickable div element.\n */\n SelectDisplayProps: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The `input` value. Providing an empty string will select no options.\n * Set to an empty string `''` if you don't want any of the available options to be selected.\n *\n * If the value is an object it must have reference equality with the option in order to be selected.\n * If the value is not an object, the string representation must match with the string representation of the option in order to be selected.\n */\n value: PropTypes.oneOfType([PropTypes.oneOf(['']), PropTypes.any]),\n /**\n * The variant to use.\n * @default 'outlined'\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nSelect.muiName = 'Select';\nexport default Select;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport rootShouldForwardProp from \"../styles/rootShouldForwardProp.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport ListContext from \"../List/ListContext.js\";\nimport ButtonBase from \"../ButtonBase/index.js\";\nimport useEnhancedEffect from \"../utils/useEnhancedEffect.js\";\nimport useForkRef from \"../utils/useForkRef.js\";\nimport { dividerClasses } from \"../Divider/index.js\";\nimport { listItemIconClasses } from \"../ListItemIcon/index.js\";\nimport { listItemTextClasses } from \"../ListItemText/index.js\";\nimport menuItemClasses, { getMenuItemUtilityClass } from \"./menuItemClasses.js\";\nimport { useSelectFocusSource } from \"../Select/index.js\";\n\n/**\n * If autoFocus is an object, it will attempt to call `element.focus()` with the options argument.\n * If the browser doesn't support the options argument, it will fall back to a simple `element.focus()` call.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction focusWithVisible(element, focusSource) {\n if (focusSource == null) {\n element.focus();\n return;\n }\n try {\n element.focus({\n focusVisible: focusSource === 'keyboard'\n });\n } catch (error) {\n // If the browser doesn't support the focus options argument, fall back to a simple focus call.\n element.focus();\n }\n}\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dense,\n divider,\n disableGutters,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getMenuItemUtilityClass, classes);\n return {\n ...classes,\n ...composedClasses\n };\n};\nconst MenuItemRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenuItem',\n slot: 'Root',\n overridesResolver\n})(memoTheme(({\n theme\n}) => ({\n ...theme.typography.body1,\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n whiteSpace: 'nowrap',\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: (theme.vars || theme).palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${menuItemClasses.selected}`]: {\n backgroundColor: theme.alpha((theme.vars || theme).palette.primary.main, (theme.vars || theme).palette.action.selectedOpacity),\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: theme.alpha((theme.vars || theme).palette.primary.main, `${(theme.vars || theme).palette.action.selectedOpacity} + ${(theme.vars || theme).palette.action.focusOpacity}`)\n }\n },\n [`&.${menuItemClasses.selected}:hover`]: {\n backgroundColor: theme.alpha((theme.vars || theme).palette.primary.main, `${(theme.vars || theme).palette.action.selectedOpacity} + ${(theme.vars || theme).palette.action.hoverOpacity}`),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: theme.alpha((theme.vars || theme).palette.primary.main, (theme.vars || theme).palette.action.selectedOpacity)\n }\n },\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette.action.focus\n },\n [`&.${menuItemClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity\n },\n [`& + .${dividerClasses.root}`]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [`& + .${dividerClasses.inset}`]: {\n marginLeft: 52\n },\n [`& .${listItemTextClasses.root}`]: {\n marginTop: 0,\n marginBottom: 0\n },\n [`& .${listItemTextClasses.inset}`]: {\n paddingLeft: 36\n },\n [`& .${listItemIconClasses.root}`]: {\n minWidth: 36\n },\n variants: [{\n props: ({\n ownerState\n }) => !ownerState.disableGutters,\n style: {\n paddingLeft: 16,\n paddingRight: 16\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.divider,\n style: {\n borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`,\n backgroundClip: 'padding-box'\n }\n }, {\n props: ({\n ownerState\n }) => !ownerState.dense,\n style: {\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.dense,\n style: {\n minHeight: 32,\n // https://m2.material.io/components/menus#specs > Dense\n paddingTop: 4,\n paddingBottom: 4,\n ...theme.typography.body2,\n [`& .${listItemIconClasses.root} svg`]: {\n fontSize: '1.25rem'\n }\n }\n }]\n})));\nconst MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiMenuItem'\n });\n const {\n autoFocus = false,\n component = 'li',\n dense = false,\n divider = false,\n disableGutters = false,\n focusVisibleClassName,\n role = 'menuitem',\n tabIndex: tabIndexProp,\n className,\n ...other\n } = props;\n const focusSource = useSelectFocusSource();\n const context = React.useContext(ListContext);\n const childContext = React.useMemo(() => ({\n dense: dense || context.dense || false,\n disableGutters\n }), [context.dense, dense, disableGutters]);\n const menuItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (menuItemRef.current) {\n focusWithVisible(menuItemRef.current, focusSource);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.');\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [autoFocus]);\n const ownerState = {\n ...props,\n dense: childContext.dense,\n divider,\n disableGutters\n };\n const classes = useUtilityClasses(props);\n const handleRef = useForkRef(menuItemRef, ref);\n // Don't forward the 'root' class to the ButtonBase, as it will get duplicated with the one passed to the className prop.\n const {\n root,\n ...forwardedClasses\n } = classes;\n let tabIndex;\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(MenuItemRoot, {\n ref: handleRef,\n role: role,\n tabIndex: tabIndex,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName),\n className: clsx(classes.root, className),\n ...other,\n ownerState: ownerState,\n classes: forwardedClasses\n })\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent Menu component.\n * @default false\n */\n dense: PropTypes.bool,\n /**\n * @ignore\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * If `true`, a 1px light border is added to the bottom of the menu item.\n * @default false\n */\n divider: PropTypes.bool,\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n /**\n * @ignore\n */\n role: PropTypes.string,\n /**\n * If `true`, the component is selected.\n * @default false\n */\n selected: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * @default 0\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default MenuItem;","import { markFractionBaseSuperscripts as e } from \"./utils.js\";\nimport t from \"react\";\nimport n from \"prop-types\";\nimport r from \"debug\";\nimport i from \"@mui/material/Button\";\nimport { styled as a } from \"@mui/material/styles\";\nimport o from \"@mui/material/MenuItem\";\nimport s from \"@mui/material/Select\";\nimport { isEqual as c } from \"@pie-element/shared-lodash\";\nimport l from \"@mui/material/FormControl\";\nimport u from \"@mui/material/InputLabel\";\nimport { HorizontalKeypad as d, mq as f, updateSpans as p } from \"@pie-lib/math-input\";\nimport { color as m } from \"@pie-lib/render-ui\";\nimport { jsx as h, jsxs as g } from \"react/jsx-runtime\";\n//#region src/editor-and-pad.tsx\nvar { commonMqFontStyles: _, commonMqKeyboardStyles: v, longdivStyles: y, supsubStyles: b } = f.CommonMqStyles, x = r(\"@pie-lib:math-toolbar:editor-and-pad\"), S = /\\.|,/g, C = a(\"div\")(({ theme: e }) => ({\n\tzIndex: 9,\n\tposition: \"relative\",\n\ttextAlign: \"center\",\n\twidth: \"auto\",\n\t\"& > .mq-math-mode\": { border: \"solid 1px lightgrey\" },\n\t\"& > .mq-focused\": {\n\t\toutline: \"none\",\n\t\tboxShadow: \"none\",\n\t\tborder: `dotted 1px ${e.palette.primary.main}`,\n\t\tborderRadius: \"0px\"\n\t},\n\t\"& .mq-overarrow-inner\": {\n\t\tborder: \"none !important\",\n\t\tpaddingTop: \"0 !important\"\n\t},\n\t\"& .mq-overarrow-inner-right\": { display: \"none !important\" },\n\t\"& .mq-overarrow-inner-left\": { display: \"none !important\" },\n\t\"& .mq-longdiv-inner\": {\n\t\tborderTop: \"1px solid !important\",\n\t\tpaddingTop: \"1.5px !important\"\n\t},\n\t\"& .mq-overarrow.mq-arrow-both\": {\n\t\ttop: \"7.8px\",\n\t\tmarginTop: \"0px\",\n\t\tminWidth: \"1.23em\"\n\t},\n\t\"& .mq-parallelogram\": { lineHeight: .85 }\n})), w = a(\"div\")(({ theme: e, hide: t }) => ({\n\tdisplay: t ? \"none\" : \"flex\",\n\talignItems: \"center\",\n\t\"& .mq-editable-field .mq-cursor\": { top: \"-4px\" },\n\t\"& .mq-math-mode .mq-selection, .mq-editable-field .mq-selection\": { paddingTop: \"18px\" },\n\t\"& .mq-math-mode .mq-overarrow\": { fontFamily: \"Roboto, Helvetica, Arial, sans-serif !important\" },\n\t\"& .mq-math-mode .mq-overline .mq-overline-inner\": { paddingTop: \"0.4em !important\" },\n\t\"& .mq-overarrow.mq-arrow-both\": {\n\t\tminWidth: \"1.23em\",\n\t\t\"& *\": { lineHeight: \"1 !important\" },\n\t\t\"&:before\": {\n\t\t\ttop: \"-0.45em\",\n\t\t\tleft: \"-1px\"\n\t\t},\n\t\t\"&:after\": {\n\t\t\tposition: \"absolute !important\",\n\t\t\ttop: \"0px !important\",\n\t\t\tright: \"-2px\"\n\t\t},\n\t\t\"&.mq-empty:after\": { top: \"-0.45em\" }\n\t},\n\t\"& .mq-overarrow.mq-arrow-right\": { \"&:before\": {\n\t\ttop: \"-0.4em\",\n\t\tright: \"-1px\"\n\t} },\n\t\"& *\": {\n\t\t..._,\n\t\t...b,\n\t\t...y,\n\t\t\"& .mq-math-mode .mq-sqrt-prefix\": {\n\t\t\tverticalAlign: \"baseline !important\",\n\t\t\ttop: \"1px !important\",\n\t\t\tleft: \"-0.1em !important\"\n\t\t},\n\t\t\"& .mq-math-mode .mq-overarc \": { paddingTop: \"0.45em !important\" },\n\t\t\"& .mq-math-mode .mq-empty\": { padding: \"9px 1px !important\" },\n\t\t\"& .mq-math-mode .mq-root-block\": { paddingTop: \"10px\" },\n\t\t\"& .mq-scaled .mq-sqrt-prefix\": { top: \"0 !important\" },\n\t\t\"& .mq-math-mode .mq-longdiv .mq-longdiv-inner\": {\n\t\t\tmarginLeft: \"4px !important\",\n\t\t\tpaddingTop: \"6px !important\",\n\t\t\tpaddingLeft: \"6px !important\"\n\t\t},\n\t\t\"& .mq-math-mode .mq-paren\": {\n\t\t\tverticalAlign: \"top !important\",\n\t\t\tpadding: \"1px 0.1em !important\"\n\t\t},\n\t\t\"& .mq-math-mode .mq-sqrt-stem\": {\n\t\t\tborderTop: \"0.07em solid\",\n\t\t\tmarginLeft: \"-1.5px\",\n\t\t\tmarginTop: \"-2px !important\",\n\t\t\tpaddingTop: \"5px !important\"\n\t\t},\n\t\t\"& .mq-math-mode .mq-denominator\": {\n\t\t\tmarginTop: \"-5px !important\",\n\t\t\tpadding: \"0.5em 0.1em 0.1em !important\"\n\t\t},\n\t\t\"& .mq-math-mode .mq-numerator, .mq-math-mode .mq-over\": {\n\t\t\tpadding: \"0 0.1em !important\",\n\t\t\tpaddingBottom: \"0 !important\",\n\t\t\tmarginBottom: \"-2px\"\n\t\t}\n\t},\n\t\"& span[data-prime=\\\"true\\\"]\": { fontFamily: \"Roboto, Helvetica, Arial, sans-serif !important\" }\n})), T = a(l)({\n\tflex: \"initial\",\n\twidth: \"25%\",\n\tminWidth: \"100px\",\n\tmarginLeft: \"15px\",\n\tmarginTop: \"5px\",\n\tmarginBottom: \"5px\",\n\tmarginRight: \"5px\",\n\t\"& label\": { fontFamily: \"Roboto, Helvetica, Arial, sans-serif !important\" },\n\t\"& div\": { fontFamily: \"Roboto, Helvetica, Arial, sans-serif !important\" }\n}), E = a(u)(() => ({ backgroundColor: \"transparent\" })), D = a(\"div\")(({ theme: e, error: t }) => ({\n\tminWidth: \"500px\",\n\tmaxWidth: \"900px\",\n\tminHeight: \"30px\",\n\twidth: \"100%\",\n\tdisplay: \"flex\",\n\tmarginTop: e.spacing(1),\n\tmarginBottom: e.spacing(1),\n\t...t && { border: \"2px solid red\" },\n\t\"& .mq-sqrt-prefix .mq-scaled\": { verticalAlign: \"middle !important\" }\n})), O = a(f.Input)(({ controlledKeypadMode: e }) => ({\n\tmaxWidth: e ? \"400px\" : \"500px\",\n\tcolor: m.text(),\n\tbackgroundColor: m.background(),\n\tpadding: \"2px\"\n})), k = a(i)({\n\tposition: \"absolute\",\n\tright: \"12px\",\n\tborder: \"1px solid lightgrey\",\n\tcolor: m.text()\n}), A = a(\"hr\")(({ theme: e }) => ({\n\tpadding: 0,\n\tmargin: 0,\n\theight: \"1px\",\n\tborder: \"none\",\n\tborderBottom: `solid 1px ${e.palette.primary.main}`\n})), j = a(d)(({ mode: e }) => ({\n\t...v,\n\t...e === \"language\" && { \"& *\": { fontFamily: \"Roboto, Helvetica, Arial, sans-serif !important\" } }\n})), M = (e) => {\n\tif (!e) return;\n\tlet { type: t, value: n } = e;\n\treturn t === \"command\" || t === \"cursor\" ? e : t === \"answer\" ? {\n\t\ttype: \"answer\",\n\t\t...e\n\t} : n === \"clear\" ? { type: \"clear\" } : {\n\t\ttype: \"write\",\n\t\tvalue: n\n\t};\n}, N = class extends t.Component {\n\tstatic propTypes = {\n\t\tclassNames: n.object,\n\t\tkeypadMode: n.oneOfType([n.string, n.number]),\n\t\tautoFocus: n.bool,\n\t\tallowAnswerBlock: n.bool,\n\t\tshowKeypad: n.bool,\n\t\tcontrolledKeypad: n.bool,\n\t\tcontrolledKeypadMode: n.bool,\n\t\terror: n.string,\n\t\tnoDecimal: n.bool,\n\t\thideInput: n.bool,\n\t\tnoLatexHandling: n.bool,\n\t\tlayoutForKeyPad: n.object,\n\t\tmaxResponseAreas: n.number,\n\t\tadditionalKeys: n.array,\n\t\tlatex: n.string.isRequired,\n\t\tonAnswerBlockAdd: n.func,\n\t\tonFocus: n.func,\n\t\tonBlur: n.func,\n\t\tonChange: n.func.isRequired,\n\t\tsetKeypadInteraction: n.func\n\t};\n\tconstructor(e) {\n\t\tsuper(e), this.state = {\n\t\t\tequationEditor: \"item-authoring\",\n\t\t\taddDisabled: !1\n\t\t};\n\t}\n\tcomponentDidMount() {\n\t\tthis.input && this.props.autoFocus && (this.focusTimeout = setTimeout(() => {\n\t\t\tthis.focusTimeout = void 0, this.input?.focus();\n\t\t}, 0));\n\t}\n\tcomponentWillUnmount() {\n\t\tthis.focusTimeout && clearTimeout(this.focusTimeout);\n\t}\n\tonClick = (e) => {\n\t\tlet { noDecimal: t, noLatexHandling: n, onChange: r } = this.props, i = M(e);\n\t\tif (x(\"mathChange: \", i), n) {\n\t\t\tr(i.value);\n\t\t\treturn;\n\t\t}\n\t\tt && (i.value === \".\" || i.value === \",\") || i && (i.type === \"clear\" ? (x(\"call clear...\"), this.input.clear()) : i.type === \"command\" ? this.input.command(i.value) : i.type === \"cursor\" ? this.input.keystroke(i.value) : i.type === \"answer\" ? this.input.write(\"%response%\") : this.input.write(i.value));\n\t};\n\tupdateDisable = (e) => {\n\t\tlet { maxResponseAreas: t } = this.props;\n\t\tif (t) {\n\t\t\tlet n = this.checkResponseAreasNumber(t, e);\n\t\t\tthis.setState({ addDisabled: n });\n\t\t}\n\t};\n\tonAnswerBlockClick = () => {\n\t\tthis.props.onAnswerBlockAdd(), this.onClick({ type: \"answer\" }), this.updateDisable(!0);\n\t};\n\tonEditorChange = (t) => {\n\t\tlet { onChange: n, noDecimal: r } = this.props;\n\t\tif (p(), e(), this.updateDisable(!0), r && (t.indexOf(\".\") !== -1 || t.indexOf(\",\") !== -1) && this.input) {\n\t\t\tthis.input.clear(), this.input.write(t.replace(S, \"\"));\n\t\t\treturn;\n\t\t}\n\t\tlet i = t.match(/[0-9]\\\\ \\\\frac\\{[^\\{]*\\}\\{ \\}/);\n\t\tif (this.input && i && i?.length) {\n\t\t\ttry {\n\t\t\t\tthis.input.mathField.__controller.cursor.insLeftOf(this.input.mathField.__controller.cursor.parent[-1].parent), this.input.mathField.el().dispatchEvent(new KeyboardEvent(\"keydown\", { keyCode: 8 }));\n\t\t\t} catch (e) {\n\t\t\t\tconsole.error(e.toString());\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tn(t);\n\t};\n\tshouldComponentUpdate(e, t) {\n\t\tlet n = this.input.mathField.latex() !== e.latex;\n\t\treturn x(\"[shouldComponentUpdate] \", \"inputIsDifferent: \", n), !c(this.props.error, e.error) || !n && this.props.keypadMode !== e.keypadMode || !n && this.props.noDecimal !== e.noDecimal || !n && this.state.equationEditor !== t.equationEditor ? !0 : !n && this.props.controlledKeypad ? this.props.showKeypad !== e.showKeypad : n;\n\t}\n\tonEditorTypeChange = (e) => {\n\t\tthis.setState({ equationEditor: e.target.value });\n\t};\n\tcheckResponseAreasNumber = (e, t) => {\n\t\tlet { latex: n } = this.input && this.input.props || {};\n\t\tif (n) {\n\t\t\tlet r = (n.match(/answerBlock/g) || []).length;\n\t\t\treturn t ? r === e - 1 : r === e;\n\t\t}\n\t\treturn !1;\n\t};\n\trender() {\n\t\tlet { classNames: e, keypadMode: t, allowAnswerBlock: n, additionalKeys: r, controlledKeypad: i, controlledKeypadMode: a, showKeypad: c, setKeypadInteraction: l, noDecimal: u, hideInput: d, layoutForKeyPad: f, latex: p, onFocus: m, onBlur: _, error: v } = this.props, y = !i || i && c, { addDisabled: b } = this.state;\n\t\treturn x(\"[render]\", p), /* @__PURE__ */ g(C, {\n\t\t\tclassName: e.mathToolbar,\n\t\t\tchildren: [\n\t\t\t\t/* @__PURE__ */ g(w, {\n\t\t\t\t\thide: d,\n\t\t\t\t\tchildren: [a && /* @__PURE__ */ g(T, {\n\t\t\t\t\t\tvariant: \"standard\",\n\t\t\t\t\t\tchildren: [/* @__PURE__ */ h(E, {\n\t\t\t\t\t\t\tid: \"equation-editor-label\",\n\t\t\t\t\t\t\tchildren: \"Equation Editor\"\n\t\t\t\t\t\t}), /* @__PURE__ */ g(s, {\n\t\t\t\t\t\t\tlabelId: \"equation-editor-label\",\n\t\t\t\t\t\t\tid: \"equation-editor-select\",\n\t\t\t\t\t\t\tname: \"equationEditor\",\n\t\t\t\t\t\t\tlabel: \"Equation Editor\",\n\t\t\t\t\t\t\tonChange: this.onEditorTypeChange,\n\t\t\t\t\t\t\tvalue: this.state.equationEditor,\n\t\t\t\t\t\t\tMenuProps: { transitionDuration: {\n\t\t\t\t\t\t\t\tenter: 225,\n\t\t\t\t\t\t\t\texit: 195\n\t\t\t\t\t\t\t} },\n\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\t/* @__PURE__ */ h(o, {\n\t\t\t\t\t\t\t\t\tvalue: \"non-negative-integers\",\n\t\t\t\t\t\t\t\t\tchildren: \"Numeric - Non-Negative Integers\"\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t/* @__PURE__ */ h(o, {\n\t\t\t\t\t\t\t\t\tvalue: \"integers\",\n\t\t\t\t\t\t\t\t\tchildren: \"Numeric - Integers\"\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t/* @__PURE__ */ h(o, {\n\t\t\t\t\t\t\t\t\tvalue: \"decimals\",\n\t\t\t\t\t\t\t\t\tchildren: \"Numeric - Decimals\"\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t/* @__PURE__ */ h(o, {\n\t\t\t\t\t\t\t\t\tvalue: \"fractions\",\n\t\t\t\t\t\t\t\t\tchildren: \"Numeric - Fractions\"\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t/* @__PURE__ */ h(o, {\n\t\t\t\t\t\t\t\t\tvalue: 1,\n\t\t\t\t\t\t\t\t\tchildren: \"Grade 1 - 2\"\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t/* @__PURE__ */ h(o, {\n\t\t\t\t\t\t\t\t\tvalue: 3,\n\t\t\t\t\t\t\t\t\tchildren: \"Grade 3 - 5\"\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t/* @__PURE__ */ h(o, {\n\t\t\t\t\t\t\t\t\tvalue: 6,\n\t\t\t\t\t\t\t\t\tchildren: \"Grade 6 - 7\"\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t/* @__PURE__ */ h(o, {\n\t\t\t\t\t\t\t\t\tvalue: 8,\n\t\t\t\t\t\t\t\t\tchildren: \"Grade 8 - HS\"\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t/* @__PURE__ */ h(o, {\n\t\t\t\t\t\t\t\t\tvalue: \"geometry\",\n\t\t\t\t\t\t\t\t\tchildren: \"Geometry\"\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t/* @__PURE__ */ h(o, {\n\t\t\t\t\t\t\t\t\tvalue: \"advanced-algebra\",\n\t\t\t\t\t\t\t\t\tchildren: \"Advanced Algebra\"\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t/* @__PURE__ */ h(o, {\n\t\t\t\t\t\t\t\t\tvalue: \"statistics\",\n\t\t\t\t\t\t\t\t\tchildren: \"Statistics\"\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t/* @__PURE__ */ h(o, {\n\t\t\t\t\t\t\t\t\tvalue: \"item-authoring\",\n\t\t\t\t\t\t\t\t\tchildren: \"Item Authoring\"\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t})]\n\t\t\t\t\t}), /* @__PURE__ */ h(D, {\n\t\t\t\t\t\terror: v,\n\t\t\t\t\t\tchildren: /* @__PURE__ */ h(O, {\n\t\t\t\t\t\t\tonFocus: () => {\n\t\t\t\t\t\t\t\tm && m(), this.updateDisable(!1);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tonBlur: (e) => {\n\t\t\t\t\t\t\t\tthis.updateDisable(!1), _ && _(e);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tclassName: e && e.editor || \"\",\n\t\t\t\t\t\t\tcontrolledKeypadMode: a,\n\t\t\t\t\t\t\tref: (e) => this.input = e,\n\t\t\t\t\t\t\tlatex: p,\n\t\t\t\t\t\t\tonChange: this.onEditorChange\n\t\t\t\t\t\t})\n\t\t\t\t\t})]\n\t\t\t\t}),\n\t\t\t\tn && /* @__PURE__ */ h(k, {\n\t\t\t\t\ttype: \"primary\",\n\t\t\t\t\tstyle: { bottom: y ? \"320px\" : \"20px\" },\n\t\t\t\t\tonClick: this.onAnswerBlockClick,\n\t\t\t\t\tdisabled: b,\n\t\t\t\t\tchildren: \"+ Response Area\"\n\t\t\t\t}),\n\t\t\t\t/* @__PURE__ */ h(A, {}),\n\t\t\t\ty && /* @__PURE__ */ h(j, {\n\t\t\t\t\tmode: a ? this.state.equationEditor : t,\n\t\t\t\t\tcontrolledKeypadMode: a,\n\t\t\t\t\tlayoutForKeyPad: f,\n\t\t\t\t\tadditionalKeys: r,\n\t\t\t\t\tonClick: this.onClick,\n\t\t\t\t\tnoDecimal: u,\n\t\t\t\t\tsetKeypadInteraction: l\n\t\t\t\t})\n\t\t\t]\n\t\t});\n\t}\n};\n//#endregion\nexport { N as EditorAndPad, N as default };\n","import \"react\";\nimport e from \"prop-types\";\nimport { styled as t } from \"@mui/material/styles\";\nimport { color as n } from \"@pie-lib/render-ui\";\nimport { jsx as r } from \"react/jsx-runtime\";\nimport i from \"@mui/material/IconButton\";\nimport a from \"@mui/icons-material/Check\";\n//#region src/done-button.tsx\nvar o = t(i)(({ hideBackground: e }) => ({\n\tverticalAlign: \"top\",\n\twidth: \"28px\",\n\theight: \"28px\",\n\tcolor: \"#00bb00\",\n\t...e && {\n\t\tbackgroundColor: n.white(),\n\t\t\"&:hover\": { backgroundColor: n.backgroundDark() }\n\t},\n\t\"& .MuiIconButton-label\": {\n\t\tposition: \"absolute\",\n\t\ttop: \"2px\"\n\t}\n})), s = ({ onClick: e, hideBackground: t }) => /* @__PURE__ */ r(o, {\n\t\"aria-label\": \"Done\",\n\tonClick: e,\n\thideBackground: t,\n\tsize: \"large\",\n\tchildren: /* @__PURE__ */ r(a, {})\n});\ns.propTypes = {\n\tonClick: e.func,\n\thideBackground: e.bool\n};\nvar c = s;\n//#endregion\nexport { c as DoneButton, s as RawDoneButton };\n","import { markFractionBaseSuperscripts as e } from \"./utils.js\";\nimport t from \"react\";\nimport n from \"prop-types\";\nimport r from \"debug\";\nimport { styled as i } from \"@mui/material/styles\";\nimport { mq as a } from \"@pie-lib/math-input\";\nimport { jsx as o, jsxs as s } from \"react/jsx-runtime\";\n//#region src/math-preview.tsx\nvar { commonMqFontStyles: c, longdivStyles: l, supsubStyles: u } = a.CommonMqStyles, d = r(\"@pie-lib:math-toolbar:math-preview\"), f = i(\"div\")(({ theme: e, isSelected: t }) => ({\n\tdisplay: \"inline-flex\",\n\talignItems: \"center\",\n\tposition: \"relative\",\n\t\"& *\": c,\n\t...u,\n\t...l,\n\t\"& > .mq-math-mode\": { border: t ? \"solid 0px lightgrey\" : \"solid 1px lightgrey\" },\n\t\"& > .mq-focused\": {\n\t\toutline: \"none\",\n\t\tboxShadow: \"none\",\n\t\tborder: \"solid 1px black\",\n\t\tborderRadius: \"0px\"\n\t},\n\t\"& > .mq-math-mode .mq-root-block\": { paddingTop: \"7px !important\" },\n\t\"& > .mq-math-mode .mq-overarc \": { paddingTop: \"0.45em !important\" },\n\t\"& > .mq-math-mode .mq-sqrt-prefix\": {\n\t\tverticalAlign: \"baseline !important\",\n\t\ttop: \"1px !important\",\n\t\tleft: \"-0.1em !important\"\n\t},\n\t\"& > .mq-math-mode .mq-denominator\": {\n\t\tmarginTop: \"-5px !important\",\n\t\tpadding: \"0.5em 0.1em 0.1em !important\"\n\t},\n\t\"& > .mq-math-mode .mq-numerator, .mq-math-mode .mq-over\": {\n\t\tpadding: \"0 0.1em !important\",\n\t\tpaddingBottom: \"0 !important\",\n\t\tmarginBottom: \"-2px\"\n\t},\n\t\"& > .mq-math-mode .mq-longdiv .mq-longdiv-inner .mq-empty\": {\n\t\tpaddingTop: \"6px !important\",\n\t\tpaddingLeft: \"4px !important\"\n\t},\n\t\"& > .mq-math-mode .mq-longdiv .mq-longdiv-inner\": { marginLeft: \"0 !important\" },\n\t\"& > .mq-math-mode .mq-overarrow\": { fontFamily: \"Roboto, Helvetica, Arial, sans-serif !important\" },\n\t\"& > .mq-math-mode .mq-paren\": {\n\t\tverticalAlign: \"top !important\",\n\t\tpadding: \"1px 0.1em !important\"\n\t},\n\t\"& > .mq-math-mode .mq-sqrt-stem\": {\n\t\tborderTop: \"0.07em solid\",\n\t\tmarginLeft: \"-1.5px\",\n\t\tmarginTop: \"-2px !important\",\n\t\tpaddingTop: \"5px !important\"\n\t},\n\t\"& .mq-overarrow-inner\": {\n\t\tpaddingTop: \"0 !important\",\n\t\tborder: \"none !important\"\n\t},\n\t\"& .mq-editable-field .mq-cursor\": { marginTop: \"-15px !important\" },\n\t\"& .mq-overarrow.mq-arrow-both\": {\n\t\ttop: \"7.5px\",\n\t\tmarginTop: \"0px\",\n\t\tminWidth: \"1.23em\",\n\t\t\"& *\": { lineHeight: \"1 !important\" },\n\t\t\"&:before\": {\n\t\t\ttop: \"-0.4em\",\n\t\t\tleft: \"-1px\"\n\t\t},\n\t\t\"&:after\": {\n\t\t\ttop: \"0px !important\",\n\t\t\tposition: \"absolute !important\",\n\t\t\tright: \"-2px\"\n\t\t},\n\t\t\"&.mq-empty:after\": { top: \"-0.45em\" }\n\t},\n\t\"& .mq-overarrow.mq-arrow-right\": { \"&:before\": {\n\t\ttop: \"-0.4em\",\n\t\tright: \"-1px\"\n\t} },\n\t\"& .mq-overarrow-inner-right\": { display: \"none !important\" },\n\t\"& .mq-overarrow-inner-left\": { display: \"none !important\" },\n\t\"& .mq-longdiv-inner\": {\n\t\tborderTop: \"1px solid !important\",\n\t\tpaddingTop: \"1.5px !important\"\n\t},\n\t\"& .mq-parallelogram\": { lineHeight: .85 },\n\t\"& span[data-prime=\\\"true\\\"]\": { fontFamily: \"Roboto, Helvetica, Arial, sans-serif !important\" },\n\t...t && { border: `solid 1px ${e.palette.primary.main}` }\n})), p = i(\"span\")({\n\tposition: \"absolute\",\n\tbottom: 0,\n\tleft: 0,\n\tright: 0,\n\ttop: 0\n}), m = class extends t.Component {\n\tstatic propTypes = {\n\t\tlatex: n.string,\n\t\tisSelected: n.bool,\n\t\tonFocus: n.func,\n\t\tonBlur: n.func\n\t};\n\tcomponentDidMount() {\n\t\te();\n\t}\n\tcomponentDidUpdate(t) {\n\t\tthis.props.latex !== t.latex && e();\n\t}\n\trender() {\n\t\tlet { isSelected: e, onFocus: t, onBlur: n, latex: r } = this.props;\n\t\treturn d(\"[render] latex: \", r), /* @__PURE__ */ s(f, {\n\t\t\tisSelected: e,\n\t\t\tchildren: [\n\t\t\t\t\" \",\n\t\t\t\t/* @__PURE__ */ o(p, {}),\n\t\t\t\t/* @__PURE__ */ o(a.Static, {\n\t\t\t\t\tlatex: r,\n\t\t\t\t\tonFocus: t,\n\t\t\t\t\tonBlur: n\n\t\t\t\t})\n\t\t\t]\n\t\t});\n\t}\n};\n//#endregion\nexport { m as RawMathPreview, m as default };\n","import { EditorAndPad as e } from \"./editor-and-pad.js\";\nimport { DoneButton as t } from \"./done-button.js\";\nimport { RawMathPreview as n } from \"./math-preview.js\";\nimport r from \"react\";\nimport i from \"prop-types\";\nimport { styled as a } from \"@mui/material/styles\";\nimport { jsx as o, jsxs as s } from \"react/jsx-runtime\";\n//#region src/index.tsx\nvar c = a(\"div\")({\n\tdisplay: \"flex\",\n\twidth: \"100%\",\n\tzIndex: 8,\n\talignItems: \"center\"\n}), l = class extends r.Component {\n\tstatic propTypes = {\n\t\tautoFocus: i.bool,\n\t\tallowAnswerBlock: i.bool,\n\t\tcontrolledKeypad: i.bool,\n\t\tcontrolledKeypadMode: i.bool,\n\t\tkeypadMode: i.oneOfType([i.string, i.number]),\n\t\tclassNames: i.object,\n\t\terror: i.string,\n\t\tmaxResponseAreas: i.number,\n\t\tshowKeypad: i.bool,\n\t\tnoDecimal: i.bool,\n\t\tadditionalKeys: i.array,\n\t\tlatex: i.string.isRequired,\n\t\tonAnswerBlockAdd: i.func,\n\t\tonChange: i.func,\n\t\tonDone: i.func.isRequired,\n\t\tonFocus: i.func,\n\t\tonBlur: i.func,\n\t\thideDoneButton: i.bool,\n\t\tkeyPadCharacterRef: i.func,\n\t\tsetKeypadInteraction: i.func\n\t};\n\tstatic defaultProps = {\n\t\tclassNames: {},\n\t\tkeypadMode: \"item-authoring\",\n\t\tautoFocus: !1,\n\t\tallowAnswerBlock: !1,\n\t\tcontrolledKeypad: !1,\n\t\tcontrolledKeypadMode: !1,\n\t\tnoDecimal: !1,\n\t\tshowKeypad: !0,\n\t\tadditionalKeys: [],\n\t\tonChange: () => {},\n\t\tonAnswerBlockAdd: () => {},\n\t\tonFocus: () => {},\n\t\thideDoneButton: !1\n\t};\n\tconstructor(e) {\n\t\tsuper(e), this.state = { latex: e.latex };\n\t}\n\tdone = () => {\n\t\tthis.props.onDone(this.state.latex);\n\t};\n\tUNSAFE_componentWillReceiveProps(e) {\n\t\tthis.setState({ latex: e.latex });\n\t}\n\tonChange = (e) => {\n\t\tthis.setState({ latex: e }), this.props.onChange(e);\n\t};\n\trender() {\n\t\tlet { latex: e } = this.state, { classNames: t, autoFocus: n, allowAnswerBlock: r, onAnswerBlockAdd: i, controlledKeypad: a, controlledKeypadMode: s, keypadMode: c, noDecimal: l, additionalKeys: u, showKeypad: f, onFocus: p, onBlur: m, hideDoneButton: h, error: g, keyPadCharacterRef: _, setKeypadInteraction: v, maxResponseAreas: y } = this.props;\n\t\treturn /* @__PURE__ */ o(d, {\n\t\t\tautoFocus: n,\n\t\t\tclassNames: t,\n\t\t\tonAnswerBlockAdd: i,\n\t\t\tallowAnswerBlock: r,\n\t\t\tlatex: e,\n\t\t\tadditionalKeys: u,\n\t\t\tnoDecimal: l,\n\t\t\tkeypadMode: c,\n\t\t\tkeyPadCharacterRef: _,\n\t\t\tsetKeypadInteraction: v,\n\t\t\tonChange: this.onChange,\n\t\t\tonDone: this.done,\n\t\t\tonFocus: p,\n\t\t\tonBlur: m,\n\t\t\tshowKeypad: f,\n\t\t\tcontrolledKeypad: a,\n\t\t\tcontrolledKeypadMode: s,\n\t\t\thideDoneButton: h,\n\t\t\terror: g,\n\t\t\tmaxResponseAreas: y\n\t\t});\n\t}\n}, u = class extends r.Component {\n\tstatic propTypes = {\n\t\tclassNames: i.object,\n\t\tlatex: i.string.isRequired,\n\t\tkeypadMode: i.oneOfType([i.string, i.number]),\n\t\thideInput: i.bool,\n\t\tnoLatexHandling: i.bool,\n\t\tlayoutForKeyPad: i.object,\n\t\tonChange: i.func.isRequired,\n\t\tonDone: i.func.isRequired,\n\t\tonBlur: i.func,\n\t\tonAnswerBlockAdd: i.func,\n\t\tadditionalKeys: i.array,\n\t\tonFocus: i.func,\n\t\tautoFocus: i.bool,\n\t\tnoDecimal: i.bool,\n\t\tallowAnswerBlock: i.bool,\n\t\tcontrolledKeypad: i.bool,\n\t\tcontrolledKeypadMode: i.bool,\n\t\tshowKeypad: i.bool,\n\t\thideDoneButton: i.bool,\n\t\thideDoneButtonBackground: i.bool,\n\t\terror: i.any,\n\t\tmaxResponseAreas: i.number,\n\t\tkeyPadCharacterRef: i.object,\n\t\tsetKeypadInteraction: i.func\n\t};\n\tstatic defaultProps = {\n\t\tclassNames: {},\n\t\thideDoneButtonBackground: !1\n\t};\n\trender() {\n\t\tlet { classNames: n, autoFocus: r, allowAnswerBlock: i, onAnswerBlockAdd: a, controlledKeypad: l, controlledKeypadMode: u, additionalKeys: d, showKeypad: f, keypadMode: p, noDecimal: m, hideInput: h, noLatexHandling: g, layoutForKeyPad: _, keyPadCharacterRef: v, setKeypadInteraction: y, latex: b, onChange: x, onDone: S, onFocus: C, onBlur: w, hideDoneButton: T, hideDoneButtonBackground: E, error: D, maxResponseAreas: O } = this.props;\n\t\treturn /* @__PURE__ */ s(c, {\n\t\t\tclassName: n && n.toolbar || \"\",\n\t\t\tref: v,\n\t\t\tchildren: [\n\t\t\t\t/* @__PURE__ */ o(\"div\", {}),\n\t\t\t\t/* @__PURE__ */ o(e, {\n\t\t\t\t\tautoFocus: r,\n\t\t\t\t\tkeypadMode: p,\n\t\t\t\t\tclassNames: n || {},\n\t\t\t\t\tcontrolledKeypad: l,\n\t\t\t\t\tcontrolledKeypadMode: u,\n\t\t\t\t\tnoDecimal: m,\n\t\t\t\t\thideInput: h,\n\t\t\t\t\tnoLatexHandling: g,\n\t\t\t\t\tlayoutForKeyPad: _,\n\t\t\t\t\tshowKeypad: f,\n\t\t\t\t\tadditionalKeys: d,\n\t\t\t\t\tallowAnswerBlock: i,\n\t\t\t\t\tonAnswerBlockAdd: a,\n\t\t\t\t\tlatex: b,\n\t\t\t\t\tonChange: x,\n\t\t\t\t\tonFocus: C,\n\t\t\t\t\tonBlur: w,\n\t\t\t\t\terror: D,\n\t\t\t\t\tmaxResponseAreas: O,\n\t\t\t\t\tsetKeypadInteraction: y\n\t\t\t\t}),\n\t\t\t\t(!l || l && f) && !T && /* @__PURE__ */ o(t, {\n\t\t\t\t\thideBackground: E,\n\t\t\t\t\tonClick: S\n\t\t\t\t})\n\t\t\t]\n\t\t});\n\t}\n}, d = u;\n//#endregion\nexport { n as MathPreview, l as MathToolbar, d as PureToolbar, u as RawPureToolbar };\n","import { setToolbarOpened as e } from \"../utils/toolbar.js\";\nimport { useEffect as t, useRef as n, useState as r } from \"react\";\nimport { NodeViewWrapper as i, ReactNodeViewRenderer as a } from \"@tiptap/react\";\nimport { Node as o } from \"@tiptap/core\";\nimport { NodeSelection as s, Plugin as c, PluginKey as l, TextSelection as u } from \"prosemirror-state\";\nimport d from \"react-dom\";\nimport { jsx as f, jsxs as p } from \"react/jsx-runtime\";\nimport { wrapMath as m } from \"@pie-element/shared-math-rendering-mathjax\";\nimport { MathPreview as h, MathToolbar as g } from \"@pie-lib/math-toolbar\";\n//#region src/extensions/math.tsx\nvar _ = new l(\"ensureTextAfterMath\"), v = (e = []) => e.map((e) => ({\n\tname: e,\n\tlatex: e,\n\twrite: e,\n\tlabel: e\n})), y = (e) => new c({\n\tkey: _,\n\tappendTransaction: (t, n, r) => {\n\t\tif (!t.some((e) => e.docChanged)) return null;\n\t\tlet i = r.tr, a = !1;\n\t\treturn r.doc.descendants((t, n) => {\n\t\t\tif (t.type.name === e) {\n\t\t\t\tlet e = n + t.nodeSize, o = r.doc.nodeAt(e);\n\t\t\t\t(!o || o.type.name !== \"text\") && (i.insert(e, r.schema.text(\"​\")), a = !0);\n\t\t\t}\n\t\t}), a ? i : null;\n\t}\n}), b = (e, t) => {\n\tlet n;\n\tfor (n = t; n > 0; n--) {\n\t\tlet t = e.nodeAt(n);\n\t\tif (t?.type?.name === \"text\" && t.textContent !== \"​\") return -1;\n\t\tif (t && t?.type?.name !== \"text\") break;\n\t}\n\treturn n;\n}, x = new c({\n\tkey: new l(\"zeroWidthSpaceHandling\"),\n\tprops: { handleKeyDown(e, t) {\n\t\tlet { state: n, dispatch: r } = e, { selection: i, doc: a } = n, { from: o, empty: c } = i;\n\t\tif (c && t.key === \"Backspace\" && o > 0) {\n\t\t\tlet e = b(a, o);\n\t\t\treturn e === -1 ? !1 : (r(n.tr.delete(e, o)), !0);\n\t\t}\n\t\tif (c && t.key === \"ArrowLeft\" && o > 0) {\n\t\t\tlet e = b(a, o);\n\t\t\tif (e === -1) return !1;\n\t\t\tlet t = n.doc.resolve(e);\n\t\t\tif (t.nodeAfter || t.nodeBefore) {\n\t\t\t\tlet t = n.doc.resolve(e);\n\t\t\t\treturn r(n.tr.setSelection(s.create(n.doc, t.pos))), !0;\n\t\t\t} else return r(n.tr.setSelection(u.create(n.doc, o - 2))), !0;\n\t\t}\n\t\treturn !1;\n\t} }\n}), S = o.create({\n\tname: \"math\",\n\tgroup: \"inline\",\n\tinline: !0,\n\tatom: !0,\n\taddAttributes() {\n\t\treturn {\n\t\t\tlatex: { default: \"\" },\n\t\t\twrapper: { default: null },\n\t\t\thtml: { default: null }\n\t\t};\n\t},\n\taddProseMirrorPlugins() {\n\t\treturn [y(this.name), x];\n\t},\n\tparseHTML() {\n\t\treturn [{\n\t\t\ttag: \"span[data-latex]\",\n\t\t\tgetAttrs: (e) => ({ latex: e.getAttribute(\"data-raw\") || e.textContent })\n\t\t}, {\n\t\t\ttag: \"span[data-type=\\\"mathml\\\"]\",\n\t\t\tgetAttrs: (e) => ({ html: e.innerHTML })\n\t\t}];\n\t},\n\taddCommands() {\n\t\treturn { insertMath: (t = \"\") => ({ tr: n, editor: r, dispatch: i }) => {\n\t\t\tlet { state: a } = r.view, o = a.schema.nodes.math.create({ latex: t }), { selection: c } = a, l = c.$from.pos;\n\t\t\tif (n.insert(l, o), o?.type?.name === this.name) {\n\t\t\t\tlet e = s.create(n.doc, c.$from.pos);\n\t\t\t\tn.setSelection(e);\n\t\t\t}\n\t\t\treturn i(n), e(r, !0), !0;\n\t\t} };\n\t},\n\trenderHTML({ HTMLAttributes: e }) {\n\t\treturn e.html ? [\"span\", {\n\t\t\t\"data-type\": \"mathml\",\n\t\t\tdangerouslySetInnerHTML: { __html: e.html }\n\t\t}] : [\n\t\t\t\"span\",\n\t\t\t{\n\t\t\t\t\"data-latex\": \"\",\n\t\t\t\t\"data-raw\": e.latex\n\t\t\t},\n\t\t\tm(e.latex, e.wrapper)\n\t\t];\n\t},\n\taddNodeView() {\n\t\treturn a((e) => /* @__PURE__ */ f(C, {\n\t\t\t...e,\n\t\t\toptions: this.options\n\t\t}));\n\t}\n}), C = (a) => {\n\tlet { node: o, updateAttributes: s, editor: c, selected: l, options: m, getPos: _ } = a, [y, b] = r(l), x = n(null), S = n(null), C = n(Date.now()), [w, T] = r({\n\t\ttop: 0,\n\t\tleft: 0\n\t}), { math: E = {} } = m || {}, { keypadMode: D, controlledKeypadMode: O = !0, customKeys: k = [], keyPadCharacterRef: A, setKeypadInteraction: j } = E, M = o.attrs.latex || \"\", N = (e) => {\n\t\ts({ latex: e });\n\t}, P = (e, { moveCursorAfterNode: t = !0 } = {}) => {\n\t\tif (s({ latex: e }), b(!1), t && typeof _ == \"function\") {\n\t\t\tlet e = _(), { doc: t } = c.state, n = u.create(t, e + o.nodeSize), r = c.state.tr.setSelection(n);\n\t\t\tc.view.dispatch(r);\n\t\t}\n\t\tc.commands.focus();\n\t};\n\treturn t(() => {\n\t\tif (!l) return;\n\t\tlet { selection: e } = c.state;\n\t\te.node?.type?.name === \"math\" && b(!0);\n\t}, [l, c]), t(() => {\n\t\te(c, l || y);\n\t}, [\n\t\tc,\n\t\ty,\n\t\tl\n\t]), t(() => {\n\t\tif (!c || !y) {\n\t\t\tT({\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 0\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tlet e = () => {\n\t\t\tif (!x.current) return;\n\t\t\tlet { from: e } = c.state.selection, t = c.view.coordsAtPos(e), n = S.current?.getBoundingClientRect?.(), r = n?.height ? n.top : t.top, i = n?.width ? n.left : t.left, a = n?.height ? n.bottom : t.bottom ?? t.top, o = x.current.offsetHeight, s = x.current.offsetWidth, l = window.innerHeight - (a + 0) >= o ? a + 0 : r - o - 0, u = i;\n\t\t\tl = Math.max(8, Math.min(l, window.innerHeight - o - 8)), u = Math.max(8, Math.min(u, window.innerWidth - s - 8));\n\t\t\tlet d = (c._tiptapContainerEl || document.body).getBoundingClientRect();\n\t\t\tT({\n\t\t\t\ttop: l - d.top,\n\t\t\t\tleft: u - d.left\n\t\t\t});\n\t\t};\n\t\te();\n\t\tlet t = null, n = () => {\n\t\t\tt === null && (t = requestAnimationFrame(() => {\n\t\t\t\tt = null, e();\n\t\t\t}));\n\t\t};\n\t\treturn t = requestAnimationFrame(() => {\n\t\t\tt = null, e();\n\t\t}), window.addEventListener(\"scroll\", n, !0), window.addEventListener(\"resize\", n), () => {\n\t\t\tt !== null && cancelAnimationFrame(t), window.removeEventListener(\"scroll\", n, !0), window.removeEventListener(\"resize\", n);\n\t\t};\n\t}, [c, y]), t(() => {\n\t\tlet e = performance.now(), t = (t) => {\n\t\t\tif (t?.timeStamp < e) return;\n\t\t\tlet n = t?.target, r = (document.querySelectorAll?.(\"[id^=\\\"equation-editor-select\\\"][id*=\\\"listbox\\\"], [aria-labelledby=\\\"equation-editor-label\\\"][role=\\\"listbox\\\"]\") || []).length > 0, i = !!(n?.id && n.id.includes(\"equation-editor-select\")) || !!n?.closest?.(\"[id*=\\\"equation-editor-select\\\"]\"), a = !!n?.closest?.(`.math-node-${C.current}`);\n\t\t\tif (x.current && !x.current.contains(n) && !n?.closest?.(\"[data-inline-node]\") && !r && !i && !a) {\n\t\t\t\tb(!1);\n\t\t\t\tlet e = !!c?.view?.dom?.contains(n);\n\t\t\t\tP(o.attrs.latex, { moveCursorAfterNode: !e });\n\t\t\t}\n\t\t};\n\t\treturn y ? document.addEventListener(\"click\", t) : document.removeEventListener(\"click\", t), () => document.removeEventListener(\"click\", t);\n\t}, [\n\t\tc,\n\t\ty,\n\t\to\n\t]), /* @__PURE__ */ p(i, {\n\t\tclassName: `math-node-${C.current}`,\n\t\tstyle: {\n\t\t\tdisplay: \"inline-flex\",\n\t\t\tcursor: \"pointer\",\n\t\t\tmargin: \"0 4px\"\n\t\t},\n\t\t\"data-selected\": l,\n\t\tchildren: [/* @__PURE__ */ f(\"div\", {\n\t\t\tref: S,\n\t\t\tonClick: () => b(!0),\n\t\t\tcontentEditable: !1,\n\t\t\tchildren: /* @__PURE__ */ f(h, { latex: M })\n\t\t}), y && d.createPortal(/* @__PURE__ */ f(\"div\", {\n\t\t\tref: x,\n\t\t\t\"data-toolbar-for\": c.instanceId,\n\t\t\tstyle: {\n\t\t\t\tposition: \"absolute\",\n\t\t\t\ttop: `${w.top}px`,\n\t\t\t\tleft: `${w.left}px`,\n\t\t\t\tzIndex: 1e3,\n\t\t\t\tbackground: \"var(--editable-html-toolbar-bg, #efefef)\",\n\t\t\t\tboxShadow: \"0px 1px 5px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 3px 1px -2px rgba(0, 0, 0, 0.12)\"\n\t\t\t},\n\t\t\tchildren: /* @__PURE__ */ f(g, {\n\t\t\t\tlatex: M,\n\t\t\t\tautoFocus: !0,\n\t\t\t\tonChange: N,\n\t\t\t\tonDone: P,\n\t\t\t\tkeypadMode: D,\n\t\t\t\tcontrolledKeypadMode: O,\n\t\t\t\tadditionalKeys: v(k),\n\t\t\t\tkeyPadCharacterRef: A,\n\t\t\t\tsetKeypadInteraction: j\n\t\t\t})\n\t\t}), c?._tiptapContainerEl || document.body)]\n\t});\n};\n//#endregion\nexport { y as EnsureTextAfterMathPlugin, S as MathNode, C as MathNodeView, x as ZeroWidthSpaceHandlingPlugin };\n","//#region src/components/image/findImageNode.ts\nvar e = (e, t) => {\n\tif (!e || !t) return null;\n\tlet n = null;\n\treturn e.state.doc.descendants((e, r) => {\n\t\tif (n !== null) return !1;\n\t\tif (e.type.name === \"imageUploadNode\" && e.attrs.nodeKey === t) return n = [e, r], !1;\n\t}), n;\n}, t = () => `img-${Date.now()}-${Math.random().toString(36).slice(2)}`;\n//#endregion\nexport { e as default, e as findImageNodeByKey, t as newImageNodeKey };\n","import e from \"./findImageNode.js\";\nimport t from \"debug\";\n//#region src/components/image/InsertImageHandler.ts\nvar n = t(\"@pie-lib:editable-html:image:insert-image-handler\"), r = class {\n\tconstructor(e, t, n, r = !1) {\n\t\tthis.editor = e, this.nodeInfo = t, this.node = t[0], this.nodePos = t[1], this.onFinish = n, this.isPasted = r, this.chosenFile = null, this.nodeKey = this.node?.attrs?.nodeKey || null;\n\t}\n\tresolveNodePos() {\n\t\tlet t = e(this.editor, this.nodeKey);\n\t\treturn t ? t[1] : this.nodeKey ? null : this.nodePos;\n\t}\n\tcancel() {\n\t\tn(\"insert cancelled\");\n\t\ttry {\n\t\t\tthis.deleteNode(), this.onFinish(!1);\n\t\t} catch {} finally {\n\t\t\tthis.editor._insertingImage = !1;\n\t\t}\n\t}\n\tupdateNode(e) {\n\t\tlet t = this.resolveNodePos();\n\t\tif (t === null) {\n\t\t\tn(\"[updateNode] node is gone, dropping update: \", e);\n\t\t\treturn;\n\t\t}\n\t\tlet { state: r, view: i } = this.editor, { tr: a } = r, o = r.doc.nodeAt(t);\n\t\tif (o) {\n\t\t\tlet n = a.setNodeMarkup(t, void 0, {\n\t\t\t\t...o.attrs,\n\t\t\t\t...e\n\t\t\t});\n\t\t\ti.dispatch(n);\n\t\t}\n\t}\n\tdeleteNode() {\n\t\tlet e = this.resolveNodePos();\n\t\tif (e === null) return;\n\t\tlet { state: t, view: n } = this.editor, { tr: r } = t, i = t.doc.nodeAt(e) || this.node, a = r.delete(e, e + i.nodeSize);\n\t\tn.dispatch(a);\n\t}\n\tdone(e, t) {\n\t\tn(\"done: err:\", e), e ? (console.log(e), this.onFinish(!1)) : (this.updateNode({\n\t\t\tloaded: !0,\n\t\t\tsrc: t,\n\t\t\tpercent: 100\n\t\t}), this.onFinish(!0)), this.editor._insertingImage = !1;\n\t}\n\tfileChosen(e) {\n\t\tif (!e) return;\n\t\tthis.chosenFile = e, this.editor._insertingImage = !1, n(\"[fileChosen] file: \", e);\n\t\tlet t = new FileReader();\n\t\tt.onload = () => {\n\t\t\tlet e = t.result;\n\t\t\tthis.updateNode({ src: e });\n\t\t}, t.readAsDataURL(e);\n\t}\n\tprogress(e, t, r) {\n\t\tn(\"progress: \", e, t, r), this.updateNode({ percent: e });\n\t}\n\tgetChosenFile() {\n\t\treturn this.chosenFile;\n\t}\n};\n//#endregion\nexport { r as default };\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getDialogContentUtilityClass(slot) {\n return generateUtilityClass('MuiDialogContent', slot);\n}\nconst dialogContentClasses = generateUtilityClasses('MuiDialogContent', ['root', 'dividers']);\nexport default dialogContentClasses;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getDialogTitleUtilityClass(slot) {\n return generateUtilityClass('MuiDialogTitle', slot);\n}\nconst dialogTitleClasses = generateUtilityClasses('MuiDialogTitle', ['root']);\nexport default dialogTitleClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport { getDialogContentUtilityClass } from \"./dialogContentClasses.js\";\nimport dialogTitleClasses from \"../DialogTitle/dialogTitleClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n dividers\n } = ownerState;\n const slots = {\n root: ['root', dividers && 'dividers']\n };\n return composeClasses(slots, getDialogContentUtilityClass, classes);\n};\nconst DialogContentRoot = styled('div', {\n name: 'MuiDialogContent',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dividers && styles.dividers];\n }\n})(memoTheme(({\n theme\n}) => ({\n flex: '1 1 auto',\n // Add iOS momentum scrolling for iOS < 13.0\n WebkitOverflowScrolling: 'touch',\n overflowY: 'auto',\n padding: '20px 24px',\n variants: [{\n props: ({\n ownerState\n }) => ownerState.dividers,\n style: {\n padding: '16px 24px',\n borderTop: `1px solid ${(theme.vars || theme).palette.divider}`,\n borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`\n }\n }, {\n props: ({\n ownerState\n }) => !ownerState.dividers,\n style: {\n [`.${dialogTitleClasses.root} + &`]: {\n paddingTop: 0\n }\n }\n }]\n})));\nconst DialogContent = /*#__PURE__*/React.forwardRef(function DialogContent(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiDialogContent'\n });\n const {\n className,\n dividers = false,\n ...other\n } = props;\n const ownerState = {\n ...props,\n dividers\n };\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogContentRoot, {\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref,\n ...other\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogContent.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * Display the top and bottom dividers.\n * @default false\n */\n dividers: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default DialogContent;","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M11.67 3.87 9.9 2.1 0 12l9.9 9.9 1.77-1.77L3.54 12z\"\n}), 'ArrowBackIos');","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getFormHelperTextUtilityClasses(slot) {\n return generateUtilityClass('MuiFormHelperText', slot);\n}\nconst formHelperTextClasses = generateUtilityClasses('MuiFormHelperText', ['root', 'error', 'disabled', 'sizeSmall', 'sizeMedium', 'contained', 'focused', 'filled', 'required']);\nexport default formHelperTextClasses;","'use client';\n\nvar _span;\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport formControlState from \"../FormControl/formControlState.js\";\nimport useFormControl from \"../FormControl/useFormControl.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport capitalize from \"../utils/capitalize.js\";\nimport formHelperTextClasses, { getFormHelperTextUtilityClasses } from \"./formHelperTextClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n contained,\n size,\n disabled,\n error,\n filled,\n focused,\n required\n } = ownerState;\n const slots = {\n root: ['root', disabled && 'disabled', error && 'error', size && `size${capitalize(size)}`, contained && 'contained', focused && 'focused', filled && 'filled', required && 'required']\n };\n return composeClasses(slots, getFormHelperTextUtilityClasses, classes);\n};\nconst FormHelperTextRoot = styled('p', {\n name: 'MuiFormHelperText',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.size && styles[`size${capitalize(ownerState.size)}`], ownerState.contained && styles.contained, ownerState.filled && styles.filled];\n }\n})(memoTheme(({\n theme\n}) => ({\n color: (theme.vars || theme).palette.text.secondary,\n ...theme.typography.caption,\n textAlign: 'left',\n marginTop: 3,\n marginRight: 0,\n marginBottom: 0,\n marginLeft: 0,\n [`&.${formHelperTextClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n },\n [`&.${formHelperTextClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n },\n variants: [{\n props: {\n size: 'small'\n },\n style: {\n marginTop: 4\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.contained,\n style: {\n marginLeft: 14,\n marginRight: 14\n }\n }]\n})));\nconst FormHelperText = /*#__PURE__*/React.forwardRef(function FormHelperText(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiFormHelperText'\n });\n const {\n children,\n className,\n component = 'p',\n disabled,\n error,\n filled,\n focused,\n margin,\n required,\n variant,\n ...other\n } = props;\n const muiFormControl = useFormControl();\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['variant', 'size', 'disabled', 'error', 'filled', 'focused', 'required']\n });\n const ownerState = {\n ...props,\n component,\n contained: fcs.variant === 'filled' || fcs.variant === 'outlined',\n variant: fcs.variant,\n size: fcs.size,\n disabled: fcs.disabled,\n error: fcs.error,\n filled: fcs.filled,\n focused: fcs.focused,\n required: fcs.required\n };\n\n // This issue explains why this is required: https://github.com/mui/material-ui/issues/42184\n delete ownerState.ownerState;\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormHelperTextRoot, {\n as: component,\n className: clsx(classes.root, className),\n ref: ref,\n ...other,\n ownerState: ownerState,\n children: children === ' ' ? // notranslate needed while Google Translate will not fix zero-width space issue\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n \"aria-hidden\": true,\n children: \"\\u200B\"\n })) : children\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? FormHelperText.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n *\n * If `' '` is provided, the component reserves one line height for displaying a future message.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the helper text should be displayed in a disabled state.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, helper text should be displayed in an error state.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the helper text should use filled classes key.\n */\n filled: PropTypes.bool,\n /**\n * If `true`, the helper text should use focused classes key.\n */\n focused: PropTypes.bool,\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n */\n margin: PropTypes.oneOf(['dense']),\n /**\n * If `true`, the helper text should use required classes key.\n */\n required: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['filled', 'outlined', 'standard']), PropTypes.string])\n} : void 0;\nexport default FormHelperText;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTextFieldUtilityClass(slot) {\n return generateUtilityClass('MuiTextField', slot);\n}\nconst textFieldClasses = generateUtilityClasses('MuiTextField', ['root']);\nexport default textFieldClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport useId from '@mui/utils/useId';\nimport refType from '@mui/utils/refType';\nimport { styled } from \"../zero-styled/index.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport Input from \"../Input/index.js\";\nimport FilledInput from \"../FilledInput/index.js\";\nimport OutlinedInput from \"../OutlinedInput/index.js\";\nimport InputLabel from \"../InputLabel/index.js\";\nimport FormControl from \"../FormControl/index.js\";\nimport FormHelperText from \"../FormHelperText/index.js\";\nimport Select from \"../Select/index.js\";\nimport { getTextFieldUtilityClass } from \"./textFieldClasses.js\";\nimport useSlot from \"../utils/useSlot.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst variantComponent = {\n standard: Input,\n filled: FilledInput,\n outlined: OutlinedInput\n};\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTextFieldUtilityClass, classes);\n};\nconst TextFieldRoot = styled(FormControl, {\n name: 'MuiTextField',\n slot: 'Root'\n})({});\n\n/**\n * The `TextField` is a convenience wrapper for the most common cases (80%).\n * It cannot be all things to all people, otherwise the API would grow out of control.\n *\n * ## Advanced Configuration\n *\n * It's important to understand that the text field is a simple abstraction\n * on top of the following components:\n *\n * - [FormControl](/material-ui/api/form-control/)\n * - [InputLabel](/material-ui/api/input-label/)\n * - [FilledInput](/material-ui/api/filled-input/)\n * - [OutlinedInput](/material-ui/api/outlined-input/)\n * - [Input](/material-ui/api/input/)\n * - [FormHelperText](/material-ui/api/form-helper-text/)\n *\n * If you wish to alter the props applied to the `input` element, you can do so as follows:\n *\n * ```jsx\n * const inputProps = {\n * step: 300,\n * };\n *\n * return <TextField id=\"time\" type=\"time\" inputProps={inputProps} />;\n * ```\n *\n * For advanced cases, please look at the source of TextField by clicking on the\n * \"Edit this page\" button above. Consider either:\n *\n * - using the upper case props for passing values directly to the components\n * - using the underlying components directly as shown in the demos\n */\nconst TextField = /*#__PURE__*/React.forwardRef(function TextField(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiTextField'\n });\n const {\n autoComplete,\n autoFocus = false,\n children,\n className,\n color = 'primary',\n defaultValue,\n disabled = false,\n error = false,\n FormHelperTextProps: FormHelperTextPropsProp,\n fullWidth = false,\n helperText,\n id: idOverride,\n InputLabelProps: InputLabelPropsProp,\n inputProps: inputPropsProp,\n InputProps: InputPropsProp,\n inputRef,\n label,\n maxRows,\n minRows,\n multiline = false,\n name,\n onBlur,\n onChange,\n onFocus,\n placeholder,\n required = false,\n rows,\n select = false,\n SelectProps: SelectPropsProp,\n slots = {},\n slotProps = {},\n type,\n value,\n variant = 'outlined',\n ...other\n } = props;\n const ownerState = {\n ...props,\n autoFocus,\n color,\n disabled,\n error,\n fullWidth,\n multiline,\n required,\n select,\n variant\n };\n const classes = useUtilityClasses(ownerState);\n if (process.env.NODE_ENV !== 'production') {\n if (select && !children) {\n console.error('MUI: `children` must be passed when using the `TextField` component with `select`.');\n }\n }\n const id = useId(idOverride);\n const helperTextId = helperText && id ? `${id}-helper-text` : undefined;\n const inputLabelId = label && id ? `${id}-label` : undefined;\n const InputComponent = variantComponent[variant];\n const externalForwardedProps = {\n slots,\n slotProps: {\n input: InputPropsProp,\n inputLabel: InputLabelPropsProp,\n htmlInput: inputPropsProp,\n formHelperText: FormHelperTextPropsProp,\n select: SelectPropsProp,\n ...slotProps\n }\n };\n const inputAdditionalProps = {};\n const inputLabelSlotProps = externalForwardedProps.slotProps.inputLabel;\n if (variant === 'outlined') {\n if (inputLabelSlotProps && typeof inputLabelSlotProps.shrink !== 'undefined') {\n inputAdditionalProps.notched = inputLabelSlotProps.shrink;\n }\n inputAdditionalProps.label = label;\n }\n if (select) {\n // unset defaults from textbox inputs\n if (!SelectPropsProp || !SelectPropsProp.native) {\n inputAdditionalProps.id = undefined;\n }\n inputAdditionalProps['aria-describedby'] = undefined;\n }\n const [RootSlot, rootProps] = useSlot('root', {\n elementType: TextFieldRoot,\n shouldForwardComponentProp: true,\n externalForwardedProps: {\n ...externalForwardedProps,\n ...other\n },\n ownerState,\n className: clsx(classes.root, className),\n ref,\n additionalProps: {\n disabled,\n error,\n fullWidth,\n required,\n color,\n variant\n }\n });\n const [InputSlot, inputProps] = useSlot('input', {\n elementType: InputComponent,\n externalForwardedProps,\n additionalProps: inputAdditionalProps,\n ownerState\n });\n const [InputLabelSlot, inputLabelProps] = useSlot('inputLabel', {\n elementType: InputLabel,\n externalForwardedProps,\n ownerState\n });\n const [HtmlInputSlot, htmlInputProps] = useSlot('htmlInput', {\n elementType: 'input',\n externalForwardedProps,\n ownerState\n });\n const [FormHelperTextSlot, formHelperTextProps] = useSlot('formHelperText', {\n elementType: FormHelperText,\n externalForwardedProps,\n ownerState\n });\n const [SelectSlot, selectProps] = useSlot('select', {\n elementType: Select,\n externalForwardedProps,\n ownerState\n });\n const InputElement = /*#__PURE__*/_jsx(InputSlot, {\n \"aria-describedby\": helperTextId,\n autoComplete: autoComplete,\n autoFocus: autoFocus,\n defaultValue: defaultValue,\n fullWidth: fullWidth,\n multiline: multiline,\n name: name,\n rows: rows,\n maxRows: maxRows,\n minRows: minRows,\n type: type,\n value: value,\n id: id,\n inputRef: inputRef,\n onBlur: onBlur,\n onChange: onChange,\n onFocus: onFocus,\n placeholder: placeholder,\n inputProps: htmlInputProps,\n slots: {\n input: slots.htmlInput ? HtmlInputSlot : undefined\n },\n ...inputProps\n });\n return /*#__PURE__*/_jsxs(RootSlot, {\n ...rootProps,\n children: [label != null && label !== '' && /*#__PURE__*/_jsx(InputLabelSlot, {\n htmlFor: id,\n id: inputLabelId,\n ...inputLabelProps,\n children: label\n }), select ? /*#__PURE__*/_jsx(SelectSlot, {\n \"aria-describedby\": helperTextId,\n id: id,\n labelId: inputLabelId,\n value: value,\n input: InputElement,\n ...selectProps,\n children: children\n }) : InputElement, helperText && /*#__PURE__*/_jsx(FormHelperTextSlot, {\n id: helperTextId,\n ...formHelperTextProps,\n children: helperText\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? TextField.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * This prop helps users to fill forms faster, especially on mobile devices.\n * The name can be confusing, as it's more like an autofill.\n * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).\n */\n autoComplete: PropTypes.string,\n /**\n * If `true`, the `input` element is focused during the first mount.\n * @default false\n */\n autoFocus: PropTypes.bool,\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue: PropTypes.any,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n * @default false\n */\n error: PropTypes.bool,\n /**\n * Props applied to the [`FormHelperText`](https://mui.com/material-ui/api/form-helper-text/) element.\n * @deprecated Use `slotProps.formHelperText` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n FormHelperTextProps: PropTypes.object,\n /**\n * If `true`, the input will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * The helper text content.\n */\n helperText: PropTypes.node,\n /**\n * The id of the `input` element.\n * Use this prop to make `label` and `helperText` accessible for screen readers.\n */\n id: PropTypes.string,\n /**\n * Props applied to the [`InputLabel`](https://mui.com/material-ui/api/input-label/) element.\n * Pointer events like `onClick` are enabled if and only if `shrink` is `true`.\n * @deprecated Use `slotProps.inputLabel` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n InputLabelProps: PropTypes.object,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#attributes) applied to the `input` element.\n * @deprecated Use `slotProps.htmlInput` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n inputProps: PropTypes.object,\n /**\n * Props applied to the Input element.\n * It will be a [`FilledInput`](https://mui.com/material-ui/api/filled-input/),\n * [`OutlinedInput`](https://mui.com/material-ui/api/outlined-input/) or [`Input`](https://mui.com/material-ui/api/input/)\n * component depending on the `variant` prop value.\n * @deprecated Use `slotProps.input` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n InputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * The label content.\n */\n label: PropTypes.node,\n /**\n * If `dense` or `normal`, will adjust vertical spacing of this and contained components.\n * @default 'none'\n */\n margin: PropTypes.oneOf(['dense', 'none', 'normal']),\n /**\n * Maximum number of rows to display when multiline option is set to true.\n */\n maxRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * Minimum number of rows to display when multiline option is set to true.\n */\n minRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * If `true`, a `textarea` element is rendered instead of an input.\n * @default false\n */\n multiline: PropTypes.bool,\n /**\n * Name attribute of the `input` element.\n */\n name: PropTypes.string,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n /**\n * Callback fired when the value is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n */\n onChange: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * The short hint displayed in the `input` before the user enters a value.\n */\n placeholder: PropTypes.string,\n /**\n * If `true`, the label is displayed as required and the `input` element is required.\n * @default false\n */\n required: PropTypes.bool,\n /**\n * Number of rows to display when multiline option is set to true.\n */\n rows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * Render a [`Select`](https://mui.com/material-ui/api/select/) element while passing the Input element to `Select` as `input` parameter.\n * If this option is set you must pass the options of the select as children.\n * @default false\n */\n select: PropTypes.bool,\n /**\n * Props applied to the [`Select`](https://mui.com/material-ui/api/select/) element.\n * @deprecated Use `slotProps.select` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n SelectProps: PropTypes.object,\n /**\n * The size of the component.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes /* @typescript-to-proptypes-ignore */.shape({\n formHelperText: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n htmlInput: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n input: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n inputLabel: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n select: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n formHelperText: PropTypes.elementType,\n htmlInput: PropTypes.elementType,\n input: PropTypes.elementType,\n inputLabel: PropTypes.elementType,\n root: PropTypes.elementType,\n select: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#input_types).\n */\n type: PropTypes.string,\n /**\n * The value of the `input` element, required for a controlled component.\n */\n value: PropTypes.any,\n /**\n * The variant to use.\n * @default 'outlined'\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default TextField;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getDialogActionsUtilityClass(slot) {\n return generateUtilityClass('MuiDialogActions', slot);\n}\nconst dialogActionsClasses = generateUtilityClasses('MuiDialogActions', ['root', 'spacing']);\nexport default dialogActionsClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled } from \"../zero-styled/index.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport { getDialogActionsUtilityClass } from \"./dialogActionsClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableSpacing\n } = ownerState;\n const slots = {\n root: ['root', !disableSpacing && 'spacing']\n };\n return composeClasses(slots, getDialogActionsUtilityClass, classes);\n};\nconst DialogActionsRoot = styled('div', {\n name: 'MuiDialogActions',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableSpacing && styles.spacing];\n }\n})({\n display: 'flex',\n alignItems: 'center',\n padding: 8,\n justifyContent: 'flex-end',\n flex: '0 0 auto',\n variants: [{\n props: ({\n ownerState\n }) => !ownerState.disableSpacing,\n style: {\n '& > :not(style) ~ :not(style)': {\n marginLeft: 8\n }\n }\n }]\n});\nconst DialogActions = /*#__PURE__*/React.forwardRef(function DialogActions(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiDialogActions'\n });\n const {\n className,\n disableSpacing = false,\n ...other\n } = props;\n const ownerState = {\n ...props,\n disableSpacing\n };\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogActionsRoot, {\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref,\n ...other\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogActions.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, the actions do not have additional margin.\n * @default false\n */\n disableSpacing: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default DialogActions;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getDialogUtilityClass(slot) {\n return generateUtilityClass('MuiDialog', slot);\n}\nconst dialogClasses = generateUtilityClasses('MuiDialog', ['root', 'backdrop', 'scrollPaper', 'scrollBody', 'container', 'paper', 'paperScrollPaper', 'paperScrollBody', 'paperWidthFalse', 'paperWidthXs', 'paperWidthSm', 'paperWidthMd', 'paperWidthLg', 'paperWidthXl', 'paperFullWidth', 'paperFullScreen']);\nexport default dialogClasses;","'use client';\n\nimport * as React from 'react';\nconst DialogContext = /*#__PURE__*/React.createContext({});\nif (process.env.NODE_ENV !== 'production') {\n DialogContext.displayName = 'DialogContext';\n}\nexport default DialogContext;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport useId from '@mui/utils/useId';\nimport capitalize from \"../utils/capitalize.js\";\nimport Modal from \"../Modal/index.js\";\nimport Fade from \"../Fade/index.js\";\nimport Paper from \"../Paper/index.js\";\nimport dialogClasses, { getDialogUtilityClass } from \"./dialogClasses.js\";\nimport DialogContext from \"./DialogContext.js\";\nimport Backdrop from \"../Backdrop/index.js\";\nimport { styled, useTheme } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport useSlot from \"../utils/useSlot.js\";\nimport { FOCUSABLE_ATTRIBUTE } from \"../utils/focusable.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DialogBackdrop = styled(Backdrop, {\n name: 'MuiDialog',\n slot: 'Backdrop'\n})({\n // Improve scrollable dialog support.\n zIndex: -1\n});\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n scroll,\n maxWidth,\n fullWidth,\n fullScreen\n } = ownerState;\n const slots = {\n root: ['root'],\n backdrop: ['backdrop'],\n container: ['container', `scroll${capitalize(scroll)}`],\n paper: ['paper', `paperScroll${capitalize(scroll)}`, `paperWidth${capitalize(String(maxWidth))}`, fullWidth && 'paperFullWidth', fullScreen && 'paperFullScreen']\n };\n return composeClasses(slots, getDialogUtilityClass, classes);\n};\nconst DialogRoot = styled(Modal, {\n name: 'MuiDialog',\n slot: 'Root'\n})({\n '@media print': {\n // Use !important to override the Modal inline-style.\n position: 'absolute !important'\n }\n});\nconst DialogContainer = styled('div', {\n name: 'MuiDialog',\n slot: 'Container',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.container, styles[`scroll${capitalize(ownerState.scroll)}`]];\n }\n})({\n height: '100%',\n '@media print': {\n height: 'auto'\n },\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0,\n variants: [{\n props: {\n scroll: 'paper'\n },\n style: {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center'\n }\n }, {\n props: {\n scroll: 'body'\n },\n style: {\n overflowY: 'auto',\n overflowX: 'hidden',\n textAlign: 'center',\n '&::after': {\n content: '\"\"',\n display: 'inline-block',\n verticalAlign: 'middle',\n height: '100%',\n width: '0'\n }\n }\n }]\n});\nconst DialogPaper = styled(Paper, {\n name: 'MuiDialog',\n slot: 'Paper',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.paper, styles[`scrollPaper${capitalize(ownerState.scroll)}`], styles[`paperWidth${capitalize(String(ownerState.maxWidth))}`], ownerState.fullWidth && styles.paperFullWidth, ownerState.fullScreen && styles.paperFullScreen];\n }\n})(memoTheme(({\n theme\n}) => ({\n margin: 32,\n position: 'relative',\n overflowY: 'auto',\n '@media print': {\n overflowY: 'visible',\n boxShadow: 'none'\n },\n variants: [{\n props: {\n scroll: 'paper'\n },\n style: {\n display: 'flex',\n flexDirection: 'column',\n maxHeight: 'calc(100% - 64px)'\n }\n }, {\n props: {\n scroll: 'body'\n },\n style: {\n display: 'inline-block',\n verticalAlign: 'middle',\n textAlign: 'initial'\n }\n }, {\n props: ({\n ownerState\n }) => !ownerState.maxWidth,\n style: {\n maxWidth: 'calc(100% - 64px)'\n }\n }, {\n props: {\n maxWidth: 'xs'\n },\n style: {\n maxWidth: theme.breakpoints.unit === 'px' ? Math.max(theme.breakpoints.values.xs, 444) : `max(${theme.breakpoints.values.xs}${theme.breakpoints.unit}, 444px)`,\n [`&.${dialogClasses.paperScrollBody}`]: {\n [theme.breakpoints.down(Math.max(theme.breakpoints.values.xs, 444) + 32 * 2)]: {\n maxWidth: 'calc(100% - 64px)'\n }\n }\n }\n }, ...Object.keys(theme.breakpoints.values).filter(maxWidth => maxWidth !== 'xs').map(maxWidth => ({\n props: {\n maxWidth\n },\n style: {\n maxWidth: `${theme.breakpoints.values[maxWidth]}${theme.breakpoints.unit}`,\n [`&.${dialogClasses.paperScrollBody}`]: {\n [theme.breakpoints.down(theme.breakpoints.values[maxWidth] + 32 * 2)]: {\n maxWidth: 'calc(100% - 64px)'\n }\n }\n }\n })), {\n props: ({\n ownerState\n }) => ownerState.fullWidth,\n style: {\n width: 'calc(100% - 64px)'\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.fullScreen,\n style: {\n margin: 0,\n width: '100%',\n maxWidth: '100%',\n height: '100%',\n maxHeight: 'none',\n borderRadius: 0,\n [`&.${dialogClasses.paperScrollBody}`]: {\n margin: 0,\n maxWidth: '100%'\n }\n }\n }]\n})));\n\n/**\n * Dialogs are overlaid modal paper based components with a backdrop.\n */\nconst Dialog = /*#__PURE__*/React.forwardRef(function Dialog(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiDialog'\n });\n const theme = useTheme();\n const defaultTransitionDuration = {\n enter: theme.transitions.duration.enteringScreen,\n exit: theme.transitions.duration.leavingScreen\n };\n const {\n 'aria-describedby': ariaDescribedby,\n 'aria-labelledby': ariaLabelledbyProp,\n 'aria-modal': ariaModal = true,\n BackdropComponent,\n BackdropProps,\n children,\n className,\n disableEscapeKeyDown = false,\n fullScreen = false,\n fullWidth = false,\n maxWidth = 'sm',\n onClick,\n onClose,\n open,\n PaperComponent = Paper,\n PaperProps = {},\n role = 'dialog',\n scroll = 'paper',\n slots = {},\n slotProps = {},\n TransitionComponent = Fade,\n transitionDuration = defaultTransitionDuration,\n TransitionProps,\n ...other\n } = props;\n const ownerState = {\n ...props,\n disableEscapeKeyDown,\n fullScreen,\n fullWidth,\n maxWidth,\n scroll\n };\n const classes = useUtilityClasses(ownerState);\n const backdropClick = React.useRef();\n const handleMouseDown = event => {\n // We don't want to close the dialog when clicking the dialog content.\n // Make sure the event starts and ends on the same DOM element.\n backdropClick.current = event.target === event.currentTarget;\n };\n const handleBackdropClick = event => {\n if (onClick) {\n onClick(event);\n }\n\n // Ignore the events not coming from the \"backdrop\".\n if (!backdropClick.current) {\n return;\n }\n backdropClick.current = null;\n if (onClose) {\n onClose(event, 'backdropClick');\n }\n };\n const ariaLabelledby = useId(ariaLabelledbyProp);\n const dialogContextValue = React.useMemo(() => {\n return {\n titleId: ariaLabelledby\n };\n }, [ariaLabelledby]);\n const backwardCompatibleSlots = {\n transition: TransitionComponent,\n ...slots\n };\n const backwardCompatibleSlotProps = {\n transition: TransitionProps,\n paper: PaperProps,\n backdrop: BackdropProps,\n ...slotProps\n };\n const externalForwardedProps = {\n slots: backwardCompatibleSlots,\n slotProps: backwardCompatibleSlotProps\n };\n const [RootSlot, rootSlotProps] = useSlot('root', {\n elementType: DialogRoot,\n shouldForwardComponentProp: true,\n externalForwardedProps,\n ownerState,\n className: clsx(classes.root, className),\n ref\n });\n const [BackdropSlot, backdropSlotProps] = useSlot('backdrop', {\n elementType: DialogBackdrop,\n shouldForwardComponentProp: true,\n externalForwardedProps,\n ownerState,\n className: classes.backdrop\n });\n const [PaperSlot, paperSlotProps] = useSlot('paper', {\n elementType: DialogPaper,\n shouldForwardComponentProp: true,\n externalForwardedProps,\n ownerState,\n className: classes.paper,\n additionalProps: {\n elevation: 24,\n role,\n 'aria-describedby': ariaDescribedby,\n 'aria-labelledby': ariaLabelledby,\n 'aria-modal': ariaModal,\n tabIndex: -1,\n [FOCUSABLE_ATTRIBUTE]: ''\n }\n });\n const [ContainerSlot, containerSlotProps] = useSlot('container', {\n elementType: DialogContainer,\n externalForwardedProps,\n ownerState,\n className: classes.container\n });\n const [TransitionSlot, transitionSlotProps] = useSlot('transition', {\n elementType: Fade,\n externalForwardedProps,\n ownerState,\n additionalProps: {\n appear: true,\n in: open,\n timeout: transitionDuration,\n role: 'presentation'\n }\n });\n return /*#__PURE__*/_jsx(RootSlot, {\n closeAfterTransition: true,\n slots: {\n backdrop: BackdropSlot\n },\n slotProps: {\n backdrop: {\n transitionDuration,\n as: BackdropComponent,\n ...backdropSlotProps\n }\n },\n disableEscapeKeyDown: disableEscapeKeyDown,\n onClose: onClose,\n open: open,\n onClick: handleBackdropClick,\n ...rootSlotProps,\n ...other,\n children: /*#__PURE__*/_jsx(TransitionSlot, {\n ...transitionSlotProps,\n children: /*#__PURE__*/_jsx(ContainerSlot, {\n onMouseDown: handleMouseDown,\n ...containerSlotProps,\n children: /*#__PURE__*/_jsx(PaperSlot, {\n as: PaperComponent,\n ...paperSlotProps,\n children: /*#__PURE__*/_jsx(DialogContext.Provider, {\n value: dialogContextValue,\n children: children\n })\n })\n })\n })\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Dialog.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The id(s) of the element(s) that describe the dialog.\n */\n 'aria-describedby': PropTypes.string,\n /**\n * The id(s) of the element(s) that label the dialog.\n */\n 'aria-labelledby': PropTypes.string,\n /**\n * Informs assistive technologies that the element is modal.\n * It's added on the element with role=\"dialog\".\n * @default true\n */\n 'aria-modal': PropTypes.oneOfType([PropTypes.oneOf(['false', 'true']), PropTypes.bool]),\n /**\n * A backdrop component. This prop enables custom backdrop rendering.\n * @deprecated Use `slots.backdrop` instead. While this prop currently works, it will be removed in the next major version.\n * Use the `slots.backdrop` prop to make your application ready for the next version of Material UI.\n * @default styled(Backdrop, {\n * name: 'MuiModal',\n * slot: 'Backdrop',\n * })({\n * zIndex: -1,\n * })\n */\n BackdropComponent: PropTypes.elementType,\n /**\n * @ignore\n */\n BackdropProps: PropTypes.object,\n /**\n * Dialog children, usually the included sub-components.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, hitting escape will not fire the `onClose` callback.\n * @default false\n */\n disableEscapeKeyDown: PropTypes.bool,\n /**\n * If `true`, the dialog is full-screen.\n * @default false\n */\n fullScreen: PropTypes.bool,\n /**\n * If `true`, the dialog stretches to `maxWidth`.\n *\n * Notice that the dialog width grow is limited by the default margin.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * Determine the max-width of the dialog.\n * The dialog width grows with the size of the screen.\n * Set to `false` to disable `maxWidth`.\n * @default 'sm'\n */\n maxWidth: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl', false]), PropTypes.string]),\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n /**\n * Callback fired when the component requests to be closed.\n *\n * @param {object} event The event source of the callback.\n * @param {string} reason Can be: `\"escapeKeyDown\"`, `\"backdropClick\"`.\n */\n onClose: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n /**\n * The component used to render the body of the dialog.\n * @default Paper\n */\n PaperComponent: PropTypes.elementType,\n /**\n * Props applied to the [`Paper`](https://mui.com/material-ui/api/paper/) element.\n * @default {}\n * @deprecated Use `slotProps.paper` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n PaperProps: PropTypes.object,\n /**\n * The ARIA role for the dialog element.\n * The main dialog role is `dialog`, but `alertdialog` can be used if the content of the dialog requires immediate attention.\n * See https://www.w3.org/TR/wai-aria-1.2/#dialog and https://www.w3.org/TR/wai-aria-1.2/#alertdialog for more details.\n * @default 'dialog'\n */\n role: PropTypes.oneOf(['alertdialog', 'dialog']),\n /**\n * Determine the container for scrolling the dialog.\n * @default 'paper'\n */\n scroll: PropTypes.oneOf(['body', 'paper']),\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n backdrop: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n container: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n paper: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n transition: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n backdrop: PropTypes.elementType,\n container: PropTypes.elementType,\n paper: PropTypes.elementType,\n root: PropTypes.elementType,\n transition: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The component used for the transition.\n * [Follow this guide](https://mui.com/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.\n * @default Fade\n * @deprecated Use `slots.transition` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n TransitionComponent: PropTypes.elementType,\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n * @default {\n * enter: theme.transitions.duration.enteringScreen,\n * exit: theme.transitions.duration.leavingScreen,\n * }\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })]),\n /**\n * Props applied to the transition element.\n * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.\n * @deprecated Use `slotProps.transition` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n TransitionProps: PropTypes.object\n} : void 0;\nexport default Dialog;","import e from \"react\";\nimport t from \"prop-types\";\nimport { jsx as n, jsxs as r } from \"react/jsx-runtime\";\nimport i from \"@mui/material/DialogContent\";\nimport a from \"@mui/icons-material/ArrowBackIos\";\nimport o from \"@mui/material/TextField\";\nimport s from \"@mui/material/DialogActions\";\nimport c from \"@mui/material/Button\";\nimport l from \"@mui/material/Dialog\";\n//#region src/components/image/AltDialog.tsx\nvar u = class extends e.Component {\n\tstatic propTypes = {\n\t\tonDone: t.func.isRequired,\n\t\talt: t.string\n\t};\n\tconstructor(e) {\n\t\tsuper(e);\n\t\tlet { alt: t } = e;\n\t\tthis.state = { value: t };\n\t}\n\tcloseDialog = () => {\n\t\tdocument.querySelectorAll(\"#text-dialog\").forEach(function(e) {\n\t\t\treturn e.remove();\n\t\t});\n\t};\n\tonDone = () => {\n\t\tlet { onDone: e } = this.props, { value: t } = this.state;\n\t\te(t), this.closeDialog();\n\t};\n\thandleOverflow = () => {\n\t\tdocument.body.style.removeProperty(\"overflow\");\n\t};\n\trender() {\n\t\tlet { value: e } = this.state;\n\t\treturn /* @__PURE__ */ r(l, {\n\t\t\topen: !0,\n\t\t\tdisablePortal: !0,\n\t\t\tonClose: this.closeDialog,\n\t\t\tid: \"text-dialog\",\n\t\t\thideBackdrop: !0,\n\t\t\tdisableScrollLock: !0,\n\t\t\tonEntered: this.handleOverflow,\n\t\t\tchildren: [/* @__PURE__ */ n(i, { children: /* @__PURE__ */ r(\"div\", {\n\t\t\t\tstyle: { display: \"flex\" },\n\t\t\t\tchildren: [/* @__PURE__ */ n(a, { style: { paddingTop: \"6px\" } }), /* @__PURE__ */ n(o, {\n\t\t\t\t\tmultiline: !0,\n\t\t\t\t\tplaceholder: \"Enter an Alt Text description of this image\",\n\t\t\t\t\thelperText: \"Users with visual limitations rely on Alt Text, since screen readers cannot otherwise describe the contents of an image.\",\n\t\t\t\t\tvalue: e,\n\t\t\t\t\tonChange: (e) => this.setState({ value: e.target.value }),\n\t\t\t\t\tFormHelperTextProps: { style: { fontSize: 14 } }\n\t\t\t\t})]\n\t\t\t}) }), /* @__PURE__ */ n(s, { children: /* @__PURE__ */ n(c, {\n\t\t\t\tonClick: this.onDone,\n\t\t\t\tchildren: \"Done\"\n\t\t\t}) })]\n\t\t});\n\t}\n};\n//#endregion\nexport { u as AltDialog, u as default };\n","import e from \"react\";\nimport { styled as t } from \"@mui/material/styles\";\nimport n from \"prop-types\";\nimport { jsx as r } from \"react/jsx-runtime\";\nimport { color as i } from \"@pie-lib/render-ui\";\nimport a from \"debug\";\n//#region src/components/common/toolbar-buttons.tsx\nvar o = t(\"button\", { shouldForwardProp: (e) => ![\n\t\"active\",\n\t\"disabled\",\n\t\"extraStyles\"\n].includes(e) })(({ active: e, disabled: t }) => ({\n\tcolor: e ? i.text() : i.disabled(),\n\tdisplay: \"inline-flex\",\n\tpadding: \"2px\",\n\tbackground: \"none\",\n\tborder: \"none\",\n\tcursor: t ? \"not-allowed\" : \"pointer\",\n\t\"& svg\": {\n\t\twidth: \"24px\",\n\t\theight: \"24px\"\n\t},\n\t\"&:hover\": { color: t ? i.disabled() : i.text() },\n\t\"&:focus\": { outline: `2px solid ${i.buttonFocusOutline()}` },\n\t...t && { opacity: .7 }\n})), s = a(\"pie-elements:editable-html:raw-button\");\n(class extends e.Component {\n\tstatic propTypes = {\n\t\tonClick: n.func.isRequired,\n\t\tchildren: n.oneOfType([n.arrayOf(n.node), n.node]).isRequired,\n\t\tactive: n.bool,\n\t\tdisabled: n.bool,\n\t\textraStyles: n.object\n\t};\n\tconstructor(e) {\n\t\tsuper(e);\n\t}\n\tonClick = (e) => {\n\t\ts(\"[onClick]\"), e.preventDefault();\n\t\tlet { onClick: t } = this.props;\n\t\tt(e);\n\t};\n\tonKeyDown = (e) => {\n\t\tif (e.key === \"Enter\" || e.key === \" \") {\n\t\t\ts(\"[onKeyDown]\"), e.preventDefault();\n\t\t\tlet { onClick: t } = this.props;\n\t\t\tt(e);\n\t\t}\n\t};\n\trender() {\n\t\tlet { active: e, children: t, disabled: n, extraStyles: i, ariaLabel: a } = this.props;\n\t\treturn /* @__PURE__ */ r(o, {\n\t\t\tstyle: i,\n\t\t\tactive: e,\n\t\t\tdisabled: n,\n\t\t\tonMouseDown: this.onClick,\n\t\t\tonKeyDown: this.onKeyDown,\n\t\t\t\"aria-label\": a,\n\t\t\t\"aria-pressed\": e,\n\t\t\ttabIndex: 0,\n\t\t\tchildren: t\n\t\t});\n\t}\n});\nvar c = class extends e.Component {\n\tstatic propTypes = {\n\t\tonToggle: n.func.isRequired,\n\t\tmark: n.string,\n\t\tlabel: n.string.isRequired,\n\t\tchildren: n.oneOfType([n.arrayOf(n.node), n.node]).isRequired,\n\t\tactive: n.bool\n\t};\n\tconstructor(e) {\n\t\tsuper(e);\n\t}\n\tonToggle = (e) => {\n\t\te.preventDefault(), this.props.onToggle(this.props.mark);\n\t};\n\tonKeyDown = (e) => {\n\t\t(e.key === \"Enter\" || e.key === \" \") && (e.preventDefault(), this.props.onToggle(this.props.mark));\n\t};\n\trender() {\n\t\tlet { children: e, active: t, label: n } = this.props;\n\t\treturn /* @__PURE__ */ r(o, {\n\t\t\tactive: t,\n\t\t\tonMouseDown: this.onToggle,\n\t\t\t\"aria-pressed\": t,\n\t\t\tonKeyDown: this.onKeyDown,\n\t\t\t\"aria-label\": n,\n\t\t\ttabIndex: 0,\n\t\t\tchildren: e\n\t\t});\n\t}\n}, l = c;\n//#endregion\nexport { l as MarkButton, c as RawMarkButton };\n","import { AltDialog as e } from \"./AltDialog.js\";\nimport { MarkButton as t } from \"../common/toolbar-buttons.js\";\nimport n from \"react\";\nimport { styled as r } from \"@mui/material/styles\";\nimport i from \"react-dom\";\nimport a from \"prop-types\";\nimport { Fragment as o, jsx as s, jsxs as c } from \"react/jsx-runtime\";\nimport l from \"debug\";\n//#region src/components/image/ImageToolbar.tsx\nvar u = l(\"@pie-lib:editable-html:plugins:image:image-toolbar\"), d = r(\"div\")(({ theme: e }) => ({\n\tpaddingLeft: e.spacing.unit,\n\tdisplay: \"flex\",\n\talignItems: \"center\"\n})), f = r(\"span\", { shouldForwardProp: (e) => ![\"disabled\", \"hasAlignmentButtons\"].includes(e) })(({ disabled: e, hasAlignmentButtons: t }) => ({\n\t...e && { opacity: .5 },\n\t...t && {\n\t\tborderLeft: \"1px solid grey\",\n\t\tpaddingLeft: 8,\n\t\tmarginLeft: 4\n\t}\n})), p = ({ alignment: e, active: n, onClick: r }) => /* @__PURE__ */ s(t, {\n\tactive: n,\n\tonToggle: () => r(e),\n\tlabel: e,\n\tchildren: e\n});\np.propTypes = {\n\talignment: a.string.isRequired,\n\tactive: a.bool.isRequired,\n\tonClick: a.func.isRequired\n};\nvar m = class extends n.Component {\n\tstatic propTypes = {\n\t\tonChange: a.func.isRequired,\n\t\talignment: a.string,\n\t\talt: a.string,\n\t\timageLoaded: a.bool,\n\t\tdisableImageAlignmentButtons: a.bool\n\t};\n\tonAltTextDone = (e) => {\n\t\tu(\"[onAltTextDone]: alt:\", e), this.props.onChange({ alt: e }, !0);\n\t};\n\tonAlignmentClick = (e) => {\n\t\tu(\"[onAlignmentClick]: alignment:\", e), this.props.onChange({ alignment: e });\n\t};\n\trenderDialog = () => {\n\t\tlet { alt: t } = this.props, n = document.createElement(\"div\"), r = /* @__PURE__ */ s(e, {\n\t\t\talt: t,\n\t\t\tonDone: this.onAltTextDone\n\t\t});\n\t\ti.render(r, n), document.body.appendChild(n);\n\t};\n\trender() {\n\t\tlet { alignment: e, imageLoaded: t, disableImageAlignmentButtons: n } = this.props;\n\t\treturn /* @__PURE__ */ c(d, { children: [!n && /* @__PURE__ */ c(o, { children: [\n\t\t\t/* @__PURE__ */ s(p, {\n\t\t\t\talignment: \"left\",\n\t\t\t\tactive: e === \"left\",\n\t\t\t\tonClick: this.onAlignmentClick\n\t\t\t}),\n\t\t\t/* @__PURE__ */ s(p, {\n\t\t\t\talignment: \"center\",\n\t\t\t\tactive: e === \"center\",\n\t\t\t\tonClick: this.onAlignmentClick\n\t\t\t}),\n\t\t\t/* @__PURE__ */ s(p, {\n\t\t\t\talignment: \"right\",\n\t\t\t\tactive: e === \"right\",\n\t\t\t\tonClick: this.onAlignmentClick\n\t\t\t})\n\t\t] }), /* @__PURE__ */ s(f, {\n\t\t\tdisabled: !t,\n\t\t\thasAlignmentButtons: !n,\n\t\t\tonMouseDown: (e) => t && this.renderDialog(e),\n\t\t\tchildren: \"Alt text\"\n\t\t})] });\n\t}\n};\n//#endregion\nexport { m as ImageToolbar, m as default };\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getLinearProgressUtilityClass(slot) {\n return generateUtilityClass('MuiLinearProgress', slot);\n}\nconst linearProgressClasses = generateUtilityClasses('MuiLinearProgress', ['root', 'colorPrimary', 'colorSecondary', 'determinate', 'indeterminate', 'buffer', 'query', 'dashed', 'dashedColorPrimary', 'dashedColorSecondary', 'bar', 'bar1', 'bar2', 'barColorPrimary', 'barColorSecondary', 'bar1Indeterminate', 'bar1Determinate', 'bar1Buffer', 'bar2Indeterminate', 'bar2Buffer']);\nexport default linearProgressClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport { keyframes, css, styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport createSimplePaletteValueFilter from \"../utils/createSimplePaletteValueFilter.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport capitalize from \"../utils/capitalize.js\";\nimport { getLinearProgressUtilityClass } from \"./linearProgressClasses.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst TRANSITION_DURATION = 4; // seconds\nconst indeterminate1Keyframe = keyframes`\n 0% {\n left: -35%;\n right: 100%;\n }\n\n 60% {\n left: 100%;\n right: -90%;\n }\n\n 100% {\n left: 100%;\n right: -90%;\n }\n`;\n\n// This implementation is for supporting both Styled-components v4+ and Pigment CSS.\n// A global animation has to be created here for Styled-components v4+ (https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/utils/errors.md#12).\n// which can be done by checking typeof indeterminate1Keyframe !== 'string' (at runtime, Pigment CSS transform keyframes`` to a string).\nconst indeterminate1Animation = typeof indeterminate1Keyframe !== 'string' ? css`\n animation: ${indeterminate1Keyframe} 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;\n ` : null;\nconst indeterminate2Keyframe = keyframes`\n 0% {\n left: -200%;\n right: 100%;\n }\n\n 60% {\n left: 107%;\n right: -8%;\n }\n\n 100% {\n left: 107%;\n right: -8%;\n }\n`;\nconst indeterminate2Animation = typeof indeterminate2Keyframe !== 'string' ? css`\n animation: ${indeterminate2Keyframe} 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite;\n ` : null;\nconst bufferKeyframe = keyframes`\n 0% {\n opacity: 1;\n background-position: 0 -23px;\n }\n\n 60% {\n opacity: 0;\n background-position: 0 -23px;\n }\n\n 100% {\n opacity: 1;\n background-position: -200px -23px;\n }\n`;\nconst bufferAnimation = typeof bufferKeyframe !== 'string' ? css`\n animation: ${bufferKeyframe} 3s infinite linear;\n ` : null;\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant,\n color\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color)}`, variant],\n dashed: ['dashed', `dashedColor${capitalize(color)}`],\n bar1: ['bar', 'bar1', `barColor${capitalize(color)}`, (variant === 'indeterminate' || variant === 'query') && 'bar1Indeterminate', variant === 'determinate' && 'bar1Determinate', variant === 'buffer' && 'bar1Buffer'],\n bar2: ['bar', 'bar2', variant !== 'buffer' && `barColor${capitalize(color)}`, variant === 'buffer' && `color${capitalize(color)}`, (variant === 'indeterminate' || variant === 'query') && 'bar2Indeterminate', variant === 'buffer' && 'bar2Buffer']\n };\n return composeClasses(slots, getLinearProgressUtilityClass, classes);\n};\nconst getColorShade = (theme, color) => {\n if (theme.vars) {\n return theme.vars.palette.LinearProgress[`${color}Bg`];\n }\n return theme.palette.mode === 'light' ? theme.lighten(theme.palette[color].main, 0.62) : theme.darken(theme.palette[color].main, 0.5);\n};\nconst LinearProgressRoot = styled('span', {\n name: 'MuiLinearProgress',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`color${capitalize(ownerState.color)}`], styles[ownerState.variant]];\n }\n})(memoTheme(({\n theme\n}) => ({\n position: 'relative',\n overflow: 'hidden',\n display: 'block',\n height: 4,\n // Fix Safari's bug during composition of different paint.\n zIndex: 0,\n '@media print': {\n colorAdjust: 'exact'\n },\n variants: [...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({\n props: {\n color\n },\n style: {\n backgroundColor: getColorShade(theme, color)\n }\n })), {\n props: ({\n ownerState\n }) => ownerState.color === 'inherit' && ownerState.variant !== 'buffer',\n style: {\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n backgroundColor: 'currentColor',\n opacity: 0.3\n }\n }\n }, {\n props: {\n variant: 'buffer'\n },\n style: {\n backgroundColor: 'transparent'\n }\n }, {\n props: {\n variant: 'query'\n },\n style: {\n transform: 'rotate(180deg)'\n }\n }]\n})));\nconst LinearProgressDashed = styled('span', {\n name: 'MuiLinearProgress',\n slot: 'Dashed',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.dashed, styles[`dashedColor${capitalize(ownerState.color)}`]];\n }\n})(memoTheme(({\n theme\n}) => ({\n position: 'absolute',\n marginTop: 0,\n height: '100%',\n width: '100%',\n backgroundSize: '10px 10px',\n backgroundPosition: '0 -23px',\n variants: [{\n props: {\n color: 'inherit'\n },\n style: {\n opacity: 0.3,\n backgroundImage: `radial-gradient(currentColor 0%, currentColor 16%, transparent 42%)`\n }\n }, ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => {\n const backgroundColor = getColorShade(theme, color);\n return {\n props: {\n color\n },\n style: {\n backgroundImage: `radial-gradient(${backgroundColor} 0%, ${backgroundColor} 16%, transparent 42%)`\n }\n };\n })]\n})), bufferAnimation || {\n // At runtime for Pigment CSS, `bufferAnimation` will be null and the generated keyframe will be used.\n animation: `${bufferKeyframe} 3s infinite linear`\n});\nconst LinearProgressBar1 = styled('span', {\n name: 'MuiLinearProgress',\n slot: 'Bar1',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.bar, styles.bar1, styles[`barColor${capitalize(ownerState.color)}`], (ownerState.variant === 'indeterminate' || ownerState.variant === 'query') && styles.bar1Indeterminate, ownerState.variant === 'determinate' && styles.bar1Determinate, ownerState.variant === 'buffer' && styles.bar1Buffer];\n }\n})(memoTheme(({\n theme\n}) => ({\n width: '100%',\n position: 'absolute',\n left: 0,\n bottom: 0,\n top: 0,\n transition: 'transform 0.2s linear',\n transformOrigin: 'left',\n variants: [{\n props: {\n color: 'inherit'\n },\n style: {\n backgroundColor: 'currentColor'\n }\n }, ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({\n props: {\n color\n },\n style: {\n backgroundColor: (theme.vars || theme).palette[color].main\n }\n })), {\n props: {\n variant: 'determinate'\n },\n style: {\n transition: `transform .${TRANSITION_DURATION}s linear`\n }\n }, {\n props: {\n variant: 'buffer'\n },\n style: {\n zIndex: 1,\n transition: `transform .${TRANSITION_DURATION}s linear`\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.variant === 'indeterminate' || ownerState.variant === 'query',\n style: {\n width: 'auto'\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.variant === 'indeterminate' || ownerState.variant === 'query',\n style: indeterminate1Animation || {\n animation: `${indeterminate1Keyframe} 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite`\n }\n }]\n})));\nconst LinearProgressBar2 = styled('span', {\n name: 'MuiLinearProgress',\n slot: 'Bar2',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.bar, styles.bar2, styles[`barColor${capitalize(ownerState.color)}`], (ownerState.variant === 'indeterminate' || ownerState.variant === 'query') && styles.bar2Indeterminate, ownerState.variant === 'buffer' && styles.bar2Buffer];\n }\n})(memoTheme(({\n theme\n}) => ({\n width: '100%',\n position: 'absolute',\n left: 0,\n bottom: 0,\n top: 0,\n transition: 'transform 0.2s linear',\n transformOrigin: 'left',\n variants: [...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({\n props: {\n color\n },\n style: {\n '--LinearProgressBar2-barColor': (theme.vars || theme).palette[color].main\n }\n })), {\n props: ({\n ownerState\n }) => ownerState.variant !== 'buffer' && ownerState.color !== 'inherit',\n style: {\n backgroundColor: 'var(--LinearProgressBar2-barColor, currentColor)'\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.variant !== 'buffer' && ownerState.color === 'inherit',\n style: {\n backgroundColor: 'currentColor'\n }\n }, {\n props: {\n color: 'inherit'\n },\n style: {\n opacity: 0.3\n }\n }, ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({\n props: {\n color,\n variant: 'buffer'\n },\n style: {\n backgroundColor: getColorShade(theme, color),\n transition: `transform .${TRANSITION_DURATION}s linear`\n }\n })), {\n props: ({\n ownerState\n }) => ownerState.variant === 'indeterminate' || ownerState.variant === 'query',\n style: {\n width: 'auto'\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.variant === 'indeterminate' || ownerState.variant === 'query',\n style: indeterminate2Animation || {\n animation: `${indeterminate2Keyframe} 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite`\n }\n }]\n})));\n\n/**\n * ## ARIA\n *\n * If the progress bar is describing the loading progress of a particular region of a page,\n * you should use `aria-describedby` to point to the progress bar, and set the `aria-busy`\n * attribute to `true` on that region until it has finished loading.\n */\nconst LinearProgress = /*#__PURE__*/React.forwardRef(function LinearProgress(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiLinearProgress'\n });\n const {\n className,\n color = 'primary',\n value,\n valueBuffer,\n variant = 'indeterminate',\n ...other\n } = props;\n const ownerState = {\n ...props,\n color,\n variant\n };\n const classes = useUtilityClasses(ownerState);\n const isRtl = useRtl();\n const rootProps = {};\n const inlineStyles = {\n bar1: {},\n bar2: {}\n };\n if (variant === 'determinate' || variant === 'buffer') {\n if (value !== undefined) {\n rootProps['aria-valuenow'] = Math.round(value);\n rootProps['aria-valuemin'] = 0;\n rootProps['aria-valuemax'] = 100;\n let transform = value - 100;\n if (isRtl) {\n transform = -transform;\n }\n inlineStyles.bar1.transform = `translateX(${transform}%)`;\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: You need to provide a value prop ' + 'when using the determinate or buffer variant of LinearProgress .');\n }\n }\n if (variant === 'buffer') {\n if (valueBuffer !== undefined) {\n let transform = (valueBuffer || 0) - 100;\n if (isRtl) {\n transform = -transform;\n }\n inlineStyles.bar2.transform = `translateX(${transform}%)`;\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: You need to provide a valueBuffer prop ' + 'when using the buffer variant of LinearProgress.');\n }\n }\n return /*#__PURE__*/_jsxs(LinearProgressRoot, {\n className: clsx(classes.root, className),\n ownerState: ownerState,\n role: \"progressbar\",\n ...rootProps,\n ref: ref,\n ...other,\n children: [variant === 'buffer' ? /*#__PURE__*/_jsx(LinearProgressDashed, {\n className: classes.dashed,\n ownerState: ownerState\n }) : null, /*#__PURE__*/_jsx(LinearProgressBar1, {\n className: classes.bar1,\n ownerState: ownerState,\n style: inlineStyles.bar1\n }), variant === 'determinate' ? null : /*#__PURE__*/_jsx(LinearProgressBar2, {\n className: classes.bar2,\n ownerState: ownerState,\n style: inlineStyles.bar2\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? LinearProgress.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'primary', 'secondary']), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The value of the progress indicator for the determinate and buffer variants.\n * Value between 0 and 100.\n */\n value: PropTypes.number,\n /**\n * The value for the buffer variant.\n * Value between 0 and 100.\n */\n valueBuffer: PropTypes.number,\n /**\n * The variant to use.\n * Use indeterminate or query when there is no progress value.\n * @default 'indeterminate'\n */\n variant: PropTypes.oneOf(['buffer', 'determinate', 'indeterminate', 'query'])\n} : void 0;\nexport default LinearProgress;","import e from \"./custom-toolbar-wrapper.js\";\nimport t from \"../components/image/findImageNode.js\";\nimport n from \"../components/image/InsertImageHandler.js\";\nimport { ImageToolbar as r } from \"../components/image/ImageToolbar.js\";\nimport { useCallback as i, useEffect as a, useMemo as o, useRef as s, useState as c } from \"react\";\nimport { isEqual as l } from \"@pie-element/shared-lodash\";\nimport { NodeViewWrapper as u } from \"@tiptap/react\";\nimport { styled as d } from \"@mui/material/styles\";\nimport f from \"react-dom\";\nimport p from \"prop-types\";\nimport { jsx as m, jsxs as h } from \"react/jsx-runtime\";\nimport g from \"debug\";\nimport _ from \"@mui/material/LinearProgress\";\n//#region src/extensions/image-component.tsx\ng(\"@pie-lib:editable-html:plugins:image:component\");\nvar v = d(_, { shouldForwardProp: (e) => e !== \"hideProgress\" })(({ hideProgress: e }) => ({\n\tposition: \"absolute\",\n\tleft: \"0\",\n\twidth: \"fit-content\",\n\ttop: \"0%\",\n\ttransition: \"opacity 200ms linear\",\n\t...e && { opacity: 0 }\n})), y = d(\"div\", { shouldForwardProp: (e) => ![\n\t\"active\",\n\t\"loading\",\n\t\"pendingDelete\"\n].includes(e) })(({ loading: e, pendingDelete: t }) => ({\n\tposition: \"relative\",\n\tdisplay: \"flex\",\n\ttransition: \"opacity 200ms linear\",\n\t...e && { opacity: .3 },\n\t...t && { opacity: .3 }\n})), b = d(\"div\")(({ theme: e }) => ({\n\tposition: \"relative\",\n\twidth: \"fit-content\",\n\tdisplay: \"flex\",\n\talignItems: \"center\",\n\t\"&&:hover > .resize\": { display: \"block\" }\n})), x = d(\"img\", { shouldForwardProp: (e) => e !== \"active\" })(({ theme: e, active: t }) => ({ border: t ? `solid 1px ${e.palette.primary.main}` : \"solid 1px transparent\" })), S = d(\"div\")(({ theme: e }) => ({\n\tbackgroundColor: e.palette.primary.main,\n\tcursor: \"col-resize\",\n\theight: \"35px\",\n\twidth: \"5px\",\n\tborderRadius: 8,\n\tmarginLeft: \"5px\",\n\tmarginRight: \"10px\",\n\tdisplay: \"none\"\n})), C = (e) => e ? `${e}px` : \"calc(20px)\";\nfunction w(d) {\n\tlet { node: p, editor: g, attributes: _, onFocus: w, getPos: T, selected: E, options: D, maxImageWidth: O = 700, maxImageHeight: k = 900 } = d, { alt: A } = p.attrs, j = T(), M = g.state.selection.from, N = g.state.selection.to, P = o(() => M + p.nodeSize === N, [\n\t\tM,\n\t\tN,\n\t\tp.nodeSize\n\t]), [F, I] = c(!1), L = s(p), R = s(null), z = s(null), B = s(null), V = i((e) => {\n\t\tlet t = e / R.current.naturalWidth * 4;\n\t\treturn parseInt(t.toFixed(0) * 25, 10);\n\t}, []), H = i(() => {\n\t\tlet e = t(g, L.current.attrs.nodeKey);\n\t\treturn e ? e[1] : null;\n\t}, [g]), U = i((e) => {\n\t\tlet t = H();\n\t\tif (t === null) return;\n\t\tlet n = g.state.doc.nodeAt(t);\n\t\tn && g.view.dispatch(g.state.tr.setNodeMarkup(t, void 0, {\n\t\t\t...n.attrs,\n\t\t\t...e\n\t\t}));\n\t}, [g, H]), W = i(() => {\n\t\tif (!p.attrs.width || !R.current || !R.current.naturalWidth) return;\n\t\tlet e = V(p.attrs.width);\n\t\tp.attrs.resizePercent !== e && U({ resizePercent: e });\n\t}, [\n\t\tp.attrs.width,\n\t\tp.attrs.resizePercent,\n\t\tV,\n\t\tU\n\t]);\n\ta(() => {\n\t\tL.current = {\n\t\t\t...p,\n\t\t\tpos: j\n\t\t};\n\t}, [p, j]), a(() => {\n\t\tE ? P && g.isEditable && (!String(p.attrs?.src ?? \"\").trim() && D.imageHandling?.insertImageRequested && D.imageHandling.insertImageRequested(g, [p, j], (e) => new n(g, [p, j], e)), I(E)) : I(E);\n\t}, [\n\t\tP,\n\t\tE,\n\t\tg.isEditable\n\t]), a(() => {\n\t\tW();\n\t\tlet e = z?.current;\n\t\treturn e && g.isEditable && e.addEventListener(\"mousedown\", X, !1), () => {\n\t\t\te && e.removeEventListener(\"mousedown\", X, !1);\n\t\t};\n\t}, []), a(() => {\n\t\tW();\n\t});\n\tlet G = i(() => {\n\t\tlet e = R.current;\n\t\tif (e && (!e.style.width || e.style.width === \"calc(20px)\")) {\n\t\t\tlet t = Math.min(e.naturalWidth, O), n = Math.min(e.naturalHeight, k);\n\t\t\te.style.width = `${t}px`, e.style.height = `${n}px`;\n\t\t\tlet r = {\n\t\t\t\twidth: t,\n\t\t\t\theight: n\n\t\t\t};\n\t\t\tl(r, {\n\t\t\t\twidth: p.attrs.width,\n\t\t\t\theight: p.attrs.height\n\t\t\t}) || U(r);\n\t\t}\n\t}, [\n\t\tp.attrs.width,\n\t\tp.attrs.height,\n\t\tO,\n\t\tk,\n\t\tU\n\t]), K = (e, t, n = !0, r) => {\n\t\tif (n) {\n\t\t\tlet n = e.width / e.height;\n\t\t\treturn r === \"height\" ? {\n\t\t\t\twidth: t.height * n,\n\t\t\t\theight: t.height\n\t\t\t} : {\n\t\t\t\twidth: t.width,\n\t\t\t\theight: t.width / n\n\t\t\t};\n\t\t}\n\t\treturn t;\n\t}, q = i((e) => {\n\t\tlet t = R.current;\n\t\tif (!t) return;\n\t\tlet n = e.target.getBoundingClientRect(), r = {\n\t\t\twidth: t.naturalWidth,\n\t\t\theight: t.naturalHeight\n\t\t}, i = K(r, {\n\t\t\twidth: e.clientX - n.left,\n\t\t\theight: e.clientY - n.top\n\t\t});\n\t\ti.width > 50 && i.height > 50 && i.width <= 700 && i.height <= 900 && (t.style.width = `${i.width}px`, t.style.height = `${i.height}px`, U({\n\t\t\twidth: i.width,\n\t\t\theight: i.height\n\t\t}));\n\t}, [g, U]), J = i((e) => {\n\t\tU(e);\n\t}, [g, U]), Y = i(() => {\n\t\twindow.removeEventListener(\"mousemove\", q), window.removeEventListener(\"mouseup\", Y);\n\t}, [q]), X = i(() => {\n\t\twindow.addEventListener(\"mousemove\", q), window.addEventListener(\"mouseup\", Y);\n\t}, [q, Y]), Z = {\n\t\twidth: C(p.attrs.width),\n\t\theight: C(p.attrs.height),\n\t\tobjectFit: \"contain\"\n\t}, Q = {\n\t\tleft: \"flex-start\",\n\t\tcenter: \"center\",\n\t\tright: \"flex-end\"\n\t}[p.attrs.alignment] || \"flex-start\";\n\treturn /* @__PURE__ */ h(u, { children: [/* @__PURE__ */ h(y, {\n\t\tonFocus: w,\n\t\tloading: !p.attrs.loaded,\n\t\tpendingDelete: p.attrs.deleteStatus === \"pending\",\n\t\tstyle: { justifyContent: Q },\n\t\tchildren: [/* @__PURE__ */ m(v, {\n\t\t\tmode: \"determinate\",\n\t\t\tvalue: p.attrs.percent || 0,\n\t\t\thideProgress: p.attrs.loaded\n\t\t}), /* @__PURE__ */ h(b, {\n\t\t\tonDragStart: (e) => e.preventDefault(),\n\t\t\tchildren: [/* @__PURE__ */ m(x, {\n\t\t\t\t..._,\n\t\t\t\tactive: E && p.attrs.loaded,\n\t\t\t\tdraggable: !1,\n\t\t\t\tref: R,\n\t\t\t\tsrc: p.attrs.src,\n\t\t\t\tstyle: Z,\n\t\t\t\tonLoad: G,\n\t\t\t\talt: p.attrs.alt\n\t\t\t}), /* @__PURE__ */ m(S, {\n\t\t\t\tref: z,\n\t\t\t\tclassName: \"resize\",\n\t\t\t\tstyle: { display: g.isEditable ? void 0 : \"none\" }\n\t\t\t})]\n\t\t})]\n\t}), F && g._tiptapContainerEl && f.createPortal(/* @__PURE__ */ m(\"div\", {\n\t\tref: B,\n\t\tstyle: {\n\t\t\tzIndex: 20,\n\t\t\tbackground: \"var(--editable-html-toolbar-bg, #efefef)\",\n\t\t\tboxShadow: \"0px 1px 5px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 3px 1px -2px rgba(0, 0, 0, 0.12)\",\n\t\t\twidth: \"100%\"\n\t\t},\n\t\tchildren: /* @__PURE__ */ m(e, {\n\t\t\tshowDone: !0,\n\t\t\tdeletable: !0,\n\t\t\ttoolbarOpts: D.toolbarOpts || {},\n\t\t\tonDelete: () => {\n\t\t\t\tlet e = H();\n\t\t\t\te !== null && (D.imageHandling?.onDelete?.(L.current), g.view.dispatch(g.state.tr.delete(e, e + g.state.doc.nodeAt(e).nodeSize)), I(!1), g.commands.focus());\n\t\t\t},\n\t\t\tonDone: () => {\n\t\t\t\tI(!1), D.imageHandling?.onDone?.(g), g.commands.focus(\"end\");\n\t\t\t},\n\t\t\tchildren: /* @__PURE__ */ m(r, {\n\t\t\t\tdisableImageAlignmentButtons: D.imageHandling?.disableImageAlignmentButtons,\n\t\t\t\talt: p.attrs.alt,\n\t\t\t\timageLoaded: p.attrs.loaded,\n\t\t\t\talignment: p.attrs.alignment || \"left\",\n\t\t\t\tonChange: J\n\t\t\t})\n\t\t})\n\t}), g._tiptapContainerEl)] });\n}\nw.propTypes = {\n\tnode: p.object.isRequired,\n\teditor: p.object.isRequired,\n\tattributes: p.object,\n\tonFocus: p.func,\n\tmaxImageWidth: p.number,\n\tmaxImageHeight: p.number\n};\n//#endregion\nexport { w as default };\n","import e, { newImageNodeKey as t } from \"../components/image/findImageNode.js\";\nimport n from \"../components/image/InsertImageHandler.js\";\nimport r from \"./image-component.js\";\nimport \"react\";\nimport { ReactNodeViewRenderer as i } from \"@tiptap/react\";\nimport { Node as a, mergeAttributes as o } from \"@tiptap/core\";\nimport { Plugin as s } from \"@tiptap/pm/state\";\nimport { jsx as c } from \"react/jsx-runtime\";\n//#region src/extensions/image.tsx\nvar l = a.create({\n\tname: \"imageUploadNode\",\n\tgroup: \"block\",\n\tatom: !0,\n\tselectable: !0,\n\tdraggable: !0,\n\taddAttributes() {\n\t\treturn {\n\t\t\tnodeKey: { default: null },\n\t\t\tloaded: { default: !1 },\n\t\t\tdeleteStatus: { default: null },\n\t\t\talignment: { default: null },\n\t\t\tpercent: { default: null },\n\t\t\twidth: { default: null },\n\t\t\theight: { default: null },\n\t\t\tsrc: { default: null },\n\t\t\talt: { default: null }\n\t\t};\n\t},\n\tparseHTML() {\n\t\treturn [{ tag: \"img[data-type=\\\"image-upload-node\\\"]\" }];\n\t},\n\trenderHTML({ HTMLAttributes: e }) {\n\t\treturn [\"img\", o(e, { \"data-type\": \"image-upload-node\" })];\n\t},\n\taddNodeView() {\n\t\treturn i((e) => /* @__PURE__ */ c(r, {\n\t\t\t...e,\n\t\t\toptions: this.options\n\t\t}));\n\t},\n\taddCommands() {\n\t\treturn { setImageUploadNode: () => ({ commands: e }) => e.insertContent({\n\t\t\ttype: this.name,\n\t\t\tattrs: { nodeKey: t() }\n\t\t}) };\n\t},\n\taddProseMirrorPlugins() {\n\t\tlet r = this.editor, i = this.options;\n\t\treturn [new s({ props: { handlePaste(a, o) {\n\t\t\tlet s = Array.from(o.clipboardData?.items || []).find((e) => e.kind === \"file\" && e.type.startsWith(\"image/\"));\n\t\t\tif (!s) return !1;\n\t\t\tlet c = s.getAsFile();\n\t\t\tif (!c) return !1;\n\t\t\tlet l = i?.imageHandling?.insertImageRequested, u = t(), d = new FileReader();\n\t\t\treturn d.onload = () => {\n\t\t\t\tlet t = d.result;\n\t\t\t\tif (typeof t != \"string\" || (r.commands.insertContent({\n\t\t\t\t\ttype: \"imageUploadNode\",\n\t\t\t\t\tattrs: {\n\t\t\t\t\t\tsrc: t,\n\t\t\t\t\t\tloaded: !l,\n\t\t\t\t\t\tnodeKey: u\n\t\t\t\t\t}\n\t\t\t\t}), !l)) return;\n\t\t\t\tlet i = e(r, u);\n\t\t\t\ti && l(r, i, (e) => {\n\t\t\t\t\tlet t;\n\t\t\t\t\treturn t = new n(r, i, (n) => {\n\t\t\t\t\t\tn || t?.updateNode({ loaded: !0 }), e(n);\n\t\t\t\t\t}, !0), t.fileChosen(c), t;\n\t\t\t\t});\n\t\t\t}, d.readAsDataURL(c), !0;\n\t\t} } })];\n\t}\n});\n//#endregion\nexport { l as ImageUploadNode };\n","function easeInOutSin(time) {\n return (1 + Math.sin(Math.PI * time - Math.PI / 2)) / 2;\n}\nexport default function animate(property, element, to, options = {}, cb = () => {}) {\n const {\n ease = easeInOutSin,\n duration = 300 // standard\n } = options;\n let start = null;\n const from = element[property];\n let cancelled = false;\n const cancel = () => {\n cancelled = true;\n };\n const step = timestamp => {\n if (cancelled) {\n cb(new Error('Animation cancelled'));\n return;\n }\n if (start === null) {\n start = timestamp;\n }\n const time = Math.min(1, (timestamp - start) / duration);\n element[property] = ease(time) * (to - from) + from;\n if (time >= 1) {\n requestAnimationFrame(() => {\n cb(null);\n });\n return;\n }\n requestAnimationFrame(step);\n };\n if (from === to) {\n cb(new Error('Element already at target position'));\n return cancel;\n }\n requestAnimationFrame(step);\n return cancel;\n}","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from \"../utils/debounce.js\";\nimport { ownerWindow, unstable_useEnhancedEffect as useEnhancedEffect } from \"../utils/index.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst styles = {\n width: 99,\n height: 99,\n position: 'absolute',\n top: -9999,\n overflow: 'scroll'\n};\n\n/**\n * @ignore - internal component.\n * The component originates from https://github.com/STORIS/react-scrollbar-size.\n * It has been moved into the core in order to minimize the bundle size.\n */\nexport default function ScrollbarSize(props) {\n const {\n onChange,\n ...other\n } = props;\n const scrollbarHeight = React.useRef();\n const nodeRef = React.useRef(null);\n const setMeasurements = () => {\n scrollbarHeight.current = nodeRef.current.offsetHeight - nodeRef.current.clientHeight;\n };\n useEnhancedEffect(() => {\n const handleResize = debounce(() => {\n const prevHeight = scrollbarHeight.current;\n setMeasurements();\n if (prevHeight !== scrollbarHeight.current) {\n onChange(scrollbarHeight.current);\n }\n });\n const containerWindow = ownerWindow(nodeRef.current);\n containerWindow.addEventListener('resize', handleResize);\n return () => {\n handleResize.clear();\n containerWindow.removeEventListener('resize', handleResize);\n };\n }, [onChange]);\n React.useEffect(() => {\n setMeasurements();\n onChange(scrollbarHeight.current);\n }, [onChange]);\n return /*#__PURE__*/_jsx(\"div\", {\n style: styles,\n ...other,\n ref: nodeRef\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? ScrollbarSize.propTypes = {\n onChange: PropTypes.func.isRequired\n} : void 0;","'use client';\n\nimport createSvgIcon from \"../../utils/createSvgIcon.js\";\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z\"\n}), 'KeyboardArrowLeft');","'use client';\n\nimport createSvgIcon from \"../../utils/createSvgIcon.js\";\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z\"\n}), 'KeyboardArrowRight');","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTabScrollButtonUtilityClass(slot) {\n return generateUtilityClass('MuiTabScrollButton', slot);\n}\nconst tabScrollButtonClasses = generateUtilityClasses('MuiTabScrollButton', ['root', 'vertical', 'horizontal', 'disabled']);\nexport default tabScrollButtonClasses;","'use client';\n\n/* eslint-disable jsx-a11y/aria-role */\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport useSlotProps from '@mui/utils/useSlotProps';\nimport KeyboardArrowLeft from \"../internal/svg-icons/KeyboardArrowLeft.js\";\nimport KeyboardArrowRight from \"../internal/svg-icons/KeyboardArrowRight.js\";\nimport ButtonBase from \"../ButtonBase/index.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport tabScrollButtonClasses, { getTabScrollButtonUtilityClass } from \"./tabScrollButtonClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n orientation,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', orientation, disabled && 'disabled']\n };\n return composeClasses(slots, getTabScrollButtonUtilityClass, classes);\n};\nconst TabScrollButtonRoot = styled(ButtonBase, {\n name: 'MuiTabScrollButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.orientation && styles[ownerState.orientation]];\n }\n})({\n width: 40,\n flexShrink: 0,\n opacity: 0.8,\n [`&.${tabScrollButtonClasses.disabled}`]: {\n opacity: 0\n },\n variants: [{\n props: {\n orientation: 'vertical'\n },\n style: {\n width: '100%',\n height: 40,\n '& svg': {\n transform: 'var(--TabScrollButton-svgRotate)'\n }\n }\n }]\n});\nconst TabScrollButton = /*#__PURE__*/React.forwardRef(function TabScrollButton(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiTabScrollButton'\n });\n const {\n className,\n slots = {},\n slotProps = {},\n direction,\n orientation,\n disabled,\n ...other\n } = props;\n const isRtl = useRtl();\n const ownerState = {\n isRtl,\n ...props\n };\n const classes = useUtilityClasses(ownerState);\n const StartButtonIcon = slots.StartScrollButtonIcon ?? KeyboardArrowLeft;\n const EndButtonIcon = slots.EndScrollButtonIcon ?? KeyboardArrowRight;\n const startButtonIconProps = useSlotProps({\n elementType: StartButtonIcon,\n externalSlotProps: slotProps.startScrollButtonIcon,\n additionalProps: {\n fontSize: 'small'\n },\n ownerState\n });\n const endButtonIconProps = useSlotProps({\n elementType: EndButtonIcon,\n externalSlotProps: slotProps.endScrollButtonIcon,\n additionalProps: {\n fontSize: 'small'\n },\n ownerState\n });\n return /*#__PURE__*/_jsx(TabScrollButtonRoot, {\n component: \"div\",\n className: clsx(classes.root, className),\n ref: ref,\n role: null,\n ownerState: ownerState,\n tabIndex: null,\n ...other,\n style: {\n ...other.style,\n ...(orientation === 'vertical' && {\n '--TabScrollButton-svgRotate': `rotate(${isRtl ? -90 : 90}deg)`\n })\n },\n children: direction === 'left' ? /*#__PURE__*/_jsx(StartButtonIcon, {\n ...startButtonIconProps\n }) : /*#__PURE__*/_jsx(EndButtonIcon, {\n ...endButtonIconProps\n })\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? TabScrollButton.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The direction the button should indicate.\n */\n direction: PropTypes.oneOf(['left', 'right']).isRequired,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * The component orientation (layout flow direction).\n */\n orientation: PropTypes.oneOf(['horizontal', 'vertical']).isRequired,\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n * @default {}\n */\n slotProps: PropTypes.shape({\n endScrollButtonIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n startScrollButtonIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n EndScrollButtonIcon: PropTypes.elementType,\n StartScrollButtonIcon: PropTypes.elementType\n }),\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default TabScrollButton;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTabsUtilityClass(slot) {\n return generateUtilityClass('MuiTabs', slot);\n}\nconst tabsClasses = generateUtilityClasses('MuiTabs', ['root', 'vertical', 'list', 'flexContainer', 'flexContainerVertical', 'centered', 'scroller', 'fixed', 'scrollableX', 'scrollableY', 'hideScrollbar', 'scrollButtons', 'scrollButtonsHideMobile', 'indicator']);\nexport default tabsClasses;","'use client';\n\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport useSlotProps from '@mui/utils/useSlotProps';\nimport { styled, useTheme } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport debounce from \"../utils/debounce.js\";\nimport animate from \"../internal/animate.js\";\nimport ScrollbarSize from \"./ScrollbarSize.js\";\nimport TabScrollButton from \"../TabScrollButton/index.js\";\nimport useEventCallback from \"../utils/useEventCallback.js\";\nimport tabsClasses, { getTabsUtilityClass } from \"./tabsClasses.js\";\nimport ownerDocument from \"../utils/ownerDocument.js\";\nimport ownerWindow from \"../utils/ownerWindow.js\";\nimport getActiveElement from \"../utils/getActiveElement.js\";\nimport isLayoutSupported from \"../utils/isLayoutSupported.js\";\nimport useSlot from \"../utils/useSlot.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst nextItem = (list, item) => {\n if (list === item) {\n return list.firstChild;\n }\n if (item && item.nextElementSibling) {\n return item.nextElementSibling;\n }\n return list.firstChild;\n};\nconst previousItem = (list, item) => {\n if (list === item) {\n return list.lastChild;\n }\n if (item && item.previousElementSibling) {\n return item.previousElementSibling;\n }\n return list.lastChild;\n};\nconst moveFocus = (list, currentFocus, traversalFunction) => {\n let wrappedOnce = false;\n let nextFocus = traversalFunction(list, currentFocus);\n while (nextFocus) {\n // Prevent infinite loop.\n if (nextFocus === list.firstChild) {\n if (wrappedOnce) {\n return;\n }\n wrappedOnce = true;\n }\n\n // Same logic as useAutocomplete.js\n const nextFocusDisabled = nextFocus.disabled || nextFocus.getAttribute('aria-disabled') === 'true';\n if (!nextFocus.hasAttribute('tabindex') || nextFocusDisabled) {\n // Move to the next element.\n nextFocus = traversalFunction(list, nextFocus);\n } else {\n nextFocus.focus();\n return;\n }\n }\n};\nconst useUtilityClasses = ownerState => {\n const {\n vertical,\n fixed,\n hideScrollbar,\n scrollableX,\n scrollableY,\n centered,\n scrollButtonsHideMobile,\n classes\n } = ownerState;\n const slots = {\n root: ['root', vertical && 'vertical'],\n scroller: ['scroller', fixed && 'fixed', hideScrollbar && 'hideScrollbar', scrollableX && 'scrollableX', scrollableY && 'scrollableY'],\n list: ['list', 'flexContainer', vertical && 'flexContainerVertical', vertical && 'vertical', centered && 'centered'],\n indicator: ['indicator'],\n scrollButtons: ['scrollButtons', scrollButtonsHideMobile && 'scrollButtonsHideMobile'],\n scrollableX: [scrollableX && 'scrollableX'],\n hideScrollbar: [hideScrollbar && 'hideScrollbar']\n };\n return composeClasses(slots, getTabsUtilityClass, classes);\n};\nconst TabsRoot = styled('div', {\n name: 'MuiTabs',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${tabsClasses.scrollButtons}`]: styles.scrollButtons\n }, {\n [`& .${tabsClasses.scrollButtons}`]: ownerState.scrollButtonsHideMobile && styles.scrollButtonsHideMobile\n }, styles.root, ownerState.vertical && styles.vertical];\n }\n})(memoTheme(({\n theme\n}) => ({\n overflow: 'hidden',\n minHeight: 48,\n // Add iOS momentum scrolling for iOS < 13.0\n WebkitOverflowScrolling: 'touch',\n display: 'flex',\n variants: [{\n props: ({\n ownerState\n }) => ownerState.vertical,\n style: {\n flexDirection: 'column'\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.scrollButtonsHideMobile,\n style: {\n [`& .${tabsClasses.scrollButtons}`]: {\n [theme.breakpoints.down('sm')]: {\n display: 'none'\n }\n }\n }\n }]\n})));\nconst TabsScroller = styled('div', {\n name: 'MuiTabs',\n slot: 'Scroller',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.scroller, ownerState.fixed && styles.fixed, ownerState.hideScrollbar && styles.hideScrollbar, ownerState.scrollableX && styles.scrollableX, ownerState.scrollableY && styles.scrollableY];\n }\n})({\n position: 'relative',\n display: 'inline-block',\n flex: '1 1 auto',\n whiteSpace: 'nowrap',\n variants: [{\n props: ({\n ownerState\n }) => ownerState.fixed,\n style: {\n overflowX: 'hidden',\n width: '100%'\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.hideScrollbar,\n style: {\n // Hide dimensionless scrollbar on macOS\n scrollbarWidth: 'none',\n // Firefox\n '&::-webkit-scrollbar': {\n display: 'none' // Safari + Chrome\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.scrollableX,\n style: {\n overflowX: 'auto',\n overflowY: 'hidden'\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.scrollableY,\n style: {\n overflowY: 'auto',\n overflowX: 'hidden'\n }\n }]\n});\nconst List = styled('div', {\n name: 'MuiTabs',\n slot: 'List',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.list, styles.flexContainer, ownerState.vertical && styles.flexContainerVertical, ownerState.centered && styles.centered];\n }\n})({\n display: 'flex',\n variants: [{\n props: ({\n ownerState\n }) => ownerState.vertical,\n style: {\n flexDirection: 'column'\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.centered,\n style: {\n justifyContent: 'center'\n }\n }]\n});\nconst TabsIndicator = styled('span', {\n name: 'MuiTabs',\n slot: 'Indicator'\n})(memoTheme(({\n theme\n}) => ({\n position: 'absolute',\n height: 2,\n bottom: 0,\n width: '100%',\n transition: theme.transitions.create(),\n variants: [{\n props: {\n indicatorColor: 'primary'\n },\n style: {\n backgroundColor: (theme.vars || theme).palette.primary.main\n }\n }, {\n props: {\n indicatorColor: 'secondary'\n },\n style: {\n backgroundColor: (theme.vars || theme).palette.secondary.main\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.vertical,\n style: {\n height: '100%',\n width: 2,\n right: 0\n }\n }]\n})));\nconst TabsScrollbarSize = styled(ScrollbarSize)({\n overflowX: 'auto',\n overflowY: 'hidden',\n // Hide dimensionless scrollbar on macOS\n scrollbarWidth: 'none',\n // Firefox\n '&::-webkit-scrollbar': {\n display: 'none' // Safari + Chrome\n }\n});\nconst defaultIndicatorStyle = {};\nlet warnedOnceTabPresent = false;\nconst Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiTabs'\n });\n const theme = useTheme();\n const isRtl = useRtl();\n const {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n action,\n centered = false,\n children: childrenProp,\n className,\n component = 'div',\n allowScrollButtonsMobile = false,\n indicatorColor = 'primary',\n onChange,\n orientation = 'horizontal',\n ScrollButtonComponent,\n // TODO: remove in v7 (deprecated in v6)\n scrollButtons = 'auto',\n selectionFollowsFocus,\n slots = {},\n slotProps = {},\n TabIndicatorProps = {},\n // TODO: remove in v7 (deprecated in v6)\n TabScrollButtonProps = {},\n // TODO: remove in v7 (deprecated in v6)\n textColor = 'primary',\n value,\n variant = 'standard',\n visibleScrollbar = false,\n ...other\n } = props;\n const scrollable = variant === 'scrollable';\n const vertical = orientation === 'vertical';\n const scrollStart = vertical ? 'scrollTop' : 'scrollLeft';\n const start = vertical ? 'top' : 'left';\n const end = vertical ? 'bottom' : 'right';\n const clientSize = vertical ? 'clientHeight' : 'clientWidth';\n const size = vertical ? 'height' : 'width';\n const ownerState = {\n ...props,\n component,\n allowScrollButtonsMobile,\n indicatorColor,\n orientation,\n vertical,\n scrollButtons,\n textColor,\n variant,\n visibleScrollbar,\n fixed: !scrollable,\n hideScrollbar: scrollable && !visibleScrollbar,\n scrollableX: scrollable && !vertical,\n scrollableY: scrollable && vertical,\n centered: centered && !scrollable,\n scrollButtonsHideMobile: !allowScrollButtonsMobile\n };\n const classes = useUtilityClasses(ownerState);\n const startScrollButtonIconProps = useSlotProps({\n elementType: slots.StartScrollButtonIcon,\n externalSlotProps: slotProps.startScrollButtonIcon,\n ownerState\n });\n const endScrollButtonIconProps = useSlotProps({\n elementType: slots.EndScrollButtonIcon,\n externalSlotProps: slotProps.endScrollButtonIcon,\n ownerState\n });\n if (process.env.NODE_ENV !== 'production') {\n if (centered && scrollable) {\n console.error('MUI: You can not use the `centered={true}` and `variant=\"scrollable\"` properties ' + 'at the same time on a `Tabs` component.');\n }\n }\n const [mounted, setMounted] = React.useState(false);\n const [indicatorStyle, setIndicatorStyle] = React.useState(defaultIndicatorStyle);\n const [displayStartScroll, setDisplayStartScroll] = React.useState(false);\n const [displayEndScroll, setDisplayEndScroll] = React.useState(false);\n const [updateScrollObserver, setUpdateScrollObserver] = React.useState(false);\n const [scrollerStyle, setScrollerStyle] = React.useState({\n overflow: 'hidden',\n scrollbarWidth: 0\n });\n const valueToIndex = new Map();\n const tabsRef = React.useRef(null);\n const tabListRef = React.useRef(null);\n const externalForwardedProps = {\n slots,\n slotProps: {\n indicator: TabIndicatorProps,\n scrollButtons: TabScrollButtonProps,\n ...slotProps\n }\n };\n const getTabsMeta = () => {\n const tabsNode = tabsRef.current;\n let tabsMeta;\n if (tabsNode) {\n const rect = tabsNode.getBoundingClientRect();\n // create a new object with ClientRect class props + scrollLeft\n tabsMeta = {\n clientWidth: tabsNode.clientWidth,\n scrollLeft: tabsNode.scrollLeft,\n scrollTop: tabsNode.scrollTop,\n scrollWidth: tabsNode.scrollWidth,\n top: rect.top,\n bottom: rect.bottom,\n left: rect.left,\n right: rect.right\n };\n }\n let tabMeta;\n if (tabsNode && value !== false) {\n const children = tabListRef.current.children;\n if (children.length > 0) {\n const tab = children[valueToIndex.get(value)];\n if (process.env.NODE_ENV !== 'production') {\n if (!tab) {\n console.error([`MUI: The \\`value\\` provided to the Tabs component is invalid.`, `None of the Tabs' children match with \"${value}\".`, valueToIndex.keys ? `You can provide one of the following values: ${Array.from(valueToIndex.keys()).join(', ')}.` : null].join('\\n'));\n }\n }\n tabMeta = tab ? tab.getBoundingClientRect() : null;\n if (process.env.NODE_ENV !== 'production') {\n if (isLayoutSupported() && !warnedOnceTabPresent && tabMeta && tabMeta.width === 0 && tabMeta.height === 0 &&\n // if the whole Tabs component is hidden, don't warn\n tabsMeta.clientWidth !== 0) {\n tabsMeta = null;\n console.error(['MUI: The `value` provided to the Tabs component is invalid.', `The Tab with this \\`value\\` (\"${value}\") is not part of the document layout.`, \"Make sure the tab item is present in the document or that it's not `display: none`.\"].join('\\n'));\n warnedOnceTabPresent = true;\n }\n }\n }\n }\n return {\n tabsMeta,\n tabMeta\n };\n };\n const updateIndicatorState = useEventCallback(() => {\n const {\n tabsMeta,\n tabMeta\n } = getTabsMeta();\n let startValue = 0;\n let startIndicator;\n if (vertical) {\n startIndicator = 'top';\n if (tabMeta && tabsMeta) {\n startValue = tabMeta.top - tabsMeta.top + tabsMeta.scrollTop;\n }\n } else {\n startIndicator = isRtl ? 'right' : 'left';\n if (tabMeta && tabsMeta) {\n startValue = (isRtl ? -1 : 1) * (tabMeta[startIndicator] - tabsMeta[startIndicator] + tabsMeta.scrollLeft);\n }\n }\n const newIndicatorStyle = {\n [startIndicator]: startValue,\n // May be wrong until the font is loaded.\n [size]: tabMeta ? tabMeta[size] : 0\n };\n if (typeof indicatorStyle[startIndicator] !== 'number' || typeof indicatorStyle[size] !== 'number') {\n setIndicatorStyle(newIndicatorStyle);\n } else {\n const dStart = Math.abs(indicatorStyle[startIndicator] - newIndicatorStyle[startIndicator]);\n const dSize = Math.abs(indicatorStyle[size] - newIndicatorStyle[size]);\n if (dStart >= 1 || dSize >= 1) {\n setIndicatorStyle(newIndicatorStyle);\n }\n }\n });\n const scroll = (scrollValue, {\n animation = true\n } = {}) => {\n if (animation) {\n animate(scrollStart, tabsRef.current, scrollValue, {\n duration: theme.transitions.duration.standard\n });\n } else {\n tabsRef.current[scrollStart] = scrollValue;\n }\n };\n const moveTabsScroll = delta => {\n let scrollValue = tabsRef.current[scrollStart];\n if (vertical) {\n scrollValue += delta;\n } else {\n scrollValue += delta * (isRtl ? -1 : 1);\n }\n scroll(scrollValue);\n };\n const getScrollSize = () => {\n const containerSize = tabsRef.current[clientSize];\n let totalSize = 0;\n const children = Array.from(tabListRef.current.children);\n for (let i = 0; i < children.length; i += 1) {\n const tab = children[i];\n if (totalSize + tab[clientSize] > containerSize) {\n // If the first item is longer than the container size, then only scroll\n // by the container size.\n if (i === 0) {\n totalSize = containerSize;\n }\n break;\n }\n totalSize += tab[clientSize];\n }\n return totalSize;\n };\n const handleStartScrollClick = () => {\n moveTabsScroll(-1 * getScrollSize());\n };\n const handleEndScrollClick = () => {\n moveTabsScroll(getScrollSize());\n };\n const [ScrollbarSlot, {\n onChange: scrollbarOnChange,\n ...scrollbarSlotProps\n }] = useSlot('scrollbar', {\n className: clsx(classes.scrollableX, classes.hideScrollbar),\n elementType: TabsScrollbarSize,\n shouldForwardComponentProp: true,\n externalForwardedProps,\n ownerState\n });\n\n // TODO Remove <ScrollbarSize /> as browser support for hiding the scrollbar\n // with CSS improves.\n const handleScrollbarSizeChange = React.useCallback(scrollbarWidth => {\n scrollbarOnChange?.(scrollbarWidth);\n setScrollerStyle({\n overflow: null,\n scrollbarWidth\n });\n }, [scrollbarOnChange]);\n const [ScrollButtonsSlot, scrollButtonSlotProps] = useSlot('scrollButtons', {\n className: clsx(classes.scrollButtons, TabScrollButtonProps.className),\n elementType: TabScrollButton,\n externalForwardedProps,\n ownerState,\n additionalProps: {\n orientation,\n slots: {\n StartScrollButtonIcon: slots.startScrollButtonIcon || slots.StartScrollButtonIcon,\n EndScrollButtonIcon: slots.endScrollButtonIcon || slots.EndScrollButtonIcon\n },\n slotProps: {\n startScrollButtonIcon: startScrollButtonIconProps,\n endScrollButtonIcon: endScrollButtonIconProps\n }\n }\n });\n const getConditionalElements = () => {\n const conditionalElements = {};\n conditionalElements.scrollbarSizeListener = scrollable ? /*#__PURE__*/_jsx(ScrollbarSlot, {\n ...scrollbarSlotProps,\n onChange: handleScrollbarSizeChange\n }) : null;\n const scrollButtonsActive = displayStartScroll || displayEndScroll;\n const showScrollButtons = scrollable && (scrollButtons === 'auto' && scrollButtonsActive || scrollButtons === true);\n conditionalElements.scrollButtonStart = showScrollButtons ? /*#__PURE__*/_jsx(ScrollButtonsSlot, {\n direction: isRtl ? 'right' : 'left',\n onClick: handleStartScrollClick,\n disabled: !displayStartScroll,\n ...scrollButtonSlotProps\n }) : null;\n conditionalElements.scrollButtonEnd = showScrollButtons ? /*#__PURE__*/_jsx(ScrollButtonsSlot, {\n direction: isRtl ? 'left' : 'right',\n onClick: handleEndScrollClick,\n disabled: !displayEndScroll,\n ...scrollButtonSlotProps\n }) : null;\n return conditionalElements;\n };\n const scrollSelectedIntoView = useEventCallback(animation => {\n const {\n tabsMeta,\n tabMeta\n } = getTabsMeta();\n if (!tabMeta || !tabsMeta) {\n return;\n }\n if (tabMeta[start] < tabsMeta[start]) {\n // left side of button is out of view\n const nextScrollStart = tabsMeta[scrollStart] + (tabMeta[start] - tabsMeta[start]);\n scroll(nextScrollStart, {\n animation\n });\n } else if (tabMeta[end] > tabsMeta[end]) {\n // right side of button is out of view\n const nextScrollStart = tabsMeta[scrollStart] + (tabMeta[end] - tabsMeta[end]);\n scroll(nextScrollStart, {\n animation\n });\n }\n });\n const updateScrollButtonState = useEventCallback(() => {\n if (scrollable && scrollButtons !== false) {\n setUpdateScrollObserver(!updateScrollObserver);\n }\n });\n React.useEffect(() => {\n const handleResize = debounce(() => {\n // If the Tabs component is replaced by Suspense with a fallback, the last\n // ResizeObserver's handler that runs because of the change in the layout is trying to\n // access a dom node that is no longer there (as the fallback component is being shown instead).\n // See https://github.com/mui/material-ui/issues/33276\n // TODO: Add tests that will ensure the component is not failing when\n // replaced by Suspense with a fallback, once React is updated to version 18\n if (tabsRef.current) {\n updateIndicatorState();\n }\n });\n let resizeObserver;\n\n /**\n * @type {MutationCallback}\n */\n const handleMutation = records => {\n records.forEach(record => {\n record.removedNodes.forEach(item => {\n resizeObserver?.unobserve(item);\n });\n record.addedNodes.forEach(item => {\n resizeObserver?.observe(item);\n });\n });\n handleResize();\n updateScrollButtonState();\n };\n const win = ownerWindow(tabsRef.current);\n win.addEventListener('resize', handleResize);\n let mutationObserver;\n if (typeof ResizeObserver !== 'undefined') {\n resizeObserver = new ResizeObserver(handleResize);\n Array.from(tabListRef.current.children).forEach(child => {\n resizeObserver.observe(child);\n });\n }\n if (typeof MutationObserver !== 'undefined') {\n mutationObserver = new MutationObserver(handleMutation);\n mutationObserver.observe(tabListRef.current, {\n childList: true\n });\n }\n return () => {\n handleResize.clear();\n win.removeEventListener('resize', handleResize);\n mutationObserver?.disconnect();\n resizeObserver?.disconnect();\n };\n }, [updateIndicatorState, updateScrollButtonState]);\n\n /**\n * Toggle visibility of start and end scroll buttons\n * Using IntersectionObserver on first and last Tabs.\n */\n React.useEffect(() => {\n const tabListChildren = Array.from(tabListRef.current.children);\n const length = tabListChildren.length;\n if (typeof IntersectionObserver !== 'undefined' && length > 0 && scrollable && scrollButtons !== false) {\n const firstTab = tabListChildren[0];\n const lastTab = tabListChildren[length - 1];\n const observerOptions = {\n root: tabsRef.current,\n threshold: 0.99\n };\n const handleScrollButtonStart = entries => {\n setDisplayStartScroll(!entries[0].isIntersecting);\n };\n const firstObserver = new IntersectionObserver(handleScrollButtonStart, observerOptions);\n firstObserver.observe(firstTab);\n const handleScrollButtonEnd = entries => {\n setDisplayEndScroll(!entries[0].isIntersecting);\n };\n const lastObserver = new IntersectionObserver(handleScrollButtonEnd, observerOptions);\n lastObserver.observe(lastTab);\n return () => {\n firstObserver.disconnect();\n lastObserver.disconnect();\n };\n }\n return undefined;\n }, [scrollable, scrollButtons, updateScrollObserver, childrenProp?.length]);\n React.useEffect(() => {\n setMounted(true);\n }, []);\n React.useEffect(() => {\n updateIndicatorState();\n });\n React.useEffect(() => {\n // Don't animate on the first render.\n scrollSelectedIntoView(defaultIndicatorStyle !== indicatorStyle);\n }, [scrollSelectedIntoView, indicatorStyle]);\n React.useImperativeHandle(action, () => ({\n updateIndicator: updateIndicatorState,\n updateScrollButtons: updateScrollButtonState\n }), [updateIndicatorState, updateScrollButtonState]);\n const [IndicatorSlot, indicatorSlotProps] = useSlot('indicator', {\n className: clsx(classes.indicator, TabIndicatorProps.className),\n elementType: TabsIndicator,\n externalForwardedProps,\n ownerState,\n additionalProps: {\n style: indicatorStyle\n }\n });\n const indicator = /*#__PURE__*/_jsx(IndicatorSlot, {\n ...indicatorSlotProps\n });\n let childIndex = 0;\n const children = React.Children.map(childrenProp, child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (isFragment(child)) {\n console.error([\"MUI: The Tabs component doesn't accept a Fragment as a child.\", 'Consider providing an array instead.'].join('\\n'));\n }\n }\n const childValue = child.props.value === undefined ? childIndex : child.props.value;\n valueToIndex.set(childValue, childIndex);\n const selected = childValue === value;\n childIndex += 1;\n return /*#__PURE__*/React.cloneElement(child, {\n fullWidth: variant === 'fullWidth',\n indicator: selected && !mounted && indicator,\n selected,\n selectionFollowsFocus,\n onChange,\n textColor,\n value: childValue,\n ...(childIndex === 1 && value === false && !child.props.tabIndex ? {\n tabIndex: 0\n } : {})\n });\n });\n const handleKeyDown = event => {\n // Check if a modifier key (Alt, Shift, Ctrl, Meta) is pressed\n if (event.altKey || event.shiftKey || event.ctrlKey || event.metaKey) {\n return;\n }\n const list = tabListRef.current;\n const currentFocus = getActiveElement(ownerDocument(list));\n // Keyboard navigation assumes that [role=\"tab\"] are siblings\n // though we might warn in the future about nested, interactive elements\n // as a a11y violation\n const role = currentFocus?.getAttribute('role');\n if (role !== 'tab') {\n return;\n }\n let previousItemKey = orientation === 'horizontal' ? 'ArrowLeft' : 'ArrowUp';\n let nextItemKey = orientation === 'horizontal' ? 'ArrowRight' : 'ArrowDown';\n if (orientation === 'horizontal' && isRtl) {\n // swap previousItemKey with nextItemKey\n previousItemKey = 'ArrowRight';\n nextItemKey = 'ArrowLeft';\n }\n switch (event.key) {\n case previousItemKey:\n event.preventDefault();\n moveFocus(list, currentFocus, previousItem);\n break;\n case nextItemKey:\n event.preventDefault();\n moveFocus(list, currentFocus, nextItem);\n break;\n case 'Home':\n event.preventDefault();\n moveFocus(list, null, nextItem);\n break;\n case 'End':\n event.preventDefault();\n moveFocus(list, null, previousItem);\n break;\n default:\n break;\n }\n };\n const conditionalElements = getConditionalElements();\n const [RootSlot, rootSlotProps] = useSlot('root', {\n ref,\n className: clsx(classes.root, className),\n elementType: TabsRoot,\n externalForwardedProps: {\n ...externalForwardedProps,\n ...other,\n component\n },\n ownerState\n });\n const [ScrollerSlot, scrollerSlotProps] = useSlot('scroller', {\n ref: tabsRef,\n className: classes.scroller,\n elementType: TabsScroller,\n externalForwardedProps,\n ownerState,\n additionalProps: {\n style: {\n overflow: scrollerStyle.overflow,\n [vertical ? `margin${isRtl ? 'Left' : 'Right'}` : 'marginBottom']: visibleScrollbar ? undefined : -scrollerStyle.scrollbarWidth\n }\n }\n });\n const [ListSlot, listSlotProps] = useSlot('list', {\n ref: tabListRef,\n className: clsx(classes.list, classes.flexContainer),\n elementType: List,\n externalForwardedProps,\n ownerState,\n getSlotProps: handlers => ({\n ...handlers,\n onKeyDown: event => {\n handleKeyDown(event);\n handlers.onKeyDown?.(event);\n }\n })\n });\n return /*#__PURE__*/_jsxs(RootSlot, {\n ...rootSlotProps,\n children: [conditionalElements.scrollButtonStart, conditionalElements.scrollbarSizeListener, /*#__PURE__*/_jsxs(ScrollerSlot, {\n ...scrollerSlotProps,\n children: [/*#__PURE__*/_jsx(ListSlot, {\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-orientation\": orientation === 'vertical' ? 'vertical' : null,\n role: \"tablist\",\n ...listSlotProps,\n children: children\n }), mounted && indicator]\n }), conditionalElements.scrollButtonEnd]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Tabs.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Callback fired when the component mounts.\n * This is useful when you want to trigger an action programmatically.\n * It supports two actions: `updateIndicator()` and `updateScrollButtons()`\n *\n * @param {object} actions This object contains all possible actions\n * that can be triggered programmatically.\n */\n action: refType,\n /**\n * If `true`, the scroll buttons aren't forced hidden on mobile.\n * By default the scroll buttons are hidden on mobile and takes precedence over `scrollButtons`.\n * @default false\n */\n allowScrollButtonsMobile: PropTypes.bool,\n /**\n * The label for the Tabs as a string.\n */\n 'aria-label': PropTypes.string,\n /**\n * An id or list of ids separated by a space that label the Tabs.\n */\n 'aria-labelledby': PropTypes.string,\n /**\n * If `true`, the tabs are centered.\n * This prop is intended for large views.\n * @default false\n */\n centered: PropTypes.bool,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Determines the color of the indicator.\n * @default 'primary'\n */\n indicatorColor: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary']), PropTypes.string]),\n /**\n * Callback fired when the value changes.\n *\n * @param {React.SyntheticEvent} event The event source of the callback. **Warning**: This is a generic event not a change event.\n * @param {any} value We default to the index of the child (number)\n */\n onChange: PropTypes.func,\n /**\n * The component orientation (layout flow direction).\n * @default 'horizontal'\n */\n orientation: PropTypes.oneOf(['horizontal', 'vertical']),\n /**\n * The component used to render the scroll buttons.\n * @deprecated use the `slots.scrollButtons` prop instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n * @default TabScrollButton\n */\n ScrollButtonComponent: PropTypes.elementType,\n /**\n * Determine behavior of scroll buttons when tabs are set to scroll:\n *\n * - `auto` will only present them when not all the items are visible.\n * - `true` will always present them.\n * - `false` will never present them.\n *\n * By default the scroll buttons are hidden on mobile.\n * This behavior can be disabled with `allowScrollButtonsMobile`.\n * @default 'auto'\n */\n scrollButtons: PropTypes /* @typescript-to-proptypes-ignore */.oneOf(['auto', false, true]),\n /**\n * If `true` the selected tab changes on focus. Otherwise it only\n * changes on activation.\n */\n selectionFollowsFocus: PropTypes.bool,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n endScrollButtonIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n indicator: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n list: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n scrollbar: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n scrollButtons: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n scroller: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n startScrollButtonIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n endScrollButtonIcon: PropTypes.elementType,\n EndScrollButtonIcon: PropTypes.elementType,\n indicator: PropTypes.elementType,\n list: PropTypes.elementType,\n root: PropTypes.elementType,\n scrollbar: PropTypes.elementType,\n scrollButtons: PropTypes.elementType,\n scroller: PropTypes.elementType,\n startScrollButtonIcon: PropTypes.elementType,\n StartScrollButtonIcon: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Props applied to the tab indicator element.\n * @deprecated use the `slotProps.indicator` prop instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n * @default {}\n */\n TabIndicatorProps: PropTypes.object,\n /**\n * Props applied to the [`TabScrollButton`](https://mui.com/material-ui/api/tab-scroll-button/) element.\n * @deprecated use the `slotProps.scrollButtons` prop instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n * @default {}\n */\n TabScrollButtonProps: PropTypes.object,\n /**\n * Determines the color of the `Tab`.\n * @default 'primary'\n */\n textColor: PropTypes.oneOf(['inherit', 'primary', 'secondary']),\n /**\n * The value of the currently selected `Tab`.\n * If you don't want any selected `Tab`, you can set this prop to `false`.\n */\n value: PropTypes.any,\n /**\n * Determines additional display behavior of the tabs:\n *\n * - `scrollable` will invoke scrolling properties and allow for horizontally\n * scrolling (or swiping) of the tab bar.\n * - `fullWidth` will make the tabs grow to use all the available space,\n * which should be used for small views, like on mobile.\n * - `standard` will render the default state.\n * @default 'standard'\n */\n variant: PropTypes.oneOf(['fullWidth', 'scrollable', 'standard']),\n /**\n * If `true`, the scrollbar is visible. It can be useful when displaying\n * a long vertical list of tabs.\n * @default false\n */\n visibleScrollbar: PropTypes.bool\n} : void 0;\nexport default Tabs;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTabUtilityClass(slot) {\n return generateUtilityClass('MuiTab', slot);\n}\nconst tabClasses = generateUtilityClasses('MuiTab', ['root', 'labelIcon', 'textColorInherit', 'textColorPrimary', 'textColorSecondary', 'selected', 'disabled', 'fullWidth', 'wrapped', 'iconWrapper', 'icon']);\nexport default tabClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport ButtonBase from \"../ButtonBase/index.js\";\nimport capitalize from \"../utils/capitalize.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport unsupportedProp from \"../utils/unsupportedProp.js\";\nimport tabClasses, { getTabUtilityClass } from \"./tabClasses.js\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n textColor,\n fullWidth,\n wrapped,\n icon,\n label,\n selected,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', icon && label && 'labelIcon', `textColor${capitalize(textColor)}`, fullWidth && 'fullWidth', wrapped && 'wrapped', selected && 'selected', disabled && 'disabled'],\n icon: ['iconWrapper', 'icon']\n };\n return composeClasses(slots, getTabUtilityClass, classes);\n};\nconst TabRoot = styled(ButtonBase, {\n name: 'MuiTab',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.label && ownerState.icon && styles.labelIcon, styles[`textColor${capitalize(ownerState.textColor)}`], ownerState.fullWidth && styles.fullWidth, ownerState.wrapped && styles.wrapped, {\n [`& .${tabClasses.iconWrapper}`]: styles.iconWrapper\n }, {\n [`& .${tabClasses.icon}`]: styles.icon\n }];\n }\n})(memoTheme(({\n theme\n}) => ({\n ...theme.typography.button,\n maxWidth: 360,\n minWidth: 90,\n position: 'relative',\n minHeight: 48,\n flexShrink: 0,\n padding: '12px 16px',\n overflow: 'hidden',\n whiteSpace: 'normal',\n textAlign: 'center',\n lineHeight: 1.25,\n variants: [{\n props: ({\n ownerState\n }) => ownerState.label && (ownerState.iconPosition === 'top' || ownerState.iconPosition === 'bottom'),\n style: {\n flexDirection: 'column'\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.label && ownerState.iconPosition !== 'top' && ownerState.iconPosition !== 'bottom',\n style: {\n flexDirection: 'row'\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.icon && ownerState.label,\n style: {\n minHeight: 72,\n paddingTop: 9,\n paddingBottom: 9\n }\n }, {\n props: ({\n ownerState,\n iconPosition\n }) => ownerState.icon && ownerState.label && iconPosition === 'top',\n style: {\n [`& > .${tabClasses.icon}`]: {\n marginBottom: 6\n }\n }\n }, {\n props: ({\n ownerState,\n iconPosition\n }) => ownerState.icon && ownerState.label && iconPosition === 'bottom',\n style: {\n [`& > .${tabClasses.icon}`]: {\n marginTop: 6\n }\n }\n }, {\n props: ({\n ownerState,\n iconPosition\n }) => ownerState.icon && ownerState.label && iconPosition === 'start',\n style: {\n [`& > .${tabClasses.icon}`]: {\n marginRight: theme.spacing(1)\n }\n }\n }, {\n props: ({\n ownerState,\n iconPosition\n }) => ownerState.icon && ownerState.label && iconPosition === 'end',\n style: {\n [`& > .${tabClasses.icon}`]: {\n marginLeft: theme.spacing(1)\n }\n }\n }, {\n props: {\n textColor: 'inherit'\n },\n style: {\n color: 'inherit',\n opacity: 0.6,\n // same opacity as theme.palette.text.secondary\n [`&.${tabClasses.selected}`]: {\n opacity: 1\n },\n [`&.${tabClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity\n }\n }\n }, {\n props: {\n textColor: 'primary'\n },\n style: {\n color: (theme.vars || theme).palette.text.secondary,\n [`&.${tabClasses.selected}`]: {\n color: (theme.vars || theme).palette.primary.main\n },\n [`&.${tabClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n }\n }\n }, {\n props: {\n textColor: 'secondary'\n },\n style: {\n color: (theme.vars || theme).palette.text.secondary,\n [`&.${tabClasses.selected}`]: {\n color: (theme.vars || theme).palette.secondary.main\n },\n [`&.${tabClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.fullWidth,\n style: {\n flexShrink: 1,\n flexGrow: 1,\n flexBasis: 0,\n maxWidth: 'none'\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.wrapped,\n style: {\n fontSize: theme.typography.pxToRem(12)\n }\n }]\n})));\nconst Tab = /*#__PURE__*/React.forwardRef(function Tab(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiTab'\n });\n const {\n className,\n disabled = false,\n disableFocusRipple = false,\n // eslint-disable-next-line react/prop-types\n fullWidth,\n icon: iconProp,\n iconPosition = 'top',\n // eslint-disable-next-line react/prop-types\n indicator,\n label,\n onChange,\n onClick,\n onFocus,\n // eslint-disable-next-line react/prop-types\n selected,\n // eslint-disable-next-line react/prop-types\n selectionFollowsFocus,\n // eslint-disable-next-line react/prop-types\n textColor = 'inherit',\n value,\n wrapped = false,\n ...other\n } = props;\n const ownerState = {\n ...props,\n disabled,\n disableFocusRipple,\n selected,\n icon: !!iconProp,\n iconPosition,\n label: !!label,\n fullWidth,\n textColor,\n wrapped\n };\n const classes = useUtilityClasses(ownerState);\n const icon = iconProp && label && /*#__PURE__*/React.isValidElement(iconProp) ? /*#__PURE__*/React.cloneElement(iconProp, {\n className: clsx(classes.icon, iconProp.props.className)\n }) : iconProp;\n const handleClick = event => {\n if (!selected && onChange) {\n onChange(event, value);\n }\n if (onClick) {\n onClick(event);\n }\n };\n const handleFocus = event => {\n if (selectionFollowsFocus && !selected && onChange) {\n onChange(event, value);\n }\n if (onFocus) {\n onFocus(event);\n }\n };\n return /*#__PURE__*/_jsxs(TabRoot, {\n focusRipple: !disableFocusRipple,\n className: clsx(classes.root, className),\n ref: ref,\n role: \"tab\",\n \"aria-selected\": selected,\n disabled: disabled,\n onClick: handleClick,\n onFocus: handleFocus,\n ownerState: ownerState,\n tabIndex: selected ? 0 : -1,\n ...other,\n children: [iconPosition === 'top' || iconPosition === 'start' ? /*#__PURE__*/_jsxs(React.Fragment, {\n children: [icon, label]\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [label, icon]\n }), indicator]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Tab.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * This prop isn't supported.\n * Use the `component` prop if you need to change the children structure.\n */\n children: unsupportedProp,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n *\n * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure\n * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * The icon to display.\n */\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.string]),\n /**\n * The position of the icon relative to the label.\n * @default 'top'\n */\n iconPosition: PropTypes.oneOf(['bottom', 'end', 'start', 'top']),\n /**\n * The label element.\n */\n label: PropTypes.node,\n /**\n * @ignore\n */\n onChange: PropTypes.func,\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * You can provide your own value. Otherwise, we fallback to the child position index.\n */\n value: PropTypes.any,\n /**\n * Tab labels appear in a single row.\n * They can use a second line if needed.\n * @default false\n */\n wrapped: PropTypes.bool\n} : void 0;\nexport default Tab;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport Typography from \"../Typography/index.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport { getDialogTitleUtilityClass } from \"./dialogTitleClasses.js\";\nimport DialogContext from \"../Dialog/DialogContext.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getDialogTitleUtilityClass, classes);\n};\nconst DialogTitleRoot = styled(Typography, {\n name: 'MuiDialogTitle',\n slot: 'Root'\n})({\n padding: '16px 24px',\n flex: '0 0 auto'\n});\nconst DialogTitle = /*#__PURE__*/React.forwardRef(function DialogTitle(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiDialogTitle'\n });\n const {\n className,\n id: idProp,\n ...other\n } = props;\n const ownerState = props;\n const classes = useUtilityClasses(ownerState);\n const {\n titleId = idProp\n } = React.useContext(DialogContext);\n return /*#__PURE__*/_jsx(DialogTitleRoot, {\n component: \"h2\",\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref,\n variant: \"h6\",\n id: idProp ?? titleId,\n ...other\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogTitle.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * @ignore\n */\n id: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default DialogTitle;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getDialogContentTextUtilityClass(slot) {\n return generateUtilityClass('MuiDialogContentText', slot);\n}\nconst dialogContentTextClasses = generateUtilityClasses('MuiDialogContentText', ['root']);\nexport default dialogContentTextClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport rootShouldForwardProp from \"../styles/rootShouldForwardProp.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport Typography from \"../Typography/index.js\";\nimport { getDialogContentTextUtilityClass } from \"./dialogContentTextClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n const composedClasses = composeClasses(slots, getDialogContentTextUtilityClass, classes);\n return {\n ...classes,\n // forward classes to the Typography\n ...composedClasses\n };\n};\nconst DialogContentTextRoot = styled(Typography, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiDialogContentText',\n slot: 'Root'\n})({});\nconst DialogContentText = /*#__PURE__*/React.forwardRef(function DialogContentText(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiDialogContentText'\n });\n const {\n children,\n className,\n ...ownerState\n } = props;\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogContentTextRoot, {\n component: \"p\",\n variant: \"body1\",\n color: \"textSecondary\",\n ref: ref,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ...props,\n classes: classes\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogContentText.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default DialogContentText;","import e from \"react\";\nimport { styled as t } from \"@mui/material/styles\";\nimport n from \"prop-types\";\nimport r from \"@mui/material/IconButton\";\nimport i from \"@mui/icons-material/Delete\";\nimport { Fragment as a, jsx as o, jsxs as s } from \"react/jsx-runtime\";\nimport c from \"debug\";\nimport l from \"@mui/material/DialogContent\";\nimport u from \"@mui/material/TextField\";\nimport d from \"@mui/material/DialogActions\";\nimport f from \"@mui/material/Button\";\nimport p from \"@mui/material/Dialog\";\nimport m from \"@mui/material/Tabs\";\nimport h from \"@mui/material/Tab\";\nimport g from \"@mui/material/DialogTitle\";\nimport _ from \"@mui/material/DialogContentText\";\nimport v from \"@mui/material/Typography\";\n//#region src/components/media/MediaDialog.tsx\nvar y = c(\"@pie-lib:editable-html:plugins:media:dialog\"), b = (e) => {\n\tif (!e) return !1;\n\tlet t = /^(?:https?:\\/\\/)?(?:m\\.|www\\.)?(?:youtu\\.be\\/|youtube\\.com\\/(?:embed\\/|v\\/|watch\\?v=|watch\\?.+&v=))((\\w|-){11})(?:\\S+)?$/;\n\treturn e.match(t) ? e.match(t)[1] : !1;\n}, x = (e) => e && /(http|https)?:\\/\\/(www\\.)?(player\\.)?vimeo.com\\/(?:channels\\/(?:\\w+\\/)?|groups\\/([^/]*)\\/videos\\/|)(video\\/)?(\\d+)(?:|\\/\\?)/.test(e), S = (e) => e && /^https:\\/\\/drive\\.google\\.com\\/(?:file\\/d\\/|drive\\/(?:u\\/\\d+\\/)?folders\\/|uc\\?id=)([a-zA-Z0-9_-]+)/.test(e), C = (e) => {\n\tif (!e) return !1;\n\tlet t = /^https?:\\/\\/(soundcloud\\.com|snd\\.sc)\\/(.*)$/;\n\treturn e.match(t) && e.match(t)[2];\n}, w = (e) => new Promise((t) => {\n\ttry {\n\t\tfetch(`https://soundcloud.com/oembed?format=json&url=${e}`).then((e) => e.json()).then((e) => {\n\t\t\tlet n = document.createElement(\"div\");\n\t\t\tn.innerHTML = e.html, t(n.querySelector(\"iframe\").src);\n\t\t}).catch((e) => {\n\t\t\tt(\"\"), y(e);\n\t\t});\n\t} catch {\n\t\tt(\"\");\n\t}\n}), T = {\n\tvideo: \"Video\",\n\taudio: \"Audio\"\n}, E = {\n\tuploadFile: \"upload-file\",\n\tinsertUrl: \"insert-url\"\n}, D = t(p)(({ theme: e }) => ({ \"& .MuiDialog-paper\": { minWidth: \"500px\" } })), O = t(l)(({ theme: e }) => ({ padding: 0 })), k = t(\"div\")(({ theme: e }) => ({\n\tdisplay: \"flex\",\n\tflexDirection: \"space-between\"\n})), A = t(\"div\")(({ theme: e }) => ({ marginTop: e.spacing(1.5) })), j = t(\"input\")(({ theme: e }) => ({})), M = t(v)(({ theme: e }) => ({\n\tmarginTop: e.spacing(1.5),\n\tcolor: e.palette.error.main\n})), N = t(r)(({ theme: e }) => ({ marginLeft: e.spacing(1.5) })), P = class extends e.Component {\n\tstatic propTypes = {\n\t\topen: n.bool,\n\t\tedit: n.bool,\n\t\tdisablePortal: n.bool,\n\t\thandleClose: n.func,\n\t\tuploadSoundSupport: n.shape({\n\t\t\tadd: n.func,\n\t\t\tdelete: n.func\n\t\t}),\n\t\ttype: n.string,\n\t\tsrc: n.string,\n\t\turl: n.string,\n\t\turlToUse: n.string,\n\t\tstarts: n.number,\n\t\tends: n.number,\n\t\theight: n.number,\n\t\twidth: n.number\n\t};\n\tconstructor(e) {\n\t\tsuper(e);\n\t\tlet { ends: t, height: n, src: r, starts: i, type: a, uploadSoundSupport: o, url: s, urlToUse: c, width: l } = e, u = o?.add && o?.delete && a !== \"video\" && !r;\n\t\tthis.state = {\n\t\t\tends: t || 0,\n\t\t\turl: s,\n\t\t\turlToUse: c,\n\t\t\tformattedUrl: r,\n\t\t\theight: n || 315,\n\t\t\tinvalid: !1,\n\t\t\tstarts: i || 0,\n\t\t\twidth: l || 560,\n\t\t\ttabValue: u ? E.uploadFile : E.insertUrl,\n\t\t\tfileUpload: {\n\t\t\t\terror: null,\n\t\t\t\tloading: !1,\n\t\t\t\tscheduled: !1,\n\t\t\t\turl: \"\",\n\t\t\t\tmimeType: \"\"\n\t\t\t}\n\t\t};\n\t}\n\tcomponentDidMount() {\n\t\tthis.props.url && this.urlChange({ target: { value: this.props.url } });\n\t}\n\tformatUrl = () => {\n\t\tlet { url: e, urlToUse: t, starts: n, ends: r } = this.state, i = b(e), a = x(e), o = t;\n\t\tif ((i || a) && t) {\n\t\t\tlet e = [], s, c;\n\t\t\tswitch (!0) {\n\t\t\t\tcase a:\n\t\t\t\t\ts = \"t\", c = \"#\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase i:\n\t\t\t\t\ts = \"start\", c = \"?\";\n\t\t\t\t\tbreak;\n\t\t\t\tdefault: s = \"start\", c = \"?\";\n\t\t\t}\n\t\t\tn && e.push(`${s}=${n}`), r && e.push(`end=${r}`), o = `${t}${e.length ? c : \"\"}${e.join(\"&\")}`;\n\t\t}\n\t\tthis.setState({\n\t\t\tformattedUrl: null,\n\t\t\tupdating: !0\n\t\t}, () => this.setState({\n\t\t\tformattedUrl: o,\n\t\t\tupdating: !1\n\t\t}));\n\t};\n\thandleStateChange = (e) => this.setState(e, this.formatUrl);\n\tcheckAudio = (e) => {\n\t\tC(e) && w(e).then((t) => {\n\t\t\tthis.handleStateChange({\n\t\t\t\turlToUse: t,\n\t\t\t\tinvalid: !t,\n\t\t\t\turl: e\n\t\t\t});\n\t\t}).catch(y);\n\t};\n\tcheckVideo = (e) => {\n\t\tif (b(e)) {\n\t\t\tlet t = `https://youtube.com/embed/${e.match(/^.*(youtu\\.be\\/|v\\/|u\\/\\w\\/|embed\\/|watch\\?v=|&v=)([^#&?]*).*/)[2]}`;\n\t\t\ty(\"is youtube\"), this.handleStateChange({\n\t\t\t\turlToUse: t,\n\t\t\t\turl: e,\n\t\t\t\tinvalid: !1\n\t\t\t});\n\t\t}\n\t\tif (x(e)) {\n\t\t\tlet t = `https://player.vimeo.com/video/${e.replace(/.*vimeo.com\\/(.*)/g, \"$1\")}`;\n\t\t\ty(\"is vimeo\"), this.handleStateChange({\n\t\t\t\turlToUse: t,\n\t\t\t\turl: e,\n\t\t\t\tends: null,\n\t\t\t\tinvalid: !1\n\t\t\t});\n\t\t}\n\t\tif (S(e)) {\n\t\t\tlet t = `https://drive.google.com/file/d/${e.replace(/^https:\\/\\/drive\\.google\\.com\\/(?:file\\/d\\/|drive\\/(?:u\\/\\d+\\/)?folders\\/|uc\\?id=)([a-zA-Z0-9_-]+)\\/.*/, \"$1\")}/preview`;\n\t\t\ty(\"is google drive\"), this.handleStateChange({\n\t\t\t\turlToUse: t,\n\t\t\t\turl: e,\n\t\t\t\tends: null,\n\t\t\t\tinvalid: !1\n\t\t\t});\n\t\t}\n\t};\n\turlChange = (e) => {\n\t\tlet { value: t } = e.target || {}, { type: n } = this.props;\n\t\tif (n && n === \"audio\") {\n\t\t\tthis.checkAudio(t);\n\t\t\treturn;\n\t\t} else if (n && n === \"video\") {\n\t\t\tthis.checkVideo(t);\n\t\t\treturn;\n\t\t}\n\t\tthis.handleStateChange({\n\t\t\turlToUse: null,\n\t\t\turl: null,\n\t\t\tinvalid: !0\n\t\t});\n\t};\n\tchangeHandler = (e) => (t) => this.handleStateChange({ [e]: t.target.value });\n\thandleDone = (e) => {\n\t\tlet { handleClose: t } = this.props, { tabValue: n, fileUpload: r } = this.state, i = n === E.insertUrl;\n\t\tif (!e) {\n\t\t\tr.url && this.handleRemoveFile(), t(e);\n\t\t\treturn;\n\t\t}\n\t\tif (i) {\n\t\t\tlet { ends: n, height: r, url: i, urlToUse: a, formattedUrl: o, starts: s, width: c } = this.state;\n\t\t\tt(e, {\n\t\t\t\ttag: \"iframe\",\n\t\t\t\tends: n,\n\t\t\t\theight: r,\n\t\t\t\tstarts: s,\n\t\t\t\twidth: c,\n\t\t\t\turl: i,\n\t\t\t\turlToUse: a,\n\t\t\t\tsrc: o\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tif (!r.loading) {\n\t\t\tt(e, {\n\t\t\t\ttag: \"audio\",\n\t\t\t\tsrc: r.url\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tthis.setState({ fileUpload: {\n\t\t\t...r,\n\t\t\tscheduled: !0\n\t\t} });\n\t};\n\thandleUploadFile = async (e) => {\n\t\te.preventDefault(), this.setState({ fileUpload: {\n\t\t\t...this.state.fileUpload,\n\t\t\terror: null,\n\t\t\tloading: !0\n\t\t} });\n\t\tlet t = e.target.files[0], n = new FileReader();\n\t\tn.onload = () => {\n\t\t\tlet e = n.result;\n\t\t\tthis.setState({ fileUpload: {\n\t\t\t\t...this.state.fileUpload,\n\t\t\t\turl: e,\n\t\t\t\tmimeType: t.type\n\t\t\t} });\n\t\t}, n.readAsDataURL(t), this.props.uploadSoundSupport.add({\n\t\t\tfileChosen: t,\n\t\t\tdone: (e, t) => {\n\t\t\t\tif (y(\"done: err:\", e), e) {\n\t\t\t\t\tconsole.log(e), this.setState({ fileUpload: {\n\t\t\t\t\t\t...this.state.fileUpload,\n\t\t\t\t\t\tscheduled: !1,\n\t\t\t\t\t\tloading: !1,\n\t\t\t\t\t\terror: e\n\t\t\t\t\t} });\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tlet { fileUpload: n } = this.state, r = n && n.scheduled ? this.handleDone.bind(this, !0) : void 0;\n\t\t\t\tthis.setState({ fileUpload: {\n\t\t\t\t\t...n,\n\t\t\t\t\tscheduled: !1,\n\t\t\t\t\tloading: !1,\n\t\t\t\t\turl: t\n\t\t\t\t} }, r);\n\t\t\t}\n\t\t});\n\t};\n\thandleRemoveFile = async () => {\n\t\tthis.props.uploadSoundSupport.delete(this.state.fileUpload.url, (e) => {\n\t\t\te && (console.log(e), this.setState({ fileUpload: {\n\t\t\t\t...this.state.fileUpload,\n\t\t\t\terror: e\n\t\t\t} }));\n\t\t}), this.setState({ fileUpload: {\n\t\t\t...this.state.fileUpload,\n\t\t\tloading: !1,\n\t\t\turl: \"\",\n\t\t\tmimeType: \"\"\n\t\t} });\n\t};\n\trender() {\n\t\tlet { open: t, disablePortal: n, type: r, edit: c, uploadSoundSupport: p } = this.props, { ends: y, height: x, invalid: S, starts: C, width: w, url: P, mimeType: F, formattedUrl: I, updating: L, tabValue: R, fileUpload: z } = this.state, B = b(P), V = R === E.insertUrl, H = R === E.uploadFile, U = V ? S || P == null : !z.url || z.scheduled, W = p?.add && p?.delete && r !== \"video\";\n\t\treturn /* @__PURE__ */ s(D, {\n\t\t\tdisablePortal: n,\n\t\t\topen: t,\n\t\t\tonClose: () => this.handleDone(!1),\n\t\t\t\"aria-labelledby\": \"form-dialog-title\",\n\t\t\tchildren: [\n\t\t\t\t/* @__PURE__ */ s(g, {\n\t\t\t\t\tid: \"form-dialog-title\",\n\t\t\t\t\tchildren: [\"Insert \", T[r]]\n\t\t\t\t}),\n\t\t\t\t/* @__PURE__ */ o(l, { children: /* @__PURE__ */ s(\"div\", { children: [\n\t\t\t\t\t/* @__PURE__ */ o(k, { children: /* @__PURE__ */ s(m, {\n\t\t\t\t\t\tindicatorColor: \"primary\",\n\t\t\t\t\t\tvalue: R,\n\t\t\t\t\t\tonChange: (e, t) => {\n\t\t\t\t\t\t\tthis.setState({ tabValue: t });\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: [W ? /* @__PURE__ */ o(h, {\n\t\t\t\t\t\t\tvalue: E.uploadFile,\n\t\t\t\t\t\t\tlabel: \"Upload file\"\n\t\t\t\t\t\t}) : null, /* @__PURE__ */ o(h, {\n\t\t\t\t\t\t\tvalue: E.insertUrl,\n\t\t\t\t\t\t\tlabel: r === \"video\" ? \"Insert YouTube, Vimeo, or Google Drive URL\" : \"Insert SoundCloud URL\"\n\t\t\t\t\t\t})]\n\t\t\t\t\t}) }),\n\t\t\t\t\tV && /* @__PURE__ */ s(\"div\", { children: [\n\t\t\t\t\t\t/* @__PURE__ */ o(u, {\n\t\t\t\t\t\t\tautoFocus: !0,\n\t\t\t\t\t\t\terror: S,\n\t\t\t\t\t\t\thelperText: S ? \"Invalid URL\" : \"\",\n\t\t\t\t\t\t\tmargin: \"dense\",\n\t\t\t\t\t\t\tid: \"name\",\n\t\t\t\t\t\t\tlabel: \"URL\",\n\t\t\t\t\t\t\tplaceholder: `Paste URL of ${r}...`,\n\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\tonChange: this.urlChange,\n\t\t\t\t\t\t\tvalue: P,\n\t\t\t\t\t\t\tfullWidth: !0\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tr === \"video\" && /* @__PURE__ */ s(O, { children: [\n\t\t\t\t\t\t\t/* @__PURE__ */ o(_, { children: \"Video Properties\" }),\n\t\t\t\t\t\t\t/* @__PURE__ */ o(u, {\n\t\t\t\t\t\t\t\tautoFocus: !0,\n\t\t\t\t\t\t\t\tmargin: \"dense\",\n\t\t\t\t\t\t\t\tid: \"width\",\n\t\t\t\t\t\t\t\tlabel: \"Width\",\n\t\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t\t\tplaceholder: \"Width\",\n\t\t\t\t\t\t\t\tvalue: w,\n\t\t\t\t\t\t\t\tonChange: this.changeHandler(\"width\")\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t/* @__PURE__ */ o(u, {\n\t\t\t\t\t\t\t\tautoFocus: !0,\n\t\t\t\t\t\t\t\tmargin: \"dense\",\n\t\t\t\t\t\t\t\tid: \"height\",\n\t\t\t\t\t\t\t\tlabel: \"Height\",\n\t\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t\t\tplaceholder: \"Height\",\n\t\t\t\t\t\t\t\tvalue: x,\n\t\t\t\t\t\t\t\tonChange: this.changeHandler(\"height\")\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t] }),\n\t\t\t\t\t\tI && /* @__PURE__ */ o(\"iframe\", {\n\t\t\t\t\t\t\twidth: w,\n\t\t\t\t\t\t\theight: x,\n\t\t\t\t\t\t\tsrc: I,\n\t\t\t\t\t\t\tframeBorder: \"0\",\n\t\t\t\t\t\t\tallow: \"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\",\n\t\t\t\t\t\t\tallowFullScreen: !0\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tr === \"video\" && (I || L) && !S && /* @__PURE__ */ o(e.Fragment, { children: /* @__PURE__ */ s(O, { children: [/* @__PURE__ */ o(u, {\n\t\t\t\t\t\t\tautoFocus: !0,\n\t\t\t\t\t\t\tmargin: \"dense\",\n\t\t\t\t\t\t\tid: \"starts\",\n\t\t\t\t\t\t\tlabel: \"Starts\",\n\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t\tplaceholder: \"Starts\",\n\t\t\t\t\t\t\tvalue: C,\n\t\t\t\t\t\t\tonChange: this.changeHandler(\"starts\")\n\t\t\t\t\t\t}), B && /* @__PURE__ */ o(u, {\n\t\t\t\t\t\t\tautoFocus: !0,\n\t\t\t\t\t\t\tmargin: \"dense\",\n\t\t\t\t\t\t\tid: \"ends\",\n\t\t\t\t\t\t\tlabel: \"Ends\",\n\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t\tplaceholder: \"Ends\",\n\t\t\t\t\t\t\tvalue: y,\n\t\t\t\t\t\t\tonChange: this.changeHandler(\"ends\")\n\t\t\t\t\t\t})] }) })\n\t\t\t\t\t] }),\n\t\t\t\t\tH && /* @__PURE__ */ o(A, { children: /* @__PURE__ */ s(\"div\", { children: [z.url ? /* @__PURE__ */ s(a, { children: [\n\t\t\t\t\t\t/* @__PURE__ */ s(k, { children: [/* @__PURE__ */ o(\"audio\", {\n\t\t\t\t\t\t\tcontrols: \"controls\",\n\t\t\t\t\t\t\tcontrolsList: \"nodownload\",\n\t\t\t\t\t\t\tchildren: /* @__PURE__ */ o(\"source\", {\n\t\t\t\t\t\t\t\ttype: F,\n\t\t\t\t\t\t\t\tsrc: z.url\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}), /* @__PURE__ */ o(N, {\n\t\t\t\t\t\t\t\"aria-label\": \"delete\",\n\t\t\t\t\t\t\tonClick: this.handleRemoveFile,\n\t\t\t\t\t\t\tchildren: /* @__PURE__ */ o(i, {})\n\t\t\t\t\t\t})] }),\n\t\t\t\t\t\t!z.scheduled && z.loading ? /* @__PURE__ */ o(v, {\n\t\t\t\t\t\t\tvariant: \"subheading\",\n\t\t\t\t\t\t\tchildren: \"Loading...\"\n\t\t\t\t\t\t}) : null,\n\t\t\t\t\t\tz.scheduled ? /* @__PURE__ */ o(v, {\n\t\t\t\t\t\t\tvariant: \"subheading\",\n\t\t\t\t\t\t\tchildren: \"Waiting for Upload to finish, then inserting item...\"\n\t\t\t\t\t\t}) : null\n\t\t\t\t\t] }) : z.loading ? null : /* @__PURE__ */ o(j, {\n\t\t\t\t\t\taccept: \"audio/*\",\n\t\t\t\t\t\tonChange: this.handleUploadFile,\n\t\t\t\t\t\ttype: \"file\"\n\t\t\t\t\t}), !!z.error && /* @__PURE__ */ o(M, {\n\t\t\t\t\t\tvariant: \"caption\",\n\t\t\t\t\t\tchildren: z.error\n\t\t\t\t\t})] }) })\n\t\t\t\t] }) }),\n\t\t\t\t/* @__PURE__ */ s(d, { children: [/* @__PURE__ */ o(f, {\n\t\t\t\t\tonClick: () => this.handleDone(!1),\n\t\t\t\t\tcolor: \"primary\",\n\t\t\t\t\tchildren: \"Cancel\"\n\t\t\t\t}), /* @__PURE__ */ o(f, {\n\t\t\t\t\tdisabled: U,\n\t\t\t\t\tonClick: () => this.handleDone(!0),\n\t\t\t\t\tcolor: \"primary\",\n\t\t\t\t\tchildren: c ? \"Update\" : \"Insert\"\n\t\t\t\t})] })\n\t\t\t]\n\t\t});\n\t}\n};\n//#endregion\nexport { P as MediaDialog, P as default };\n","import e from \"react\";\nimport { styled as t } from \"@mui/material/styles\";\nimport n from \"prop-types\";\nimport { jsx as r, jsxs as i } from \"react/jsx-runtime\";\n//#region src/components/media/MediaToolbar.tsx\nvar a = t(\"span\")(({ theme: e }) => ({\n\tposition: \"relative\",\n\tbottom: \"5px\",\n\tleft: 0,\n\twidth: \"100%\",\n\tbackground: e.palette.common.white,\n\tdisplay: \"inline-flex\",\n\tpadding: \"5px\",\n\tboxShadow: \"0px 4px 4px rgba(0, 0, 0, 0.25)\"\n})), o = t(\"span\")(({ theme: e }) => ({\n\tcursor: \"pointer\",\n\tflex: 3,\n\tborder: `solid ${e.palette.common.black}`,\n\ttextAlign: \"right\",\n\tborderWidth: \"0 2px 0 0\",\n\tmarginRight: \"5px\",\n\tpaddingRight: \"5px\"\n})), s = t(\"span\")({ cursor: \"pointer\" }), c = class extends e.Component {\n\tstatic propTypes = {\n\t\tonEdit: n.func,\n\t\thideEdit: n.bool,\n\t\tonRemove: n.func\n\t};\n\trender() {\n\t\tlet { hideEdit: e, onEdit: t, onRemove: n } = this.props;\n\t\treturn /* @__PURE__ */ i(a, { children: [e ? null : /* @__PURE__ */ r(o, {\n\t\t\tonClick: t,\n\t\t\tchildren: \"Edit Settings\"\n\t\t}), /* @__PURE__ */ r(s, {\n\t\t\tonClick: n,\n\t\t\tchildren: \"Remove\"\n\t\t})] });\n\t}\n};\n//#endregion\nexport { c as default };\n","import { MediaDialog as e } from \"../components/media/MediaDialog.js\";\nimport t from \"../components/media/MediaToolbar.js\";\nimport { useEffect as n } from \"react\";\nimport { NodeViewWrapper as r, ReactNodeViewRenderer as i } from \"@tiptap/react\";\nimport { Node as a, mergeAttributes as o } from \"@tiptap/core\";\nimport s from \"react-dom\";\nimport { jsx as c, jsxs as l } from \"react/jsx-runtime\";\n//#region src/extensions/media.tsx\nvar u = a.create({\n\tname: \"media\",\n\tgroup: \"inline\",\n\tinline: !0,\n\tatom: !0,\n\taddAttributes() {\n\t\treturn {\n\t\t\ttype: { default: \"video\" },\n\t\t\tsrc: { default: null },\n\t\t\twidth: { default: null },\n\t\t\theight: { default: null },\n\t\t\ttitle: { default: null },\n\t\t\tstarts: { default: null },\n\t\t\tends: { default: null },\n\t\t\tediting: { default: !1 },\n\t\t\ttag: { default: \"iframe\" },\n\t\t\turl: { default: null }\n\t\t};\n\t},\n\tparseHTML() {\n\t\treturn [{\n\t\t\ttag: \"iframe[data-type=\\\"video\\\"]\",\n\t\t\tgetAttrs: (e) => ({\n\t\t\t\ttype: \"video\",\n\t\t\t\ttag: \"iframe\",\n\t\t\t\tsrc: e.getAttribute(\"src\"),\n\t\t\t\twidth: e.getAttribute(\"width\"),\n\t\t\t\theight: e.getAttribute(\"height\"),\n\t\t\t\ttitle: e.dataset.title,\n\t\t\t\tstarts: e.dataset.starts,\n\t\t\t\tends: e.dataset.ends,\n\t\t\t\turl: e.dataset.url\n\t\t\t})\n\t\t}, {\n\t\t\ttag: \"audio\",\n\t\t\tgetAttrs: (e) => ({\n\t\t\t\ttype: \"audio\",\n\t\t\t\ttag: \"audio\",\n\t\t\t\tsrc: e.querySelector(\"source\")?.getAttribute(\"src\")\n\t\t\t})\n\t\t}];\n\t},\n\trenderHTML({ HTMLAttributes: e }) {\n\t\tlet { tag: t, src: n, width: r, height: i } = e;\n\t\treturn t === \"audio\" ? [\n\t\t\t\"audio\",\n\t\t\t{\n\t\t\t\tcontrols: \"controls\",\n\t\t\t\tcontrolsList: \"nodownload\"\n\t\t\t},\n\t\t\t[\"source\", {\n\t\t\t\tsrc: n,\n\t\t\t\ttype: \"audio/mp3\"\n\t\t\t}]\n\t\t] : [\"iframe\", o({\n\t\t\t\"data-type\": \"video\",\n\t\t\tframeborder: \"0\",\n\t\t\tallow: \"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\",\n\t\t\tallowfullscreen: \"\",\n\t\t\tsrc: n\n\t\t}, r ? { width: r } : {}, i ? { height: i } : {})];\n\t},\n\taddCommands() {\n\t\treturn {\n\t\t\tinsertMedia: (e) => ({ commands: t }) => t.insertContent({\n\t\t\t\ttype: this.name,\n\t\t\t\tattrs: e\n\t\t\t}),\n\t\t\tupdateMedia: (e) => ({ commands: t }) => t.updateAttributes(this.name, e)\n\t\t};\n\t},\n\taddNodeView() {\n\t\treturn i((e) => /* @__PURE__ */ c(p, {\n\t\t\t...e,\n\t\t\toptions: this.options\n\t\t}));\n\t}\n}), d = () => {\n\tdocument.querySelectorAll(\".insert-media-dialog\").forEach((e) => e.remove());\n}, f = (t) => {\n\tlet n = document.createElement(\"div\"), { type: r, callback: i, options: a, ...o } = t, l = document.body.style.overflow;\n\td(), n.className = \"insert-media-dialog\", document.body.style.overflow = \"hidden\";\n\tlet u = (e, t) => {\n\t\ti(e, t), n.remove(), document.body.style.overflow = l;\n\t}, f = /* @__PURE__ */ c(e, {\n\t\t...o,\n\t\tuploadSoundSupport: a.uploadSoundSupport,\n\t\ttype: r,\n\t\tdisablePortal: !0,\n\t\topen: !0,\n\t\thandleClose: u\n\t});\n\ts.render(f, n), document.body.appendChild(n);\n};\nfunction p({ editor: e, node: i, updateAttributes: a, deleteNode: o, options: s }) {\n\tlet { type: u, src: d, width: p, height: m, tag: h } = i.attrs;\n\treturn n(() => {\n\t\td || f({\n\t\t\t...i.attrs,\n\t\t\toptions: s,\n\t\t\tedit: !0,\n\t\t\tcallback: (t, n) => {\n\t\t\t\tt ? a(n) : o(), e.chain().focus().run();\n\t\t\t}\n\t\t});\n\t}, []), /* @__PURE__ */ l(r, {\n\t\t\"data-type\": u,\n\t\tstyle: {\n\t\t\twidth: p,\n\t\t\theight: m\n\t\t},\n\t\tchildren: [h === \"audio\" ? /* @__PURE__ */ c(\"audio\", {\n\t\t\tcontrols: !0,\n\t\t\tcontrolsList: \"nodownload\",\n\t\t\tchildren: /* @__PURE__ */ c(\"source\", {\n\t\t\t\ttype: \"audio/mp3\",\n\t\t\t\tsrc: d\n\t\t\t})\n\t\t}) : /* @__PURE__ */ c(\"iframe\", {\n\t\t\tsrc: d,\n\t\t\tallowFullScreen: !0,\n\t\t\tframeBorder: \"0\",\n\t\t\twidth: p,\n\t\t\theight: m\n\t\t}), /* @__PURE__ */ c(t, {\n\t\t\tonEdit: () => {\n\t\t\t\tf({\n\t\t\t\t\t...i.attrs,\n\t\t\t\t\toptions: s,\n\t\t\t\t\tedit: !0,\n\t\t\t\t\tcallback: (t, n) => {\n\t\t\t\t\t\tt && a(n), e.chain().focus().run();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\tonRemove: o\n\t\t})]\n\t});\n}\n//#endregion\nexport { u as Media, p as default, f as insertDialog };\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getListItemUtilityClass(slot) {\n return generateUtilityClass('MuiListItem', slot);\n}\nconst listItemClasses = generateUtilityClasses('MuiListItem', ['root', 'container', 'dense', 'alignItemsFlexStart', 'divider', 'gutters', 'padding', 'secondaryAction']);\nexport default listItemClasses;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getListItemButtonUtilityClass(slot) {\n return generateUtilityClass('MuiListItemButton', slot);\n}\nconst listItemButtonClasses = generateUtilityClasses('MuiListItemButton', ['root', 'focusVisible', 'dense', 'alignItemsFlexStart', 'disabled', 'divider', 'gutters', 'selected']);\nexport default listItemButtonClasses;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getListItemSecondaryActionClassesUtilityClass(slot) {\n return generateUtilityClass('MuiListItemSecondaryAction', slot);\n}\nconst listItemSecondaryActionClasses = generateUtilityClasses('MuiListItemSecondaryAction', ['root', 'disableGutters']);\nexport default listItemSecondaryActionClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled } from \"../zero-styled/index.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport ListContext from \"../List/ListContext.js\";\nimport { getListItemSecondaryActionClassesUtilityClass } from \"./listItemSecondaryActionClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n disableGutters,\n classes\n } = ownerState;\n const slots = {\n root: ['root', disableGutters && 'disableGutters']\n };\n return composeClasses(slots, getListItemSecondaryActionClassesUtilityClass, classes);\n};\nconst ListItemSecondaryActionRoot = styled('div', {\n name: 'MuiListItemSecondaryAction',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.disableGutters && styles.disableGutters];\n }\n})({\n position: 'absolute',\n right: 16,\n top: '50%',\n transform: 'translateY(-50%)',\n variants: [{\n props: ({\n ownerState\n }) => ownerState.disableGutters,\n style: {\n right: 0\n }\n }]\n});\n\n/**\n * Must be used as the last child of ListItem to function properly.\n *\n * @deprecated Use the `secondaryAction` prop in the `ListItem` component instead. This component will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\nconst ListItemSecondaryAction = /*#__PURE__*/React.forwardRef(function ListItemSecondaryAction(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiListItemSecondaryAction'\n });\n const {\n className,\n ...other\n } = props;\n const context = React.useContext(ListContext);\n const ownerState = {\n ...props,\n disableGutters: context.disableGutters\n };\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(ListItemSecondaryActionRoot, {\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref,\n ...other\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? ListItemSecondaryAction.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component, normally an `IconButton` or selection control.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nListItemSecondaryAction.muiName = 'ListItemSecondaryAction';\nexport default ListItemSecondaryAction;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport isHostComponent from '@mui/utils/isHostComponent';\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport isMuiElement from \"../utils/isMuiElement.js\";\nimport useForkRef from \"../utils/useForkRef.js\";\nimport useSlot from \"../utils/useSlot.js\";\nimport ListContext from \"../List/ListContext.js\";\nimport { getListItemUtilityClass } from \"./listItemClasses.js\";\nimport { listItemButtonClasses } from \"../ListItemButton/index.js\";\nimport ListItemSecondaryAction from \"../ListItemSecondaryAction/index.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.alignItems === 'flex-start' && styles.alignItemsFlexStart, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters, !ownerState.disablePadding && styles.padding, ownerState.hasSecondaryAction && styles.secondaryAction];\n};\nconst useUtilityClasses = ownerState => {\n const {\n alignItems,\n classes,\n dense,\n disableGutters,\n disablePadding,\n divider,\n hasSecondaryAction\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', !disableGutters && 'gutters', !disablePadding && 'padding', divider && 'divider', alignItems === 'flex-start' && 'alignItemsFlexStart', hasSecondaryAction && 'secondaryAction'],\n container: ['container'],\n secondaryAction: ['secondaryAction']\n };\n return composeClasses(slots, getListItemUtilityClass, classes);\n};\nexport const ListItemRoot = styled('div', {\n name: 'MuiListItem',\n slot: 'Root',\n overridesResolver\n})(memoTheme(({\n theme\n}) => ({\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n width: '100%',\n boxSizing: 'border-box',\n textAlign: 'left',\n variants: [{\n props: ({\n ownerState\n }) => !ownerState.disablePadding,\n style: {\n paddingTop: 8,\n paddingBottom: 8\n }\n }, {\n props: ({\n ownerState\n }) => !ownerState.disablePadding && ownerState.dense,\n style: {\n paddingTop: 4,\n paddingBottom: 4\n }\n }, {\n props: ({\n ownerState\n }) => !ownerState.disablePadding && !ownerState.disableGutters,\n style: {\n paddingLeft: 16,\n paddingRight: 16\n }\n }, {\n props: ({\n ownerState\n }) => !ownerState.disablePadding && !!ownerState.secondaryAction,\n style: {\n // Add some space to avoid collision as `ListItemSecondaryAction`\n // is absolutely positioned.\n paddingRight: 48\n }\n }, {\n props: ({\n ownerState\n }) => !!ownerState.secondaryAction,\n style: {\n [`& > .${listItemButtonClasses.root}`]: {\n paddingRight: 48\n }\n }\n }, {\n props: {\n alignItems: 'flex-start'\n },\n style: {\n alignItems: 'flex-start'\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.divider,\n style: {\n borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`,\n backgroundClip: 'padding-box'\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.button,\n style: {\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.shortest\n }),\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: (theme.vars || theme).palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.hasSecondaryAction,\n style: {\n // Add some space to avoid collision as `ListItemSecondaryAction`\n // is absolutely positioned.\n paddingRight: 48\n }\n }]\n})));\nconst ListItemContainer = styled('li', {\n name: 'MuiListItem',\n slot: 'Container'\n})({\n position: 'relative'\n});\n\n/**\n * Uses an additional container component if `ListItemSecondaryAction` is the last child.\n */\nconst ListItem = /*#__PURE__*/React.forwardRef(function ListItem(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiListItem'\n });\n const {\n alignItems = 'center',\n children: childrenProp,\n className,\n component: componentProp,\n components = {},\n componentsProps = {},\n ContainerComponent = 'li',\n ContainerProps: {\n className: ContainerClassName,\n ...ContainerProps\n } = {},\n dense = false,\n disableGutters = false,\n disablePadding = false,\n divider = false,\n secondaryAction,\n slotProps = {},\n slots = {},\n ...other\n } = props;\n const context = React.useContext(ListContext);\n const childContext = React.useMemo(() => ({\n dense: dense || context.dense || false,\n alignItems,\n disableGutters\n }), [alignItems, context.dense, dense, disableGutters]);\n const listItemRef = React.useRef(null);\n const children = React.Children.toArray(childrenProp);\n\n // v4 implementation, deprecated in v6, will be removed in a future major release\n const hasSecondaryAction = children.length && isMuiElement(children[children.length - 1], ['ListItemSecondaryAction']);\n const ownerState = {\n ...props,\n alignItems,\n dense: childContext.dense,\n disableGutters,\n disablePadding,\n divider,\n hasSecondaryAction\n };\n const classes = useUtilityClasses(ownerState);\n const handleRef = useForkRef(listItemRef, ref);\n const externalForwardedProps = {\n slots,\n slotProps\n };\n const [SecondaryActionSlot, secondaryActionSlotProps] = useSlot('secondaryAction', {\n elementType: ListItemSecondaryAction,\n externalForwardedProps,\n ownerState,\n className: classes.secondaryAction\n });\n const Root = slots.root || components.Root || ListItemRoot;\n const rootProps = slotProps.root || componentsProps.root || {};\n const componentProps = {\n className: clsx(classes.root, rootProps.className, className),\n ...other\n };\n let Component = componentProp || 'li';\n\n // v4 implementation, deprecated in v6, will be removed in a future major release\n if (hasSecondaryAction) {\n // Use div by default.\n Component = !componentProps.component && !componentProp ? 'div' : Component;\n\n // Avoid nesting of li > li.\n if (ContainerComponent === 'li') {\n if (Component === 'li') {\n Component = 'div';\n } else if (componentProps.component === 'li') {\n componentProps.component = 'div';\n }\n }\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsxs(ListItemContainer, {\n as: ContainerComponent,\n className: clsx(classes.container, ContainerClassName),\n ref: handleRef,\n ownerState: ownerState,\n ...ContainerProps,\n children: [/*#__PURE__*/_jsx(Root, {\n ...rootProps,\n ...(!isHostComponent(Root) && {\n as: Component,\n ownerState: {\n ...ownerState,\n ...rootProps.ownerState\n }\n }),\n ...componentProps,\n children: children\n }), children.pop()]\n })\n });\n }\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsxs(Root, {\n ...rootProps,\n as: Component,\n ref: handleRef,\n ...(!isHostComponent(Root) && {\n ownerState: {\n ...ownerState,\n ...rootProps.ownerState\n }\n }),\n ...componentProps,\n children: [children, secondaryAction && /*#__PURE__*/_jsx(SecondaryActionSlot, {\n ...secondaryActionSlotProps,\n children: secondaryAction\n })]\n })\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? ListItem.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Defines the `align-items` style property.\n * @default 'center'\n */\n alignItems: PropTypes.oneOf(['center', 'flex-start']),\n /**\n * The content of the component if a `ListItemSecondaryAction` is used it must\n * be the last child.\n */\n children: chainPropTypes(PropTypes.node, props => {\n const children = React.Children.toArray(props.children);\n\n // React.Children.toArray(props.children).findLastIndex(isListItemSecondaryAction)\n let secondaryActionIndex = -1;\n for (let i = children.length - 1; i >= 0; i -= 1) {\n const child = children[i];\n if (isMuiElement(child, ['ListItemSecondaryAction'])) {\n secondaryActionIndex = i;\n break;\n }\n }\n\n // is ListItemSecondaryAction the last child of ListItem\n if (secondaryActionIndex !== -1 && secondaryActionIndex !== children.length - 1) {\n return new Error('MUI: You used an element after ListItemSecondaryAction. ' + 'For ListItem to detect that it has a secondary action ' + 'you must pass it as the last child to ListItem.');\n }\n return null;\n }),\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The components used for each slot inside.\n *\n * @deprecated Use the `slots` prop instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n * @default {}\n */\n components: PropTypes.shape({\n Root: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * @deprecated Use the `slotProps` prop instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n * @default {}\n */\n componentsProps: PropTypes.shape({\n root: PropTypes.object\n }),\n /**\n * The container component used when a `ListItemSecondaryAction` is the last child.\n * @default 'li'\n * @deprecated Use the `component` or `slots.root` prop instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n ContainerComponent: elementTypeAcceptingRef,\n /**\n * Props applied to the container component if used.\n * @default {}\n * @deprecated Use the `slotProps.root` prop instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n ContainerProps: PropTypes.object,\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent List component.\n * @default false\n */\n dense: PropTypes.bool,\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * If `true`, all padding is removed.\n * @default false\n */\n disablePadding: PropTypes.bool,\n /**\n * If `true`, a 1px light border is added to the bottom of the list item.\n * @default false\n */\n divider: PropTypes.bool,\n /**\n * The element to display at the end of ListItem.\n */\n secondaryAction: PropTypes.node,\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * @default {}\n */\n slotProps: PropTypes.shape({\n root: PropTypes.object,\n secondaryAction: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n *\n * @default {}\n */\n slots: PropTypes.shape({\n root: PropTypes.elementType,\n secondaryAction: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default ListItem;","import \"react\";\nimport { Mark as e, mergeAttributes as t } from \"@tiptap/core\";\nimport n from \"react-dom\";\nimport { jsx as r, jsxs as i } from \"react/jsx-runtime\";\nimport a from \"@mui/material/List\";\nimport o from \"@mui/material/ListItem\";\n//#region src/extensions/css.tsx\nvar s = () => {\n\tdocument.querySelectorAll(\".insert-css-dialog\").forEach((e) => e.remove());\n}, c = ({ editor: e, callback: t, opts: c, selectedText: l, parentNode: u }) => {\n\tlet d = e.options.element, f = document.createElement(\"div\"), { selection: p } = e.state;\n\ts(), f.className = \"insert-css-dialog\";\n\tlet m = !1, h = (e) => {\n\t\tif (m) {\n\t\t\tlet t = f.contains(e.target) || void 0, n = d.contains(e.target);\n\t\t\tt || n || g();\n\t\t} else m = !0;\n\t}, g = () => {\n\t\tt(void 0, !0), f.remove(), document.body.removeEventListener(\"click\", h);\n\t}, _ = (e) => {\n\t\tt(e, !0), f.remove(), document.body.removeEventListener(\"click\", h);\n\t}, v = u?.attrs.class, y = (e) => {\n\t\tlet t = `<span class=\"${e}\">${l}</span>`;\n\t\tif (u) {\n\t\t\tlet e = \"span\";\n\t\t\tu?.object === \"inline\" && (e = \"span\"), u?.object === \"block\" && (e = \"div\"), t = `<${e} class=\"${v}\">${u.text.slice(0, p.$anchor.textOffset)}${t}${u.text.slice(p.$head.textOffset)}</${e}>`;\n\t\t}\n\t\treturn t;\n\t}, b = /* @__PURE__ */ i(\"div\", {\n\t\tstyle: {\n\t\t\tbackground: \"white\",\n\t\t\theight: 500,\n\t\t\tpadding: 20,\n\t\t\toverflow: \"hidden\",\n\t\t\tdisplay: \"flex\",\n\t\t\tflexFlow: \"column\"\n\t\t},\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ r(\"h2\", { children: \"Please choose a css class\" }),\n\t\t\tv && /* @__PURE__ */ i(\"div\", { children: [\"The current parent has this class \", v] }),\n\t\t\t/* @__PURE__ */ r(a, {\n\t\t\t\tcomponent: \"nav\",\n\t\t\t\tstyle: { overflow: \"scroll\" },\n\t\t\t\tchildren: c.names.map((e, t) => /* @__PURE__ */ i(o, {\n\t\t\t\t\tbutton: !0,\n\t\t\t\t\tonClick: () => _(e),\n\t\t\t\t\tchildren: [/* @__PURE__ */ r(\"div\", {\n\t\t\t\t\t\tstyle: { marginRight: 20 },\n\t\t\t\t\t\tchildren: e\n\t\t\t\t\t}), /* @__PURE__ */ r(\"div\", { dangerouslySetInnerHTML: { __html: y(e) } })]\n\t\t\t\t}, `rule-${t}`))\n\t\t\t})\n\t\t]\n\t});\n\tn.render(b, f, () => {\n\t\tlet t = e.view.nodeDOM(e.state.selection.from)?.parentNode;\n\t\tif (t) {\n\t\t\tlet e = d.parentElement.parentElement.parentElement.getBoundingClientRect(), n = t.getBoundingClientRect();\n\t\t\td.parentElement.parentElement.parentElement.appendChild(f), f.style.maxWidth = \"500px\", f.style.position = \"absolute\", f.style.top = 0, f.style.zIndex = 99999;\n\t\t\tlet r = `${n.left + Math.abs(e.left) + t.offsetWidth + 10}px`, i = `${n.x}px`;\n\t\t\tf.style.left = r;\n\t\t\tlet a = f.offsetWidth;\n\t\t\tf.style.left = \"unset\", f.style.right = i;\n\t\t\tlet o = f.offsetWidth;\n\t\t\tf.style.left = \"unset\", f.style.right = \"unset\", a >= o ? f.style.left = r : f.style.right = i, document.body.addEventListener(\"click\", h);\n\t\t}\n\t});\n}, l = e.create({\n\tname: \"cssmark\",\n\taddOptions() {\n\t\treturn { classes: [] };\n\t},\n\taddAttributes() {\n\t\treturn { class: {\n\t\t\tdefault: null,\n\t\t\tparseHTML: (e) => e.getAttribute(\"class\"),\n\t\t\trenderHTML: (e) => e.class ? { class: e.class } : {}\n\t\t} };\n\t},\n\tparseHTML() {\n\t\treturn [{\n\t\t\ttag: \"span[class]\",\n\t\t\tgetAttrs: (e) => {\n\t\t\t\tlet t = e.getAttribute(\"class\") || \"\";\n\t\t\t\tif (!t) return !1;\n\t\t\t\tif ((this.options && this.options.classes || []).length > 0) {\n\t\t\t\t\tlet e = this.options.classes.find((e) => t.includes(e));\n\t\t\t\t\treturn e ? { class: e } : !1;\n\t\t\t\t}\n\t\t\t\treturn { class: t };\n\t\t\t}\n\t\t}];\n\t},\n\trenderHTML({ HTMLAttributes: e }) {\n\t\treturn [\n\t\t\t\"span\",\n\t\t\tt(e),\n\t\t\t0\n\t\t];\n\t},\n\taddCommands() {\n\t\treturn {\n\t\t\tsetCSSClass: (e) => ({ commands: t }) => t.setMark(this.name, { class: e }),\n\t\t\tunsetCSSClass: () => ({ commands: e }) => e.unsetMark(this.name),\n\t\t\topenCSSClassDialog: () => ({ editor: e }) => {\n\t\t\t\tc({\n\t\t\t\t\teditor: e,\n\t\t\t\t\tselectedText: e.state.doc.textBetween(e.state.selection.from, e.state.selection.to),\n\t\t\t\t\tparentNode: e.state.selection.$from.nodeAfter,\n\t\t\t\t\topts: this.options.extraCSSRules,\n\t\t\t\t\tcallback: (t) => {\n\t\t\t\t\t\tt && e.chain().focus().setCSSClass(t).run();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t}\n});\n//#endregion\nexport { l as CSSMark, s as removeDialogs };\n","import { ListItem as e } from \"@tiptap/extension-list-item\";\n//#region src/extensions/extended-list-item.tsx\nvar t = e.extend({ content: \"(div | paragraph | heading | bulletList | orderedList | blockquote | codeBlock | horizontalRule | image | imageUploadNode)+\" });\n//#endregion\nexport { t as ExtendedListItem };\n","import { Node as e, mergeAttributes as t } from \"@tiptap/core\";\n//#region src/extensions/heading-paragraph.tsx\nvar n = e.create({\n\tname: \"headingParagraph\",\n\tgroup: \"block\",\n\tcontent: \"inline*\",\n\tdefining: !0,\n\taddAttributes() {\n\t\treturn { \"data-heading\": {\n\t\t\tdefault: \"heading1\",\n\t\t\tparseHTML: (e) => e.getAttribute(\"data-heading\"),\n\t\t\trenderHTML: (e) => ({ \"data-heading\": e[\"data-heading\"] })\n\t\t} };\n\t},\n\tparseHTML() {\n\t\treturn [{ tag: \"p[data-heading]\" }];\n\t},\n\trenderHTML({ HTMLAttributes: e }) {\n\t\treturn [\n\t\t\t\"p\",\n\t\t\tt(e),\n\t\t\t0\n\t\t];\n\t},\n\taddCommands() {\n\t\treturn { toggleHeadingParagraph: () => ({ commands: e, editor: t }) => t.isActive(\"headingParagraph\") ? e.setNode(\"paragraph\") : e.setNode(\"headingParagraph\", { \"data-heading\": \"heading1\" }) };\n\t}\n});\n//#endregion\nexport { n as HeadingParagraph };\n","//#region src/utils/size.ts\nvar e = (e) => {\n\tif (!e) return;\n\tlet t = /^calc\\((.*)\\)$/;\n\tif (typeof e == \"string\") {\n\t\tif (e.endsWith(\"%\")) return;\n\t\tif (e.endsWith(\"px\") || e.endsWith(\"vh\") || e.endsWith(\"vw\") || e.endsWith(\"ch\") || e.endsWith(\"em\") || e.match(t)) return e;\n\t\tlet n = parseInt(e, 10);\n\t\treturn Number.isNaN(n) ? n : `${n}px`;\n\t}\n\tif (typeof e == \"number\") return `${e}px`;\n};\n//#endregion\nexport { e as valueToSize };\n","import \"react\";\nimport { styled as e } from \"@mui/material/styles\";\nimport { jsx as t } from \"react/jsx-runtime\";\n//#region src/components/respArea/ToolbarIcon.tsx\nvar n = e(\"div\")(({ theme: e }) => ({\n\tfontFamily: \"Cerebri Sans !important\",\n\tfontSize: e.typography.fontSize,\n\tfontWeight: \"bold\",\n\tlineHeight: \"14px\",\n\tposition: \"relative\",\n\ttop: \"7px\",\n\twidth: \"110px\",\n\theight: \"28px\",\n\twhiteSpace: \"nowrap\"\n})), r = () => /* @__PURE__ */ t(n, { children: \"+ Response Area\" });\n//#endregion\nexport { r as ToolbarIcon };\n","//#region src/components/characters/characterUtils.ts\nvar e = { characters: [\n\t[\n\t\t\"á\",\n\t\t\"é\",\n\t\t\"í\",\n\t\t\"ó\",\n\t\t\"ú\"\n\t],\n\t[\n\t\t\"Á\",\n\t\t\"É\",\n\t\t\"Í\",\n\t\t\"Ó\",\n\t\t\"Ú\"\n\t],\n\t[\n\t\t\"—\",\n\t\t\"«\",\n\t\t\"»\",\n\t\t\"ñ\",\n\t\t\"ü\"\n\t],\n\t[\n\t\t\"-\",\n\t\t\"¿\",\n\t\t\"¡\",\n\t\t\"Ñ\",\n\t\t\"Ü\"\n\t]\n] }, t = {\n\thasPreview: !0,\n\tcharacters: [\n\t\t[\n\t\t\t{\n\t\t\t\tunicode: \"U+00A2\",\n\t\t\t\tdescription: \"CENT SIGN\",\n\t\t\t\twrite: \"¢\",\n\t\t\t\tlabel: \"¢\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00BF\",\n\t\t\t\tdescription: \"INVERTED QUESTION MARK\",\n\t\t\t\twrite: \"¿\",\n\t\t\t\tlabel: \"¿\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00B4\",\n\t\t\t\tdescription: \"ACUTE ACCENT\",\n\t\t\t\twrite: \"´\",\n\t\t\t\tlabel: \"´\",\n\t\t\t\textraProps: { style: { gridRow: \"span 2\" } }\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00E1\",\n\t\t\t\tdescription: \"LATIN SMALL LETTER A WITH ACUTE\",\n\t\t\t\twrite: \"á\",\n\t\t\t\tlabel: \"á\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00E9\",\n\t\t\t\tdescription: \"LATIN SMALL LETTER E WITH ACUTE\",\n\t\t\t\twrite: \"é\",\n\t\t\t\tlabel: \"é\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00ED\",\n\t\t\t\tdescription: \"LATIN SMALL LETTER I WITH ACUTE\",\n\t\t\t\twrite: \"í\",\n\t\t\t\tlabel: \"í\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00F3\",\n\t\t\t\tdescription: \"LATIN SMALL LETTER O WITH ACUTE\",\n\t\t\t\twrite: \"ó\",\n\t\t\t\tlabel: \"ó\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00FA\",\n\t\t\t\tdescription: \"LATIN SMALL LETTER U WITH ACUTE\",\n\t\t\t\twrite: \"ú\",\n\t\t\t\tlabel: \"ú\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00F1\",\n\t\t\t\tdescription: \"LATIN SMALL LETTER N WITH TILDE\",\n\t\t\t\twrite: \"ñ\",\n\t\t\t\tlabel: \"ñ\"\n\t\t\t}\n\t\t],\n\t\t[\n\t\t\t{\n\t\t\t\tunicode: \"U+20AC\",\n\t\t\t\tdescription: \"EURO SIGN\",\n\t\t\t\twrite: \"€\",\n\t\t\t\tlabel: \"€\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00A1\",\n\t\t\t\tdescription: \"INVERTED EXCLAMATION MARK\",\n\t\t\t\twrite: \"¡\",\n\t\t\t\tlabel: \"¡\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00C1\",\n\t\t\t\tdescription: \"LATIN CAPITAL LETTER A WITH ACUTE\",\n\t\t\t\twrite: \"Á\",\n\t\t\t\tlabel: \"Á\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00C9\",\n\t\t\t\tdescription: \"LATIN CAPITAL LETTER E WITH ACUTE\",\n\t\t\t\twrite: \"É\",\n\t\t\t\tlabel: \"É\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00CD\",\n\t\t\t\tdescription: \"LATIN CAPITAL LETTER I WITH ACUTE\",\n\t\t\t\twrite: \"Í\",\n\t\t\t\tlabel: \"Í\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00D3\",\n\t\t\t\tdescription: \"LATIN CAPITAL LETTER O WITH ACUTE\",\n\t\t\t\twrite: \"Ó\",\n\t\t\t\tlabel: \"Ó\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00DA\",\n\t\t\t\tdescription: \"LATIN CAPITAL LETTER U WITH ACUTE\",\n\t\t\t\twrite: \"Ú\",\n\t\t\t\tlabel: \"Ú\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00D1\",\n\t\t\t\tdescription: \"LATIN CAPITAL LETTER N WITH TILDE\",\n\t\t\t\twrite: \"Ñ\",\n\t\t\t\tlabel: \"Ñ\"\n\t\t\t}\n\t\t],\n\t\t[\n\t\t\t{\n\t\t\t\tunicode: \"U+00A3\",\n\t\t\t\tdescription: \"POUND SIGN\",\n\t\t\t\twrite: \"£\",\n\t\t\t\tlabel: \"£\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00AB\",\n\t\t\t\tdescription: \"LEFT-POINTING DOUBLE ANGLE QUOTATION MARK\",\n\t\t\t\twrite: \"«\",\n\t\t\t\tlabel: \"«\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+005E\",\n\t\t\t\tdescription: \"CIRCUMFLEX ACCENT\",\n\t\t\t\twrite: \"^\",\n\t\t\t\tlabel: \"^\",\n\t\t\t\textraProps: { style: { gridRow: \"span 2\" } }\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00E2\",\n\t\t\t\tdescription: \"LATIN SMALL LETTER A WITH CIRCUMFLEX\",\n\t\t\t\twrite: \"â\",\n\t\t\t\tlabel: \"â\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00EA\",\n\t\t\t\tdescription: \"LATIN SMALL LETTER E WITH CIRCUMFLEX\",\n\t\t\t\twrite: \"ê\",\n\t\t\t\tlabel: \"ê\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00EE\",\n\t\t\t\tdescription: \"LATIN SMALL LETTER I WITH CIRCUMFLEX\",\n\t\t\t\twrite: \"î\",\n\t\t\t\tlabel: \"î\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00F4\",\n\t\t\t\tdescription: \"LATIN SMALL LETTER O WITH CIRCUMFLEX\",\n\t\t\t\twrite: \"ô\",\n\t\t\t\tlabel: \"ô\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00FB\",\n\t\t\t\tdescription: \"LATIN SMALL LETTER U WITH CIRCUMFLEX\",\n\t\t\t\twrite: \"û\",\n\t\t\t\tlabel: \"û\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00E7\",\n\t\t\t\tdescription: \"LATIN SMALL LETTER C WITH CEDILLA\",\n\t\t\t\twrite: \"ç\",\n\t\t\t\tlabel: \"ç\"\n\t\t\t}\n\t\t],\n\t\t[\n\t\t\t{\n\t\t\t\tunicode: \"U+00A5\",\n\t\t\t\tdescription: \"YEN SIGN\",\n\t\t\t\twrite: \"¥\",\n\t\t\t\tlabel: \"¥\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00BB\",\n\t\t\t\tdescription: \"RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK\",\n\t\t\t\twrite: \"»\",\n\t\t\t\tlabel: \"»\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00C2\",\n\t\t\t\tdescription: \"LATIN CAPITAL LETTER A WITH CIRCUMFLEX\",\n\t\t\t\twrite: \"Â\",\n\t\t\t\tlabel: \"Â\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00CA\",\n\t\t\t\tdescription: \"LATIN CAPITAL LETTER E WITH CIRCUMFLEX\",\n\t\t\t\twrite: \"Ê\",\n\t\t\t\tlabel: \"Ê\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00CE\",\n\t\t\t\tdescription: \"LATIN CAPITAL LETTER I WITH CIRCUMFLEX\",\n\t\t\t\twrite: \"Î\",\n\t\t\t\tlabel: \"Î\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00D4\",\n\t\t\t\tdescription: \"LATIN CAPITAL LETTER O WITH CIRCUMFLEX\",\n\t\t\t\twrite: \"Ô\",\n\t\t\t\tlabel: \"Ô\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00DB\",\n\t\t\t\tdescription: \"LATIN CAPITAL LETTER U WITH CIRCUMFLEX\",\n\t\t\t\twrite: \"Û\",\n\t\t\t\tlabel: \"Û\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00C7\",\n\t\t\t\tdescription: \"LATIN CAPITAL LETTER C WITH CEDILLA\",\n\t\t\t\twrite: \"Ç\",\n\t\t\t\tlabel: \"Ç\"\n\t\t\t}\n\t\t],\n\t\t[\n\t\t\t{\n\t\t\t\tunicode: \"U+200A\",\n\t\t\t\tdescription: \"HAIR SPACE\",\n\t\t\t\twrite: String.fromCodePoint(\"0x200A\"),\n\t\t\t\tlabel: \"&hairsp;\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00A7\",\n\t\t\t\tdescription: \"SECTION SIGN\",\n\t\t\t\twrite: \"§\",\n\t\t\t\tlabel: \"§\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00A8\",\n\t\t\t\tdescription: \"DIAERESIS\",\n\t\t\t\twrite: \"¨\",\n\t\t\t\tlabel: \"¨\",\n\t\t\t\textraProps: { style: { gridRow: \"span 2\" } }\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00E4\",\n\t\t\t\tdescription: \"LATIN SMALL LETTER A WITH DIAERESIS\",\n\t\t\t\twrite: \"ä\",\n\t\t\t\tlabel: \"ä\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00EB\",\n\t\t\t\tdescription: \"LATIN SMALL LETTER E WITH DIAERESIS\",\n\t\t\t\twrite: \"ë\",\n\t\t\t\tlabel: \"ë\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00EF\",\n\t\t\t\tdescription: \"LATIN SMALL LETTER I WITH DIAERESIS\",\n\t\t\t\twrite: \"ï\",\n\t\t\t\tlabel: \"ï\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00F6\",\n\t\t\t\tdescription: \"LATIN SMALL LETTER O WITH DIAERESIS\",\n\t\t\t\twrite: \"ö\",\n\t\t\t\tlabel: \"ö\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00FC\",\n\t\t\t\tdescription: \"LATIN SMALL LETTER U WITH DIAERESIS\",\n\t\t\t\twrite: \"ü\",\n\t\t\t\tlabel: \"ü\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00DF\",\n\t\t\t\tdescription: \"LATIN SMALL LETTER SHARP S\",\n\t\t\t\twrite: \"ß\",\n\t\t\t\tlabel: \"ß\"\n\t\t\t}\n\t\t],\n\t\t[\n\t\t\t{\n\t\t\t\tunicode: \"U+2009\",\n\t\t\t\tdescription: \"THIN SPACE\",\n\t\t\t\twrite: String.fromCodePoint(\"0x2009\"),\n\t\t\t\tlabel: \"&thinsp;\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+2026\",\n\t\t\t\tdescription: \"HORIZONTAL ELLIPSIS\",\n\t\t\t\twrite: \"…\",\n\t\t\t\tlabel: \"…\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00C4\",\n\t\t\t\tdescription: \"LATIN CAPITAL LETTER A WITH DIAERESIS\",\n\t\t\t\twrite: \"Ä\",\n\t\t\t\tlabel: \"Ä\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00CB\",\n\t\t\t\tdescription: \"LATIN CAPITAL LETTER E WITH DIAERESIS\",\n\t\t\t\twrite: \"Ë\",\n\t\t\t\tlabel: \"Ë\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00CF\",\n\t\t\t\tdescription: \"LATIN CAPITAL LETTER I WITH DIAERESIS\",\n\t\t\t\twrite: \"Ï\",\n\t\t\t\tlabel: \"Ï\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00D6\",\n\t\t\t\tdescription: \"LATIN CAPITAL LETTER O WITH DIAERESIS\",\n\t\t\t\twrite: \"Ö\",\n\t\t\t\tlabel: \"Ö\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00DC\",\n\t\t\t\tdescription: \"LATIN CAPITAL LETTER U WITH DIAERESIS\",\n\t\t\t\twrite: \"Ü\",\n\t\t\t\tlabel: \"Ü\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+2212\",\n\t\t\t\tdescription: \"MINUS SIGN\",\n\t\t\t\twrite: \"−\",\n\t\t\t\tlabel: \"−\"\n\t\t\t}\n\t\t],\n\t\t[\n\t\t\t{\n\t\t\t\tunicode: \"U+00A0\",\n\t\t\t\tdescription: \"NO-BREAK SPACE\",\n\t\t\t\twrite: String.fromCodePoint(\"0x00A0\"),\n\t\t\t\tlabel: \"&nbsp;\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+2022\",\n\t\t\t\tdescription: \"BULLET\",\n\t\t\t\twrite: \"•\",\n\t\t\t\tlabel: \"•\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+0060\",\n\t\t\t\tdescription: \"GRAVE ACCENT\",\n\t\t\t\twrite: \"`\",\n\t\t\t\tlabel: \"`\",\n\t\t\t\textraProps: { style: { gridRow: \"span 2\" } }\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00E0\",\n\t\t\t\tdescription: \"LATIN SMALL LETTER A WITH GRAVE\",\n\t\t\t\twrite: \"à\",\n\t\t\t\tlabel: \"à\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00E8\",\n\t\t\t\tdescription: \"LATIN SMALL LETTER E WITH GRAVE\",\n\t\t\t\twrite: \"è\",\n\t\t\t\tlabel: \"è\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00EC\",\n\t\t\t\tdescription: \"LATIN SMALL LETTER I WITH GRAVE\",\n\t\t\t\twrite: \"ì\",\n\t\t\t\tlabel: \"ì\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00F2\",\n\t\t\t\tdescription: \"LATIN SMALL LETTER O WITH GRAVE\",\n\t\t\t\twrite: \"ò\",\n\t\t\t\tlabel: \"ò\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00F9\",\n\t\t\t\tdescription: \"LATIN SMALL LETTER U WITH GRAVE\",\n\t\t\t\twrite: \"ù\",\n\t\t\t\tlabel: \"ù\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+2013\",\n\t\t\t\tdescription: \"EN DASH\",\n\t\t\t\twrite: \"–\",\n\t\t\t\tlabel: \"–\"\n\t\t\t}\n\t\t],\n\t\t[\n\t\t\t{\n\t\t\t\tunicode: \"U+2003\",\n\t\t\t\tdescription: \"EM SPACE\",\n\t\t\t\twrite: String.fromCodePoint(\"0x2003\"),\n\t\t\t\tlabel: \"&emsp;\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+25E6\",\n\t\t\t\tdescription: \"WHITE BULLET\",\n\t\t\t\twrite: \"◦\",\n\t\t\t\tlabel: \"◦\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00C0\",\n\t\t\t\tdescription: \"LATIN CAPITAL LETTER A WITH GRAVE\",\n\t\t\t\twrite: \"À\",\n\t\t\t\tlabel: \"À\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00C8\",\n\t\t\t\tdescription: \"LATIN CAPITAL LETTER E WITH GRAVE\",\n\t\t\t\twrite: \"È\",\n\t\t\t\tlabel: \"È\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00CC\",\n\t\t\t\tdescription: \"LATIN CAPITAL LETTER I WITH GRAVE\",\n\t\t\t\twrite: \"Ì\",\n\t\t\t\tlabel: \"Ì\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00D2\",\n\t\t\t\tdescription: \"LATIN CAPITAL LETTER O WITH GRAVE\",\n\t\t\t\twrite: \"Ò\",\n\t\t\t\tlabel: \"Ò\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+00D9\",\n\t\t\t\tdescription: \"LATIN CAPITAL LETTER U WITH GRAVE\",\n\t\t\t\twrite: \"Ù\",\n\t\t\t\tlabel: \"Ù\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tunicode: \"U+2014\",\n\t\t\t\tdescription: \"EM DASH\",\n\t\t\t\twrite: \"—\",\n\t\t\t\tlabel: \"—\"\n\t\t\t}\n\t\t]\n\t]\n};\n//#endregion\nexport { e as spanishConfig, t as specialConfig };\n","import { useState as e } from \"react\";\nimport { jsx as t, jsxs as n } from \"react/jsx-runtime\";\nimport r from \"@mui/material/List\";\nimport i from \"@mui/material/ListItem\";\nimport a from \"@mui/material/Collapse\";\n//#region src/components/icons/TextAlign.tsx\nvar o = () => /* @__PURE__ */ t(\"svg\", {\n\twidth: \"20\",\n\theight: \"20\",\n\tviewBox: \"0 0 66 66\",\n\tfill: \"none\",\n\txmlns: \"http://www.w3.org/2000/svg\",\n\t\"aria-hidden\": \"true\",\n\tfocusable: \"false\",\n\tchildren: /* @__PURE__ */ t(\"path\", {\n\t\td: \"M42.1875 4.75C42.1875 7.38672 39.9902 9.4375 37.5 9.4375H4.6875C2.05078 9.4375 0 7.38672 0 4.75C0 2.25977 2.05078 0.0625 4.6875 0.0625H37.5C39.9902 0.0625 42.1875 2.25977 42.1875 4.75ZM42.1875 42.25C42.1875 44.8867 39.9902 46.9375 37.5 46.9375H4.6875C2.05078 46.9375 0 44.8867 0 42.25C0 39.7598 2.05078 37.5625 4.6875 37.5625H37.5C39.9902 37.5625 42.1875 39.7598 42.1875 42.25ZM0 23.5C0 21.0098 2.05078 18.8125 4.6875 18.8125H60.9375C63.4277 18.8125 65.625 21.0098 65.625 23.5C65.625 26.1367 63.4277 28.1875 60.9375 28.1875H4.6875C2.05078 28.1875 0 26.1367 0 23.5ZM65.625 61C65.625 63.6367 63.4277 65.6875 60.9375 65.6875H4.6875C2.05078 65.6875 0 63.6367 0 61C0 58.5098 2.05078 56.3125 4.6875 56.3125H60.9375C63.4277 56.3125 65.625 58.5098 65.625 61Z\",\n\t\tfill: \"currentColor\"\n\t})\n}), s = () => /* @__PURE__ */ t(\"svg\", {\n\twidth: \"20\",\n\theight: \"20\",\n\tviewBox: \"0 0 66 66\",\n\tfill: \"none\",\n\txmlns: \"http://www.w3.org/2000/svg\",\n\t\"aria-hidden\": \"true\",\n\tfocusable: \"false\",\n\tchildren: /* @__PURE__ */ t(\"path\", {\n\t\td: \"M65.625 4.75C65.625 7.38672 63.4277 9.4375 60.9375 9.4375H28.125C25.4883 9.4375 23.4375 7.38672 23.4375 4.75C23.4375 2.25977 25.4883 0.0625 28.125 0.0625H60.9375C63.4277 0.0625 65.625 2.25977 65.625 4.75ZM65.625 42.25C65.625 44.8867 63.4277 46.9375 60.9375 46.9375H28.125C25.4883 46.9375 23.4375 44.8867 23.4375 42.25C23.4375 39.7598 25.4883 37.5625 28.125 37.5625H60.9375C63.4277 37.5625 65.625 39.7598 65.625 42.25ZM0 23.5C0 21.0098 2.05078 18.8125 4.6875 18.8125H60.9375C63.4277 18.8125 65.625 21.0098 65.625 23.5C65.625 26.1367 63.4277 28.1875 60.9375 28.1875H4.6875C2.05078 28.1875 0 26.1367 0 23.5ZM65.625 61C65.625 63.6367 63.4277 65.6875 60.9375 65.6875H4.6875C2.05078 65.6875 0 63.6367 0 61C0 58.5098 2.05078 56.3125 4.6875 56.3125H60.9375C63.4277 56.3125 65.625 58.5098 65.625 61Z\",\n\t\tfill: \"currentColor\"\n\t})\n}), c = () => /* @__PURE__ */ t(\"svg\", {\n\twidth: \"20\",\n\theight: \"20\",\n\tviewBox: \"0 0 66 66\",\n\tfill: \"none\",\n\txmlns: \"http://www.w3.org/2000/svg\",\n\t\"aria-hidden\": \"true\",\n\tfocusable: \"false\",\n\tchildren: /* @__PURE__ */ t(\"path\", {\n\t\td: \"M51.5625 4.75C51.5625 7.38672 49.3652 9.4375 46.875 9.4375H18.75C16.1133 9.4375 14.0625 7.38672 14.0625 4.75C14.0625 2.25977 16.1133 0.0625 18.75 0.0625H46.875C49.3652 0.0625 51.5625 2.25977 51.5625 4.75ZM65.625 23.5C65.625 26.1367 63.4277 28.1875 60.9375 28.1875H4.6875C2.05078 28.1875 0 26.1367 0 23.5C0 21.0098 2.05078 18.8125 4.6875 18.8125H60.9375C63.4277 18.8125 65.625 21.0098 65.625 23.5ZM0 61C0 58.5098 2.05078 56.3125 4.6875 56.3125H60.9375C63.4277 56.3125 65.625 58.5098 65.625 61C65.625 63.6367 63.4277 65.6875 60.9375 65.6875H4.6875C2.05078 65.6875 0 63.6367 0 61ZM51.5625 42.25C51.5625 44.8867 49.3652 46.9375 46.875 46.9375H18.75C16.1133 46.9375 14.0625 44.8867 14.0625 42.25C14.0625 39.7598 16.1133 37.5625 18.75 37.5625H46.875C49.3652 37.5625 51.5625 39.7598 51.5625 42.25Z\",\n\t\tfill: \"currentColor\"\n\t})\n}), l = () => /* @__PURE__ */ t(\"svg\", {\n\twidth: \"20\",\n\theight: \"20\",\n\tviewBox: \"0 0 66 66\",\n\tfill: \"none\",\n\txmlns: \"http://www.w3.org/2000/svg\",\n\t\"aria-hidden\": \"true\",\n\tfocusable: \"false\",\n\tchildren: /* @__PURE__ */ t(\"path\", {\n\t\td: \"M65.625 4.75C65.625 7.38672 63.4277 9.4375 60.9375 9.4375H4.6875C2.05078 9.4375 0 7.38672 0 4.75C0 2.25977 2.05078 0.0625 4.6875 0.0625H60.9375C63.4277 0.0625 65.625 2.25977 65.625 4.75ZM65.625 42.25C65.625 44.8867 63.4277 46.9375 60.9375 46.9375H4.6875C2.05078 46.9375 0 44.8867 0 42.25C0 39.7598 2.05078 37.5625 4.6875 37.5625H60.9375C63.4277 37.5625 65.625 39.7598 65.625 42.25ZM0 23.5C0 21.0098 2.05078 18.8125 4.6875 18.8125H60.9375C63.4277 18.8125 65.625 21.0098 65.625 23.5C65.625 26.1367 63.4277 28.1875 60.9375 28.1875H4.6875C2.05078 28.1875 0 26.1367 0 23.5ZM65.625 61C65.625 63.6367 63.4277 65.6875 60.9375 65.6875H4.6875C2.05078 65.6875 0 63.6367 0 61C0 58.5098 2.05078 56.3125 4.6875 56.3125H60.9375C63.4277 56.3125 65.625 58.5098 65.625 61Z\",\n\t\tfill: \"currentColor\"\n\t})\n}), u = ({ editor: u, onChange: d }) => {\n\tlet [f, p] = e(!1), m;\n\tswitch (!0) {\n\t\tcase u.isActive({ textAlign: \"right\" }):\n\t\t\tm = /* @__PURE__ */ t(s, {});\n\t\t\tbreak;\n\t\tcase u.isActive({ textAlign: \"center\" }):\n\t\t\tm = /* @__PURE__ */ t(c, {});\n\t\t\tbreak;\n\t\tcase u.isActive({ textAlign: \"justify\" }):\n\t\t\tm = /* @__PURE__ */ t(l, {});\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tm = /* @__PURE__ */ t(o, {});\n\t\t\tbreak;\n\t}\n\tlet h = (e) => {\n\t\tlet t = e.currentTarget?.getAttribute(\"value\");\n\t\tt && u.commands.setTextAlign(t), p(!1);\n\t};\n\treturn /* @__PURE__ */ n(\"div\", { children: [/* @__PURE__ */ n(\"div\", {\n\t\tstyle: {\n\t\t\tdisplay: \"flex\",\n\t\t\talignItems: \"center\"\n\t\t},\n\t\tonClick: (e) => {\n\t\t\te.preventDefault(), e.stopPropagation(), p(!f);\n\t\t},\n\t\tchildren: [m, /* @__PURE__ */ t(\"span\", {\n\t\t\tstyle: {\n\t\t\t\tmarginLeft: \"5px\",\n\t\t\t\tfontSize: \"8px\"\n\t\t\t},\n\t\t\t\"aria-hidden\": \"true\",\n\t\t\tchildren: \"▼\"\n\t\t})]\n\t}), /* @__PURE__ */ t(a, {\n\t\tin: f,\n\t\ttimeout: \"auto\",\n\t\tunmountOnExit: !0,\n\t\tstyle: { position: \"absolute\" },\n\t\tchildren: /* @__PURE__ */ n(r, {\n\t\t\tcomponent: \"div\",\n\t\t\tdisablePadding: !0,\n\t\t\tstyle: {\n\t\t\t\tbackground: \"#fff\",\n\t\t\t\tdisplay: \"flex\",\n\t\t\t\tflexDirection: \"row\",\n\t\t\t\tpadding: 0\n\t\t\t},\n\t\t\tchildren: [\n\t\t\t\t/* @__PURE__ */ t(i, {\n\t\t\t\t\tbutton: !0,\n\t\t\t\t\ttype: \"submit\",\n\t\t\t\t\tvalue: \"left\",\n\t\t\t\t\t\"aria-label\": \"Align text left\",\n\t\t\t\t\tonClick: h,\n\t\t\t\t\tchildren: /* @__PURE__ */ t(o, {})\n\t\t\t\t}),\n\t\t\t\t/* @__PURE__ */ t(i, {\n\t\t\t\t\tbutton: !0,\n\t\t\t\t\ttype: \"submit\",\n\t\t\t\t\tvalue: \"center\",\n\t\t\t\t\t\"aria-label\": \"Align text center\",\n\t\t\t\t\tonClick: h,\n\t\t\t\t\tchildren: /* @__PURE__ */ t(c, {})\n\t\t\t\t}),\n\t\t\t\t/* @__PURE__ */ t(i, {\n\t\t\t\t\tbutton: !0,\n\t\t\t\t\ttype: \"submit\",\n\t\t\t\t\tvalue: \"right\",\n\t\t\t\t\t\"aria-label\": \"Align text right\",\n\t\t\t\t\tonClick: h,\n\t\t\t\t\tchildren: /* @__PURE__ */ t(s, {})\n\t\t\t\t}),\n\t\t\t\t/* @__PURE__ */ t(i, {\n\t\t\t\t\tbutton: !0,\n\t\t\t\t\ttype: \"submit\",\n\t\t\t\t\tvalue: \"justify\",\n\t\t\t\t\t\"aria-label\": \"Justify text\",\n\t\t\t\t\tonClick: h,\n\t\t\t\t\tchildren: /* @__PURE__ */ t(l, {})\n\t\t\t\t})\n\t\t\t]\n\t\t})\n\t})] });\n};\n//#endregion\nexport { c as AlignCenter, l as AlignJustify, o as AlignLeft, s as AlignRight, u as default };\n","import \"react\";\nimport { styled as e } from \"@mui/material/styles\";\nimport { jsx as t } from \"react/jsx-runtime\";\n//#region src/components/icons/CssIcon.tsx\nvar n = e(\"div\")(({ theme: e }) => ({\n\tfontFamily: \"Cerebri Sans, Arial, sans-serif\",\n\tfontSize: e.typography.fontSize,\n\tfontWeight: \"bold\",\n\tlineHeight: \"14px\",\n\tposition: \"relative\",\n\twhiteSpace: \"nowrap\"\n})), r = () => /* @__PURE__ */ t(n, { children: \"CSS\" });\n//#endregion\nexport { r as default };\n","import \"react\";\nimport { styled as e } from \"@mui/material/styles\";\nimport { jsx as t } from \"react/jsx-runtime\";\n//#region src/components/icons/TableIcons.tsx\nvar n = e(\"path\")({\n\tfill: \"grey\",\n\t\"&:hover\": { fill: \"black\" }\n}), r = (e) => (n) => /* @__PURE__ */ t(\"svg\", {\n\txmlns: \"http://www.w3.org/2000/svg\",\n\tversion: \"1.1\",\n\twidth: \"24\",\n\theight: \"24\",\n\tviewBox: \"0 0 24 24\",\n\t\"aria-hidden\": \"true\",\n\tfocusable: \"false\",\n\tchildren: /* @__PURE__ */ t(e, { ...n })\n}), i = r((e) => /* @__PURE__ */ t(n, {\n\t...e,\n\td: \"M22,10A2,2 0 0,1 20,12H4A2,2 0 0,1 2,10V3H4V5H8V3H10V5H14V3H16V5H20V3H22V10M4,10H8V7H4V10M10,10H14V7H10V10M20,10V7H16V10H20M11,14H13V17H16V19H13V22H11V19H8V17H11V14Z\"\n})), a = r((e) => /* @__PURE__ */ t(n, {\n\t...e,\n\td: \"M9.41,13L12,15.59L14.59,13L16,14.41L13.41,17L16,19.59L14.59,21L12,18.41L9.41,21L8,19.59L10.59,17L8,14.41L9.41,13M22,9A2,2 0 0,1 20,11H4A2,2 0 0,1 2,9V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V9M4,9H8V6H4V9M10,9H14V6H10V9M16,9H20V6H16V9Z\"\n})), o = r((e) => /* @__PURE__ */ t(n, {\n\t...e,\n\td: \"M11,2A2,2 0 0,1 13,4V20A2,2 0 0,1 11,22H2V2H11M4,10V14H11V10H4M4,16V20H11V16H4M4,4V8H11V4H4M15,11H18V8H20V11H23V13H20V16H18V13H15V11Z\"\n})), s = r((e) => /* @__PURE__ */ t(n, {\n\t...e,\n\td: \"M4,2H11A2,2 0 0,1 13,4V20A2,2 0 0,1 11,22H4A2,2 0 0,1 2,20V4A2,2 0 0,1 4,2M4,10V14H11V10H4M4,16V20H11V16H4M4,4V8H11V4H4M17.59,12L15,9.41L16.41,8L19,10.59L21.59,8L23,9.41L20.41,12L23,14.59L21.59,16L19,13.41L16.41,16L15,14.59L17.59,12Z\"\n})), c = r((e) => /* @__PURE__ */ t(n, {\n\t...e,\n\td: \"M15.46,15.88L16.88,14.46L19,16.59L21.12,14.46L22.54,15.88L20.41,18L22.54,20.12L21.12,21.54L19,19.41L16.88,21.54L15.46,20.12L17.59,18L15.46,15.88M4,3H18A2,2 0 0,1 20,5V12.08C18.45,11.82 16.92,12.18 15.68,13H12V17H13.08C12.97,17.68 12.97,18.35 13.08,19H4A2,2 0 0,1 2,17V5A2,2 0 0,1 4,3M4,7V11H10V7H4M12,7V11H18V7H12M4,13V17H10V13H4Z\"\n}));\n//#endregion\nexport { o as AddColumn, i as AddRow, s as RemoveColumn, a as RemoveRow, c as RemoveTable };\n","import \"react\";\nimport { styled as e } from \"@mui/material/styles\";\nimport { jsx as t } from \"react/jsx-runtime\";\nimport n from \"@mui/material/Typography\";\nimport r from \"@mui/material/Popper\";\n//#region src/components/characters/custom-popper.tsx\nvar i = e(r)({\n\tbackground: \"#fff\",\n\tpadding: \"10px\",\n\tpointerEvents: \"none\",\n\tzIndex: 99999\n}), a = e(n)({\n\tfontSize: 50,\n\ttextAlign: \"center\"\n}), o = ({ children: e, ...n }) => /* @__PURE__ */ t(i, {\n\tid: \"mouse-over-popover\",\n\topen: !0,\n\tanchorOrigin: {\n\t\tvertical: \"bottom\",\n\t\thorizontal: \"left\"\n\t},\n\ttransformOrigin: {\n\t\tvertical: \"top\",\n\t\thorizontal: \"left\"\n\t},\n\tdisableRestoreFocus: !0,\n\tdisableAutoFocus: !0,\n\t...n,\n\tchildren: /* @__PURE__ */ t(a, { children: e })\n});\n//#endregion\nexport { o as default };\n","import { spanishConfig as e, specialConfig as t } from \"./characters/characterUtils.js\";\nimport n from \"./characters/custom-popper.js\";\nimport { useEffect as r, useMemo as i, useRef as a, useState as o } from \"react\";\nimport { get as s } from \"@pie-element/shared-lodash\";\nimport c from \"react-dom\";\nimport l from \"prop-types\";\nimport { Fragment as u, jsx as d, jsxs as f } from \"react/jsx-runtime\";\nimport { PureToolbar as p } from \"@pie-lib/math-toolbar\";\n//#region src/components/CharacterPicker.tsx\nvar m = ({ letter: e }) => /* @__PURE__ */ d(\"div\", {\n\tstyle: {\n\t\tfontSize: \"24px\",\n\t\tlineHeight: \"24px\"\n\t},\n\tchildren: e\n});\nm.propTypes = { letter: l.string };\nfunction h({ editor: l, opts: m, onClose: h }) {\n\tif (!m?.characters?.length) return null;\n\tlet g = a(null), _ = a(h), [v, y] = o({\n\t\ttop: 0,\n\t\tleft: 0\n\t}), [b, x] = o(null);\n\t_.current = h;\n\tlet S = i(() => {\n\t\tif (!m) return e;\n\t\tswitch (!0) {\n\t\t\tcase m.language === \"spanish\": return e;\n\t\t\tcase m.language === \"special\": return t;\n\t\t\tdefault: return m;\n\t\t}\n\t}, [m]), C = i(() => S.characters.reduce((e, t) => (t.length >= e.columns && (e.columns = t.length), e), {\n\t\trows: S.characters.length,\n\t\tcolumns: 0\n\t}), [S]), w = () => x(null);\n\tr(() => () => {\n\t\tw();\n\t}, []), r(() => {\n\t\tif (!l) return;\n\t\tlet e = l.options.element, t = l.view.dom, n = () => {\n\t\t\tif (!g.current) return;\n\t\t\tlet t = e.getBoundingClientRect(), { from: n } = l.state.selection, r = l.view.coordsAtPos(n), i = g.current.offsetHeight, a = g.current.offsetWidth, o = window.innerHeight - (t.bottom + 60) >= i || t.top < i + 80 ? t.bottom + 60 : t.top - i - 20, s = r.left;\n\t\t\to = Math.max(8, Math.min(o, window.innerHeight - i - 8)), s = Math.max(8, Math.min(s, window.innerWidth - a - 8)), y({\n\t\t\t\ttop: o,\n\t\t\t\tleft: s\n\t\t\t});\n\t\t};\n\t\tn();\n\t\tlet r = null, i = () => {\n\t\t\tr === null && (r = requestAnimationFrame(() => {\n\t\t\t\tr = null, n();\n\t\t\t}));\n\t\t};\n\t\twindow.addEventListener(\"scroll\", i, !0), window.addEventListener(\"resize\", i);\n\t\tlet a = (e) => {\n\t\t\tg.current && !g.current.contains(e.target) && !t.contains(e.target) && _.current();\n\t\t}, o = setTimeout(() => {\n\t\t\tdocument.addEventListener(\"click\", a);\n\t\t});\n\t\treturn () => {\n\t\t\tclearTimeout(o), r !== null && cancelAnimationFrame(r), window.removeEventListener(\"scroll\", i, !0), window.removeEventListener(\"resize\", i), document.removeEventListener(\"click\", a);\n\t\t};\n\t}, [l]);\n\tlet T = (e, t) => x({\n\t\tanchorEl: e.currentTarget,\n\t\tel: t\n\t});\n\treturn /* @__PURE__ */ f(u, { children: [c.createPortal(/* @__PURE__ */ d(\"div\", {\n\t\tref: g,\n\t\tclassName: \"insert-character-dialog\",\n\t\t\"data-toolbar-for\": l.instanceId,\n\t\tstyle: {\n\t\t\tvisibility: v.top === 0 && v.left === 0 ? \"hidden\" : \"initial\",\n\t\t\tposition: \"fixed\",\n\t\t\ttop: `${v.top}px`,\n\t\t\tleft: `${v.left}px`,\n\t\t\tmaxWidth: \"500px\",\n\t\t\tzIndex: 1e3\n\t\t},\n\t\tchildren: /* @__PURE__ */ d(\"div\", { children: /* @__PURE__ */ d(p, {\n\t\t\tkeyPadCharacterRef: m.keyPadCharacterRef,\n\t\t\tsetKeypadInteraction: m.setKeypadInteraction,\n\t\t\tautoFocus: !0,\n\t\t\tnoDecimal: !0,\n\t\t\thideInput: !0,\n\t\t\tnoLatexHandling: !0,\n\t\t\thideDoneButtonBackground: !0,\n\t\t\tlayoutForKeyPad: C,\n\t\t\tadditionalKeys: S.characters.reduce((e, t) => (e = [...e, ...t.map((e) => ({\n\t\t\t\tname: s(e, \"name\") || e,\n\t\t\t\twrite: s(e, \"write\") || e,\n\t\t\t\tlabel: s(e, \"label\") || e,\n\t\t\t\tcategory: \"character\",\n\t\t\t\textraClass: \"character\",\n\t\t\t\textraProps: {\n\t\t\t\t\t...e.extraProps || {},\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\t...(e.extraProps || {}).style,\n\t\t\t\t\t\tborder: \"1px solid #000\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t...S.hasPreview ? { actions: {\n\t\t\t\t\tonMouseEnter: (t) => T(t, e),\n\t\t\t\t\tonMouseLeave: w\n\t\t\t\t} } : {}\n\t\t\t}))], e), []),\n\t\t\tkeypadMode: \"language\",\n\t\t\tonChange: (e) => {\n\t\t\t\ttypeof e == \"string\" && l.chain().focus().insertContent(e).run();\n\t\t\t},\n\t\t\tonDone: h\n\t\t}) })\n\t}), document.body), b && c.createPortal(/* @__PURE__ */ f(n, {\n\t\tonClose: w,\n\t\tanchorEl: b.anchorEl,\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ d(\"div\", { children: b.el.label }),\n\t\t\t/* @__PURE__ */ d(\"div\", {\n\t\t\t\tstyle: {\n\t\t\t\t\tfontSize: 20,\n\t\t\t\t\tlineHeight: \"20px\"\n\t\t\t\t},\n\t\t\t\tchildren: b.el.description\n\t\t\t}),\n\t\t\t/* @__PURE__ */ d(\"div\", {\n\t\t\t\tstyle: {\n\t\t\t\t\tfontSize: 20,\n\t\t\t\t\tlineHeight: \"20px\"\n\t\t\t\t},\n\t\t\t\tchildren: b.el.unicode\n\t\t\t})\n\t\t]\n\t}), document.body)] });\n}\nh.propTypes = {\n\teditor: l.object,\n\topts: l.object,\n\tonClose: l.func.isRequired\n};\n//#endregion\nexport { m as CharacterIcon, h as CharacterPicker };\n","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M15.6 10.79c.97-.67 1.65-1.77 1.65-2.79 0-2.26-1.75-4-4-4H7v14h7.04c2.09 0 3.71-1.7 3.71-3.79 0-1.52-.86-2.82-2.15-3.42M10 6.5h3c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5h-3zm3.5 9H10v-3h3.5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5\"\n}), 'FormatBold');","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M10 4v3h2.21l-3.42 8H6v3h8v-3h-2.21l3.42-8H18V4z\"\n}), 'FormatItalic');","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M10 19h4v-3h-4zM5 4v3h5v3h4V7h5V4zM3 14h18v-2H3z\"\n}), 'FormatStrikethrough');","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6z\"\n}), 'Code');","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2M8 20H4v-4h4zm0-6H4v-4h4zm0-6H4V4h4zm6 12h-4v-4h4zm0-6h-4v-4h4zm0-6h-4V4h4zm6 12h-4v-4h4zm0-6h-4v-4h4zm0-6h-4V4h4z\"\n}), 'GridOn');","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M4 10.5c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5m0-6c-.83 0-1.5.67-1.5 1.5S3.17 7.5 4 7.5 5.5 6.83 5.5 6 4.83 4.5 4 4.5m0 12c-.83 0-1.5.68-1.5 1.5s.68 1.5 1.5 1.5 1.5-.68 1.5-1.5-.67-1.5-1.5-1.5M7 19h14v-2H7zm0-6h14v-2H7zm0-8v2h14V5z\"\n}), 'FormatListBulleted');","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M2 17h2v.5H3v1h1v.5H2v1h3v-4H2zm1-9h1V4H2v1h1zm-1 3h1.8L2 13.1v.9h3v-1H3.2L5 10.9V10H2zm5-6v2h14V5zm0 14h14v-2H7zm0-6h14v-2H7z\"\n}), 'FormatListNumbered');","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M12 17c3.31 0 6-2.69 6-6V3h-2.5v8c0 1.93-1.57 3.5-3.5 3.5S8.5 12.93 8.5 11V3H6v8c0 3.31 2.69 6 6 6m-7 2v2h14v-2z\"\n}), 'FormatUnderlined');","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M18 4H6v2l6.5 6L6 18v2h12v-3h-7l5-5-5-5h7z\"\n}), 'Functions');","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2M8.5 13.5l2.5 3.01L14.5 12l4.5 6H5z\"\n}), 'Image');","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16c1.05-3.19 4.05-5.5 7.6-5.5 1.95 0 3.73.72 5.12 1.88L13 16h9V7z\"\n}), 'Redo');","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M6 17h3l2-4V7H5v6h3zm8 0h3l2-4V7h-6v6h3z\"\n}), 'FormatQuote');","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M18 3v2h-2V3H8v2H6V3H4v18h2v-2h2v2h8v-2h2v2h2V3zM8 17H6v-2h2zm0-4H6v-2h2zm0-4H6V7h2zm10 8h-2v-2h2zm0-4h-2v-2h2zm0-4h-2V7h2z\"\n}), 'Theaters');","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M3 9v6h4l5 5V4L7 9zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02M14 3.23v2.06c2.89.86 5 3.54 5 6.71s-2.11 5.85-5 6.71v2.06c4.01-.91 7-4.49 7-8.77s-2.99-7.86-7-8.77\"\n}), 'VolumeUp');","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M3 3v18h18V3zm8 16H5v-6h6zm0-8H5V5h6zm8 8h-6v-6h6zm0-8h-6V5h6z\"\n}), 'BorderAll');","import { PIE_TOOLBAR__CLASS as e } from \"../constants.js\";\nimport { DoneButton as t } from \"./common/done-button.js\";\nimport { clsx as n } from \"../node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.js\";\nimport { ToolbarIcon as r } from \"./respArea/ToolbarIcon.js\";\nimport { spanishConfig as i, specialConfig as a } from \"./characters/characterUtils.js\";\nimport o from \"./icons/TextAlign.js\";\nimport s from \"./icons/CssIcon.js\";\nimport { AddColumn as c, AddRow as l, RemoveColumn as u, RemoveRow as d, RemoveTable as f } from \"./icons/TableIcons.js\";\nimport { CharacterIcon as p, CharacterPicker as m } from \"./CharacterPicker.js\";\nimport { useMemo as h, useState as g } from \"react\";\nimport { useEditorState as _ } from \"@tiptap/react\";\nimport { styled as v, useTheme as y } from \"@mui/material/styles\";\nimport { NodeSelection as b } from \"prosemirror-state\";\nimport x from \"@mui/icons-material/Delete\";\nimport { jsx as S, jsxs as C } from \"react/jsx-runtime\";\nimport { color as w } from \"@pie-lib/render-ui\";\nimport T from \"@mui/icons-material/FormatBold\";\nimport E from \"@mui/icons-material/FormatItalic\";\nimport D from \"@mui/icons-material/FormatStrikethrough\";\nimport O from \"@mui/icons-material/Code\";\nimport k from \"@mui/icons-material/GridOn\";\nimport A from \"@mui/icons-material/FormatListBulleted\";\nimport j from \"@mui/icons-material/FormatListNumbered\";\nimport M from \"@mui/icons-material/FormatUnderlined\";\nimport N from \"@mui/icons-material/Functions\";\nimport P from \"@mui/icons-material/Image\";\nimport F from \"@mui/icons-material/Redo\";\nimport ee from \"@mui/icons-material/Undo\";\nimport I from \"@mui/icons-material/FormatQuote\";\nimport L from \"@mui/icons-material/Theaters\";\nimport R from \"@mui/icons-material/VolumeUp\";\nimport z from \"@mui/icons-material/BorderAll\";\n//#region src/components/MenuBar.tsx\nvar B = () => /* @__PURE__ */ S(\"svg\", {\n\txmlns: \"http://www.w3.org/2000/svg\",\n\theight: \"24px\",\n\tviewBox: \"0 0 24 24\",\n\twidth: \"24px\",\n\tfill: \"none\",\n\t\"aria-hidden\": \"true\",\n\tfocusable: \"false\",\n\tchildren: /* @__PURE__ */ S(\"path\", {\n\t\td: \"M22,7h-2v1h3v1h-4V7c0-0.55,0.45-1,1-1h2V5h-3V4h3c0.55,0,1,0.45,1,1v1C23,6.55,22.55,7,22,7z M5.88,20h2.66l3.4-5.42h0.12 l3.4,5.42h2.66l-4.65-7.27L17.81,6h-2.68l-3.07,4.99h-0.12L8.85,6H6.19l4.32,6.73L5.88,20z\",\n\t\tfill: \"currentColor\"\n\t})\n}), V = () => /* @__PURE__ */ S(\"svg\", {\n\txmlns: \"http://www.w3.org/2000/svg\",\n\theight: \"24px\",\n\tviewBox: \"0 0 24 24\",\n\twidth: \"24px\",\n\tfill: \"none\",\n\t\"aria-hidden\": \"true\",\n\tfocusable: \"false\",\n\tchildren: /* @__PURE__ */ S(\"path\", {\n\t\td: \"M22,18h-2v1h3v1h-4v-2c0-0.55,0.45-1,1-1h2v-1h-3v-1h3c0.55,0,1,0.45,1,1v1C23,17.55,22.55,18,22,18z M5.88,18h2.66 l3.4-5.42h0.12l3.4,5.42h2.66l-4.65-7.27L17.81,4h-2.68l-3.07,4.99h-0.12L8.85,4H6.19l4.32,6.73L5.88,18z\",\n\t\tfill: \"currentColor\"\n\t})\n}), H = () => /* @__PURE__ */ S(\"svg\", {\n\twidth: \"30\",\n\theight: \"28\",\n\tviewBox: \"0 0 30 28\",\n\tfill: \"none\",\n\txmlns: \"http://www.w3.org/2000/svg\",\n\tstyle: {\n\t\twidth: \"20px\",\n\t\theight: \"18px\"\n\t},\n\t\"aria-hidden\": \"true\",\n\tfocusable: \"false\",\n\tchildren: /* @__PURE__ */ S(\"path\", {\n\t\td: \"M27 4V24H29C29.5 24 30 24.5 30 25V27C30 27.5625 29.5 28 29 28H19C18.4375 28 18 27.5625 18 27V25C18 24.5 18.4375 24 19 24H21V16H9V24H11C11.5 24 12 24.5 12 25V27C12 27.5625 11.5 28 11 28H1C0.4375 28 0 27.5625 0 27V25C0 24.5 0.4375 24 1 24H3V4H1C0.4375 4 0 3.5625 0 3V1C0 0.5 0.4375 0 1 0H11C11.5 0 12 0.5 12 1V3C12 3.5625 11.5 4 11 4H9V12H21V4H19C18.4375 4 18 3.5625 18 3V1C18 0.5 18.4375 0 19 0H29C29.5 0 30 0.5 30 1V3C30 3.5625 29.5 4 29 4H27Z\",\n\t\tfill: \"currentColor\"\n\t})\n});\nfunction U({ editor: v, classes: y, activePlugins: w, toolbarOpts: U, responseAreaProps: W, onChange: G, autoWidthToolbar: K }) {\n\tlet [q, J] = g(!1), Y = U ?? {}, X = _({\n\t\teditor: v,\n\t\tselector: (e) => {\n\t\t\tlet { selection: t } = e.editor?.state || {}, n;\n\t\t\tif (!e.editor?.commandManager) return {};\n\t\t\tt instanceof b && (n = t.node);\n\t\t\tlet r = e.editor?.isActive(\"math\") || e.editor?.isActive(\"explicit_constructed_response\") || e.editor?.isActive(\"imageUploadNode\") || e.editor?.isActive(\"drag_in_the_blank\"), i = t && t.empty === !1 && e.editor.isActive(\"table\");\n\t\t\treturn {\n\t\t\t\tcurrentNode: n,\n\t\t\t\thideDefaultToolbar: r,\n\t\t\t\thasTextSelectionInTable: i,\n\t\t\t\tisFocused: e.editor?.isFocused,\n\t\t\t\ttoolbarOpened: e.editor?._toolbarOpened ?? !1,\n\t\t\t\tisBold: e.editor.isActive(\"bold\") ?? !1,\n\t\t\t\tcanBold: e.editor.can().chain().toggleBold().run() ?? !1,\n\t\t\t\tisTable: e.editor.isActive(\"table\") ?? !1,\n\t\t\t\ttableHasBorder: e.editor.getAttributes(\"table\")?.border === \"1\",\n\t\t\t\tcanTable: e.editor.can().chain().insertTable().run() ?? !1,\n\t\t\t\tisItalic: e.editor.isActive(\"italic\") ?? !1,\n\t\t\t\tcanItalic: e.editor.can().chain().toggleItalic().run() ?? !1,\n\t\t\t\tisStrike: e.editor.isActive(\"strike\") ?? !1,\n\t\t\t\tcanStrike: e.editor.can().chain().toggleStrike().run() ?? !1,\n\t\t\t\tisCode: e.editor.isActive(\"code\") ?? !1,\n\t\t\t\tcanCode: e.editor.can().chain().toggleCode().run() ?? !1,\n\t\t\t\tcanClearMarks: e.editor.can().chain().unsetAllMarks().run() ?? !1,\n\t\t\t\tisUnderline: e.editor.isActive(\"underline\") ?? !1,\n\t\t\t\tisSubScript: e.editor.isActive(\"subscript\") ?? !1,\n\t\t\t\tisSuperScript: e.editor.isActive(\"superscript\") ?? !1,\n\t\t\t\tisParagraph: e.editor.isActive(\"paragraph\") ?? !1,\n\t\t\t\tisHeading1: e.editor.isActive(\"heading\", { level: 1 }) ?? !1,\n\t\t\t\tisHeading2: e.editor.isActive(\"heading\", { level: 2 }) ?? !1,\n\t\t\t\tisHeading3: e.editor.isActive(\"heading\", { level: 3 }) ?? !1,\n\t\t\t\tisHeadingParagraph: e.editor.isActive(\"headingParagraph\") ?? !1,\n\t\t\t\tisHeading4: e.editor.isActive(\"heading\", { level: 4 }) ?? !1,\n\t\t\t\tisHeading5: e.editor.isActive(\"heading\", { level: 5 }) ?? !1,\n\t\t\t\tisHeading6: e.editor.isActive(\"heading\", { level: 6 }) ?? !1,\n\t\t\t\tisBulletList: e.editor.isActive(\"bulletList\") ?? !1,\n\t\t\t\tisOrderedList: e.editor.isActive(\"orderedList\") ?? !1,\n\t\t\t\tisCodeBlock: e.editor.isActive(\"codeBlock\") ?? !1,\n\t\t\t\tisBlockquote: e.editor.isActive(\"blockquote\") ?? !1,\n\t\t\t\tcanUndo: e.editor.can().chain().undo().run() ?? !1,\n\t\t\t\tcanRedo: e.editor.can().chain().redo().run() ?? !1\n\t\t\t};\n\t\t}\n\t}), Z = !!K, Q = n(y.toolbar, e, {\n\t\t[y.toolbarWithNoDone]: !0,\n\t\t[y.toolbarTop]: Y.position === \"top\",\n\t\t[y.toolbarRight]: Y.alignment === \"right\",\n\t\t[y.focused]: Y.alwaysVisible || X.isFocused && !X.toolbarOpened && !X.hideDefaultToolbar,\n\t\t[y.autoWidth]: Z,\n\t\t[y.fullWidth]: !Z,\n\t\t[y.hidden]: Y.isHidden === !0\n\t}), $ = Y.minWidth === void 0 ? {} : { minWidth: Y.minWidth }, te = (e) => {\n\t\te.preventDefault();\n\t}, ne = h(() => [\n\t\t{\n\t\t\ticon: /* @__PURE__ */ S(k, {}),\n\t\t\tlabel: \"Insert table\",\n\t\t\tonClick: (e) => e.chain().focus().insertTable({\n\t\t\t\trows: 2,\n\t\t\t\tcols: 2,\n\t\t\t\twithHeaderRow: !1\n\t\t\t}).run(),\n\t\t\thidden: (e) => !w?.includes(\"table\") || e.isTable,\n\t\t\tisActive: (e) => e.isTable,\n\t\t\tisDisabled: (e) => !e.canTable\n\t\t},\n\t\t{\n\t\t\ticon: /* @__PURE__ */ S(l, {}),\n\t\t\tlabel: \"Add table row\",\n\t\t\tonClick: (e) => e.chain().focus().addRowAfter().run(),\n\t\t\thidden: (e) => !(e.isTable && !e.hasTextSelectionInTable),\n\t\t\tisActive: (e) => e.isTable,\n\t\t\tisDisabled: (e) => !e.canTable\n\t\t},\n\t\t{\n\t\t\ticon: /* @__PURE__ */ S(d, {}),\n\t\t\tlabel: \"Remove table row\",\n\t\t\tonClick: (e) => e.chain().focus().deleteRow().run(),\n\t\t\thidden: (e) => !(e.isTable && !e.hasTextSelectionInTable),\n\t\t\tisActive: (e) => e.isTable,\n\t\t\tisDisabled: (e) => !e.canTable\n\t\t},\n\t\t{\n\t\t\ticon: /* @__PURE__ */ S(c, {}),\n\t\t\tlabel: \"Add table column\",\n\t\t\tonClick: (e) => e.chain().focus().addColumnAfter().run(),\n\t\t\thidden: (e) => !(e.isTable && !e.hasTextSelectionInTable),\n\t\t\tisActive: (e) => e.isTable,\n\t\t\tisDisabled: (e) => !e.canTable\n\t\t},\n\t\t{\n\t\t\ticon: /* @__PURE__ */ S(u, {}),\n\t\t\tlabel: \"Remove table column\",\n\t\t\tonClick: (e) => e.chain().focus().deleteColumn().run(),\n\t\t\thidden: (e) => !(e.isTable && !e.hasTextSelectionInTable),\n\t\t\tisActive: (e) => e.isTable,\n\t\t\tisDisabled: (e) => !e.canTable\n\t\t},\n\t\t{\n\t\t\ticon: /* @__PURE__ */ S(f, {}),\n\t\t\tlabel: \"Remove table\",\n\t\t\tonClick: (e) => e.chain().focus().deleteTable().run(),\n\t\t\thidden: (e) => !(e.isTable && !e.hasTextSelectionInTable),\n\t\t\tisActive: (e) => e.isTable,\n\t\t\tisDisabled: (e) => !e.canTable\n\t\t},\n\t\t{\n\t\t\ticon: /* @__PURE__ */ S(z, {}),\n\t\t\tlabel: \"Table borders\",\n\t\t\ttoggle: !0,\n\t\t\tonClick: (e) => {\n\t\t\t\tlet t = e.getAttributes(\"table\"), n = {\n\t\t\t\t\t...t,\n\t\t\t\t\tborder: t.border === \"0\" ? \"1\" : \"0\"\n\t\t\t\t};\n\t\t\t\te.commands.updateAttributes(\"table\", n);\n\t\t\t},\n\t\t\thidden: (e) => !(e.isTable && !e.hasTextSelectionInTable),\n\t\t\tisActive: (e) => e.tableHasBorder,\n\t\t\tisDisabled: (e) => !e.canTable\n\t\t},\n\t\t{\n\t\t\ticon: /* @__PURE__ */ S(T, {}),\n\t\t\tlabel: \"Bold\",\n\t\t\ttoggle: !0,\n\t\t\tonClick: (e) => e.chain().focus().toggleBold().run(),\n\t\t\thidden: () => !w?.includes(\"bold\"),\n\t\t\tisActive: (e) => e.isBold,\n\t\t\tisDisabled: (e) => !e.canBold\n\t\t},\n\t\t{\n\t\t\ticon: /* @__PURE__ */ S(E, {}),\n\t\t\tlabel: \"Italic\",\n\t\t\ttoggle: !0,\n\t\t\tonClick: (e) => e.chain().focus().toggleItalic().run(),\n\t\t\thidden: () => !w?.includes(\"italic\"),\n\t\t\tisActive: (e) => e.isItalic,\n\t\t\tisDisabled: (e) => !e.canItalic\n\t\t},\n\t\t{\n\t\t\ticon: /* @__PURE__ */ S(D, {}),\n\t\t\tlabel: \"Strikethrough\",\n\t\t\ttoggle: !0,\n\t\t\tonClick: (e) => e.chain().focus().toggleStrike().run(),\n\t\t\thidden: () => !w?.includes(\"strikethrough\"),\n\t\t\tisActive: (e) => e.isStrike,\n\t\t\tisDisabled: (e) => !e.canStrike\n\t\t},\n\t\t{\n\t\t\ticon: /* @__PURE__ */ S(O, {}),\n\t\t\tlabel: \"Code\",\n\t\t\ttoggle: !0,\n\t\t\tonClick: (e) => e.chain().focus().toggleCode().run(),\n\t\t\thidden: () => !w?.includes(\"code\"),\n\t\t\tisActive: (e) => e.isCode,\n\t\t\tisDisabled: (e) => !e.canCode\n\t\t},\n\t\t{\n\t\t\ticon: /* @__PURE__ */ S(M, {}),\n\t\t\tlabel: \"Underline\",\n\t\t\ttoggle: !0,\n\t\t\tonClick: (e) => e.chain().focus().toggleUnderline().run(),\n\t\t\thidden: () => !w?.includes(\"underline\"),\n\t\t\tisActive: (e) => e.isUnderline\n\t\t},\n\t\t{\n\t\t\ticon: /* @__PURE__ */ S(V, {}),\n\t\t\tlabel: \"Subscript\",\n\t\t\ttoggle: !0,\n\t\t\tonClick: (e) => e.chain().focus().toggleSubscript().run(),\n\t\t\thidden: () => !w?.includes(\"subscript\"),\n\t\t\tisActive: (e) => e.isSubScript\n\t\t},\n\t\t{\n\t\t\ticon: /* @__PURE__ */ S(B, {}),\n\t\t\tlabel: \"Superscript\",\n\t\t\ttoggle: !0,\n\t\t\tonClick: (e) => e.chain().focus().toggleSuperscript().run(),\n\t\t\thidden: () => !w?.includes(\"superscript\"),\n\t\t\tisActive: (e) => e.isSuperScript\n\t\t},\n\t\t{\n\t\t\ticon: /* @__PURE__ */ S(P, {}),\n\t\t\tlabel: \"Insert image\",\n\t\t\thidden: () => !w?.includes(\"image\"),\n\t\t\tonClick: (e) => e.chain().focus().setImageUploadNode().run()\n\t\t},\n\t\t{\n\t\t\ticon: /* @__PURE__ */ S(L, {}),\n\t\t\tlabel: \"Insert video\",\n\t\t\thidden: () => !w?.includes(\"video\"),\n\t\t\tonClick: (e) => e.chain().focus().insertMedia({ type: \"video\" }).run()\n\t\t},\n\t\t{\n\t\t\ticon: /* @__PURE__ */ S(R, {}),\n\t\t\tlabel: \"Insert audio\",\n\t\t\thidden: () => !w?.includes(\"audio\"),\n\t\t\tonClick: (e) => e.chain().focus().insertMedia({\n\t\t\t\ttype: \"audio\",\n\t\t\t\ttag: \"audio\"\n\t\t\t}).run()\n\t\t},\n\t\t{\n\t\t\ticon: /* @__PURE__ */ S(s, {}),\n\t\t\tlabel: \"CSS classes\",\n\t\t\thidden: () => !w?.includes(\"css\"),\n\t\t\tonClick: (e) => e.commands.openCSSClassDialog()\n\t\t},\n\t\t{\n\t\t\ticon: /* @__PURE__ */ S(I, {}),\n\t\t\tlabel: \"Blockquote\",\n\t\t\ttoggle: !0,\n\t\t\thidden: () => !w?.includes(\"blockquote\"),\n\t\t\tonClick: (e) => e.chain().focus().toggleBlockquote().run(),\n\t\t\tisActive: (e) => e.isBlockquote\n\t\t},\n\t\t{\n\t\t\ticon: /* @__PURE__ */ S(H, {}),\n\t\t\tlabel: \"Heading\",\n\t\t\ttoggle: !0,\n\t\t\thidden: () => !w?.includes(\"h3\"),\n\t\t\tonClick: (e) => e.chain().focus().toggleHeadingParagraph().run(),\n\t\t\tisActive: (e) => e.isHeadingParagraph\n\t\t},\n\t\t{\n\t\t\ticon: /* @__PURE__ */ S(N, {}),\n\t\t\tlabel: \"Insert math\",\n\t\t\thidden: () => !w?.includes(\"math\"),\n\t\t\tonClick: (e) => e.chain().focus().insertMath(\"\").run()\n\t\t},\n\t\t{\n\t\t\ticon: /* @__PURE__ */ S(p, { letter: \"ñ\" }),\n\t\t\tlabel: \"Spanish characters (ñ)\",\n\t\t\thidden: () => !w?.includes(\"languageCharacters\"),\n\t\t\tonClick: () => J(i)\n\t\t},\n\t\t{\n\t\t\ticon: /* @__PURE__ */ S(p, { letter: \"€\" }),\n\t\t\tlabel: \"Special characters (€)\",\n\t\t\thidden: () => w?.filter((e) => e === \"languageCharacters\").length !== 2,\n\t\t\tonClick: () => J(a)\n\t\t},\n\t\t{\n\t\t\ticon: /* @__PURE__ */ S(o, { editor: v }),\n\t\t\tlabel: \"Text alignment\",\n\t\t\thidden: () => !w?.includes(\"text-align\"),\n\t\t\tonClick: () => {}\n\t\t},\n\t\t{\n\t\t\ticon: /* @__PURE__ */ S(A, {}),\n\t\t\tlabel: \"Bulleted list\",\n\t\t\ttoggle: !0,\n\t\t\thidden: () => !w?.includes(\"bulleted-list\"),\n\t\t\tonClick: (e) => e.chain().focus().toggleBulletList().run(),\n\t\t\tisActive: (e) => e.isBulletList\n\t\t},\n\t\t{\n\t\t\ticon: /* @__PURE__ */ S(j, {}),\n\t\t\tlabel: \"Numbered list\",\n\t\t\ttoggle: !0,\n\t\t\thidden: () => !w?.includes(\"numbered-list\"),\n\t\t\tonClick: (e) => e.chain().focus().toggleOrderedList().run(),\n\t\t\tisActive: (e) => e.isOrderedList\n\t\t},\n\t\t{\n\t\t\ticon: /* @__PURE__ */ S(ee, {}),\n\t\t\tlabel: \"Undo\",\n\t\t\thidden: () => !w?.includes(\"undo\"),\n\t\t\tonClick: (e) => e.chain().focus().undo().run(),\n\t\t\tisDisabled: (e) => !e.canUndo\n\t\t},\n\t\t{\n\t\t\ticon: /* @__PURE__ */ S(F, {}),\n\t\t\tlabel: \"Redo\",\n\t\t\thidden: () => !w?.includes(\"redo\"),\n\t\t\tonClick: (e) => e.chain().focus().redo().run(),\n\t\t\tisDisabled: (e) => !e.canRedo\n\t\t}\n\t], [w, v]), re = X.hideDefaultToolbar && X.currentNode?.type?.name === \"drag_in_the_blank\";\n\treturn /* @__PURE__ */ C(\"div\", {\n\t\tclassName: Q,\n\t\tstyle: { ...$ },\n\t\tonMouseDown: te,\n\t\tchildren: [\n\t\t\tre && /* @__PURE__ */ S(\"div\", {\n\t\t\t\tclassName: y.defaultToolbar,\n\t\t\t\ttabIndex: \"1\",\n\t\t\t\tchildren: /* @__PURE__ */ S(\"div\", {\n\t\t\t\t\tclassName: y.buttonsContainer,\n\t\t\t\t\tchildren: /* @__PURE__ */ S(\"button\", {\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\tclassName: y.button,\n\t\t\t\t\t\tonClick: (e) => {\n\t\t\t\t\t\t\te.preventDefault(), v.chain().focus().deleteSelection().run(), G?.(v.getHTML());\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"aria-label\": \"Delete response area\",\n\t\t\t\t\t\ttitle: \"Delete response area\",\n\t\t\t\t\t\tchildren: /* @__PURE__ */ S(x, {})\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t}),\n\t\t\t!X.hideDefaultToolbar && /* @__PURE__ */ C(\"div\", {\n\t\t\t\tclassName: y.defaultToolbar,\n\t\t\t\ttabIndex: \"1\",\n\t\t\t\tchildren: [\n\t\t\t\t\t/* @__PURE__ */ S(\"div\", {\n\t\t\t\t\t\tclassName: y.buttonsContainer,\n\t\t\t\t\t\tchildren: ne.filter((e) => !e.hidden?.(X)).map((e, t) => {\n\t\t\t\t\t\t\tlet r = e.isDisabled?.(X), i = e.isActive?.(X);\n\t\t\t\t\t\t\treturn /* @__PURE__ */ S(\"button\", {\n\t\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\t\tdisabled: r,\n\t\t\t\t\t\t\t\t\"aria-label\": e.label,\n\t\t\t\t\t\t\t\ttitle: e.label,\n\t\t\t\t\t\t\t\t\"aria-pressed\": e.toggle ? !!i : void 0,\n\t\t\t\t\t\t\t\tonClick: (t) => {\n\t\t\t\t\t\t\t\t\tt.preventDefault(), e.onClick(v);\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tclassName: n(y.button, { [y.active]: i }),\n\t\t\t\t\t\t\t\tchildren: e.icon\n\t\t\t\t\t\t\t}, t);\n\t\t\t\t\t\t})\n\t\t\t\t\t}),\n\t\t\t\t\tw?.includes(\"responseArea\") && /* @__PURE__ */ S(\"button\", {\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\"aria-label\": \"Insert response area\",\n\t\t\t\t\t\ttitle: \"Insert response area\",\n\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\tv.chain().focus().insertResponseArea(W.type).run();\n\t\t\t\t\t\t},\n\t\t\t\t\t\tclassName: y.button,\n\t\t\t\t\t\tchildren: /* @__PURE__ */ S(r, {})\n\t\t\t\t\t}),\n\t\t\t\t\tY.showDone && /* @__PURE__ */ S(t, { onClick: () => {\n\t\t\t\t\t\tG?.(v.getHTML()), v.commands.blur();\n\t\t\t\t\t} })\n\t\t\t\t]\n\t\t\t}),\n\t\t\tq && /* @__PURE__ */ S(m, {\n\t\t\t\teditor: v,\n\t\t\t\topts: {\n\t\t\t\t\t...q,\n\t\t\t\t\trenderPopOver: (e, t) => console.log(\"Show popover\", t),\n\t\t\t\t\tclosePopOver: () => console.log(\"Close popover\")\n\t\t\t\t},\n\t\t\t\tonClose: () => J(!1)\n\t\t\t})\n\t\t]\n\t});\n}\nvar W = (e) => {\n\ty();\n\tlet t = {\n\t\tdefaultToolbar: \"defaultToolbar\",\n\t\tbuttonsContainer: \"buttonsContainer\",\n\t\tbutton: \"toolbarButton\",\n\t\tactive: \"active\",\n\t\tdisabled: \"disabled\",\n\t\tisActive: \"isActive\",\n\t\ttoolbar: \"toolbar\",\n\t\ttoolbarWithNoDone: \"toolbarWithNoDone\",\n\t\ttoolbarTop: \"toolbarTop\",\n\t\ttoolbarRight: \"toolbarRight\",\n\t\tfullWidth: \"fullWidth\",\n\t\thidden: \"hidden\",\n\t\tautoWidth: \"autoWidth\",\n\t\tfocused: \"focused\",\n\t\ticonRoot: \"iconRoot\",\n\t\tlabel: \"label\",\n\t\tshared: \"shared\"\n\t};\n\treturn /* @__PURE__ */ S(G, { children: /* @__PURE__ */ S(U, {\n\t\t...e,\n\t\tclasses: t\n\t}) });\n}, G = v(\"div\")(() => ({\n\theight: 0,\n\toverflow: \"visible\",\n\t\"& .defaultToolbar\": {\n\t\tdisplay: \"flex\",\n\t\twidth: \"100%\",\n\t\tjustifyContent: \"space-between\"\n\t},\n\t\"& .buttonsContainer\": {\n\t\talignItems: \"center\",\n\t\tdisplay: \"flex\",\n\t\twidth: \"100%\"\n\t},\n\t\"& .toolbarButton\": {\n\t\tcolor: \"grey\",\n\t\tdisplay: \"inline-flex\",\n\t\tpadding: \"2px\",\n\t\tbackground: \"none\",\n\t\tborder: \"none\",\n\t\tcursor: \"pointer\",\n\t\t\"& svg\": {\n\t\t\twidth: \"24px\",\n\t\t\theight: \"24px\"\n\t\t},\n\t\t\"&:hover\": { color: w.text() },\n\t\t\"&:focus\": { outline: `2px solid ${w.buttonFocusOutline()}` }\n\t},\n\t\"& .active\": { color: w.text() },\n\t\"& .disabled\": {\n\t\topacity: .7,\n\t\tcursor: \"not-allowed\",\n\t\t\"& :hover\": { color: w.disabled() }\n\t},\n\t\"& .isActive\": {\n\t\tbackground: \"var(--purple)\",\n\t\tcolor: \"var(--white)\"\n\t},\n\t\"& .toolbar\": {\n\t\tposition: \"relative\",\n\t\ttop: \"5px\",\n\t\tzIndex: 20,\n\t\tcursor: \"pointer\",\n\t\tjustifyContent: \"space-between\",\n\t\tbackground: \"var(--editable-html-toolbar-bg, #efefef)\",\n\t\tminWidth: \"280px\",\n\t\tmargin: 0,\n\t\tpadding: \"2px\",\n\t\tboxShadow: \"0px 1px 5px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 3px 1px -2px rgba(0, 0, 0, 0.12)\",\n\t\tboxSizing: \"border-box\",\n\t\tdisplay: \"flex\",\n\t\topacity: 0,\n\t\tpointerEvents: \"none\"\n\t},\n\t\"& .toolbarWithNoDone\": { minWidth: \"265px\" },\n\t\"& .toolbarTop\": {\n\t\tposition: \"absolute\",\n\t\ttop: \"-45px\"\n\t},\n\t\"& .toolbarRight\": { right: 0 },\n\t\"& .fullWidth\": {\n\t\twidth: \"fit-content\",\n\t\tminWidth: \"100%\"\n\t},\n\t\"& .hidden\": { visibility: \"hidden\" },\n\t\"& .autoWidth\": { width: \"fit-content\" },\n\t\"& .focused\": {\n\t\topacity: 1,\n\t\tpointerEvents: \"auto\"\n\t},\n\t\"& .iconRoot\": {\n\t\twidth: \"28px\",\n\t\theight: \"28px\",\n\t\tpadding: \"4px\",\n\t\tverticalAlign: \"top\"\n\t},\n\t\"& .label\": { color: \"var(--editable-html-toolbar-check, #00bb00)\" },\n\t\"& .shared\": { display: \"flex\" }\n}));\n//#endregion\nexport { W as default };\n","import { valueToSize as e } from \"../utils/size.js\";\nimport t from \"./MenuBar.js\";\nimport { useEffect as n, useMemo as r, useRef as i, useState as a } from \"react\";\nimport { styled as o } from \"@mui/material/styles\";\nimport { jsx as s, jsxs as c } from \"react/jsx-runtime\";\nimport { color as l } from \"@pie-lib/render-ui\";\n//#region src/components/TiptapContainer.tsx\nvar u = o(\"div\", { shouldForwardProp: (e) => ![\"noBorder\", \"error\"].includes(e) })(({ theme: e, noBorder: t, error: n }) => ({\n\tposition: \"relative\",\n\tpadding: \"0px\",\n\tborder: t ? \"none\" : \"1px solid #ccc\",\n\tborderRadius: \"4px\",\n\tcursor: \"text\",\n\t\"& [data-slate-editor=\\\"true\\\"]\": {\n\t\twordBreak: \"break-word\",\n\t\toverflow: \"visible\",\n\t\tmaxHeight: \"500px\",\n\t\tpadding: \"5px\"\n\t},\n\t\"&:first-child\": { marginTop: 0 },\n\t\"& ul, & ol\": {\n\t\tpadding: \"0 1rem\",\n\t\tmargin: \"1.25rem 1rem 1.25rem 0.4rem\"\n\t},\n\t\"& ul li p, & ol li p\": {\n\t\tmarginTop: \"0.25em\",\n\t\tmarginBottom: \"0.25em\"\n\t},\n\t\"& h1, & h2, & h3, & h4, & h5, & h6\": {\n\t\tlineHeight: 1.1,\n\t\tmarginTop: \"2.5rem\",\n\t\ttextWrap: \"pretty\"\n\t},\n\t\"& h1, & h2\": {\n\t\tmarginTop: \"3.5rem\",\n\t\tmarginBottom: \"1.5rem\"\n\t},\n\t\"& h1\": { fontSize: \"1.4rem\" },\n\t\"& h2\": { fontSize: \"1.2rem\" },\n\t\"& h3\": { fontSize: \"1.1rem\" },\n\t\"& h4, & h5, & h6\": { fontSize: \"1rem\" },\n\t\"& code\": {\n\t\tbackgroundColor: \"var(--purple-light)\",\n\t\tborderRadius: \"0.4rem\",\n\t\tcolor: \"var(--black)\",\n\t\tfontSize: \"0.85rem\",\n\t\tpadding: \"0.25em 0.3em\"\n\t},\n\t\"& pre\": {\n\t\tbackground: \"var(--black)\",\n\t\tborderRadius: \"0.5rem\",\n\t\tcolor: \"var(--white)\",\n\t\tfontFamily: \"'JetBrainsMono', monospace\",\n\t\tmargin: \"1.5rem 0\",\n\t\tpadding: \"0.75rem 1rem\",\n\t\t\"& code\": {\n\t\t\tbackground: \"none\",\n\t\t\tcolor: \"inherit\",\n\t\t\tfontSize: \"0.8rem\",\n\t\t\tpadding: 0\n\t\t}\n\t},\n\t\"& blockquote\": {\n\t\tbackground: \"#f9f9f9\",\n\t\tborderLeft: \"5px solid #ccc\",\n\t\tmargin: \"1.5em 10px\",\n\t\tpadding: \".5em 10px\"\n\t},\n\t\"& p\": { margin: \"0\" },\n\t\"& table\": {\n\t\ttableLayout: \"fixed\",\n\t\twidth: \"100%\",\n\t\tborderCollapse: \"collapse\",\n\t\tcolor: l.text(),\n\t\tbackgroundColor: l.background()\n\t},\n\t\"& table:not([border=\\\"1\\\"]) tr\": { borderTop: `1px solid ${l.tableGridLight()}` },\n\t\"& td, th\": {\n\t\tpadding: \".6em 1em\",\n\t\ttextAlign: \"center\"\n\t},\n\t\"& table:not([border=\\\"1\\\"]) td, th\": { border: `1px solid ${l.tableGridLight()}` },\n\t...n && { border: `2px solid ${e.palette.error.main} !important` }\n})), d = o(\"div\", { shouldForwardProp: (e) => ![\"disableScrollbar\", \"highlightShape\"].includes(e) })(({ theme: e, disableScrollbar: t, highlightShape: n }) => ({\n\tposition: \"relative\",\n\tpadding: \"0px\",\n\toverflowY: \"auto\",\n\tcolor: l.text(),\n\tbackgroundColor: n ? e.palette.action.selected : l.background(),\n\t...t && {\n\t\t\"&::-webkit-scrollbar\": { display: \"none\" },\n\t\tscrollbarWidth: \"none\",\n\t\t\"-ms-overflow-style\": \"none\"\n\t}\n})), f = o(\"div\", { shouldForwardProp: (e) => e !== \"noPadding\" })(({ noPadding: e }) => ({ padding: e ? 0 : \"10px 8px\" }));\nfunction p(o) {\n\tlet [l, p] = a(null), m = i(null), { editor: h, disabled: g, children: _, disableScrollbar: v, activePlugins: y, toolbarOpts: b, responseAreaProps: x, autoFocus: S, minWidth: C, width: w, maxWidth: T, minHeight: E, height: D, maxHeight: O, highlightShape: k, ref: A } = o;\n\tn(() => {\n\t\th && m.current && (h._tiptapContainerEl = m.current);\n\t}, [h, m.current]), n(() => {\n\t\th && S && Promise.resolve().then(() => {\n\t\t\th.commands.focus(\"end\");\n\t\t});\n\t}, [h, S]), n(() => {\n\t\tif (o.adjustWidthForLimit) {\n\t\t\tlet e = document.createElement(\"p\");\n\t\t\te.style.visibility = \"hidden\", e.style.position = \"absolute\", e.style.whiteSpace = \"nowrap\", e.textContent = \"W\".repeat(o.charactersLimit);\n\t\t\tlet t = window.getComputedStyle(m.current);\n\t\t\t[\n\t\t\t\t\"fontFamily\",\n\t\t\t\t\"fontSize\",\n\t\t\t\t\"fontWeight\",\n\t\t\t\t\"fontStyle\",\n\t\t\t\t\"letterSpacing\",\n\t\t\t\t\"wordSpacing\",\n\t\t\t\t\"textTransform\",\n\t\t\t\t\"lineHeight\"\n\t\t\t].forEach((n) => {\n\t\t\t\te.style[n] = t[n];\n\t\t\t}), document.body.appendChild(e), p(`${e.offsetWidth + 27}px`), e.remove();\n\t\t}\n\t}, [o.adjustWidthForLimit, o.charactersLimit]);\n\tlet j = r(() => ({\n\t\twidth: e(l || w),\n\t\tminWidth: e(C),\n\t\tmaxWidth: e(T),\n\t\theight: e(D),\n\t\tminHeight: e(E),\n\t\tmaxHeight: e(O)\n\t}), [\n\t\tl,\n\t\tC,\n\t\tw,\n\t\tT,\n\t\tE,\n\t\tD,\n\t\tO\n\t]);\n\treturn /* @__PURE__ */ c(u, {\n\t\tnoBorder: b && b.noBorder,\n\t\terror: b && b.error,\n\t\tclassName: o.className,\n\t\tstyle: {\n\t\t\twidth: j.width,\n\t\t\tminWidth: j.minWidth,\n\t\t\tmaxWidth: j.maxWidth\n\t\t},\n\t\tref: m,\n\t\tchildren: [/* @__PURE__ */ s(d, {\n\t\t\tdisableScrollbar: v,\n\t\t\thighlightShape: k,\n\t\t\tchildren: /* @__PURE__ */ s(f, {\n\t\t\t\tnoPadding: b && b.noPadding,\n\t\t\t\tchildren: _\n\t\t\t})\n\t\t}), h && /* @__PURE__ */ s(t, {\n\t\t\teditor: h,\n\t\t\tresponseAreaProps: x,\n\t\t\ttoolbarOpts: b,\n\t\t\tactivePlugins: y,\n\t\t\tonChange: o.onChange,\n\t\t\tautoWidthToolbar: o.autoWidthToolbar\n\t\t})]\n\t});\n}\n//#endregion\nexport { p as default };\n","import { normalizeInitialMarkup as e } from \"../utils/helper.js\";\nimport t from \"../extensions/extended-table.js\";\nimport { ExtendedTableCell as n, ExtendedTableHeader as r } from \"../extensions/extended-table-cell.js\";\nimport { DivNode as i } from \"../extensions/div-node.js\";\nimport { EnsureEmptyRootIsDiv as a } from \"../extensions/ensure-empty-root-div.js\";\nimport { EnsureListItemContentIsDiv as o } from \"../extensions/ensure-list-item-content-is-div.js\";\nimport { DragInTheBlankNode as s, ExplicitConstructedResponseNode as c, InlineDropdownNode as l, MathTemplatedNode as u, ResponseAreaExtension as ee } from \"../extensions/responseArea.js\";\nimport { MathNode as te } from \"../extensions/math.js\";\nimport { ImageUploadNode as d } from \"../extensions/image.js\";\nimport { Media as f } from \"../extensions/media.js\";\nimport { CSSMark as ne } from \"../extensions/css.js\";\nimport { ExtendedListItem as p } from \"../extensions/extended-list-item.js\";\nimport { HeadingParagraph as re } from \"../extensions/heading-paragraph.js\";\nimport { valueToSize as m } from \"../utils/size.js\";\nimport h from \"./TiptapContainer.js\";\nimport { PLUGINS_MAP as g, buildExtensions as _ } from \"../extensions/index.js\";\nimport { useCallback as v, useEffect as y, useMemo as b, useState as x } from \"react\";\nimport { debounce as S } from \"@pie-element/shared-lodash\";\nimport { EditorContent as C, useEditor as w, useEditorState as T } from \"@tiptap/react\";\nimport { styled as E } from \"@mui/material/styles\";\nimport D from \"@tiptap/starter-kit\";\nimport { TextStyleKit as O } from \"@tiptap/extension-text-style\";\nimport { CharacterCount as k } from \"@tiptap/extension-character-count\";\nimport A from \"@tiptap/extension-superscript\";\nimport j from \"@tiptap/extension-subscript\";\nimport M from \"@tiptap/extension-text-align\";\nimport N from \"@tiptap/extension-image\";\nimport P from \"@tiptap/extension-placeholder\";\nimport { TableRow as F } from \"@tiptap/extension-table-row\";\nimport { jsx as I } from \"react/jsx-runtime\";\n//#region src/components/EditableHtml.tsx\nvar ie = {\n\tposition: \"bottom\",\n\talignment: \"left\",\n\talwaysVisible: !1,\n\tshowDone: !0,\n\tdoneOn: \"blur\"\n}, L = {\n\toptions: {},\n\trespAreaToolbar: () => {},\n\tonHandleAreaChange: () => {}\n}, R = [\n\t\"bold\",\n\t\"italic\",\n\t\"underline\",\n\t\"strikethrough\",\n\t\"code\",\n\t\"bulleted-list\",\n\t\"numbered-list\",\n\t\"image\",\n\t\"math\",\n\t\"languageCharacters\",\n\t\"text-align\",\n\t\"table\",\n\t\"video\",\n\t\"audio\",\n\t\"responseArea\",\n\t\"superscript\",\n\t\"subscript\",\n\t\"css\",\n\t\"h3\",\n\t\"undo\",\n\t\"redo\"\n], z = {\n\t\"--white\": \"#fff\",\n\t\"--black\": \"#2e2b29\",\n\t\"--black-contrast\": \"#110f0e\",\n\t\"--gray-1\": \"rgba(61, 37, 20, .05)\",\n\t\"--gray-2\": \"rgba(61, 37, 20, .08)\",\n\t\"--gray-3\": \"rgba(61, 37, 20, .12)\",\n\t\"--gray-4\": \"rgba(53, 38, 28, .3)\",\n\t\"--gray-5\": \"rgba(28, 25, 23, .6)\",\n\t\"--green\": \"#22c55e\",\n\t\"--purple\": \"#6a00f5\",\n\t\"--purple-contrast\": \"#5800cc\",\n\t\"--purple-light\": \"rgba(88, 5, 255, .05)\",\n\t\"--yellow-contrast\": \"#facc15\",\n\t\"--yellow\": \"rgba(250, 204, 21, .4)\",\n\t\"--yellow-light\": \"#fffae5\",\n\t\"--red\": \"#ff5c33\",\n\t\"--red-light\": \"#ffebe5\",\n\t\"--shadow\": \"0px 12px 33px 0px rgba(0, 0, 0, .06),\\n 0px 3.618px 9.949px 0px rgba(0, 0, 0, .04)\"\n}, B = (e) => ({\n\trole: \"textbox\",\n\t\"data-pie-editor\": \"true\",\n\tspellcheck: e ? \"true\" : \"false\",\n\tautocorrect: e ? \"on\" : \"off\",\n\tautocapitalize: e ? \"on\" : \"off\"\n}), V = (C) => {\n\tlet { showParagraphs: E, separateParagraphs: V } = C.pluginProps || {}, [ae, U] = x([]), [W, G] = x(!1), { toolbarOpts: K } = C, q = v((e) => {\n\t\tU((t) => {\n\t\t\tlet n = t.filter((t) => t.pos !== e);\n\t\t\treturn n.length === 0 && G(!1), n;\n\t\t});\n\t}, [U]), J = {\n\t\t...ie,\n\t\t...K\n\t}, Y = v((e) => {\n\t\tlet t = e.getHTML();\n\t\tC.markup !== t && C.onChange?.(t), J.doneOn === \"blur\" && C.onDone?.(t);\n\t}, [\n\t\tC.markup,\n\t\tC.onChange,\n\t\tC.onDone,\n\t\tJ.doneOn\n\t]), X = b(() => ({\n\t\t...L,\n\t\t...C.responseAreaProps,\n\t\tonInlineDropdownToolbarClose: Y\n\t}), [C.responseAreaProps, Y]), oe = b(() => {\n\t\tlet { customPlugins: e, ...t } = C.pluginProps || {};\n\t\te ||= [];\n\t\tlet n = (C.activePlugins || R)?.filter((e) => {\n\t\t\tlet n = g[e] || e, r = t[n] || {};\n\t\t\treturn !r || !r.disabled;\n\t\t});\n\t\treturn _(n, e, {\n\t\t\tmath: {},\n\t\t\ttextAlign: C.textAlign,\n\t\t\thtml: {},\n\t\t\textraCSSRules: C.extraCSSRules || {},\n\t\t\timage: { ...C.imageSupport },\n\t\t\ttoolbar: {},\n\t\t\ttable: {},\n\t\t\tresponseArea: { type: X.type },\n\t\t\tlanguageCharacters: C.languageCharactersProps,\n\t\t\tkeyPadCharacterRef: {},\n\t\t\tsetKeypadInteraction: {},\n\t\t\tmedia: {}\n\t\t});\n\t}, [C, X.type]), se = [\n\t\tM.configure({\n\t\t\ttypes: [\n\t\t\t\t\"heading\",\n\t\t\t\t\"paragraph\",\n\t\t\t\t\"div\",\n\t\t\t\t\"headingParagraph\",\n\t\t\t\t\"h1\",\n\t\t\t\t\"h2\",\n\t\t\t\t\"h3\",\n\t\t\t\t\"h4\",\n\t\t\t\t\"h5\",\n\t\t\t\t\"h6\",\n\t\t\t\t\"td\",\n\t\t\t\t\"th\"\n\t\t\t],\n\t\t\talignments: [\n\t\t\t\t\"left\",\n\t\t\t\t\"right\",\n\t\t\t\t\"center\",\n\t\t\t\t\"justify\"\n\t\t\t]\n\t\t}),\n\t\tO,\n\t\tk.configure({ limit: C.charactersLimit || 1e6 }),\n\t\tD.configure({\n\t\t\ttrailingNode: {\n\t\t\t\tnode: \"paragraph\",\n\t\t\t\tnotAfter: [\"paragraph\", \"div\"]\n\t\t\t},\n\t\t\tlink: {\n\t\t\t\tautolink: !1,\n\t\t\t\tlinkOnPaste: !1\n\t\t\t}\n\t\t}),\n\t\tp,\n\t\ti,\n\t\tre,\n\t\ta,\n\t\to,\n\t\tP.configure({\n\t\t\tplaceholder: C.placeholder,\n\t\t\tshowOnlyWhenEditable: !0,\n\t\t\tshowOnlyCurrent: !1,\n\t\t\tincludeChildren: !0\n\t\t}),\n\t\tt,\n\t\tF,\n\t\tr,\n\t\tn,\n\t\tee.configure(X),\n\t\tc.configure(X),\n\t\ts.configure(X),\n\t\tl.configure(X),\n\t\tu.configure(X),\n\t\tte.configure({\n\t\t\ttoolbarOpts: J,\n\t\t\tmath: C.pluginProps?.math || {}\n\t\t}),\n\t\tj,\n\t\tA,\n\t\tN,\n\t\td.configure({\n\t\t\ttoolbarOpts: J,\n\t\t\timageHandling: {\n\t\t\t\tdisableImageAlignmentButtons: C.disableImageAlignmentButtons,\n\t\t\t\tonDone: (e) => C.onDone?.(e.getHTML()),\n\t\t\t\tonDelete: C.imageSupport && C.imageSupport.delete && ((e) => {\n\t\t\t\t\tlet { src: t } = e.attrs;\n\t\t\t\t\tC.imageSupport.delete(t, (t) => {\n\t\t\t\t\t\tq(e.pos);\n\t\t\t\t\t});\n\t\t\t\t}),\n\t\t\t\tinsertImageRequested: C.imageSupport && ((e, t, n) => {\n\t\t\t\t\tlet [r, i] = t, a = (t) => {\n\t\t\t\t\t\tlet n;\n\t\t\t\t\t\tW && t && (n = C.onChange), q(i), n?.(e.getHTML());\n\t\t\t\t\t};\n\t\t\t\t\te._insertingImage = !0, U((e) => [...e, r]), (() => {\n\t\t\t\t\t\tlet t = n(a), r = S(() => {\n\t\t\t\t\t\t\tlet t = () => window.removeEventListener(\"focus\", r);\n\t\t\t\t\t\t\tif (!e._insertingImage) {\n\t\t\t\t\t\t\t\tt();\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tq(i), e._insertingImage = !1, t();\n\t\t\t\t\t\t}, 500);\n\t\t\t\t\t\twindow.addEventListener(\"focus\", r), C.imageSupport.add(t);\n\t\t\t\t\t})();\n\t\t\t\t}),\n\t\t\t\tmaxImageWidth: C.maxImageWidth,\n\t\t\t\tmaxImageHeight: C.maxImageHeight\n\t\t\t},\n\t\t\tlimit: 3\n\t\t}),\n\t\tf.configure({ uploadSoundSupport: C.uploadSoundSupport }),\n\t\tne.configure({ extraCSSRules: C.extraCSSRules })\n\t], Z = C.spellCheck !== !1, Q = w({\n\t\textensions: se,\n\t\timmediatelyRender: !1,\n\t\teditorProps: {\n\t\t\tattributes: B(Z),\n\t\t\thandleKeyDown(e, t) {\n\t\t\t\treturn C.onKeyDown ? C.onKeyDown(t) : !1;\n\t\t\t}\n\t\t},\n\t\teditable: !C.disabled,\n\t\tcontent: e(C.markup),\n\t\tonUpdate: ({ editor: e, transaction: t }) => {\n\t\t\tt.isDone && C.onChange?.(e.getHTML());\n\t\t},\n\t\tonBlur: ({ editor: e }) => {\n\t\t\te._insertingImage || e._toolbarOpened || e.isActive(\"inline_dropdown\") || e.isActive(\"explicit_constructed_response\") || !e.schema || Y(e);\n\t\t}\n\t}, [C.charactersLimit]);\n\ty(() => {\n\t\tC.editorRef && C.editorRef(Q);\n\t}, [C.editorRef, Q]), y(() => {\n\t\tQ?.setEditable(!C.disabled);\n\t}, [C.disabled, Q]), y(() => {\n\t\tif (!Q) return;\n\t\tlet e = Q.options?.editorProps, t = {\n\t\t\t...e?.attributes,\n\t\t\t...B(Z)\n\t\t};\n\t\te?.attributes?.spellcheck !== t.spellcheck && Q.setOptions({ editorProps: {\n\t\t\t...e,\n\t\t\tattributes: t\n\t\t} });\n\t}, [Z, Q]), y(() => {\n\t\tif (!Q) return;\n\t\tlet t = e(C.markup);\n\t\tt !== Q.getHTML() && Q.commands.setContent(t, { emitUpdate: !1 });\n\t}, [C.markup, Q]), y(() => {\n\t\tObject.entries(z).forEach(([e, t]) => {\n\t\t\tdocument.documentElement.style.setProperty(e, t);\n\t\t});\n\t}, []);\n\tlet ce = T({\n\t\teditor: Q,\n\t\tselector: (e) => ({ isFocused: e.editor?.isFocused })\n\t}), $ = b(() => {\n\t\tlet { minWidth: e, width: t, maxWidth: n, minHeight: r, height: i, maxHeight: a } = C;\n\t\treturn {\n\t\t\twidth: m(t),\n\t\t\tminWidth: m(e),\n\t\t\tmaxWidth: m(n),\n\t\t\theight: m(i),\n\t\t\tminHeight: m(r),\n\t\t\tmaxHeight: m(a)\n\t\t};\n\t}, [C]);\n\treturn /* @__PURE__ */ I(h, {\n\t\t...C,\n\t\tactivePlugins: oe,\n\t\ttoolbarOpts: J,\n\t\teditorState: ce,\n\t\teditor: Q,\n\t\tchildren: Q && /* @__PURE__ */ I(H, {\n\t\t\tstyle: {\n\t\t\t\tminHeight: $.minHeight,\n\t\t\t\theight: $.height,\n\t\t\t\tmaxHeight: $.maxHeight\n\t\t\t},\n\t\t\tshowParagraph: E && !E.disabled,\n\t\t\tseparateParagraph: V && !V.disabled,\n\t\t\teditor: Q\n\t\t})\n\t});\n}, H = E(C, { shouldForwardProp: (e) => ![\"showParagraph\", \"separateParagraph\"].includes(e) })(({ showParagraph: e, separateParagraph: t }) => ({\n\tdisplay: \"flex\",\n\toutline: \"none !important\",\n\t\"& .ProseMirror\": {\n\t\tflex: 1,\n\t\tpadding: \"5px\",\n\t\tmaxHeight: \"500px\",\n\t\toutline: \"none !important\",\n\t\tposition: \"initial\",\n\t\t\"& > p, & > div\": { margin: \"0\" },\n\t\t\"& p[data-placeholder].is-empty:only-child, & div[data-placeholder].is-empty:only-child\": { position: \"relative\" },\n\t\t\"& p[data-placeholder].is-empty:only-child::before, & div[data-placeholder].is-empty:only-child::before\": {\n\t\t\tcontent: \"attr(data-placeholder)\",\n\t\t\tposition: \"absolute\",\n\t\t\tleft: 0,\n\t\t\ttop: 0,\n\t\t\tcolor: \"#9CA3AF\",\n\t\t\tpointerEvents: \"none\",\n\t\t\twhiteSpace: \"pre-wrap\"\n\t\t},\n\t\t...e && { \"& > p:has(+ p)::after, & > div:has(+ div)::after\": {\n\t\t\tdisplay: \"block\",\n\t\t\tcontent: \"\\\"¶\\\"\",\n\t\t\tfontSize: \"1em\",\n\t\t\tcolor: \"#146EB3\"\n\t\t} },\n\t\t...t && { \"& > p:has(+ p)\": { marginBottom: \"1em\" } }\n\t}\n}));\n//#endregion\nexport { V as EditableHtml, V as default };\n","import { ALL_PLUGINS as e, DEFAULT_PLUGINS as t } from \"./extensions/index.js\";\nimport { EditableHtml as n } from \"./components/EditableHtml.js\";\nimport { deleteInlineDropdownByIndex as r } from \"./components/respArea/inlineDropdownUtils.js\";\n//#region src/index.tsx\nvar i = n;\n//#endregion\nexport { e as ALL_PLUGINS, t as DEFAULT_PLUGINS, n as EditableHtml, i as default, r as deleteInlineDropdownByIndex };\n","//#region src/index.ts\nvar e = class e extends CustomEvent {\n\tstatic {\n\t\tthis.TYPE = \"model.updated\";\n\t}\n\tconstructor(t, n = !1) {\n\t\tsuper(e.TYPE, {\n\t\t\tbubbles: !0,\n\t\t\tdetail: {\n\t\t\t\tupdate: t,\n\t\t\t\treset: n\n\t\t\t}\n\t\t}), this.update = t, this.reset = n;\n\t}\n}, t = class e extends CustomEvent {\n\tstatic {\n\t\tthis.TYPE = \"delete.image\";\n\t}\n\tconstructor(t, n) {\n\t\tsuper(e.TYPE, {\n\t\t\tbubbles: !0,\n\t\t\tdetail: {\n\t\t\t\tsrc: t,\n\t\t\t\tdone: n\n\t\t\t}\n\t\t}), this.src = t, this.done = n;\n\t}\n}, n = class e extends CustomEvent {\n\tstatic {\n\t\tthis.TYPE = \"insert.image\";\n\t}\n\tconstructor(t) {\n\t\tsuper(e.TYPE, {\n\t\t\tbubbles: !0,\n\t\t\tdetail: t\n\t\t}), this.handler = t;\n\t}\n}, r = class e extends CustomEvent {\n\tstatic {\n\t\tthis.TYPE = \"delete.sound\";\n\t}\n\tconstructor(t, n) {\n\t\tsuper(e.TYPE, {\n\t\t\tbubbles: !0,\n\t\t\tdetail: {\n\t\t\t\tsrc: t,\n\t\t\t\tdone: n\n\t\t\t}\n\t\t}), this.src = t, this.done = n;\n\t}\n}, i = class e extends CustomEvent {\n\tstatic {\n\t\tthis.TYPE = \"insert.sound\";\n\t}\n\tconstructor(t) {\n\t\tsuper(e.TYPE, {\n\t\t\tbubbles: !0,\n\t\t\tdetail: t\n\t\t}), this.handler = t;\n\t}\n};\n//#endregion\nexport { t as DeleteImageEvent, r as DeleteSoundEvent, n as InsertImageEvent, i as InsertSoundEvent, e as ModelUpdatedEvent };\n","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-6h2zm0-8h-2V7h2z\"\n}), 'Info');","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getCardUtilityClass(slot) {\n return generateUtilityClass('MuiCard', slot);\n}\nconst cardClasses = generateUtilityClasses('MuiCard', ['root']);\nexport default cardClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled } from \"../zero-styled/index.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport Paper from \"../Paper/index.js\";\nimport { getCardUtilityClass } from \"./cardClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getCardUtilityClass, classes);\n};\nconst CardRoot = styled(Paper, {\n name: 'MuiCard',\n slot: 'Root'\n})({\n overflow: 'hidden'\n});\nconst Card = /*#__PURE__*/React.forwardRef(function Card(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiCard'\n });\n const {\n className,\n raised = false,\n ...other\n } = props;\n const ownerState = {\n ...props,\n raised\n };\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CardRoot, {\n className: clsx(classes.root, className),\n elevation: raised ? 8 : undefined,\n ref: ref,\n ownerState: ownerState,\n ...other\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Card.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, the card will use raised styling.\n * @default false\n */\n raised: chainPropTypes(PropTypes.bool, props => {\n if (props.raised && props.variant === 'outlined') {\n return new Error('MUI: Combining `raised={true}` with `variant=\"outlined\"` has no effect.');\n }\n return null;\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default Card;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getCardContentUtilityClass(slot) {\n return generateUtilityClass('MuiCardContent', slot);\n}\nconst cardContentClasses = generateUtilityClasses('MuiCardContent', ['root']);\nexport default cardContentClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled } from \"../zero-styled/index.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport { getCardContentUtilityClass } from \"./cardContentClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getCardContentUtilityClass, classes);\n};\nconst CardContentRoot = styled('div', {\n name: 'MuiCardContent',\n slot: 'Root'\n})({\n padding: 16,\n '&:last-child': {\n paddingBottom: 24\n }\n});\nconst CardContent = /*#__PURE__*/React.forwardRef(function CardContent(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiCardContent'\n });\n const {\n className,\n component = 'div',\n ...other\n } = props;\n const ownerState = {\n ...props,\n component\n };\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CardContentRoot, {\n as: component,\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref,\n ...other\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? CardContent.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default CardContent;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSwitchBaseUtilityClass(slot) {\n return generateUtilityClass('PrivateSwitchBase', slot);\n}\nconst switchBaseClasses = generateUtilityClasses('PrivateSwitchBase', ['root', 'checked', 'disabled', 'input', 'edgeStart', 'edgeEnd']);\nexport default switchBaseClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport capitalize from \"../utils/capitalize.js\";\nimport rootShouldForwardProp from \"../styles/rootShouldForwardProp.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport useControlled from \"../utils/useControlled.js\";\nimport useFormControl from \"../FormControl/useFormControl.js\";\nimport ButtonBase from \"../ButtonBase/index.js\";\nimport { getSwitchBaseUtilityClass } from \"./switchBaseClasses.js\";\nimport useSlot from \"../utils/useSlot.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n checked,\n disabled,\n edge\n } = ownerState;\n const slots = {\n root: ['root', checked && 'checked', disabled && 'disabled', edge && `edge${capitalize(edge)}`],\n input: ['input']\n };\n return composeClasses(slots, getSwitchBaseUtilityClass, classes);\n};\nconst SwitchBaseRoot = styled(ButtonBase, {\n name: 'MuiSwitchBase'\n})({\n padding: 9,\n borderRadius: '50%',\n variants: [{\n props: {\n edge: 'start',\n size: 'small'\n },\n style: {\n marginLeft: -3\n }\n }, {\n props: ({\n edge,\n ownerState\n }) => edge === 'start' && ownerState.size !== 'small',\n style: {\n marginLeft: -12\n }\n }, {\n props: {\n edge: 'end',\n size: 'small'\n },\n style: {\n marginRight: -3\n }\n }, {\n props: ({\n edge,\n ownerState\n }) => edge === 'end' && ownerState.size !== 'small',\n style: {\n marginRight: -12\n }\n }]\n});\nconst SwitchBaseInput = styled('input', {\n name: 'MuiSwitchBase',\n shouldForwardProp: rootShouldForwardProp\n})({\n cursor: 'inherit',\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n zIndex: 1\n});\n\n/**\n * @ignore - internal component.\n */\nconst SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref) {\n const {\n autoFocus,\n checked: checkedProp,\n checkedIcon,\n defaultChecked,\n disabled: disabledProp,\n disableFocusRipple = false,\n edge = false,\n icon,\n id,\n inputProps,\n inputRef,\n name,\n onBlur,\n onChange,\n onFocus,\n readOnly,\n required = false,\n tabIndex,\n type,\n value,\n slots = {},\n slotProps = {},\n ...other\n } = props;\n const [checked, setCheckedState] = useControlled({\n controlled: checkedProp,\n default: Boolean(defaultChecked),\n name: 'SwitchBase',\n state: 'checked'\n });\n const muiFormControl = useFormControl();\n const handleFocus = event => {\n if (onFocus) {\n onFocus(event);\n }\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus(event);\n }\n };\n const handleBlur = event => {\n if (onBlur) {\n onBlur(event);\n }\n if (muiFormControl && muiFormControl.onBlur) {\n muiFormControl.onBlur(event);\n }\n };\n const handleInputChange = event => {\n // Workaround for https://github.com/facebook/react/issues/9023\n if (event.nativeEvent.defaultPrevented || readOnly) {\n return;\n }\n const newChecked = event.target.checked;\n setCheckedState(newChecked);\n if (onChange) {\n // TODO v6: remove the second argument.\n onChange(event, newChecked);\n }\n };\n let disabled = disabledProp;\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n }\n const hasLabelFor = type === 'checkbox' || type === 'radio';\n const ownerState = {\n ...props,\n checked,\n disabled,\n disableFocusRipple,\n edge\n };\n const classes = useUtilityClasses(ownerState);\n const externalForwardedProps = {\n slots,\n slotProps: {\n input: inputProps,\n ...slotProps\n }\n };\n const [RootSlot, rootSlotProps] = useSlot('root', {\n ref,\n elementType: SwitchBaseRoot,\n className: classes.root,\n shouldForwardComponentProp: true,\n externalForwardedProps: {\n ...externalForwardedProps,\n component: 'span',\n ...other\n },\n getSlotProps: handlers => ({\n ...handlers,\n onFocus: event => {\n handlers.onFocus?.(event);\n handleFocus(event);\n },\n onBlur: event => {\n handlers.onBlur?.(event);\n handleBlur(event);\n }\n }),\n ownerState,\n additionalProps: {\n centerRipple: true,\n focusRipple: !disableFocusRipple,\n role: undefined,\n tabIndex: null\n }\n });\n const [InputSlot, inputSlotProps] = useSlot('input', {\n ref: inputRef,\n elementType: SwitchBaseInput,\n className: classes.input,\n externalForwardedProps,\n getSlotProps: handlers => ({\n ...handlers,\n onChange: event => {\n handlers.onChange?.(event);\n handleInputChange(event);\n }\n }),\n ownerState,\n additionalProps: {\n autoFocus,\n checked: checkedProp,\n defaultChecked,\n disabled,\n id: hasLabelFor ? id : undefined,\n name,\n readOnly,\n required,\n tabIndex,\n type,\n ...(type === 'checkbox' && value === undefined ? {} : {\n value\n })\n }\n });\n return /*#__PURE__*/_jsxs(RootSlot, {\n ...rootSlotProps,\n children: [/*#__PURE__*/_jsx(InputSlot, {\n ...inputSlotProps\n }), checked ? checkedIcon : icon]\n });\n});\n\n// NB: If changed, please update Checkbox, Switch and Radio\n// so that the API documentation is updated.\nprocess.env.NODE_ENV !== \"production\" ? SwitchBase.propTypes = {\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node.isRequired,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * @ignore\n */\n defaultChecked: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node.isRequired,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /*\n * @ignore\n */\n name: PropTypes.string,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n input: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n input: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.object,\n /**\n * @ignore\n */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * The input component prop `type`.\n */\n type: PropTypes.string.isRequired,\n /**\n * The value of the component.\n */\n value: PropTypes.any\n} : void 0;\nexport default SwitchBase;","'use client';\n\nimport createSvgIcon from \"../../utils/createSvgIcon.js\";\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\"\n}), 'CheckBoxOutlineBlank');","'use client';\n\nimport createSvgIcon from \"../../utils/createSvgIcon.js\";\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"\n}), 'CheckBox');","'use client';\n\nimport createSvgIcon from \"../../utils/createSvgIcon.js\";\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z\"\n}), 'IndeterminateCheckBox');","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getCheckboxUtilityClass(slot) {\n return generateUtilityClass('MuiCheckbox', slot);\n}\nconst checkboxClasses = generateUtilityClasses('MuiCheckbox', ['root', 'checked', 'disabled', 'indeterminate', 'colorPrimary', 'colorSecondary', 'sizeSmall', 'sizeMedium']);\nexport default checkboxClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport SwitchBase from \"../internal/SwitchBase.js\";\nimport CheckBoxOutlineBlankIcon from \"../internal/svg-icons/CheckBoxOutlineBlank.js\";\nimport CheckBoxIcon from \"../internal/svg-icons/CheckBox.js\";\nimport IndeterminateCheckBoxIcon from \"../internal/svg-icons/IndeterminateCheckBox.js\";\nimport capitalize from \"../utils/capitalize.js\";\nimport rootShouldForwardProp from \"../styles/rootShouldForwardProp.js\";\nimport checkboxClasses, { getCheckboxUtilityClass } from \"./checkboxClasses.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport createSimplePaletteValueFilter from \"../utils/createSimplePaletteValueFilter.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport { mergeSlotProps } from \"../utils/index.js\";\nimport useSlot from \"../utils/useSlot.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n indeterminate,\n color,\n size\n } = ownerState;\n const slots = {\n root: ['root', indeterminate && 'indeterminate', `color${capitalize(color)}`, `size${capitalize(size)}`]\n };\n const composedClasses = composeClasses(slots, getCheckboxUtilityClass, classes);\n return {\n ...classes,\n // forward the disabled and checked classes to the SwitchBase\n ...composedClasses\n };\n};\nconst CheckboxRoot = styled(SwitchBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiCheckbox',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.indeterminate && styles.indeterminate, styles[`size${capitalize(ownerState.size)}`], ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(memoTheme(({\n theme\n}) => ({\n color: (theme.vars || theme).palette.text.secondary,\n variants: [{\n props: {\n color: 'default',\n disableRipple: false\n },\n style: {\n '&:hover': {\n backgroundColor: theme.alpha((theme.vars || theme).palette.action.active, (theme.vars || theme).palette.action.hoverOpacity)\n }\n }\n }, ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({\n props: {\n color,\n disableRipple: false\n },\n style: {\n '&:hover': {\n backgroundColor: theme.alpha((theme.vars || theme).palette[color].main, (theme.vars || theme).palette.action.hoverOpacity)\n }\n }\n })), ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({\n props: {\n color\n },\n style: {\n [`&.${checkboxClasses.checked}, &.${checkboxClasses.indeterminate}`]: {\n color: (theme.vars || theme).palette[color].main\n },\n [`&.${checkboxClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled\n }\n }\n })), {\n // Should be last to override other colors\n props: {\n disableRipple: false\n },\n style: {\n // Reset on touch devices, it doesn't add specificity\n '&:hover': {\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n }\n }]\n})));\nconst defaultCheckedIcon = /*#__PURE__*/_jsx(CheckBoxIcon, {});\nconst defaultIcon = /*#__PURE__*/_jsx(CheckBoxOutlineBlankIcon, {});\nconst defaultIndeterminateIcon = /*#__PURE__*/_jsx(IndeterminateCheckBoxIcon, {});\nconst Checkbox = /*#__PURE__*/React.forwardRef(function Checkbox(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiCheckbox'\n });\n const {\n checkedIcon = defaultCheckedIcon,\n color = 'primary',\n icon: iconProp = defaultIcon,\n indeterminate = false,\n indeterminateIcon: indeterminateIconProp = defaultIndeterminateIcon,\n inputProps,\n size = 'medium',\n disableRipple = false,\n className,\n slots = {},\n slotProps = {},\n ...other\n } = props;\n const icon = indeterminate ? indeterminateIconProp : iconProp;\n const indeterminateIcon = indeterminate ? indeterminateIconProp : checkedIcon;\n const ownerState = {\n ...props,\n disableRipple,\n color,\n indeterminate,\n size\n };\n const classes = useUtilityClasses(ownerState);\n const externalInputProps = slotProps.input ?? inputProps;\n const [RootSlot, rootSlotProps] = useSlot('root', {\n ref,\n elementType: CheckboxRoot,\n className: clsx(classes.root, className),\n shouldForwardComponentProp: true,\n externalForwardedProps: {\n slots,\n slotProps,\n ...other\n },\n ownerState,\n additionalProps: {\n type: 'checkbox',\n icon: /*#__PURE__*/React.cloneElement(icon, {\n fontSize: icon.props.fontSize ?? size\n }),\n checkedIcon: /*#__PURE__*/React.cloneElement(indeterminateIcon, {\n fontSize: indeterminateIcon.props.fontSize ?? size\n }),\n disableRipple,\n slots,\n slotProps: {\n input: mergeSlotProps(typeof externalInputProps === 'function' ? externalInputProps(ownerState) : externalInputProps, {\n 'data-indeterminate': indeterminate,\n 'aria-checked': indeterminate ? 'mixed' : undefined\n })\n }\n }\n });\n return /*#__PURE__*/_jsx(RootSlot, {\n ...rootSlotProps,\n classes: classes\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Checkbox.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n /**\n * The icon to display when the component is checked.\n * @default <CheckBoxIcon />\n */\n checkedIcon: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * The icon to display when the component is unchecked.\n * @default <CheckBoxOutlineBlankIcon />\n */\n icon: PropTypes.node,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n /**\n * If `true`, the component appears indeterminate.\n * This does not set the native input element to indeterminate due\n * to inconsistent behavior across browsers.\n * However, we set a `data-indeterminate` attribute on the `input`.\n * @default false\n */\n indeterminate: PropTypes.bool,\n /**\n * The icon to display when the component is indeterminate.\n * @default <IndeterminateCheckBoxIcon />\n */\n indeterminateIcon: PropTypes.node,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#attributes) applied to the `input` element.\n * @deprecated Use `slotProps.input` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n inputProps: PropTypes.object,\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent<HTMLInputElement>} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n /**\n * If `true`, the `input` element is required.\n * @default false\n */\n required: PropTypes.bool,\n /**\n * The size of the component.\n * `small` is equivalent to the dense checkbox styling.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n input: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n input: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Checkbox;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getFormControlLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiFormControlLabel', slot);\n}\nconst formControlLabelClasses = generateUtilityClasses('MuiFormControlLabel', ['root', 'labelPlacementStart', 'labelPlacementTop', 'labelPlacementBottom', 'disabled', 'label', 'error', 'required', 'asterisk']);\nexport default formControlLabelClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { useFormControl } from \"../FormControl/index.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport Typography from \"../Typography/index.js\";\nimport capitalize from \"../utils/capitalize.js\";\nimport formControlLabelClasses, { getFormControlLabelUtilityClasses } from \"./formControlLabelClasses.js\";\nimport formControlState from \"../FormControl/formControlState.js\";\nimport useSlot from \"../utils/useSlot.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disabled,\n labelPlacement,\n error,\n required\n } = ownerState;\n const slots = {\n root: ['root', disabled && 'disabled', `labelPlacement${capitalize(labelPlacement)}`, error && 'error', required && 'required'],\n label: ['label', disabled && 'disabled'],\n asterisk: ['asterisk', error && 'error']\n };\n return composeClasses(slots, getFormControlLabelUtilityClasses, classes);\n};\nexport const FormControlLabelRoot = styled('label', {\n name: 'MuiFormControlLabel',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${formControlLabelClasses.label}`]: styles.label\n }, styles.root, styles[`labelPlacement${capitalize(ownerState.labelPlacement)}`]];\n }\n})(memoTheme(({\n theme\n}) => ({\n display: 'inline-flex',\n alignItems: 'center',\n cursor: 'pointer',\n // For correct alignment with the text.\n verticalAlign: 'middle',\n WebkitTapHighlightColor: 'transparent',\n marginLeft: -11,\n marginRight: 16,\n // used for row presentation of radio/checkbox\n [`&.${formControlLabelClasses.disabled}`]: {\n cursor: 'default'\n },\n [`& .${formControlLabelClasses.label}`]: {\n [`&.${formControlLabelClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n }\n },\n variants: [{\n props: {\n labelPlacement: 'start'\n },\n style: {\n flexDirection: 'row-reverse',\n marginRight: -11\n }\n }, {\n props: {\n labelPlacement: 'top'\n },\n style: {\n flexDirection: 'column-reverse'\n }\n }, {\n props: {\n labelPlacement: 'bottom'\n },\n style: {\n flexDirection: 'column'\n }\n }, {\n props: ({\n labelPlacement\n }) => labelPlacement === 'start' || labelPlacement === 'top' || labelPlacement === 'bottom',\n style: {\n marginLeft: 16 // used for row presentation of radio/checkbox\n }\n }]\n})));\nconst AsteriskComponent = styled('span', {\n name: 'MuiFormControlLabel',\n slot: 'Asterisk'\n})(memoTheme(({\n theme\n}) => ({\n [`&.${formControlLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n})));\n\n/**\n * Drop-in replacement of the `Radio`, `Switch` and `Checkbox` component.\n * Use this component if you want to display an extra label.\n */\nconst FormControlLabel = /*#__PURE__*/React.forwardRef(function FormControlLabel(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiFormControlLabel'\n });\n const {\n checked,\n className,\n componentsProps = {},\n control,\n disabled: disabledProp,\n disableTypography,\n inputRef,\n label: labelProp,\n labelPlacement = 'end',\n name,\n onChange,\n required: requiredProp,\n slots = {},\n slotProps = {},\n value,\n ...other\n } = props;\n const muiFormControl = useFormControl();\n const disabled = disabledProp ?? control.props.disabled ?? muiFormControl?.disabled;\n const required = requiredProp ?? control.props.required;\n const controlProps = {\n disabled,\n required\n };\n ['checked', 'name', 'onChange', 'value', 'inputRef'].forEach(key => {\n if (typeof control.props[key] === 'undefined' && typeof props[key] !== 'undefined') {\n controlProps[key] = props[key];\n }\n });\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['error']\n });\n const ownerState = {\n ...props,\n disabled,\n labelPlacement,\n required,\n error: fcs.error\n };\n const classes = useUtilityClasses(ownerState);\n const externalForwardedProps = {\n slots,\n slotProps: {\n ...componentsProps,\n ...slotProps\n }\n };\n const [TypographySlot, typographySlotProps] = useSlot('typography', {\n elementType: Typography,\n externalForwardedProps,\n ownerState\n });\n let label = labelProp;\n if (label != null && label.type !== Typography && !disableTypography) {\n label = /*#__PURE__*/_jsx(TypographySlot, {\n component: \"span\",\n ...typographySlotProps,\n className: clsx(classes.label, typographySlotProps?.className),\n children: label\n });\n }\n return /*#__PURE__*/_jsxs(FormControlLabelRoot, {\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref,\n ...other,\n children: [/*#__PURE__*/React.cloneElement(control, controlProps), required ? /*#__PURE__*/_jsxs(\"div\", {\n children: [label, /*#__PURE__*/_jsxs(AsteriskComponent, {\n ownerState: ownerState,\n \"aria-hidden\": true,\n className: classes.asterisk,\n children: [\"\\u2009\", '*']\n })]\n }) : label]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? FormControlLabel.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, the component appears selected.\n */\n checked: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The props used for each slot inside.\n * @default {}\n * @deprecated use the `slotProps` prop instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n componentsProps: PropTypes.shape({\n typography: PropTypes.object\n }),\n /**\n * A control element. For instance, it can be a `Radio`, a `Switch` or a `Checkbox`.\n */\n control: PropTypes.element.isRequired,\n /**\n * If `true`, the control is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is rendered as it is passed without an additional typography node.\n */\n disableTypography: PropTypes.bool,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * A text or an element to be used in an enclosing label element.\n */\n label: PropTypes.node,\n /**\n * The position of the label.\n * @default 'end'\n */\n labelPlacement: PropTypes.oneOf(['bottom', 'end', 'start', 'top']),\n /**\n * @ignore\n */\n name: PropTypes.string,\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n /**\n * If `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n typography: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n typography: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The value of the component.\n */\n value: PropTypes.any\n} : void 0;\nexport default FormControlLabel;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","'use client';\n\nvar _span;\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport capitalize from \"../utils/capitalize.js\";\nimport Typography from \"../Typography/index.js\";\nimport FormControlContext from \"../FormControl/FormControlContext.js\";\nimport useFormControl from \"../FormControl/useFormControl.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from \"./inputAdornmentClasses.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(memoTheme(({\n theme\n}) => ({\n display: 'flex',\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: (theme.vars || theme).palette.action.active,\n variants: [{\n props: {\n variant: 'filled'\n },\n style: {\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n }\n }, {\n props: {\n position: 'start'\n },\n style: {\n marginRight: 8\n }\n }, {\n props: {\n position: 'end'\n },\n style: {\n marginLeft: 8\n }\n }, {\n props: {\n disablePointerEvents: true\n },\n style: {\n pointerEvents: 'none'\n }\n }]\n})));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp,\n ...other\n } = props;\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n const ownerState = {\n ...props,\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n };\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, {\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref,\n ...other,\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"textSecondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ? (/* notranslate needed while Google Translate will not fix zero-width space issue */_span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n \"aria-hidden\": true,\n children: \"\\u200B\"\n }))) : null, children]\n })\n })\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;","'use client';\n\nimport createSvgIcon from \"../../utils/createSvgIcon.js\";\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\"\n}), 'RadioButtonUnchecked');","'use client';\n\nimport createSvgIcon from \"../../utils/createSvgIcon.js\";\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M8.465 8.465C9.37 7.56 10.62 7 12 7C14.76 7 17 9.24 17 12C17 13.38 16.44 14.63 15.535 15.535C14.63 16.44 13.38 17 12 17C9.24 17 7 14.76 7 12C7 10.62 7.56 9.37 8.465 8.465Z\"\n}), 'RadioButtonChecked');","'use client';\n\nimport PropTypes from 'prop-types';\nimport RadioButtonUncheckedIcon from \"../internal/svg-icons/RadioButtonUnchecked.js\";\nimport RadioButtonCheckedIcon from \"../internal/svg-icons/RadioButtonChecked.js\";\nimport rootShouldForwardProp from \"../styles/rootShouldForwardProp.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst RadioButtonIconRoot = styled('span', {\n name: 'MuiRadioButtonIcon',\n shouldForwardProp: rootShouldForwardProp\n})({\n position: 'relative',\n display: 'flex'\n});\nconst RadioButtonIconBackground = styled(RadioButtonUncheckedIcon, {\n name: 'MuiRadioButtonIcon'\n})({\n // Scale applied to prevent dot misalignment in Safari\n transform: 'scale(1)'\n});\nconst RadioButtonIconDot = styled(RadioButtonCheckedIcon, {\n name: 'MuiRadioButtonIcon'\n})(memoTheme(({\n theme\n}) => ({\n left: 0,\n position: 'absolute',\n transform: 'scale(0)',\n transition: theme.transitions.create('transform', {\n easing: theme.transitions.easing.easeIn,\n duration: theme.transitions.duration.shortest\n }),\n variants: [{\n props: {\n checked: true\n },\n style: {\n transform: 'scale(1)',\n transition: theme.transitions.create('transform', {\n easing: theme.transitions.easing.easeOut,\n duration: theme.transitions.duration.shortest\n })\n }\n }]\n})));\n\n/**\n * @ignore - internal component.\n */\nfunction RadioButtonIcon(props) {\n const {\n checked = false,\n classes = {},\n fontSize\n } = props;\n const ownerState = {\n ...props,\n checked\n };\n return /*#__PURE__*/_jsxs(RadioButtonIconRoot, {\n className: classes.root,\n ownerState: ownerState,\n children: [/*#__PURE__*/_jsx(RadioButtonIconBackground, {\n fontSize: fontSize,\n className: classes.background,\n ownerState: ownerState\n }), /*#__PURE__*/_jsx(RadioButtonIconDot, {\n fontSize: fontSize,\n className: classes.dot,\n ownerState: ownerState\n })]\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? RadioButtonIcon.propTypes /* remove-proptypes */ = {\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * The size of the component.\n * `small` is equivalent to the dense radio styling.\n */\n fontSize: PropTypes.oneOf(['small', 'medium'])\n} : void 0;\nexport default RadioButtonIcon;","'use client';\n\nimport * as React from 'react';\n/**\n * @ignore - internal component.\n */\nconst RadioGroupContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== 'production') {\n RadioGroupContext.displayName = 'RadioGroupContext';\n}\nexport default RadioGroupContext;","'use client';\n\nimport * as React from 'react';\nimport RadioGroupContext from \"./RadioGroupContext.js\";\nexport default function useRadioGroup() {\n return React.useContext(RadioGroupContext);\n}","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getRadioUtilityClass(slot) {\n return generateUtilityClass('MuiRadio', slot);\n}\nconst radioClasses = generateUtilityClasses('MuiRadio', ['root', 'checked', 'disabled', 'colorPrimary', 'colorSecondary', 'sizeSmall']);\nexport default radioClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport SwitchBase from \"../internal/SwitchBase.js\";\nimport RadioButtonIcon from \"./RadioButtonIcon.js\";\nimport capitalize from \"../utils/capitalize.js\";\nimport createChainedFunction from \"../utils/createChainedFunction.js\";\nimport useFormControl from \"../FormControl/useFormControl.js\";\nimport useRadioGroup from \"../RadioGroup/useRadioGroup.js\";\nimport radioClasses, { getRadioUtilityClass } from \"./radioClasses.js\";\nimport rootShouldForwardProp from \"../styles/rootShouldForwardProp.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport createSimplePaletteValueFilter from \"../utils/createSimplePaletteValueFilter.js\";\nimport useSlot from \"../utils/useSlot.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n color,\n size\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color)}`, size !== 'medium' && `size${capitalize(size)}`]\n };\n return {\n ...classes,\n ...composeClasses(slots, getRadioUtilityClass, classes)\n };\n};\nconst RadioRoot = styled(SwitchBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiRadio',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.size !== 'medium' && styles[`size${capitalize(ownerState.size)}`], styles[`color${capitalize(ownerState.color)}`]];\n }\n})(memoTheme(({\n theme\n}) => ({\n color: (theme.vars || theme).palette.text.secondary,\n [`&.${radioClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled\n },\n variants: [{\n props: {\n color: 'default',\n disabled: false,\n disableRipple: false\n },\n style: {\n '&:hover': {\n backgroundColor: theme.alpha((theme.vars || theme).palette.action.active, (theme.vars || theme).palette.action.hoverOpacity)\n }\n }\n }, ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({\n props: {\n color,\n disabled: false,\n disableRipple: false\n },\n style: {\n '&:hover': {\n backgroundColor: theme.alpha((theme.vars || theme).palette[color].main, (theme.vars || theme).palette.action.hoverOpacity)\n }\n }\n })), ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({\n props: {\n color,\n disabled: false\n },\n style: {\n [`&.${radioClasses.checked}`]: {\n color: (theme.vars || theme).palette[color].main\n }\n }\n })), {\n // Should be last to override other colors\n props: {\n disableRipple: false\n },\n style: {\n // Reset on touch devices, it doesn't add specificity\n '&:hover': {\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n }\n }]\n})));\nfunction areEqualValues(a, b) {\n if (typeof b === 'object' && b !== null) {\n return a === b;\n }\n\n // The value could be a number, the DOM will stringify it anyway.\n return String(a) === String(b);\n}\nconst defaultCheckedIcon = /*#__PURE__*/_jsx(RadioButtonIcon, {\n checked: true\n});\nconst defaultIcon = /*#__PURE__*/_jsx(RadioButtonIcon, {});\nconst Radio = /*#__PURE__*/React.forwardRef(function Radio(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiRadio'\n });\n const {\n checked: checkedProp,\n checkedIcon = defaultCheckedIcon,\n color = 'primary',\n icon = defaultIcon,\n name: nameProp,\n onChange: onChangeProp,\n size = 'medium',\n className,\n disabled: disabledProp,\n disableRipple = false,\n slots = {},\n slotProps = {},\n inputProps,\n ...other\n } = props;\n const muiFormControl = useFormControl();\n let disabled = disabledProp;\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n }\n disabled ??= false;\n const ownerState = {\n ...props,\n disabled,\n disableRipple,\n color,\n size\n };\n const classes = useUtilityClasses(ownerState);\n const radioGroup = useRadioGroup();\n let checked = checkedProp;\n const onChange = createChainedFunction(onChangeProp, radioGroup && radioGroup.onChange);\n let name = nameProp;\n if (radioGroup) {\n if (typeof checked === 'undefined') {\n checked = areEqualValues(radioGroup.value, props.value);\n }\n if (typeof name === 'undefined') {\n name = radioGroup.name;\n }\n }\n const externalInputProps = slotProps.input ?? inputProps;\n const [RootSlot, rootSlotProps] = useSlot('root', {\n ref,\n elementType: RadioRoot,\n className: clsx(classes.root, className),\n shouldForwardComponentProp: true,\n externalForwardedProps: {\n slots,\n slotProps,\n ...other\n },\n getSlotProps: handlers => ({\n ...handlers,\n onChange: (event, ...args) => {\n handlers.onChange?.(event, ...args);\n onChange(event, ...args);\n }\n }),\n ownerState,\n additionalProps: {\n type: 'radio',\n icon: /*#__PURE__*/React.cloneElement(icon, {\n fontSize: icon.props.fontSize ?? size\n }),\n checkedIcon: /*#__PURE__*/React.cloneElement(checkedIcon, {\n fontSize: checkedIcon.props.fontSize ?? size\n }),\n disabled,\n name,\n checked,\n slots,\n slotProps: {\n // Do not forward `slotProps.root` again because it's already handled by the `RootSlot` in this file.\n input: typeof externalInputProps === 'function' ? externalInputProps(ownerState) : externalInputProps\n }\n }\n });\n return /*#__PURE__*/_jsx(RootSlot, {\n ...rootSlotProps,\n classes: classes\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Radio.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n /**\n * The icon to display when the component is checked.\n * @default <RadioButtonIcon checked />\n */\n checkedIcon: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * The icon to display when the component is unchecked.\n * @default <RadioButtonIcon />\n */\n icon: PropTypes.node,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#attributes) applied to the `input` element.\n * @deprecated Use `slotProps.input` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n inputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n * @deprecated Use `slotProps.input.ref` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n inputRef: refType,\n /**\n * Name attribute of the `input` element.\n */\n name: PropTypes.string,\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent<HTMLInputElement>} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n /**\n * If `true`, the `input` element is required.\n * @default false\n */\n required: PropTypes.bool,\n /**\n * The size of the component.\n * `small` is equivalent to the dense radio styling.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n input: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n input: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The value of the component. The DOM API casts this to a string.\n */\n value: PropTypes.any\n} : void 0;\nexport default Radio;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSwitchUtilityClass(slot) {\n return generateUtilityClass('MuiSwitch', slot);\n}\nconst switchClasses = generateUtilityClasses('MuiSwitch', ['root', 'edgeStart', 'edgeEnd', 'switchBase', 'colorPrimary', 'colorSecondary', 'sizeSmall', 'sizeMedium', 'checked', 'disabled', 'input', 'thumb', 'track']);\nexport default switchClasses;","'use client';\n\n// @inheritedComponent IconButton\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport capitalize from \"../utils/capitalize.js\";\nimport createSimplePaletteValueFilter from \"../utils/createSimplePaletteValueFilter.js\";\nimport SwitchBase from \"../internal/SwitchBase.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport switchClasses, { getSwitchUtilityClass } from \"./switchClasses.js\";\nimport { mergeSlotProps } from \"../utils/index.js\";\nimport useSlot from \"../utils/useSlot.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n edge,\n size,\n color,\n checked,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', edge && `edge${capitalize(edge)}`, `size${capitalize(size)}`],\n switchBase: ['switchBase', `color${capitalize(color)}`, checked && 'checked', disabled && 'disabled'],\n thumb: ['thumb'],\n track: ['track'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getSwitchUtilityClass, classes);\n return {\n ...classes,\n // forward the disabled and checked classes to the SwitchBase\n ...composedClasses\n };\n};\nconst SwitchRoot = styled('span', {\n name: 'MuiSwitch',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.edge && styles[`edge${capitalize(ownerState.edge)}`], styles[`size${capitalize(ownerState.size)}`]];\n }\n})({\n display: 'inline-flex',\n width: 34 + 12 * 2,\n height: 14 + 12 * 2,\n overflow: 'hidden',\n padding: 12,\n boxSizing: 'border-box',\n position: 'relative',\n flexShrink: 0,\n zIndex: 0,\n // Reset the stacking context.\n verticalAlign: 'middle',\n // For correct alignment with the text.\n '@media print': {\n colorAdjust: 'exact'\n },\n variants: [{\n props: {\n edge: 'start'\n },\n style: {\n marginLeft: -8\n }\n }, {\n props: {\n edge: 'end'\n },\n style: {\n marginRight: -8\n }\n }, {\n props: {\n size: 'small'\n },\n style: {\n width: 40,\n height: 24,\n padding: 7,\n [`& .${switchClasses.thumb}`]: {\n width: 16,\n height: 16\n },\n [`& .${switchClasses.switchBase}`]: {\n padding: 4,\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(16px)'\n }\n }\n }\n }]\n});\nconst SwitchSwitchBase = styled(SwitchBase, {\n name: 'MuiSwitch',\n slot: 'SwitchBase',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.switchBase, {\n [`& .${switchClasses.input}`]: styles.input\n }, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(memoTheme(({\n theme\n}) => ({\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: 1,\n // Render above the focus ripple.\n color: theme.vars ? theme.vars.palette.Switch.defaultColor : `${theme.palette.mode === 'light' ? theme.palette.common.white : theme.palette.grey[300]}`,\n transition: theme.transitions.create(['left', 'transform'], {\n duration: theme.transitions.duration.shortest\n }),\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(20px)'\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.vars ? theme.vars.palette.Switch.defaultDisabledColor : `${theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[600]}`\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n opacity: 0.5\n },\n [`&.${switchClasses.disabled} + .${switchClasses.track}`]: {\n opacity: theme.vars ? theme.vars.opacity.switchTrackDisabled : `${theme.palette.mode === 'light' ? 0.12 : 0.2}`\n },\n [`& .${switchClasses.input}`]: {\n left: '-100%',\n width: '300%'\n }\n})), memoTheme(({\n theme\n}) => ({\n '&:hover': {\n backgroundColor: theme.alpha((theme.vars || theme).palette.action.active, (theme.vars || theme).palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n variants: [...Object.entries(theme.palette).filter(createSimplePaletteValueFilter(['light'])) // check all the used fields in the style below\n .map(([color]) => ({\n props: {\n color\n },\n style: {\n [`&.${switchClasses.checked}`]: {\n color: (theme.vars || theme).palette[color].main,\n '&:hover': {\n backgroundColor: theme.alpha((theme.vars || theme).palette[color].main, (theme.vars || theme).palette.action.hoverOpacity),\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.vars ? theme.vars.palette.Switch[`${color}DisabledColor`] : `${theme.palette.mode === 'light' ? theme.lighten(theme.palette[color].main, 0.62) : theme.darken(theme.palette[color].main, 0.55)}`\n }\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n backgroundColor: (theme.vars || theme).palette[color].main\n }\n }\n }))]\n})));\nconst SwitchTrack = styled('span', {\n name: 'MuiSwitch',\n slot: 'Track'\n})(memoTheme(({\n theme\n}) => ({\n height: '100%',\n width: '100%',\n borderRadius: 14 / 2,\n boxSizing: 'border-box',\n border: '1px solid transparent',\n zIndex: -1,\n transition: theme.transitions.create(['opacity', 'background-color'], {\n duration: theme.transitions.duration.shortest\n }),\n backgroundColor: theme.vars ? theme.vars.palette.common.onBackground : `${theme.palette.mode === 'light' ? theme.palette.common.black : theme.palette.common.white}`,\n opacity: theme.vars ? theme.vars.opacity.switchTrack : `${theme.palette.mode === 'light' ? 0.38 : 0.3}`\n})));\nconst SwitchThumb = styled('span', {\n name: 'MuiSwitch',\n slot: 'Thumb'\n})(memoTheme(({\n theme\n}) => ({\n boxShadow: (theme.vars || theme).shadows[1],\n backgroundColor: 'currentColor',\n boxSizing: 'border-box',\n border: '1px solid transparent',\n width: 20,\n height: 20,\n borderRadius: '50%'\n})));\nconst Switch = /*#__PURE__*/React.forwardRef(function Switch(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiSwitch'\n });\n const {\n className,\n color = 'primary',\n edge = false,\n size = 'medium',\n sx,\n slots = {},\n slotProps = {},\n ...other\n } = props;\n const ownerState = {\n ...props,\n color,\n edge,\n size\n };\n const classes = useUtilityClasses(ownerState);\n const externalInputProps = slotProps.input;\n const externalForwardedProps = {\n slots,\n slotProps\n };\n const [RootSlot, rootSlotProps] = useSlot('root', {\n className: clsx(classes.root, className),\n elementType: SwitchRoot,\n externalForwardedProps,\n ownerState,\n additionalProps: {\n sx\n }\n });\n const [ThumbSlot, thumbSlotProps] = useSlot('thumb', {\n className: classes.thumb,\n elementType: SwitchThumb,\n externalForwardedProps,\n ownerState\n });\n const icon = /*#__PURE__*/_jsx(ThumbSlot, {\n ...thumbSlotProps\n });\n const [TrackSlot, trackSlotProps] = useSlot('track', {\n className: classes.track,\n elementType: SwitchTrack,\n externalForwardedProps,\n ownerState\n });\n return /*#__PURE__*/_jsxs(RootSlot, {\n ...rootSlotProps,\n children: [/*#__PURE__*/_jsx(SwitchSwitchBase, {\n type: \"checkbox\",\n icon: icon,\n checkedIcon: icon,\n ref: ref,\n ownerState: ownerState,\n ...other,\n classes: {\n ...classes,\n root: classes.switchBase\n },\n slots: {\n ...(slots.switchBase && {\n root: slots.switchBase\n }),\n ...(slots.input && {\n input: slots.input\n })\n },\n slotProps: {\n ...(slotProps.switchBase && {\n root: typeof slotProps.switchBase === 'function' ? slotProps.switchBase(ownerState) : slotProps.switchBase\n }),\n input: mergeSlotProps(typeof externalInputProps === 'function' ? externalInputProps(ownerState) : externalInputProps, {\n role: 'switch'\n })\n }\n }), /*#__PURE__*/_jsx(TrackSlot, {\n ...trackSlotProps\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Switch.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#attributes) applied to the `input` element.\n * @deprecated Use `slotProps.input` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n inputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n * @deprecated Use `slotProps.input.ref` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n inputRef: refType,\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent<HTMLInputElement>} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n /**\n * If `true`, the `input` element is required.\n * @default false\n */\n required: PropTypes.bool,\n /**\n * The size of the component.\n * `small` is equivalent to the dense switch styling.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n input: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n switchBase: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n thumb: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n track: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n input: PropTypes.elementType,\n root: PropTypes.elementType,\n switchBase: PropTypes.elementType,\n thumb: PropTypes.elementType,\n track: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Switch;","import \"react\";\nimport e from \"prop-types\";\nimport { styled as t } from \"@mui/material/styles\";\nimport { jsx as n } from \"react/jsx-runtime\";\nimport { color as r } from \"@pie-lib/render-ui\";\nimport i from \"@mui/material/FormControlLabel\";\nimport a from \"@mui/material/Radio\";\n//#region src/radio-with-label.tsx\nvar o = t(i)(() => ({ \"& .MuiFormControlLabel-label\": {\n\tleft: \"-5px\",\n\tposition: \"relative\"\n} })), s = t(a)(() => ({ color: `${r.tertiary()} !important` })), c = ({ label: e, value: t, checked: r, onChange: i }) => /* @__PURE__ */ n(o, {\n\tvalue: t,\n\tcontrol: /* @__PURE__ */ n(s, {\n\t\tchecked: r,\n\t\tonChange: i\n\t}),\n\tlabel: e\n});\nc.propTypes = {\n\tlabel: e.string,\n\tvalue: e.string,\n\tchecked: e.bool,\n\tonChange: e.func\n};\n//#endregion\nexport { c as default };\n","import e from \"react\";\nimport t from \"prop-types\";\nimport { styled as n } from \"@mui/material/styles\";\nimport { jsx as r, jsxs as i } from \"react/jsx-runtime\";\nimport a from \"@mui/material/Tabs\";\nimport o from \"@mui/material/Tab\";\n//#region src/tabs/index.tsx\nvar s = n(o)(() => ({})), c = class extends e.Component {\n\tstatic propTypes = {\n\t\tclassName: t.string,\n\t\tcontentClassName: t.string,\n\t\tcontentStyle: t.object,\n\t\tchildren: t.oneOfType([t.arrayOf(t.node), t.node]).isRequired\n\t};\n\tconstructor(e) {\n\t\tsuper(e), this.state = { value: 0 };\n\t}\n\thandleChange = (e, t) => {\n\t\tthis.setState({ value: t });\n\t};\n\trender() {\n\t\tlet { value: t } = this.state, { children: n, className: o, contentClassName: c, contentStyle: l = {} } = this.props;\n\t\treturn /* @__PURE__ */ i(\"div\", {\n\t\t\tclassName: o,\n\t\t\tchildren: [/* @__PURE__ */ r(a, {\n\t\t\t\tindicatorColor: \"primary\",\n\t\t\t\tvalue: t,\n\t\t\t\tonChange: this.handleChange,\n\t\t\t\tchildren: e.Children.map(n, (e, t) => e && e.props.title ? /* @__PURE__ */ r(s, { label: e.props.title }, t) : null)\n\t\t\t}), /* @__PURE__ */ r(\"div\", {\n\t\t\t\tclassName: c,\n\t\t\t\tstyle: l,\n\t\t\t\tchildren: n[t]\n\t\t\t})]\n\t\t});\n\t}\n};\n//#endregion\nexport { c as Tabs, c as default };\n","import \"react\";\nimport e from \"prop-types\";\nimport { styled as t } from \"@mui/material/styles\";\nimport { jsx as n } from \"react/jsx-runtime\";\nimport { color as r } from \"@pie-lib/render-ui\";\nimport i from \"@mui/material/FormControlLabel\";\nimport a from \"@mui/material/Checkbox\";\nimport { grey as o } from \"@mui/material/colors\";\n//#region src/checkbox.tsx\nvar s = t(i)(({ theme: e, mini: t }) => ({\n\tmargin: 0,\n\tmarginLeft: 0,\n\tpadding: 0,\n\t\"& .MuiFormControlLabel-label\": {\n\t\tfontSize: e.typography.fontSize - 1,\n\t\ttransform: \"translate(-4%, 2%)\",\n\t\tcolor: \"rgba(0,0,0,1.0)\",\n\t\t...t && {\n\t\t\tmarginLeft: e.spacing(1),\n\t\t\tcolor: o[700],\n\t\t\tfontSize: e.typography.fontSize - 3\n\t\t}\n\t}\n})), c = t(a)(({ theme: e, mini: t, error: n }) => ({\n\tcolor: `${r.tertiary()} !important`,\n\t...t && {\n\t\tmargin: 0,\n\t\tpadding: 0,\n\t\twidth: e.spacing(3),\n\t\theight: e.spacing(3)\n\t},\n\t...n && { color: `${e.palette.error.main} !important` }\n})), l = ({ mini: e, checked: t, onChange: r, value: i, label: a, error: o }) => /* @__PURE__ */ n(s, {\n\tmini: e,\n\tcontrol: /* @__PURE__ */ n(c, {\n\t\tchecked: t,\n\t\tonChange: r,\n\t\tvalue: i,\n\t\tmini: e,\n\t\terror: o\n\t}),\n\tlabel: a\n});\nl.propTypes = {\n\tmini: e.bool,\n\tchecked: e.bool.isRequired,\n\tonChange: e.func.isRequired,\n\tvalue: e.string,\n\tlabel: e.string.isRequired,\n\terror: e.bool\n}, l.defaultProps = {\n\tvalue: \"\",\n\tmini: !1,\n\terror: !1\n};\n//#endregion\nexport { l as default };\n","import e from \"react\";\nimport t from \"prop-types\";\nimport { styled as n } from \"@mui/material/styles\";\nimport { jsx as r } from \"react/jsx-runtime\";\nimport { isFinite as i } from \"@pie-element/shared-lodash\";\nimport a from \"debug\";\nimport o from \"@mui/material/TextField\";\nimport s from \"@mui/material/InputAdornment\";\n//#region src/number-text-field.tsx\nvar c = a(\"@pie-lib:config-ui:number-text-field\"), l = n(o)(({ theme: e }) => ({\n\tmarginRight: e.spacing(1),\n\t\"& .MuiInputLabel-root\": {\n\t\twidth: \"auto\",\n\t\tminWidth: \"max-content\",\n\t\tmaxWidth: \"none\",\n\t\twhiteSpace: \"nowrap\",\n\t\toverflow: \"visible\",\n\t\ttransform: \"translate(0, 8px) scale(0.75)\",\n\t\ttransformOrigin: \"top left\",\n\t\tposition: \"relative\"\n\t},\n\t\"& .MuiInputBase-root, & .MuiInput-root, & .MuiFilledInput-root, & .MuiOutlinedInput-root\": {\n\t\theight: \"auto\",\n\t\tminHeight: \"auto\",\n\t\tmarginTop: 0\n\t},\n\t\"& .MuiInputBase-input\": {\n\t\theight: \"auto\",\n\t\tminHeight: \"auto\",\n\t\tpadding: \"6px 0 7px\"\n\t}\n})), u = (e, t) => {\n\tif (!i(e) && !i(t)) return 0;\n\tif (!i(e) && i(t)) return t;\n\tif (i(e)) return e;\n}, d = class extends e.Component {\n\tstatic propTypes = {\n\t\tdisabled: t.bool,\n\t\tclassName: t.string,\n\t\tinputClassName: t.string,\n\t\tonChange: t.func.isRequired,\n\t\tvalue: t.number,\n\t\tmin: t.number,\n\t\tmax: t.number,\n\t\tlabel: t.string,\n\t\tsuffix: t.string,\n\t\tshowErrorWhenOutsideRange: t.bool,\n\t\tdisableUnderline: t.bool,\n\t\tvariant: t.string\n\t};\n\tstatic defaultProps = { showErrorWhenOutsideRange: !1 };\n\tconstructor(e) {\n\t\tsuper(e);\n\t\tlet t = this.clamp(e.value);\n\t\tthis.state = { value: t }, t !== e.value && this.props.onChange({}, t), this.onChange = this.onChange.bind(this);\n\t}\n\tUNSAFE_componentWillReceiveProps(e) {\n\t\tlet t = this.clamp(e.value, e.min, e.max);\n\t\tthis.setState({ value: t });\n\t}\n\tclamp(e, t = this.props.min, n = this.props.max) {\n\t\treturn i(e) ? (i(n) && (e = Math.min(e, n)), i(t) && (e = Math.max(e, t)), e) : u(t, n);\n\t}\n\tonBlur = (e) => {\n\t\tlet t = e.target.value, n = parseFloat(t);\n\t\tc(\"rawNumber: \", n);\n\t\tlet r = this.clamp(n);\n\t\tc(\"number: \", r), r !== this.state.value && (c(\"trigger update...\"), this.setState({ value: r.toString() }, () => {\n\t\t\tthis.props.onChange(e, r);\n\t\t}));\n\t};\n\tonChange(e) {\n\t\tlet t = e.target.value;\n\t\tthis.setState({ value: t });\n\t}\n\terrorMessage = () => {\n\t\tlet { min: e, max: t } = this.props;\n\t\tif (e && t) return `The value must be between ${e} and ${t}`;\n\t\tif (e) return `The value must be greater than ${e}`;\n\t\tif (t) return `The value must be less than ${t}`;\n\t};\n\tgetError = () => {\n\t\tlet { value: e } = this.state, t = parseFloat(e);\n\t\tif (this.clamp(t) !== t) return this.errorMessage();\n\t};\n\trender() {\n\t\tlet { className: e, label: t, disabled: n, suffix: i, min: a, max: o, inputClassName: c, disableUnderline: u, showErrorWhenOutsideRange: d, variant: f } = this.props, p = d && this.getError();\n\t\treturn /* @__PURE__ */ r(l, {\n\t\t\tvariant: u ? \"filled\" : f || \"standard\",\n\t\t\tinputRef: (e) => {\n\t\t\t\tthis.inputRef = e;\n\t\t\t},\n\t\t\tdisabled: n,\n\t\t\tlabel: t,\n\t\t\tInputLabelProps: { shrink: !0 },\n\t\t\tvalue: this.state.value,\n\t\t\terror: !!p,\n\t\t\thelperText: p,\n\t\t\tonChange: this.onChange,\n\t\t\tonBlur: this.onBlur,\n\t\t\tonKeyDown: (e) => {\n\t\t\t\te.key === \"Enter\" && this.inputRef && this.inputRef.blur();\n\t\t\t},\n\t\t\ttype: \"number\",\n\t\t\tclassName: e,\n\t\t\tslotProps: { input: {\n\t\t\t\tendAdornment: i && /* @__PURE__ */ r(s, {\n\t\t\t\t\tposition: \"end\",\n\t\t\t\t\tchildren: i\n\t\t\t\t}),\n\t\t\t\tclassName: c,\n\t\t\t\tinputProps: {\n\t\t\t\t\tmin: a,\n\t\t\t\t\tmax: o\n\t\t\t\t}\n\t\t\t} },\n\t\t\tmargin: \"normal\"\n\t\t});\n\t}\n};\n//#endregion\nexport { d as NumberTextField, d as default };\n","import e from \"./radio-with-label.js\";\nimport t from \"react\";\nimport n from \"prop-types\";\nimport { styled as r } from \"@mui/material/styles\";\nimport { jsx as i } from \"react/jsx-runtime\";\nimport * as a from \"@pie-lib/render-ui\";\nimport { InputContainer as o } from \"@pie-lib/render-ui\";\n//#region src/two-choice.tsx\nfunction s(e) {\n\treturn typeof e == \"function\" || typeof e == \"object\" && !!e && typeof e.$$typeof == \"symbol\";\n}\nfunction c(e, t) {\n\treturn !e || s(e) ? e : s(e.default) ? e.default : t && s(e[t]) ? e[t] : t && s(e[t]?.default) ? e[t].default : e;\n}\nvar l = c(o, \"InputContainer\") || c(f.InputContainer, \"InputContainer\"), u = a, d = u.default, f = d && typeof d == \"object\" ? d : u, p = r(\"div\")(({ theme: e, direction: t }) => ({\n\tdisplay: \"flex\",\n\tflexWrap: \"wrap\",\n\tpaddingLeft: 0,\n\tmarginTop: e.spacing(1),\n\t...t === \"vertical\" && { flexDirection: \"column\" }\n})), m = class extends t.Component {\n\tstatic propTypes = {\n\t\theader: n.string.isRequired,\n\t\tclassName: n.string,\n\t\tcustomLabel: n.func,\n\t\topts: n.array.isRequired,\n\t\tvalue: n.string,\n\t\tonChange: n.func.isRequired,\n\t\tdirection: n.oneOf([\"horizontal\", \"vertical\"])\n\t};\n\thandleChange = (e) => {\n\t\tthis.props.onChange(e.currentTarget.value);\n\t};\n\trender() {\n\t\tlet { header: t, className: n, customLabel: r, opts: a, value: o, direction: s } = this.props, c = a.map((e) => typeof e == \"string\" ? {\n\t\t\tlabel: e,\n\t\t\tvalue: e\n\t\t} : e), u = r || e;\n\t\treturn /* @__PURE__ */ i(l, {\n\t\t\tlabel: t,\n\t\t\tclassName: n,\n\t\t\tchildren: /* @__PURE__ */ i(p, {\n\t\t\t\tdirection: s,\n\t\t\t\tchildren: c.map((e, t) => /* @__PURE__ */ i(u, {\n\t\t\t\t\tvalue: e.value,\n\t\t\t\t\tchecked: e.value === o,\n\t\t\t\t\tonChange: this.handleChange,\n\t\t\t\t\tlabel: e.label\n\t\t\t\t}, t))\n\t\t\t})\n\t\t});\n\t}\n}, h = n.shape({\n\tlabel: n.string,\n\tvalue: n.string\n}), g = class extends t.Component {\n\tstatic propTypes = {\n\t\theader: n.string.isRequired,\n\t\tvalue: n.string.isRequired,\n\t\tonChange: n.func.isRequired,\n\t\tone: n.oneOfType([h, n.string]),\n\t\ttwo: n.oneOfType([h, n.string]),\n\t\tclassName: n.string,\n\t\tcustomLabel: n.func\n\t};\n\trender() {\n\t\tlet { one: e, two: t, header: n, className: r, customLabel: a, value: o, onChange: s } = this.props;\n\t\treturn /* @__PURE__ */ i(m, {\n\t\t\tcustomLabel: a,\n\t\t\theader: n,\n\t\t\tclassName: r,\n\t\t\topts: [e, t],\n\t\t\tvalue: o,\n\t\t\tonChange: s\n\t\t});\n\t}\n};\n//#endregion\nexport { m as NChoice, g as default };\n","//#region \\0rolldown/runtime.js\nvar e = Object.defineProperty, t = (t, n) => {\n\tlet r = {};\n\tfor (var i in t) e(r, i, {\n\t\tget: t[i],\n\t\tenumerable: !0\n\t});\n\treturn n || e(r, Symbol.toStringTag, { value: \"Module\" }), r;\n};\n//#endregion\nexport { t as __exportAll };\n","import { Tabs as e } from \"../tabs/index.js\";\nimport t from \"react\";\nimport n from \"prop-types\";\nimport { styled as r } from \"@mui/material/styles\";\nimport { jsx as i, jsxs as a } from \"react/jsx-runtime\";\n//#region src/layout/layout-contents.tsx\nvar o = r(\"div\")(() => ({\n\tdisplay: \"flex\",\n\tflexDirection: \"column\",\n\tposition: \"relative\"\n})), s = r(\"div\")(() => ({\n\tdisplay: \"flex\",\n\tjustifyContent: \"space-between\"\n})), c = r(\"div\")(({ theme: e }) => ({ padding: `${e.spacing(2)} 0` })), l = r(\"div\")(() => ({ flex: \"1\" })), u = r(\"div\")(({ theme: e }) => ({ marginLeft: e.spacing(2) })), d = class extends t.Component {\n\tstatic propTypes = {\n\t\tmode: n.oneOf([\"tabbed\", \"inline\"]),\n\t\tsecondary: n.oneOfType([n.arrayOf(n.node), n.node]),\n\t\tchildren: n.oneOfType([n.arrayOf(n.node), n.node]),\n\t\tdimensions: n.object\n\t};\n\tgetConfiguration = () => {\n\t\tlet { secondary: e } = this.props;\n\t\treturn e?.props?.configuration || e?.props?.children?.props?.configuration || void 0;\n\t};\n\trender() {\n\t\tlet { mode: t, secondary: n, children: r, dimensions: d } = this.props, { minHeight: f, minWidth: p, maxHeight: m, maxWidth: h } = d || {}, g = this.getConfiguration(), _ = Object.entries(g || {}).some(([, e]) => !!e?.settings);\n\t\tif (!_) try {\n\t\t\t_ = JSON.stringify(g)?.match(/settings\":true/)?.length;\n\t\t} catch (e) {\n\t\t\tconsole.log(e.toString());\n\t\t}\n\t\treturn /* @__PURE__ */ a(o, {\n\t\t\tstyle: {\n\t\t\t\tminHeight: f,\n\t\t\t\tminWidth: p,\n\t\t\t\tmaxHeight: m,\n\t\t\t\tmaxWidth: h\n\t\t\t},\n\t\t\tchildren: [\n\t\t\t\tt === \"inline\" && /* @__PURE__ */ a(s, { children: [/* @__PURE__ */ i(l, {\n\t\t\t\t\tclassName: \"design-container\",\n\t\t\t\t\tchildren: r\n\t\t\t\t}), _ && /* @__PURE__ */ i(u, {\n\t\t\t\t\tclassName: \"settings-container\",\n\t\t\t\t\tchildren: n\n\t\t\t\t})] }),\n\t\t\t\tt === \"tabbed\" && _ && /* @__PURE__ */ a(e, {\n\t\t\t\t\tonChange: this.onTabsChange,\n\t\t\t\t\tcontentClassName: \"content-container\",\n\t\t\t\t\tindicatorColor: \"primary\",\n\t\t\t\t\tchildren: [/* @__PURE__ */ i(c, {\n\t\t\t\t\t\ttitle: \"Design\",\n\t\t\t\t\t\tclassName: \"design-container\",\n\t\t\t\t\t\tchildren: r\n\t\t\t\t\t}), /* @__PURE__ */ i(c, {\n\t\t\t\t\t\ttitle: \"Settings\",\n\t\t\t\t\t\tclassName: \"settings-container\",\n\t\t\t\t\t\tchildren: n\n\t\t\t\t\t})]\n\t\t\t\t}),\n\t\t\t\tt === \"tabbed\" && !_ && /* @__PURE__ */ i(c, {\n\t\t\t\t\tclassName: \"design-container\",\n\t\t\t\t\tchildren: r\n\t\t\t\t})\n\t\t\t]\n\t\t});\n\t}\n};\n//#endregion\nexport { d as default };\n","//#region ../../../node_modules/.bun/@babel+runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/extends.js\nfunction e() {\n\treturn e = Object.assign ? Object.assign.bind() : function(e) {\n\t\tfor (var t = 1; t < arguments.length; t++) {\n\t\t\tvar n = arguments[t];\n\t\t\tfor (var r in n) ({}).hasOwnProperty.call(n, r) && (e[r] = n[r]);\n\t\t}\n\t\treturn e;\n\t}, e.apply(null, arguments);\n}\n//#endregion\nexport { e as default };\n","//#region ../../../node_modules/.bun/@babel+runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\nfunction e(e, t) {\n\tif (e == null) return {};\n\tvar n = {};\n\tfor (var r in e) if ({}.hasOwnProperty.call(e, r)) {\n\t\tif (t.indexOf(r) !== -1) continue;\n\t\tn[r] = e[r];\n\t}\n\treturn n;\n}\n//#endregion\nexport { e as default };\n","//#region ../../../node_modules/.bun/@babel+runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js\nfunction e(t, n) {\n\treturn e = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(e, t) {\n\t\treturn e.__proto__ = t, e;\n\t}, e(t, n);\n}\n//#endregion\nexport { e as default };\n","import e from \"./setPrototypeOf.js\";\n//#region ../../../node_modules/.bun/@babel+runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js\nfunction t(t, n) {\n\tt.prototype = Object.create(n.prototype), t.prototype.constructor = t, e(t, n);\n}\n//#endregion\nexport { t as default };\n","//#region ../../../node_modules/.bun/resize-observer-polyfill@1.5.1/node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js\nvar e = (function() {\n\tif (typeof Map < \"u\") return Map;\n\tfunction e(e, t) {\n\t\tvar n = -1;\n\t\treturn e.some(function(e, r) {\n\t\t\treturn e[0] === t ? (n = r, !0) : !1;\n\t\t}), n;\n\t}\n\treturn function() {\n\t\tfunction t() {\n\t\t\tthis.__entries__ = [];\n\t\t}\n\t\treturn Object.defineProperty(t.prototype, \"size\", {\n\t\t\tget: function() {\n\t\t\t\treturn this.__entries__.length;\n\t\t\t},\n\t\t\tenumerable: !0,\n\t\t\tconfigurable: !0\n\t\t}), t.prototype.get = function(t) {\n\t\t\tvar n = e(this.__entries__, t), r = this.__entries__[n];\n\t\t\treturn r && r[1];\n\t\t}, t.prototype.set = function(t, n) {\n\t\t\tvar r = e(this.__entries__, t);\n\t\t\t~r ? this.__entries__[r][1] = n : this.__entries__.push([t, n]);\n\t\t}, t.prototype.delete = function(t) {\n\t\t\tvar n = this.__entries__, r = e(n, t);\n\t\t\t~r && n.splice(r, 1);\n\t\t}, t.prototype.has = function(t) {\n\t\t\treturn !!~e(this.__entries__, t);\n\t\t}, t.prototype.clear = function() {\n\t\t\tthis.__entries__.splice(0);\n\t\t}, t.prototype.forEach = function(e, t) {\n\t\t\tt === void 0 && (t = null);\n\t\t\tfor (var n = 0, r = this.__entries__; n < r.length; n++) {\n\t\t\t\tvar i = r[n];\n\t\t\t\te.call(t, i[1], i[0]);\n\t\t\t}\n\t\t}, t;\n\t}();\n})(), t = typeof window < \"u\" && typeof document < \"u\" && window.document === document, n = (function() {\n\treturn typeof global < \"u\" && global.Math === Math ? global : typeof self < \"u\" && self.Math === Math ? self : typeof window < \"u\" && window.Math === Math ? window : Function(\"return this\")();\n})(), r = (function() {\n\treturn typeof requestAnimationFrame == \"function\" ? requestAnimationFrame.bind(n) : function(e) {\n\t\treturn setTimeout(function() {\n\t\t\treturn e(Date.now());\n\t\t}, 1e3 / 60);\n\t};\n})(), i = 2;\nfunction a(e, t) {\n\tvar n = !1, a = !1, o = 0;\n\tfunction s() {\n\t\tn && (n = !1, e()), a && l();\n\t}\n\tfunction c() {\n\t\tr(s);\n\t}\n\tfunction l() {\n\t\tvar e = Date.now();\n\t\tif (n) {\n\t\t\tif (e - o < i) return;\n\t\t\ta = !0;\n\t\t} else n = !0, a = !1, setTimeout(c, t);\n\t\to = e;\n\t}\n\treturn l;\n}\nvar o = 20, s = [\n\t\"top\",\n\t\"right\",\n\t\"bottom\",\n\t\"left\",\n\t\"width\",\n\t\"height\",\n\t\"size\",\n\t\"weight\"\n], c = typeof MutationObserver < \"u\", l = function() {\n\tfunction e() {\n\t\tthis.connected_ = !1, this.mutationEventsAdded_ = !1, this.mutationsObserver_ = null, this.observers_ = [], this.onTransitionEnd_ = this.onTransitionEnd_.bind(this), this.refresh = a(this.refresh.bind(this), o);\n\t}\n\treturn e.prototype.addObserver = function(e) {\n\t\t~this.observers_.indexOf(e) || this.observers_.push(e), this.connected_ || this.connect_();\n\t}, e.prototype.removeObserver = function(e) {\n\t\tvar t = this.observers_, n = t.indexOf(e);\n\t\t~n && t.splice(n, 1), !t.length && this.connected_ && this.disconnect_();\n\t}, e.prototype.refresh = function() {\n\t\tthis.updateObservers_() && this.refresh();\n\t}, e.prototype.updateObservers_ = function() {\n\t\tvar e = this.observers_.filter(function(e) {\n\t\t\treturn e.gatherActive(), e.hasActive();\n\t\t});\n\t\treturn e.forEach(function(e) {\n\t\t\treturn e.broadcastActive();\n\t\t}), e.length > 0;\n\t}, e.prototype.connect_ = function() {\n\t\t!t || this.connected_ || (document.addEventListener(\"transitionend\", this.onTransitionEnd_), window.addEventListener(\"resize\", this.refresh), c ? (this.mutationsObserver_ = new MutationObserver(this.refresh), this.mutationsObserver_.observe(document, {\n\t\t\tattributes: !0,\n\t\t\tchildList: !0,\n\t\t\tcharacterData: !0,\n\t\t\tsubtree: !0\n\t\t})) : (document.addEventListener(\"DOMSubtreeModified\", this.refresh), this.mutationEventsAdded_ = !0), this.connected_ = !0);\n\t}, e.prototype.disconnect_ = function() {\n\t\t!t || !this.connected_ || (document.removeEventListener(\"transitionend\", this.onTransitionEnd_), window.removeEventListener(\"resize\", this.refresh), this.mutationsObserver_ && this.mutationsObserver_.disconnect(), this.mutationEventsAdded_ && document.removeEventListener(\"DOMSubtreeModified\", this.refresh), this.mutationsObserver_ = null, this.mutationEventsAdded_ = !1, this.connected_ = !1);\n\t}, e.prototype.onTransitionEnd_ = function(e) {\n\t\tvar t = e.propertyName, n = t === void 0 ? \"\" : t;\n\t\ts.some(function(e) {\n\t\t\treturn !!~n.indexOf(e);\n\t\t}) && this.refresh();\n\t}, e.getInstance = function() {\n\t\treturn this.instance_ ||= new e(), this.instance_;\n\t}, e.instance_ = null, e;\n}(), u = (function(e, t) {\n\tfor (var n = 0, r = Object.keys(t); n < r.length; n++) {\n\t\tvar i = r[n];\n\t\tObject.defineProperty(e, i, {\n\t\t\tvalue: t[i],\n\t\t\tenumerable: !1,\n\t\t\twritable: !1,\n\t\t\tconfigurable: !0\n\t\t});\n\t}\n\treturn e;\n}), d = (function(e) {\n\treturn e && e.ownerDocument && e.ownerDocument.defaultView || n;\n}), f = S(0, 0, 0, 0);\nfunction p(e) {\n\treturn parseFloat(e) || 0;\n}\nfunction m(e) {\n\treturn [...arguments].slice(1).reduce(function(t, n) {\n\t\tvar r = e[\"border-\" + n + \"-width\"];\n\t\treturn t + p(r);\n\t}, 0);\n}\nfunction h(e) {\n\tfor (var t = [\n\t\t\"top\",\n\t\t\"right\",\n\t\t\"bottom\",\n\t\t\"left\"\n\t], n = {}, r = 0, i = t; r < i.length; r++) {\n\t\tvar a = i[r], o = e[\"padding-\" + a];\n\t\tn[a] = p(o);\n\t}\n\treturn n;\n}\nfunction g(e) {\n\tvar t = e.getBBox();\n\treturn S(0, 0, t.width, t.height);\n}\nfunction _(e) {\n\tvar t = e.clientWidth, n = e.clientHeight;\n\tif (!t && !n) return f;\n\tvar r = d(e).getComputedStyle(e), i = h(r), a = i.left + i.right, o = i.top + i.bottom, s = p(r.width), c = p(r.height);\n\tif (r.boxSizing === \"border-box\" && (Math.round(s + a) !== t && (s -= m(r, \"left\", \"right\") + a), Math.round(c + o) !== n && (c -= m(r, \"top\", \"bottom\") + o)), !y(e)) {\n\t\tvar l = Math.round(s + a) - t, u = Math.round(c + o) - n;\n\t\tMath.abs(l) !== 1 && (s -= l), Math.abs(u) !== 1 && (c -= u);\n\t}\n\treturn S(i.left, i.top, s, c);\n}\nvar v = (function() {\n\treturn typeof SVGGraphicsElement < \"u\" ? function(e) {\n\t\treturn e instanceof d(e).SVGGraphicsElement;\n\t} : function(e) {\n\t\treturn e instanceof d(e).SVGElement && typeof e.getBBox == \"function\";\n\t};\n})();\nfunction y(e) {\n\treturn e === d(e).document.documentElement;\n}\nfunction b(e) {\n\treturn t ? v(e) ? g(e) : _(e) : f;\n}\nfunction x(e) {\n\tvar t = e.x, n = e.y, r = e.width, i = e.height, a = Object.create((typeof DOMRectReadOnly < \"u\" ? DOMRectReadOnly : Object).prototype);\n\treturn u(a, {\n\t\tx: t,\n\t\ty: n,\n\t\twidth: r,\n\t\theight: i,\n\t\ttop: n,\n\t\tright: t + r,\n\t\tbottom: i + n,\n\t\tleft: t\n\t}), a;\n}\nfunction S(e, t, n, r) {\n\treturn {\n\t\tx: e,\n\t\ty: t,\n\t\twidth: n,\n\t\theight: r\n\t};\n}\nvar C = function() {\n\tfunction e(e) {\n\t\tthis.broadcastWidth = 0, this.broadcastHeight = 0, this.contentRect_ = S(0, 0, 0, 0), this.target = e;\n\t}\n\treturn e.prototype.isActive = function() {\n\t\tvar e = b(this.target);\n\t\treturn this.contentRect_ = e, e.width !== this.broadcastWidth || e.height !== this.broadcastHeight;\n\t}, e.prototype.broadcastRect = function() {\n\t\tvar e = this.contentRect_;\n\t\treturn this.broadcastWidth = e.width, this.broadcastHeight = e.height, e;\n\t}, e;\n}(), w = function() {\n\tfunction e(e, t) {\n\t\tvar n = x(t);\n\t\tu(this, {\n\t\t\ttarget: e,\n\t\t\tcontentRect: n\n\t\t});\n\t}\n\treturn e;\n}(), T = function() {\n\tfunction t(t, n, r) {\n\t\tif (this.activeObservations_ = [], this.observations_ = new e(), typeof t != \"function\") throw TypeError(\"The callback provided as parameter 1 is not a function.\");\n\t\tthis.callback_ = t, this.controller_ = n, this.callbackCtx_ = r;\n\t}\n\treturn t.prototype.observe = function(e) {\n\t\tif (!arguments.length) throw TypeError(\"1 argument required, but only 0 present.\");\n\t\tif (!(typeof Element > \"u\" || !(Element instanceof Object))) {\n\t\t\tif (!(e instanceof d(e).Element)) throw TypeError(\"parameter 1 is not of type \\\"Element\\\".\");\n\t\t\tvar t = this.observations_;\n\t\t\tt.has(e) || (t.set(e, new C(e)), this.controller_.addObserver(this), this.controller_.refresh());\n\t\t}\n\t}, t.prototype.unobserve = function(e) {\n\t\tif (!arguments.length) throw TypeError(\"1 argument required, but only 0 present.\");\n\t\tif (!(typeof Element > \"u\" || !(Element instanceof Object))) {\n\t\t\tif (!(e instanceof d(e).Element)) throw TypeError(\"parameter 1 is not of type \\\"Element\\\".\");\n\t\t\tvar t = this.observations_;\n\t\t\tt.has(e) && (t.delete(e), t.size || this.controller_.removeObserver(this));\n\t\t}\n\t}, t.prototype.disconnect = function() {\n\t\tthis.clearActive(), this.observations_.clear(), this.controller_.removeObserver(this);\n\t}, t.prototype.gatherActive = function() {\n\t\tvar e = this;\n\t\tthis.clearActive(), this.observations_.forEach(function(t) {\n\t\t\tt.isActive() && e.activeObservations_.push(t);\n\t\t});\n\t}, t.prototype.broadcastActive = function() {\n\t\tif (this.hasActive()) {\n\t\t\tvar e = this.callbackCtx_, t = this.activeObservations_.map(function(e) {\n\t\t\t\treturn new w(e.target, e.broadcastRect());\n\t\t\t});\n\t\t\tthis.callback_.call(e, t, e), this.clearActive();\n\t\t}\n\t}, t.prototype.clearActive = function() {\n\t\tthis.activeObservations_.splice(0);\n\t}, t.prototype.hasActive = function() {\n\t\treturn this.activeObservations_.length > 0;\n\t}, t;\n}(), E = typeof WeakMap < \"u\" ? /* @__PURE__ */ new WeakMap() : new e(), D = function() {\n\tfunction e(t) {\n\t\tif (!(this instanceof e)) throw TypeError(\"Cannot call a class as a function.\");\n\t\tif (!arguments.length) throw TypeError(\"1 argument required, but only 0 present.\");\n\t\tvar n = new T(t, l.getInstance(), this);\n\t\tE.set(this, n);\n\t}\n\treturn e;\n}();\n[\n\t\"observe\",\n\t\"unobserve\",\n\t\"disconnect\"\n].forEach(function(e) {\n\tD.prototype[e] = function() {\n\t\tvar t;\n\t\treturn (t = E.get(this))[e].apply(t, arguments);\n\t};\n});\nvar O = (function() {\n\treturn n.ResizeObserver === void 0 ? D : n.ResizeObserver;\n})();\n//#endregion\nexport { O as default };\n","import e from \"../../../../@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/extends.js\";\nimport t from \"../../../../@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\";\nimport n from \"../../../../@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js\";\nimport r from \"../../../../resize-observer-polyfill@1.5.1/node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js\";\nimport { Component as i, createElement as a } from \"react\";\nimport o from \"prop-types\";\n//#region ../../../node_modules/.bun/react-measure@2.5.2+6dbf9a050bc9aadb/node_modules/react-measure/dist/index.esm.js\nvar s = [\n\t\"client\",\n\t\"offset\",\n\t\"scroll\",\n\t\"bounds\",\n\t\"margin\"\n];\nfunction c(e) {\n\tvar t = [];\n\treturn s.forEach(function(n) {\n\t\te[n] && t.push(n);\n\t}), t;\n}\nfunction l(e, t) {\n\tvar n = {};\n\tif (t.indexOf(\"client\") > -1 && (n.client = {\n\t\ttop: e.clientTop,\n\t\tleft: e.clientLeft,\n\t\twidth: e.clientWidth,\n\t\theight: e.clientHeight\n\t}), t.indexOf(\"offset\") > -1 && (n.offset = {\n\t\ttop: e.offsetTop,\n\t\tleft: e.offsetLeft,\n\t\twidth: e.offsetWidth,\n\t\theight: e.offsetHeight\n\t}), t.indexOf(\"scroll\") > -1 && (n.scroll = {\n\t\ttop: e.scrollTop,\n\t\tleft: e.scrollLeft,\n\t\twidth: e.scrollWidth,\n\t\theight: e.scrollHeight\n\t}), t.indexOf(\"bounds\") > -1) {\n\t\tvar r = e.getBoundingClientRect();\n\t\tn.bounds = {\n\t\t\ttop: r.top,\n\t\t\tright: r.right,\n\t\t\tbottom: r.bottom,\n\t\t\tleft: r.left,\n\t\t\twidth: r.width,\n\t\t\theight: r.height\n\t\t};\n\t}\n\tif (t.indexOf(\"margin\") > -1) {\n\t\tvar i = getComputedStyle(e);\n\t\tn.margin = {\n\t\t\ttop: i ? parseInt(i.marginTop) : 0,\n\t\t\tright: i ? parseInt(i.marginRight) : 0,\n\t\t\tbottom: i ? parseInt(i.marginBottom) : 0,\n\t\t\tleft: i ? parseInt(i.marginLeft) : 0\n\t\t};\n\t}\n\treturn n;\n}\nfunction u(e) {\n\treturn e && e.ownerDocument && e.ownerDocument.defaultView || window;\n}\nfunction d(s) {\n\treturn function(d) {\n\t\tvar f, p;\n\t\treturn p = f = /*#__PURE__*/ function(i) {\n\t\t\tn(o, i);\n\t\t\tfunction o() {\n\t\t\t\tvar e, t = [...arguments];\n\t\t\t\treturn e = i.call.apply(i, [this].concat(t)) || this, e.state = { contentRect: {\n\t\t\t\t\tentry: {},\n\t\t\t\t\tclient: {},\n\t\t\t\t\toffset: {},\n\t\t\t\t\tscroll: {},\n\t\t\t\t\tbounds: {},\n\t\t\t\t\tmargin: {}\n\t\t\t\t} }, e._animationFrameID = null, e._resizeObserver = null, e._node = null, e._window = null, e.measure = function(t) {\n\t\t\t\t\tvar n = l(e._node, s || c(e.props));\n\t\t\t\t\tt && (n.entry = t[0].contentRect), e._animationFrameID = e._window.requestAnimationFrame(function() {\n\t\t\t\t\t\te._resizeObserver !== null && (e.setState({ contentRect: n }), typeof e.props.onResize == \"function\" && e.props.onResize(n));\n\t\t\t\t\t});\n\t\t\t\t}, e._handleRef = function(t) {\n\t\t\t\t\te._resizeObserver !== null && e._node !== null && e._resizeObserver.unobserve(e._node), e._node = t, e._window = u(e._node);\n\t\t\t\t\tvar n = e.props.innerRef;\n\t\t\t\t\tn && (typeof n == \"function\" ? n(e._node) : n.current = e._node), e._resizeObserver !== null && e._node !== null && e._resizeObserver.observe(e._node);\n\t\t\t\t}, e;\n\t\t\t}\n\t\t\tvar f = o.prototype;\n\t\t\treturn f.componentDidMount = function() {\n\t\t\t\tthis._resizeObserver = this._window !== null && this._window.ResizeObserver ? new this._window.ResizeObserver(this.measure) : new r(this.measure), this._node !== null && (this._resizeObserver.observe(this._node), typeof this.props.onResize == \"function\" && this.props.onResize(l(this._node, s || c(this.props))));\n\t\t\t}, f.componentWillUnmount = function() {\n\t\t\t\tthis._window !== null && this._window.cancelAnimationFrame(this._animationFrameID), this._resizeObserver !== null && (this._resizeObserver.disconnect(), this._resizeObserver = null);\n\t\t\t}, f.render = function() {\n\t\t\t\tvar n = this.props;\n\t\t\t\treturn n.innerRef, n.onResize, a(d, e({}, t(n, [\"innerRef\", \"onResize\"]), {\n\t\t\t\t\tmeasureRef: this._handleRef,\n\t\t\t\t\tmeasure: this.measure,\n\t\t\t\t\tcontentRect: this.state.contentRect\n\t\t\t\t}));\n\t\t\t}, o;\n\t\t}(i), f.propTypes = {\n\t\t\tclient: o.bool,\n\t\t\toffset: o.bool,\n\t\t\tscroll: o.bool,\n\t\t\tbounds: o.bool,\n\t\t\tmargin: o.bool,\n\t\t\tinnerRef: o.oneOfType([o.object, o.func]),\n\t\t\tonResize: o.func\n\t\t}, p;\n\t};\n}\nvar f = d()(function(e) {\n\tvar t = e.measure, n = e.measureRef, r = e.contentRect, i = e.children;\n\treturn i({\n\t\tmeasure: t,\n\t\tmeasureRef: n,\n\t\tcontentRect: r\n\t});\n});\nf.displayName = \"Measure\", f.propTypes.children = o.func;\n//#endregion\nexport { f as default, d as withContentRect };\n","import e from \"react\";\nimport t from \"prop-types\";\nimport { styled as n } from \"@mui/material/styles\";\nimport { jsx as r } from \"react/jsx-runtime\";\nimport { color as i } from \"@pie-lib/render-ui\";\n//#region src/layout/settings-box.tsx\nvar a = n(\"div\")(() => ({\n\tbackgroundColor: i.white(),\n\tborder: `2px solid ${i.border()}`,\n\tdisplay: \"flex\",\n\tflexDirection: \"column\",\n\tjustifyContent: \"flex-start\",\n\tminWidth: \"275px\",\n\tmaxWidth: \"300px\",\n\tpadding: \"20px 4px 4px 20px\",\n\tzIndex: 99\n})), o = class extends e.Component {\n\tstatic propTypes = {\n\t\tclassName: t.string,\n\t\tchildren: t.oneOfType([t.arrayOf(t.node), t.node]).isRequired\n\t};\n\tstatic defaultProps = {};\n\trender() {\n\t\tlet { className: e, children: t } = this.props;\n\t\treturn /* @__PURE__ */ r(a, {\n\t\t\tclassName: e,\n\t\t\tchildren: t\n\t\t});\n\t}\n};\n//#endregion\nexport { o as SettingsBox, o as default };\n","import e, { withContentRect as t } from \"../node_modules/.bun/react-measure@2.5.2_6dbf9a050bc9aadb/node_modules/react-measure/dist/index.esm.js\";\nimport n from \"./layout-contents.js\";\nimport { SettingsBox as r } from \"./settings-box.js\";\nimport i from \"react\";\nimport a from \"prop-types\";\nimport { StyledEngineProvider as o, ThemeProvider as s, createTheme as c } from \"@mui/material/styles\";\nimport { jsx as l, jsxs as u } from \"react/jsx-runtime\";\n//#region src/layout/config-layout.tsx\nvar d = c({\n\ttypography: { fontFamily: \"inherit\" },\n\tcomponents: { MuiButton: { styleOverrides: { contained: {\n\t\tbackgroundColor: \"#e0e0e0\",\n\t\tcolor: \"#000000\",\n\t\t\"&:hover\": { backgroundColor: \"#bdbdbd\" }\n\t} } } }\n}), f = class extends i.Component {\n\tstatic propTypes = {\n\t\tchildren: a.oneOfType([\n\t\t\ta.string,\n\t\t\ta.arrayOf(a.element),\n\t\t\ta.element\n\t\t]),\n\t\tclassName: a.string,\n\t\tdimensions: a.object,\n\t\tsettings: a.element,\n\t\tsidePanelMinWidth: a.number,\n\t\thideSettings: a.bool,\n\t\textraCSSRules: a.shape({\n\t\t\tnames: a.arrayOf(a.string),\n\t\t\trules: a.string\n\t\t})\n\t};\n\tstatic defaultProps = {\n\t\tsidePanelMinWidth: 1135,\n\t\thideSettings: !1,\n\t\tdimensions: {}\n\t};\n\tconstructor(...e) {\n\t\tsuper(...e), this.state = { layoutMode: void 0 };\n\t}\n\tonResize = (e) => {\n\t\tlet { bounds: t } = e, { sidePanelMinWidth: n, dimensions: r } = this.props, { maxWidth: i } = r || {}, a = t.width > n && (!i || i > n) ? \"inline\" : \"tabbed\";\n\t\ta !== this.state.layoutMode && this.setState({ layoutMode: a });\n\t};\n\trender() {\n\t\treturn /* @__PURE__ */ l(o, {\n\t\t\tinjectFirst: !0,\n\t\t\tchildren: /* @__PURE__ */ l(s, {\n\t\t\t\ttheme: d,\n\t\t\t\tchildren: /* @__PURE__ */ l(e, {\n\t\t\t\t\tbounds: !0,\n\t\t\t\t\tonResize: this.onResize,\n\t\t\t\t\tchildren: ({ measureRef: e }) => {\n\t\t\t\t\t\tlet { children: t, settings: i, hideSettings: a, dimensions: o, extraCSSRules: s } = this.props, { layoutMode: c } = this.state, d = a ? null : c === \"inline\" ? /* @__PURE__ */ l(r, {\n\t\t\t\t\t\t\tclassName: \"settings-box\",\n\t\t\t\t\t\t\tchildren: i\n\t\t\t\t\t\t}) : i;\n\t\t\t\t\t\treturn /* @__PURE__ */ u(\"div\", {\n\t\t\t\t\t\t\tref: e,\n\t\t\t\t\t\t\tclassName: \"main-container extraCSSRules\",\n\t\t\t\t\t\t\tchildren: [s?.rules ? /* @__PURE__ */ l(\"style\", { dangerouslySetInnerHTML: { __html: `.extraCSSRules { ${s.rules} }` } }) : null, /* @__PURE__ */ l(n, {\n\t\t\t\t\t\t\t\tmode: c,\n\t\t\t\t\t\t\t\tsecondary: d,\n\t\t\t\t\t\t\t\tdimensions: o,\n\t\t\t\t\t\t\t\tchildren: t\n\t\t\t\t\t\t\t})]\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t\t});\n\t}\n}, p = t(\"bounds\")(f);\n//#endregion\nexport { p as default };\n","import { __exportAll as e } from \"../_virtual/_rolldown/runtime.js\";\nimport t from \"./layout-contents.js\";\nimport n from \"./config-layout.js\";\n//#region src/layout/index.ts\nvar r = /* @__PURE__ */ e({\n\tConfigLayout: () => n,\n\tLayoutContents: () => t\n});\n//#endregion\nexport { n as ConfigLayout, t as LayoutContents, r as layout_exports };\n","import \"react\";\nimport e from \"prop-types\";\nimport { styled as t } from \"@mui/material/styles\";\nimport { jsx as n, jsxs as r } from \"react/jsx-runtime\";\nimport { color as i } from \"@pie-lib/render-ui\";\nimport a from \"@mui/material/Switch\";\nimport o from \"@mui/material/InputLabel\";\n//#region src/settings/toggle.tsx\nvar s = t(\"div\")(() => ({\n\tdisplay: \"flex\",\n\twidth: \"100%\",\n\tjustifyContent: \"space-between\"\n})), c = t(o)(({ theme: e }) => ({\n\tcolor: \"rgba(0, 0, 0, 0.89)\",\n\tfontSize: e.typography.fontSize,\n\tpaddingTop: e.spacing(2)\n})), l = t(a)(({ checked: e }) => ({\n\t\"&.Mui-checked .MuiSwitch-thumb\": { color: `${i.tertiary()} !important` },\n\t\"&.Mui-checked .MuiSwitch-track\": { backgroundColor: `${i.tertiaryLight()} !important` },\n\t\"& .MuiSwitch-track\": { backgroundColor: e ? `${i.tertiaryLight()} !important` : void 0 }\n})), u = ({ checked: e, disabled: t, label: i, toggle: a }) => /* @__PURE__ */ r(s, { children: [/* @__PURE__ */ n(c, { children: i }), /* @__PURE__ */ n(l, {\n\tchecked: e,\n\tdisabled: t,\n\tonChange: (e) => a(e.target.checked)\n})] });\nu.propTypes = {\n\tchecked: e.bool,\n\tdisabled: e.bool,\n\tlabel: e.string.isRequired,\n\ttoggle: e.func.isRequired\n};\n//#endregion\nexport { u as default };\n","import \"react\";\nimport e from \"prop-types\";\nimport { styled as t } from \"@mui/material/styles\";\nimport { jsx as n } from \"react/jsx-runtime\";\nimport { color as r } from \"@pie-lib/render-ui\";\nimport i from \"@mui/material/FormControlLabel\";\nimport a from \"@mui/material/Radio\";\n//#region src/settings/settings-radio-label.tsx\nvar o = t(i)(({ theme: e }) => ({ \"& .MuiFormControlLabel-label\": {\n\tcolor: \"rgba(0, 0, 0, 0.89)\",\n\tfontSize: e.typography.fontSize - 2,\n\tleft: \"-5px\",\n\tposition: \"relative\"\n} })), s = t(a)(() => ({ color: `${r.tertiary()} !important` })), c = ({ label: e, value: t, checked: r, onChange: i }) => /* @__PURE__ */ n(o, {\n\tvalue: t,\n\tcontrol: /* @__PURE__ */ n(s, {\n\t\tchecked: r,\n\t\tonChange: i\n\t}),\n\tlabel: e\n});\nc.propTypes = {\n\tlabel: e.string,\n\tvalue: e.string,\n\tchecked: e.bool,\n\tonChange: e.func\n};\n//#endregion\nexport { c as default };\n","import e from \"../checkbox.js\";\nimport { NumberTextField as t } from \"../number-text-field.js\";\nimport { NChoice as n } from \"../two-choice.js\";\nimport r from \"./toggle.js\";\nimport i from \"./settings-radio-label.js\";\nimport a from \"react\";\nimport o from \"prop-types\";\nimport { styled as s } from \"@mui/material/styles\";\nimport { jsx as c, jsxs as l } from \"react/jsx-runtime\";\nimport { get as u, set as d } from \"@pie-element/shared-lodash\";\nimport f from \"@mui/material/Typography\";\nimport p from \"@mui/material/Input\";\nimport m from \"@mui/material/Select\";\nimport h from \"@mui/material/MenuItem\";\nimport g from \"debug\";\n//#region src/settings/panel.tsx\nvar _ = g(\"pie-lib:config-ui:settings:panel\"), v = {\n\tlabel: o.string,\n\tvalue: o.string\n}, y = {\n\tlabel: o.string,\n\tvalue: o.string,\n\tonChange: o.func\n}, b = ({ label: t, value: n, onChange: r }) => /* @__PURE__ */ c(e, {\n\tchecked: n,\n\tlabel: t,\n\tonChange: (e) => {\n\t\tr(e.target.checked);\n\t}\n});\nb.propTypes = {\n\tlabel: o.string,\n\tvalue: o.bool,\n\tonChange: o.func\n};\nvar x = s(n)(({ theme: e }) => ({\n\tmarginTop: e.spacing(.5),\n\tpaddingBottom: e.spacing(.5),\n\twidth: \"100%\",\n\t\"& > label\": {\n\t\tcolor: \"rgba(0, 0, 0, 0.89)\",\n\t\ttransform: \"translate(0, 10px) scale(1)\",\n\t\tfontSize: \"18px\",\n\t\tmarginTop: e.spacing(2.5)\n\t},\n\t\"& > div\": { marginTop: e.spacing(2.5) }\n})), S = ({ label: e, value: t, onChange: n, choices: r }) => /* @__PURE__ */ c(x, {\n\tdirection: \"horizontal\",\n\tcustomLabel: i,\n\tvalue: t,\n\theader: e,\n\topts: r,\n\tonChange: n\n});\nS.propTypes = {\n\t...y,\n\tchoices: o.arrayOf(o.shape(v))\n};\nvar C = S, w = s(\"p\")(({ theme: e }) => ({\n\tmargin: 0,\n\tfontSize: e.typography.fontSize\n})), T = s(m)(({ theme: e }) => ({\n\tmarginTop: e.spacing(.5),\n\tborder: \"2px solid lightgrey\",\n\tpadding: `0 ${e.spacing(1)}`,\n\tborderRadius: \"4px\"\n})), E = ({ label: e, value: t, onChange: n, choices: r = [] }) => {\n\tlet i = (e) => typeof e == \"string\" ? e : e.label, a = (e) => typeof e == \"string\" ? e : e.value;\n\treturn /* @__PURE__ */ l(\"div\", { children: [e && /* @__PURE__ */ c(w, { children: e }), /* @__PURE__ */ c(T, {\n\t\tvalue: t || r && r[0],\n\t\tonChange: ({ target: e }) => n(e.value),\n\t\tinput: /* @__PURE__ */ c(p, { id: `dropdown-${e}` }),\n\t\tdisableUnderline: !0,\n\t\tMenuProps: { transitionDuration: {\n\t\t\tenter: 225,\n\t\t\texit: 195\n\t\t} },\n\t\tchildren: r.map((e, t) => /* @__PURE__ */ c(h, {\n\t\t\tvalue: a(e),\n\t\t\tchildren: i(e)\n\t\t}, t))\n\t})] });\n};\nE.propTypes = {\n\t...y,\n\tchoices: o.arrayOf(o.string)\n};\nvar D = s(f)(({ theme: e }) => ({\n\tmarginRight: e.spacing(3),\n\tmarginTop: e.spacing(1)\n})), O = ({ label: e }) => /* @__PURE__ */ c(D, { children: e }), k = s(t)(({ theme: e }) => ({\n\twidth: \"35%\",\n\tmarginRight: e.spacing(3),\n\tmarginTop: e.spacing(1),\n\t\"& .MuiInputBase-root\": {\n\t\tmarginTop: e.spacing(.5),\n\t\tborder: \"2px solid lightgrey\",\n\t\tborderRadius: \"4px\",\n\t\tpadding: `0 ${e.spacing(1)}`,\n\t\tbackgroundColor: \"transparent\"\n\t}\n})), A = ({ label: e, value: t, onChange: n = () => {}, suffix: r, min: i, max: a }) => /* @__PURE__ */ c(k, {\n\tvariant: \"standard\",\n\tlabel: e || \"Label\",\n\tvalue: t,\n\tmax: a,\n\tmin: i,\n\tonChange: (e, t) => n(t),\n\tsuffix: r,\n\tshowErrorWhenOutsideRange: !0,\n\tdisableUnderline: !0\n});\nA.propTypes = {\n\t...y,\n\tsuffix: o.string,\n\tmin: o.number,\n\tmax: o.number,\n\tvalue: o.number\n}, O.propTypes = { ...y };\nvar j = ({ disabled: e, label: t, value: n, onChange: i }) => /* @__PURE__ */ c(r, {\n\tlabel: t,\n\tchecked: !!n,\n\tdisabled: !!e,\n\ttoggle: i\n});\nj.propTypes = {\n\t...y,\n\tvalue: o.bool\n};\nvar M = {\n\ttoggle: j,\n\tradio: C,\n\tdropdown: E,\n\tnumberField: A,\n\tcheckbox: b,\n\ttextField: O\n}, N = s(\"div\")(({ theme: e }) => ({ margin: `0 0 ${e.spacing(2)} 0` })), P = s(\"div\")(({ theme: e }) => ({\n\tcolor: \"#495B8F\",\n\tfontSize: e.typography.fontSize + 2,\n\tfontWeight: 600,\n\tmarginBottom: e.spacing(1)\n})), F = s(\"p\")(({ theme: e }) => ({\n\tfontSize: e.typography.fontSize,\n\tmarginBottom: 0\n})), I = (e) => {\n\tlet { model: t, label: n, group: r, configuration: i, onChange: a } = e, o = (e, n, r) => {\n\t\tlet { isConfigProperty: o, ...s } = u(e, r || n), l = u(o ? i : t, n), d = {\n\t\t\t...s,\n\t\t\tkey: n,\n\t\t\tvalue: l\n\t\t}, f = M[d.type];\n\t\treturn /* @__PURE__ */ c(f, {\n\t\t\t...d,\n\t\t\tonChange: (e) => a(n, e, o)\n\t\t}, n);\n\t}, s = (e, t) => {\n\t\tlet n = e[t];\n\t\tif (!n) return null;\n\t\tlet { type: r, label: i, fields: a, choices: s } = n;\n\t\treturn r === \"numberFields\" ? /* @__PURE__ */ l(\"div\", { children: [/* @__PURE__ */ c(F, { children: i }), Object.keys(a).map((n) => o(e, `${t}.${n}`, `${t}.fields.${n}`))] }, `numberField-${i}`) : r === \"checkboxes\" ? /* @__PURE__ */ l(\"div\", { children: [/* @__PURE__ */ c(\"p\", { children: i }), Object.keys(s).map((n) => o(e, `${t}.${n}`, `${t}.choices.${n}`))] }, `checkbox-${i}`) : o(e, t);\n\t};\n\treturn /* @__PURE__ */ l(N, { children: [/* @__PURE__ */ c(P, { children: n }), Object.keys(r).map((e) => s(r, e))] });\n};\nI.propTypes = {\n\tmodel: o.object,\n\tlabel: o.string,\n\tgroup: o.object,\n\tconfiguration: o.object,\n\tonChange: o.func\n};\nvar L = class extends a.Component {\n\tstatic propTypes = {\n\t\tmodel: o.object,\n\t\tconfiguration: o.object,\n\t\tgroups: o.object,\n\t\tonChangeModel: o.func,\n\t\tonChangeConfiguration: o.func,\n\t\tmodal: o.object\n\t};\n\tstatic defaultProps = {\n\t\tonChangeModel: () => {},\n\t\tonChangeConfiguration: () => {}\n\t};\n\tchange = (e, t, n = !1) => {\n\t\t_(\"[changeModel]\", e, t);\n\t\tlet { onChangeModel: r, onChangeConfiguration: i } = this.props, a = { ...this.props.model }, o = { ...this.props.configuration };\n\t\tn ? (d(o, e, t), i(o, e)) : (d(a, e, t), r(a, e));\n\t};\n\trender() {\n\t\tlet { groups: e, model: t, configuration: n, modal: r } = this.props;\n\t\treturn _(\"render:\", t), /* @__PURE__ */ l(\"div\", { children: [Object.keys(e || {}).map((r) => Object.entries(e[r]).some(([, e]) => !!e) ? /* @__PURE__ */ c(I, {\n\t\t\tlabel: r,\n\t\t\tmodel: t,\n\t\t\tconfiguration: n,\n\t\t\tgroup: e[r],\n\t\t\tonChange: this.change\n\t\t}, r) : null), r] });\n\t}\n};\n//#endregion\nexport { L as Panel, L as default };\n","import { __exportAll as e } from \"../_virtual/_rolldown/runtime.js\";\nimport { Panel as t } from \"./panel.js\";\n//#region src/settings/index.ts\nvar n = /* @__PURE__ */ e({\n\tPanel: () => t,\n\tcheckbox: () => u,\n\tcheckboxes: () => d,\n\tdropdown: () => s,\n\tnumberField: () => c,\n\tnumberFields: () => l,\n\tradio: () => o,\n\ttextField: () => r,\n\ttoggle: () => i\n}), r = (e, t = !0) => ({\n\tlabel: e,\n\ttype: \"textField\",\n\tisConfigProperty: t\n}), i = (e, t = !1, n = !1) => ({\n\ttype: \"toggle\",\n\tlabel: e,\n\tisConfigProperty: t,\n\tdisabled: n\n}), a = (e) => typeof e == \"string\" ? {\n\tlabel: e,\n\tvalue: e\n} : e, o = function() {\n\tlet [e, t, n = !1] = Array.prototype.slice.call(arguments);\n\treturn {\n\t\ttype: \"radio\",\n\t\tlabel: e,\n\t\tchoices: t && t.map((e) => a(e)),\n\t\tisConfigProperty: n\n\t};\n}, s = (e, t, n = !1) => ({\n\ttype: \"dropdown\",\n\tlabel: e,\n\tchoices: t,\n\tisConfigProperty: n\n}), c = (e, t, n = !1) => ({\n\t...t,\n\tlabel: e,\n\ttype: \"numberField\",\n\tisConfigProperty: n\n}), l = (e, t, n = !1) => (Object.keys(t).map((e) => {\n\tt[e] = c(t[e].label, t[e], n);\n}), {\n\ttype: \"numberFields\",\n\tlabel: e,\n\tfields: t\n}), u = (e, t, n = !1) => ({\n\t...t,\n\tlabel: e,\n\ttype: \"checkbox\",\n\tisConfigProperty: n\n}), d = (e, t, n = !1) => (Object.keys(t).map((e) => {\n\tt[e] = u(t[e].label, t[e], n);\n}), {\n\ttype: \"checkboxes\",\n\tlabel: e,\n\tchoices: t\n});\n//#endregion\nexport { t as Panel, u as checkbox, d as checkboxes, s as dropdown, c as numberField, l as numberFields, o as radio, n as settings_exports, r as textField, i as toggle };\n","import e from \"./alert-dialog.js\";\nimport { FeedbackSelector as t } from \"./feedback-config/feedback-selector.js\";\nimport { FeedbackConfig as n, buildDefaults as r } from \"./feedback-config/index.js\";\nimport { InputCheckbox as i, InputRadio as a, InputSwitch as o } from \"./inputs.js\";\nimport { Langs as s, LanguageControls as c } from \"./langs.js\";\nimport { Tabs as l } from \"./tabs/index.js\";\nimport u from \"./checkbox.js\";\nimport d from \"./form-section.js\";\nimport f from \"./help.js\";\nimport p from \"./input.js\";\nimport { NumberTextField as m } from \"./number-text-field.js\";\nimport { NumberTextFieldCustom as h } from \"./number-text-field-custom.js\";\nimport g, { NChoice as _ } from \"./two-choice.js\";\nimport v from \"./mui-box/index.js\";\nimport { TagsInput as y } from \"./tags-input/index.js\";\nimport { ChoiceConfiguration as b } from \"./choice-configuration/index.js\";\nimport { layout_exports as x } from \"./layout/index.js\";\nimport { choice_utils_exports as S } from \"./choice-utils.js\";\nimport C from \"./with-stateful-model.js\";\nimport w from \"./settings/toggle.js\";\nimport T from \"./settings/display-size.js\";\nimport { settings_exports as E } from \"./settings/index.js\";\nimport * as D from \"@pie-lib/render-ui\";\nimport { InputContainer as O } from \"@pie-lib/render-ui\";\n//#region src/index.ts\nfunction k(e) {\n\treturn typeof e == \"function\" || typeof e == \"object\" && !!e && typeof e.$$typeof == \"symbol\";\n}\nfunction A(e, t) {\n\treturn !e || k(e) ? e : k(e.default) ? e.default : t && k(e[t]) ? e[t] : t && k(e[t]?.default) ? e[t].default : e;\n}\nvar j = A(O, \"InputContainer\") || A(P.InputContainer, \"InputContainer\"), M = D, N = M.default, P = N && typeof N == \"object\" ? N : M;\n//#endregion\nexport { e as AlertDialog, u as Checkbox, b as ChoiceConfiguration, T as DisplaySize, n as FeedbackConfig, t as FeedbackSelector, d as FormSection, f as Help, p as Input, i as InputCheckbox, j as InputContainer, a as InputRadio, o as InputSwitch, s as Langs, c as LanguageControls, v as MuiBox, _ as NChoice, m as NumberTextField, h as NumberTextFieldCustom, l as Tabs, y as TagsInput, w as Toggle, g as TwoChoice, S as choiceUtils, r as feedbackConfigDefaults, x as layout, E as settings, C as withStatefulModel };\n","// @ts-nocheck\n/**\n * @synced-from pie-elements/packages/math-templated/configure/src/response.jsx\n * @auto-generated\n *\n * This file is automatically synced from pie-elements and converted to TypeScript.\n * Manual edits will be overwritten on next sync.\n * To make changes, edit the upstream JavaScript file and run sync again.\n */\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { InputContainer } from '@pie-lib/config-ui';\nimport { MathToolbar } from '@pie-lib/math-toolbar';\nimport Card from '@mui/material/Card';\nimport CardContent from '@mui/material/CardContent';\nimport Button from '@mui/material/Button';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport Typography from '@mui/material/Typography';\nimport InputLabel from '@mui/material/InputLabel';\nimport Checkbox from '@mui/material/Checkbox';\nimport Select from '@mui/material/Select';\nimport MenuItem from '@mui/material/MenuItem';\nimport { styled } from '@mui/material/styles';\nimport IconButton from '@mui/material/IconButton';\nimport Delete from '@mui/icons-material/Delete';\nimport { color } from '@pie-lib/render-ui';\n\nconst ResponseContainer: any = styled(Card)(({ theme }) => ({\n marginBottom: theme.spacing(2.5),\n width: '100%',\n minWidth: '548px',\n border: `1px solid ${color.borderDark()}`,\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-between',\n}));\n\nconst StyledCardContent: any = styled(CardContent)(({ theme }) => ({\n paddingBottom: `${theme.spacing(2)} !important`,\n}));\n\nconst StyledTitle: any = styled(Typography)({\n fontWeight: 700,\n fontSize: '1.2rem',\n flex: 3,\n});\n\nconst StyledSelectContainer: any = styled(InputContainer)(({ theme }) => ({\n flex: 2,\n '& > *:not(label)': {\n marginTop: theme.spacing(1),\n },\n}));\n\nconst InputContainerWrapper: any = styled('div')(({ theme }) => ({\n marginBottom: theme.spacing(2),\n}));\n\nconst TitleBar: any = styled('div')({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n});\n\nconst FlexContainer: any = styled('div')({\n display: 'flex',\n});\n\nconst AlternateButton: any = styled(Button)(() => ({\n border: `1px solid ${color.border()}`,\n color: color.text(),\n}));\n\nconst RemoveAlternateButton: any = styled(IconButton)(({ theme }) => ({\n marginLeft: theme.spacing(1),\n}));\n\nconst ErrorText: any = styled('div')(({ theme }) => ({\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing(1),\n}));\n\n// Fill and ink move together so the slot label stays legible on whatever the fill becomes.\nconst ResponseBox: any = styled('div')(() => ({\n background: color.backgroundDark(),\n color: color.text(),\n display: 'inline',\n minWidth: '50px',\n padding: '8px',\n // #C0C3CF is `--pie-blue-grey-300`'s default, but that token is a fill and measures\n // 1.00:1 against some schemes' backgrounds; the slot outline needs the stroke token.\n border: `1px solid ${color.border()}`,\n}));\n\nconst AlternateBar: any = styled('div')({\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n});\n\nconst CustomColorCheckbox: any = styled(Checkbox)({\n color: `${color.tertiary()} !important`,\n});\n\n// CSS for MathToolbar classNames (used as strings)\nif (typeof document !== 'undefined') {\n const styleId = 'math-templated-response-styles';\n if (!document.getElementById(styleId)) {\n const style = document.createElement('style');\n style.id = styleId;\n style.textContent = `\n .response-editor {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n min-width: 500px;\n max-width: 900px;\n height: auto;\n min-height: 40px;\n }\n .math-toolbar {\n width: 100%;\n }\n `;\n document.head.appendChild(style);\n }\n}\n\nexport class Response extends React.Component {\n static propTypes = {\n defaultResponse: PropTypes.bool,\n error: PropTypes.object,\n mode: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n onResponseChange: PropTypes.func.isRequired,\n onResponseDone: PropTypes.func.isRequired,\n response: PropTypes.object.isRequired,\n cIgnoreOrder: PropTypes.object.isRequired,\n cAllowTrailingZeros: PropTypes.object.isRequired,\n responseKey: PropTypes.number.isRequired,\n };\n\n static defaultProps = {\n defaultResponse: false,\n mode: '8',\n };\n\n constructor(props) {\n super(props);\n\n const { response: { alternates } = {} } = props || {};\n const alternatesLength = Object.keys(alternates || {}).length;\n\n this.state = {\n alternateIdCounter: alternatesLength + 1,\n showKeypad: {\n openCount: 0,\n main: false,\n },\n };\n }\n\n onChange = (name) => (evt) => {\n const { response, onResponseChange, responseKey } = this.props;\n const newResponse = { ...response };\n\n newResponse[name] = evt.target.value;\n\n onResponseChange(newResponse, responseKey);\n };\n\n onConfigChanged = (name) => (evt) => {\n const { response, onResponseChange, responseKey } = this.props;\n const newResponse = { ...response };\n\n newResponse[name] = evt.target.checked;\n\n onResponseChange(newResponse, responseKey);\n };\n\n onLiteralOptionsChange = (name) => () => {\n const { response, onResponseChange, responseKey } = this.props;\n const newResponse = { ...response };\n\n newResponse[name] = !response[name];\n\n onResponseChange(newResponse, responseKey);\n };\n\n onAnswerChange: any = (answer) => {\n const { response, onResponseChange, responseKey } = this.props;\n const newResponse = { ...response };\n\n newResponse.answer = answer;\n\n onResponseChange(newResponse, responseKey);\n };\n\n onAlternateAnswerChange = (alternateId) => (answer) => {\n const { response, onResponseChange, responseKey } = this.props;\n const newResponse = { ...response };\n\n newResponse.alternates[alternateId] = answer;\n\n onResponseChange(newResponse, responseKey);\n };\n\n onAddAlternate: any = () => {\n const { response, onResponseChange, responseKey } = this.props;\n const { alternateIdCounter } = this.state;\n const newResponse = { ...response };\n\n if (!newResponse.alternates) {\n newResponse.alternates = {};\n }\n\n newResponse.alternates[alternateIdCounter] = '';\n\n onResponseChange(newResponse, responseKey);\n\n this.setState({\n alternateIdCounter: alternateIdCounter + 1,\n });\n };\n\n onRemoveAlternate = (alternateId) => () => {\n const { response, onResponseChange, responseKey } = this.props;\n const newResponse = { ...response };\n\n delete newResponse.alternates[alternateId];\n\n onResponseChange(newResponse, responseKey);\n\n this.setState((state) => ({\n showKeypad: {\n ...state.showKeypad,\n openCount: !state.showKeypad[alternateId] ? state.showKeypad.openCount : state.showKeypad.openCount - 1,\n },\n }));\n };\n\n onDone: any = () => {\n const { onResponseDone } = this.props;\n this.setState((state) => ({\n showKeypad: {\n ...state.showKeypad,\n openCount: state.showKeypad.openCount - 1,\n main: false,\n },\n }));\n\n onResponseDone();\n };\n\n onFocus: any = () => {\n this.setState((state) => ({\n showKeypad: {\n ...state.showKeypad,\n openCount: !state.showKeypad.main ? state.showKeypad.openCount + 1 : state.showKeypad.openCount,\n main: true,\n },\n }));\n };\n\n onAlternateFocus = (alternateId) => () => {\n this.setState((state) => ({\n showKeypad: {\n ...state.showKeypad,\n openCount: !state.showKeypad[alternateId] ? state.showKeypad.openCount + 1 : state.showKeypad.openCount,\n [alternateId]: true,\n },\n }));\n };\n\n onAlternateDone = (alternateId) => () => {\n this.setState((state) => ({\n showKeypad: {\n ...state.showKeypad,\n openCount: state.showKeypad.openCount - 1,\n [alternateId]: false,\n },\n }));\n };\n\n render() {\n const { mode, responseKey, response, cAllowTrailingZeros, cIgnoreOrder, error } = this.props;\n const { showKeypad } = this.state;\n const { validation, answer, alternates, ignoreOrder, allowTrailingZeros } = response;\n const hasAlternates = Object.keys(alternates || {}).length > 0;\n const classNames = {\n editor: 'response-editor',\n mathToolbar: 'math-toolbar',\n };\n const styles = {\n minHeight: `${showKeypad.openCount > 0 ? 430 : 230}px`,\n };\n // add 1 to index to display R 1 instead of R 0\n const keyToDisplay = `R ${parseInt(responseKey) + 1}`;\n\n return (\n <ResponseContainer style={styles}>\n <StyledCardContent>\n <TitleBar>\n <StyledTitle component=\"div\">\n Response for <ResponseBox>{keyToDisplay}</ResponseBox>\n </StyledTitle>\n\n <StyledSelectContainer label=\"Validation\">\n <Select onChange={this.onChange('validation')} value={validation || 'literal'} MenuProps={{transitionDuration: { enter: 225, exit: 195 } }}>\n <MenuItem value=\"literal\">Literal Validation</MenuItem>\n <MenuItem value=\"symbolic\">Symbolic Validation</MenuItem>\n </Select>\n </StyledSelectContainer>\n </TitleBar>\n\n {validation === 'literal' && (\n <FlexContainer>\n {cAllowTrailingZeros.enabled && (\n <FormControlLabel\n label={cAllowTrailingZeros.label}\n control={\n <CustomColorCheckbox\n checked={allowTrailingZeros}\n onChange={this.onLiteralOptionsChange('allowTrailingZeros')}\n />\n }\n />\n )}\n\n {cIgnoreOrder.enabled && (\n <FormControlLabel\n label={cIgnoreOrder.label}\n control={\n <CustomColorCheckbox\n checked={ignoreOrder}\n onChange={this.onLiteralOptionsChange('ignoreOrder')}\n />\n }\n />\n )}\n </FlexContainer>\n )}\n\n <InputContainerWrapper>\n <InputLabel>Correct Answer</InputLabel>\n <MathToolbar\n keypadMode={mode}\n classNames={classNames}\n controlledKeypad\n showKeypad={showKeypad.main}\n latex={answer || ''}\n onChange={this.onAnswerChange}\n onFocus={this.onFocus}\n onDone={this.onDone}\n error={error && error.answer}\n />\n {error && error.answer ? <ErrorText>{error.answer}</ErrorText> : null}\n </InputContainerWrapper>\n\n {hasAlternates &&\n Object.keys(alternates).map((alternateId, altIdx) => (\n <InputContainerWrapper key={alternateId}>\n <InputLabel>\n Alternate\n {Object.keys(alternates).length > 1 ? ` ${altIdx + 1}` : ''}\n </InputLabel>\n <AlternateBar>\n <MathToolbar\n classNames={classNames}\n controlledKeypad\n keypadMode={mode}\n showKeypad={showKeypad[alternateId] || false}\n latex={alternates[alternateId] || ''}\n onChange={this.onAlternateAnswerChange(alternateId)}\n onFocus={this.onAlternateFocus(alternateId)}\n onDone={this.onAlternateDone(alternateId)}\n error={error && error[alternateId]}\n />\n <RemoveAlternateButton\n onClick={this.onRemoveAlternate(alternateId)}\n size=\"large\">\n <Delete />\n </RemoveAlternateButton>\n </AlternateBar>\n {error && error[alternateId] ? <ErrorText>{error[alternateId]}</ErrorText> : null}\n </InputContainerWrapper>\n ))}\n\n <AlternateButton type=\"primary\" onClick={this.onAddAlternate}>\n ADD ALTERNATE\n </AlternateButton>\n </StyledCardContent>\n </ResponseContainer>\n );\n }\n}\n\nexport default Response;\n","// @ts-nocheck\n/**\n * @synced-from pie-elements/packages/math-templated/configure/src/markupUtils.js\n * @auto-generated\n *\n * This file is automatically synced from pie-elements and converted to TypeScript.\n * Manual edits will be overwritten on next sync.\n * To make changes, edit the upstream JavaScript file and run sync again.\n */\n\n// do not remove \\t from \\times, \\triangle, \\tan, \\theta or \\therefore\nconst tSymbols = 'imes|riangle|an|heta|herefore';\n// do not remove \\n from \\nthroot, \\nparallel, \\ncong, \\napprox, \\neq, \\ne or \\nsim\nconst nSymbols = 'throot|parallel|cong|approx|eq|e|sim';\n// match all \\t and \\n that are not part of math symbols that starts with \\t or \\n\nconst matchTabAndNewLine = new RegExp(\n `(\\\\t(?!${tSymbols}))|(\\\\n(?!${nSymbols}))|(\\\\\\\\t(?!${tSymbols}))|(\\\\\\\\n(?!${nSymbols}))`,\n 'g'\n);\n\nexport const removeUnwantedCharacters = (markup) =>\n markup.replace(matchTabAndNewLine, '').replace(/\\\\\"/g, '\"').replace(/\\\\\\//g, '/');\n\nconst createElementFromHTML = (htmlString = '') => {\n const div = document.createElement('div');\n\n div.innerHTML = htmlString.trim();\n\n return div;\n};\n\nexport const processMarkup = (markup) => {\n const newMarkup = removeUnwantedCharacters(markup || '');\n const slateMarkup = createElementFromHTML(newMarkup || '');\n\n slateMarkup.querySelectorAll('[data-type=\"math_templated\"]')\n .forEach((s) => s.replaceWith(`{{${s.dataset.index}}}`));\n\n return slateMarkup.innerHTML;\n};\n\nconst REGEX = /\\{\\{(\\d+)\\}\\}/g;\n\nexport const createSlateMarkup = (markup, responses) => {\n if (!markup) {\n return '';\n }\n\n const newMarkup = removeUnwantedCharacters(markup);\n\n return newMarkup.replace(REGEX, (match, groupIndex) => {\n const responseValue = responses[groupIndex]?.answer || '';\n return `<span data-type=\"math_templated\" data-index=\"${groupIndex}\" data-value=\"${responseValue}\"></span>`;\n });\n};\n","// @ts-nocheck\n/**\n * @synced-from pie-elements/packages/math-templated/configure/src/utils.js\n * @auto-generated\n *\n * This file is automatically synced from pie-elements and converted to TypeScript.\n * Manual edits will be overwritten on next sync.\n * To make changes, edit the upstream JavaScript file and run sync again.\n */\n\nexport const generateValidationMessage = (config) => {\n const { maxResponseAreas } = config;\n\n const responseAreasMessage =\n '\\nCorrect answers should not be blank.' +\n '\\nEach answer defined for a response area should be unique.' +\n '\\nThere should be at least 1 ' +\n (maxResponseAreas ? `and at most ${maxResponseAreas} ` : '') +\n 'response area' +\n (maxResponseAreas ? 's' : '') +\n ' defined.';\n\n return 'Validation requirements:' + responseAreasMessage;\n};\n","// @ts-nocheck\n/**\n * @synced-from pie-elements/packages/math-templated/configure/src/design.jsx\n * @auto-generated\n *\n * This file is automatically synced from pie-elements and converted to TypeScript.\n * Manual edits will be overwritten on next sync.\n * To make changes, edit the upstream JavaScript file and run sync again.\n */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport Typography from '@mui/material/Typography';\nimport Select from '@mui/material/Select';\nimport MenuItem from '@mui/material/MenuItem';\nimport Info from '@mui/icons-material/Info';\nimport Tooltip from '@mui/material/Tooltip';\nimport { cloneDeep, pick, throttle } from '@pie-element/shared-lodash';\nimport { InputContainer, settings, layout } from '@pie-lib/config-ui';\nimport EditableHtml, { ALL_PLUGINS } from '@pie-lib/editable-html-tip-tap';\nconst { dropdown } = settings;\n\nimport Response from './response.js';\nimport { processMarkup, createSlateMarkup } from './markupUtils.js';\nimport { generateValidationMessage } from './utils.js';\n\nconst { Panel, toggle } = settings;\n\nconst StyledInputContainer: any = styled(InputContainer)(({ theme }) => ({\n width: '100%',\n paddingTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n}));\n\nconst StyledEditableHtml: any = styled(EditableHtml)({\n width: '100%',\n});\n\nconst ErrorText: any = styled('div')(({ theme }) => ({\n color: theme.palette.error.main,\n fontSize: '0.75rem',\n marginTop: theme.spacing(1),\n}));\n\nconst ResponseAreaError: any = styled('div')(({ theme }) => ({\n color: theme.palette.error.main,\n fontSize: '0.75rem',\n marginBottom: theme.spacing(1),\n}));\n\nconst StyledMarkup: any = styled(EditableHtml)(({ theme }) => ({\n width: '100%',\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(3),\n}));\n\nconst StyledSelectContainer: any = styled(InputContainer)(({ theme }) => ({\n width: '100%',\n marginTop: theme.spacing(2),\n '& > *:not(label)': {\n marginTop: theme.spacing(1),\n },\n marginBottom: theme.spacing(2),\n}));\n\nconst StyledSelect: any = styled(Select)({\n width: '100%',\n});\n\nconst StyledTitle: any = styled(Typography)(({ theme }) => ({\n fontSize: theme.typography.fontSize * 1.25,\n fontWeight: 'bold',\n}));\n\nconst TooltipContainer: any = styled('div')({\n display: 'flex',\n alignItems: 'center',\n gap: '8px',\n});\n\nconst StyledTooltip: any = styled(Tooltip)(({ theme }) => ({\n '& .MuiTooltip-tooltip': {\n fontSize: theme.typography.fontSize - 2,\n whiteSpace: 'pre',\n maxWidth: '500px',\n },\n}));\n\nconst createElementFromHTML = (htmlString) => {\n const div = document.createElement('div');\n div.innerHTML = htmlString.trim();\n\n return div;\n};\n\nexport class Design extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n onModelChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n uploadSoundSupport: PropTypes.object,\n };\n\n state = {};\n\n componentDidMount() {\n const {\n model: { slateMarkup },\n } = this.props;\n\n this.setState({ markup: slateMarkup });\n }\n\n handleChange: any = (key, value) => {\n const { onModelChanged, model } = this.props;\n const updatedModel = cloneDeep(model);\n updatedModel[key] = value;\n onModelChanged(updatedModel);\n };\n\n onResponseChange: any = (response, index) => {\n const { model, onModelChanged } = this.props;\n const newModel = { ...model };\n\n newModel.responses[index] = response;\n onModelChanged(newModel);\n };\n\n onResponseDone: any = () => {\n const { model, onModelChanged } = this.props;\n\n onModelChanged({\n ...model,\n slateMarkup: createSlateMarkup(model.markup, model.responses),\n });\n };\n\n onChangeResponse: any = (index, newVal) => {\n const { model, onModelChanged } = this.props;\n const { responses } = model;\n\n if (!responses[index]) {\n responses[index] = [{ answer: newVal || '', id: 'response' + index, allowSpaces: true }];\n } else {\n responses[index][0].answer = newVal || '';\n }\n\n onModelChanged({ ...model, responses });\n };\n\n onResponsesChanged: any = (responses) => {\n this.props.onModelChanged({ ...this.props.model, responses });\n };\n\n onChange: any = (markup) => {\n const {\n model: { responses, validationDefault, allowTrailingZerosDefault, ignoreOrderDefault },\n onModelChanged,\n } = this.props;\n const newResponses = {};\n const domMarkup = createElementFromHTML(markup);\n const responseAreas = domMarkup.querySelectorAll('[data-type=\"math_templated\"]');\n\n responseAreas.forEach((element, index) => {\n const { value, index: dataIndex } = element.dataset;\n\n if (!value) {\n element.dataset.value = '';\n }\n\n newResponses[index] = responses[dataIndex] || {\n allowSpaces: true,\n validation: validationDefault || 'symbolic',\n allowTrailingZeros: allowTrailingZerosDefault || false,\n ignoreOrder: ignoreOrderDefault || false,\n answer: '',\n alternates: {},\n };\n\n element.dataset.index = index.toString();\n });\n\n const processedMarkup = processMarkup(markup);\n\n const callback = () =>\n onModelChanged({\n ...this.props.model,\n slateMarkup: domMarkup.innerHTML,\n responses: newResponses,\n markup: processedMarkup,\n });\n\n this.setState({ cachedResponses: undefined }, callback);\n };\n\n onHandleAreaChange = throttle(\n (nodes) => {\n const {\n model: { responses },\n onModelChanged,\n } = this.props;\n const { cachedResponses } = this.state;\n\n if (!nodes) {\n return;\n }\n\n const newChoices = responses ? cloneDeep(responses) : {};\n const newCachedResponses = cachedResponses ? cloneDeep(cachedResponses) : {};\n\n nodes.forEach((node) => {\n const keyForNode = node.index;\n\n if (!newChoices[keyForNode] && newCachedResponses[keyForNode]) {\n Object.assign(newChoices, pick(newCachedResponses, keyForNode));\n\n if (Object.prototype.hasOwnProperty.call(newCachedResponses, keyForNode)) {\n delete newCachedResponses[keyForNode];\n }\n } else {\n Object.assign(newCachedResponses, pick(newChoices, keyForNode));\n\n if (Object.prototype.hasOwnProperty.call(newChoices, keyForNode)) {\n delete newChoices[keyForNode];\n }\n }\n });\n\n const callback = () => onModelChanged({ ...this.props.model, responses: newChoices });\n\n this.setState({ cachedResponses: newCachedResponses }, callback);\n },\n 500,\n { trailing: false, leading: true },\n );\n\n onBlur: any = (e) => {\n const { relatedTarget, currentTarget } = e || {};\n\n function getParentWithRoleTooltip(element, depth = 0) {\n // only run this max 16 times\n if (!element || depth >= 16) return null;\n\n const parent = element.offsetParent;\n\n if (!parent) return null;\n\n if (parent.getAttribute('role') === 'tooltip') {\n return parent;\n }\n\n return getParentWithRoleTooltip(parent, depth + 1);\n }\n\n function getDeepChildDataKeypad(element, depth = 0) {\n // only run this max 4 times\n if (!element || depth >= 4) return null;\n\n const child = element?.children?.[0];\n\n if (!child) return null;\n\n if (child.attributes && child.attributes['data-keypad']) {\n return child;\n }\n\n return getDeepChildDataKeypad(child, depth + 1);\n }\n\n const parentWithTooltipRole = getParentWithRoleTooltip(relatedTarget);\n const childWithDataKeypad = parentWithTooltipRole ? getDeepChildDataKeypad(parentWithTooltipRole) : null;\n\n if (!relatedTarget || !currentTarget || !childWithDataKeypad?.attributes['data-keypad']) {\n this.setState({ activeAnswerBlock: '' });\n }\n };\n\n render() {\n const { configuration, imageSupport, model, onConfigurationChanged, onModelChanged, uploadSoundSupport } =\n this.props;\n\n const {\n baseInputConfiguration = {},\n contentDimensions = {},\n prompt = {},\n rationale = {},\n settingsPanelDisabled,\n teacherInstructions = {},\n language = {},\n languageChoices = {},\n spellCheck = {},\n playerSpellCheck = {},\n maxImageWidth = {},\n maxImageHeight = {},\n mathMlOptions = {},\n template = {},\n editSource = {},\n ignoreOrder: cIgnoreOrder = {},\n allowTrailingZeros: cAllowTrailingZeros = {},\n partialScoring = {},\n maxResponseAreas,\n } = configuration || {};\n\n const {\n errors,\n extraCSSRules,\n promptEnabled,\n rationaleEnabled,\n spellCheckEnabled,\n teacherInstructionsEnabled,\n toolbarEditorPosition,\n responses,\n equationEditor,\n } = model || {};\n\n const {\n prompt: promptError,\n rationale: rationaleError,\n responseAreas: responseAreasError,\n teacherInstructions: teacherInstructionsError,\n responses: responsesErrors = {},\n } = errors || {};\n const validationMessage = generateValidationMessage(configuration);\n\n const panelSettings = {\n 'language.enabled': language.settings && toggle(language.label, true),\n language: language.settings && language.enabled && dropdown(languageChoices.label, languageChoices.options),\n };\n\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n playerSpellCheckEnabled: playerSpellCheck.settings && toggle(playerSpellCheck.label),\n 'editSource.enabled': editSource?.settings && toggle(editSource.label, true),\n partialScoring: partialScoring.settings && toggle(partialScoring.label),\n };\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n const toolbarOpts = {\n position: toolbarEditorPosition === 'top' ? 'top' : 'bottom',\n };\n\n const getPluginProps = (props = {}, baseInputConfiguration = {}) => ({\n ...baseInputConfiguration,\n ...props,\n });\n\n return (\n <layout.ConfigLayout\n extraCSSRules={extraCSSRules}\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={(updatedModel) => onModelChanged(updatedModel)}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Settings: panelSettings,\n Properties: panelProperties,\n }}\n />\n }\n >\n {teacherInstructionsEnabled && (\n <StyledInputContainer label={teacherInstructions.label}>\n <StyledEditableHtml\n markup={model.teacherInstructions || ''}\n onChange={(value) => this.handleChange('teacherInstructions', value)}\n imageSupport={imageSupport}\n nonEmpty={false}\n error={teacherInstructionsError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(teacherInstructions?.inputConfiguration, baseInputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.teacherInstructions) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.teacherInstructions) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {teacherInstructionsError && <ErrorText>{teacherInstructionsError}</ErrorText>}\n </StyledInputContainer>\n )}\n\n {promptEnabled && (\n <StyledInputContainer label={prompt.label}>\n <StyledEditableHtml\n markup={model.prompt}\n onChange={(value) => this.handleChange('prompt', value)}\n imageSupport={imageSupport}\n nonEmpty={false}\n disableUnderline\n error={promptError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(teacherInstructions?.inputConfiguration, baseInputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {promptError && <ErrorText>{promptError}</ErrorText>}\n </StyledInputContainer>\n )}\n <TooltipContainer>\n <StyledTitle component={'div'}>Response Template</StyledTitle>\n <StyledTooltip disableFocusListener disableTouchListener placement={'right'} title={validationMessage}>\n <Info fontSize={'small'} color={'primary'} />\n </StyledTooltip>\n </TooltipContainer>\n <StyledMarkup\n activePlugins={ALL_PLUGINS}\n toolbarOpts={{ position: 'top' }}\n spellCheck={spellCheckEnabled}\n pluginProps={getPluginProps(template?.inputConfiguration, baseInputConfiguration)}\n responseAreaProps={{\n type: 'math-templated',\n respAreaToolbar: null,\n error: () => responsesErrors,\n onHandleAreaChange: this.onHandleAreaChange,\n maxResponseAreas: maxResponseAreas,\n }}\n markup={model.slateMarkup}\n onChange={this.onChange}\n imageSupport={imageSupport}\n disableImageAlignmentButtons={true}\n onBlur={this.onBlur}\n disabled={false}\n highlightShape={false}\n error={responseAreasError}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {responseAreasError && <ResponseAreaError>{responseAreasError}</ResponseAreaError>}\n\n <StyledTitle>Define Response</StyledTitle>\n\n <StyledSelectContainer label=\"Response Template Equation Editor\">\n <StyledSelect\n MenuProps={{ transitionDuration: { enter: 225, exit: 195 } }}\n onChange={(event) => this.handleChange('equationEditor', event.target.value)}\n value={equationEditor}\n >\n <MenuItem value=\"non-negative-integers\">Numeric - Non-Negative Integers</MenuItem>\n <MenuItem value=\"integers\">Numeric - Integers</MenuItem>\n <MenuItem value=\"decimals\">Numeric - Decimals</MenuItem>\n <MenuItem value=\"fractions\">Numeric - Fractions</MenuItem>\n <MenuItem value={1}>Grade 1 - 2</MenuItem>\n <MenuItem value={3}>Grade 3 - 5</MenuItem>\n <MenuItem value={6}>Grade 6 - 7</MenuItem>\n <MenuItem value={8}>Grade 8 - HS</MenuItem>\n <MenuItem value={'geometry'}>Geometry</MenuItem>\n <MenuItem value={'advanced-algebra'}>Advanced Algebra</MenuItem>\n <MenuItem value={'statistics'}>Statistics</MenuItem>\n <MenuItem value={'item-authoring'}>Item Authoring</MenuItem>\n </StyledSelect>\n </StyledSelectContainer>\n\n {Object.keys(responses || {}).map((responseKey, idx) => {\n const response = responses[idx];\n\n if (response) {\n return (\n <Response\n key={idx}\n responseKey={idx}\n mode={equationEditor}\n response={response}\n onResponseChange={this.onResponseChange}\n onResponseDone={this.onResponseDone}\n index={idx}\n cIgnoreOrder={cIgnoreOrder}\n cAllowTrailingZeros={cAllowTrailingZeros}\n error={responsesErrors && responsesErrors[idx]}\n />\n );\n }\n\n return null;\n })}\n\n {rationaleEnabled && (\n <StyledInputContainer label={rationale.label}>\n <StyledEditableHtml\n markup={model.rationale || ''}\n onChange={(value) => this.handleChange('rationale', value)}\n imageSupport={imageSupport}\n nonEmpty={false}\n error={rationaleError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(rationale?.inputConfiguration, {\n ...baseInputConfiguration,\n math: {\n controlledKeypadMode: false,\n },\n })}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.rationale) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.rationale) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {rationaleError && <ErrorText>{rationaleError}</ErrorText>}\n </StyledInputContainer>\n )}\n </layout.ConfigLayout>\n );\n }\n}\n\nexport default Design;\n","// @ts-nocheck\n/**\n * @synced-from pie-elements/packages/math-templated/configure/src/defaults.js\n * @auto-generated\n *\n * This file is automatically synced from pie-elements and converted to TypeScript.\n * Manual edits will be overwritten on next sync.\n * To make changes, edit the upstream JavaScript file and run sync again.\n */\n\n// Should be exactly the same as controller/defaults.js\nexport default {\n model: {\n allowTrailingZerosDefault: false,\n equationEditor: '8',\n ignoreOrderDefault: false,\n markup: '',\n playerSpellCheckEnabled: true,\n prompt: '',\n promptEnabled: true,\n rationale: '',\n rationaleEnabled: true,\n responses: {},\n spellCheckEnabled: true,\n teacherInstructions: '',\n teacherInstructionsEnabled: true,\n toolbarEditorPosition: 'bottom',\n validationDefault: 'literal',\n },\n configuration: {\n ignoreOrder: {\n settings: true,\n label: 'Ignore Order',\n enabled: true,\n },\n allowTrailingZeros: {\n settings: true,\n label: 'Allow Trailing Zeros',\n enabled: true,\n },\n partialScoring: {\n settings: true,\n label: 'Allow Partial Scoring',\n },\n baseInputConfiguration: {\n html: { disabled: true },\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n h3: { disabled: true },\n blockquote: { disabled: true },\n textAlign: { disabled: true },\n showParagraphs: { disabled: false },\n separateParagraphs: { disabled: true },\n },\n prompt: {\n label: 'Prompt',\n settings: true,\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\n },\n spellCheck: {\n label: 'Spellcheck',\n settings: false,\n enabled: true,\n },\n editSource: {\n label: 'Edit Source',\n settings: false,\n enabled: false,\n },\n playerSpellCheck: {\n label: 'Student Spellcheck',\n settings: true,\n enabled: true,\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\n },\n rationale: {\n settings: true,\n label: 'Rationale',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\n },\n template: {\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n },\n maxImageWidth: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n },\n maxImageHeight: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n },\n mathMlOptions: {\n mmlOutput: false,\n mmlEditing: false,\n },\n language: {\n settings: false,\n label: 'Specify Language',\n enabled: false,\n },\n languageChoices: {\n label: 'Language Choices',\n options: [],\n },\n maxResponseAreas: 10,\n },\n};\n","// @ts-nocheck\n/**\n * @synced-from pie-elements/packages/math-templated/configure/src/index.js\n * @auto-generated\n *\n * This file is automatically synced from pie-elements and converted to TypeScript.\n * Manual edits will be overwritten on next sync.\n * To make changes, edit the upstream JavaScript file and run sync again.\n */\n\nimport React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport debug from 'debug';\nimport { defaults, isArray } from '@pie-element/shared-lodash';\nimport {\n ModelUpdatedEvent,\n DeleteImageEvent,\n InsertImageEvent,\n InsertSoundEvent,\n DeleteSoundEvent,\n} from '@pie-element/shared-configure-events';\n\nimport Main from './design.js';\n\nimport sensibleDefaults from './defaults.js';\nimport { processMarkup, createSlateMarkup } from './markupUtils.js';\n\nconst log = debug('math-templated:configure');\n\nexport default class MathTemplateConfigure extends HTMLElement {\n static prepareModel = (model = {}) => {\n const { validationDefault, allowTrailingZerosDefault, ignoreOrderDefault, responses = {} } = model;\n\n const updatedResponses = Object.keys(responses).reduce((acc, responseId) => {\n const correctResponse = responses[responseId];\n\n acc[responseId] = {\n ...correctResponse,\n validation: correctResponse.validation || validationDefault,\n allowTrailingZeros: correctResponse.allowTrailingZeros || allowTrailingZerosDefault,\n ignoreOrder: correctResponse.ignoreOrder || ignoreOrderDefault,\n };\n\n return acc;\n }, {});\n\n const joinedObj = {\n ...sensibleDefaults.model,\n ...model,\n responses: updatedResponses,\n };\n\n const slateMarkup = joinedObj.slateMarkup || createSlateMarkup(joinedObj.markup, joinedObj.responses);\n const processedMarkup = processMarkup(slateMarkup);\n\n // this was added to treat an exception, when the model has responses without the \"answer\" property\n if (joinedObj.responses) {\n Object.keys(joinedObj.responses).forEach((key) => {\n if (isArray(joinedObj.responses[key])) {\n joinedObj.responses[key] = (joinedObj.responses[key] || []).map((item, index) => {\n if (!item.answer) {\n log('Choice does not contain \"answer\" property, which is required.', item);\n return { answer: `${index}`, ...item };\n }\n\n return item;\n });\n }\n });\n }\n\n return {\n ...joinedObj,\n slateMarkup,\n markup: processedMarkup,\n };\n };\n\n constructor() {\n super();\n this._root = null;\n this._model = MathTemplateConfigure.prepareModel();\n this._configuration = sensibleDefaults.configuration;\n this.onModelChanged = this.onModelChanged.bind(this);\n this.onConfigurationChanged = this.onConfigurationChanged.bind(this);\n }\n\n set model(s) {\n this._model = MathTemplateConfigure.prepareModel(s);\n this._render();\n }\n\n set configuration(c) {\n this._configuration = defaults(c, sensibleDefaults.configuration);\n\n // if language:enabled is true, then the corresponding default item model should include a language value;\n // if it is false, then the language field should be omitted from the item model.\n // if a default item model includes a language value (e.g., en_US) and the corresponding authoring view settings have language:settings = true,\n // then (a) language:enabled should also be true, and (b) that default language value should be represented in languageChoices[] (as a key).\n if (c.language?.enabled) {\n if (c.languageChoices?.options?.length) {\n this._model.language = c.languageChoices.options[0].value;\n }\n } else if (c.language.settings && this._model.language) {\n this._configuration.language.enabled = true;\n\n if (!this._configuration.languageChoices.options || !this._configuration.languageChoices.options.length) {\n this._configuration.languageChoices.options = [];\n }\n\n // check if the language is already included in the languageChoices.options array\n // and if not, then add it.\n if (!this._configuration.languageChoices.options.find((option) => option.value === this._model.language)) {\n this._configuration.languageChoices.options.push({\n value: this._model.language,\n label: this._model.language,\n });\n }\n } else {\n delete this._model.language;\n }\n\n this._render();\n }\n\n set disableSidePanel(s) {\n this._disableSidePanel = s;\n this._render();\n }\n\n dispatchModelUpdated(reset) {\n const resetValue = !!reset;\n\n this.dispatchEvent(new ModelUpdatedEvent(this._model, resetValue));\n }\n\n onModelChanged(m, reset) {\n this._model = MathTemplateConfigure.prepareModel(m);\n this._render();\n this.dispatchModelUpdated(reset);\n }\n\n onConfigurationChanged(c) {\n this._configuration = c;\n this._render();\n }\n\n /** @param {done, progress, file} handler */\n insertImage(handler) {\n this.dispatchEvent(new InsertImageEvent(handler));\n }\n\n onDeleteImage(src, done) {\n this.dispatchEvent(new DeleteImageEvent(src, done));\n }\n\n insertSound(handler) {\n this.dispatchEvent(new InsertSoundEvent(handler));\n }\n\n onDeleteSound(src, done) {\n this.dispatchEvent(new DeleteSoundEvent(src, done));\n }\n\n _render() {\n log('_render');\n\n let element = React.createElement(Main, {\n model: this._model,\n configuration: this._configuration,\n onModelChanged: this.onModelChanged,\n onConfigurationChanged: this.onConfigurationChanged,\n disableSidePanel: this._disableSidePanel,\n imageSupport: {\n add: this.insertImage.bind(this),\n delete: this.onDeleteImage.bind(this),\n },\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.bind(this),\n },\n });\n\n if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(element);\n }\n\n connectedCallback() {\n this._render();\n }\n\n disconnectedCallback() {\n if (this._root) {\n this._root.unmount();\n this._root = null;\n }\n }\n}\n"],"x_google_ignoreList":[0,1,2,3,4,5,14,16,19,20,21,22,23,24,26,27,28,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,70,71,72,73,74,75,76,77,78,79,80,81,82,86,87,90,91,92,93,94,95,96,97,98,99,100,101,102,106,107,108,109,110,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,174,175,176,177,178,179],"mappings":"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CAAC,GCb/D,KAAI,EAAE,YAAY;CACrB;EACC;EACA;EACA;EACA;EACA;CACD;CACA;EACC;EACA;EACA;EACA;EACA;CACD;CACA;EACC;EACA;EACA;EACA;EACA;CACD;CACA;EACC;EACA;EACA;EACA;EACA;CACD;AACD,EAAE,GAAG,KAAI;CACR,YAAY,CAAC;CACb,YAAY;EACX;GACC;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;IACP,YAAY,EAAE,OAAO,EAAE,SAAS,SAAS,EAAE;GAC5C;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;EACD;EACA;GACC;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;EACD;EACA;GACC;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;IACP,YAAY,EAAE,OAAO,EAAE,SAAS,SAAS,EAAE;GAC5C;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;EACD;EACA;GACC;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;EACD;EACA;GACC;IACC,SAAS;IACT,aAAa;IACb,OAAO,OAAO,cAAc,QAAQ;IACpC,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;IACP,YAAY,EAAE,OAAO,EAAE,SAAS,SAAS,EAAE;GAC5C;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;EACD;EACA;GACC;IACC,SAAS;IACT,aAAa;IACb,OAAO,OAAO,cAAc,QAAQ;IACpC,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;EACD;EACA;GACC;IACC,SAAS;IACT,aAAa;IACb,OAAO,OAAO,cAAc,QAAQ;IACpC,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;IACP,YAAY,EAAE,OAAO,EAAE,SAAS,SAAS,EAAE;GAC5C;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;IACP,OAAO;GACR;EACD;EACA;GACC;IACC,SAAS;IACT,aAAa;IACb,OAAO,OAAO,cAAc,QAAQ;IACpC,OAAO;GACR;GACA;IACC,SAAS;IACT,aAAa;IACb,OAAO;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"}